{"version":3,"file":"AgriculturalProduct.ae9e6c3287273918ab24.js","mappings":"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","sources":["webpack://agromarket/./node_modules/@frontend/pole-ui/lib/components/Player/index.js","webpack://agromarket/./src/components/banners/BannerInstallment/hooks.ts","webpack://agromarket/./src/components/banners/BannerInstallment/messages.ts","webpack://agromarket/./src/components/banners/BannerInstallment/BannerInstallment.tsx","webpack://agromarket/./src/components/banners/PreApprovedLoanBanner/messages.ts","webpack://agromarket/./src/components/banners/PreApprovedLoanBanner/PreApprovedLoanBanner.tsx","webpack://agromarket/./src/components/banners/PreApprovedLoanClosableBanner/PreApprovedLoanClosableBanner.tsx","webpack://agromarket/./src/components/banners/PreApprovedLoanClosableBanner/constants.ts","webpack://agromarket/./src/components/composed/OrderAgentId/messages.ts","webpack://agromarket/./src/components/composed/OrderAgentId/utils.ts","webpack://agromarket/./src/components/composed/OrderAgentId/OrderAgentId.tsx","webpack://agromarket/./src/logic/metrika/usePushScrollGtmEvent.ts","webpack://agromarket/./src/pages/AgriculturalProduct/components/AgriculturalProductDetailWithTitle/AgriculturalProductDetailWithTitle.tsx","webpack://agromarket/./src/pages/AgriculturalProduct/components/AgriculturalProductDetails/helpers.ts","webpack://agromarket/./src/pages/AgriculturalProduct/components/AgriculturalProductDetails/AgriculturalProductDetails.tsx","webpack://agromarket/./src/pages/AgriculturalProduct/components/AgriculturalProductOffer/AgriculturalProductOffer.tsx","webpack://agromarket/./src/pages/AgriculturalProduct/components/AgriculturalProductPreApprovedLoanClosableBanner/messages.ts","webpack://agromarket/./src/pages/AgriculturalProduct/components/AgriculturalProductPreApprovedLoanClosableBanner/AgriculturalProductPreApprovedLoanClosableBanner.tsx","webpack://agromarket/./src/pages/AgriculturalProduct/components/LeasingFormSuccessState/messages.ts","webpack://agromarket/./src/pages/AgriculturalProduct/components/LeasingFormSuccessState/LeasingFormSuccessState.tsx","webpack://agromarket/./src/pages/AgriculturalProduct/components/Characteristics/Characteristics.tsx","webpack://agromarket/./src/components/composed/HighlightedBlock/HighlightedBlock.tsx","webpack://agromarket/./src/pages/AgriculturalProduct/components/HighlightedList/HighlightedList.tsx","webpack://agromarket/./src/pages/AgriculturalProduct/components/Specification/Specification.tsx","webpack://agromarket/./src/pages/AgriculturalProduct/components/MainInfo/SkuPromotions/SkuPromotions.tsx","webpack://agromarket/./src/pages/AgriculturalProduct/components/MainInfo/MainInfo.tsx","webpack://agromarket/./src/pages/AgriculturalProduct/components/SkuMultiRequest/SkuMultiRequest.tsx","webpack://agromarket/./src/pages/AgriculturalProduct/components/SkuMultiRequestCounter/SkuMultiRequestCounter.tsx","webpack://agromarket/./src/pages/AgriculturalProduct/components/SkuMultiRequestForm/SkuMultiRequestForm.tsx","webpack://agromarket/./src/pages/AgriculturalProduct/components/SkuOffersAside/SkuOffersAside.tsx","webpack://agromarket/./src/pages/AgriculturalProduct/components/SkuSellingBar/SkuSellingBar.tsx","webpack://agromarket/./src/pages/AgriculturalProduct/components/index.ts","webpack://agromarket/./src/pages/AgriculturalProduct/constants.ts","webpack://agromarket/./src/pages/AgriculturalProduct/helpers.ts","webpack://agromarket/./src/pages/AgriculturalProduct/hooks.ts","webpack://agromarket/./src/pages/AgriculturalProduct/components/AgriculturalProductAccessControlProvider/constants.ts","webpack://agromarket/./src/pages/AgriculturalProduct/components/AgriculturalProductAccessControlProvider/AgriculturalProductAccessControlProvider.tsx","webpack://agromarket/./src/pages/AgriculturalProduct/AgriculturalProduct.tsx","webpack://agromarket/./src/utils/inputs/catalog/typeguards.ts","webpack://agromarket/./src/pages/AgriculturalProduct/reducer.ts","webpack://agromarket/./src/utils/inputs/catalog/helpers.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\nrequire('../../assets/index8.css');const React = require(\"react\");\nconst _interopDefault = (e) => e && e.__esModule ? e : { default: e };\nconst React__default = /* @__PURE__ */ _interopDefault(React);\nconst Player = ({ video }) => {\n  var _a, _b;\n  const [provider, setProvider] = React.useState(null);\n  React.useEffect(() => {\n    const identifyProvider = (link) => {\n      const providers = {\n        youtube: /(?:https?:\\/\\/)?(?:www\\.)?(?:youtube\\.com|youtu\\.be)/,\n        rutube: /(?:https?:\\/\\/)?(?:www\\.)?rutube\\.ru/\n      };\n      let identifiedProvider = null;\n      Object.keys(providers).some((service) => {\n        var _a2;\n        if ((_a2 = providers[service]) == null ? void 0 : _a2.test(link)) {\n          identifiedProvider = service;\n          return true;\n        }\n        return false;\n      });\n      return identifiedProvider;\n    };\n    setProvider(identifyProvider(video));\n  }, [video]);\n  if (provider === \"rutube\") {\n    const rutubeVideoId = (_a = video.match(/rutube\\.ru\\/video\\/([a-zA-Z0-9]+)/)) == null ? void 0 : _a[1];\n    return /* @__PURE__ */ React__default.default.createElement(\"div\", { className: \"player\" }, rutubeVideoId ? /* @__PURE__ */ React__default.default.createElement(\"div\", { className: \"player__container\" }, /* @__PURE__ */ React__default.default.createElement(\n      \"iframe\",\n      {\n        src: `https://rutube.ru/play/embed/${rutubeVideoId}`,\n        title: \"Rutube video player\",\n        frameBorder: \"0\",\n        allow: \"clipboard-write; autoplay\",\n        allowFullScreen: true,\n        className: \"player__video\"\n      }\n    )) : /* @__PURE__ */ React__default.default.createElement(\"video\", { controls: true, src: video, className: \"player__native-video\" }));\n  }\n  if (provider === \"youtube\") {\n    const youtubeVideoId = (_b = video.match(/^.*(?:(?:youtu\\.be\\/|v\\/|vi\\/|u\\/\\w\\/|embed\\/)|(?:(?:watch)?\\?v(?:i)?=|&v(?:i)?=))([^#&?]*).*/)) == null ? void 0 : _b[1];\n    return /* @__PURE__ */ React__default.default.createElement(\"div\", { className: \"player\" }, youtubeVideoId ? /* @__PURE__ */ React__default.default.createElement(\"div\", { className: \"player__youtube-container\" }, /* @__PURE__ */ React__default.default.createElement(\n      \"iframe\",\n      {\n        src: `https://www.youtube.com/embed/${youtubeVideoId}`,\n        title: \"YouTube video player\",\n        frameBorder: \"0\",\n        allow: \"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\",\n        allowFullScreen: true,\n        className: \"player__video\"\n      }\n    )) : /* @__PURE__ */ React__default.default.createElement(\"video\", { controls: true, src: video, className: \"player__native-video\" }));\n  }\n  return null;\n};\nexports.Player = Player;\n//# sourceMappingURL=index.js.map\n","import { useSelector } from 'react-redux'\nimport { getUserGtmInfo, pushGtmEvent } from '@/logic/metrika/helpers'\nimport { getUserRegion } from '@/logic/userRegion'\nimport type { RootState } from '@/redux/interfaces'\n\nconst mapState = (state: RootState) => ({\n  user: getUserGtmInfo()(state),\n  userRegion: getUserRegion()(state),\n})\n\nexport const useSendGtmEventOnBannerClick = () => {\n  const { user, userRegion } = useSelector(mapState)\n\n  const handleClick = () => {\n    pushGtmEvent({\n      event: 'userEvent',\n      userAuth: user.userAuth,\n      userImpersonalization: user.userImpersonalization,\n      memberID: user.memberID,\n      uid: user.uid,\n      regionSelected: userRegion.name,\n      eventCategory: 'interactions',\n      eventAction: 'click',\n      eventStatus: 'success',\n      eventNonInteraction: '0',\n      blockName: 'blockInstallmentBanner',\n    })\n  }\n\n  return handleClick\n}\n","import type { TMessages } from '@/types/TMessages'\n\nexport const messages = {\n  global: {\n    title: 'Все товары доступны в рассрочку',\n    description: 'Покупайте сейчас — платите в конце сезона',\n    button: 'Как купить в рассрочку',\n  },\n  product: {\n    title: 'Доступно в рассрочку',\n    description: 'Покупайте сейчас — платите в конце сезона',\n    button: 'Рассчитать рассрочку',\n  },\n} satisfies TMessages\n","import type { FC } from 'react'\nimport React, { memo } from 'react'\nimport { useDispatch } from 'react-redux'\nimport { EIconName, EIconSize, Icon } from '@frontend/pole-ui/lib/components/Icon'\nimport classNames from 'classnames'\nimport { openModal } from '@/components/composed/Modal/actions'\nimport { addModalToWellKnown } from '@/components/composed/Modal/constants'\nimport { HowToInstallmentsModal } from '@/components/composed/modals'\nimport { Button } from '@/components/ui'\nimport { useSendGtmEventOnBannerClick } from './hooks'\nimport { messages } from './messages'\nimport type { IBannerInstallmentProps } from './types'\nimport './styles.scss'\n\naddModalToWellKnown({ HowToInstallmentsModal })\n\nconst BannerInstallmentComponent: FC<IBannerInstallmentProps> = props => {\n  const dispatch = useDispatch()\n  const sendGtmEventOnBannerClick = useSendGtmEventOnBannerClick()\n\n  const onBannerClick = () => {\n    sendGtmEventOnBannerClick()\n\n    if (props.onClick) {\n      props.onClick()\n\n      return\n    }\n\n    dispatch(openModal({ options: { dialogId: 'HowToInstallmentsModal' } }))\n  }\n\n  const messagesKey: keyof typeof messages = props.isProduct ? 'product' : 'global'\n\n  const { title, description, button } = messages[messagesKey]\n\n  const wrapperClassNames = classNames('bannerInstallment', props.className)\n\n  return (\n    <div className={wrapperClassNames} onClick={onBannerClick}>\n      <div className=\"bannerInstallment__content\">\n        <div className=\"bannerInstallment__info\">\n          <div className=\"bannerInstallment__icon\">\n            <Icon name={EIconName.Discount} size={EIconSize.L} className=\"bannerInstallment__icon--big\" />\n          </div>\n          <div className=\"bannerInstallment__text\">\n            <div className=\"bannerInstallment__textTitle\">{title}</div>\n            <div className=\"bannerInstallment__textDescription\">{description}</div>\n          </div>\n        </div>\n        <div className=\"bannerInstallment__button\">\n          <Button modifiers={['outline', 'full-width-mobile']}>{button}</Button>\n        </div>\n      </div>\n    </div>\n  )\n}\n\nexport const BannerInstallment = memo(BannerInstallmentComponent)\n","import type { TMessages } from '@/types/TMessages'\n\nexport const messages = {\n  title: 'Вам предодобрен заём от ПолеФинанс',\n  description: 'Без ежемесячных платежей, выдача за 5 рабочих дней',\n  button: 'Подробнее',\n  logo: 'Логотип \"Поле Финанс\"',\n} satisfies TMessages\n","import type { FC } from 'react'\nimport React from 'react'\nimport { Link } from 'react-router-dom'\nimport { EIconName, EIconSize } from '@frontend/pole-ui/lib/components/Icon'\nimport classNames from 'classnames'\nimport { Button, Image } from '@/components/ui'\nimport { EFinancingOfferRoute } from '@/types'\nimport { useWebpExtension } from '@/utils/hooks/image'\nimport { messages } from './messages'\nimport type { IPreApprovedLoanBannerProps } from './types'\nimport './styles.scss'\n\nexport const PreApprovedLoanBanner: FC<IPreApprovedLoanBannerProps> = ({\n  title,\n  description,\n  className,\n  logoClassName,\n  titleClassName,\n  descriptionClassName,\n  headerClassName,\n  footerClassName,\n  submitButtonClassName,\n  submitButtonModifiers,\n  onClose,\n  onClickSubmitButton,\n}) => {\n  const logoExtension = useWebpExtension()\n\n  return (\n    <article className={classNames(className, 'preApprovedLoanBanner')}>\n      <Image\n        className={classNames(logoClassName, 'preApprovedLoanBanner__logo')}\n        src={`loanProducts/brand/poleFinance.${logoExtension}`}\n        alt={messages.logo}\n        isInStatic\n      />\n      <header className={classNames(headerClassName, 'preApprovedLoanBanner__header')}>\n        <h5 className={classNames(titleClassName, 'preApprovedLoanBanner__title')}>{title ?? messages.title}</h5>\n        <p className={classNames(descriptionClassName, 'preApprovedLoanBanner__description')}>{description ?? messages.description}</p>\n      </header>\n\n      <footer className={classNames(footerClassName, 'preApprovedLoanBanner__footer')}>\n        <Link className={submitButtonClassName} to={EFinancingOfferRoute.MFOPage} onClick={onClickSubmitButton}>\n          <Button className=\"preApprovedLoanBanner__button\" modifiers={submitButtonModifiers} isFake>\n            {messages.button}\n          </Button>\n        </Link>\n      </footer>\n\n      {onClose && (\n        <Button\n          onClick={onClose}\n          className=\"preApprovedLoanBanner__closeButton\"\n          iconProps={{\n            size: EIconSize.M,\n            name: EIconName.Exit,\n          }}\n          isUnstyled\n        />\n      )}\n    </article>\n  )\n}\n","import React, { useState } from 'react'\nimport { CSSTransition } from 'react-transition-group'\nimport { PreApprovedLoanBanner } from '@/components/banners/PreApprovedLoanBanner'\nimport { FADING_ANIMATION_DURATION } from './constants'\nimport type { IPreApprovedLoanClosableBannerProps } from './types'\nimport './styles.scss'\n\nexport const PreApprovedLoanClosableBanner = ({ title, description, className }: IPreApprovedLoanClosableBannerProps) => {\n  const [isShown, setIsShown] = useState(true)\n\n  const onClose = () => {\n    setIsShown(false)\n  }\n\n  return (\n    <CSSTransition in={isShown} timeout={FADING_ANIMATION_DURATION} classNames=\"fading\" mountOnEnter unmountOnExit>\n      <div className={className}>\n        <PreApprovedLoanBanner\n          className=\"preApprovedLoanClosableBanner\"\n          descriptionClassName=\"preApprovedLoanClosableBanner__description text_small-sm\"\n          footerClassName=\"preApprovedLoanClosableBanner__footer\"\n          title={title}\n          description={description}\n          onClose={onClose}\n          submitButtonModifiers={['green', 'small']}\n        />\n      </div>\n    </CSSTransition>\n  )\n}\n","export const FADING_ANIMATION_DURATION = 250\n","export const messages = {\n  orderAgentId: {\n    title: 'Указать ID сотрудника поле.рф',\n    label: 'Если заявку сопровождает сотрудник поле.рф, укажите его ID (4 цифры)',\n    input: {\n      label: 'ID сотрудника',\n    },\n  },\n  field: {\n    error: {\n      invalidOrderAgentId: 'Введите 4 цифры',\n    },\n  },\n}\n","import type { IBaseFormFieldContainerProps } from '@frontend/pole-ui/lib/components/BaseFormFieldContainer'\n\nconst AGENT_ID_RE = /^\\d{4}$/\n\nexport const agentIdValidator: IBaseFormFieldContainerProps<string>['customValidator'] = (value: Maybe<string>) => {\n  if (!value) return undefined\n\n  return !AGENT_ID_RE.test(value) ? 'invalidOrderAgentId' : undefined\n}\n","import type { FC } from 'react'\nimport React, { memo, useCallback, useState } from 'react'\nimport classNames from 'classnames'\nimport { TextInput } from '@/components/ui/fields'\nimport { useIsomorphicLayoutEffect } from '@/utils/hooks'\nimport { messages } from './messages'\nimport type { IOrderAgentIdProps } from './types'\nimport { agentIdValidator } from './utils'\nimport './styles.scss'\n\nconst OrderAgentId: FC<IOrderAgentIdProps> = props => {\n  const { className, name, isExpandable } = props\n\n  const [isExpanded, setIsExpanded] = useState(!isExpandable)\n\n  useIsomorphicLayoutEffect(() => {\n    if (!isExpandable && !isExpanded) {\n      setIsExpanded(true)\n    }\n  }, [isExpandable])\n\n  const onTitleClick = useCallback(\n    (event: React.MouseEvent) => {\n      event.preventDefault()\n      setIsExpanded(!isExpanded)\n    },\n    [isExpanded],\n  )\n\n  return (\n    <div className={classNames('orderAgentId', className)}>\n      {!isExpanded && (\n        <section className=\"orderAgentId__title\">\n          <a href=\"#\" className=\"orderAgentId__toggler text_small link-no-hover\" onClick={onTitleClick}>\n            {messages.orderAgentId.title}\n          </a>\n        </section>\n      )}\n\n      {isExpanded && (\n        <label className=\"orderAgentId__form\">\n          <div className=\"orderAgentId__label\">{messages.orderAgentId.label}</div>\n          <div className=\"orderAgentId__input\">\n            <TextInput\n              name={name}\n              customValidator={agentIdValidator}\n              customErrorText={messages.field.error.invalidOrderAgentId}\n              maxLength={4}\n              placeholder={messages.orderAgentId.input.label}\n            />\n          </div>\n        </label>\n      )}\n    </div>\n  )\n}\n\nexport default memo(OrderAgentId)\n","import { useEffect, useState } from 'react'\nimport { useBlocksIntersectionWhenScrollingDown, useScrollDirection } from '@/utils/hooks'\nimport { EIntersectionState } from './constants'\nimport { pushGtmEvent } from './helpers'\nimport type { IFormattedGtmEventPayload, IUsePushScrollGtmEventOptions } from './interfaces'\n\nexport const usePushScrollGtmEvent = <T extends string, G>(options: IUsePushScrollGtmEventOptions<T, G>) => {\n  const { scrollDirection } = useScrollDirection({ className: '' })\n\n  const { blockIds, gtmScrollEventPayloads, isFitsFullScreen } = options\n\n  const intersectedBlockId = useBlocksIntersectionWhenScrollingDown({\n    blockIds,\n    scrollDirection,\n    isFitsFullScreen,\n  }) as T\n\n  const initialIntersectedBlocksState = blockIds.reduce(\n    (state, blockId) => {\n      return { ...state, [blockId]: EIntersectionState.didNotIntersect }\n    },\n    {} as Record<T, EIntersectionState>,\n  )\n\n  const [intersectedBlocks, setIntersectedBlocks] = useState(initialIntersectedBlocksState)\n\n  useEffect(() => {\n    const eventPayload = gtmScrollEventPayloads[intersectedBlockId]\n\n    if (eventPayload && intersectedBlocks[intersectedBlockId] === EIntersectionState.didNotIntersect) {\n      pushGtmEvent<G | IFormattedGtmEventPayload>(eventPayload)\n      setIntersectedBlocks({ ...intersectedBlocks, [intersectedBlockId]: EIntersectionState.intersected })\n    }\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, [intersectedBlockId])\n\n  return {\n    setIntersectedBlocks,\n  }\n}\n","import type { FC } from 'react'\nimport React from 'react'\nimport { FormattedMessage } from 'react-intl'\nimport type { IAgriculturalProductDetailWithTitleProps } from '../../types'\nimport './styles.scss'\n\nconst AgriculturalProductDetailWithTitle: FC<IAgriculturalProductDetailWithTitleProps> = ({ titleId, children }) => (\n  <div className=\"agricultural-product-detail space-holder32-from-sm space-holder24-sm\">\n    <h4 className=\"space-holder16\">\n      <FormattedMessage id={titleId} />\n    </h4>\n    {children}\n  </div>\n)\n\nexport default AgriculturalProductDetailWithTitle\n","export const addTagWrapper = (texts: string[]) => texts.map(text => `<p>${text}</p>`).join('')\n","import type { FC } from 'react'\nimport React from 'react'\nimport { CommonLink } from '@frontend/pole-ui/lib/components/CommonLink'\nimport { Player } from '@frontend/pole-ui/lib/components/Player'\nimport classNames from 'classnames'\nimport { CustomTable, InjectHtml } from '@/components/ui'\nimport type { IAgriculturalProductDetailsProps } from '../../types'\nimport { AgriculturalProductDetailWithTitle } from '../index'\nimport { addTagWrapper } from './helpers'\nimport './styles.scss'\n\nconst AgriculturalProductDetails: FC<IAgriculturalProductDetailsProps> = props => {\n  const { product, className } = props\n  const { description, advantages, application, usefulInformation, applicationRules, video } = product\n\n  const emptyData = advantages.length === 0 && !applicationRules && application.length === 0 && usefulInformation.length === 0 && !video\n\n  if (!description && emptyData) {\n    return null\n  }\n\n  return (\n    <div className={classNames('agricultural-product-details', className)}>\n      {description && (\n        <AgriculturalProductDetailWithTitle titleId=\"agriculturalProductPage.description.title\">\n          <div className=\"space-holder16\">\n            {description.split('\\n').map((paragraph, index) => (\n              <p className=\"space-holder16 text_small\" key={`product-description-${index}`}>\n                {paragraph}\n              </p>\n            ))}\n          </div>\n        </AgriculturalProductDetailWithTitle>\n      )}\n\n      {advantages.length > 0 && (\n        <AgriculturalProductDetailWithTitle titleId=\"agriculturalProductPage.benefitsTitle.text\">\n          <InjectHtml html={addTagWrapper(advantages)} className=\"agricultural-product-benefits text_small list-with-marks\" />\n        </AgriculturalProductDetailWithTitle>\n      )}\n\n      {applicationRules && (\n        <AgriculturalProductDetailWithTitle titleId=\"agriculturalProductPage.usageTitle.text\">\n          <CustomTable table={applicationRules} />\n        </AgriculturalProductDetailWithTitle>\n      )}\n\n      {application.length > 0 && (\n        <AgriculturalProductDetailWithTitle titleId=\"agriculturalProductPage.usageTitle.text\">\n          <InjectHtml html={addTagWrapper(application)} className=\"agricultural-product-benefits list-with-marks\" />\n        </AgriculturalProductDetailWithTitle>\n      )}\n\n      {usefulInformation.length !== 0 && (\n        <AgriculturalProductDetailWithTitle titleId=\"agriculturalProductPage.documents.title\">\n          <ul className=\"list-with-marks\">\n            {usefulInformation.map(({ name, url }) => (\n              <li key={name} className=\"space-holder-top8\">\n                <CommonLink className=\"underline underline_green color_green\" shouldOpenInNewWindow url={url}>\n                  {name}\n                </CommonLink>\n              </li>\n            ))}\n          </ul>\n        </AgriculturalProductDetailWithTitle>\n      )}\n\n      {video && (\n        <AgriculturalProductDetailWithTitle titleId=\"agriculturalProductPage.video.title\">\n          <div className=\"yt-container-fix\">\n            <Player video={video} />\n          </div>\n        </AgriculturalProductDetailWithTitle>\n      )}\n    </div>\n  )\n}\n\nexport default AgriculturalProductDetails\n","import type { FC } from 'react'\nimport React, { memo } from 'react'\nimport { FormattedMessage } from 'react-intl'\nimport { useDispatch } from 'react-redux'\nimport { EColor } from '@frontend/pole-ui/lib/common/constants'\nimport type { TButtonModifier } from '@frontend/pole-ui/lib/components/Button'\nimport { EIconName, EIconSize, Icon } from '@frontend/pole-ui/lib/components/Icon'\nimport classNames from 'classnames'\nimport type { ProductOfferData } from '@/api/kubik/monolith'\nimport { AddProductToCartButton } from '@/components/composed'\nimport type { IAddProductToCartProps } from '@/components/composed/AddProductToCartButton/interfaces'\nimport LoginToWatchPrice from '@/components/composed/catalog/LoginToWatchPrice'\nimport { openSupplierNoticeModal } from '@/components/composed/ProductSupplier/helpers'\nimport { AgriculturalProductDeliveryRegionNotice, Button, InjectHtml } from '@/components/ui'\nimport { OfferLabels, OfferPriceWithDiscount } from '@/components/ui/inputs'\nimport { injectMessages } from '@/logic/translation/utils'\nimport { useOfferLabels } from '@/utils/hooks/inputs'\nimport { isNotRussianCurrency } from '@/utils/price'\nimport type { IAgriculturalProductOfferProps } from './interfaces'\nimport messages from './messages.json'\nimport './AgriculturalProductOffer.scss'\n\ninjectMessages(messages)\n\nconst OfferInfo: FC<{ labelId: string; className?: string }> = ({ labelId, children, className }) => (\n  <p className={classNames(className, 'text_small-sm')}>\n    <span className=\"color_pale-black\">\n      <FormattedMessage id={labelId} />\n    </span>\n    &nbsp;&nbsp;\n    {children}\n  </p>\n)\n\nconst OfferInstallment: FC = () => (\n  <div className=\"offer-installment space-holder-top16\">\n    <div className=\"offer-installment-content\">\n      <InjectHtml\n        className=\"offer-installment-content__title text_large font-weight_bold\"\n        textId=\"agriculturalProductPage.offer.installment.title\"\n        TagName=\"div\"\n      />\n      <div className=\"offer-installment-content__description row row-align_center space-holder-top4\">\n        <InjectHtml textId=\"agriculturalProductPage.offer.installment.description\" TagName=\"span\" />\n      </div>\n    </div>\n  </div>\n)\n\nconst buyButtonProps: IAddProductToCartProps['buyButtonProps'] = {\n  className: 'agricultural-product-offer-buy-button-container__button',\n}\n\nconst smallOutlineButton: TButtonModifier[] = ['small', 'outline']\n\nconst AgriculturalProductOffer: FC<IAgriculturalProductOfferProps> = props => {\n  const { offer, sku, className, chosenRegion, parentCategory, isUserAuthenticated, isMobileDevice } = props\n  const { supplier, unitPrice, store, vatRate, lead, isPriceNegotiable, showPriceForUnauth, isInstallment } = offer\n  const { deliveryConditions } = sku\n  const dispatch = useDispatch()\n  const { address: storeAddress, region: storeRegion } = store.location\n  const { name: supplierRegionName, code: supplierRegionCode } = storeRegion\n  const isNotLead = !isUserAuthenticated || !lead\n\n  const labels = useOfferLabels({\n    offer: offer as unknown as ProductOfferData,\n  })\n  const shouldShowPrice = isUserAuthenticated || showPriceForUnauth\n\n  return (\n    <div className={classNames('agricultural-product-offer text_small-from-sm', className)}>\n      <OfferLabels list={labels} isMobileDevice={isMobileDevice} className=\"space-holder12-from-sm space-holder8-sm\" />\n\n      <OfferPriceWithDiscount\n        sku={sku}\n        offer={offer}\n        isMobileDevice={isMobileDevice}\n        isUserAuthenticated={isUserAuthenticated}\n        unitPriceClassName=\"agricultural-product-offer-unit-price\"\n        priceClassName=\"agricultural-product-offer-price\"\n        discountPriceClassName=\"space-holder12-from-sm space-holder8-sm\"\n        packagePriceClassName=\"agricultural-product-offer-package-price\"\n        shouldShowVatRate\n        vatRate={vatRate}\n        shouldHideConditionalCurrencyHint\n      />\n\n      {!isUserAuthenticated && !showPriceForUnauth && <LoginToWatchPrice className=\"text_center-sm\" authLinkClass=\"color_green\" />}\n\n      {!isPriceNegotiable && shouldShowPrice && isNotRussianCurrency(unitPrice?.uom) && (\n        <section className=\"space-holder-top16 text_super-small\">\n          <p\n            className=\"\n              font-weight_bold\n              space-holder4\n              row\n              row-align_center\n              row_nowrap\n            \"\n          >\n            <Icon name={EIconName.InfoFill} className=\"space-holder-right8\" style={{ color: EColor.ORANGE }} size={EIconSize.XS} />\n            <FormattedMessage id=\"global.conditionalCurrencyHint.notice.title\" />\n          </p>\n\n          <InjectHtml\n            textId=\"global.conditionalCurrencyHint.notice.text\"\n            TagName=\"p\"\n            className=\"space-holder-left24\"\n            textValues={{ uom: unitPrice?.uom }}\n          />\n        </section>\n      )}\n\n      {isInstallment && <OfferInstallment />}\n\n      {supplier && (\n        <OfferInfo labelId=\"agriculturalProductPage.offer.supplierInfo\" className=\"space-holder4 space-holder-top16\">\n          <Button\n            className=\"underline underline_green color_green\"\n            onClick={() => supplier && dispatch(openSupplierNoticeModal(store, supplier))}\n            isUnstyled\n          >\n            {supplier.name}\n          </Button>\n        </OfferInfo>\n      )}\n\n      {deliveryConditions?.description && (\n        <OfferInfo\n          labelId=\"agriculturalProductPage.offer.deliveryConditions.label\"\n          className={classNames('space-holder4', { 'space-holder-top16': !supplier })}\n        >\n          <InjectHtml html={deliveryConditions.description} TagName=\"span\" />\n        </OfferInfo>\n      )}\n\n      <OfferInfo\n        labelId=\"agriculturalProductPage.offer.warehouse\"\n        className={classNames({ 'space-holder-top16': !supplier && !deliveryConditions?.description })}\n      >\n        {supplierRegionName}\n        {isNotLead && storeAddress ? `, ${storeAddress}` : ''}\n      </OfferInfo>\n\n      {chosenRegion && (\n        <AgriculturalProductDeliveryRegionNotice\n          className=\"space-holder-top4\"\n          iconClassName=\"space-holder-top4-from-sm space-holder-top2-sm\"\n          chosenRegion={chosenRegion}\n          supplierRegionCode={supplierRegionCode}\n          iconSize=\"16px\"\n        />\n      )}\n\n      <AddProductToCartButton\n        blockName=\"blockProductCard\"\n        itemPosition=\"productCard\"\n        offer={offer}\n        sku={sku}\n        className=\"space-holder-top16 agricultural-product-offer-buy-button-container\"\n        buyButtonProps={buyButtonProps}\n        isBaseMobileButton\n        quantityPickerClassName=\"agricultural-product-offer-quantity-picker\"\n        addToCartButtonModifiers={smallOutlineButton}\n        addToCartButtonLabelTextId={parentCategory?.leasingAvailable ? 'agriculturalProductPage.offer.buyButtonLabel' : undefined}\n      />\n    </div>\n  )\n}\n\nexport default memo(AgriculturalProductOffer)\n","import type { TMessages } from '@/types/TMessages'\n\nexport const messages = {\n  title: 'Вам предодобрена отсрочка от ПолеФинанс',\n  description: 'На любые товары, до 12 месяцев, без ежемесячных платежей - погашение в конце срока',\n} satisfies TMessages\n","import React from 'react'\nimport classNames from 'classnames'\nimport { PreApprovedLoanClosableBanner } from '@/components/banners/PreApprovedLoanClosableBanner'\nimport { messages } from './messages'\nimport type { TAgriculturalProductPreApprovedLoanClosableBannerProps } from './types'\nimport './styles.scss'\n\nexport const AgriculturalProductPreApprovedLoanClosableBanner = ({ className }: TAgriculturalProductPreApprovedLoanClosableBannerProps) => {\n  return (\n    <PreApprovedLoanClosableBanner\n      className={classNames(className, 'agriculturalProductPreApprovedLoanClosableBanner')}\n      title={messages.title}\n      description={messages.description}\n    />\n  )\n}\n","import type { TMessages } from '@/types/TMessages'\n\nexport const messages = {\n  title: 'Заявка на лизинг отправлена',\n  text: 'Менеджеры выбранных лизинговых компаний свяжутся с вами в течение одного рабочего дня',\n} satisfies TMessages\n","import React from 'react'\nimport { GlassMorphIcon } from '@/components/ui'\nimport { messages } from './messages'\nimport './styles.scss'\n\nconst LeasingFormSuccessState: React.FC = () => {\n  return (\n    <section className=\"agricultural-product-leasing-form-success-state\">\n      <div className=\"agricultural-product-leasing-form-success-state__inner\">\n        <GlassMorphIcon image=\"success\" modifiers={['small-sm']} className=\"agricultural-product-leasing-form-success-state__icon\" />\n\n        <h3 className=\"space-holder-top16 space-holder8\">{messages.title}</h3>\n\n        <p className=\"agricultural-product-leasing-form-success-state__text text_body\">{messages.text}</p>\n      </div>\n    </section>\n  )\n}\n\nexport default LeasingFormSuccessState\n","import React, { memo, useMemo } from 'react'\nimport { KeysAndValuesSeparatedByDots } from '@/components/ui'\nimport { prepareCharacteristics } from '@/utils/inputs/product/helpers'\nimport type { ICharacteristicsProps } from './interfaces'\n\nconst Characteristics: React.FC<ICharacteristicsProps> = props => {\n  const { items, className } = props\n\n  const characteristics = useMemo(() => {\n    return prepareCharacteristics(items).map(({ name, list }) => ({ name, value: list.join(', ') }))\n  }, [items])\n\n  return <KeysAndValuesSeparatedByDots<(typeof characteristics)[number]> className={className} items={characteristics} />\n}\n\nexport default memo(Characteristics)\n","import React, { memo, useCallback } from 'react'\nimport classNames from 'classnames'\nimport type { IHighlightedBlockItemValue, IHighlightedBlockProps } from './interfaces'\nimport './styles.scss'\n\nconst HighlightedBlock: React.FC<IHighlightedBlockProps> = props => {\n  const { items, className } = props\n\n  const getValues = useCallback((list: IHighlightedBlockItemValue[], blockName: string) => {\n    return list.map((listItem, index) => {\n      const keySuffix = typeof listItem.value === 'string' ? listItem.value : index\n\n      return (\n        <div className=\"highlighted-list-item-values-element text_body\" key={`${blockName}-${keySuffix}`}>\n          <span>{listItem.value}</span>\n          {listItem.sub && <span className=\"highlighted-list-item-values-element__sub\">{listItem.sub}</span>}\n        </div>\n      )\n    })\n  }, [])\n\n  return (\n    <div className={classNames('highlighted-list', className)}>\n      {items.map(item => (\n        <div className=\"highlighted-list-item\" key={item.name}>\n          <label className=\"text_lead font-weight_bold highlighted-list-item__label\">{item.name}</label>\n          <div className=\"highlighted-list-item-values\">{getValues(item.list, item.name)}</div>\n        </div>\n      ))}\n    </div>\n  )\n}\n\nexport default memo(HighlightedBlock)\n","import React, { memo, useMemo } from 'react'\nimport { useIntl } from 'react-intl'\nimport { CommonLink } from '@frontend/pole-ui/lib/components/CommonLink'\nimport HighlightedBlock from '@/components/composed/HighlightedBlock/HighlightedBlock'\nimport type { IHighlightedBlockItem } from '@/components/composed/HighlightedBlock/interfaces'\nimport { EAgriculturalProductsRoute } from '@/types'\nimport { prepareCharacteristics } from '@/utils/inputs/product/helpers'\nimport { createRouterLink, getUrlWithQuery } from '@/utils/url'\nimport type { IAgriculturalProductHighlightedBlockProps } from './interfaces'\n\nconst HighlightedList: React.FC<IAgriculturalProductHighlightedBlockProps> = props => {\n  const { className, activeSubstances, categoryId, characteristics } = props\n  const { formatMessage } = useIntl()\n\n  const activeSubstancesList = useMemo(\n    () =>\n      activeSubstances?.map(item => {\n        const activeSubstanceFilterUrl = getUrlWithQuery(createRouterLink(EAgriculturalProductsRoute.category, { categoryId }), {\n          activeSubstance: item.id,\n        })\n\n        const value = (\n          <CommonLink className=\"color_green underline underline_green\" url={activeSubstanceFilterUrl}>\n            {item.name}\n          </CommonLink>\n        )\n\n        const sub = [item.value, item.units].filter(subItem => Boolean(subItem)).join(' ')\n\n        return { value, sub }\n      }) || [],\n    [activeSubstances, categoryId],\n  )\n\n  const list: IHighlightedBlockItem[] = useMemo(() => {\n    const listArr = []\n\n    if (activeSubstancesList.length)\n      listArr.push({\n        name: formatMessage({ id: 'agriculturalProductPage.activeSubstance.title' }),\n        list: activeSubstancesList,\n      })\n\n    if (characteristics?.length) {\n      listArr.push(\n        ...prepareCharacteristics(characteristics).map(characteristic => ({\n          name: characteristic.name,\n          list: characteristic.list.map(item => ({ value: item })),\n        })),\n      )\n    }\n\n    return listArr\n  }, [activeSubstancesList, formatMessage, characteristics])\n\n  return <HighlightedBlock className={className} items={list} />\n}\n\nexport default memo(HighlightedList)\n","import React, { useMemo } from 'react'\nimport { KeysAndValuesSeparatedByDots } from '@/components/ui'\nimport type { ISpecificationProps } from './interfaces'\n\nconst SEARCH_SPECIFICATION_NAME = 'Действующее вещество'\n\nconst Specification: React.FC<ISpecificationProps> = props => {\n  const { className, specification } = props\n\n  // TODO: временный костыль, удалить после миграции по удалению действующего вещества из specification\n  const preparedSpecification = useMemo(() => {\n    return specification.filter(({ name }) => name !== SEARCH_SPECIFICATION_NAME)\n  }, [specification])\n\n  return <KeysAndValuesSeparatedByDots<(typeof preparedSpecification)[number]> className={className} items={preparedSpecification} />\n}\n\nexport default Specification\n","import type { FC } from 'react'\nimport React, { memo, useMemo } from 'react'\nimport { EChipModifier } from '@frontend/pole-ui/lib/components/Chip'\nimport { CommonLink } from '@frontend/pole-ui/lib/components/CommonLink'\nimport cn from 'classnames'\nimport Chip from '@/components/ui/Chip'\nimport type { IChipProps } from '@/components/ui/Chip/interfaces'\nimport { isNonNullable } from '@/typeguards/common'\nimport { useDeviceType } from '@/utils/hooks/useDeviceType'\nimport type { ISkuPromotionsProps } from './types'\nimport './styles.scss'\n\nconst SkuPromotions: FC<ISkuPromotionsProps> = props => {\n  const { className, sku } = props\n\n  const { isMobile } = useDeviceType()\n\n  const promotions = useMemo(\n    () => sku.offers.flatMap(offer => offer.promotions).filter((promo, idx, arr) => idx === arr.findIndex(p => p.name === promo.name)),\n    [sku],\n  )\n\n  const chipProps: IChipProps = useMemo(\n    () => ({\n      fontStyle: 'small',\n      color: EChipModifier.ATTENTION_LIGHT,\n      modifiers: [EChipModifier.RECT, isMobile ? EChipModifier.SMALL : null].filter(isNonNullable),\n    }),\n    [isMobile],\n  )\n\n  return promotions.length ? (\n    <div className={cn('agricultural-product-promotions', isMobile && '-is-centered', className)}>\n      {promotions.map(promo => (\n        <section key={promo.id} className=\"agricultural-product-promotion\">\n          <div>\n            <Chip className=\"agricultural-product-promotion__chip\" {...chipProps} text={promo.name} />\n          </div>\n          <p className=\"text_super-small\">{promo.productDescription}</p>\n          <p className=\"text_super-small\">\n            <CommonLink className=\"color_green underline underline_green\" activeClassName=\"\" url={promo.landingUrl}>\n              {promo.landingUrlText}\n            </CommonLink>\n          </p>\n        </section>\n      ))}\n    </div>\n  ) : null\n}\n\nexport default memo(SkuPromotions)\n","import type { FC } from 'react'\nimport React, { useMemo } from 'react'\nimport { FormattedMessage, useIntl } from 'react-intl'\nimport { useSelector } from 'react-redux'\nimport { CommonLink } from '@frontend/pole-ui/lib/components/CommonLink'\nimport { Chip, Gallery, Image, KeysAndValuesSeparatedByDots } from '@/components/ui'\nimport { injectMessages } from '@/logic/translation/utils'\nimport Characteristics from '@/pages/AgriculturalProduct/components/Characteristics/Characteristics'\nimport HighlightedList from '@/pages/AgriculturalProduct/components/HighlightedList/HighlightedList'\nimport { scrollToProductLeasingForm } from '@/pages/AgriculturalProduct/helpers'\nimport { useAgriculturalProductParams } from '@/pages/AgriculturalProduct/hooks'\nimport type { RootState } from '@/redux/interfaces'\nimport { EAgriculturalProductsRoute } from '@/types'\nimport type { ISkuCharacteristic } from '@/types/Catalog/ISkuCharacteristic'\nimport { useDeviceType } from '@/utils/hooks/useDeviceType'\nimport { getMinioImagePath } from '@/utils/images'\nimport { createRouterLink, getUrlWithQuery } from '@/utils/url'\nimport { getProduct, getProductParentCategory } from '../../reducer'\nimport Specification from '../Specification'\nimport messages from './messages.json'\nimport { SkuPromotions } from './SkuPromotions'\nimport './MainInfo.scss'\n\ninjectMessages(messages)\n\nconst mapState = (productId: string) => (state: RootState) => ({\n  parentCategory: getProductParentCategory(state, productId),\n  sku: getProduct(state, productId),\n})\n\nconst MainInfo: FC = () => {\n  const params = useAgriculturalProductParams()\n  const { parentCategory, sku } = useSelector(mapState(params.productId))\n\n  const { isMobile } = useDeviceType()\n\n  const { formatMessage } = useIntl()\n\n  const {\n    name,\n    image,\n    images,\n    packageType,\n    producer,\n    characteristics,\n    activeSubstances,\n    specification,\n    category,\n    pieceProduct: isPieceProduct,\n  } = sku\n  const mainImageProduct = images[0] || image\n\n  const groupedCharacteristics = useMemo(() => {\n    const common: ISkuCharacteristic[] = []\n    const highlighted: ISkuCharacteristic[] = []\n\n    characteristics.forEach(characteristic =>\n      characteristic.highlightInBlock ? highlighted.push(characteristic) : common.push(characteristic),\n    )\n\n    return {\n      common,\n      highlighted,\n    }\n  }, [characteristics])\n\n  const filteredSpecification = useMemo(() => specification.filter(item => item.name && item.value), [specification])\n\n  const producerFilterUrl = getUrlWithQuery(createRouterLink(EAgriculturalProductsRoute.category, { categoryId: category.id }), {\n    producerIds: producer?.id,\n  })\n\n  return (\n    <div className=\"agriculture-product-main-info\">\n      <div className=\"agriculture-product-main-info-container\">\n        <div className=\"agriculture-product-main-info-left-container\">\n          <div className=\"agriculture-product-main-info-image-container space-holder16-sm\">\n            <Gallery numOfImage={images.length}>\n              <a href={getMinioImagePath({ src: mainImageProduct })} rel=\"nofollow\">\n                <Image src={mainImageProduct} className=\"agriculture-product-main-info-image-container__image\" />\n              </a>\n              {Boolean(images.length) &&\n                images.map(galleryImage => {\n                  if (galleryImage === mainImageProduct) return null\n\n                  return (\n                    <a href={getMinioImagePath({ src: galleryImage })} className=\"hidden\">\n                      <Image src={galleryImage} />\n                    </a>\n                  )\n                })}\n            </Gallery>\n          </div>\n\n          {!isMobile && <SkuPromotions sku={sku} />}\n        </div>\n\n        <div className=\"space-holder-left24-from-sm agriculture-product-main-info-content-container\">\n          {parentCategory?.leasingAvailable && (\n            <div className=\"agriculture-product-main-info-leasing-tags space-holder24-from-sm space-holder16-sm\">\n              <Chip className=\"space-holder-right16\" textId=\"agriculturalProductPage.leasingAvailable\" />\n              <CommonLink className=\"underline underline_green color_green text_small-from-sm\" onClick={scrollToProductLeasingForm}>\n                <FormattedMessage id=\"agriculturalProductPage.aboutLeasingLink\" />\n              </CommonLink>\n            </div>\n          )}\n\n          <section>\n            <h3 className=\"space-holder24\">{name}</h3>\n            {Boolean(groupedCharacteristics.highlighted.length || activeSubstances.length) && (\n              <HighlightedList\n                className=\"space-holder24\"\n                activeSubstances={activeSubstances}\n                categoryId={category.id}\n                characteristics={groupedCharacteristics.highlighted}\n              />\n            )}\n\n            {isMobile && <SkuPromotions className=\"space-holder48 space-holder-top32\" sku={sku} />}\n\n            {producer && (\n              <KeysAndValuesSeparatedByDots\n                className=\"agriculture-product-main-info__list text_small space-holder16-from-sm space-holder8-sm\"\n                items={[\n                  {\n                    name: formatMessage({ id: 'agriculturalProductPage.producer' }),\n                    value: (\n                      <CommonLink className=\"underline underline_green color_green\" url={producerFilterUrl}>\n                        {producer.name}\n                      </CommonLink>\n                    ),\n                  },\n                ]}\n              />\n            )}\n\n            {Boolean(groupedCharacteristics.common.length) && (\n              <Characteristics\n                className=\"agriculture-product-main-info__list text_small space-holder16-from-sm space-holder8-sm\"\n                items={groupedCharacteristics.common}\n              />\n            )}\n\n            {Boolean(specification.length) && (\n              <Specification\n                specification={filteredSpecification}\n                className=\"agriculture-product-main-info__list text_small space-holder16\"\n              />\n            )}\n          </section>\n\n          {!isPieceProduct && (\n            <KeysAndValuesSeparatedByDots\n              className=\"agriculture-product-main-info__list text_small\"\n              items={[{ name: formatMessage({ id: 'agriculturalProductPage.packingLabel.text' }), value: packageType.name }]}\n            />\n          )}\n        </div>\n      </div>\n    </div>\n  )\n}\n\nexport default MainInfo\n","import type { FC } from 'react'\nimport React, { memo } from 'react'\nimport { FormattedMessage, useIntl } from 'react-intl'\nimport classNames from 'classnames'\nimport { Button } from '@/components/ui'\nimport { injectMessages } from '@/logic/translation/utils'\nimport SkuMultiRequestCounter from '../SkuMultiRequestCounter'\nimport type { ISkuMultiRequestProps } from './interfaces'\nimport messages from './messages.json'\nimport './styles.scss'\n\ninjectMessages(messages)\n\nconst SkuMultiRequest: FC<ISkuMultiRequestProps> = props => {\n  const { className, suppliersCount, onClick } = props\n  const { formatMessage } = useIntl()\n\n  return (\n    <div className={classNames(className, 'agriculturalMultiRequest')}>\n      <div className=\"agriculturalMultiRequest__title text_large\">{formatMessage({ id: 'SkuMultiRequest.title' })}</div>\n\n      <Button modifiers={['full-width', 'green']} onClick={onClick}>\n        <FormattedMessage id=\"SkuMultiRequest.button.text\" />\n      </Button>\n\n      <SkuMultiRequestCounter className=\"space-holder-top8\" count={suppliersCount} />\n    </div>\n  )\n}\n\nexport default memo(SkuMultiRequest)\n","import type { FC } from 'react'\nimport React, { memo, useMemo } from 'react'\nimport { FormattedMessage } from 'react-intl'\nimport { EColor } from '@frontend/pole-ui/lib/common/constants'\nimport { EIconName, Icon } from '@frontend/pole-ui/lib/components/Icon'\nimport classNames from 'classnames'\nimport { injectMessages } from '@/logic/translation/utils'\nimport { useDeviceType } from '@/utils/hooks/useDeviceType'\nimport type { ISkuMultiRequestCounterProps } from './interfaces'\nimport messages from './messages.json'\nimport './styles.scss'\n\ninjectMessages(messages)\n\nconst SkuMultiRequestCounter: FC<ISkuMultiRequestCounterProps> = props => {\n  const { className, count } = props\n\n  const { isMobile } = useDeviceType()\n\n  const isError = useMemo(() => !count, [count])\n\n  const iconColor = useMemo(() => {\n    if (isError) return EColor.RED\n\n    if (isMobile) return EColor.GREEN\n\n    return undefined\n  }, [isError, isMobile])\n\n  const textClassName = useMemo(() => (isError ? 'color_red' : null), [isError])\n\n  return (\n    <div className={classNames(className, 'sku-multi-request-counter space-holder-top8 text_S', textClassName)}>\n      <Icon className=\"space-holder-right8\" name={EIconName.StoreOutline} style={{ color: iconColor }} />\n      {isError ? (\n        <FormattedMessage id=\"SkuMultiRequestCounter.text.error\" />\n      ) : (\n        <FormattedMessage id=\"SkuMultiRequestCounter.text\" values={{ count }} />\n      )}\n    </div>\n  )\n}\n\nexport default memo(SkuMultiRequestCounter)\n","import type { FC } from 'react'\nimport React, { memo, useMemo } from 'react'\nimport { Form } from 'react-final-form'\nimport { useDispatch, useSelector } from 'react-redux'\nimport classNames from 'classnames'\nimport { StoreInput } from '@/components/composed'\nimport OrderAgentId from '@/components/composed/OrderAgentId'\nimport { Button, InjectHtml } from '@/components/ui'\nimport { useAuthenticateUser } from '@/components/ui/AuthButton/hooks'\nimport { QuantityPickerInput } from '@/components/ui/fields'\nimport { makeMultiOrder } from '@/logic/order/actions'\nimport { EOrderRequestName } from '@/logic/order/constants'\nimport { getRequestState } from '@/logic/requestStatus/reducer'\nimport { injectMessages } from '@/logic/translation/utils'\nimport { useAgriculturalProductParams } from '@/pages/AgriculturalProduct/hooks'\nimport { getProduct } from '@/pages/AgriculturalProduct/reducer'\nimport type { RootState } from '@/redux/interfaces'\nimport type { IStoreLocation } from '@/types'\nimport { roundFloat } from '@/utils/helpers'\nimport { useDeviceType } from '@/utils/hooks/useDeviceType'\nimport { useUserStores } from '@/utils/hooks/useUserStores'\nimport SkuMultiRequestCounter from '../SkuMultiRequestCounter'\nimport type { ISkuMultiRequestFormProps, ISkuMultiRequestFormValues } from './interfaces'\nimport messages from './messages.json'\nimport './styles.scss'\n\ninjectMessages(messages)\n\nconst mapState = (productId: string) => (state: RootState) => ({\n  product: getProduct(state, productId),\n  isMultiOrderCreating: getRequestState(EOrderRequestName.MAKE_MULTI_ORDER)(state).isLoading,\n})\n\nconst SkuMultiRequestForm: FC<ISkuMultiRequestFormProps> = props => {\n  const dispatch = useDispatch()\n  const params = useAgriculturalProductParams()\n\n  const { className, suppliersCount, onRegionChange } = props\n  const { product, isMultiOrderCreating } = useSelector(mapState(params.productId))\n\n  const { isMobile } = useDeviceType()\n\n  const { isAuthenticated, openAuthModal } = useAuthenticateUser()\n  const { isLocationsLoading, userStores } = useUserStores()\n\n  const storeOptions = useMemo(() => {\n    return userStores.map(store => ({ value: store.id, label: store.name || store.location.address || '' }))\n  }, [userStores])\n\n  const formSubmitHandler = (formValues: ISkuMultiRequestFormValues) => {\n    if (!isAuthenticated) return openAuthModal()\n\n    return dispatch(makeMultiOrder({ skuId: params.productId, formValues, categoryId: product.category.id, product }))\n  }\n\n  const onAddAddressClick = async () => {\n    if (!isAuthenticated) {\n      openAuthModal()\n\n      return false\n    }\n\n    return true\n  }\n\n  const onStoreChange = (store: IStoreLocation) => {\n    onRegionChange(store.region)\n  }\n\n  const initialValues: ISkuMultiRequestFormValues = useMemo(\n    () => ({\n      quantity: 1,\n      storeId: undefined,\n      agentId: undefined,\n    }),\n    [],\n  )\n\n  return (\n    <div className={classNames(className, 'sku-multi-request-form')}>\n      <Form initialValues={initialValues} onSubmit={formSubmitHandler}>\n        {({ form, handleSubmit, values }) => {\n          return (\n            <form className=\"sku-multi-request-form-wrapper\" onSubmit={handleSubmit}>\n              <div className=\"sku-multi-request-form-wrapper__content\">\n                <InjectHtml className={classNames({ text_M: isMobile }, 'space-holder4')} textId=\"SkuMultiRequestForm.title\" TagName=\"h3\" />\n                <InjectHtml className=\"space-holder24 text_small\" textId=\"SkuMultiRequestForm.text\" />\n              </div>\n              <div className=\"sku-multi-request-form-wrapper-quantity\">\n                <QuantityPickerInput\n                  name=\"quantity\"\n                  pickerProps={{\n                    minQuantity: 1,\n                    className: 'sku-multi-request-form-wrapper-quantity__picker',\n                  }}\n                />\n\n                <div className=\"sku-multi-request-form-wrapper-quantity__labeled-info space-holder-left24\">\n                  <InjectHtml className=\"text_super-small color_pale-black\" textId=\"SkuMultiRequestForm.quantity.label\" TagName=\"label\" />\n                  <span className=\"text_small\">\n                    {roundFloat(values.quantity * product.packageType.volume)} {product.packageType.unitCode}\n                  </span>\n                </div>\n              </div>\n\n              <div className=\"sku-multi-request-form-wrapper__region-selector space-holder-top24\">\n                <StoreInput\n                  name=\"storeId\"\n                  labelId=\"SkuMultiRequestForm.select.label\"\n                  onAddNewLocation={store => form.change('storeId', store.id)}\n                  options={storeOptions}\n                  context=\"makeOrder\"\n                  position={'page'}\n                  onAddButtonClick={onAddAddressClick}\n                  onStoreChange={onStoreChange}\n                  dropdownProps={{\n                    isDisabled: isLocationsLoading,\n                    isRequired: true,\n                  }}\n                />\n\n                <OrderAgentId name=\"agentId\" className=\"space-holder-top24\" isExpandable />\n              </div>\n\n              <div className=\"sku-multi-request-form-wrapper-button-block space-holder-top24\">\n                <Button\n                  type=\"submit\"\n                  modifiers={['green', 'full-width-mobile']}\n                  textId=\"SkuMultiRequestForm.button.text\"\n                  isDisabled={!suppliersCount}\n                  loaderProps={{ isVisible: isMultiOrderCreating }}\n                />\n\n                <SkuMultiRequestCounter className=\"space-holder-top8\" count={suppliersCount} />\n              </div>\n            </form>\n          )\n        }}\n      </Form>\n    </div>\n  )\n}\n\nexport default memo(SkuMultiRequestForm)\n","import type { FC } from 'react'\nimport React, { memo, useMemo } from 'react'\nimport { FormattedMessage } from 'react-intl'\nimport { useSelector } from 'react-redux'\nimport { EIconName, Icon } from '@frontend/pole-ui/lib/components/Icon'\nimport { BannerToBargain, Button } from '@/components/ui'\nimport { isAuthenticated, isUserAgrarian } from '@/logic/auth/reducer'\nimport { injectMessages } from '@/logic/translation/utils'\nimport { ASIDE_ID } from '@/pages/AgriculturalProduct/constants'\nimport { scrollToProductLeasingForm } from '@/pages/AgriculturalProduct/helpers'\nimport { useAgriculturalProductParams } from '@/pages/AgriculturalProduct/hooks'\nimport { getProduct, getProductParentCategory } from '@/pages/AgriculturalProduct/reducer'\nimport type { RootState } from '@/redux/interfaces'\nimport { isNonNullable } from '@/typeguards/common'\nimport { useDeviceType } from '@/utils/hooks/useDeviceType'\nimport { getRegionMixedGenitiveAndDativeDeclination } from '@/utils/regions'\nimport { AgriculturalProductOffer, SkuMultiRequest } from '..'\nimport type { ISkuOffersAsideProps } from './interfaces'\nimport messages from './messages.json'\nimport './SkuOffersAside.scss'\n\ninjectMessages(messages)\n\nconst mapState = (productId: string) => (state: RootState) => ({\n  sku: getProduct(state, productId),\n  parentCategory: getProductParentCategory(state, productId),\n  isUserAuthenticated: isAuthenticated()(state),\n  isAgrarian: isUserAgrarian()(state),\n})\n\nconst SkuLeasingOffer = () => (\n  <div className=\"space-holder40-from-sm space-holder32-sm space-holder-top24-from-sm space-holder-top16-sm\">\n    <p className=\"space-holder12\">\n      <FormattedMessage id=\"agriculturalProductPage.buyWithLeasing.notice\" />\n    </p>\n    <Button\n      textId=\"agriculturalProductPage.buyWithLeasing.button\"\n      className=\"space-holder-right16-from-sm space-holder16-sm\"\n      modifiers={['green', 'full-width-mobile']}\n      onClick={scrollToProductLeasingForm}\n    />\n  </div>\n)\n\nconst SkuOffersAside: FC<ISkuOffersAsideProps> = props => {\n  const { asideRef, region, hasBannerToBargain, suppliersCount, scrollToMultiOrder, isMultiRequestAvailable } = props\n  const { productId } = useAgriculturalProductParams()\n  const { sku, parentCategory, isUserAuthenticated, isAgrarian } = useSelector(mapState(productId))\n\n  const { isMobile, isDesktop } = useDeviceType()\n\n  const supplierIds = useMemo(() => [props.supplierIds].flat().filter(isNonNullable), [props.supplierIds])\n\n  const filteredOffersByRegion = useMemo(\n    () => sku.offers.filter(offer => offer.deliveryRegions.find(dr => dr.code === region.code)),\n    [sku.offers, region],\n  )\n\n  const filteredOffersBySuppliersAndRegion = useMemo(\n    () =>\n      supplierIds.length\n        ? filteredOffersByRegion.filter(offer => {\n            const supplierId = offer.supplier?.id ?? offer.store?.organization?.id ?? null\n\n            return supplierId ? supplierIds.includes(supplierId) : false\n          })\n        : filteredOffersByRegion,\n    [supplierIds, filteredOffersByRegion],\n  )\n\n  const showOffersForAllRegions = !filteredOffersBySuppliersAndRegion.length\n  const offers = showOffersForAllRegions ? sku.offers : filteredOffersBySuppliersAndRegion\n  const showLeasingOffer = parentCategory.leasingAvailable && (!isUserAuthenticated || isAgrarian)\n\n  // Пустое состояние\n  if (showOffersForAllRegions && offers.length === 0) {\n    return (\n      <aside className=\"agricultural-product-aside\" id={ASIDE_ID} ref={asideRef}>\n        <section className=\"agriculturalProductSkuOffers\">\n          <h4 className=\"agriculturalProductSkuOffers__emptyTitle\">\n            <FormattedMessage\n              id=\"agriculturalProductPage.offers.withNoRegion.title\"\n              values={{ regionName: getRegionMixedGenitiveAndDativeDeclination(region.name) }}\n            />\n          </h4>\n        </section>\n      </aside>\n    )\n  }\n\n  return (\n    <aside className=\"agricultural-product-aside\" id={ASIDE_ID} ref={asideRef}>\n      {isDesktop && isMultiRequestAvailable && (\n        <SkuMultiRequest\n          suppliersCount={suppliersCount}\n          className=\"space-holder-left4-from-sm space-holder4-from-sm\"\n          onClick={scrollToMultiOrder}\n        />\n      )}\n\n      <section className=\"agriculturalProductSkuOffers\">\n        {showOffersForAllRegions && offers.length !== 0 ? (\n          <>\n            <h4>\n              <FormattedMessage id=\"agriculturalProductPage.offers.allRegions.title\" />\n            </h4>\n            <p className=\"agriculturalProductSkuOffers__suppliersError space-holder-top12 text_small color_red\">\n              <i className=\"icon\">\n                <Icon\n                  name={EIconName.WarningTriangleOutline}\n                  className=\"space-holder-top2-sm agriculturalProductSkuOffers__suppliersError--iconRed\"\n                />\n              </i>\n              <span>\n                <FormattedMessage\n                  id=\"agriculturalProductPage.offers.allRegions.warning\"\n                  values={{ regionName: getRegionMixedGenitiveAndDativeDeclination(region.name) }}\n                />\n              </span>\n            </p>\n          </>\n        ) : (\n          <h4>\n            <FormattedMessage\n              id=\"agriculturalProductPage.offers.withRegion.title\"\n              values={{ regionName: getRegionMixedGenitiveAndDativeDeclination(region.name) }}\n            />\n          </h4>\n        )}\n\n        {showLeasingOffer && <SkuLeasingOffer />}\n\n        <div className=\"agriculturalProductSkuOffers__offers space-holder-top16\">\n          {offers.map(offer => (\n            <AgriculturalProductOffer\n              offer={offer}\n              sku={sku}\n              chosenRegion={showOffersForAllRegions ? null : region}\n              parentCategory={parentCategory}\n              isUserAuthenticated={isUserAuthenticated}\n              isMobileDevice={isMobile}\n              key={offer.id}\n            />\n          ))}\n        </div>\n      </section>\n\n      {hasBannerToBargain && (\n        <BannerToBargain\n          className=\"\n            agricultural-product-price-to-bargain\n            space-holder-top4-from-sm\n            space-holder-top2-sm\n            space-holder-left4-from-sm\n            space-holder2-sm\n          \"\n          titleClassName=\"h5\"\n          textClassName=\"space-holder-top4\"\n        />\n      )}\n    </aside>\n  )\n}\n\nexport default memo(SkuOffersAside)\n","import type { FC } from 'react'\nimport React from 'react'\nimport classNames from 'classnames'\nimport { Button } from '@/components/ui'\nimport { injectMessages } from '@/logic/translation/utils'\nimport type { ISkuSellingBarProps } from './interfaces'\nimport messages from './messages.json'\nimport './styles.scss'\n\ninjectMessages(messages)\n\nconst SkuSellingBar: FC<ISkuSellingBarProps> = props => {\n  const { className, showBuyButton, showRequestButton, onBuy, onRequest, isSmallMobileDevice } = props\n\n  return (\n    <div className={classNames('sku-selling-bar', className, { 'sku-selling-bar--empty': !showBuyButton && !showRequestButton })}>\n      {showBuyButton && (\n        <Button\n          className={classNames('sku-selling-bar__button', {\n            'space-holder-right16': showRequestButton,\n          })}\n          textId={isSmallMobileDevice ? 'skuSellingBar.buyButton.small.text' : 'skuSellingBar.buyButton.text'}\n          modifiers={['outline', 'full-width-mobile']}\n          onClick={onBuy}\n        />\n      )}\n      {showRequestButton && (\n        <Button\n          className=\"sku-selling-bar__button\"\n          textId={isSmallMobileDevice ? 'skuSellingBar.requestButton.small.text' : 'skuSellingBar.requestButton.text'}\n          modifiers={['green', 'full-width-mobile']}\n          onClick={onRequest}\n        />\n      )}\n    </div>\n  )\n}\n\nexport default SkuSellingBar\n","import loadable from '@loadable/component'\n\nexport { SkuOffersAside } from './SkuOffersAside'\nexport { default as AgriculturalProductOffer } from './AgriculturalProductOffer'\nexport { default as MainInfo } from './MainInfo'\nexport { default as AgriculturalProductDetails } from './AgriculturalProductDetails'\nexport { default as AgriculturalProductDetailWithTitle } from './AgriculturalProductDetailWithTitle'\nexport { default as LeasingFormSuccessState } from './LeasingFormSuccessState'\nexport { default as SkuMultiRequest } from './SkuMultiRequest'\nexport { default as SkuMultiRequestForm } from './SkuMultiRequestForm'\nexport { default as SkuSellingBar } from './SkuSellingBar'\nexport { AgriculturalProductPreApprovedLoanClosableBanner } from './AgriculturalProductPreApprovedLoanClosableBanner'\n\nexport const SkuSuccessMultiOrderModal = loadable(\n  /* webpackChunkName: \"SkuSuccessMultiOrderModal\" */\n  /* webpackPrefetch: \"true\" */\n  /* #__LOADABLE__ */\n  () => import('./SkuSuccessMultiOrderModal'),\n)\n","export const LEASING_FORM_ID = 'leasingForm'\nexport const MULTIORDER_FORM_ID = 'multiOrderForm'\nexport const ASIDE_ID = 'asideId'\nexport const USED_AGROTECHNICS_CATEGORY_ID = 440\nexport const BLOCK_IDS_TO_PUSH_GMT_EVENT_ON_SCROLL: Readonly<string[]> = [LEASING_FORM_ID]\n","import { asyncScrollIntoView } from '@/utils/helpers'\nimport { LEASING_FORM_ID } from './constants'\n\nexport const scrollToProductLeasingForm = () => asyncScrollIntoView(`#${LEASING_FORM_ID}`)\n","import { useParams } from 'react-router'\nimport type { IAgriculturalProductParams } from './types'\n\nexport const useAgriculturalProductParams = (): IAgriculturalProductParams => {\n  const { category, productId } = useParams<{ category: string; productId: string }>()\n\n  return {\n    category: Number(category),\n    productId,\n  }\n}\n","import { hasUserPermissions, visibleForPermissionsRule } from '@/components/composed/AccessControlProvider/helpers'\nimport type { TAccessControlRules } from '@/components/composed/AccessControlProvider/types'\nimport { EAccessControlValue } from '@/components/composed/AccessControlProvider/types'\nimport type { AuthState } from '@/logic/auth/interfaces'\nimport { EUserPermission } from '@/types'\nimport type { IAgriculturalProductTreeCategory } from '@/types/Catalog'\nimport type { TAgriculturalProductAccessControlContext } from './types'\n\ntype AgriculturalProductContext = {\n  isMultiOrderEnabled: boolean\n  parentCategory: IAgriculturalProductTreeCategory\n}\n\ntype SkuOffersContext = {\n  parentCategory: IAgriculturalProductTreeCategory\n}\n\nconst isPriceRequestAvailable = (\n  { isAuthenticated, user }: AuthState,\n  { isMultiOrderEnabled, parentCategory }: AgriculturalProductContext,\n) => isMultiOrderEnabled && !parentCategory.leasingAvailable && (!isAuthenticated || hasUserPermissions([EUserPermission.AGRARIAN], user))\n\nconst priceRequestAvailableRule = ({ auth }: TAgriculturalProductAccessControlContext, localContext: unknown) => {\n  const agriculturalProductContext = localContext as AgriculturalProductContext\n\n  return isPriceRequestAvailable(auth, agriculturalProductContext) ? EAccessControlValue.VISIBLE : EAccessControlValue.HIDDEN\n}\n\nexport const APP_ACCESS_CONTROL_LIST = {\n  agriculturalProductPage: {\n    skuSellingBar: priceRequestAvailableRule,\n    skuMultiBar: priceRequestAvailableRule,\n    skuMultiRequest: priceRequestAvailableRule,\n    skuMultiRequestForm: priceRequestAvailableRule,\n    installmentCalculator: {\n      priceRequestButton: priceRequestAvailableRule,\n    },\n    skuOffers: {\n      buyWithLeasing: ({ auth }, localContext) => {\n        const { isAuthenticated, user } = auth\n        const { parentCategory } = localContext as SkuOffersContext\n\n        return parentCategory.leasingAvailable && (!isAuthenticated || hasUserPermissions([EUserPermission.AGRARIAN], user))\n          ? EAccessControlValue.VISIBLE\n          : EAccessControlValue.HIDDEN\n      },\n    },\n    bannerToBargain: visibleForPermissionsRule([EUserPermission.AGRARIAN]),\n    bannerInstallment: ({ isLoanApproved }) => {\n      return isLoanApproved === true ? EAccessControlValue.HIDDEN : EAccessControlValue.VISIBLE\n    },\n    preApprovedLoanClosableBanner: ({ auth, isLoanApproved }) => {\n      return isLoanApproved === true && hasUserPermissions([EUserPermission.AGRARIAN], auth.user)\n        ? EAccessControlValue.VISIBLE\n        : EAccessControlValue.HIDDEN\n    },\n  },\n} satisfies Readonly<TAccessControlRules<TAgriculturalProductAccessControlContext>>\n","import type { PropsWithChildren } from 'react'\nimport React, { useMemo } from 'react'\nimport { useSelector } from 'react-redux'\nimport { createAccessControlProvider } from '@/components/composed/AccessControlProvider'\nimport { getAuthState } from '@/logic/auth/reducer'\nimport { getIsLoanApproved } from '@/logic/profile/reducer'\nimport type { RootState } from '@/redux/interfaces'\nimport { APP_ACCESS_CONTROL_LIST } from './constants'\nimport type { TAgriculturalProductAccessControlContext, TAgriculturalProductAccessControlList } from './types'\n\nconst { AccessControlProvider, useAccessControl } = createAccessControlProvider<\n  TAgriculturalProductAccessControlList,\n  TAgriculturalProductAccessControlContext\n>(APP_ACCESS_CONTROL_LIST)\n\nconst mapState = (state: RootState) => ({\n  auth: getAuthState()(state),\n  isLoanApproved: getIsLoanApproved()(state),\n})\n\nexport const AgriculturalProductAccessControlProvider = ({ children }: PropsWithChildren<{}>) => {\n  const { auth, isLoanApproved } = useSelector(mapState)\n\n  const context = useMemo(\n    () => ({\n      auth,\n      isLoanApproved,\n    }),\n    [auth, isLoanApproved],\n  )\n\n  return <AccessControlProvider context={context}>{children}</AccessControlProvider>\n}\n\nexport const useAgriculturalProductAccessControl = useAccessControl\n","import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { useGetProductSupplierCount } from '@/api/kubik/inputs-catalog'\nimport { BannerInstallment } from '@/components/banners/BannerInstallment'\nimport { InstallmentCalculator, LeasingForm, WideBreadcrumbs } from '@/components/composed'\nimport { EAccessControlValue } from '@/components/composed/AccessControlProvider/types'\nimport type { ILeasingFormValues } from '@/components/composed/LeasingForm/interfaces'\nimport { openModal } from '@/components/composed/Modal/actions'\nimport { addModalToWellKnown } from '@/components/composed/Modal/constants'\nimport { Breadcrumbs, InjectHtml, Loader, MetaInfo } from '@/components/ui'\nimport { useAuthenticateUser } from '@/components/ui/AuthButton/hooks'\nimport { AGROTECHNICS_FINANCING_PRODUCTS, USED_AGROTECHNICS_FINANCING_PRODUCTS } from '@/constants/financing'\nimport { getLocation, getLocationQuery } from '@/logic/app/reducer'\nimport { pushViewingProductGtmEvent } from '@/logic/metrika/agriculturalProduct/gtmEvents'\nimport { getMergedOfferWithSku } from '@/logic/metrika/catalog/helpers'\nimport { getGtmScrollEventPayloadFinancingOfferForm } from '@/logic/metrika/financing/gtmHelpers'\nimport type { IBaseGtmEventFinancing } from '@/logic/metrika/financing/types'\nimport { getUserGtmInfo } from '@/logic/metrika/helpers'\nimport { usePushScrollGtmEvent } from '@/logic/metrika/usePushScrollGtmEvent'\nimport { setInitialStatus } from '@/logic/requestStatus/actions'\nimport { getRequestState } from '@/logic/requestStatus/reducer'\nimport { injectMessages } from '@/logic/translation/utils'\nimport { getUserRegion } from '@/logic/userRegion'\nimport {\n  AgriculturalProductAccessControlProvider,\n  useAgriculturalProductAccessControl,\n} from '@/pages/AgriculturalProduct/components/AgriculturalProductAccessControlProvider'\nimport { ApplyingFinancingOfferSuccessModal } from '@/pages/Financing/components'\nimport type { RootState } from '@/redux/interfaces'\nimport { Redirect404 } from '@/router/components'\nimport { useLocation } from '@/router/hooks'\nimport { EFinancingProductId } from '@/types'\nimport { asyncScrollIntoView } from '@/utils/helpers'\nimport { useActionOnLoggedIn, useBlockIntersection, useEffectAfterMount, useMount } from '@/utils/hooks'\nimport { useDeviceType } from '@/utils/hooks/useDeviceType'\nimport { getCategoryUrl } from '@/utils/inputs/catalog/helpers'\nimport {\n  AgriculturalProductDetails,\n  AgriculturalProductDetailWithTitle,\n  AgriculturalProductPreApprovedLoanClosableBanner,\n  LeasingFormSuccessState,\n  MainInfo,\n  SkuMultiRequestForm,\n  SkuOffersAside,\n  SkuSellingBar,\n  SkuSuccessMultiOrderModal,\n} from './components'\nimport {\n  ASIDE_ID,\n  BLOCK_IDS_TO_PUSH_GMT_EVENT_ON_SCROLL,\n  LEASING_FORM_ID,\n  MULTIORDER_FORM_ID,\n  USED_AGROTECHNICS_CATEGORY_ID,\n} from './constants'\nimport { useAgriculturalProductParams } from './hooks'\nimport messages from './messages.json'\nimport {\n  getIsMultiOrderEnabled,\n  getProduct,\n  getProductBreadcrumbs,\n  getProductParentCategory,\n  getRegionsWithCountSuppliers,\n} from './reducer'\nimport { fetchAgriculturalProduct } from './thunks'\nimport type { IBestOffer } from './types'\nimport { EAgriculturalProductRequestName } from './types'\nimport './styles.scss'\n\ninjectMessages(messages)\n\naddModalToWellKnown({ SkuSuccessMultiOrderModal, ApplyingFinancingOfferSuccessModal })\n\nconst mapState = (productId: string) => (state: RootState) => {\n  const search = getLocationQuery(state)\n\n  return {\n    product: getProduct(state, productId),\n    isMultiOrderEnabled: getIsMultiOrderEnabled(state, productId),\n    requestState: getRequestState(`${EAgriculturalProductRequestName.FETCH}${productId}`)(state),\n    location: getLocation()(state),\n    productBreadcrumbs: getProductBreadcrumbs(state, productId),\n    parentCategory: getProductParentCategory(state, productId),\n    shouldScrollToLeasingForm: Boolean(search?.scrollToLeasingForm),\n    shouldScrollToMultiOrderForm: Boolean(search?.scrollToMultiOrderForm),\n    regionsWithCountSuppliers: getRegionsWithCountSuppliers(state, productId),\n    userRegion: getUserRegion()(state),\n    userGtmInfo: getUserGtmInfo()(state),\n  }\n}\n\nconst AgriculturalProduct: React.FC = () => {\n  const dispatch = useDispatch()\n  const params = useAgriculturalProductParams()\n  const { isAuthenticated } = useAuthenticateUser()\n  const { productId } = params\n\n  const {\n    product,\n    isMultiOrderEnabled,\n    requestState,\n    productBreadcrumbs,\n    parentCategory,\n    shouldScrollToLeasingForm,\n    shouldScrollToMultiOrderForm,\n    regionsWithCountSuppliers,\n    userRegion,\n    userGtmInfo,\n  } = useSelector(mapState(productId))\n\n  const calculatorRef = useRef<HTMLDivElement>(null)\n  const { resolve } = useAgriculturalProductAccessControl()\n\n  const { isMobile, isSmall } = useDeviceType()\n\n  const { isLoading, isLoaded, isFailure } = requestState\n  const { isBlockIntersected: isAsideIntersected, blockRef: asideRef } = useBlockIntersection({ shouldKeepIntersection: true })\n\n  const { isBlockIntersected: isMultiRequestFormIntersected, blockRef: multiRequestFormRef } = useBlockIntersection({\n    shouldKeepIntersection: true,\n  })\n\n  const agriculturalProductContext = useMemo(\n    () => ({\n      isMultiOrderEnabled,\n      parentCategory,\n    }),\n    [isMultiOrderEnabled, parentCategory],\n  )\n\n  const [region, setRegion] = useState(userRegion)\n\n  const { supplierIds } = useLocation().query ?? {}\n\n  const suppliersCount = useMemo(\n    () => regionsWithCountSuppliers.find(r => r.region.code === region.code)?.countSuppliers ?? 0,\n    [regionsWithCountSuppliers, region],\n  )\n\n  const { data } = useGetProductSupplierCount({ skuId: productId, regionCode: region.code })\n\n  // TODO replace with get catalog hook\n  const loadProduct = useCallback(() => {\n    dispatch(fetchAgriculturalProduct({ params }))\n  }, [dispatch, params])\n\n  useEffect(() => {\n    if (userRegion !== region) {\n      loadProduct()\n      setRegion(userRegion)\n    }\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, [userRegion])\n\n  const onBannerClick = useCallback(() => {\n    if (calculatorRef.current) {\n      calculatorRef.current.scrollIntoView({ block: 'nearest' })\n    }\n  }, [])\n\n  const scrollToMultiOrder = () => {\n    asyncScrollIntoView(`#${MULTIORDER_FORM_ID}`, 120)\n  }\n\n  const scrollToAside = () => {\n    asyncScrollIntoView(`#${ASIDE_ID}`, 120)\n  }\n\n  useEffectAfterMount(() => {\n    loadProduct()\n    window.scrollTo({ top: 0 })\n  }, [JSON.stringify(params)])\n\n  useMount(\n    () => {\n      if (product) {\n        pushViewingProductGtmEvent(\n          'success',\n          product.offers.map(offer => getMergedOfferWithSku(offer, product)),\n          product.category.id,\n        )\n      } else loadProduct()\n    },\n    () => dispatch(setInitialStatus({ name: `${EAgriculturalProductRequestName.FETCH}${productId}` })),\n  )\n\n  useActionOnLoggedIn(loadProduct)\n\n  useEffect(() => {\n    if (isLoaded && !isFailure) {\n      // TODO хак с Timeout, т.к. при новой инициализации страницы в режиме SPA, получает неверные данные о значении скролла\n      if (shouldScrollToLeasingForm) setTimeout(() => asyncScrollIntoView(`#${LEASING_FORM_ID}`, 120), 300)\n      if (shouldScrollToMultiOrderForm) setTimeout(() => scrollToMultiOrder(), 300)\n    }\n  }, [isLoaded, isFailure, shouldScrollToLeasingForm, shouldScrollToMultiOrderForm])\n\n  const [isLeasingFormSubmitted, setIsLeasingFormSubmitted] = useState(false)\n\n  usePushScrollGtmEvent<string, IBaseGtmEventFinancing>({\n    blockIds: BLOCK_IDS_TO_PUSH_GMT_EVENT_ON_SCROLL,\n    gtmScrollEventPayloads: {\n      [LEASING_FORM_ID]: getGtmScrollEventPayloadFinancingOfferForm(userGtmInfo, userRegion.name, EFinancingProductId.MULTI_LEASING),\n    },\n  })\n\n  const onLeasingFormSubmitted = (values?: ILeasingFormValues, requestId?: number) => {\n    setIsLeasingFormSubmitted(true)\n\n    dispatch(\n      openModal({\n        options: {\n          dialogId: 'ApplyingFinancingOfferSuccessModal',\n        },\n        contentOptions: {\n          prevFormValues: {\n            phone: values?.phone,\n            productId: EFinancingProductId.MULTI_LEASING,\n          },\n          requestId,\n        },\n      }),\n    )\n  }\n\n  const { name, specialConditions, description, category } = product || {}\n\n  const isUsedAgrotechnicsCategory = useMemo(\n    () =>\n      category?.id === USED_AGROTECHNICS_CATEGORY_ID ||\n      parentCategory?.children?.some(childCategory => childCategory.parentId === USED_AGROTECHNICS_CATEGORY_ID),\n    [category?.id, parentCategory?.children],\n  )\n\n  const bestOfferId = useMemo<string | undefined>(() => {\n    const bestOffer = product?.offers.reduce<Maybe<IBestOffer>>((acc, offer) => {\n      const offerPrice = offer.price?.value\n      const accPrice = acc?.price\n\n      if (!offerPrice) return acc\n\n      return !accPrice || offerPrice < accPrice\n        ? {\n            id: offer.id,\n            price: offerPrice,\n          }\n        : acc\n    }, null)\n\n    return bestOffer?.id\n  }, [product])\n\n  if (!product) {\n    if (isLoaded || isFailure) return <Redirect404 />\n    if (isLoading) return <Loader isVisible isFixed />\n\n    return null\n  }\n\n  return (\n    <div className=\"page-wrapper page-wrapper_no-mobile page-wrapper_no-tablet\">\n      <div className=\"agricultural-product\">\n        <div className=\"agricultural-product-breadcrumbs\">\n          {isMobile ? (\n            <div className={isMobile && 'agriculturalProductBreadcrumbsMobileWrapper'}>\n              <Breadcrumbs customBreadcrumbs={productBreadcrumbs} isMobile={isMobile} />\n            </div>\n          ) : (\n            <WideBreadcrumbs\n              customBreadcrumbs={productBreadcrumbs}\n              link={getCategoryUrl(category.id)}\n              captionId=\"agriculturalProductPage.breadcrumb.backToCatalog\"\n              isUserAuthenticated={isAuthenticated}\n            />\n          )}\n        </div>\n\n        <MetaInfo metaInfo={{ title: name, description }} />\n\n        <MainInfo />\n\n        {resolve('agriculturalProductPage.preApprovedLoanClosableBanner', agriculturalProductContext) === EAccessControlValue.VISIBLE && (\n          <AgriculturalProductPreApprovedLoanClosableBanner className=\"agricultural-product-banner\" />\n        )}\n\n        {resolve('agriculturalProductPage.bannerInstallment', agriculturalProductContext) === EAccessControlValue.VISIBLE && (\n          <BannerInstallment className=\"agricultural-product-banner\" isProduct onClick={onBannerClick} />\n        )}\n\n        {isMobile && resolve('agriculturalProductPage.skuSellingBar', agriculturalProductContext) === EAccessControlValue.VISIBLE && (\n          <SkuSellingBar\n            showBuyButton={isAsideIntersected !== 'true'}\n            showRequestButton={isMultiRequestFormIntersected !== 'true'}\n            className={'agricultural-product__selling-bar'}\n            onBuy={scrollToAside}\n            onRequest={scrollToMultiOrder}\n            isSmallMobileDevice={!!isSmall}\n          />\n        )}\n\n        <SkuOffersAside\n          asideRef={asideRef}\n          region={region}\n          supplierIds={supplierIds}\n          suppliersCount={suppliersCount}\n          scrollToMultiOrder={scrollToMultiOrder}\n          isMultiRequestAvailable={\n            resolve('agriculturalProductPage.skuMultiRequest', agriculturalProductContext) === EAccessControlValue.VISIBLE\n          }\n          hasBannerToBargain={resolve('agriculturalProductPage.bannerToBargain') === EAccessControlValue.VISIBLE}\n        />\n\n        <AgriculturalProductDetails className=\"agricultural-product__details\" product={product} />\n\n        {resolve('agriculturalProductPage.skuMultiRequestForm', agriculturalProductContext) === EAccessControlValue.VISIBLE && (\n          <div id={MULTIORDER_FORM_ID} ref={multiRequestFormRef}>\n            <SkuMultiRequestForm\n              className=\"agricultural-product__multi-request-form\"\n              suppliersCount={data?.countSuppliers || 0}\n              onRegionChange={setRegion}\n            />\n          </div>\n        )}\n\n        {specialConditions && (\n          <section className=\"agricultural-product-special-conditions\">\n            <AgriculturalProductDetailWithTitle titleId=\"agriculturalProductPage.specialConditions.title\">\n              <InjectHtml html={specialConditions} />\n            </AgriculturalProductDetailWithTitle>\n          </section>\n        )}\n\n        <InstallmentCalculator\n          ref={calculatorRef}\n          pointsCount={2}\n          priceRequestButton={\n            resolve('agriculturalProductPage.installmentCalculator.priceRequestButton', agriculturalProductContext) ===\n            EAccessControlValue.VISIBLE\n              ? {\n                  isShown: true,\n                  blockSelectorToScrollTo: `#${MULTIORDER_FORM_ID}`,\n                }\n              : {\n                  isShown: false,\n                }\n          }\n        />\n\n        {parentCategory?.leasingAvailable && (\n          <div className=\"agricultural-product-leasing-form\">\n            {isLeasingFormSubmitted ? (\n              <LeasingFormSuccessState />\n            ) : (\n              <LeasingForm\n                blockNameGtm=\"blockLeasingApplicationForm\"\n                id={LEASING_FORM_ID}\n                productId={product.id}\n                onSubmitted={onLeasingFormSubmitted}\n                financingProductIds={isUsedAgrotechnicsCategory ? USED_AGROTECHNICS_FINANCING_PRODUCTS : AGROTECHNICS_FINANCING_PRODUCTS}\n                offerId={bestOfferId}\n              />\n            )}\n          </div>\n        )}\n      </div>\n    </div>\n  )\n}\n\nconst AgriculturalProductWithAccessControlProvider = () => (\n  <AgriculturalProductAccessControlProvider>\n    <AgriculturalProduct />\n  </AgriculturalProductAccessControlProvider>\n)\n\nexport default AgriculturalProductWithAccessControlProvider\n","import type { IAgriculturalProductTreeCategory } from '@/types/Catalog'\n\nexport const isTreeCategory = (category: unknown): category is IAgriculturalProductTreeCategory =>\n  typeof (category as IAgriculturalProductTreeCategory)?.id === 'number' &&\n  typeof (category as IAgriculturalProductTreeCategory)?.children === 'object'\n","import { createSelector } from 'reselect'\nimport { getRequestData as getRequestStatus } from '@/logic/requestStatus/reducer'\nimport type { RootState } from '@/redux/interfaces'\nimport { getAgriculturalProductsCatalogBreadcrumbs } from '@/utils/inputs/catalog/helpers'\nimport { isTreeCategory } from '@/utils/inputs/catalog/typeguards'\nimport type { IProductDetailedResponse } from './types'\nimport { EAgriculturalProductRequestName } from './types'\n\nexport const getAgriculturalProductData = (state: RootState, productId: string | undefined) =>\n  getRequestStatus<IProductDetailedResponse>(`${EAgriculturalProductRequestName.FETCH}${productId}`)(state)\n\nexport const getProduct = createSelector(getAgriculturalProductData, ({ product }) => product)\nexport const getIsMultiOrderEnabled = createSelector(getAgriculturalProductData, ({ multiOrderEnabled }) => multiOrderEnabled)\nexport const getRegionsWithCountSuppliers = createSelector(\n  getAgriculturalProductData,\n  ({ regionWithCountSuppliersData }) => regionWithCountSuppliersData?.filter(r => r.countSuppliers > 0) ?? [],\n)\nexport const getProductParentCategory = createSelector(getAgriculturalProductData, ({ categories }) => categories)\nexport const getProductBreadcrumbs = createSelector(getProduct, getProductParentCategory, (product, parentCategory) => {\n  if (!isTreeCategory(parentCategory)) return []\n\n  return [\n    ...getAgriculturalProductsCatalogBreadcrumbs({ category: parentCategory, isLastCategoryAvailable: true }),\n    { caption: product?.name },\n  ]\n})\n","import type { IBreadcrumb } from '@/components/ui/Breadcrumbs/Breadcrumb/interfaces'\nimport { agriculturalProductsBreadcrumb } from '@/components/ui/Breadcrumbs/constants'\nimport { EAgriculturalProductsRoute } from '@/types'\nimport type { IAgriculturalProductTreeCategory } from '@/types/Catalog'\nimport { createRouterLink } from '@/utils/url'\n\nexport const getCategoryNameInGenitiveCase = (name: string): string =>\n  name\n    .replace(/(и)(\\s+|$)/g, 'ей$2')\n    .replace(/(ы)$/g, 'ов')\n    .replace('ка', 'ки')\n    .replace('ия', 'ий')\n    .replace('ные', 'ных')\n    .replace('ена', 'ян')\n    .replace(/(а)(\\s+|$)/g, '$2')\n\nexport const getCategoryUrl = (id: number): string => createRouterLink(EAgriculturalProductsRoute.category, { categoryId: id })\n\nconst getCategoryBreadcrumb = (category: IAgriculturalProductTreeCategory, isLastCategoryAvailable?: boolean): IBreadcrumb => {\n  const { name: caption, id, active } = category\n  const breadcrumb: IBreadcrumb = { caption }\n\n  if (!active || isLastCategoryAvailable) breadcrumb.link = getCategoryUrl(id)\n\n  return breadcrumb\n}\n\nexport interface IGetAgriculturalProductsCatalogBreadcrumbs {\n  breadcrumbs?: IBreadcrumb[]\n  category?: IAgriculturalProductTreeCategory\n  isLastCategoryAvailable?: boolean\n}\n\nexport const getAgriculturalProductsCatalogBreadcrumbs = (options: IGetAgriculturalProductsCatalogBreadcrumbs): IBreadcrumb[] => {\n  const { breadcrumbs = [agriculturalProductsBreadcrumb], category, isLastCategoryAvailable } = options\n\n  if (!category) return breadcrumbs\n\n  breadcrumbs.push(getCategoryBreadcrumb(category, isLastCategoryAvailable))\n\n  if (category.active) return breadcrumbs\n\n  for (const childCategory of category.children ?? []) {\n    getAgriculturalProductsCatalogBreadcrumbs({ breadcrumbs, category: childCategory, isLastCategoryAvailable })\n\n    if (childCategory.active) break\n  }\n\n  return breadcrumbs\n}\n"],"names":["Object","defineProperty","exports","Symbol","toStringTag","value","React","React__default","e","__esModule","default","_interopDefault","Player","video","_a","_b","provider","setProvider","useState","useEffect","link","providers","youtube","rutube","identifiedProvider","keys","some","service","_a2","test","identifyProvider","rutubeVideoId","match","createElement","className","src","title","frameBorder","allow","allowFullScreen","controls","youtubeVideoId","mapState","state","user","getUserGtmInfo","userRegion","getUserRegion","messages","global","description","button","product","addModalToWellKnown","HowToInstallmentsModal","BannerInstallmentComponent","props","dispatch","useDispatch","sendGtmEventOnBannerClick","_useSelector","useSelector","pushGtmEvent","event","userAuth","userImpersonalization","memberID","uid","regionSelected","name","eventCategory","eventAction","eventStatus","eventNonInteraction","blockName","useSendGtmEventOnBannerClick","messagesKey","isProduct","_messages$messagesKey","wrapperClassNames","classNames","_jsx","onClick","openModal","options","dialogId","children","_jsxs","Icon","EIconName","size","EIconSize","Button","modifiers","BannerInstallment","memo","PreApprovedLoanBanner","_ref","logoClassName","titleClassName","descriptionClassName","headerClassName","footerClassName","submitButtonClassName","submitButtonModifiers","onClose","onClickSubmitButton","logoExtension","useWebpExtension","Image","concat","alt","isInStatic","Link","to","EFinancingOfferRoute","isFake","iconProps","isUnstyled","PreApprovedLoanClosableBanner","_useState2","_slicedToArray","isShown","setIsShown","CSSTransition","in","timeout","mountOnEnter","unmountOnExit","label","input","error","invalidOrderAgentId","AGENT_ID_RE","agentIdValidator","undefined","OrderAgentId","isExpandable","isExpanded","setIsExpanded","useIsomorphicLayoutEffect","onTitleClick","useCallback","preventDefault","href","TextInput","customValidator","customErrorText","maxLength","placeholder","usePushScrollGtmEvent","scrollDirection","useScrollDirection","blockIds","gtmScrollEventPayloads","isFitsFullScreen","intersectedBlockId","useBlocksIntersectionWhenScrollingDown","initialIntersectedBlocksState","reduce","blockId","_objectSpread","_defineProperty","EIntersectionState","intersectedBlocks","setIntersectedBlocks","eventPayload","titleId","FormattedMessage","id","addTagWrapper","texts","map","text","join","advantages","application","usefulInformation","applicationRules","emptyData","length","AgriculturalProductDetailWithTitle","split","paragraph","index","InjectHtml","html","CustomTable","table","url","CommonLink","shouldOpenInNewWindow","injectMessages","OfferInfo","labelId","OfferInstallment","textId","TagName","buyButtonProps","smallOutlineButton","AgriculturalProductOffer","offer","sku","chosenRegion","parentCategory","isUserAuthenticated","isMobileDevice","supplier","unitPrice","store","vatRate","lead","isPriceNegotiable","showPriceForUnauth","isInstallment","deliveryConditions","_store$location","location","storeAddress","address","storeRegion","region","supplierRegionName","supplierRegionCode","code","isNotLead","labels","useOfferLabels","shouldShowPrice","OfferLabels","list","OfferPriceWithDiscount","unitPriceClassName","priceClassName","discountPriceClassName","packagePriceClassName","shouldShowVatRate","shouldHideConditionalCurrencyHint","LoginToWatchPrice","authLinkClass","isNotRussianCurrency","uom","style","color","EColor","textValues","openSupplierNoticeModal","AgriculturalProductDeliveryRegionNotice","iconClassName","iconSize","AddProductToCartButton","itemPosition","isBaseMobileButton","quantityPickerClassName","addToCartButtonModifiers","addToCartButtonLabelTextId","leasingAvailable","AgriculturalProductPreApprovedLoanClosableBanner","GlassMorphIcon","image","Characteristics","items","characteristics","useMemo","prepareCharacteristics","KeysAndValuesSeparatedByDots","HighlightedBlock","getValues","listItem","keySuffix","sub","item","HighlightedList","activeSubstances","categoryId","formatMessage","useIntl","activeSubstancesList","activeSubstanceFilterUrl","getUrlWithQuery","createRouterLink","EAgriculturalProductsRoute","activeSubstance","units","filter","subItem","Boolean","listArr","push","apply","_toConsumableArray","characteristic","specification","preparedSpecification","SkuPromotions","isMobile","useDeviceType","promotions","offers","flatMap","promo","idx","arr","findIndex","p","chipProps","fontStyle","EChipModifier","isNonNullable","cn","Chip","productDescription","activeClassName","landingUrl","landingUrlText","productId","params","useAgriculturalProductParams","getProductParentCategory","getProduct","images","packageType","producer","category","isPieceProduct","pieceProduct","mainImageProduct","groupedCharacteristics","common","highlighted","forEach","highlightInBlock","filteredSpecification","producerFilterUrl","producerIds","Gallery","numOfImage","getMinioImagePath","rel","galleryImage","scrollToProductLeasingForm","Specification","SkuMultiRequest","suppliersCount","SkuMultiRequestCounter","count","isError","iconColor","textClassName","values","_regeneratorRuntime","t","r","prototype","n","hasOwnProperty","o","i","a","iterator","c","asyncIterator","u","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","d","getPrototypeOf","v","g","defineIteratorMethods","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","constructor","mark","setPrototypeOf","__proto__","awrap","async","Promise","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","delegateYield","asyncGeneratorStep","SkuMultiRequestForm","onRegionChange","isMultiOrderCreating","getRequestState","EOrderRequestName","isLoading","_useAuthenticateUser","useAuthenticateUser","isAuthenticated","openAuthModal","_useUserStores","useUserStores","isLocationsLoading","userStores","storeOptions","onAddAddressClick","_callee","_context","arguments","_next","_throw","onStoreChange","initialValues","quantity","storeId","agentId","Form","onSubmit","formValues","makeMultiOrder","skuId","_ref2","form","handleSubmit","text_M","QuantityPickerInput","pickerProps","minQuantity","roundFloat","volume","unitCode","StoreInput","onAddNewLocation","change","context","position","onAddButtonClick","dropdownProps","isDisabled","isRequired","loaderProps","isVisible","SkuLeasingOffer","SkuOffersAside","asideRef","hasBannerToBargain","scrollToMultiOrder","isMultiRequestAvailable","isAgrarian","isUserAgrarian","_useDeviceType","isDesktop","supplierIds","flat","filteredOffersByRegion","deliveryRegions","find","dr","filteredOffersBySuppliersAndRegion","_offer$supplier$id","_offer$supplier","_offer$store","supplierId","organization","includes","showOffersForAllRegions","showLeasingOffer","ASIDE_ID","ref","regionName","getRegionMixedGenitiveAndDativeDeclination","_Fragment","BannerToBargain","showBuyButton","showRequestButton","onBuy","onRequest","isSmallMobileDevice","SkuSuccessMultiOrderModal","loadable","resolved","chunkName","isReady","key","__webpack_modules__","importAsync","requireAsync","_this","requireSync","__webpack_require__","LEASING_FORM_ID","MULTIORDER_FORM_ID","USED_AGROTECHNICS_CATEGORY_ID","BLOCK_IDS_TO_PUSH_GMT_EVENT_ON_SCROLL","asyncScrollIntoView","_useParams","useParams","Number","priceRequestAvailableRule","_ref3","localContext","isMultiOrderEnabled","auth","hasUserPermissions","EUserPermission","EAccessControlValue","APP_ACCESS_CONTROL_LIST","agriculturalProductPage","skuSellingBar","skuMultiBar","skuMultiRequest","skuMultiRequestForm","installmentCalculator","priceRequestButton","skuOffers","buyWithLeasing","_ref4","bannerToBargain","visibleForPermissionsRule","bannerInstallment","_ref6","isLoanApproved","preApprovedLoanClosableBanner","_ref7","_createAccessControlP","createAccessControlProvider","AccessControlProvider","useAccessControl","getAuthState","getIsLoanApproved","AgriculturalProductAccessControlProvider","useAgriculturalProductAccessControl","ApplyingFinancingOfferSuccessModal","search","getLocationQuery","getIsMultiOrderEnabled","requestState","EAgriculturalProductRequestName","getLocation","productBreadcrumbs","getProductBreadcrumbs","shouldScrollToLeasingForm","scrollToLeasingForm","shouldScrollToMultiOrderForm","scrollToMultiOrderForm","regionsWithCountSuppliers","getRegionsWithCountSuppliers","userGtmInfo","AgriculturalProduct","_useLocation$query","calculatorRef","useRef","isSmall","isLoaded","isFailure","_useBlockIntersection","useBlockIntersection","shouldKeepIntersection","isAsideIntersected","isBlockIntersected","blockRef","_useBlockIntersection2","isMultiRequestFormIntersected","multiRequestFormRef","agriculturalProductContext","setRegion","useLocation","query","_regionsWithCountSupp","_regionsWithCountSupp2","countSuppliers","data","useGetProductSupplierCount","regionCode","loadProduct","fetchAgriculturalProduct","onBannerClick","current","scrollIntoView","block","useEffectAfterMount","window","scrollTo","top","JSON","stringify","useMount","pushViewingProductGtmEvent","getMergedOfferWithSku","setInitialStatus","useActionOnLoggedIn","setTimeout","_useState4","isLeasingFormSubmitted","setIsLeasingFormSubmitted","getGtmScrollEventPayloadFinancingOfferForm","EFinancingProductId","specialConditions","isUsedAgrotechnicsCategory","_parentCategory$child","childCategory","parentId","bestOfferId","bestOffer","acc","_offer$price","offerPrice","price","accPrice","Breadcrumbs","customBreadcrumbs","WideBreadcrumbs","getCategoryUrl","captionId","MetaInfo","metaInfo","MainInfo","SkuSellingBar","AgriculturalProductDetails","InstallmentCalculator","pointsCount","blockSelectorToScrollTo","LeasingFormSuccessState","LeasingForm","blockNameGtm","onSubmitted","requestId","contentOptions","prevFormValues","phone","financingProductIds","USED_AGROTECHNICS_FINANCING_PRODUCTS","AGROTECHNICS_FINANCING_PRODUCTS","offerId","Redirect404","Loader","isFixed","getAgriculturalProductData","getRequestStatus","createSelector","multiOrderEnabled","_regionWithCountSuppl","regionWithCountSuppliersData","categories","getAgriculturalProductsCatalogBreadcrumbs","isLastCategoryAvailable","caption","_category$children","_options$breadcrumbs","breadcrumbs","agriculturalProductsBreadcrumb","breadcrumb","active","getCategoryBreadcrumb","_step","_iterator","_createForOfIteratorHelper","err"],"sourceRoot":""}