{"version":3,"file":"static/chunks/pages/_site/[city]/domofon-bd8c4b4f30b7919b.js","mappings":"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jBD,EAAOC,QAAU,iH,kBCAjBD,EAAOC,QAAU,gH,iBCAjBD,EAAOC,QAAU,iH,kBCAjBD,EAAOC,QAAU,gH,kBCAjBD,EAAOC,QAAU,iH,kBCAjBD,EAAOC,QAAU,8kK,kBCAjBD,EAAOC,QAAU,2mE,kBCAjBD,EAAOC,QAAU,0H,kBCAjBD,EAAOC,QAAU,2H,kBCAjBD,EAAOC,QAAU,kyR,kBCAjBD,EAAOC,QAAU,22G,kBCAjBD,EAAOC,QAAU,2H,kBCAjBD,EAAOC,QAAU,moM,kBCAjBD,EAAOC,QAAU,0xN,kBCAjBD,EAAOC,QAAU,+wG,kBCAjBD,EAAOC,QAAU,yH,kBCAjBD,EAAOC,QAAU,0H,kBCAjBD,EAAOC,QAAU,6H,kBCAjBD,EAAOC,QAAU,8H,kBCAjBD,EAAOC,QAAU,sH,kBCAjBD,EAAOC,QAAU,uH,gBCAjBD,EAAOC,QAAU,8H,kBCAjBD,EAAOC,QAAU,yH,kBCAjBD,EAAOC,QAAU,wH,kBCAjBD,EAAOC,QAAU,yH,kBCAjBD,EAAOC,QAAU,wH,kBCAjBD,EAAOC,QAAU,yH,kBCAjBD,EAAOC,QAAU,wH,kBCAjBD,EAAOC,QAAU,yH,kBCAjBD,EAAOC,QAAU,wH,iBCAjBD,EAAOC,QAAU,yH,kBCAjBD,EAAOC,QAAU,wH,kBCAjBD,EAAOC,QAAU,yH,kBCAjBD,EAAOC,QAAU,wH,kBCAjBD,EAAOC,QAAU,yH,kBCAjBD,EAAOC,QAAU,2H,iBCAjBD,EAAOC,QAAU,oH,kBCAjBD,EAAOC,QAAU,qH,kBCAjBD,EAAOC,QAAU,4H,kBCAjBD,EAAOC,QAAU,uW","sources":["webpack://_N_E/?4c23","webpack://_N_E/./src/features/domofon/data/index.ts","webpack://_N_E/./src/features/domofon/components/Advantages/styled.tsx","webpack://_N_E/./src/features/domofon/components/Advantages/index.tsx","webpack://_N_E/./src/features/domofon/components/Features/styled.tsx","webpack://_N_E/./src/features/domofon/components/Features/index.tsx","webpack://_N_E/./src/features/domofon/styled.ts","webpack://_N_E/./src/features/domofon/components/Headline/styled.tsx","webpack://_N_E/./src/features/domofon/components/Headline/index.tsx","webpack://_N_E/./src/features/domofon/components/Lesions/styled.tsx","webpack://_N_E/./src/features/domofon/components/Lesions/index.tsx","webpack://_N_E/./src/features/domofon/sections/BannerBlock/styled.tsx","webpack://_N_E/./src/features/domofon/sections/BannerBlock/index.tsx","webpack://_N_E/./src/features/domofon/components/Benefits/styled.tsx","webpack://_N_E/./src/features/domofon/components/Benefits/index.tsx","webpack://_N_E/./src/features/domofon/sections/BenefitsBlock/styled.tsx","webpack://_N_E/./src/features/domofon/sections/BenefitsBlock/index.tsx","webpack://_N_E/./src/features/domofon/sections/ConnectDomofon/data.tsx","webpack://_N_E/./src/features/domofon/sections/ConnectDomofon/styled.ts","webpack://_N_E/./src/features/domofon/sections/ConnectDomofon/index.tsx","webpack://_N_E/./src/features/domofon/sections/FeaturesBlock/styled.tsx","webpack://_N_E/./src/features/domofon/sections/FeaturesBlock/index.tsx","webpack://_N_E/./src/features/domofon/components/Functionalities/styled.tsx","webpack://_N_E/./src/features/domofon/components/Functionalities/FunctionalityItem.tsx","webpack://_N_E/./src/features/domofon/components/Functionalities/index.tsx","webpack://_N_E/./src/features/domofon/sections/FunctionalitiesBlock/styled.tsx","webpack://_N_E/./src/features/domofon/sections/FunctionalitiesBlock/index.tsx","webpack://_N_E/./src/features/domofon/sections/PresentationDomofon/styled.ts","webpack://_N_E/./src/features/domofon/sections/PresentationDomofon/index.tsx","webpack://_N_E/./src/features/domofon/purchase/types/EEquipmentType.ts","webpack://_N_E/./src/features/domofon/sections/ProductsBlock/styled.tsx","webpack://_N_E/./src/features/domofon/sections/ProductsBlock/index.tsx","webpack://_N_E/./src/features/domofon/sections/QuestionsBlock/styled.tsx","webpack://_N_E/./src/features/domofon/sections/QuestionsBlock/index.tsx","webpack://_N_E/./src/features/domofon/sections/Statistics/styled.ts","webpack://_N_E/./src/features/domofon/sections/Statistics/index.tsx","webpack://_N_E/./src/features/domofon/index.tsx","webpack://_N_E/./pages/_site/[city]/domofon/index.tsx","webpack://_N_E/./src/api/content/shop/getShopItems.ts","webpack://_N_E/./src/api/requests/contentRequest.js","webpack://_N_E/./src/components/AdaptiveNukaCarousel/styled.ts","webpack://_N_E/./src/components/AdaptiveNukaCarousel/index.tsx","webpack://_N_E/./src/components/Equipment/form/requestForm.js","webpack://_N_E/./src/components/Equipment/internet/orderPopup.js","webpack://_N_E/./src/helpers/accessMode.ts","webpack://_N_E/./src/helpers/formatter.js","webpack://_N_E/./src/helpers/hooks/useIntersectionObserver.ts","webpack://_N_E/./src/helpers/hooks/useScroll.ts","webpack://_N_E/./src/helpers/numbers.js","webpack://_N_E/./src/store/selectors/bundles/index.js","webpack://_N_E/./src/store/selectors/filteredBundles.ts","webpack://_N_E/../../packages/shared/src/helpers/truncate.ts","webpack://_N_E/../../packages/shared/src/hooks/useOnceExecute.ts","webpack://_N_E/../../packages/shared/src/types/EPriceTypes.ts","webpack://_N_E/../../packages/ui-react/src/components/NukaCarousel/DefaultArrow/styled.tsx","webpack://_N_E/../../packages/ui-react/src/components/NukaCarousel/DefaultDots/styled.tsx","webpack://_N_E/../../packages/ui-react/src/components/NukaCarousel/DefaultArrow/index.tsx","webpack://_N_E/../../packages/ui-react/src/components/NukaCarousel/DefaultDots/index.tsx","webpack://_N_E/../../packages/ui-react/src/components/NukaCarousel/styled.tsx","webpack://_N_E/../../packages/ui-react/src/components/NukaCarousel/index.tsx","webpack://_N_E/./static/images/defaultImageFallback.svg","webpack://_N_E/./static/images/domofon-new/benefits/1-ls.jpg","webpack://_N_E/./static/images/domofon-new/benefits/1-ls.webp","webpack://_N_E/./static/images/domofon-new/benefits/2-ls.jpg","webpack://_N_E/./static/images/domofon-new/benefits/2-ls.webp","webpack://_N_E/./static/images/domofon-new/benefits/3.jpg","webpack://_N_E/./static/images/domofon-new/benefits/3.webp","webpack://_N_E/./static/images/domofon-new/benefits/4.jpg","webpack://_N_E/./static/images/domofon-new/benefits/4.webp","webpack://_N_E/./static/images/domofon-new/benefits/5.jpg","webpack://_N_E/./static/images/domofon-new/benefits/5.webp","webpack://_N_E/./static/images/domofon-new/features/1.jpg","webpack://_N_E/./static/images/domofon-new/features/1.webp","webpack://_N_E/./static/images/domofon-new/features/2.jpg","webpack://_N_E/./static/images/domofon-new/features/2.webp","webpack://_N_E/./static/images/domofon-new/features/3.jpg","webpack://_N_E/./static/images/domofon-new/features/3.webp","webpack://_N_E/./static/images/domofon-new/features/4.jpg","webpack://_N_E/./static/images/domofon-new/features/4.webp","webpack://_N_E/./static/images/domofon-new/functionalities/1.jpg","webpack://_N_E/./static/images/domofon-new/functionalities/1.webp","webpack://_N_E/./static/images/domofon-new/functionalities/2.jpg","webpack://_N_E/./static/images/domofon-new/functionalities/2.webp","webpack://_N_E/./static/images/domofon-new/functionalities/3.jpg","webpack://_N_E/./static/images/domofon-new/functionalities/3.webp","webpack://_N_E/./static/images/domofon-new/header_cover.jpg","webpack://_N_E/./static/images/domofon-new/header_cover.webp","webpack://_N_E/./static/images/domofon-new/icons/advantage_1.svg","webpack://_N_E/./static/images/domofon-new/icons/advantage_2.svg","webpack://_N_E/./static/images/domofon-new/icons/advantage_3.svg","webpack://_N_E/./static/images/domofon-new/icons/camera.svg","webpack://_N_E/./static/images/domofon-new/icons/eye.svg","webpack://_N_E/./static/images/domofon-new/icons/lock.svg","webpack://_N_E/./static/images/domofon-new/icons/qr.svg","webpack://_N_E/./static/images/domofon-new/icons/unlock.svg","webpack://_N_E/./static/images/domofon-new/lesions/1.jpg","webpack://_N_E/./static/images/domofon-new/lesions/1.webp","webpack://_N_E/./static/images/domofon-new/lesions/2.jpg","webpack://_N_E/./static/images/domofon-new/lesions/2.webp","webpack://_N_E/./static/images/domofon-new/lesions/3.jpg","webpack://_N_E/./static/images/domofon-new/lesions/3.webp","webpack://_N_E/./static/images/domofon-new/lesions/4.jpg","webpack://_N_E/./static/images/domofon-new/lesions/4.webp","webpack://_N_E/./static/images/domofon/connect-domofon/animated-img/center.png","webpack://_N_E/./static/images/domofon/connect-domofon/animated-img/center.webp","webpack://_N_E/./static/images/domofon/connect-domofon/animated-img/left-bottom.png","webpack://_N_E/./static/images/domofon/connect-domofon/animated-img/left-bottom.webp","webpack://_N_E/./static/images/domofon/connect-domofon/animated-img/left-top.png","webpack://_N_E/./static/images/domofon/connect-domofon/animated-img/left-top.webp","webpack://_N_E/./static/images/domofon/connect-domofon/animated-img/right-bottom.png","webpack://_N_E/./static/images/domofon/connect-domofon/animated-img/right-bottom.webp","webpack://_N_E/./static/images/domofon/connect-domofon/animated-img/right-top.png","webpack://_N_E/./static/images/domofon/connect-domofon/animated-img/right-top.webp","webpack://_N_E/./static/images/domofon/connect-domofon/connect-bg.png","webpack://_N_E/./static/images/domofon/connect-domofon/connect-bg.webp","webpack://_N_E/./static/images/domofon/connect-domofon/connect-mobile.png","webpack://_N_E/./static/images/domofon/connect-domofon/connect-mobile.webp","webpack://_N_E/./static/images/domofon/connect-domofon/connect.png","webpack://_N_E/./static/images/domofon/connect-domofon/connect.webp","webpack://_N_E/./static/images/domofon/connect-domofon/qr-intelect-dom.svg","webpack://_N_E/./static/images/domofon/connect-domofon/step-img-2.png","webpack://_N_E/./static/images/domofon/presentation/desktop/domofon-1.png","webpack://_N_E/./static/images/domofon/presentation/desktop/domofon-1.webp","webpack://_N_E/./static/images/domofon/presentation/desktop/domofon-2.png","webpack://_N_E/./static/images/domofon/presentation/desktop/domofon-2.webp","webpack://_N_E/./static/images/domofon/presentation/desktop/domofon-3.png","webpack://_N_E/./static/images/domofon/presentation/desktop/domofon-3.webp","webpack://_N_E/./static/images/domofon/presentation/mobile/domofon-1.png","webpack://_N_E/./static/images/domofon/presentation/mobile/domofon-1.webp","webpack://_N_E/./static/images/domofon/presentation/mobile/domofon-2.png","webpack://_N_E/./static/images/domofon/presentation/mobile/domofon-2.webp","webpack://_N_E/./static/images/domofon/presentation/mobile/domofon-3.png","webpack://_N_E/./static/images/domofon/presentation/mobile/domofon-3.webp","webpack://_N_E/./static/images/domofon/statistics/left-picture.png","webpack://_N_E/./static/images/domofon/statistics/phone.png","webpack://_N_E/./static/images/domofon/statistics/phone.webp","webpack://_N_E/./static/images/domofon/statistics/right-picture.png","webpack://_N_E/../../packages/ui-react/src/components/NukaCarousel/DefaultArrow/arrow.svg"],"sourcesContent":["\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/_site/[city]/domofon\",\n function () {\n return require(\"private-next-pages/_site/[city]/domofon/index.tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/_site/[city]/domofon\"])\n });\n }\n ","import { IAdvantage } from '~/src/features/domofon/components/Advantages';\nimport { IBenefit } from '~/src/features/domofon/components/Benefits';\nimport { IFeature } from '~/src/features/domofon/components/Features';\nimport { IFunctionality } from '~/src/features/domofon/components/Functionalities/FunctionalityItem';\nimport { ILesion } from '~/src/features/domofon/components/Lesions';\nimport { IQuestion } from '~/src/features/domofon/sections/QuestionsBlock';\n\nexport const domofonAdvatagesData: IAdvantage[] = [\n {\n id: 1,\n icon: require('~/static/images/domofon-new/icons/advantage_1.svg'),\n title: 'Антивандальный',\n alt: 'Замок',\n },\n {\n id: 2,\n icon: require('~/static/images/domofon-new/icons/advantage_2.svg'),\n title: 'Морозоустойчивый',\n alt: 'Снежинка',\n },\n {\n id: 3,\n icon: require('~/static/images/domofon-new/icons/advantage_3.svg'),\n title: 'Работает 24/7',\n alt: 'Глаз',\n },\n];\n\nexport const domofonLesionsData: ILesion[] = [\n {\n id: 1,\n image: require('~/static/images/domofon-new/lesions/1.jpg'),\n image_webp: require('~/static/images/domofon-new/lesions/1.webp'),\n title: 'В подъезде\\nпосторонние',\n alt: 'Посторонние в доме',\n },\n {\n id: 2,\n image: require('~/static/images/domofon-new/lesions/2.jpg'),\n image_webp: require('~/static/images/domofon-new/lesions/2.webp'),\n title: 'Кто-то рисует\\nна стенах',\n alt: 'Рисунки на стенах',\n },\n {\n id: 3,\n image: require('~/static/images/domofon-new/lesions/3.jpg'),\n image_webp: require('~/static/images/domofon-new/lesions/3.webp'),\n title: 'Тонна рекламы\\nв почтовых ящиках',\n alt: 'Рекламные буклеты в ящиках',\n },\n {\n id: 4,\n image: require('~/static/images/domofon-new/lesions/4.jpg'),\n image_webp: require('~/static/images/domofon-new/lesions/4.webp'),\n title: 'Во дворе может\\nбыть небезопасно',\n alt: 'Открытый двор',\n },\n];\n\n// Для альбомного режима отображения карточки, название файла изображения в формате [число]-ls.jpeg\nexport const domofonBenefitsData: IBenefit[] = [\n {\n id: 1,\n isLandscape: true,\n image: require('~/static/images/domofon-new/benefits/1-ls.jpg'),\n image_webp: require('~/static/images/domofon-new/benefits/1-ls.webp'),\n title: 'Спокойствие всей семьи',\n text: `Моментальные уведомления об открытии дверей помогут быть уверенными в \n своей безопасности.`,\n alt: 'Мать с детьми',\n },\n {\n id: 2,\n isLandscape: true,\n image: require('~/static/images/domofon-new/benefits/2-ls.jpg'),\n image_webp: require('~/static/images/domofon-new/benefits/2-ls.webp'),\n title: 'Комфорт в использовании',\n text: `Удобное приложение позволит узнать, кто пришёл, открыть дверь за пару \n кликов, посмотреть архив пропущенных звонков и съёмок с камеры видеонаблюдения. `,\n alt: 'Девушка сидящая с телефоном',\n },\n {\n id: 3,\n isLandscape: false,\n image: require('~/static/images/domofon-new/benefits/3.jpg'),\n image_webp: require('~/static/images/domofon-new/benefits/3.webp'),\n title: 'Возможность сэкономить',\n text: `Для установки системы от Дом.ру не требуется полной замены домофонной сети. \n Достаточно установить на двери подъезда новую панель.`,\n alt: 'Девушка звонит в дом',\n },\n {\n id: 4,\n isLandscape: false,\n image: require('~/static/images/domofon-new/benefits/4.jpg'),\n image_webp: require('~/static/images/domofon-new/benefits/4.webp'),\n title: 'Безопасность придомовой территории',\n text: `Камеры, подключенные к домофону, снимают в высоком разрешении днём и ночью — вы \n сможете быть в курсе того, что происходит около подъезда.`,\n alt: 'Жилая площадь',\n },\n {\n id: 5,\n isLandscape: false,\n image: require('~/static/images/domofon-new/benefits/5.jpg'),\n image_webp: require('~/static/images/domofon-new/benefits/5.webp'),\n title: 'Поддержку 24/7',\n text: `Служба технической поддержки Дом.ру работает круглосуточно. Связаться в случае \n необходимости можно через приложение, мессенджеры или по телефону. `,\n alt: 'Оператор колл-центра',\n },\n];\n\nexport const domofonFunctionalitiesData: IFunctionality[] = [\n {\n id: 1,\n image: require('~/static/images/domofon-new/functionalities/1.jpg'),\n image_webp: require('~/static/images/domofon-new/functionalities/1.webp'),\n title: 'Открывайте дверь, не отрываясь от дел',\n icon: require('~/static/images/domofon-new/icons/lock.svg'),\n text: `Не бегите к двери в случае звонка, а просто нажмите кнопку на смартфоне \n из любого уголка квартиры или поговорите по видеосвязи с посетителем у двери.`,\n alt: 'Отдых на диване',\n },\n {\n id: 2,\n image: require('~/static/images/domofon-new/functionalities/2.jpg'),\n image_webp: require('~/static/images/domofon-new/functionalities/2.webp'),\n title: 'Пользуйтесь удалённо',\n icon: require('~/static/images/domofon-new/icons/eye.svg'),\n text: `Открывайте дверь гостям, детям, курьерам, где бы вы ни находились.\n Всегда будьте в курсе, кто пользовался домофоном.`,\n alt: 'Парень с телефоном',\n },\n {\n id: 3,\n image: require('~/static/images/domofon-new/functionalities/3.jpg'),\n image_webp: require('~/static/images/domofon-new/functionalities/3.webp'),\n icon: require('~/static/images/domofon-new/icons/unlock.svg'),\n title: 'Ключи не обязательны',\n text: 'Открывайте дверь подъезда с телефона и без ключей, не касаясь домофона.',\n alt: 'Девушка с телефоном заходит в дом',\n },\n];\n\nexport const domofonFeaturesData: IFeature[] = [\n {\n id: 1,\n image: require('~/static/images/domofon-new/features/1.jpg'),\n image_webp: require('~/static/images/domofon-new/features/1.webp'),\n icon: require('~/static/images/domofon-new/icons/camera.svg'),\n title: 'Смотрите, кто пришёл',\n text: 'Получайте вызов с видеоизображением посетителя с домофона в любой точке мира — везде, где есть интернет.',\n alt: 'Курьер звонит в домофон',\n },\n {\n id: 2,\n image: require('~/static/images/domofon-new/features/2.jpg'),\n image_webp: require('~/static/images/domofon-new/features/2.webp'),\n icon: require('~/static/images/domofon-new/icons/lock.svg'),\n title: 'Открывайте дверь в один клик',\n text: `Открывайте дверь в подъезд нажатием виджета на экране смартфона: \n больше не нужно искать ключи в сумке.`,\n alt: 'Девушка с телефоном',\n },\n {\n id: 3,\n image: require('~/static/images/domofon-new/features/3.jpg'),\n image_webp: require('~/static/images/domofon-new/features/3.webp'),\n icon: require('~/static/images/domofon-new/icons/eye.svg'),\n title: 'Не упустите ни одной детали',\n text: `Камеры снимают в высоком разрешении — днём и ночью. Вы сможете рассмотреть \n лицо гостя или номер машины, припаркованной неподалёку.`,\n alt: 'Жилая площадь',\n },\n {\n id: 4,\n image: require('~/static/images/domofon-new/features/4.jpg'),\n image_webp: require('~/static/images/domofon-new/features/4.webp'),\n icon: require('~/static/images/domofon-new/icons/qr.svg'),\n title: 'Управляйте домофоном всей семьёй',\n text: `Приглашайте членов семьи просто по QR–коду или через СМС. Домофон будет \n звонить всем, и любой человек может ответить.`,\n alt: 'Жилая площадь',\n },\n];\n\nexport const domofonQuestionsData: IQuestion[] = [\n {\n id: 1,\n question: 'Как установить домофон от Дом.ру в своем доме?',\n answers: [\n {\n text: `Чтобы установить видеодомофон для многоквартирного \n дома и заключить договор на обслуживание, необходимо:`,\n },\n {\n title: '1) Провести собрание собственников',\n text: `Собрание собственников многоквартирного дома будет считаться правомочным, если на нём\n будут присутствовать не менее 50% собственников квартир. Решение о подключении видеонаблюдения\n должны принять не менее 2/3 от общего числа владельцев.`,\n },\n {\n title: '2) Результаты собрания оформить протоколом',\n },\n {\n title: '3) Заключить договор',\n text: `ВАЖНО: наши специалисты помогут организовать проведение собрания \n без лишнего физического контакта. Обращайтесь, и мы окажем необходимую организационную и техническую \n помощь в проведении голосования жильцов.`,\n },\n ],\n },\n {\n id: 2,\n question: 'Где скачать приложение «Умный Дом.ру» для Android?',\n answers: [\n {\n text: `Приложение можно скачать по \n ссылке.`,\n },\n ],\n },\n {\n id: 3,\n question: 'Где скачать приложение «Умный Дом.ру» для iOS?',\n answers: [\n {\n text: `Приложение можно скачать по \n ссылке.`,\n },\n ],\n },\n {\n id: 4,\n question: 'Как оплатить услугу «Домофон»?',\n answers: [\n {\n text: `Оплатить услугу можно онлайн на сайте и в пунктах приёма платежей. \n Подробнее по ссылке.`,\n },\n ],\n },\n];\n\n","import styled from 'styled-components';\n\nimport { COLORS } from '@r1-frontend/ui-react/assets/js/constants';\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nexport const Wrapper = styled.div`\n display: block;\n opacity: 0.8;\n`;\n\nexport const AdvantageItem = styled.div`\n align-items: center;\n`;\n\nexport const Icon = styled.img`\n width: 22px;\n height: 38px;\n`;\n\nexport const Title = styled.p`\n ${FONTS.L};\n color: ${COLORS.white};\n margin-left: 16px;\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n ${FONTS.M};\n margin-left: 9x;\n }\n`;\n","import React from 'react';\n\nimport * as ST from './styled';\n\nexport interface IAdvantage {\n id: number | string,\n icon: string,\n title: string,\n alt?: string,\n}\n\ninterface IProps {\n items: IAdvantage[],\n className?: string,\n}\n\nconst Advantages: React.FC = ({ items = [], className = '' }): JSX.Element => {\n return (\n {\n items?.map((item) => {\n return (\n \n {item.title}\n );\n })\n }\n );\n};\n\nexport default Advantages;\n","import styled from 'styled-components';\n\nimport { COLORS } from '@r1-frontend/ui-react/assets/js/constants';\nimport { FlexBoxCol as Col } from '@r1-frontend/ui-react/components/layouts/flexBoxGrid';\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport { ICustomDotsStyles } from '@r1-frontend/ui-react/components/NukaCarousel/DefaultDots/styled';\nimport { BorderRadius } from '@r1-frontend/ui-react/tokens/borderRadius';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nimport { useProgressiveImage } from '~/src/helpers/hooks/useProgressiveImage';\n\nexport const customDotsStyles: ICustomDotsStyles = {\n dot: {\n background: COLORS.GRAY_S,\n opacity: 1,\n },\n activeDot: {\n background: COLORS.GRAY_M,\n },\n};\n\nexport const SCol = styled(Col)`\n padding: 0 12px;\n\n @media (max-width: ${wideBreakpoints.laptop}) {\n margin-bottom: 24px;\n }\n`;\n\nexport const Wrapper = styled.div`\n width: 100%;\n`;\n\nexport const FeatureItem = styled.div<{ isSlide?: boolean }>`\n padding: 8px 8px 24px 8px;\n border-radius: ${BorderRadius.OuterBlockRadius};\n overflow: hidden;\n background-color: ${COLORS.white};\n align-content: flex-start;\n height: ${({ isSlide }) => isSlide ? '372px' : '100%'};\n`;\n\nexport const Image = styled.div<{ bgImage: string, bgWebpImage: string, icon: string }>`\n position: relative;\n width: 100%;\n height: 202px;\n background: url(${({ bgWebpImage, bgImage }) => useProgressiveImage(bgWebpImage, { hasTimeout: true, timeoutDelay: 1 }, bgImage)}) no-repeat;\n background-size: cover;\n background-position: bottom left;\n border-radius: ${BorderRadius.InnerBlockRadius} ${BorderRadius.InnerBlockRadius} 0px 0px;\n\n &:after {\n position: absolute;\n bottom: 16px;\n left: 12px;\n display: inline-block;\n content: \"\";\n background-image: url('${p => p.icon}');\n background-repeat: no-repeat;\n width: 56px;\n height: 56px;\n }\n`;\n\nexport const Desc = styled.div`\n display: block;\n padding: 0 16px;\n`;\n\nexport const Title = styled.p`\n ${FONTS.H4};\n color: ${COLORS.GRAY_DARK};\n margin-top: 16px;\n`;\n\nexport const Text = styled.p`\n ${FONTS.XS};\n color: ${COLORS.GRAY_DARK};\n margin-top: 6px;\n`;\n","import React from 'react';\n\nimport { FlexBoxRow as Row } from '@r1-frontend/ui-react/components/layouts/flexBoxGrid';\n\nimport AdaptiveNukaCarousel from '~/src/components/AdaptiveNukaCarousel';\n\nimport * as ST from './styled';\n\nexport interface IFeature {\n id: number | string,\n image: string,\n image_webp: string,\n icon: string,\n title: string,\n text: string,\n alt: string,\n}\n\ninterface IProps {\n items: IFeature[],\n className?: string,\n showCarousel: boolean,\n}\n\nconst Features: React.FC = ({ items = [], className = '', showCarousel }): JSX.Element => {\n\n return (\n \n {\n !showCarousel\n ? \n {\n items?.map((item) => {\n return (\n \n \n \n \n \n \n \n \n \n );\n })\n }\n \n : \n {\n items?.map((item) => {\n return (\n \n \n \n \n \n \n \n\n );\n })\n }\n \n }\n \n );\n};\n\nexport default Features;\n","import styled from 'styled-components';\n\nexport const breakePoints = {\n desktop: '1599px',\n sDesktop: '1365px',\n laptop: '1279px',\n tablet: '1023px',\n mobile: '767px',\n sMobile: '374px',\n};\n\nexport const Domofon = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n align-items: flex-start;\n width: 100%;\n margin-bottom: -56px;\n\n @media(max-width: ${breakePoints.mobile}) {\n margin-top: -40px;\n }\n`;\n","import styled from 'styled-components';\n\nimport { COLORS } from '@r1-frontend/ui-react/assets/js/constants';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nimport { breakePoints } from '~/src/features/domofon/styled';\n\nexport const Wrapper = styled.div`\n display: block;\n`;\n\nexport const Title = styled.p`\n ${FONTS.H0};\n color: ${COLORS.white};\n margin: 8px 0;\n white-space: break-spaces;\n\n @media (max-width: ${breakePoints.desktop}) {\n ${FONTS.H1};\n }\n\n @media (max-width: ${breakePoints.tablet}) {\n ${FONTS.H2};\n }\n\n`;\n\nexport const PreTitleText = styled.h1`\n ${FONTS.H5};\n color: ${COLORS.white};\n`;\n","import React from 'react';\n\nimport * as ST from './styled';\n\ninterface IProps {\n title: string,\n text?: string,\n}\n\nconst Headline: React.FC = ({ title = 'Heading', text }): JSX.Element => {\n return (\n { text && {text} }\n {title}\n );\n};\n\nexport default Headline;\n","import styled from 'styled-components';\n\nimport { COLORS } from '@r1-frontend/ui-react/assets/js/constants';\nimport { ICustomDotsStyles } from '@r1-frontend/ui-react/components/NukaCarousel/DefaultDots/styled';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nexport const customDotsStyles: ICustomDotsStyles = {\n dot: {\n background: COLORS.GRAY_S,\n opacity: 1,\n },\n activeDot: {\n background: COLORS.GRAY_M,\n },\n};\n\nexport const Wrapper = styled.div`\n width: 100%;\n`;\n\nexport const LesionItem = styled.div`\n padding: 4px;\n background-color: ${COLORS.white};\n border-radius: 16px;\n overflow: hidden;\n`;\n\nexport const ImageWrap = styled.div<{ icon: string }>`\n position: relative;\n\n &:after {\n display: inline-block;\n position: absolute;\n top: 24px;\n left: 26px;\n content: \"\";\n background-image: url('${p => p.icon}');\n background-repeat: no-repeat;\n width: 56px;\n height: 56px;\n }\n`;\n\nexport const Picture = styled.picture`\n width: 100%;\n`;\n\nexport const Image = styled.img`\n width: 100%;\n object-fit: contain;\n height: auto;\n`;\n\nexport const Title = styled.div`\n min-height: 64px;\n ${FONTS.H3};\n color: ${COLORS.GRAY_DARK};\n white-space: break-spaces;\n margin: 14px 0 18px 18px;\n`;\n","import React from 'react';\n\nimport AdaptiveNukaCarousel from '~/src/components/AdaptiveNukaCarousel';\n\nimport * as ST from './styled';\n\nexport interface ILesion {\n id: number | string,\n image: string,\n image_webp: string,\n title: string,\n alt: string,\n}\n\ninterface IProps {\n items: ILesion[],\n isDesktop: boolean,\n isLaptop: boolean,\n className?: string,\n}\n\nconst Lesions: React.FC = ({ items = [], className = '', isDesktop, isLaptop }): JSX.Element => {\n return (\n \n {\n items.map((item) => {\n return (\n \n \n \n \n \n {item.title}\n \n );\n })\n }\n \n );\n};\n\nexport default Lesions;\n","import styled from 'styled-components';\n\nimport { COLORS } from '@r1-frontend/ui-react/assets/js/constants';\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nimport { RequestFormPhone } from '~/src/components/RequestFormPhone';\n\nconst breakPoints = {\n mobile: '767px',\n};\n\nexport const Wrapper = styled.section<{ backgroundImg: string }>`\n display: block;\n width: 100%;\n background-color: #0A0D11;\n background-image: url(${({ backgroundImg }) => backgroundImg});\n background-repeat: no-repeat;\n background-size: contain;\n background-position: top center;\n border-radius: 0 0 32px 32px;\n padding-bottom: 32px;\n overflow: hidden;\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n background-size: 200%;\n background-position: top right;\n }\n`;\n\nexport const FeaturesWrapper = styled.div`\n @media (min-width: ${wideBreakpoints.mobile}) {\n margin: 32px 0;\n }\n`;\n\nexport const TabsTitle = styled.h2`\n ${FONTS.H2};\n color: ${COLORS.white};\n margin: 32px 0 16px 0;\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n ${FONTS.H3};\n }\n`;\n\nexport const CardsTitle = styled.h2`\n ${FONTS.H2};\n color: ${COLORS.white};\n margin-top: 32px;\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n margin-top: 64px;\n }\n`;\n\nexport const Desc = styled.div`\n display: block;\n width: 100%;\n margin-top: 140px;\n\n @media (max-width: ${wideBreakpoints.sDesktop}) {\n margin-top: 110px;\n }\n\n @media (max-width: ${wideBreakpoints.laptop}) {\n margin-top: 80px;\n }\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n margin-top: 350px;\n }\n`;\n\nexport const Form = styled.div`\n display: block;\n width: 100%;\n margin-top: 36px;\n`;\n\nexport const Cards = styled.div`\n display: block;\n width: 100%;\n margin-top: 32px;\n`;\n\nexport const SRequestFormPhone = styled(RequestFormPhone)`\n label {\n color: ${COLORS.GRAY_LIGHT};\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n ${FONTS.XXS};\n }\n\n a {\n color: ${COLORS.GRAY_LIGHT};\n border-bottom: 1px solid ${COLORS.GRAY_LIGHT};\n }\n }\n\n > div > div {\n > button {\n @media (max-width: ${breakPoints.mobile}) {\n width: 100%;\n }\n }\n }\n`;\n","import React, { useMemo } from 'react';\n\nimport { FlexBoxCol as Col, FlexBoxRow as Row } from '@r1-frontend/ui-react/components/layouts/flexBoxGrid';\nimport WideContainer from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\nimport { useMatchMedia } from '@r1-frontend/shared/hooks/useMatchMedia';\nimport { useWebp } from '@r1-frontend/shared/hooks/useWebp';\n\nimport FilterMenu from '~/src/components/FilterMenu';\nimport { TSubmitFunc } from '~/src/components/RequestFormPhone';\nimport Advantages, { IAdvantage } from '~/src/features/domofon/components/Advantages';\nimport Features, { IFeature } from '~/src/features/domofon/components/Features';\nimport Headline from '~/src/features/domofon/components/Headline';\nimport Lesions, { ILesion } from '~/src/features/domofon/components/Lesions';\n\nimport * as ST from './styled';\n\ninterface IProps {\n advantagesItems: IAdvantage[],\n lesionsItems: ILesion[],\n featuresItems: IFeature[],\n hasDomofon: boolean,\n toggleDomofon: (flag: boolean) => void,\n submitRequest: TSubmitFunc,\n onStartFormFilling?: () => void,\n}\n\nexport enum EMediaWidth {\n sDesktop = '(max-width: 1567px)',\n laptop = '(max-width: 1279px)',\n mobile = '(max-width: 767px)',\n}\n\nconst BannerBlock: React.FC = ({\n advantagesItems,\n lesionsItems,\n featuresItems,\n hasDomofon,\n toggleDomofon,\n submitRequest,\n onStartFormFilling,\n}): JSX.Element => {\n const isMobile = useMatchMedia(EMediaWidth.mobile);\n const isDesktop = useMatchMedia(EMediaWidth.sDesktop);\n const isLaptop = useMatchMedia(EMediaWidth.laptop);\n const backgroundImg = useWebp()\n ? require('~/static/images/domofon-new/header_cover.webp')\n : require('~/static/images/domofon-new/header_cover.jpg');\n\n const menuItems = useMemo(() => ([\n {\n text: 'Есть домофон',\n action: () => {\n toggleDomofon(true);\n },\n },\n {\n text: 'Нет домофона',\n action: () => {\n toggleDomofon(false);\n },\n },\n ]), [toggleDomofon]);\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n В вашем доме установлен наш домофон?\n \n \n {hasDomofon\n ? 'Возможности умного домофона:'\n : 'В домах без умных домофонов'}\n \n {\n !hasDomofon\n ? \n : \n \n \n }\n \n \n \n );\n};\n\nexport default BannerBlock;\n","import styled from 'styled-components';\n\nimport { COLORS } from '@r1-frontend/ui-react/assets/js/constants';\nimport { FlexBoxCol as Col } from '@r1-frontend/ui-react/components/layouts/flexBoxGrid';\nimport { ICustomDotsStyles } from '@r1-frontend/ui-react/components/NukaCarousel/DefaultDots/styled';\nimport { BorderRadius } from '@r1-frontend/ui-react/tokens/borderRadius';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nimport { useProgressiveImage } from '~/src/helpers/hooks/useProgressiveImage';\n\nexport const customDotsStyles: ICustomDotsStyles = {\n dot: {\n background: COLORS.GRAY_S,\n opacity: 1,\n },\n activeDot: {\n background: COLORS.GRAY_M,\n },\n};\n\nexport const SCol = styled(Col)`\n padding: 12px;\n`;\n\nexport const Wrapper = styled.div`\n width: 100%;\n`;\n\nexport const BenefitsContainer = styled.div`\n width: 100%;\n`;\n\nexport const BenefitItem = styled.div<{ isLandscape?: boolean, isSlide?: boolean }>`\n padding: ${({ isLandscape }) => isLandscape ? '8px' : '8px 8px 24px 8px'};\n border-radius: ${BorderRadius.OuterBlockRadius};\n background-color: ${COLORS.white};\n height: ${({ isSlide }) => isSlide ? '372px' : '100%'};\n align-content: baseline;\n overflow: hidden;\n\n ${({ isLandscape }) => isLandscape && `\n align-items: center;\n flex-direction: row-reverse;\n height: 263px;\n padding-left: 0;\n\n > ${Image} {\n width: 50%;\n height: 100%;\n border-radius: 0px ${BorderRadius.InnerBlockRadius} ${BorderRadius.InnerBlockRadius} 0px;\n align-self: baseline;\n }\n\n > ${Desc} {\n width: 50%;\n }\n\n > ${Title} {\n margin-top: 0;\n }\n `}\n`;\n\nexport const Desc = styled.div`\n display: block;\n padding: 0 32px;\n`;\n\nexport const Image = styled.div<{ bgImage: string, bgWebpImage: string }>`\n width: 100%;\n height: 170px;\n background: url(${({ bgWebpImage, bgImage }) => useProgressiveImage(bgWebpImage, { hasTimeout: true, timeoutDelay: 1 }, bgImage)}) no-repeat;\n background-size: cover;\n background-position: top center;\n border-radius: ${BorderRadius.InnerBlockRadius} ${BorderRadius.InnerBlockRadius} 0px 0px;\n`;\n\nexport const Title = styled.p`\n ${FONTS.H4};\n color: ${COLORS.GRAY_DARK};\n margin-top: 24px;\n`;\n\nexport const Text = styled.p`\n ${FONTS.XS};\n color: ${COLORS.GRAY_DARK};\n margin-top: 6px;\n`;\n","import React, { useMemo } from 'react';\n\nimport { FlexBoxRow as Row } from '@r1-frontend/ui-react/components/layouts/flexBoxGrid';\n\nimport AdaptiveNukaCarousel from '~/src/components/AdaptiveNukaCarousel';\n\nimport * as ST from './styled';\n\n\nexport interface IBenefit {\n id: number | string,\n isLandscape: boolean,\n image: string,\n image_webp: string,\n title: string,\n text: string,\n alt: string,\n}\n\ninterface IProps {\n items: IBenefit[],\n className?: string,\n showCarousel?: boolean,\n}\n\nconst Benefits: React.FC = ({ items = [], className = '', showCarousel }): JSX.Element => {\n const noLandscapeItems = useMemo(() => {\n return items.map((item: IBenefit) => {\n const newItem = { ...item };\n if (newItem.isLandscape) {\n newItem.image = newItem.image.replace(/([0-9]+)-[a-zA-Z]+\\.([a-zA-Z]+)/, '$1.$2');\n newItem.image_webp = newItem.image_webp.replace(/([0-9]+)-[a-zA-Z]+\\.([a-zA-Z]+)/, '$1.$2');\n }\n return newItem;\n });\n }, [items]);\n\n return (\n \n \n {\n !showCarousel\n ? \n {\n items?.map((item) => {\n return (\n \n \n \n \n {item.title}\n {item.text}\n \n \n \n );\n })\n }\n \n : \n {\n noLandscapeItems?.map((item) => {\n return (\n \n \n \n {item.title}\n {item.text}\n \n \n );\n })\n }\n \n }\n \n \n );\n};\n\nexport default Benefits;\n","import styled from 'styled-components';\n\nimport { COLORS } from '@r1-frontend/ui-react/assets/js/constants';\nimport { BaseButton } from '@r1-frontend/ui-react/components/buttons/baseButton';\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nexport const Wrapper = styled.section<{ backgroundImg: string }>`\n display: block;\n width: 100%;\n background-color: ${COLORS.GRAY_DARK};\n background: url(${({ backgroundImg }) => backgroundImg}) no-repeat;\n background-size: cover;\n padding: 64px 0 50px 0;\n\n @media (max-width: ${wideBreakpoints.sDesktop}) {\n padding: 32px 0 48px 0;\n }\n\n @media (max-width: ${wideBreakpoints.laptop}) {\n padding: 32px 0 42px 0;\n }\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n padding: 32px 0 56px 0;\n }\n`;\n\nexport const HeadTitle = styled.h2`\n ${FONTS.H2};\n color: ${COLORS.white};\n margin-bottom: 20px;\n\n @media (max-width: ${wideBreakpoints.laptop}) {\n margin-bottom: 8px;\n ${FONTS.H3};\n }\n`;\n\nexport const SBaseButton = styled(BaseButton)`\n margin: 32px auto 0 auto;\n width: 186px;\n`;\n","import React from 'react';\n\nimport { btnTypes } from '@r1-frontend/ui-react/components/buttons/baseButton';\nimport WideContainer from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport { useMatchMedia } from '@r1-frontend/shared/hooks/useMatchMedia';\n\nimport Benefits, { IBenefit } from '~/src/features/domofon/components/Benefits';\nimport { useProgressiveImage } from '~/src/helpers/hooks/useProgressiveImage';\n\nimport * as ST from './styled';\n\nconst coverImg = '/static/images/domofon-new/benefits_cover.jpg';\nconst coverImgWebp = '/static/images/domofon-new/benefits_cover.webp';\n\ninterface IProps {\n benefitsItems: IBenefit[],\n connectBtnHandler: () => void,\n}\n\nexport enum EMediaWidth {\n laptop = '(max-width: 1279px)',\n minTablet = '(min-width: 1025px)',\n}\n\nconst BannerBlock: React.FC = ({ benefitsItems, connectBtnHandler }): JSX.Element => {\n const isMinTablet = useMatchMedia(EMediaWidth.minTablet);\n const isLaptop = useMatchMedia(EMediaWidth.laptop);\n const backgroundImg = useProgressiveImage(coverImgWebp, { hasTimeout: true, timeoutDelay: 1 }, coverImg);\n\n return (\n \n \n Вместе с домофоном вы получите:\n \n {isMinTablet &&\n }\n \n \n );\n};\n\nexport default BannerBlock;\n","export interface IImgParams {\n bottom?: string,\n left?: string,\n top?: string,\n right?: string,\n width?: string,\n height?: string,\n display?: string,\n filter?: string,\n 'max-width'?: string,\n}\n\ninterface IAnimatedImage {\n id: string,\n src: string,\n image: string,\n image_webp: string,\n left?: string,\n right?: string,\n params?: IImgParams,\n desktopParams?: IImgParams,\n laptopParams?: IImgParams,\n tabletParams?: IImgParams,\n mobileParams?: IImgParams,\n}\n\nexport const imagesWithoutDomofon: IAnimatedImage[] = [\n {\n id: '1',\n image_webp: require('~/static/images/domofon/connect-domofon/animated-img/center.webp'),\n image: require('~/static/images/domofon/connect-domofon/animated-img/center.png'),\n src: 'center',\n params: {\n bottom: '15%',\n left: '50%',\n },\n laptopParams: {\n filter: 'blur(3px)',\n bottom: '10%',\n },\n mobileParams: {\n display: 'none',\n },\n },\n {\n id: '2',\n image_webp: require('~/static/images/domofon/connect-domofon/animated-img/left-top.webp'),\n image: require('~/static/images/domofon/connect-domofon/animated-img/left-top.png'),\n src: 'left-top',\n left: '-15%',\n params: {\n top: '2%',\n left: '5%',\n width: '110px',\n height: '110px',\n },\n mobileParams: {\n width: '100px',\n height: '100px',\n left: '-25px',\n },\n },\n {\n id: '3',\n image_webp: require('~/static/images/domofon/connect-domofon/animated-img/left-bottom.webp'),\n image: require('~/static/images/domofon/connect-domofon/animated-img/left-bottom.png'),\n src: 'left-bottom',\n left: '-15%',\n params: {\n bottom: '2%',\n left: '0',\n width: '12%',\n 'max-width': '140px',\n height: 'auto',\n },\n tabletParams: {\n display: 'none',\n },\n mobileParams: {\n display: 'initial',\n width: '24%',\n bottom: 'auto',\n top: '26%',\n 'max-width': '110px',\n },\n },\n {\n id: '4',\n image_webp: require('~/static/images/domofon/connect-domofon/animated-img/right-top.webp'),\n image: require('~/static/images/domofon/connect-domofon/animated-img/right-top.png'),\n src: 'right-top',\n right: '-15%',\n params: {\n top: '2%',\n right: '10%',\n width: '105px',\n height: '105px',\n },\n tabletParams: {\n right: '3%',\n },\n mobileParams: {\n display: 'none',\n },\n },\n {\n id: '5',\n image_webp: require('~/static/images/domofon/connect-domofon/animated-img/right-bottom.webp'),\n image: require('~/static/images/domofon/connect-domofon/animated-img/right-bottom.png'),\n src: 'right-bottom',\n right: '-15%',\n params: {\n bottom: '15%',\n right: '0',\n width: '11%',\n 'max-width': '220px',\n height: 'auto',\n },\n tabletParams: {\n display: 'none',\n },\n },\n];\n\nexport const imagesWithDomofon: IAnimatedImage[] = [\n {\n id: '1',\n image_webp: require('~/static/images/domofon/connect-domofon/animated-img/center.webp'),\n image: require('~/static/images/domofon/connect-domofon/animated-img/center.png'),\n src: 'center',\n params: {\n bottom: '15%',\n left: '50%',\n },\n laptopParams: {\n filter: 'blur(3px)',\n bottom: '10%',\n },\n mobileParams: {\n width: '90px',\n height: '90px',\n display: 'initial',\n bottom: '6%',\n left: '3%',\n },\n },\n {\n id: '2',\n image_webp: require('~/static/images/domofon/connect-domofon/animated-img/left-top.webp'),\n image: require('~/static/images/domofon/connect-domofon/animated-img/left-top.png'),\n src: 'left-top',\n left: '-15%',\n params: {\n top: '3%',\n left: '-10px',\n width: '110px',\n height: '110px',\n },\n desktopParams: {\n left: '-68px',\n },\n laptopParams: {\n display: 'none',\n },\n mobileParams: {\n width: '75px',\n height: '75px',\n left: '-25px',\n },\n },\n {\n id: '3',\n image_webp: require('~/static/images/domofon/connect-domofon/animated-img/left-bottom.webp'),\n image: require('~/static/images/domofon/connect-domofon/animated-img/left-bottom.png'),\n src: 'left-bottom',\n left: '-15%',\n params: {\n bottom: '2%',\n left: '0',\n width: '12%',\n 'max-width': '140px',\n height: 'auto',\n },\n tabletParams: {\n display: 'none',\n },\n },\n {\n id: '4',\n image_webp: require('~/static/images/domofon/connect-domofon/animated-img/right-top.webp'),\n image: require('~/static/images/domofon/connect-domofon/animated-img/right-top.png'),\n src: 'right-top',\n right: '-15%',\n params: {\n top: '2%',\n right: '10%',\n width: '105px',\n height: '105px',\n },\n tabletParams: {\n right: '3%',\n },\n mobileParams: {\n display: 'none',\n },\n },\n {\n id: '5',\n image_webp: require('~/static/images/domofon/connect-domofon/animated-img/right-bottom.webp'),\n image: require('~/static/images/domofon/connect-domofon/animated-img/right-bottom.png'),\n src: 'right-bottom',\n right: '-15%',\n params: {\n bottom: '15%',\n right: '0',\n width: '11%',\n 'max-width': '220px',\n height: 'auto',\n },\n tabletParams: {\n display: 'none',\n },\n mobileParams: {\n display: 'inherit',\n width: '70px',\n height: '80px',\n bottom: 'auto',\n right: '0',\n top: '60%',\n },\n },\n];\n","import styled, { css } from 'styled-components';\n\nimport { COLORS } from '@r1-frontend/ui-react/assets/js/constants';\n// @ts-ignore\nimport MobileStoreButton from '@r1-frontend/ui-react/components/buttons/mobileStoreButton/index';\nimport wideContainer, { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nimport { RequestFormPhone } from '~/src/components/RequestFormPhone';\n\nimport { IImgParams } from './data';\n\nexport const ConnectDomofon = styled.div<{ hasDomofon: boolean, backgroundImg: string }>`\n position: relative;\n display: flex;\n flex-wrap: nowrap;\n width: 100%;\n background-image: url('${p => p.backgroundImg}');\n background-repeat: no-repeat;\n background-position: right bottom -5px;\n background-size: 100% auto;\n\n @media (max-width: ${wideBreakpoints.sDesktop}) {\n background-size: auto 100%;\n }\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n background-position: center bottom -5px;\n overflow: hidden;\n }\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n flex-direction: column;\n height: auto;\n padding-top: ${p => p.hasDomofon ? '60px' : '0'};\n padding-bottom: 30px;\n overflow: initial;\n }\n`;\n\nexport const SWideContainer = styled(wideContainer)`\n flex-wrap: nowrap;\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n flex-direction: column;\n }\n`;\n\nexport const SRequestFormPhone = styled(RequestFormPhone)`\n label {\n color: ${COLORS.GRAY_DARK};\n\n a {\n color: ${COLORS.GRAY_DARK};\n border-bottom: 1px solid ${COLORS.GRAY_DARK};\n }\n }\n\n > div > div {\n > button {\n @media (max-width: ${wideBreakpoints.mobile}) {\n width: 100%;\n }\n }\n }\n`;\n\nexport const Description = styled.div`\n position: relative;\n z-index: 1;\n flex: 1;\n flex-direction: column;\n justify-content: center;\n padding: 50px 0;\n\n @media (max-width: ${wideBreakpoints.laptop}) {\n padding: 50px 0;\n }\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n justify-content: flex-start;\n }\n`;\n\nexport const Title = styled.div`\n margin-bottom: 6px;\n max-width: 660px;\n ${FONTS.H1};\n\n @media (max-width: ${wideBreakpoints.sDesktop}) {\n ${FONTS.H2};\n }\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n ${FONTS.H3};\n }\n`;\n\nexport const Text = styled.div<{hasDomofon?: boolean}>`\n margin-bottom: 32px;\n max-width: 660px;\n ${FONTS.XL};\n\n @media (max-width: ${wideBreakpoints.sDesktop}) {\n ${FONTS.L};\n }\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n margin-bottom: 24px;\n ${p => p.hasDomofon ? css`${FONTS.M};` : ''};\n }\n`;\n\nexport const ImgWrap = styled.div<{ hasDomofon: boolean }>`\n position: relative;\n align-items: flex-end;\n max-width: 623px;\n padding-left: 5%;\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n margin-right: -20%;\n }\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n flex: 0 0 440px;\n margin-right: 0;\n padding-left: 0;\n order: ${p => p.hasDomofon ? '1' : '-1'};\n max-width: none;\n }\n`;\n\nexport const Img = styled.img`\n width: 100%;\n height: auto;\n object-fit: contain;\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n position: absolute;\n max-height: 645px;\n width: auto;\n top: 0;\n right: 0;\n }\n`;\n\nexport const VideoWrap = styled.div<{ hasDomofon: boolean }>`\n position: absolute;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n\n top: 206px;\n left: 135px;\n width: 177px;\n height: 155px;\n \n ${p => p.hasDomofon\n ? css`\n @media (max-width: ${wideBreakpoints.sDesktop}) {\n top: 268px;\n left: 109px;\n width: 144px;\n height: 126px;\n }\n \n @media (max-width: ${wideBreakpoints.laptop}) {\n top: 383px;\n left: 107px;\n width: 176px;\n height: 154px;\n }\n \n @media (max-width: ${wideBreakpoints.tablet}) {\n top: 423px;\n left: 92px;\n width: 162px;\n height: 141px;\n }\n \n @media (max-width: ${wideBreakpoints.mobile}) {\n top: 143px;\n left: auto;\n right: 75px;\n width: 140px;\n height: 123px;\n }\n `\n : css`\n top: 184px;\n left: 135px;\n width: 177px;\n height: 155px;\n\n @media (max-width: ${wideBreakpoints.sDesktop}) {\n top: 189px;\n left: 122px;\n width: 183px;\n height: 158px;\n }\n \n @media (max-width: ${wideBreakpoints.laptop}) {\n top: 155px;\n left: 98px;\n width: 149px;\n height: 131px;\n }\n \n @media (max-width: ${wideBreakpoints.tablet}) {\n top: 140px;\n left: 82px;\n width: 136px;\n height: 119px;\n }\n \n @media (max-width: ${wideBreakpoints.mobile}) {\n top: 143px;\n left: auto;\n right: 75px;\n width: 140px;\n height: 123px;\n }\n `\n }\n`;\n\nexport const SVideo = styled.video<{ hasDomofon: boolean }>`\n width: 280px;\n\n ${p => p.hasDomofon\n ? css`\n @media (max-width: ${wideBreakpoints.sDesktop}) {\n width: 224px;\n }\n \n @media (max-width: ${wideBreakpoints.laptop}) {\n width: 275px;\n }\n \n @media (max-width: ${wideBreakpoints.tablet}) {\n width: 255px;\n }\n \n @media (max-width: ${wideBreakpoints.mobile}) {\n width: 220px;\n }\n `\n : css`\n @media (max-width: ${wideBreakpoints.laptop}) {\n width: 240px;\n }\n \n @media (max-width: ${wideBreakpoints.tablet}) {\n width: 215px;\n }\n \n @media (max-width: ${wideBreakpoints.mobile}) {\n width: 220px;\n }\n `\n }\n`;\n\n/* Стилизация для авторизованного */\nexport const TitleMin = styled.div`\n margin-bottom: 6px;\n max-width: 660px;\n ${FONTS.H2};\n\n @media (max-width: ${wideBreakpoints.sDesktop}) {\n ${FONTS.H3};\n }\n`;\n\nexport const SubTitle = styled.div`\n margin-bottom: 28px;\n max-width: 520px;\n ${FONTS.H2};\n\n & > i {\n ${FONTS.H1};\n color: ${COLORS.RED_FIRM};\n }\n\n @media (max-width: ${wideBreakpoints.laptop}) {\n margin-bottom: 0;\n ${FONTS.H3};\n\n & > i {\n ${FONTS.H2};\n }\n }\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n max-width: 285px;\n ${FONTS.H4};\n\n & > i {\n ${FONTS.H2};\n }\n }\n`;\n\nexport const Steps = styled.div`\n flex-wrap: nowrap;\n margin-bottom: 32px;\n\n @media (max-width: ${wideBreakpoints.laptop}) {\n flex-direction: column;\n }\n`;\n\nexport const StepWrap = styled.div`\n flex-direction: column;\n flex-wrap: nowrap;\n margin-right: 32px;\n padding: 16px 16px 24px 16px;\n width: 352px;\n height: 259px;\n background-color: ${COLORS.white};\n border: 1px solid ${COLORS.GRAY_XS};\n border-radius: 16px;\n\n &:last-child {\n margin-right: 0;\n margin-bottom: 0;\n }\n\n @media (max-width: ${wideBreakpoints.sDesktop}) {\n margin-right: 24px;\n padding: 16px 16px 20px 16px;\n width: 343px;\n height: 279px;\n }\n\n @media (max-width: ${wideBreakpoints.laptop}) {\n margin-right: 0;\n margin-bottom: 24px;\n }\n\n @media (max-width: 375px) {\n width: 100%;\n }\n`;\n\nexport const FirstStepWrap = styled(StepWrap)`\n @media (max-width: ${wideBreakpoints.laptop}) {\n width: 343px;\n height: 211px;\n }\n\n @media (max-width: 375px) {\n width: 100%;\n }\n`;\n\nexport const StepInner = styled.div`\n flex-wrap: nowrap;\n`;\n\nexport const StepDescription = styled.div``;\n\nexport const StepTitle = styled.div`\n ${FONTS.H3};\n color: ${COLORS.RED_FIRM};\n`;\n\nexport const StepText = styled.div`\n ${FONTS.H4};\n white-space: break-spaces;\n`;\n\nexport const StepImgWrap = styled.div`\n margin-top: auto;\n width: 100%;\n justify-content: center;\n`;\n\nexport const QRCodeWrap = styled.div`\n flex: 0 0 117px;\n width: 117px;\n height: 117px;\n\n & > img {\n width: inherit;\n height: inherit;\n }\n\n @media(max-width: ${wideBreakpoints.sDesktop}) {\n flex: 0 0 auto;\n width: 109px;\n height: 109px;\n }\n\n @media(max-width: ${wideBreakpoints.laptop}) {\n width: 88px;\n height: 88px;\n }\n`;\n\nexport const StepBtns = styled.div`\n width: 100%;\n margin-top: auto;\n flex-wrap: nowrap;\n gap: 10px;\n`;\n\nexport const SMobileStoreButton = styled(MobileStoreButton)`\n flex: 1;\n background-color: ${COLORS.GRAY_XS};\n border-radius: 12px;\n\n img {\n opacity: 1;\n }\n\n &:hover {\n opacity: 0.5;\n transition: 0.25s;\n }\n`;\n\n/* Анимированные картинки */\nconst getImgParams = (imgParams: IImgParams) => {\n let result = '';\n\n for (const key in imgParams) {\n result += `${key}:${imgParams[key as keyof IImgParams]};`;\n }\n\n return css`${result}`;\n};\n\nexport const AnimImageWrap = styled.div`\n position: absolute;\n width: 100%;\n height: 100%;\n overflow: hidden;\n`;\n\nexport const AnimImage = styled.img<{\n params?: IImgParams,\n desktopParams?: IImgParams,\n laptopParams?: IImgParams,\n tabletParams?: IImgParams,\n mobileParams?: IImgParams,\n startPosition?: string,\n}>`\n position: absolute;\n width: 75px;\n height: 75px;\n\n ${p => p.params ? getImgParams(p.params) : ''};\n\n @media (max-width: 1700px) {\n ${p => p.desktopParams ? getImgParams(p.desktopParams) : ''};\n }\n\n @media (max-width: ${wideBreakpoints.laptop}) {\n ${p => p.laptopParams ? getImgParams(p.laptopParams) : ''};\n }\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n ${p => p.tabletParams ? getImgParams(p.tabletParams) : ''};\n }\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n ${p => p.mobileParams ? getImgParams(p.mobileParams) : ''};\n }\n\n ${p => p.startPosition};\n transition: all 1s ease-out;\n`;\n","import React, { useCallback, useMemo, useState } from 'react';\n\nimport { dataLayerPush } from '@r1-frontend/analytics/dataLayerPush';\n\nimport { CATEGORIES, EVENTS } from '@r1-frontend/shared/constants/analytics';\nimport { useMatchMedia } from '@r1-frontend/shared/hooks/useMatchMedia';\nimport { useWebp } from '@r1-frontend/shared/hooks/useWebp';\n\nimport { TSubmitFunc } from '~/src/components/RequestFormPhone';\nimport { CDN_API_ENDPOINT } from '~/src/constants';\nimport { NON_BREAKING_SPACE } from '~/src/constants/simbols';\nimport { useIntersectionObserver } from '~/src/helpers/hooks/useIntersectionObserver';\n\nimport { imagesWithDomofon, imagesWithoutDomofon } from './data';\n\nimport * as ST from './styled';\n\nconst IMG_PATH = `${CDN_API_ENDPOINT}/static/images/domofon/connect-domofon`;\n\nenum EMediaWidth {\n mobile = '(max-width: 767px)',\n}\n\nexport interface IConnectDomofon {\n hasDomofon: boolean,\n submitRequest: TSubmitFunc,\n onStartFormFilling?: () => void,\n}\n\nexport const ConnectDomofon = ({ hasDomofon, submitRequest, onStartFormFilling }: IConnectDomofon): JSX.Element => {\n const isMobile = useMatchMedia(EMediaWidth.mobile);\n const [isVisible, setIsVisible] = useState(false);\n\n const backgroundImg = useWebp()\n ? require('~/static/images/domofon/connect-domofon/connect-bg.webp')\n : require('~/static/images/domofon/connect-domofon/connect-bg.png');\n\n const observeHandler = useCallback((entries) => {\n const [firstElem] = entries || [];\n setIsVisible((isVisible) => isVisible || firstElem?.isIntersecting);\n }, []);\n\n const blockRef = useIntersectionObserver(observeHandler, { root: null, threshold: 0.4 });\n\n const animatedImages = useMemo(() => {\n return hasDomofon ? imagesWithDomofon : imagesWithoutDomofon;\n }, [hasDomofon]);\n\n const appsBtnClickHandler = useCallback((app: string) => {\n dataLayerPush({\n event: EVENTS.UAevent,\n category: CATEGORIES.applicationButton,\n label: app,\n action: '',\n });\n }, []);\n\n return (\n \n \n {hasDomofon\n ? \n \n Откройте все возможности вашего нового домофона\n \n\n \n Всего за два простых шага\n \n\n \n \n \n \n Шаг 1.\n {'Установите\\nприложение\\n«Умный Дом.ру»'}\n \n \n \n \n \n \n appsBtnClickHandler('click btn android')}\n store='GooglePlay'\n data-test='google-play'\n width='109px'\n height='30px'\n btnType={'OUTLINE'}\n link={'https://play.google.com/store/apps/details?id=com.ertelecom.smarthome'}\n />\n appsBtnClickHandler('click btn apple')}\n store='AppStore'\n data-test='app-store'\n width='103px'\n height='30px'\n btnType={'OUTLINE'}\n link={'https://apps.apple.com/ru/app/%D1%83%D0%BC%D0%BD%D1%8B%D0%B9-%D0%B4%D0%BE%D0%BC-%D1%80%D1%83/id1373157818'}\n />\n \n \n \n \n Шаг 2.\n {`Зарегистрируйтесь и${NON_BREAKING_SPACE}подключите услугу «Домофон»`}\n \n \n \n \n \n \n\n \n Всё готово!Самое время попробовать новые функции в деле\n \n \n /* Нет домофона */\n : \n \n {`Подключите умный домофон и${NON_BREAKING_SPACE}держите всё под контролем`}\n \n \n {`Придомовая территория 24/7 находится под наблюдением видеокамер.\n Вы всегда сможете посмотреть, что происходит у${NON_BREAKING_SPACE}подъезда прямо с${NON_BREAKING_SPACE}телефона.`}\n \n \n \n }\n {!isMobile &&\n \n \n \n \n \n \n \n \n \n }\n \n\n {isMobile &&\n \n \n \n \n \n \n \n \n \n }\n\n {/* Анимированные картинки */}\n \n {animatedImages.map((item) => {\n const left = item.left ? `left: ${item.left} !important;` : '';\n const right = item.right ? `right: ${item.right} !important;` : '';\n return (\n \n \n \n \n );\n })}\n \n \n );\n};\n","import styled from 'styled-components';\n\nimport { COLORS } from '@r1-frontend/ui-react/assets/js/constants';\nimport { BaseButton } from '@r1-frontend/ui-react/components/buttons/baseButton';\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nexport const Wrapper = styled.section`\n display: block;\n width: 100%;\n background-color: ${COLORS.GRAY_DARK};\n padding: 64px 0 32px 0;\n\n @media (max-width: ${wideBreakpoints.sDesktop}) {\n padding: 60px 0 28px 0;\n }\n\n @media (max-width: ${wideBreakpoints.laptop}) {\n padding: 56px 0 40px 0;\n }\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n padding: 30px 0 25px 0;\n }\n`;\n\nexport const HeadTitle = styled.h2`\n ${FONTS.H2};\n color: ${COLORS.white};\n margin-bottom: 32px;\n\n @media (max-width: ${wideBreakpoints.sDesktop}) {\n ${FONTS.H3};\n margin-bottom: 24px;\n }\n\n @media (max-width: ${wideBreakpoints.laptop}) {\n margin-bottom: 8px;\n }\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n ${FONTS.H2};\n }\n\n`;\n\nexport const SBaseButton = styled(BaseButton)`\n margin: 32px auto 0 auto;\n width: 186px;\n`;\n","import React from 'react';\n\nimport { btnTypes } from '@r1-frontend/ui-react/components/buttons/baseButton';\nimport WideContainer from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport { useMatchMedia } from '@r1-frontend/shared/hooks/useMatchMedia';\n\nimport Features, { IFeature } from '~/src/features/domofon/components/Features';\n\nimport * as ST from './styled';\n\ninterface IProps {\n featuresItems: IFeature[],\n connectBtnHandler: () => void,\n}\n\nexport enum EMediaWidth {\n minMobile = '(min-width: 767px)',\n laptop = '(max-width: 1279px)',\n}\n\nconst FeaturesBlock: React.FC = ({ featuresItems, connectBtnHandler }): JSX.Element => {\n const isMinMobile = useMatchMedia(EMediaWidth.minMobile);\n const isLaptop = useMatchMedia(EMediaWidth.laptop);\n\n return (\n \n \n Возможности умного домофона\n \n {isMinMobile && }\n \n \n );\n};\n\nexport default FeaturesBlock;\n","import styled from 'styled-components';\n\nimport { COLORS } from '@r1-frontend/ui-react/assets/js/constants';\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport { BorderRadius } from '@r1-frontend/ui-react/tokens/borderRadius';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nexport const Wrapper = styled.div`\n width: 100%;\n`;\n\nexport const FunctionalityItem = styled.div<{ backgroundImg: string, icon: string }>`\n position: relative;\n height: 372px;\n width: 479px;\n border-radius: ${BorderRadius.OuterBlockRadius};\n overflow: hidden;\n background-color: ${COLORS.GRAY_S};\n background-image: url('${p => p.backgroundImg}');\n background-repeat: no-repeat;\n background-position: top center;\n background-size: cover;\n\n &:after {\n position: absolute;\n top: 24px;\n left: 26px;\n display: inline-block;\n content: \"\";\n background-image: url('${p => p.icon}');\n background-repeat: no-repeat;\n width: 56px;\n height: 56px;\n }\n\n @media (max-width: ${wideBreakpoints.sDesktop}) {\n width: 391px;\n }\n\n @media (max-width: ${wideBreakpoints.laptop}) {\n width: 327px;\n }\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n width: 307px;\n }\n`;\n\nexport const Image = styled.img`\n width: 100%;\n`;\n\nexport const DescWrap = styled.div`\n position: absolute;\n align-items: flex-end;\n width: 100%;\n height: 100%;\n padding: 32px 26px;\n`;\n\nexport const DescInner = styled.div``;\n\nexport const Title = styled.p`\n ${FONTS.H4};\n color: ${COLORS.white};\n`;\n\nexport const Text = styled.p`\n ${FONTS.XS};\n color: ${COLORS.white};\n margin-top: 6px;\n min-height: 60px;\n`;\n","import React from 'react';\n\nimport { useProgressiveImage } from '~/src/helpers/hooks/useProgressiveImage';\n\nimport * as ST from './styled';\n\nexport interface IFunctionality {\n id: number | string,\n image: string,\n image_webp: string,\n icon: string,\n title: string,\n text: string,\n alt: string,\n}\n\nconst FunctionalityItem = ({ item }: { item: IFunctionality }) => {\n const backgroundImg = useProgressiveImage(\n item.image_webp,\n { hasTimeout: false, timeoutDelay: 0 },\n item.image,\n );\n\n return (\n \n \n \n {item.title}\n {item.text}\n \n \n \n );\n};\n\nexport default React.memo(FunctionalityItem);\n","import React, { useMemo } from 'react';\n\nimport AdaptiveNukaCarousel from '~/src/components/AdaptiveNukaCarousel';\n\nimport FunctionalityItem, { IFunctionality } from './FunctionalityItem';\n\nimport * as ST from './styled';\n\ninterface IProps {\n items: IFunctionality[],\n className?: string,\n isLaptop: boolean,\n isDesktop: boolean,\n}\n\nconst Functionalities: React.FC = ({ items = [], className = '', isLaptop, isDesktop }): JSX.Element => {\n\n const mobileItems = useMemo(() => {\n return items.map((item: IFunctionality) => {\n const newItem = { ...item };\n newItem.image = newItem.image.replace(/([0-9]+)\\.([a-zA-Z]+)/, '$1-sm.$2');\n newItem.image_webp = newItem.image_webp.replace(/([0-9]+)\\.([a-zA-Z]+)/, '$1-sm.$2');\n\n return newItem;\n });\n }, [items]);\n\n const renderItems = useMemo(() => {\n return isLaptop ? mobileItems : items;\n }, [isLaptop, items, mobileItems]);\n\n return (\n \n \n {\n renderItems.map((item) => {\n return ;\n })\n }\n \n \n );\n};\n\nexport default Functionalities;\n","import styled from 'styled-components';\n\nimport { COLORS } from '@r1-frontend/ui-react/assets/js/constants';\nimport { BaseButton } from '@r1-frontend/ui-react/components/buttons/baseButton';\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nexport const Wrapper = styled.section`\n display: block;\n width: 100%;\n padding: 64px 0;\n\n @media (max-width: ${wideBreakpoints.sDesktop}) {\n padding: 32px 0;\n }\n`;\n\nexport const HeadTitle = styled.h2`\n ${FONTS.H2};\n color: ${COLORS.black};\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n ${FONTS.H3};\n }\n`;\n\nexport const SBaseButton = styled(BaseButton)`\n margin: 32px auto;\n width: 186px;\n`;\n","import React from 'react';\n\nimport { btnTypes } from '@r1-frontend/ui-react/components/buttons/baseButton';\nimport WideContainer from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport { useMatchMedia } from '@r1-frontend/shared/hooks/useMatchMedia';\n\nimport Functionalities from '~/src/features/domofon/components/Functionalities';\nimport { IFunctionality } from '~/src/features/domofon/components/Functionalities/FunctionalityItem';\n\nimport * as ST from './styled';\n\ninterface IProps {\n functionalitiesItems: IFunctionality[],\n connectBtnHandler: () => void,\n}\n\nexport enum EMediaWidth {\n sDesktop = '(max-width: 1567px)',\n laptop = '(max-width: 1279px)',\n}\n\nconst FunctionalitiesBlock: React.FC = ({ functionalitiesItems, connectBtnHandler }): JSX.Element => {\n const isDesktop = useMatchMedia(EMediaWidth.sDesktop);\n const isLaptop = useMatchMedia(EMediaWidth.laptop);\n\n return (\n \n \n Управляйте домофоном со смартфона\n \n {isLaptop && }\n \n \n );\n};\n\nexport default FunctionalitiesBlock;\n","import styled from 'styled-components';\n\nimport { COLORS } from '@r1-frontend/ui-react/assets/js/constants';\nimport WideContainer, { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nconst HEADER_HEIGHT = '112px';\n\nexport const START_HEIGHT = '400vh';\n\nexport const PresentationDomofon = styled.div`\n height: ${START_HEIGHT};\n display: flex;\n width: 100%;\n`;\n\nexport const InnerWrap = styled.div`\n position: sticky;\n width: 100%;\n height: calc(100vh - ${HEADER_HEIGHT});\n min-height: min-content;\n top: 112px;\n`;\n\nexport const GridContainer = styled(WideContainer)`\n flex-wrap: nowrap;\n max-width: 100%;\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n flex-direction: column;\n }\n`;\n\nexport const Description = styled.div`\n flex: 1;\n position: relative;\n flex-direction: column;\n flex-wrap: nowrap;\n justify-content: center;\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n flex: 1 1 50%;\n }\n\n`;\n\nexport const TextBlock = styled.div<{ isVisible: boolean }>`\n flex-direction: column;\n width: 100%;\n margin-bottom: 40px;\n color: ${p => p.isVisible ? COLORS.GRAY_DARK : COLORS.GRAY_S};\n transition: color 0.8s ease-out;\n\n &:last-child {\n margin-bottom: 0;\n }\n\n @media (max-width: ${wideBreakpoints.laptop}) {\n margin-bottom: 36px;\n }\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n position: absolute;\n margin-bottom: 26px;\n opacity: ${p => p.isVisible ? '1' : '0'};\n }\n`;\n\nexport const Title = styled.h2`\n ${FONTS.H2};\n\n @media (max-width: ${wideBreakpoints.laptop}) {\n ${FONTS.H3};\n }\n`;\n\nexport const Text = styled.div`\n ${FONTS.XL};\n\n @media (max-width: ${wideBreakpoints.laptop}) {\n ${FONTS.S};\n }\n`;\n\nexport const ImageWrap = styled.div`\n flex: 0 0 788px;\n position: relative;\n justify-content: center;\n width: 788px;\n height: 100%;\n overflow: hidden;\n\n @media (max-width: ${wideBreakpoints.sDesktop}) {\n flex: 0 0 633px;\n width: 633px;\n }\n\n @media (max-width: ${wideBreakpoints.laptop}) {\n flex: 0 0 560px;\n width: 560px;\n }\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n flex: 1 1 50%;\n width: 100%;\n }\n`;\n\nexport const Picture = styled.picture<{ isVisible: boolean }>`\n position: absolute;\n max-width: 100%;\n max-height: 100%;\n bottom: 0;\n opacity: ${p => p.isVisible ? '1' : '0'};\n transition: opacity 0.8s ease-out;\n\n flex: 0 0 788px;\n width: 788px;\n height: 100%;\n\n @media (max-width: ${wideBreakpoints.sDesktop}) {\n flex: 0 0 633px;\n width: 633px;\n }\n\n @media (max-width: ${wideBreakpoints.laptop}) {\n flex: 0 0 560px;\n width: 560px;\n }\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n flex: 1 1 50%;\n width: 100%;\n }\n`;\n\nexport const Img = styled.img<{ isVisible: boolean }>`\n position: absolute;\n max-width: 100%;\n max-height: 100%;\n bottom: 0;\n opacity: ${p => p.isVisible ? '1' : '0'};\n transition: opacity 0.8s ease-out;\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n margin: 0 auto;\n left: 0;\n right: 0;\n }\n`;\n","import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport throttle from 'lodash/throttle';\n\nimport { isServerSide } from '@r1-frontend/shared/helpers/ssr';\nimport { useMatchMedia } from '@r1-frontend/shared/hooks/useMatchMedia';\n\nimport * as ST from './styled';\n\nconst texts = [\n {\n id: 1,\n title: 'Камера с инфракрасной подсветкой',\n text: 'Рассмотрите всех так же чётко, как и ночью',\n image_webp: {\n mobile: require('~/static/images/domofon/presentation/mobile/domofon-1.webp'),\n desktop: require('~/static/images/domofon/presentation/desktop/domofon-1.webp'),\n\n },\n image_png: {\n mobile: require('~/static/images/domofon/presentation/mobile/domofon-1.png'),\n desktop: require('~/static/images/domofon/presentation/desktop/domofon-1.png'),\n\n },\n },\n {\n id: 2,\n title: 'Металлический антивандальный корпус',\n text: 'Не нужно беспокоиться за сохранность домофона',\n image_webp: {\n mobile: require('~/static/images/domofon/presentation/mobile/domofon-2.webp'),\n desktop: require('~/static/images/domofon/presentation/desktop/domofon-2.webp'),\n\n },\n image_png: {\n mobile: require('~/static/images/domofon/presentation/mobile/domofon-2.png'),\n desktop: require('~/static/images/domofon/presentation/desktop/domofon-2.png'),\n\n },\n },\n {\n id: 3,\n title: 'Видео в HD качестве',\n text: 'Увидите лица всех, кто хочет попасть внутрь',\n image_webp: {\n mobile: require('~/static/images/domofon/presentation/mobile/domofon-3.webp'),\n desktop: require('~/static/images/domofon/presentation/desktop/domofon-3.webp'),\n\n },\n image_png: {\n mobile: require('~/static/images/domofon/presentation/mobile/domofon-3.png'),\n desktop: require('~/static/images/domofon/presentation/desktop/domofon-3.png'),\n\n },\n },\n];\n\nconst MIN_DISTANCE = 112;\n\nconst LAG_DISTANCE = 200;\n\nconst getVisible = (id: number, currentStep: number, length: number): boolean => {\n let step = currentStep > length ? length : currentStep;\n step = step < 1 ? 1 : step;\n return id === step;\n};\n\nexport enum EMediaWidth {\n mobile = '(max-width: 767px)',\n}\n\nexport const PresentationDomofon = (): JSX.Element => {\n const isMobile = useMatchMedia(EMediaWidth.mobile);\n const urlPath = useMemo(()=> isMobile ? 'mobile' : 'desktop', [isMobile]);\n const prevPageY = useRef(isServerSide() ? 0 : window.pageYOffset);\n\n const [currentStep, setCurrentStep] = useState(0);\n\n const presentationRef = useRef(null);\n\n const onScroll = useCallback(throttle(() => {\n if (!presentationRef?.current) {\n return;\n }\n\n const maxStep = texts.length;\n const parentBlock = presentationRef.current;\n const position = parentBlock.getBoundingClientRect();\n const clientHeight = document.documentElement.clientHeight;\n const elementTop = position.top;\n const elementBottom = position.bottom;\n\n const toBottom = window.pageYOffset > prevPageY.current;\n\n if (toBottom) {\n if (elementTop <= MIN_DISTANCE) {\n setCurrentStep((value) => {\n const newValue = value + 1 > maxStep ? maxStep : value + 1;\n const newStep = elementBottom < clientHeight ? maxStep + 1 : newValue;\n\n // Подстраиваем высоту родительского блока, чтобы небыло пустых прокруток.\n if (newStep === maxStep) {\n parentBlock.style.height = `${clientHeight + Math.abs(elementTop) + LAG_DISTANCE}px`;\n }\n\n return newStep;\n });\n } else {\n setCurrentStep(0);\n }\n } else if (elementBottom >= clientHeight) {\n setCurrentStep((value) => {\n const newValue = value - 1 < 0 ? 0 : value - 1;\n const newStep = elementTop > MIN_DISTANCE ? 0 : newValue;\n\n if (newStep === 0) {\n parentBlock.style.height = ST.START_HEIGHT;\n }\n\n return newStep;\n });\n }\n\n prevPageY.current = window.pageYOffset;\n }, 900, { leading: false }), [presentationRef]);\n\n useEffect(() => {\n window.addEventListener('scroll', onScroll);\n\n return () => {\n window.removeEventListener('scroll', onScroll);\n };\n }, [onScroll]);\n\n return (\n \n \n \n \n {texts.map((item) => {\n const isVisible = getVisible(item.id, currentStep, texts.length);\n\n return (\n \n {item.title}\n {item.text}\n \n );\n })}\n \n \n {texts.map((item) => {\n const isVisible = getVisible(item.id, currentStep, texts.length);\n\n return (\n \n \n \n \n );\n })}\n \n \n \n \n );\n};\n","export enum EEquipmentType {\n intercomKey = 'elektronnyy-klyuch',\n}\n","import styled from 'styled-components';\n\nimport { COLORS } from '@r1-frontend/ui-react/assets/js/constants';\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nexport const Wrapper = styled.section`\n display: block;\n width: 100%;\n background-color: ${COLORS.GRAY_XXS};\n padding: 32px 0;\n`;\n\nexport const Desc = styled.div`\n display: block;\n`;\n\nexport const HeadTitle = styled.h2`\n ${FONTS.H2};\n color: ${COLORS.black};\n margin-bottom: 8px;\n\n @media (max-width: ${wideBreakpoints.sDesktop}) {\n ${FONTS.H3};\n }\n`;\n\nexport const SubHeadTitle = styled.p`\n ${FONTS.XL};\n color: ${COLORS.black};\n margin-bottom: 32px;\n\n @media (max-width: ${wideBreakpoints.sDesktop}) {\n ${FONTS.L};\n }\n\n @media (max-width: ${wideBreakpoints.laptop}) {\n ${FONTS.L};\n }\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n ${FONTS.S};\n }\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n ${FONTS.M};\n }\n`;\n\nexport const NoSsrContainer = styled.div`\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n width: 100%;\n min-height: 380px;\n -webkit-tap-highlight-color: transparent;\n\n & > div {\n flex-basis: 30%;\n\n &:not(:last-child) {\n margin-right: 16px;\n }\n }\n\n & > section > div.slider-frame > div > div {\n outline: unset;\n }\n`;\n","import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { useSelector } from 'react-redux';\n\nimport { doRequest } from '@r1-frontend/do-request';\nimport {\n requestByConnection,\n RequestDto,\n ResponseDto,\n} from '@r1-frontend/api-domru/api-request/v1/user/request-by-connection';\n\nimport { dataLayerPush } from '@r1-frontend/analytics/dataLayerPush';\n\nimport WideContainer from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport { EResultPopupStatus } from '@r1-frontend/ui-react/components/popups/popupResult';\nimport { ACTIONS, CATEGORIES, EVENTS } from '@r1-frontend/shared/constants/analytics';\nimport getAccessToken from '@r1-frontend/shared/helpers/getAccessToken';\nimport { isClientSide } from '@r1-frontend/shared/helpers/ssr';\nimport { useMatchMedia } from '@r1-frontend/shared/hooks/useMatchMedia';\nimport { EProductsId } from '@r1-frontend/shared/types/EProductsId';\n\nimport { IShopItem } from '~/src/api/content/shop/getShopItems';\nimport AdaptiveNukaCarousel from '~/src/components/AdaptiveNukaCarousel';\nimport OrderPopup from '~/src/components/Equipment/internet/orderPopup';\nimport PopupResult from '~/src/components/Popups/PopupResult';\nimport ProductCard from '~/src/components/ProductCard';\nimport { getPriceOptions } from '~/src/entities/equipment';\nimport { convertShopPrices } from '~/src/entities/price';\nimport { EEquipmentType } from '~/src/features/domofon/purchase/types/EEquipmentType';\nimport { useScroll } from '~/src/helpers/hooks/useScroll';\nimport { selectCsrf } from '~/src/store/selectors/auth/selectCsrf';\n\nimport * as ST from './styled';\n\ninterface IProps {\n products: IShopItem[],\n}\n\ninterface IResultPopup {\n title: string,\n text: string,\n type: EResultPopupStatus,\n}\n\ninterface ISelectedOption {\n id: number,\n label: string,\n operType: string,\n price: number,\n pricePromo: number,\n sort: null,\n type: number | string,\n value: number | string,\n}\n\nexport enum EMediaWidth {\n mobile = '(max-width: 767px)',\n}\n\nconst ProductsBlock: React.FC = ({ products }): JSX.Element => {\n const csrf = useSelector(selectCsrf);\n const isMobile = useMatchMedia(EMediaWidth.mobile);\n const scrollToProducts = useScroll({ alignment: 'start' }, -80);\n const [orderRequestResult, setOrderRequestResult] = useState({\n title: '',\n text: '',\n type: EResultPopupStatus.DEFAULT,\n });\n const [name, setName] = useState('');\n const [label, setLabel] = useState('');\n const [selectedOption, setSelectedOption] = useState(null);\n const [isOrderPopupOpened, setIsOrderPopupOpened] = useState(false);\n const [isOrderResult, setIsOrderResult] = useState(false);\n const productsRef = useRef(null);\n\n const onDetail = useCallback(({ selectedOption, name }: { selectedOption: ISelectedOption, name: string }) => {\n setName(name);\n setLabel(`${name} | ${selectedOption.operType} | ${selectedOption.price}`);\n setIsOrderPopupOpened(true);\n setSelectedOption(selectedOption);\n }, []);\n\n useEffect(() => {\n if (location.hash === '#equipment') {\n scrollToProducts(productsRef);\n }\n }, [scrollToProducts]);\n\n const onSuccessOrder = useCallback((message: string) => {\n dataLayerPush({\n event: EVENTS.UAevent,\n category: CATEGORIES.applicationForm,\n action: ACTIONS.finished,\n label: `popup | ${name} | ${selectedOption?.price} | ${selectedOption?.operType}`,\n });\n\n setOrderRequestResult(prevState => ({\n ...prevState,\n type: EResultPopupStatus.SUCCESS,\n title: 'Заявка на подключение отправлена',\n text: message,\n }));\n }, [name, selectedOption?.price, selectedOption?.operType]);\n\n\n const onErrorOrder = useCallback((message: string) => {\n dataLayerPush({\n event: EVENTS.UAevent,\n category: CATEGORIES.applicationForm,\n action: ACTIONS.error,\n label: `popup | ${name} | ${selectedOption?.price} | ${selectedOption?.operType}`,\n });\n\n setOrderRequestResult(prevState => ({\n ...prevState,\n type: EResultPopupStatus.ERROR,\n title: 'Произошла ошибка',\n text: message,\n }));\n }, [selectedOption?.price, selectedOption?.operType, name]);\n\n const popupRequestHandler = useCallback(async({ fio, phone }: { fio: string, phone: string}) => {\n const dataParams: RequestDto = {\n fio,\n phone,\n product_id: [EProductsId.domofon],\n equip_price_id: selectedOption?.id,\n csrf,\n };\n\n const resp = await doRequest.apiRequest(\n requestByConnection(dataParams),\n );\n if (resp.isSuccess) {\n const { status, message } = resp.payload;\n const ok = !!status;\n\n if (ok) {\n onSuccessOrder(message);\n } else {\n onErrorOrder(message);\n }\n } else {\n const message = resp.error.message || 'Возникла системная ошибка. Пожалуйста, попробуйте еще раз.';\n onErrorOrder(message);\n }\n\n setIsOrderPopupOpened(false);\n setIsOrderResult(true);\n }, [onErrorOrder, onSuccessOrder, selectedOption?.id]);\n\n const closeOrderPopup = () => {\n setSelectedOption(null);\n setName('');\n setIsOrderPopupOpened(false);\n };\n\n const renderProductCards = useCallback(() => {\n return products.map(product => {\n const links: { buttonLink?: string, linkUrl?: string } = {\n buttonLink: product.button_link,\n };\n\n if (product.alias === EEquipmentType.intercomKey && getAccessToken() !== null) {\n delete links.buttonLink;\n links.linkUrl = !product.checkProductId && product.showForDelivery && product.leftovers !== null && product.leftovers > 0\n ? `/lk/purchase/intercom/${product.alias}`\n : undefined;\n }\n\n return (\n // @ts-ignore потому что ProductCard.JS\n \n );\n });\n }, [products, onDetail]);\n\n return (\n \n \n \n Вы можете сделать домофон ещё удобнее\n С дополнительным оборудованием от Дом.ру \n \n {isClientSide()\n ? (\n {renderProductCards()}\n )\n : (\n {renderProductCards()}\n )}\n \n \n setIsOrderResult(false)}\n {...orderRequestResult}\n />\n \n );\n};\n\nexport default ProductsBlock;\n","import styled from 'styled-components';\n\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport Accordion from '@r1-frontend/ui-react/deprecated/Accordion';\nimport { BorderRadius } from '@r1-frontend/ui-react/tokens/borderRadius';\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nexport const Wrapper = styled.section`\n display: block;\n width: 100%;\n padding-top: 64px;\n padding-bottom: 64px;\n background-color: ${COLORS.BgMain};\n`;\n\nexport const HeadTitle = styled.h2`\n ${FONTS.H2};\n color: ${COLORS.TextPrimary};\n margin-bottom: 32px;\n\n @media (max-width: ${wideBreakpoints.sDesktop}) {\n ${FONTS.H3};\n margin-bottom: 24px;\n }\n\n @media (max-width: ${wideBreakpoints.laptop}) {\n margin-bottom: 8px;\n }\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n ${FONTS.H2};\n }\n`;\n\nexport const SAccordion = styled(Accordion)`\n margin-bottom: 16px;\n border-radius: ${BorderRadius.OuterBlockRadius};\n`;\n\nexport const TextLine = styled.p`\n margin-bottom: 12px;\n width: 100%;\n\n &:last-child {\n margin-bottom: 0;\n }\n`;\n","import React, { Fragment, useState } from 'react';\n\nimport WideContainer from '@r1-frontend/ui-react/components/layouts/wideContainer';\n\nimport * as ST from './styled';\n\ninterface IAnswer {\n title?: string,\n text?: string,\n}\n\nexport interface IQuestion {\n id: number,\n question: string,\n answers: IAnswer[],\n}\n\ninterface IProps {\n questions: IQuestion[],\n}\n\nexport enum EMediaWidth {\n minMobile = '(min-width: 767px)',\n laptop = '(max-width: 1279px)',\n}\n\nconst QuestionsBlock: React.FC = ({ questions = [] }): JSX.Element => {\n\n const [currentIdx, setCurrentIdx] = useState(0);\n\n return (\n \n \n Если остались вопросы\n {\n questions.map((item) => {\n return (\n item.id !== currentIdx ? setCurrentIdx(item.id) : setCurrentIdx(0)}\n >\n {item.answers?.map((item, idx) => {\n return (\n \n \n \n \n );\n })}\n \n );\n })\n }\n \n \n );\n};\n\nexport default QuestionsBlock;\n","import styled from 'styled-components';\n\nimport { COLORS } from '@r1-frontend/ui-react/assets/js/constants';\nimport WideContainer, { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport { BorderRadius } from '@r1-frontend/ui-react/tokens/borderRadius';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nimport { RequestFormPhone } from '~/src/components/RequestFormPhone';\n\nconst breakPoints = {\n tablet: '999px',\n};\n\nexport const Statistics = styled.div`\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n width: 100%;\n overflow: hidden;\n\n &:before {\n content: \"\";\n position: absolute;\n width: 100%;\n height: 100%;\n background-color: ${COLORS.white};\n z-index: -2;\n }\n`;\n\nexport const SRequestFormPhone = styled(RequestFormPhone)`\n label {\n color: ${COLORS.GRAY_LIGHT};\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n font-size: 10px;\n }\n\n a {\n color: ${COLORS.GRAY_LIGHT};\n border-bottom: 1px solid ${COLORS.GRAY_LIGHT};\n }\n }\n\n > div > div {\n > button {\n @media (max-width: ${breakPoints.tablet}) {\n width: 100%;\n }\n }\n }\n`;\n\nexport const SGridContainer = styled(WideContainer)`\n flex-direction: column;\n flex-wrap: nowrap;\n max-width: 100%;\n`;\n\nexport const StatElementsWrap = styled.div`\n position: relative;\n height: 750px;\n width: 100%;\n\n @media (max-width: ${wideBreakpoints.sDesktop}) {\n height: 777px;\n }\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n height: 856px;\n }\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n height: 1180px;\n }\n`;\n\nexport const InnerStatElementsWrap = styled.div`\n flex-wrap: nowrap;\n align-items: center;\n width: 100%;\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n flex-direction: column;\n }\n`;\n\nexport const StatElem = styled.div`\n flex: 1 0 50%;\n flex-direction: column;\n flex-wrap: nowrap;\n align-items: center;\n min-height: 150px;\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n justify-content: center;\n }\n`;\n\nexport const ElemTitle = styled.div`\n ${FONTS.H0};\n text-align: center;\n\n @media (max-width: ${wideBreakpoints.laptop}) {\n ${FONTS.H1};\n }\n`;\n\nexport const ElemText = styled.div`\n ${FONTS.XL};\n text-align: center;\n\n @media (max-width: ${wideBreakpoints.laptop}) {\n ${FONTS.L};\n }\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n margin: 0 -8px;\n ${FONTS.S};\n }\n`;\n\nexport const FormWrap = styled.div`\n position: relative;\n flex: 0 0 auto;\n flex-wrap: nowrap;\n width: 100%;\n padding: 0 60px;\n background-color: ${COLORS.GRAY_DARK};\n border-radius: ${BorderRadius.OuterBlockRadius};\n\n @media (max-width: ${wideBreakpoints.sDesktop}) {\n padding: 0 32px;\n }\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n margin-top: 250px;\n }\n`;\n\nexport const Description = styled.div`\n flex-direction: column;\n flex-wrap: nowrap;\n padding: 50px 0 40px 0;\n\n @media (max-width: ${wideBreakpoints.laptop}) {\n padding: 40px 0 40px 0;\n }\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n padding: 15px 0 20px 0;\n max-width: 345px;\n }\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n padding: 31px 0 35px 0;\n }\n`;\n\nexport const FormTitle = styled.div`\n ${FONTS.H2};\n color: ${COLORS.GRAY_LIGHT};\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n ${FONTS.H3};\n }\n`;\n\nexport const FormText = styled.div`\n margin-bottom: 20px;\n ${FONTS.M};\n color: ${COLORS.GRAY_LIGHT};\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n margin-bottom: 18px;\n ${FONTS.XS};\n }\n`;\n\nexport const ImgWrap = styled.div`\n position: relative;\n flex: 1 0 auto;\n justify-content: center;\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n position: absolute;\n left: 50%;\n top: 10%;\n z-index: -1;\n }\n`;\n\nexport const SPicture = styled.picture`\n position: absolute;\n bottom: 0;\n width: 319px;\n height: 347px;\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n width: 278px;\n height: auto;\n }\n`;\n\nexport const Img = styled.img`\n position: absolute;\n bottom: 0;\n width: 319px;\n height: 347px;\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n width: 278px;\n height: auto;\n }\n`;\n\n/* Анимированные картинки */\nexport const AnimImage = styled.div<{ isVisible: boolean }>`\n position: absolute;\n z-index: -1;\n background-repeat: no-repeat;\n background-size: contain;\n\n transition: all 0.7s ease-out;\n`;\n\nexport const AnimImageLeft = styled(AnimImage)`\n top: 30px;\n left: ${p => p.isVisible ? '0' : '-50%'};\n width: 670px;\n height: 637px;\n background-position: left top;\n background-image: url('${require('~/static/images/domofon/statistics/left-picture.png')}');\n\n @media (max-width: ${wideBreakpoints.sDesktop}) {\n width: 560px;\n height: 635px;\n background-position: right top;\n background-size: cover;\n }\n\n @media (max-width: ${wideBreakpoints.laptop}) {\n top: 70px;\n width: 440px;\n height: 482px;\n }\n`;\n\nexport const AnimImageRight = styled(AnimImage)`\n top: 50px;\n right: ${p => p.isVisible ? '0' : '-50%'};\n width: 712px;\n height: 672px;\n background-position: right top;\n background-image: url('${require('~/static/images/domofon/statistics/right-picture.png')}');\n\n @media (max-width: ${wideBreakpoints.sDesktop}) {\n width: 620px;\n height: 672px;\n background-size: cover;\n background-position: left top;\n }\n\n @media (max-width: ${wideBreakpoints.laptop}) {\n top: 70px;\n width: 430px;\n height: 485px;\n }\n`;\n\nexport const TabletLeftTop = styled(AnimImage)`\n left: ${p => p.isVisible ? '0' : '-50%'};\n width: 206px;\n height: 427px;\n\n background-position: left top;\n background-image: url(require('~/static/images/domofon/statistics/tablet/left-top.png'));\n`;\n\nexport const TabletRightTop = styled(AnimImage)`\n right: ${p => p.isVisible ? '0' : '-50%'};\n width: 444px;\n height: 150px;\n\n background-position: right top;\n background-image: url(require('~/static/images/domofon/statistics/tablet/right-top.png'));\n`;\n\nexport const TabletLeftBottom = styled(AnimImage)`\n left: ${p => p.isVisible ? '0' : '-50%'};\n bottom: 0;\n width: 289px;\n height: 308px;\n\n background-position: left bottom;\n background-image: url(require('~/static/images/domofon/statistics/tablet/left-bottom.png'));\n`;\n\nexport const TabletRightBottom = styled(AnimImage)`\n right: ${p => p.isVisible ? '0' : '-50%'};\n bottom: 0;\n width: 137px;\n height: 315px;\n\n background-position: right bottom;\n background-image: url(require('~/static/images/domofon/statistics/tablet/right-bottom.png'));\n`;\n\n/* Картинки мобильной версии */\nexport const MobileLeftTop = styled(AnimImage)`\n transition: all 0.5s ease-out;\n top: 120px;\n left: ${p => p.isVisible ? '0' : '-60%'};\n width: 253px;\n height: 516px;\n\n background-position: left top;\n background-image: url(require('~/static/images/domofon/statistics/mobile/left-top.png'));\n`;\n\nexport const MobileRightTop = styled(AnimImage)`\n transition: all 0.5s ease-out;\n top: 66px;\n right: ${p => p.isVisible ? '0' : '-60%'};\n width: 253px;\n height: 468px;\n\n background-position: right top;\n background-image: url(require('~/static/images/domofon/statistics/mobile/right-top.png'));\n`;\n\nexport const MobileLeftBottom = styled(AnimImage)`\n transition: all 1.2s ease-out;\n left: ${p => p.isVisible ? '0' : '-60%'};\n bottom: 120px;\n width: 132px;\n height: 417px;\n\n background-position: left bottom;\n background-image: url(require('~/static/images/domofon/statistics/mobile/left-bottom.png'));\n`;\n\nexport const MobileRightBottom = styled(AnimImage)`\n transition: all 1.2s ease-out;\n right: ${p => p.isVisible ? '0' : '-60%'};\n bottom: 50px;\n width: 172px;\n height: 445px;\n\n background-position: right bottom;\n background-image: url(require('~/static/images/domofon/statistics/mobile/right-bottom.png'));\n`;\n","import React, { RefObject, useCallback, useState } from 'react';\n\nimport WideContainer from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport { useMatchMedia } from '@r1-frontend/shared/hooks/useMatchMedia';\n\nimport { TSubmitFunc } from '~/src/components/RequestFormPhone';\nimport { NON_BREAKING_SPACE } from '~/src/constants/simbols';\nimport { useIntersectionObserver } from '~/src/helpers/hooks/useIntersectionObserver';\n\nimport * as ST from './styled';\n\nexport enum EMediaWidth {\n desktop = '(min-width: 1000px)',\n tablet = '(max-width: 999px)',\n mobile = '(max-width: 767px)',\n}\n\nexport interface IStatisticsProps {\n submitRequest: TSubmitFunc,\n onStartFormFilling?: () => void,\n formRef: RefObject,\n}\n\nexport const Statistics = ({ submitRequest, onStartFormFilling, formRef }: IStatisticsProps): JSX.Element => {\n const isDesktop = useMatchMedia(EMediaWidth.desktop);\n const isTablet = useMatchMedia(EMediaWidth.tablet);\n const isMobile = useMatchMedia(EMediaWidth.mobile);\n\n const [isVisible, setIsVisible] = useState(false);\n const [isVisibleWrap, setIsVisibleWrap] = useState(false);\n\n const observeHandler = useCallback((entries) => {\n const [firstElem] = entries || [];\n setIsVisible(firstElem?.isIntersecting);\n }, []);\n\n const observeWrapHandler = useCallback((entries) => {\n const [firstElem] = entries || [];\n setIsVisibleWrap(firstElem?.isIntersecting);\n }, []);\n\n const blockRef = useIntersectionObserver(observeHandler, { root: null, threshold: 0.4 });\n const blockWrapRef = useIntersectionObserver(observeWrapHandler, { root: null, threshold: 0.1 });\n\n return (\n \n \n \n \n \n Более 10 000 000\n раз в день наши домофоны открывают двери.\n \n \n Более 12 000 000\n жителей уже оценили
преимущества наших домофонов.
\n
\n
\n
\n\n {isDesktop && !isTablet &&\n <>\n \n \n \n }\n\n {isTablet && !isMobile &&\n <>\n \n \n \n \n \n }\n\n {isMobile &&\n <>\n \n \n \n \n \n }\n
\n\n \n \n \n {`Оставьте заявку на${NON_BREAKING_SPACE}подключение`}\n Перезвоним и ответим на ваши вопросы \n\n \n \n \n \n \n \n \n \n \n \n
\n );\n};\n","import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { useSelector } from 'react-redux';\n\nimport { doRequest } from '@r1-frontend/do-request';\nimport {\n ERequestStatus,\n requestByConnection,\n RequestDto,\n ResponseDto,\n} from '@r1-frontend/api-domru/api-request/v1/user/request-by-connection';\n\nimport { dataLayerPush } from '@r1-frontend/analytics/dataLayerPush';\n\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport { ACTIONS, CATEGORIES, EVENTS } from '@r1-frontend/shared/constants/analytics';\nimport { useMatchMedia } from '@r1-frontend/shared/hooks/useMatchMedia';\nimport { EProductsId } from '@r1-frontend/shared/types/EProductsId';\n\nimport { IShopItem } from '~/src/api/content/shop/getShopItems';\nimport { ISubmitParams } from '~/src/components/RequestFormPhone';\nimport {\n domofonAdvatagesData,\n domofonBenefitsData,\n domofonFeaturesData,\n domofonFunctionalitiesData,\n domofonLesionsData,\n domofonQuestionsData,\n} from '~/src/features/domofon/data';\nimport { dataLayerForCBPhonePush, IDataLayerPushUid } from '~/src/helpers/eventsForDataLayer';\nimport { useScroll } from '~/src/helpers/hooks/useScroll';\nimport { TState } from '~/src/store';\nimport { selectCsrf } from '~/src/store/selectors/auth/selectCsrf';\n\nimport BannerBlock from './sections/BannerBlock';\nimport BenefitsBlock from './sections/BenefitsBlock';\nimport { ConnectDomofon } from './sections/ConnectDomofon';\nimport FeaturesBlock from './sections/FeaturesBlock';\nimport FunctionalitiesBlock from './sections/FunctionalitiesBlock';\nimport { PresentationDomofon } from './sections/PresentationDomofon';\nimport ProductsBlock from './sections/ProductsBlock';\nimport QuestionsBlock from './sections/QuestionsBlock';\nimport { Statistics } from './sections/Statistics';\n\nimport * as ST from './styled';\n\nexport interface IDomofonProps {\n products: IShopItem[],\n}\n\nexport const Domofon = ({ products }: IDomofonProps): JSX.Element => {\n const auth = useSelector((state: TState) => state.auth);\n const csrf = useSelector(selectCsrf);\n const [hasDomofon, setHasDomofon] = useState(true);\n const [offsetY, setOffsetY] = useState(-130); // @todo describe it and replace to a const\n const [label, setLabel] = useState('');\n const footerFormRef = useRef(null);\n const isMobile = useMatchMedia(`(max-width: ${wideBreakpoints.mobile})`);\n const scrollToConnectForm = useScroll({ alignment: 'center' }, offsetY);\n\n const submitRequest = useCallback(async(params: ISubmitParams) => {\n const dataParams: RequestDto = {\n fio: 'Потенциальный клиент домофонии',\n phone: params.phone,\n product_id: [EProductsId.domofon],\n check_call_type: window && window.location.href,\n csrf,\n };\n const resp = await doRequest.apiRequest(\n requestByConnection(dataParams),\n );\n if (resp.isSuccess) {\n const { status, message } = resp.payload;\n const ok = !!status;\n\n dataLayerForCBPhonePush({\n uid: auth.isAuth ? auth.clientPersonal?.agreement : null,\n action: ok ? ACTIONS.finished : ACTIONS.error,\n label: `${label} | ${message}`,\n });\n\n return { ok, message, status: status ? ERequestStatus.success : ERequestStatus.error };\n } else {\n dataLayerPush({\n event: EVENTS.UAevent,\n category: CATEGORIES.applicationForm,\n label,\n action: 'error',\n });\n\n return {\n ok: false,\n message: 'Не удалось отправить заявку.',\n status: ERequestStatus.error,\n };\n }\n }, [label]);\n\n const startFormFillingHandler = useCallback((from: string) => {\n setLabel(from);\n dataLayerForCBPhonePush({\n event: EVENTS.UAevent,\n category: CATEGORIES.applicationForm,\n action: ACTIONS.started,\n label: from,\n uid: auth.isAuth ? auth.clientPersonal?.agreement : null,\n } as unknown as IDataLayerPushUid);\n }, []);\n\n const scrollHandler = useCallback(() => {\n scrollToConnectForm(footerFormRef);\n }, [scrollToConnectForm]);\n\n useEffect(() => {\n if (isMobile) {\n setOffsetY(-380);\n } else {\n setOffsetY(-130);\n }\n }, [isMobile]);\n\n return (\n \n startFormFillingHandler('banner')}\n hasDomofon={hasDomofon}\n toggleDomofon={(flag) => setHasDomofon(flag)}\n />\n startFormFillingHandler(hasDomofon ? 'intercom' : 'no intercom')}\n />\n {\n hasDomofon && \n }\n {\n !hasDomofon\n ? <>\n \n \n \n \n startFormFillingHandler('bottom without intercom')}\n formRef={footerFormRef}\n />\n \n : startFormFillingHandler('bottom with intercom')}\n formRef={footerFormRef}\n />\n }\n\n {!!domofonQuestionsData.length && }\n \n );\n};\n","import React from 'react';\nimport { connect } from 'react-redux';\n\nimport { ICurrentCity } from '@r1-frontend/entities/City/models/ICurrentCity';\n\nimport { getIntercomServices, IShopItem } from '~/src/api/content/shop/getShopItems';\nimport Layout from '~/src/features/_layout';\nimport { Domofon } from '~/src/features/domofon';\nimport { initialProps } from '~/src/helpers/basePageFunc';\nimport { TState } from '~/src/store';\nimport { selectCompanyName } from '~/src/store/selectors/city';\n\ninterface DomofonPageProps {\n alias: string,\n city: ICurrentCity,\n products: IShopItem[],\n companyName: string,\n}\n\nfunction DomofonPage({ city, products, companyName }: DomofonPageProps) {\n const description = `\n Подключите видеодомофон от ${companyName} и управляйте через мобильное приложение.\n Пользуйтесь всеми преимуществами умного домофона для квартиры или частного дома уже сегодня.\n Оставьте заявку на сайте или по ☎ ${city.phone}\n `;\n\n return (\n \n \n \n );\n}\n\nDomofonPage.getInitialProps = async(options: any) => {\n const { validatedAccessToken } = await initialProps(options, { isNeedAuthData: true });\n const state = options.store.getState();\n const { city: { currentCity: city, provider: { providerId } } } = state;\n const companyName = selectCompanyName(state);\n\n const products: IShopItem[] = await getIntercomServices(providerId, validatedAccessToken || '') as IShopItem[] || [];\n\n return ({\n city,\n products,\n companyName,\n });\n};\n\nconst mapStateToProps = (state: TState) => ({\n action: state.intercom.actionInfo,\n});\n\nexport default connect(mapStateToProps)(DomofonPage);\n","import { captureException } from '@sentry/node';\nimport { stringify } from 'qs';\n\nimport { EPriceTypes } from '@r1-frontend/shared/types/EPriceTypes';\n\nimport { IShopCategory } from '~/src/api/content/shop/getShopCategories';\nimport contentRequest from '~/src/api/requests/contentRequest';\nimport { IPartnerVasContents } from '~/src/components/Promo/popups/PartnerPopup/types';\nimport { getAccessModeByRights } from '~/src/helpers/accessMode';\nimport { retryIfParamIsLocked } from '~/src/helpers/functions';\n\n// @todo All types must be in api-domru package, now collected at frontend/packages/api-domru/src/api-content/common-types/shop-item.types.ts\n// @deprecated use @r1-frontend/shared/types\nexport enum EShopCategory {\n Antiviruses = 'antiviruses',\n SpeedBonuses = 'speed-bonuses',\n Routers = 'routers',\n Intercom = 'intercom',\n Sale = 'special-offers',\n PartnerServices = 'partner-service-with-phone-check',\n Decoders = 'decoders',\n BonusToAll = 'bonus-to-all',\n YandexStation = 'yandex-stanciya',\n YandexStationLite = 'yandex-stanciya-lite',\n SafeKids = 'safe-kids',\n LoyaltyProgram = 'loyalty-program',\n Products = 'products',\n Subscriptions = 'subscriptions',\n Multibundle = 'multibundle',\n Videocontrol = 'videocontrol',\n PrivateSectorEquipment = 'private-sector-equipment',\n}\n\nexport enum EExpandShopItems {\n Advertising = 'advertising',\n Category = 'category',\n Props = 'props',\n Labels = 'labels',\n CategoryProps = 'category.props',\n}\n\ninterface IFilter {\n [key: string]: string | number,\n}\n\nexport interface IShopLabel {\n id: number,\n name: string,\n title: string,\n color: string,\n color_text: string,\n}\n\nexport interface IShopProp {\n name: string,\n title: string,\n type: string,\n value?: string | string[],\n computedValue?: string,\n asIs?: number,\n}\n\nexport interface ICostRa {\n dur_type_id: number,\n duration: number,\n flag_ra: number,\n cost: number,\n}\n\nexport interface IShopPriceOptions {\n label: string,\n price: number,\n pricePromo?: number,\n type: EPriceTypes.Possess | EPriceTypes.Leasing,\n operType: string,\n}\n\nexport interface IShopPriceV2 {\n sort: number,\n type: number,\n date_close_promo: string | null,\n duration: number | null,\n id: number,\n lifetime_price: number | null,\n owner_id: number,\n price_type: string,\n value: number,\n}\n\nexport interface IUrl {\n id: number,\n manual: number,\n name: string,\n owner_id: number,\n type: string,\n url: string,\n}\n\nexport interface IAdvertising {\n companyName: string,\n erid: string,\n}\n\nexport interface IShopItem {\n advertising: IAdvertising | null,\n alias: string,\n body: string,\n body_full: string,\n button_link: string,\n button_text: string,\n category_id: number,\n exists: boolean,\n extra: unknown[],\n global_id: number,\n id: number,\n image: string,\n image_webp?: string,\n images: string[],\n costRa: ICostRa[],\n // 0 или 1\n is_sale: number,\n prices: IShopItemPrices,\n pricesV2: IShopPriceV2[],\n pricesPromo: IShopItemPrices,\n sort: null | number,\n title: string,\n title_short?: string,\n labels?: IShopLabel[],\n category?: IShopCategory,\n image_widgets?: string,\n image_widgets_webp?: string,\n image_widgets_background?: string,\n image_background?: string,\n image_background_webp?: string,\n image_for_tariff_card: string,\n image_for_tariff_card_webp?: string,\n image_for_tariff_card_height: number,\n image_for_tariff_card_width: number,\n props?: IShopProp[],\n priceOptions?: IShopPriceOptions[],\n partnerVasContents?: IPartnerVasContents,\n image_width?: number,\n image_height?: number,\n leftovers: number | null,\n showForDelivery?: 0 | 1 | null,\n checkProductId?: number,\n name: string,\n urls?: IUrl[],\n}\n\ninterface IShopItemParams {\n all: boolean,\n expand?: string | undefined,\n filter?: IFilter | undefined,\n category?: EShopCategory | string | null,\n accessMode?: number,\n providerId: number,\n}\n\ninterface IMonth {\n value: number,\n lifetime_price: number,\n}\n\ninterface IRent {\n month: IMonth | null,\n year: number | null,\n}\n\nexport interface IShopItemPrices {\n leasing?: ILeasing[],\n possess?: number,\n rent?: IRent,\n}\n\nexport interface ILeasing {\n price: number,\n duration: number,\n}\n/**\n * @deprecated use api-domru/src/api-content/v2/shop/items/index.ts\n */\n\nexport async function getShopItems(\n providerId: number,\n token: string | null,\n category: EShopCategory | string | null,\n expand?: EExpandShopItems[],\n filter?: IFilter | null,\n isShowAll = false,\n): Promise {\n\n const params: IShopItemParams = {\n providerId,\n ...filter,\n expand: prepareExpandProp(expand),\n all: isShowAll,\n };\n\n const headers: Record = token\n ? { Authorization: `Bearer ${token}` }\n : {};\n\n if (providerId) {\n params.providerId = providerId;\n }\n\n if (category) {\n params.category = category;\n }\n\n params.accessMode = getAccessModeByRights({\n isAuth: Boolean(token),\n });\n\n const url = '/v1/shop/items';\n\n try {\n const resp = await retryIfParamIsLocked(\n () => contentRequest.get(url, {\n headers,\n params,\n paramsSerializer: (params: IShopItemParams) => {\n return stringify(params);\n },\n }),\n );\n\n return resp.data.items;\n\n } catch (e) {\n captureException(e);\n return [];\n }\n}\n\nexport async function getBonusToAll(\n providerId: number,\n token: string | null,\n expand?: EExpandShopItems[],\n filter?: IFilter,\n): Promise {\n\n let expandDefault = [EExpandShopItems.Category];\n if (expand) {\n expandDefault = [...expandDefault, ...expand];\n }\n return await getShopItems(providerId, token, EShopCategory.BonusToAll, expandDefault, filter);\n}\n\nfunction prepareExpandProp(expands: EExpandShopItems[] | undefined): string | undefined {\n if (expands && expands.length) {\n return expands.join(',');\n }\n return undefined;\n}\n\nexport async function getRouters(providerId: number, token: string | null): Promise {\n return getShopItems(\n providerId,\n token,\n EShopCategory.Routers,\n [EExpandShopItems.Category, EExpandShopItems.Props, EExpandShopItems.Labels],\n );\n}\n\n// eslint-disable-next-line no-undef\nexport async function getIntercomServices(providerId: number, token: string): Promise {\n return getShopItems(\n providerId,\n token,\n EShopCategory.Intercom,\n [EExpandShopItems.Category, EExpandShopItems.Props, EExpandShopItems.Labels],\n );\n}\n\nexport async function getVideocontrolItems(providerId: number, token: string): Promise {\n return getShopItems(\n providerId,\n token,\n EShopCategory.Videocontrol,\n [EExpandShopItems.Category, EExpandShopItems.Props],\n );\n}\n","import { isServerSide } from '@r1-frontend/shared/helpers/ssr';\nimport axios from 'axios';\nimport { stringify } from 'qs';\nimport cookies from 'react-cookies';\n\nimport { ACCESS_TOKEN_COOKIE, NO_CACHE_COOKIE } from '~/src/constants';\n\n/**\n * Запрос в ApiContent\n */\nconst axiosContent = axios.create({\n baseURL: isServerSide()\n ? process.env.NEXT_PUBLIC_HOST_API_CONTENT_INNER || process.env.NEXT_PUBLIC_HOST_API_CONTENT\n : process.env.NEXT_PUBLIC_HOST_API_CONTENT,\n});\n\naxiosContent.interceptors.request.use(\n (config) => {\n const token = cookies.load(ACCESS_TOKEN_COOKIE);\n const noCacheKey = cookies.load(NO_CACHE_COOKIE);\n\n const headers = {\n 'X-Requested-With': 'XMLHttpRequest',\n };\n\n if (!config.headers['Authorization'] && token) {\n headers['Authorization'] = `Bearer ${ token }`;\n }\n\n if (noCacheKey) {\n headers['no-cache-key'] = noCacheKey;\n }\n config.headers = { ...config.headers, ...headers };\n\n return config;\n },\n (error) => Promise.reject(error),\n);\n\n/**\n * @deprecated\n * @type {AxiosInstance}\n */\nconst contentRequest = Object.create(axiosContent);\n\ncontentRequest.get = async(url, options) => {\n if (options) {\n options.paramsSerializer = params => {\n return stringify(params);\n };\n }\n return axiosContent.get(url, options);\n};\nexport default contentRequest;\n","import styled from 'styled-components';\n\nimport NukaCarousel from '@r1-frontend/ui-react/components/NukaCarousel';\n\nexport const CustomSwiper = styled(NukaCarousel)`\n padding-left: 0 !important;\n padding-right: 0 !important;\n \n & section,\n & div {\n outline: none;\n }\n\n & > section > div.slider-frame {\n padding: 24px 0 !important;\n\n div.slider-list {\n cursor: default !important;\n }\n }\n`;\n","import { ReactNode, useEffect, useState } from 'react';\nimport { CarouselProps } from 'nuka-carousel';\n\nimport { useMatchMedia } from '@r1-frontend/shared/hooks/useMatchMedia';\n\nimport { CustomSwiper } from './styled';\n\nenum EMediaWidth {\n desktop = '(min-width: 1600px)',\n sDesktop = '(max-width: 1599px) and (min-width: 1280px)',\n laptop = '(max-width: 1279px) and (min-width: 768px)',\n mobile = '(max-width: 767px)',\n}\n\ntype TBreakpoint = 'desktop' | 'sDesktop' | 'laptop' | 'mobile';\n\ntype TVisibleSlides = {\n [key in TBreakpoint]: number;\n};\n\ninterface IProps extends CarouselProps {\n children: Array,\n desktopSlideWidth?: string,\n mobileSlideWidth?: string,\n visibleSlides?: TVisibleSlides,\n [key: string]: unknown,\n}\n\nconst defaultVisibleSlides: TVisibleSlides = {\n desktop: 4,\n sDesktop: 3,\n laptop: 2,\n mobile: 1,\n};\n\n/**\n * Адаптив карусели Nuka-Carousel\n * @param items - массив компонентов (TariffCard, ProductCard, etc)\n * @param desktopSlideWidth - ширина слайда карусели на десктопе\n * @param mobileSlideWidth - ширина слайда карусели на мобилках\n * @param visibleSlides - количество целых видимых слайдов в карусели\n * @returns Function{}\n */\n// todo: move to ui-react\nconst AdaptiveNukaCarousel = ({\n children,\n desktopSlideWidth = '304px',\n mobileSlideWidth = '288px',\n visibleSlides = defaultVisibleSlides,\n ...props\n}: IProps): JSX.Element => {\n const [hideArrows, setHideArrows] = useState(false);\n const [hideDots, setHideDots] = useState(false);\n const [slideWidth, setSlideWidth] = useState(desktopSlideWidth);\n\n const isDesktop = useMatchMedia(EMediaWidth.desktop);\n const isSDesktop = useMatchMedia(EMediaWidth.sDesktop);\n const isLaptop = useMatchMedia(EMediaWidth.laptop);\n const isMobile = useMatchMedia(EMediaWidth.mobile);\n\n useEffect(() => {\n if (isMobile) {\n setSlideWidth(mobileSlideWidth);\n setHideArrows(true);\n if (children.length > visibleSlides.mobile) {\n setHideDots(false);\n } else {\n setHideDots(true);\n }\n } else {\n setSlideWidth(desktopSlideWidth);\n if ((isLaptop && children.length > visibleSlides.laptop) ||\n (isSDesktop && children.length > visibleSlides.sDesktop) ||\n (isDesktop && children.length > visibleSlides.desktop)) {\n setHideArrows(false);\n setHideDots(false);\n } else {\n setHideArrows(true);\n setHideDots(true);\n }\n }\n }, [\n isDesktop,\n isSDesktop,\n isLaptop,\n isMobile,\n children,\n desktopSlideWidth,\n mobileSlideWidth,\n visibleSlides,\n ]);\n\n return (\n \n {children}\n \n );\n};\n\nexport default AdaptiveNukaCarousel;\n","import { ACTIONS } from '@r1-frontend/shared/constants/analytics';\nimport { BaseButton, btnTypes } from '@r1-frontend/ui-react/components/buttons/baseButton';\nimport { PolicyNote } from '@r1-frontend/ui-react/components/PolicyNote';\nimport { IndentContainer } from '@r1-frontend/ui-react/experimental/containers';\nimport React, { Component } from 'react';\nimport styled from 'styled-components';\n\nimport { POLICY_PAGE_LINK } from '~/src/constants';\nimport { dataLayerForCBPhonePush } from '~/src/helpers/eventsForDataLayer';\n\nimport * as ST from './styled';\n\nconst Form = styled.div`\n width: 100%;\n display: flex;\n flex-direction: column;\n`;\n\nconst FormInputs = styled.div`\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: space-between;\n @media (max-width: 600px) {\n flex-direction: column;\n }\n\n`;\n\nconst ButtonSubmit = styled(BaseButton)`\n width: 50%;\n margin-right: 10px;\n @media (max-width: 600px) {\n width: 100%;\n max-width: 100%;\n margin-right: 0;\n margin-bottom: 10px;\n }\n`;\n\nclass CallBackEquipment extends Component {\n constructor(props) {\n super(props);\n this.state = {\n fio: {\n value: '',\n isValid: false,\n clearInput: () => {},\n },\n phone: {\n value: '',\n isValid: false,\n clearInput: () => {},\n },\n isValid: false,\n isSending: false,\n beenStarted: false,\n checkAgreement: true,\n };\n }\n\n checkValid = (name, value) => {\n const { beenStarted } = this.state;\n const { option, isPopup, isAuth, agreement } = this.props;\n this.setState({\n [name]: value,\n }, () => this.validate());\n\n if (!beenStarted) {\n dataLayerForCBPhonePush({\n action: isAuth ? ACTIONS.startedEquip : ACTIONS.started,\n requestId: null,\n option,\n isPopup,\n uid: isAuth ? agreement : null,\n });\n this.setState({\n beenStarted: true,\n });\n }\n };\n\n validate = () => {\n let isValidated = false;\n const fioValidated = this.state.fio.isValid;\n const phoneValidated = this.state.phone.isValid;\n if (fioValidated && phoneValidated) {\n isValidated = true;\n }\n this.setState({\n isValid: isValidated,\n });\n };\n\n onSubmit = () => {\n const { sendRequest, extParams, formRef, option } = this.props;\n const { fio, phone } = this.state;\n\n this.setState({ isSending: true }, async() => {\n const params = {\n phone: phone.value,\n fio: fio.value,\n option,\n isPopup: true,\n ...extParams,\n };\n // @TODO Проверить нужен ли formRef?\n await sendRequest(params, formRef);\n });\n };\n\n onChangeAgreementHandler = () => {\n this.setState((prev) => ({ checkAgreement: !prev.checkAgreement }));\n }\n\n reset = () => {\n this.state.fio.clearInput();\n this.state.phone.clearInput();\n this.setState({\n isValid: false,\n isSending: false,\n });\n };\n\n render() {\n const { isValid, isSending, checkAgreement } = this.state;\n const { textButton } = this.props;\n const btnText = textButton || 'Перезвоните мне';\n\n return (\n
\n \n this.checkValid('fio', value)}\n className={'ym-disable-keys'}\n />\n this.checkValid('phone', value)}\n className={'ym-disable-keys'}\n />\n \n \n \n \n \n \n );\n }\n}\n\nexport default CallBackEquipment;\n","import { pluralize } from '@r1-frontend/shared/helpers/pluralize';\nimport { monthPluralize } from '@r1-frontend/shared/helpers/pluralize/predifined';\nimport { EPriceTypes } from '@r1-frontend/shared/types/EPriceTypes';\nimport React, { PureComponent } from 'react';\n\nimport RequestForm from '~/src/components/Equipment/form/requestForm';\n\nimport * as ST from './styled';\n\nclass OrderPopup extends PureComponent {\n constructor(props) {\n super(props);\n this.state = { label: '' };\n this.onCloseWrapper = this.onCloseWrapper.bind(this);\n }\n\n setExtParams = () => {\n const { selectRouter } = this.props;\n\n if (selectRouter) {\n const { materialsEnsId, global_id } = selectRouter.router;\n const { type, value } = selectRouter.option;\n\n const extParams = {\n tv_equipment_id: materialsEnsId || global_id,\n tv_equipment_buy: type === EPriceTypes.Possess ? 'sale' : 'leasing',\n };\n\n if (type === EPriceTypes.Possess) {\n extParams.tv_equipment_buy = 'sale';\n } else {\n extParams.tv_equipment_buy = 'leasing';\n extParams.tv_equipment_duration = value;\n }\n\n return extParams;\n }\n };\n\n componentDidUpdate() {\n const { selectedOption, selectRouter } = this.props;\n if (selectRouter || selectedOption) {\n const { value, type } = selectedOption || selectRouter?.option;\n this.setState({\n label: `${this.getRouterName()} | ${this.getTypeOfBuy({ type, value })}`,\n });\n }\n }\n\n getTypeOfBuy = ({ type, value }) => {\n return type === EPriceTypes.Possess ? 'Покупка' : `Рассрочка на ${value} ${pluralize(value, monthPluralize)}`;\n };\n\n getRouterName = () => {\n const { name, selectRouter } = this.props;\n return name || selectRouter?.router?.materialsEnsName || selectRouter?.router?.title;\n };\n\n onCloseWrapper = () => {\n const { closeClick } = this.props;\n closeClick();\n };\n\n renderOrderLine = () => {\n const { selectedOption, selectRouter } = this.props;\n if (selectRouter || selectedOption) {\n const { price, value, type, pricePromo } = selectedOption || selectRouter?.option;\n\n return \n
\n {this.getTypeOfBuy({ type, value })}\n
\n \n {pricePromo || price}\n {type === EPriceTypes.Possess ? '₽' : '₽/мес'}\n \n
;\n }\n };\n\n render() {\n const {\n isOpened,\n sendRequest,\n formRef,\n extParams,\n isPopup,\n extLabel,\n isAuth,\n agreement,\n text = 'Стоимость доставки платная. Оставьте заявку, и мы вам перезвоним для уточнения деталей.',\n } = this.props;\n\n const { label } = this.state;\n\n return (\n \n \n \n {this.getRouterName()}\n Оформление заявки на заказ\n \n \n {this.renderOrderLine()}\n \n \n \n \n \n );\n }\n}\n\nexport default OrderPopup;\n","// https://kb.ertelecom.ru/pages/viewpage.action?pageId=429887688\nexport enum EAccessRights {\n UserGuest = 2 ** 1,\n UserAuth = 2 ** 2,\n\n PlatformSite = 2 ** 9,\n\n ConditionZasmotris = 2 ** 25,\n}\n\ninterface IAccessModeProps {\n rights?: EAccessRights[],\n isAuth?: boolean,\n}\n\nexport const getAccessModeByRights = ({ rights = [], isAuth }: IAccessModeProps): number => {\n let result = EAccessRights.PlatformSite | rights.reduce((acc, right) => acc + right, 0);\n\n if (typeof isAuth === 'boolean') {\n if (isAuth) {\n result += EAccessRights.UserAuth;\n } else {\n result += EAccessRights.UserGuest;\n }\n }\n\n return result;\n};\n","/* eslint-disable complexity */\nimport { COLORS } from '@r1-frontend/ui-react/assets/js/constants';\n\nconst MONO_VILLAGE_URL_PART = '/mono-village';\nconst BUNDLES_VILLAGE_URL_PART = '/village';\n\nexport const replaceCityVars = (data, cityObject) => {\n if (!data) {\n return data;\n }\n\n if ('string' === typeof data) {\n return data.replace('%cityIn%', cityObject.cityIn);\n }\n\n let result = data;\n if (Array.isArray(data)) {\n result = [];\n data.forEach(prop => {\n result.push(replaceCityVars(prop, cityObject));\n });\n return result;\n } else if ('object' === typeof data) {\n result = { ...data };\n Object.keys(result).forEach(key => {\n const prop = result[key];\n result[key] = replaceCityVars(prop, cityObject);\n });\n }\n\n return result;\n};\n\n// TODO требуется типизация по коду используется как { ITariff } from '~/src/models/formattedTariff'\nexport const formattingTariffForCard = (tariff) => {\n const isCottage = tariff.is_cottage;\n const defaultColor = '#000';\n const freePackets = tariff.salePackage2in1 ? tariff.salePackage2in1.free_packets : 0;\n const reserveColor = tariff.description?.color_text || COLORS.black;\n const titleColors = [\n tariff.description?.color_title_start || reserveColor,\n tariff.description?.color_title_end || reserveColor,\n ];\n\n return ({\n alias: tariff.description ? tariff.description.alias : '',\n additionalProducts: tariff.additionalProducts || [],\n advantages: tariff.advantages,\n availableClient: Boolean(tariff.available_client ? tariff.available_client : 0),\n availableGuest: Boolean(tariff.available_guest ? tariff.available_guest : 0),\n availableOnMainPage: !!tariff.available_on_main_page,\n availableOnInternetPage: !!tariff.available_on_internet_page,\n color: tariff.description?.color || '',\n colorText: tariff.description?.color_text || '',\n description: tariff.description ? tariff.description.description : '',\n freePackets: freePackets,\n fullSaleId: tariff.full_sale_id ?? tariff.salePackage3in1?.full_sale_id ??\n tariff.salePackage2in1?.full_sale_id ?? undefined,\n hasRequiredEquipment: tariff.hasRequiredEquipment,\n headingColor: tariff.description?.color ?? defaultColor,\n imageBackground: tariff.description?.image_background ? `url(${tariff.description.image_background})` : COLORS.white,\n imageBackgroundWebp: tariff.description?.image_background_webp ? `url(${tariff.description.image_background_webp})` : null,\n imageInHead: true,\n includes: tariff.includes,\n isCottage: isCottage,\n isSelfOrder: tariff.is_self_order ?? tariff.salePackage3in1?.is_self_order ??\n tariff.salePackage2in1?.is_self_order,\n lineId: tariff.description?.line_id,\n location: tariff.location === undefined ? ('/internet' + (isCottage ? MONO_VILLAGE_URL_PART : '')) : tariff.location,\n offerContents: tariff.offerContents || [],\n price: tariff.price_final,\n priceAction: tariff.promo_price_final ? tariff.promo_price_final : null,\n priceActionPeriod: tariff.promo_duration_final ? tariff.promo_duration_final : null,\n priceConnect: tariff.connect_price,\n priceIncludedVas: tariff.price_included_vas ? Number(tariff.price_included_vas) : null,\n productId: tariff.tariff_id,\n productIdForBilling: 5,\n productType: 40,\n promoDuration: tariff.promo_duration,\n promoDurationType: tariff.promo_dur_type,\n promoted: tariff.promote,\n salePackageId: tariff.sale_package_id,\n salePackageLinks: tariff.salePackageLinks,\n sortOnBundles: Number(tariff.sort_on_bundles),\n sortOnInternet: Number(tariff.sort_on_internet),\n sortOnInternetLines: Number(tariff.sort_on_internet_lines),\n speed: tariff.speed,\n speedAction: tariff.speed_bonus,\n speedActionPeriod: tariff.speed_bonus_duration,\n subscriptionsSummary: tariff.subscriptionsSummary,\n tariffLine: tariff.description?.tariffLine,\n title: tariff.description?.title || tariff.tariff_name_display || '',\n titleColors: titleColors,\n type: 'internet',\n weight: tariff.description?.sort,\n promoLabel: tariff.description?.promoLabel,\n });\n};\n\nexport const formattingBundleForCard = (tariff) => {\n const isCottage = tariff.salePackage2in1.is_cottage;\n const defaultColor = '#34c270';\n const reserveColor = tariff.description?.color_text || COLORS.black;\n const titleColors = [\n tariff.description?.color_title_start || reserveColor,\n tariff.description?.color_title_end || reserveColor,\n ];\n\n return ({\n alias: tariff.description ? tariff.description.alias : '',\n additionalProducts: tariff.additionalProducts || [],\n advantages: tariff.advantages,\n analogCount: Number(tariff.salePackage2in1.analog_count),\n availableClient: Boolean(tariff.description.available_client),\n availableGuest: Boolean(tariff.description.available_guest),\n availableOnMainPage: !!tariff.description.available_on_main_page,\n availableOnInternetPage: !!tariff.description.available_on_internet_page,\n color: tariff.description?.color || '',\n colorText: tariff.description?.color_text || '',\n description: tariff.description ? tariff.description.description : '',\n descriptionFull: tariff.description_full ? tariff.description_full : '',\n freePackets: tariff.salePackage2in1.free_packets,\n fullSaleId: tariff.full_sale_id ?? tariff.salePackage3in1?.full_sale_id ??\n tariff.salePackage2in1?.full_sale_id ?? undefined,\n hasRequiredEquipment: tariff.hasRequiredEquipment,\n hdCount: Number(tariff.salePackage2in1.hd_count),\n headingColor: tariff.description?.color ?? defaultColor,\n imageBackground: tariff.description?.image_background ? `url(${tariff.description.image_background})` : COLORS.white,\n imageBackgroundWebp: tariff.description?.image_background_webp ? `url(${tariff.description.image_background_webp})` : null,\n imageInHead: false,\n includes: tariff.includes,\n isCottage: isCottage,\n isSelfOrder: tariff.is_self_order ?? tariff.salePackage3in1?.is_self_order ??\n tariff.salePackage2in1?.is_self_order,\n lineId: tariff.description?.line_id,\n location: tariff.location === undefined ? ('/bundles' + (isCottage ? BUNDLES_VILLAGE_URL_PART : '')) : tariff.location,\n offerContents: tariff.offerContents,\n price: tariff.salePackage2in1.price_final,\n priceAction: tariff.salePackage2in1.promo_price_final ? tariff.salePackage2in1.promo_price_final : null,\n priceActionPeriod: tariff.salePackage2in1.promo_duration_final\n ? tariff.salePackage2in1.promo_duration_final\n : null,\n priceConnect: Number(tariff.price_connect_internet) + Number(tariff.price_connect_tv),\n priceIncludedVas: Number(tariff.price_included_vas),\n productId: tariff.sale_package_id,\n productIdForBilling: 0,\n productType: 100,\n promoDuration: tariff.salePackage2in1.promo_duration,\n promoDurationType: tariff.salePackage2in1.promo_dur_type,\n promoted: tariff.description?.promoted,\n salePackageId: tariff.sale_package_id,\n salePackageLinks: tariff.salePackageLinks,\n sdCount: Number(tariff.salePackage2in1.sd_count),\n sortOnBundles: Number(tariff.description.sort_on_bundles),\n sortOnInternet: Number(tariff.description.sort_on_internet),\n sortOnInternetLines: Number(tariff.description.sort_on_internet_lines),\n speed: tariff.speed_int,\n speedAction: tariff.speed_bonus,\n speedActionPeriod: tariff.speed_bonus_duration,\n subscriptionsSummary: tariff.subscriptionsSummary,\n tariffLine: tariff.description?.tariffLine,\n title: tariff.description ? (tariff.description.title || tariff.description.tariff_name) : '',\n titleColors: titleColors,\n type: 'bundles',\n weight: tariff.description?.weight,\n promoLabel: tariff.description?.promoLabel,\n });\n};\n","import { useEffect, useRef, useState } from 'react';\n\nimport { isClientSide } from '@r1-frontend/shared/helpers/ssr';\n\n/**\n * @param {function} callBack - вызываемя функция\n * @param {Node|null} root - dom Элемент который используется в качестве\n * области просмотра для проверки видимости целевого элемента\n * @param {string} rootMargin - Отступы вокруг root. Могут иметь значения как\n * свойство css margin: \"10px 20px 30px 40px\" (top, right, bottom, left).\n * Значения можно задавать в процентах.\n * @param {number|number[]} threshold - Число или массив чисел, указывающий,\n * при каком проценте видимости целевого элемента должен сработать\n * callback.\n * @return {function(value: Node):undefined}\n */\nexport const useIntersectionObserver = (\n callBack: IntersectionObserverCallback,\n { root = null, rootMargin, threshold = 0 }: IntersectionObserverInit,\n): React.Dispatch> => {\n // ссылка на элемент за которым будем/уже след -ить/-им\n const [node, setNode] = useState(null);\n\n let observerInst = null;\n\n if (isClientSide()) {\n observerInst = new window.IntersectionObserver(callBack, {\n root,\n rootMargin,\n threshold,\n });\n }\n\n const observer = useRef(observerInst);\n\n useEffect(\n () => {\n if (observer.current && node) {\n const { current: currentObserver } = observer;\n // отсоединяемся от предыдущего элемента\n currentObserver.disconnect();\n\n if (node) {\n // следим за текущим\n currentObserver.observe(node);\n }\n // при размонтировании отписываемся\n return () => {\n currentObserver.disconnect();\n };\n }\n },\n [node],\n );\n\n return setNode;\n};\n","import React, { useCallback } from 'react';\n\ntype TRef = React.RefObject;\n\ninterface IScrollSettings {\n alignment?: ScrollLogicalPosition,\n behavior?: ScrollBehavior,\n absolute?: 'top' | 'bottom',\n}\n\n/**\n * Хук скролла к элементу\n *\n * Если нужен просто скролл (вверх/вниз страницы) без привязки к элементу, используйте настройку { absolute: 'top' | 'bottom' }\n *\n * @function\n * @name hooks.useScroll\n * @param {Object} settings - Настройки поведения скролла. С аргументом offsetY отработает только свойство settings.behavior.\n * @param {number} offsetY - Скроллинг со сдвигом позиции.\n * @returns {(ref: TRef) => void}\n */\nexport function useScroll(\n settings?: IScrollSettings,\n offsetY?: number,\n): (ref: TRef | null) => void {\n return useCallback((ref) => {\n const behavior = settings?.behavior || 'smooth';\n\n if (settings?.absolute) {\n window.scrollTo({ top: settings.absolute === 'top' ? 0 : document.body.scrollHeight, behavior });\n return;\n }\n\n if (offsetY) {\n const top = ref?.current?.getBoundingClientRect().top || 0;\n const y = top + window.pageYOffset + offsetY;\n window.scrollTo({ top: y, behavior });\n } else {\n ref?.current?.scrollIntoView({\n behavior,\n block: settings?.alignment || 'center',\n });\n }\n }, [settings, offsetY]);\n}\n","const f_s = '.'; // разделитель дробной части\n\n/**\n * В число\n * @param {*} v - значение\n * @return {number}\n */\nexport const toNumber = v => typeof v === 'string' ? parseFloat(v.toString().replace(' ', '').replace(',', f_s)) : Number(v);\n\n/**\n * Число?\n * @param {*} v - значение\n * @return {boolean}\n */\nexport const isNumeric = v => {\n if (typeof v === 'number') {\n return true;\n }\n const str = (v || '').toString();\n if (!str) {\n return false;\n }\n const float = toNumber(str);\n return !isNaN(float) && isFinite(float);\n};\n\n/**\n * Форматирование цены\n * @param {(number|string)} amount число\n * @param {number} [x=3] длина секции\n * @param {string} [s=' '] разделитель секций\n * @param {number} [d=0] длина дробной части\n * @param {string} [c='.'] разделитель дробной части\n * @return {string}\n */\nexport const toCurrency = (amount, x = 3, s = ' ', d, c = f_s) => {\n const n = toNumber(amount);\n d = d || (x => (x.includes('.') ? x.split('.').pop().length : 0))(n.toString());\n const str = n.toFixed(Math.max(0, ~~d));\n const re = `\\\\d(?=(\\\\d{${x}})+${d > 0 ? '\\\\D' : '$'})`;\n return (c ? str.replace('.', c) : str).replace(new RegExp(re, 'g'), `$&${s}`);\n};\n\n/**\n * Целая часть от деления\n * @param {Number} a\n * @param {Number} b\n * @return {number}\n */\nexport function integerDivision(a, b) {\n return (a - a % b) / b;\n}\n","import get from 'lodash/get';\nimport { createSelector } from 'reselect';\n\n/**\n *\n * @param {import('../../index').TState} state\n */\nconst getTariffs = ({ bundles }) => get(bundles, 'tariffs.byId');\nexport const getTariffsSelector = createSelector(\n [getTariffs],\n tariffs => [...Object.values(tariffs)],\n);\n\nexport const getTariffChannels = (state) => {\n const isActiveFilter = state.bundles.channelsFiltersIsApply;\n return isActiveFilter ? state.bundles.filteredChannels : state.bundles.tariffChannels;\n};\n\nexport const getTariffChannelsWithId = createSelector(\n state => getTariffChannels(state),\n channels => channels.map(channel => ({\n ...channel,\n id: channel.xvid,\n })),\n);\n\n","import { createSelector } from 'reselect';\n\nimport { IInternetPackage } from '@r1-frontend/api-domru/api-content/v1/internet-tariffs/dto/ResponseDto';\n\nimport { ISelectedFilters } from '~/src/entities/filteredBundles';\nimport { ITariff } from '~/src/entities/formattedTariff';\nimport { formattingBundleForCard, formattingTariffForCard } from '~/src/helpers/formatter';\nimport { TState } from '~/src/store';\nimport { getTariffsSelector } from '~/src/store/selectors/bundles';\n\nexport const selectAllTariffs = createSelector(\n [\n getTariffsSelector,\n (state: TState) => state.internet.tariffs,\n ],\n (bundles, internet) => {\n // возвращаемый функциями форматирования объект не согласован с ITariff - но повсеместно в коде используется как ITariff, требуется доработка ITariff.\n const formatBundles: ITariff[] = bundles.map(formattingBundleForCard);\n const formatInternets: ITariff[] = internet.map(formattingTariffForCard);\n\n return [\n ...formatBundles,\n ...formatInternets,\n ].sort((a, b) => a.weight - b.weight);\n },\n);\n\nexport const selectInternetTariffByAlias = createSelector(\n [\n (state: TState) => state.internet.tariffs,\n (_: TState, alias: string | number) => alias,\n ],\n (tariffs, alias) => {\n const tariff = tariffs.find(\n ({ description }: IInternetPackage) => description?.alias === alias,\n );\n\n return tariff ? formattingTariffForCard(tariff) : null;\n },\n);\n\n\nexport const selectCheckedFilters = createSelector(\n [\n (state: TState): ISelectedFilters[] => state?.filteredBundles?.selected,\n (state: TState): string => state?.filteredBundles?.groupKey,\n ],\n (selectedFilters, actualGroupKey) => selectedFilters.filter(\n filter => filter.group === actualGroupKey && !!filter.values.length,\n ),\n);\n\nexport const selectIsEmpty = (state: TState): boolean => !selectCheckedFilters(state).length;\n\ninterface ITariffsByType {\n cityBundles: ITariff[],\n villageBundles: ITariff[],\n cityInternet: ITariff[],\n villageInternet: ITariff[],\n}\n\nexport const selectTariffsByType = createSelector(\n selectAllTariffs,\n tariffs => {\n return tariffs.reduce((acc: ITariffsByType, tariff) => {\n tariff.isCottage === 0 && acc.cityBundles.push(tariff);\n tariff.type === 'bundles' && tariff.isCottage !== 0 && acc.villageBundles.push(tariff);\n tariff.type === 'internet' && tariff.isCottage === 0 && acc.cityInternet.push(tariff);\n tariff.type === 'internet' && tariff.isCottage !== 0 && acc.villageInternet.push(tariff);\n return acc;\n }, {\n cityBundles: [],\n villageBundles: [],\n cityInternet: [],\n villageInternet: [],\n });\n },\n);\n\n\nconst getPrice = (tariff: ITariff) => tariff['priceAction'] || tariff['price'] || 0;\n\ninterface IMinCostedTariff {\n description: string,\n price: string,\n url: string,\n}\nexport const selectMinCostedTariff = (filter: (tariff: ITariff) => void) => createSelector(\n selectAllTariffs,\n (tariffs): IMinCostedTariff | null => {\n const filteredTariffs = tariffs.filter(filter);\n\n if (filteredTariffs.length) {\n const sortedTariffs = [...filteredTariffs].sort((a, b) => getPrice(a) - getPrice(b));\n const minCostedTariff = sortedTariffs[0];\n\n return ({\n description: minCostedTariff?.seo_description || minCostedTariff?.description || '',\n price: getPrice(minCostedTariff).toString(),\n url: minCostedTariff?.alias && `full-buy?tariffName=${minCostedTariff?.alias}&monoTariff=true` || '',\n });\n }\n\n return null;\n },\n);\n\nexport const selectAvailableOnInternetPageTariffs = ({ isCottage }: {\n isCottage?: boolean,\n}) => createSelector(\n selectAllTariffs,\n (allTariffs: ITariff[]): ITariff[] =>\n allTariffs\n .filter((tariff: ITariff) =>\n tariff.availableOnInternetPage && isCottage === Boolean(tariff.isCottage)),\n);\n\nexport const selectAndSortAvailableOnInternetPageTariffs = ({ isCottage }: {\n isCottage?: boolean,\n}) => createSelector(\n selectAvailableOnInternetPageTariffs({ isCottage }),\n (tariffsAvailableOnInternetPage: ITariff[]): ITariff[] =>\n tariffsAvailableOnInternetPage\n .sort((tariffA, tariffB) => {\n const speedDiff = tariffB['speed'] - tariffA['speed'];\n if (speedDiff !== 0) {\n return speedDiff;\n }\n\n const priceDiff = getPrice(tariffA) - getPrice(tariffB);\n if (priceDiff !== 0) {\n return priceDiff;\n }\n\n return tariffA.type === 'internet' ? -1 : 1;\n }),\n);\n","// обрезать строку с многоточием при привышении заданного количества символом visibleLength\n// до выноса называлась ellipsis\nexport const truncate = (string: string | undefined, visibleLength: number) => {\n if (!string) {\n return '';\n }\n\n return string.length > visibleLength && visibleLength !== 0\n ? `${string.slice(0, visibleLength).trim()}...`\n : string;\n};\n","import { useCallback, useState } from 'react';\n\n/**\n * Вызывает функцию callBack не более одного раза.\n * Использование: отправка события аналитики при начале редактирования.\n */\n// todo: Перенести в shared\nexport const useOnceExecute = (callBack: () => void): () => void => {\n const [wasCalled, setWasCalled] = useState(false);\n\n return useCallback(() => {\n !wasCalled && setWasCalled((wasCalled) => {\n if (!wasCalled) {\n callBack();\n }\n\n return true;\n });\n }, [wasCalled, callBack]);\n};\n","export enum EPriceTypes {\n Possess = 1, // Покупка за полную стоимость\n Leasing = 5, // Покупка в рассрочку\n}\n","import styled, { css } from 'styled-components';\n\n// @ts-ignore\nimport svg from './arrow.svg';\n\nexport const Wrapper = styled.div`\n width: fit-content;\n height: 30px;\n opacity: 0.2;\n transition: opacity 0.2s ease-in;\n cursor: pointer;\n \n :hover {\n opacity: 1;\n }\n`;\n\nexport const ArrowSvg = styled.img.attrs({\n src: svg,\n})<{ type?: 'left' | 'right' }>`\n height: 100%;\n ${({ type }) => type === 'right' && css`transform: rotate(180deg);`}\n`;\n","import styled, { CSSObject, keyframes } from 'styled-components';\n\nimport { COLORS } from '../../../assets/js/constants';\n\nexport interface ICustomDotsStyles {\n dotsContainer?: CSSObject,\n dot?: CSSObject,\n dotContainer?: CSSObject,\n activeDot?: CSSObject,\n}\n\nexport const Dot = styled.div<{ active?: boolean, customStyles?: ICustomDotsStyles }>`\n height: 100%;\n width: 100%;\n border-radius: 2px;\n background: ${COLORS.black};\n opacity: 0.1;\n transition: opacity .3s ease;\n ${p => p.customStyles?.dot ?? ''};\n\n &:hover {\n opacity: ${({ active }) => active ? 1 : 0.45};\n }\n`;\n\nexport const DotContainer = styled.div<{ active?: boolean, customStyles?: ICustomDotsStyles }>`\n position: relative;\n width: ${({ active }) => active ? '48px' : '24px'};\n height: 4px;\n margin: 0 4px;\n cursor: pointer;\n transition: width .3s ease;\n ${p => p.customStyles?.dotContainer ?? ''};\n`;\n\nconst activeLineAnimation = keyframes`\n 0% { width: 0; }\n 100% { width: 100%; }\n`;\n\nexport const ActiveLine = styled.div<{ active?: boolean, time?: number, customStyles?: ICustomDotsStyles }>`\n display: ${({ active }) => active ? 'initial' : 'none'};\n position: absolute;\n top: 0;\n left: 0;\n background: ${COLORS.black};\n width: ${({ active }) => active ? '100%' : '0%'};\n height: 100%;\n border-radius: 2px;\n animation-name: ${activeLineAnimation};\n animation-duration: ${({ time }) => time || 0}s;\n animation-iteration-count: 1;\n ${p => p.customStyles?.activeDot ?? ''};\n`;\n\nexport const DotsContainer = styled.div< {customStyles?: ICustomDotsStyles }>`\n justify-content: center;\n width: 100%;\n margin-top: 10px;\n bottom: 26px;\n z-index: 10;\n flex-wrap: nowrap;\n ${p => p.customStyles?.dotsContainer ?? ''};\n`;\n","import React from 'react';\n\nimport * as ST from './styled';\n\nexport interface IArrowProps {\n previousSlide?: () => void,\n nextSlide?: () => void,\n}\n\nconst DefaultArrow = ({ previousSlide, nextSlide }: IArrowProps) => {\n return (\n \n \n \n );\n};\n\nexport default DefaultArrow;\n","import React, { FC } from 'react';\n\nimport * as ST from './styled';\n\nexport interface IDotsProps {\n goToSlide: (i: number) => void,\n slideCount: number,\n currentSlide: number,\n autoplayInterval: number,\n autoplay: boolean,\n customDotsStyles?: ST.ICustomDotsStyles,\n}\n\nconst DefaultDots: FC = ({\n goToSlide,\n slideCount,\n currentSlide,\n autoplayInterval,\n autoplay,\n customDotsStyles,\n}) => {\n return (\n \n {Array(slideCount).fill(null).map((_, index) => (\n goToSlide(index)}\n customStyles={customDotsStyles}\n >\n \n \n \n ))}\n \n );\n};\n\nexport default DefaultDots;\n","import styled from 'styled-components';\n\nexport const Container = styled.div<{ withoutDots?: boolean, withoutArrows?: boolean }>`\n display: flex;\n justify-content: center;\n width: 100%;\n height: fit-content;\n margin: 0 auto;\n padding-bottom: ${({ withoutDots }) => withoutDots ? 0 : 32}px;\n padding-right: ${({ withoutArrows }) => withoutArrows ? 0 : 32}px;\n padding-left: ${({ withoutArrows }) => withoutArrows ? 0 : 32}px;\n \n div:focus-visible {\n outline: none !important;\n }\n`;\n","import React, { FC, RefObject, useEffect, useRef, useState } from 'react';\nimport NukaSwiper, {\n CarouselControlContainerProp,\n CarouselProps,\n} from 'nuka-carousel';\n\nimport { ICustomDotsStyles } from './DefaultDots/styled';\nimport DefaultArrow, { IArrowProps } from './DefaultArrow';\nimport DefaultDots, { IDotsProps } from './DefaultDots';\n\nimport * as ST from './styled';\n\nexport interface ICarouselProps extends CarouselProps {\n withoutArrows?: boolean,\n withoutDots?: boolean,\n customArrow?: FC,\n customDots?: FC,\n customDotsStyles?: ICustomDotsStyles,\n}\n\ninterface INukaSwiperMethods {\n setDimensions: () => void,\n}\n\nconst DEFAULT_AUTOPLAY_INTERVAL = 3000;\nconst DOTS_PADDING = -20;\nconst ARROWS_PADDING = -32;\n\nconst getDefaultControlsContainerStyles = (key: CarouselControlContainerProp) => {\n switch (key) {\n case 'BottomCenter':\n return {\n bottom: DOTS_PADDING,\n };\n case 'CenterRight':\n return {\n right: `${ARROWS_PADDING}px`,\n };\n case 'CenterLeft':\n return {\n left: `${ARROWS_PADDING}px`,\n };\n default: return;\n }\n};\n\nconst NukaCarousel: FC = ({\n customArrow: CustomArrow,\n customDots: CustomDots,\n children,\n withoutArrows,\n withoutControls,\n withoutDots,\n autoplayInterval = DEFAULT_AUTOPLAY_INTERVAL,\n autoplay,\n className,\n customDotsStyles,\n ...props\n}) => {\n const [pausedAutoplay, setPausedAutoplay] = useState(false);\n const Arrow = CustomArrow || DefaultArrow;\n const Dots = CustomDots || DefaultDots;\n const swiperRef = useRef();\n\n useEffect(() => {\n swiperRef?.current?.setDimensions();\n }, [withoutArrows, withoutControls]);\n\n const handleMouseOver = () => {\n if (autoplay) {\n setPausedAutoplay(true);\n }\n };\n\n const handleMouseOut = () => {\n if (autoplay) {\n setPausedAutoplay(false);\n }\n };\n\n return (\n \n }\n // @ts-ignore\n getControlsContainerStyles={getDefaultControlsContainerStyles}\n renderCenterLeftControls={({ previousSlide }) => withoutArrows || }\n renderCenterRightControls={({ nextSlide }) => withoutArrows || }\n renderBottomCenterControls={(props) => withoutDots || (\n \n )}\n autoplayInterval={autoplayInterval}\n autoplay={autoplay}\n withoutControls={withoutControls}\n {...props}\n >\n {children}\n \n \n );\n};\n\nexport default NukaCarousel;\n","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODAiIGhlaWdodD0iODAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3Qgd2lkdGg9IjgwIiBoZWlnaHQ9IjgwIiByeD0iMTIiIGZpbGw9IiNGQUZBRkEiIGZpbGwtb3BhY2l0eT0iMC4xNSIvPjwvc3ZnPg==\"","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/1-ls-18b79609440200d7f3431063b9d009ec.jpg\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/1-ls-c24a7d4a60c8b330406970b887cdc05e.webp\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/2-ls-82d8586c821e5dec8559184a87adeeb7.jpg\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/2-ls-9f4310966ad28db02db81b22838333b7.webp\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/3-5f0a320faddfce2bf57c70d9ce8534aa.jpg\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/3-54aab4b09f413d2a8b1e10ef46159529.webp\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/4-3ba8c28d604cb76be0f75961b2967a2c.jpg\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/4-77a9bdc84ced0221452ae853cddbe14f.webp\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/5-3b33f4aac8d4455257c1a7f82b371021.jpg\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/5-a0d47698bca74ff7dab2f5a98f040d20.webp\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/1-0cd6f9253d2d6c70a192335aacd5e6cb.jpg\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/1-c3b0afce9a3f0a70fc8c9a9da461b45a.webp\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/2-e37a3343df4ca67c01c8cf37f3949072.jpg\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/2-35b42f6ceff3b09cb94e2a7a73ef5f4d.webp\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/3-a6e312dc3e58c7bba32bbb4e1e91f466.jpg\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/3-2a50c45d2339febaca7da524177eb450.webp\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/4-363956c9e2578ac910faf0d6188e5d2d.jpg\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/4-1e41fcab7645bbe958abf59dadbaba1c.webp\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/1-90d99613bd0f464dc6a11d55a10fef0b.jpg\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/1-d258dce2874e9e7485b16c121d3d5909.webp\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/2-4e27865fc24ca50fddcd832aad18c92e.jpg\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/2-1ffaa8a4951ec874370a6b929ec523df.webp\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/3-c8596307c4a030882772df68059c9116.jpg\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/3-704e2e58e2dedc9bfdfe6810cf516e0d.webp\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/header_cover-2a6da6219a61812f3a22149f26383de0.jpg\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/header_cover-59cfd164e48197a2d2a74e200a9cdc27.webp\";","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjMiIHZpZXdCb3g9IjAgMCAyMCAyMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTkuODI0MjIgMjIuNTAzOUMxMC4wMTE3IDIyLjUwMzkgMTAuMzA0NyAyMi40NDUzIDEwLjU4NTkgMjIuMjgxMkMxNi45MTQxIDE4Ljc3NzMgMTkuMDkzOCAxNy4yNDIyIDE5LjA5MzggMTMuMTk5MlY0Ljc1QzE5LjA5MzggMy41MzEyNSAxOC41NzgxIDMuMTMyODEgMTcuNTkzOCAyLjcxMDk0QzE2LjMxNjQgMi4xNzE4OCAxMi4xMDk0IDAuNjgzNTk0IDEwLjgzMiAwLjI1QzEwLjUxNTYgMC4xNDQ1MzEgMTAuMTY0MSAwLjA2MjUgOS44MjQyMiAwLjA2MjVDOS40OTYwOSAwLjA2MjUgOS4xNDQ1MyAwLjE1NjI1IDguODI4MTIgMC4yNUM3LjU1MDc4IDAuNjAxNTYyIDMuMzQzNzUgMi4xODM1OSAyLjA2NjQxIDIuNzEwOTRDMS4wNzAzMSAzLjEyMTA5IDAuNTY2NDA2IDMuNTMxMjUgMC41NjY0MDYgNC43NVYxMy4xOTkyQzAuNTY2NDA2IDE3LjI0MjIgMi43NTc4MSAxOC43NTM5IDkuMDc0MjIgMjIuMjgxMkM5LjM1NTQ3IDIyLjQ0NTMgOS42NDg0NCAyMi41MDM5IDkuODI0MjIgMjIuNTAzOVpNOS44MjQyMiAyMC4zOTQ1QzkuNjYwMTYgMjAuMzk0NSA5LjQ4NDM4IDIwLjMzNTkgOS4xNTYyNSAyMC4xMzY3QzQuMDQ2ODggMTcuMDMxMiAyLjQyOTY5IDE2LjE1MjMgMi40Mjk2OSAxMi43ODkxVjUuMDg5ODRDMi40Mjk2OSA0LjcxNDg0IDIuNTExNzIgNC41NjI1IDIuODE2NDEgNC40NDUzMUM0LjQ4MDQ3IDMuNzc3MzQgNy43MjY1NiAyLjY5OTIyIDkuMzQzNzUgMi4wNTQ2OUM5LjU0Mjk3IDEuOTg0MzggOS42OTUzMSAxLjk0OTIyIDkuODI0MjIgMS45NDkyMkM5Ljk2NDg0IDEuOTQ5MjIgMTAuMTE3MiAxLjk4NDM4IDEwLjMxNjQgMi4wNTQ2OUMxMS45MzM2IDIuNjk5MjIgMTUuMTQ0NSAzLjg0NzY2IDE2Ljg0MzggNC40NDUzMUMxNy4xNDg0IDQuNTUwNzggMTcuMjE4OCA0LjcxNDg0IDE3LjIxODggNS4wODk4NFYxMi43ODkxQzE3LjIxODggMTYuMTUyMyAxNS41NzgxIDE3LjA1NDcgMTAuNTAzOSAyMC4xMzY3QzEwLjE3NTggMjAuMzM1OSAxMCAyMC4zOTQ1IDkuODI0MjIgMjAuMzk0NVpNNS44MjgxMiAxNS4wODU5QzUuODI4MTIgMTUuOTE4IDYuMjAzMTIgMTYuMzA0NyA2Ljk3NjU2IDE2LjMwNDdIMTIuNjgzNkMxMy40NTcgMTYuMzA0NyAxMy44MjAzIDE1LjkxOCAxMy44MjAzIDE1LjA4NTlWMTAuNzAzMUMxMy44MjAzIDkuOTI5NjkgMTMuNTAzOSA5LjU0Mjk3IDEyLjg1OTQgOS40OTYwOVY4LjIwNzAzQzEyLjg1OTQgNi4xNjc5NyAxMS42NDA2IDQuNzk2ODggOS44MjQyMiA0Ljc5Njg4QzguMDE5NTMgNC43OTY4OCA2LjgwMDc4IDYuMTY3OTcgNi44MDA3OCA4LjIwNzAzVjkuNDk2MDlDNi4xNTYyNSA5LjU0Mjk3IDUuODI4MTIgOS45Mjk2OSA1LjgyODEyIDEwLjcwMzFWMTUuMDg1OVpNNy45OTYwOSA5LjQ4NDM4VjguMDg5ODRDNy45OTYwOSA2LjgxMjUgOC43MzQzOCA1Ljk2ODc1IDkuODI0MjIgNS45Njg3NUMxMC45MjU4IDUuOTY4NzUgMTEuNjY0MSA2LjgxMjUgMTEuNjY0MSA4LjA4OTg0VjkuNDg0MzhINy45OTYwOVoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyMSAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTExIDIzLjI1NzhDMTEuNTAzOSAyMy4yNTc4IDExLjgwODYgMjIuOTA2MiAxMS44MDg2IDIyLjQwMjNWMjAuMDM1MkwxMy42MzY3IDIxLjA4OThDMTQuMDU4NiAyMS4zMzU5IDE0LjUwMzkgMjEuMzAwOCAxNC43NSAyMC44Nzg5QzE0Ljk2MDkgMjAuNTI3MyAxNC44NDM4IDIwLjA4MiAxNC40MTAyIDE5LjgyNDJMMTEuODA4NiAxOC4zNDc3VjE2Ljk1MzFMMTEuNTc0MiAxMy4wMjczTDE0Ljg3ODkgMTUuMTcxOUwxNi4wOTc3IDE1Ljg3NUwxNi4wODU5IDE4Ljg2MzNDMTYuMDc0MiAxOS4zNjcyIDE2LjQwMjMgMTkuNzA3IDE2LjgxMjUgMTkuNzA3QzE3LjMwNDcgMTkuNjk1MyAxNy41NTA4IDE5LjMzMiAxNy41MzkxIDE4LjgzOThWMTYuNzA3TDE5LjYwMTYgMTcuOTAyM0MyMC4wNDY5IDE4LjE2MDIgMjAuNDkyMiAxOC4wNTQ3IDIwLjczODMgMTcuNjMyOEMyMC45NzI3IDE3LjE5OTIgMjAuODQzOCAxNi43NDIyIDIwLjQxMDIgMTYuNDk2MUwxOC4zNTk0IDE1LjMxMjVMMjAuMTk5MiAxNC4yMzQ0QzIwLjYyMTEgMTQgMjAuODA4NiAxMy42MDE2IDIwLjU3NDIgMTMuMTkxNEMyMC4zNTE2IDEyLjgxNjQgMTkuOTE4IDEyLjcxMDkgMTkuNDg0NCAxMi45NTdMMTYuODk0NSAxNC40Njg4TDE1LjY4NzUgMTMuNzY1NkwxMi4xNDg0IDExLjk5NjFMMTUuNjg3NSAxMC4yMjY2TDE2Ljg5NDUgOS41MjM0NEwxOS40ODQ0IDExLjAzNTJDMTkuOTA2MiAxMS4yODEyIDIwLjM3NSAxMS4xNzU4IDIwLjU4NTkgMTAuODEyNUMyMC44MDg2IDEwLjM5MDYgMjAuNjIxMSA5Ljk5MjE5IDIwLjE5OTIgOS43NDYwOUwxOC4zNTk0IDguNjc5NjlMMjAuNDIxOSA3LjQ5NjA5QzIwLjg1NTUgNy4yNSAyMC45ODQ0IDYuODA0NjkgMjAuNzM4MyA2LjM1OTM4QzIwLjUwMzkgNS45NDkyMiAyMC4wNDY5IDUuODMyMDMgMTkuNjEzMyA2LjA4OTg0TDE3LjUzOTEgNy4yNzM0NFY1LjE0MDYyQzE3LjU1MDggNC42NjAxNiAxNy4zMDQ3IDQuMjk2ODggMTYuODI0MiA0LjI5Njg4QzE2LjQwMjMgNC4yODUxNiAxNi4wNzQyIDQuNjI1IDE2LjA4NTkgNS4xMTcxOUwxNi4wOTc3IDguMTE3MTlMMTQuODc4OSA4LjgwODU5TDExLjU3NDIgMTAuOTc2NkwxMS44MDg2IDcuMDM5MDZWNS42NDQ1M0wxNC40MTAyIDQuMTY3OTdDMTQuODQzOCAzLjkxMDE2IDE0Ljk2MDkgMy40NjQ4NCAxNC43NSAzLjEwMTU2QzE0LjUwMzkgMi42OTE0MSAxNC4wNTg2IDIuNjU2MjUgMTMuNjM2NyAyLjkwMjM0TDExLjgwODYgMy45NTcwM1YxLjU4OTg0QzExLjgwODYgMS4wODU5NCAxMS41MDM5IDAuNzM0Mzc1IDExIDAuNzM0Mzc1QzEwLjUwNzggMC43MzQzNzUgMTAuMTkxNCAxLjA4NTk0IDEwLjE5MTQgMS41ODk4NFYzLjk1NzAzTDguMzI4MTIgMi45MDIzNEM3LjkwNjI1IDIuNjU2MjUgNy40ODQzOCAyLjY5MTQxIDcuMjM4MjggMy4xMDE1NkM3LjAyNzM0IDMuNDY0ODQgNy4xNDQ1MyAzLjkxMDE2IDcuNTc4MTIgNC4xNTYyNUwxMC4xOTE0IDUuNjQ0NTNWNy4wMzkwNkwxMC40MjU4IDEwLjk3NjZMNy4xMDkzOCA4LjgwODU5TDUuOTAyMzQgOC4xMTcxOUw1LjkxNDA2IDUuMTE3MTlDNS45MTQwNiA0LjYyNSA1LjU5NzY2IDQuMjg1MTYgNS4xNzU3OCA0LjI5Njg4QzQuNjgzNTkgNC4yOTY4OCA0LjQzNzUgNC42NjAxNiA0LjQ0OTIyIDUuMTQwNjJWNy4yNzM0NEwyLjM4NjcyIDYuMDg5ODRDMS45NjQ4NCA1Ljg0Mzc1IDEuNDg0MzggNS45NDkyMiAxLjI1IDYuMzU5MzhDMC45OTIxODggNi44MDQ2OSAxLjE0NDUzIDcuMjYxNzIgMS41NzgxMiA3LjQ5NjA5TDMuNjI4OTEgOC42Nzk2OUwxLjc4OTA2IDkuNzQ2MDlDMS4zNjcxOSA5Ljk5MjE5IDEuMTc5NjkgMTAuMzY3MiAxLjQxNDA2IDEwLjgxMjVDMS42MTMyOCAxMS4xNzU4IDIuMDcwMzEgMTEuMjgxMiAyLjUxNTYyIDExLjAzNTJMNS4wOTM3NSA5LjUzNTE2TDYuMzAwNzggMTAuMjI2Nkw5Ljg1MTU2IDExLjk5NjFMNi4zMDA3OCAxMy43NjU2TDUuMDkzNzUgMTQuNDY4OEwyLjUwMzkxIDEyLjk1N0MyLjA4MjAzIDEyLjY5OTIgMS42MjUgMTIuODE2NCAxLjQzNzUgMTMuMTc5N0MxLjE5MTQxIDEzLjYyNSAxLjM2NzE5IDE0IDEuNzg5MDYgMTQuMjM0NEwzLjYyODkxIDE1LjMxMjVMMS41NzgxMiAxNi40OTYxQzEuMTQ0NTMgMTYuNzQyMiAxLjAwMzkxIDE3LjIxMDkgMS4yNSAxNy42MzI4QzEuNTA3ODEgMTguMDY2NCAxLjk2NDg0IDE4LjE0ODQgMi4zODY3MiAxNy45MDIzTDQuNDQ5MjIgMTYuNzE4OFYxOC44Mzk4QzQuNDM3NSAxOS4zMzIgNC42ODM1OSAxOS42OTUzIDUuMTc1NzggMTkuNzA3QzUuNTg1OTQgMTkuNzA3IDUuOTE0MDYgMTkuMzY3MiA1LjkxNDA2IDE4Ljg2MzNMNS45MDIzNCAxNS44NzVMNy4xMDkzOCAxNS4xODM2TDEwLjQyNTggMTMuMDI3M0wxMC4xOTE0IDE2Ljk1MzFWMTguMzQ3N0w3LjU3ODEyIDE5LjgzNTlDNy4xNDQ1MyAyMC4wODIgNy4wMjczNCAyMC41MjczIDcuMjM4MjggMjAuODc4OUM3LjQ4NDM4IDIxLjMwMDggNy45MDYyNSAyMS4zMzU5IDguMzI4MTIgMjEuMDg5OEwxMC4xOTE0IDIwLjAyMzRWMjIuNDAyM0MxMC4xOTE0IDIyLjkwNjIgMTAuNTA3OCAyMy4yNTc4IDExIDIzLjI1NzhaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAzMiAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE2IDE5LjUzNTJDMjUgMTkuNTM1MiAzMS4xNzU4IDEyLjI2OTUgMzEuMTc1OCAxMC4wMDc4QzMxLjE3NTggNy43MzQzOCAyNC45ODgzIDAuNDgwNDY5IDE2IDAuNDgwNDY5QzcuMTI4OTEgMC40ODA0NjkgMC44MjQyMTkgNy43MzQzOCAwLjgyNDIxOSAxMC4wMDc4QzAuODI0MjE5IDEyLjI2OTUgNy4xMTcxOSAxOS41MzUyIDE2IDE5LjUzNTJaTTE2IDE3LjY2MDJDOC43Njk1MyAxNy42NjAyIDIuOTU3MDMgMTEuNTY2NCAyLjk1NzAzIDEwLjAwNzhDMi45NTcwMyA4LjY5NTMxIDguNzY5NTMgMi4zNTU0NyAxNiAyLjM1NTQ3QzIzLjIwNyAyLjM1NTQ3IDI5LjA0MyA4LjY5NTMxIDI5LjA0MyAxMC4wMDc4QzI5LjA0MyAxMS41NjY0IDIzLjIwNyAxNy42NjAyIDE2IDE3LjY2MDJaTTE2IDE2LjEzNjdDMTkuNDEwMiAxNi4xMzY3IDIyLjE0MDYgMTMuMzQ3NyAyMi4xNDA2IDEwLjAwNzhDMjIuMTQwNiA2LjU4NTk0IDE5LjQxMDIgMy44Nzg5MSAxNiAzLjg3ODkxQzEyLjU3ODEgMy44Nzg5MSA5LjgzNTk0IDYuNTg1OTQgOS44NDc2NiAxMC4wMDc4QzkuODU5MzggMTMuMzQ3NyAxMi41NzgxIDE2LjEzNjcgMTYgMTYuMTM2N1pNMTYgMTIuMDIzNEMxNC44NzUgMTIuMDIzNCAxMy45NjA5IDExLjEwOTQgMTMuOTYwOSAxMC4wMDc4QzEzLjk2MDkgOC44OTQ1MyAxNC44NzUgNy45OTIxOSAxNiA3Ljk5MjE5QzE3LjExMzMgNy45OTIxOSAxOC4wMjczIDguODk0NTMgMTguMDI3MyAxMC4wMDc4QzE4LjAyNzMgMTEuMTA5NCAxNy4xMTMzIDEyLjAyMzQgMTYgMTIuMDIzNFoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNTYiIHZpZXdCb3g9IjAgMCA1NiA1NiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yNy44ODk0IDU2QzQzLjE2ODggNTYgNTUuNTU1MyA0My40NjQgNTUuNTU1MyAyOEM1NS41NTUzIDEyLjUzNiA0My4xNjg4IDAgMjcuODg5NCAwQzEyLjYwOTkgMCAwLjIyMzM4OSAxMi41MzYgMC4yMjMzODkgMjhDMC4yMjMzODkgNDMuNDY0IDEyLjYwOTkgNTYgMjcuODg5NCA1NloiIGZpbGw9IiMxQTlGRkYiLz4KPHBhdGggZD0iTTE5Ljk4NDcgMjBIMjIuMTMwNEMyMi42NTQ1IDIwIDIzLjE1NzEgMTkuNzg5MyAyMy41Mjc3IDE5LjQxNDJMMjQuMzQ2MiAxOC41ODU4QzI0LjcxNjggMTguMjEwNyAyNS4yMTk1IDE4IDI1Ljc0MzYgMThIMzAuMDM0OUMzMC41NTkgMTggMzEuMDYxNyAxOC4yMTA3IDMxLjQzMjMgMTguNTg1OEwzMi4yNTA4IDE5LjQxNDJDMzIuNjIxNCAxOS43ODkzIDMzLjEyNCAyMCAzMy42NDgxIDIwSDM1Ljc5MzhDMzYuMzE3OSAyMCAzNi44MjA2IDIwLjIxMDcgMzcuMTkxMiAyMC41ODU4QzM3LjU2MTcgMjAuOTYwOSAzNy43Njk5IDIxLjQ2OTYgMzcuNzY5OSAyMlYzNEMzNy43Njk5IDM0LjUzMDQgMzcuNTYxNyAzNS4wMzkxIDM3LjE5MTIgMzUuNDE0MkMzNi44MjA2IDM1Ljc4OTMgMzYuMzE3OSAzNiAzNS43OTM4IDM2SDE5Ljk4NDdDMTkuNDYwNiAzNiAxOC45NTc5IDM1Ljc4OTMgMTguNTg3MyAzNS40MTQyQzE4LjIxNjcgMzUuMDM5MSAxOC4wMDg1IDM0LjUzMDQgMTguMDA4NSAzNFYyMkMxOC4wMDg1IDIxLjQ2OTYgMTguMjE2NyAyMC45NjA5IDE4LjU4NzMgMjAuNTg1OEMxOC45NTc5IDIwLjIxMDcgMTkuNDYwNiAyMCAxOS45ODQ3IDIwWk0yNy44ODkyIDIzQzI2LjU3OSAyMyAyNS4zMjI0IDIzLjUyNjggMjQuMzk1OSAyNC40NjQ1QzIzLjQ2OTQgMjUuNDAyMSAyMi45NDg5IDI2LjY3MzkgMjIuOTQ4OSAyOEMyMi45NDg5IDI5LjMyNjEgMjMuNDY5NCAzMC41OTc5IDI0LjM5NTkgMzEuNTM1NUMyNS4zMjI0IDMyLjQ3MzIgMjYuNTc5IDMzIDI3Ljg4OTIgMzNDMjkuMTk5NSAzMyAzMC40NTYxIDMyLjQ3MzIgMzEuMzgyNiAzMS41MzU1QzMyLjMwOTEgMzAuNTk3OSAzMi44Mjk2IDI5LjMyNjEgMzIuODI5NiAyOEMzMi44Mjk2IDI2LjY3MzkgMzIuMzA5MSAyNS40MDIxIDMxLjM4MjYgMjQuNDY0NUMzMC40NTYxIDIzLjUyNjggMjkuMTk5NSAyMyAyNy44ODkyIDIzWiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTMwLjY4NCAyNS4xNzE2QzI5Ljk0MjggMjQuNDIxNCAyOC45Mzc1IDI0IDI3Ljg4OTMgMjRDMjYuODQxMSAyNCAyNS44MzU4IDI0LjQyMTQgMjUuMDk0NiAyNS4xNzE2QzI0LjM1MzQgMjUuOTIxNyAyMy45MzcgMjYuOTM5MSAyMy45MzcgMjhDMjMuOTM3IDI5LjA2MDkgMjQuMzUzNCAzMC4wNzgzIDI1LjA5NDYgMzAuODI4NEMyNS44MzU4IDMxLjU3ODYgMjYuODQxMSAzMiAyNy44ODkzIDMyQzI4LjkzNzUgMzIgMjkuOTQyOCAzMS41Nzg2IDMwLjY4NCAzMC44Mjg0QzMxLjQyNTIgMzAuMDc4MyAzMS44NDE2IDI5LjA2MDkgMzEuODQxNiAyOEMzMS44NDE2IDI2LjkzOTEgMzEuNDI1MiAyNS45MjE3IDMwLjY4NCAyNS4xNzE2WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNTYiIHZpZXdCb3g9IjAgMCA1NiA1NiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yNy45NjU1IDU2QzQzLjI0NSA1NiA1NS42MzE1IDQzLjQ2NCA1NS42MzE1IDI4QzU1LjYzMTUgMTIuNTM2IDQzLjI0NSAwIDI3Ljk2NTUgMEMxMi42ODYgMCAwLjI5OTU2MSAxMi41MzYgMC4yOTk1NjEgMjhDMC4yOTk1NjEgNDMuNDY0IDEyLjY4NiA1NiAyNy45NjU1IDU2WiIgZmlsbD0iIzFBOUZGRiIvPgo8ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfOTk5XzMyMzkpIj4KPHBhdGggZD0iTTI3LjE1NTMgMzMuNjAwMkMyOC4xNzE1IDMzLjYwMDIgMjkuMTY0OSAzMy4yOTUyIDMwLjAwOTggMzIuNzIzOEMzMC44NTQ3IDMyLjE1MjQgMzEuNTEzMyAzMS4zNDAzIDMxLjkwMjIgMzAuMzkwMUMzMi4yOTEgMjkuNDQgMzIuMzkyOCAyOC4zOTQ0IDMyLjE5NDUgMjcuMzg1N0MzMS45OTYzIDI2LjM3NyAzMS41MDY5IDI1LjQ1MDUgMzAuNzg4NCAyNC43MjMyQzMwLjA2OTggMjMuOTk2IDI5LjE1NDMgMjMuNTAwOCAyOC4xNTc3IDIzLjMwMDFDMjcuMTYxIDIzLjA5OTUgMjYuMTI3OSAyMy4yMDI0IDI1LjE4OTEgMjMuNTk2QzI0LjI1MDIgMjMuOTg5NiAyMy40NDc4IDI0LjY1NjEgMjIuODgzMiAyNS41MTEyQzIyLjMxODcgMjYuMzY2NCAyMi4wMTczIDI3LjM3MTcgMjIuMDE3MyAyOC40MDAyQzIyLjAyMTQgMjkuNzc4MSAyMi41NjQgMzEuMDk4MyAyMy41MjY3IDMyLjA3MjZDMjQuNDg5MyAzMy4wNDY5IDI1Ljc5MzkgMzMuNTk2MSAyNy4xNTUzIDMzLjYwMDJaTTI3LjE1NTMgMjUuMzY2OVYyNi4yMzM1QzI2Ljg3MzQgMjYuMjMwNyAyNi41OTM4IDI2LjI4NDkgMjYuMzMyOCAyNi4zOTI4QzI2LjA3MTggMjYuNTAwNyAyNS44MzQ3IDI2LjY2MDIgMjUuNjM1NCAyNi44NjE5QzI1LjQzNiAyNy4wNjM3IDI1LjI3ODQgMjcuMzAzNiAyNS4xNzE4IDI3LjU2NzhDMjUuMDY1MiAyNy44MzE5IDI1LjAxMTcgMjguMTE0OSAyNS4wMTQ1IDI4LjQwMDJIMjQuMTU4MkMyNC4xNTYxIDI4LjAwMTMgMjQuMjMyMyAyNy42MDU5IDI0LjM4MjIgMjcuMjM3QzI0LjUzMjEgMjYuODY4IDI0Ljc1MjggMjYuNTMyOCAyNS4wMzE1IDI2LjI1MDdDMjUuMzEwMiAyNS45Njg3IDI1LjY0MTQgMjUuNzQ1MyAyNi4wMDU5IDI1LjU5MzZDMjYuMzcwNSAyNS40NDE5IDI2Ljc2MTEgMjUuMzY0OCAyNy4xNTUzIDI1LjM2NjlaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNOS45MDAzOSAyOC40TDEwLjE1NzMgMjguODMzM0MxMy42NjgyIDM0Ljk4NjcgMjAuMTczMyAzOC44IDI3LjE1NTQgMzguOEMzNC4xMzc1IDM4LjggNDAuNjQyNSAzNC45ODY3IDQ0LjE1MzUgMjguODMzM0w0NC40MTA0IDI4LjRMNDQuMTUzNSAyNy45NjY3QzQwLjY0MjUgMjEuODEzMyAzNC4xMzc1IDE4IDI3LjE1NTQgMThDMjAuMTczMyAxOCAxMy42NjgyIDIxLjgxMzMgMTAuMTU3MyAyNy45NjY3TDkuOTAwMzkgMjguNFpNNDIuMzk0OSAyOC40QzQwLjEyNTcgMzIuMTcgMzYuNTcxOSAzNC45IDMyLjUwNDQgMzYuMkMzMy43NDU1IDM1LjMyMzIgMzQuNzU5NCAzNC4xNTY0IDM1LjQ2IDMyLjc5ODVDMzYuMTYwNiAzMS40NDA3IDM2LjUyNzQgMjkuOTMxOCAzNi41MjkxIDI4LjRDMzYuNTI5MSAyNS4xNSAzNC45NDQ5IDIyLjMzMzMgMzIuNTA0NCAyMC42QzM2LjU3NSAyMS45IDQwLjEyODcgMjQuNjMzMSA0Mi4zOTggMjguNEg0Mi4zOTQ5Wk0zNC44NTkzIDI4LjRDMzQuODU5MyAzMi42OSAzMS4zOTExIDM2LjIgMjcuMTUyMyAzNi4yQzIyLjkxMzUgMzYuMiAxOS40NDU0IDMyLjY5IDE5LjQ0NTQgMjguNEMxOS40NDU0IDI0LjExIDIyLjkxMzUgMjAuNiAyNy4xNTIzIDIwLjZDMzEuMzkxMSAyMC42IDM0Ljg1OTMgMjQuMTEgMzQuODU5MyAyOC40Wk0yMS43NjA1IDIwLjZDMjAuNTE5NCAyMS40NzY4IDE5LjUwNTUgMjIuNjQzNiAxOC44MDQ5IDI0LjAwMTVDMTguMTA0MiAyNS4zNTkzIDE3LjczNzUgMjYuODY4MSAxNy43MzU4IDI4LjRDMTcuNzM1OCAzMS42NSAxOS4zMiAzNC40NjY3IDIxLjc2MDUgMzYuMkMxNy42NDY4IDM0Ljg4MzEgMTQuMTM3IDMyLjExNTIgMTEuODY5OSAyOC40QzE0LjEzOTIgMjQuNjMzMSAxNy42OTMgMjEuOSAyMS43NjA1IDIwLjZaIiBmaWxsPSJ3aGl0ZSIvPgo8L2c+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzk5OV8zMjM5Ij4KPHJlY3Qgd2lkdGg9IjM0LjUxIiBoZWlnaHQ9IjIwLjgiIGZpbGw9IndoaXRlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg5LjkwMDM5IDE4KSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNTYiIHZpZXdCb3g9IjAgMCA1NiA1NiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yNy45NjU1IDU2QzQzLjI0NSA1NiA1NS42MzE1IDQzLjQ2NCA1NS42MzE1IDI4QzU1LjYzMTUgMTIuNTM2IDQzLjI0NSAwIDI3Ljk2NTUgMEMxMi42ODYgMCAwLjI5OTU2MSAxMi41MzYgMC4yOTk1NjEgMjhDMC4yOTk1NjEgNDMuNDY0IDEyLjY4NiA1NiAyNy45NjU1IDU2WiIgZmlsbD0iIzFBOUZGRiIvPgo8cGF0aCBkPSJNMTcuMDkyOCAyOC4wMDAyQzE3LjA5MjggMjUuNjk5IDE4Ljk1ODMgMjMuODMzNSAyMS4yNTk0IDIzLjgzMzVIMzUuMTQ4M0MzNy40NDk1IDIzLjgzMzUgMzkuMzE1IDI1LjY5OSAzOS4zMTUgMjguMDAwMlYzNi4zMzM1QzM5LjMxNSAzOC42MzQ3IDM3LjQ0OTUgNDAuNTAwMiAzNS4xNDgzIDQwLjUwMDJIMjEuMjU5NEMxOC45NTgzIDQwLjUwMDIgMTcuMDkyOCAzOC42MzQ3IDE3LjA5MjggMzYuMzMzNVYyOC4wMDAyWiIgZmlsbD0iI0Y3RjdGNyIvPgo8cGF0aCBkPSJNMjAuOTgyMSAxOS42NjY3QzIwLjk4MjEgMTUuNjc4IDI0LjIxNTYgMTIuNDQ0NSAyOC4yMDQzIDEyLjQ0NDVDMzIuMTkzIDEyLjQ0NDUgMzUuNDI2NSAxNS42NzggMzUuNDI2NSAxOS42NjY3VjIxLjA1NTZDMzUuNDI2NSAyMS4yMDkgMzUuMzAyMiAyMS4zMzM0IDM1LjE0ODggMjEuMzMzNEMzNC45OTU0IDIxLjMzMzQgMzQuODcxIDIxLjIwOSAzNC44NzEgMjEuMDU1NlYxOS42NjY3QzM0Ljg3MSAxNS45ODQ4IDMxLjg4NjIgMTMuMDAwMSAyOC4yMDQzIDEzLjAwMDFDMjQuNTIyNCAxMy4wMDAxIDIxLjUzNzcgMTUuOTg0OCAyMS41Mzc3IDE5LjY2NjdWMjEuMDU1NkMyMS41Mzc3IDIxLjIwOSAyMS40MTMzIDIxLjMzMzQgMjEuMjU5OSAyMS4zMzM0QzIxLjEwNjUgMjEuMzMzNCAyMC45ODIxIDIxLjIwOSAyMC45ODIxIDIxLjA1NTZWMTkuNjY2N1oiIGZpbGw9IiNGN0Y3RjciIHN0cm9rZT0iI0Y3RjdGNyIgc3Ryb2tlLXdpZHRoPSIwLjgzMzMzMyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxyZWN0IHg9IjI2LjUzNzQiIHk9IjMwLjUiIHdpZHRoPSIzLjMzMzMzIiBoZWlnaHQ9IjMuMzMzMzMiIHJ4PSIxLjY2NjY3IiBmaWxsPSIjMUE5RkZGIi8+Cjwvc3ZnPgo=\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNTYiIHZpZXdCb3g9IjAgMCA1NiA1NiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yNy44ODkxIDU2QzQzLjE2ODYgNTYgNTUuNTU1MSA0My40NjQgNTUuNTU1MSAyOEM1NS41NTUxIDEyLjUzNiA0My4xNjg2IDAgMjcuODg5MSAwQzEyLjYwOTYgMCAwLjIyMzE0NSAxMi41MzYgMC4yMjMxNDUgMjhDMC4yMjMxNDUgNDMuNDY0IDEyLjYwOTYgNTYgMjcuODg5MSA1NloiIGZpbGw9IiMxQTlGRkYiLz4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzk5OV8zMjU2KSI+CjxwYXRoIGQ9Ik0xNS45NTUxIDI3LjIwODNIMTguNTM4NFYyOS43OTE3SDE1Ljk1NTFWMjcuMjA4M1pNMjYuMjg4NCAxOS40NTgzSDI4Ljg3MTdWMjQuNjI1SDI2LjI4ODRWMTkuNDU4M1pNMjMuNzA1MSAyNy4yMDgzSDI4Ljg3MTdWMzIuMzc1SDI2LjI4ODRWMjkuNzkxN0gyMy43MDUxVjI3LjIwODNaTTMxLjQ1NTEgMjcuMjA4M0gzNC4wMzg0VjI5Ljc5MTdIMzYuNjIxN1YyNy4yMDgzSDM5LjIwNTFWMjkuNzkxN0gzNi42MjE3VjMyLjM3NUgzOS4yMDUxVjM3LjU0MTdIMzYuNjIxN1Y0MC4xMjVIMzQuMDM4NFYzNy41NDE3SDI4Ljg3MTdWNDAuMTI1SDI2LjI4ODRWMzQuOTU4M0gzMS40NTUxVjMyLjM3NUgzNC4wMzg0VjI5Ljc5MTdIMzEuNDU1MVYyNy4yMDgzWk0zNi42MjE3IDM3LjU0MTdWMzIuMzc1SDM0LjAzODRWMzcuNTQxN0gzNi42MjE3Wk0zMS40NTUxIDE2Ljg3NUgzOS4yMDUxVjI0LjYyNUgzMS40NTUxVjE2Ljg3NVpNMzQuMDM4NCAxOS40NTgzVjIyLjA0MTdIMzYuNjIxN1YxOS40NTgzSDM0LjAzODRaTTE1Ljk1NTEgMTYuODc1SDIzLjcwNTFWMjQuNjI1SDE1Ljk1NTFWMTYuODc1Wk0xOC41Mzg0IDE5LjQ1ODNWMjIuMDQxN0gyMS4xMjE3VjE5LjQ1ODNIMTguNTM4NFpNMTUuOTU1MSAzMi4zNzVIMjMuNzA1MVY0MC4xMjVIMTUuOTU1MVYzMi4zNzVaTTE4LjUzODQgMzQuOTU4M1YzNy41NDE3SDIxLjEyMTdWMzQuOTU4M0gxOC41Mzg0WiIgZmlsbD0id2hpdGUiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF85OTlfMzI1NiI+CjxyZWN0IHdpZHRoPSIzMC42MzAyIiBoZWlnaHQ9IjMxIiBmaWxsPSJ3aGl0ZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTIuMDgwMSAxMykiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNTYiIHZpZXdCb3g9IjAgMCA1NiA1NiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yOC4xMDYzIDU2QzQzLjQ1ODQgNTYgNTUuOTAzNyA0My40NjQgNTUuOTAzNyAyOEM1NS45MDM3IDEyLjUzNiA0My40NTg0IDAgMjguMTA2MyAwQzEyLjc1NDMgMCAwLjMwODk2IDEyLjUzNiAwLjMwODk2IDI4QzAuMzA4OTYgNDMuNDY0IDEyLjc1NDMgNTYgMjguMTA2MyA1NloiIGZpbGw9IiMxQTlGRkYiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMC4yNjYxIDE4LjE1MzRDMjAuMjY2MSAxMy42NDg4IDIzLjkxOTEgMTAgMjguNDIxNyAxMEMzMi4yNjc3IDEwIDM1LjQ5MDcgMTIuNjYwNyAzNi4zNTE3IDE2LjI0MjJDMzYuNDUyNyAxNi42NjIyIDM2LjUyMTEgMTcuMDk0NSAzNi41NTQyIDE3LjUzNkMzNi42MDM4IDE4LjE5NjQgMzYuMTA5MSAxOC43NzE5IDM1LjQ0OTQgMTguODIxNUMzNC43ODk3IDE4Ljg3MTEgMzQuMjE0NyAxOC4zNzYgMzQuMTY1MSAxNy43MTU2QzM0LjE0MTcgMTcuNDAzNSAzNC4wOTM0IDE3LjA5ODcgMzQuMDIyNCAxNi44MDMyQzMzLjQxNSAxNC4yNzY2IDMxLjEzNzMgMTIuMzk4MSAyOC40MjE3IDEyLjM5ODFDMjUuMjM5MSAxMi4zOTgxIDIyLjY0NzkgMTQuOTc2NCAyMi42NDc5IDE4LjE1MzRWMjQuMzkwN0MyMi42NDc5IDI1LjA1MjkgMjIuMTI1NiAyNS41ODk4IDIxLjQ2NCAyNS41ODk4QzIwLjgwMjQgMjUuNTg5OCAyMC4yNjYxIDI1LjA1MjkgMjAuMjY2MSAyNC4zOTA3VjE4LjE1MzRaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTE2LjE5MzEgMjguMTE0NFYzNy44MzQ0QzE2LjE5MzEgNDAuMTM1IDE4LjAxNjYgNDIgMjAuMjY2IDQySDM2LjU1NzVDMzguODA2OSA0MiA0MC42MzA0IDQwLjEzNSA0MC42MzA0IDM3LjgzNDRWMjguMTE0NEM0MC42MzA0IDI1LjgxMzggMzguODA2OSAyMy45NDg3IDM2LjU1NzUgMjMuOTQ4N0gyMC4yNjZDMTguMDE2NiAyMy45NDg3IDE2LjE5MzEgMjUuODEzOCAxNi4xOTMxIDI4LjExNDRaTTI3LjE4OTcgMzQuOTQzN1YzMS4wMDUyQzI3LjE4OTcgMzAuMjgwMiAyNy43MzY3IDI5LjY5MjQgMjguNDExNSAyOS42OTI0QzI5LjA4NjQgMjkuNjkyNCAyOS42MzM0IDMwLjI4MDIgMjkuNjMzNCAzMS4wMDUyVjM0Ljk0MzdDMjkuNjMzNCAzNS42Njg3IDI5LjA4NjQgMzYuMjU2NSAyOC40MTE1IDM2LjI1NjVDMjcuNzM2NyAzNi4yNTY1IDI3LjE4OTcgMzUuNjY4NyAyNy4xODk3IDM0Ljk0MzdaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K\"","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/1-77a6df78fa672a2b86070f9c121cb3fd.jpg\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/1-295226e35e9f087e88a1b7b0af4f4a67.webp\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/2-47a452233793d0f1aa7889a54217d401.jpg\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/2-61fae0f2e2ace18f7004733f8e8b857d.webp\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/3-e9a5f337026741c62bc00df4151dd443.jpg\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/3-1d89b2a9f8f172de6e44b4f2b9d8cadc.webp\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/4-d96461b2409b53bf5c323551b0d93ac3.jpg\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/4-03606ceb349db5cd548812d0c43a728a.webp\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/webp;base64,UklGRjQGAABXRUJQVlA4WAoAAAAQAAAAYwAAYQAAQUxQSBACAAABkLr9fxpJPxe3x1jd0Us6x9Cncmz3WDIzSmZU9AcwU47GjjqmzjGOO8rMs/kdX38wbkVETAD02Tk0tlm2IMuSeKhWyfFaLwYMGBDR1ypbk6HqWBfwPwOiryyINRntsOhmJTFKjHZI+nCBUWC0Q/JaIm20Q5bHY0nTc+TqEzHTc+S81Ygo58i7txIL2Ij8H8bs9qLEdzGzjSjzYcxqHkp9N5TROJR7ybAZ9IKuiRgKwq1sTqPoWUymI9NQlB/EYtALLsUfYnEQpftuBqXAKBQULjE4iIx9QRgsWYTE4d+Kv0S2iYpp6CZqy3U4RDQedawZmlNKoCWJPtN5JodIUtQyJ9mkRogpqnqUCdpQz6UElibwOkSQ0jR43SWYTcOcYocidYIjmgxqBc9MKwgEOxR51hqg+LWK3CDIFDlMYBVZQRApUiaA12o0B1EcUeOuocjU2AiUJa9FN4mpKvEIaNcqsZeo5FVoRERwVlT4y2mgtqIQMfzWTgZOVPgdTwO99cIQG+0M4IiggBgCHgSO0Ws5f8wjFpAJ6wGmTtQx4BrdEfQgYgPtdTFf2oFx6oV8tsA6q8uYDcwzL+BLBuzta36zQWD7HWa5BZFtjtOXtW0gdXady4OeNhAcORb5VJCeOrJ8KmiYniVx40HL0trXRTkLmhq7w/n/cxb0bUtn7zh750799evXVbdjdhqB6gb69gRWUDgg/gMAAPAaAJ0BKmQAYgA+kT6aSKWjoq4wUzlZwBIJZgDUxhB+q9l5avy348c/rxX4Y57k6/ZF/B6SXmAfqh0mPMR5w3SAfsB1qvoI/sB6a3sd/uN+yHtPZi6/Fdxya4qz7qntiDia++KL0bZmeVU080anhVZxanzouTQHqArAvJDOxMDNl+EoTQCaIVw5LQLzI440kPr4Ln/rUNHoMU5v55PY/TB3YwIn5f6jDTwrETplXhFCUuok6uwBewJ2mipxnSGtxwiwngg99tYWut2w5tSPngrhO/BdpO2I/JnZnZkgcSWgAP77/Vf/Qb/5yrdoJVBJxOu35TMRrpGXdQaUDTFYoh6UQ/ppQWIXnMG+mNmKvpEmM3T+kmCdszP0JqQKbbrpuZa0uVSj3NTPuSvszQIk/AUeIQvJdEYQCdN74Arx2fUlUVa8FlfOcYQSaGsuxSsgdUn0wVpogSPmrGUcpwk8VfM/hV+D7y97xXpXb7QmZakMhuXAGF0/Um1Aj/B42i4jxjvrqKWIduo8e+/gKW98Ovc5DkiwGwIfEkJQDrdg7wxEPiXE1wlFZBGVw12BM/g/g6E4tnkKWxxLiGRMTEIK6UlB2mmYUcTountIaSZ7DKzTs0Og0+wbZy/yYBwwuFeYAdPZvqGc83tF02n6ga3qOlTpy4Lh9f+dd2vLCOHorhBh1Lwb6VToRto18K3Kb9ha35xzvojTmkiv3Z97ueMHMibnyqsghguWvAuuub5OzonRmcu6PT/FIyuF5f+oiYaHhXke6+ukQrpNZMZmgQ1zA7RvBPav4zQVWibHXN7ROvfHflf01MOj5F0ugjpRdyl5uNu0zmGJqjDG7fPQPc/Uq1b9BqV8zS9i6Sa7+Gs2odbJ9jnqqcxnrBPXAgcyw13Ac57dOk5HtPDs4enQDt2+zfVqlnwlfHZx0v1dMKr/LcuF8N2EzZnIVLcVqdjnBFuzyPixwH7l0CsP/BPr/PjCC+KJJ0YNzLcWqzho8AM5zkkKnII1dMpg7XTQp1Pk+xRUyrWxVFf9IG/jDOnCAMIwlPzPf1RWhcIUTiBctaWprxwAgtOWM0FSj9FP3BVBy0bK32x2AxxvbEH80sIbqls+qTEJw7fuJKFrmgAGsC32ha25OvPjDMEqID86snhy8jedkJ9Q1q0Yua0ispvU+7TO8d8j8vcaonLWypMcGZcX2FFy2uzY2FTzb4R0YoN0rwLOLV+yqnZYwgEFGArqBEH9UlvvPtLUBGviLasUL6BVuInd5sdZ9AJhiDFV6G9e87CrGvMmtFo/jFdzBNZOHe5RZnlNw/A6awuBKDMMqw+uo33/5CBNz7JcVF20piucbZgqUcj7i1+rwLiYxMAAAAAA\"","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/left-bottom-cdaaa13f7b41e7e083e95b14d5f42e5d.png\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/left-bottom-ac54c87d33cbcbddb9074f6b3043ea32.webp\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/webp;base64,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\"","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/right-bottom-0f2ffc021188adfc221f20a2c248df7e.png\";","module.exports = \"data:image/webp;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/webp;base64,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\"","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/connect-bg-f6ac08ba4a58205914fdac8a5caa9a5f.png\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/connect-bg-34bb08d2315c425dbfb71b21a6ead122.webp\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/connect-mobile-1d5302f189186d7073d2ad2f5c929ea9.png\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/connect-mobile-26428d63cd8fa631f5bad9d6629658ee.webp\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/connect-b0117badba586ca1eef185c38f07a9c3.png\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/connect-c6904bc003e68c00fcf1ef86926ed5a6.webp\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/qr-intelect-dom-43706bf8c3265a271a843d5c36e0c326.svg\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/step-img-2-d4603f42e3bf9d0fcde5451a801665aa.png\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/domofon-1-a53c840d03a1025d302b69bae80ff8ab.png\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/domofon-1-6d534e3023b64ddc1052d4b90bc9c492.webp\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/domofon-2-dd89c787f3dd07d65344ae6140665e3d.png\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/domofon-2-0176df88f5e28d7523ae3ed3d7a786f8.webp\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/domofon-3-1e91104d1023f719a43c94f31afbc053.png\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/domofon-3-8452bb124bb8a81752bac2674a52edb2.webp\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/domofon-1-83fbbb2b9519f5bf1df5199527a42e15.png\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/domofon-1-abcf2a4e1fc1bd3f49638eb095bac2ec.webp\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/domofon-2-a839a8f004482b6b7710bac031f21169.png\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/domofon-2-ea63f79911560340b024b9493ecdd835.webp\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/domofon-3-6c90e0a144edc886018b59f5c241a624.png\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/domofon-3-33960980d9ad1e51c38d14a43974bc16.webp\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/left-picture-276550d138e682935fd844c76d5c7beb.png\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/phone-993fff0479de6ffd9b0d14263835beb5.png\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/phone-58459cf48059a5e8f85ede5e6b6fd72d.webp\";","module.exports = \"https://cdn-b2c.dom.ru/b2c-domru/2.357.4/frontend/_next/static/images/right-picture-8852bed2f735604f18fe11b25481169e.png\";","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMjciIHZpZXdCb3g9IjAgMCAxNSAyNyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEzLjE0MjYgMjUuMTk5N0wxLjE0MjU4IDEzLjE5OTdMMTMuMTQyNiAxLjE5OTcxIiBzdHJva2U9IiMxYTFhMWEiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPg==\""],"names":["window","__NEXT_P","push","domofonAdvatagesData","id","icon","require","title","alt","domofonLesionsData","image","image_webp","domofonBenefitsData","isLandscape","text","domofonFunctionalitiesData","domofonFeaturesData","domofonQuestionsData","question","answers","Wrapper","styled","AdvantageItem","Icon","Title","FONTS","COLORS","wideBreakpoints","items","className","ST","map","item","data-test","src","customDotsStyles","dot","background","opacity","activeDot","SCol","Col","FeatureItem","BorderRadius","isSlide","Image","bgWebpImage","bgImage","useProgressiveImage","hasTimeout","timeoutDelay","p","Desc","Text","showCarousel","AdaptiveNukaCarousel","desktopSlideWidth","withoutArrows","cellSpacing","slidesToScroll","role","aria-label","dangerouslySetInnerHTML","__html","Row","lg","md","sm","xs","breakePoints","Domofon","PreTitleText","LesionItem","Picture","isDesktop","isLaptop","heightMode","source","srcSet","type","width","height","backgroundImg","FeaturesWrapper","TabsTitle","CardsTitle","Form","Cards","SRequestFormPhone","RequestFormPhone","EMediaWidth","advantagesItems","lesionsItems","featuresItems","hasDomofon","toggleDomofon","submitRequest","onStartFormFilling","isMobile","useMatchMedia","mobile","sDesktop","laptop","useWebp","menuItems","useMemo","action","WideContainer","Headline","Advantages","templateVariant","isLoading","isCheckInvertColor","btnText","FilterMenu","activeItem","isDifferentColorText","colorTab","Features","Lesions","BenefitsContainer","BenefitItem","noLandscapeItems","newItem","replace","HeadTitle","SBaseButton","BaseButton","benefitsItems","connectBtnHandler","isMinTablet","minTablet","Benefits","btnTypes","onClick","imagesWithoutDomofon","params","bottom","left","laptopParams","filter","mobileParams","display","top","tabletParams","right","imagesWithDomofon","desktopParams","ConnectDomofon","SWideContainer","wideContainer","Description","css","ImgWrap","Img","VideoWrap","SVideo","TitleMin","SubTitle","Steps","StepWrap","FirstStepWrap","StepInner","StepDescription","StepTitle","StepText","StepImgWrap","QRCodeWrap","StepBtns","SMobileStoreButton","MobileStoreButton","getImgParams","imgParams","result","key","AnimImageWrap","AnimImage","startPosition","IMG_PATH","CDN_API_ENDPOINT","useState","isVisible","setIsVisible","observeHandler","useCallback","entries","firstElem","isIntersecting","blockRef","useIntersectionObserver","root","threshold","animatedImages","appsBtnClickHandler","app","dataLayerPush","event","EVENTS","category","CATEGORIES","label","ref","img","store","btnType","link","NON_BREAKING_SPACE","i","picture","playsInline","muted","loop","autoPlay","isMinMobile","minMobile","FunctionalityItem","DescWrap","DescInner","React","mobileItems","renderItems","withoutDots","functionalitiesItems","Functionalities","START_HEIGHT","PresentationDomofon","InnerWrap","GridContainer","TextBlock","ImageWrap","texts","desktop","image_png","getVisible","currentStep","length","step","urlPath","prevPageY","useRef","isServerSide","pageYOffset","setCurrentStep","presentationRef","onScroll","throttle","current","maxStep","parentBlock","position","getBoundingClientRect","clientHeight","document","documentElement","elementTop","elementBottom","value","newStep","style","Math","abs","leading","useEffect","addEventListener","removeEventListener","EEquipmentType","SubHeadTitle","NoSsrContainer","products","csrf","useSelector","selectCsrf","scrollToProducts","useScroll","alignment","EResultPopupStatus","orderRequestResult","setOrderRequestResult","name","setName","setLabel","selectedOption","setSelectedOption","isOrderPopupOpened","setIsOrderPopupOpened","isOrderResult","setIsOrderResult","productsRef","onDetail","operType","price","location","hash","onSuccessOrder","message","ACTIONS","prevState","onErrorOrder","popupRequestHandler","fio","phone","dataParams","resp","status","product_id","EProductsId","equip_price_id","doRequest","requestByConnection","isSuccess","payload","error","renderProductCards","product","links","buttonLink","button_link","alias","intercomKey","getAccessToken","linkUrl","checkProductId","showForDelivery","leftovers","undefined","ProductCard","imageWebp","categoryTitle","categoryName","body","body_full","shortName","title_short","description","spec","props","priceOptions","getPriceOptions","convertShopPrices","detailHandler","labels","isClientSide","mobileSlideWidth","framePadding","OrderPopup","isOpened","closeClick","sendRequest","isPopup","extLabel","PopupResult","isOpen","onClose","SAccordion","Accordion","TextLine","questions","currentIdx","setCurrentIdx","open","toggle","idx","Fragment","Statistics","StatElementsWrap","InnerStatElementsWrap","StatElem","ElemTitle","ElemText","FormWrap","FormTitle","FormText","SPicture","AnimImageLeft","AnimImageRight","TabletLeftTop","TabletRightTop","TabletLeftBottom","TabletRightBottom","MobileLeftTop","MobileRightTop","MobileLeftBottom","MobileRightBottom","formRef","isTablet","tablet","isVisibleWrap","setIsVisibleWrap","observeWrapHandler","blockWrapRef","br","auth","state","setHasDomofon","offsetY","setOffsetY","footerFormRef","scrollToConnectForm","ok","check_call_type","href","dataLayerForCBPhonePush","uid","isAuth","clientPersonal","agreement","ERequestStatus","startFormFillingHandler","from","scrollHandler","BannerBlock","flag","ProductsBlock","BenefitsBlock","FunctionalitiesBlock","FeaturesBlock","QuestionsBlock","DomofonPage","city","companyName","Layout","cityIn","withMenu","withFooter","withChat","getInitialProps","options","validatedAccessToken","providerId","initialProps","isNeedAuthData","getState","currentCity","provider","selectCompanyName","getIntercomServices","connect","intercom","actionInfo","getShopItems","token","expand","isShowAll","headers","url","prepareExpandProp","all","Authorization","accessMode","getAccessModeByRights","Boolean","retryIfParamIsLocked","contentRequest","paramsSerializer","stringify","data","captureException","expands","join","getRouters","EShopCategory","Routers","EExpandShopItems","Category","Props","Labels","Intercom","getVideocontrolItems","Videocontrol","axiosContent","axios","baseURL","process","interceptors","request","use","config","cookies","ACCESS_TOKEN_COOKIE","noCacheKey","NO_CACHE_COOKIE","Promise","reject","Object","create","get","CustomSwiper","NukaCarousel","defaultVisibleSlides","children","visibleSlides","hideArrows","setHideArrows","hideDots","setHideDots","slideWidth","setSlideWidth","isSDesktop","FormInputs","ButtonSubmit","CallBackEquipment","checkValid","beenStarted","option","setState","validate","requestId","isValidated","fioValidated","isValid","phoneValidated","onSubmit","extParams","isSending","onChangeAgreementHandler","prev","checkAgreement","reset","clearInput","render","this","textButton","placeholder","errorMessage","onChange","IndentContainer","$united","PolicyNote","buttonText","agreeUrl","POLICY_PAGE_LINK","disabled","Component","setExtParams","selectRouter","router","materialsEnsId","global_id","tv_equipment_id","tv_equipment_buy","EPriceTypes","tv_equipment_duration","getTypeOfBuy","pluralize","monthPluralize","getRouterName","materialsEnsName","onCloseWrapper","renderOrderLine","pricePromo","div","bind","componentDidUpdate","RequestForm","PureComponent","EAccessRights","UserGuest","UserAuth","PlatformSite","ConditionZasmotris","rights","reduce","acc","formattingTariffForCard","tariff","isCottage","is_cottage","freePackets","salePackage2in1","free_packets","reserveColor","color_text","titleColors","color_title_start","color_title_end","additionalProducts","advantages","availableClient","available_client","availableGuest","available_guest","availableOnMainPage","available_on_main_page","availableOnInternetPage","available_on_internet_page","color","colorText","fullSaleId","full_sale_id","salePackage3in1","hasRequiredEquipment","headingColor","imageBackground","image_background","imageBackgroundWebp","image_background_webp","imageInHead","includes","isSelfOrder","is_self_order","lineId","line_id","offerContents","price_final","priceAction","promo_price_final","priceActionPeriod","promo_duration_final","priceConnect","connect_price","priceIncludedVas","price_included_vas","Number","productId","tariff_id","productIdForBilling","productType","promoDuration","promo_duration","promoDurationType","promo_dur_type","promoted","promote","salePackageId","sale_package_id","salePackageLinks","sortOnBundles","sort_on_bundles","sortOnInternet","sort_on_internet","sortOnInternetLines","sort_on_internet_lines","speed","speedAction","speed_bonus","speedActionPeriod","speed_bonus_duration","subscriptionsSummary","tariffLine","tariff_name_display","weight","sort","promoLabel","formattingBundleForCard","analogCount","analog_count","descriptionFull","description_full","hdCount","hd_count","price_connect_internet","price_connect_tv","sdCount","sd_count","speed_int","tariff_name","callBack","rootMargin","node","setNode","observerInst","IntersectionObserver","observer","currentObserver","disconnect","observe","settings","behavior","absolute","scrollTo","scrollHeight","y","scrollIntoView","block","toNumber","v","parseFloat","toString","toCurrency","amount","x","s","d","c","n","split","pop","str","toFixed","max","re","RegExp","getTariffsSelector","createSelector","bundles","tariffs","values","getTariffChannels","channelsFiltersIsApply","filteredChannels","tariffChannels","getTariffChannelsWithId","channels","channel","xvid","selectAllTariffs","internet","formatBundles","formatInternets","a","b","selectInternetTariffByAlias","_","find","selectTariffsByType","filteredBundles","selected","groupKey","selectedFilters","actualGroupKey","group","cityBundles","villageBundles","cityInternet","villageInternet","getPrice","selectMinCostedTariff","filteredTariffs","minCostedTariff","seo_description","selectAvailableOnInternetPageTariffs","allTariffs","selectAndSortAvailableOnInternetPageTariffs","tariffsAvailableOnInternetPage","tariffA","tariffB","speedDiff","priceDiff","truncate","string","visibleLength","slice","trim","useOnceExecute","wasCalled","setWasCalled","Possess","Leasing","ArrowSvg","svg","previousSlide","nextSlide","Dot","customStyles","active","DotContainer","dotContainer","activeLineAnimation","keyframes","ActiveLine","time","DotsContainer","dotsContainer","goToSlide","slideCount","currentSlide","autoplayInterval","autoplay","Array","fill","index","Container","getDefaultControlsContainerStyles","customArrow","customDots","withoutControls","pausedAutoplay","setPausedAutoplay","Arrow","CustomArrow","DefaultArrow","Dots","CustomDots","DefaultDots","swiperRef","setDimensions","handleMouseOver","handleMouseOut","onTouchStart","onTouchEnd","onMouseOver","onMouseOut","NukaSwiper","getControlsContainerStyles","renderCenterLeftControls","renderCenterRightControls","renderBottomCenterControls","module","exports"],"sourceRoot":""}