@scbt-ecom/ui 0.160.1 → 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.
- package/dist/lib/global.d.js +2 -0
- package/dist/lib/global.d.js.map +1 -0
- package/dist/lib/shared/dataLayers/index.js +2 -0
- package/dist/lib/shared/dataLayers/index.js.map +1 -0
- package/dist/lib/shared/dataLayers/pushToDL.js +2 -0
- package/dist/lib/shared/dataLayers/pushToDL.js.map +1 -0
- package/dist/lib/shared/ui/accordion/Accordion.js +1 -1
- package/dist/lib/shared/ui/accordion/Accordion.js.map +1 -1
- package/dist/lib/shared/ui/accordion/ui/AccordionHeader.js +1 -1
- package/dist/lib/shared/ui/accordion/ui/AccordionHeader.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/model/helpers.js +2 -2
- package/dist/lib/widgets/model/helpers.js.map +1 -1
- package/dist/lib/widgets/seoHeader/model/dataLayers.js +2 -0
- package/dist/lib/widgets/seoHeader/model/dataLayers.js.map +1 -0
- package/dist/lib/widgets/seoHeader/model/index.js +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/usefulInfo/UsefulInfo.js +1 -1
- package/dist/lib/widgets/usefulInfo/UsefulInfo.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/model/index.js +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/RenderEntity.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/RenderEntity.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/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/stats.html +1 -1
- package/dist/types/lib/shared/dataLayers/index.d.ts +1 -0
- package/dist/types/lib/shared/dataLayers/pushToDL.d.ts +9 -0
- package/dist/types/lib/shared/ui/accordion/Accordion.d.ts +2 -0
- package/dist/types/lib/shared/ui/accordion/ui/AccordionHeader.d.ts +1 -0
- package/dist/types/lib/widgets/seoHeader/model/dataLayers.d.ts +1 -0
- package/dist/types/lib/widgets/seoHeader/model/index.d.ts +1 -0
- package/dist/types/lib/widgets/usefulInfo/model/types.d.ts +3 -0
- package/dist/types/lib/widgets/usefulInfo/model/utils.d.ts +1 -0
- package/dist/types/lib/widgets/usefulInfo/ui/RenderEntity.d.ts +2 -1
- package/dist/types/lib/widgets/usefulInfo/ui/Tabs.d.ts +2 -1
- package/dist/types/lib/widgets/usefulInfo/ui/subEntities/documents/Documents.d.ts +3 -3
- package/dist/types/lib/widgets/usefulInfo/ui/subEntities/experts/Experts.d.ts +4 -4
- package/dist/types/lib/widgets/usefulInfo/ui/subEntities/html/Html.d.ts +3 -3
- package/dist/types/lib/widgets/usefulInfo/ui/subEntities/table/Table.d.ts +3 -3
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as
|
|
1
|
+
import{jsxs as a,jsx as l}from"react/jsx-runtime";import{useState as x,useMemo as h}from"react";import{motion as w}from"framer-motion";import{MenuItem as N}from"./MenuItem.js";import{cn as v}from"../../../../../shared/utils/cn.js";import{TypeGuards as c}from"../../../../../shared/utils/typeGuards.js";import{Combobox as y}from"../../../../../shared/ui/formElements/uncontrolled/combobox/combobox.js";import{pushToDlLink as o}from"../../../model/dataLayers.js";import{Icon as m}from"../../../../../shared/ui/icon/Icon.js";const k=i=>i.map(t=>({value:t.title??"",label:t.title??""})),I=({categories:i,helpers:t,phone:n,...f})=>{const s=k(i),[r,d]=x(s[0]),u=e=>{c.isUndefined(e)||c.isArray(e)||d(e)},p=h(()=>r?i.find(e=>e.title===r.value)?.children??[]:[],[r,i]);return a(w.div,{...f,className:v("fixed z-10 h-full w-full max-w-[calc(636px-32px)]","absolute left-1/2 top-full bg-color-white p-4","-translate-x-1/2 overflow-x-hidden","flex flex-col items-center justify-start gap-y-4"),initial:{opacity:0},animate:{opacity:1},children:[l(y,{multiple:!1,label:"Категория",options:s,value:r,onChange:u}),l("div",{className:"flex w-full flex-col items-center justify-center gap-y-1",children:p.map(e=>c.isArrayEmpty(e.children)?l("div",{className:"w-full px-4 py-2.5",children:l("a",{onPointerDown:()=>o(e?.title,e.link?.href),href:e.link?.href,className:"desk-body-regular-m inline-block w-full",children:e.title})},e.title):l(N,{category:e},e.title))}),l("div",{className:"h-[1px] w-full bg-color-blue-grey-200"}),a("div",{className:"flex w-full flex-col items-center justify-center gap-y-1",children:[t.map(e=>l("div",{className:"w-full px-4 py-2.5",children:a("a",{onPointerDown:()=>o(e.title,e.link.href),href:e.link?.href,className:"flex w-full items-center gap-x-1",children:[e.link?.icon&&l(m,{name:e.link.icon,className:"size-4"}),e.title]})},e.title)),l("div",{className:"w-full px-4 py-2.5",children:a("a",{onPointerDown:()=>o(n,`tel:${n}`),href:`tel:${n}`,className:"flex w-full items-center gap-x-1",children:[l(m,{name:"communication/phone",className:"size-4"}),n]})})]})]})};export{I as Menu};
|
|
2
2
|
//# sourceMappingURL=Menu.js.map
|
|
@@ -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
|
|
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
|
|
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}
|
|
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
|
|
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 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
|
|
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{isDocuments as i,isExperts as
|
|
1
|
+
import{isDocuments as i,isExperts as e,isHtml as m,isTable as o,subEntityDL as r}from"./utils.js";export{i as isDocuments,e as isExperts,m as isHtml,o as isTable,r as subEntityDL};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const
|
|
1
|
+
import{pushToDL as e}from"../../../shared/dataLayers/pushToDL.js";const o=t=>t.variant==="HTML",s=t=>t.variant==="DOCUMENTS",i=t=>t.variant==="TABLE",a=t=>t.variant==="EXPERTS",c=(t,n)=>{e({event:"buttonClick",name:t,eventCategory:"click_block",eventAction:n,placement:"usefulInfo"})};export{s as isDocuments,a as isExperts,o as isHtml,i as isTable,c as subEntityDL};
|
|
2
2
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../../../lib/widgets/usefulInfo/model/utils.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../../lib/widgets/usefulInfo/model/utils.ts"],"sourcesContent":["import { pushToDL } from '../../../shared/dataLayers'\nimport { type Entity } from './types'\n\nexport const isHtml = (entity: Entity): entity is Entity<'HTML'> => {\n return entity.variant === 'HTML'\n}\n\nexport const isDocuments = (entity: Entity): entity is Entity<'DOCUMENTS'> => {\n return entity.variant === 'DOCUMENTS'\n}\n\nexport const isTable = (entity: Entity): entity is Entity<'TABLE'> => {\n return entity.variant === 'TABLE'\n}\n\nexport const isExperts = (entity: Entity): entity is Entity<'EXPERTS'> => {\n return entity.variant === 'EXPERTS'\n}\n\nexport const subEntityDL = (accordionTitle: string | undefined, tabName: string | undefined) => {\n pushToDL({\n event: 'buttonClick',\n name: accordionTitle,\n eventCategory: 'click_block',\n eventAction: tabName,\n placement: 'usefulInfo'\n })\n}\n"],"names":["isHtml","entity","isDocuments","isTable","isExperts","subEntityDL","accordionTitle","tabName","pushToDL"],"mappings":"kEAGO,MAAMA,EAAUC,GACdA,EAAO,UAAY,OAGfC,EAAeD,GACnBA,EAAO,UAAY,YAGfE,EAAWF,GACfA,EAAO,UAAY,QAGfG,EAAaH,GACjBA,EAAO,UAAY,UAGfI,EAAc,CAACC,EAAoCC,IAAgC,CAC9FC,EAAS,CACP,MAAO,cACP,KAAMF,EACN,cAAe,cACf,YAAaC,EACb,UAAW,YAAA,CACZ,CACH"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as c}from"react/jsx-runtime";import{cn as m}from"../../../shared/utils/cn.js";import{isExperts as n,isTable as l,isDocuments as p,isHtml as a}from"../model/utils.js";import{Experts as d}from"./subEntities/experts/Experts.js";import{Table as u}from"./subEntities/table/Table.js";import{Documents as f}from"./subEntities/documents/Documents.js";import{Html as x}from"./subEntities/html/Html.js";const h=({entity:r,classes:e,accordionsConfig:i,tabName:s})=>{switch(!0){case a(r):return r.details?.map((t,o)=>c(x,{...t,tabName:s,accordionConfig:i?.htmlAccordion,classes:e?.entities?.html},o));case p(r):return r.details?.map((t,o)=>c(f,{accordionConfig:i?.documentAccordion,...t,tabName:s,classes:e?.entities?.documents},o));case l(r):return r.details?.map((t,o)=>c(u,{accordionConfig:i?.tableAccordion,...t,tabName:s,classes:e?.entities?.table},o));case n(r):return r.details?.map((t,o)=>c(d,{accordionConfig:i?.expertsAccordion,...t,tabName:s,classes:e?.entities?.experts},o));default:return null}},j=({entity:r,classes:e,accordionsConfig:i,tabName:s})=>c("div",{className:m("flex flex-col gap-8",e?.entityWrapper),children:h({entity:r,classes:e,accordionsConfig:i,tabName:s})});export{j as RenderEntity};
|
|
2
2
|
//# sourceMappingURL=RenderEntity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderEntity.js","sources":["../../../../../lib/widgets/usefulInfo/ui/RenderEntity.tsx"],"sourcesContent":["import { type EntitiesAccordionsConfig, type Entity, isDocuments, isExperts, isHtml, isTable } from '../model'\nimport {\n Documents,\n type EntityDocumentsClasses,\n type EntityExpertsClasses,\n type EntityHtmlClasses,\n type EntityTableClasses,\n Experts,\n Html,\n Table\n} from './subEntities'\nimport { cn } from '$/shared/utils'\n\nexport type EntityClasses = {\n entityWrapper?: string\n entities?: {\n html?: EntityHtmlClasses\n documents?: EntityDocumentsClasses\n table?: EntityTableClasses\n experts?: EntityExpertsClasses\n }\n}\n\nexport interface RenderEntityProps {\n entity: Entity\n classes?: EntityClasses\n accordionsConfig?: EntitiesAccordionsConfig\n}\n\nconst renderEntity = ({ entity, classes, accordionsConfig }: RenderEntityProps) => {\n switch (true) {\n case isHtml(entity):\n return entity.details?.map((htmlDetails, index) => (\n <Html
|
|
1
|
+
{"version":3,"file":"RenderEntity.js","sources":["../../../../../lib/widgets/usefulInfo/ui/RenderEntity.tsx"],"sourcesContent":["import { type EntitiesAccordionsConfig, type Entity, isDocuments, isExperts, isHtml, isTable } from '../model'\nimport {\n Documents,\n type EntityDocumentsClasses,\n type EntityExpertsClasses,\n type EntityHtmlClasses,\n type EntityTableClasses,\n Experts,\n Html,\n Table\n} from './subEntities'\nimport { cn } from '$/shared/utils'\n\nexport type EntityClasses = {\n entityWrapper?: string\n entities?: {\n html?: EntityHtmlClasses\n documents?: EntityDocumentsClasses\n table?: EntityTableClasses\n experts?: EntityExpertsClasses\n }\n}\n\nexport interface RenderEntityProps {\n entity: Entity\n classes?: EntityClasses\n accordionsConfig?: EntitiesAccordionsConfig\n tabName: string | undefined\n}\n\nconst renderEntity = ({ entity, classes, accordionsConfig, tabName }: RenderEntityProps) => {\n switch (true) {\n case isHtml(entity):\n return entity.details?.map((htmlDetails, index) => (\n <Html\n key={index}\n {...htmlDetails}\n tabName={tabName}\n accordionConfig={accordionsConfig?.htmlAccordion}\n classes={classes?.entities?.html}\n />\n ))\n\n case isDocuments(entity):\n return entity.details?.map((documentsDetails, index) => (\n <Documents\n key={index}\n accordionConfig={accordionsConfig?.documentAccordion}\n {...documentsDetails}\n tabName={tabName}\n classes={classes?.entities?.documents}\n />\n ))\n\n case isTable(entity):\n return entity.details?.map((tableDetails, index) => (\n <Table\n key={index}\n accordionConfig={accordionsConfig?.tableAccordion}\n {...tableDetails}\n tabName={tabName}\n classes={classes?.entities?.table}\n />\n ))\n\n case isExperts(entity):\n return entity.details?.map((expertsDetails, index) => (\n <Experts\n key={index}\n accordionConfig={accordionsConfig?.expertsAccordion}\n {...expertsDetails}\n tabName={tabName}\n classes={classes?.entities?.experts}\n />\n ))\n\n default:\n return null\n }\n}\n\nexport const RenderEntity = ({ entity, classes, accordionsConfig, tabName }: RenderEntityProps) => {\n return (\n <div className={cn('flex flex-col gap-8', classes?.entityWrapper)}>\n {renderEntity({ entity, classes, accordionsConfig, tabName })}\n </div>\n )\n}\n"],"names":["renderEntity","entity","classes","accordionsConfig","tabName","isHtml","htmlDetails","index","jsx","Html","isDocuments","documentsDetails","Documents","isTable","tableDetails","Table","isExperts","expertsDetails","Experts","RenderEntity","cn"],"mappings":"oZA8BA,MAAMA,EAAe,CAAC,CAAE,OAAAC,EAAQ,QAAAC,EAAS,iBAAAC,EAAkB,QAAAC,KAAiC,CAC1F,OAAQ,GAAA,CACN,KAAKC,EAAOJ,CAAM,EAChB,OAAOA,EAAO,SAAS,IAAI,CAACK,EAAaC,IACvCC,EAACC,EAAA,CAEE,GAAGH,EACJ,QAAAF,EACA,gBAAiBD,GAAkB,cACnC,QAASD,GAAS,UAAU,IAAA,EAJvBK,CAAA,CAMR,EAEH,KAAKG,EAAYT,CAAM,EACrB,OAAOA,EAAO,SAAS,IAAI,CAACU,EAAkBJ,IAC5CC,EAACI,EAAA,CAEC,gBAAiBT,GAAkB,kBAClC,GAAGQ,EACJ,QAAAP,EACA,QAASF,GAAS,UAAU,SAAA,EAJvBK,CAAA,CAMR,EAEH,KAAKM,EAAQZ,CAAM,EACjB,OAAOA,EAAO,SAAS,IAAI,CAACa,EAAcP,IACxCC,EAACO,EAAA,CAEC,gBAAiBZ,GAAkB,eAClC,GAAGW,EACJ,QAAAV,EACA,QAASF,GAAS,UAAU,KAAA,EAJvBK,CAAA,CAMR,EAEH,KAAKS,EAAUf,CAAM,EACnB,OAAOA,EAAO,SAAS,IAAI,CAACgB,EAAgBV,IAC1CC,EAACU,EAAA,CAEC,gBAAiBf,GAAkB,iBAClC,GAAGc,EACJ,QAAAb,EACA,QAASF,GAAS,UAAU,OAAA,EAJvBK,CAAA,CAMR,EAEH,QACE,OAAO,IAAA,CAEb,EAEaY,EAAe,CAAC,CAAE,OAAAlB,EAAQ,QAAAC,EAAS,iBAAAC,EAAkB,QAAAC,KAE9DI,EAAC,MAAA,CAAI,UAAWY,EAAG,sBAAuBlB,GAAS,aAAa,EAC7D,SAAAF,EAAa,CAAE,OAAAC,EAAQ,QAAAC,EAAS,iBAAAC,EAAkB,QAAAC,CAAA,CAAS,EAC9D"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as a}from"react/jsx-runtime";import{cn as l}from"../../../shared/utils/cn.js";const
|
|
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={() =>
|
|
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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as
|
|
1
|
+
import{jsxs as h,jsx as e,Fragment as x}from"react/jsx-runtime";import{cn as l}from"../../../../../shared/utils/cn.js";import{Document as u}from"./ui/document/Document.js";import{Heading as f}from"../../../../../shared/ui/heading/Heading.js";import{Accordion as b}from"../../../../../shared/ui/accordion/Accordion.js";import{subEntityDL as D}from"../../../model/utils.js";const y=({docs:a,config:r,title:m,iconType:d,description:n,classes:o,accordionConfig:c,tabName:s})=>{const t=h("div",{className:l("flex max-w-[680px] flex-col",o?.wrapper),children:[m&&e(f,{as:"h4",className:"mb-4",children:m}),e("div",{className:l("flex flex-col gap-4",o?.documentsWrapper),children:a?.map(i=>e(u,{iconType:d,...i,classes:o?.singleDocument},i.label))}),n&&e("div",{className:l("mt-4",o?.description),dangerouslySetInnerHTML:{__html:n??""}})]}),p=()=>{D(r?.accordionTitle,s)};return e(x,{children:r&&r?.isAccordion&&r?.accordionTitle?e(b,{onClick:p,label:r?.accordionTitle,...c,children:c?.children||t}):t})};export{y as Documents};
|
|
2
2
|
//# sourceMappingURL=Documents.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Documents.js","sources":["../../../../../../../lib/widgets/usefulInfo/ui/subEntities/documents/Documents.tsx"],"sourcesContent":["import { Accordion, Heading } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\nimport {
|
|
1
|
+
{"version":3,"file":"Documents.js","sources":["../../../../../../../lib/widgets/usefulInfo/ui/subEntities/documents/Documents.tsx"],"sourcesContent":["import { Accordion, Heading } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\nimport {\n type EntitiesAccordionsConfig,\n type SubEntityDetailsCommon,\n type SubEntityDetailsConfig,\n subEntityDL\n} from '$/widgets/usefulInfo/model'\nimport { Document, type DocumentClasses } from '$/widgets/usefulInfo/ui/subEntities/documents/ui/document'\n\nexport type EntityDocumentsClasses = {\n wrapper?: string\n headline?: string\n documentsWrapper?: string\n description?: string\n singleDocument?: DocumentClasses\n}\n\nexport type EntityDocumentsProps = SubEntityDetailsCommon & {\n iconType: 'documentOutline' | 'documentFilled'\n title?: string\n description?: string\n docs: {\n url: string\n size: string\n label: string\n }[]\n config?: SubEntityDetailsConfig\n classes?: EntityDocumentsClasses\n accordionConfig?: EntitiesAccordionsConfig['documentAccordion']\n}\n\nexport const Documents = ({\n docs,\n config,\n title,\n iconType,\n description,\n classes,\n accordionConfig,\n tabName\n}: EntityDocumentsProps) => {\n const content = (\n <div className={cn('flex max-w-[680px] flex-col', classes?.wrapper)}>\n {title && (\n <Heading as='h4' className='mb-4'>\n {title}\n </Heading>\n )}\n <div className={cn('flex flex-col gap-4', classes?.documentsWrapper)}>\n {docs?.map((doc) => (\n <Document iconType={iconType} key={doc.label} {...doc} classes={classes?.singleDocument} />\n ))}\n </div>\n\n {description && (\n <div className={cn('mt-4', classes?.description)} dangerouslySetInnerHTML={{ __html: description ?? '' }} />\n )}\n </div>\n )\n\n const handleClick = () => {\n subEntityDL(config?.accordionTitle, tabName)\n }\n\n return (\n <>\n {config && config?.isAccordion && config?.accordionTitle ? (\n <Accordion onClick={handleClick} label={config?.accordionTitle} {...accordionConfig}>\n {accordionConfig?.children || content}\n </Accordion>\n ) : (\n content\n )}\n </>\n )\n}\n"],"names":["Documents","docs","config","title","iconType","description","classes","accordionConfig","tabName","content","cn","Heading","jsx","doc","Document","handleClick","subEntityDL","Accordion"],"mappings":"oXAgCO,MAAMA,EAAY,CAAC,CACxB,KAAAC,EACA,OAAAC,EACA,MAAAC,EACA,SAAAC,EACA,YAAAC,EACA,QAAAC,EACA,gBAAAC,EACA,QAAAC,CACF,IAA4B,CAC1B,MAAMC,IACH,MAAA,CAAI,UAAWC,EAAG,8BAA+BJ,GAAS,OAAO,EAC/D,SAAA,CAAAH,KACEQ,EAAA,CAAQ,GAAG,KAAK,UAAU,OACxB,SAAAR,EACH,EAEFS,EAAC,OAAI,UAAWF,EAAG,sBAAuBJ,GAAS,gBAAgB,EAChE,SAAAL,GAAM,IAAKY,GACVD,EAACE,EAAA,CAAS,SAAAV,EAAqC,GAAGS,EAAK,QAASP,GAAS,gBAAtCO,EAAI,KAAkD,CAC1F,CAAA,CACH,EAECR,GACCO,EAAC,MAAA,CAAI,UAAWF,EAAG,OAAQJ,GAAS,WAAW,EAAG,wBAAyB,CAAE,OAAQD,GAAe,GAAG,CAAG,CAAA,EAE9G,EAGIU,EAAc,IAAM,CACxBC,EAAYd,GAAQ,eAAgBM,CAAO,CAC7C,EAEA,YAEK,SAAAN,GAAUA,GAAQ,aAAeA,GAAQ,iBACvCe,EAAA,CAAU,QAASF,EAAa,MAAOb,GAAQ,eAAiB,GAAGK,EACjE,YAAiB,UAAYE,EAChC,EAEAA,CAAA,CAEJ,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as
|
|
1
|
+
import{jsxs as p,jsx as e,Fragment as s}from"react/jsx-runtime";import{cn as i}from"../../../../../shared/utils/cn.js";import{ExpertCard as x}from"./ui/ExpertCard.js";import{Heading as h}from"../../../../../shared/ui/heading/Heading.js";import{Accordion as f}from"../../../../../shared/ui/accordion/Accordion.js";import{subEntityDL as C}from"../../../model/utils.js";const u=({expertsList:m,classes:o,accordionConfig:l,config:r,headline:t,tabName:a})=>{const c=p("div",{className:i("flex flex-col gap-4",o?.root),children:[t&&e(h,{className:i(o?.headline),as:"h4",children:t}),e("div",{className:i("flex flex-col gap-6",o?.wrapper),children:m?.map(n=>e(x,{classes:o?.singleCard,...n},n.name))})]}),d=()=>{C(r?.accordionTitle,a)};return e(s,{children:r&&r?.isAccordion&&r?.accordionTitle?e(f,{onClick:d,label:r?.accordionTitle,...l,children:l?.children??c}):c})};export{u as Experts};
|
|
2
2
|
//# sourceMappingURL=Experts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Experts.js","sources":["../../../../../../../lib/widgets/usefulInfo/ui/subEntities/experts/Experts.tsx"],"sourcesContent":["import { Accordion, Heading } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\nimport {
|
|
1
|
+
{"version":3,"file":"Experts.js","sources":["../../../../../../../lib/widgets/usefulInfo/ui/subEntities/experts/Experts.tsx"],"sourcesContent":["import { Accordion, Heading } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\nimport {\n type EntitiesAccordionsConfig,\n type SubEntityDetailsCommon,\n type SubEntityDetailsConfig,\n subEntityDL\n} from '$/widgets/usefulInfo/model'\nimport { ExpertCard, type ExpertCardClasses, type ExpertCardProps } from '$/widgets/usefulInfo/ui/subEntities/experts/ui'\n\nexport type EntityExpertsClasses = {\n root?: string\n headline?: string\n wrapper?: string\n singleCard?: ExpertCardClasses\n}\n\nexport type EntityExpertsProps = SubEntityDetailsCommon & {\n headline?: string\n expertsList: ExpertCardProps[]\n config?: SubEntityDetailsConfig\n classes?: EntityExpertsClasses\n accordionConfig?: EntitiesAccordionsConfig['expertsAccordion']\n}\n\nexport const Experts = ({ expertsList, classes, accordionConfig, config, headline, tabName }: EntityExpertsProps) => {\n const content = (\n <div className={cn('flex flex-col gap-4', classes?.root)}>\n {headline && (\n <Heading className={cn(classes?.headline)} as='h4'>\n {headline}\n </Heading>\n )}\n <div className={cn('flex flex-col gap-6', classes?.wrapper)}>\n {expertsList?.map((card) => (\n <ExpertCard key={card.name} classes={classes?.singleCard} {...card} />\n ))}\n </div>\n </div>\n )\n\n const handleClick = () => {\n subEntityDL(config?.accordionTitle, tabName)\n }\n\n return (\n <>\n {config && config?.isAccordion && config?.accordionTitle ? (\n <Accordion onClick={handleClick} label={config?.accordionTitle} {...accordionConfig}>\n {accordionConfig?.children ?? content}\n </Accordion>\n ) : (\n content\n )}\n </>\n )\n}\n"],"names":["Experts","expertsList","classes","accordionConfig","config","headline","tabName","content","cn","jsx","Heading","card","ExpertCard","handleClick","subEntityDL","Accordion"],"mappings":"+WAyBO,MAAMA,EAAU,CAAC,CAAE,YAAAC,EAAa,QAAAC,EAAS,gBAAAC,EAAiB,OAAAC,EAAQ,SAAAC,EAAU,QAAAC,KAAkC,CACnH,MAAMC,IACH,MAAA,CAAI,UAAWC,EAAG,sBAAuBN,GAAS,IAAI,EACpD,SAAA,CAAAG,GACCI,EAACC,GAAQ,UAAWF,EAAGN,GAAS,QAAQ,EAAG,GAAG,KAC3C,SAAAG,CAAA,CACH,EAEFI,EAAC,OAAI,UAAWD,EAAG,sBAAuBN,GAAS,OAAO,EACvD,SAAAD,GAAa,IAAKU,GACjBF,EAACG,EAAA,CAA2B,QAASV,GAAS,WAAa,GAAGS,CAAA,EAA7CA,EAAK,IAA8C,CACrE,CAAA,CACH,CAAA,EACF,EAGIE,EAAc,IAAM,CACxBC,EAAYV,GAAQ,eAAgBE,CAAO,CAC7C,EAEA,YAEK,SAAAF,GAAUA,GAAQ,aAAeA,GAAQ,iBACvCW,EAAA,CAAU,QAASF,EAAa,MAAOT,GAAQ,eAAiB,GAAGD,EACjE,YAAiB,UAAYI,EAChC,EAEAA,CAAA,CAEJ,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as r,Fragment as m}from"react/jsx-runtime";import{cn as d}from"../../../../../shared/utils/cn.js";import{subEntityDL as a}from"../../../model/utils.js";import{Accordion as h}from"../../../../../shared/ui/accordion/Accordion.js";const T=({html:o,config:t,classes:l,accordionConfig:n,tabName:i})=>{const e=r("div",{className:d("leading-none max-w-[656px] [&_h2]:pb-2 [&_h2]:pt-4 [&_h2]:leading-[1]",l?.html),dangerouslySetInnerHTML:{__html:o??""}}),c=()=>{a(t?.accordionTitle,i)};return r(m,{children:t&&t?.isAccordion&&t?.accordionTitle?r(h,{onClick:c,label:t?.accordionTitle,...n,children:n?.children??e}):e})};export{T as Html};
|
|
2
2
|
//# sourceMappingURL=Html.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Html.js","sources":["../../../../../../../lib/widgets/usefulInfo/ui/subEntities/html/Html.tsx"],"sourcesContent":["import { Accordion } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\nimport {
|
|
1
|
+
{"version":3,"file":"Html.js","sources":["../../../../../../../lib/widgets/usefulInfo/ui/subEntities/html/Html.tsx"],"sourcesContent":["import { Accordion } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\nimport {\n type EntitiesAccordionsConfig,\n type SubEntityDetailsCommon,\n type SubEntityDetailsConfig,\n subEntityDL\n} from '$/widgets/usefulInfo/model'\n\nexport type EntityHtmlClasses = {\n html?: string\n}\n\nexport type EntityHtmlProps = SubEntityDetailsCommon & {\n html: string\n config?: SubEntityDetailsConfig\n classes?: EntityHtmlClasses\n accordionConfig?: EntitiesAccordionsConfig['htmlAccordion']\n}\n\nexport const Html = ({ html, config, classes, accordionConfig, tabName }: EntityHtmlProps) => {\n const content = (\n <div\n className={cn('leading-none max-w-[656px] [&_h2]:pb-2 [&_h2]:pt-4 [&_h2]:leading-[1]', classes?.html)}\n dangerouslySetInnerHTML={{ __html: html ?? '' }}\n />\n )\n\n const handleClick = () => {\n subEntityDL(config?.accordionTitle, tabName)\n }\n\n return (\n <>\n {config && config?.isAccordion && config?.accordionTitle ? (\n <Accordion onClick={handleClick} label={config?.accordionTitle} {...accordionConfig}>\n {accordionConfig?.children ?? content}\n </Accordion>\n ) : (\n content\n )}\n </>\n )\n}\n"],"names":["Html","html","config","classes","accordionConfig","tabName","content","jsx","cn","handleClick","subEntityDL","Accordion"],"mappings":"+OAoBO,MAAMA,EAAO,CAAC,CAAE,KAAAC,EAAM,OAAAC,EAAQ,QAAAC,EAAS,gBAAAC,EAAiB,QAAAC,KAA+B,CAC5F,MAAMC,EACJC,EAAC,MAAA,CACC,UAAWC,EAAG,wEAAyEL,GAAS,IAAI,EACpG,wBAAyB,CAAE,OAAQF,GAAQ,EAAA,CAAG,CAAA,EAI5CQ,EAAc,IAAM,CACxBC,EAAYR,GAAQ,eAAgBG,CAAO,CAC7C,EAEA,YAEK,SAAAH,GAAUA,GAAQ,aAAeA,GAAQ,iBACvCS,EAAA,CAAU,QAASF,EAAa,MAAOP,GAAQ,eAAiB,GAAGE,EACjE,YAAiB,UAAYE,EAChC,EAEAA,CAAA,CAEJ,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as
|
|
1
|
+
import{jsxs as b,jsx as e,Fragment as T}from"react/jsx-runtime";import{tableConfig as k}from"./model/utils.js";import{TableBody as y}from"./ui/TableBody.js";import{cn as t}from"../../../../../shared/utils/cn.js";import{Heading as f}from"../../../../../shared/ui/heading/Heading.js";import{Accordion as u}from"../../../../../shared/ui/accordion/Accordion.js";import{subEntityDL as x}from"../../../model/utils.js";const _=({tableVariant:a,description:m,columnsVariant:i,config:r,rows:c,title:d,headings:p,accordionConfig:l,classes:o,tabName:s})=>{const n=b("div",{className:t(k({columnsVariant:i}),o?.wrapper),children:[d&&e(f,{as:"h4",className:t("mb-4 desktop:mb-6",o?.headline),children:d}),e(y,{tableVariant:a,rows:c,headings:p,columnsVariant:i}),m&&e("div",{className:t("mt-4 [&&]:desk-body-regular-m desktop:mt-6",o?.description),dangerouslySetInnerHTML:{__html:m??""}})]}),h=()=>{x(r?.accordionTitle,s)};return e(T,{children:r&&r?.isAccordion&&r?.accordionTitle?e(u,{onClick:h,label:r?.accordionTitle,...l,children:l?.children||n}):n})};export{_ as Table};
|
|
2
2
|
//# sourceMappingURL=Table.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.js","sources":["../../../../../../../lib/widgets/usefulInfo/ui/subEntities/table/Table.tsx"],"sourcesContent":["import { Accordion, Heading } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\nimport {
|
|
1
|
+
{"version":3,"file":"Table.js","sources":["../../../../../../../lib/widgets/usefulInfo/ui/subEntities/table/Table.tsx"],"sourcesContent":["import { Accordion, Heading } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\nimport {\n type EntitiesAccordionsConfig,\n type SubEntityDetailsCommon,\n type SubEntityDetailsConfig,\n subEntityDL\n} from '$/widgets/usefulInfo/model'\nimport { tableConfig } from '$/widgets/usefulInfo/ui/subEntities/table/model/utils'\nimport { TableBody, type TableBodyClasses } from '$/widgets/usefulInfo/ui/subEntities/table/ui/TableBody'\n\nexport type EntityTableClasses = {\n wrapper?: string\n headline?: string\n description?: string\n tableBody?: TableBodyClasses\n}\n\nexport type TableCell = {\n cell: string\n cellId: string\n}\n\nexport type TableRow = {\n row: TableCell[]\n rowId: string\n}\n\nexport type TableHeading = {\n heading: string\n headingId: string\n}\n\nexport type EntityTableProps = SubEntityDetailsCommon & {\n title?: string\n description?: string\n columnsVariant: 'twoCols' | 'threeCols'\n tableVariant: 'separator' | 'filled'\n headings?: TableHeading[]\n rows: TableRow[]\n config?: SubEntityDetailsConfig\n classes?: EntityTableClasses\n accordionConfig?: EntitiesAccordionsConfig['documentAccordion']\n}\n\nexport const Table = ({\n tableVariant,\n description,\n columnsVariant,\n config,\n rows,\n title,\n headings,\n accordionConfig,\n classes,\n tabName\n}: EntityTableProps) => {\n const content = (\n <div className={cn(tableConfig({ columnsVariant }), classes?.wrapper)}>\n {title && (\n <Heading as='h4' className={cn('mb-4 desktop:mb-6', classes?.headline)}>\n {title}\n </Heading>\n )}\n\n <TableBody tableVariant={tableVariant} rows={rows} headings={headings} columnsVariant={columnsVariant} />\n\n {description && (\n <div\n className={cn('mt-4 [&&]:desk-body-regular-m desktop:mt-6', classes?.description)}\n dangerouslySetInnerHTML={{ __html: description ?? '' }}\n />\n )}\n </div>\n )\n\n const handleClick = () => {\n subEntityDL(config?.accordionTitle, tabName)\n }\n\n return (\n <>\n {config && config?.isAccordion && config?.accordionTitle ? (\n <Accordion onClick={handleClick} label={config?.accordionTitle} {...accordionConfig}>\n {accordionConfig?.children || content}\n </Accordion>\n ) : (\n content\n )}\n </>\n )\n}\n"],"names":["Table","tableVariant","description","columnsVariant","config","rows","title","headings","accordionConfig","classes","tabName","content","jsxs","cn","tableConfig","jsx","Heading","TableBody","handleClick","subEntityDL","Accordion"],"mappings":"4ZA6CO,MAAMA,EAAQ,CAAC,CACpB,aAAAC,EACA,YAAAC,EACA,eAAAC,EACA,OAAAC,EACA,KAAAC,EACA,MAAAC,EACA,SAAAC,EACA,gBAAAC,EACA,QAAAC,EACA,QAAAC,CACF,IAAwB,CACtB,MAAMC,EACJC,EAAC,MAAA,CAAI,UAAWC,EAAGC,EAAY,CAAE,eAAAX,CAAA,CAAgB,EAAGM,GAAS,OAAO,EACjE,SAAA,CAAAH,GACCS,EAACC,EAAA,CAAQ,GAAG,KAAK,UAAWH,EAAG,oBAAqBJ,GAAS,QAAQ,EAClE,SAAAH,CAAA,CACH,EAGFS,EAACE,EAAA,CAAU,aAAAhB,EAA4B,KAAAI,EAAY,SAAAE,EAAoB,eAAAJ,EAAgC,EAEtGD,GACCa,EAAC,MAAA,CACC,UAAWF,EAAG,6CAA8CJ,GAAS,WAAW,EAChF,wBAAyB,CAAE,OAAQP,GAAe,EAAA,CAAG,CAAA,CACvD,EAEJ,EAGIgB,EAAc,IAAM,CACxBC,EAAYf,GAAQ,eAAgBM,CAAO,CAC7C,EAEA,YAEK,SAAAN,GAAUA,GAAQ,aAAeA,GAAQ,iBACvCgB,EAAA,CAAU,QAASF,EAAa,MAAOd,GAAQ,eAAiB,GAAGI,EACjE,YAAiB,UAAYG,EAChC,EAEAA,CAAA,CAEJ,CAEJ"}
|