@scbt-ecom/ui 0.51.0 → 0.51.2
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/{index-714cNgOF.js → index-vcD48ARm.js} +1063 -1062
- package/dist/index-vcD48ARm.js.map +1 -0
- package/dist/shared/ui/badge/Badge.d.ts +2 -2
- package/dist/shared/ui/icon/sprite.gen.d.ts +1 -1
- package/dist/shared/ui/index.d.ts +0 -1
- package/dist/sprites/general.svg +1 -1
- package/dist/ui.js +105 -106
- package/dist/ui.js.map +1 -1
- package/dist/validation.js +26 -26
- package/dist/validation.js.map +1 -1
- package/dist/widget.js +133 -125
- package/dist/widget.js.map +1 -1
- package/package.json +1 -2
- package/dist/index-714cNgOF.js.map +0 -1
- package/dist/shared/ui/section/Section.d.ts +0 -6
- package/dist/shared/ui/section/index.d.ts +0 -1
package/dist/widget.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widget.js","sources":["../lib/widgets/benefit/ui/BenefitItem.tsx","../lib/widgets/benefit/Benefit.tsx","../lib/widgets/header/model/helpers.tsx","../lib/widgets/header/Header.tsx","../lib/widgets/banner/ui/BannerButtonsGroup.tsx","../lib/widgets/banner/ui/banners/BannerImageFull.tsx","../lib/widgets/banner/ui/banners/BannerWithSeparateImg.tsx","../lib/widgets/banner/Banner.tsx","../lib/widgets/advantages/Advantages.tsx","../lib/widgets/footer/ui/SocialLinks.tsx","../lib/widgets/footer/ui/PhonesBlock.tsx","../lib/widgets/footer/ui/NavLinks.tsx","../lib/widgets/footer/ui/Copyright.tsx","../lib/widgets/footer/ui/FooterLogo.tsx","../lib/widgets/footer/ui/SiteMap.tsx","../lib/widgets/footer/ui/Ligal.tsx","../lib/widgets/footer/Footer.tsx","../lib/widgets/stepper/ui/SingleStep.tsx","../lib/widgets/stepper/Stepper.tsx","../lib/widgets/longBanner/model/cva.ts","../lib/widgets/longBanner/ui/TextItem.tsx","../lib/widgets/longBanner/ui/Title.tsx","../lib/widgets/longBanner/ui/TextList.tsx","../lib/widgets/longBanner/LongBanner.tsx","../lib/widgets/authProvider/model/helpers.ts","../lib/widgets/authProvider/ui/ui/AuthWrapper.tsx","../lib/widgets/authProvider/ui/ui/EsiaLogo.tsx","../lib/widgets/authProvider/ui/ui/Links.tsx","../lib/widgets/authProvider/ui/MobileId.tsx","../lib/widgets/authProvider/ui/Esia.tsx","../lib/widgets/authProvider/AuthProvider.tsx","../lib/widgets/interLinking/ui/LinksList.tsx","../lib/widgets/interLinking/ui/ColumnGroup.tsx","../lib/widgets/interLinking/ui/Column.tsx","../lib/widgets/interLinking/InterLinking.tsx","../lib/widgets/usefulInfo/ui/Tabs.tsx","../lib/widgets/usefulInfo/model/utils.ts","../lib/widgets/usefulInfo/ui/subEntities/html/Html.tsx","../lib/widgets/usefulInfo/ui/subEntities/table/model/utils.ts","../lib/widgets/usefulInfo/ui/subEntities/table/ui/DesktopHeadings.tsx","../lib/widgets/usefulInfo/ui/subEntities/table/ui/DesktopRow.tsx","../lib/widgets/usefulInfo/ui/subEntities/table/ui/MobileRow.tsx","../lib/widgets/usefulInfo/ui/subEntities/table/ui/TableBody.tsx","../lib/widgets/usefulInfo/ui/subEntities/table/Table.tsx","../lib/widgets/usefulInfo/ui/subEntities/documents/ui/document/model/utils.ts","../lib/widgets/usefulInfo/ui/subEntities/documents/ui/document/Document.tsx","../lib/widgets/usefulInfo/ui/subEntities/documents/Documents.tsx","../lib/widgets/usefulInfo/ui/RenderEntity.tsx","../lib/widgets/usefulInfo/UsefulInfo.tsx","../lib/widgets/fieldMapper/FieldMapper.tsx"],"sourcesContent":["import { type ReactElement } from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { useDevice } from '$/shared/hooks'\nimport { Button, Heading } from '$/shared/ui'\nimport { cn, scrollToElement } from '$/shared/utils'\nimport { type AllowedBannerBackgroundColor } from '$/widgets/benefit/model'\n\nexport type BenefitItemClasses = {\n root?: string\n button?: string\n wrapper?: string\n textContainer?: string\n description?: 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 intent: {\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 VariantProps<typeof itemConfig> {\n title: string\n description: string | ReactElement\n img?: string\n mobileImg?: boolean\n classes?: BenefitItemClasses\n withButton?: boolean\n buttonText?: string\n cardColor?: AllowedBannerBackgroundColor\n}\n\nexport const BenefitItem = ({\n description,\n title,\n img,\n mobileImg,\n classes,\n withButton,\n buttonText,\n intent,\n cardColor\n}: BenefitItemProps) => {\n const { isDesktop } = useDevice()\n\n const button = (\n <>\n <Button\n intent='primary'\n className={cn('desktop:w-[200px]', classes?.button)}\n onClick={() => scrollToElement('personal_form')}\n size='lg'\n >\n {buttonText}\n </Button>\n </>\n )\n\n return (\n <li\n key={img}\n className={cn(itemConfig({ intent }), { 'pb-0': mobileImg }, { 'pb-12': !mobileImg }, cardColor, 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 <Heading as='h4' className={cn('desktop:desk-title-bold-s', classes?.title)}>\n {title}\n </Heading>\n <p className={cn('mob-body-regular-l text-icon-blue-grey-800 desktop:desk-body-regular-l', classes?.description)}>\n {description}\n </p>\n </div>\n {withButton && isDesktop && button}\n </div>\n\n {(mobileImg || isDesktop) && img && (\n <div className={cn('flex w-full justify-end', classes?.imgContainer)}>\n <img className={cn('h-[246px] object-cover', classes?.img)} src={img} alt={title} />\n </div>\n )}\n </li>\n )\n}\n","'use client'\n\nimport { type ReactElement } from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { BenefitItem, type BenefitItemClasses, type BenefitItemProps } from './ui/BenefitItem'\nimport { Heading, ResponsiveContainer } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type BenefitClasses = {\n root?: string\n container?: string\n item?: BenefitItemClasses\n heading?: string\n grid?: string\n}\n\nconst gridConfig = cva('grid gap-4', {\n variants: {\n intent: {\n twoCards: 'grid-cols-1 mobile:grid-rows-[repeat(2,400px)] desktop:grid-cols-2',\n threeCards: 'grid-cols-1 desktop:grid-cols-2',\n fourCards: 'grid-cols-1 mobile:grid-rows-[400px,1fr,1fr,400px] desktop:grid-cols-3'\n }\n }\n})\n\nexport interface BenefitProps extends VariantProps<typeof gridConfig> {\n heading: string | ReactElement\n cards: BenefitItemProps[]\n classes?: BenefitClasses\n}\n\nexport const Benefit = ({ heading, cards, classes, intent }: BenefitProps) => {\n return (\n <section className={cn('pb-20', classes?.root)}>\n <ResponsiveContainer className={classes?.container}>\n <Heading className={cn('mb-8', classes?.heading)} as='h2'>\n {heading}\n </Heading>\n <ul className={cn(gridConfig({ intent }), classes?.grid)}>\n {cards?.map((card) => <BenefitItem intent={intent} key={card.img} classes={classes?.item} {...card} />)}\n </ul>\n </ResponsiveContainer>\n </section>\n )\n}\n","import type { HeaderProps } from './types'\nimport { Button, PhoneView } from '$/shared/ui'\nimport { createPhoneNumber } from '$/shared/utils'\n\nexport const renderContentVariant = (config: HeaderProps['config']) => {\n const { variant, details } = config\n switch (variant) {\n case 'withButton':\n return (\n <Button intent='secondary' size='sm' {...details}>\n {details?.children || 'Оформить заявку'}\n </Button>\n )\n case 'withPhone':\n return <PhoneView classes={{ root: 'items-end' }} {...details} phone={createPhoneNumber(details.phone)} />\n default:\n return null\n }\n}\n","import { renderContentVariant } from './model/helpers'\nimport type { HeaderProps } from './model/types'\nimport { brandLogos, ResponsiveContainer } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport const Header = ({ logoPath = '/', logoType = 'main', config, classes }: HeaderProps) => {\n return (\n <header className={cn('flex h-[64px] items-center justify-center bg-color-white desktop:h-[72px]', classes?.header)}>\n <ResponsiveContainer className={cn(classes?.container)}>\n <div className={cn('flex items-center justify-between gap-5', classes?.wrapper)}>\n <a\n href={logoPath}\n aria-label='logo'\n target='_blank'\n rel='noreferrer'\n className={cn(\n 'flex items-center justify-center [&_svg]:w-[132px] desktop:[&_svg]:h-[32px] desktop:[&_svg]:w-[192px]',\n classes?.logo\n )}\n >\n {brandLogos[logoType]}\n </a>\n {renderContentVariant(config)}\n </div>\n </ResponsiveContainer>\n </header>\n )\n}\n","import { type ButtonsConfig } from '../model'\nimport { Button } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport interface BannerButtonsGroupClasses {\n group?: string\n primary?: string\n secondary?: string\n}\ninterface BannerButtonsGroupProps {\n buttonsConfig: ButtonsConfig\n classes?: Partial<BannerButtonsGroupClasses>\n className?: string\n}\n\nexport const BannerButtonsGroup = ({ buttonsConfig, classes, className }: BannerButtonsGroupProps) => {\n const withSecondaryBtn = buttonsConfig?.secondary && buttonsConfig.secondary.children\n\n return (\n <div\n data-id='banner-buttons-group'\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': withSecondaryBtn },\n classes?.group,\n className\n )}\n >\n <Button intent='primary' {...buttonsConfig.primary} isFull className={cn('desktop:max-w-[216px]', classes?.primary)}>\n {buttonsConfig.primary.children}\n </Button>\n {withSecondaryBtn && (\n <Button\n intent='secondary'\n {...buttonsConfig?.secondary}\n isFull\n className={cn('desktop:max-w-[216px]', classes?.secondary)}\n >\n {buttonsConfig?.secondary?.children}\n </Button>\n )}\n </div>\n )\n}\n","'use client'\n\nimport { BannerButtonsGroup } from '../BannerButtonsGroup'\nimport { useDevice } from '$/shared/hooks'\nimport { ResponsiveContainer } from '$/shared/ui'\nimport { cn, TypeGuards } from '$/shared/utils'\nimport { Advantages, type BannerProps } from '$/widgets'\n\nexport const BannerImageFull = ({\n headTitle,\n subtitle,\n buttonsConfig,\n advantages,\n classes,\n imgMobile,\n imgDesktop,\n color\n}: Omit<BannerProps, 'bannerVariant'>) => {\n const { isDesktop, isMobile } = useDevice()\n\n const imgMob =\n imgMobile && 'url' in imgMobile && TypeGuards.isObject(imgMobile) ? (\n <img className='h-full w-full object-cover object-center' alt='Картинка баннера' src={imgMobile.url} />\n ) : (\n imgMobile\n )\n\n const imgDesk =\n imgDesktop && 'url' in imgDesktop && TypeGuards.isObject(imgDesktop) ? (\n <img className='h-full w-full object-cover object-center' alt='Картинка баннера' src={imgDesktop.url} />\n ) : (\n imgDesktop\n )\n\n const advantage = (\n <div\n className={cn(\n 'flex items-center justify-center pt-4 desktop:absolute desktop:bottom-[-50px] desktop:right-1/2 desktop:translate-x-1/2 desktop:pt-0',\n classes?.advantageContainer\n )}\n >\n {advantages?.config.details && advantages?.config.details?.length > 0 && <Advantages {...advantages} />}\n </div>\n )\n\n return (\n <>\n <section\n style={{ backgroundColor: color ?? '#d9edff' }}\n data-test-id='banner'\n className={cn('relative h-[552px] desktop:h-[456px]', classes?.root)}\n >\n <div className='absolute bottom-0 left-0 right-0 top-0 z-[-1] mx-auto h-full max-w-[1920px] desktop:h-[456px]'>\n {isMobile ? imgMob : imgDesk}\n </div>\n <ResponsiveContainer className={cn('h-full', classes?.container)}>\n <div className={cn('flex h-full', classes?.wrapper)}>\n <div className={cn('flex w-[328px] flex-col gap-10 pt-6 desktop:w-full desktop:pt-20', classes?.textBlock)}>\n <div className='flex flex-col gap-4'>\n <div\n dangerouslySetInnerHTML={{ __html: headTitle }}\n className={cn('mob-headline-bold-m text-color-dark desktop:desk-headline-bold-l', classes?.title)}\n />\n <div\n dangerouslySetInnerHTML={{ __html: subtitle }}\n className={cn('desk-body-regular-l text-color-dark', classes?.subtitle)}\n />\n </div>\n <BannerButtonsGroup className='self-end desktop:self-center' buttonsConfig={buttonsConfig} classes={classes} />\n </div>\n </div>\n\n {isDesktop && advantage}\n </ResponsiveContainer>\n </section>\n {isMobile && advantage}\n </>\n )\n}\n","import { BannerButtonsGroup } from '../BannerButtonsGroup'\nimport { useDevice } from '$/shared/hooks'\nimport { ResponsiveContainer } from '$/shared/ui'\nimport { cn, TypeGuards } from '$/shared/utils'\nimport { Advantages, type BannerProps } from '$/widgets'\n\nexport const BannerWithSeparateImg = ({\n headTitle,\n subtitle,\n buttonsConfig,\n advantages,\n classes,\n imgMobile,\n withAdvantages,\n imgDesktop,\n color\n}: Omit<BannerProps, 'bannerVariant'>) => {\n const { isDesktop, isMobile } = useDevice()\n\n const imgMob =\n imgMobile && 'url' in imgMobile && TypeGuards.isObject(imgMobile) ? (\n <img className='w-full object-contain' alt='Картинка баннера' src={imgMobile.url} />\n ) : (\n imgMobile\n )\n\n const imgDesk =\n imgDesktop && 'url' in imgDesktop && TypeGuards.isObject(imgDesktop) ? (\n <img className='w-full object-contain' alt='Картинка баннера' src={imgDesktop.url} />\n ) : (\n imgDesktop\n )\n\n const advantage = (\n <div\n className={cn(\n 'flex items-center justify-center rounded-md bg-color-blue-grey-100 p-4 pb-8 desktop:absolute desktop:bottom-[-50px] desktop:right-1/2 desktop:translate-x-1/2 desktop:p-0',\n classes?.advantageContainer\n )}\n >\n {advantages?.config.details && advantages?.config.details?.length > 0 && <Advantages {...advantages} />}\n </div>\n )\n\n return (\n <>\n <section\n style={{ backgroundColor: color ?? '#d9edff' }}\n data-test-id='banner'\n className={cn('bg-banner-skyblue-300 desktop:h-[456px]', classes?.root)}\n >\n <ResponsiveContainer className={cn('relative', classes?.container)}>\n <div className={cn('flex flex-col desktop:flex-row desktop:justify-between', classes?.wrapper)}>\n <div className='flex flex-col desktop:gap-10 desktop:pt-20'>\n <div className={cn('flex flex-col gap-4 pt-6 desktop:pt-0', classes?.textBlock)}>\n <div\n dangerouslySetInnerHTML={{ __html: headTitle }}\n className={cn('mob-headline-bold-m text-color-dark desktop:desk-headline-bold-l', classes?.title)}\n />\n <div\n dangerouslySetInnerHTML={{ __html: subtitle }}\n className={cn('desk-body-regular-l text-color-dark', classes?.subtitle)}\n />\n </div>\n <BannerButtonsGroup buttonsConfig={buttonsConfig} classes={classes} />\n </div>\n\n <div className={cn('flex h-[356px] justify-center desktop:h-[456px] desktop:w-[550px]', classes?.imageContainer)}>\n {isMobile ? imgMob : imgDesk}\n </div>\n </div>\n\n {isDesktop && withAdvantages && advantage}\n </ResponsiveContainer>\n </section>\n {isMobile && withAdvantages && advantage}\n </>\n )\n}\n","'use client'\n\nimport { type ReactElement } from 'react'\nimport { type AdvantageClasses, type AdvantagesProps } from '../advantages/Advantages'\nimport { type BackgroundBannerColorsValues } from './model/constants'\nimport { type BannerClasses, type ButtonsConfig, type ImgBanner } from './model/types'\nimport { BannerImageFull, BannerWithSeparateImg } from './ui'\n\nexport interface BannerProps {\n headTitle: string | ReactElement\n subtitle: string | ReactElement\n imgDesktop: ImgBanner\n imgMobile: ImgBanner\n buttonsConfig: ButtonsConfig\n advantages?: AdvantagesProps\n classes?: BannerClasses & {\n advantages?: AdvantageClasses\n }\n withAdvantages?: boolean\n variant?: 'separateImg' | 'fullImg'\n color?: BackgroundBannerColorsValues\n}\n\nexport const Banner = ({ variant, ...props }: BannerProps) => {\n switch (variant) {\n case 'separateImg':\n return <BannerWithSeparateImg {...props} />\n case 'fullImg':\n return <BannerImageFull {...props} />\n default:\n return <BannerWithSeparateImg {...props} />\n }\n}\n","'use client'\n\nimport type { AdvantageItem } from './model'\nimport { Heading } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport interface AdvantageClasses {\n root?: string\n item?: string\n title?: string\n description?: string\n}\n\nexport interface AdvantagesProps {\n config: {\n variant: 'threeCards' | 'fourCards'\n details: AdvantageItem[]\n }\n classes?: AdvantageClasses\n}\n\nexport const Advantages = ({ config, classes }: AdvantagesProps) => {\n const { variant, details: advantagesList } = config\n\n return (\n <div\n className={cn(\n 'm-auto flex w-full min-w-[328px] max-w-[636px] flex-col gap-8 rounded-md bg-color-white p-6 shadow-sm desktop:w-full desktop:flex-row desktop:items-start desktop:gap-0 desktop:p-0 desktop:py-6',\n { 'desktop:max-w-[860px]': variant === 'threeCards' },\n { 'desktop:max-w-[1140px]': variant === 'fourCards' },\n classes?.root\n )}\n >\n {advantagesList?.map(({ title, description }) => (\n <div\n key={title}\n className={cn(\n 'after:content-[\" \"] relative flex h-full w-full flex-col gap-1 after:absolute after:-bottom-4 after:left-1/2 after:h-[1px] after:w-full after:-translate-x-1/2 after:bg-color-blue-grey-300 last:after:hidden desktop:w-[285px] desktop:px-8 desktop:after:bottom-auto desktop:after:left-auto desktop:after:right-0 desktop:after:top-1/2 desktop:after:h-10 desktop:after:w-[1px] desktop:after:-translate-y-1/2 desktop:after:translate-x-0',\n classes?.item\n )}\n >\n <Heading as='h4' className={cn('text-color-dark', classes?.title)}>\n {title}\n </Heading>\n <p className={cn('desk-body-regular-l text-color-secondary', classes?.description)}>{description}</p>\n </div>\n ))}\n </div>\n )\n}\n","import type { FooterSocialLinks } from '../model/types'\nimport { Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\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 }) => (\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 >\n <Icon name={iconName} className={cn('h-full w-full text-icon-white', classes?.socialIcon)} />\n </a>\n ))}\n </div>\n )\n}\n","import type { FooterPhones } from '../model/types'\nimport { PhoneView } from '$/shared/ui'\nimport { cn, createPhoneNumber } from '$/shared/utils'\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 key={phone}\n phone={createPhoneNumber(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","import type { Config } from '../model/types'\nimport { CustomLink } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\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 config: Config\n}\n\nexport const NavLinks = ({ classes, config }: NavLinksProps) => {\n const { details } = config || {}\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 }) => (\n <CustomLink\n key={label}\n href={path}\n aria-label={label}\n intent='white'\n classes={{\n link: classes?.navLink,\n icon: classes?.navLinkIcon\n }}\n >\n {label}\n </CustomLink>\n ))}\n </div>\n </div>\n ))\n )}\n </div>\n )\n}\n","import { cn } from '$/shared/utils'\n\nexport type CopyrightClasses = {\n copyRight?: string\n}\n\ninterface CopyrightProps {\n text: string\n classes?: CopyrightClasses\n}\n\nexport const Copyright = ({ text, classes }: CopyrightProps) => {\n return (\n <div\n className={cn('desk-body-regular-m text-color-footer', classes?.copyRight)}\n dangerouslySetInnerHTML={{ __html: text }}\n ></div>\n )\n}\n","import { Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type FooterLogoClasses = {\n footerLogo?: string\n footerLogoIcon?: string\n}\n\nexport interface FooterLogoProps {\n classes?: FooterLogoClasses\n}\n\nexport const FooterLogo = ({ classes }: FooterLogoProps) => {\n return (\n <a\n aria-label='logo'\n href='https://sovcombank.ru/'\n className={cn('block h-[24px] w-[132px] desktop:h-[32px] desktop:w-[194px]', classes?.footerLogo)}\n >\n <Icon name='brandLogos/logoWhite' className={cn('size-full', classes?.footerLogoIcon)} />\n </a>\n )\n}\n","import { 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 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","'use client'\n\nimport * as React from 'react'\nimport { cn } from '$/shared/utils'\n\ntype LigalClasses = {\n ligalRoot?: string\n ligalText?: string\n ligalButton?: string\n}\n\nexport interface LigalProps {\n text: string\n classes?: LigalClasses\n}\n\nexport const Ligal = ({ text, classes }: LigalProps) => {\n const [isExpanded, setIsExpanded] = React.useState(false)\n const [isClamped, setIsClamped] = React.useState(false)\n const ligalRef = React.useRef<HTMLParagraphElement | null>(null)\n\n React.useEffect(() => {\n const element = ligalRef.current\n if (element) {\n setIsClamped(element.scrollHeight > element.clientHeight)\n }\n }, [])\n\n return (\n <div className={cn('mt-8 flex flex-col gap-4', classes?.ligalRoot)}>\n <div\n ref={ligalRef}\n className={cn('desk-body-regular-m text-color-footer', { 'line-clamp-3': !isExpanded }, classes?.ligalText)}\n dangerouslySetInnerHTML={{ __html: text }}\n />\n\n {isClamped && (\n <div\n tabIndex={0}\n role='button'\n onClick={() => setIsExpanded((prev) => !prev)}\n className={cn(\n 'desk-body-regular-l w-max cursor-pointer font-medium text-color-footer transition-colors hover:text-color-white',\n classes?.ligalButton\n )}\n >\n Подробнее\n </div>\n )}\n </div>\n )\n}\n","import type { Config, FooterClasses, FooterPhones, FooterRenderBlocks, FooterSocialLinks } from './model/types'\nimport { Copyright, FooterLogo, NavLinks, PhonesBlock, SiteMap, SocialLinks } from './ui'\nimport { Ligal } from './ui/Ligal'\nimport { ResponsiveContainer } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport interface FooterProps {\n classes?: FooterClasses\n renderBlocks?: FooterRenderBlocks\n socialsLinks?: FooterSocialLinks[]\n phones?: FooterPhones[]\n ligal?: string\n copyright?: string\n config: Config\n}\n\nexport const Footer = ({\n renderBlocks: {\n withSocialsLinks = true,\n withPhones = true,\n withNavLinks = true,\n withCopyright = true,\n withSiteMap = true,\n withLigal = true\n } = {},\n socialsLinks = [],\n phones = [],\n ligal,\n copyright = '',\n classes,\n config\n}: FooterProps) => {\n return (\n <footer className={cn('w-full bg-color-footer py-8 desktop:py-10', classes?.root)}>\n <ResponsiveContainer className={cn(classes?.footerContainer)}>\n <div className={cn('mobile:pb-[176px]', classes?.footerWrapper)}>\n <div\n className={cn(\n 'flex flex-col items-start justify-between gap-4 border-b border-solid border-blue-grey-500 pb-6 desktop:flex-row desktop:gap-6 desktop:pb-8',\n classes?.footerHead\n )}\n >\n <div className={cn(classes?.footerSocialBlock)}>\n <FooterLogo classes={classes?.footerLogo} />\n {withSocialsLinks && <SocialLinks socialsLinks={socialsLinks} classes={classes?.socialLinks} />}\n </div>\n\n {withPhones && <PhonesBlock phones={phones} classes={classes?.phonesBlock} />}\n </div>\n\n {withNavLinks && <NavLinks config={config} classes={classes?.navLinks} />}\n {withLigal && <Ligal text={ligal || ''} />}\n\n <div\n className={cn(\n 'mt-6 flex flex-col-reverse items-start justify-between gap-4 desktop:mt-8 desktop:flex-row desktop:gap-6',\n classes?.footerBottom\n )}\n >\n {withCopyright && <Copyright text={copyright} classes={classes?.copyright} />}\n {withSiteMap && <SiteMap classes={classes?.siteMap} />}\n </div>\n </div>\n </ResponsiveContainer>\n </footer>\n )\n}\n","import type { SingleStepProps } from '../model/types'\nimport { Heading } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type SingleStepClasses = {\n singleStep?: string\n numeric?: string\n textBlock?: string\n title?: string\n description?: string\n}\n\nexport const SingleStep = ({ classes, index, variant, title, description }: SingleStepProps) => {\n const withTitles = variant === 'withTitleAndDescription' && title\n\n return (\n <div\n className={cn(\n 'flex w-[328px] max-w-[328px] flex-col gap-4 rounded-md border border-solid border-blue-grey-500 p-4 desktop:w-[348px] desktop:max-w-[348px] desktop:border-none desktop:p-0',\n classes?.singleStep\n )}\n >\n <div\n className={cn(\n 'mob-headline-bold-s flex size-10 items-center justify-center rounded-sm bg-color-blue-grey-500 text-color-white desktop:desk-title-bold-l desktop:size-12',\n classes?.numeric\n )}\n >\n {index}\n </div>\n\n <div className={cn('flex flex-col gap-2')}>\n {withTitles && (\n <Heading as='h4' className={cn('text-color-dark', classes?.title)}>\n {title}\n </Heading>\n )}\n <div\n dangerouslySetInnerHTML={{ __html: description ?? '' }}\n className={cn('desk-body-regular-l text-color-tetriary', classes?.description)}\n />\n </div>\n </div>\n )\n}\n","import { type HTMLAttributes } from 'react'\nimport type { SingleStepItem, StepperVariant } from './model/types'\nimport { SingleStep, type SingleStepClasses } from './ui/SingleStep'\nimport { Heading, ResponsiveContainer, Section } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type StepperClasses = {\n root?: string\n container?: string\n wrapper?: string\n headline?: string\n stepsWrapper?: string\n step?: SingleStepClasses\n}\n\nexport interface StepperProps extends HTMLAttributes<HTMLDivElement> {\n headline: string\n config: {\n variant: StepperVariant\n details: SingleStepItem[]\n }\n classes?: StepperClasses\n}\n\nexport const Stepper = ({ headline, config, classes }: StepperProps) => {\n const { variant, details: stepsList } = config\n\n return (\n <Section className={classes?.root}>\n <ResponsiveContainer className={classes?.container}>\n <div className={cn('flex flex-col gap-6 desktop:items-start desktop:gap-12', classes?.wrapper)}>\n <Heading as='h2' className={cn('text-color-dark', classes?.headline)}>\n {headline}\n </Heading>\n <div\n className={cn(\n 'flex w-full flex-col items-start gap-6 desktop:flex-row desktop:items-start desktop:gap-12',\n classes?.stepsWrapper\n )}\n >\n {stepsList?.map((step, index) => (\n <SingleStep variant={variant} key={step.description} {...step} index={index + 1} classes={classes?.step} />\n ))}\n </div>\n </div>\n </ResponsiveContainer>\n </Section>\n )\n}\n","import { cva } from 'class-variance-authority'\r\n\r\nexport const titleConfig = cva('', {\r\n variants: {\r\n intent: {\r\n twoItems: 'mob-headline-bold-s mb-6 desktop:desk-headline-bold-m desktop:mb-12',\r\n fourItems: 'mob-title-bold-l desktop:desk-title-bold-l mb-8'\r\n },\r\n desktopHidden: {\r\n true: 'desktop:hidden'\r\n },\r\n mobileHidden: {\r\n true: 'mobile:hidden'\r\n }\r\n },\r\n defaultVariants: {\r\n intent: 'twoItems'\r\n }\r\n})\r\n\r\nexport const listItemConfig = cva('', {\r\n variants: {\r\n intent: {\r\n twoItems: '',\r\n fourItems: ''\r\n },\r\n withButton: {\r\n true: ''\r\n }\r\n },\r\n compoundVariants: [\r\n {\r\n intent: 'twoItems',\r\n withButton: true,\r\n class: 'mb-8 desktop:flex'\r\n },\r\n {\r\n intent: 'twoItems',\r\n withButton: false,\r\n class: 'desktop:flex'\r\n },\r\n {\r\n intent: 'fourItems',\r\n withButton: true,\r\n class: 'desktop:grid grid-rows-2 mb-8 desktop:gap-x-10 desktop:gap-y-4 grid-flow-col'\r\n },\r\n {\r\n intent: 'fourItems',\r\n withButton: false,\r\n class: 'desktop:grid grid-rows-2 desktop:gap-x-10 desktop:gap-y-4 grid-flow-col'\r\n }\r\n ]\r\n})\r\n\r\nexport const itemConfig = cva('border-blue-grey-500 pb-6 mobile:mb-6 mobile:border-b mobile:last:pb-0 mobile:last:mb-0', {\r\n variants: {\r\n intent: {\r\n twoItems:\r\n 'last:border-none relative desktop:first:after:top-1/2 desktop:first:after:-translate-y-1/2 desktop:first:after:right-0 desktop:first:after:content-[\"\"] desktop:first:after:block desktop:first:after:absolute desktop:first:after:w-[1px] desktop:first:after:h-[64px] desktop:first:after:bg-color-blue-grey-500 desktop:ml-8 desktop:pr-8 desktop:first:ml-0 desktop:last:pr-0 desktop:pb-3',\r\n fourItems: ' mobile:last:border-none desktop:w-[264px] desktop:odd:border-b desktop:pb-0 desktop:odd:pb-3'\r\n }\r\n },\r\n defaultVariants: {\r\n intent: 'twoItems'\r\n }\r\n})\r\n\r\nexport const containerImgConfig = cva('mobile:mx-auto mobile:mb-8, h-[172px] w-[280px] ', {\r\n variants: {\r\n intent: {\r\n twoItems: 'desktop:h-[232px] desktop:w-[500px]',\r\n fourItems: ' '\r\n },\r\n withButton: {\r\n true: true,\r\n false: false\r\n }\r\n },\r\n defaultVariants: {\r\n intent: 'twoItems'\r\n },\r\n compoundVariants: [\r\n {\r\n intent: 'fourItems',\r\n withButton: true,\r\n class: 'desktop:h-[360px] desktop:w-[500px]'\r\n },\r\n {\r\n intent: 'fourItems',\r\n withButton: false,\r\n class: 'desktop:h-[272px] desktop:w-[500px]'\r\n }\r\n ]\r\n})\r\n","import { itemConfig } from '../model/cva'\r\nimport { type TextItemProps } from '../model/types'\r\nimport { Icon, Popover } from '$/shared/ui'\r\nimport { cn } from '$/shared/utils'\r\n\r\nexport const TextItem = ({ data, intent }: TextItemProps) => {\r\n const {\r\n title,\r\n description,\r\n popover = {\r\n enabled: false\r\n }\r\n } = data\r\n return (\r\n <li className={cn(itemConfig({ intent }))}>\r\n <div className='desktop:max-w-[264px]'>\r\n <div className={cn('mb-2 flex items-center gap-2')}>\r\n <h4 className={cn('mob-title-bold-m text-color-dark')}>{title}</h4>\r\n {popover.enabled && (\r\n <Popover triggerElement={<Icon className={cn('size-5 text-icon-blue-grey-600')} name='info/helpCircle' />}>\r\n {popover?.text}\r\n </Popover>\r\n )}\r\n </div>\r\n\r\n <div className={cn('mob-body-regular-l text-color-secondary')} dangerouslySetInnerHTML={{ __html: description }} />\r\n </div>\r\n </li>\r\n )\r\n}\r\n","import { type ReactElement } from 'react'\r\nimport { titleConfig } from '../model/cva'\r\nimport { type LongBannerConfig } from '../model/types'\r\nimport { cn } from '$/shared/utils'\r\n\r\ninterface TitleProps {\r\n intent: LongBannerConfig['intent']\r\n headline: string | ReactElement\r\n desktopHidden?: boolean\r\n mobileHidden?: boolean\r\n}\r\n\r\nexport const Title = ({ intent, headline, desktopHidden = false, mobileHidden = false }: TitleProps) => {\r\n return <h2 className={cn(titleConfig({ intent, desktopHidden, mobileHidden }))}>{headline}</h2>\r\n}\r\n","import { listItemConfig } from '../model/cva'\r\nimport { type Details, type LongBannerConfig } from '../model/types'\r\nimport { TextItem } from './TextItem'\r\nimport { cn } from '$/shared/utils'\r\n\r\ninterface ListItemsProps {\r\n details: Details[]\r\n intent: LongBannerConfig['intent']\r\n withButton: boolean\r\n}\r\n\r\nexport const TextList = ({ details, intent, withButton }: ListItemsProps) => {\r\n return (\r\n <ul className={cn(listItemConfig({ intent, withButton }))}>\r\n {details?.map((element, index) => <TextItem intent={intent} data={element} key={index} />)}\r\n </ul>\r\n )\r\n}\r\n","import { type ReactElement } from 'react'\r\nimport { containerImgConfig } from './model/cva'\r\nimport { type ButtonConfig, type Config, type LongBannerClasses, type LongBannerConfig } from './model/types'\r\nimport { TextList, Title } from './ui'\r\nimport { Button, ResponsiveContainer } from '$/shared/ui'\r\nimport { cn } from '$/shared/utils'\r\n\r\nexport interface LongBannerProps extends LongBannerConfig {\r\n headline: string | ReactElement\r\n buttonConfig?: ButtonConfig\r\n config: Config\r\n imageComponent: ReactElement\r\n withButton?: boolean\r\n classes?: LongBannerClasses\r\n}\r\n\r\nexport const LongBanner = ({ headline, buttonConfig, withButton = false, config, imageComponent, classes }: LongBannerProps) => {\r\n const { intent = 'twoItems', details } = config\r\n const isFourItems = intent === 'fourItems'\r\n const isTwoItems = intent === 'twoItems'\r\n\r\n return (\r\n <section className={cn(classes?.root)}>\r\n <ResponsiveContainer className={cn(classes?.container)}>\r\n {isTwoItems && <Title intent={intent} headline={headline} />}\r\n\r\n <div\r\n className={cn(\r\n 'bg-banner-skyblue-100 px-6 pb-8 pt-6 desktop:flex desktop:flex-row-reverse desktop:justify-between desktop:px-0 desktop:py-0 desktop:pl-12',\r\n classes?.contentContainer\r\n )}\r\n >\r\n {isFourItems && <Title intent={intent} headline={headline} desktopHidden={true} />}\r\n <div className={cn(containerImgConfig({ intent, withButton }), classes?.imgContainer)}>{imageComponent}</div>\r\n <div\r\n className={cn('desktop:flex desktop:flex-col desktop:justify-center desktop:py-10', classes?.textWithBtnContainer)}\r\n >\r\n {isFourItems && <Title intent={intent} headline={headline} mobileHidden={true} />}\r\n <TextList details={details} intent={intent} withButton={withButton} />\r\n {withButton && (\r\n <Button\r\n className={cn('w-full px-4 desktop:w-max', classes?.button)}\r\n size='lg'\r\n onClick={buttonConfig?.onClick}\r\n intent='secondary'\r\n >\r\n {buttonConfig?.text}\r\n </Button>\r\n )}\r\n </div>\r\n </div>\r\n </ResponsiveContainer>\r\n </section>\r\n )\r\n}\r\n","export const AUTH_PROVIDER_MODE = {\n ESIA: 'esia',\n MOBILE_ID: 'mobileId',\n COMBINE: 'combine'\n} as const\n","import { Loader, type LoaderProps } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type AuthWrapperClasses = {\n root?: string\n wrapper?: string\n}\n\nexport interface AuthWrapperProps {\n children: React.ReactElement\n classes?: AuthWrapperClasses\n isLoading?: boolean\n loaderProps?: LoaderProps\n}\n\nexport const AuthWrapper = ({ children, isLoading, classes, loaderProps }: AuthWrapperProps) => {\n return (\n <div\n tabIndex={0}\n className={cn(\n 'relative flex h-[90px] w-full max-w-[328px] items-center justify-center rounded-sm p-2 desktop:max-w-[524px]',\n 'bg-color-white outline outline-1 outline-warm-grey-200 transition-colors focus-visible:outline-primary-focus',\n classes?.root\n )}\n >\n <div\n className={cn(\n 'flex h-[74px] flex-1 cursor-pointer rounded-sm px-2 py-3 transition-colors desktop:px-4 desktop:py-3',\n 'bg-color-blue-grey-100 hover:bg-color-blue-grey-200 active:bg-color-blue-grey-300',\n { 'items-center': isLoading },\n classes?.wrapper\n )}\n >\n {isLoading ? <Loader position='static' classes={{ wrapper: 'size-8 m-auto' }} {...loaderProps} /> : children}\n </div>\n </div>\n )\n}\n","import { type SVGProps } from 'react'\n\nexport const EsiaLogo = ({ ...props }: SVGProps<SVGSVGElement>) => {\n return (\n <svg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg' {...props}>\n <path\n d='M30.3986 10.6149C30.2728 8.96576 29.014 6.85155 27.7553 5.83672C26.3398 4.79816 24.8691 3.83828 23.3497 2.96139C21.8418 2.06068 20.2871 1.24201 18.6923 0.508895C17.8404 0.15868 16.927 -0.0139306 16.007 0.00148264C15.0868 -0.0180029 14.1725 0.154761 13.3217 0.508895C11.7272 1.24253 10.1725 2.06119 8.66438 2.96139C6.23081 4.44134 4.25878 5.83672 4.25878 5.83672C3.22329 6.71008 2.43892 7.83418 1.97146 9.09195C1.87834 9.34251 2.07032 9.59987 2.33762 9.59987H4.2568C4.55401 9.59987 4.82321 9.43281 4.98085 9.18085C5.33539 8.61417 5.77902 8.10202 6.29948 7.66607C6.29948 7.66607 7.92774 6.52186 9.93709 5.3083C11.1823 4.57013 12.466 3.89884 13.7826 3.29725C14.485 3.00687 15.2399 2.8652 15.9998 2.88118C16.7593 2.86854 17.5136 3.01008 18.217 3.29725C19.5337 3.89841 20.8174 4.56972 22.0624 5.3083C23.317 6.02735 24.5313 6.81445 25.7 7.66607C26.7394 8.49823 27.7787 10.2319 27.8826 11.5841C27.8826 11.5841 28.1251 13.5952 28.1598 15.9772C28.1576 17.4483 28.0767 18.9183 27.9173 20.3807C27.6755 21.912 26.8879 23.3038 25.7 24.2988C25.7 24.2988 24.0718 25.4777 22.0624 26.6912C20.8172 27.4294 19.5335 28.1007 18.217 28.7023C17.5145 28.9927 16.7596 29.1343 15.9998 29.1184C15.2409 29.1343 14.4867 28.9963 13.7826 28.7127C12.4658 28.1115 11.1821 27.4402 9.93709 26.7016C7.92774 25.5228 6.29948 24.3092 6.29948 24.3092C5.84515 23.9454 5.39081 23.4094 5.01172 22.8082C4.85581 22.561 4.5896 22.3997 4.2973 22.3997H2.34718C2.07645 22.3997 1.88475 22.6629 1.98611 22.914C2.49249 24.168 3.37564 25.4212 4.25878 26.1332C4.25878 26.1332 6.23081 27.6132 8.66438 29.0508C10.1723 29.9515 11.7269 30.7702 13.3217 31.5033C14.1745 31.8492 15.088 32.0175 16.007 31.998C16.9273 32.0175 17.8416 31.8448 18.6923 31.4906C20.2869 30.757 21.8415 29.9383 23.3497 29.0381C25.7833 27.5582 27.7553 26.1205 27.7553 26.1205C29.1939 24.9072 30.1478 23.2098 30.4406 21.3424C30.6337 19.5589 30.7317 17.7663 30.7343 15.9723C30.6923 13.0673 30.3986 10.6149 30.3986 10.6149Z'\n fill='url(#paint0_linear_6493_452)'\n />\n <path\n d='M1.27985 12.4821C1.27985 12.1286 1.56638 11.8421 1.91985 11.8421H11.8398C12.1933 11.8421 12.4798 12.1286 12.4798 12.4821V14.4021C12.4798 14.7555 12.1933 15.0421 11.8398 15.0421H1.27985V12.4821Z'\n fill='#0066B3'\n />\n <path\n d='M1.27985 16.9618H21.4398C21.7933 16.9618 22.0798 17.2484 22.0798 17.6018V19.5218C22.0798 19.8752 21.7933 20.1618 21.4398 20.1618H1.91985C1.56638 20.1618 1.27985 19.8752 1.27985 19.5218V16.9618Z'\n fill='#EE2F53'\n />\n <defs>\n <linearGradient id='paint0_linear_6493_452' x1='16.0071' y1='0' x2='16.0071' y2='31.9996' gradientUnits='userSpaceOnUse'>\n <stop stopColor='#0066B3' />\n <stop offset='0.354167' stopColor='#0066B3' />\n <stop offset='0.6875' stopColor='#EE2F53' />\n <stop offset='1' stopColor='#EE2F53' />\n </linearGradient>\n </defs>\n </svg>\n )\n}\n","import type { SingleAuthSchema } from '../../model/types'\nimport { CustomLink } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type TLinksClasses = {\n linksWrapper?: string\n linksMainLink?: string\n linksSubLink?: string\n}\n\ninterface ILinksProps extends Pick<SingleAuthSchema, 'subLink' | 'mainLink'> {\n isMobile: boolean\n classes?: TLinksClasses\n}\n\nexport const Links = ({ mainLink, subLink, isMobile, classes }: ILinksProps) => {\n return (\n <div className={cn('flex flex-col', classes?.linksWrapper)}>\n <a\n href={mainLink.href}\n target='_blank'\n rel='noreferrer'\n className={cn(\n 'before:content=[\" \"] desk-body-medium-l z-[4] text-color-dark before:absolute before:left-1/2 before:top-1/2 before:h-full before:w-full before:-translate-x-1/2 before:-translate-y-1/2',\n classes?.linksMainLink\n )}\n >\n {isMobile ? mainLink.mobileTitle : mainLink.title}\n </a>\n\n {subLink?.text && subLink?.href && (\n <CustomLink\n intent='blue'\n withUnderline\n href={subLink?.href}\n target='_blank'\n rel='noreferrer'\n classes={{\n link: cn('w-max relative z-[6] p-0 desk-body-regular-m text-color-tetriary', classes?.linksSubLink)\n }}\n >\n {subLink?.text}\n </CustomLink>\n )}\n </div>\n )\n}\n","import { type TMobileIdProps } from '../model/types'\nimport { AuthWrapper, Links } from './ui/'\nimport { useDevice } from '$/shared/hooks'\nimport { Badge, Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport const MobileId = ({ mainLink, subLink, isLoading, badge, loaderProps, classes }: TMobileIdProps) => {\n const { isMobile } = useDevice()\n\n return (\n <AuthWrapper isLoading={isLoading} loaderProps={loaderProps} classes={classes?.authWrapper}>\n <div\n className={cn(\n 'flex flex-1 items-center justify-between gap-1',\n { 'justify-center': !badge && isMobile },\n classes?.innerWrapper\n )}\n >\n <div className={cn('flex items-center gap-1 desktop:gap-4', classes?.textContent)}>\n <div>\n <Icon name='logos/mts' className={cn('relative z-[9] size-7 desktop:size-8', classes?.mtsLogo)} />\n <Icon name='logos/megafon' className={cn('relative z-[8] -ml-4 size-7 desktop:size-8', classes?.megafonLogo)} />\n <Icon name='logos/beeline' className={cn('relative z-[7] -ml-4 size-7 desktop:size-8', classes?.beelineLogo)} />\n </div>\n <Links mainLink={mainLink} subLink={subLink} isMobile={isMobile} classes={classes?.links} />\n <Icon name='arrows/arrowRight' className={cn('mobile:hidden', classes?.arrowIcon)} />\n </div>\n {badge && <Badge className={cn('bg-color-positive', classes?.badge)}>{badge}</Badge>}\n </div>\n </AuthWrapper>\n )\n}\n","import type { TEsiaProps } from '../model/types'\nimport { AuthWrapper, EsiaLogo, Links } from './ui'\nimport { useDevice } from '$/shared/hooks'\nimport { Badge, Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport const Esia = ({ mainLink, subLink, isLoading, badge, loaderProps, classes }: TEsiaProps) => {\n const { isMobile } = useDevice()\n\n return (\n <AuthWrapper isLoading={isLoading} loaderProps={loaderProps} classes={classes?.authWrapper}>\n <div\n className={cn(\n 'flex flex-1 items-center justify-between gap-1',\n { 'justify-center': !badge && isMobile },\n classes?.innerWrapper\n )}\n >\n <div className={cn('flex items-center gap-1 desktop:gap-4', classes?.textContent)}>\n <EsiaLogo className={cn('size-7 desktop:size-8', classes?.esiaLogo)} />\n <Links mainLink={mainLink} subLink={subLink} isMobile={isMobile} classes={classes?.links} />\n <Icon name='arrows/arrowRight' className={cn('mobile:hidden', classes?.arrowIcon)} />\n </div>\n {badge && <Badge className={cn('bg-color-positive', classes?.badge)}>{badge}</Badge>}\n </div>\n </AuthWrapper>\n )\n}\n","import * as React from 'react'\nimport { AUTH_PROVIDER_MODE } from './model/helpers'\nimport type { AuthProviderProps } from './model/types'\nimport { Esia, MobileId } from './ui'\nimport { Badge } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nconst renderProvider = (props: AuthProviderProps): React.ReactElement => {\n switch (props.mode) {\n case AUTH_PROVIDER_MODE.ESIA:\n return <Esia {...props} />\n case AUTH_PROVIDER_MODE.MOBILE_ID:\n return <MobileId {...props} />\n case AUTH_PROVIDER_MODE.COMBINE:\n default:\n const { esiaConfig, mobileIdConfig, subtitle, badge, classes } = props\n\n const HeadWrapper = !subtitle && !badge ? React.Fragment : 'div'\n\n return (\n <div\n className={cn(\n 'flex w-[328px] flex-col items-center justify-center gap-2 rounded-sm bg-color-white px-2 py-4 outline outline-1 outline-warm-grey-200 desktop:w-[524px] desktop:p-4',\n classes?.root\n )}\n >\n <HeadWrapper className={cn('flex w-full items-center justify-between gap-2', classes?.topContent)}>\n {subtitle && <h5 className={cn('desk-body-regular-l flex flex-1 text-color-dark', classes?.subtitle)}>{subtitle}</h5>}\n {badge && <Badge className={cn('bg-color-positive', classes?.badge)}>{badge}</Badge>}\n </HeadWrapper>\n <div className={cn('grid w-full grid-cols-2 gap-2 desktop:gap-4', classes?.authWrapper)}>\n <Esia\n {...esiaConfig}\n classes={{\n root: 'p-0 outline-0 h-[74px]',\n arrowIcon: 'hidden',\n ...esiaConfig.classes\n }}\n />\n <MobileId\n {...mobileIdConfig}\n classes={{\n root: 'p-0 outline-0 h-[74px]',\n arrowIcon: 'hidden',\n ...mobileIdConfig.classes\n }}\n />\n </div>\n </div>\n )\n }\n}\n\nexport const AuthProvider = (props: AuthProviderProps) => {\n return renderProvider(props)\n}\n","import type { Link } from '../model/types'\nimport { CustomLink } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type LinksListClasses = {\n linksWrapper?: string\n linkText?: string\n linkIcon?: string\n}\n\nexport interface LinksListProps {\n links: Link[]\n classes?: LinksListClasses\n}\n\nexport const LinksList = ({ links, classes }: LinksListProps) => {\n return (\n <nav className={cn('flex flex-col gap-1', classes?.linksWrapper)}>\n {links?.map(({ path, label }) => (\n <CustomLink\n classes={{\n link: cn('w-max', classes?.linkText),\n icon: cn(classes?.linkIcon)\n }}\n intent='dark'\n key={path}\n href={path}\n >\n {label}\n </CustomLink>\n ))}\n </nav>\n )\n}\n","import type { Group } from '../model/types'\nimport { LinksList, type LinksListClasses } from './LinksList'\nimport { useDevice } from '$/shared/hooks'\nimport { Accordion, type AccordionProps, Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type ColumnGroupClasses = {\n columnGroup?: string\n columnGroupHeading?: string\n linksList?: LinksListClasses\n}\n\nexport interface ColumnGroupProps extends Group {\n mobileAccordionProps?: AccordionProps\n classes?: ColumnGroupClasses\n}\n\nexport const ColumnGroup = ({ groupLabel, links, mobileAccordionProps, classes }: ColumnGroupProps) => {\n const { isMobile } = useDevice()\n\n return (\n <div className={cn('flex flex-col gap-2', classes?.columnGroup)}>\n {!isMobile && (\n <>\n <h5 className={cn('mob-body-medium-l text-color-dark desktop:desk-body-medium-l', classes?.columnGroupHeading)}>\n {groupLabel}\n </h5>\n <LinksList key='desktop' links={links} classes={classes?.linksList} />\n </>\n )}\n\n {isMobile && (\n <Accordion\n defaultOpen\n label={groupLabel}\n icon={\n <Icon name='arrows/arrowRight' className={cn('rotate-90 transition-transform group-data-[state=open]:-rotate-90')} />\n }\n {...mobileAccordionProps}\n classes={{\n ...mobileAccordionProps?.classes,\n header: {\n trigger: cn('p-0 bg-color-blue-grey-100', mobileAccordionProps?.classes?.header?.trigger)\n },\n contentInner: cn('py-2 px-4', mobileAccordionProps?.classes?.contentInner)\n }}\n >\n <LinksList key='mobile' links={links} classes={classes?.linksList} />\n </Accordion>\n )}\n </div>\n )\n}\n","import type { Group } from '../model/types'\nimport { ColumnGroup, type ColumnGroupClasses } from './ColumnGroup'\nimport type { AccordionProps } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type ColumnClasses = {\n column?: string\n columnGroup?: ColumnGroupClasses\n}\n\nexport interface ColumnProps {\n column: Group[]\n mobileAccordionProps?: AccordionProps\n classes?: ColumnClasses\n}\n\nexport const Column = ({ column, mobileAccordionProps, classes }: ColumnProps) => {\n return (\n <div className={cn('flex flex-col gap-4 desktop:gap-6', classes?.column)}>\n {column?.map((group) => (\n <ColumnGroup key={group.groupLabel} {...mobileAccordionProps} {...group} classes={classes?.columnGroup} />\n ))}\n </div>\n )\n}\n","import { cva } from 'class-variance-authority'\nimport type { InterLinkingRoot } from './model/types'\nimport { Column, type ColumnClasses } from './ui'\nimport { Accordion, type AccordionProps, Heading, ResponsiveContainer } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nconst columnsWrapper = cva('grid gap-4 grid-cols-1', {\n variants: {\n variant: {\n twoCols: 'desktop:grid-cols-2',\n threeCols: 'desktop:grid-cols-3',\n fourCols: 'desktop:grid-cols-4'\n }\n },\n defaultVariants: {\n variant: 'fourCols'\n }\n})\n\nexport type InterLinkingClasses = {\n root?: string\n headline?: string\n columnsWrapper?: string\n column?: ColumnClasses\n}\n\nexport interface InterLinkingProps extends InterLinkingRoot {\n mobileAccordionProps?: Partial<AccordionProps>\n rootAccordionProps?: Partial<AccordionProps>\n classes?: InterLinkingClasses\n}\n\nexport const InterLinking = ({ config, headline, mobileAccordionProps, rootAccordionProps, classes }: InterLinkingProps) => {\n const { variant, details: columns } = config\n\n return (\n <section id='inter-linking' className={cn('min-w-full desktop:min-w-[1140px]', classes?.root)}>\n <ResponsiveContainer>\n <Accordion\n defaultOpen\n label={\n <Heading as='h4' className={cn('text-left', classes?.headline)}>\n {headline}\n </Heading>\n }\n {...rootAccordionProps}\n classes={{\n ...rootAccordionProps?.classes,\n header: {\n trigger: cn('bg-color-blue-grey-100', rootAccordionProps?.classes?.header?.trigger)\n },\n content: cn('max-w-full bg-color-blue-grey-100 relative', rootAccordionProps?.classes?.content)\n }}\n >\n <div className={cn(columnsWrapper({ variant: variant }), classes?.columnsWrapper)}>\n {columns?.map((column, index) => (\n <Column key={index} {...column} {...mobileAccordionProps} classes={classes?.column} />\n ))}\n </div>\n </Accordion>\n </ResponsiveContainer>\n </section>\n )\n}\n","import type { Dispatch, SetStateAction } from 'react'\nimport { cn } from '$/shared/utils'\n\nexport interface TabsProps {\n tabsNames?: string[]\n activeTab?: number\n setActiveTab: Dispatch<SetStateAction<number>>\n}\n\nexport const Tabs = ({ tabsNames, activeTab, setActiveTab }: TabsProps) => {\n return (\n <div className='hidden-scroll flex items-center gap-4 overflow-x-auto p-[6px]'>\n {tabsNames &&\n tabsNames.map((tabName, tabIndex) => (\n <button\n key={tabName}\n onClick={() => setActiveTab(tabIndex)}\n className={cn(\n 'desktop:kpy-3 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 focus:outline-primary-focus desktop:px-4 desktop:py-3',\n {\n 'bg-icon-primary-default text-color-white': activeTab === tabIndex\n }\n )}\n >\n {tabName}\n </button>\n ))}\n </div>\n )\n}\n","import 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","import type { EntityHtml } from '../../../model'\nimport { Accordion } from '$/shared/ui'\n\nexport const Html = ({ html, config }: EntityHtml) => {\n const content = <div dangerouslySetInnerHTML={{ __html: html ?? '' }} />\n\n return (\n <>\n {config && config?.isAccordion && config?.accordionTitle ? (\n <Accordion label={config?.accordionTitle}>{content}</Accordion>\n ) : (\n content\n )}\n </>\n )\n}\n","import { cva } from 'class-variance-authority'\nimport type { TableHeading, TableRow } from '../../../../model'\n\nexport const transformMobileRows = (rows: TableRow[], headings?: TableHeading[]) => {\n return {\n rows: rows?.map(({ row }) => ({\n row: row?.map((cell, index) => ({\n ...cell,\n heading: headings && headings[index]?.heading\n }))\n }))\n }\n}\n\nexport const tableConfig = cva('flex flex-col', {\n variants: {\n columnsVariant: {\n twoCols: 'w-full max-w-[656px]',\n threeCols: 'w-full max-w-[768px]'\n }\n }\n})\n","import { cva } from 'class-variance-authority'\nimport type { EntityTable } from '../../../../model'\nimport { cn } from '$/shared/utils'\n\nconst headingsConfig = cva('grid px-4 mb-4', {\n variants: {\n columnsVariant: {\n twoCols: 'grid-cols-2 gap-16',\n threeCols: 'grid-cols-3 gap-12'\n }\n }\n})\n\ninterface DesktopHeadingsProps {\n headings: EntityTable['headings']\n columnsVariant: EntityTable['columnsVariant']\n}\n\nexport const DesktopHeadings = ({ headings, columnsVariant }: DesktopHeadingsProps) => {\n return (\n <div className={cn(headingsConfig({ columnsVariant }))}>\n {headings?.map((ceil) => (\n <div key={ceil?.heading} className='text-color-secondary'>\n {ceil?.heading}\n </div>\n ))}\n </div>\n )\n}\n","import { cva } from 'class-variance-authority'\nimport type { EntityTable, TableRow } from '../../../../model'\nimport { cn } from '$/shared/utils'\n\ntype DesktopRowProps = {\n row: TableRow['row']\n tableVariant: EntityTable['tableVariant']\n columnsVariant: EntityTable['columnsVariant']\n rowIndex: number\n}\n\nconst desktopRowConfig = cva('grid items-center', {\n variants: {\n columnsVariant: {\n twoCols: 'grid-cols-2 gap-16',\n threeCols: 'grid-cols-3 gap-12'\n },\n tableVariant: {\n filled: 'px-4 py-3 even:bg-color-primary-light-default',\n separator: 'px-4 py-4 border-t border-solid border-warm-grey-200'\n }\n }\n})\n\nexport const DesktopRow = ({ row, tableVariant, columnsVariant, rowIndex }: DesktopRowProps) => {\n return (\n <div className={cn(desktopRowConfig({ columnsVariant, tableVariant }), { 'border-none': rowIndex === 0 })}>\n {row?.map(({ cell }, cellIndex) => (\n <div key={cellIndex} className={cn('desk-body-regular-l text-color-dark', { 'font-medium': cellIndex !== 0 })}>\n {cell && cell}\n </div>\n ))}\n </div>\n )\n}\n","import { cva } from 'class-variance-authority'\nimport type { EntityTable } from '../../../../model'\nimport { cn } from '$/shared/utils'\n\ninterface IFormattedRow {\n cell: string\n heading?: string\n}\n\nexport interface MobileRowProps {\n row: IFormattedRow[]\n tableVariant: EntityTable['tableVariant']\n columnsVariant: EntityTable['columnsVariant']\n headingsExist: boolean\n}\n\nconst mobileRowConfig = cva('flex flex-col gap-2', {\n variants: {\n tableVariant: {\n filled: 'px-4 py-4 odd:bg-color-primary-light-default',\n separator: 'py-4 border-t border-solid border-warm-grey-200 first:border-none'\n }\n }\n})\n\nexport const MobileRow = ({ row, tableVariant, columnsVariant, headingsExist }: MobileRowProps) => {\n return (\n <div className={cn(mobileRowConfig({ tableVariant }))}>\n {row?.map(({ cell, heading }, cellIndex) => (\n <div key={cellIndex} className={cn('grid grid-cols-2 gap-3', { 'grid-cols-1 gap-0': !headingsExist })}>\n {heading && <div className='mob-body-regular-l text-color-secondary'>{heading}</div>}\n <div\n className={cn('mob-body-regular-l text-color-dark', {\n 'font-medium':\n (cellIndex !== 0 && columnsVariant === 'twoCols') ||\n columnsVariant === 'threeCols' ||\n (columnsVariant === 'twoCols' && headingsExist)\n })}\n >\n {cell}\n </div>\n </div>\n ))}\n </div>\n )\n}\n","import type { EntityTable } from '../../../../model'\nimport { transformMobileRows } from '../model/utils'\nimport { DesktopHeadings } from './DesktopHeadings'\nimport { DesktopRow } from './DesktopRow'\nimport { MobileRow } from './MobileRow'\nimport { useDevice } from '$/shared/hooks'\n\ninterface TableBodyProps {\n tableVariant: EntityTable['tableVariant']\n rows: EntityTable['rows']\n headings?: EntityTable['headings']\n columnsVariant: EntityTable['columnsVariant']\n}\n\nexport const TableBody = ({ tableVariant, rows, headings, columnsVariant }: TableBodyProps) => {\n const { isDesktop } = useDevice()\n const formattedRows = transformMobileRows(rows, headings)?.rows ?? []\n const headingsExist = Boolean(headings && headings.length > 0)\n\n return (\n <div className='flex flex-col'>\n {isDesktop && headingsExist && <DesktopHeadings headings={headings} columnsVariant={columnsVariant} />}\n {isDesktop ? (\n <>\n {rows?.map((row, rowIndex) => (\n <DesktopRow key={rowIndex} rowIndex={rowIndex} tableVariant={tableVariant} columnsVariant={columnsVariant} {...row} />\n ))}\n </>\n ) : (\n <>\n {formattedRows?.map((row, rowIndex) => (\n <MobileRow\n key={rowIndex}\n headingsExist={headingsExist}\n tableVariant={tableVariant}\n columnsVariant={columnsVariant}\n {...row}\n />\n ))}\n </>\n )}\n </div>\n )\n}\n","import type { EntityTable } from '../../../model'\nimport { tableConfig } from './model/utils'\nimport { TableBody } from './ui/TableBody'\nimport { Accordion, Heading } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport const Table = ({ tableVariant, description, columnsVariant, config, rows, title, headings }: EntityTable) => {\n const content = (\n <div className={cn(tableConfig({ columnsVariant }))}>\n {title && (\n <Heading as='h4' className='mb-4 desktop:mb-6'>\n {title}\n </Heading>\n )}\n\n <TableBody tableVariant={tableVariant} rows={rows} headings={headings} columnsVariant={columnsVariant} />\n {description && (\n <div className='mt-2 [&&]:desk-body-regular-m desktop:mt-2' dangerouslySetInnerHTML={{ __html: description ?? '' }} />\n )}\n </div>\n )\n\n return (\n <>\n {config && config?.isAccordion && config?.accordionTitle ? (\n <Accordion label={config?.accordionTitle}>{content}</Accordion>\n ) : (\n content\n )}\n </>\n )\n}\n","import { cva } from 'class-variance-authority'\nimport type { SpritesMap } from '$/shared/ui'\n\nexport type IconNames = Extract<SpritesMap['files'], 'documentFilled' | 'documentOutline'>\n\nexport const iconsMap: Record<IconNames, `files/${IconNames}`> = {\n documentFilled: 'files/documentFilled',\n documentOutline: 'files/documentOutline'\n}\n\nexport const iconConfig = cva('size-8 transition-colors', {\n variants: {\n iconType: {\n documentOutline: 'text-icon-secondary-dark-default group-hover:text-icon-secondary-dark-hover',\n documentFilled: 'text-icon-primary-default group-hover:text-icon-primary-hover'\n }\n },\n defaultVariants: {\n iconType: 'documentOutline'\n }\n})\n","import { iconConfig, type IconNames, iconsMap } from './model/utils'\nimport { Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport interface DocumentProps {\n label: string\n size: string\n url: string\n iconType: IconNames\n}\n\nexport const Document = ({ label, size, url, iconType }: DocumentProps) => {\n return (\n <a\n href={url}\n target='_blank'\n rel='noreferrer'\n tabIndex={0}\n className={cn(\n 'group flex w-full cursor-pointer items-center gap-2 rounded-sm p-1 outline outline-2 outline-transparent transition-colors focus-within:outline-primary-focus'\n )}\n >\n <Icon name={iconsMap[iconType]} className={cn(iconConfig({ iconType }))} />\n <div className={cn('flex flex-1 flex-col')}>\n <p className={cn('desk-body-medium-l text-color-dark')}>{label}</p>\n <div className={cn('desk-body-regular-m text-color-disabled')}>{Number(size)} КБ</div>\n </div>\n </a>\n )\n}\n","import type { EntityDocuments } from '../../../model'\nimport { Document } from './ui/document'\nimport { Accordion, Heading } from '$/shared/ui'\n\n//TODO: ОПРЕДЕЛИТЬСЯ С РАЗМЕРОМ ЗАГОЛОВКА И КАКОЙ ИЗ НИХ ОСТАВЛЯТЬ\n\nexport const Documents = ({ docs, config, title, iconType, description }: EntityDocuments) => {\n const content = (\n <div className='flex max-w-[680px] flex-col'>\n {title && (\n <Heading as='h3' className='mb-4'>\n {title}\n </Heading>\n )}\n <div className='gap- flex flex-col gap-4'>\n {docs?.map((doc) => <Document iconType={iconType} key={doc.label} {...doc} />)}\n </div>\n\n {description && <div className='mt-4' dangerouslySetInnerHTML={{ __html: description ?? '' }} />}\n </div>\n )\n\n return (\n <>\n {config && config?.isAccordion && config?.accordionTitle ? (\n <Accordion label={config?.accordionTitle}>{content}</Accordion>\n ) : (\n content\n )}\n </>\n )\n}\n","import { type Entity, isDocuments, isHtml, isTable } from '../model'\nimport { Documents, Html, Table } from './subEntities'\n\nexport interface RenderEntityProps {\n entity: Entity\n}\n\nconst renderEntity = (entity: Entity) => {\n switch (true) {\n case isHtml(entity):\n return entity.details?.map((htmlDetails, index) => <Html key={index} {...htmlDetails} />)\n\n case isDocuments(entity):\n return entity.details?.map((documentsDetails, index) => <Documents key={index} {...documentsDetails} />)\n\n case isTable(entity):\n return entity.details?.map((tableDetails, index) => <Table key={index} {...tableDetails} />)\n\n default:\n return null\n }\n}\n\nexport const RenderEntity = ({ entity }: RenderEntityProps) => {\n return <div className='flex flex-col gap-6'>{renderEntity(entity)}</div>\n}\n","import { useMemo, useState } from 'react'\nimport type { Tab } from './model'\nimport { RenderEntity, Tabs } from './ui'\nimport { Heading, ResponsiveContainer } from '$/shared/ui'\n\nexport type UsefulInfoProps = {\n headline: string\n tabs: Tab[]\n}\n\nexport const UsefulInfo = ({ headline, tabs }: UsefulInfoProps) => {\n const [activeTab, setActiveTab] = useState(0)\n\n const tabsNames = useMemo(() => tabs?.map((tab) => tab?.tabName), [tabs]) ?? []\n\n if (!tabs || tabs?.length === 0) return null\n\n return (\n <section id='useful-info' className='pb-[64px] desktop:pb-20'>\n <ResponsiveContainer>\n <Heading as='h2'>{headline}</Heading>\n <div className='mt-6 flex flex-col gap-2 desktop:mt-12'>\n <Tabs tabsNames={tabsNames} activeTab={activeTab} setActiveTab={setActiveTab} />\n </div>\n <div className='mt-6 flex flex-col gap-6'>\n {tabs?.[activeTab]?.contents?.map((entity, index) => <RenderEntity key={index} {...entity} />)}\n </div>\n </ResponsiveContainer>\n </section>\n )\n}\n","import { type Control, type FieldValues } from 'react-hook-form'\nimport type { FieldElement } from './model/types'\nimport { Controlled } from '$/shared/ui'\n\ntype FieldMapperProps<TFieldValues extends FieldValues> = {\n control: Control<TFieldValues>\n fields: FieldElement<TFieldValues>[]\n}\n\nexport const FieldMapper = <TFieldValues extends FieldValues>({ fields, control }: FieldMapperProps<TFieldValues>) => {\n return fields.map(({ type, args }) => {\n const Component = Controlled[type] as React.ComponentType<typeof args>\n\n return <Component {...args} key={args.name} control={control as Control} />\n })\n}\n"],"names":["itemConfig","cva","BenefitItem","description","title","img","mobileImg","classes","withButton","buttonText","intent","cardColor","isDesktop","useDevice","button","jsx","Fragment","Button","cn","scrollToElement","jsxs","Heading","gridConfig","Benefit","heading","cards","ResponsiveContainer","card","renderContentVariant","config","variant","details","PhoneView","createPhoneNumber","Header","logoPath","logoType","BannerButtonsGroup","buttonsConfig","className","withSecondaryBtn","BannerImageFull","headTitle","subtitle","advantages","imgMobile","imgDesktop","color","isMobile","imgMob","TypeGuards","imgDesk","advantage","_a","Advantages","BannerWithSeparateImg","withAdvantages","Banner","props","advantagesList","SocialLinks","socialsLinks","iconName","href","Icon","PhonesBlock","phones","phone","text","NavLinks","column","groupLabel","links","path","label","CustomLink","Copyright","FooterLogo","SiteMap","Ligal","isExpanded","setIsExpanded","React","isClamped","setIsClamped","ligalRef","element","prev","Footer","withSocialsLinks","withPhones","withNavLinks","withCopyright","withSiteMap","withLigal","ligal","copyright","SingleStep","index","withTitles","Stepper","headline","stepsList","Section","step","titleConfig","listItemConfig","containerImgConfig","TextItem","data","popover","Popover","Title","desktopHidden","mobileHidden","TextList","LongBanner","buttonConfig","imageComponent","isFourItems","isTwoItems","AUTH_PROVIDER_MODE","AuthWrapper","children","isLoading","loaderProps","Loader","EsiaLogo","Links","mainLink","subLink","MobileId","badge","Badge","Esia","renderProvider","esiaConfig","mobileIdConfig","HeadWrapper","AuthProvider","LinksList","ColumnGroup","mobileAccordionProps","Accordion","_b","_c","Column","group","columnsWrapper","InterLinking","rootAccordionProps","columns","Tabs","tabsNames","activeTab","setActiveTab","tabName","tabIndex","isHtml","entity","isDocuments","isTable","Html","html","content","transformMobileRows","rows","headings","row","cell","tableConfig","headingsConfig","DesktopHeadings","columnsVariant","ceil","desktopRowConfig","DesktopRow","tableVariant","rowIndex","cellIndex","mobileRowConfig","MobileRow","headingsExist","TableBody","formattedRows","Table","iconsMap","iconConfig","Document","size","url","iconType","Documents","docs","doc","renderEntity","htmlDetails","documentsDetails","tableDetails","RenderEntity","UsefulInfo","tabs","useState","useMemo","tab","FieldMapper","fields","control","type","args","Component","Controlled"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"widget.js","sources":["../lib/widgets/benefit/ui/BenefitItem.tsx","../lib/widgets/benefit/Benefit.tsx","../lib/widgets/header/model/helpers.tsx","../lib/widgets/header/Header.tsx","../lib/widgets/banner/ui/BannerButtonsGroup.tsx","../lib/widgets/banner/ui/banners/BannerImageFull.tsx","../lib/widgets/banner/ui/banners/BannerWithSeparateImg.tsx","../lib/widgets/banner/Banner.tsx","../lib/widgets/advantages/Advantages.tsx","../lib/widgets/footer/ui/SocialLinks.tsx","../lib/widgets/footer/ui/PhonesBlock.tsx","../lib/widgets/footer/ui/NavLinks.tsx","../lib/widgets/footer/ui/Copyright.tsx","../lib/widgets/footer/ui/FooterLogo.tsx","../lib/widgets/footer/ui/SiteMap.tsx","../lib/widgets/footer/ui/Ligal.tsx","../lib/widgets/footer/Footer.tsx","../lib/widgets/stepper/ui/SingleStep.tsx","../lib/widgets/stepper/Stepper.tsx","../lib/widgets/longBanner/model/cva.ts","../lib/widgets/longBanner/ui/TextItem.tsx","../lib/widgets/longBanner/ui/Title.tsx","../lib/widgets/longBanner/ui/TextList.tsx","../lib/widgets/longBanner/LongBanner.tsx","../lib/widgets/authProvider/model/helpers.ts","../lib/widgets/authProvider/ui/ui/AuthWrapper.tsx","../lib/widgets/authProvider/ui/ui/EsiaLogo.tsx","../lib/widgets/authProvider/ui/ui/Links.tsx","../lib/widgets/authProvider/ui/MobileId.tsx","../lib/widgets/authProvider/ui/Esia.tsx","../lib/widgets/authProvider/AuthProvider.tsx","../lib/widgets/interLinking/ui/LinksList.tsx","../lib/widgets/interLinking/ui/ColumnGroup.tsx","../lib/widgets/interLinking/ui/Column.tsx","../lib/widgets/interLinking/InterLinking.tsx","../lib/widgets/usefulInfo/ui/Tabs.tsx","../lib/widgets/usefulInfo/model/utils.ts","../lib/widgets/usefulInfo/ui/subEntities/html/Html.tsx","../lib/widgets/usefulInfo/ui/subEntities/table/model/utils.ts","../lib/widgets/usefulInfo/ui/subEntities/table/ui/DesktopHeadings.tsx","../lib/widgets/usefulInfo/ui/subEntities/table/ui/DesktopRow.tsx","../lib/widgets/usefulInfo/ui/subEntities/table/ui/MobileRow.tsx","../lib/widgets/usefulInfo/ui/subEntities/table/ui/TableBody.tsx","../lib/widgets/usefulInfo/ui/subEntities/table/Table.tsx","../lib/widgets/usefulInfo/ui/subEntities/documents/ui/document/model/utils.ts","../lib/widgets/usefulInfo/ui/subEntities/documents/ui/document/Document.tsx","../lib/widgets/usefulInfo/ui/subEntities/documents/Documents.tsx","../lib/widgets/usefulInfo/ui/RenderEntity.tsx","../lib/widgets/usefulInfo/UsefulInfo.tsx","../lib/widgets/fieldMapper/FieldMapper.tsx"],"sourcesContent":["import { type ReactElement } from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { useDevice } from '$/shared/hooks'\nimport { Button, Heading } from '$/shared/ui'\nimport { cn, scrollToElement } from '$/shared/utils'\nimport { type AllowedBannerBackgroundColor } from '$/widgets/benefit/model'\n\nexport type BenefitItemClasses = {\n root?: string\n button?: string\n wrapper?: string\n textContainer?: string\n description?: 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 intent: {\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 VariantProps<typeof itemConfig> {\n title: string\n description: string | ReactElement\n img?: string\n mobileImg?: boolean\n classes?: BenefitItemClasses\n withButton?: boolean\n buttonText?: string\n cardColor?: AllowedBannerBackgroundColor\n}\n\nexport const BenefitItem = ({\n description,\n title,\n img,\n mobileImg,\n classes,\n withButton,\n buttonText,\n intent,\n cardColor\n}: BenefitItemProps) => {\n const { isDesktop } = useDevice()\n\n const button = (\n <>\n <Button\n intent='primary'\n className={cn('desktop:w-[200px]', classes?.button)}\n onClick={() => scrollToElement('personal_form')}\n size='lg'\n >\n {buttonText}\n </Button>\n </>\n )\n\n return (\n <li\n key={img}\n className={cn(itemConfig({ intent }), { 'pb-0': mobileImg }, { 'pb-12': !mobileImg }, cardColor, 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 <Heading as='h4' className={cn('desktop:desk-title-bold-s', classes?.title)}>\n {title}\n </Heading>\n <p className={cn('mob-body-regular-l text-icon-blue-grey-800 desktop:desk-body-regular-l', classes?.description)}>\n {description}\n </p>\n </div>\n {withButton && isDesktop && button}\n </div>\n\n {(mobileImg || isDesktop) && img && (\n <div className={cn('flex w-full justify-end', classes?.imgContainer)}>\n <img className={cn('h-[246px] object-cover', classes?.img)} src={img} alt={title} />\n </div>\n )}\n </li>\n )\n}\n","'use client'\n\nimport { type ReactElement } from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { BenefitItem, type BenefitItemClasses, type BenefitItemProps } from './ui/BenefitItem'\nimport { Heading, ResponsiveContainer } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type BenefitClasses = {\n root?: string\n container?: string\n item?: BenefitItemClasses\n heading?: string\n grid?: string\n}\n\nconst gridConfig = cva('grid gap-4', {\n variants: {\n intent: {\n twoCards: 'grid-cols-1 mobile:grid-rows-[repeat(2,400px)] desktop:grid-cols-2',\n threeCards: 'grid-cols-1 desktop:grid-cols-2',\n fourCards: 'grid-cols-1 mobile:grid-rows-[400px,1fr,1fr,400px] desktop:grid-cols-3'\n }\n }\n})\n\nexport interface BenefitProps extends VariantProps<typeof gridConfig> {\n heading: string | ReactElement\n cards: BenefitItemProps[]\n classes?: BenefitClasses\n}\n\nexport const Benefit = ({ heading, cards, classes, intent }: BenefitProps) => {\n return (\n <section id='benefit' className={cn('pb-20', classes?.root)}>\n <ResponsiveContainer className={classes?.container}>\n <Heading className={cn('mb-8', classes?.heading)} as='h2'>\n {heading}\n </Heading>\n <ul className={cn(gridConfig({ intent }), classes?.grid)}>\n {cards?.map((card) => <BenefitItem intent={intent} key={card.img} classes={classes?.item} {...card} />)}\n </ul>\n </ResponsiveContainer>\n </section>\n )\n}\n","import type { HeaderProps } from './types'\nimport { Button, PhoneView } from '$/shared/ui'\nimport { createPhoneNumber } from '$/shared/utils'\n\nexport const renderContentVariant = (config: HeaderProps['config']) => {\n const { variant, details } = config\n switch (variant) {\n case 'withButton':\n return (\n <Button intent='secondary' size='sm' {...details}>\n {details?.children || 'Оформить заявку'}\n </Button>\n )\n case 'withPhone':\n return <PhoneView classes={{ root: 'items-end' }} {...details} phone={createPhoneNumber(details.phone)} />\n default:\n return null\n }\n}\n","import { renderContentVariant } from './model/helpers'\nimport type { HeaderProps } from './model/types'\nimport { brandLogos, ResponsiveContainer } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport const Header = ({ logoPath = '/', logoType = 'main', config, classes }: HeaderProps) => {\n return (\n <header\n id='header'\n className={cn('flex h-[64px] items-center justify-center bg-color-white desktop:h-[72px]', classes?.header)}\n >\n <ResponsiveContainer className={cn(classes?.container)}>\n <div className={cn('flex items-center justify-between gap-5', classes?.wrapper)}>\n <a\n href={logoPath}\n aria-label='logo'\n target='_blank'\n rel='noreferrer'\n className={cn(\n 'flex items-center justify-center [&_svg]:w-[132px] desktop:[&_svg]:h-[32px] desktop:[&_svg]:w-[192px]',\n classes?.logo\n )}\n >\n {brandLogos[logoType]}\n </a>\n {renderContentVariant(config)}\n </div>\n </ResponsiveContainer>\n </header>\n )\n}\n","import { type ButtonsConfig } from '../model'\nimport { Button } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport interface BannerButtonsGroupClasses {\n group?: string\n primary?: string\n secondary?: string\n}\ninterface BannerButtonsGroupProps {\n buttonsConfig: ButtonsConfig\n classes?: Partial<BannerButtonsGroupClasses>\n className?: string\n}\n\nexport const BannerButtonsGroup = ({ buttonsConfig, classes, className }: BannerButtonsGroupProps) => {\n const withSecondaryBtn = buttonsConfig?.secondary && buttonsConfig.secondary.children\n\n return (\n <div\n data-id='banner-buttons-group'\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': withSecondaryBtn },\n classes?.group,\n className\n )}\n >\n <Button intent='primary' {...buttonsConfig.primary} isFull className={cn('desktop:max-w-[216px]', classes?.primary)}>\n {buttonsConfig.primary.children}\n </Button>\n {withSecondaryBtn && (\n <Button\n intent='secondary'\n {...buttonsConfig?.secondary}\n isFull\n className={cn('desktop:max-w-[216px]', classes?.secondary)}\n >\n {buttonsConfig?.secondary?.children}\n </Button>\n )}\n </div>\n )\n}\n","'use client'\n\nimport { BannerButtonsGroup } from '../BannerButtonsGroup'\nimport { useDevice } from '$/shared/hooks'\nimport { ResponsiveContainer } from '$/shared/ui'\nimport { cn, TypeGuards } from '$/shared/utils'\nimport { Advantages, type BannerProps } from '$/widgets'\n\nexport const BannerImageFull = ({\n headTitle,\n subtitle,\n buttonsConfig,\n advantages,\n classes,\n imgMobile,\n imgDesktop,\n color\n}: Omit<BannerProps, 'bannerVariant'>) => {\n const { isDesktop, isMobile } = useDevice()\n\n const imgMob =\n imgMobile && 'url' in imgMobile && TypeGuards.isObject(imgMobile) ? (\n <img className='h-full w-full object-cover object-center' alt='Картинка баннера' src={imgMobile.url} />\n ) : (\n imgMobile\n )\n\n const imgDesk =\n imgDesktop && 'url' in imgDesktop && TypeGuards.isObject(imgDesktop) ? (\n <img className='h-full w-full object-cover object-center' alt='Картинка баннера' src={imgDesktop.url} />\n ) : (\n imgDesktop\n )\n\n const advantage = (\n <div\n className={cn(\n 'flex items-center justify-center pt-4 desktop:absolute desktop:bottom-[-50px] desktop:right-1/2 desktop:translate-x-1/2 desktop:pt-0',\n classes?.advantageContainer\n )}\n >\n {advantages?.config.details && advantages?.config.details?.length > 0 && <Advantages {...advantages} />}\n </div>\n )\n\n return (\n <>\n <section\n style={{ backgroundColor: color ?? '#d9edff' }}\n data-test-id='banner'\n className={cn('relative h-[552px] desktop:h-[456px]', classes?.root)}\n >\n <div className='absolute bottom-0 left-0 right-0 top-0 z-[-1] mx-auto h-full max-w-[1920px] desktop:h-[456px]'>\n {isMobile ? imgMob : imgDesk}\n </div>\n <ResponsiveContainer className={cn('h-full', classes?.container)}>\n <div className={cn('flex h-full', classes?.wrapper)}>\n <div className={cn('flex w-[328px] flex-col gap-10 pt-6 desktop:w-full desktop:pt-20', classes?.textBlock)}>\n <div className='flex flex-col gap-4'>\n <div\n dangerouslySetInnerHTML={{ __html: headTitle }}\n className={cn('mob-headline-bold-m text-color-dark desktop:desk-headline-bold-l', classes?.title)}\n />\n <div\n dangerouslySetInnerHTML={{ __html: subtitle }}\n className={cn('desk-body-regular-l text-color-dark', classes?.subtitle)}\n />\n </div>\n <BannerButtonsGroup className='self-end desktop:self-center' buttonsConfig={buttonsConfig} classes={classes} />\n </div>\n </div>\n\n {isDesktop && advantage}\n </ResponsiveContainer>\n </section>\n {isMobile && advantage}\n </>\n )\n}\n","import { BannerButtonsGroup } from '../BannerButtonsGroup'\nimport { useDevice } from '$/shared/hooks'\nimport { ResponsiveContainer } from '$/shared/ui'\nimport { cn, TypeGuards } from '$/shared/utils'\nimport { Advantages, type BannerProps } from '$/widgets'\n\nexport const BannerWithSeparateImg = ({\n headTitle,\n subtitle,\n buttonsConfig,\n advantages,\n classes,\n imgMobile,\n withAdvantages,\n imgDesktop,\n color\n}: Omit<BannerProps, 'bannerVariant'>) => {\n const { isDesktop, isMobile } = useDevice()\n\n const imgMob =\n imgMobile && 'url' in imgMobile && TypeGuards.isObject(imgMobile) ? (\n <img className='w-full object-contain' alt='Картинка баннера' src={imgMobile.url} />\n ) : (\n imgMobile\n )\n\n const imgDesk =\n imgDesktop && 'url' in imgDesktop && TypeGuards.isObject(imgDesktop) ? (\n <img className='w-full object-contain' alt='Картинка баннера' src={imgDesktop.url} />\n ) : (\n imgDesktop\n )\n\n const advantage = (\n <div\n className={cn(\n 'flex items-center justify-center rounded-md bg-color-blue-grey-100 p-4 pb-8 desktop:absolute desktop:bottom-[-50px] desktop:right-1/2 desktop:translate-x-1/2 desktop:p-0',\n classes?.advantageContainer\n )}\n >\n {advantages?.config.details && advantages?.config.details?.length > 0 && <Advantages {...advantages} />}\n </div>\n )\n\n return (\n <>\n <section\n style={{ backgroundColor: color ?? '#d9edff' }}\n data-test-id='banner'\n className={cn('bg-banner-skyblue-300 desktop:h-[456px]', classes?.root)}\n >\n <ResponsiveContainer className={cn('relative', classes?.container)}>\n <div className={cn('flex flex-col desktop:flex-row desktop:justify-between', classes?.wrapper)}>\n <div className='flex flex-col desktop:gap-10 desktop:pt-20'>\n <div className={cn('flex flex-col gap-4 pt-6 desktop:pt-0', classes?.textBlock)}>\n <div\n dangerouslySetInnerHTML={{ __html: headTitle }}\n className={cn('mob-headline-bold-m text-color-dark desktop:desk-headline-bold-l', classes?.title)}\n />\n <div\n dangerouslySetInnerHTML={{ __html: subtitle }}\n className={cn('desk-body-regular-l text-color-dark', classes?.subtitle)}\n />\n </div>\n <BannerButtonsGroup buttonsConfig={buttonsConfig} classes={classes} />\n </div>\n\n <div className={cn('flex h-[356px] justify-center desktop:h-[456px] desktop:w-[550px]', classes?.imageContainer)}>\n {isMobile ? imgMob : imgDesk}\n </div>\n </div>\n\n {isDesktop && withAdvantages && advantage}\n </ResponsiveContainer>\n </section>\n {isMobile && withAdvantages && advantage}\n </>\n )\n}\n","'use client'\n\nimport { type ReactElement } from 'react'\nimport { type AdvantageClasses, type AdvantagesProps } from '../advantages/Advantages'\nimport { type BackgroundBannerColorsValues } from './model/constants'\nimport { type BannerClasses, type ButtonsConfig, type ImgBanner } from './model/types'\nimport { BannerImageFull, BannerWithSeparateImg } from './ui'\n\nexport interface BannerProps {\n headTitle: string | ReactElement\n subtitle: string | ReactElement\n imgDesktop: ImgBanner\n imgMobile: ImgBanner\n buttonsConfig: ButtonsConfig\n advantages?: AdvantagesProps\n classes?: BannerClasses & {\n advantages?: AdvantageClasses\n }\n withAdvantages?: boolean\n variant?: 'separateImg' | 'fullImg'\n color?: BackgroundBannerColorsValues\n}\n\nexport const Banner = ({ variant, ...props }: BannerProps) => {\n switch (variant) {\n case 'separateImg':\n return <BannerWithSeparateImg {...props} />\n case 'fullImg':\n return <BannerImageFull {...props} />\n default:\n return <BannerWithSeparateImg {...props} />\n }\n}\n","'use client'\n\nimport type { AdvantageItem } from './model'\nimport { Heading } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport interface AdvantageClasses {\n root?: string\n item?: string\n title?: string\n description?: string\n}\n\nexport interface AdvantagesProps {\n config: {\n variant: 'threeCards' | 'fourCards'\n details: AdvantageItem[]\n }\n classes?: AdvantageClasses\n}\n\nexport const Advantages = ({ config, classes }: AdvantagesProps) => {\n const { variant, details: advantagesList } = config\n\n return (\n <div\n id='advantages'\n className={cn(\n 'm-auto flex w-full min-w-[328px] max-w-[636px] flex-col gap-8 rounded-md bg-color-white p-6 shadow-sm desktop:w-full desktop:flex-row desktop:items-start desktop:gap-0 desktop:p-0 desktop:py-6',\n { 'desktop:max-w-[860px]': variant === 'threeCards' },\n { 'desktop:max-w-[1140px]': variant === 'fourCards' },\n classes?.root\n )}\n >\n {advantagesList?.map(({ title, description }) => (\n <div\n key={title}\n className={cn(\n 'after:content-[\" \"] relative flex h-full w-full flex-col gap-1 after:absolute after:-bottom-4 after:left-1/2 after:h-[1px] after:w-full after:-translate-x-1/2 after:bg-color-blue-grey-300 last:after:hidden desktop:w-[285px] desktop:px-8 desktop:after:bottom-auto desktop:after:left-auto desktop:after:right-0 desktop:after:top-1/2 desktop:after:h-10 desktop:after:w-[1px] desktop:after:-translate-y-1/2 desktop:after:translate-x-0',\n classes?.item\n )}\n >\n <Heading as='h4' className={cn('text-color-dark', classes?.title)}>\n {title}\n </Heading>\n <p className={cn('desk-body-regular-l text-color-secondary', classes?.description)}>{description}</p>\n </div>\n ))}\n </div>\n )\n}\n","import type { FooterSocialLinks } from '../model/types'\nimport { Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\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 }) => (\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 >\n <Icon name={iconName} className={cn('h-full w-full text-icon-white', classes?.socialIcon)} />\n </a>\n ))}\n </div>\n )\n}\n","import type { FooterPhones } from '../model/types'\nimport { PhoneView } from '$/shared/ui'\nimport { cn, createPhoneNumber } from '$/shared/utils'\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 key={phone}\n phone={createPhoneNumber(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","import type { Config } from '../model/types'\nimport { CustomLink } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\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 config: Config\n}\n\nexport const NavLinks = ({ classes, config }: NavLinksProps) => {\n const { details } = config || {}\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 }) => (\n <CustomLink\n key={label}\n href={path}\n aria-label={label}\n intent='white'\n classes={{\n link: classes?.navLink,\n icon: classes?.navLinkIcon\n }}\n >\n {label}\n </CustomLink>\n ))}\n </div>\n </div>\n ))\n )}\n </div>\n )\n}\n","import { cn } from '$/shared/utils'\n\nexport type CopyrightClasses = {\n copyRight?: string\n}\n\ninterface CopyrightProps {\n text: string\n classes?: CopyrightClasses\n}\n\nexport const Copyright = ({ text, classes }: CopyrightProps) => {\n return (\n <div\n className={cn('desk-body-regular-m text-color-footer', classes?.copyRight)}\n dangerouslySetInnerHTML={{ __html: text }}\n ></div>\n )\n}\n","import { Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type FooterLogoClasses = {\n footerLogo?: string\n footerLogoIcon?: string\n}\n\nexport interface FooterLogoProps {\n classes?: FooterLogoClasses\n}\n\nexport const FooterLogo = ({ classes }: FooterLogoProps) => {\n return (\n <a\n aria-label='logo'\n href='https://sovcombank.ru/'\n className={cn('block h-[24px] w-[132px] desktop:h-[32px] desktop:w-[194px]', classes?.footerLogo)}\n >\n <Icon name='brandLogos/logoWhite' className={cn('size-full', classes?.footerLogoIcon)} />\n </a>\n )\n}\n","import { 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 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","'use client'\n\nimport * as React from 'react'\nimport { cn } from '$/shared/utils'\n\ntype LigalClasses = {\n ligalRoot?: string\n ligalText?: string\n ligalButton?: string\n}\n\nexport interface LigalProps {\n text: string\n classes?: LigalClasses\n}\n\nexport const Ligal = ({ text, classes }: LigalProps) => {\n const [isExpanded, setIsExpanded] = React.useState(false)\n const [isClamped, setIsClamped] = React.useState(false)\n const ligalRef = React.useRef<HTMLParagraphElement | null>(null)\n\n React.useEffect(() => {\n const element = ligalRef.current\n if (element) {\n setIsClamped(element.scrollHeight > element.clientHeight)\n }\n }, [])\n\n return (\n <div className={cn('mt-8 flex flex-col gap-4', classes?.ligalRoot)}>\n <div\n ref={ligalRef}\n className={cn('desk-body-regular-m text-color-footer', { 'line-clamp-3': !isExpanded }, classes?.ligalText)}\n dangerouslySetInnerHTML={{ __html: text }}\n />\n\n {isClamped && (\n <div\n tabIndex={0}\n role='button'\n onClick={() => setIsExpanded((prev) => !prev)}\n className={cn(\n 'desk-body-regular-l w-max cursor-pointer font-medium text-color-footer transition-colors hover:text-color-white',\n classes?.ligalButton\n )}\n >\n Подробнее\n </div>\n )}\n </div>\n )\n}\n","import type { Config, FooterClasses, FooterPhones, FooterRenderBlocks, FooterSocialLinks } from './model/types'\nimport { Copyright, FooterLogo, NavLinks, PhonesBlock, SiteMap, SocialLinks } from './ui'\nimport { Ligal } from './ui/Ligal'\nimport { ResponsiveContainer } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport interface FooterProps {\n classes?: FooterClasses\n renderBlocks?: FooterRenderBlocks\n socialsLinks?: FooterSocialLinks[]\n phones?: FooterPhones[]\n ligal?: string\n copyright?: string\n config: Config\n}\n\nexport const Footer = ({\n renderBlocks: {\n withSocialsLinks = true,\n withPhones = true,\n withNavLinks = true,\n withCopyright = true,\n withSiteMap = true,\n withLigal = true\n } = {},\n socialsLinks = [],\n phones = [],\n ligal,\n copyright = '',\n classes,\n config\n}: FooterProps) => {\n return (\n <footer id='footer' className={cn('w-full bg-color-footer py-8 desktop:py-10', classes?.root)}>\n <ResponsiveContainer className={cn(classes?.footerContainer)}>\n <div className={cn('mobile:pb-[176px]', classes?.footerWrapper)}>\n <div\n className={cn(\n 'flex flex-col items-start justify-between gap-4 border-b border-solid border-blue-grey-500 pb-6 desktop:flex-row desktop:gap-6 desktop:pb-8',\n classes?.footerHead\n )}\n >\n <div className={cn(classes?.footerSocialBlock)}>\n <FooterLogo classes={classes?.footerLogo} />\n {withSocialsLinks && <SocialLinks socialsLinks={socialsLinks} classes={classes?.socialLinks} />}\n </div>\n\n {withPhones && <PhonesBlock phones={phones} classes={classes?.phonesBlock} />}\n </div>\n\n {withNavLinks && <NavLinks config={config} classes={classes?.navLinks} />}\n {withLigal && <Ligal text={ligal || ''} />}\n\n <div\n className={cn(\n 'mt-6 flex flex-col-reverse items-start justify-between gap-4 desktop:mt-8 desktop:flex-row desktop:gap-6',\n classes?.footerBottom\n )}\n >\n {withCopyright && <Copyright text={copyright} classes={classes?.copyright} />}\n {withSiteMap && <SiteMap classes={classes?.siteMap} />}\n </div>\n </div>\n </ResponsiveContainer>\n </footer>\n )\n}\n","import type { SingleStepProps } from '../model/types'\nimport { Heading } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type SingleStepClasses = {\n singleStep?: string\n numeric?: string\n textBlock?: string\n title?: string\n description?: string\n}\n\nexport const SingleStep = ({ classes, index, variant, title, description }: SingleStepProps) => {\n const withTitles = variant === 'withTitleAndDescription' && title\n\n return (\n <div\n className={cn(\n 'flex w-[328px] max-w-[328px] flex-col gap-4 rounded-md border border-solid border-blue-grey-500 p-4 desktop:w-[348px] desktop:max-w-[348px] desktop:border-none desktop:p-0',\n classes?.singleStep\n )}\n >\n <div\n className={cn(\n 'mob-headline-bold-s flex size-10 items-center justify-center rounded-sm bg-color-blue-grey-500 text-color-white desktop:desk-title-bold-l desktop:size-12',\n classes?.numeric\n )}\n >\n {index}\n </div>\n\n <div className={cn('flex flex-col gap-2')}>\n {withTitles && (\n <Heading as='h4' className={cn('text-color-dark', classes?.title)}>\n {title}\n </Heading>\n )}\n <div\n dangerouslySetInnerHTML={{ __html: description ?? '' }}\n className={cn('desk-body-regular-l text-color-tetriary', classes?.description)}\n />\n </div>\n </div>\n )\n}\n","import { type HTMLAttributes } from 'react'\nimport type { SingleStepItem, StepperVariant } from './model/types'\nimport { SingleStep, type SingleStepClasses } from './ui/SingleStep'\nimport { Heading, ResponsiveContainer } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type StepperClasses = {\n root?: string\n container?: string\n wrapper?: string\n headline?: string\n stepsWrapper?: string\n step?: SingleStepClasses\n}\n\nexport interface StepperProps extends HTMLAttributes<HTMLDivElement> {\n headline: string\n config: {\n variant: StepperVariant\n details: SingleStepItem[]\n }\n classes?: StepperClasses\n}\n\nexport const Stepper = ({ headline, config, classes }: StepperProps) => {\n const { variant, details: stepsList } = config\n\n return (\n <section id='stepper' className={classes?.root}>\n <ResponsiveContainer className={classes?.container}>\n <div className={cn('flex flex-col gap-6 desktop:items-start desktop:gap-12', classes?.wrapper)}>\n <Heading as='h2' className={cn('text-color-dark', classes?.headline)}>\n {headline}\n </Heading>\n <div\n className={cn(\n 'flex w-full flex-col items-start gap-6 desktop:flex-row desktop:items-start desktop:gap-12',\n classes?.stepsWrapper\n )}\n >\n {stepsList?.map((step, index) => (\n <SingleStep variant={variant} key={step.description} {...step} index={index + 1} classes={classes?.step} />\n ))}\n </div>\n </div>\n </ResponsiveContainer>\n </section>\n )\n}\n","import { cva } from 'class-variance-authority'\r\n\r\nexport const titleConfig = cva('', {\r\n variants: {\r\n intent: {\r\n twoItems: 'mob-headline-bold-s mb-6 desktop:desk-headline-bold-m desktop:mb-12',\r\n fourItems: 'mob-title-bold-l desktop:desk-title-bold-l mb-8'\r\n },\r\n desktopHidden: {\r\n true: 'desktop:hidden'\r\n },\r\n mobileHidden: {\r\n true: 'mobile:hidden'\r\n }\r\n },\r\n defaultVariants: {\r\n intent: 'twoItems'\r\n }\r\n})\r\n\r\nexport const listItemConfig = cva('', {\r\n variants: {\r\n intent: {\r\n twoItems: '',\r\n fourItems: ''\r\n },\r\n withButton: {\r\n true: ''\r\n }\r\n },\r\n compoundVariants: [\r\n {\r\n intent: 'twoItems',\r\n withButton: true,\r\n class: 'mb-8 desktop:flex'\r\n },\r\n {\r\n intent: 'twoItems',\r\n withButton: false,\r\n class: 'desktop:flex'\r\n },\r\n {\r\n intent: 'fourItems',\r\n withButton: true,\r\n class: 'desktop:grid grid-rows-2 mb-8 desktop:gap-x-10 desktop:gap-y-4 grid-flow-col'\r\n },\r\n {\r\n intent: 'fourItems',\r\n withButton: false,\r\n class: 'desktop:grid grid-rows-2 desktop:gap-x-10 desktop:gap-y-4 grid-flow-col'\r\n }\r\n ]\r\n})\r\n\r\nexport const itemConfig = cva('border-blue-grey-500 pb-6 mobile:mb-6 mobile:border-b mobile:last:pb-0 mobile:last:mb-0', {\r\n variants: {\r\n intent: {\r\n twoItems:\r\n 'last:border-none relative desktop:first:after:top-1/2 desktop:first:after:-translate-y-1/2 desktop:first:after:right-0 desktop:first:after:content-[\"\"] desktop:first:after:block desktop:first:after:absolute desktop:first:after:w-[1px] desktop:first:after:h-[64px] desktop:first:after:bg-color-blue-grey-500 desktop:ml-8 desktop:pr-8 desktop:first:ml-0 desktop:last:pr-0 desktop:pb-3',\r\n fourItems: ' mobile:last:border-none desktop:w-[264px] desktop:odd:border-b desktop:pb-0 desktop:odd:pb-3'\r\n }\r\n },\r\n defaultVariants: {\r\n intent: 'twoItems'\r\n }\r\n})\r\n\r\nexport const containerImgConfig = cva('mobile:mx-auto mobile:mb-8, h-[172px] w-[280px] ', {\r\n variants: {\r\n intent: {\r\n twoItems: 'desktop:h-[232px] desktop:w-[500px]',\r\n fourItems: ' '\r\n },\r\n withButton: {\r\n true: true,\r\n false: false\r\n }\r\n },\r\n defaultVariants: {\r\n intent: 'twoItems'\r\n },\r\n compoundVariants: [\r\n {\r\n intent: 'fourItems',\r\n withButton: true,\r\n class: 'desktop:h-[360px] desktop:w-[500px]'\r\n },\r\n {\r\n intent: 'fourItems',\r\n withButton: false,\r\n class: 'desktop:h-[272px] desktop:w-[500px]'\r\n }\r\n ]\r\n})\r\n","import { itemConfig } from '../model/cva'\r\nimport { type TextItemProps } from '../model/types'\r\nimport { Icon, Popover } from '$/shared/ui'\r\nimport { cn } from '$/shared/utils'\r\n\r\nexport const TextItem = ({ data, intent }: TextItemProps) => {\r\n const {\r\n title,\r\n description,\r\n popover = {\r\n enabled: false\r\n }\r\n } = data\r\n return (\r\n <li className={cn(itemConfig({ intent }))}>\r\n <div className='desktop:max-w-[264px]'>\r\n <div className={cn('mb-2 flex items-center gap-2')}>\r\n <h4 className={cn('mob-title-bold-m text-color-dark')}>{title}</h4>\r\n {popover.enabled && (\r\n <Popover triggerElement={<Icon className={cn('size-5 text-icon-blue-grey-600')} name='info/helpCircle' />}>\r\n {popover?.text}\r\n </Popover>\r\n )}\r\n </div>\r\n\r\n <div className={cn('mob-body-regular-l text-color-secondary')} dangerouslySetInnerHTML={{ __html: description }} />\r\n </div>\r\n </li>\r\n )\r\n}\r\n","import { type ReactElement } from 'react'\r\nimport { titleConfig } from '../model/cva'\r\nimport { type LongBannerConfig } from '../model/types'\r\nimport { cn } from '$/shared/utils'\r\n\r\ninterface TitleProps {\r\n intent: LongBannerConfig['intent']\r\n headline: string | ReactElement\r\n desktopHidden?: boolean\r\n mobileHidden?: boolean\r\n}\r\n\r\nexport const Title = ({ intent, headline, desktopHidden = false, mobileHidden = false }: TitleProps) => {\r\n return <h2 className={cn(titleConfig({ intent, desktopHidden, mobileHidden }))}>{headline}</h2>\r\n}\r\n","import { listItemConfig } from '../model/cva'\r\nimport { type Details, type LongBannerConfig } from '../model/types'\r\nimport { TextItem } from './TextItem'\r\nimport { cn } from '$/shared/utils'\r\n\r\ninterface ListItemsProps {\r\n details: Details[]\r\n intent: LongBannerConfig['intent']\r\n withButton: boolean\r\n}\r\n\r\nexport const TextList = ({ details, intent, withButton }: ListItemsProps) => {\r\n return (\r\n <ul className={cn(listItemConfig({ intent, withButton }))}>\r\n {details?.map((element, index) => <TextItem intent={intent} data={element} key={index} />)}\r\n </ul>\r\n )\r\n}\r\n","import { type ReactElement } from 'react'\r\nimport { containerImgConfig } from './model/cva'\r\nimport { type ButtonConfig, type Config, type LongBannerClasses, type LongBannerConfig } from './model/types'\r\nimport { TextList, Title } from './ui'\r\nimport { Button, ResponsiveContainer } from '$/shared/ui'\r\nimport { cn } from '$/shared/utils'\r\n\r\nexport interface LongBannerProps extends LongBannerConfig {\r\n headline: string | ReactElement\r\n buttonConfig?: ButtonConfig\r\n config: Config\r\n imageComponent: ReactElement\r\n withButton?: boolean\r\n classes?: LongBannerClasses\r\n}\r\n\r\nexport const LongBanner = ({ headline, buttonConfig, withButton = false, config, imageComponent, classes }: LongBannerProps) => {\r\n const { intent = 'twoItems', details } = config\r\n const isFourItems = intent === 'fourItems'\r\n const isTwoItems = intent === 'twoItems'\r\n\r\n return (\r\n <section id='long-banner' className={cn(classes?.root)}>\r\n <ResponsiveContainer className={cn(classes?.container)}>\r\n {isTwoItems && <Title intent={intent} headline={headline} />}\r\n\r\n <div\r\n className={cn(\r\n 'bg-banner-skyblue-100 px-6 pb-8 pt-6 desktop:flex desktop:flex-row-reverse desktop:justify-between desktop:px-0 desktop:py-0 desktop:pl-12',\r\n classes?.contentContainer\r\n )}\r\n >\r\n {isFourItems && <Title intent={intent} headline={headline} desktopHidden={true} />}\r\n <div className={cn(containerImgConfig({ intent, withButton }), classes?.imgContainer)}>{imageComponent}</div>\r\n <div\r\n className={cn('desktop:flex desktop:flex-col desktop:justify-center desktop:py-10', classes?.textWithBtnContainer)}\r\n >\r\n {isFourItems && <Title intent={intent} headline={headline} mobileHidden={true} />}\r\n <TextList details={details} intent={intent} withButton={withButton} />\r\n {withButton && (\r\n <Button\r\n className={cn('w-full px-4 desktop:w-max', classes?.button)}\r\n size='lg'\r\n onClick={buttonConfig?.onClick}\r\n intent='secondary'\r\n >\r\n {buttonConfig?.text}\r\n </Button>\r\n )}\r\n </div>\r\n </div>\r\n </ResponsiveContainer>\r\n </section>\r\n )\r\n}\r\n","export const AUTH_PROVIDER_MODE = {\n ESIA: 'esia',\n MOBILE_ID: 'mobileId',\n COMBINE: 'combine'\n} as const\n","import { Loader, type LoaderProps } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type AuthWrapperClasses = {\n root?: string\n wrapper?: string\n}\n\nexport interface AuthWrapperProps {\n children: React.ReactElement\n classes?: AuthWrapperClasses\n isLoading?: boolean\n loaderProps?: LoaderProps\n}\n\nexport const AuthWrapper = ({ children, isLoading, classes, loaderProps }: AuthWrapperProps) => {\n return (\n <div\n tabIndex={0}\n className={cn(\n 'relative flex h-[90px] w-full max-w-[328px] items-center justify-center rounded-sm p-2 desktop:max-w-[524px]',\n 'bg-color-white outline outline-1 outline-warm-grey-200 transition-colors focus-visible:outline-primary-focus',\n classes?.root\n )}\n >\n <div\n className={cn(\n 'flex h-[74px] flex-1 cursor-pointer rounded-sm px-2 py-3 transition-colors desktop:px-4 desktop:py-3',\n 'bg-color-blue-grey-100 hover:bg-color-blue-grey-200 active:bg-color-blue-grey-300',\n { 'items-center': isLoading },\n classes?.wrapper\n )}\n >\n {isLoading ? <Loader position='static' classes={{ wrapper: 'size-8 m-auto' }} {...loaderProps} /> : children}\n </div>\n </div>\n )\n}\n","import { type SVGProps } from 'react'\n\nexport const EsiaLogo = ({ ...props }: SVGProps<SVGSVGElement>) => {\n return (\n <svg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg' {...props}>\n <path\n d='M30.3986 10.6149C30.2728 8.96576 29.014 6.85155 27.7553 5.83672C26.3398 4.79816 24.8691 3.83828 23.3497 2.96139C21.8418 2.06068 20.2871 1.24201 18.6923 0.508895C17.8404 0.15868 16.927 -0.0139306 16.007 0.00148264C15.0868 -0.0180029 14.1725 0.154761 13.3217 0.508895C11.7272 1.24253 10.1725 2.06119 8.66438 2.96139C6.23081 4.44134 4.25878 5.83672 4.25878 5.83672C3.22329 6.71008 2.43892 7.83418 1.97146 9.09195C1.87834 9.34251 2.07032 9.59987 2.33762 9.59987H4.2568C4.55401 9.59987 4.82321 9.43281 4.98085 9.18085C5.33539 8.61417 5.77902 8.10202 6.29948 7.66607C6.29948 7.66607 7.92774 6.52186 9.93709 5.3083C11.1823 4.57013 12.466 3.89884 13.7826 3.29725C14.485 3.00687 15.2399 2.8652 15.9998 2.88118C16.7593 2.86854 17.5136 3.01008 18.217 3.29725C19.5337 3.89841 20.8174 4.56972 22.0624 5.3083C23.317 6.02735 24.5313 6.81445 25.7 7.66607C26.7394 8.49823 27.7787 10.2319 27.8826 11.5841C27.8826 11.5841 28.1251 13.5952 28.1598 15.9772C28.1576 17.4483 28.0767 18.9183 27.9173 20.3807C27.6755 21.912 26.8879 23.3038 25.7 24.2988C25.7 24.2988 24.0718 25.4777 22.0624 26.6912C20.8172 27.4294 19.5335 28.1007 18.217 28.7023C17.5145 28.9927 16.7596 29.1343 15.9998 29.1184C15.2409 29.1343 14.4867 28.9963 13.7826 28.7127C12.4658 28.1115 11.1821 27.4402 9.93709 26.7016C7.92774 25.5228 6.29948 24.3092 6.29948 24.3092C5.84515 23.9454 5.39081 23.4094 5.01172 22.8082C4.85581 22.561 4.5896 22.3997 4.2973 22.3997H2.34718C2.07645 22.3997 1.88475 22.6629 1.98611 22.914C2.49249 24.168 3.37564 25.4212 4.25878 26.1332C4.25878 26.1332 6.23081 27.6132 8.66438 29.0508C10.1723 29.9515 11.7269 30.7702 13.3217 31.5033C14.1745 31.8492 15.088 32.0175 16.007 31.998C16.9273 32.0175 17.8416 31.8448 18.6923 31.4906C20.2869 30.757 21.8415 29.9383 23.3497 29.0381C25.7833 27.5582 27.7553 26.1205 27.7553 26.1205C29.1939 24.9072 30.1478 23.2098 30.4406 21.3424C30.6337 19.5589 30.7317 17.7663 30.7343 15.9723C30.6923 13.0673 30.3986 10.6149 30.3986 10.6149Z'\n fill='url(#paint0_linear_6493_452)'\n />\n <path\n d='M1.27985 12.4821C1.27985 12.1286 1.56638 11.8421 1.91985 11.8421H11.8398C12.1933 11.8421 12.4798 12.1286 12.4798 12.4821V14.4021C12.4798 14.7555 12.1933 15.0421 11.8398 15.0421H1.27985V12.4821Z'\n fill='#0066B3'\n />\n <path\n d='M1.27985 16.9618H21.4398C21.7933 16.9618 22.0798 17.2484 22.0798 17.6018V19.5218C22.0798 19.8752 21.7933 20.1618 21.4398 20.1618H1.91985C1.56638 20.1618 1.27985 19.8752 1.27985 19.5218V16.9618Z'\n fill='#EE2F53'\n />\n <defs>\n <linearGradient id='paint0_linear_6493_452' x1='16.0071' y1='0' x2='16.0071' y2='31.9996' gradientUnits='userSpaceOnUse'>\n <stop stopColor='#0066B3' />\n <stop offset='0.354167' stopColor='#0066B3' />\n <stop offset='0.6875' stopColor='#EE2F53' />\n <stop offset='1' stopColor='#EE2F53' />\n </linearGradient>\n </defs>\n </svg>\n )\n}\n","import type { SingleAuthSchema } from '../../model/types'\nimport { CustomLink } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type TLinksClasses = {\n linksWrapper?: string\n linksMainLink?: string\n linksSubLink?: string\n}\n\ninterface ILinksProps extends Pick<SingleAuthSchema, 'subLink' | 'mainLink'> {\n isMobile: boolean\n classes?: TLinksClasses\n}\n\nexport const Links = ({ mainLink, subLink, isMobile, classes }: ILinksProps) => {\n return (\n <div className={cn('flex flex-col', classes?.linksWrapper)}>\n <a\n href={mainLink.href}\n target='_blank'\n rel='noreferrer'\n className={cn(\n 'before:content=[\" \"] desk-body-medium-l z-[4] text-color-dark before:absolute before:left-1/2 before:top-1/2 before:h-full before:w-full before:-translate-x-1/2 before:-translate-y-1/2',\n classes?.linksMainLink\n )}\n >\n {isMobile ? mainLink.mobileTitle : mainLink.title}\n </a>\n\n {subLink?.text && subLink?.href && (\n <CustomLink\n intent='blue'\n withUnderline\n href={subLink?.href}\n target='_blank'\n rel='noreferrer'\n classes={{\n link: cn('w-max relative z-[6] p-0 desk-body-regular-m text-color-tetriary', classes?.linksSubLink)\n }}\n >\n {subLink?.text}\n </CustomLink>\n )}\n </div>\n )\n}\n","import { type TMobileIdProps } from '../model/types'\nimport { AuthWrapper, Links } from './ui/'\nimport { useDevice } from '$/shared/hooks'\nimport { Badge, Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport const MobileId = ({ mainLink, subLink, isLoading, badge, loaderProps, classes }: TMobileIdProps) => {\n const { isMobile } = useDevice()\n\n return (\n <AuthWrapper isLoading={isLoading} loaderProps={loaderProps} classes={classes?.authWrapper}>\n <div\n className={cn(\n 'flex flex-1 items-center justify-between gap-1',\n { 'justify-center': !badge && isMobile },\n classes?.innerWrapper\n )}\n >\n <div className={cn('flex items-center gap-1 desktop:gap-4', classes?.textContent)}>\n <div>\n <Icon name='logos/mts' className={cn('relative z-[9] size-7 desktop:size-8', classes?.mtsLogo)} />\n <Icon name='logos/megafon' className={cn('relative z-[8] -ml-4 size-7 desktop:size-8', classes?.megafonLogo)} />\n <Icon name='logos/beeline' className={cn('relative z-[7] -ml-4 size-7 desktop:size-8', classes?.beelineLogo)} />\n </div>\n <Links mainLink={mainLink} subLink={subLink} isMobile={isMobile} classes={classes?.links} />\n <Icon name='arrows/arrowRight' className={cn('mobile:hidden', classes?.arrowIcon)} />\n </div>\n {badge && <Badge className={cn('bg-color-positive', classes?.badge)}>{badge}</Badge>}\n </div>\n </AuthWrapper>\n )\n}\n","import type { TEsiaProps } from '../model/types'\nimport { AuthWrapper, EsiaLogo, Links } from './ui'\nimport { useDevice } from '$/shared/hooks'\nimport { Badge, Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport const Esia = ({ mainLink, subLink, isLoading, badge, loaderProps, classes }: TEsiaProps) => {\n const { isMobile } = useDevice()\n\n return (\n <AuthWrapper isLoading={isLoading} loaderProps={loaderProps} classes={classes?.authWrapper}>\n <div\n className={cn(\n 'flex flex-1 items-center justify-between gap-1',\n { 'justify-center': !badge && isMobile },\n classes?.innerWrapper\n )}\n >\n <div className={cn('flex items-center gap-1 desktop:gap-4', classes?.textContent)}>\n <EsiaLogo className={cn('size-7 desktop:size-8', classes?.esiaLogo)} />\n <Links mainLink={mainLink} subLink={subLink} isMobile={isMobile} classes={classes?.links} />\n <Icon name='arrows/arrowRight' className={cn('mobile:hidden', classes?.arrowIcon)} />\n </div>\n {badge && <Badge className={cn('bg-color-positive', classes?.badge)}>{badge}</Badge>}\n </div>\n </AuthWrapper>\n )\n}\n","import * as React from 'react'\nimport { AUTH_PROVIDER_MODE } from './model/helpers'\nimport type { AuthProviderProps } from './model/types'\nimport { Esia, MobileId } from './ui'\nimport { Badge } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nconst renderProvider = (props: AuthProviderProps): React.ReactElement => {\n switch (props.mode) {\n case AUTH_PROVIDER_MODE.ESIA:\n return <Esia {...props} />\n case AUTH_PROVIDER_MODE.MOBILE_ID:\n return <MobileId {...props} />\n case AUTH_PROVIDER_MODE.COMBINE:\n default:\n const { esiaConfig, mobileIdConfig, subtitle, badge, classes } = props\n\n const HeadWrapper = !subtitle && !badge ? React.Fragment : 'div'\n\n return (\n <div\n className={cn(\n 'flex w-[328px] flex-col items-center justify-center gap-2 rounded-sm bg-color-white px-2 py-4 outline outline-1 outline-warm-grey-200 desktop:w-[524px] desktop:p-4',\n classes?.root\n )}\n >\n <HeadWrapper className={cn('flex w-full items-center justify-between gap-2', classes?.topContent)}>\n {subtitle && <h5 className={cn('desk-body-regular-l flex flex-1 text-color-dark', classes?.subtitle)}>{subtitle}</h5>}\n {badge && <Badge className={cn('bg-color-positive', classes?.badge)}>{badge}</Badge>}\n </HeadWrapper>\n <div className={cn('grid w-full grid-cols-2 gap-2 desktop:gap-4', classes?.authWrapper)}>\n <Esia\n {...esiaConfig}\n classes={{\n root: 'p-0 outline-0 h-[74px]',\n arrowIcon: 'hidden',\n ...esiaConfig.classes\n }}\n />\n <MobileId\n {...mobileIdConfig}\n classes={{\n root: 'p-0 outline-0 h-[74px]',\n arrowIcon: 'hidden',\n ...mobileIdConfig.classes\n }}\n />\n </div>\n </div>\n )\n }\n}\n\nexport const AuthProvider = (props: AuthProviderProps) => {\n return renderProvider(props)\n}\n","import type { Link } from '../model/types'\nimport { CustomLink } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type LinksListClasses = {\n linksWrapper?: string\n linkText?: string\n linkIcon?: string\n}\n\nexport interface LinksListProps {\n links: Link[]\n classes?: LinksListClasses\n}\n\nexport const LinksList = ({ links, classes }: LinksListProps) => {\n return (\n <nav className={cn('flex flex-col gap-1', classes?.linksWrapper)}>\n {links?.map(({ path, label }) => (\n <CustomLink\n classes={{\n link: cn('w-max', classes?.linkText),\n icon: cn(classes?.linkIcon)\n }}\n intent='dark'\n key={path}\n href={path}\n >\n {label}\n </CustomLink>\n ))}\n </nav>\n )\n}\n","import type { Group } from '../model/types'\nimport { LinksList, type LinksListClasses } from './LinksList'\nimport { useDevice } from '$/shared/hooks'\nimport { Accordion, type AccordionProps, Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type ColumnGroupClasses = {\n columnGroup?: string\n columnGroupHeading?: string\n linksList?: LinksListClasses\n}\n\nexport interface ColumnGroupProps extends Group {\n mobileAccordionProps?: AccordionProps\n classes?: ColumnGroupClasses\n}\n\nexport const ColumnGroup = ({ groupLabel, links, mobileAccordionProps, classes }: ColumnGroupProps) => {\n const { isMobile } = useDevice()\n\n return (\n <div className={cn('flex flex-col gap-2', classes?.columnGroup)}>\n {!isMobile && (\n <>\n <h5 className={cn('mob-body-medium-l text-color-dark desktop:desk-body-medium-l', classes?.columnGroupHeading)}>\n {groupLabel}\n </h5>\n <LinksList key='desktop' links={links} classes={classes?.linksList} />\n </>\n )}\n\n {isMobile && (\n <Accordion\n defaultOpen\n label={groupLabel}\n icon={\n <Icon name='arrows/arrowRight' className={cn('rotate-90 transition-transform group-data-[state=open]:-rotate-90')} />\n }\n {...mobileAccordionProps}\n classes={{\n ...mobileAccordionProps?.classes,\n header: {\n trigger: cn('p-0 bg-color-blue-grey-100', mobileAccordionProps?.classes?.header?.trigger)\n },\n contentInner: cn('py-2 px-4', mobileAccordionProps?.classes?.contentInner)\n }}\n >\n <LinksList key='mobile' links={links} classes={classes?.linksList} />\n </Accordion>\n )}\n </div>\n )\n}\n","import type { Group } from '../model/types'\nimport { ColumnGroup, type ColumnGroupClasses } from './ColumnGroup'\nimport type { AccordionProps } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type ColumnClasses = {\n column?: string\n columnGroup?: ColumnGroupClasses\n}\n\nexport interface ColumnProps {\n column: Group[]\n mobileAccordionProps?: AccordionProps\n classes?: ColumnClasses\n}\n\nexport const Column = ({ column, mobileAccordionProps, classes }: ColumnProps) => {\n return (\n <div className={cn('flex flex-col gap-4 desktop:gap-6', classes?.column)}>\n {column?.map((group) => (\n <ColumnGroup key={group.groupLabel} {...mobileAccordionProps} {...group} classes={classes?.columnGroup} />\n ))}\n </div>\n )\n}\n","import { cva } from 'class-variance-authority'\nimport type { InterLinkingRoot } from './model/types'\nimport { Column, type ColumnClasses } from './ui'\nimport { Accordion, type AccordionProps, Heading, ResponsiveContainer } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nconst columnsWrapper = cva('grid gap-4 grid-cols-1', {\n variants: {\n variant: {\n twoCols: 'desktop:grid-cols-2',\n threeCols: 'desktop:grid-cols-3',\n fourCols: 'desktop:grid-cols-4'\n }\n },\n defaultVariants: {\n variant: 'fourCols'\n }\n})\n\nexport type InterLinkingClasses = {\n root?: string\n headline?: string\n columnsWrapper?: string\n column?: ColumnClasses\n}\n\nexport interface InterLinkingProps extends InterLinkingRoot {\n mobileAccordionProps?: Partial<AccordionProps>\n rootAccordionProps?: Partial<AccordionProps>\n classes?: InterLinkingClasses\n}\n\nexport const InterLinking = ({ config, headline, mobileAccordionProps, rootAccordionProps, classes }: InterLinkingProps) => {\n const { variant, details: columns } = config\n\n return (\n <section id='inter-linking' className={cn('min-w-full desktop:min-w-[1140px]', classes?.root)}>\n <ResponsiveContainer>\n <Accordion\n defaultOpen\n label={\n <Heading as='h4' className={cn('text-left', classes?.headline)}>\n {headline}\n </Heading>\n }\n {...rootAccordionProps}\n classes={{\n ...rootAccordionProps?.classes,\n header: {\n trigger: cn('bg-color-blue-grey-100', rootAccordionProps?.classes?.header?.trigger)\n },\n content: cn('max-w-full bg-color-blue-grey-100 relative', rootAccordionProps?.classes?.content)\n }}\n >\n <div className={cn(columnsWrapper({ variant: variant }), classes?.columnsWrapper)}>\n {columns?.map((column, index) => (\n <Column key={index} {...column} {...mobileAccordionProps} classes={classes?.column} />\n ))}\n </div>\n </Accordion>\n </ResponsiveContainer>\n </section>\n )\n}\n","import type { Dispatch, SetStateAction } from 'react'\nimport { cn } from '$/shared/utils'\n\nexport interface TabsProps {\n tabsNames?: string[]\n activeTab?: number\n setActiveTab: Dispatch<SetStateAction<number>>\n}\n\nexport const Tabs = ({ tabsNames, activeTab, setActiveTab }: TabsProps) => {\n return (\n <div className='hidden-scroll flex items-center gap-4 overflow-x-auto p-[6px]'>\n {tabsNames &&\n tabsNames.map((tabName, tabIndex) => (\n <button\n key={tabName}\n onClick={() => setActiveTab(tabIndex)}\n className={cn(\n 'desktop:kpy-3 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 focus:outline-primary-focus desktop:px-4 desktop:py-3',\n {\n 'bg-icon-primary-default text-color-white': activeTab === tabIndex\n }\n )}\n >\n {tabName}\n </button>\n ))}\n </div>\n )\n}\n","import 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","import type { EntityHtml } from '../../../model'\nimport { Accordion } from '$/shared/ui'\n\nexport const Html = ({ html, config }: EntityHtml) => {\n const content = <div dangerouslySetInnerHTML={{ __html: html ?? '' }} />\n\n return (\n <>\n {config && config?.isAccordion && config?.accordionTitle ? (\n <Accordion label={config?.accordionTitle}>{content}</Accordion>\n ) : (\n content\n )}\n </>\n )\n}\n","import { cva } from 'class-variance-authority'\nimport type { TableHeading, TableRow } from '../../../../model'\n\nexport const transformMobileRows = (rows: TableRow[], headings?: TableHeading[]) => {\n return {\n rows: rows?.map(({ row }) => ({\n row: row?.map((cell, index) => ({\n ...cell,\n heading: headings && headings[index]?.heading\n }))\n }))\n }\n}\n\nexport const tableConfig = cva('flex flex-col', {\n variants: {\n columnsVariant: {\n twoCols: 'w-full max-w-[656px]',\n threeCols: 'w-full max-w-[768px]'\n }\n }\n})\n","import { cva } from 'class-variance-authority'\nimport type { EntityTable } from '../../../../model'\nimport { cn } from '$/shared/utils'\n\nconst headingsConfig = cva('grid px-4 mb-4', {\n variants: {\n columnsVariant: {\n twoCols: 'grid-cols-2 gap-16',\n threeCols: 'grid-cols-3 gap-12'\n }\n }\n})\n\ninterface DesktopHeadingsProps {\n headings: EntityTable['headings']\n columnsVariant: EntityTable['columnsVariant']\n}\n\nexport const DesktopHeadings = ({ headings, columnsVariant }: DesktopHeadingsProps) => {\n return (\n <div className={cn(headingsConfig({ columnsVariant }))}>\n {headings?.map((ceil) => (\n <div key={ceil?.heading} className='text-color-secondary'>\n {ceil?.heading}\n </div>\n ))}\n </div>\n )\n}\n","import { cva } from 'class-variance-authority'\nimport type { EntityTable, TableRow } from '../../../../model'\nimport { cn } from '$/shared/utils'\n\ntype DesktopRowProps = {\n row: TableRow['row']\n tableVariant: EntityTable['tableVariant']\n columnsVariant: EntityTable['columnsVariant']\n rowIndex: number\n}\n\nconst desktopRowConfig = cva('grid items-center', {\n variants: {\n columnsVariant: {\n twoCols: 'grid-cols-2 gap-16',\n threeCols: 'grid-cols-3 gap-12'\n },\n tableVariant: {\n filled: 'px-4 py-3 even:bg-color-primary-light-default',\n separator: 'px-4 py-4 border-t border-solid border-warm-grey-200'\n }\n }\n})\n\nexport const DesktopRow = ({ row, tableVariant, columnsVariant, rowIndex }: DesktopRowProps) => {\n return (\n <div className={cn(desktopRowConfig({ columnsVariant, tableVariant }), { 'border-none': rowIndex === 0 })}>\n {row?.map(({ cell }, cellIndex) => (\n <div key={cellIndex} className={cn('desk-body-regular-l text-color-dark', { 'font-medium': cellIndex !== 0 })}>\n {cell && cell}\n </div>\n ))}\n </div>\n )\n}\n","import { cva } from 'class-variance-authority'\nimport type { EntityTable } from '../../../../model'\nimport { cn } from '$/shared/utils'\n\ninterface IFormattedRow {\n cell: string\n heading?: string\n}\n\nexport interface MobileRowProps {\n row: IFormattedRow[]\n tableVariant: EntityTable['tableVariant']\n columnsVariant: EntityTable['columnsVariant']\n headingsExist: boolean\n}\n\nconst mobileRowConfig = cva('flex flex-col gap-2', {\n variants: {\n tableVariant: {\n filled: 'px-4 py-4 odd:bg-color-primary-light-default',\n separator: 'py-4 border-t border-solid border-warm-grey-200 first:border-none'\n }\n }\n})\n\nexport const MobileRow = ({ row, tableVariant, columnsVariant, headingsExist }: MobileRowProps) => {\n return (\n <div className={cn(mobileRowConfig({ tableVariant }))}>\n {row?.map(({ cell, heading }, cellIndex) => (\n <div key={cellIndex} className={cn('grid grid-cols-2 gap-3', { 'grid-cols-1 gap-0': !headingsExist })}>\n {heading && <div className='mob-body-regular-l text-color-secondary'>{heading}</div>}\n <div\n className={cn('mob-body-regular-l text-color-dark', {\n 'font-medium':\n (cellIndex !== 0 && columnsVariant === 'twoCols') ||\n columnsVariant === 'threeCols' ||\n (columnsVariant === 'twoCols' && headingsExist)\n })}\n >\n {cell}\n </div>\n </div>\n ))}\n </div>\n )\n}\n","import type { EntityTable } from '../../../../model'\nimport { transformMobileRows } from '../model/utils'\nimport { DesktopHeadings } from './DesktopHeadings'\nimport { DesktopRow } from './DesktopRow'\nimport { MobileRow } from './MobileRow'\nimport { useDevice } from '$/shared/hooks'\n\ninterface TableBodyProps {\n tableVariant: EntityTable['tableVariant']\n rows: EntityTable['rows']\n headings?: EntityTable['headings']\n columnsVariant: EntityTable['columnsVariant']\n}\n\nexport const TableBody = ({ tableVariant, rows, headings, columnsVariant }: TableBodyProps) => {\n const { isDesktop } = useDevice()\n const formattedRows = transformMobileRows(rows, headings)?.rows ?? []\n const headingsExist = Boolean(headings && headings.length > 0)\n\n return (\n <div className='flex flex-col'>\n {isDesktop && headingsExist && <DesktopHeadings headings={headings} columnsVariant={columnsVariant} />}\n {isDesktop ? (\n <>\n {rows?.map((row, rowIndex) => (\n <DesktopRow key={rowIndex} rowIndex={rowIndex} tableVariant={tableVariant} columnsVariant={columnsVariant} {...row} />\n ))}\n </>\n ) : (\n <>\n {formattedRows?.map((row, rowIndex) => (\n <MobileRow\n key={rowIndex}\n headingsExist={headingsExist}\n tableVariant={tableVariant}\n columnsVariant={columnsVariant}\n {...row}\n />\n ))}\n </>\n )}\n </div>\n )\n}\n","import type { EntityTable } from '../../../model'\nimport { tableConfig } from './model/utils'\nimport { TableBody } from './ui/TableBody'\nimport { Accordion, Heading } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport const Table = ({ tableVariant, description, columnsVariant, config, rows, title, headings }: EntityTable) => {\n const content = (\n <div className={cn(tableConfig({ columnsVariant }))}>\n {title && (\n <Heading as='h4' className='mb-4 desktop:mb-6'>\n {title}\n </Heading>\n )}\n\n <TableBody tableVariant={tableVariant} rows={rows} headings={headings} columnsVariant={columnsVariant} />\n {description && (\n <div className='mt-2 [&&]:desk-body-regular-m desktop:mt-2' dangerouslySetInnerHTML={{ __html: description ?? '' }} />\n )}\n </div>\n )\n\n return (\n <>\n {config && config?.isAccordion && config?.accordionTitle ? (\n <Accordion label={config?.accordionTitle}>{content}</Accordion>\n ) : (\n content\n )}\n </>\n )\n}\n","import { cva } from 'class-variance-authority'\nimport type { SpritesMap } from '$/shared/ui'\n\nexport type IconNames = Extract<SpritesMap['files'], 'documentFilled' | 'documentOutline'>\n\nexport const iconsMap: Record<IconNames, `files/${IconNames}`> = {\n documentFilled: 'files/documentFilled',\n documentOutline: 'files/documentOutline'\n}\n\nexport const iconConfig = cva('size-8 transition-colors', {\n variants: {\n iconType: {\n documentOutline: 'text-icon-secondary-dark-default group-hover:text-icon-secondary-dark-hover',\n documentFilled: 'text-icon-primary-default group-hover:text-icon-primary-hover'\n }\n },\n defaultVariants: {\n iconType: 'documentOutline'\n }\n})\n","import { iconConfig, type IconNames, iconsMap } from './model/utils'\nimport { Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport interface DocumentProps {\n label: string\n size: string\n url: string\n iconType: IconNames\n}\n\nexport const Document = ({ label, size, url, iconType }: DocumentProps) => {\n return (\n <a\n href={url}\n target='_blank'\n rel='noreferrer'\n tabIndex={0}\n className={cn(\n 'group flex w-full cursor-pointer items-center gap-2 rounded-sm p-1 outline outline-2 outline-transparent transition-colors focus-within:outline-primary-focus'\n )}\n >\n <Icon name={iconsMap[iconType]} className={cn(iconConfig({ iconType }))} />\n <div className={cn('flex flex-1 flex-col')}>\n <p className={cn('desk-body-medium-l text-color-dark')}>{label}</p>\n <div className={cn('desk-body-regular-m text-color-disabled')}>{Number(size)} КБ</div>\n </div>\n </a>\n )\n}\n","import type { EntityDocuments } from '../../../model'\nimport { Document } from './ui/document'\nimport { Accordion, Heading } from '$/shared/ui'\n\n//TODO: ОПРЕДЕЛИТЬСЯ С РАЗМЕРОМ ЗАГОЛОВКА И КАКОЙ ИЗ НИХ ОСТАВЛЯТЬ\n\nexport const Documents = ({ docs, config, title, iconType, description }: EntityDocuments) => {\n const content = (\n <div className='flex max-w-[680px] flex-col'>\n {title && (\n <Heading as='h3' className='mb-4'>\n {title}\n </Heading>\n )}\n <div className='gap- flex flex-col gap-4'>\n {docs?.map((doc) => <Document iconType={iconType} key={doc.label} {...doc} />)}\n </div>\n\n {description && <div className='mt-4' dangerouslySetInnerHTML={{ __html: description ?? '' }} />}\n </div>\n )\n\n return (\n <>\n {config && config?.isAccordion && config?.accordionTitle ? (\n <Accordion label={config?.accordionTitle}>{content}</Accordion>\n ) : (\n content\n )}\n </>\n )\n}\n","import { type Entity, isDocuments, isHtml, isTable } from '../model'\nimport { Documents, Html, Table } from './subEntities'\n\nexport interface RenderEntityProps {\n entity: Entity\n}\n\nconst renderEntity = (entity: Entity) => {\n switch (true) {\n case isHtml(entity):\n return entity.details?.map((htmlDetails, index) => <Html key={index} {...htmlDetails} />)\n\n case isDocuments(entity):\n return entity.details?.map((documentsDetails, index) => <Documents key={index} {...documentsDetails} />)\n\n case isTable(entity):\n return entity.details?.map((tableDetails, index) => <Table key={index} {...tableDetails} />)\n\n default:\n return null\n }\n}\n\nexport const RenderEntity = ({ entity }: RenderEntityProps) => {\n return <div className='flex flex-col gap-6'>{renderEntity(entity)}</div>\n}\n","import { useMemo, useState } from 'react'\nimport type { Tab } from './model'\nimport { RenderEntity, Tabs } from './ui'\nimport { Heading, ResponsiveContainer } from '$/shared/ui'\n\nexport type UsefulInfoProps = {\n headline: string\n tabs: Tab[]\n}\n\nexport const UsefulInfo = ({ headline, tabs }: UsefulInfoProps) => {\n const [activeTab, setActiveTab] = useState(0)\n\n const tabsNames = useMemo(() => tabs?.map((tab) => tab?.tabName), [tabs]) ?? []\n\n if (!tabs || tabs?.length === 0) return null\n\n return (\n <section id='useful-info'>\n <ResponsiveContainer>\n <Heading as='h2'>{headline}</Heading>\n <div className='mt-6 flex flex-col gap-2 desktop:mt-12'>\n <Tabs tabsNames={tabsNames} activeTab={activeTab} setActiveTab={setActiveTab} />\n </div>\n <div className='mt-6 flex flex-col gap-6'>\n {tabs?.[activeTab]?.contents?.map((entity, index) => <RenderEntity key={index} {...entity} />)}\n </div>\n </ResponsiveContainer>\n </section>\n )\n}\n","import { type Control, type FieldValues } from 'react-hook-form'\nimport type { FieldElement } from './model/types'\nimport { Controlled } from '$/shared/ui'\n\ntype FieldMapperProps<TFieldValues extends FieldValues> = {\n control: Control<TFieldValues>\n fields: FieldElement<TFieldValues>[]\n}\n\nexport const FieldMapper = <TFieldValues extends FieldValues>({ fields, control }: FieldMapperProps<TFieldValues>) => {\n return fields.map(({ type, args }) => {\n const Component = Controlled[type] as React.ComponentType<typeof args>\n\n return <Component {...args} key={args.name} control={control as Control} />\n })\n}\n"],"names":["itemConfig","cva","BenefitItem","description","title","img","mobileImg","classes","withButton","buttonText","intent","cardColor","isDesktop","useDevice","button","jsx","Fragment","Button","cn","scrollToElement","jsxs","Heading","gridConfig","Benefit","heading","cards","ResponsiveContainer","card","renderContentVariant","config","variant","details","PhoneView","createPhoneNumber","Header","logoPath","logoType","BannerButtonsGroup","buttonsConfig","className","withSecondaryBtn","BannerImageFull","headTitle","subtitle","advantages","imgMobile","imgDesktop","color","isMobile","imgMob","TypeGuards","imgDesk","advantage","_a","Advantages","BannerWithSeparateImg","withAdvantages","Banner","props","advantagesList","SocialLinks","socialsLinks","iconName","href","Icon","PhonesBlock","phones","phone","text","NavLinks","column","groupLabel","links","path","label","CustomLink","Copyright","FooterLogo","SiteMap","Ligal","isExpanded","setIsExpanded","React","isClamped","setIsClamped","ligalRef","element","prev","Footer","withSocialsLinks","withPhones","withNavLinks","withCopyright","withSiteMap","withLigal","ligal","copyright","SingleStep","index","withTitles","Stepper","headline","stepsList","step","titleConfig","listItemConfig","containerImgConfig","TextItem","data","popover","Popover","Title","desktopHidden","mobileHidden","TextList","LongBanner","buttonConfig","imageComponent","isFourItems","isTwoItems","AUTH_PROVIDER_MODE","AuthWrapper","children","isLoading","loaderProps","Loader","EsiaLogo","Links","mainLink","subLink","MobileId","badge","Badge","Esia","renderProvider","esiaConfig","mobileIdConfig","HeadWrapper","AuthProvider","LinksList","ColumnGroup","mobileAccordionProps","Accordion","_b","_c","Column","group","columnsWrapper","InterLinking","rootAccordionProps","columns","Tabs","tabsNames","activeTab","setActiveTab","tabName","tabIndex","isHtml","entity","isDocuments","isTable","Html","html","content","transformMobileRows","rows","headings","row","cell","tableConfig","headingsConfig","DesktopHeadings","columnsVariant","ceil","desktopRowConfig","DesktopRow","tableVariant","rowIndex","cellIndex","mobileRowConfig","MobileRow","headingsExist","TableBody","formattedRows","Table","iconsMap","iconConfig","Document","size","url","iconType","Documents","docs","doc","renderEntity","htmlDetails","documentsDetails","tableDetails","RenderEntity","UsefulInfo","tabs","useState","useMemo","tab","FieldMapper","fields","control","type","args","Component","Controlled"],"mappings":";;;;;;AAkBA,MAAMA,IAAaC;AAAA,EACjB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,QAAQ;AAAA,QACN,UAAU;AAAA,QACV,YAAY;AAAA,QACZ,WAAW;AAAA,MAAA;AAAA,IACb;AAAA,EACF;AAEJ,GAaaC,IAAc,CAAC;AAAA,EAC1B,aAAAC;AAAA,EACA,OAAAC;AAAA,EACA,KAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,YAAAC;AAAA,EACA,YAAAC;AAAA,EACA,QAAAC;AAAA,EACA,WAAAC;AACF,MAAwB;AAChB,QAAA,EAAE,WAAAC,EAAU,IAAIC,EAAU,GAE1BC,IAEFC,gBAAAA,EAAA,IAAAC,YAAA,EAAA,UAAAD,gBAAAA,EAAA;AAAA,IAACE;AAAA,IAAA;AAAA,MACC,QAAO;AAAA,MACP,WAAWC,EAAG,qBAAqBX,KAAA,gBAAAA,EAAS,MAAM;AAAA,MAClD,SAAS,MAAMY,EAAgB,eAAe;AAAA,MAC9C,MAAK;AAAA,MAEJ,UAAAV;AAAA,IAAA;AAAA,EAAA,GAEL;AAIA,SAAAW,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MAEC,WAAWF,EAAGlB,EAAW,EAAE,QAAAU,EAAQ,CAAA,GAAG,EAAE,QAAQJ,EAAU,GAAG,EAAE,SAAS,CAACA,EAAa,GAAAK,GAAWJ,KAAA,gBAAAA,EAAS,IAAI;AAAA,MAE9G,UAAA;AAAA,QAAAa,gBAAAA,OAAC,SAAI,WAAWF,EAAG,4EAA4EX,KAAA,gBAAAA,EAAS,OAAO,GAC7G,UAAA;AAAA,UAAAa,gBAAAA,OAAC,SAAI,WAAWF,EAAG,uBAAuBX,KAAA,gBAAAA,EAAS,aAAa,GAC9D,UAAA;AAAA,YAACQ,gBAAAA,EAAAA,IAAAM,GAAA,EAAQ,IAAG,MAAK,WAAWH,EAAG,6BAA6BX,KAAA,gBAAAA,EAAS,KAAK,GACvE,UACHH,EAAA,CAAA;AAAA,YACAW,gBAAAA,MAAC,OAAE,WAAWG,EAAG,0EAA0EX,KAAA,gBAAAA,EAAS,WAAW,GAC5G,UACHJ,EAAA,CAAA;AAAA,UAAA,GACF;AAAA,UACCK,KAAcI,KAAaE;AAAA,QAAA,GAC9B;AAAA,SAEER,KAAaM,MAAcP,KAC3BU,gBAAAA,EAAA,IAAC,SAAI,WAAWG,EAAG,2BAA2BX,KAAA,gBAAAA,EAAS,YAAY,GACjE,gCAAC,OAAI,EAAA,WAAWW,EAAG,0BAA0BX,KAAA,gBAAAA,EAAS,GAAG,GAAG,KAAKF,GAAK,KAAKD,EAAO,CAAA,EACpF,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAlBGC;AAAA,EAoBP;AAEJ,GC5EMiB,IAAarB,EAAI,cAAc;AAAA,EACnC,UAAU;AAAA,IACR,QAAQ;AAAA,MACN,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,WAAW;AAAA,IAAA;AAAA,EACb;AAEJ,CAAC,GAQYsB,KAAU,CAAC,EAAE,SAAAC,GAAS,OAAAC,GAAO,SAAAlB,GAAS,QAAAG,QAE9CK,gBAAAA,EAAAA,IAAA,WAAA,EAAQ,IAAG,WAAU,WAAWG,EAAG,SAASX,KAAA,gBAAAA,EAAS,IAAI,GACxD,UAAAa,gBAAAA,EAAAA,KAACM,GAAoB,EAAA,WAAWnB,KAAA,gBAAAA,EAAS,WACvC,UAAA;AAAA,EAACQ,gBAAAA,EAAAA,IAAAM,GAAA,EAAQ,WAAWH,EAAG,QAAQX,KAAA,gBAAAA,EAAS,OAAO,GAAG,IAAG,MAClD,UACHiB,EAAA,CAAA;AAAA,EACAT,gBAAAA,EAAAA,IAAC,MAAG,EAAA,WAAWG,EAAGI,EAAW,EAAE,QAAAZ,EAAQ,CAAA,GAAGH,KAAA,gBAAAA,EAAS,IAAI,GACpD,UAAAkB,KAAA,gBAAAA,EAAO,IAAI,CAACE,MAASZ,gBAAAA,EAAAA,IAACb,GAAY,EAAA,QAAAQ,GAA+B,SAASH,KAAA,gBAAAA,EAAS,MAAO,GAAGoB,EAAtC,GAAAA,EAAK,GAAuC,GACtG,CAAA;AAAA,EAAA,CACF,EACF,CAAA,GCvCSC,IAAuB,CAACC,MAAkC;AAC/D,QAAA,EAAE,SAAAC,GAAS,SAAAC,EAAA,IAAYF;AAC7B,UAAQC,GAAS;AAAA,IACf,KAAK;AAED,aAAAf,gBAAAA,EAAA,IAACE,GAAO,EAAA,QAAO,aAAY,MAAK,MAAM,GAAGc,GACtC,WAASA,KAAA,gBAAAA,EAAA,aAAY,kBACxB,CAAA;AAAA,IAEJ,KAAK;AACH,aAAQhB,gBAAAA,EAAA,IAAAiB,GAAA,EAAU,SAAS,EAAE,MAAM,YAAA,GAAgB,GAAGD,GAAS,OAAOE,EAAkBF,EAAQ,KAAK,EAAG,CAAA;AAAA,IAC1G;AACS,aAAA;AAAA,EAAA;AAEb,GCbaG,KAAS,CAAC,EAAE,UAAAC,IAAW,KAAK,UAAAC,IAAW,QAAQ,QAAAP,GAAQ,SAAAtB,QAEhEQ,gBAAAA,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,IAAG;AAAA,IACH,WAAWG,EAAG,6EAA6EX,KAAA,gBAAAA,EAAS,MAAM;AAAA,IAE1G,UAACQ,gBAAAA,EAAA,IAAAW,GAAA,EAAoB,WAAWR,EAAGX,KAAA,gBAAAA,EAAS,SAAS,GACnD,UAACa,gBAAAA,EAAAA,KAAA,OAAA,EAAI,WAAWF,EAAG,2CAA2CX,KAAA,gBAAAA,EAAS,OAAO,GAC5E,UAAA;AAAA,MAAAQ,gBAAAA,EAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAMoB;AAAA,UACN,cAAW;AAAA,UACX,QAAO;AAAA,UACP,KAAI;AAAA,UACJ,WAAWjB;AAAA,YACT;AAAA,YACAX,KAAA,gBAAAA,EAAS;AAAA,UACX;AAAA,UAEC,YAAW6B,CAAQ;AAAA,QAAA;AAAA,MACtB;AAAA,MACCR,EAAqBC,CAAM;AAAA,IAAA,EAAA,CAC9B,EACF,CAAA;AAAA,EAAA;AACF,GCbSQ,IAAqB,CAAC,EAAE,eAAAC,GAAe,SAAA/B,GAAS,WAAAgC,QAAyC;;AACpG,QAAMC,KAAmBF,KAAA,gBAAAA,EAAe,cAAaA,EAAc,UAAU;AAG3E,SAAAlB,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAQ;AAAA,MACR,WAAWF;AAAA,QACT;AAAA,QACA,EAAE,2BAA2BsB,EAAiB;AAAA,QAC9CjC,KAAA,gBAAAA,EAAS;AAAA,QACTgC;AAAA,MACF;AAAA,MAEA,UAAA;AAAA,QAAAxB,gBAAAA,MAACE,KAAO,QAAO,WAAW,GAAGqB,EAAc,SAAS,QAAM,IAAC,WAAWpB,EAAG,yBAAyBX,KAAA,gBAAAA,EAAS,OAAO,GAC/G,UAAA+B,EAAc,QAAQ,UACzB;AAAA,QACCE,KACCzB,gBAAAA,EAAA;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,QAAO;AAAA,YACN,GAAGqB,KAAA,gBAAAA,EAAe;AAAA,YACnB,QAAM;AAAA,YACN,WAAWpB,EAAG,yBAAyBX,KAAA,gBAAAA,EAAS,SAAS;AAAA,YAExD,sCAAe,gCAAW;AAAA,UAAA;AAAA,QAAA;AAAA,MAC7B;AAAA,IAAA;AAAA,EAEJ;AAEJ,GCnCakC,IAAkB,CAAC;AAAA,EAC9B,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,eAAAL;AAAA,EACA,YAAAM;AAAA,EACA,SAAArC;AAAA,EACA,WAAAsC;AAAA,EACA,YAAAC;AAAA,EACA,OAAAC;AACF,MAA0C;;AACxC,QAAM,EAAE,WAAAnC,GAAW,UAAAoC,EAAS,IAAInC,EAAU,GAEpCoC,IACJJ,KAAa,SAASA,KAAaK,EAAW,SAASL,CAAS,IAC7D9B,gBAAAA,EAAA,IAAA,OAAA,EAAI,WAAU,4CAA2C,KAAI,oBAAmB,KAAK8B,EAAU,IAAK,CAAA,IAErGA,GAGEM,IACJL,KAAc,SAASA,KAAcI,EAAW,SAASJ,CAAU,IAChE/B,gBAAAA,EAAA,IAAA,OAAA,EAAI,WAAU,4CAA2C,KAAI,oBAAmB,KAAK+B,EAAW,IAAK,CAAA,IAEtGA,GAGEM,IACJrC,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWG;AAAA,QACT;AAAA,QACAX,KAAA,gBAAAA,EAAS;AAAA,MACX;AAAA,MAEC,WAAAqC,KAAA,gBAAAA,EAAY,OAAO,cAAWS,IAAAT,KAAA,gBAAAA,EAAY,OAAO,YAAnB,gBAAAS,EAA4B,UAAS,KAAKtC,gBAAAA,EAAAA,IAACuC,GAAY,EAAA,GAAGV,EAAY,CAAA;AAAA,IAAA;AAAA,EACvG;AAGF,SAEIxB,gBAAAA,EAAA,KAAAJ,YAAA,EAAA,UAAA;AAAA,IAAAI,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,OAAO,EAAE,iBAAiB2B,KAAS,UAAU;AAAA,QAC7C,gBAAa;AAAA,QACb,WAAW7B,EAAG,wCAAwCX,KAAA,gBAAAA,EAAS,IAAI;AAAA,QAEnE,UAAA;AAAA,UAAAQ,gBAAAA,MAAC,OAAI,EAAA,WAAU,iGACZ,UAAAiC,IAAWC,IAASE,GACvB;AAAA,iCACCzB,GAAoB,EAAA,WAAWR,EAAG,UAAUX,KAAA,gBAAAA,EAAS,SAAS,GAC7D,UAAA;AAAA,YAAAQ,gBAAAA,EAAA,IAAC,OAAI,EAAA,WAAWG,EAAG,eAAeX,KAAA,gBAAAA,EAAS,OAAO,GAChD,UAACa,gBAAAA,EAAAA,KAAA,OAAA,EAAI,WAAWF,EAAG,oEAAoEX,KAAA,gBAAAA,EAAS,SAAS,GACvG,UAAA;AAAA,cAACa,gBAAAA,EAAAA,KAAA,OAAA,EAAI,WAAU,uBACb,UAAA;AAAA,gBAAAL,gBAAAA,EAAA;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACC,yBAAyB,EAAE,QAAQ2B,EAAU;AAAA,oBAC7C,WAAWxB,EAAG,oEAAoEX,KAAA,gBAAAA,EAAS,KAAK;AAAA,kBAAA;AAAA,gBAClG;AAAA,gBACAQ,gBAAAA,EAAA;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACC,yBAAyB,EAAE,QAAQ4B,EAAS;AAAA,oBAC5C,WAAWzB,EAAG,uCAAuCX,KAAA,gBAAAA,EAAS,QAAQ;AAAA,kBAAA;AAAA,gBAAA;AAAA,cACxE,GACF;AAAA,cACCQ,gBAAAA,EAAA,IAAAsB,GAAA,EAAmB,WAAU,gCAA+B,eAAAC,GAA8B,SAAA/B,EAAkB,CAAA;AAAA,YAAA,EAAA,CAC/G,EACF,CAAA;AAAA,YAECK,KAAawC;AAAA,UAAA,EAChB,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,IACCJ,KAAYI;AAAA,EAAA,GACf;AAEJ,GCxEaG,IAAwB,CAAC;AAAA,EACpC,WAAAb;AAAA,EACA,UAAAC;AAAA,EACA,eAAAL;AAAA,EACA,YAAAM;AAAA,EACA,SAAArC;AAAA,EACA,WAAAsC;AAAA,EACA,gBAAAW;AAAA,EACA,YAAAV;AAAA,EACA,OAAAC;AACF,MAA0C;;AACxC,QAAM,EAAE,WAAAnC,GAAW,UAAAoC,EAAS,IAAInC,EAAU,GAEpCoC,IACJJ,KAAa,SAASA,KAAaK,EAAW,SAASL,CAAS,IAC7D9B,gBAAAA,EAAA,IAAA,OAAA,EAAI,WAAU,yBAAwB,KAAI,oBAAmB,KAAK8B,EAAU,IAAK,CAAA,IAElFA,GAGEM,IACJL,KAAc,SAASA,KAAcI,EAAW,SAASJ,CAAU,IAChE/B,gBAAAA,EAAA,IAAA,OAAA,EAAI,WAAU,yBAAwB,KAAI,oBAAmB,KAAK+B,EAAW,IAAK,CAAA,IAEnFA,GAGEM,IACJrC,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWG;AAAA,QACT;AAAA,QACAX,KAAA,gBAAAA,EAAS;AAAA,MACX;AAAA,MAEC,WAAAqC,KAAA,gBAAAA,EAAY,OAAO,cAAWS,IAAAT,KAAA,gBAAAA,EAAY,OAAO,YAAnB,gBAAAS,EAA4B,UAAS,KAAKtC,gBAAAA,EAAAA,IAACuC,GAAY,EAAA,GAAGV,EAAY,CAAA;AAAA,IAAA;AAAA,EACvG;AAGF,SAEIxB,gBAAAA,EAAA,KAAAJ,YAAA,EAAA,UAAA;AAAA,IAAAD,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,OAAO,EAAE,iBAAiBgC,KAAS,UAAU;AAAA,QAC7C,gBAAa;AAAA,QACb,WAAW7B,EAAG,2CAA2CX,KAAA,gBAAAA,EAAS,IAAI;AAAA,QAEtE,iCAACmB,GAAoB,EAAA,WAAWR,EAAG,YAAYX,KAAA,gBAAAA,EAAS,SAAS,GAC/D,UAAA;AAAA,UAAAa,gBAAAA,OAAC,SAAI,WAAWF,EAAG,0DAA0DX,KAAA,gBAAAA,EAAS,OAAO,GAC3F,UAAA;AAAA,YAACa,gBAAAA,EAAAA,KAAA,OAAA,EAAI,WAAU,8CACb,UAAA;AAAA,cAAAA,gBAAAA,OAAC,SAAI,WAAWF,EAAG,yCAAyCX,KAAA,gBAAAA,EAAS,SAAS,GAC5E,UAAA;AAAA,gBAAAQ,gBAAAA,EAAA;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACC,yBAAyB,EAAE,QAAQ2B,EAAU;AAAA,oBAC7C,WAAWxB,EAAG,oEAAoEX,KAAA,gBAAAA,EAAS,KAAK;AAAA,kBAAA;AAAA,gBAClG;AAAA,gBACAQ,gBAAAA,EAAA;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACC,yBAAyB,EAAE,QAAQ4B,EAAS;AAAA,oBAC5C,WAAWzB,EAAG,uCAAuCX,KAAA,gBAAAA,EAAS,QAAQ;AAAA,kBAAA;AAAA,gBAAA;AAAA,cACxE,GACF;AAAA,cACAQ,gBAAAA,EAAAA,IAACsB,GAAmB,EAAA,eAAAC,GAA8B,SAAA/B,EAAkB,CAAA;AAAA,YAAA,GACtE;AAAA,YAEAQ,gBAAAA,EAAAA,IAAC,OAAI,EAAA,WAAWG,EAAG,qEAAqEX,KAAA,gBAAAA,EAAS,cAAc,GAC5G,UAAWyC,IAAAC,IAASE,EACvB,CAAA;AAAA,UAAA,GACF;AAAA,UAECvC,KAAa4C,KAAkBJ;AAAA,QAAA,EAClC,CAAA;AAAA,MAAA;AAAA,IACF;AAAA,IACCJ,KAAYQ,KAAkBJ;AAAA,EAAA,GACjC;AAEJ,GCvDaK,KAAS,CAAC,EAAE,SAAA3B,GAAS,GAAG4B,QAAyB;AAC5D,UAAQ5B,GAAS;AAAA,IACf,KAAK;AACI,aAAAf,gBAAAA,MAACwC,GAAuB,EAAA,GAAGG,EAAO,CAAA;AAAA,IAC3C,KAAK;AACI,aAAA3C,gBAAAA,MAAC0B,GAAiB,EAAA,GAAGiB,EAAO,CAAA;AAAA,IACrC;AACS,aAAA3C,gBAAAA,MAACwC,GAAuB,EAAA,GAAGG,EAAO,CAAA;AAAA,EAAA;AAE/C,GCXaJ,IAAa,CAAC,EAAE,QAAAzB,GAAQ,SAAAtB,QAA+B;AAClE,QAAM,EAAE,SAAAuB,GAAS,SAAS6B,EAAmB,IAAA9B;AAG3C,SAAAd,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,IAAG;AAAA,MACH,WAAWG;AAAA,QACT;AAAA,QACA,EAAE,yBAAyBY,MAAY,aAAa;AAAA,QACpD,EAAE,0BAA0BA,MAAY,YAAY;AAAA,QACpDvB,KAAA,gBAAAA,EAAS;AAAA,MACX;AAAA,MAEC,iCAAgB,IAAI,CAAC,EAAE,OAAAH,GAAO,aAAAD,QAC7BiB,gBAAAA,EAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UAEC,WAAWF;AAAA,YACT;AAAA,YACAX,KAAA,gBAAAA,EAAS;AAAA,UACX;AAAA,UAEA,UAAA;AAAA,YAACQ,gBAAAA,EAAAA,IAAAM,GAAA,EAAQ,IAAG,MAAK,WAAWH,EAAG,mBAAmBX,KAAA,gBAAAA,EAAS,KAAK,GAC7D,UACHH,EAAA,CAAA;AAAA,YACAW,gBAAAA,MAAC,OAAE,WAAWG,EAAG,4CAA4CX,KAAA,gBAAAA,EAAS,WAAW,GAAI,UAAYJ,EAAA,CAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAT5FC;AAAA,MAWR;AAAA,IAAA;AAAA,EACH;AAEJ,GCnCawD,IAAc,CAAC,EAAE,cAAAC,GAAc,SAAAtD,QAEvCQ,gBAAAA,EAAAA,IAAA,OAAA,EAAI,WAAWG,EAAG,6CAA6CX,KAAA,gBAAAA,EAAS,UAAU,GAChF,UAAAsD,KAAA,gBAAAA,EAAc,IAAI,CAAC,EAAE,UAAAC,GAAU,MAAAC,QAC9BhD,gBAAAA,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWG,EAAG,yEAAyEX,KAAA,gBAAAA,EAAS,UAAU;AAAA,IAC1G,MAAAwD;AAAA,IAEA,cAAYD,EAAS,QAAQ,WAAW,EAAE;AAAA,IAE1C,UAAA/C,gBAAAA,EAAA,IAACiD,KAAK,MAAMF,GAAU,WAAW5C,EAAG,iCAAiCX,KAAA,gBAAAA,EAAS,UAAU,EAAG,CAAA;AAAA,EAAA;AAAA,EAHtFwD;AAKR,IACH,GCZSE,KAAc,CAAC,EAAE,QAAAC,GAAQ,SAAA3D,QAEjCQ,gBAAAA,EAAAA,IAAA,OAAA,EAAI,WAAWG,EAAG,yCAAyCX,KAAA,gBAAAA,EAAS,UAAU,GAC5E,UAAA2D,KAAA,gBAAAA,EAAQ,IAAI,CAAC,EAAE,OAAAC,GAAO,MAAAC,QACrBrD,gBAAAA,EAAA;AAAA,EAACiB;AAAA,EAAA;AAAA,IAEC,OAAOC,EAAkBkC,CAAK;AAAA,IAC9B,MAAAC;AAAA,IACA,SAAS;AAAA,MACP,MAAMlD,EAAGX,KAAA,gBAAAA,EAAS,YAAY;AAAA,MAC9B,MAAMW,EAAG,qBAAqBX,KAAA,gBAAAA,EAAS,SAAS;AAAA,MAChD,MAAMW,EAAG,+BAA+BX,KAAA,gBAAAA,EAAS,SAAS;AAAA,IAAA;AAAA,EAC5D;AAAA,EAPK4D;AASR,IACH,GCbSE,KAAW,CAAC,EAAE,SAAA9D,GAAS,QAAAsB,QAA4B;AAC9D,QAAM,EAAE,SAAAE,MAAYF,KAAU,CAAC;AAE7B,SAAAd,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWG;AAAA,QACT;AAAA,QACAX,KAAA,gBAAAA,EAAS;AAAA,MACX;AAAA,MAEC,UAASwB,KAAA,gBAAAA,EAAA;AAAA,QAAI,CAAC,EAAE,QAAAuC,EAAA,MACfA,KAAA,gBAAAA,EAAQ,IAAI,CAAC,EAAE,YAAAC,GAAY,OAAAC,EAAM,6BAC9B,OAAqB,EAAA,WAAWtD,EAAG,uBAAuBX,KAAA,gBAAAA,EAAS,QAAQ,GAC1E,UAAA;AAAA,UAAAQ,gBAAAA,EAAAA,IAAC,SAAI,WAAWG,EAAG,uCAAuCX,KAAA,gBAAAA,EAAS,QAAQ,GAAI,UAAWgE,GAAA;AAAA,UACzFxD,gBAAAA,EAAA,IAAA,OAAA,EAAI,WAAWG,EAAG,uBAAuBX,KAAA,gBAAAA,EAAS,QAAQ,GACxD,UAAAiE,KAAA,gBAAAA,EAAO,IAAI,CAAC,EAAE,MAAAC,GAAM,OAAAC,QACnB3D,gBAAAA,EAAA;AAAA,YAAC4D;AAAA,YAAA;AAAA,cAEC,MAAMF;AAAA,cACN,cAAYC;AAAA,cACZ,QAAO;AAAA,cACP,SAAS;AAAA,gBACP,MAAMnE,KAAA,gBAAAA,EAAS;AAAA,gBACf,MAAMA,KAAA,gBAAAA,EAAS;AAAA,cACjB;AAAA,cAEC,UAAAmE;AAAA,YAAA;AAAA,YATIA;AAAA,UAAA,GAYX,CAAA;AAAA,QAAA,EAAA,GAjBQH,CAkBV;AAAA;AAAA,IAEJ;AAAA,EACF;AAEJ,GCzCaK,KAAY,CAAC,EAAE,MAAAR,GAAM,SAAA7D,QAE9BQ,gBAAAA,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWG,EAAG,yCAAyCX,KAAA,gBAAAA,EAAS,SAAS;AAAA,IACzE,yBAAyB,EAAE,QAAQ6D,EAAK;AAAA,EAAA;AACzC,GCJQS,KAAa,CAAC,EAAE,SAAAtE,QAEzBQ,gBAAAA,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,cAAW;AAAA,IACX,MAAK;AAAA,IACL,WAAWG,EAAG,+DAA+DX,KAAA,gBAAAA,EAAS,UAAU;AAAA,IAEhG,UAAAQ,gBAAAA,EAAA,IAACiD,KAAK,MAAK,wBAAuB,WAAW9C,EAAG,aAAaX,KAAA,gBAAAA,EAAS,cAAc,EAAG,CAAA;AAAA,EAAA;AACzF,GCRSuE,KAAU,CAAC,EAAE,SAAAvE,QAEtBQ,gBAAAA,EAAA;AAAA,EAAC4D;AAAA,EAAA;AAAA,IACC,QAAO;AAAA,IACP,MAAK;AAAA,IACL,QAAO;AAAA,IACP,cAAW;AAAA,IACX,KAAI;AAAA,IACJ,SAAS;AAAA,MACP,MAAMzD,EAAG,eAAeX,KAAA,gBAAAA,EAAS,WAAW;AAAA,MAC5C,MAAMA,KAAA,gBAAAA,EAAS;AAAA,IACjB;AAAA,IACD,UAAA;AAAA,EAAA;AAED,GCVSwE,KAAQ,CAAC,EAAE,MAAAX,GAAM,SAAA7D,QAA0B;AACtD,QAAM,CAACyE,GAAYC,CAAa,IAAIC,EAAM,SAAS,EAAK,GAClD,CAACC,GAAWC,CAAY,IAAIF,EAAM,SAAS,EAAK,GAChDG,IAAWH,EAAM,OAAoC,IAAI;AAE/D,SAAAA,EAAM,UAAU,MAAM;AACpB,UAAMI,IAAUD,EAAS;AACzB,IAAIC,KACWF,EAAAE,EAAQ,eAAeA,EAAQ,YAAY;AAAA,EAE5D,GAAG,EAAE,0BAGF,OAAI,EAAA,WAAWpE,EAAG,4BAA4BX,KAAA,gBAAAA,EAAS,SAAS,GAC/D,UAAA;AAAA,IAAAQ,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAKsE;AAAA,QACL,WAAWnE,EAAG,yCAAyC,EAAE,gBAAgB,CAAC8D,EAAc,GAAAzE,KAAA,gBAAAA,EAAS,SAAS;AAAA,QAC1G,yBAAyB,EAAE,QAAQ6D,EAAK;AAAA,MAAA;AAAA,IAC1C;AAAA,IAECe,KACCpE,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,UAAU;AAAA,QACV,MAAK;AAAA,QACL,SAAS,MAAMkE,EAAc,CAACM,MAAS,CAACA,CAAI;AAAA,QAC5C,WAAWrE;AAAA,UACT;AAAA,UACAX,KAAA,gBAAAA,EAAS;AAAA,QACX;AAAA,QACD,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAED,GAEJ;AAEJ,GCnCaiF,KAAS,CAAC;AAAA,EACrB,cAAc;AAAA,IACZ,kBAAAC,IAAmB;AAAA,IACnB,YAAAC,IAAa;AAAA,IACb,cAAAC,IAAe;AAAA,IACf,eAAAC,IAAgB;AAAA,IAChB,aAAAC,IAAc;AAAA,IACd,WAAAC,IAAY;AAAA,EAAA,IACV,CAAC;AAAA,EACL,cAAAjC,IAAe,CAAC;AAAA,EAChB,QAAAK,IAAS,CAAC;AAAA,EACV,OAAA6B;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,SAAAzF;AAAA,EACA,QAAAsB;AACF,MAEId,gBAAAA,EAAA,IAAC,UAAO,EAAA,IAAG,UAAS,WAAWG,EAAG,6CAA6CX,KAAA,gBAAAA,EAAS,IAAI,GAC1F,UAACQ,gBAAAA,EAAAA,IAAAW,GAAA,EAAoB,WAAWR,EAAGX,KAAA,gBAAAA,EAAS,eAAe,GACzD,UAACa,gBAAAA,EAAA,KAAA,OAAA,EAAI,WAAWF,EAAG,qBAAqBX,KAAA,gBAAAA,EAAS,aAAa,GAC5D,UAAA;AAAA,EAAAa,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWF;AAAA,QACT;AAAA,QACAX,KAAA,gBAAAA,EAAS;AAAA,MACX;AAAA,MAEA,UAAA;AAAA,QAAAa,gBAAAA,EAAA,KAAC,OAAI,EAAA,WAAWF,EAAGX,KAAA,gBAAAA,EAAS,iBAAiB,GAC3C,UAAA;AAAA,UAACQ,gBAAAA,EAAAA,IAAA8D,IAAA,EAAW,SAAStE,KAAA,gBAAAA,EAAS,WAAY,CAAA;AAAA,UACzCkF,KAAqB1E,gBAAAA,EAAA,IAAA6C,GAAA,EAAY,cAAAC,GAA4B,SAAStD,KAAA,gBAAAA,EAAS,YAAa,CAAA;AAAA,QAAA,GAC/F;AAAA,QAECmF,KAAe3E,gBAAAA,EAAA,IAAAkD,IAAA,EAAY,QAAAC,GAAgB,SAAS3D,KAAA,gBAAAA,EAAS,YAAa,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAC7E;AAAA,EAECoF,KAAiB5E,gBAAAA,EAAA,IAAAsD,IAAA,EAAS,QAAAxC,GAAgB,SAAStB,KAAA,gBAAAA,EAAS,UAAU;AAAA,EACtEuF,KAAa/E,gBAAAA,EAAA,IAACgE,IAAM,EAAA,MAAMgB,KAAS,IAAI;AAAA,EAExC3E,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWF;AAAA,QACT;AAAA,QACAX,KAAA,gBAAAA,EAAS;AAAA,MACX;AAAA,MAEC,UAAA;AAAA,QAAAqF,2BAAkBhB,IAAU,EAAA,MAAMoB,GAAW,SAASzF,KAAA,gBAAAA,EAAS,WAAW;AAAA,QAC1EsF,KAAe9E,gBAAAA,EAAA,IAAC+D,IAAQ,EAAA,SAASvE,KAAA,gBAAAA,EAAS,QAAS,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AACtD,EACF,CAAA,EACF,CAAA,GACF,GCpDS0F,KAAa,CAAC,EAAE,SAAA1F,GAAS,OAAA2F,GAAO,SAAApE,GAAS,OAAA1B,GAAO,aAAAD,QAAmC;AACxF,QAAAgG,IAAarE,MAAY,6BAA6B1B;AAG1D,SAAAgB,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWF;AAAA,QACT;AAAA,QACAX,KAAA,gBAAAA,EAAS;AAAA,MACX;AAAA,MAEA,UAAA;AAAA,QAAAQ,gBAAAA,EAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWG;AAAA,cACT;AAAA,cACAX,KAAA,gBAAAA,EAAS;AAAA,YACX;AAAA,YAEC,UAAA2F;AAAA,UAAA;AAAA,QACH;AAAA,QAEC9E,gBAAAA,EAAA,KAAA,OAAA,EAAI,WAAWF,EAAG,qBAAqB,GACrC,UAAA;AAAA,UACCiF,KAAApF,gBAAAA,EAAAA,IAACM,GAAQ,EAAA,IAAG,MAAK,WAAWH,EAAG,mBAAmBX,KAAA,gBAAAA,EAAS,KAAK,GAC7D,UACHH,EAAA,CAAA;AAAA,UAEFW,gBAAAA,EAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,yBAAyB,EAAE,QAAQZ,KAAe,GAAG;AAAA,cACrD,WAAWe,EAAG,2CAA2CX,KAAA,gBAAAA,EAAS,WAAW;AAAA,YAAA;AAAA,UAAA;AAAA,QAC/E,EACF,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACF;AAEJ,GCpBa6F,KAAU,CAAC,EAAE,UAAAC,GAAU,QAAAxE,GAAQ,SAAAtB,QAA4B;AACtE,QAAM,EAAE,SAAAuB,GAAS,SAASwE,EAAc,IAAAzE;AAExC,+BACG,WAAQ,EAAA,IAAG,WAAU,WAAWtB,KAAA,gBAAAA,EAAS,MACxC,UAACQ,gBAAAA,EAAA,IAAAW,GAAA,EAAoB,WAAWnB,KAAA,gBAAAA,EAAS,WACvC,iCAAC,OAAI,EAAA,WAAWW,EAAG,0DAA0DX,KAAA,gBAAAA,EAAS,OAAO,GAC3F,UAAA;AAAA,IAACQ,gBAAAA,EAAAA,IAAAM,GAAA,EAAQ,IAAG,MAAK,WAAWH,EAAG,mBAAmBX,KAAA,gBAAAA,EAAS,QAAQ,GAChE,UACH8F,EAAA,CAAA;AAAA,IACAtF,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWG;AAAA,UACT;AAAA,UACAX,KAAA,gBAAAA,EAAS;AAAA,QACX;AAAA,QAEC,iCAAW,IAAI,CAACgG,GAAML,MACrBnF,gBAAAA,EAAA,IAACkF,MAAW,SAAAnE,GAA0C,GAAGyE,GAAM,OAAOL,IAAQ,GAAG,SAAS3F,KAAA,gBAAAA,EAAS,KAAhE,GAAAgG,EAAK,WAAiE;AAAA,MAC1G;AAAA,IAAA;AAAA,EACH,EACF,CAAA,EACF,CAAA,GACF;AAEJ,GC9CaC,KAAcvG,EAAI,IAAI;AAAA,EACjC,UAAU;AAAA,IACR,QAAQ;AAAA,MACN,UAAU;AAAA,MACV,WAAW;AAAA,IACb;AAAA,IACA,eAAe;AAAA,MACb,MAAM;AAAA,IACR;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,IAAA;AAAA,EAEV;AAAA,EACA,iBAAiB;AAAA,IACf,QAAQ;AAAA,EAAA;AAEZ,CAAC,GAEYwG,KAAiBxG,EAAI,IAAI;AAAA,EACpC,UAAU;AAAA,IACR,QAAQ;AAAA,MACN,UAAU;AAAA,MACV,WAAW;AAAA,IACb;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,IAAA;AAAA,EAEV;AAAA,EACA,kBAAkB;AAAA,IAChB;AAAA,MACE,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,OAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,OAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,OAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,EACT;AAEJ,CAAC,GAEYD,KAAaC,EAAI,2FAA2F;AAAA,EACvH,UAAU;AAAA,IACR,QAAQ;AAAA,MACN,UACE;AAAA,MACF,WAAW;AAAA,IAAA;AAAA,EAEf;AAAA,EACA,iBAAiB;AAAA,IACf,QAAQ;AAAA,EAAA;AAEZ,CAAC,GAEYyG,KAAqBzG,EAAI,oDAAoD;AAAA,EACxF,UAAU;AAAA,IACR,QAAQ;AAAA,MACN,UAAU;AAAA,MACV,WAAW;AAAA,IACb;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,IAAA;AAAA,EAEX;AAAA,EACA,iBAAiB;AAAA,IACf,QAAQ;AAAA,EACV;AAAA,EACA,kBAAkB;AAAA,IAChB;AAAA,MACE,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,OAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,EACT;AAEJ,CAAC,GCxFY0G,KAAW,CAAC,EAAE,MAAAC,GAAM,QAAAlG,QAA4B;AACrD,QAAA;AAAA,IACJ,OAAAN;AAAA,IACA,aAAAD;AAAA,IACA,SAAA0G,IAAU;AAAA,MACR,SAAS;AAAA,IAAA;AAAA,EACX,IACED;AACJ,SACG7F,gBAAAA,EAAAA,IAAA,MAAA,EAAG,WAAWG,EAAGlB,GAAW,EAAE,QAAAU,EAAO,CAAC,CAAC,GACtC,UAACU,gBAAAA,EAAAA,KAAA,OAAA,EAAI,WAAU,yBACb,UAAA;AAAA,IAAAA,gBAAAA,EAAA,KAAC,OAAI,EAAA,WAAWF,EAAG,8BAA8B,GAC/C,UAAA;AAAA,MAAAH,gBAAAA,MAAC,MAAG,EAAA,WAAWG,EAAG,kCAAkC,GAAI,UAAMd,GAAA;AAAA,MAC7DyG,EAAQ,WACN9F,gBAAAA,MAAA+F,GAAA,EAAQ,gBAAiB/F,gBAAAA,EAAAA,IAAAiD,GAAA,EAAK,WAAW9C,EAAG,gCAAgC,GAAG,MAAK,kBAAkB,CAAA,GACpG,iCAAS,KACZ,CAAA;AAAA,IAAA,GAEJ;AAAA,IAEAH,gBAAAA,MAAC,OAAI,EAAA,WAAWG,EAAG,yCAAyC,GAAG,yBAAyB,EAAE,QAAQf,IAAe,CAAA;AAAA,EAAA,EAAA,CACnH,EACF,CAAA;AAEJ,GCjBa4G,IAAQ,CAAC,EAAE,QAAArG,GAAQ,UAAA2F,GAAU,eAAAW,IAAgB,IAAO,cAAAC,IAAe,SACtElG,gBAAAA,EAAA,IAAA,MAAA,EAAG,WAAWG,EAAGsF,GAAY,EAAE,QAAA9F,GAAQ,eAAAsG,GAAe,cAAAC,EAAc,CAAA,CAAC,GAAI,UAASZ,EAAA,CAAA,GCF/Ea,KAAW,CAAC,EAAE,SAAAnF,GAAS,QAAArB,GAAQ,YAAAF,QAExCO,gBAAAA,MAAC,QAAG,WAAWG,EAAGuF,GAAe,EAAE,QAAA/F,GAAQ,YAAAF,GAAY,CAAC,GACrD,iCAAS,IAAI,CAAC8E,GAASY,MAAWnF,gBAAAA,EAAAA,IAAA4F,IAAA,EAAS,QAAAjG,GAAgB,MAAM4E,EAAA,GAAcY,CAAO,GACzF,CAAA,GCCSiB,KAAa,CAAC,EAAE,UAAAd,GAAU,cAAAe,GAAc,YAAA5G,IAAa,IAAO,QAAAqB,GAAQ,gBAAAwF,GAAgB,SAAA9G,QAA+B;AAC9H,QAAM,EAAE,QAAAG,IAAS,YAAY,SAAAqB,EAAY,IAAAF,GACnCyF,IAAc5G,MAAW,aACzB6G,IAAa7G,MAAW;AAE9B,SACGK,gBAAAA,EAAA,IAAA,WAAA,EAAQ,IAAG,eAAc,WAAWG,EAAGX,KAAA,gBAAAA,EAAS,IAAI,GACnD,iCAACmB,GAAoB,EAAA,WAAWR,EAAGX,KAAA,gBAAAA,EAAS,SAAS,GAClD,UAAA;AAAA,IAAcgH,KAAAxG,gBAAAA,EAAAA,IAACgG,GAAM,EAAA,QAAArG,GAAgB,UAAA2F,EAAoB,CAAA;AAAA,IAE1DjF,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWF;AAAA,UACT;AAAA,UACAX,KAAA,gBAAAA,EAAS;AAAA,QACX;AAAA,QAEC,UAAA;AAAA,UAAA+G,KAAgBvG,gBAAAA,EAAA,IAAAgG,GAAA,EAAM,QAAArG,GAAgB,UAAA2F,GAAoB,eAAe,IAAM;AAAA,UAC/EtF,gBAAAA,EAAAA,IAAA,OAAA,EAAI,WAAWG,EAAGwF,GAAmB,EAAE,QAAAhG,GAAQ,YAAAF,EAAY,CAAA,GAAGD,KAAA,gBAAAA,EAAS,YAAY,GAAI,UAAe8G,EAAA,CAAA;AAAA,UACvGjG,gBAAAA,EAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAWF,EAAG,sEAAsEX,KAAA,gBAAAA,EAAS,oBAAoB;AAAA,cAEhH,UAAA;AAAA,gBAAA+G,KAAgBvG,gBAAAA,EAAA,IAAAgG,GAAA,EAAM,QAAArG,GAAgB,UAAA2F,GAAoB,cAAc,IAAM;AAAA,gBAC9EtF,gBAAAA,EAAAA,IAAAmG,IAAA,EAAS,SAAAnF,GAAkB,QAAArB,GAAgB,YAAAF,EAAwB,CAAA;AAAA,gBACnEA,KACCO,gBAAAA,EAAA;AAAA,kBAACE;AAAA,kBAAA;AAAA,oBACC,WAAWC,EAAG,6BAA6BX,KAAA,gBAAAA,EAAS,MAAM;AAAA,oBAC1D,MAAK;AAAA,oBACL,SAAS6G,KAAA,gBAAAA,EAAc;AAAA,oBACvB,QAAO;AAAA,oBAEN,UAAcA,KAAA,gBAAAA,EAAA;AAAA,kBAAA;AAAA,gBAAA;AAAA,cACjB;AAAA,YAAA;AAAA,UAAA;AAAA,QAEJ;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,EAAA,CACF,EACF,CAAA;AAEJ,GCtDaI,IAAqB;AAAA,EAChC,MAAM;AAAA,EACN,WAAW;AAAA,EACX,SAAS;AACX,GCWaC,IAAc,CAAC,EAAE,UAAAC,GAAU,WAAAC,GAAW,SAAApH,GAAS,aAAAqH,QAExD7G,gBAAAA,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,UAAU;AAAA,IACV,WAAWG;AAAA,MACT;AAAA,MACA;AAAA,MACAX,KAAA,gBAAAA,EAAS;AAAA,IACX;AAAA,IAEA,UAAAQ,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWG;AAAA,UACT;AAAA,UACA;AAAA,UACA,EAAE,gBAAgByG,EAAU;AAAA,UAC5BpH,KAAA,gBAAAA,EAAS;AAAA,QACX;AAAA,QAEC,UAAYoH,IAAA5G,gBAAAA,EAAAA,IAAC8G,GAAO,EAAA,UAAS,UAAS,SAAS,EAAE,SAAS,gBAAgB,GAAI,GAAGD,EAAa,CAAA,IAAKF;AAAA,MAAA;AAAA,IAAA;AAAA,EACtG;AACF,GCjCSI,KAAW,CAAC,EAAE,GAAGpE,QAEzBtC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,OAAM,MAAK,QAAO,MAAK,SAAQ,aAAY,MAAK,QAAO,OAAM,8BAA8B,GAAGsC,GACjG,UAAA;AAAA,EAAA3C,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAK;AAAA,IAAA;AAAA,EACP;AAAA,EACAA,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAK;AAAA,IAAA;AAAA,EACP;AAAA,EACAA,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAK;AAAA,IAAA;AAAA,EACP;AAAA,EACCA,gBAAAA,MAAA,QAAA,EACC,UAACK,gBAAAA,EAAAA,KAAA,kBAAA,EAAe,IAAG,0BAAyB,IAAG,WAAU,IAAG,KAAI,IAAG,WAAU,IAAG,WAAU,eAAc,kBACtG,UAAA;AAAA,IAACL,gBAAAA,EAAAA,IAAA,QAAA,EAAK,WAAU,UAAU,CAAA;AAAA,IACzBA,gBAAAA,EAAA,IAAA,QAAA,EAAK,QAAO,YAAW,WAAU,WAAU;AAAA,IAC3CA,gBAAAA,EAAA,IAAA,QAAA,EAAK,QAAO,UAAS,WAAU,WAAU;AAAA,IACzCA,gBAAAA,EAAA,IAAA,QAAA,EAAK,QAAO,KAAI,WAAU,UAAU,CAAA;AAAA,EAAA,EAAA,CACvC,EACF,CAAA;AAAA,GACF,GCVSgH,IAAQ,CAAC,EAAE,UAAAC,GAAU,SAAAC,GAAS,UAAAjF,GAAU,SAAAzC,+BAEhD,OAAI,EAAA,WAAWW,EAAG,iBAAiBX,KAAA,gBAAAA,EAAS,YAAY,GACvD,UAAA;AAAA,EAAAQ,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAMiH,EAAS;AAAA,MACf,QAAO;AAAA,MACP,KAAI;AAAA,MACJ,WAAW9G;AAAA,QACT;AAAA,QACAX,KAAA,gBAAAA,EAAS;AAAA,MACX;AAAA,MAEC,UAAAyC,IAAWgF,EAAS,cAAcA,EAAS;AAAA,IAAA;AAAA,EAC9C;AAAA,GAECC,KAAA,gBAAAA,EAAS,UAAQA,KAAA,gBAAAA,EAAS,SACzBlH,gBAAAA,EAAA;AAAA,IAAC4D;AAAA,IAAA;AAAA,MACC,QAAO;AAAA,MACP,eAAa;AAAA,MACb,MAAMsD,KAAA,gBAAAA,EAAS;AAAA,MACf,QAAO;AAAA,MACP,KAAI;AAAA,MACJ,SAAS;AAAA,QACP,MAAM/G,EAAG,oEAAoEX,KAAA,gBAAAA,EAAS,YAAY;AAAA,MACpG;AAAA,MAEC,UAAS0H,KAAA,gBAAAA,EAAA;AAAA,IAAA;AAAA,EAAA;AACZ,GAEJ,GCtCSC,IAAW,CAAC,EAAE,UAAAF,GAAU,SAAAC,GAAS,WAAAN,GAAW,OAAAQ,GAAO,aAAAP,GAAa,SAAArH,QAA8B;AACnG,QAAA,EAAE,UAAAyC,EAAS,IAAInC,EAAU;AAE/B,+BACG4G,GAAY,EAAA,WAAAE,GAAsB,aAAAC,GAA0B,SAASrH,KAAA,gBAAAA,EAAS,aAC7E,UAAAa,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWF;AAAA,QACT;AAAA,QACA,EAAE,kBAAkB,CAACiH,KAASnF,EAAS;AAAA,QACvCzC,KAAA,gBAAAA,EAAS;AAAA,MACX;AAAA,MAEA,UAAA;AAAA,QAAAa,gBAAAA,OAAC,SAAI,WAAWF,EAAG,yCAAyCX,KAAA,gBAAAA,EAAS,WAAW,GAC9E,UAAA;AAAA,UAAAa,gBAAAA,OAAC,OACC,EAAA,UAAA;AAAA,YAACL,gBAAAA,EAAAA,IAAAiD,GAAA,EAAK,MAAK,aAAY,WAAW9C,EAAG,wCAAwCX,KAAA,gBAAAA,EAAS,OAAO,GAAG;AAAA,YAChGQ,gBAAAA,EAAAA,IAACiD,KAAK,MAAK,iBAAgB,WAAW9C,EAAG,8CAA8CX,KAAA,gBAAAA,EAAS,WAAW,GAAG;AAAA,YAC9GQ,gBAAAA,MAACiD,KAAK,MAAK,iBAAgB,WAAW9C,EAAG,8CAA8CX,KAAA,gBAAAA,EAAS,WAAW,EAAG,CAAA;AAAA,UAAA,GAChH;AAAA,gCACCwH,GAAM,EAAA,UAAAC,GAAoB,SAAAC,GAAkB,UAAAjF,GAAoB,SAASzC,KAAA,gBAAAA,EAAS,OAAO;AAAA,UAC1FQ,gBAAAA,MAACiD,KAAK,MAAK,qBAAoB,WAAW9C,EAAG,iBAAiBX,KAAA,gBAAAA,EAAS,SAAS,EAAG,CAAA;AAAA,QAAA,GACrF;AAAA,QACC4H,2BAAUC,GAAM,EAAA,WAAWlH,EAAG,qBAAqBX,KAAA,gBAAAA,EAAS,KAAK,GAAI,UAAM4H,EAAA,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAEhF;AAEJ,GCzBaE,IAAO,CAAC,EAAE,UAAAL,GAAU,SAAAC,GAAS,WAAAN,GAAW,OAAAQ,GAAO,aAAAP,GAAa,SAAArH,QAA0B;AAC3F,QAAA,EAAE,UAAAyC,EAAS,IAAInC,EAAU;AAE/B,+BACG4G,GAAY,EAAA,WAAAE,GAAsB,aAAAC,GAA0B,SAASrH,KAAA,gBAAAA,EAAS,aAC7E,UAAAa,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWF;AAAA,QACT;AAAA,QACA,EAAE,kBAAkB,CAACiH,KAASnF,EAAS;AAAA,QACvCzC,KAAA,gBAAAA,EAAS;AAAA,MACX;AAAA,MAEA,UAAA;AAAA,QAAAa,gBAAAA,OAAC,SAAI,WAAWF,EAAG,yCAAyCX,KAAA,gBAAAA,EAAS,WAAW,GAC9E,UAAA;AAAA,UAAAQ,gBAAAA,MAAC+G,MAAS,WAAW5G,EAAG,yBAAyBX,KAAA,gBAAAA,EAAS,QAAQ,GAAG;AAAA,gCACpEwH,GAAM,EAAA,UAAAC,GAAoB,SAAAC,GAAkB,UAAAjF,GAAoB,SAASzC,KAAA,gBAAAA,EAAS,OAAO;AAAA,UAC1FQ,gBAAAA,MAACiD,KAAK,MAAK,qBAAoB,WAAW9C,EAAG,iBAAiBX,KAAA,gBAAAA,EAAS,SAAS,EAAG,CAAA;AAAA,QAAA,GACrF;AAAA,QACC4H,2BAAUC,GAAM,EAAA,WAAWlH,EAAG,qBAAqBX,KAAA,gBAAAA,EAAS,KAAK,GAAI,UAAM4H,EAAA,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAEhF;AAEJ,GCpBMG,KAAiB,CAAC5E,MAAiD;AACvE,UAAQA,EAAM,MAAM;AAAA,IAClB,KAAK8D,EAAmB;AACf,aAAAzG,gBAAAA,MAACsH,GAAM,EAAA,GAAG3E,EAAO,CAAA;AAAA,IAC1B,KAAK8D,EAAmB;AACf,aAAAzG,gBAAAA,MAACmH,GAAU,EAAA,GAAGxE,EAAO,CAAA;AAAA,IAC9B,KAAK8D,EAAmB;AAAA,IACxB;AACE,YAAM,EAAE,YAAAe,GAAY,gBAAAC,GAAgB,UAAA7F,GAAU,OAAAwF,GAAO,SAAA5H,MAAYmD,GAE3D+E,IAAc,CAAC9F,KAAY,CAACwF,IAAQjD,EAAM,WAAW;AAGzD,aAAA9D,gBAAAA,EAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAWF;AAAA,YACT;AAAA,YACAX,KAAA,gBAAAA,EAAS;AAAA,UACX;AAAA,UAEA,UAAA;AAAA,YAAAa,gBAAAA,OAACqH,KAAY,WAAWvH,EAAG,kDAAkDX,KAAA,gBAAAA,EAAS,UAAU,GAC7F,UAAA;AAAA,cAAYoC,KAAA5B,gBAAAA,EAAA,IAAC,QAAG,WAAWG,EAAG,mDAAmDX,KAAA,gBAAAA,EAAS,QAAQ,GAAI,UAASoC,EAAA,CAAA;AAAA,cAC/GwF,2BAAUC,GAAM,EAAA,WAAWlH,EAAG,qBAAqBX,KAAA,gBAAAA,EAAS,KAAK,GAAI,UAAM4H,EAAA,CAAA;AAAA,YAAA,GAC9E;AAAA,mCACC,OAAI,EAAA,WAAWjH,EAAG,+CAA+CX,KAAA,gBAAAA,EAAS,WAAW,GACpF,UAAA;AAAA,cAAAQ,gBAAAA,EAAA;AAAA,gBAACsH;AAAA,gBAAA;AAAA,kBACE,GAAGE;AAAA,kBACJ,SAAS;AAAA,oBACP,MAAM;AAAA,oBACN,WAAW;AAAA,oBACX,GAAGA,EAAW;AAAA,kBAAA;AAAA,gBAChB;AAAA,cACF;AAAA,cACAxH,gBAAAA,EAAA;AAAA,gBAACmH;AAAA,gBAAA;AAAA,kBACE,GAAGM;AAAA,kBACJ,SAAS;AAAA,oBACP,MAAM;AAAA,oBACN,WAAW;AAAA,oBACX,GAAGA,EAAe;AAAA,kBAAA;AAAA,gBACpB;AAAA,cAAA;AAAA,YACF,EACF,CAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,EAAA;AAGR,GAEaE,KAAe,CAAChF,MACpB4E,GAAe5E,CAAK,GCvChBiF,IAAY,CAAC,EAAE,OAAAnE,GAAO,SAAAjE,QAE9BQ,gBAAAA,EAAAA,IAAA,OAAA,EAAI,WAAWG,EAAG,uBAAuBX,KAAA,gBAAAA,EAAS,YAAY,GAC5D,UAAAiE,KAAA,gBAAAA,EAAO,IAAI,CAAC,EAAE,MAAAC,GAAM,OAAAC,QACnB3D,gBAAAA,EAAA;AAAA,EAAC4D;AAAA,EAAA;AAAA,IACC,SAAS;AAAA,MACP,MAAMzD,EAAG,SAASX,KAAA,gBAAAA,EAAS,QAAQ;AAAA,MACnC,MAAMW,EAAGX,KAAA,gBAAAA,EAAS,QAAQ;AAAA,IAC5B;AAAA,IACA,QAAO;AAAA,IAEP,MAAMkE;AAAA,IAEL,UAAAC;AAAA,EAAA;AAAA,EAHID;AAKR,IACH,GCdSmE,KAAc,CAAC,EAAE,YAAArE,GAAY,OAAAC,GAAO,sBAAAqE,GAAsB,SAAAtI,QAAgC;;AAC/F,QAAA,EAAE,UAAAyC,EAAS,IAAInC,EAAU;AAE/B,gCACG,OAAI,EAAA,WAAWK,EAAG,uBAAuBX,KAAA,gBAAAA,EAAS,WAAW,GAC3D,UAAA;AAAA,IAAA,CAACyC,KAEE5B,gBAAAA,EAAAA,KAAAJ,EAAA,UAAA,EAAA,UAAA;AAAA,MAAAD,gBAAAA,EAAAA,IAAC,QAAG,WAAWG,EAAG,gEAAgEX,KAAA,gBAAAA,EAAS,kBAAkB,GAC1G,UACHgE,GAAA;AAAA,4BACCoE,GAAwB,EAAA,OAAAnE,GAAc,SAASjE,KAAA,gBAAAA,EAAS,aAA1C,SAAqD;AAAA,IAAA,GACtE;AAAA,IAGDyC,KACCjC,gBAAAA,EAAA;AAAA,MAAC+H;AAAA,MAAA;AAAA,QACC,aAAW;AAAA,QACX,OAAOvE;AAAA,QACP,4BACGP,GAAK,EAAA,MAAK,qBAAoB,WAAW9C,EAAG,mEAAmE,GAAG;AAAA,QAEpH,GAAG2H;AAAA,QACJ,SAAS;AAAA,UACP,GAAGA,KAAA,gBAAAA,EAAsB;AAAA,UACzB,QAAQ;AAAA,YACN,SAAS3H,EAAG,+BAA8B6H,KAAA1F,IAAAwF,KAAA,gBAAAA,EAAsB,YAAtB,gBAAAxF,EAA+B,WAA/B,gBAAA0F,EAAuC,OAAO;AAAA,UAC1F;AAAA,UACA,cAAc7H,EAAG,cAAa8H,IAAAH,KAAA,gBAAAA,EAAsB,YAAtB,gBAAAG,EAA+B,YAAY;AAAA,QAC3E;AAAA,QAEA,gCAACL,GAAuB,EAAA,OAAAnE,GAAc,SAASjE,KAAA,gBAAAA,EAAS,aAAzC,QAAoD;AAAA,MAAA;AAAA,IAAA;AAAA,EACrE,GAEJ;AAEJ,GCpCa0I,KAAS,CAAC,EAAE,QAAA3E,GAAQ,sBAAAuE,GAAsB,SAAAtI,QAEnDQ,gBAAAA,MAAC,OAAI,EAAA,WAAWG,EAAG,qCAAqCX,KAAA,gBAAAA,EAAS,MAAM,GACpE,UAAQ+D,KAAA,gBAAAA,EAAA,IAAI,CAAC4E,4BACXN,IAAoC,EAAA,GAAGC,GAAuB,GAAGK,GAAO,SAAS3I,KAAA,gBAAAA,EAAS,YAAzE,GAAA2I,EAAM,UAAgF,GAE5G,CAAA,GChBEC,KAAiBlJ,EAAI,0BAA0B;AAAA,EACnD,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,MACT,WAAW;AAAA,MACX,UAAU;AAAA,IAAA;AAAA,EAEd;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,EAAA;AAEb,CAAC,GAeYmJ,KAAe,CAAC,EAAE,QAAAvH,GAAQ,UAAAwE,GAAU,sBAAAwC,GAAsB,oBAAAQ,GAAoB,SAAA9I,QAAiC;;AAC1H,QAAM,EAAE,SAAAuB,GAAS,SAASwH,EAAY,IAAAzH;AAGpC,SAAAd,gBAAAA,EAAAA,IAAC,WAAQ,EAAA,IAAG,iBAAgB,WAAWG,EAAG,qCAAqCX,KAAA,gBAAAA,EAAS,IAAI,GAC1F,UAAAQ,gBAAAA,EAAA,IAACW,GACC,EAAA,UAAAX,gBAAAA,EAAA;AAAA,IAAC+H;AAAA,IAAA;AAAA,MACC,aAAW;AAAA,MACX,OACG/H,gBAAAA,EAAAA,IAAAM,GAAA,EAAQ,IAAG,MAAK,WAAWH,EAAG,aAAaX,KAAA,gBAAAA,EAAS,QAAQ,GAC1D,UACH8F,EAAA,CAAA;AAAA,MAED,GAAGgD;AAAA,MACJ,SAAS;AAAA,QACP,GAAGA,KAAA,gBAAAA,EAAoB;AAAA,QACvB,QAAQ;AAAA,UACN,SAASnI,EAAG,2BAA0B6H,KAAA1F,IAAAgG,KAAA,gBAAAA,EAAoB,YAApB,gBAAAhG,EAA6B,WAA7B,gBAAA0F,EAAqC,OAAO;AAAA,QACpF;AAAA,QACA,SAAS7H,EAAG,+CAA8C8H,IAAAK,KAAA,gBAAAA,EAAoB,YAApB,gBAAAL,EAA6B,OAAO;AAAA,MAChG;AAAA,MAEA,UAACjI,gBAAAA,EAAAA,IAAA,OAAA,EAAI,WAAWG,EAAGiI,GAAe,EAAE,SAAArH,EAAkB,CAAA,GAAGvB,KAAA,gBAAAA,EAAS,cAAc,GAC7E,UAAS+I,KAAA,gBAAAA,EAAA,IAAI,CAAChF,GAAQ4B,MACrBnF,gBAAAA,EAAA,IAACkI,IAAoB,EAAA,GAAG3E,GAAS,GAAGuE,GAAsB,SAAStI,KAAA,gBAAAA,EAAS,OAAA,GAA/D2F,CAAuE,GAExF,CAAA;AAAA,IAAA;AAAA,KAEJ,EACF,CAAA;AAEJ,GCtDaqD,KAAO,CAAC,EAAE,WAAAC,GAAW,WAAAC,GAAW,cAAAC,QAEzC3I,gBAAAA,MAAC,SAAI,WAAU,iEACZ,eACCyI,EAAU,IAAI,CAACG,GAASC,MACtB7I,gBAAAA,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IAEC,SAAS,MAAM2I,EAAaE,CAAQ;AAAA,IACpC,WAAW1I;AAAA,MACT;AAAA,MACA;AAAA,QACE,4CAA4CuI,MAAcG;AAAA,MAAA;AAAA,IAE9D;AAAA,IAEC,UAAAD;AAAA,EAAA;AAAA,EATIA;AAWR,CAAA,GACL,GCzBSE,KAAS,CAACC,MACdA,EAAO,YAAY,QAGfC,KAAc,CAACD,MACnBA,EAAO,YAAY,aAGfE,KAAU,CAACF,MACfA,EAAO,YAAY,SCRfG,KAAO,CAAC,EAAE,MAAAC,GAAM,QAAArI,QAAyB;AAC9C,QAAAsI,0BAAW,OAAI,EAAA,yBAAyB,EAAE,QAAQD,KAAQ,MAAM;AAEtE,SAEKnJ,gBAAAA,EAAA,IAAAC,EAAA,UAAA,EAAA,UAAAa,MAAUA,KAAA,QAAAA,EAAQ,iBAAeA,KAAA,QAAAA,EAAQ,kBACvCd,gBAAAA,EAAA,IAAA+H,GAAA,EAAU,OAAOjH,KAAA,gBAAAA,EAAQ,gBAAiB,UAAAsI,EAAA,CAAQ,IAEnDA,GAEJ;AAEJ,GCZaC,KAAsB,CAACC,GAAkBC,OAC7C;AAAA,EACL,MAAMD,KAAA,gBAAAA,EAAM,IAAI,CAAC,EAAE,KAAAE,SAAW;AAAA,IAC5B,KAAKA,KAAA,gBAAAA,EAAK,IAAI,CAACC,GAAMtE,MAAW;;AAAA;AAAA,QAC9B,GAAGsE;AAAA,QACH,SAASF,OAAYjH,IAAAiH,EAASpE,CAAK,MAAd,gBAAA7C,EAAiB;AAAA,MAAA;AAAA;AAAA,EACtC;AAEN,IAGWoH,KAAcxK,EAAI,iBAAiB;AAAA,EAC9C,UAAU;AAAA,IACR,gBAAgB;AAAA,MACd,SAAS;AAAA,MACT,WAAW;AAAA,IAAA;AAAA,EACb;AAEJ,CAAC,GCjBKyK,KAAiBzK,EAAI,kBAAkB;AAAA,EAC3C,UAAU;AAAA,IACR,gBAAgB;AAAA,MACd,SAAS;AAAA,MACT,WAAW;AAAA,IAAA;AAAA,EACb;AAEJ,CAAC,GAOY0K,KAAkB,CAAC,EAAE,UAAAL,GAAU,gBAAAM,QAExC7J,gBAAAA,MAAC,SAAI,WAAWG,EAAGwJ,GAAe,EAAE,gBAAAE,GAAgB,CAAC,GAClD,UAAAN,KAAA,gBAAAA,EAAU,IAAI,CAACO,MACb9J,gBAAAA,MAAA,OAAA,EAAwB,WAAU,wBAChC,iCAAM,QADC,GAAA8J,KAAA,gBAAAA,EAAM,OAEhB,GAEJ,CAAA,GCfEC,KAAmB7K,EAAI,qBAAqB;AAAA,EAChD,UAAU;AAAA,IACR,gBAAgB;AAAA,MACd,SAAS;AAAA,MACT,WAAW;AAAA,IACb;AAAA,IACA,cAAc;AAAA,MACZ,QAAQ;AAAA,MACR,WAAW;AAAA,IAAA;AAAA,EACb;AAEJ,CAAC,GAEY8K,KAAa,CAAC,EAAE,KAAAR,GAAK,cAAAS,GAAc,gBAAAJ,GAAgB,UAAAK,8BAE3D,OAAI,EAAA,WAAW/J,EAAG4J,GAAiB,EAAE,gBAAAF,GAAgB,cAAAI,EAAA,CAAc,GAAG,EAAE,eAAeC,MAAa,GAAG,GACrG,iCAAK,IAAI,CAAC,EAAE,MAAAT,EAAA,GAAQU,MACnBnK,gBAAAA,EAAAA,IAAC,OAAoB,EAAA,WAAWG,EAAG,uCAAuC,EAAE,eAAegK,MAAc,GAAG,GACzG,eAAQV,KADDU,CAEV,IAEJ,GChBEC,KAAkBlL,EAAI,uBAAuB;AAAA,EACjD,UAAU;AAAA,IACR,cAAc;AAAA,MACZ,QAAQ;AAAA,MACR,WAAW;AAAA,IAAA;AAAA,EACb;AAEJ,CAAC,GAEYmL,KAAY,CAAC,EAAE,KAAAb,GAAK,cAAAS,GAAc,gBAAAJ,GAAgB,eAAAS,QAE1DtK,gBAAAA,EAAA,IAAA,OAAA,EAAI,WAAWG,EAAGiK,GAAgB,EAAE,cAAAH,EAAa,CAAC,CAAC,GACjD,UAAKT,KAAA,gBAAAA,EAAA,IAAI,CAAC,EAAE,MAAAC,GAAM,SAAAhJ,EAAW,GAAA0J,MAC3B9J,gBAAAA,OAAA,OAAA,EAAoB,WAAWF,EAAG,0BAA0B,EAAE,qBAAqB,CAACmK,EAAe,CAAA,GACjG,UAAA;AAAA,EAAA7J,KAAYT,gBAAAA,EAAA,IAAA,OAAA,EAAI,WAAU,2CAA2C,UAAQS,GAAA;AAAA,EAC9ET,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWG,EAAG,sCAAsC;AAAA,QAClD,eACGgK,MAAc,KAAKN,MAAmB,aACvCA,MAAmB,eAClBA,MAAmB,aAAaS;AAAA,MAAA,CACpC;AAAA,MAEA,UAAAb;AAAA,IAAA;AAAA,EAAA;AACH,KAXQU,CAYV,IAEJ,GC7BSI,KAAY,CAAC,EAAE,cAAAN,GAAc,MAAAX,GAAM,UAAAC,GAAU,gBAAAM,QAAqC;;AACvF,QAAA,EAAE,WAAAhK,EAAU,IAAIC,EAAU,GAC1B0K,MAAgBlI,IAAA+G,GAAoBC,GAAMC,CAAQ,MAAlC,gBAAAjH,EAAqC,SAAQ,CAAC,GAC9DgI,IAAgB,GAAQf,KAAYA,EAAS,SAAS;AAG1D,SAAAlJ,gBAAAA,EAAA,KAAC,OAAI,EAAA,WAAU,iBACZ,UAAA;AAAA,IAAAR,KAAayK,KAAiBtK,gBAAAA,EAAA,IAAC4J,IAAgB,EAAA,UAAAL,GAAoB,gBAAAM,GAAgC;AAAA,IACnGhK,wCAEI,UAAMyJ,KAAA,gBAAAA,EAAA,IAAI,CAACE,GAAKU,MACdlK,gBAAAA,EAAAA,IAAAgK,IAAA,EAA0B,UAAAE,GAAoB,cAAAD,GAA4B,gBAAAJ,GAAiC,GAAGL,EAAA,GAA9FU,CAAmG,GAExH,CAAA,wCAGG,UAAeM,KAAA,gBAAAA,EAAA,IAAI,CAAChB,GAAKU,MACxBlK,gBAAAA,EAAA;AAAA,MAACqK;AAAA,MAAA;AAAA,QAEC,eAAAC;AAAA,QACA,cAAAL;AAAA,QACA,gBAAAJ;AAAA,QACC,GAAGL;AAAA,MAAA;AAAA,MAJCU;AAAA,IAAA,GAOX,CAAA;AAAA,EAAA,GAEJ;AAEJ,GCrCaO,KAAQ,CAAC,EAAE,cAAAR,GAAc,aAAA7K,GAAa,gBAAAyK,GAAgB,QAAA/I,GAAQ,MAAAwI,GAAM,OAAAjK,GAAO,UAAAkK,QAA4B;AAC5G,QAAAH,IACH/I,gBAAAA,EAAAA,KAAA,OAAA,EAAI,WAAWF,EAAGuJ,GAAY,EAAE,gBAAAG,GAAgB,CAAC,GAC/C,UAAA;AAAA,IAAAxK,2BACEiB,GAAQ,EAAA,IAAG,MAAK,WAAU,qBACxB,UACHjB,GAAA;AAAA,IAGDW,gBAAAA,EAAA,IAAAuK,IAAA,EAAU,cAAAN,GAA4B,MAAAX,GAAY,UAAAC,GAAoB,gBAAAM,GAAgC;AAAA,IACtGzK,KACEY,gBAAAA,EAAA,IAAA,OAAA,EAAI,WAAU,8CAA6C,yBAAyB,EAAE,QAAQZ,KAAe,KAAM,CAAA;AAAA,EAAA,GAExH;AAGF,SAEKY,gBAAAA,EAAA,IAAAC,EAAA,UAAA,EAAA,UAAAa,MAAUA,KAAA,QAAAA,EAAQ,iBAAeA,KAAA,QAAAA,EAAQ,kBACvCd,gBAAAA,EAAA,IAAA+H,GAAA,EAAU,OAAOjH,KAAA,gBAAAA,EAAQ,gBAAiB,UAAAsI,EAAA,CAAQ,IAEnDA,GAEJ;AAEJ,GC1BasB,KAAoD;AAAA,EAC/D,gBAAgB;AAAA,EAChB,iBAAiB;AACnB,GAEaC,KAAazL,EAAI,4BAA4B;AAAA,EACxD,UAAU;AAAA,IACR,UAAU;AAAA,MACR,iBAAiB;AAAA,MACjB,gBAAgB;AAAA,IAAA;AAAA,EAEpB;AAAA,EACA,iBAAiB;AAAA,IACf,UAAU;AAAA,EAAA;AAEd,CAAC,GCTY0L,KAAW,CAAC,EAAE,OAAAjH,GAAO,MAAAkH,GAAM,KAAAC,GAAK,UAAAC,QAEzC1K,gBAAAA,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,MAAMyK;AAAA,IACN,QAAO;AAAA,IACP,KAAI;AAAA,IACJ,UAAU;AAAA,IACV,WAAW3K;AAAA,MACT;AAAA,IACF;AAAA,IAEA,UAAA;AAAA,MAAAH,gBAAAA,EAAAA,IAACiD,GAAK,EAAA,MAAMyH,GAASK,CAAQ,GAAG,WAAW5K,EAAGwK,GAAW,EAAE,UAAAI,EAAU,CAAA,CAAC,EAAG,CAAA;AAAA,MACxE1K,gBAAAA,EAAA,KAAA,OAAA,EAAI,WAAWF,EAAG,sBAAsB,GACvC,UAAA;AAAA,QAAAH,gBAAAA,MAAC,KAAE,EAAA,WAAWG,EAAG,oCAAoC,GAAI,UAAMwD,GAAA;AAAA,QAC9DtD,gBAAAA,EAAA,KAAA,OAAA,EAAI,WAAWF,EAAG,yCAAyC,GAAI,UAAA;AAAA,UAAA,OAAO0K,CAAI;AAAA,UAAE;AAAA,QAAA,EAAG,CAAA;AAAA,MAAA,EAClF,CAAA;AAAA,IAAA;AAAA,EAAA;AACF,GCrBSG,KAAY,CAAC,EAAE,MAAAC,GAAM,QAAAnK,GAAQ,OAAAzB,GAAO,UAAA0L,GAAU,aAAA3L,QAAmC;AAC5F,QAAMgK,IACJ/I,gBAAAA,EAAAA,KAAC,OAAI,EAAA,WAAU,+BACZ,UAAA;AAAA,IAAAhB,2BACEiB,GAAQ,EAAA,IAAG,MAAK,WAAU,QACxB,UACHjB,GAAA;AAAA,0BAED,OAAI,EAAA,WAAU,4BACZ,UAAA4L,KAAA,gBAAAA,EAAM,IAAI,CAACC,MAASlL,gBAAAA,EAAAA,IAAA4K,IAAA,EAAS,UAAAG,GAAqC,GAAGG,EAAA,GAAfA,EAAI,KAAgB,IAC7E;AAAA,IAEC9L,KAAgBY,gBAAAA,EAAA,IAAA,OAAA,EAAI,WAAU,QAAO,yBAAyB,EAAE,QAAQZ,KAAe,KAAM,CAAA;AAAA,EAAA,GAChG;AAGF,SAEKY,gBAAAA,EAAA,IAAAC,EAAA,UAAA,EAAA,UAAAa,MAAUA,KAAA,QAAAA,EAAQ,iBAAeA,KAAA,QAAAA,EAAQ,kBACvCd,gBAAAA,EAAA,IAAA+H,GAAA,EAAU,OAAOjH,KAAA,gBAAAA,EAAQ,gBAAiB,UAAAsI,EAAA,CAAQ,IAEnDA,GAEJ;AAEJ,GCxBM+B,KAAe,CAACpC,MAAmB;;AACvC,UAAQ,IAAM;AAAA,IACZ,KAAKD,GAAOC,CAAM;AACT,cAAAzG,IAAAyG,EAAO,YAAP,gBAAAzG,EAAgB,IAAI,CAAC8I,GAAajG,MAAUnF,gBAAAA,EAAA,IAACkJ,IAAkB,EAAA,GAAGkC,EAAX,GAAAjG,CAAwB;AAAA,IAExF,KAAK6D,GAAYD,CAAM;AACd,cAAAf,IAAAe,EAAO,YAAP,gBAAAf,EAAgB,IAAI,CAACqD,GAAkBlG,MAAUnF,gBAAAA,EAAA,IAACgL,IAAuB,EAAA,GAAGK,EAAX,GAAAlG,CAA6B;AAAA,IAEvG,KAAK8D,GAAQF,CAAM;AACV,cAAAd,IAAAc,EAAO,YAAP,gBAAAd,EAAgB,IAAI,CAACqD,GAAcnG,MAAUnF,gBAAAA,EAAA,IAACyK,IAAmB,EAAA,GAAGa,EAAX,GAAAnG,CAAyB;AAAA,IAE3F;AACS,aAAA;AAAA,EAAA;AAEb,GAEaoG,KAAe,CAAC,EAAE,QAAAxC,8BACrB,OAAI,EAAA,WAAU,uBAAuB,UAAAoC,GAAapC,CAAM,GAAE,GCdvDyC,KAAa,CAAC,EAAE,UAAAlG,GAAU,MAAAmG,QAA4B;;AACjE,QAAM,CAAC/C,GAAWC,CAAY,IAAI+C,EAAS,CAAC,GAEtCjD,IAAYkD,EAAQ,MAAMF,KAAA,gBAAAA,EAAM,IAAI,CAACG,MAAQA,KAAA,gBAAAA,EAAK,UAAU,CAACH,CAAI,CAAC,KAAK,CAAC;AAE9E,SAAI,CAACA,MAAQA,KAAA,gBAAAA,EAAM,YAAW,IAAU,OAGrCzL,gBAAAA,EAAA,IAAA,WAAA,EAAQ,IAAG,eACV,iCAACW,GACC,EAAA,UAAA;AAAA,IAACX,gBAAAA,EAAA,IAAAM,GAAA,EAAQ,IAAG,MAAM,UAASgF,GAAA;AAAA,IAC3BtF,gBAAAA,EAAAA,IAAC,SAAI,WAAU,0CACb,gCAACwI,IAAK,EAAA,WAAAC,GAAsB,WAAAC,GAAsB,cAAAC,EAAA,CAA4B,EAChF,CAAA;AAAA,0BACC,OAAI,EAAA,WAAU,4BACZ,WAAOX,KAAA1F,IAAAmJ,KAAA,gBAAAA,EAAA/C,OAAA,gBAAApG,EAAY,aAAZ,gBAAA0F,EAAsB,IAAI,CAACe,GAAQ5D,MAAWnF,gBAAAA,MAAAuL,IAAA,EAA0B,GAAGxC,EAAX,GAAA5D,CAAmB,GAC7F,CAAA;AAAA,EAAA,EAAA,CACF,EACF,CAAA;AAEJ,GCrBa0G,KAAc,CAAmC,EAAE,QAAAC,GAAQ,SAAAC,QAC/DD,EAAO,IAAI,CAAC,EAAE,MAAAE,GAAM,MAAAC,QAAW;AAC9B,QAAAC,IAAYC,EAAWH,CAAI;AAEjC,2BAAQE,GAAW,EAAA,GAAGD,GAAM,KAAKA,EAAK,MAAM,SAAAF,GAA6B;AAAA,CAC1E;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scbt-ecom/ui",
|
|
3
|
-
"version": "0.51.
|
|
3
|
+
"version": "0.51.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -155,7 +155,6 @@
|
|
|
155
155
|
"react-hook-form": "^7.52.2",
|
|
156
156
|
"react-hot-toast": "^2.4.1",
|
|
157
157
|
"react-number-format": "^5.4.0",
|
|
158
|
-
"react-select": "^5.8.3",
|
|
159
158
|
"semantic-release": "^24.2.0",
|
|
160
159
|
"storybook": "^8.2.6",
|
|
161
160
|
"tailwind-merge": "^2.4.0",
|