@scbt-ecom/ui 0.161.0 → 0.162.0

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.
Files changed (38) hide show
  1. package/dist/lib/shared/ui/accordion/Accordion.js +1 -1
  2. package/dist/lib/shared/ui/accordion/Accordion.js.map +1 -1
  3. package/dist/lib/shared/ui/accordion/ui/AccordionHeader.js +1 -1
  4. package/dist/lib/shared/ui/accordion/ui/AccordionHeader.js.map +1 -1
  5. package/dist/lib/widgets/breadcrumbs/Breadcrumb.js +1 -1
  6. package/dist/lib/widgets/breadcrumbs/Breadcrumb.js.map +1 -1
  7. package/dist/lib/widgets/model/helpers.js +2 -2
  8. package/dist/lib/widgets/model/helpers.js.map +1 -1
  9. package/dist/lib/widgets/seoHeader/model/dataLayers.js +2 -0
  10. package/dist/lib/widgets/seoHeader/model/dataLayers.js.map +1 -0
  11. package/dist/lib/widgets/seoHeader/model/index.js +1 -1
  12. package/dist/lib/widgets/seoHeader/ui/desktop/CategoriesDesktop.js +1 -1
  13. package/dist/lib/widgets/seoHeader/ui/desktop/CategoriesDesktop.js.map +1 -1
  14. package/dist/lib/widgets/seoHeader/ui/desktop/CategoryTabs.js +1 -1
  15. package/dist/lib/widgets/seoHeader/ui/desktop/CategoryTabs.js.map +1 -1
  16. package/dist/lib/widgets/seoHeader/ui/desktop/rootTab/RootTab.js +1 -1
  17. package/dist/lib/widgets/seoHeader/ui/desktop/rootTab/RootTab.js.map +1 -1
  18. package/dist/lib/widgets/seoHeader/ui/desktop/tab/Tab.js +1 -1
  19. package/dist/lib/widgets/seoHeader/ui/desktop/tab/Tab.js.map +1 -1
  20. package/dist/lib/widgets/seoHeader/ui/desktop/tab/ui/content/TabContent.js +1 -1
  21. package/dist/lib/widgets/seoHeader/ui/desktop/tab/ui/content/TabContent.js.map +1 -1
  22. package/dist/lib/widgets/seoHeader/ui/mobile/CategoriesMobile.js +1 -1
  23. package/dist/lib/widgets/seoHeader/ui/mobile/CategoriesMobile.js.map +1 -1
  24. package/dist/lib/widgets/seoHeader/ui/mobile/menu/Menu.js +1 -1
  25. package/dist/lib/widgets/seoHeader/ui/mobile/menu/Menu.js.map +1 -1
  26. package/dist/lib/widgets/seoHeader/ui/mobile/menu/MenuItem.js +1 -1
  27. package/dist/lib/widgets/seoHeader/ui/mobile/menu/MenuItem.js.map +1 -1
  28. package/dist/lib/widgets/usefulInfo/UsefulInfo.js +1 -1
  29. package/dist/lib/widgets/usefulInfo/UsefulInfo.js.map +1 -1
  30. package/dist/lib/widgets/usefulInfo/ui/Tabs.js +1 -1
  31. package/dist/lib/widgets/usefulInfo/ui/Tabs.js.map +1 -1
  32. package/dist/stats.html +1 -1
  33. package/dist/types/lib/shared/ui/accordion/Accordion.d.ts +1 -0
  34. package/dist/types/lib/shared/ui/accordion/ui/AccordionHeader.d.ts +1 -0
  35. package/dist/types/lib/widgets/seoHeader/model/dataLayers.d.ts +1 -0
  36. package/dist/types/lib/widgets/seoHeader/model/index.d.ts +1 -0
  37. package/dist/types/lib/widgets/usefulInfo/ui/Tabs.d.ts +2 -1
  38. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.js","sources":["../../../../../../../lib/widgets/seoHeader/ui/mobile/menu/Menu.tsx"],"sourcesContent":["import { useMemo, useState } from 'react'\nimport { motion } from 'framer-motion'\nimport type { Category, SeoHeaderHelpers } from '../../../model'\nimport { MenuItem } from './MenuItem'\nimport { Combobox, type ComboboxItemOption, type ComboboxValue, Icon } from '$/shared/ui'\nimport { cn, TypeGuards } from '$/shared/utils'\n\nexport type MenuProps = React.ComponentProps<typeof motion.div> & {\n categories: Category[]\n helpers: SeoHeaderHelpers[]\n phone: string\n}\n\nconst getSelectCategories = (categories: Category[]): ComboboxItemOption[] =>\n categories.map((category) => ({\n value: category.title ?? '',\n label: category.title ?? ''\n }))\n\nexport const Menu = ({ categories, helpers, phone, ...props }: MenuProps) => {\n const selectCategories = getSelectCategories(categories)\n\n const [selected, setSelected] = useState<ComboboxValue<false>>(selectCategories[0])\n\n const onCategoryChange = (option?: ComboboxValue<false>) => {\n if (TypeGuards.isUndefined(option) || TypeGuards.isArray(option)) return\n\n setSelected(option)\n }\n\n const selectedSubCategories = useMemo<Category[]>(() => {\n if (!selected) return []\n\n return categories.find((category) => category.title === selected.value)?.children ?? []\n }, [selected, categories])\n\n return (\n <motion.div\n {...props}\n className={cn(\n 'fixed z-10 h-full w-full max-w-[calc(636px-32px)]',\n 'absolute left-1/2 top-full bg-color-white p-4',\n '-translate-x-1/2 overflow-x-hidden',\n 'flex flex-col items-center justify-start gap-y-4'\n )}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n >\n <Combobox multiple={false} label='Категория' options={selectCategories} value={selected} onChange={onCategoryChange} />\n <div className='flex w-full flex-col items-center justify-center gap-y-1'>\n {selectedSubCategories.map((subCategory) => {\n if (TypeGuards.isArrayEmpty(subCategory.children)) {\n return (\n <div key={subCategory.title} className='w-full px-4 py-2.5'>\n <a href={subCategory.link?.href} className='desk-body-regular-m inline-block w-full'>\n {subCategory.title}\n </a>\n </div>\n )\n }\n\n return <MenuItem key={subCategory.title} category={subCategory} />\n })}\n </div>\n <div className='h-[1px] w-full bg-color-blue-grey-200' />\n <div className='flex w-full flex-col items-center justify-center gap-y-1'>\n {helpers.map((helper) => (\n <div key={helper.title} className='w-full px-4 py-2.5'>\n <a href={helper.link?.href} className='flex w-full items-center gap-x-1'>\n {helper.link?.icon && <Icon name={helper.link.icon} className='size-4' />}\n {helper.title}\n </a>\n </div>\n ))}\n <div className='w-full px-4 py-2.5'>\n <a href={`tel:${phone}`} className='flex w-full items-center gap-x-1'>\n <Icon name='communication/phone' className='size-4' />\n {phone}\n </a>\n </div>\n </div>\n </motion.div>\n )\n}\n"],"names":["getSelectCategories","categories","category","Menu","helpers","phone","props","selectCategories","selected","setSelected","useState","onCategoryChange","option","TypeGuards","selectedSubCategories","useMemo","jsxs","motion","cn","jsx","Combobox","subCategory","MenuItem","helper","Icon"],"mappings":"8cAaA,MAAMA,EAAuBC,GAC3BA,EAAW,IAAKC,IAAc,CAC5B,MAAOA,EAAS,OAAS,GACzB,MAAOA,EAAS,OAAS,EAC3B,EAAE,EAESC,EAAO,CAAC,CAAE,WAAAF,EAAY,QAAAG,EAAS,MAAAC,EAAO,GAAGC,KAAuB,CAC3E,MAAMC,EAAmBP,EAAoBC,CAAU,EAEjD,CAACO,EAAUC,CAAW,EAAIC,EAA+BH,EAAiB,CAAC,CAAC,EAE5EI,EAAoBC,GAAkC,CACtDC,EAAW,YAAYD,CAAM,GAAKC,EAAW,QAAQD,CAAM,GAE/DH,EAAYG,CAAM,CACpB,EAEME,EAAwBC,EAAoB,IAC3CP,EAEEP,EAAW,KAAMC,GAAaA,EAAS,QAAUM,EAAS,KAAK,GAAG,UAAY,CAAA,EAF/D,CAAA,EAGrB,CAACA,EAAUP,CAAU,CAAC,EAEzB,OACEe,EAACC,EAAO,IAAP,CACE,GAAGX,EACJ,UAAWY,EACT,oDACA,gDACA,qCACA,kDAAA,EAEF,QAAS,CAAE,QAAS,CAAA,EACpB,QAAS,CAAE,QAAS,CAAA,EAEpB,SAAA,CAAAC,EAACC,EAAA,CAAS,SAAU,GAAO,MAAM,YAAY,QAASb,EAAkB,MAAOC,EAAU,SAAUG,CAAA,CAAkB,IACpH,MAAA,CAAI,UAAU,2DACZ,SAAAG,EAAsB,IAAKO,GACtBR,EAAW,aAAaQ,EAAY,QAAQ,IAE3C,MAAA,CAA4B,UAAU,qBACrC,SAAAF,EAAC,KAAE,KAAME,EAAY,MAAM,KAAM,UAAU,0CACxC,SAAAA,EAAY,MACf,CAAA,EAHQA,EAAY,KAItB,EAIGF,EAACG,EAAA,CAAiC,SAAUD,CAAA,EAA7BA,EAAY,KAA8B,CACjE,CAAA,CACH,EACAF,EAAC,MAAA,CAAI,UAAU,uCAAA,CAAwC,EACvDH,EAAC,MAAA,CAAI,UAAU,2DACZ,SAAA,CAAAZ,EAAQ,IAAKmB,GACZJ,EAAC,OAAuB,UAAU,qBAChC,SAAAH,EAAC,IAAA,CAAE,KAAMO,EAAO,MAAM,KAAM,UAAU,mCACnC,SAAA,CAAAA,EAAO,MAAM,MAAQJ,EAACK,EAAA,CAAK,KAAMD,EAAO,KAAK,KAAM,UAAU,QAAA,CAAS,EACtEA,EAAO,KAAA,CAAA,CACV,CAAA,EAJQA,EAAO,KAKjB,CACD,EACDJ,EAAC,MAAA,CAAI,UAAU,qBACb,SAAAH,EAAC,IAAA,CAAE,KAAM,OAAOX,CAAK,GAAI,UAAU,mCACjC,SAAA,CAAAc,EAACK,EAAA,CAAK,KAAK,sBAAsB,UAAU,SAAS,EACnDnB,CAAA,CAAA,CACH,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CAAA,CAAA,CAGN"}
