@scbt-ecom/ui 0.176.0 → 0.176.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/shared/dataLayers/types.js +2 -0
- package/dist/lib/shared/dataLayers/types.js.map +1 -0
- package/dist/lib/shared/dataLayers/utils.js +1 -1
- package/dist/lib/shared/dataLayers/utils.js.map +1 -1
- package/dist/lib/shared/ui/carousel/ui/slideVariants/SlideMultipleCards.js +1 -1
- package/dist/lib/shared/ui/carousel/ui/slideVariants/SlideMultipleCards.js.map +1 -1
- package/dist/lib/shared/ui/popover/Popover.js +1 -1
- package/dist/lib/shared/ui/popover/Popover.js.map +1 -1
- package/dist/lib/widgets/banner/ui/banners/ui/Buttons.js +1 -1
- package/dist/lib/widgets/banner/ui/banners/ui/Buttons.js.map +1 -1
- package/dist/lib/widgets/benefit/ui/BenefitItem.js +1 -1
- package/dist/lib/widgets/benefit/ui/BenefitItem.js.map +1 -1
- package/dist/lib/widgets/breadcrumbs/Breadcrumb.js +1 -1
- package/dist/lib/widgets/breadcrumbs/Breadcrumb.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/CalculatorTabs.js +1 -1
- package/dist/lib/widgets/calculator/ui/CalculatorTabs.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/AssistHint.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/AssistHint.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/CalculatorInfoFooter.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/CalculatorInfoFooter.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/InfoListItem.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/InfoListItem.js.map +1 -1
- package/dist/lib/widgets/conditionBlock/ui/ConditionsWithCTA.js +1 -1
- package/dist/lib/widgets/conditionBlock/ui/ConditionsWithCTA.js.map +1 -1
- package/dist/lib/widgets/errorPage/ErrorPage.js +1 -1
- package/dist/lib/widgets/errorPage/ErrorPage.js.map +1 -1
- package/dist/lib/widgets/footer/ui/NavLinks.js +1 -1
- package/dist/lib/widgets/footer/ui/NavLinks.js.map +1 -1
- package/dist/lib/widgets/footer/ui/PhonesBlock.js +1 -1
- package/dist/lib/widgets/footer/ui/PhonesBlock.js.map +1 -1
- package/dist/lib/widgets/footer/ui/SiteMap.js +1 -1
- package/dist/lib/widgets/footer/ui/SiteMap.js.map +1 -1
- package/dist/lib/widgets/footer/ui/SocialLinks.js +1 -1
- package/dist/lib/widgets/footer/ui/SocialLinks.js.map +1 -1
- package/dist/lib/widgets/header/model/helpers.js +1 -1
- package/dist/lib/widgets/header/model/helpers.js.map +1 -1
- package/dist/lib/widgets/infoBlock/ui/LinksList.js +1 -1
- package/dist/lib/widgets/infoBlock/ui/LinksList.js.map +1 -1
- package/dist/lib/widgets/infoBlock/ui/RootContent.js +1 -1
- package/dist/lib/widgets/infoBlock/ui/RootContent.js.map +1 -1
- package/dist/lib/widgets/interLinking/InterLinking.js +1 -1
- package/dist/lib/widgets/interLinking/InterLinking.js.map +1 -1
- package/dist/lib/widgets/interLinking/ui/Column.js +1 -1
- package/dist/lib/widgets/interLinking/ui/Column.js.map +1 -1
- package/dist/lib/widgets/interLinking/ui/ColumnGroup.js +1 -1
- package/dist/lib/widgets/interLinking/ui/ColumnGroup.js.map +1 -1
- package/dist/lib/widgets/interLinking/ui/LinksList.js +1 -1
- package/dist/lib/widgets/interLinking/ui/LinksList.js.map +1 -1
- package/dist/lib/widgets/longBanner/LongBanner.js +1 -1
- package/dist/lib/widgets/longBanner/LongBanner.js.map +1 -1
- package/dist/lib/widgets/longBanner/ui/TextItem.js +1 -1
- package/dist/lib/widgets/longBanner/ui/TextItem.js.map +1 -1
- package/dist/lib/widgets/model/helpers.js +1 -1
- package/dist/lib/widgets/model/helpers.js.map +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/CategoriesDesktop.js +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/CategoriesDesktop.js.map +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/CategoryTabs.js +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/CategoryTabs.js.map +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/rootTab/RootTab.js +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/rootTab/RootTab.js.map +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/tab/Tab.js +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/tab/Tab.js.map +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/tab/ui/content/TabContent.js +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/tab/ui/content/TabContent.js.map +1 -1
- package/dist/lib/widgets/seoHeader/ui/mobile/CategoriesMobile.js +1 -1
- package/dist/lib/widgets/seoHeader/ui/mobile/CategoriesMobile.js.map +1 -1
- package/dist/lib/widgets/seoHeader/ui/mobile/menu/Menu.js +1 -1
- package/dist/lib/widgets/seoHeader/ui/mobile/menu/Menu.js.map +1 -1
- package/dist/lib/widgets/seoHeader/ui/mobile/menu/MenuItem.js +1 -1
- package/dist/lib/widgets/seoHeader/ui/mobile/menu/MenuItem.js.map +1 -1
- package/dist/lib/widgets/stepper/Stepper.js +1 -1
- package/dist/lib/widgets/stepper/Stepper.js.map +1 -1
- package/dist/lib/widgets/stepper/ui/StepperTabs.js +1 -1
- package/dist/lib/widgets/stepper/ui/StepperTabs.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/model/utils.js +1 -1
- package/dist/lib/widgets/usefulInfo/model/utils.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/ui/Tabs.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/Tabs.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/documents/Documents.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/documents/Documents.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/documents/ui/document/Document.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/documents/ui/document/Document.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/experts/Experts.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/experts/Experts.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/html/Html.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/html/Html.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/table/Table.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/table/Table.js.map +1 -1
- package/dist/lib/widgets/userFeedback/UserFeedback.js +1 -1
- package/dist/lib/widgets/userFeedback/UserFeedback.js.map +1 -1
- package/dist/lib/widgets/userFeedback/ui/SelectRating.js +1 -1
- package/dist/lib/widgets/userFeedback/ui/SelectRating.js.map +1 -1
- package/dist/stats.html +1 -1
- package/dist/types/lib/shared/dataLayers/types.d.ts +1 -0
- package/dist/types/lib/shared/dataLayers/utils.d.ts +33 -5
- package/dist/types/lib/shared/ui/popover/Popover.d.ts +3 -2
- package/dist/types/lib/widgets/interLinking/ui/Column.d.ts +2 -1
- package/dist/types/lib/widgets/interLinking/ui/ColumnGroup.d.ts +2 -1
- package/dist/types/lib/widgets/interLinking/ui/LinksList.d.ts +2 -1
- package/dist/types/lib/widgets/seoHeader/ui/desktop/tab/ui/content/TabContent.d.ts +2 -1
- package/dist/types/lib/widgets/stepper/ui/StepperTabs.d.ts +1 -2
- package/dist/types/lib/widgets/usefulInfo/ui/subEntities/documents/ui/document/Document.d.ts +2 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{pushToDL as
|
|
1
|
+
import{pushToDL as e}from"./pushToDL.js";import{extractTextFromHtml as i}from"../utils/extractTextFromHtml.js";const u=({name:t,link:o,placement:c,eventCategory:n="click_menu"})=>{e({event:"buttonClick",name:t,eventCategory:n,eventAction:o,placement:c})},p=({name:t,headline:o,placement:c,eventCategory:n="click_block"})=>{e({event:"buttonClick",name:t,eventCategory:n,eventAction:i(o),placement:c})},s=({name:t,headline:o,placement:c,eventCategory:n="click_block"})=>{e({event:"buttonClick",name:t,eventCategory:n,eventAction:i(o),placement:c})},v=({name:t,tabName:o,placement:c,eventCategory:n="click_block"})=>{e({event:"buttonClick",name:t,eventCategory:n,eventAction:o,placement:c})},T=({title:t,placement:o})=>{e({event:"buttonClick",name:"Tooltip",eventCategory:"click_tooltip",eventAction:i(t),placement:o})};export{v as pushToDlAccordion,p as pushToDlButton,u as pushToDlLink,s as pushToDlTab,T as pushToDlTooltip};
|
|
2
2
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../../lib/shared/dataLayers/utils.ts"],"sourcesContent":["import { type AllowedWidgets } from '../../widgets'\nimport { extractTextFromHtml } from '../utils'\nimport { pushToDL } from './pushToDL'\n\n/**\n * @param name - название ссылки\n * @param link - ссылка\n * @param placement - в каком блоке находится ссылка, например seo-header, header, footer\n */\nexport const pushToDlLink = (name: string | undefined
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../lib/shared/dataLayers/utils.ts"],"sourcesContent":["import { type AllowedWidgets } from '../../widgets'\nimport { extractTextFromHtml } from '../utils'\nimport { pushToDL } from './pushToDL'\nimport { type EventCategoryType } from './types'\n\n/**\n * @param name - название ссылки\n * @param link - ссылка\n * @param placement - в каком блоке находится ссылка, например seo-header, header, footer\n * @param eventCategory - unknow\n */\nexport const pushToDlLink = ({\n name,\n link,\n placement,\n eventCategory = 'click_menu'\n}: {\n name: string | undefined\n link: string | undefined\n placement: AllowedWidgets | string\n eventCategory?: EventCategoryType\n}) => {\n pushToDL({\n event: 'buttonClick',\n name,\n eventCategory: eventCategory,\n eventAction: link,\n placement\n })\n}\n\n/**\n * @param name - название кнопки\n * @param headline - заголовок блока в котором лежит кнопка\n * @param placement - в каком блоке находится кнопка, например seo-header, header, footer\n * @param eventCategory\n */\nexport const pushToDlButton = ({\n name,\n headline,\n placement,\n eventCategory = 'click_block'\n}: {\n name: string | undefined\n headline: string | undefined\n placement: AllowedWidgets | string\n eventCategory?: EventCategoryType\n}) => {\n pushToDL({\n event: 'buttonClick',\n name,\n eventCategory,\n eventAction: extractTextFromHtml(headline),\n placement\n })\n}\n\n/**\n *\n * @param name - название таб-а\n * @param headline - заголовок блока в котором лежит таб\n * @param placement - в каком блоке находится таб, например seo-header, header, footer\n * @param eventCategory\n */\nexport const pushToDlTab = ({\n name,\n headline,\n placement,\n eventCategory = 'click_block'\n}: {\n name: string | undefined\n headline: string | undefined\n placement: AllowedWidgets | string\n eventCategory?: EventCategoryType\n}) => {\n pushToDL({\n event: 'buttonClick',\n name,\n eventCategory,\n eventAction: extractTextFromHtml(headline),\n placement\n })\n}\n\n/**\n *\n * @param name - название аккорд иона\n * @param tabName - название таб-а, в котором был нажат аккорд ион\n * @param placement - в каком блоке находится аккорд ион, например seo-header, header, footer\n * @param eventCategory\n */\nexport const pushToDlAccordion = ({\n name,\n tabName,\n placement,\n eventCategory = 'click_block'\n}: {\n name: string | undefined\n tabName: string | undefined\n placement: AllowedWidgets | string\n eventCategory?: EventCategoryType\n}) => {\n pushToDL({\n event: 'buttonClick',\n name,\n eventCategory,\n eventAction: tabName,\n placement\n })\n}\n\n/**\n *\n * @param title - текст, который рядом с тул-типом, его сосед\n * @param placement - в каком блоке находится тул-тип, например seo-header, header, footer\n */\nexport const pushToDlTooltip = ({ title, placement }: { title: string | undefined; placement: AllowedWidgets | string }) => {\n pushToDL({\n event: 'buttonClick',\n name: 'Tooltip',\n eventCategory: 'click_tooltip',\n eventAction: extractTextFromHtml(title),\n placement\n })\n}\n"],"names":["pushToDlLink","name","link","placement","eventCategory","pushToDL","pushToDlButton","headline","extractTextFromHtml","pushToDlTab","pushToDlAccordion","tabName","pushToDlTooltip","title"],"mappings":"+GAWO,MAAMA,EAAe,CAAC,CAC3B,KAAAC,EACA,KAAAC,EACA,UAAAC,EACA,cAAAC,EAAgB,YAClB,IAKM,CACJC,EAAS,CACP,MAAO,cACP,KAAAJ,EACA,cAAAG,EACA,YAAaF,EACb,UAAAC,CAAA,CACD,CACH,EAQaG,EAAiB,CAAC,CAC7B,KAAAL,EACA,SAAAM,EACA,UAAAJ,EACA,cAAAC,EAAgB,aAClB,IAKM,CACJC,EAAS,CACP,MAAO,cACP,KAAAJ,EACA,cAAAG,EACA,YAAaI,EAAoBD,CAAQ,EACzC,UAAAJ,CAAA,CACD,CACH,EASaM,EAAc,CAAC,CAC1B,KAAAR,EACA,SAAAM,EACA,UAAAJ,EACA,cAAAC,EAAgB,aAClB,IAKM,CACJC,EAAS,CACP,MAAO,cACP,KAAAJ,EACA,cAAAG,EACA,YAAaI,EAAoBD,CAAQ,EACzC,UAAAJ,CAAA,CACD,CACH,EASaO,EAAoB,CAAC,CAChC,KAAAT,EACA,QAAAU,EACA,UAAAR,EACA,cAAAC,EAAgB,aAClB,IAKM,CACJC,EAAS,CACP,MAAO,cACP,KAAAJ,EACA,cAAAG,EACA,YAAaO,EACb,UAAAR,CAAA,CACD,CACH,EAOaS,EAAkB,CAAC,CAAE,MAAAC,EAAO,UAAAV,KAAmF,CAC1HE,EAAS,CACP,MAAO,cACP,KAAM,UACN,cAAe,gBACf,YAAaG,EAAoBK,CAAK,EACtC,UAAAV,CAAA,CACD,CACH"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as l,jsxs as m}from"react/jsx-runtime";import p from"./slide.module.css.js";import{extractNumberFromString as
|
|
1
|
+
import{jsx as l,jsxs as m}from"react/jsx-runtime";import p from"./slide.module.css.js";import{extractNumberFromString as d}from"../../model/helpers.js";import{cn as t}from"../../../../utils/cn.js";import{Button as f}from"../../../button/Button.js";import{pushToDlButton as x}from"../../../../dataLayers/utils.js";const u=({title:r,imgProps:o,description:c,buttonProps:i,slideProductCardClasses:e,slidesConfig:n})=>{const h=d(n.deskSlideWidth),a=d(n.mobSlideWidth);return l("div",{children:m("div",{style:{"--mobile-width":`${a}px`,"--desktop-width":`${h}px`},className:t("slideWidth mr-4 flex h-full shrink-0 flex-grow flex-col justify-between rounded-md bg-[#F3F4F7] p-4 desktop:mr-6 desktop:p-6",p.slideWidth,e?.root),children:[m("div",{className:t("flex flex-col gap-2",e?.wrapper),children:[m("div",{className:t("flex flex-col gap-2",e?.textWrapper),children:[r&&l("h3",{className:t("desk-title-bold-s text-color-dark",e?.title),children:r}),c&&l("p",{className:t("desk-body-medium-l text-color-tetriary",e?.description),children:c})]}),o&&o?.src&&l("img",{className:t("w-full object-contain",e?.image),src:o?.src,alt:o?.alt})]}),i&&l(f,{onPointerDown:()=>x({name:r,eventCategory:"click_other",headline:"Карусель продуктов",placement:"carouselBlock"}),size:"sm",className:t("w-full",e?.button),...i,children:i?.children||"Оформить заявку"})]})})};export{u as SlideMultipleCards};
|
|
2
2
|
//# sourceMappingURL=SlideMultipleCards.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlideMultipleCards.js","sources":["../../../../../../../lib/shared/ui/carousel/ui/slideVariants/SlideMultipleCards.tsx"],"sourcesContent":["import { Button, type ButtonProps } from '../../../button'\nimport { extractNumberFromString, type SlidesConfig } from '../../model'\nimport styles from './slide.module.css'\nimport { cn } from '$/shared/utils'\n\nexport type SlideMultipleCardsClasses = {\n root?: string\n wrapper?: string\n textWrapper?: string\n title?: string\n description?: string\n image?: string\n button?: string\n}\n\nexport interface SlideMultipleCardsProps {\n slidesConfig: SlidesConfig\n title?: string\n description?: string\n imgProps?: {\n src: string\n alt: string\n }\n buttonProps?: ButtonProps\n slideProductCardClasses?: SlideMultipleCardsClasses\n}\n\nexport const SlideMultipleCards = ({\n title,\n imgProps,\n description,\n buttonProps,\n slideProductCardClasses,\n slidesConfig\n}: SlideMultipleCardsProps) => {\n const deskCardWidth = extractNumberFromString(slidesConfig.deskSlideWidth)\n const mobCardWidth = extractNumberFromString(slidesConfig.mobSlideWidth)\n\n return (\n <div>\n <div\n style={\n {\n '--mobile-width': `${mobCardWidth}px`,\n '--desktop-width': `${deskCardWidth}px`\n } as React.CSSProperties\n }\n className={cn(\n 'slideWidth mr-4 flex h-full shrink-0 flex-grow flex-col justify-between rounded-md bg-[#F3F4F7] p-4 desktop:mr-6 desktop:p-6',\n styles.slideWidth,\n slideProductCardClasses?.root\n )}\n >\n <div className={cn('flex flex-col gap-2', slideProductCardClasses?.wrapper)}>\n <div className={cn('flex flex-col gap-2', slideProductCardClasses?.textWrapper)}>\n {title && <h3 className={cn('desk-title-bold-s text-color-dark', slideProductCardClasses?.title)}>{title}</h3>}\n {description && (\n <p className={cn('desk-body-medium-l text-color-tetriary', slideProductCardClasses?.description)}>{description}</p>\n )}\n </div>\n {imgProps && imgProps?.src && (\n <img\n className={cn('w-full object-contain', slideProductCardClasses?.image)}\n src={imgProps?.src}\n alt={imgProps?.alt}\n />\n )}\n </div>\n\n {buttonProps && (\n <Button size='sm'
|
|
1
|
+
{"version":3,"file":"SlideMultipleCards.js","sources":["../../../../../../../lib/shared/ui/carousel/ui/slideVariants/SlideMultipleCards.tsx"],"sourcesContent":["import { pushToDlButton } from '../../../../dataLayers'\nimport { Button, type ButtonProps } from '../../../button'\nimport { extractNumberFromString, type SlidesConfig } from '../../model'\nimport styles from './slide.module.css'\nimport { cn } from '$/shared/utils'\n\nexport type SlideMultipleCardsClasses = {\n root?: string\n wrapper?: string\n textWrapper?: string\n title?: string\n description?: string\n image?: string\n button?: string\n}\n\nexport interface SlideMultipleCardsProps {\n slidesConfig: SlidesConfig\n title?: string\n description?: string\n imgProps?: {\n src: string\n alt: string\n }\n buttonProps?: ButtonProps\n slideProductCardClasses?: SlideMultipleCardsClasses\n}\n\nexport const SlideMultipleCards = ({\n title,\n imgProps,\n description,\n buttonProps,\n slideProductCardClasses,\n slidesConfig\n}: SlideMultipleCardsProps) => {\n const deskCardWidth = extractNumberFromString(slidesConfig.deskSlideWidth)\n const mobCardWidth = extractNumberFromString(slidesConfig.mobSlideWidth)\n\n return (\n <div>\n <div\n style={\n {\n '--mobile-width': `${mobCardWidth}px`,\n '--desktop-width': `${deskCardWidth}px`\n } as React.CSSProperties\n }\n className={cn(\n 'slideWidth mr-4 flex h-full shrink-0 flex-grow flex-col justify-between rounded-md bg-[#F3F4F7] p-4 desktop:mr-6 desktop:p-6',\n styles.slideWidth,\n slideProductCardClasses?.root\n )}\n >\n <div className={cn('flex flex-col gap-2', slideProductCardClasses?.wrapper)}>\n <div className={cn('flex flex-col gap-2', slideProductCardClasses?.textWrapper)}>\n {title && <h3 className={cn('desk-title-bold-s text-color-dark', slideProductCardClasses?.title)}>{title}</h3>}\n {description && (\n <p className={cn('desk-body-medium-l text-color-tetriary', slideProductCardClasses?.description)}>{description}</p>\n )}\n </div>\n {imgProps && imgProps?.src && (\n <img\n className={cn('w-full object-contain', slideProductCardClasses?.image)}\n src={imgProps?.src}\n alt={imgProps?.alt}\n />\n )}\n </div>\n\n {buttonProps && (\n <Button\n onPointerDown={() =>\n pushToDlButton({\n name: title,\n eventCategory: 'click_other',\n headline: 'Карусель продуктов',\n placement: 'carouselBlock'\n })\n }\n size='sm'\n className={cn('w-full', slideProductCardClasses?.button)}\n {...buttonProps}\n >\n {buttonProps?.children || 'Оформить заявку'}\n </Button>\n )}\n </div>\n </div>\n )\n}\n"],"names":["SlideMultipleCards","title","imgProps","description","buttonProps","slideProductCardClasses","slidesConfig","deskCardWidth","extractNumberFromString","mobCardWidth","jsxs","cn","styles","jsx","Button","pushToDlButton"],"mappings":"yTA4BO,MAAMA,EAAqB,CAAC,CACjC,MAAAC,EACA,SAAAC,EACA,YAAAC,EACA,YAAAC,EACA,wBAAAC,EACA,aAAAC,CACF,IAA+B,CAC7B,MAAMC,EAAgBC,EAAwBF,EAAa,cAAc,EACnEG,EAAeD,EAAwBF,EAAa,aAAa,EAEvE,SACG,MAAA,CACC,SAAAI,EAAC,MAAA,CACC,MACE,CACE,iBAAkB,GAAGD,CAAY,KACjC,kBAAmB,GAAGF,CAAa,IAAA,EAGvC,UAAWI,EACT,+HACAC,EAAO,WACPP,GAAyB,IAAA,EAG3B,SAAA,CAAAK,EAAC,OAAI,UAAWC,EAAG,sBAAuBN,GAAyB,OAAO,EACxE,SAAA,CAAAK,EAAC,OAAI,UAAWC,EAAG,sBAAuBN,GAAyB,WAAW,EAC3E,SAAA,CAAAJ,GAASY,EAAC,MAAG,UAAWF,EAAG,oCAAqCN,GAAyB,KAAK,EAAI,SAAAJ,CAAA,CAAM,EACxGE,KACE,IAAA,CAAE,UAAWQ,EAAG,yCAA0CN,GAAyB,WAAW,EAAI,SAAAF,CAAA,CAAY,CAAA,EAEnH,EACCD,GAAYA,GAAU,KACrBW,EAAC,MAAA,CACC,UAAWF,EAAG,wBAAyBN,GAAyB,KAAK,EACrE,IAAKH,GAAU,IACf,IAAKA,GAAU,GAAA,CAAA,CACjB,EAEJ,EAECE,GACCS,EAACC,EAAA,CACC,cAAe,IACbC,EAAe,CACb,KAAMd,EACN,cAAe,cACf,SAAU,qBACV,UAAW,eAAA,CACZ,EAEH,KAAK,KACL,UAAWU,EAAG,SAAUN,GAAyB,MAAM,EACtD,GAAGD,EAEH,YAAa,UAAY,iBAAA,CAAA,CAC5B,CAAA,CAAA,EAGN,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as i,jsx as r}from"react/jsx-runtime";import*as o from"@radix-ui/react-popover";import{cn as t}from"../../utils/cn.js";import{Icon as
|
|
1
|
+
import{jsxs as i,jsx as r}from"react/jsx-runtime";import*as o from"@radix-ui/react-popover";import{cn as t}from"../../utils/cn.js";import{Icon as b}from"../icon/Icon.js";const j=({triggerElement:n,classes:e,sideOffset:l=4,alignOffset:a,align:c,side:s,defaultOpen:m=!1,avoidCollisions:u=!0,children:g,arrowPadding:p,portalContainer:d,withCloseBtn:f=!0,withArrow:h=!0,triggerProps:x,...w})=>i(o.Root,{defaultOpen:m,children:[r("div",{className:t("flex w-max items-center gap-2",e?.root),children:r(o.Trigger,{...x,"aria-label":"tooltip",className:t("flex cursor-pointer items-center justify-center",e?.trigger),children:n})}),r(o.Portal,{container:d,children:i(o.Content,{className:t("desk-body-regular-m flex w-fit max-w-64 items-start gap-2 rounded-sm bg-color-white p-4 shadow-sm outline-none",e?.content),sideOffset:l,alignOffset:a,avoidCollisions:u,arrowPadding:p,align:c,side:s,...w,children:[g,f&&r(o.Close,{"aria-label":"Close",className:t("flex size-5 items-center justify-center outline-0 outline-transparent",e?.closeTrigger),children:r(b,{name:"general/close",className:t("size-5 cursor-pointer text-icon-blue-grey-600 transition-colors hover:text-icon-blue-grey-800",e?.closeIcon)})}),h&&r(o.Arrow,{width:12,height:6,className:t("fill-white",e?.arrowIcon)})]})})]});export{j as Popover};
|
|
2
2
|
//# sourceMappingURL=Popover.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popover.js","sources":["../../../../../lib/shared/ui/popover/Popover.tsx"],"sourcesContent":["'use client'\n\nimport type { ReactElement, ReactNode } from 'react'\nimport type { PopoverContentProps as PopoverContentPropsBase } from '@radix-ui/react-popover'\nimport * as PopoverPrimitive from '@radix-ui/react-popover'\nimport { Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\ntype PopoverClasses = {\n root?: string\n content?: string\n trigger?: string\n arrowIcon?: string\n closeIcon?: string\n closeTrigger?: string\n}\n\ninterface PopoverContentProps extends PopoverContentPropsBase {\n sideOffset?: number\n alignOffset?: number\n align?: 'end' | 'center' | 'start'\n side?: 'top' | 'right' | 'bottom' | 'left'\n defaultOpen?: boolean\n avoidCollisions?: boolean\n withCloseBtn?: boolean\n withArrow?: boolean\n}\n\nexport interface PopoverProps extends PopoverContentProps {\n triggerElement: ReactElement\n children: ReactNode\n classes?: PopoverClasses\n portalContainer?: PopoverPrimitive.PopoverPortalProps['container']\n}\n\nexport const Popover = ({\n triggerElement,\n classes,\n sideOffset = 4,\n alignOffset,\n align,\n side,\n defaultOpen = false,\n avoidCollisions = true,\n children,\n arrowPadding,\n portalContainer,\n withCloseBtn = true,\n withArrow = true,\n ...contentProps\n}: PopoverProps) => {\n return (\n <PopoverPrimitive.Root defaultOpen={defaultOpen}>\n <div className={cn('flex w-max items-center gap-2', classes?.root)}>\n <PopoverPrimitive.Trigger\n aria-label='tooltip'\n className={cn('flex cursor-pointer items-center justify-center', classes?.trigger)}\n >\n {triggerElement}\n </PopoverPrimitive.Trigger>\n </div>\n <PopoverPrimitive.Portal container={portalContainer}>\n <PopoverPrimitive.Content\n className={cn(\n 'desk-body-regular-m flex w-fit max-w-64 items-start gap-2 rounded-sm bg-color-white p-4 shadow-sm outline-none',\n classes?.content\n )}\n sideOffset={sideOffset}\n alignOffset={alignOffset}\n avoidCollisions={avoidCollisions}\n arrowPadding={arrowPadding}\n align={align}\n side={side}\n {...contentProps}\n >\n {children}\n\n {withCloseBtn && (\n <PopoverPrimitive.Close\n aria-label='Close'\n className={cn('flex size-5 items-center justify-center outline-0 outline-transparent', classes?.closeTrigger)}\n >\n <Icon\n name='general/close'\n className={cn(\n 'size-5 cursor-pointer text-icon-blue-grey-600 transition-colors hover:text-icon-blue-grey-800',\n classes?.closeIcon\n )}\n />\n </PopoverPrimitive.Close>\n )}\n {withArrow && <PopoverPrimitive.Arrow width={12} height={6} className={cn('fill-white', classes?.arrowIcon)} />}\n </PopoverPrimitive.Content>\n </PopoverPrimitive.Portal>\n </PopoverPrimitive.Root>\n )\n}\n"],"names":["Popover","triggerElement","classes","sideOffset","alignOffset","align","side","defaultOpen","avoidCollisions","children","arrowPadding","portalContainer","withCloseBtn","withArrow","contentProps","jsxs","PopoverPrimitive","jsx","cn","Icon"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Popover.js","sources":["../../../../../lib/shared/ui/popover/Popover.tsx"],"sourcesContent":["'use client'\n\nimport type { ReactElement, ReactNode } from 'react'\nimport type { PopoverContentProps as PopoverContentPropsBase, PopoverTriggerProps } from '@radix-ui/react-popover'\nimport * as PopoverPrimitive from '@radix-ui/react-popover'\nimport { Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\ntype PopoverClasses = {\n root?: string\n content?: string\n trigger?: string\n arrowIcon?: string\n closeIcon?: string\n closeTrigger?: string\n}\n\ninterface PopoverContentProps extends PopoverContentPropsBase {\n sideOffset?: number\n alignOffset?: number\n align?: 'end' | 'center' | 'start'\n side?: 'top' | 'right' | 'bottom' | 'left'\n defaultOpen?: boolean\n avoidCollisions?: boolean\n withCloseBtn?: boolean\n withArrow?: boolean\n}\n\nexport interface PopoverProps extends PopoverContentProps {\n triggerElement: ReactElement\n children: ReactNode\n classes?: PopoverClasses\n portalContainer?: PopoverPrimitive.PopoverPortalProps['container']\n triggerProps?: PopoverTriggerProps\n}\n\nexport const Popover = ({\n triggerElement,\n classes,\n sideOffset = 4,\n alignOffset,\n align,\n side,\n defaultOpen = false,\n avoidCollisions = true,\n children,\n arrowPadding,\n portalContainer,\n withCloseBtn = true,\n withArrow = true,\n triggerProps,\n ...contentProps\n}: PopoverProps) => {\n return (\n <PopoverPrimitive.Root defaultOpen={defaultOpen}>\n <div className={cn('flex w-max items-center gap-2', classes?.root)}>\n <PopoverPrimitive.Trigger\n {...triggerProps}\n aria-label='tooltip'\n className={cn('flex cursor-pointer items-center justify-center', classes?.trigger)}\n >\n {triggerElement}\n </PopoverPrimitive.Trigger>\n </div>\n <PopoverPrimitive.Portal container={portalContainer}>\n <PopoverPrimitive.Content\n className={cn(\n 'desk-body-regular-m flex w-fit max-w-64 items-start gap-2 rounded-sm bg-color-white p-4 shadow-sm outline-none',\n classes?.content\n )}\n sideOffset={sideOffset}\n alignOffset={alignOffset}\n avoidCollisions={avoidCollisions}\n arrowPadding={arrowPadding}\n align={align}\n side={side}\n {...contentProps}\n >\n {children}\n\n {withCloseBtn && (\n <PopoverPrimitive.Close\n aria-label='Close'\n className={cn('flex size-5 items-center justify-center outline-0 outline-transparent', classes?.closeTrigger)}\n >\n <Icon\n name='general/close'\n className={cn(\n 'size-5 cursor-pointer text-icon-blue-grey-600 transition-colors hover:text-icon-blue-grey-800',\n classes?.closeIcon\n )}\n />\n </PopoverPrimitive.Close>\n )}\n {withArrow && <PopoverPrimitive.Arrow width={12} height={6} className={cn('fill-white', classes?.arrowIcon)} />}\n </PopoverPrimitive.Content>\n </PopoverPrimitive.Portal>\n </PopoverPrimitive.Root>\n )\n}\n"],"names":["Popover","triggerElement","classes","sideOffset","alignOffset","align","side","defaultOpen","avoidCollisions","children","arrowPadding","portalContainer","withCloseBtn","withArrow","triggerProps","contentProps","jsxs","PopoverPrimitive","jsx","cn","Icon"],"mappings":"0KAoCO,MAAMA,EAAU,CAAC,CACtB,eAAAC,EACA,QAAAC,EACA,WAAAC,EAAa,EACb,YAAAC,EACA,MAAAC,EACA,KAAAC,EACA,YAAAC,EAAc,GACd,gBAAAC,EAAkB,GAClB,SAAAC,EACA,aAAAC,EACA,gBAAAC,EACA,aAAAC,EAAe,GACf,UAAAC,EAAY,GACZ,aAAAC,EACA,GAAGC,CACL,IAEIC,EAACC,EAAiB,KAAjB,CAAsB,YAAAV,EACrB,SAAA,CAAAW,EAAC,OAAI,UAAWC,EAAG,gCAAiCjB,GAAS,IAAI,EAC/D,SAAAgB,EAACD,EAAiB,QAAjB,CACE,GAAGH,EACJ,aAAW,UACX,UAAWK,EAAG,kDAAmDjB,GAAS,OAAO,EAEhF,SAAAD,CAAA,CAAA,EAEL,EACAiB,EAACD,EAAiB,OAAjB,CAAwB,UAAWN,EAClC,SAAAK,EAACC,EAAiB,QAAjB,CACC,UAAWE,EACT,iHACAjB,GAAS,OAAA,EAEX,WAAAC,EACA,YAAAC,EACA,gBAAAI,EACA,aAAAE,EACA,MAAAL,EACA,KAAAC,EACC,GAAGS,EAEH,SAAA,CAAAN,EAEAG,GACCM,EAACD,EAAiB,MAAjB,CACC,aAAW,QACX,UAAWE,EAAG,wEAAyEjB,GAAS,YAAY,EAE5G,SAAAgB,EAACE,EAAA,CACC,KAAK,gBACL,UAAWD,EACT,gGACAjB,GAAS,SAAA,CACX,CAAA,CACF,CAAA,EAGHW,GAAaK,EAACD,EAAiB,MAAjB,CAAuB,MAAO,GAAI,OAAQ,EAAG,UAAWE,EAAG,aAAcjB,GAAS,SAAS,CAAA,CAAG,CAAA,CAAA,CAAA,CAC/G,CACF,CAAA,EACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as i,jsx as l}from"react/jsx-runtime";import{cn as
|
|
1
|
+
import{jsxs as i,jsx as l}from"react/jsx-runtime";import{cn as o}from"../../../../../shared/utils/cn.js";import{ButtonWithHandlers as a}from"../../../../buttonWithHandlers/ButtonWithHandlers.js";import{pushToDlButton as s}from"../../../../../shared/dataLayers/utils.js";const c=({buttonConfig:p,headTitle:r,classes:e})=>{const{primary:n,secondary:t}=p||{};return i("div",{className:o("grid-buttons-apply absolute bottom-6 left-1/2 flex w-full -translate-x-1/2 flex-col justify-self-center px-4 desktop:static desktop:left-auto desktop:max-w-full desktop:translate-x-0 desktop:flex-row desktop:justify-normal desktop:px-0",{"flex items-center gap-4":t?.enabled},e?.group),children:[n.enabled&&l(a,{onPointerDown:()=>s({name:n?.buttonContent?.children,headline:r,placement:"banner"}),className:o("w-full desktop:max-w-[216px]",e?.primary),size:"lg",intent:"primary",...n.buttonContent}),t?.enabled&&l(a,{onPointerDown:()=>s({name:t?.buttonContent?.children,headline:r,placement:"banner"}),intent:"secondary",size:"lg",className:o("w-full desktop:max-w-[216px]",e?.secondary),...t.buttonContent})]})};export{c as Buttons};
|
|
2
2
|
//# sourceMappingURL=Buttons.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Buttons.js","sources":["../../../../../../../lib/widgets/banner/ui/banners/ui/Buttons.tsx"],"sourcesContent":["import { pushToDlButton } from '../../../../../shared/dataLayers'\nimport { ButtonWithHandlers } from '../../../../buttonWithHandlers'\nimport type { ButtonsConfig } from '../../../model'\nimport { cn } from '$/shared/utils'\n\nexport type ButtonsClasses = {\n group?: string\n primary?: string\n secondary?: string\n}\n\ninterface ButtonsProps {\n classes?: ButtonsClasses\n buttonConfig: ButtonsConfig\n headTitle: string\n}\n\nexport const Buttons = ({ buttonConfig, headTitle, classes }: ButtonsProps) => {\n const { primary, secondary } = buttonConfig || {}\n\n return (\n <div\n className={cn(\n 'grid-buttons-apply absolute bottom-6 left-1/2 flex w-full -translate-x-1/2 flex-col justify-self-center px-4 desktop:static desktop:left-auto desktop:max-w-full desktop:translate-x-0 desktop:flex-row desktop:justify-normal desktop:px-0',\n { 'flex items-center gap-4': secondary?.enabled },\n classes?.group\n )}\n >\n {primary.enabled && (\n <ButtonWithHandlers\n onPointerDown={()
|
|
1
|
+
{"version":3,"file":"Buttons.js","sources":["../../../../../../../lib/widgets/banner/ui/banners/ui/Buttons.tsx"],"sourcesContent":["import { pushToDlButton } from '../../../../../shared/dataLayers'\nimport { ButtonWithHandlers } from '../../../../buttonWithHandlers'\nimport type { ButtonsConfig } from '../../../model'\nimport { cn } from '$/shared/utils'\n\nexport type ButtonsClasses = {\n group?: string\n primary?: string\n secondary?: string\n}\n\ninterface ButtonsProps {\n classes?: ButtonsClasses\n buttonConfig: ButtonsConfig\n headTitle: string\n}\n\nexport const Buttons = ({ buttonConfig, headTitle, classes }: ButtonsProps) => {\n const { primary, secondary } = buttonConfig || {}\n\n return (\n <div\n className={cn(\n 'grid-buttons-apply absolute bottom-6 left-1/2 flex w-full -translate-x-1/2 flex-col justify-self-center px-4 desktop:static desktop:left-auto desktop:max-w-full desktop:translate-x-0 desktop:flex-row desktop:justify-normal desktop:px-0',\n { 'flex items-center gap-4': secondary?.enabled },\n classes?.group\n )}\n >\n {primary.enabled && (\n <ButtonWithHandlers\n onPointerDown={() =>\n pushToDlButton({ name: primary?.buttonContent?.children as string, headline: headTitle, placement: 'banner' })\n }\n className={cn('w-full desktop:max-w-[216px]', classes?.primary)}\n size='lg'\n intent='primary'\n {...primary.buttonContent}\n />\n )}\n {secondary?.enabled && (\n <ButtonWithHandlers\n onPointerDown={() =>\n pushToDlButton({ name: secondary?.buttonContent?.children as string, headline: headTitle, placement: 'banner' })\n }\n intent='secondary'\n size='lg'\n className={cn('w-full desktop:max-w-[216px]', classes?.secondary)}\n {...secondary.buttonContent}\n />\n )}\n </div>\n )\n}\n"],"names":["Buttons","buttonConfig","headTitle","classes","primary","secondary","jsxs","cn","jsx","ButtonWithHandlers","pushToDlButton"],"mappings":"8QAiBO,MAAMA,EAAU,CAAC,CAAE,aAAAC,EAAc,UAAAC,EAAW,QAAAC,KAA4B,CAC7E,KAAM,CAAE,QAAAC,EAAS,UAAAC,CAAA,EAAcJ,GAAgB,CAAA,EAE/C,OACEK,EAAC,MAAA,CACC,UAAWC,EACT,8OACA,CAAE,0BAA2BF,GAAW,OAAA,EACxCF,GAAS,KAAA,EAGV,SAAA,CAAAC,EAAQ,SACPI,EAACC,EAAA,CACC,cAAe,IACbC,EAAe,CAAE,KAAMN,GAAS,eAAe,SAAoB,SAAUF,EAAW,UAAW,QAAA,CAAU,EAE/G,UAAWK,EAAG,+BAAgCJ,GAAS,OAAO,EAC9D,KAAK,KACL,OAAO,UACN,GAAGC,EAAQ,aAAA,CAAA,EAGfC,GAAW,SACVG,EAACC,EAAA,CACC,cAAe,IACbC,EAAe,CAAE,KAAML,GAAW,eAAe,SAAoB,SAAUH,EAAW,UAAW,QAAA,CAAU,EAEjH,OAAO,YACP,KAAK,KACL,UAAWK,EAAG,+BAAgCJ,GAAS,SAAS,EAC/D,GAAGE,EAAU,aAAA,CAAA,CAChB,CAAA,CAAA,CAIR"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as
|
|
1
|
+
import{jsxs as s,jsx as r}from"react/jsx-runtime";import{cva as c}from"class-variance-authority";import{cn as t}from"../../../shared/utils/cn.js";import{ButtonWithHandlers as u}from"../../buttonWithHandlers/ButtonWithHandlers.js";import{TypeGuards as x}from"../../../shared/utils/typeGuards.js";import{useDevice as k}from"../../../shared/hooks/useDevice.js";import{pushToDlButton as y}from"../../../shared/dataLayers/utils.js";const h=c("flex flex-col justify-between overflow-hidden rounded-md bg-color-blue-grey-100 py-6 desktop:flex-row desktop:px-0 desktop:py-0",{variants:{variant:{twoCards:"",threeCards:"desktop:first:col-span-full",fourCards:"desktop:first:col-span-2 desktop:last:col-span-2"}}}),D=({subtitle:d,title:i,img:o,classes:e,button:l,variant:a,color:f,enabledMobileImage:n,headline:m})=>{const{isDesktop:p}=k();return s("li",{style:{backgroundColor:f??"#F3F4F7"},className:t(h({variant:a}),{"pb-0":n},{"pb-12":!n},e?.root),children:[s("div",{className:t("flex flex-col items-start justify-between px-4 desktop:px-8 desktop:py-8",e?.wrapper),children:[s("div",{className:t("flex flex-col gap-4",e?.textContainer),children:[r("div",{dangerouslySetInnerHTML:{__html:i},className:t("desktop:desk-title-bold-s",e?.title)}),r("div",{dangerouslySetInnerHTML:{__html:d},className:t("mob-body-regular-l text-icon-blue-grey-800 desktop:desk-body-regular-l",e?.subtitle)})]}),p&&l?.handlerOptions&&r(u,{onPointerDown:()=>y({name:l?.children,headline:m,placement:"benefits"}),intent:"primary",className:t("desktop:w-[200px]",e?.button),size:"lg",...l})]}),(n||p)&&o&&r("div",{className:t("flex w-full justify-end",e?.imgContainer),children:o&&"url"in o&&x.isObject(o)?r("img",{className:t("h-[246px] object-cover",e?.img),src:o.url,alt:o.alt}):o})]},i)};export{D as BenefitItem};
|
|
2
2
|
//# sourceMappingURL=BenefitItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BenefitItem.js","sources":["../../../../../lib/widgets/benefit/ui/BenefitItem.tsx"],"sourcesContent":["import { cva } from 'class-variance-authority'\nimport { pushToDlButton } from '../../../shared/dataLayers'\nimport { type Details } from '../model/types'\nimport { useDevice } from '$/shared/hooks'\nimport { cn, TypeGuards } from '$/shared/utils'\nimport { ButtonWithHandlers } from '$/widgets/buttonWithHandlers'\n\nexport type BenefitItemClasses = {\n root?: string\n button?: string\n wrapper?: string\n textContainer?: string\n subtitle?: string\n img?: string\n imgContainer?: string\n title?: string\n}\n\nconst itemConfig = cva(\n 'flex flex-col justify-between overflow-hidden rounded-md bg-color-blue-grey-100 py-6 desktop:flex-row desktop:px-0 desktop:py-0',\n {\n variants: {\n variant: {\n twoCards: '',\n threeCards: 'desktop:first:col-span-full',\n fourCards: 'desktop:first:col-span-2 desktop:last:col-span-2'\n }\n }\n }\n)\n\nexport interface BenefitItemProps extends Details {\n classes?: BenefitItemClasses\n variant?: 'twoCards' | 'threeCards' | 'fourCards'\n headline: string\n}\n\nexport const BenefitItem = ({\n subtitle,\n title,\n img,\n classes,\n button,\n variant,\n color,\n enabledMobileImage,\n headline\n}: BenefitItemProps) => {\n const { isDesktop } = useDevice()\n\n return (\n <li\n key={title}\n style={{ backgroundColor: color ?? '#F3F4F7' }}\n className={cn(itemConfig({ variant }), { 'pb-0': enabledMobileImage }, { 'pb-12': !enabledMobileImage }, classes?.root)}\n >\n <div className={cn('flex flex-col items-start justify-between px-4 desktop:px-8 desktop:py-8', classes?.wrapper)}>\n <div className={cn('flex flex-col gap-4', classes?.textContainer)}>\n <div dangerouslySetInnerHTML={{ __html: title }} className={cn('desktop:desk-title-bold-s', classes?.title)} />\n <div\n dangerouslySetInnerHTML={{ __html: subtitle }}\n className={cn('mob-body-regular-l text-icon-blue-grey-800 desktop:desk-body-regular-l', classes?.subtitle)}\n />\n </div>\n\n {isDesktop && button?.handlerOptions && (\n <ButtonWithHandlers\n onPointerDown={() => pushToDlButton(button?.children as string, headline, '
|
|
1
|
+
{"version":3,"file":"BenefitItem.js","sources":["../../../../../lib/widgets/benefit/ui/BenefitItem.tsx"],"sourcesContent":["import { cva } from 'class-variance-authority'\nimport { pushToDlButton } from '../../../shared/dataLayers'\nimport { type Details } from '../model/types'\nimport { useDevice } from '$/shared/hooks'\nimport { cn, TypeGuards } from '$/shared/utils'\nimport { ButtonWithHandlers } from '$/widgets/buttonWithHandlers'\n\nexport type BenefitItemClasses = {\n root?: string\n button?: string\n wrapper?: string\n textContainer?: string\n subtitle?: string\n img?: string\n imgContainer?: string\n title?: string\n}\n\nconst itemConfig = cva(\n 'flex flex-col justify-between overflow-hidden rounded-md bg-color-blue-grey-100 py-6 desktop:flex-row desktop:px-0 desktop:py-0',\n {\n variants: {\n variant: {\n twoCards: '',\n threeCards: 'desktop:first:col-span-full',\n fourCards: 'desktop:first:col-span-2 desktop:last:col-span-2'\n }\n }\n }\n)\n\nexport interface BenefitItemProps extends Details {\n classes?: BenefitItemClasses\n variant?: 'twoCards' | 'threeCards' | 'fourCards'\n headline: string\n}\n\nexport const BenefitItem = ({\n subtitle,\n title,\n img,\n classes,\n button,\n variant,\n color,\n enabledMobileImage,\n headline\n}: BenefitItemProps) => {\n const { isDesktop } = useDevice()\n\n return (\n <li\n key={title}\n style={{ backgroundColor: color ?? '#F3F4F7' }}\n className={cn(itemConfig({ variant }), { 'pb-0': enabledMobileImage }, { 'pb-12': !enabledMobileImage }, classes?.root)}\n >\n <div className={cn('flex flex-col items-start justify-between px-4 desktop:px-8 desktop:py-8', classes?.wrapper)}>\n <div className={cn('flex flex-col gap-4', classes?.textContainer)}>\n <div dangerouslySetInnerHTML={{ __html: title }} className={cn('desktop:desk-title-bold-s', classes?.title)} />\n <div\n dangerouslySetInnerHTML={{ __html: subtitle }}\n className={cn('mob-body-regular-l text-icon-blue-grey-800 desktop:desk-body-regular-l', classes?.subtitle)}\n />\n </div>\n\n {isDesktop && button?.handlerOptions && (\n <ButtonWithHandlers\n onPointerDown={() => pushToDlButton({ name: button?.children as string, headline, placement: 'benefits' })}\n intent='primary'\n className={cn('desktop:w-[200px]', classes?.button)}\n size='lg'\n {...button}\n />\n )}\n </div>\n\n {(enabledMobileImage || isDesktop) && img && (\n <div className={cn('flex w-full justify-end', classes?.imgContainer)}>\n {img && 'url' in img && TypeGuards.isObject(img) ? (\n <img className={cn('h-[246px] object-cover', classes?.img)} src={img.url} alt={img.alt} />\n ) : (\n img\n )}\n </div>\n )}\n </li>\n )\n}\n"],"names":["itemConfig","cva","BenefitItem","subtitle","title","img","classes","button","variant","color","enabledMobileImage","headline","isDesktop","useDevice","jsxs","cn","jsx","ButtonWithHandlers","pushToDlButton","TypeGuards"],"mappings":"2aAkBA,MAAMA,EAAaC,EACjB,kIACA,CACE,SAAU,CACR,QAAS,CACP,SAAU,GACV,WAAY,8BACZ,UAAW,kDAAA,CACb,CACF,CAEJ,EAQaC,EAAc,CAAC,CAC1B,SAAAC,EACA,MAAAC,EACA,IAAAC,EACA,QAAAC,EACA,OAAAC,EACA,QAAAC,EACA,MAAAC,EACA,mBAAAC,EACA,SAAAC,CACF,IAAwB,CACtB,KAAM,CAAE,UAAAC,CAAA,EAAcC,EAAA,EAEtB,OACEC,EAAC,KAAA,CAEC,MAAO,CAAE,gBAAiBL,GAAS,SAAA,EACnC,UAAWM,EAAGf,EAAW,CAAE,QAAAQ,CAAA,CAAS,EAAG,CAAE,OAAQE,CAAA,EAAsB,CAAE,QAAS,CAACA,CAAA,EAAsBJ,GAAS,IAAI,EAEtH,SAAA,CAAAQ,EAAC,OAAI,UAAWC,EAAG,2EAA4ET,GAAS,OAAO,EAC7G,SAAA,CAAAQ,EAAC,OAAI,UAAWC,EAAG,sBAAuBT,GAAS,aAAa,EAC9D,SAAA,CAAAU,EAAC,MAAA,CAAI,wBAAyB,CAAE,OAAQZ,CAAA,EAAS,UAAWW,EAAG,4BAA6BT,GAAS,KAAK,CAAA,CAAG,EAC7GU,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQb,CAAA,EACnC,UAAWY,EAAG,yEAA0ET,GAAS,QAAQ,CAAA,CAAA,CAC3G,EACF,EAECM,GAAaL,GAAQ,gBACpBS,EAACC,EAAA,CACC,cAAe,IAAMC,EAAe,CAAE,KAAMX,GAAQ,SAAoB,SAAAI,EAAU,UAAW,WAAY,EACzG,OAAO,UACP,UAAWI,EAAG,oBAAqBT,GAAS,MAAM,EAClD,KAAK,KACJ,GAAGC,CAAA,CAAA,CACN,EAEJ,GAEEG,GAAsBE,IAAcP,GACpCW,EAAC,OAAI,UAAWD,EAAG,0BAA2BT,GAAS,YAAY,EAChE,SAAAD,GAAO,QAASA,GAAOc,EAAW,SAASd,CAAG,EAC7CW,EAAC,MAAA,CAAI,UAAWD,EAAG,yBAA0BT,GAAS,GAAG,EAAG,IAAKD,EAAI,IAAK,IAAKA,EAAI,GAAA,CAAK,EAExFA,CAAA,CAEJ,CAAA,CAAA,EA/BGD,CAAA,CAmCX"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as r,Fragment as a}from"react/jsx-runtime";import{cn as
|
|
1
|
+
import{jsx as r,Fragment as a}from"react/jsx-runtime";import{cn as l}from"../../shared/utils/cn.js";import{pushToDlLink as i}from"../../shared/dataLayers/utils.js";const p=({breadcrumb:e,className:n,isLast:t,...o})=>r(a,{children:t?r("p",{className:l("desk-body-regular-m pointer-events-none text-color-tetriary",n),...o,children:e.label}):r("a",{onPointerDown:()=>i({name:e?.label,link:"Хлебные крошки",placement:"breadcrumbs",eventCategory:"click_block"}),href:e.path,className:l("desk-body-regular-m",n),...o,children:e.label})});export{p as Breadcrumb};
|
|
2
2
|
//# sourceMappingURL=Breadcrumb.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Breadcrumb.js","sources":["../../../../lib/widgets/breadcrumbs/Breadcrumb.tsx"],"sourcesContent":["import { pushToDlLink } from '../../shared/dataLayers'\nimport type { Breadcrumb as BreadcrumbType } from './hooks'\nimport { cn } from '$/shared/utils'\n\ntype BreadcrumbProps = React.AnchorHTMLAttributes<HTMLAnchorElement | HTMLDivElement> & {\n breadcrumb: BreadcrumbType\n isLast?: boolean\n}\n\nexport const Breadcrumb = ({ breadcrumb, className, isLast, ...props }: BreadcrumbProps) => {\n return (\n <>\n {isLast ? (\n <p className={cn('desk-body-regular-m pointer-events-none text-color-tetriary', className)} {...props}>\n {breadcrumb.label}\n </p>\n ) : (\n <a\n onPointerDown={()
|
|
1
|
+
{"version":3,"file":"Breadcrumb.js","sources":["../../../../lib/widgets/breadcrumbs/Breadcrumb.tsx"],"sourcesContent":["import { pushToDlLink } from '../../shared/dataLayers'\nimport type { Breadcrumb as BreadcrumbType } from './hooks'\nimport { cn } from '$/shared/utils'\n\ntype BreadcrumbProps = React.AnchorHTMLAttributes<HTMLAnchorElement | HTMLDivElement> & {\n breadcrumb: BreadcrumbType\n isLast?: boolean\n}\n\nexport const Breadcrumb = ({ breadcrumb, className, isLast, ...props }: BreadcrumbProps) => {\n return (\n <>\n {isLast ? (\n <p className={cn('desk-body-regular-m pointer-events-none text-color-tetriary', className)} {...props}>\n {breadcrumb.label}\n </p>\n ) : (\n <a\n onPointerDown={() =>\n pushToDlLink({\n name: breadcrumb?.label,\n link: 'Хлебные крошки',\n placement: 'breadcrumbs',\n eventCategory: 'click_block'\n })\n }\n href={breadcrumb.path}\n className={cn('desk-body-regular-m', className)}\n {...props}\n >\n {breadcrumb.label}\n </a>\n )}\n </>\n )\n}\n"],"names":["Breadcrumb","breadcrumb","className","isLast","props","jsx","Fragment","cn","pushToDlLink"],"mappings":"oKASO,MAAMA,EAAa,CAAC,CAAE,WAAAC,EAAY,UAAAC,EAAW,OAAAC,EAAQ,GAAGC,KAE3DC,EAAAC,EAAA,CACG,SAAAH,EACCE,EAAC,IAAA,CAAE,UAAWE,EAAG,8DAA+DL,CAAS,EAAI,GAAGE,EAC7F,SAAAH,EAAW,MACd,EAEAI,EAAC,IAAA,CACC,cAAe,IACbG,EAAa,CACX,KAAMP,GAAY,MAClB,KAAM,iBACN,UAAW,cACX,cAAe,aAAA,CAChB,EAEH,KAAMA,EAAW,KACjB,UAAWM,EAAG,sBAAuBL,CAAS,EAC7C,GAAGE,EAEH,SAAAH,EAAW,KAAA,CAAA,EAGlB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import{memo as
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{memo as c}from"react";import{cn as p}from"../../../shared/utils/cn.js";import{pushToDlTab as i}from"../../../shared/dataLayers/utils.js";const f=c(({calculatorTabs:a,activeCalculator:l,setActiveCalculator:n,headline:m,classes:r})=>e("div",{className:p("mb-8 flex items-center gap-4",r?.wrapper),children:a?.map(({name:o,label:t})=>e("button",{onPointerDown:()=>i({name:t,headline:m,placement:"calculator"}),onClick:()=>n(o),className:p("mob-body-regular-m text-nowrap rounded-sm bg-color-blue-grey-100 px-3 py-1.5 text-color-secondary outline-1 outline-offset-4 outline-transparent desktop:desk-body-regular-l focus:outline-primary-focus desktop:px-4 desktop:py-3",{"bg-icon-primary-default text-color-white":l===o},r?.tab),children:t},o))}));export{f as CalculatorTabs};
|
|
2
2
|
//# sourceMappingURL=CalculatorTabs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalculatorTabs.js","sources":["../../../../../lib/widgets/calculator/ui/CalculatorTabs.tsx"],"sourcesContent":["import { type Dispatch, memo, type SetStateAction } from 'react'\nimport { pushToDlTab } from '../../../shared/dataLayers'\nimport { cn } from '$/shared/utils'\n\nexport type CalculatorTabsClasses = {\n wrapper?: string\n tab?: string\n}\n\nexport interface CalculatorTab {\n name: string\n label: string\n}\n\nexport type CalculatorTabValue = CalculatorTab['name']\n\nexport interface CalculatorTabsProps {\n calculatorTabs?: CalculatorTab[]\n activeCalculator: CalculatorTabValue\n setActiveCalculator: Dispatch<SetStateAction<CalculatorTabValue>>\n classes?: CalculatorTabsClasses\n headline: string\n}\n\nexport const CalculatorTabs = memo(\n ({ calculatorTabs, activeCalculator, setActiveCalculator, headline, classes }: CalculatorTabsProps) => {\n return (\n <div className={cn('mb-8 flex items-center gap-4', classes?.wrapper)}>\n {calculatorTabs?.map(({ name, label }) => (\n <button\n onPointerDown={() => pushToDlTab(label, headline, 'calculator')}\n key={name}\n onClick={() => setActiveCalculator(name)}\n className={cn(\n 'mob-body-regular-m text-nowrap rounded-sm bg-color-blue-grey-100 px-3 py-1.5 text-color-secondary outline-1 outline-offset-4 outline-transparent desktop:desk-body-regular-l focus:outline-primary-focus desktop:px-4 desktop:py-3',\n { 'bg-icon-primary-default text-color-white': activeCalculator === name },\n classes?.tab\n )}\n >\n {label}\n </button>\n ))}\n </div>\n )\n }\n)\n"],"names":["CalculatorTabs","memo","calculatorTabs","activeCalculator","setActiveCalculator","headline","classes","jsx","cn","name","label","pushToDlTab"],"mappings":"wLAwBO,MAAMA,EAAiBC,EAC5B,CAAC,CAAE,eAAAC,EAAgB,iBAAAC,EAAkB,oBAAAC,EAAqB,SAAAC,EAAU,QAAAC,KAEhEC,EAAC,MAAA,CAAI,UAAWC,EAAG,+BAAgCF,GAAS,OAAO,EAChE,SAAAJ,GAAgB,IAAI,CAAC,CAAE,KAAAO,EAAM,MAAAC,KAC5BH,EAAC,SAAA,CACC,cAAe,IAAMI,
|
|
1
|
+
{"version":3,"file":"CalculatorTabs.js","sources":["../../../../../lib/widgets/calculator/ui/CalculatorTabs.tsx"],"sourcesContent":["import { type Dispatch, memo, type SetStateAction } from 'react'\nimport { pushToDlTab } from '../../../shared/dataLayers'\nimport { cn } from '$/shared/utils'\n\nexport type CalculatorTabsClasses = {\n wrapper?: string\n tab?: string\n}\n\nexport interface CalculatorTab {\n name: string\n label: string\n}\n\nexport type CalculatorTabValue = CalculatorTab['name']\n\nexport interface CalculatorTabsProps {\n calculatorTabs?: CalculatorTab[]\n activeCalculator: CalculatorTabValue\n setActiveCalculator: Dispatch<SetStateAction<CalculatorTabValue>>\n classes?: CalculatorTabsClasses\n headline: string\n}\n\nexport const CalculatorTabs = memo(\n ({ calculatorTabs, activeCalculator, setActiveCalculator, headline, classes }: CalculatorTabsProps) => {\n return (\n <div className={cn('mb-8 flex items-center gap-4', classes?.wrapper)}>\n {calculatorTabs?.map(({ name, label }) => (\n <button\n onPointerDown={() => pushToDlTab({ name: label, headline, placement: 'calculator' })}\n key={name}\n onClick={() => setActiveCalculator(name)}\n className={cn(\n 'mob-body-regular-m text-nowrap rounded-sm bg-color-blue-grey-100 px-3 py-1.5 text-color-secondary outline-1 outline-offset-4 outline-transparent desktop:desk-body-regular-l focus:outline-primary-focus desktop:px-4 desktop:py-3',\n { 'bg-icon-primary-default text-color-white': activeCalculator === name },\n classes?.tab\n )}\n >\n {label}\n </button>\n ))}\n </div>\n )\n }\n)\n"],"names":["CalculatorTabs","memo","calculatorTabs","activeCalculator","setActiveCalculator","headline","classes","jsx","cn","name","label","pushToDlTab"],"mappings":"wLAwBO,MAAMA,EAAiBC,EAC5B,CAAC,CAAE,eAAAC,EAAgB,iBAAAC,EAAkB,oBAAAC,EAAqB,SAAAC,EAAU,QAAAC,KAEhEC,EAAC,MAAA,CAAI,UAAWC,EAAG,+BAAgCF,GAAS,OAAO,EAChE,SAAAJ,GAAgB,IAAI,CAAC,CAAE,KAAAO,EAAM,MAAAC,KAC5BH,EAAC,SAAA,CACC,cAAe,IAAMI,EAAY,CAAE,KAAMD,EAAO,SAAAL,EAAU,UAAW,aAAc,EAEnF,QAAS,IAAMD,EAAoBK,CAAI,EACvC,UAAWD,EACT,qOACA,CAAE,2CAA4CL,IAAqBM,CAAA,EACnEH,GAAS,GAAA,EAGV,SAAAI,CAAA,EARID,CAAA,CAUR,EACH,CAGN"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as l,jsx as r}from"react/jsx-runtime";import{cn as o}from"../../../../../shared/utils/cn.js";import{Icon as n}from"../../../../../shared/ui/icon/Icon.js";import{Popover as a}from"../../../../../shared/ui/popover/Popover.js";import{pushToDlTooltip as
|
|
1
|
+
import{jsxs as l,jsx as r}from"react/jsx-runtime";import{cn as o}from"../../../../../shared/utils/cn.js";import{Icon as n}from"../../../../../shared/ui/icon/Icon.js";import{Popover as a}from"../../../../../shared/ui/popover/Popover.js";import{pushToDlTooltip as p}from"../../../../../shared/dataLayers/utils.js";const h=({iconName:m,text:t,hint:i,classes:e,popoverProps:c})=>l("div",{className:o("mb-6 flex items-center gap-2",e?.wrapper),children:[l("div",{className:o("flex items-center gap-1",e?.block),children:[r(n,{name:m,className:o("size-6 text-icon-blue-grey-800",e?.icon)}),r("p",{className:o("desk-body-regular-l text-color-tetriary",e?.description),children:t})]}),i&&r(a,{triggerProps:{onPointerDown:()=>p({title:t,placement:"calculator"})},withCloseBtn:!1,triggerElement:r(n,{name:"info/helpCircle",className:"size-5 text-icon-blue-grey-600"}),...c,children:i})]});export{h as AssistHint};
|
|
2
2
|
//# sourceMappingURL=AssistHint.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssistHint.js","sources":["../../../../../../../lib/widgets/calculator/ui/calculatorInfo/ui/AssistHint.tsx"],"sourcesContent":["import { pushToDlTooltip } from '../../../../../shared/dataLayers'\nimport { type AllowedIcons, Icon, Popover, type PopoverProps } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type AssistHintClasses = {\n wrapper?: string\n block?: string\n icon?: string\n description?: string\n}\n\nexport interface AssistHintProps {\n iconName: AllowedIcons\n text: string\n hint?: string\n classes?: AssistHintClasses\n popoverProps?: PopoverProps\n}\n\nexport const AssistHint = ({ iconName, text, hint, classes, popoverProps }: AssistHintProps) => {\n return (\n <div className={cn('mb-6 flex items-center gap-2', classes?.wrapper)}>\n <div className={cn('flex items-center gap-1', classes?.block)}>\n <Icon name={iconName} className={cn('size-6 text-icon-blue-grey-800', classes?.icon)} />\n <p className={cn('desk-body-regular-l text-color-tetriary', classes?.description)}>{text}</p>\n </div>\n\n {hint && (\n <Popover\n
|
|
1
|
+
{"version":3,"file":"AssistHint.js","sources":["../../../../../../../lib/widgets/calculator/ui/calculatorInfo/ui/AssistHint.tsx"],"sourcesContent":["import { pushToDlTooltip } from '../../../../../shared/dataLayers'\nimport { type AllowedIcons, Icon, Popover, type PopoverProps } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type AssistHintClasses = {\n wrapper?: string\n block?: string\n icon?: string\n description?: string\n}\n\nexport interface AssistHintProps {\n iconName: AllowedIcons\n text: string\n hint?: string\n classes?: AssistHintClasses\n popoverProps?: PopoverProps\n}\n\nexport const AssistHint = ({ iconName, text, hint, classes, popoverProps }: AssistHintProps) => {\n return (\n <div className={cn('mb-6 flex items-center gap-2', classes?.wrapper)}>\n <div className={cn('flex items-center gap-1', classes?.block)}>\n <Icon name={iconName} className={cn('size-6 text-icon-blue-grey-800', classes?.icon)} />\n <p className={cn('desk-body-regular-l text-color-tetriary', classes?.description)}>{text}</p>\n </div>\n\n {hint && (\n <Popover\n triggerProps={{\n onPointerDown: () => pushToDlTooltip({ title: text, placement: 'calculator' })\n }}\n withCloseBtn={false}\n triggerElement={<Icon name='info/helpCircle' className='size-5 text-icon-blue-grey-600' />}\n {...popoverProps}\n >\n {hint}\n </Popover>\n )}\n </div>\n )\n}\n"],"names":["AssistHint","iconName","text","hint","classes","popoverProps","cn","jsxs","jsx","Icon","Popover","pushToDlTooltip"],"mappings":"wTAmBO,MAAMA,EAAa,CAAC,CAAE,SAAAC,EAAU,KAAAC,EAAM,KAAAC,EAAM,QAAAC,EAAS,aAAAC,OAEvD,MAAA,CAAI,UAAWC,EAAG,+BAAgCF,GAAS,OAAO,EACjE,SAAA,CAAAG,EAAC,OAAI,UAAWD,EAAG,0BAA2BF,GAAS,KAAK,EAC1D,SAAA,CAAAI,EAACC,EAAA,CAAK,KAAMR,EAAU,UAAWK,EAAG,iCAAkCF,GAAS,IAAI,EAAG,EACtFI,EAAC,KAAE,UAAWF,EAAG,0CAA2CF,GAAS,WAAW,EAAI,SAAAF,CAAA,CAAK,CAAA,EAC3F,EAECC,GACCK,EAACE,EAAA,CACC,aAAc,CACZ,cAAe,IAAMC,EAAgB,CAAE,MAAOT,EAAM,UAAW,aAAc,CAAA,EAE/E,aAAc,GACd,eAAgBM,EAACC,EAAA,CAAK,KAAK,kBAAkB,UAAU,iCAAiC,EACvF,GAAGJ,EAEH,SAAAF,CAAA,CAAA,CACH,EAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as
|
|
1
|
+
import{jsxs as c,jsx as o}from"react/jsx-runtime";import{AssistHint as s}from"./AssistHint.js";import{cn as m}from"../../../../../shared/utils/cn.js";import{ButtonWithHandlers as p}from"../../../../buttonWithHandlers/ButtonWithHandlers.js";import{pushToDlButton as d}from"../../../../../shared/dataLayers/utils.js";const b=({assistHint:e,buttonsConfig:n,bottomDescription:t,classes:r,headline:a})=>c("div",{children:[e&&o(s,{...e,classes:r?.assistHint}),o("div",{className:m("flex items-center gap-4 mobile:flex-col",r?.buttonsWrapper),children:n?.map((l,i)=>o(p,{onPointerDown:()=>d({name:l?.children,headline:a,placement:"calculator"}),className:"w-full",...l},i))}),t&&o("p",{className:m("desk-body-regular-m mt-4 text-color-secondary",r?.bottomDescription),children:t})]});export{b as CalculatorInfoFooter};
|
|
2
2
|
//# sourceMappingURL=CalculatorInfoFooter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalculatorInfoFooter.js","sources":["../../../../../../../lib/widgets/calculator/ui/calculatorInfo/ui/CalculatorInfoFooter.tsx"],"sourcesContent":["import { pushToDlButton } from '../../../../../shared/dataLayers'\nimport { ButtonWithHandlers, type ButtonWithHandlersProps } from '../../../../buttonWithHandlers'\nimport { AssistHint, type AssistHintClasses, type AssistHintProps } from './AssistHint'\nimport { cn } from '$/shared/utils'\n\nexport type CalculatorInfoFooterClasses = {\n assistHint?: AssistHintClasses\n buttonsWrapper?: string\n bottomDescription?: string\n}\n\nexport interface CalculatorInfoFooterProps {\n assistHint?: AssistHintProps\n buttonsConfig: ButtonWithHandlersProps[]\n bottomDescription?: string\n classes?: CalculatorInfoFooterClasses\n headline?: string\n}\n\nexport const CalculatorInfoFooter = ({\n assistHint,\n buttonsConfig,\n bottomDescription,\n classes,\n headline\n}: CalculatorInfoFooterProps) => {\n return (\n <div>\n {assistHint && <AssistHint {...assistHint} classes={classes?.assistHint} />}\n\n <div className={cn('flex items-center gap-4 mobile:flex-col', classes?.buttonsWrapper)}>\n {buttonsConfig?.map((button, index) => (\n <ButtonWithHandlers\n onPointerDown={() => pushToDlButton(button?.children as string, headline, 'calculator')}\n key={index}\n className='w-full'\n {...button}\n />\n ))}\n </div>\n {bottomDescription && (\n <p className={cn('desk-body-regular-m mt-4 text-color-secondary', classes?.bottomDescription)}>{bottomDescription}</p>\n )}\n </div>\n )\n}\n"],"names":["CalculatorInfoFooter","assistHint","buttonsConfig","bottomDescription","classes","headline","AssistHint","jsx","cn","button","index","ButtonWithHandlers","pushToDlButton"],"mappings":"2TAmBO,MAAMA,EAAuB,CAAC,CACnC,WAAAC,EACA,cAAAC,EACA,kBAAAC,EACA,QAAAC,EACA,SAAAC,CACF,MAEK,MAAA,CACE,SAAA,CAAAJ,KAAeK,EAAA,CAAY,GAAGL,EAAY,QAASG,GAAS,WAAY,EAEzEG,EAAC,MAAA,CAAI,UAAWC,EAAG,0CAA2CJ,GAAS,cAAc,EAClF,SAAAF,GAAe,IAAI,CAACO,EAAQC,IAC3BH,EAACI,EAAA,CACC,cAAe,IAAMC,
|
|
1
|
+
{"version":3,"file":"CalculatorInfoFooter.js","sources":["../../../../../../../lib/widgets/calculator/ui/calculatorInfo/ui/CalculatorInfoFooter.tsx"],"sourcesContent":["import { pushToDlButton } from '../../../../../shared/dataLayers'\nimport { ButtonWithHandlers, type ButtonWithHandlersProps } from '../../../../buttonWithHandlers'\nimport { AssistHint, type AssistHintClasses, type AssistHintProps } from './AssistHint'\nimport { cn } from '$/shared/utils'\n\nexport type CalculatorInfoFooterClasses = {\n assistHint?: AssistHintClasses\n buttonsWrapper?: string\n bottomDescription?: string\n}\n\nexport interface CalculatorInfoFooterProps {\n assistHint?: AssistHintProps\n buttonsConfig: ButtonWithHandlersProps[]\n bottomDescription?: string\n classes?: CalculatorInfoFooterClasses\n headline?: string\n}\n\nexport const CalculatorInfoFooter = ({\n assistHint,\n buttonsConfig,\n bottomDescription,\n classes,\n headline\n}: CalculatorInfoFooterProps) => {\n return (\n <div>\n {assistHint && <AssistHint {...assistHint} classes={classes?.assistHint} />}\n\n <div className={cn('flex items-center gap-4 mobile:flex-col', classes?.buttonsWrapper)}>\n {buttonsConfig?.map((button, index) => (\n <ButtonWithHandlers\n onPointerDown={() => pushToDlButton({ name: button?.children as string, headline, placement: 'calculator' })}\n key={index}\n className='w-full'\n {...button}\n />\n ))}\n </div>\n {bottomDescription && (\n <p className={cn('desk-body-regular-m mt-4 text-color-secondary', classes?.bottomDescription)}>{bottomDescription}</p>\n )}\n </div>\n )\n}\n"],"names":["CalculatorInfoFooter","assistHint","buttonsConfig","bottomDescription","classes","headline","AssistHint","jsx","cn","button","index","ButtonWithHandlers","pushToDlButton"],"mappings":"2TAmBO,MAAMA,EAAuB,CAAC,CACnC,WAAAC,EACA,cAAAC,EACA,kBAAAC,EACA,QAAAC,EACA,SAAAC,CACF,MAEK,MAAA,CACE,SAAA,CAAAJ,KAAeK,EAAA,CAAY,GAAGL,EAAY,QAASG,GAAS,WAAY,EAEzEG,EAAC,MAAA,CAAI,UAAWC,EAAG,0CAA2CJ,GAAS,cAAc,EAClF,SAAAF,GAAe,IAAI,CAACO,EAAQC,IAC3BH,EAACI,EAAA,CACC,cAAe,IAAMC,EAAe,CAAE,KAAMH,GAAQ,SAAoB,SAAAJ,EAAU,UAAW,aAAc,EAE3G,UAAU,SACT,GAAGI,CAAA,EAFCC,CAAA,CAIR,EACH,EACCP,KACE,IAAA,CAAE,UAAWK,EAAG,gDAAiDJ,GAAS,iBAAiB,EAAI,SAAAD,CAAA,CAAkB,CAAA,EAEtH"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as t,jsx as e}from"react/jsx-runtime";import{formatValueToRenderInfoItem as a}from"../../../model/utils.js";import{cn as n}from"../../../../../shared/utils/cn.js";import{Popover as c}from"../../../../../shared/ui/popover/Popover.js";import{Icon as d}from"../../../../../shared/ui/icon/Icon.js";import{pushToDlTooltip as p}from"../../../../../shared/dataLayers/utils.js";const b=({hint:r,value:l,label:o,mode:i,color:s="dark",accent:m=!1})=>t("div",{className:"flex items-center justify-between gap-4",children:[t("div",{className:"flex items-center gap-2",children:[e("p",{className:"desk-body-regular-l text-color-dark",children:o}),r&&e(c,{onPointerDown:()=>p(o,"calculator"),withCloseBtn:!1,triggerElement:e(d,{className:"size-5 text-icon-blue-grey-600",name:"info/helpCircle"}),children:e("p",{children:r})})]}),e("span",{className:n("desk-body-medium-l text-color-dark",{"[&&]:desk-title-bold-s":m,"text-color-primary-default":s==="blue"}),children:a(i,l)})]});export{b as InfoListItem};
|
|
1
|
+
import{jsxs as t,jsx as e}from"react/jsx-runtime";import{formatValueToRenderInfoItem as a}from"../../../model/utils.js";import{cn as n}from"../../../../../shared/utils/cn.js";import{Popover as c}from"../../../../../shared/ui/popover/Popover.js";import{Icon as d}from"../../../../../shared/ui/icon/Icon.js";import{pushToDlTooltip as p}from"../../../../../shared/dataLayers/utils.js";const b=({hint:r,value:l,label:o,mode:i,color:s="dark",accent:m=!1})=>t("div",{className:"flex items-center justify-between gap-4",children:[t("div",{className:"flex items-center gap-2",children:[e("p",{className:"desk-body-regular-l text-color-dark",children:o}),r&&e(c,{triggerProps:{onPointerDown:()=>p({title:o,placement:"calculator"})},withCloseBtn:!1,triggerElement:e(d,{className:"size-5 text-icon-blue-grey-600",name:"info/helpCircle"}),children:e("p",{children:r})})]}),e("span",{className:n("desk-body-medium-l text-color-dark",{"[&&]:desk-title-bold-s":m,"text-color-primary-default":s==="blue"}),children:a(i,l)})]});export{b as InfoListItem};
|
|
2
2
|
//# sourceMappingURL=InfoListItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InfoListItem.js","sources":["../../../../../../../lib/widgets/calculator/ui/calculatorInfo/ui/InfoListItem.tsx"],"sourcesContent":["import { pushToDlTooltip } from '$/shared/dataLayers'\nimport { Icon, Popover } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\nimport { type CalculatorSuffix, formatValueToRenderInfoItem } from '$/widgets/calculator/model'\n\nexport type InfoListItemMode = CalculatorSuffix | 'text'\nexport type InfoListItemColor = 'dark' | 'blue'\nexport type InfoListItemValue = string\n\nexport interface InfoListItemProps {\n label: string\n mode: InfoListItemMode\n hint?: string\n accent?: boolean\n color?: InfoListItemColor\n isFormula: boolean\n value: InfoListItemValue\n}\n\nexport const InfoListItem = ({ hint, value, label, mode, color = 'dark', accent = false }: InfoListItemProps) => {\n return (\n <div className='flex items-center justify-between gap-4'>\n <div className='flex items-center gap-2'>\n <p className='desk-body-regular-l text-color-dark'>{label}</p>\n {hint && (\n <Popover\n
|
|
1
|
+
{"version":3,"file":"InfoListItem.js","sources":["../../../../../../../lib/widgets/calculator/ui/calculatorInfo/ui/InfoListItem.tsx"],"sourcesContent":["import { pushToDlTooltip } from '$/shared/dataLayers'\nimport { Icon, Popover } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\nimport { type CalculatorSuffix, formatValueToRenderInfoItem } from '$/widgets/calculator/model'\n\nexport type InfoListItemMode = CalculatorSuffix | 'text'\nexport type InfoListItemColor = 'dark' | 'blue'\nexport type InfoListItemValue = string\n\nexport interface InfoListItemProps {\n label: string\n mode: InfoListItemMode\n hint?: string\n accent?: boolean\n color?: InfoListItemColor\n isFormula: boolean\n value: InfoListItemValue\n}\n\nexport const InfoListItem = ({ hint, value, label, mode, color = 'dark', accent = false }: InfoListItemProps) => {\n return (\n <div className='flex items-center justify-between gap-4'>\n <div className='flex items-center gap-2'>\n <p className='desk-body-regular-l text-color-dark'>{label}</p>\n {hint && (\n <Popover\n triggerProps={{\n onPointerDown: () => pushToDlTooltip({ title: label, placement: 'calculator' })\n }}\n withCloseBtn={false}\n triggerElement={<Icon className='size-5 text-icon-blue-grey-600' name='info/helpCircle' />}\n >\n <p>{hint}</p>\n </Popover>\n )}\n </div>\n <span\n className={cn('desk-body-medium-l text-color-dark', {\n '[&&]:desk-title-bold-s': accent,\n 'text-color-primary-default': color === 'blue'\n })}\n >\n {formatValueToRenderInfoItem(mode, value)}\n </span>\n </div>\n )\n}\n"],"names":["InfoListItem","hint","value","label","mode","color","accent","jsxs","jsx","Popover","pushToDlTooltip","Icon","cn","formatValueToRenderInfoItem"],"mappings":"8XAmBO,MAAMA,EAAe,CAAC,CAAE,KAAAC,EAAM,MAAAC,EAAO,MAAAC,EAAO,KAAAC,EAAM,MAAAC,EAAQ,OAAQ,OAAAC,EAAS,MAE9EC,EAAC,MAAA,CAAI,UAAU,0CACb,SAAA,CAAAA,EAAC,MAAA,CAAI,UAAU,0BACb,SAAA,CAAAC,EAAC,IAAA,CAAE,UAAU,sCAAuC,SAAAL,EAAM,EACzDF,GACCO,EAACC,EAAA,CACC,aAAc,CACZ,cAAe,IAAMC,EAAgB,CAAE,MAAOP,EAAO,UAAW,aAAc,CAAA,EAEhF,aAAc,GACd,eAAgBK,EAACG,EAAA,CAAK,UAAU,iCAAiC,KAAK,kBAAkB,EAExF,SAAAH,EAAC,KAAG,SAAAP,CAAA,CAAK,CAAA,CAAA,CACX,EAEJ,EACAO,EAAC,OAAA,CACC,UAAWI,EAAG,qCAAsC,CAClD,yBAA0BN,EAC1B,6BAA8BD,IAAU,MAAA,CACzC,EAEA,SAAAQ,EAA4BT,EAAMF,CAAK,CAAA,CAAA,CAC1C,EACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as r,jsx as o}from"react/jsx-runtime";import{cn as e}from"../../../shared/utils/cn.js";import{ButtonWithHandlers as p}from"../../buttonWithHandlers/ButtonWithHandlers.js";import{pushToDlButton as u}from"../../../shared/dataLayers/utils.js";const g=
|
|
1
|
+
import{jsxs as r,jsx as o}from"react/jsx-runtime";import{cn as e}from"../../../shared/utils/cn.js";import{ButtonWithHandlers as p}from"../../buttonWithHandlers/ButtonWithHandlers.js";import{pushToDlButton as u}from"../../../shared/dataLayers/utils.js";const g=s=>{const{classes:t,firstRate:d,descriptionFirstRate:a,secondRate:i,descriptionSecondRate:c,mainDescription:n,button:l,headline:m}=s;return r("div",{className:e("relative flex flex-col overflow-hidden rounded-md bg-color-blue-grey-100 p-4 desktop:w-[386px] desktop:p-8",t?.conditionWitchCTAContainer),children:[r("div",{className:e("mb-3 flex flex-col gap-2"),children:[d&&o("div",{dangerouslySetInnerHTML:{__html:d},className:e("mob-title-bold-l text-color-primary-default desktop:desk-title-bold-l",t?.firstRate)}),o("div",{dangerouslySetInnerHTML:{__html:a??""},className:e("desk-body-regular-l text-color-dark",t?.descriptionFirstRate)})]}),r("div",{className:e("mb-6 flex flex-col gap-2 desktop:mb-11"),children:[i&&o("div",{dangerouslySetInnerHTML:{__html:i},className:e("mob-title-bold-l text-color-primary-default desktop:desk-title-bold-l",t?.secondRate)}),o("div",{dangerouslySetInnerHTML:{__html:c??""},className:e("desk-body-regular-l text-color-dark",t?.descriptionSecondRate)})]}),n&&o("div",{dangerouslySetInnerHTML:{__html:n},className:e("mob-body-regular-l mb-6 text-color-tetriary desktop:desk-body-regular-l",t?.mainDescription)}),l&&o(p,{onPointerDown:()=>u({name:l?.children,headline:m,placement:"conditionBlock"}),intent:"primary",className:e("mt-auto w-full",t?.button),size:"lg",...l})]})};export{g as ConditionsWithCTA};
|
|
2
2
|
//# sourceMappingURL=ConditionsWithCTA.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConditionsWithCTA.js","sources":["../../../../../lib/widgets/conditionBlock/ui/ConditionsWithCTA.tsx"],"sourcesContent":["import { pushToDlButton } from '../../../shared/dataLayers'\nimport { cn } from '$/shared/utils'\nimport { ButtonWithHandlers } from '$/widgets/buttonWithHandlers'\nimport { type ConditionWitchCTAType } from '$/widgets/conditionBlock/model/types'\n\nexport type ConditionsWithCTAClasses = {\n conditionWitchCTAContainer?: string\n descriptionFirstRate?: string\n firstRate?: string\n secondRate?: string\n descriptionSecondRate?: string\n mainDescription?: string\n button?: string\n}\n\nexport const ConditionsWithCTA = (props: ConditionWitchCTAType) => {\n const { classes, firstRate, descriptionFirstRate, secondRate, descriptionSecondRate, mainDescription, button, headline } = props\n\n return (\n <div\n className={cn(\n 'relative flex flex-col overflow-hidden rounded-md bg-color-blue-grey-100 p-4 desktop:w-[386px] desktop:p-8',\n classes?.conditionWitchCTAContainer\n )}\n >\n <div className={cn('mb-3 flex flex-col gap-2')}>\n {firstRate && (\n <div\n dangerouslySetInnerHTML={{ __html: firstRate }}\n className={cn('mob-title-bold-l text-color-primary-default desktop:desk-title-bold-l', classes?.firstRate)}\n />\n )}\n <div\n dangerouslySetInnerHTML={{ __html: descriptionFirstRate ?? '' }}\n className={cn('desk-body-regular-l text-color-dark', classes?.descriptionFirstRate)}\n />\n </div>\n <div className={cn('mb-6 flex flex-col gap-2 desktop:mb-11')}>\n {secondRate && (\n <div\n dangerouslySetInnerHTML={{ __html: secondRate }}\n className={cn('mob-title-bold-l text-color-primary-default desktop:desk-title-bold-l', classes?.secondRate)}\n />\n )}\n <div\n dangerouslySetInnerHTML={{ __html: descriptionSecondRate ?? '' }}\n className={cn('desk-body-regular-l text-color-dark', classes?.descriptionSecondRate)}\n />\n </div>\n {mainDescription && (\n <div\n dangerouslySetInnerHTML={{ __html: mainDescription }}\n className={cn('mob-body-regular-l mb-6 text-color-tetriary desktop:desk-body-regular-l', classes?.mainDescription)}\n />\n )}\n {button && (\n <ButtonWithHandlers\n onPointerDown={() => pushToDlButton(button?.children as string, headline, 'conditionBlock')}\n intent='primary'\n className={cn('mt-auto w-full', classes?.button)}\n size='lg'\n {...button}\n />\n )}\n </div>\n )\n}\n"],"names":["ConditionsWithCTA","props","classes","firstRate","descriptionFirstRate","secondRate","descriptionSecondRate","mainDescription","button","headline","jsxs","cn","jsx","ButtonWithHandlers","pushToDlButton"],"mappings":"4PAeO,MAAMA,EAAqBC,GAAiC,CACjE,KAAM,CAAE,QAAAC,EAAS,UAAAC,EAAW,qBAAAC,EAAsB,WAAAC,EAAY,sBAAAC,EAAuB,gBAAAC,EAAiB,OAAAC,EAAQ,SAAAC,CAAA,EAAaR,EAE3H,OACES,EAAC,MAAA,CACC,UAAWC,EACT,6GACAT,GAAS,0BAAA,EAGX,SAAA,CAAAQ,EAAC,MAAA,CAAI,UAAWC,EAAG,0BAA0B,EAC1C,SAAA,CAAAR,GACCS,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQT,CAAA,EACnC,UAAWQ,EAAG,wEAAyET,GAAS,SAAS,CAAA,CAAA,EAG7GU,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQR,GAAwB,EAAA,EAC3D,UAAWO,EAAG,sCAAuCT,GAAS,oBAAoB,CAAA,CAAA,CACpF,EACF,EACAQ,EAAC,MAAA,CAAI,UAAWC,EAAG,wCAAwC,EACxD,SAAA,CAAAN,GACCO,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQP,CAAA,EACnC,UAAWM,EAAG,wEAAyET,GAAS,UAAU,CAAA,CAAA,EAG9GU,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQN,GAAyB,EAAA,EAC5D,UAAWK,EAAG,sCAAuCT,GAAS,qBAAqB,CAAA,CAAA,CACrF,EACF,EACCK,GACCK,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQL,CAAA,EACnC,UAAWI,EAAG,0EAA2ET,GAAS,eAAe,CAAA,CAAA,EAGpHM,GACCI,EAACC,EAAA,CACC,cAAe,IAAMC,
|
|
1
|
+
{"version":3,"file":"ConditionsWithCTA.js","sources":["../../../../../lib/widgets/conditionBlock/ui/ConditionsWithCTA.tsx"],"sourcesContent":["import { pushToDlButton } from '../../../shared/dataLayers'\nimport { cn } from '$/shared/utils'\nimport { ButtonWithHandlers } from '$/widgets/buttonWithHandlers'\nimport { type ConditionWitchCTAType } from '$/widgets/conditionBlock/model/types'\n\nexport type ConditionsWithCTAClasses = {\n conditionWitchCTAContainer?: string\n descriptionFirstRate?: string\n firstRate?: string\n secondRate?: string\n descriptionSecondRate?: string\n mainDescription?: string\n button?: string\n}\n\nexport const ConditionsWithCTA = (props: ConditionWitchCTAType) => {\n const { classes, firstRate, descriptionFirstRate, secondRate, descriptionSecondRate, mainDescription, button, headline } = props\n\n return (\n <div\n className={cn(\n 'relative flex flex-col overflow-hidden rounded-md bg-color-blue-grey-100 p-4 desktop:w-[386px] desktop:p-8',\n classes?.conditionWitchCTAContainer\n )}\n >\n <div className={cn('mb-3 flex flex-col gap-2')}>\n {firstRate && (\n <div\n dangerouslySetInnerHTML={{ __html: firstRate }}\n className={cn('mob-title-bold-l text-color-primary-default desktop:desk-title-bold-l', classes?.firstRate)}\n />\n )}\n <div\n dangerouslySetInnerHTML={{ __html: descriptionFirstRate ?? '' }}\n className={cn('desk-body-regular-l text-color-dark', classes?.descriptionFirstRate)}\n />\n </div>\n <div className={cn('mb-6 flex flex-col gap-2 desktop:mb-11')}>\n {secondRate && (\n <div\n dangerouslySetInnerHTML={{ __html: secondRate }}\n className={cn('mob-title-bold-l text-color-primary-default desktop:desk-title-bold-l', classes?.secondRate)}\n />\n )}\n <div\n dangerouslySetInnerHTML={{ __html: descriptionSecondRate ?? '' }}\n className={cn('desk-body-regular-l text-color-dark', classes?.descriptionSecondRate)}\n />\n </div>\n {mainDescription && (\n <div\n dangerouslySetInnerHTML={{ __html: mainDescription }}\n className={cn('mob-body-regular-l mb-6 text-color-tetriary desktop:desk-body-regular-l', classes?.mainDescription)}\n />\n )}\n {button && (\n <ButtonWithHandlers\n onPointerDown={() => pushToDlButton({ name: button?.children as string, headline, placement: 'conditionBlock' })}\n intent='primary'\n className={cn('mt-auto w-full', classes?.button)}\n size='lg'\n {...button}\n />\n )}\n </div>\n )\n}\n"],"names":["ConditionsWithCTA","props","classes","firstRate","descriptionFirstRate","secondRate","descriptionSecondRate","mainDescription","button","headline","jsxs","cn","jsx","ButtonWithHandlers","pushToDlButton"],"mappings":"4PAeO,MAAMA,EAAqBC,GAAiC,CACjE,KAAM,CAAE,QAAAC,EAAS,UAAAC,EAAW,qBAAAC,EAAsB,WAAAC,EAAY,sBAAAC,EAAuB,gBAAAC,EAAiB,OAAAC,EAAQ,SAAAC,CAAA,EAAaR,EAE3H,OACES,EAAC,MAAA,CACC,UAAWC,EACT,6GACAT,GAAS,0BAAA,EAGX,SAAA,CAAAQ,EAAC,MAAA,CAAI,UAAWC,EAAG,0BAA0B,EAC1C,SAAA,CAAAR,GACCS,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQT,CAAA,EACnC,UAAWQ,EAAG,wEAAyET,GAAS,SAAS,CAAA,CAAA,EAG7GU,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQR,GAAwB,EAAA,EAC3D,UAAWO,EAAG,sCAAuCT,GAAS,oBAAoB,CAAA,CAAA,CACpF,EACF,EACAQ,EAAC,MAAA,CAAI,UAAWC,EAAG,wCAAwC,EACxD,SAAA,CAAAN,GACCO,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQP,CAAA,EACnC,UAAWM,EAAG,wEAAyET,GAAS,UAAU,CAAA,CAAA,EAG9GU,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQN,GAAyB,EAAA,EAC5D,UAAWK,EAAG,sCAAuCT,GAAS,qBAAqB,CAAA,CAAA,CACrF,EACF,EACCK,GACCK,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQL,CAAA,EACnC,UAAWI,EAAG,0EAA2ET,GAAS,eAAe,CAAA,CAAA,EAGpHM,GACCI,EAACC,EAAA,CACC,cAAe,IAAMC,EAAe,CAAE,KAAMN,GAAQ,SAAoB,SAAAC,EAAU,UAAW,iBAAkB,EAC/G,OAAO,UACP,UAAWE,EAAG,iBAAkBT,GAAS,MAAM,EAC/C,KAAK,KACJ,GAAGM,CAAA,CAAA,CACN,CAAA,CAAA,CAIR"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as e,jsxs as
|
|
1
|
+
import{jsx as e,jsxs as r}from"react/jsx-runtime";import{TextContainer as m}from"./ui/TextContainer.js";import{TypeGuards as t}from"../../shared/utils/typeGuards.js";import{ResponsiveContainer as f}from"../../shared/ui/responsiveContainer/ResponsiveContainer.js";import{ButtonWithHandlers as x}from"../buttonWithHandlers/ButtonWithHandlers.js";import{pushToDlButton as h,pushToDlLink as u}from"../../shared/dataLayers/utils.js";import{CustomLink as N}from"../../shared/ui/customLink/CustomLink.js";const D=({errorText:n,title:s,subtitle:c,buttonProps:a,links:i,images:l,backgroundColor:p="#F4F8FE"})=>e("div",{style:{backgroundColor:p},className:"flex flex-col pb-10 pt-6 desktop:py-20",children:r(f,{className:"flex flex-col desktop:flex-row desktop:justify-between",children:[r("div",{className:"flex flex-col gap-6 desktop:gap-12",children:[r("div",{className:"flex flex-col gap-2 desktop:gap-10",children:[e(m,{errorText:n,subtitle:c,title:s}),t.isObject(l)&&e("div",{className:"flex h-[280px] w-[360px] self-center desktop:hidden",children:e("img",{className:"h-full object-contain",src:l.mobile,alt:l.alt})}),e(x,{onPointerDown:()=>h({name:a?.children,headline:s,placement:"errorPage"}),className:"mobile:w-full",...a})]}),e("div",{className:"flex flex-row items-center justify-between gap-8 desktop:justify-start",children:t.isArrayFilled(i)&&i.map((o,d)=>e(N,{onPointerDown:()=>u({name:o?.children,link:o?.href,placement:"errorPage"}),...o},d))})]}),t.isObject(l)&&e("div",{className:"h-[360px] w-[480px] mobile:hidden",children:e("img",{className:"object-cover",src:l.desktop,alt:l.alt})})]})});export{D as ErrorPage,D as default};
|
|
2
2
|
//# sourceMappingURL=ErrorPage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorPage.js","sources":["../../../../lib/widgets/errorPage/ErrorPage.tsx"],"sourcesContent":["import { type BackgroundBannerColors } from '../../shared/constants'\nimport { pushToDlButton, pushToDlLink } from '../../shared/dataLayers'\nimport { ButtonWithHandlers, type ButtonWithHandlersProps } from '../buttonWithHandlers'\nimport { TextContainer, type TextContainerProps } from './ui/TextContainer'\nimport { type ImagesPrimitive } from '$/shared/types/shared-types'\nimport { CustomLink, type CustomLinkProps, ResponsiveContainer } from '$/shared/ui'\nimport { TypeGuards } from '$/shared/utils'\n\nexport interface ErrorPageProps extends TextContainerProps {\n buttonProps: ButtonWithHandlersProps\n links: CustomLinkProps[]\n images: ImagesPrimitive\n backgroundColor?: BackgroundBannerColors\n}\n\nexport const ErrorPage = ({\n errorText,\n title,\n subtitle,\n buttonProps,\n links,\n images,\n backgroundColor = '#F4F8FE'\n}: ErrorPageProps) => {\n return (\n <div style={{ backgroundColor }} className='flex flex-col pb-10 pt-6 desktop:py-20'>\n <ResponsiveContainer className='flex flex-col desktop:flex-row desktop:justify-between'>\n <div className='flex flex-col gap-6 desktop:gap-12'>\n <div className='flex flex-col gap-2 desktop:gap-10'>\n <TextContainer errorText={errorText} subtitle={subtitle} title={title} />\n\n {TypeGuards.isObject(images) && (\n <div className='flex h-[280px] w-[360px] self-center desktop:hidden'>\n <img className='h-full object-contain' src={images.mobile} alt={images.alt} />\n </div>\n )}\n\n <ButtonWithHandlers\n onPointerDown={()
|
|
1
|
+
{"version":3,"file":"ErrorPage.js","sources":["../../../../lib/widgets/errorPage/ErrorPage.tsx"],"sourcesContent":["import { type BackgroundBannerColors } from '../../shared/constants'\nimport { pushToDlButton, pushToDlLink } from '../../shared/dataLayers'\nimport { ButtonWithHandlers, type ButtonWithHandlersProps } from '../buttonWithHandlers'\nimport { TextContainer, type TextContainerProps } from './ui/TextContainer'\nimport { type ImagesPrimitive } from '$/shared/types/shared-types'\nimport { CustomLink, type CustomLinkProps, ResponsiveContainer } from '$/shared/ui'\nimport { TypeGuards } from '$/shared/utils'\n\nexport interface ErrorPageProps extends TextContainerProps {\n buttonProps: ButtonWithHandlersProps\n links: CustomLinkProps[]\n images: ImagesPrimitive\n backgroundColor?: BackgroundBannerColors\n}\n\nexport const ErrorPage = ({\n errorText,\n title,\n subtitle,\n buttonProps,\n links,\n images,\n backgroundColor = '#F4F8FE'\n}: ErrorPageProps) => {\n return (\n <div style={{ backgroundColor }} className='flex flex-col pb-10 pt-6 desktop:py-20'>\n <ResponsiveContainer className='flex flex-col desktop:flex-row desktop:justify-between'>\n <div className='flex flex-col gap-6 desktop:gap-12'>\n <div className='flex flex-col gap-2 desktop:gap-10'>\n <TextContainer errorText={errorText} subtitle={subtitle} title={title} />\n\n {TypeGuards.isObject(images) && (\n <div className='flex h-[280px] w-[360px] self-center desktop:hidden'>\n <img className='h-full object-contain' src={images.mobile} alt={images.alt} />\n </div>\n )}\n\n <ButtonWithHandlers\n onPointerDown={() =>\n pushToDlButton({ name: buttonProps?.children as string, headline: title, placement: 'errorPage' })\n }\n className='mobile:w-full'\n {...buttonProps}\n />\n </div>\n <div className='flex flex-row items-center justify-between gap-8 desktop:justify-start'>\n {TypeGuards.isArrayFilled(links) &&\n links.map((link, index) => (\n <CustomLink\n onPointerDown={() => pushToDlLink({ name: link?.children as string, link: link?.href, placement: 'errorPage' })}\n key={index}\n {...link}\n />\n ))}\n </div>\n </div>\n {TypeGuards.isObject(images) && (\n <div className='h-[360px] w-[480px] mobile:hidden'>\n <img className='object-cover' src={images.desktop} alt={images.alt} />\n </div>\n )}\n </ResponsiveContainer>\n </div>\n )\n}\n\nexport default ErrorPage\n"],"names":["ErrorPage","errorText","title","subtitle","buttonProps","links","images","backgroundColor","jsx","jsxs","ResponsiveContainer","TextContainer","TypeGuards","ButtonWithHandlers","pushToDlButton","link","index","CustomLink","pushToDlLink"],"mappings":"kfAeO,MAAMA,EAAY,CAAC,CACxB,UAAAC,EACA,MAAAC,EACA,SAAAC,EACA,YAAAC,EACA,MAAAC,EACA,OAAAC,EACA,gBAAAC,EAAkB,SACpB,IAEIC,EAAC,MAAA,CAAI,MAAO,CAAE,gBAAAD,CAAA,EAAmB,UAAU,yCACzC,SAAAE,EAACC,EAAA,CAAoB,UAAU,yDAC7B,SAAA,CAAAD,EAAC,MAAA,CAAI,UAAU,qCACb,SAAA,CAAAA,EAAC,MAAA,CAAI,UAAU,qCACb,SAAA,CAAAD,EAACG,EAAA,CAAc,UAAAV,EAAsB,SAAAE,EAAoB,MAAAD,CAAA,CAAc,EAEtEU,EAAW,SAASN,CAAM,GACzBE,EAAC,MAAA,CAAI,UAAU,sDACb,SAAAA,EAAC,MAAA,CAAI,UAAU,wBAAwB,IAAKF,EAAO,OAAQ,IAAKA,EAAO,IAAK,EAC9E,EAGFE,EAACK,EAAA,CACC,cAAe,IACbC,EAAe,CAAE,KAAMV,GAAa,SAAoB,SAAUF,EAAO,UAAW,YAAa,EAEnG,UAAU,gBACT,GAAGE,CAAA,CAAA,CACN,EACF,EACAI,EAAC,MAAA,CAAI,UAAU,yEACZ,SAAAI,EAAW,cAAcP,CAAK,GAC7BA,EAAM,IAAI,CAACU,EAAMC,IACfR,EAACS,EAAA,CACC,cAAe,IAAMC,EAAa,CAAE,KAAMH,GAAM,SAAoB,KAAMA,GAAM,KAAM,UAAW,WAAA,CAAa,EAE7G,GAAGA,CAAA,EADCC,CAAA,CAGR,CAAA,CACL,CAAA,EACF,EACCJ,EAAW,SAASN,CAAM,GACzBE,EAAC,MAAA,CAAI,UAAU,oCACb,SAAAA,EAAC,MAAA,CAAI,UAAU,eAAe,IAAKF,EAAO,QAAS,IAAKA,EAAO,IAAK,CAAA,CACtE,CAAA,CAAA,CAEJ,CAAA,CACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as i,jsxs as c}from"react/jsx-runtime";import{cn as n}from"../../../shared/utils/cn.js";import{CustomLink as l}from"../../../shared/ui/customLink/CustomLink.js";import{pushToDlLink as k}from"../../../shared/dataLayers/utils.js";const g=({classes:o,details:t})=>i("div",{className:n("mt-6 grid grid-cols-1 gap-6 border-b border-blue-grey-500 pb-6 desktop:my-8 desktop:grid-cols-4 desktop:gap-10 desktop:pb-8",o?.navRoot),children:t?.map(({column:m})=>m?.map(({groupLabel:r,links:a})=>c("div",{className:n("flex flex-col gap-4",o?.navGroup),children:[i("div",{className:n("desk-body-medium-l text-color-white",o?.navLabel),children:r}),i("div",{className:n("flex flex-col gap-1",o?.navLinks),children:a?.map(({path:d,label:e,...p})=>i(l,{href:d,"aria-label":e,onPointerDown:()=>k({name:e,link:"Футер",placement:"footer",eventCategory:"click_block"}),intent:"white",classes:{link:o?.navLink,icon:o?.navLinkIcon},...p,children:e},e))})]},r)))});export{g as NavLinks};
|
|
2
2
|
//# sourceMappingURL=NavLinks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavLinks.js","sources":["../../../../../lib/widgets/footer/ui/NavLinks.tsx"],"sourcesContent":["import { pushToDlLink } from '../../../shared/dataLayers'\nimport { CustomLink } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\nimport { type Details } from '$/widgets/footer/model/types'\n\nexport type NavigationLinksClasses = {\n navRoot?: string\n navGroup?: string\n navLabel?: string\n navLinks?: string\n navLink?: string\n navLinkIcon?: string\n}\n\ninterface NavLinksProps {\n classes?: NavigationLinksClasses\n details: Details[]\n}\n\nexport const NavLinks = ({ classes, details }: NavLinksProps) => {\n return (\n <div\n className={cn(\n 'mt-6 grid grid-cols-1 gap-6 border-b border-blue-grey-500 pb-6 desktop:my-8 desktop:grid-cols-4 desktop:gap-10 desktop:pb-8',\n classes?.navRoot\n )}\n >\n {details?.map(({ column }) =>\n column?.map(({ groupLabel, links }) => (\n <div key={groupLabel} className={cn('flex flex-col gap-4', classes?.navGroup)}>\n <div className={cn('desk-body-medium-l text-color-white', classes?.navLabel)}>{groupLabel}</div>\n <div className={cn('flex flex-col gap-1', classes?.navLinks)}>\n {links?.map(({ path, label, ...rest }) => (\n <CustomLink\n key={label}\n href={path}\n aria-label={label}\n onPointerDown={()
|
|
1
|
+
{"version":3,"file":"NavLinks.js","sources":["../../../../../lib/widgets/footer/ui/NavLinks.tsx"],"sourcesContent":["import { pushToDlLink } from '../../../shared/dataLayers'\nimport { CustomLink } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\nimport { type Details } from '$/widgets/footer/model/types'\n\nexport type NavigationLinksClasses = {\n navRoot?: string\n navGroup?: string\n navLabel?: string\n navLinks?: string\n navLink?: string\n navLinkIcon?: string\n}\n\ninterface NavLinksProps {\n classes?: NavigationLinksClasses\n details: Details[]\n}\n\nexport const NavLinks = ({ classes, details }: NavLinksProps) => {\n return (\n <div\n className={cn(\n 'mt-6 grid grid-cols-1 gap-6 border-b border-blue-grey-500 pb-6 desktop:my-8 desktop:grid-cols-4 desktop:gap-10 desktop:pb-8',\n classes?.navRoot\n )}\n >\n {details?.map(({ column }) =>\n column?.map(({ groupLabel, links }) => (\n <div key={groupLabel} className={cn('flex flex-col gap-4', classes?.navGroup)}>\n <div className={cn('desk-body-medium-l text-color-white', classes?.navLabel)}>{groupLabel}</div>\n <div className={cn('flex flex-col gap-1', classes?.navLinks)}>\n {links?.map(({ path, label, ...rest }) => (\n <CustomLink\n key={label}\n href={path}\n aria-label={label}\n onPointerDown={() =>\n pushToDlLink({ name: label, link: 'Футер', placement: 'footer', eventCategory: 'click_block' })\n }\n intent='white'\n classes={{\n link: classes?.navLink,\n icon: classes?.navLinkIcon\n }}\n {...rest}\n >\n {label}\n </CustomLink>\n ))}\n </div>\n </div>\n ))\n )}\n </div>\n )\n}\n"],"names":["NavLinks","classes","details","jsx","cn","column","groupLabel","links","path","label","rest","CustomLink","pushToDlLink"],"mappings":"+OAmBO,MAAMA,EAAW,CAAC,CAAE,QAAAC,EAAS,QAAAC,KAEhCC,EAAC,MAAA,CACC,UAAWC,EACT,8HACAH,GAAS,OAAA,EAGV,SAAAC,GAAS,IAAI,CAAC,CAAE,OAAAG,CAAA,IACfA,GAAQ,IAAI,CAAC,CAAE,WAAAC,EAAY,MAAAC,CAAA,MACxB,MAAA,CAAqB,UAAWH,EAAG,sBAAuBH,GAAS,QAAQ,EAC1E,SAAA,CAAAE,EAAC,OAAI,UAAWC,EAAG,sCAAuCH,GAAS,QAAQ,EAAI,SAAAK,EAAW,IACzF,MAAA,CAAI,UAAWF,EAAG,sBAAuBH,GAAS,QAAQ,EACxD,SAAAM,GAAO,IAAI,CAAC,CAAE,KAAAC,EAAM,MAAAC,EAAO,GAAGC,KAC7BP,EAACQ,EAAA,CAEC,KAAMH,EACN,aAAYC,EACZ,cAAe,IACbG,EAAa,CAAE,KAAMH,EAAO,KAAM,QAAS,UAAW,SAAU,cAAe,aAAA,CAAe,EAEhG,OAAO,QACP,QAAS,CACP,KAAMR,GAAS,QACf,KAAMA,GAAS,WAAA,EAEhB,GAAGS,EAEH,SAAAD,CAAA,EAbIA,CAAA,CAeR,CAAA,CACH,CAAA,CAAA,EArBQH,CAsBV,CACD,CAAA,CACH,CAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as r}from"react/jsx-runtime";import{cn as e}from"../../../shared/utils/cn.js";import{PhoneView as m}from"../../../shared/ui/phoneView/PhoneView.js";import{pushToDlLink as p}from"../../../shared/dataLayers/utils.js";const
|
|
1
|
+
import{jsx as r}from"react/jsx-runtime";import{cn as e}from"../../../shared/utils/cn.js";import{PhoneView as m}from"../../../shared/ui/phoneView/PhoneView.js";import{pushToDlLink as p}from"../../../shared/dataLayers/utils.js";const x=({phones:n,classes:o})=>r("div",{className:e("flex flex-col gap-4 desktop:items-end",o?.phonesRoot),children:n?.map(({phone:t,text:i})=>r(m,{onPointerDown:()=>p({name:t,link:"Номер телефона",placement:"footer",eventCategory:"click_block"}),phone:t,text:i,classes:{root:e(o?.phoneWrapper),text:e("text-color-footer",o?.phoneText),link:e("text-color-white mobile:m-0",o?.phoneLink)}},t))});export{x as PhonesBlock};
|
|
2
2
|
//# sourceMappingURL=PhonesBlock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PhonesBlock.js","sources":["../../../../../lib/widgets/footer/ui/PhonesBlock.tsx"],"sourcesContent":["import { pushToDlLink } from '../../../shared/dataLayers'\nimport { PhoneView } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\nimport { type FooterPhones } from '$/widgets/footer/model/types'\n\nexport type PhoneBlockClasses = {\n phonesRoot?: string\n phoneWrapper?: string\n phoneText?: string\n phoneLink?: string\n}\n\ninterface PhonesBlockProps {\n phones: FooterPhones[]\n classes?: PhoneBlockClasses\n}\n\nexport const PhonesBlock = ({ phones, classes }: PhonesBlockProps) => {\n return (\n <div className={cn('flex flex-col gap-4 desktop:items-end', classes?.phonesRoot)}>\n {phones?.map(({ phone, text }) => (\n <PhoneView\n onPointerDown={()
|
|
1
|
+
{"version":3,"file":"PhonesBlock.js","sources":["../../../../../lib/widgets/footer/ui/PhonesBlock.tsx"],"sourcesContent":["import { pushToDlLink } from '../../../shared/dataLayers'\nimport { PhoneView } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\nimport { type FooterPhones } from '$/widgets/footer/model/types'\n\nexport type PhoneBlockClasses = {\n phonesRoot?: string\n phoneWrapper?: string\n phoneText?: string\n phoneLink?: string\n}\n\ninterface PhonesBlockProps {\n phones: FooterPhones[]\n classes?: PhoneBlockClasses\n}\n\nexport const PhonesBlock = ({ phones, classes }: PhonesBlockProps) => {\n return (\n <div className={cn('flex flex-col gap-4 desktop:items-end', classes?.phonesRoot)}>\n {phones?.map(({ phone, text }) => (\n <PhoneView\n onPointerDown={() =>\n pushToDlLink({ name: phone, link: `Номер телефона`, placement: 'footer', eventCategory: 'click_block' })\n }\n key={phone}\n phone={phone}\n text={text}\n classes={{\n root: cn(classes?.phoneWrapper),\n text: cn('text-color-footer', classes?.phoneText),\n link: cn('text-color-white mobile:m-0', classes?.phoneLink)\n }}\n />\n ))}\n </div>\n )\n}\n"],"names":["PhonesBlock","phones","classes","jsx","cn","phone","text","PhoneView","pushToDlLink"],"mappings":"kOAiBO,MAAMA,EAAc,CAAC,CAAE,OAAAC,EAAQ,QAAAC,KAElCC,EAAC,MAAA,CAAI,UAAWC,EAAG,wCAAyCF,GAAS,UAAU,EAC5E,SAAAD,GAAQ,IAAI,CAAC,CAAE,MAAAI,EAAO,KAAAC,KACrBH,EAACI,EAAA,CACC,cAAe,IACbC,EAAa,CAAE,KAAMH,EAAO,KAAM,iBAAkB,UAAW,SAAU,cAAe,aAAA,CAAe,EAGzG,MAAAA,EACA,KAAAC,EACA,QAAS,CACP,KAAMF,EAAGF,GAAS,YAAY,EAC9B,KAAME,EAAG,oBAAqBF,GAAS,SAAS,EAChD,KAAME,EAAG,8BAA+BF,GAAS,SAAS,CAAA,CAC5D,EAPKG,CAAA,CASR,EACH"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{cn as o}from"../../../shared/utils/cn.js";import{CustomLink as r}from"../../../shared/ui/customLink/CustomLink.js";import{pushToDlLink as i}from"../../../shared/dataLayers/utils.js";const l=({classes:t})=>e(r,{intent:"white",href:"https://sovcombank.ru/site-map",target:"_blank",onPointerDown:()=>i({name:"Карта сайта",link:"Футер",placement:"footer"}),"aria-label":"site-map",rel:"noreferrer",classes:{link:o("mobile:mt-6",t?.siteMapLink),icon:t?.siteMapLinkIcon},children:"Карта сайта"});export{l as SiteMap};
|
|
2
2
|
//# sourceMappingURL=SiteMap.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SiteMap.js","sources":["../../../../../lib/widgets/footer/ui/SiteMap.tsx"],"sourcesContent":["import { pushToDlLink } from '../../../shared/dataLayers'\nimport { CustomLink } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type SiteMapClasses = {\n siteMapLink?: string\n siteMapLinkIcon?: string\n}\n\nexport interface SiteMapProps {\n classes?: SiteMapClasses\n}\n\nexport const SiteMap = ({ classes }: SiteMapProps) => {\n return (\n <CustomLink\n intent='white'\n href='https://sovcombank.ru/site-map'\n target='_blank'\n onPointerDown={() => pushToDlLink('Карта сайта', '', 'footer')}\n aria-label='site-map'\n rel='noreferrer'\n classes={{\n link: cn('mobile:mt-6', classes?.siteMapLink),\n icon: classes?.siteMapLinkIcon\n }}\n >\n Карта сайта\n </CustomLink>\n )\n}\n"],"names":["SiteMap","classes","jsx","CustomLink","pushToDlLink","cn"],"mappings":"qOAaO,MAAMA,EAAU,CAAC,CAAE,QAAAC,KAEtBC,EAACC,EAAA,CACC,OAAO,QACP,KAAK,iCACL,OAAO,SACP,cAAe,IAAMC,EAAa,cAAe,
|
|
1
|
+
{"version":3,"file":"SiteMap.js","sources":["../../../../../lib/widgets/footer/ui/SiteMap.tsx"],"sourcesContent":["import { pushToDlLink } from '../../../shared/dataLayers'\nimport { CustomLink } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type SiteMapClasses = {\n siteMapLink?: string\n siteMapLinkIcon?: string\n}\n\nexport interface SiteMapProps {\n classes?: SiteMapClasses\n}\n\nexport const SiteMap = ({ classes }: SiteMapProps) => {\n return (\n <CustomLink\n intent='white'\n href='https://sovcombank.ru/site-map'\n target='_blank'\n onPointerDown={() => pushToDlLink({ name: 'Карта сайта', link: 'Футер', placement: 'footer' })}\n aria-label='site-map'\n rel='noreferrer'\n classes={{\n link: cn('mobile:mt-6', classes?.siteMapLink),\n icon: classes?.siteMapLinkIcon\n }}\n >\n Карта сайта\n </CustomLink>\n )\n}\n"],"names":["SiteMap","classes","jsx","CustomLink","pushToDlLink","cn"],"mappings":"qOAaO,MAAMA,EAAU,CAAC,CAAE,QAAAC,KAEtBC,EAACC,EAAA,CACC,OAAO,QACP,KAAK,iCACL,OAAO,SACP,cAAe,IAAMC,EAAa,CAAE,KAAM,cAAe,KAAM,QAAS,UAAW,SAAU,EAC7F,aAAW,WACX,IAAI,aACJ,QAAS,CACP,KAAMC,EAAG,cAAeJ,GAAS,WAAW,EAC5C,KAAMA,GAAS,eAAA,EAElB,SAAA,aAAA,CAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import{cn as l}from"../../../shared/utils/cn.js";import{Icon as a}from"../../../shared/ui/icon/Icon.js";import{pushToDlLink as c}from"../../../shared/dataLayers/utils.js";const k=({socialsLinks:n,classes:e})=>t("div",{className:l("mt-4 flex items-center gap-2 desktop:mt-6",e?.socialRoot),children:n?.map(({iconName:o,href:i,...r})=>t("a",{className:l("flex size-8 items-center justify-center rounded-full bg-[#52576a] p-2",e?.socialLink),href:i,"aria-label":o.replace("social/",""),onPointerDown:()=>c({name:o,link:"Соц сети",placement:"footer",eventCategory:"click_block"}),...r,children:t(a,{name:o,className:l("h-full w-full text-icon-white",e?.socialIcon)})},i))});export{k as SocialLinks};
|
|
2
2
|
//# sourceMappingURL=SocialLinks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SocialLinks.js","sources":["../../../../../lib/widgets/footer/ui/SocialLinks.tsx"],"sourcesContent":["import { pushToDlLink } from '../../../shared/dataLayers'\nimport { Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\nimport { type FooterSocialLinks } from '$/widgets/footer/model/types'\n\nexport type SocialLinksClasses = {\n socialRoot?: string\n socialLink?: string\n socialIcon?: string\n}\n\ninterface ISocialLinksProps {\n socialsLinks: FooterSocialLinks[]\n classes?: SocialLinksClasses\n}\n\nexport const SocialLinks = ({ socialsLinks, classes }: ISocialLinksProps) => {\n return (\n <div className={cn('mt-4 flex items-center gap-2 desktop:mt-6', classes?.socialRoot)}>\n {socialsLinks?.map(({ iconName, href, ...rest }) => (\n <a\n className={cn('flex size-8 items-center justify-center rounded-full bg-[#52576a] p-2', classes?.socialLink)}\n href={href}\n key={href}\n aria-label={iconName.replace('social/', '')}\n onPointerDown={()
|
|
1
|
+
{"version":3,"file":"SocialLinks.js","sources":["../../../../../lib/widgets/footer/ui/SocialLinks.tsx"],"sourcesContent":["import { pushToDlLink } from '../../../shared/dataLayers'\nimport { Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\nimport { type FooterSocialLinks } from '$/widgets/footer/model/types'\n\nexport type SocialLinksClasses = {\n socialRoot?: string\n socialLink?: string\n socialIcon?: string\n}\n\ninterface ISocialLinksProps {\n socialsLinks: FooterSocialLinks[]\n classes?: SocialLinksClasses\n}\n\nexport const SocialLinks = ({ socialsLinks, classes }: ISocialLinksProps) => {\n return (\n <div className={cn('mt-4 flex items-center gap-2 desktop:mt-6', classes?.socialRoot)}>\n {socialsLinks?.map(({ iconName, href, ...rest }) => (\n <a\n className={cn('flex size-8 items-center justify-center rounded-full bg-[#52576a] p-2', classes?.socialLink)}\n href={href}\n key={href}\n aria-label={iconName.replace('social/', '')}\n onPointerDown={() =>\n pushToDlLink({ name: iconName, link: 'Соц сети', placement: 'footer', eventCategory: 'click_block' })\n }\n {...rest}\n >\n <Icon name={iconName} className={cn('h-full w-full text-icon-white', classes?.socialIcon)} />\n </a>\n ))}\n </div>\n )\n}\n"],"names":["SocialLinks","socialsLinks","classes","cn","iconName","href","rest","jsx","pushToDlLink","Icon"],"mappings":"mNAgBO,MAAMA,EAAc,CAAC,CAAE,aAAAC,EAAc,QAAAC,OAEvC,MAAA,CAAI,UAAWC,EAAG,4CAA6CD,GAAS,UAAU,EAChF,SAAAD,GAAc,IAAI,CAAC,CAAE,SAAAG,EAAU,KAAAC,EAAM,GAAGC,KACvCC,EAAC,IAAA,CACC,UAAWJ,EAAG,wEAAyED,GAAS,UAAU,EAC1G,KAAAG,EAEA,aAAYD,EAAS,QAAQ,UAAW,EAAE,EAC1C,cAAe,IACbI,EAAa,CAAE,KAAMJ,EAAU,KAAM,WAAY,UAAW,SAAU,cAAe,aAAA,CAAe,EAErG,GAAGE,EAEJ,SAAAC,EAACE,GAAK,KAAML,EAAU,UAAWD,EAAG,gCAAiCD,GAAS,UAAU,CAAA,CAAG,CAAA,EAPtFG,CAAA,CASR,EACH"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{PhoneView as r}from"../../../shared/ui/phoneView/PhoneView.js";import{pushToDlLink as t,pushToDlButton as h}from"../../../shared/dataLayers/utils.js";import{ButtonWithHandlers as p}from"../../buttonWithHandlers/ButtonWithHandlers.js";const a=({variant:o,details:n})=>{switch(o){case"withButton":return e(p,{onPointerDown:()=>h({name:typeof n?.children=="string"?n?.children:"",headline:"",placement:"header"}),...n});case"withPhone":return e(r,{onPointerDown:()=>t({name:n?.phone,link:n?.phone,placement:"header"}),classes:{root:"items-end"},...n,phone:n?.phone});default:return null}};export{a as renderContentVariant};
|
|
2
2
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sources":["../../../../../lib/widgets/header/model/helpers.tsx"],"sourcesContent":["import { pushToDlButton, pushToDlLink } from '../../../shared/dataLayers'\nimport { ButtonWithHandlers } from '../../buttonWithHandlers'\nimport type { HeaderProps, HeaderVariantType } from './types'\nimport { PhoneView } from '$/shared/ui'\n\nexport const renderContentVariant = <Type extends HeaderVariantType>({ variant, details }: HeaderProps<Type>) => {\n switch (variant) {\n case 'withButton':\n return (\n <ButtonWithHandlers\n onPointerDown={()
|
|
1
|
+
{"version":3,"file":"helpers.js","sources":["../../../../../lib/widgets/header/model/helpers.tsx"],"sourcesContent":["import { pushToDlButton, pushToDlLink } from '../../../shared/dataLayers'\nimport { ButtonWithHandlers } from '../../buttonWithHandlers'\nimport type { HeaderProps, HeaderVariantType } from './types'\nimport { PhoneView } from '$/shared/ui'\n\nexport const renderContentVariant = <Type extends HeaderVariantType>({ variant, details }: HeaderProps<Type>) => {\n switch (variant) {\n case 'withButton':\n return (\n <ButtonWithHandlers\n onPointerDown={() =>\n pushToDlButton({\n name: typeof details?.children === 'string' ? details?.children : '',\n headline: '',\n placement: 'header'\n })\n }\n {...details}\n />\n )\n case 'withPhone':\n return (\n <PhoneView\n onPointerDown={() => pushToDlLink({ name: details?.phone, link: details?.phone, placement: 'header' })}\n classes={{ root: 'items-end' }}\n {...details}\n phone={details?.phone}\n />\n )\n default:\n return null\n }\n}\n"],"names":["renderContentVariant","variant","details","jsx","ButtonWithHandlers","pushToDlButton","PhoneView","pushToDlLink"],"mappings":"yRAKO,MAAMA,EAAuB,CAAiC,CAAE,QAAAC,EAAS,QAAAC,KAAiC,CAC/G,OAAQD,EAAA,CACN,IAAK,aACH,OACEE,EAACC,EAAA,CACC,cAAe,IACbC,EAAe,CACb,KAAM,OAAOH,GAAS,UAAa,SAAWA,GAAS,SAAW,GAClE,SAAU,GACV,UAAW,QAAA,CACZ,EAEF,GAAGA,CAAA,CAAA,EAGV,IAAK,YACH,OACEC,EAACG,EAAA,CACC,cAAe,IAAMC,EAAa,CAAE,KAAML,GAAS,MAAO,KAAMA,GAAS,MAAO,UAAW,QAAA,CAAU,EACrG,QAAS,CAAE,KAAM,WAAA,EAChB,GAAGA,EACJ,MAAOA,GAAS,KAAA,CAAA,EAGtB,QACE,OAAO,IAAA,CAEb"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as o}from"react/jsx-runtime";import{cn as m}from"../../../shared/utils/cn.js";import{CustomLink as n}from"../../../shared/ui/customLink/CustomLink.js";import{pushToDlLink as s}from"../../../shared/dataLayers/utils.js";const f=({linksList:r,classes:t})=>o("div",{className:m("mt-4 flex flex-wrap items-center gap-4 desktop:mt-12 desktop:gap-8",t?.list),children:r?.map((e,i)=>o(n,{onPointerDown:()=>s({name:e?.children,link:e?.href,placement:"infoBlock"}),withUnderline:!0,size:"md",classes:t?.customLink,...e},i))});export{f as LinksList};
|
|
2
2
|
//# sourceMappingURL=LinksList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinksList.js","sources":["../../../../../lib/widgets/infoBlock/ui/LinksList.tsx"],"sourcesContent":["import { pushToDlLink } from '../../../shared/dataLayers'\nimport { CustomLink, type CustomLinkProps } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type LinksListClasses = {\n list?: string\n customLink?: CustomLinkProps['classes']\n}\n\nexport interface LinksListProps {\n linksList?: CustomLinkProps[]\n classes?: LinksListClasses\n}\n\nexport const LinksList = ({ linksList, classes }: LinksListProps) => {\n return (\n <div className={cn('mt-4 flex flex-wrap items-center gap-4 desktop:mt-12 desktop:gap-8', classes?.list)}>\n {linksList?.map((link, index) => (\n <CustomLink\n onPointerDown={() => pushToDlLink(link?.children as string, link?.href, 'infoBlock')}\n key={index}\n withUnderline\n size='md'\n classes={classes?.customLink}\n {...link}\n />\n ))}\n </div>\n )\n}\n"],"names":["LinksList","linksList","classes","jsx","cn","link","index","CustomLink","pushToDlLink"],"mappings":"qOAcO,MAAMA,EAAY,CAAC,CAAE,UAAAC,EAAW,QAAAC,KAEnCC,EAAC,MAAA,CAAI,UAAWC,EAAG,qEAAsEF,GAAS,IAAI,EACnG,SAAAD,GAAW,IAAI,CAACI,EAAMC,IACrBH,EAACI,EAAA,CACC,cAAe,IAAMC,
|
|
1
|
+
{"version":3,"file":"LinksList.js","sources":["../../../../../lib/widgets/infoBlock/ui/LinksList.tsx"],"sourcesContent":["import { pushToDlLink } from '../../../shared/dataLayers'\nimport { CustomLink, type CustomLinkProps } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type LinksListClasses = {\n list?: string\n customLink?: CustomLinkProps['classes']\n}\n\nexport interface LinksListProps {\n linksList?: CustomLinkProps[]\n classes?: LinksListClasses\n}\n\nexport const LinksList = ({ linksList, classes }: LinksListProps) => {\n return (\n <div className={cn('mt-4 flex flex-wrap items-center gap-4 desktop:mt-12 desktop:gap-8', classes?.list)}>\n {linksList?.map((link, index) => (\n <CustomLink\n onPointerDown={() => pushToDlLink({ name: link?.children as string, link: link?.href, placement: 'infoBlock' })}\n key={index}\n withUnderline\n size='md'\n classes={classes?.customLink}\n {...link}\n />\n ))}\n </div>\n )\n}\n"],"names":["LinksList","linksList","classes","jsx","cn","link","index","CustomLink","pushToDlLink"],"mappings":"qOAcO,MAAMA,EAAY,CAAC,CAAE,UAAAC,EAAW,QAAAC,KAEnCC,EAAC,MAAA,CAAI,UAAWC,EAAG,qEAAsEF,GAAS,IAAI,EACnG,SAAAD,GAAW,IAAI,CAACI,EAAMC,IACrBH,EAACI,EAAA,CACC,cAAe,IAAMC,EAAa,CAAE,KAAMH,GAAM,SAAoB,KAAMA,GAAM,KAAM,UAAW,WAAA,CAAa,EAE9G,cAAa,GACb,KAAK,KACL,QAASH,GAAS,WACjB,GAAGG,CAAA,EAJCC,CAAA,CAMR,EACH"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as c,jsx as l}from"react/jsx-runtime";import{LinksList as h}from"./LinksList.js";import{cn as o}from"../../../shared/utils/cn.js";import{Heading as s}from"../../../shared/ui/heading/Heading.js";import{ButtonWithHandlers as x}from"../../buttonWithHandlers/ButtonWithHandlers.js";import{pushToDlButton as g}from"../../../shared/dataLayers/utils.js";const v=({heading:
|
|
1
|
+
import{jsxs as c,jsx as l}from"react/jsx-runtime";import{LinksList as h}from"./LinksList.js";import{cn as o}from"../../../shared/utils/cn.js";import{Heading as s}from"../../../shared/ui/heading/Heading.js";import{ButtonWithHandlers as x}from"../../buttonWithHandlers/ButtonWithHandlers.js";import{pushToDlButton as g}from"../../../shared/dataLayers/utils.js";const v=({heading:r,buttonsGroup:t,description:m,images:n,linksList:i,classes:e})=>{const d=t&&t?.length>0,p=i&&i?.length>0;return c("div",{className:o("flex flex-col",e?.wrapper),children:[c("div",{className:o("flex flex-col gap-4 mobile:mb-2",e?.textBlock),children:[l(s,{as:"h2",className:o(e?.heading),children:r}),m&&l("p",{dangerouslySetInnerHTML:{__html:m},className:o("desk-body-regular-l text-color-dark",e?.description)})]}),l("div",{className:o("h-full w-full desktop:hidden",e?.imageMobileWrapper),children:l("img",{src:n?.mobile,alt:n?.alt,className:o("h-full w-full object-contain",e?.imageMobile)})}),d&&l("div",{className:o("mt-2 flex items-center gap-3 mobile:flex-col desktop:mt-8 desktop:gap-8",e?.buttonsGroup),children:t?.map((a,f)=>l(x,{onPointerDown:()=>g({name:a?.children,headline:r,placement:"infoBlock"}),className:"w-full desktop:w-[216px]",...a},f))}),p&&l(h,{linksList:i,classes:e?.linksList})]})};export{v as RootContent};
|
|
2
2
|
//# sourceMappingURL=RootContent.js.map
|