@scbt-ecom/ui 0.7.25 → 0.7.26
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/client.js +15500 -15670
- package/dist/client.js.map +1 -1
- package/dist/hybrid.js +77 -77
- package/dist/hybrid.js.map +1 -1
- package/dist/shared/ui/formControlElements/dadataControl/DadataAddress.d.ts +3 -0
- package/dist/shared/ui/formControlElements/dadataControl/DadataAuto.d.ts +3 -0
- package/dist/shared/ui/formControlElements/dadataControl/DadataCountry.d.ts +3 -0
- package/dist/shared/ui/formControlElements/dadataControl/DadataFio.d.ts +3 -0
- package/dist/shared/ui/formControlElements/dadataControl/DadataOrganization.d.ts +3 -0
- package/dist/shared/ui/formControlElements/{autocompleteDadata → dadataControl/autocompleteDadata}/AutocompleteDadata.d.ts +1 -1
- package/dist/shared/ui/formControlElements/dadataControl/autocompleteDadata/index.d.ts +1 -0
- package/dist/shared/ui/formControlElements/dadataControl/index.d.ts +1 -1
- package/dist/shared/ui/formControlElements/dadataControl/types.d.ts +10 -0
- package/dist/shared/ui/formControlElements/index.d.ts +0 -1
- package/dist/{utils-tailwind-Bh4Yv0Ys.js → utils-tailwind-D31aoXaK.js} +247 -249
- package/dist/utils-tailwind-D31aoXaK.js.map +1 -0
- package/package.json +1 -1
- package/dist/shared/ui/formControlElements/dadata/DadataInputControl.d.ts +0 -14
- package/dist/shared/ui/formControlElements/dadata/index.d.ts +0 -1
- package/dist/shared/ui/formControlElements/dadata/model/api.d.ts +0 -2
- package/dist/shared/ui/formControlElements/dadata/model/helpers.d.ts +0 -7
- package/dist/shared/ui/formControlElements/dadata/model/types.d.ts +0 -42
- package/dist/shared/ui/formControlElements/dadata/model/useDadata.d.ts +0 -7
- package/dist/shared/ui/formControlElements/dadataControl/DadataControl.d.ts +0 -16
- package/dist/utils-tailwind-Bh4Yv0Ys.js.map +0 -1
- /package/dist/shared/ui/formControlElements/{autocompleteDadata → dadataControl/autocompleteDadata}/model/api.d.ts +0 -0
- /package/dist/shared/ui/formControlElements/{autocompleteDadata → dadataControl/autocompleteDadata}/model/helpers.d.ts +0 -0
- /package/dist/shared/ui/formControlElements/{autocompleteDadata → dadataControl/autocompleteDadata}/model/types.d.ts +0 -0
- /package/dist/shared/ui/formControlElements/{autocompleteDadata → dadataControl/autocompleteDadata}/model/useDadata.d.ts +0 -0
- /package/dist/shared/ui/formControlElements/{autocompleteDadata → dadataControl/autocompleteDadata}/ui/ComboboxOptionsCustom.d.ts +0 -0
package/dist/hybrid.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hybrid.js","sources":["../lib/shared/utils/deepCompare.ts","../lib/shared/utils/capitalize.ts","../lib/shared/utils/formatToDate.ts","../lib/shared/ui/Section.tsx","../lib/shared/ui/ResponsiveContainer.tsx","../lib/shared/ui/table/Table.tsx","../lib/shared/ui/Breadcrumbs.tsx","../lib/shared/ui/button/model/helpers.ts","../lib/shared/ui/button/Button.tsx","../lib/shared/ui/ButtonIcon.tsx","../lib/shared/ui/CustomLink.tsx","../lib/shared/ui/Document.tsx","../lib/shared/ui/PhoneView.tsx","../lib/shared/ui/ProgressBar.tsx","../lib/shared/ui/Skeleton.tsx","../lib/shared/ui/brandLogos.tsx","../lib/shared/constants/designSystem/colors.ts","../lib/shared/constants/designSystem/others.ts","../lib/shared/constants/designSystem/typography.ts","../lib/shared/validation/regExp.ts","../lib/shared/validation/messages.ts","../lib/shared/validation/zodValidation/dadataFio.ts","../lib/shared/validation/zodValidation/calendar.ts","../node_modules/tailwindcss/lib/util/createPlugin.js","../node_modules/tailwindcss/lib/public/create-plugin.js","../node_modules/tailwindcss/plugin.js","../node_modules/tailwindcss-animate/index.js","../lib/configs/tailwindConfigBase.ts","../lib/configs/tailwindPresets/extendsPreset.ts","../lib/configs/tailwindPresets/resetPreset.ts","../lib/widgets/banner/ui/BannerButtonsGroup.tsx","../lib/widgets/Advantages.tsx","../lib/widgets/banner/ui/banners/BannerImageFull.tsx","../lib/widgets/banner/ui/banners/BannerWithSeparateImg.tsx","../lib/widgets/banner/Banner.tsx","../lib/widgets/footer/model/defaultValues.tsx","../lib/widgets/footer/ui/SocialLinks.tsx","../lib/widgets/footer/ui/PhonesBlock.tsx","../lib/widgets/footer/ui/NavLinks.tsx","../lib/widgets/footer/ui/Ligal.tsx","../lib/widgets/footer/ui/Copyright.tsx","../lib/widgets/footer/Footer.tsx","../lib/widgets/pageHeader/PageHeader.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"],"sourcesContent":["export const deepCompare = <A, B>(dataA: A, dataB: B): boolean => JSON.stringify(dataA) === JSON.stringify(dataB)\n","export const capitalize = (str: string) => {\n return str\n .split('-')\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n .join('-')\n}\n","import { parse } from 'date-fns'\n\nexport const formatToDate = (value: string, format = 'dd.MM.yyyy') => {\n return parse(value, format, new Date())\n}\n","import type { HTMLAttributes, ReactNode } from 'react'\nimport { cn } from '$/shared/utils'\n\nexport interface ISectionProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactNode\n className?: string\n}\n\nexport const Section = ({ children, className, ...props }: ISectionProps) => {\n return (\n <section className={cn('pb-16 desktop:pb-20', className)} {...props}>\n {children}\n </section>\n )\n}\n","import type { HTMLAttributes, ReactNode } from 'react'\nimport { cn } from '$/shared/utils'\n\nexport interface IResponsiveContainerProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactNode\n className?: string\n}\n\nexport const ResponsiveContainer = ({ children, className, ...props }: IResponsiveContainerProps) => {\n return (\n <div className={cn('m-auto w-full mobile:px-4 desktop:max-w-[1140px]', className)} {...props}>\n {children}\n </div>\n )\n}\n","import type { ReactElement } from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { Heading } from '../Heading'\nimport { ResponsiveContainer } from '../ResponsiveContainer'\nimport type { TableRows, TTableClasses, TTableColumnCount } from './type'\nimport { cn } from '$/shared/utils'\n\nconst tableConfig = cva('grid', {\n variants: {\n columnCount: {\n twoColumns: 'grid-cols-[repeat(2,minmax(172px,_1fr))] desktop:grid-cols-[repeat(2,minmax(172px,_1fr))]',\n threeColumns: 'grid-cols-[repeat(3,minmax(172px,_1fr))] desktop:grid-cols-[repeat(3,minmax(312px,_1fr))]'\n }\n }\n})\n\nconst itemTableConfig = cva('grid', {\n variants: {\n columnCount: {\n twoColumns: '',\n threeColumns: ''\n },\n titlesExist: {\n exist: '',\n notExist: ''\n }\n },\n compoundVariants: [\n {\n titlesExist: 'notExist',\n columnCount: 'twoColumns',\n class: 'grid-rows-[repeat(2,_auto)] border-b border-warm-grey-200 py-4'\n },\n {\n titlesExist: 'notExist',\n columnCount: 'threeColumns',\n class: 'grid-cols-[repeat(3,_auto)]'\n },\n {\n titlesExist: 'exist',\n columnCount: 'twoColumns',\n class: 'grid-cols-[repeat(2,_auto)]'\n },\n {\n titlesExist: 'exist',\n columnCount: 'threeColumns',\n class: 'grid-cols-[repeat(3,_auto)]'\n }\n ]\n})\n\nconst tableOverflowConfig = cva('grid', {\n variants: {\n columnCount: {\n twoColumns: '',\n threeColumns: ''\n }\n },\n compoundVariants: [\n {\n columnCount: 'threeColumns',\n class: 'overflow-x-scroll max-w-[368px] mb-1'\n }\n ]\n})\n\nconst textTableConfig = cva('border-b border-warm-grey-200 py-4 desktop:desk-body-regular-l mob-body-regular-l', {\n variants: {\n columnCount: {\n twoColumns: '',\n threeColumns: ''\n },\n titlesExist: {\n exist: '',\n notExist: ''\n }\n },\n compoundVariants: [\n {\n titlesExist: 'notExist',\n columnCount: 'twoColumns',\n class: 'border-transparent border-0 p-0'\n }\n ]\n})\n\ntype TTableProps = VariantProps<typeof tableConfig>\n\nexport interface ITable<C extends TTableColumnCount> extends TTableProps {\n headTitle: string | ReactElement\n columnCount: TTableColumnCount\n tableHead?: string[]\n tableRows: TableRows<C>\n additionalText?: string\n classes?: Partial<TTableClasses>\n}\n\nexport const Table = <C extends TTableColumnCount>({\n headTitle,\n tableRows,\n tableHead,\n additionalText,\n columnCount,\n classes\n}: ITable<C>) => {\n const titlesExist = tableHead && tableHead.length > 0 ? 'exist' : 'notExist'\n return (\n <ResponsiveContainer>\n <div className={cn('flex flex-col', classes?.tableRootWrapper)}>\n <Heading as='h3' className={cn('mob-title-bold-m pb-6 desktop:desk-title-bold-s', classes?.tableHeading)}>\n {headTitle}\n </Heading>\n <div className={cn(tableOverflowConfig({ columnCount }), classes?.tableBody)}>\n <ul className={cn(tableConfig({ columnCount }), classes?.tableTitlesContainer)}>\n {tableHead?.map((title) => (\n <li\n key={title}\n className={cn(\n 'mob-body-regular-l border-b border-warm-grey-200 py-4 desktop:desk-body-regular-l',\n classes?.tableTitleRow\n )}\n >\n {title}\n </li>\n ))}\n </ul>\n\n <ul className={cn('mb-4 flex flex-col', classes?.tableBodyContainer)}>\n {tableRows.map((row, index) => (\n <li key={index} className={cn(itemTableConfig({ columnCount, titlesExist }), classes?.tableBodyRow)}>\n {row.map((ceil, index) => (\n <p key={index} className={cn(textTableConfig({ titlesExist, columnCount }), classes?.tableBodyCeil)}>\n {ceil.text}\n </p>\n ))}\n </li>\n ))}\n </ul>\n </div>\n <p className={cn('mob-body-regular-m desktop:desk-body-regular-l', classes?.tableAdditionalText)}>{additionalText}</p>\n </div>\n </ResponsiveContainer>\n )\n}\n","import { type ReactElement } from 'react'\nimport { cn } from '../utils'\nimport { Icon } from './icon/Icon'\n\nexport interface IBreadcrumbLink {\n label: string | ReactElement\n path: string\n isDisabled?: boolean\n}\ninterface IBreadcrumbLinkWithoutPath {\n label: string\n isDisabled?: boolean\n}\n\nexport type TLinksList = [...IBreadcrumbLink[], IBreadcrumbLinkWithoutPath]\n\nexport interface IBreadcrumbsProps {\n linksList: TLinksList\n}\n\nexport const Breadcrumbs = ({ linksList }: IBreadcrumbsProps) => {\n return (\n <div aria-label='Breadcrumb' className='flex max-w-[840px] items-center gap-2'>\n {linksList.map((link) => (\n <>\n {'path' in link ? (\n <div\n className={cn(\n 'flex items-center gap-1 rounded-sm border-2 border-solid border-transparent px-1 focus-within:border-primary-focus',\n { 'pointer-events-none !border-transparent': link?.isDisabled }\n )}\n >\n <a\n href={link.path}\n target='_blank'\n rel='noreferrer'\n className={cn(\n 'desk-body-regular-m text-color-primary-default outline-none hover:text-color-primary-hover focus:text-color-primary-default',\n { '!text-color-disabled': link?.isDisabled }\n )}\n >\n {link.label}\n </a>\n <Icon\n name='arrows/arrowRight'\n className={cn('size-4 text-icon-primary-default', { '!text-icon-disabled': link?.isDisabled })}\n />\n </div>\n ) : (\n <div aria-current='page' className='desk-body-regular-m text-color-blue-grey-600'>\n {link.label}\n </div>\n )}\n </>\n ))}\n </div>\n )\n}\n","import type { TButtonIntents } from '../Button'\n\nexport const setButtonLoaderIntent = (intent: TButtonIntents) => {\n switch (intent) {\n case 'ghost':\n case 'secondary':\n return 'secondary'\n\n case 'primary':\n case 'negative':\n return 'primary'\n\n default:\n return intent\n }\n}\n","import { type ComponentProps, forwardRef, type ReactElement } from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { Loader } from '../Loader'\nimport { setButtonLoaderIntent } from './model/helpers'\nimport { cn } from '$/shared/utils'\n\nconst buttonConfig = cva(\n 'relative flex items-center justify-center gap-4 cursor-pointer rounded-sm w-max px-4 outline-offset-4 outline-transparent outline-2 desk-body-regular-l transition duration-12 active:scale-[0.97] disabled:pointer-events-none',\n {\n variants: {\n intent: {\n primary:\n 'bg-color-primary-default text-color-white outline-offset-[3px] hover:bg-color-primary-hover active:bg-color-primary-hover focus:bg-color-primary-default focus:outline-primary-focus disabled:bg-color-primary-disabled',\n secondary:\n 'bg-transparent text-color-primary-default border border-solid border-primary-default hover:bg-color-primary-tr-hover active:bg-color-primary-tr-pressed active:border-primary-hover focus:outline-primary-focus focus:bg-color-primary-tr-focus disabled:bg-color-blue-grey-200 disabled:text-color-primary-disabled disabled:border-transparent',\n ghost:\n 'bg-transparent text-color-primary-default hover:bg-color-primary-tr-hover hover:text-color-primary-hover focus:bg-color-primary-tr-focus focus:outline-primary-focus active:bg-color-primary-tr-pressed active:text-color-primary-hover disabled:text-color-primary-disabled disabled:bg-transparent',\n negative:\n 'bg-color-secondary-default text-color-white outline-offset-[3px] hover:bg-color-secondary-hover disabled:bg-color-secondary-disabled active:bg-color-secondary-hover focus:bg-color-secondary-default focus:outline-primary-focus'\n },\n size: {\n sm: 'h-10',\n md: 'h-12',\n lg: 'h-14'\n },\n textFormat: {\n capitalize: 'capitalize',\n uppercase: 'uppercase',\n lowercase: 'lowercase',\n initial: 'initial'\n },\n isFull: {\n true: 'w-full px-4'\n },\n isLoading: {\n true: '',\n false: ''\n }\n },\n compoundVariants: [\n {\n intent: 'primary',\n isLoading: true,\n class: '!bg-color-primary-default'\n },\n {\n intent: 'secondary',\n isLoading: true,\n class: '!bg-color-transparent !border-primary-hover'\n },\n {\n intent: 'ghost',\n isLoading: true,\n class: '!bg-color-blue-grey-200'\n },\n {\n intent: 'negative',\n isLoading: true,\n class: '!bg-color-secondary-default'\n }\n ],\n defaultVariants: {\n intent: 'primary',\n size: 'md',\n textFormat: 'initial',\n isFull: false\n }\n }\n)\n\ntype TButtonConfig = VariantProps<typeof buttonConfig>\nexport type TButtonIntents = 'primary' | 'secondary' | 'ghost' | 'negative'\nexport interface IButtonProps extends ComponentProps<'button'>, TButtonConfig {\n iconLeft?: ReactElement\n iconRight?: ReactElement\n isLoading?: boolean\n}\n\nexport const Button = forwardRef<HTMLButtonElement, IButtonProps>(\n (\n {\n intent,\n size,\n className,\n children,\n type = 'button',\n iconLeft,\n iconRight,\n disabled = false,\n isLoading = false,\n isFull = false,\n textFormat,\n ...props\n },\n ref\n ) => {\n return (\n <button\n ref={ref}\n type={type}\n disabled={disabled || isLoading}\n className={cn(buttonConfig({ intent, size, textFormat, isLoading, isFull }), className)}\n {...props}\n >\n {isLoading ? (\n <Loader size='sm' intent={setButtonLoaderIntent(intent!)} />\n ) : (\n <>\n {iconLeft && <span className='flex size-5 items-center justify-center'>{iconLeft}</span>}\n {children}\n {iconRight && <span className='flex size-5 items-center justify-center'>{iconRight}</span>}\n </>\n )}\n </button>\n )\n }\n)\n","import { type ComponentProps, forwardRef, type ReactElement } from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '$/shared/utils'\n\ntype TButtonClasses = {\n button: string\n icon: string\n}\n\nconst buttonConfig = cva(\n 'group flex items-center justify-center cursor-pointer rounded-full outline-offset-[3px] outline-transparent outline-2 transition duration-12 active:scale-[0.97] disabled:pointer-events-none',\n {\n variants: {\n intent: {\n primary:\n 'text-icon-white bg-color-primary-default hover:bg-color-primary-hover active:bg-color-primary-hover focus:bg-color-primary-hover focus:outline-primary-focus disabled:bg-color-primary-disabled',\n secondary:\n 'text-icon-primary-default bg-color-transparent border border-solid outline-offset-4 border-primary-default hover:bg-color-primary-tr-hover hover:text-icon-primary-default hover:border-primary-hover active:bg-color-primary-tr-pressed active:border-primary-hover active:text-icon-primary-hover focus:bg-color-primary-tr-focus focus:outline-primary-focus disabled:bg-color-blue-grey-200 disabled:border-transparent disabled:text-icon-primary-disabled',\n ghost:\n 'text-icon-primary-default bg-color-transparent hover:bg-color-primary-tr-hover focus:bg-color-primary-tr-focus focus:outline-primary-focus active:text-icon-primary-hover active:bg-color-primary-tr-pressed disabled:bg-color-transparent disabled:text-icon-primary-disabled'\n },\n size: {\n sm: 'size-8',\n md: 'size-10',\n lg: 'size-12'\n }\n },\n defaultVariants: {\n intent: 'primary',\n size: 'lg'\n }\n }\n)\n\ntype TButtonProps = VariantProps<typeof buttonConfig>\n\nexport interface IButtonIconProps extends Omit<ComponentProps<'button'>, 'className'>, TButtonProps {\n children: ReactElement\n classes?: Partial<TButtonClasses>\n}\n\nexport const ButtonIcon = forwardRef<HTMLButtonElement, IButtonIconProps>(\n ({ size, intent, children, classes, type = 'button', ...props }, ref) => {\n return (\n <button ref={ref} type={type} className={cn(buttonConfig({ intent, size }), classes?.button)} {...props}>\n <span className={cn(classes?.icon)}>{children}</span>\n </button>\n )\n }\n)\n","import { type ComponentProps } from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '../utils'\nimport { Icon, type TAllowedIcons } from './icon/Icon'\n\nconst customLinkConfig = cva(\n 'group underline underline-offset-4 outline-none p-[2px] rounded-sm border border-solid border-transparent',\n {\n variants: {\n intent: {\n blue: 'text-color-primary-default hover:text-color-primary-hover focus:text-color-primary-default focus:border-primary-focus',\n white: 'text-color-white hover:text-color-footer focus:text-color-white focus:border-primary-focus'\n },\n withIcon: {\n true: 'flex items-center gap-1',\n false: ''\n },\n disabled: {\n true: '!text-color-primary-disabled pointer-events-none !border-transparent',\n false: ''\n },\n size: {\n sm: 'desk-body-regular-m',\n md: 'desk-body-regular-l'\n }\n },\n defaultVariants: {\n intent: 'blue',\n withIcon: true,\n disabled: false,\n size: 'sm'\n }\n }\n)\n\nconst linkArrowConfig = cva('size-6', {\n variants: {\n intent: {\n blue: 'text-icon-primary-default group-hover:text-icon-primary-hover group-focus:text-icon-primary-default ',\n white: 'text-icon-white group-hover:text-icon-footer group-focus:text-icon-white'\n },\n disabled: {\n true: '!text-icon-primary-disabled pointer-events-none',\n false: ''\n }\n },\n defaultVariants: {\n intent: 'blue',\n disabled: false\n }\n})\n\ntype TCustomLinkConfig = VariantProps<typeof customLinkConfig>\n\nexport interface ICustomLinkProps extends TCustomLinkConfig, Omit<ComponentProps<'a'>, 'className'> {\n Component?: 'a'\n icon?: TAllowedIcons\n}\n\nexport const CustomLink = ({\n Component = 'a',\n intent,\n children,\n withIcon,\n disabled,\n size,\n icon = 'arrows/arrowLink',\n ...props\n}: ICustomLinkProps) => {\n return (\n <Component className={cn(customLinkConfig({ intent, withIcon, disabled, size }))} {...props}>\n {children}\n {withIcon && <Icon name={icon} className={cn(linkArrowConfig({ intent, disabled }))} />}\n </Component>\n )\n}\n","import { type ReactElement } from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { Icon, type TAllowedIcons } from './icon'\nimport { cn } from '$/shared/utils'\n\nconst iconConfig = cva('size-8 transition-colors', {\n variants: {\n intent: {\n outline: 'text-icon-secondary-dark-default group-hover:text-icon-secondary-dark-hover',\n filled: 'text-icon-primary-default group-hover:text-icon-primary-hover'\n }\n },\n defaultVariants: {\n intent: 'outline'\n }\n})\n\ntype TIconConfig = VariantProps<typeof iconConfig>\n\nconst iconVariant: Record<NonNullable<TIconConfig['intent']>, TAllowedIcons> = {\n filled: 'files/documentFilled',\n outline: 'files/documentOutline'\n}\n\nexport interface IDocumentProps extends TIconConfig {\n text: string | ReactElement\n size: number\n sizeType: 'КБ' | 'МБ'\n href: string\n}\n\nexport const Document = ({ text, size, sizeType, href, intent = 'outline' }: IDocumentProps) => {\n return (\n <a\n href={href}\n target='_blank'\n rel='noreferrer'\n tabIndex={0}\n className={cn(\n 'group flex max-w-[288px] cursor-pointer items-center gap-2 rounded-sm p-1 outline outline-2 outline-transparent transition-colors focus-within:outline-primary-focus desktop:max-w-[592px]'\n )}\n >\n <Icon name={iconVariant[intent!]} className={cn(iconConfig({ intent }))} />\n <div className={cn('flex flex-1 flex-col')}>\n <p className={cn('desk-body-medium-l text-color-dark')}>{text}</p>\n <div className={cn('desk-body-regular-m text-color-disabled')}>\n {size} {sizeType}\n </div>\n </div>\n </a>\n )\n}\n","import { type ReactElement } from 'react'\nimport { cn } from '../utils'\n\ninterface IPhoneViewClasses {\n wrapper: string\n link: string\n text: string\n}\n\nexport interface IPhoneViewProps {\n phone: string | ReactElement\n text: string | ReactElement\n classes?: Partial<IPhoneViewClasses>\n}\nexport const PhoneView = ({ phone, text, classes }: IPhoneViewProps) => {\n return (\n <div className={cn('flex w-max flex-col', classes?.wrapper)}>\n <a href={`tel:${phone}`} className={cn('desk-body-medium-l ml-auto text-color-dark', classes?.link)}>\n {phone}\n </a>\n <p className={cn('desk-body-regular-l text-color-tetriary', classes?.text)}>{text}</p>\n </div>\n )\n}\n","import * as React from 'react'\nimport { cn } from '../utils'\n\ntype IProgressBarClasses = {\n wrapper: string\n topContent: string\n bottomContent: string\n progressBar: string\n progress: string\n loader: string\n}\n\nexport interface IProgressBarProps {\n topContent?: React.ReactElement\n bottomContent?: React.ReactElement\n progress: number\n maxPercent?: number\n classes?: Partial<IProgressBarClasses>\n}\n\nexport const ProgressBar = ({ topContent, bottomContent, progress, maxPercent = 100, classes }: IProgressBarProps) => {\n return (\n <div className={cn('flex flex-col', classes?.wrapper)}>\n {topContent && <div className={cn('mb-2 flex justify-between gap-5', classes?.topContent)}>{topContent}</div>}\n\n <div className={cn('relative h-2 w-[328xp] rounded-md bg-color-blue-grey-100 desktop:w-[524px]', classes?.progressBar)}>\n <div\n style={{ width: `${progress}%` }}\n className={cn('relative z-10 h-2 rounded-md bg-color-positive transition-all', classes?.progress)}\n ></div>\n <span\n style={{ maxWidth: `${maxPercent}%` }}\n className={cn(\n 'progressBar-apply z-1 absolute top-1/2 h-full w-full -translate-y-1/2 animate-progress-loader rounded-md',\n classes?.loader\n )}\n ></span>\n </div>\n\n {bottomContent && <div className={cn('mt-2 flex justify-between gap-5', classes?.bottomContent)}>{bottomContent}</div>}\n </div>\n )\n}\n","import { cn } from '../utils'\n\nexport interface ISkeletonProps {\n className?: string\n}\n\nexport const Skeleton = ({ className }: ISkeletonProps) => {\n return <div className={cn('skeleton-apply h-full w-full', className)}></div>\n}\n","import type { ReactElement } from 'react'\nimport { Icon } from './icon/Icon'\n\nexport type TBrandLogoVariant = 'main' | 'white' | 'gray' | 'black' | 'business' | 'insurance'\ntype TBrandLogosVariants = Record<TBrandLogoVariant, ReactElement>\n\nexport const brandLogos: TBrandLogosVariants = {\n main: <Icon name='brandLogos/logoMain' />,\n white: <Icon name='brandLogos/logoWhite' />,\n gray: <Icon name='brandLogos/logoGray' />,\n black: <Icon name='brandLogos/logoBlack' />,\n business: <Icon name='brandLogos/logoBusiness' />,\n insurance: <Icon name='brandLogos/logoInsurance' />\n} as const\n","const rootStyles = {\n transparent: 'transparent',\n current: 'currentColor',\n inherit: 'inherit',\n initial: 'initial'\n}\n\nconst allowedBackgroundColors = {\n 'blue-grey-100': '#f3f4f7',\n 'blue-grey-200': '#eaedf1',\n 'blue-grey-300': '#d4dbe2',\n 'blue-grey-500': '#a9b6c5',\n footer: '#40465a',\n negative: '#f42500',\n 'negative-light': '#ffd2ca',\n positive: '#76bc21',\n 'positive-light': '#e4f6ce',\n 'primary-default': '#003790',\n 'primary-focus': '#2477ff',\n 'primary-hover': '#042e73',\n 'primary-light-default': '#f0f4f9',\n 'primary-tr-focus': '#0037901f',\n 'primary-tr-hover': '#00379014',\n 'primary-tr-pressed': '#00379033',\n 'secondary-default': '#fc5055',\n 'secondary-hover': '#f12f34',\n warning: '#f49f00',\n 'warning-light': '#ffeecc',\n white: '#ffffff',\n 'primary-disabled': '#809bc7',\n 'secondary-disabled': '#FFB7BF',\n dark: '#000000',\n purple: '#5f40bd',\n 'purple-hover': '#52399d',\n overlay: '#0000004d',\n ...rootStyles\n} as const\n\nconst allowedTextColors = {\n dark: '#292929',\n disabled: '#a9b6c5',\n footer: '#c3c3c3',\n negative: '#f42500',\n positive: '#76bc21',\n 'primary-default': '#003790',\n 'primary-hover': '#042e73',\n secondary: '#40465a',\n tetriary: '#5a6e85',\n warning: '#f49f00',\n white: '#ffffff',\n 'primary-disabled': '#809bc7',\n 'blue-grey-600': '#94a4b7',\n ...rootStyles\n} as const\n\nconst allowedBannersBackgroundColors = {\n 'barvcray-200': '#ebeef4',\n 'barvcray-300': '#dde1e8',\n 'greymint-200': '#deecee',\n 'lavender-100': '#f7f7ff',\n 'lavender-200': '#ecedfa',\n 'lavender-300': '#d0d3f1',\n 'lightblue-300': '#bed3ec',\n 'mint-200': '#e4f5ed',\n 'salmon-200': '#faecec',\n 'skyblue-100': '#f4f8fe',\n 'skyblue-200': '#e7f3ff',\n 'skyblue-300': '#d9edff',\n ...rootStyles\n} as const\n\nconst allowedIconsColors = {\n 'accent-default': '#2477ff',\n 'accent-hover': '#0053da',\n 'blue-grey-100': '#f3f4f7',\n 'blue-grey-600': '#94a4b7',\n 'blue-grey-700': '#69809a',\n 'blue-grey-800': '#5a6e85',\n 'dark-default': '#292929',\n 'dark-hover': '#535353',\n disabled: '#a9b6c5',\n 'negative-default': '#f42500',\n 'negative-hover': '#c31e00',\n 'positive-default': '#76bc21',\n 'positive-hover': '#598d19',\n 'primary-default': '#003790',\n 'primary-hover': '#042e73',\n 'secondary-dark-default': '#f12f34',\n 'secondary-dark-hover': '#c40309',\n 'secondary-default': '#fc5055',\n 'secondary-hover': '#f12f34',\n 'warning-default': '#f49f00',\n 'warning-hover': '#d68b00',\n white: '#ffffff',\n 'primary-disabled': '#809bc7',\n footer: '#C3C3C3',\n ...rootStyles\n} as const\n\nconst allowedStrokeColors = {\n 'blue-grey-500': '#a9b6c5',\n 'blue-grey-700': '#69809a',\n 'blue-grey-800': '#5a6e85',\n dark: '#292929',\n negative: '#f42500',\n positive: '#76bc21',\n 'primary-default': '#003790',\n 'primary-focus': '#2477ff',\n 'primary-hover': '#042e73',\n 'primary-light': '#f0f4f9',\n 'secondary-default': '#fc5055',\n 'secondary-hover': '#f12f34',\n 'warm-grey-200': '#e4e4e4',\n 'warm-grey-300': '#c3c3c3',\n warning: '#f49f00',\n white: '#ffffff',\n 'primary-disabled': '#809bc7',\n ...rootStyles\n} as const\n\nexport { allowedStrokeColors, allowedBannersBackgroundColors, allowedIconsColors, allowedTextColors, allowedBackgroundColors }\n","const allowedBorderRadius = {\n none: '0',\n sm: '4px',\n md: '8px',\n lg: '16px',\n full: '9999px'\n}\n\nconst allowedBackgroundDeg = {\n 30: '30deg',\n 45: '45deg',\n 80: '80deg',\n 90: '90deg',\n 110: '110deg',\n 180: '180deg'\n}\n\nconst allowedZIndex = {\n 0: '0',\n 1: '1',\n 10: '10',\n 30: '30',\n 50: '50',\n 100: '100',\n 250: '250',\n 500: '500',\n 1000: '1000'\n}\n\nexport { allowedBorderRadius, allowedBackgroundDeg, allowedZIndex }\n","const allowedFontSize = {\n 12: '12px',\n 14: '14px',\n 16: '16px',\n 18: '18px',\n 20: '20px',\n 24: '24px',\n 28: '28px',\n 32: '32px',\n 40: '40px'\n}\n\nconst allowedLineHeight = {\n 16: '16px',\n 20: '20px',\n 22: '22px',\n 24: '24px',\n 30: '30px',\n 32: '32px',\n 40: '40px',\n 48: '48px'\n}\n\nconst allowedTextStyles = {\n /* # Headline */\n '.mob-headline-bold-m': {\n '@apply font-bold text-28 leading-32': ''\n },\n '.mob-headline-bold-s': {\n '@apply font-bold text-24 leading-30': ''\n },\n /* # Title */\n '.mob-title-bold-l': {\n '@apply font-bold text-20 leading-24': ''\n },\n '.mob-title-bold-m': {\n '@apply font-bold text-18 leading-22': ''\n },\n /* # Body */\n '.mob-body-medium-l': {\n '@apply font-medium text-16 leading-22': ''\n },\n '.mob-body-regular-l': {\n '@apply font-normal text-16 leading-22': ''\n },\n '.mob-body-medium-m': {\n '@apply font-medium text-14 leading-20': ''\n },\n '.mob-body-regular-m': {\n '@apply font-normal text-14 leading-20': ''\n },\n '.mob-body-regular-s': {\n '@apply font-normal text-12 leading-20': ''\n },\n\n /* -------- Desktop Typography -------- */\n /* # Headline */\n '.desk-headline-bold-l': {\n '@apply font-bold text-40 leading-48': ''\n },\n '.desk-headline-bold-m': {\n '@apply font-bold text-32 leading-40': ''\n },\n\n /* # Title */\n '.desk-title-bold-l': {\n '@apply font-bold text-24 leading-30': ''\n },\n '.desk-title-bold-s': {\n '@apply font-bold text-18 leading-22': ''\n },\n\n /* # Body */\n '.desk-body-medium-l': {\n '@apply font-medium text-16 leading-22': ''\n },\n '.desk-body-regular-l': {\n '@apply font-normal text-16 leading-22': ''\n },\n '.desk-body-regular-m': {\n '@apply font-normal text-14 leading-20': ''\n },\n '.desk-body-regular-s': {\n '@apply font-normal text-12 leading-16': ''\n }\n}\n\nexport { allowedLineHeight, allowedFontSize, allowedTextStyles }\n","/* eslint-disable operator-linebreak */\nexport const RgxUnicode = /^[\\u0400-\\u04FF\\u00CB\\u00EB -]+$/ // Диапазон символов Unicode, включающий кириллические символы.*\nexport const RgxCheckForHyphen = /^(?:[^-]+(?:-[^-]+){0,4}|[^-]+)$/ // Проверяет количество дефисов a-b-c-d-e Валидный (до 4 дефисов), не валидный*\nexport const RgxPatronymic =\n /^[a-zA-Zа-яА-ЯёЁ]+(?:\\s*-\\s*[a-zA-Zа-яА-ЯёЁ]+){0,4}(?:\\s+[a-zA-Zа-яА-ЯёЁ]+(?:\\s*-\\s*[a-zA-Zа-яА-ЯёЁ]+){0,4})?$/i\n","export const VALIDATION_MESSAGES = {\n REQUIRED: 'Поле обязательно к заполнению',\n MIN_LENGTH: 'Минимальная длина символов должна быть не менее',\n MAX_LENGTH: 'Максимальная длина символов должна быть не более',\n FIX_LENGTH: 'Длина символов должна быть равна',\n MAX_LENGTH_ELEMENTS: 'Максимальное количество элементов должно быть не более',\n MIN_LENGTH_ELEMENTS: 'Минимальное количество элементов должно быть не менее',\n FIX_LENGTH_ELEMENTS: 'Количество элементов должно быть равно',\n INVALID_VALUE: 'Поле заполнено некорректно',\n INVALID_DATE: 'Введите корректную дату',\n FUTURE_DATE_NOT_ALLOWED: 'Нельзя выбрать дату позже текущей'\n} as const\n","import { z } from 'zod'\nimport { RgxCheckForHyphen, RgxPatronymic, RgxUnicode } from '../regExp'\n\nconst formattedFio = (value: string) => {\n const parts = value.trim().replace(/\\s+/g, ' ').split(' ')\n const [surname, name, ...patronymicArr] = parts\n const patronymic = patronymicArr?.join(' ')\n\n return {\n surname,\n name,\n patronymic\n }\n}\n\nexport const zodDadataFioValidate = z\n .string({ invalid_type_error: 'Обязательно к заполнению', required_error: 'Обязательно к заполнению' })\n .superRefine((value, ctx) => {\n if (!RgxUnicode.test(value)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Должна быть только кириллица'\n })\n }\n\n const { surname, name, patronymic } = formattedFio(value)\n\n if (!surname || !name) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Введите имя и фамилию'\n })\n }\n\n if (!RgxCheckForHyphen.test(name)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Неверно введено имя'\n })\n }\n\n if (!RgxCheckForHyphen.test(surname)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Неверно введена фамилия'\n })\n }\n\n if (patronymic) {\n if (!RgxPatronymic.test(patronymic)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Неверно введено отчество'\n })\n }\n }\n })\n\n// .transform((value) => {\n// const { surname, name, patronymic } = formattedFio(value)\n\n// return {\n// surname: capitalize(surname),\n// name: capitalize(name),\n// patronymic: patronymic ? capitalize(patronymic) : undefined\n// }\n// })\n\n// Тестов Имя\n// Тестов Имя Отчество\n// Тестов-тестов Имя Отчество\n// Тестов-тестов Имя Отчество углы-ули\n// Тестов-тестов Имя Отчество углы-ули Отчество-Отчество\n","import { isValid, parse } from 'date-fns'\nimport { z } from 'zod'\nimport { VALIDATION_MESSAGES } from '../messages'\n\nexport const zodCalendarValidate = z\n .string()\n .length(10, { message: VALIDATION_MESSAGES.INVALID_DATE })\n .superRefine((val, ctx) => {\n const [day, month, year] = val?.split('.') ?? ''\n const parsed = parse(`${day}/${month}/${year}`, 'dd/MM/yyyy', new Date())\n\n if (+year <= 1950) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: VALIDATION_MESSAGES.INVALID_DATE\n })\n }\n\n if (!isValid(parsed)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: VALIDATION_MESSAGES.INVALID_DATE\n })\n }\n\n if (new Date().getTime() < new Date(parsed).getTime()) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: VALIDATION_MESSAGES.FUTURE_DATE_NOT_ALLOWED\n })\n }\n })\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return _default;\n }\n});\nfunction createPlugin(plugin, config) {\n return {\n handler: plugin,\n config\n };\n}\ncreatePlugin.withOptions = function(pluginFunction, configFunction = ()=>({})) {\n const optionsFunction = function(options) {\n return {\n __options: options,\n handler: pluginFunction(options),\n config: configFunction(options)\n };\n };\n optionsFunction.__isOptionsFunction = true;\n // Expose plugin dependencies so that `object-hash` returns a different\n // value if anything here changes, to ensure a rebuild is triggered.\n optionsFunction.__pluginFunction = pluginFunction;\n optionsFunction.__configFunction = configFunction;\n return optionsFunction;\n};\nconst _default = createPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return _default;\n }\n});\nconst _createPlugin = /*#__PURE__*/ _interop_require_default(require(\"../util/createPlugin\"));\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nconst _default = _createPlugin.default;\n","let createPlugin = require('./lib/public/create-plugin')\nmodule.exports = (createPlugin.__esModule ? createPlugin : { default: createPlugin }).default\n","const plugin = require(\"tailwindcss/plugin\")\n\nfunction filterDefault(values) {\n\treturn Object.fromEntries(\n\t\tObject.entries(values).filter(([key]) => key !== \"DEFAULT\"),\n\t)\n}\n\nmodule.exports = plugin(\n\t({ addUtilities, matchUtilities, theme }) => {\n\t\taddUtilities({\n\t\t\t\"@keyframes enter\": theme(\"keyframes.enter\"),\n\t\t\t\"@keyframes exit\": theme(\"keyframes.exit\"),\n\t\t\t\".animate-in\": {\n\t\t\t\tanimationName: \"enter\",\n\t\t\t\tanimationDuration: theme(\"animationDuration.DEFAULT\"),\n\t\t\t\t\"--tw-enter-opacity\": \"initial\",\n\t\t\t\t\"--tw-enter-scale\": \"initial\",\n\t\t\t\t\"--tw-enter-rotate\": \"initial\",\n\t\t\t\t\"--tw-enter-translate-x\": \"initial\",\n\t\t\t\t\"--tw-enter-translate-y\": \"initial\",\n\t\t\t},\n\t\t\t\".animate-out\": {\n\t\t\t\tanimationName: \"exit\",\n\t\t\t\tanimationDuration: theme(\"animationDuration.DEFAULT\"),\n\t\t\t\t\"--tw-exit-opacity\": \"initial\",\n\t\t\t\t\"--tw-exit-scale\": \"initial\",\n\t\t\t\t\"--tw-exit-rotate\": \"initial\",\n\t\t\t\t\"--tw-exit-translate-x\": \"initial\",\n\t\t\t\t\"--tw-exit-translate-y\": \"initial\",\n\t\t\t},\n\t\t})\n\n\t\tmatchUtilities(\n\t\t\t{\n\t\t\t\t\"fade-in\": (value) => ({ \"--tw-enter-opacity\": value }),\n\t\t\t\t\"fade-out\": (value) => ({ \"--tw-exit-opacity\": value }),\n\t\t\t},\n\t\t\t{ values: theme(\"animationOpacity\") },\n\t\t)\n\n\t\tmatchUtilities(\n\t\t\t{\n\t\t\t\t\"zoom-in\": (value) => ({ \"--tw-enter-scale\": value }),\n\t\t\t\t\"zoom-out\": (value) => ({ \"--tw-exit-scale\": value }),\n\t\t\t},\n\t\t\t{ values: theme(\"animationScale\") },\n\t\t)\n\n\t\tmatchUtilities(\n\t\t\t{\n\t\t\t\t\"spin-in\": (value) => ({ \"--tw-enter-rotate\": value }),\n\t\t\t\t\"spin-out\": (value) => ({ \"--tw-exit-rotate\": value }),\n\t\t\t},\n\t\t\t{ values: theme(\"animationRotate\") },\n\t\t)\n\n\t\tmatchUtilities(\n\t\t\t{\n\t\t\t\t\"slide-in-from-top\": (value) => ({\n\t\t\t\t\t\"--tw-enter-translate-y\": `-${value}`,\n\t\t\t\t}),\n\t\t\t\t\"slide-in-from-bottom\": (value) => ({\n\t\t\t\t\t\"--tw-enter-translate-y\": value,\n\t\t\t\t}),\n\t\t\t\t\"slide-in-from-left\": (value) => ({\n\t\t\t\t\t\"--tw-enter-translate-x\": `-${value}`,\n\t\t\t\t}),\n\t\t\t\t\"slide-in-from-right\": (value) => ({\n\t\t\t\t\t\"--tw-enter-translate-x\": value,\n\t\t\t\t}),\n\t\t\t\t\"slide-out-to-top\": (value) => ({\n\t\t\t\t\t\"--tw-exit-translate-y\": `-${value}`,\n\t\t\t\t}),\n\t\t\t\t\"slide-out-to-bottom\": (value) => ({\n\t\t\t\t\t\"--tw-exit-translate-y\": value,\n\t\t\t\t}),\n\t\t\t\t\"slide-out-to-left\": (value) => ({\n\t\t\t\t\t\"--tw-exit-translate-x\": `-${value}`,\n\t\t\t\t}),\n\t\t\t\t\"slide-out-to-right\": (value) => ({\n\t\t\t\t\t\"--tw-exit-translate-x\": value,\n\t\t\t\t}),\n\t\t\t},\n\t\t\t{ values: theme(\"animationTranslate\") },\n\t\t)\n\n\t\tmatchUtilities(\n\t\t\t{ duration: (value) => ({ animationDuration: value }) },\n\t\t\t{ values: filterDefault(theme(\"animationDuration\")) },\n\t\t)\n\n\t\tmatchUtilities(\n\t\t\t{ delay: (value) => ({ animationDelay: value }) },\n\t\t\t{ values: theme(\"animationDelay\") },\n\t\t)\n\n\t\tmatchUtilities(\n\t\t\t{ ease: (value) => ({ animationTimingFunction: value }) },\n\t\t\t{ values: filterDefault(theme(\"animationTimingFunction\")) },\n\t\t)\n\n\t\taddUtilities({\n\t\t\t\".running\": { animationPlayState: \"running\" },\n\t\t\t\".paused\": { animationPlayState: \"paused\" },\n\t\t})\n\n\t\tmatchUtilities(\n\t\t\t{ \"fill-mode\": (value) => ({ animationFillMode: value }) },\n\t\t\t{ values: theme(\"animationFillMode\") },\n\t\t)\n\n\t\tmatchUtilities(\n\t\t\t{ direction: (value) => ({ animationDirection: value }) },\n\t\t\t{ values: theme(\"animationDirection\") },\n\t\t)\n\n\t\tmatchUtilities(\n\t\t\t{ repeat: (value) => ({ animationIterationCount: value }) },\n\t\t\t{ values: theme(\"animationRepeat\") },\n\t\t)\n\t},\n\t{\n\t\ttheme: {\n\t\t\textend: {\n\t\t\t\tanimationDelay: ({ theme }) => ({\n\t\t\t\t\t...theme(\"transitionDelay\"),\n\t\t\t\t}),\n\t\t\t\tanimationDuration: ({ theme }) => ({\n\t\t\t\t\t0: \"0ms\",\n\t\t\t\t\t...theme(\"transitionDuration\"),\n\t\t\t\t}),\n\t\t\t\tanimationTimingFunction: ({ theme }) => ({\n\t\t\t\t\t...theme(\"transitionTimingFunction\"),\n\t\t\t\t}),\n\t\t\t\tanimationFillMode: {\n\t\t\t\t\tnone: \"none\",\n\t\t\t\t\tforwards: \"forwards\",\n\t\t\t\t\tbackwards: \"backwards\",\n\t\t\t\t\tboth: \"both\",\n\t\t\t\t},\n\t\t\t\tanimationDirection: {\n\t\t\t\t\tnormal: \"normal\",\n\t\t\t\t\treverse: \"reverse\",\n\t\t\t\t\talternate: \"alternate\",\n\t\t\t\t\t\"alternate-reverse\": \"alternate-reverse\",\n\t\t\t\t},\n\t\t\t\tanimationOpacity: ({ theme }) => ({\n\t\t\t\t\tDEFAULT: 0,\n\t\t\t\t\t...theme(\"opacity\"),\n\t\t\t\t}),\n\t\t\t\tanimationTranslate: ({ theme }) => ({\n\t\t\t\t\tDEFAULT: \"100%\",\n\t\t\t\t\t...theme(\"translate\"),\n\t\t\t\t}),\n\t\t\t\tanimationScale: ({ theme }) => ({\n\t\t\t\t\tDEFAULT: 0,\n\t\t\t\t\t...theme(\"scale\"),\n\t\t\t\t}),\n\t\t\t\tanimationRotate: ({ theme }) => ({\n\t\t\t\t\tDEFAULT: \"30deg\",\n\t\t\t\t\t...theme(\"rotate\"),\n\t\t\t\t}),\n\t\t\t\tanimationRepeat: {\n\t\t\t\t\t0: \"0\",\n\t\t\t\t\t1: \"1\",\n\t\t\t\t\tinfinite: \"infinite\",\n\t\t\t\t},\n\t\t\t\tkeyframes: {\n\t\t\t\t\tenter: {\n\t\t\t\t\t\tfrom: {\n\t\t\t\t\t\t\topacity: \"var(--tw-enter-opacity, 1)\",\n\t\t\t\t\t\t\ttransform:\n\t\t\t\t\t\t\t\t\"translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\texit: {\n\t\t\t\t\t\tto: {\n\t\t\t\t\t\t\topacity: \"var(--tw-exit-opacity, 1)\",\n\t\t\t\t\t\t\ttransform:\n\t\t\t\t\t\t\t\t\"translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n)\n","import type { Config } from 'tailwindcss'\nimport plugin from 'tailwindcss/plugin'\nimport tailwindAnimation from 'tailwindcss-animate'\nimport {\n allowedBackgroundColors,\n allowedBackgroundDeg,\n allowedBannersBackgroundColors,\n allowedBorderRadius,\n allowedFontSize,\n allowedIconsColors,\n allowedLineHeight,\n allowedStrokeColors,\n allowedTextColors,\n allowedTextStyles\n} from '../shared/constants'\n\nexport const tailwindConfigBase: Omit<Config, 'content'> = {\n theme: {\n backgroundColor: {\n color: allowedBackgroundColors,\n banner: allowedBannersBackgroundColors,\n icon: allowedIconsColors\n },\n textColor: {\n icon: allowedIconsColors,\n color: allowedTextColors\n },\n fill: allowedIconsColors,\n stroke: allowedIconsColors,\n borderColor: allowedStrokeColors,\n outlineColor: allowedStrokeColors,\n borderRadius: allowedBorderRadius,\n fontFamily: { roboto: ['var(--ff-roboto)', 'sans-serif'] },\n fontSize: allowedFontSize,\n lineHeight: allowedLineHeight,\n gradientColorStops: allowedBackgroundColors,\n boxShadow: {\n sm: '0 8px 20px 0 rgba(0, 0, 0, 0.08)',\n md: '0 12px 20px 0 rgba(0, 33, 87, 0.10)',\n lg: '0 16px 24px 0 rgba(0, 33, 87, 0.16)'\n },\n extend: {\n bgGradientDeg: allowedBackgroundDeg,\n width: {\n 'popper-content': 'var(--radix-popover-content-available-width)',\n 'popper-trigger': 'var(--radix-popover-trigger-width)',\n 'autocomplete-input': 'var(--input-width)',\n 'select-trigger': 'var(--button-width)'\n },\n transitionDuration: {\n DEFAULT: '0.3s',\n 12: '0.12s',\n 15: '0.15s',\n 2: '2s'\n },\n transitionTimingFunction: {\n DEFAULT: 'ease-in-out'\n },\n keyframes: {\n slideDown: {\n from: { height: '0px' },\n to: { height: 'var(--radix-accordion-content-height)' }\n },\n slideUp: {\n from: { height: 'var(--radix-accordion-content-height)' },\n to: { height: '0px' }\n },\n 'scale-in': {\n from: { opacity: '0', scale: '0' },\n to: { opacity: '1', scale: '1' }\n },\n 'progress-loader': {\n '100%': {\n backgroundPosition: '100% 100%'\n }\n }\n },\n animation: {\n slideDown: 'slideDown 0.3s cubic-bezier(0.87, 0, 0.13, 1)',\n slideUp: 'slideUp 0.3s cubic-bezier(0.87, 0, 0.13, 1)',\n 'scale-in': 'scale-in 0.3s ease-in-out',\n 'progress-loader': 'progress-loader 250s linear infinite'\n }\n }\n },\n plugins: [\n tailwindAnimation,\n plugin(({ addComponents }) => {\n addComponents(allowedTextStyles)\n }),\n plugin(function ({ matchUtilities, theme }) {\n matchUtilities(\n {\n 'bg-deg-gradient': (angle) => ({\n 'background-image': `linear-gradient(${angle}, var(--tw-gradient-stops))`\n })\n },\n {\n values: Object.assign(theme('bgGradientDeg', {}), {})\n }\n )\n })\n ]\n}\n","import type { Config } from 'tailwindcss'\n\nexport const extendsPreset: Omit<Config, 'content'> = {\n theme: {\n extend: {\n transitionDuration: {\n DEFAULT: '0.3s',\n 12: '0.12s',\n 15: '0.15s',\n 2: '2s',\n 333: '333s'\n },\n transitionTimingFunction: {\n DEFAULT: 'ease-in-out'\n },\n keyframes: {\n slideDown: {\n from: { height: '0px' },\n to: { height: 'var(--radix-accordion-content-height)' }\n },\n slideUp: {\n from: { height: 'var(--radix-accordion-content-height)' },\n to: { height: '0px' }\n },\n 'scale-in': {\n from: { opacity: '0', scale: '0' },\n to: { opacity: '1', scale: '1' }\n },\n 'progress-loader': {\n '100%': {\n backgroundPosition: '100% 100%'\n }\n }\n },\n animation: {\n slideDown: 'slideDown 0.3s cubic-bezier(0.87, 0, 0.13, 1)',\n slideUp: 'slideUp 0.3s cubic-bezier(0.87, 0, 0.13, 1)',\n 'scale-in': 'scale-in 0.3s ease-in-out',\n 'progress-loader': 'progress-loader 250s linear infinite'\n }\n }\n }\n}\n","// Тут через алиасы не импортируй, иначе не будет работать\nimport type { Config } from 'tailwindcss'\nimport plugin from 'tailwindcss/plugin'\nimport tailwindAnimation from 'tailwindcss-animate'\nimport {\n allowedBackgroundColors,\n allowedBackgroundDeg,\n allowedBannersBackgroundColors,\n allowedBorderRadius,\n allowedFontSize,\n allowedIconsColors,\n allowedLineHeight,\n allowedStrokeColors,\n allowedTextColors,\n allowedTextStyles,\n allowedZIndex\n} from '../../shared/constants'\n\nexport const resetPreset: Omit<Config, 'content'> = {\n theme: {\n screens: {\n mobile: { max: '1187px' },\n desktop: '1188px'\n },\n backgroundColor: {\n color: allowedBackgroundColors,\n banner: allowedBannersBackgroundColors,\n icon: allowedIconsColors\n },\n textColor: {\n icon: allowedIconsColors,\n color: allowedTextColors\n },\n fill: allowedIconsColors,\n stroke: allowedIconsColors,\n borderColor: allowedStrokeColors,\n outlineColor: allowedStrokeColors,\n borderRadius: allowedBorderRadius,\n fontFamily: { roboto: ['var(--ff-roboto)', 'sans-serif'] },\n fontSize: allowedFontSize,\n lineHeight: allowedLineHeight,\n gradientColorStops: allowedBackgroundColors,\n boxShadow: {\n sm: '0 8px 20px 0 rgba(0, 0, 0, 0.08)',\n md: '0 12px 20px 0 rgba(0, 33, 87, 0.10)',\n lg: '0 16px 24px 0 rgba(0, 33, 87, 0.16)'\n },\n zIndex: allowedZIndex,\n extend: {\n bgGradientDeg: allowedBackgroundDeg\n }\n },\n plugins: [\n tailwindAnimation,\n plugin(({ addComponents }) => {\n addComponents(allowedTextStyles)\n }),\n plugin(function ({ matchUtilities, theme }) {\n matchUtilities(\n {\n 'bg-deg-gradient': (angle) => ({\n 'background-image': `linear-gradient(${angle}, var(--tw-gradient-stops))`\n })\n },\n {\n values: Object.assign(theme('bgGradientDeg', {}), {})\n }\n )\n })\n ]\n}\n","import { type TButtonsConfig } from '../Banner'\nimport { Button } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport interface IBannerButtonsGroupClasses {\n group: string\n primary: string\n secondary: string\n}\ninterface IBannerButtonsGroupProps {\n buttonsConfig: TButtonsConfig\n classes?: Partial<IBannerButtonsGroupClasses>\n className?: string\n}\n\nexport const BannerButtonsGroup = ({ buttonsConfig, classes, className }: IBannerButtonsGroupProps) => {\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","import * as React from 'react'\nimport { Heading } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport interface IAdvantageClasses {\n advantageWrapper: string\n advantageItem: string\n advantageTitle: string\n advantageDescription: string\n}\nexport interface IAdvantage {\n title: string\n description: string | React.ReactElement\n}\n\nexport interface IAdvantagesProps {\n advantagesList: IAdvantage[]\n classes?: Partial<IAdvantageClasses>\n}\n\nexport const Advantages = ({ advantagesList, classes }: IAdvantagesProps) => {\n return (\n <div\n className={cn(\n 'flex w-full 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 classes?.advantageWrapper\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-2 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?.advantageItem\n )}\n >\n <Heading as='h4' className={cn('text-color-dark', classes?.advantageTitle)}>\n {title}\n </Heading>\n <p className={cn('desk-body-regular-l text-color-tetriary', classes?.advantageDescription)}>{description}</p>\n </div>\n ))}\n </div>\n )\n}\n","import { type IBannerProps } from '../../Banner'\nimport { BannerButtonsGroup } from '../BannerButtonsGroup'\nimport { useDevice } from '$/client'\nimport { Heading, ResponsiveContainer } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\nimport { Advantages } from '$/widgets/Advantages'\n\nexport const BannerImageFull = ({\n headTitle,\n subtitle,\n buttonsConfig,\n advantagesList,\n classes,\n img,\n imgSets\n}: Omit<IBannerProps, 'bannerVariant'>) => {\n const { isDesktop, isMobile } = useDevice()\n const adventage = (\n <div\n data-id='banner-advantages'\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 {advantagesList && advantagesList?.length > 0 && <Advantages classes={classes} advantagesList={advantagesList} />}\n </div>\n )\n\n return (\n <>\n <section data-id='banner-section' className={cn('relative h-[552px] desktop:h-[456px]', classes?.section)}>\n <div\n data-id='banner-img-wrapper'\n className='absolute bottom-0 left-0 right-0 top-0 z-[-1] mx-auto h-full max-w-[1920px] desktop:h-[456px]'\n >\n <picture>\n <source media='(min-width: 1128px)' srcSet={imgSets?.large} type='image/avif' />\n <source media='(max-width: 1127px)' srcSet={imgSets?.mob} type={imgSets?.type ?? 'image/avif'} />\n <img\n data-id='banner-image'\n src={img}\n alt='Картинка баннера'\n className={cn('h-full w-full object-cover object-center', classes?.image)}\n />\n </picture>\n </div>\n <ResponsiveContainer data-id='banner-container' className={cn('h-full', classes?.container)}>\n <div data-id='banner' className={cn('flex h-full', classes?.wrapper)}>\n <div\n data-id='banner-text-block'\n className={cn('flex w-[328px] flex-col gap-10 pt-6 desktop:w-full desktop:pt-20', classes?.textBlock)}\n >\n <div className='flex flex-col gap-4'>\n <Heading data-id='banner-title' as='h1' className={cn('text-color-white', classes?.title)}>\n {headTitle}\n </Heading>\n <p data-id='banner-subtitle' className={cn('desk-body-regular-l text-color-white', classes?.subtitle)}>\n {subtitle}\n </p>\n </div>\n <BannerButtonsGroup\n className='self-end desktop:self-center'\n data-id='banner-buttons-group'\n buttonsConfig={buttonsConfig}\n classes={classes}\n />\n </div>\n </div>\n\n {isDesktop && adventage}\n </ResponsiveContainer>\n </section>\n {isMobile && adventage}\n </>\n )\n}\n","import { type IBannerProps } from '../../Banner'\nimport { BannerButtonsGroup } from '../BannerButtonsGroup'\nimport { useDevice } from '$/client'\nimport { Heading, ResponsiveContainer } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\nimport { Advantages } from '$/widgets/Advantages'\n\nexport const BannerWithSeparateImg = ({\n headTitle,\n subtitle,\n buttonsConfig,\n advantagesList,\n classes,\n img\n}: Omit<IBannerProps, 'bannerVariant'>) => {\n const { isDesktop, isMobile } = useDevice()\n const adventage = (\n <div\n data-id='banner-advantages'\n className={cn(\n 'flex items-center justify-center rounded-md bg-color-blue-grey-100 p-4 desktop:absolute desktop:bottom-[-50px] desktop:right-1/2 desktop:translate-x-1/2 desktop:p-0',\n classes?.advantageContainer\n )}\n >\n {advantagesList && advantagesList?.length > 0 && <Advantages classes={classes} advantagesList={advantagesList} />}\n </div>\n )\n return (\n <>\n <section data-id='banner-section' className={cn('bg-banner-skyblue-300 desktop:h-[456px]', classes?.section)}>\n <ResponsiveContainer data-id='banner-container' className={cn('relative', classes?.container)}>\n <div data-id='banner' 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 data-id='banner-text-block' className={cn('flex flex-col gap-4 pt-6 desktop:pt-0', classes?.textBlock)}>\n <Heading data-id='banner-title' as='h1' className={cn('text-color-dark', classes?.title)}>\n {headTitle}\n </Heading>\n <p data-id='banner-subtitle' className={cn('desk-body-regular-l text-color-dark', classes?.subtitle)}>\n {subtitle}\n </p>\n </div>\n\n <BannerButtonsGroup buttonsConfig={buttonsConfig} classes={classes} />\n </div>\n\n <div\n data-id='banner-image-wrapper'\n className={cn('flex h-[356px] justify-center desktop:h-[456px] desktop:w-[550px]', classes?.imageContainer)}\n >\n <img\n data-id='banner-image'\n src={img}\n alt='Картинка баннера'\n className={cn('h-full object-cover', classes?.image)}\n />\n </div>\n </div>\n\n {isDesktop && adventage}\n </ResponsiveContainer>\n </section>\n {isMobile && adventage}\n </>\n )\n}\n","import { type ReactElement } from 'react'\nimport { type IAdvantage, type IAdvantageClasses } from '../Advantages'\nimport { type IBannerButtonsGroupClasses } from './ui/BannerButtonsGroup'\nimport { BannerWithSeparateImg } from './ui/banners'\nimport { BannerImageFull } from './ui/banners'\nimport { type IButtonProps } from '$/shared/ui'\n\ninterface IBannerClasses extends IBannerButtonsGroupClasses {\n section: string\n container: string\n wrapper: string\n content: string\n textBlock: string\n title: string\n subtitle: string\n imageContainer: string\n image: string\n advantageContainer: string\n}\n\nexport type TButtonsConfig = {\n primary: IButtonProps\n secondary?: IButtonProps\n}\n\nexport interface IBannerProps {\n headTitle: string | ReactElement\n subtitle: string | ReactElement\n img?: string\n imgSets?: {\n large: string\n mob: string\n type: string\n }\n buttonsConfig: TButtonsConfig\n advantagesList?: IAdvantage[]\n classes?: Partial<IBannerClasses> & Partial<IAdvantageClasses>\n bannerVariant?: 'sepatateImg' | 'fullImg'\n}\n\nexport const Banner = ({ bannerVariant, ...props }: IBannerProps) => {\n switch (bannerVariant) {\n case 'sepatateImg':\n return <BannerWithSeparateImg {...props} />\n case 'fullImg':\n return <BannerImageFull {...props} />\n default:\n return <BannerWithSeparateImg {...props} />\n }\n}\n","import type { IFooterNavLinks, IFooterPhones, IFooterSocialLinks } from './types'\n\nexport const defaultCopyright = (\n <>\n © 2004-2024, ПАО «Совкомбанк». Все права защищены. <br /> Генеральная лицензия Банка России №963 от 5 декабря 2014 г.\n </>\n)\n\nexport const defaultLigal = `Кредит на бизнес цели, срок 3, 6, 9, 12, 18, 24, 36, 48, 60 мес. Ставка – от 22,9%*. *Точная процентная ставка\n устанавливается по соглашению сторон и определяется исходя из платёжеспособности и кредитоспособности клиента, а также\n иных индивидуальных особенностей клиента. Сумма 100 000 – 50 000 000 руб. Кредит выдается на карту “Халва”, открытый в\n Банке. Банк вправе отказать в предоставлении кредита без объяснения причины, а также запросить дополнительную информацию о\n клиенте. Предварительное одобрение не влечет обязательств Банка по выдаче кредита. В некоторых случаях срок рассмотрения\n заявки может составлять до 3 рабочих дней. Полный электронный документооборот при наличии открытого р/с в ПАО «Совкомбанк»\n и действующей ЭЦП. Условия рекламы действительны на 20.02.2024г.`\n\nexport const defaultPhones: IFooterPhones[] = [\n { phone: '8 800 100-00-06', text: 'Звонок по России (бесплатно)' },\n { phone: '+7 (495) 988 00 00', text: 'Для звонков из-за рубежа (платно)' }\n]\n\nexport const defaultSocialsLinks: IFooterSocialLinks[] = [\n { iconName: 'social/vk', href: '/vk' },\n { iconName: 'social/telegram', href: '/tg' },\n { iconName: 'social/classmates', href: '/cl' }\n]\n\nexport const defaultNavigationLinks: IFooterNavLinks[] = [\n {\n groupLabel: 'Совкомбанк',\n links: [\n { text: 'О банке', href: '/' },\n { text: 'Реквизиты и лицензии', href: '/' },\n { text: 'Пресс-центр', href: '/' },\n { text: 'Удостоверяющий центр ПАО «Совкомбанк»', href: '/' },\n { text: 'Работа у нас', href: '/' },\n { text: 'Контакты', href: '/' },\n { text: 'Раскрытие информации', href: '/' },\n { text: 'Страница раскрытия информации в Интерфакс', href: '/' },\n { text: 'Реализация залогового имущества', href: '/' },\n { text: 'Клиентам и партнерам', href: '/' },\n { text: 'Биометрия', href: '/' },\n { text: 'Стандарты безопасности', href: '/' },\n { text: 'Информация о процентных ставках по договорам банковского вклада с физическими лицами', href: '/' },\n { text: 'ООО «Совком Финанс»', href: '/' },\n { text: 'Безопасность', href: '/' }\n ]\n },\n {\n groupLabel: 'Сервисы',\n links: [\n { text: 'Подарочная карта «Халва»', href: '/' },\n { text: 'Страховые продукты', href: '/' },\n { text: 'МультиЮрист', href: '/' },\n { text: 'Единая социальная карта «Уралочка»', href: '/' },\n { text: 'Единая Карта Жителя Мурманской области', href: '/' },\n { text: 'Безопасные расчёты', href: '/' },\n { text: 'Улучшение кредитной истории', href: '/' },\n { text: 'Дистанционные сервисы Совкомбанка', href: '/' },\n { text: 'Программы реструктуризации долга', href: '/' }\n ]\n },\n {\n groupLabel: 'Услуги банка',\n links: [\n { text: 'Карты', href: '/' },\n { text: 'Кредиты', href: '/' },\n { text: 'Кредиты наличными', href: '/' },\n { text: 'Ипотека', href: '/' },\n { text: 'Автокредиты', href: '/' },\n { text: 'Кредитный калькулятор', href: '/' },\n { text: 'Вклады', href: '/' },\n { text: 'Инвестиции', href: '/' },\n { text: 'Платежи', href: '/' },\n { text: 'Сервисы', href: '/' },\n { text: 'Малому бизнесу и ИП', href: '/' },\n { text: 'Корпоративным клиентам', href: '/' },\n { text: 'CIB', href: '/' },\n { text: 'Драгоценные металлы в слитках', href: '/' },\n { text: 'Счета в драгоценных металлах', href: '/' }\n ]\n },\n {\n groupLabel: 'Клиентам других банков',\n links: [\n { text: 'Держателям карт рассрочки Банка Хоум Кредит', href: '/' },\n { text: 'ПАО КБ «Восточный»', href: '/' },\n { text: 'Держателям карт «Совесть»', href: '/' },\n { text: 'АО «Нордеа Банк»', href: '/' },\n { text: 'ЗАО «ДжиИ Мани банк»', href: '/' },\n { text: 'АО «Меткомбанк»', href: '/' },\n { text: 'АКБ «РосЕвроБанк» (АО)', href: '/' },\n { text: 'ПАО «Татфондбанк»', href: '/' },\n { text: 'АО АКБ «Экспресс-Волга»', href: '/' },\n { text: 'АО «ВКАБАНК»', href: '/' },\n { text: 'ООО «ОНЕЙ БАНК»', href: '/' },\n { text: 'АО «Евразийский»', href: '/' },\n { text: 'АО «НФК»', href: '/' },\n { text: 'ООО «РТС-Капитал»', href: '/' },\n { text: 'ООО «ИК Септем Капитал»', href: '/' },\n { text: 'Помощь', href: '/' },\n { text: 'Офисы и банкоматы', href: '/' }\n ]\n }\n]\n","import type { IFooterSocialLinks } from '../model/types'\nimport { Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type TSocialLinksClasses = {\n socialRoot: string\n socialLink: string\n socialIcon: string\n}\n\ninterface ISocialLinksProps {\n socialsLinks: IFooterSocialLinks[]\n classes?: Partial<TSocialLinksClasses>\n}\n\nexport const SocialLinks = ({ socialsLinks, classes }: ISocialLinksProps) => {\n return (\n <div className={cn('mt-6 flex items-center gap-2', 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 >\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 { IFooterPhones } from '../model/types'\nimport { PhoneView } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type TPhoneBlockClasses = {\n phonesRoot: string\n phoneWrapper: string\n phoneText: string\n phoneLink: string\n}\n\ninterface IPhonesBlockProps {\n phones: IFooterPhones[]\n classes?: Partial<TPhoneBlockClasses>\n}\n\nexport const PhonesBlock = ({ phones, classes }: IPhonesBlockProps) => {\n return (\n <div className={cn('flex flex-col items-end gap-4', classes?.phonesRoot)}>\n {phones?.map(({ phone, text }) => (\n <PhoneView\n key={phone}\n phone={phone}\n text={text}\n classes={{\n wrapper: cn(classes?.phoneWrapper),\n text: cn('text-color-footer', classes?.phoneText),\n link: cn('text-color-white', classes?.phoneLink)\n }}\n />\n ))}\n </div>\n )\n}\n","import type { IFooterNavLinks } from '../model/types'\nimport { cn } from '$/shared/utils'\n\nexport type TNavigationLinksClasses = {\n navRoot: string\n navGroup: string\n navLabel: string\n navWrapper: string\n navLink: string\n}\n\ninterface INavLinksProps {\n navigationLinks: IFooterNavLinks[]\n classes?: Partial<TNavigationLinksClasses>\n}\n\nexport const NavLinks = ({ navigationLinks, classes }: INavLinksProps) => {\n return (\n <div className={cn('grid grid-cols-4 gap-10 border-y border-blue-grey-500 py-8 pt-8', classes?.navRoot)}>\n {navigationLinks?.map(({ groupLabel, links }) => (\n <div key={groupLabel} className={cn('flex flex-col gap-4', classes?.navGroup)}>\n <div className={cn('desk-body-regular-m font-medium text-color-white', classes?.navLabel)}>{groupLabel}</div>\n <div className={cn('flex flex-col gap-2', classes?.navWrapper)}>\n {links?.map(({ text, href }) => (\n <a\n key={text}\n href={href}\n className={cn(\n 'desk-body-regular-m cursor-pointer text-color-white transition-colors hover:text-color-footer',\n classes?.navLink\n )}\n >\n {text}\n </a>\n ))}\n </div>\n </div>\n ))}\n </div>\n )\n}\n","'use client'\n\nimport * as React from 'react'\nimport { cn } from '$/shared//utils'\n\nexport type TLigalClasses = {\n ligalRoot: string\n ligal: string\n ligalButton: string\n}\n\ninterface ILigalProps {\n ligal: string | React.ReactElement\n classes?: Partial<TLigalClasses>\n}\n\nexport const Ligal = ({ ligal, classes }: ILigalProps) => {\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 <p ref={ligalRef} className={cn('desk-body-regular-m text-color-footer', { 'line-clamp-3': !isExpanded }, classes?.ligal)}>\n {ligal}\n </p>\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 * as React from 'react'\nimport { cn } from '$/shared/utils'\n\nexport type TCopyrightClasses = {\n text: string\n}\n\ninterface ICopyrightProps {\n text?: string | React.ReactElement\n classes?: Partial<TCopyrightClasses>\n}\n\nexport const Copyright = ({ text, classes }: ICopyrightProps) => {\n return <div className={cn('desk-body-regular-m text-color-footer', classes?.text)}>{text}</div>\n}\n","import * as React from 'react'\nimport { defaultCopyright, defaultLigal, defaultNavigationLinks, defaultPhones, defaultSocialsLinks } from './model/defaultValues'\nimport type { IFooterNavLinks, IFooterPhones, IFooterSocialLinks } from './model/types'\nimport {\n Copyright,\n Ligal,\n NavLinks,\n PhonesBlock,\n SocialLinks,\n type TCopyrightClasses,\n type TLigalClasses,\n type TNavigationLinksClasses,\n type TPhoneBlockClasses,\n type TSocialLinksClasses\n} from './ui'\nimport { Icon, ResponsiveContainer, Section } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\ntype IFooterClasses = TLigalClasses &\n TNavigationLinksClasses &\n TPhoneBlockClasses &\n TSocialLinksClasses &\n TCopyrightClasses & {\n section: string\n container: string\n footerRoot: string\n footerHead: string\n footerSocialBlock: string\n footerLogo: string\n }\n\nexport interface IFooterProps {\n classes?: Partial<IFooterClasses>\n withSocial?: boolean\n withPhones?: boolean\n withNavLinks?: boolean\n withLigal?: boolean\n withCopyright?: boolean\n withSiteMap?: boolean\n\n socialsLinks?: IFooterSocialLinks[]\n phones?: IFooterPhones[]\n navigationLinks: IFooterNavLinks[]\n ligal: string | React.ReactElement\n copyright?: string | React.ReactElement\n}\n\nexport const Footer = ({\n withSocial = true,\n withPhones = true,\n withNavLinks = true,\n withLigal = true,\n withCopyright = true,\n withSiteMap = true,\n socialsLinks = defaultSocialsLinks,\n phones = defaultPhones,\n navigationLinks = defaultNavigationLinks,\n ligal = defaultLigal,\n copyright = defaultCopyright,\n classes\n}: IFooterProps) => {\n return (\n <Section className={cn('w-full', classes?.section)}>\n <ResponsiveContainer className={cn(classes?.container)}>\n <div className={cn('bg-color-footer px-4 py-8 desktop:px-6 desktop:py-10', classes?.footerRoot)}>\n <div className={cn('mb-8 flex items-center justify-between gap-6', classes?.footerHead)}>\n <div className={cn(classes?.footerSocialBlock)}>\n <a href='/' className={cn(classes?.footerLogo)}>\n <Icon name='brandLogos/logoWhite' className='h-[32px] w-[194px]' />\n </a>\n {withSocial && <SocialLinks socialsLinks={socialsLinks} classes={classes} />}\n </div>\n {withPhones && <PhonesBlock phones={phones} classes={classes} />}\n </div>\n\n {withNavLinks && <NavLinks navigationLinks={navigationLinks} classes={classes} />}\n {withLigal && <Ligal ligal={ligal} classes={classes} />}\n <div className='mt-6 flex items-start justify-between gap-6'>\n {withCopyright && <Copyright text={copyright} classes={classes} />}\n {withSiteMap && (\n <a\n href='https://sovcombank.ru/site-map'\n target='_blank'\n rel='noreferrer'\n className='desk-body-regular-m text-color-white'\n >\n Карта сайта\n </a>\n )}\n </div>\n </div>\n </ResponsiveContainer>\n </Section>\n )\n}\n","import { type ReactElement } from 'react'\nimport { brandLogos, Button, PhoneView, ResponsiveContainer, type TBrandLogoVariant } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\ntype TPageHeaderClasses = {\n header: string\n container: string\n wrapper: string\n logo: string\n button: string\n phoneWrapper: string\n phoneLink: string\n phoneText: string\n}\nexport interface ICommonHeaderProps {\n logoPath?: string\n logoType?: TBrandLogoVariant\n classes?: Partial<TPageHeaderClasses>\n}\ninterface IHeaderWithPhone extends ICommonHeaderProps {\n variant: 'withPhone'\n phone: string | ReactElement\n phoneText: string | ReactElement\n}\ninterface IHeaderWithButton extends ICommonHeaderProps {\n variant: 'withButton'\n}\n\nexport type TPageHeaderProps = IHeaderWithButton | IHeaderWithPhone\n\nconst renderContentVariant = (props: TPageHeaderProps) => {\n switch (props.variant) {\n case 'withButton':\n return (\n <Button intent='secondary' size='sm' className={props.classes?.button}>\n Оформить заявку\n </Button>\n )\n case 'withPhone':\n const { phone, phoneText } = props as IHeaderWithPhone\n return (\n <PhoneView\n phone={phone}\n text={phoneText}\n classes={{\n wrapper: props.classes?.phoneWrapper,\n text: props.classes?.phoneText,\n link: props.classes?.phoneLink\n }}\n />\n )\n default:\n return null\n }\n}\n\nexport const PageHeader = (props: TPageHeaderProps) => {\n const { logoPath = '/', logoType = 'main', classes } = props\n\n return (\n <header className={cn('flex h-[72px] items-center justify-center bg-color-white', 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 target='_blank'\n rel='noreferrer'\n className={cn(\n 'flex items-center justify-center [&_svg]:w-[114px] desktop:[&_svg]:h-[32px] desktop:[&_svg]:w-[192px]',\n classes?.logo\n )}\n >\n {brandLogos[logoType]}\n </a>\n {renderContentVariant(props)}\n </div>\n </ResponsiveContainer>\n </header>\n )\n}\n","import type { ISingleStep } from '../Stepper'\nimport { Heading } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type TSingleStepClasses = {\n singleStep: string\n numeric: string\n textBlock: string\n title: string\n description: string\n}\n\ninterface ISingleStepProps extends ISingleStep {\n index: number\n classes?: Partial<TSingleStepClasses>\n}\n\nexport const SingleStep = ({ title, description, index, classes }: ISingleStepProps) => {\n return (\n <div\n className={cn(\n 'border-color-blue-grey-500 flex w-[328px] max-w-[328px] flex-col gap-6 rounded-md border border-solid 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 <div className={cn('flex flex-col gap-4', classes?.textBlock)}>\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-tetriary', classes?.description)}>{description}</p>\n </div>\n </div>\n )\n}\n","import * as React from 'react'\nimport { SingleStep, type TSingleStepClasses } from './ui/SingleStep'\nimport { Heading, ResponsiveContainer, Section } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\ntype TStepperClasses = TSingleStepClasses & {\n root: string\n headline: string\n stepsWrapper: string\n}\n\nexport interface ISingleStep {\n title: string\n description: string | React.ReactElement\n}\n\nexport interface IStepperProps {\n heading: string\n stepsList: ISingleStep[]\n classes?: Partial<TStepperClasses>\n}\n\nexport const Stepper = ({ heading, stepsList, classes }: IStepperProps) => {\n return (\n <Section>\n <ResponsiveContainer>\n <div className={cn('flex flex-col gap-12', classes?.root)}>\n <Heading as='h2' className={cn('text-color-dark', classes?.headline)}>\n {heading}\n </Heading>\n <div\n className={cn(\n 'flex flex-col items-start gap-6 desktop:flex-row desktop:items-center desktop:gap-12',\n classes?.stepsWrapper\n )}\n >\n {stepsList?.map((step, index) => <SingleStep key={step.title} index={index + 1} {...step} classes={classes} />)}\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('desktop:max-h-[98px]', {\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 ITextItem } from '../model/types'\r\nimport { Icon, Popover } from '$/shared/ui'\r\nimport { cn } from '$/shared/utils'\r\n\r\nexport const TextItem = ({ data, intent }: ITextItem) => {\r\n const { title, description, popoverText } = 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 {popoverText && (\r\n <Popover triggerElement={<Icon className={cn('size-4 text-icon-blue-grey-600')} name='info/helpCircle' />}>\r\n {popoverText}\r\n </Popover>\r\n )}\r\n </div>\r\n\r\n <p className={cn('mob-body-regular-l text-color-secondary')}>{description}</p>\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 TLongBannerConfig } from '../model/types'\r\nimport { cn } from '$/shared/utils'\r\n\r\ninterface ITitleProps {\r\n intent: TLongBannerConfig['intent']\r\n title: string | ReactElement\r\n desktopHidden?: boolean\r\n mobileHidden?: boolean\r\n}\r\n\r\nexport const Title = ({ intent, title, desktopHidden = false, mobileHidden = false }: ITitleProps) => {\r\n return <h2 className={cn(titleConfig({ intent, desktopHidden, mobileHidden }))}>{title}</h2>\r\n}\r\n","import { listItemConfig } from '../model/cva'\r\nimport { type ITextContent, type TLongBannerConfig } from '../model/types'\r\nimport { TextItem } from './TextItem'\r\nimport { cn } from '$/shared/utils'\r\n\r\ninterface IListItemsProps {\r\n textContent: ITextContent[]\r\n intent: TLongBannerConfig['intent']\r\n withButton: boolean\r\n}\r\n\r\nexport const TextList = ({ textContent, intent, withButton }: IListItemsProps) => {\r\n return (\r\n <ul className={cn(listItemConfig({ intent, withButton }))}>\r\n {textContent?.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 IButtonConfig, type ILongBannerClasses, type ITextContent, type TLongBannerConfig } 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 ILongBannerProps extends TLongBannerConfig {\r\n title: string | ReactElement\r\n buttonConfig?: IButtonConfig\r\n textContent: ITextContent[]\r\n imageComponent: ReactElement\r\n classes?: Partial<ILongBannerClasses>\r\n}\r\n\r\nexport const LongBanner = ({\r\n title,\r\n buttonConfig,\r\n intent = 'twoItems',\r\n textContent,\r\n imageComponent,\r\n classes\r\n}: ILongBannerProps) => {\r\n const withButton = !!buttonConfig\r\n const isFourItems = intent === 'fourItems'\r\n const isTwoItems = intent === 'twoItems'\r\n\r\n return (\r\n <section className={cn(classes?.section)}>\r\n <ResponsiveContainer className={cn(classes?.mainContainer)}>\r\n {isTwoItems && <Title intent={intent} title={title} />}\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} title={title} 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} title={title} mobileHidden={true} />}\r\n <TextList textContent={textContent} 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"],"names":["deepCompare","dataA","dataB","capitalize","str","word","formatToDate","value","format","parse","Section","children","className","props","jsx","cn","ResponsiveContainer","tableConfig","cva","itemTableConfig","tableOverflowConfig","textTableConfig","Table","headTitle","tableRows","tableHead","additionalText","columnCount","classes","titlesExist","jsxs","Heading","title","row","index","ceil","Breadcrumbs","linksList","link","Fragment","Icon","setButtonLoaderIntent","intent","buttonConfig","Button","forwardRef","size","type","iconLeft","iconRight","disabled","isLoading","isFull","textFormat","ref","Loader","ButtonIcon","customLinkConfig","linkArrowConfig","CustomLink","Component","withIcon","icon","iconConfig","iconVariant","Document","text","sizeType","href","PhoneView","phone","ProgressBar","topContent","bottomContent","progress","maxPercent","Skeleton","brandLogos","rootStyles","allowedBackgroundColors","allowedTextColors","allowedBannersBackgroundColors","allowedIconsColors","allowedStrokeColors","allowedBorderRadius","allowedBackgroundDeg","allowedZIndex","allowedFontSize","allowedLineHeight","allowedTextStyles","RgxUnicode","RgxCheckForHyphen","RgxPatronymic","VALIDATION_MESSAGES","formattedFio","parts","surname","name","patronymicArr","patronymic","zodDadataFioValidate","z","ctx","zodCalendarValidate","val","day","month","year","parsed","isValid","exports","_default","createPlugin","plugin","config","pluginFunction","configFunction","optionsFunction","options","_createPlugin","_interop_require_default","require$$0","obj","filterDefault","values","key","tailwindcssAnimate","addUtilities","matchUtilities","theme","tailwindConfigBase","tailwindAnimation","addComponents","angle","extendsPreset","resetPreset","BannerButtonsGroup","buttonsConfig","withSecondaryBtn","Advantages","advantagesList","description","BannerImageFull","subtitle","img","imgSets","isDesktop","isMobile","useDevice","adventage","BannerWithSeparateImg","Banner","bannerVariant","defaultCopyright","defaultLigal","defaultPhones","defaultSocialsLinks","defaultNavigationLinks","SocialLinks","socialsLinks","iconName","PhonesBlock","phones","NavLinks","navigationLinks","groupLabel","links","Ligal","ligal","isExpanded","setIsExpanded","React","isClamped","setIsClamped","ligalRef","element","prev","Copyright","Footer","withSocial","withPhones","withNavLinks","withLigal","withCopyright","withSiteMap","copyright","renderContentVariant","_a","phoneText","_b","_c","_d","PageHeader","logoPath","logoType","SingleStep","Stepper","heading","stepsList","step","titleConfig","listItemConfig","itemConfig","containerImgConfig","TextItem","data","popoverText","Popover","Title","desktopHidden","mobileHidden","TextList","textContent","withButton","LongBanner","imageComponent","isFourItems","isTwoItems"],"mappings":"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","x_google_ignoreList":[23,24,25,26]}
|
|
1
|
+
{"version":3,"file":"hybrid.js","sources":["../lib/shared/utils/deepCompare.ts","../lib/shared/utils/capitalize.ts","../lib/shared/utils/formatToDate.ts","../lib/shared/ui/Section.tsx","../lib/shared/ui/ResponsiveContainer.tsx","../lib/shared/ui/table/Table.tsx","../lib/shared/ui/Breadcrumbs.tsx","../lib/shared/ui/button/model/helpers.ts","../lib/shared/ui/button/Button.tsx","../lib/shared/ui/ButtonIcon.tsx","../lib/shared/ui/CustomLink.tsx","../lib/shared/ui/Document.tsx","../lib/shared/ui/PhoneView.tsx","../lib/shared/ui/ProgressBar.tsx","../lib/shared/ui/Skeleton.tsx","../lib/shared/ui/brandLogos.tsx","../lib/shared/validation/regExp.ts","../lib/shared/validation/messages.ts","../lib/shared/validation/zodValidation/dadataFio.ts","../lib/shared/validation/zodValidation/calendar.ts","../lib/shared/constants/designSystem/colors.ts","../lib/shared/constants/designSystem/others.ts","../lib/shared/constants/designSystem/typography.ts","../lib/shared/constants/api.ts","../node_modules/tailwindcss/lib/util/createPlugin.js","../node_modules/tailwindcss/lib/public/create-plugin.js","../node_modules/tailwindcss/plugin.js","../node_modules/tailwindcss-animate/index.js","../lib/configs/tailwindConfigBase.ts","../lib/configs/tailwindPresets/extendsPreset.ts","../lib/configs/tailwindPresets/resetPreset.ts","../lib/widgets/banner/ui/BannerButtonsGroup.tsx","../lib/widgets/Advantages.tsx","../lib/widgets/banner/ui/banners/BannerImageFull.tsx","../lib/widgets/banner/ui/banners/BannerWithSeparateImg.tsx","../lib/widgets/banner/Banner.tsx","../lib/widgets/footer/model/defaultValues.tsx","../lib/widgets/footer/ui/SocialLinks.tsx","../lib/widgets/footer/ui/PhonesBlock.tsx","../lib/widgets/footer/ui/NavLinks.tsx","../lib/widgets/footer/ui/Ligal.tsx","../lib/widgets/footer/ui/Copyright.tsx","../lib/widgets/footer/Footer.tsx","../lib/widgets/pageHeader/PageHeader.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"],"sourcesContent":["export const deepCompare = <A, B>(dataA: A, dataB: B): boolean => JSON.stringify(dataA) === JSON.stringify(dataB)\n","export const capitalize = (str: string) => {\n return str\n .split('-')\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n .join('-')\n}\n","import { parse } from 'date-fns'\n\nexport const formatToDate = (value: string, format = 'dd.MM.yyyy') => {\n return parse(value, format, new Date())\n}\n","import type { HTMLAttributes, ReactNode } from 'react'\nimport { cn } from '$/shared/utils'\n\nexport interface ISectionProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactNode\n className?: string\n}\n\nexport const Section = ({ children, className, ...props }: ISectionProps) => {\n return (\n <section className={cn('pb-16 desktop:pb-20', className)} {...props}>\n {children}\n </section>\n )\n}\n","import type { HTMLAttributes, ReactNode } from 'react'\nimport { cn } from '$/shared/utils'\n\nexport interface IResponsiveContainerProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactNode\n className?: string\n}\n\nexport const ResponsiveContainer = ({ children, className, ...props }: IResponsiveContainerProps) => {\n return (\n <div className={cn('m-auto w-full mobile:px-4 desktop:max-w-[1140px]', className)} {...props}>\n {children}\n </div>\n )\n}\n","import type { ReactElement } from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { Heading } from '../Heading'\nimport { ResponsiveContainer } from '../ResponsiveContainer'\nimport type { TableRows, TTableClasses, TTableColumnCount } from './type'\nimport { cn } from '$/shared/utils'\n\nconst tableConfig = cva('grid', {\n variants: {\n columnCount: {\n twoColumns: 'grid-cols-[repeat(2,minmax(172px,_1fr))] desktop:grid-cols-[repeat(2,minmax(172px,_1fr))]',\n threeColumns: 'grid-cols-[repeat(3,minmax(172px,_1fr))] desktop:grid-cols-[repeat(3,minmax(312px,_1fr))]'\n }\n }\n})\n\nconst itemTableConfig = cva('grid', {\n variants: {\n columnCount: {\n twoColumns: '',\n threeColumns: ''\n },\n titlesExist: {\n exist: '',\n notExist: ''\n }\n },\n compoundVariants: [\n {\n titlesExist: 'notExist',\n columnCount: 'twoColumns',\n class: 'grid-rows-[repeat(2,_auto)] border-b border-warm-grey-200 py-4'\n },\n {\n titlesExist: 'notExist',\n columnCount: 'threeColumns',\n class: 'grid-cols-[repeat(3,_auto)]'\n },\n {\n titlesExist: 'exist',\n columnCount: 'twoColumns',\n class: 'grid-cols-[repeat(2,_auto)]'\n },\n {\n titlesExist: 'exist',\n columnCount: 'threeColumns',\n class: 'grid-cols-[repeat(3,_auto)]'\n }\n ]\n})\n\nconst tableOverflowConfig = cva('grid', {\n variants: {\n columnCount: {\n twoColumns: '',\n threeColumns: ''\n }\n },\n compoundVariants: [\n {\n columnCount: 'threeColumns',\n class: 'overflow-x-scroll max-w-[368px] mb-1'\n }\n ]\n})\n\nconst textTableConfig = cva('border-b border-warm-grey-200 py-4 desktop:desk-body-regular-l mob-body-regular-l', {\n variants: {\n columnCount: {\n twoColumns: '',\n threeColumns: ''\n },\n titlesExist: {\n exist: '',\n notExist: ''\n }\n },\n compoundVariants: [\n {\n titlesExist: 'notExist',\n columnCount: 'twoColumns',\n class: 'border-transparent border-0 p-0'\n }\n ]\n})\n\ntype TTableProps = VariantProps<typeof tableConfig>\n\nexport interface ITable<C extends TTableColumnCount> extends TTableProps {\n headTitle: string | ReactElement\n columnCount: TTableColumnCount\n tableHead?: string[]\n tableRows: TableRows<C>\n additionalText?: string\n classes?: Partial<TTableClasses>\n}\n\nexport const Table = <C extends TTableColumnCount>({\n headTitle,\n tableRows,\n tableHead,\n additionalText,\n columnCount,\n classes\n}: ITable<C>) => {\n const titlesExist = tableHead && tableHead.length > 0 ? 'exist' : 'notExist'\n return (\n <ResponsiveContainer>\n <div className={cn('flex flex-col', classes?.tableRootWrapper)}>\n <Heading as='h3' className={cn('mob-title-bold-m pb-6 desktop:desk-title-bold-s', classes?.tableHeading)}>\n {headTitle}\n </Heading>\n <div className={cn(tableOverflowConfig({ columnCount }), classes?.tableBody)}>\n <ul className={cn(tableConfig({ columnCount }), classes?.tableTitlesContainer)}>\n {tableHead?.map((title) => (\n <li\n key={title}\n className={cn(\n 'mob-body-regular-l border-b border-warm-grey-200 py-4 desktop:desk-body-regular-l',\n classes?.tableTitleRow\n )}\n >\n {title}\n </li>\n ))}\n </ul>\n\n <ul className={cn('mb-4 flex flex-col', classes?.tableBodyContainer)}>\n {tableRows.map((row, index) => (\n <li key={index} className={cn(itemTableConfig({ columnCount, titlesExist }), classes?.tableBodyRow)}>\n {row.map((ceil, index) => (\n <p key={index} className={cn(textTableConfig({ titlesExist, columnCount }), classes?.tableBodyCeil)}>\n {ceil.text}\n </p>\n ))}\n </li>\n ))}\n </ul>\n </div>\n <p className={cn('mob-body-regular-m desktop:desk-body-regular-l', classes?.tableAdditionalText)}>{additionalText}</p>\n </div>\n </ResponsiveContainer>\n )\n}\n","import { type ReactElement } from 'react'\nimport { cn } from '../utils'\nimport { Icon } from './icon/Icon'\n\nexport interface IBreadcrumbLink {\n label: string | ReactElement\n path: string\n isDisabled?: boolean\n}\ninterface IBreadcrumbLinkWithoutPath {\n label: string\n isDisabled?: boolean\n}\n\nexport type TLinksList = [...IBreadcrumbLink[], IBreadcrumbLinkWithoutPath]\n\nexport interface IBreadcrumbsProps {\n linksList: TLinksList\n}\n\nexport const Breadcrumbs = ({ linksList }: IBreadcrumbsProps) => {\n return (\n <div aria-label='Breadcrumb' className='flex max-w-[840px] items-center gap-2'>\n {linksList.map((link) => (\n <>\n {'path' in link ? (\n <div\n className={cn(\n 'flex items-center gap-1 rounded-sm border-2 border-solid border-transparent px-1 focus-within:border-primary-focus',\n { 'pointer-events-none !border-transparent': link?.isDisabled }\n )}\n >\n <a\n href={link.path}\n target='_blank'\n rel='noreferrer'\n className={cn(\n 'desk-body-regular-m text-color-primary-default outline-none hover:text-color-primary-hover focus:text-color-primary-default',\n { '!text-color-disabled': link?.isDisabled }\n )}\n >\n {link.label}\n </a>\n <Icon\n name='arrows/arrowRight'\n className={cn('size-4 text-icon-primary-default', { '!text-icon-disabled': link?.isDisabled })}\n />\n </div>\n ) : (\n <div aria-current='page' className='desk-body-regular-m text-color-blue-grey-600'>\n {link.label}\n </div>\n )}\n </>\n ))}\n </div>\n )\n}\n","import type { TButtonIntents } from '../Button'\n\nexport const setButtonLoaderIntent = (intent: TButtonIntents) => {\n switch (intent) {\n case 'ghost':\n case 'secondary':\n return 'secondary'\n\n case 'primary':\n case 'negative':\n return 'primary'\n\n default:\n return intent\n }\n}\n","import { type ComponentProps, forwardRef, type ReactElement } from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { Loader } from '../Loader'\nimport { setButtonLoaderIntent } from './model/helpers'\nimport { cn } from '$/shared/utils'\n\nconst buttonConfig = cva(\n 'relative flex items-center justify-center gap-4 cursor-pointer rounded-sm w-max px-4 outline-offset-4 outline-transparent outline-2 desk-body-regular-l transition duration-12 active:scale-[0.97] disabled:pointer-events-none',\n {\n variants: {\n intent: {\n primary:\n 'bg-color-primary-default text-color-white outline-offset-[3px] hover:bg-color-primary-hover active:bg-color-primary-hover focus:bg-color-primary-default focus:outline-primary-focus disabled:bg-color-primary-disabled',\n secondary:\n 'bg-transparent text-color-primary-default border border-solid border-primary-default hover:bg-color-primary-tr-hover active:bg-color-primary-tr-pressed active:border-primary-hover focus:outline-primary-focus focus:bg-color-primary-tr-focus disabled:bg-color-blue-grey-200 disabled:text-color-primary-disabled disabled:border-transparent',\n ghost:\n 'bg-transparent text-color-primary-default hover:bg-color-primary-tr-hover hover:text-color-primary-hover focus:bg-color-primary-tr-focus focus:outline-primary-focus active:bg-color-primary-tr-pressed active:text-color-primary-hover disabled:text-color-primary-disabled disabled:bg-transparent',\n negative:\n 'bg-color-secondary-default text-color-white outline-offset-[3px] hover:bg-color-secondary-hover disabled:bg-color-secondary-disabled active:bg-color-secondary-hover focus:bg-color-secondary-default focus:outline-primary-focus'\n },\n size: {\n sm: 'h-10',\n md: 'h-12',\n lg: 'h-14'\n },\n textFormat: {\n capitalize: 'capitalize',\n uppercase: 'uppercase',\n lowercase: 'lowercase',\n initial: 'initial'\n },\n isFull: {\n true: 'w-full px-4'\n },\n isLoading: {\n true: '',\n false: ''\n }\n },\n compoundVariants: [\n {\n intent: 'primary',\n isLoading: true,\n class: '!bg-color-primary-default'\n },\n {\n intent: 'secondary',\n isLoading: true,\n class: '!bg-color-transparent !border-primary-hover'\n },\n {\n intent: 'ghost',\n isLoading: true,\n class: '!bg-color-blue-grey-200'\n },\n {\n intent: 'negative',\n isLoading: true,\n class: '!bg-color-secondary-default'\n }\n ],\n defaultVariants: {\n intent: 'primary',\n size: 'md',\n textFormat: 'initial',\n isFull: false\n }\n }\n)\n\ntype TButtonConfig = VariantProps<typeof buttonConfig>\nexport type TButtonIntents = 'primary' | 'secondary' | 'ghost' | 'negative'\nexport interface IButtonProps extends ComponentProps<'button'>, TButtonConfig {\n iconLeft?: ReactElement\n iconRight?: ReactElement\n isLoading?: boolean\n}\n\nexport const Button = forwardRef<HTMLButtonElement, IButtonProps>(\n (\n {\n intent,\n size,\n className,\n children,\n type = 'button',\n iconLeft,\n iconRight,\n disabled = false,\n isLoading = false,\n isFull = false,\n textFormat,\n ...props\n },\n ref\n ) => {\n return (\n <button\n ref={ref}\n type={type}\n disabled={disabled || isLoading}\n className={cn(buttonConfig({ intent, size, textFormat, isLoading, isFull }), className)}\n {...props}\n >\n {isLoading ? (\n <Loader size='sm' intent={setButtonLoaderIntent(intent!)} />\n ) : (\n <>\n {iconLeft && <span className='flex size-5 items-center justify-center'>{iconLeft}</span>}\n {children}\n {iconRight && <span className='flex size-5 items-center justify-center'>{iconRight}</span>}\n </>\n )}\n </button>\n )\n }\n)\n","import { type ComponentProps, forwardRef, type ReactElement } from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '$/shared/utils'\n\ntype TButtonClasses = {\n button: string\n icon: string\n}\n\nconst buttonConfig = cva(\n 'group flex items-center justify-center cursor-pointer rounded-full outline-offset-[3px] outline-transparent outline-2 transition duration-12 active:scale-[0.97] disabled:pointer-events-none',\n {\n variants: {\n intent: {\n primary:\n 'text-icon-white bg-color-primary-default hover:bg-color-primary-hover active:bg-color-primary-hover focus:bg-color-primary-hover focus:outline-primary-focus disabled:bg-color-primary-disabled',\n secondary:\n 'text-icon-primary-default bg-color-transparent border border-solid outline-offset-4 border-primary-default hover:bg-color-primary-tr-hover hover:text-icon-primary-default hover:border-primary-hover active:bg-color-primary-tr-pressed active:border-primary-hover active:text-icon-primary-hover focus:bg-color-primary-tr-focus focus:outline-primary-focus disabled:bg-color-blue-grey-200 disabled:border-transparent disabled:text-icon-primary-disabled',\n ghost:\n 'text-icon-primary-default bg-color-transparent hover:bg-color-primary-tr-hover focus:bg-color-primary-tr-focus focus:outline-primary-focus active:text-icon-primary-hover active:bg-color-primary-tr-pressed disabled:bg-color-transparent disabled:text-icon-primary-disabled'\n },\n size: {\n sm: 'size-8',\n md: 'size-10',\n lg: 'size-12'\n }\n },\n defaultVariants: {\n intent: 'primary',\n size: 'lg'\n }\n }\n)\n\ntype TButtonProps = VariantProps<typeof buttonConfig>\n\nexport interface IButtonIconProps extends Omit<ComponentProps<'button'>, 'className'>, TButtonProps {\n children: ReactElement\n classes?: Partial<TButtonClasses>\n}\n\nexport const ButtonIcon = forwardRef<HTMLButtonElement, IButtonIconProps>(\n ({ size, intent, children, classes, type = 'button', ...props }, ref) => {\n return (\n <button ref={ref} type={type} className={cn(buttonConfig({ intent, size }), classes?.button)} {...props}>\n <span className={cn(classes?.icon)}>{children}</span>\n </button>\n )\n }\n)\n","import { type ComponentProps } from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '../utils'\nimport { Icon, type TAllowedIcons } from './icon/Icon'\n\nconst customLinkConfig = cva(\n 'group underline underline-offset-4 outline-none p-[2px] rounded-sm border border-solid border-transparent',\n {\n variants: {\n intent: {\n blue: 'text-color-primary-default hover:text-color-primary-hover focus:text-color-primary-default focus:border-primary-focus',\n white: 'text-color-white hover:text-color-footer focus:text-color-white focus:border-primary-focus'\n },\n withIcon: {\n true: 'flex items-center gap-1',\n false: ''\n },\n disabled: {\n true: '!text-color-primary-disabled pointer-events-none !border-transparent',\n false: ''\n },\n size: {\n sm: 'desk-body-regular-m',\n md: 'desk-body-regular-l'\n }\n },\n defaultVariants: {\n intent: 'blue',\n withIcon: true,\n disabled: false,\n size: 'sm'\n }\n }\n)\n\nconst linkArrowConfig = cva('size-6', {\n variants: {\n intent: {\n blue: 'text-icon-primary-default group-hover:text-icon-primary-hover group-focus:text-icon-primary-default ',\n white: 'text-icon-white group-hover:text-icon-footer group-focus:text-icon-white'\n },\n disabled: {\n true: '!text-icon-primary-disabled pointer-events-none',\n false: ''\n }\n },\n defaultVariants: {\n intent: 'blue',\n disabled: false\n }\n})\n\ntype TCustomLinkConfig = VariantProps<typeof customLinkConfig>\n\nexport interface ICustomLinkProps extends TCustomLinkConfig, Omit<ComponentProps<'a'>, 'className'> {\n Component?: 'a'\n icon?: TAllowedIcons\n}\n\nexport const CustomLink = ({\n Component = 'a',\n intent,\n children,\n withIcon,\n disabled,\n size,\n icon = 'arrows/arrowLink',\n ...props\n}: ICustomLinkProps) => {\n return (\n <Component className={cn(customLinkConfig({ intent, withIcon, disabled, size }))} {...props}>\n {children}\n {withIcon && <Icon name={icon} className={cn(linkArrowConfig({ intent, disabled }))} />}\n </Component>\n )\n}\n","import { type ReactElement } from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { Icon, type TAllowedIcons } from './icon'\nimport { cn } from '$/shared/utils'\n\nconst iconConfig = cva('size-8 transition-colors', {\n variants: {\n intent: {\n outline: 'text-icon-secondary-dark-default group-hover:text-icon-secondary-dark-hover',\n filled: 'text-icon-primary-default group-hover:text-icon-primary-hover'\n }\n },\n defaultVariants: {\n intent: 'outline'\n }\n})\n\ntype TIconConfig = VariantProps<typeof iconConfig>\n\nconst iconVariant: Record<NonNullable<TIconConfig['intent']>, TAllowedIcons> = {\n filled: 'files/documentFilled',\n outline: 'files/documentOutline'\n}\n\nexport interface IDocumentProps extends TIconConfig {\n text: string | ReactElement\n size: number\n sizeType: 'КБ' | 'МБ'\n href: string\n}\n\nexport const Document = ({ text, size, sizeType, href, intent = 'outline' }: IDocumentProps) => {\n return (\n <a\n href={href}\n target='_blank'\n rel='noreferrer'\n tabIndex={0}\n className={cn(\n 'group flex max-w-[288px] cursor-pointer items-center gap-2 rounded-sm p-1 outline outline-2 outline-transparent transition-colors focus-within:outline-primary-focus desktop:max-w-[592px]'\n )}\n >\n <Icon name={iconVariant[intent!]} className={cn(iconConfig({ intent }))} />\n <div className={cn('flex flex-1 flex-col')}>\n <p className={cn('desk-body-medium-l text-color-dark')}>{text}</p>\n <div className={cn('desk-body-regular-m text-color-disabled')}>\n {size} {sizeType}\n </div>\n </div>\n </a>\n )\n}\n","import { type ReactElement } from 'react'\nimport { cn } from '../utils'\n\ninterface IPhoneViewClasses {\n wrapper: string\n link: string\n text: string\n}\n\nexport interface IPhoneViewProps {\n phone: string | ReactElement\n text: string | ReactElement\n classes?: Partial<IPhoneViewClasses>\n}\nexport const PhoneView = ({ phone, text, classes }: IPhoneViewProps) => {\n return (\n <div className={cn('flex w-max flex-col', classes?.wrapper)}>\n <a href={`tel:${phone}`} className={cn('desk-body-medium-l ml-auto text-color-dark', classes?.link)}>\n {phone}\n </a>\n <p className={cn('desk-body-regular-l text-color-tetriary', classes?.text)}>{text}</p>\n </div>\n )\n}\n","import * as React from 'react'\nimport { cn } from '../utils'\n\ntype IProgressBarClasses = {\n wrapper: string\n topContent: string\n bottomContent: string\n progressBar: string\n progress: string\n loader: string\n}\n\nexport interface IProgressBarProps {\n topContent?: React.ReactElement\n bottomContent?: React.ReactElement\n progress: number\n maxPercent?: number\n classes?: Partial<IProgressBarClasses>\n}\n\nexport const ProgressBar = ({ topContent, bottomContent, progress, maxPercent = 100, classes }: IProgressBarProps) => {\n return (\n <div className={cn('flex flex-col', classes?.wrapper)}>\n {topContent && <div className={cn('mb-2 flex justify-between gap-5', classes?.topContent)}>{topContent}</div>}\n\n <div className={cn('relative h-2 w-[328xp] rounded-md bg-color-blue-grey-100 desktop:w-[524px]', classes?.progressBar)}>\n <div\n style={{ width: `${progress}%` }}\n className={cn('relative z-10 h-2 rounded-md bg-color-positive transition-all', classes?.progress)}\n ></div>\n <span\n style={{ maxWidth: `${maxPercent}%` }}\n className={cn(\n 'progressBar-apply z-1 absolute top-1/2 h-full w-full -translate-y-1/2 animate-progress-loader rounded-md',\n classes?.loader\n )}\n ></span>\n </div>\n\n {bottomContent && <div className={cn('mt-2 flex justify-between gap-5', classes?.bottomContent)}>{bottomContent}</div>}\n </div>\n )\n}\n","import { cn } from '../utils'\n\nexport interface ISkeletonProps {\n className?: string\n}\n\nexport const Skeleton = ({ className }: ISkeletonProps) => {\n return <div className={cn('skeleton-apply h-full w-full', className)}></div>\n}\n","import type { ReactElement } from 'react'\nimport { Icon } from './icon/Icon'\n\nexport type TBrandLogoVariant = 'main' | 'white' | 'gray' | 'black' | 'business' | 'insurance'\ntype TBrandLogosVariants = Record<TBrandLogoVariant, ReactElement>\n\nexport const brandLogos: TBrandLogosVariants = {\n main: <Icon name='brandLogos/logoMain' />,\n white: <Icon name='brandLogos/logoWhite' />,\n gray: <Icon name='brandLogos/logoGray' />,\n black: <Icon name='brandLogos/logoBlack' />,\n business: <Icon name='brandLogos/logoBusiness' />,\n insurance: <Icon name='brandLogos/logoInsurance' />\n} as const\n","/* eslint-disable operator-linebreak */\nexport const RgxUnicode = /^[\\u0400-\\u04FF\\u00CB\\u00EB -]+$/ // Диапазон символов Unicode, включающий кириллические символы.*\nexport const RgxCheckForHyphen = /^(?:[^-]+(?:-[^-]+){0,4}|[^-]+)$/ // Проверяет количество дефисов a-b-c-d-e Валидный (до 4 дефисов), не валидный*\nexport const RgxPatronymic =\n /^[a-zA-Zа-яА-ЯёЁ]+(?:\\s*-\\s*[a-zA-Zа-яА-ЯёЁ]+){0,4}(?:\\s+[a-zA-Zа-яА-ЯёЁ]+(?:\\s*-\\s*[a-zA-Zа-яА-ЯёЁ]+){0,4})?$/i\n","export const VALIDATION_MESSAGES = {\n REQUIRED: 'Поле обязательно к заполнению',\n MIN_LENGTH: 'Минимальная длина символов должна быть не менее',\n MAX_LENGTH: 'Максимальная длина символов должна быть не более',\n FIX_LENGTH: 'Длина символов должна быть равна',\n MAX_LENGTH_ELEMENTS: 'Максимальное количество элементов должно быть не более',\n MIN_LENGTH_ELEMENTS: 'Минимальное количество элементов должно быть не менее',\n FIX_LENGTH_ELEMENTS: 'Количество элементов должно быть равно',\n INVALID_VALUE: 'Поле заполнено некорректно',\n INVALID_DATE: 'Введите корректную дату',\n FUTURE_DATE_NOT_ALLOWED: 'Нельзя выбрать дату позже текущей'\n} as const\n","import { z } from 'zod'\nimport { RgxCheckForHyphen, RgxPatronymic, RgxUnicode } from '../regExp'\n\nconst formattedFio = (value: string) => {\n const parts = value.trim().replace(/\\s+/g, ' ').split(' ')\n const [surname, name, ...patronymicArr] = parts\n const patronymic = patronymicArr?.join(' ')\n\n return {\n surname,\n name,\n patronymic\n }\n}\n\nexport const zodDadataFioValidate = z\n .string({ invalid_type_error: 'Обязательно к заполнению', required_error: 'Обязательно к заполнению' })\n .superRefine((value, ctx) => {\n if (!RgxUnicode.test(value)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Должна быть только кириллица'\n })\n }\n\n const { surname, name, patronymic } = formattedFio(value)\n\n if (!surname || !name) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Введите имя и фамилию'\n })\n }\n\n if (!RgxCheckForHyphen.test(name)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Неверно введено имя'\n })\n }\n\n if (!RgxCheckForHyphen.test(surname)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Неверно введена фамилия'\n })\n }\n\n if (patronymic) {\n if (!RgxPatronymic.test(patronymic)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Неверно введено отчество'\n })\n }\n }\n })\n\n// .transform((value) => {\n// const { surname, name, patronymic } = formattedFio(value)\n\n// return {\n// surname: capitalize(surname),\n// name: capitalize(name),\n// patronymic: patronymic ? capitalize(patronymic) : undefined\n// }\n// })\n\n// Тестов Имя\n// Тестов Имя Отчество\n// Тестов-тестов Имя Отчество\n// Тестов-тестов Имя Отчество углы-ули\n// Тестов-тестов Имя Отчество углы-ули Отчество-Отчество\n","import { isValid, parse } from 'date-fns'\nimport { z } from 'zod'\nimport { VALIDATION_MESSAGES } from '../messages'\n\nexport const zodCalendarValidate = z\n .string()\n .length(10, { message: VALIDATION_MESSAGES.INVALID_DATE })\n .superRefine((val, ctx) => {\n const [day, month, year] = val?.split('.') ?? ''\n const parsed = parse(`${day}/${month}/${year}`, 'dd/MM/yyyy', new Date())\n\n if (+year <= 1950) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: VALIDATION_MESSAGES.INVALID_DATE\n })\n }\n\n if (!isValid(parsed)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: VALIDATION_MESSAGES.INVALID_DATE\n })\n }\n\n if (new Date().getTime() < new Date(parsed).getTime()) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: VALIDATION_MESSAGES.FUTURE_DATE_NOT_ALLOWED\n })\n }\n })\n","const rootStyles = {\n transparent: 'transparent',\n current: 'currentColor',\n inherit: 'inherit',\n initial: 'initial'\n}\n\nconst allowedBackgroundColors = {\n 'blue-grey-100': '#f3f4f7',\n 'blue-grey-200': '#eaedf1',\n 'blue-grey-300': '#d4dbe2',\n 'blue-grey-500': '#a9b6c5',\n footer: '#40465a',\n negative: '#f42500',\n 'negative-light': '#ffd2ca',\n positive: '#76bc21',\n 'positive-light': '#e4f6ce',\n 'primary-default': '#003790',\n 'primary-focus': '#2477ff',\n 'primary-hover': '#042e73',\n 'primary-light-default': '#f0f4f9',\n 'primary-tr-focus': '#0037901f',\n 'primary-tr-hover': '#00379014',\n 'primary-tr-pressed': '#00379033',\n 'secondary-default': '#fc5055',\n 'secondary-hover': '#f12f34',\n warning: '#f49f00',\n 'warning-light': '#ffeecc',\n white: '#ffffff',\n 'primary-disabled': '#809bc7',\n 'secondary-disabled': '#FFB7BF',\n dark: '#000000',\n purple: '#5f40bd',\n 'purple-hover': '#52399d',\n overlay: '#0000004d',\n ...rootStyles\n} as const\n\nconst allowedTextColors = {\n dark: '#292929',\n disabled: '#a9b6c5',\n footer: '#c3c3c3',\n negative: '#f42500',\n positive: '#76bc21',\n 'primary-default': '#003790',\n 'primary-hover': '#042e73',\n secondary: '#40465a',\n tetriary: '#5a6e85',\n warning: '#f49f00',\n white: '#ffffff',\n 'primary-disabled': '#809bc7',\n 'blue-grey-600': '#94a4b7',\n ...rootStyles\n} as const\n\nconst allowedBannersBackgroundColors = {\n 'barvcray-200': '#ebeef4',\n 'barvcray-300': '#dde1e8',\n 'greymint-200': '#deecee',\n 'lavender-100': '#f7f7ff',\n 'lavender-200': '#ecedfa',\n 'lavender-300': '#d0d3f1',\n 'lightblue-300': '#bed3ec',\n 'mint-200': '#e4f5ed',\n 'salmon-200': '#faecec',\n 'skyblue-100': '#f4f8fe',\n 'skyblue-200': '#e7f3ff',\n 'skyblue-300': '#d9edff',\n ...rootStyles\n} as const\n\nconst allowedIconsColors = {\n 'accent-default': '#2477ff',\n 'accent-hover': '#0053da',\n 'blue-grey-100': '#f3f4f7',\n 'blue-grey-600': '#94a4b7',\n 'blue-grey-700': '#69809a',\n 'blue-grey-800': '#5a6e85',\n 'dark-default': '#292929',\n 'dark-hover': '#535353',\n disabled: '#a9b6c5',\n 'negative-default': '#f42500',\n 'negative-hover': '#c31e00',\n 'positive-default': '#76bc21',\n 'positive-hover': '#598d19',\n 'primary-default': '#003790',\n 'primary-hover': '#042e73',\n 'secondary-dark-default': '#f12f34',\n 'secondary-dark-hover': '#c40309',\n 'secondary-default': '#fc5055',\n 'secondary-hover': '#f12f34',\n 'warning-default': '#f49f00',\n 'warning-hover': '#d68b00',\n white: '#ffffff',\n 'primary-disabled': '#809bc7',\n footer: '#C3C3C3',\n ...rootStyles\n} as const\n\nconst allowedStrokeColors = {\n 'blue-grey-500': '#a9b6c5',\n 'blue-grey-700': '#69809a',\n 'blue-grey-800': '#5a6e85',\n dark: '#292929',\n negative: '#f42500',\n positive: '#76bc21',\n 'primary-default': '#003790',\n 'primary-focus': '#2477ff',\n 'primary-hover': '#042e73',\n 'primary-light': '#f0f4f9',\n 'secondary-default': '#fc5055',\n 'secondary-hover': '#f12f34',\n 'warm-grey-200': '#e4e4e4',\n 'warm-grey-300': '#c3c3c3',\n warning: '#f49f00',\n white: '#ffffff',\n 'primary-disabled': '#809bc7',\n ...rootStyles\n} as const\n\nexport { allowedStrokeColors, allowedBannersBackgroundColors, allowedIconsColors, allowedTextColors, allowedBackgroundColors }\n","const allowedBorderRadius = {\n none: '0',\n sm: '4px',\n md: '8px',\n lg: '16px',\n full: '9999px'\n}\n\nconst allowedBackgroundDeg = {\n 30: '30deg',\n 45: '45deg',\n 80: '80deg',\n 90: '90deg',\n 110: '110deg',\n 180: '180deg'\n}\n\nconst allowedZIndex = {\n 0: '0',\n 1: '1',\n 10: '10',\n 30: '30',\n 50: '50',\n 100: '100',\n 250: '250',\n 500: '500',\n 1000: '1000'\n}\n\nexport { allowedBorderRadius, allowedBackgroundDeg, allowedZIndex }\n","const allowedFontSize = {\n 12: '12px',\n 14: '14px',\n 16: '16px',\n 18: '18px',\n 20: '20px',\n 24: '24px',\n 28: '28px',\n 32: '32px',\n 40: '40px'\n}\n\nconst allowedLineHeight = {\n 16: '16px',\n 20: '20px',\n 22: '22px',\n 24: '24px',\n 30: '30px',\n 32: '32px',\n 40: '40px',\n 48: '48px'\n}\n\nconst allowedTextStyles = {\n /* # Headline */\n '.mob-headline-bold-m': {\n '@apply font-bold text-28 leading-32': ''\n },\n '.mob-headline-bold-s': {\n '@apply font-bold text-24 leading-30': ''\n },\n /* # Title */\n '.mob-title-bold-l': {\n '@apply font-bold text-20 leading-24': ''\n },\n '.mob-title-bold-m': {\n '@apply font-bold text-18 leading-22': ''\n },\n /* # Body */\n '.mob-body-medium-l': {\n '@apply font-medium text-16 leading-22': ''\n },\n '.mob-body-regular-l': {\n '@apply font-normal text-16 leading-22': ''\n },\n '.mob-body-medium-m': {\n '@apply font-medium text-14 leading-20': ''\n },\n '.mob-body-regular-m': {\n '@apply font-normal text-14 leading-20': ''\n },\n '.mob-body-regular-s': {\n '@apply font-normal text-12 leading-20': ''\n },\n\n /* -------- Desktop Typography -------- */\n /* # Headline */\n '.desk-headline-bold-l': {\n '@apply font-bold text-40 leading-48': ''\n },\n '.desk-headline-bold-m': {\n '@apply font-bold text-32 leading-40': ''\n },\n\n /* # Title */\n '.desk-title-bold-l': {\n '@apply font-bold text-24 leading-30': ''\n },\n '.desk-title-bold-s': {\n '@apply font-bold text-18 leading-22': ''\n },\n\n /* # Body */\n '.desk-body-medium-l': {\n '@apply font-medium text-16 leading-22': ''\n },\n '.desk-body-regular-l': {\n '@apply font-normal text-16 leading-22': ''\n },\n '.desk-body-regular-m': {\n '@apply font-normal text-14 leading-20': ''\n },\n '.desk-body-regular-s': {\n '@apply font-normal text-12 leading-16': ''\n }\n}\n\nexport { allowedLineHeight, allowedFontSize, allowedTextStyles }\n","export const DADATA_BASE_CACHE_URL = import.meta.env.STORYBOOK_DADATA_CACHE_API\nexport const DADATA_BASE_CONSTANTS_URL = import.meta.env.STORYBOOK_DADATA_CONSTANTS_API\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return _default;\n }\n});\nfunction createPlugin(plugin, config) {\n return {\n handler: plugin,\n config\n };\n}\ncreatePlugin.withOptions = function(pluginFunction, configFunction = ()=>({})) {\n const optionsFunction = function(options) {\n return {\n __options: options,\n handler: pluginFunction(options),\n config: configFunction(options)\n };\n };\n optionsFunction.__isOptionsFunction = true;\n // Expose plugin dependencies so that `object-hash` returns a different\n // value if anything here changes, to ensure a rebuild is triggered.\n optionsFunction.__pluginFunction = pluginFunction;\n optionsFunction.__configFunction = configFunction;\n return optionsFunction;\n};\nconst _default = createPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return _default;\n }\n});\nconst _createPlugin = /*#__PURE__*/ _interop_require_default(require(\"../util/createPlugin\"));\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nconst _default = _createPlugin.default;\n","let createPlugin = require('./lib/public/create-plugin')\nmodule.exports = (createPlugin.__esModule ? createPlugin : { default: createPlugin }).default\n","const plugin = require(\"tailwindcss/plugin\")\n\nfunction filterDefault(values) {\n\treturn Object.fromEntries(\n\t\tObject.entries(values).filter(([key]) => key !== \"DEFAULT\"),\n\t)\n}\n\nmodule.exports = plugin(\n\t({ addUtilities, matchUtilities, theme }) => {\n\t\taddUtilities({\n\t\t\t\"@keyframes enter\": theme(\"keyframes.enter\"),\n\t\t\t\"@keyframes exit\": theme(\"keyframes.exit\"),\n\t\t\t\".animate-in\": {\n\t\t\t\tanimationName: \"enter\",\n\t\t\t\tanimationDuration: theme(\"animationDuration.DEFAULT\"),\n\t\t\t\t\"--tw-enter-opacity\": \"initial\",\n\t\t\t\t\"--tw-enter-scale\": \"initial\",\n\t\t\t\t\"--tw-enter-rotate\": \"initial\",\n\t\t\t\t\"--tw-enter-translate-x\": \"initial\",\n\t\t\t\t\"--tw-enter-translate-y\": \"initial\",\n\t\t\t},\n\t\t\t\".animate-out\": {\n\t\t\t\tanimationName: \"exit\",\n\t\t\t\tanimationDuration: theme(\"animationDuration.DEFAULT\"),\n\t\t\t\t\"--tw-exit-opacity\": \"initial\",\n\t\t\t\t\"--tw-exit-scale\": \"initial\",\n\t\t\t\t\"--tw-exit-rotate\": \"initial\",\n\t\t\t\t\"--tw-exit-translate-x\": \"initial\",\n\t\t\t\t\"--tw-exit-translate-y\": \"initial\",\n\t\t\t},\n\t\t})\n\n\t\tmatchUtilities(\n\t\t\t{\n\t\t\t\t\"fade-in\": (value) => ({ \"--tw-enter-opacity\": value }),\n\t\t\t\t\"fade-out\": (value) => ({ \"--tw-exit-opacity\": value }),\n\t\t\t},\n\t\t\t{ values: theme(\"animationOpacity\") },\n\t\t)\n\n\t\tmatchUtilities(\n\t\t\t{\n\t\t\t\t\"zoom-in\": (value) => ({ \"--tw-enter-scale\": value }),\n\t\t\t\t\"zoom-out\": (value) => ({ \"--tw-exit-scale\": value }),\n\t\t\t},\n\t\t\t{ values: theme(\"animationScale\") },\n\t\t)\n\n\t\tmatchUtilities(\n\t\t\t{\n\t\t\t\t\"spin-in\": (value) => ({ \"--tw-enter-rotate\": value }),\n\t\t\t\t\"spin-out\": (value) => ({ \"--tw-exit-rotate\": value }),\n\t\t\t},\n\t\t\t{ values: theme(\"animationRotate\") },\n\t\t)\n\n\t\tmatchUtilities(\n\t\t\t{\n\t\t\t\t\"slide-in-from-top\": (value) => ({\n\t\t\t\t\t\"--tw-enter-translate-y\": `-${value}`,\n\t\t\t\t}),\n\t\t\t\t\"slide-in-from-bottom\": (value) => ({\n\t\t\t\t\t\"--tw-enter-translate-y\": value,\n\t\t\t\t}),\n\t\t\t\t\"slide-in-from-left\": (value) => ({\n\t\t\t\t\t\"--tw-enter-translate-x\": `-${value}`,\n\t\t\t\t}),\n\t\t\t\t\"slide-in-from-right\": (value) => ({\n\t\t\t\t\t\"--tw-enter-translate-x\": value,\n\t\t\t\t}),\n\t\t\t\t\"slide-out-to-top\": (value) => ({\n\t\t\t\t\t\"--tw-exit-translate-y\": `-${value}`,\n\t\t\t\t}),\n\t\t\t\t\"slide-out-to-bottom\": (value) => ({\n\t\t\t\t\t\"--tw-exit-translate-y\": value,\n\t\t\t\t}),\n\t\t\t\t\"slide-out-to-left\": (value) => ({\n\t\t\t\t\t\"--tw-exit-translate-x\": `-${value}`,\n\t\t\t\t}),\n\t\t\t\t\"slide-out-to-right\": (value) => ({\n\t\t\t\t\t\"--tw-exit-translate-x\": value,\n\t\t\t\t}),\n\t\t\t},\n\t\t\t{ values: theme(\"animationTranslate\") },\n\t\t)\n\n\t\tmatchUtilities(\n\t\t\t{ duration: (value) => ({ animationDuration: value }) },\n\t\t\t{ values: filterDefault(theme(\"animationDuration\")) },\n\t\t)\n\n\t\tmatchUtilities(\n\t\t\t{ delay: (value) => ({ animationDelay: value }) },\n\t\t\t{ values: theme(\"animationDelay\") },\n\t\t)\n\n\t\tmatchUtilities(\n\t\t\t{ ease: (value) => ({ animationTimingFunction: value }) },\n\t\t\t{ values: filterDefault(theme(\"animationTimingFunction\")) },\n\t\t)\n\n\t\taddUtilities({\n\t\t\t\".running\": { animationPlayState: \"running\" },\n\t\t\t\".paused\": { animationPlayState: \"paused\" },\n\t\t})\n\n\t\tmatchUtilities(\n\t\t\t{ \"fill-mode\": (value) => ({ animationFillMode: value }) },\n\t\t\t{ values: theme(\"animationFillMode\") },\n\t\t)\n\n\t\tmatchUtilities(\n\t\t\t{ direction: (value) => ({ animationDirection: value }) },\n\t\t\t{ values: theme(\"animationDirection\") },\n\t\t)\n\n\t\tmatchUtilities(\n\t\t\t{ repeat: (value) => ({ animationIterationCount: value }) },\n\t\t\t{ values: theme(\"animationRepeat\") },\n\t\t)\n\t},\n\t{\n\t\ttheme: {\n\t\t\textend: {\n\t\t\t\tanimationDelay: ({ theme }) => ({\n\t\t\t\t\t...theme(\"transitionDelay\"),\n\t\t\t\t}),\n\t\t\t\tanimationDuration: ({ theme }) => ({\n\t\t\t\t\t0: \"0ms\",\n\t\t\t\t\t...theme(\"transitionDuration\"),\n\t\t\t\t}),\n\t\t\t\tanimationTimingFunction: ({ theme }) => ({\n\t\t\t\t\t...theme(\"transitionTimingFunction\"),\n\t\t\t\t}),\n\t\t\t\tanimationFillMode: {\n\t\t\t\t\tnone: \"none\",\n\t\t\t\t\tforwards: \"forwards\",\n\t\t\t\t\tbackwards: \"backwards\",\n\t\t\t\t\tboth: \"both\",\n\t\t\t\t},\n\t\t\t\tanimationDirection: {\n\t\t\t\t\tnormal: \"normal\",\n\t\t\t\t\treverse: \"reverse\",\n\t\t\t\t\talternate: \"alternate\",\n\t\t\t\t\t\"alternate-reverse\": \"alternate-reverse\",\n\t\t\t\t},\n\t\t\t\tanimationOpacity: ({ theme }) => ({\n\t\t\t\t\tDEFAULT: 0,\n\t\t\t\t\t...theme(\"opacity\"),\n\t\t\t\t}),\n\t\t\t\tanimationTranslate: ({ theme }) => ({\n\t\t\t\t\tDEFAULT: \"100%\",\n\t\t\t\t\t...theme(\"translate\"),\n\t\t\t\t}),\n\t\t\t\tanimationScale: ({ theme }) => ({\n\t\t\t\t\tDEFAULT: 0,\n\t\t\t\t\t...theme(\"scale\"),\n\t\t\t\t}),\n\t\t\t\tanimationRotate: ({ theme }) => ({\n\t\t\t\t\tDEFAULT: \"30deg\",\n\t\t\t\t\t...theme(\"rotate\"),\n\t\t\t\t}),\n\t\t\t\tanimationRepeat: {\n\t\t\t\t\t0: \"0\",\n\t\t\t\t\t1: \"1\",\n\t\t\t\t\tinfinite: \"infinite\",\n\t\t\t\t},\n\t\t\t\tkeyframes: {\n\t\t\t\t\tenter: {\n\t\t\t\t\t\tfrom: {\n\t\t\t\t\t\t\topacity: \"var(--tw-enter-opacity, 1)\",\n\t\t\t\t\t\t\ttransform:\n\t\t\t\t\t\t\t\t\"translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\texit: {\n\t\t\t\t\t\tto: {\n\t\t\t\t\t\t\topacity: \"var(--tw-exit-opacity, 1)\",\n\t\t\t\t\t\t\ttransform:\n\t\t\t\t\t\t\t\t\"translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n)\n","import type { Config } from 'tailwindcss'\nimport plugin from 'tailwindcss/plugin'\nimport tailwindAnimation from 'tailwindcss-animate'\nimport {\n allowedBackgroundColors,\n allowedBackgroundDeg,\n allowedBannersBackgroundColors,\n allowedBorderRadius,\n allowedFontSize,\n allowedIconsColors,\n allowedLineHeight,\n allowedStrokeColors,\n allowedTextColors,\n allowedTextStyles\n} from '../shared/constants'\n\nexport const tailwindConfigBase: Omit<Config, 'content'> = {\n theme: {\n backgroundColor: {\n color: allowedBackgroundColors,\n banner: allowedBannersBackgroundColors,\n icon: allowedIconsColors\n },\n textColor: {\n icon: allowedIconsColors,\n color: allowedTextColors\n },\n fill: allowedIconsColors,\n stroke: allowedIconsColors,\n borderColor: allowedStrokeColors,\n outlineColor: allowedStrokeColors,\n borderRadius: allowedBorderRadius,\n fontFamily: { roboto: ['var(--ff-roboto)', 'sans-serif'] },\n fontSize: allowedFontSize,\n lineHeight: allowedLineHeight,\n gradientColorStops: allowedBackgroundColors,\n boxShadow: {\n sm: '0 8px 20px 0 rgba(0, 0, 0, 0.08)',\n md: '0 12px 20px 0 rgba(0, 33, 87, 0.10)',\n lg: '0 16px 24px 0 rgba(0, 33, 87, 0.16)'\n },\n extend: {\n bgGradientDeg: allowedBackgroundDeg,\n width: {\n 'popper-content': 'var(--radix-popover-content-available-width)',\n 'popper-trigger': 'var(--radix-popover-trigger-width)',\n 'autocomplete-input': 'var(--input-width)',\n 'select-trigger': 'var(--button-width)'\n },\n transitionDuration: {\n DEFAULT: '0.3s',\n 12: '0.12s',\n 15: '0.15s',\n 2: '2s'\n },\n transitionTimingFunction: {\n DEFAULT: 'ease-in-out'\n },\n keyframes: {\n slideDown: {\n from: { height: '0px' },\n to: { height: 'var(--radix-accordion-content-height)' }\n },\n slideUp: {\n from: { height: 'var(--radix-accordion-content-height)' },\n to: { height: '0px' }\n },\n 'scale-in': {\n from: { opacity: '0', scale: '0' },\n to: { opacity: '1', scale: '1' }\n },\n 'progress-loader': {\n '100%': {\n backgroundPosition: '100% 100%'\n }\n }\n },\n animation: {\n slideDown: 'slideDown 0.3s cubic-bezier(0.87, 0, 0.13, 1)',\n slideUp: 'slideUp 0.3s cubic-bezier(0.87, 0, 0.13, 1)',\n 'scale-in': 'scale-in 0.3s ease-in-out',\n 'progress-loader': 'progress-loader 250s linear infinite'\n }\n }\n },\n plugins: [\n tailwindAnimation,\n plugin(({ addComponents }) => {\n addComponents(allowedTextStyles)\n }),\n plugin(function ({ matchUtilities, theme }) {\n matchUtilities(\n {\n 'bg-deg-gradient': (angle) => ({\n 'background-image': `linear-gradient(${angle}, var(--tw-gradient-stops))`\n })\n },\n {\n values: Object.assign(theme('bgGradientDeg', {}), {})\n }\n )\n })\n ]\n}\n","import type { Config } from 'tailwindcss'\n\nexport const extendsPreset: Omit<Config, 'content'> = {\n theme: {\n extend: {\n transitionDuration: {\n DEFAULT: '0.3s',\n 12: '0.12s',\n 15: '0.15s',\n 2: '2s',\n 333: '333s'\n },\n transitionTimingFunction: {\n DEFAULT: 'ease-in-out'\n },\n keyframes: {\n slideDown: {\n from: { height: '0px' },\n to: { height: 'var(--radix-accordion-content-height)' }\n },\n slideUp: {\n from: { height: 'var(--radix-accordion-content-height)' },\n to: { height: '0px' }\n },\n 'scale-in': {\n from: { opacity: '0', scale: '0' },\n to: { opacity: '1', scale: '1' }\n },\n 'progress-loader': {\n '100%': {\n backgroundPosition: '100% 100%'\n }\n }\n },\n animation: {\n slideDown: 'slideDown 0.3s cubic-bezier(0.87, 0, 0.13, 1)',\n slideUp: 'slideUp 0.3s cubic-bezier(0.87, 0, 0.13, 1)',\n 'scale-in': 'scale-in 0.3s ease-in-out',\n 'progress-loader': 'progress-loader 250s linear infinite'\n }\n }\n }\n}\n","// Тут через алиасы не импортируй, иначе не будет работать\nimport type { Config } from 'tailwindcss'\nimport plugin from 'tailwindcss/plugin'\nimport tailwindAnimation from 'tailwindcss-animate'\nimport {\n allowedBackgroundColors,\n allowedBackgroundDeg,\n allowedBannersBackgroundColors,\n allowedBorderRadius,\n allowedFontSize,\n allowedIconsColors,\n allowedLineHeight,\n allowedStrokeColors,\n allowedTextColors,\n allowedTextStyles,\n allowedZIndex\n} from '../../shared/constants'\n\nexport const resetPreset: Omit<Config, 'content'> = {\n theme: {\n screens: {\n mobile: { max: '1187px' },\n desktop: '1188px'\n },\n backgroundColor: {\n color: allowedBackgroundColors,\n banner: allowedBannersBackgroundColors,\n icon: allowedIconsColors\n },\n textColor: {\n icon: allowedIconsColors,\n color: allowedTextColors\n },\n fill: allowedIconsColors,\n stroke: allowedIconsColors,\n borderColor: allowedStrokeColors,\n outlineColor: allowedStrokeColors,\n borderRadius: allowedBorderRadius,\n fontFamily: { roboto: ['var(--ff-roboto)', 'sans-serif'] },\n fontSize: allowedFontSize,\n lineHeight: allowedLineHeight,\n gradientColorStops: allowedBackgroundColors,\n boxShadow: {\n sm: '0 8px 20px 0 rgba(0, 0, 0, 0.08)',\n md: '0 12px 20px 0 rgba(0, 33, 87, 0.10)',\n lg: '0 16px 24px 0 rgba(0, 33, 87, 0.16)'\n },\n zIndex: allowedZIndex,\n extend: {\n bgGradientDeg: allowedBackgroundDeg\n }\n },\n plugins: [\n tailwindAnimation,\n plugin(({ addComponents }) => {\n addComponents(allowedTextStyles)\n }),\n plugin(function ({ matchUtilities, theme }) {\n matchUtilities(\n {\n 'bg-deg-gradient': (angle) => ({\n 'background-image': `linear-gradient(${angle}, var(--tw-gradient-stops))`\n })\n },\n {\n values: Object.assign(theme('bgGradientDeg', {}), {})\n }\n )\n })\n ]\n}\n","import { type TButtonsConfig } from '../Banner'\nimport { Button } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport interface IBannerButtonsGroupClasses {\n group: string\n primary: string\n secondary: string\n}\ninterface IBannerButtonsGroupProps {\n buttonsConfig: TButtonsConfig\n classes?: Partial<IBannerButtonsGroupClasses>\n className?: string\n}\n\nexport const BannerButtonsGroup = ({ buttonsConfig, classes, className }: IBannerButtonsGroupProps) => {\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","import * as React from 'react'\nimport { Heading } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport interface IAdvantageClasses {\n advantageWrapper: string\n advantageItem: string\n advantageTitle: string\n advantageDescription: string\n}\nexport interface IAdvantage {\n title: string\n description: string | React.ReactElement\n}\n\nexport interface IAdvantagesProps {\n advantagesList: IAdvantage[]\n classes?: Partial<IAdvantageClasses>\n}\n\nexport const Advantages = ({ advantagesList, classes }: IAdvantagesProps) => {\n return (\n <div\n className={cn(\n 'flex w-full 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 classes?.advantageWrapper\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-2 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?.advantageItem\n )}\n >\n <Heading as='h4' className={cn('text-color-dark', classes?.advantageTitle)}>\n {title}\n </Heading>\n <p className={cn('desk-body-regular-l text-color-tetriary', classes?.advantageDescription)}>{description}</p>\n </div>\n ))}\n </div>\n )\n}\n","import { type IBannerProps } from '../../Banner'\nimport { BannerButtonsGroup } from '../BannerButtonsGroup'\nimport { useDevice } from '$/client'\nimport { Heading, ResponsiveContainer } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\nimport { Advantages } from '$/widgets/Advantages'\n\nexport const BannerImageFull = ({\n headTitle,\n subtitle,\n buttonsConfig,\n advantagesList,\n classes,\n img,\n imgSets\n}: Omit<IBannerProps, 'bannerVariant'>) => {\n const { isDesktop, isMobile } = useDevice()\n const adventage = (\n <div\n data-id='banner-advantages'\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 {advantagesList && advantagesList?.length > 0 && <Advantages classes={classes} advantagesList={advantagesList} />}\n </div>\n )\n\n return (\n <>\n <section data-id='banner-section' className={cn('relative h-[552px] desktop:h-[456px]', classes?.section)}>\n <div\n data-id='banner-img-wrapper'\n className='absolute bottom-0 left-0 right-0 top-0 z-[-1] mx-auto h-full max-w-[1920px] desktop:h-[456px]'\n >\n <picture>\n <source media='(min-width: 1128px)' srcSet={imgSets?.large} type='image/avif' />\n <source media='(max-width: 1127px)' srcSet={imgSets?.mob} type={imgSets?.type ?? 'image/avif'} />\n <img\n data-id='banner-image'\n src={img}\n alt='Картинка баннера'\n className={cn('h-full w-full object-cover object-center', classes?.image)}\n />\n </picture>\n </div>\n <ResponsiveContainer data-id='banner-container' className={cn('h-full', classes?.container)}>\n <div data-id='banner' className={cn('flex h-full', classes?.wrapper)}>\n <div\n data-id='banner-text-block'\n className={cn('flex w-[328px] flex-col gap-10 pt-6 desktop:w-full desktop:pt-20', classes?.textBlock)}\n >\n <div className='flex flex-col gap-4'>\n <Heading data-id='banner-title' as='h1' className={cn('text-color-white', classes?.title)}>\n {headTitle}\n </Heading>\n <p data-id='banner-subtitle' className={cn('desk-body-regular-l text-color-white', classes?.subtitle)}>\n {subtitle}\n </p>\n </div>\n <BannerButtonsGroup\n className='self-end desktop:self-center'\n data-id='banner-buttons-group'\n buttonsConfig={buttonsConfig}\n classes={classes}\n />\n </div>\n </div>\n\n {isDesktop && adventage}\n </ResponsiveContainer>\n </section>\n {isMobile && adventage}\n </>\n )\n}\n","import { type IBannerProps } from '../../Banner'\nimport { BannerButtonsGroup } from '../BannerButtonsGroup'\nimport { useDevice } from '$/client'\nimport { Heading, ResponsiveContainer } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\nimport { Advantages } from '$/widgets/Advantages'\n\nexport const BannerWithSeparateImg = ({\n headTitle,\n subtitle,\n buttonsConfig,\n advantagesList,\n classes,\n img\n}: Omit<IBannerProps, 'bannerVariant'>) => {\n const { isDesktop, isMobile } = useDevice()\n const adventage = (\n <div\n data-id='banner-advantages'\n className={cn(\n 'flex items-center justify-center rounded-md bg-color-blue-grey-100 p-4 desktop:absolute desktop:bottom-[-50px] desktop:right-1/2 desktop:translate-x-1/2 desktop:p-0',\n classes?.advantageContainer\n )}\n >\n {advantagesList && advantagesList?.length > 0 && <Advantages classes={classes} advantagesList={advantagesList} />}\n </div>\n )\n return (\n <>\n <section data-id='banner-section' className={cn('bg-banner-skyblue-300 desktop:h-[456px]', classes?.section)}>\n <ResponsiveContainer data-id='banner-container' className={cn('relative', classes?.container)}>\n <div data-id='banner' 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 data-id='banner-text-block' className={cn('flex flex-col gap-4 pt-6 desktop:pt-0', classes?.textBlock)}>\n <Heading data-id='banner-title' as='h1' className={cn('text-color-dark', classes?.title)}>\n {headTitle}\n </Heading>\n <p data-id='banner-subtitle' className={cn('desk-body-regular-l text-color-dark', classes?.subtitle)}>\n {subtitle}\n </p>\n </div>\n\n <BannerButtonsGroup buttonsConfig={buttonsConfig} classes={classes} />\n </div>\n\n <div\n data-id='banner-image-wrapper'\n className={cn('flex h-[356px] justify-center desktop:h-[456px] desktop:w-[550px]', classes?.imageContainer)}\n >\n <img\n data-id='banner-image'\n src={img}\n alt='Картинка баннера'\n className={cn('h-full object-cover', classes?.image)}\n />\n </div>\n </div>\n\n {isDesktop && adventage}\n </ResponsiveContainer>\n </section>\n {isMobile && adventage}\n </>\n )\n}\n","import { type ReactElement } from 'react'\nimport { type IAdvantage, type IAdvantageClasses } from '../Advantages'\nimport { type IBannerButtonsGroupClasses } from './ui/BannerButtonsGroup'\nimport { BannerWithSeparateImg } from './ui/banners'\nimport { BannerImageFull } from './ui/banners'\nimport { type IButtonProps } from '$/shared/ui'\n\ninterface IBannerClasses extends IBannerButtonsGroupClasses {\n section: string\n container: string\n wrapper: string\n content: string\n textBlock: string\n title: string\n subtitle: string\n imageContainer: string\n image: string\n advantageContainer: string\n}\n\nexport type TButtonsConfig = {\n primary: IButtonProps\n secondary?: IButtonProps\n}\n\nexport interface IBannerProps {\n headTitle: string | ReactElement\n subtitle: string | ReactElement\n img?: string\n imgSets?: {\n large: string\n mob: string\n type: string\n }\n buttonsConfig: TButtonsConfig\n advantagesList?: IAdvantage[]\n classes?: Partial<IBannerClasses> & Partial<IAdvantageClasses>\n bannerVariant?: 'sepatateImg' | 'fullImg'\n}\n\nexport const Banner = ({ bannerVariant, ...props }: IBannerProps) => {\n switch (bannerVariant) {\n case 'sepatateImg':\n return <BannerWithSeparateImg {...props} />\n case 'fullImg':\n return <BannerImageFull {...props} />\n default:\n return <BannerWithSeparateImg {...props} />\n }\n}\n","import type { IFooterNavLinks, IFooterPhones, IFooterSocialLinks } from './types'\n\nexport const defaultCopyright = (\n <>\n © 2004-2024, ПАО «Совкомбанк». Все права защищены. <br /> Генеральная лицензия Банка России №963 от 5 декабря 2014 г.\n </>\n)\n\nexport const defaultLigal = `Кредит на бизнес цели, срок 3, 6, 9, 12, 18, 24, 36, 48, 60 мес. Ставка – от 22,9%*. *Точная процентная ставка\n устанавливается по соглашению сторон и определяется исходя из платёжеспособности и кредитоспособности клиента, а также\n иных индивидуальных особенностей клиента. Сумма 100 000 – 50 000 000 руб. Кредит выдается на карту “Халва”, открытый в\n Банке. Банк вправе отказать в предоставлении кредита без объяснения причины, а также запросить дополнительную информацию о\n клиенте. Предварительное одобрение не влечет обязательств Банка по выдаче кредита. В некоторых случаях срок рассмотрения\n заявки может составлять до 3 рабочих дней. Полный электронный документооборот при наличии открытого р/с в ПАО «Совкомбанк»\n и действующей ЭЦП. Условия рекламы действительны на 20.02.2024г.`\n\nexport const defaultPhones: IFooterPhones[] = [\n { phone: '8 800 100-00-06', text: 'Звонок по России (бесплатно)' },\n { phone: '+7 (495) 988 00 00', text: 'Для звонков из-за рубежа (платно)' }\n]\n\nexport const defaultSocialsLinks: IFooterSocialLinks[] = [\n { iconName: 'social/vk', href: '/vk' },\n { iconName: 'social/telegram', href: '/tg' },\n { iconName: 'social/classmates', href: '/cl' }\n]\n\nexport const defaultNavigationLinks: IFooterNavLinks[] = [\n {\n groupLabel: 'Совкомбанк',\n links: [\n { text: 'О банке', href: '/' },\n { text: 'Реквизиты и лицензии', href: '/' },\n { text: 'Пресс-центр', href: '/' },\n { text: 'Удостоверяющий центр ПАО «Совкомбанк»', href: '/' },\n { text: 'Работа у нас', href: '/' },\n { text: 'Контакты', href: '/' },\n { text: 'Раскрытие информации', href: '/' },\n { text: 'Страница раскрытия информации в Интерфакс', href: '/' },\n { text: 'Реализация залогового имущества', href: '/' },\n { text: 'Клиентам и партнерам', href: '/' },\n { text: 'Биометрия', href: '/' },\n { text: 'Стандарты безопасности', href: '/' },\n { text: 'Информация о процентных ставках по договорам банковского вклада с физическими лицами', href: '/' },\n { text: 'ООО «Совком Финанс»', href: '/' },\n { text: 'Безопасность', href: '/' }\n ]\n },\n {\n groupLabel: 'Сервисы',\n links: [\n { text: 'Подарочная карта «Халва»', href: '/' },\n { text: 'Страховые продукты', href: '/' },\n { text: 'МультиЮрист', href: '/' },\n { text: 'Единая социальная карта «Уралочка»', href: '/' },\n { text: 'Единая Карта Жителя Мурманской области', href: '/' },\n { text: 'Безопасные расчёты', href: '/' },\n { text: 'Улучшение кредитной истории', href: '/' },\n { text: 'Дистанционные сервисы Совкомбанка', href: '/' },\n { text: 'Программы реструктуризации долга', href: '/' }\n ]\n },\n {\n groupLabel: 'Услуги банка',\n links: [\n { text: 'Карты', href: '/' },\n { text: 'Кредиты', href: '/' },\n { text: 'Кредиты наличными', href: '/' },\n { text: 'Ипотека', href: '/' },\n { text: 'Автокредиты', href: '/' },\n { text: 'Кредитный калькулятор', href: '/' },\n { text: 'Вклады', href: '/' },\n { text: 'Инвестиции', href: '/' },\n { text: 'Платежи', href: '/' },\n { text: 'Сервисы', href: '/' },\n { text: 'Малому бизнесу и ИП', href: '/' },\n { text: 'Корпоративным клиентам', href: '/' },\n { text: 'CIB', href: '/' },\n { text: 'Драгоценные металлы в слитках', href: '/' },\n { text: 'Счета в драгоценных металлах', href: '/' }\n ]\n },\n {\n groupLabel: 'Клиентам других банков',\n links: [\n { text: 'Держателям карт рассрочки Банка Хоум Кредит', href: '/' },\n { text: 'ПАО КБ «Восточный»', href: '/' },\n { text: 'Держателям карт «Совесть»', href: '/' },\n { text: 'АО «Нордеа Банк»', href: '/' },\n { text: 'ЗАО «ДжиИ Мани банк»', href: '/' },\n { text: 'АО «Меткомбанк»', href: '/' },\n { text: 'АКБ «РосЕвроБанк» (АО)', href: '/' },\n { text: 'ПАО «Татфондбанк»', href: '/' },\n { text: 'АО АКБ «Экспресс-Волга»', href: '/' },\n { text: 'АО «ВКАБАНК»', href: '/' },\n { text: 'ООО «ОНЕЙ БАНК»', href: '/' },\n { text: 'АО «Евразийский»', href: '/' },\n { text: 'АО «НФК»', href: '/' },\n { text: 'ООО «РТС-Капитал»', href: '/' },\n { text: 'ООО «ИК Септем Капитал»', href: '/' },\n { text: 'Помощь', href: '/' },\n { text: 'Офисы и банкоматы', href: '/' }\n ]\n }\n]\n","import type { IFooterSocialLinks } from '../model/types'\nimport { Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type TSocialLinksClasses = {\n socialRoot: string\n socialLink: string\n socialIcon: string\n}\n\ninterface ISocialLinksProps {\n socialsLinks: IFooterSocialLinks[]\n classes?: Partial<TSocialLinksClasses>\n}\n\nexport const SocialLinks = ({ socialsLinks, classes }: ISocialLinksProps) => {\n return (\n <div className={cn('mt-6 flex items-center gap-2', 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 >\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 { IFooterPhones } from '../model/types'\nimport { PhoneView } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type TPhoneBlockClasses = {\n phonesRoot: string\n phoneWrapper: string\n phoneText: string\n phoneLink: string\n}\n\ninterface IPhonesBlockProps {\n phones: IFooterPhones[]\n classes?: Partial<TPhoneBlockClasses>\n}\n\nexport const PhonesBlock = ({ phones, classes }: IPhonesBlockProps) => {\n return (\n <div className={cn('flex flex-col items-end gap-4', classes?.phonesRoot)}>\n {phones?.map(({ phone, text }) => (\n <PhoneView\n key={phone}\n phone={phone}\n text={text}\n classes={{\n wrapper: cn(classes?.phoneWrapper),\n text: cn('text-color-footer', classes?.phoneText),\n link: cn('text-color-white', classes?.phoneLink)\n }}\n />\n ))}\n </div>\n )\n}\n","import type { IFooterNavLinks } from '../model/types'\nimport { cn } from '$/shared/utils'\n\nexport type TNavigationLinksClasses = {\n navRoot: string\n navGroup: string\n navLabel: string\n navWrapper: string\n navLink: string\n}\n\ninterface INavLinksProps {\n navigationLinks: IFooterNavLinks[]\n classes?: Partial<TNavigationLinksClasses>\n}\n\nexport const NavLinks = ({ navigationLinks, classes }: INavLinksProps) => {\n return (\n <div className={cn('grid grid-cols-4 gap-10 border-y border-blue-grey-500 py-8 pt-8', classes?.navRoot)}>\n {navigationLinks?.map(({ groupLabel, links }) => (\n <div key={groupLabel} className={cn('flex flex-col gap-4', classes?.navGroup)}>\n <div className={cn('desk-body-regular-m font-medium text-color-white', classes?.navLabel)}>{groupLabel}</div>\n <div className={cn('flex flex-col gap-2', classes?.navWrapper)}>\n {links?.map(({ text, href }) => (\n <a\n key={text}\n href={href}\n className={cn(\n 'desk-body-regular-m cursor-pointer text-color-white transition-colors hover:text-color-footer',\n classes?.navLink\n )}\n >\n {text}\n </a>\n ))}\n </div>\n </div>\n ))}\n </div>\n )\n}\n","'use client'\n\nimport * as React from 'react'\nimport { cn } from '$/shared//utils'\n\nexport type TLigalClasses = {\n ligalRoot: string\n ligal: string\n ligalButton: string\n}\n\ninterface ILigalProps {\n ligal: string | React.ReactElement\n classes?: Partial<TLigalClasses>\n}\n\nexport const Ligal = ({ ligal, classes }: ILigalProps) => {\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 <p ref={ligalRef} className={cn('desk-body-regular-m text-color-footer', { 'line-clamp-3': !isExpanded }, classes?.ligal)}>\n {ligal}\n </p>\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 * as React from 'react'\nimport { cn } from '$/shared/utils'\n\nexport type TCopyrightClasses = {\n text: string\n}\n\ninterface ICopyrightProps {\n text?: string | React.ReactElement\n classes?: Partial<TCopyrightClasses>\n}\n\nexport const Copyright = ({ text, classes }: ICopyrightProps) => {\n return <div className={cn('desk-body-regular-m text-color-footer', classes?.text)}>{text}</div>\n}\n","import * as React from 'react'\nimport { defaultCopyright, defaultLigal, defaultNavigationLinks, defaultPhones, defaultSocialsLinks } from './model/defaultValues'\nimport type { IFooterNavLinks, IFooterPhones, IFooterSocialLinks } from './model/types'\nimport {\n Copyright,\n Ligal,\n NavLinks,\n PhonesBlock,\n SocialLinks,\n type TCopyrightClasses,\n type TLigalClasses,\n type TNavigationLinksClasses,\n type TPhoneBlockClasses,\n type TSocialLinksClasses\n} from './ui'\nimport { Icon, ResponsiveContainer, Section } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\ntype IFooterClasses = TLigalClasses &\n TNavigationLinksClasses &\n TPhoneBlockClasses &\n TSocialLinksClasses &\n TCopyrightClasses & {\n section: string\n container: string\n footerRoot: string\n footerHead: string\n footerSocialBlock: string\n footerLogo: string\n }\n\nexport interface IFooterProps {\n classes?: Partial<IFooterClasses>\n withSocial?: boolean\n withPhones?: boolean\n withNavLinks?: boolean\n withLigal?: boolean\n withCopyright?: boolean\n withSiteMap?: boolean\n\n socialsLinks?: IFooterSocialLinks[]\n phones?: IFooterPhones[]\n navigationLinks: IFooterNavLinks[]\n ligal: string | React.ReactElement\n copyright?: string | React.ReactElement\n}\n\nexport const Footer = ({\n withSocial = true,\n withPhones = true,\n withNavLinks = true,\n withLigal = true,\n withCopyright = true,\n withSiteMap = true,\n socialsLinks = defaultSocialsLinks,\n phones = defaultPhones,\n navigationLinks = defaultNavigationLinks,\n ligal = defaultLigal,\n copyright = defaultCopyright,\n classes\n}: IFooterProps) => {\n return (\n <Section className={cn('w-full', classes?.section)}>\n <ResponsiveContainer className={cn(classes?.container)}>\n <div className={cn('bg-color-footer px-4 py-8 desktop:px-6 desktop:py-10', classes?.footerRoot)}>\n <div className={cn('mb-8 flex items-center justify-between gap-6', classes?.footerHead)}>\n <div className={cn(classes?.footerSocialBlock)}>\n <a href='/' className={cn(classes?.footerLogo)}>\n <Icon name='brandLogos/logoWhite' className='h-[32px] w-[194px]' />\n </a>\n {withSocial && <SocialLinks socialsLinks={socialsLinks} classes={classes} />}\n </div>\n {withPhones && <PhonesBlock phones={phones} classes={classes} />}\n </div>\n\n {withNavLinks && <NavLinks navigationLinks={navigationLinks} classes={classes} />}\n {withLigal && <Ligal ligal={ligal} classes={classes} />}\n <div className='mt-6 flex items-start justify-between gap-6'>\n {withCopyright && <Copyright text={copyright} classes={classes} />}\n {withSiteMap && (\n <a\n href='https://sovcombank.ru/site-map'\n target='_blank'\n rel='noreferrer'\n className='desk-body-regular-m text-color-white'\n >\n Карта сайта\n </a>\n )}\n </div>\n </div>\n </ResponsiveContainer>\n </Section>\n )\n}\n","import { type ReactElement } from 'react'\nimport { brandLogos, Button, PhoneView, ResponsiveContainer, type TBrandLogoVariant } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\ntype TPageHeaderClasses = {\n header: string\n container: string\n wrapper: string\n logo: string\n button: string\n phoneWrapper: string\n phoneLink: string\n phoneText: string\n}\nexport interface ICommonHeaderProps {\n logoPath?: string\n logoType?: TBrandLogoVariant\n classes?: Partial<TPageHeaderClasses>\n}\ninterface IHeaderWithPhone extends ICommonHeaderProps {\n variant: 'withPhone'\n phone: string | ReactElement\n phoneText: string | ReactElement\n}\ninterface IHeaderWithButton extends ICommonHeaderProps {\n variant: 'withButton'\n}\n\nexport type TPageHeaderProps = IHeaderWithButton | IHeaderWithPhone\n\nconst renderContentVariant = (props: TPageHeaderProps) => {\n switch (props.variant) {\n case 'withButton':\n return (\n <Button intent='secondary' size='sm' className={props.classes?.button}>\n Оформить заявку\n </Button>\n )\n case 'withPhone':\n const { phone, phoneText } = props as IHeaderWithPhone\n return (\n <PhoneView\n phone={phone}\n text={phoneText}\n classes={{\n wrapper: props.classes?.phoneWrapper,\n text: props.classes?.phoneText,\n link: props.classes?.phoneLink\n }}\n />\n )\n default:\n return null\n }\n}\n\nexport const PageHeader = (props: TPageHeaderProps) => {\n const { logoPath = '/', logoType = 'main', classes } = props\n\n return (\n <header className={cn('flex h-[72px] items-center justify-center bg-color-white', 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 target='_blank'\n rel='noreferrer'\n className={cn(\n 'flex items-center justify-center [&_svg]:w-[114px] desktop:[&_svg]:h-[32px] desktop:[&_svg]:w-[192px]',\n classes?.logo\n )}\n >\n {brandLogos[logoType]}\n </a>\n {renderContentVariant(props)}\n </div>\n </ResponsiveContainer>\n </header>\n )\n}\n","import type { ISingleStep } from '../Stepper'\nimport { Heading } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type TSingleStepClasses = {\n singleStep: string\n numeric: string\n textBlock: string\n title: string\n description: string\n}\n\ninterface ISingleStepProps extends ISingleStep {\n index: number\n classes?: Partial<TSingleStepClasses>\n}\n\nexport const SingleStep = ({ title, description, index, classes }: ISingleStepProps) => {\n return (\n <div\n className={cn(\n 'border-color-blue-grey-500 flex w-[328px] max-w-[328px] flex-col gap-6 rounded-md border border-solid 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 <div className={cn('flex flex-col gap-4', classes?.textBlock)}>\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-tetriary', classes?.description)}>{description}</p>\n </div>\n </div>\n )\n}\n","import * as React from 'react'\nimport { SingleStep, type TSingleStepClasses } from './ui/SingleStep'\nimport { Heading, ResponsiveContainer, Section } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\ntype TStepperClasses = TSingleStepClasses & {\n root: string\n headline: string\n stepsWrapper: string\n}\n\nexport interface ISingleStep {\n title: string\n description: string | React.ReactElement\n}\n\nexport interface IStepperProps {\n heading: string\n stepsList: ISingleStep[]\n classes?: Partial<TStepperClasses>\n}\n\nexport const Stepper = ({ heading, stepsList, classes }: IStepperProps) => {\n return (\n <Section>\n <ResponsiveContainer>\n <div className={cn('flex flex-col gap-12', classes?.root)}>\n <Heading as='h2' className={cn('text-color-dark', classes?.headline)}>\n {heading}\n </Heading>\n <div\n className={cn(\n 'flex flex-col items-start gap-6 desktop:flex-row desktop:items-center desktop:gap-12',\n classes?.stepsWrapper\n )}\n >\n {stepsList?.map((step, index) => <SingleStep key={step.title} index={index + 1} {...step} classes={classes} />)}\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('desktop:max-h-[98px]', {\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 ITextItem } from '../model/types'\r\nimport { Icon, Popover } from '$/shared/ui'\r\nimport { cn } from '$/shared/utils'\r\n\r\nexport const TextItem = ({ data, intent }: ITextItem) => {\r\n const { title, description, popoverText } = 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 {popoverText && (\r\n <Popover triggerElement={<Icon className={cn('size-4 text-icon-blue-grey-600')} name='info/helpCircle' />}>\r\n {popoverText}\r\n </Popover>\r\n )}\r\n </div>\r\n\r\n <p className={cn('mob-body-regular-l text-color-secondary')}>{description}</p>\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 TLongBannerConfig } from '../model/types'\r\nimport { cn } from '$/shared/utils'\r\n\r\ninterface ITitleProps {\r\n intent: TLongBannerConfig['intent']\r\n title: string | ReactElement\r\n desktopHidden?: boolean\r\n mobileHidden?: boolean\r\n}\r\n\r\nexport const Title = ({ intent, title, desktopHidden = false, mobileHidden = false }: ITitleProps) => {\r\n return <h2 className={cn(titleConfig({ intent, desktopHidden, mobileHidden }))}>{title}</h2>\r\n}\r\n","import { listItemConfig } from '../model/cva'\r\nimport { type ITextContent, type TLongBannerConfig } from '../model/types'\r\nimport { TextItem } from './TextItem'\r\nimport { cn } from '$/shared/utils'\r\n\r\ninterface IListItemsProps {\r\n textContent: ITextContent[]\r\n intent: TLongBannerConfig['intent']\r\n withButton: boolean\r\n}\r\n\r\nexport const TextList = ({ textContent, intent, withButton }: IListItemsProps) => {\r\n return (\r\n <ul className={cn(listItemConfig({ intent, withButton }))}>\r\n {textContent?.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 IButtonConfig, type ILongBannerClasses, type ITextContent, type TLongBannerConfig } 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 ILongBannerProps extends TLongBannerConfig {\r\n title: string | ReactElement\r\n buttonConfig?: IButtonConfig\r\n textContent: ITextContent[]\r\n imageComponent: ReactElement\r\n classes?: Partial<ILongBannerClasses>\r\n}\r\n\r\nexport const LongBanner = ({\r\n title,\r\n buttonConfig,\r\n intent = 'twoItems',\r\n textContent,\r\n imageComponent,\r\n classes\r\n}: ILongBannerProps) => {\r\n const withButton = !!buttonConfig\r\n const isFourItems = intent === 'fourItems'\r\n const isTwoItems = intent === 'twoItems'\r\n\r\n return (\r\n <section className={cn(classes?.section)}>\r\n <ResponsiveContainer className={cn(classes?.mainContainer)}>\r\n {isTwoItems && <Title intent={intent} title={title} />}\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} title={title} 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} title={title} mobileHidden={true} />}\r\n <TextList textContent={textContent} 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"],"names":["deepCompare","dataA","dataB","capitalize","str","word","formatToDate","value","format","parse","Section","children","className","props","jsx","cn","ResponsiveContainer","tableConfig","cva","itemTableConfig","tableOverflowConfig","textTableConfig","Table","headTitle","tableRows","tableHead","additionalText","columnCount","classes","titlesExist","jsxs","Heading","title","row","index","ceil","Breadcrumbs","linksList","link","Fragment","Icon","setButtonLoaderIntent","intent","buttonConfig","Button","forwardRef","size","type","iconLeft","iconRight","disabled","isLoading","isFull","textFormat","ref","Loader","ButtonIcon","customLinkConfig","linkArrowConfig","CustomLink","Component","withIcon","icon","iconConfig","iconVariant","Document","text","sizeType","href","PhoneView","phone","ProgressBar","topContent","bottomContent","progress","maxPercent","Skeleton","brandLogos","RgxUnicode","RgxCheckForHyphen","RgxPatronymic","VALIDATION_MESSAGES","formattedFio","parts","surname","name","patronymicArr","patronymic","zodDadataFioValidate","z","ctx","zodCalendarValidate","val","day","month","year","parsed","isValid","rootStyles","allowedBackgroundColors","allowedTextColors","allowedBannersBackgroundColors","allowedIconsColors","allowedStrokeColors","allowedBorderRadius","allowedBackgroundDeg","allowedZIndex","allowedFontSize","allowedLineHeight","allowedTextStyles","DADATA_BASE_CACHE_URL","DADATA_BASE_CONSTANTS_URL","exports","_default","createPlugin","plugin","config","pluginFunction","configFunction","optionsFunction","options","_createPlugin","_interop_require_default","require$$0","obj","filterDefault","values","key","tailwindcssAnimate","addUtilities","matchUtilities","theme","tailwindConfigBase","tailwindAnimation","addComponents","angle","extendsPreset","resetPreset","BannerButtonsGroup","buttonsConfig","withSecondaryBtn","Advantages","advantagesList","description","BannerImageFull","subtitle","img","imgSets","isDesktop","isMobile","useDevice","adventage","BannerWithSeparateImg","Banner","bannerVariant","defaultCopyright","defaultLigal","defaultPhones","defaultSocialsLinks","defaultNavigationLinks","SocialLinks","socialsLinks","iconName","PhonesBlock","phones","NavLinks","navigationLinks","groupLabel","links","Ligal","ligal","isExpanded","setIsExpanded","React","isClamped","setIsClamped","ligalRef","element","prev","Copyright","Footer","withSocial","withPhones","withNavLinks","withLigal","withCopyright","withSiteMap","copyright","renderContentVariant","_a","phoneText","_b","_c","_d","PageHeader","logoPath","logoType","SingleStep","Stepper","heading","stepsList","step","titleConfig","listItemConfig","itemConfig","containerImgConfig","TextItem","data","popoverText","Popover","Title","desktopHidden","mobileHidden","TextList","textContent","withButton","LongBanner","imageComponent","isFourItems","isTwoItems"],"mappings":"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","x_google_ignoreList":[24,25,26,27]}
|