1
+ {"version":3,"file":"Menu.js","sources":["../../../../../../../lib/widgets/seoHeader/ui/mobile/menu/Menu.tsx"],"sourcesContent":["import { useMemo, useState } from 'react'\nimport { motion } from 'framer-motion'\nimport { type Category, pushToDlLink, type SeoHeaderHelpers } from '../../../model'\nimport { MenuItem } from './MenuItem'\nimport { Combobox, type ComboboxItemOption, type ComboboxValue, Icon } from '$/shared/ui'\nimport { cn, TypeGuards } from '$/shared/utils'\n\nexport type MenuProps = React.ComponentProps<typeof motion.div> & {\n categories: Category[]\n helpers: SeoHeaderHelpers[]\n phone: string\n}\n\nconst getSelectCategories = (categories: Category[]): ComboboxItemOption[] =>\n categories.map((category) => ({\n value: category.title ?? '',\n label: category.title ?? ''\n }))\n\nexport const Menu = ({ categories, helpers, phone, ...props }: MenuProps) => {\n const selectCategories = getSelectCategories(categories)\n\n const [selected, setSelected] = useState<ComboboxValue<false>>(selectCategories[0])\n\n const onCategoryChange = (option?: ComboboxValue<false>) => {\n if (TypeGuards.isUndefined(option) || TypeGuards.isArray(option)) return\n\n setSelected(option)\n }\n\n const selectedSubCategories = useMemo<Category[]>(() => {\n if (!selected) return []\n\n return categories.find((category) => category.title === selected.value)?.children ?? []\n }, [selected, categories])\n\n return (\n <motion.div\n {...props}\n className={cn(\n 'fixed z-10 h-full w-full max-w-[calc(636px-32px)]',\n 'absolute left-1/2 top-full bg-color-white p-4',\n '-translate-x-1/2 overflow-x-hidden',\n 'flex flex-col items-center justify-start gap-y-4'\n )}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n >\n <Combobox multiple={false} label='Категория' options={selectCategories} value={selected} onChange={onCategoryChange} />\n <div className='flex w-full flex-col items-center justify-center gap-y-1'>\n {selectedSubCategories.map((subCategory) => {\n if (TypeGuards.isArrayEmpty(subCategory.children)) {\n return (\n <div key={subCategory.title} className='w-full px-4 py-2.5'>\n <a\n onPointerDown={() => pushToDlLink(subCategory?.title, subCategory.link?.href)}\n href={subCategory.link?.href}\n className='desk-body-regular-m inline-block w-full'\n >\n {subCategory.title}\n </a>\n </div>\n )\n }\n\n return <MenuItem key={subCategory.title} category={subCategory} />\n })}\n </div>\n <div className='h-[1px] w-full bg-color-blue-grey-200' />\n <div className='flex w-full flex-col items-center justify-center gap-y-1'>\n {helpers.map((helper) => (\n <div key={helper.title} className='w-full px-4 py-2.5'>\n <a\n onPointerDown={() => pushToDlLink(helper.title, helper.link.href)}\n href={helper.link?.href}\n className='flex w-full items-center gap-x-1'\n >\n {helper.link?.icon && <Icon name={helper.link.icon} className='size-4' />}\n {helper.title}\n </a>\n </div>\n ))}\n <div className='w-full px-4 py-2.5'>\n <a\n onPointerDown={() => pushToDlLink(phone, `tel:${phone}`)}\n href={`tel:${phone}`}\n className='flex w-full items-center gap-x-1'\n >\n <Icon name='communication/phone' className='size-4' />\n {phone}\n </a>\n </div>\n </div>\n </motion.div>\n )\n}\n"],"names":["getSelectCategories","categories","category","Menu","helpers","phone","props","selectCategories","selected","setSelected","useState","onCategoryChange","option","TypeGuards","selectedSubCategories","useMemo","jsxs","motion","cn","jsx","Combobox","subCategory","pushToDlLink","MenuItem","helper","Icon"],"mappings":"0gBAaA,MAAMA,EAAuBC,GAC3BA,EAAW,IAAKC,IAAc,CAC5B,MAAOA,EAAS,OAAS,GACzB,MAAOA,EAAS,OAAS,EAC3B,EAAE,EAESC,EAAO,CAAC,CAAE,WAAAF,EAAY,QAAAG,EAAS,MAAAC,EAAO,GAAGC,KAAuB,CAC3E,MAAMC,EAAmBP,EAAoBC,CAAU,EAEjD,CAACO,EAAUC,CAAW,EAAIC,EAA+BH,EAAiB,CAAC,CAAC,EAE5EI,EAAoBC,GAAkC,CACtDC,EAAW,YAAYD,CAAM,GAAKC,EAAW,QAAQD,CAAM,GAE/DH,EAAYG,CAAM,CACpB,EAEME,EAAwBC,EAAoB,IAC3CP,EAEEP,EAAW,KAAMC,GAAaA,EAAS,QAAUM,EAAS,KAAK,GAAG,UAAY,CAAA,EAF/D,CAAA,EAGrB,CAACA,EAAUP,CAAU,CAAC,EAEzB,OACEe,EAACC,EAAO,IAAP,CACE,GAAGX,EACJ,UAAWY,EACT,oDACA,gDACA,qCACA,kDAAA,EAEF,QAAS,CAAE,QAAS,CAAA,EACpB,QAAS,CAAE,QAAS,CAAA,EAEpB,SAAA,CAAAC,EAACC,EAAA,CAAS,SAAU,GAAO,MAAM,YAAY,QAASb,EAAkB,MAAOC,EAAU,SAAUG,CAAA,CAAkB,IACpH,MAAA,CAAI,UAAU,2DACZ,SAAAG,EAAsB,IAAKO,GACtBR,EAAW,aAAaQ,EAAY,QAAQ,EAE5CF,EAAC,MAAA,CAA4B,UAAU,qBACrC,SAAAA,EAAC,IAAA,CACC,cAAe,IAAMG,EAAaD,GAAa,MAAOA,EAAY,MAAM,IAAI,EAC5E,KAAMA,EAAY,MAAM,KACxB,UAAU,0CAET,SAAAA,EAAY,KAAA,CAAA,CACf,EAPQA,EAAY,KAQtB,EAIGF,EAACI,EAAA,CAAiC,SAAUF,CAAA,EAA7BA,EAAY,KAA8B,CACjE,CAAA,CACH,EACAF,EAAC,MAAA,CAAI,UAAU,uCAAA,CAAwC,EACvDH,EAAC,MAAA,CAAI,UAAU,2DACZ,SAAA,CAAAZ,EAAQ,IAAKoB,GACZL,EAAC,MAAA,CAAuB,UAAU,qBAChC,SAAAH,EAAC,IAAA,CACC,cAAe,IAAMM,EAAaE,EAAO,MAAOA,EAAO,KAAK,IAAI,EAChE,KAAMA,EAAO,MAAM,KACnB,UAAU,mCAET,SAAA,CAAAA,EAAO,MAAM,MAAQL,EAACM,EAAA,CAAK,KAAMD,EAAO,KAAK,KAAM,UAAU,QAAA,CAAS,EACtEA,EAAO,KAAA,CAAA,CAAA,GAPFA,EAAO,KASjB,CACD,EACDL,EAAC,MAAA,CAAI,UAAU,qBACb,SAAAH,EAAC,IAAA,CACC,cAAe,IAAMM,EAAajB,EAAO,OAAOA,CAAK,EAAE,EACvD,KAAM,OAAOA,CAAK,GAClB,UAAU,mCAEV,SAAA,CAAAc,EAACM,EAAA,CAAK,KAAK,sBAAsB,UAAU,SAAS,EACnDpB,CAAA,CAAA,CAAA,CACH,CACF,CAAA,CAAA,CACF,CAAA,CAAA,CAAA,CAGN"}
@@ -1,2 +1,2 @@
1
- import{jsx as e,jsxs as o}from"react/jsx-runtime";import{cn as n}from"../../../../../shared/utils/cn.js";import{Accordion as s}from"../../../../../shared/ui/accordion/Accordion.js";import{Icon as i}from"../../../../../shared/ui/icon/Icon.js";const x=({category:l})=>e(s,{label:l.title??"",icon:e(i,{name:"arrows/arrowRight",className:"-rotate-90"}),classes:{root:"w-full",header:{trigger:"py-2 data-[open=false]:bg-color-white",label:"desk-body-regular-m"},content:n("relative",'after:content-"" after:absolute after:w-[calc(100%-32px)]',"after:bottom-0 after:left-1/2 after:-translate-x-1/2","after:h-[1px] after:bg-color-blue-grey-200")},children:e("div",{className:"flex flex-col items-start justify-center gap-y-4",children:l.children.map(t=>{const a=!!t.link;return o("ul",{className:"w-full list-none p-0",children:[o(a?"a":"p",{href:a?t.link?.href:void 0,className:"mb-3 flex items-center gap-x-1 text-16 text-color-primary-default",children:[t.title,e(i,{name:"arrows/arrowLink"})]}),t.children.map(r=>e("li",{className:"inline-block w-full [&:not(:last-child)]:mb-3",children:e("a",{href:r.link?.href,className:"w-full",children:r.title})},r.title))]},t.title)})})},l.title);export{x as MenuItem};
1
+ import{jsx as e,jsxs as a}from"react/jsx-runtime";import{cn as s}from"../../../../../shared/utils/cn.js";import{Accordion as f}from"../../../../../shared/ui/accordion/Accordion.js";import{pushToDlLink as i}from"../../../model/dataLayers.js";import{Icon as n}from"../../../../../shared/ui/icon/Icon.js";const b=({category:r})=>e(f,{onPointerDown:()=>i(r.title,""),label:r.title??"",icon:e(n,{name:"arrows/arrowRight",className:"-rotate-90"}),classes:{root:"w-full",header:{trigger:"py-2 data-[open=false]:bg-color-white",label:"desk-body-regular-m"},content:s("relative",'after:content-"" after:absolute after:w-[calc(100%-32px)]',"after:bottom-0 after:left-1/2 after:-translate-x-1/2","after:h-[1px] after:bg-color-blue-grey-200")},children:e("div",{className:"flex flex-col items-start justify-center gap-y-4",children:r.children.map(t=>{const o=!!t.link;return a("ul",{className:"w-full list-none p-0",children:[a(o?"a":"p",{href:o?t.link?.href:void 0,className:"mb-3 flex items-center gap-x-1 text-16 text-color-primary-default",children:[t.title,e(n,{name:"arrows/arrowLink"})]}),t.children.map(l=>e("li",{className:"inline-block w-full [&:not(:last-child)]:mb-3",children:e("a",{onPointerDown:()=>i(l.title,l.link?.href),href:l.link?.href,className:"w-full",children:l.title})},l.title))]},t.title)})})},r.title);export{b as MenuItem};
2
2
  //# sourceMappingURL=MenuItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItem.js","sources":["../../../../../../../lib/widgets/seoHeader/ui/mobile/menu/MenuItem.tsx"],"sourcesContent":["import { type Category } from '../../../model'\nimport { Accordion, Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\ntype MenuItemProps = {\n category: Category\n}\n\nexport const MenuItem = ({ category }: MenuItemProps) => (\n <Accordion\n key={category.title}\n label={category.title ?? ''}\n icon={<Icon name='arrows/arrowRight' className='-rotate-90' />}\n classes={{\n root: 'w-full',\n header: {\n trigger: 'py-2 data-[open=false]:bg-color-white',\n label: 'desk-body-regular-m'\n },\n content: cn(\n 'relative',\n 'after:content-\"\" after:absolute after:w-[calc(100%-32px)]',\n 'after:bottom-0 after:left-1/2 after:-translate-x-1/2',\n 'after:h-[1px] after:bg-color-blue-grey-200'\n )\n }}\n >\n <div className='flex flex-col items-start justify-center gap-y-4'>\n {category.children.map((child) => {\n const isLink = Boolean(child.link)\n const Title = isLink ? 'a' : 'p'\n\n return (\n <ul key={child.title} className='w-full list-none p-0'>\n <Title\n href={isLink ? child.link?.href : undefined}\n className='mb-3 flex items-center gap-x-1 text-16 text-color-primary-default'\n >\n {child.title}\n <Icon name='arrows/arrowLink' />\n </Title>\n {child.children.map((innerChild) => (\n <li key={innerChild.title} className='inline-block w-full [&:not(:last-child)]:mb-3'>\n <a href={innerChild.link?.href} className='w-full'>\n {innerChild.title}\n </a>\n </li>\n ))}\n </ul>\n )\n })}\n </div>\n </Accordion>\n)\n"],"names":["MenuItem","category","jsx","Accordion","Icon","cn","child","isLink","jsxs","innerChild"],"mappings":"kPAQO,MAAMA,EAAW,CAAC,CAAE,SAAAC,CAAA,IACzBC,EAACC,EAAA,CAEC,MAAOF,EAAS,OAAS,GACzB,KAAMC,EAACE,EAAA,CAAK,KAAK,oBAAoB,UAAU,aAAa,EAC5D,QAAS,CACP,KAAM,SACN,OAAQ,CACN,QAAS,wCACT,MAAO,qBAAA,EAET,QAASC,EACP,WACA,4DACA,uDACA,4CAAA,CACF,EAGF,SAAAH,EAAC,OAAI,UAAU,mDACZ,WAAS,SAAS,IAAKI,GAAU,CAChC,MAAMC,EAAS,EAAQD,EAAM,KAG7B,OACEE,EAAC,KAAA,CAAqB,UAAU,uBAC9B,SAAA,CAAAA,EAJUD,EAAS,IAAM,IAIxB,CACC,KAAMA,EAASD,EAAM,MAAM,KAAO,OAClC,UAAU,oEAET,SAAA,CAAAA,EAAM,MACPJ,EAACE,EAAA,CAAK,KAAK,kBAAA,CAAmB,CAAA,CAAA,CAAA,EAE/BE,EAAM,SAAS,IAAKG,GACnBP,EAAC,KAAA,CAA0B,UAAU,gDACnC,SAAAA,EAAC,IAAA,CAAE,KAAMO,EAAW,MAAM,KAAM,UAAU,SACvC,WAAW,KAAA,CACd,GAHOA,EAAW,KAIpB,CACD,CAAA,CAAA,EAdMH,EAAM,KAef,CAEJ,CAAC,CAAA,CACH,CAAA,EAzCKL,EAAS,KA0ChB"}
1
+ {"version":3,"file":"MenuItem.js","sources":["../../../../../../../lib/widgets/seoHeader/ui/mobile/menu/MenuItem.tsx"],"sourcesContent":["import { type Category, pushToDlLink } from '../../../model'\nimport { Accordion, Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\ntype MenuItemProps = {\n category: Category\n}\n\nexport const MenuItem = ({ category }: MenuItemProps) => (\n <Accordion\n key={category.title}\n onPointerDown={() => pushToDlLink(category.title, '')}\n label={category.title ?? ''}\n icon={<Icon name='arrows/arrowRight' className='-rotate-90' />}\n classes={{\n root: 'w-full',\n header: {\n trigger: 'py-2 data-[open=false]:bg-color-white',\n label: 'desk-body-regular-m'\n },\n content: cn(\n 'relative',\n 'after:content-\"\" after:absolute after:w-[calc(100%-32px)]',\n 'after:bottom-0 after:left-1/2 after:-translate-x-1/2',\n 'after:h-[1px] after:bg-color-blue-grey-200'\n )\n }}\n >\n <div className='flex flex-col items-start justify-center gap-y-4'>\n {category.children.map((child) => {\n const isLink = Boolean(child.link)\n const Title = isLink ? 'a' : 'p'\n\n return (\n <ul key={child.title} className='w-full list-none p-0'>\n <Title\n href={isLink ? child.link?.href : undefined}\n className='mb-3 flex items-center gap-x-1 text-16 text-color-primary-default'\n >\n {child.title}\n <Icon name='arrows/arrowLink' />\n </Title>\n {child.children.map((innerChild) => (\n <li key={innerChild.title} className='inline-block w-full [&:not(:last-child)]:mb-3'>\n <a\n onPointerDown={() => pushToDlLink(innerChild.title, innerChild.link?.href)}\n href={innerChild.link?.href}\n className='w-full'\n >\n {innerChild.title}\n </a>\n </li>\n ))}\n </ul>\n )\n })}\n </div>\n </Accordion>\n)\n"],"names":["MenuItem","category","jsx","Accordion","pushToDlLink","Icon","cn","child","isLink","jsxs","innerChild"],"mappings":"8SAQO,MAAMA,EAAW,CAAC,CAAE,SAAAC,CAAA,IACzBC,EAACC,EAAA,CAEC,cAAe,IAAMC,EAAaH,EAAS,MAAO,EAAE,EACpD,MAAOA,EAAS,OAAS,GACzB,KAAMC,EAACG,EAAA,CAAK,KAAK,oBAAoB,UAAU,aAAa,EAC5D,QAAS,CACP,KAAM,SACN,OAAQ,CACN,QAAS,wCACT,MAAO,qBAAA,EAET,QAASC,EACP,WACA,4DACA,uDACA,4CAAA,CACF,EAGF,SAAAJ,EAAC,OAAI,UAAU,mDACZ,WAAS,SAAS,IAAKK,GAAU,CAChC,MAAMC,EAAS,EAAQD,EAAM,KAG7B,OACEE,EAAC,KAAA,CAAqB,UAAU,uBAC9B,SAAA,CAAAA,EAJUD,EAAS,IAAM,IAIxB,CACC,KAAMA,EAASD,EAAM,MAAM,KAAO,OAClC,UAAU,oEAET,SAAA,CAAAA,EAAM,MACPL,EAACG,EAAA,CAAK,KAAK,kBAAA,CAAmB,CAAA,CAAA,CAAA,EAE/BE,EAAM,SAAS,IAAKG,GACnBR,EAAC,KAAA,CAA0B,UAAU,gDACnC,SAAAA,EAAC,IAAA,CACC,cAAe,IAAME,EAAaM,EAAW,MAAOA,EAAW,MAAM,IAAI,EACzE,KAAMA,EAAW,MAAM,KACvB,UAAU,SAET,SAAAA,EAAW,KAAA,CAAA,CACd,EAPOA,EAAW,KAQpB,CACD,CAAA,CAAA,EAlBMH,EAAM,KAmBf,CAEJ,CAAC,CAAA,CACH,CAAA,EA9CKN,EAAS,KA+ChB"}
@@ -1,2 +1,2 @@
1
- import{jsx as a,jsxs as d}from"react/jsx-runtime";import{useState as p,useMemo as u}from"react";import{cn as o}from"../../shared/utils/cn.js";import{Tabs as h}from"./ui/Tabs.js";import{RenderEntity as N}from"./ui/RenderEntity.js";import{ResponsiveContainer as x}from"../../shared/ui/responsiveContainer/ResponsiveContainer.js";import{Heading as v}from"../../shared/ui/heading/Heading.js";const C=({headline:m,tabs:t,classes:e,accordionsConfig:i})=>{const[n,s]=p(0),l=u(()=>t?.map(r=>({tabName:r.tabName,dataLayers:r.dataLayers}))??[],[t]);if(!t||t?.length===0)return null;const c=t?.[n].tabName;return a("section",{id:"usefulInfo","data-test-id":"usefulInfo",className:o(e?.root),children:d(x,{className:o(e?.container),children:[a(v,{className:o("text-color-dark",e?.headline),as:"h2",children:m}),a("div",{className:o("mt-6 flex flex-col gap-2 desktop:mt-12",e?.tabsWrapper),children:a(h,{tabsShortInfo:l,activeTab:n,setActiveTab:s,classes:e?.tabs})}),a("div",{className:o("mt-6 flex flex-col gap-8",e?.contentWrapper),children:t?.[n]?.contents?.map((r,f)=>a(N,{tabName:c,accordionsConfig:i,...r,classes:e?.entityClasses},f))})]})})};export{C as UsefulInfo,C as default};
1
+ import{jsx as a,jsxs as p}from"react/jsx-runtime";import{useState as d,useMemo as u}from"react";import{cn as o}from"../../shared/utils/cn.js";import{Tabs as N}from"./ui/Tabs.js";import{RenderEntity as h}from"./ui/RenderEntity.js";import{ResponsiveContainer as x}from"../../shared/ui/responsiveContainer/ResponsiveContainer.js";import{Heading as v}from"../../shared/ui/heading/Heading.js";const C=({headline:m,tabs:t,classes:e,accordionsConfig:i})=>{const[n,s]=d(0),l=u(()=>t?.map(r=>({tabName:r.tabName,dataLayers:r.dataLayers}))??[],[t]);if(!t||t?.length===0)return null;const c=t?.[n].tabName;return a("section",{id:"usefulInfo","data-test-id":"usefulInfo",className:o(e?.root),children:p(x,{className:o(e?.container),children:[a(v,{className:o("text-color-dark",e?.headline),as:"h2",children:m}),a("div",{className:o("mt-6 flex flex-col gap-2 desktop:mt-12",e?.tabsWrapper),children:a(N,{headline:m,tabsShortInfo:l,activeTab:n,setActiveTab:s,classes:e?.tabs})}),a("div",{className:o("mt-6 flex flex-col gap-8",e?.contentWrapper),children:t?.[n]?.contents?.map((r,f)=>a(h,{tabName:c,accordionsConfig:i,...r,classes:e?.entityClasses},f))})]})})};export{C as UsefulInfo,C as default};
2
2
  //# sourceMappingURL=UsefulInfo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UsefulInfo.js","sources":["../../../../lib/widgets/usefulInfo/UsefulInfo.tsx"],"sourcesContent":["import { useMemo, useState } from 'react'\nimport type { EntitiesAccordionsConfig, UsefulInfoTab } from './model'\nimport { type EntityClasses, RenderEntity, Tabs, type TabsClasses } from './ui'\nimport { Heading, ResponsiveContainer } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type UsefulInfoClasses = {\n root?: string\n container?: string\n tabsWrapper?: string\n tabs?: TabsClasses\n headline?: string\n contentWrapper?: string\n entityClasses?: EntityClasses\n}\n\nexport type UsefulInfoProps = {\n headline: string\n tabs: UsefulInfoTab[]\n classes?: UsefulInfoClasses\n accordionsConfig?: EntitiesAccordionsConfig\n}\n\nexport const UsefulInfo = ({ headline, tabs, classes, accordionsConfig }: UsefulInfoProps) => {\n const [activeTab, setActiveTab] = useState(0)\n\n const tabsShortInfo = useMemo(\n () =>\n tabs?.map((tab) => ({\n tabName: tab.tabName,\n dataLayers: tab.dataLayers\n })) ?? [],\n [tabs]\n )\n\n if (!tabs || tabs?.length === 0) return null\n\n const tabName = tabs?.[activeTab].tabName\n\n return (\n <section id='usefulInfo' data-test-id='usefulInfo' className={cn(classes?.root)}>\n <ResponsiveContainer className={cn(classes?.container)}>\n <Heading className={cn('text-color-dark', classes?.headline)} as='h2'>\n {headline}\n </Heading>\n <div className={cn('mt-6 flex flex-col gap-2 desktop:mt-12', classes?.tabsWrapper)}>\n <Tabs tabsShortInfo={tabsShortInfo} activeTab={activeTab} setActiveTab={setActiveTab} classes={classes?.tabs} />\n </div>\n <div className={cn('mt-6 flex flex-col gap-8', classes?.contentWrapper)}>\n {tabs?.[activeTab]?.contents?.map((entity, index) => (\n <RenderEntity\n tabName={tabName}\n accordionsConfig={accordionsConfig}\n key={index}\n {...entity}\n classes={classes?.entityClasses}\n />\n ))}\n </div>\n </ResponsiveContainer>\n </section>\n )\n}\n\nexport default UsefulInfo\n"],"names":["UsefulInfo","headline","tabs","classes","accordionsConfig","activeTab","setActiveTab","useState","tabsShortInfo","useMemo","tab","tabName","cn","jsxs","ResponsiveContainer","jsx","Heading","Tabs","entity","index","RenderEntity"],"mappings":"oYAuBO,MAAMA,EAAa,CAAC,CAAE,SAAAC,EAAU,KAAAC,EAAM,QAAAC,EAAS,iBAAAC,KAAwC,CAC5F,KAAM,CAACC,EAAWC,CAAY,EAAIC,EAAS,CAAC,EAEtCC,EAAgBC,EACpB,IACEP,GAAM,IAAKQ,IAAS,CAClB,QAASA,EAAI,QACb,WAAYA,EAAI,UAAA,EAChB,GAAK,CAAA,EACT,CAACR,CAAI,CAAA,EAGP,GAAI,CAACA,GAAQA,GAAM,SAAW,EAAG,OAAO,KAExC,MAAMS,EAAUT,IAAOG,CAAS,EAAE,QAElC,SACG,UAAA,CAAQ,GAAG,aAAa,eAAa,aAAa,UAAWO,EAAGT,GAAS,IAAI,EAC5E,SAAAU,EAACC,EAAA,CAAoB,UAAWF,EAAGT,GAAS,SAAS,EACnD,SAAA,CAAAY,EAACC,EAAA,CAAQ,UAAWJ,EAAG,kBAAmBT,GAAS,QAAQ,EAAG,GAAG,KAC9D,SAAAF,CAAA,CACH,IACC,MAAA,CAAI,UAAWW,EAAG,yCAA0CT,GAAS,WAAW,EAC/E,SAAAY,EAACE,EAAA,CAAK,cAAAT,EAA8B,UAAAH,EAAsB,aAAAC,EAA4B,QAASH,GAAS,KAAM,EAChH,EACAY,EAAC,MAAA,CAAI,UAAWH,EAAG,2BAA4BT,GAAS,cAAc,EACnE,SAAAD,IAAOG,CAAS,GAAG,UAAU,IAAI,CAACa,EAAQC,IACzCJ,EAACK,EAAA,CACC,QAAAT,EACA,iBAAAP,EAEC,GAAGc,EACJ,QAASf,GAAS,aAAA,EAFbgB,CAAA,CAIR,CAAA,CACH,CAAA,CAAA,CACF,CAAA,CACF,CAEJ"}
1
+ {"version":3,"file":"UsefulInfo.js","sources":["../../../../lib/widgets/usefulInfo/UsefulInfo.tsx"],"sourcesContent":["import { useMemo, useState } from 'react'\nimport type { EntitiesAccordionsConfig, UsefulInfoTab } from './model'\nimport { type EntityClasses, RenderEntity, Tabs, type TabsClasses } from './ui'\nimport { Heading, ResponsiveContainer } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type UsefulInfoClasses = {\n root?: string\n container?: string\n tabsWrapper?: string\n tabs?: TabsClasses\n headline?: string\n contentWrapper?: string\n entityClasses?: EntityClasses\n}\n\nexport type UsefulInfoProps = {\n headline: string\n tabs: UsefulInfoTab[]\n classes?: UsefulInfoClasses\n accordionsConfig?: EntitiesAccordionsConfig\n}\n\nexport const UsefulInfo = ({ headline, tabs, classes, accordionsConfig }: UsefulInfoProps) => {\n const [activeTab, setActiveTab] = useState(0)\n\n const tabsShortInfo = useMemo(\n () =>\n tabs?.map((tab) => ({\n tabName: tab.tabName,\n dataLayers: tab.dataLayers\n })) ?? [],\n [tabs]\n )\n\n if (!tabs || tabs?.length === 0) return null\n\n const tabName = tabs?.[activeTab].tabName\n\n return (\n <section id='usefulInfo' data-test-id='usefulInfo' className={cn(classes?.root)}>\n <ResponsiveContainer className={cn(classes?.container)}>\n <Heading className={cn('text-color-dark', classes?.headline)} as='h2'>\n {headline}\n </Heading>\n <div className={cn('mt-6 flex flex-col gap-2 desktop:mt-12', classes?.tabsWrapper)}>\n <Tabs\n headline={headline}\n tabsShortInfo={tabsShortInfo}\n activeTab={activeTab}\n setActiveTab={setActiveTab}\n classes={classes?.tabs}\n />\n </div>\n <div className={cn('mt-6 flex flex-col gap-8', classes?.contentWrapper)}>\n {tabs?.[activeTab]?.contents?.map((entity, index) => (\n <RenderEntity\n tabName={tabName}\n accordionsConfig={accordionsConfig}\n key={index}\n {...entity}\n classes={classes?.entityClasses}\n />\n ))}\n </div>\n </ResponsiveContainer>\n </section>\n )\n}\n\nexport default UsefulInfo\n"],"names":["UsefulInfo","headline","tabs","classes","accordionsConfig","activeTab","setActiveTab","useState","tabsShortInfo","useMemo","tab","tabName","cn","jsxs","ResponsiveContainer","jsx","Heading","Tabs","entity","index","RenderEntity"],"mappings":"oYAuBO,MAAMA,EAAa,CAAC,CAAE,SAAAC,EAAU,KAAAC,EAAM,QAAAC,EAAS,iBAAAC,KAAwC,CAC5F,KAAM,CAACC,EAAWC,CAAY,EAAIC,EAAS,CAAC,EAEtCC,EAAgBC,EACpB,IACEP,GAAM,IAAKQ,IAAS,CAClB,QAASA,EAAI,QACb,WAAYA,EAAI,UAAA,EAChB,GAAK,CAAA,EACT,CAACR,CAAI,CAAA,EAGP,GAAI,CAACA,GAAQA,GAAM,SAAW,EAAG,OAAO,KAExC,MAAMS,EAAUT,IAAOG,CAAS,EAAE,QAElC,SACG,UAAA,CAAQ,GAAG,aAAa,eAAa,aAAa,UAAWO,EAAGT,GAAS,IAAI,EAC5E,SAAAU,EAACC,EAAA,CAAoB,UAAWF,EAAGT,GAAS,SAAS,EACnD,SAAA,CAAAY,EAACC,EAAA,CAAQ,UAAWJ,EAAG,kBAAmBT,GAAS,QAAQ,EAAG,GAAG,KAC9D,SAAAF,CAAA,CACH,IACC,MAAA,CAAI,UAAWW,EAAG,yCAA0CT,GAAS,WAAW,EAC/E,SAAAY,EAACE,EAAA,CACC,SAAAhB,EACA,cAAAO,EACA,UAAAH,EACA,aAAAC,EACA,QAASH,GAAS,IAAA,CAAA,EAEtB,EACAY,EAAC,MAAA,CAAI,UAAWH,EAAG,2BAA4BT,GAAS,cAAc,EACnE,SAAAD,IAAOG,CAAS,GAAG,UAAU,IAAI,CAACa,EAAQC,IACzCJ,EAACK,EAAA,CACC,QAAAT,EACA,iBAAAP,EAEC,GAAGc,EACJ,QAASf,GAAS,aAAA,EAFbgB,CAAA,CAIR,CAAA,CACH,CAAA,CAAA,CACF,CAAA,CACF,CAEJ"}
@@ -1,2 +1,2 @@
1
- import{jsx as a}from"react/jsx-runtime";import{cn as l}from"../../../shared/utils/cn.js";const m=({tabsShortInfo:o,activeTab:d,setActiveTab:i,classes:r})=>a("div",{className:l("hidden-scroll flex items-center gap-4 overflow-x-auto",r?.tabs),children:o&&o.map((e,t)=>a("button",{"aria-label":e.tabName,"data-layer-id":e?.dataLayers?.targetId,onClick:()=>i(t),className:l("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":d===t},r?.button),children:e.tabName},e.tabName))});export{m as Tabs};
1
+ import{jsx as a}from"react/jsx-runtime";import{cn as l}from"../../../shared/utils/cn.js";import{pushToDL as s}from"../../../shared/dataLayers/pushToDL.js";const b=({tabsShortInfo:t,activeTab:n,setActiveTab:c,classes:r,headline:i})=>{const m=(e,o)=>{c(o),s({event:"buttonClick",name:e,eventCategory:"click_block",eventAction:i,placement:"usefulInfo"})};return a("div",{className:l("hidden-scroll flex items-center gap-4 overflow-x-auto",r?.tabs),children:t&&t.map((e,o)=>a("button",{"aria-label":e.tabName,"data-layer-id":e?.dataLayers?.targetId,onClick:()=>m(e.tabName,o),className:l("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":n===o},r?.button),children:e.tabName},e.tabName))})};export{b as Tabs};
2
2
  //# sourceMappingURL=Tabs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.js","sources":["../../../../../lib/widgets/usefulInfo/ui/Tabs.tsx"],"sourcesContent":["import type { Dispatch, SetStateAction } from 'react'\nimport { type UsefulInfoTab } from '../model'\nimport { cn } from '$/shared/utils'\n\nexport type TabsClasses = {\n tabs?: string\n button?: string\n}\n\ntype TabsShortInfo = Pick<UsefulInfoTab, 'tabName' | 'dataLayers'> & {}\n\nexport interface TabsProps {\n tabsShortInfo?: TabsShortInfo[]\n activeTab?: number\n setActiveTab: Dispatch<SetStateAction<number>>\n classes?: TabsClasses\n}\n\nexport const Tabs = ({ tabsShortInfo, activeTab, setActiveTab, classes }: TabsProps) => {\n return (\n <div className={cn('hidden-scroll flex items-center gap-4 overflow-x-auto', classes?.tabs)}>\n {tabsShortInfo &&\n tabsShortInfo.map((tab, tabIndex) => (\n <button\n aria-label={tab.tabName}\n key={tab.tabName}\n data-layer-id={tab?.dataLayers?.targetId}\n onClick={() => setActiveTab(tabIndex)}\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 {\n 'bg-icon-primary-default text-color-white': activeTab === tabIndex\n },\n classes?.button\n )}\n >\n {tab.tabName}\n </button>\n ))}\n </div>\n )\n}\n"],"names":["Tabs","tabsShortInfo","activeTab","setActiveTab","classes","jsx","cn","tab","tabIndex"],"mappings":"yFAkBO,MAAMA,EAAO,CAAC,CAAE,cAAAC,EAAe,UAAAC,EAAW,aAAAC,EAAc,QAAAC,KAE3DC,EAAC,MAAA,CAAI,UAAWC,EAAG,wDAAyDF,GAAS,IAAI,EACtF,SAAAH,GACCA,EAAc,IAAI,CAACM,EAAKC,IACtBH,EAAC,SAAA,CACC,aAAYE,EAAI,QAEhB,gBAAeA,GAAK,YAAY,SAChC,QAAS,IAAMJ,EAAaK,CAAQ,EACpC,UAAWF,EACT,qOACA,CACE,2CAA4CJ,IAAcM,CAAA,EAE5DJ,GAAS,MAAA,EAGV,SAAAG,EAAI,OAAA,EAXAA,EAAI,OAAA,CAaZ,EACL"}
1
+ {"version":3,"file":"Tabs.js","sources":["../../../../../lib/widgets/usefulInfo/ui/Tabs.tsx"],"sourcesContent":["import type { Dispatch, SetStateAction } from 'react'\nimport { pushToDL } from '../../../shared/dataLayers'\nimport { type UsefulInfoTab } from '../model'\nimport { cn } from '$/shared/utils'\n\nexport type TabsClasses = {\n tabs?: string\n button?: string\n}\n\ntype TabsShortInfo = Pick<UsefulInfoTab, 'tabName' | 'dataLayers'> & {}\n\nexport interface TabsProps {\n tabsShortInfo?: TabsShortInfo[]\n activeTab?: number\n setActiveTab: Dispatch<SetStateAction<number>>\n classes?: TabsClasses\n headline: string\n}\n\nexport const Tabs = ({ tabsShortInfo, activeTab, setActiveTab, classes, headline }: TabsProps) => {\n const handleClick = (tabName: string, tabIndex: number) => {\n setActiveTab(tabIndex)\n\n pushToDL({\n event: 'buttonClick',\n name: tabName,\n eventCategory: 'click_block',\n eventAction: headline,\n placement: 'usefulInfo'\n })\n }\n\n return (\n <div className={cn('hidden-scroll flex items-center gap-4 overflow-x-auto', classes?.tabs)}>\n {tabsShortInfo &&\n tabsShortInfo.map((tab, tabIndex) => (\n <button\n aria-label={tab.tabName}\n key={tab.tabName}\n data-layer-id={tab?.dataLayers?.targetId}\n onClick={() => handleClick(tab.tabName, tabIndex)}\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 {\n 'bg-icon-primary-default text-color-white': activeTab === tabIndex\n },\n classes?.button\n )}\n >\n {tab.tabName}\n </button>\n ))}\n </div>\n )\n}\n"],"names":["Tabs","tabsShortInfo","activeTab","setActiveTab","classes","headline","handleClick","tabName","tabIndex","pushToDL","jsx","cn","tab"],"mappings":"2JAoBO,MAAMA,EAAO,CAAC,CAAE,cAAAC,EAAe,UAAAC,EAAW,aAAAC,EAAc,QAAAC,EAAS,SAAAC,KAA0B,CAChG,MAAMC,EAAc,CAACC,EAAiBC,IAAqB,CACzDL,EAAaK,CAAQ,EAErBC,EAAS,CACP,MAAO,cACP,KAAMF,EACN,cAAe,cACf,YAAaF,EACb,UAAW,YAAA,CACZ,CACH,EAEA,OACEK,EAAC,MAAA,CAAI,UAAWC,EAAG,wDAAyDP,GAAS,IAAI,EACtF,SAAAH,GACCA,EAAc,IAAI,CAACW,EAAKJ,IACtBE,EAAC,SAAA,CACC,aAAYE,EAAI,QAEhB,gBAAeA,GAAK,YAAY,SAChC,QAAS,IAAMN,EAAYM,EAAI,QAASJ,CAAQ,EAChD,UAAWG,EACT,qOACA,CACE,2CAA4CT,IAAcM,CAAA,EAE5DJ,GAAS,MAAA,EAGV,SAAAQ,EAAI,OAAA,EAXAA,EAAI,OAAA,CAaZ,EACL,CAEJ"}