@scbt-ecom/ui 0.167.0 → 0.169.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/configs/index.js +1 -1
- package/dist/lib/exports/config.js +1 -1
- package/dist/lib/exports/hooks.js +1 -1
- package/dist/lib/exports/next.js +1 -1
- package/dist/lib/exports/ui.js +1 -1
- package/dist/lib/exports/utils.js +1 -1
- package/dist/lib/exports/validation.js +1 -1
- package/dist/lib/exports/widget.js +1 -1
- package/dist/lib/next/index.js +1 -1
- package/dist/lib/shared/hooks/useMount.js +1 -1
- package/dist/lib/shared/style.css +1 -1
- package/dist/lib/shared/ui/button/Button.js +1 -1
- package/dist/lib/shared/ui/calendar/ui/Navigation.js +1 -1
- package/dist/lib/shared/ui/calendar/ui/selectDate/ui/SelectList.js +1 -1
- package/dist/lib/shared/ui/carousel/Carousel.js +1 -1
- package/dist/lib/shared/ui/carousel/model/index.js +1 -1
- package/dist/lib/shared/ui/carousel/ui/ArrowNavigationButton.js +1 -1
- package/dist/lib/shared/ui/carousel/ui/RenderSlides.js +1 -1
- package/dist/lib/shared/ui/carousel/ui/index.js +1 -1
- package/dist/lib/shared/ui/carouselBase/index.js +1 -1
- package/dist/lib/shared/ui/carouselBase/model/index.js +1 -1
- package/dist/lib/shared/ui/carouselBase/ui/ArrowNavigationButton.js +1 -1
- package/dist/lib/shared/ui/carouselBase/ui/CarouselSlide.js +1 -1
- package/dist/lib/shared/ui/carouselBase/ui/index.js +1 -1
- package/dist/lib/shared/ui/customLink/CustomLink.js +1 -1
- package/dist/lib/shared/ui/dropdownList/DropdownList.js +1 -1
- package/dist/lib/shared/ui/dropdownList/index.js +1 -1
- package/dist/lib/shared/ui/floatButton/FloatButton.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/autocomplete/AutocompleteControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/checkbox/CheckboxControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/combobox/ComboboxControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/index.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/range.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/single.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/EditorControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/EditorControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/Editor.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/Editor.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/EditorModal.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/EditorModal.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/EditorWithModal.js +2 -0
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/EditorWithModal.js.map +1 -0
- package/dist/lib/shared/ui/formElements/controlled/input/InputControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/input/MaskInputControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/inputCurrency/InputCurrencyControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/inputOtp/InputOtpControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/radio/RadioGroupCardControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/radio/RadioGroupTabControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/slider/SliderControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/switch/SwitchControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/textarea/TextareaControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/uploader/UploaderControl.js +1 -1
- package/dist/lib/shared/ui/formElements/index.js +1 -1
- package/dist/lib/shared/ui/formElements/ui/fieldAttachment/FieldAttachment.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/combobox/combobox.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/radio/RadioGroup.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/radio/RadioGroup.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/radio/ui/AdditionalContent.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/radio/ui/AdditionalContent.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/radio/ui/RadioItemCard.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/radio/ui/RadioItemCard.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/uploader/UploaderBase.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/uploader/ui/UploaderInput.js +1 -1
- package/dist/lib/shared/ui/index.js +1 -1
- package/dist/lib/shared/ui/modal/ui/ModalHeader.js +1 -1
- package/dist/lib/shared/ui/modal/ui/ModalHeader.js.map +1 -1
- package/dist/lib/shared/ui/pagination/Pagination.js +1 -1
- package/dist/lib/shared/ui/tabSwitcher/ui/TabContent.js +1 -1
- package/dist/lib/shared/ui/table/Desktop.js +1 -1
- package/dist/lib/shared/ui/table/index.js +1 -1
- package/dist/lib/shared/ui/table/ui/index.js +1 -1
- package/dist/lib/shared/utils/index.js +1 -1
- package/dist/lib/shared/validation/index.js +1 -1
- package/dist/lib/widgets/banner/ui/index.js +1 -1
- package/dist/lib/widgets/calculator/Calculator.js +1 -1
- package/dist/lib/widgets/calculator/Calculator.js.map +1 -1
- package/dist/lib/widgets/calculator/CalculatorView.js +1 -1
- package/dist/lib/widgets/calculator/CalculatorView.js.map +1 -1
- package/dist/lib/widgets/calculator/model/helpers.js +1 -1
- package/dist/lib/widgets/calculator/model/helpers.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/CalculatorFields.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/ui/CalculatorModal.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/CalculatorInfo.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/CalculatorInfo.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/index.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/CalculatedBlock.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/CalculatorInfoBody.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/InfoListItem.js +1 -1
- package/dist/lib/widgets/calculator/ui/index.js +1 -1
- package/dist/lib/widgets/carouselBlock/CarouselBlock.js +1 -1
- package/dist/lib/widgets/dynamicFormDialog/DynamicFormDialog.js +1 -1
- package/dist/lib/widgets/esia/Esia.js +1 -1
- package/dist/lib/widgets/fallbacksView/model/helpers.js +1 -1
- package/dist/lib/widgets/footer/Footer.js +1 -1
- package/dist/lib/widgets/footer/ui/SocialLinks.js +1 -1
- package/dist/lib/widgets/header/Header.js +1 -1
- package/dist/lib/widgets/index.js +1 -1
- package/dist/lib/widgets/infoBlock/InfoBlock.js +1 -1
- package/dist/lib/widgets/interLinking/InterLinking.js +1 -1
- package/dist/lib/widgets/interLinking/ui/ColumnGroup.js +1 -1
- package/dist/lib/widgets/longBanner/LongBanner.js +1 -1
- package/dist/lib/widgets/model/helpers.js +2 -2
- package/dist/lib/widgets/seoHeader/SeoHeader.js +1 -1
- package/dist/lib/widgets/seoHeader/hooks/index.js +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/tab/Tab.js +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/tab/ui/content/TabContent.js +1 -1
- package/dist/lib/widgets/seoHeader/ui/mobile/menu/Menu.js +1 -1
- package/dist/lib/widgets/seoHeader/ui/mobile/menu/MenuItem.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/documents/Documents.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/index.js +1 -1
- package/dist/node_modules/.pnpm/rc-slider@11.1.8_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/rc-slider/es/Slider.js +1 -1
- package/dist/node_modules/.pnpm/rc-slider@11.1.8_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/rc-slider/es/Slider.js.map +1 -1
- package/dist/node_modules/.pnpm/rc-util@5.44.4_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/rc-util/es/isEqual.js +1 -1
- package/dist/node_modules/.pnpm/rc-util@5.44.4_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/rc-util/es/isEqual.js.map +1 -1
- package/dist/stats.html +1 -1
- package/dist/types/lib/shared/ui/formElements/controlled/editor/EditorControl.d.ts +6 -9
- package/dist/types/lib/shared/ui/formElements/controlled/editor/ui/Editor.d.ts +16 -12
- package/dist/types/lib/shared/ui/formElements/controlled/editor/ui/EditorWithModal.d.ts +9 -0
- package/dist/types/lib/shared/ui/formElements/uncontrolled/radio/ui/RadioItem.d.ts +4 -2
- package/dist/types/lib/widgets/calculator/CalculatorView.d.ts +3 -2
- package/dist/types/lib/widgets/calculator/ui/calculatorInfo/CalculatorInfo.d.ts +2 -1
- package/dist/types/lib/widgets/calculator/ui/calculatorInfo/ui/CalculatedBlock.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadioItem.js","sources":["../../../../../../../../lib/shared/ui/formElements/uncontrolled/radio/ui/RadioItem.tsx"],"sourcesContent":["import { memo, useId } from 'react'\nimport { Indicator, Item, type RadioGroupItemProps } from '@radix-ui/react-radio-group'\nimport {\n AdditionalContent,\n type AdditionalContentClasses,\n type AdditionalContentProps\n} from '$/shared/ui/formElements/uncontrolled/radio/ui/AdditionalContent'\nimport { cn } from '$/shared/utils'\n\nexport type RadioOption = {\n id: number | string\n value: string\n label: string\n disabled?: boolean\n additionalContent?: AdditionalContentProps\n}\n\nexport type RadioItemClasses = {\n root?: string\n item?: string\n indicator?: string\n label?: string\n additionalContent?: AdditionalContentClasses\n}\n\nexport type RadioItemProps = Omit<RadioGroupItemProps, 'value'> & {\n /**\n * Опция списка\n */\n item: RadioOption\n /**\n * Функция для управления отображаемым значением\n */\n displayValue?: (option: RadioOption) => string\n /**\n * Функция для управления возвращаемым значением\n */\n returnValue?: (option: RadioOption) => string\n /**\n * Дополнительные стили внутренних компонентов\n */\n classes?: RadioItemClasses\n /**\n * Свойство для отображения не валидного поля\n */\n invalid?: boolean\n}\n\nexport const RadioItem = memo(\n ({ item, disabled, displayValue, returnValue, classes, className, invalid, ...props }: RadioItemProps) => {\n const label = displayValue ? displayValue(item) : item.label\n const value = returnValue ? returnValue(item) : item.value\n\n const id = useId()\n\n return (\n <Item {...props} asChild disabled={disabled} value={value} id={id}>\n <li\n className={cn(\n 'group flex items-center gap-x-3',\n 'w-full min-w-[200px] [&:not(:last-child)]:mb-4',\n '[&:not(:disabled)]:cursor-pointer',\n {\n 'pointer-events-none text-color-disabled': disabled\n },\n className,\n classes?.root\n )}\n >\n <div\n className={cn(\n 'after:left-1/2 after:top-1/2 after:h-10 after:w-10',\n 'after:-translate-x-1/2 after:-translate-y-1/2 after:content-[\"\"]',\n 'after:absolute after:rounded-full [&:not(:disabled)]:hover:after:bg-color-primary-tr-hover',\n 'after:duration-100 [&:not(:disabled)]:active:after:bg-color-primary-tr-pressed',\n 'after:-z-10 [&:not(:disabled)]:focus:after:bg-color-primary-tr-focus',\n 'relative h-6 w-6 rounded-full border-2 border-blue-grey-700',\n 'group-data-[state=checked]:border-primary-default',\n {\n 'border-negative': invalid,\n 'group-data-[state=unchecked]:border-0 group-data-[state=checked]:border-primary-disabled group-data-[state=unchecked]:bg-color-blue-grey-300':\n disabled\n },\n classes?.item\n )}\n >\n <Indicator\n className={cn(\n 'absolute left-1/2 top-1/2 h-3 w-3 -translate-x-1/2 -translate-y-1/2 rounded-full bg-color-primary-default',\n 'group-disabled:group-data-[state=checked]:bg-color-negative',\n {\n 'group-data-[state=checked]:bg-color-primary-disabled': disabled\n },\n classes?.indicator\n )}\n />\n </div>\n <label\n htmlFor={id}\n className={cn(\n 'desk-body-regular-l capitalize text-color-dark',\n {\n 'text-color-disabled': disabled\n },\n classes?.label\n )}\n >\n {label}\n </label>\n {item?.additionalContent && (\n <AdditionalContent disabled={disabled} {...item?.additionalContent} classes={classes?.additionalContent} />\n )}\n </li>\n </Item>\n )\n }\n)\n"],"names":["RadioItem","memo","item","disabled","displayValue","returnValue","classes","className","invalid","props","label","value","id","useId","jsx","Item","jsxs","cn","Indicator","AdditionalContent"],"mappings":"
|
|
1
|
+
{"version":3,"file":"RadioItem.js","sources":["../../../../../../../../lib/shared/ui/formElements/uncontrolled/radio/ui/RadioItem.tsx"],"sourcesContent":["import { memo, useId } from 'react'\nimport { Indicator, Item, type RadioGroupItemProps } from '@radix-ui/react-radio-group'\nimport {\n AdditionalContent,\n type AdditionalContentClasses,\n type AdditionalContentProps\n} from '$/shared/ui/formElements/uncontrolled/radio/ui/AdditionalContent'\nimport { cn } from '$/shared/utils'\n\nexport type RadioOption = {\n id: number | string\n value: string\n label: string\n index?: number\n disabled?: boolean\n additionalContent?: AdditionalContentProps\n}\n\nexport type RadioItemClasses = {\n root?: string\n item?: string\n indicator?: string\n label?: string\n additionalContent?: AdditionalContentClasses\n}\n\nexport type RadioItemProps = Omit<RadioGroupItemProps, 'value'> & {\n /**\n * Опция списка\n */\n item: RadioOption\n /**\n * Функция для управления отображаемым значением\n */\n displayValue?: (option: RadioOption) => string\n /**\n * Функция для управления возвращаемым значением\n */\n returnValue?: (option: RadioOption, index?: number) => string\n /**\n * Дополнительные стили внутренних компонентов\n */\n classes?: RadioItemClasses\n /**\n * Свойство для отображения не валидного поля\n */\n invalid?: boolean\n index?: number\n}\n\nexport const RadioItem = memo(\n ({ item, disabled, displayValue, returnValue, classes, className, invalid, index, ...props }: RadioItemProps) => {\n const label = displayValue ? displayValue(item) : item.label\n const value = returnValue ? returnValue(item, index) : item.value\n\n const id = useId()\n\n return (\n <Item {...props} asChild disabled={disabled} value={value} id={id}>\n <li\n className={cn(\n 'group flex items-center gap-x-3',\n 'w-full min-w-[200px] [&:not(:last-child)]:mb-4',\n '[&:not(:disabled)]:cursor-pointer',\n {\n 'pointer-events-none text-color-disabled': disabled\n },\n className,\n classes?.root\n )}\n >\n <div\n className={cn(\n 'after:left-1/2 after:top-1/2 after:h-10 after:w-10',\n 'after:-translate-x-1/2 after:-translate-y-1/2 after:content-[\"\"]',\n 'after:absolute after:rounded-full [&:not(:disabled)]:hover:after:bg-color-primary-tr-hover',\n 'after:duration-100 [&:not(:disabled)]:active:after:bg-color-primary-tr-pressed',\n 'after:-z-10 [&:not(:disabled)]:focus:after:bg-color-primary-tr-focus',\n 'relative h-6 w-6 rounded-full border-2 border-blue-grey-700',\n 'group-data-[state=checked]:border-primary-default',\n {\n 'border-negative': invalid,\n 'group-data-[state=unchecked]:border-0 group-data-[state=checked]:border-primary-disabled group-data-[state=unchecked]:bg-color-blue-grey-300':\n disabled\n },\n classes?.item\n )}\n >\n <Indicator\n className={cn(\n 'absolute left-1/2 top-1/2 h-3 w-3 -translate-x-1/2 -translate-y-1/2 rounded-full bg-color-primary-default',\n 'group-disabled:group-data-[state=checked]:bg-color-negative',\n {\n 'group-data-[state=checked]:bg-color-primary-disabled': disabled\n },\n classes?.indicator\n )}\n />\n </div>\n <label\n htmlFor={id}\n className={cn(\n 'desk-body-regular-l capitalize text-color-dark',\n {\n 'text-color-disabled': disabled\n },\n classes?.label\n )}\n >\n {label}\n </label>\n {item?.additionalContent && (\n <AdditionalContent disabled={disabled} {...item?.additionalContent} classes={classes?.additionalContent} />\n )}\n </li>\n </Item>\n )\n }\n)\n"],"names":["RadioItem","memo","item","disabled","displayValue","returnValue","classes","className","invalid","index","props","label","value","id","useId","jsx","Item","jsxs","cn","Indicator","AdditionalContent"],"mappings":"uQAkDO,MAAMA,EAAYC,EACvB,CAAC,CAAE,KAAAC,EAAM,SAAAC,EAAU,aAAAC,EAAc,YAAAC,EAAa,QAAAC,EAAS,UAAAC,EAAW,QAAAC,EAAS,MAAAC,EAAO,GAAGC,CAAA,IAA4B,CAC/G,MAAMC,EAAQP,EAAeA,EAAaF,CAAI,EAAIA,EAAK,MACjDU,EAAQP,EAAcA,EAAYH,EAAMO,CAAK,EAAIP,EAAK,MAEtDW,EAAKC,EAAA,EAEX,OACEC,EAACC,GAAM,GAAGN,EAAO,QAAO,GAAC,SAAAP,EAAoB,MAAAS,EAAc,GAAAC,EACzD,SAAAI,EAAC,KAAA,CACC,UAAWC,EACT,kCACA,iDACA,oCACA,CACE,0CAA2Cf,CAAA,EAE7CI,EACAD,GAAS,IAAA,EAGX,SAAA,CAAAS,EAAC,MAAA,CACC,UAAWG,EACT,qDACA,mEACA,6FACA,iFACA,uEACA,8DACA,oDACA,CACE,kBAAmBV,EACnB,+IACEL,CAAA,EAEJG,GAAS,IAAA,EAGX,SAAAS,EAACI,EAAA,CACC,UAAWD,EACT,4GACA,8DACA,CACE,uDAAwDf,CAAA,EAE1DG,GAAS,SAAA,CACX,CAAA,CACF,CAAA,EAEFS,EAAC,QAAA,CACC,QAASF,EACT,UAAWK,EACT,iDACA,CACE,sBAAuBf,CAAA,EAEzBG,GAAS,KAAA,EAGV,SAAAK,CAAA,CAAA,EAEFT,GAAM,mBACLa,EAACK,EAAA,CAAkB,SAAAjB,EAAqB,GAAGD,GAAM,kBAAmB,QAASI,GAAS,iBAAA,CAAmB,CAAA,CAAA,CAAA,EAG/G,CAEJ,CACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as r,jsxs as u}from"react/jsx-runtime";import{useId as m}from"react";import{Item as p,Indicator as g}from"@radix-ui/react-radio-group";import{AdditionalContent as h}from"./AdditionalContent.js";import{cn as a}from"../../../../../utils/cn.js";const k=({classes:t,returnValue:
|
|
1
|
+
import{jsx as r,jsxs as u}from"react/jsx-runtime";import{useId as m}from"react";import{Item as p,Indicator as g}from"@radix-ui/react-radio-group";import{AdditionalContent as h}from"./AdditionalContent.js";import{cn as a}from"../../../../../utils/cn.js";const k=({classes:t,returnValue:l,displayValue:d,item:e,disabled:s,invalid:n,...b})=>{const c=d?d(e):e?.label,f=l?l(e):e?.value,i=m(),o=s||e?.disabled;return r(p,{...b,className:a("outline-none",{"pointer-events-none":o}),asChild:!0,disabled:o,value:f,id:i,children:r("div",{className:"h-full",children:u("li",{className:a("group flex h-full w-[160px] flex-col items-start rounded-md border border-solid border-blue-grey-500 px-6 py-4",{"border-negative":n,"bg-color-blue-grey-200":o},t?.root),children:[r("div",{className:a("mb-4 after:left-1/2 after:top-1/2 after:h-10 after:w-10",'after:-translate-x-1/2 after:-translate-y-1/2 after:content-[""]',"after:absolute after:rounded-full [&:not(:disabled)]:hover:after:bg-color-primary-tr-hover","after:duration-100 [&:not(:disabled)]:active:after:bg-color-primary-tr-pressed","after:-z-10 [&:not(:disabled)]:focus:after:bg-color-primary-tr-focus","relative h-6 w-6 rounded-full border-2 border-blue-grey-700","group-data-[state=checked]:border-primary-default",{"border-negative":n},t?.item),children:r(g,{className:a("absolute left-1/2 top-1/2 h-3 w-3 -translate-x-1/2 -translate-y-1/2 rounded-full bg-color-primary-default","group-disabled:group-data-[state=checked]:bg-color-negative",t?.indicator)})}),r("label",{htmlFor:i,className:a("desk-body-regular-l mb-4 capitalize text-color-dark",{"text-color-disabled":o},t?.label),children:c}),e?.additionalContent&&r(h,{disabled:o,...e?.additionalContent,classes:t?.additionalContent})]})})})};export{k as RadioItemCard};
|
|
2
2
|
//# sourceMappingURL=RadioItemCard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadioItemCard.js","sources":["../../../../../../../../lib/shared/ui/formElements/uncontrolled/radio/ui/RadioItemCard.tsx"],"sourcesContent":["import { useId } from 'react'\nimport { Indicator, Item } from '@radix-ui/react-radio-group'\nimport { type RenderComponentProps } from '$/shared/ui/formElements/uncontrolled/radio/RadioGroup'\nimport { AdditionalContent } from '$/shared/ui/formElements/uncontrolled/radio/ui/AdditionalContent'\nimport { cn } from '$/shared/utils'\n\nexport interface RadioItemCardProps extends RenderComponentProps {}\n\nexport const RadioItemCard = ({\n classes,\n returnValue,\n displayValue,\n item,\n disabled: disableGroup,\n invalid,\n ...props\n}: RadioItemCardProps) => {\n const label = displayValue ? displayValue(item) : item?.label\n const value = returnValue ? returnValue(item) : item?.value\n const id = useId()\n\n const disabled = disableGroup || item?.disabled\n\n return (\n <Item\n {...props}\n className={cn('outline-none', { 'pointer-events-none': disabled })}\n asChild\n disabled={disabled}\n value={value}\n id={id}\n >\n <div>\n <li\n className={cn(\n 'group flex w-[160px] flex-col items-start rounded-md border border-solid border-blue-grey-500 px-6 py-4',\n { 'border-negative': invalid, 'bg-color-blue-grey-200': disabled },\n classes?.root\n )}\n >\n <div\n className={cn(\n 'mb-4 after:left-1/2 after:top-1/2 after:h-10 after:w-10',\n 'after:-translate-x-1/2 after:-translate-y-1/2 after:content-[\"\"]',\n 'after:absolute after:rounded-full [&:not(:disabled)]:hover:after:bg-color-primary-tr-hover',\n 'after:duration-100 [&:not(:disabled)]:active:after:bg-color-primary-tr-pressed',\n 'after:-z-10 [&:not(:disabled)]:focus:after:bg-color-primary-tr-focus',\n 'relative h-6 w-6 rounded-full border-2 border-blue-grey-700',\n 'group-data-[state=checked]:border-primary-default',\n {\n 'border-negative': invalid\n },\n classes?.item\n )}\n >\n <Indicator\n className={cn(\n 'absolute left-1/2 top-1/2 h-3 w-3 -translate-x-1/2 -translate-y-1/2 rounded-full bg-color-primary-default',\n 'group-disabled:group-data-[state=checked]:bg-color-negative',\n classes?.indicator\n )}\n />\n </div>\n <label\n htmlFor={id}\n className={cn(\n 'desk-body-regular-l mb-4 capitalize text-color-dark',\n { 'text-color-disabled': disabled },\n classes?.label\n )}\n >\n {label}\n </label>\n {item?.additionalContent && (\n <AdditionalContent disabled={disabled} {...item?.additionalContent} classes={classes?.additionalContent} />\n )}\n </li>\n </div>\n </Item>\n )\n}\n"],"names":["RadioItemCard","classes","returnValue","displayValue","item","disableGroup","invalid","props","label","value","id","useId","disabled","jsx","Item","cn","jsxs","Indicator","AdditionalContent"],"mappings":"6PAQO,MAAMA,EAAgB,CAAC,CAC5B,QAAAC,EACA,YAAAC,EACA,aAAAC,EACA,KAAAC,EACA,SAAUC,EACV,QAAAC,EACA,GAAGC,CACL,IAA0B,CACxB,MAAMC,EAAQL,EAAeA,EAAaC,CAAI,EAAIA,GAAM,MAClDK,EAAQP,EAAcA,EAAYE,CAAI,EAAIA,GAAM,MAChDM,EAAKC,EAAA,EAELC,EAAWP,GAAgBD,GAAM,SAEvC,OACES,EAACC,EAAA,CACE,GAAGP,EACJ,UAAWQ,EAAG,eAAgB,CAAE,sBAAuBH,EAAU,EACjE,QAAO,GACP,SAAAA,EACA,MAAAH,EACA,GAAAC,EAEA,
|
|
1
|
+
{"version":3,"file":"RadioItemCard.js","sources":["../../../../../../../../lib/shared/ui/formElements/uncontrolled/radio/ui/RadioItemCard.tsx"],"sourcesContent":["import { useId } from 'react'\nimport { Indicator, Item } from '@radix-ui/react-radio-group'\nimport { type RenderComponentProps } from '$/shared/ui/formElements/uncontrolled/radio/RadioGroup'\nimport { AdditionalContent } from '$/shared/ui/formElements/uncontrolled/radio/ui/AdditionalContent'\nimport { cn } from '$/shared/utils'\n\nexport interface RadioItemCardProps extends RenderComponentProps {}\n\nexport const RadioItemCard = ({\n classes,\n returnValue,\n displayValue,\n item,\n disabled: disableGroup,\n invalid,\n ...props\n}: RadioItemCardProps) => {\n const label = displayValue ? displayValue(item) : item?.label\n const value = returnValue ? returnValue(item) : item?.value\n const id = useId()\n\n const disabled = disableGroup || item?.disabled\n\n return (\n <Item\n {...props}\n className={cn('outline-none', { 'pointer-events-none': disabled })}\n asChild\n disabled={disabled}\n value={value}\n id={id}\n >\n <div className='h-full'>\n <li\n className={cn(\n 'group flex h-full w-[160px] flex-col items-start rounded-md border border-solid border-blue-grey-500 px-6 py-4',\n { 'border-negative': invalid, 'bg-color-blue-grey-200': disabled },\n classes?.root\n )}\n >\n <div\n className={cn(\n 'mb-4 after:left-1/2 after:top-1/2 after:h-10 after:w-10',\n 'after:-translate-x-1/2 after:-translate-y-1/2 after:content-[\"\"]',\n 'after:absolute after:rounded-full [&:not(:disabled)]:hover:after:bg-color-primary-tr-hover',\n 'after:duration-100 [&:not(:disabled)]:active:after:bg-color-primary-tr-pressed',\n 'after:-z-10 [&:not(:disabled)]:focus:after:bg-color-primary-tr-focus',\n 'relative h-6 w-6 rounded-full border-2 border-blue-grey-700',\n 'group-data-[state=checked]:border-primary-default',\n {\n 'border-negative': invalid\n },\n classes?.item\n )}\n >\n <Indicator\n className={cn(\n 'absolute left-1/2 top-1/2 h-3 w-3 -translate-x-1/2 -translate-y-1/2 rounded-full bg-color-primary-default',\n 'group-disabled:group-data-[state=checked]:bg-color-negative',\n classes?.indicator\n )}\n />\n </div>\n <label\n htmlFor={id}\n className={cn(\n 'desk-body-regular-l mb-4 capitalize text-color-dark',\n { 'text-color-disabled': disabled },\n classes?.label\n )}\n >\n {label}\n </label>\n {item?.additionalContent && (\n <AdditionalContent disabled={disabled} {...item?.additionalContent} classes={classes?.additionalContent} />\n )}\n </li>\n </div>\n </Item>\n )\n}\n"],"names":["RadioItemCard","classes","returnValue","displayValue","item","disableGroup","invalid","props","label","value","id","useId","disabled","jsx","Item","cn","jsxs","Indicator","AdditionalContent"],"mappings":"6PAQO,MAAMA,EAAgB,CAAC,CAC5B,QAAAC,EACA,YAAAC,EACA,aAAAC,EACA,KAAAC,EACA,SAAUC,EACV,QAAAC,EACA,GAAGC,CACL,IAA0B,CACxB,MAAMC,EAAQL,EAAeA,EAAaC,CAAI,EAAIA,GAAM,MAClDK,EAAQP,EAAcA,EAAYE,CAAI,EAAIA,GAAM,MAChDM,EAAKC,EAAA,EAELC,EAAWP,GAAgBD,GAAM,SAEvC,OACES,EAACC,EAAA,CACE,GAAGP,EACJ,UAAWQ,EAAG,eAAgB,CAAE,sBAAuBH,EAAU,EACjE,QAAO,GACP,SAAAA,EACA,MAAAH,EACA,GAAAC,EAEA,SAAAG,EAAC,MAAA,CAAI,UAAU,SACb,SAAAG,EAAC,KAAA,CACC,UAAWD,EACT,iHACA,CAAE,kBAAmBT,EAAS,yBAA0BM,CAAA,EACxDX,GAAS,IAAA,EAGX,SAAA,CAAAY,EAAC,MAAA,CACC,UAAWE,EACT,0DACA,mEACA,6FACA,iFACA,uEACA,8DACA,oDACA,CACE,kBAAmBT,CAAA,EAErBL,GAAS,IAAA,EAGX,SAAAY,EAACI,EAAA,CACC,UAAWF,EACT,4GACA,8DACAd,GAAS,SAAA,CACX,CAAA,CACF,CAAA,EAEFY,EAAC,QAAA,CACC,QAASH,EACT,UAAWK,EACT,sDACA,CAAE,sBAAuBH,CAAA,EACzBX,GAAS,KAAA,EAGV,SAAAO,CAAA,CAAA,EAEFJ,GAAM,mBACLS,EAACK,EAAA,CAAkB,SAAAN,EAAqB,GAAGR,GAAM,kBAAmB,QAASH,GAAS,iBAAA,CAAmB,CAAA,CAAA,CAAA,CAE7G,CACF,CAAA,CAAA,CAGN"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as g,Fragment as h,jsx as o}from"react/jsx-runtime";import{forwardRef as j}from"react";import{useUploader as v}from"./model/hooks/useUploader.js";import{
|
|
1
|
+
import{jsxs as g,Fragment as h,jsx as o}from"react/jsx-runtime";import{forwardRef as j}from"react";import{useUploader as v}from"./model/hooks/useUploader.js";import{UploaderInput as w}from"./ui/UploaderInput.js";import{cn as z}from"../../../../utils/cn.js";import{UploaderFiles as I}from"./ui/UploaderFiles.js";import{defaultDropzoneOptions as S}from"./model/helpers.js";const k=j(({classes:t,dropzoneOptions:s=S,name:i,value:r,disabled:m,invalid:p,onChange:l,externalHandlers:e,dataLayers:a,...d},f)=>{const{filesStatus:n,removeFile:c,dropzoneState:u}=v({controlledFiles:r,dropzoneOptions:s,onChange:l,externalHandlers:e}),{root:F,input:U,files:x}=t||{};return g(h,{children:[o("div",{className:z("relative mb-3 w-[476px]",F),children:o(w,{...d,ref:f,name:i,classes:U,disabled:m,invalid:p,dropzoneState:u,externalHandlers:e,"data-layer-id":a?.targetId})}),o(I,{files:r,removeFile:c,classes:x,filesStatus:n})]})});export{k as UploaderBase};
|
|
2
2
|
//# sourceMappingURL=UploaderBase.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as i,jsx as t}from"react/jsx-runtime";import{forwardRef as m}from"react";import{
|
|
1
|
+
import{jsxs as i,jsx as t}from"react/jsx-runtime";import{forwardRef as m}from"react";import{Icon as b}from"../../../../icon/Icon.js";import{cn as e}from"../../../../../utils/cn.js";const x=m(({dropzoneState:o,classes:r,disabled:l,invalid:n,name:a,externalHandlers:d,...p},c)=>{const s=o.getRootProps();return i("div",{className:e("flex h-[64px] w-[476px] rounded-sm","active:border-1 active:border-solid active:border-primary-hover active:bg-color-primary-tr-pressed","focus-visible:border-1 focus-visible:border-solid focus-visible:border-primary-hover focus-visible:bg-color-primary-tr-hover focus-visible:outline-none","hover:border-1 hover:border-solid hover:border-primary-hover hover:bg-color-primary-tr-hover","border-[1.5px] border-dashed border-blue-grey-700",r?.root,{"bg-color-primary-light-default opacity-50":l},{"border-negative":n}),ref:c,...s,children:[i("div",{className:e("flex h-full w-full items-center justify-center gap-2",r?.textContainer),children:[t(b,{name:"files/upload",className:e("text-icon-primary-default",r?.icon)}),i("p",{className:e("desk-body-regular-l select-none text-icon-primary-default",r?.textContent),children:["Выберите файл",t("span",{className:e("text-icon-blue-grey-600",r?.textContentSpan),children:" или перетащите сюда"})]})]}),t("input",{...p,...o.getInputProps(),onClick:d?.onClick,name:a,ref:o.inputRef,disabled:l,className:e(r?.input),"data-id":"uploader"})]})});export{x as UploaderInput};
|
|
2
2
|
//# sourceMappingURL=UploaderInput.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Accordion as t}from"./accordion/Accordion.js";import{ArrowNavigationButton as a}from"./carouselBase/ui/ArrowNavigationButton.js";import{AutocompleteBase as p}from"./formElements/uncontrolled/autocomplete/Autocomplete.js";import{AutocompleteControl as x}from"./formElements/controlled/autocomplete/AutocompleteControl.js";import{Badge as i}from"./badge/Badge.js";import{Button as d}from"./button/Button.js";import{ButtonIcon as C}from"./buttonIcon/ButtonIcon.js";import{Calendar as b}from"./calendar/Calendar.js";import{Carousel as c}from"./carousel/Carousel.js";import{CarouselBase as B}from"./carouselBase/CarouselBase.js";import{CarouselContent as D}from"./carouselBase/ui/CarouselContent.js";import{CarouselSlide as g}from"./carouselBase/ui/CarouselSlide.js";import{CheckboxBase as v}from"./formElements/uncontrolled/checkbox/Checkbox.js";import{CheckboxControl as R}from"./formElements/controlled/checkbox/CheckboxControl.js";import{Chips as h}from"./chips/Chips.js";import{Combobox as L}from"./formElements/uncontrolled/combobox/combobox.js";import{ComboboxControl as N}from"./formElements/controlled/combobox/ComboboxControl.js";import{Confirmable as H}from"./confirmable/Confirmable.js";import{Controlled as G}from"./formElements/controlled/index.js";import{CustomLink as U}from"./customLink/CustomLink.js";import{DATE_VISIBLE_PATTERN as V,defaultClassNames as _,formatDateToLocaleString as K,formatDateToMonthString as Y,formatDateToYearString as j}from"./calendar/model/utils.js";import{DadataAddress as J}from"./formElements/controlled/dadata/address/DadataAddress.js";import{DadataAuto as W}from"./formElements/controlled/dadata/auto/DadataAuto.js";import{DadataCountry as Z}from"./formElements/controlled/dadata/country/DadataCountry.js";import{DadataFio as oo}from"./formElements/controlled/dadata/fio/DadataFio.js";import{DadataOrganization as to}from"./formElements/controlled/dadata/party/DadataOrganization.js";import{DataTable as ao}from"./table/Table.js";import{DataTableColumnHeader as po}from"./table/ui/dataTableColumnHeader/DataTableColumnHeader.js";import{DayPickerBase as xo}from"./formElements/uncontrolled/dayPicker/DayPicker.js";import{DayPickerControl as io}from"./formElements/controlled/dayPickerControl/dayPickerControl.js";import{Dialog as so}from"./dialog/Dialog.js";import{Divider as uo}from"./divider/Divider.js";import{DotsNavigations as To}from"./carouselBase/ui/DotsNavigations.js";import{DropdownItem as Io}from"./dropdownList/ui/dropdownItem/DropdownItem.js";import{DropdownList as So}from"./dropdownList/DropdownList.js";import{EditableCell as Po}from"./table/ui/editableCell/EditableCell.js";import{EditorControl as yo}from"./formElements/controlled/editor/EditorControl.js";import{EmptyList as ko}from"./dropdownList/ui/Empty.js";import{FloatButton as Ao}from"./floatButton/FloatButton.js";import{Heading as wo}from"./heading/Heading.js";import{Hint as Eo}from"./hint/Hint.js";import{Icon as Fo}from"./icon/Icon.js";import{InputBase as Mo}from"./formElements/uncontrolled/input/Input.js";import{InputControl as Oo}from"./formElements/controlled/input/InputControl.js";import{InputCurrencyBase as zo}from"./formElements/uncontrolled/inputCurrency/InputCurrency.js";import{InputCurrencyControl as _o}from"./formElements/controlled/inputCurrency/InputCurrencyControl.js";import{InputOtpBase as Yo}from"./formElements/uncontrolled/inputOtp/InputOtpBase.js";import{InputOtpControl as qo}from"./formElements/controlled/inputOtp/InputOtpControl.js";import{KeyboardShortcuts as Qo}from"./keyboardShortcuts/KeyboardShortcuts.js";import{Loader as Xo}from"./loader/Loader.js";import{MaskInput as $o}from"./formElements/uncontrolled/maskInput/MaskInput.js";import{MaskInputControl as rr}from"./formElements/controlled/input/MaskInputControl.js";import{Modal as er}from"./modal/Modal.js";import{Notification as mr}from"./notification/Notification.js";import{NotificationProvider as fr}from"./providers/NotificationProvider.js";import{Pagination as nr}from"./pagination/Pagination.js";import{PhoneView as lr}from"./phoneView/PhoneView.js";import{Popover as sr}from"./popover/Popover.js";import{Portal as ur}from"./portal/Portal.js";import{ProgressBar as Tr}from"./progressBar/ProgressBar.js";import{RadioGroupBase as Ir}from"./formElements/uncontrolled/radio/RadioGroup.js";import{RadioGroupCardControl as Sr}from"./formElements/controlled/radio/RadioGroupCardControl.js";import{RadioGroupControl as Pr}from"./formElements/controlled/radio/RadioGroupControl.js";import{RadioGroupTabControl as yr}from"./formElements/controlled/radio/RadioGroupTabControl.js";import{RadioItem as kr}from"./formElements/uncontrolled/radio/ui/RadioItem.js";import{RadioItemCard as Ar}from"./formElements/uncontrolled/radio/ui/RadioItemCard.js";import{RadioItemTab as wr}from"./formElements/uncontrolled/radio/ui/RadioItemTab.js";import{ResponsiveContainer as Er}from"./responsiveContainer/ResponsiveContainer.js";import{SLIDE_VARIANT as Fr}from"./carousel/model/constant.js";import{Skeleton as Mr}from"./skeleton/Skeleton.js";import{SlideFullScreen as Or}from"./carouselBase/ui/slideVariants/SlideFullScreen.js";import{SlideOnlyImage as zr}from"./carouselBase/ui/slideVariants/SlideOnlyImage.js";import{SlideProductCard as _r}from"./carouselBase/ui/slideVariants/SlideProductCard.js";import{SliderBase as Yr}from"./formElements/uncontrolled/slider/SliderBase.js";import{SliderControl as qr}from"./formElements/controlled/slider/SliderControl.js";import{Slot as Qr}from"./slot/Slot.js";import{SwitchBase as Xr}from"./formElements/uncontrolled/switch/Switch.js";import{SwitchControl as $r}from"./formElements/controlled/switch/SwitchControl.js";import{Table as rt,TableBody as tt,TableCaption as et,TableCell as at,TableFooter as mt,TableHead as pt,TableHeader as ft,TableRow as xt}from"./table/ui/primitives/Primitives.js";import{TablePagination as it}from"./table/TablePagination.js";import{TableUtils as dt}from"./table/model/TableUtils.js";import{TabsSwitcher as Ct}from"./tabSwitcher/TabsSwitcher.js";import{TextareaBase as bt}from"./formElements/uncontrolled/textarea/Textarea.js";import{TextareaControl as ct}from"./formElements/controlled/textarea/TextareaControl.js";import{Uncontrolled as Bt}from"./formElements/uncontrolled/index.js";import{UploaderBase as Dt}from"./formElements/uncontrolled/uploader/UploaderBase.js";import{UploaderControl as gt}from"./formElements/controlled/uploader/UploaderControl.js";import{allowedIcons as vt}from"./icon/allowedIcons.js";import{brandLogos as Rt}from"./brandLogos/BrandLogos.js";import{buttonPrimitiveIntent as ht,buttonPrimitiveSize as wt,buttonPrimitiveTextFormat as Lt,buttonPrimitiveType as Et}from"./button/model/helpers.js";import{bytesToMegabytes as Ft,megabytesToBytes as Ht}from"./formElements/uncontrolled/uploader/model/helpers.js";import{linkPrimitiveIconIntent as Gt,linkPrimitiveIntent as Ot,linkPrimitiveSize as Ut}from"./customLink/model/helpers.js";import{usePagination as Vt}from"./pagination/hooks/usePagination.js";export{t as Accordion,a as ArrowNavigationButton,p as AutocompleteBase,x as AutocompleteControl,i as Badge,d as Button,C as ButtonIcon,b as Calendar,c as Carousel,B as CarouselBase,D as CarouselContent,g as CarouselSlide,v as CheckboxBase,R as CheckboxControl,h as Chips,L as Combobox,N as ComboboxControl,H as Confirmable,G as Controlled,U as CustomLink,V as DATE_VISIBLE_PATTERN,J as DadataAddress,W as DadataAuto,Z as DadataCountry,oo as DadataFio,to as DadataOrganization,ao as DataTable,po as DataTableColumnHeader,xo as DayPickerBase,io as DayPickerControl,so as Dialog,uo as Divider,To as DotsNavigations,Io as DropdownItem,So as DropdownList,Po as EditableCell,yo as EditorControl,ko as EmptyList,Ao as FloatButton,wo as Heading,Eo as Hint,Fo as Icon,Mo as InputBase,Oo as InputControl,zo as InputCurrencyBase,_o as InputCurrencyControl,Yo as InputOtpBase,qo as InputOtpControl,Qo as KeyboardShortcuts,Xo as Loader,$o as MaskInput,rr as MaskInputControl,er as Modal,mr as Notification,fr as NotificationProvider,nr as Pagination,lr as PhoneView,sr as Popover,ur as Portal,Tr as ProgressBar,Ir as RadioGroupBase,Sr as RadioGroupCardControl,Pr as RadioGroupControl,yr as RadioGroupTabControl,kr as RadioItem,Ar as RadioItemCard,wr as RadioItemTab,Er as ResponsiveContainer,Fr as SLIDE_VARIANT,Mr as Skeleton,Or as SlideFullScreen,zr as SlideOnlyImage,_r as SlideProductCard,Yr as SliderBase,qr as SliderControl,Qr as Slot,Xr as SwitchBase,$r as SwitchControl,rt as Table,tt as TableBody,et as TableCaption,at as TableCell,mt as TableFooter,pt as TableHead,ft as TableHeader,it as TablePagination,xt as TableRow,dt as TableUtils,Ct as TabsSwitcher,bt as TextareaBase,ct as TextareaControl,Bt as Uncontrolled,Dt as UploaderBase,gt as UploaderControl,vt as allowedIcons,Rt as brandLogos,ht as buttonPrimitiveIntent,wt as buttonPrimitiveSize,Lt as buttonPrimitiveTextFormat,Et as buttonPrimitiveType,Ft as bytesToMegabytes,_ as defaultClassNames,K as formatDateToLocaleString,Y as formatDateToMonthString,j as formatDateToYearString,Gt as linkPrimitiveIconIntent,Ot as linkPrimitiveIntent,Ut as linkPrimitiveSize,Ht as megabytesToBytes,Vt as usePagination};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as
|
|
1
|
+
import{jsxs as l,jsx as r}from"react/jsx-runtime";import{Heading as i}from"../../heading/Heading.js";import{cn as e}from"../../../utils/cn.js";import{Icon as s}from"../../icon/Icon.js";const b=({title:n,closeModal:t,classes:o})=>l("div",{className:e("flex items-start justify-between gap-4",o?.header),children:[n&&r(i,{as:"h3",className:e("flex-1 text-color-dark",o?.title),children:n}),r("span",{onClick:t,onKeyDown:a=>{a.key==="Enter"&&t()},role:"button","aria-label":"Close modal",tabIndex:0,className:e("ml-auto rounded-sm p-1 outline-none transition-colors hover:bg-color-blue-grey-200 focus-visible:bg-color-blue-grey-200"),children:r(s,{name:"general/close",className:e("ml-auto size-6 cursor-pointer text-icon-dark-hover outline-0",o?.icon)})})]});export{b as ModalHeader};
|
|
2
2
|
//# sourceMappingURL=ModalHeader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalHeader.js","sources":["../../../../../../lib/shared/ui/modal/ui/ModalHeader.tsx"],"sourcesContent":["import type { ModalProps } from '../Modal'\nimport { Heading, Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type TModalHeaderClasses = {\n header?: string\n title?: string\n icon?: string\n}\n\nexport interface IModalHeaderProps extends Pick<ModalProps, 'closeModal' | 'title'> {\n classes?: TModalHeaderClasses\n}\n\nexport const ModalHeader = ({ title, closeModal, classes }: IModalHeaderProps) => {\n return (\n <div className={cn('flex items-start justify-between gap-4', classes?.header)}>\n {title && (\n <Heading as='h3' className={cn('flex-1 text-color-dark', classes?.title)}>\n {title}\n </Heading>\n )}\n <span\n onClick={closeModal}\n onKeyDown={(event) => {\n if (event.key === 'Enter') closeModal()\n }}\n role='button'\n aria-label='Close modal'\n tabIndex={0}\n className={cn(\n 'rounded-sm p-
|
|
1
|
+
{"version":3,"file":"ModalHeader.js","sources":["../../../../../../lib/shared/ui/modal/ui/ModalHeader.tsx"],"sourcesContent":["import type { ModalProps } from '../Modal'\nimport { Heading, Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type TModalHeaderClasses = {\n header?: string\n title?: string\n icon?: string\n}\n\nexport interface IModalHeaderProps extends Pick<ModalProps, 'closeModal' | 'title'> {\n classes?: TModalHeaderClasses\n}\n\nexport const ModalHeader = ({ title, closeModal, classes }: IModalHeaderProps) => {\n return (\n <div className={cn('flex items-start justify-between gap-4', classes?.header)}>\n {title && (\n <Heading as='h3' className={cn('flex-1 text-color-dark', classes?.title)}>\n {title}\n </Heading>\n )}\n <span\n onClick={closeModal}\n onKeyDown={(event) => {\n if (event.key === 'Enter') closeModal()\n }}\n role='button'\n aria-label='Close modal'\n tabIndex={0}\n className={cn(\n 'ml-auto rounded-sm p-1 outline-none transition-colors hover:bg-color-blue-grey-200 focus-visible:bg-color-blue-grey-200'\n )}\n >\n <Icon\n name='general/close'\n className={cn('ml-auto size-6 cursor-pointer text-icon-dark-hover outline-0', classes?.icon)}\n />\n </span>\n </div>\n )\n}\n"],"names":["ModalHeader","title","closeModal","classes","cn","jsx","Heading","event","Icon"],"mappings":"yLAcO,MAAMA,EAAc,CAAC,CAAE,MAAAC,EAAO,WAAAC,EAAY,QAAAC,OAE5C,MAAA,CAAI,UAAWC,EAAG,yCAA0CD,GAAS,MAAM,EACzE,SAAA,CAAAF,GACCI,EAACC,EAAA,CAAQ,GAAG,KAAK,UAAWF,EAAG,yBAA0BD,GAAS,KAAK,EACpE,SAAAF,CAAA,CACH,EAEFI,EAAC,OAAA,CACC,QAASH,EACT,UAAYK,GAAU,CAChBA,EAAM,MAAQ,SAASL,EAAA,CAC7B,EACA,KAAK,SACL,aAAW,cACX,SAAU,EACV,UAAWE,EACT,yHAAA,EAGF,SAAAC,EAACG,EAAA,CACC,KAAK,gBACL,UAAWJ,EAAG,+DAAgED,GAAS,IAAI,CAAA,CAAA,CAC7F,CAAA,CACF,EACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as C,jsx as i}from"react/jsx-runtime";import{
|
|
1
|
+
import{jsxs as C,jsx as i}from"react/jsx-runtime";import{Button as h}from"../button/Button.js";import{Icon as u}from"../icon/Icon.js";import{cn as c}from"../../utils/cn.js";const R=({page:r=1,between:t=3,totalPages:o,changePage:k,next:N=!0,ellipsis:n=0,classes:d,...z})=>{t=t<1?1:t,r=Math.min(Math.max(r,1),o),n=Math.min(Math.max(n,0),t-2);const b=Array.from({length:o},(m,y)=>y),x=t*2+1;let f;return o<x?f=b:r-1<=t?f=b.slice(0,x-(n>0?n+1:0)):r+t>=o?f=b.slice(o-x+(n>0?n+1:0),o):f=b.slice(r-1-(t-(n>0?n+1:0)),r+(t-(n>0?n+1:0))),C("div",{...z,className:c("flex",d?.root),children:[N&&i(h,{size:"sm",intent:"ghost",className:c("mob-body-regular-l w-[40px] p-0 text-color-dark disabled:text-icon-disabled",d?.button),disabled:r<=1,onClick:()=>r>1&&k(r-2),children:i(u,{name:"arrows/arrowRight",className:"rotate-180"})}),o>x&&n>0&&b.slice(0,r-1<=t?0:n).map(m=>i(h,{size:"sm",intent:"ghost",className:c("mob-body-regular-l w-[40px] p-0 text-color-dark",d?.button),onClick:()=>m!==r-1&&k(m),children:m+1},m)),o>x&&n>0&&r-1>t&&i(h,{size:"sm",intent:"ghost",className:c("mob-body-regular-l pointer-events-none w-[40px] p-0 text-color-dark",d?.ellipsis),children:"..."}),f.map(m=>{const y=m===r-1;return i(h,{size:"sm",className:c("mob-body-regular-l w-[40px] p-0 text-color-dark",{[`text-color-primary-default ${d?.active}`]:y},d?.button),intent:y?"secondary":"ghost",onClick:()=>!y&&k(m),children:m+1},m)}),o>x&&n>0&&r<o-t&&i(h,{size:"sm",intent:"ghost",className:c("mob-body-regular-l pointer-events-none w-[40px] p-0 text-color-dark",d?.ellipsis),children:"..."}),o>x&&n>0&&b.slice(r>=o-t?o:o-n,o).map(m=>i(h,{size:"sm",className:c("mob-body-regular-l w-[40px] p-0 text-color-dark",d?.button),intent:"ghost",onClick:()=>m!==r-1&&k(m),children:m+1},m)),N&&i(h,{size:"sm",intent:"ghost",className:c("mob-body-regular-l w-[40px] p-0 text-color-dark disabled:text-icon-disabled",d?.button),disabled:r>=o,onClick:()=>r<o&&k(r),children:i(u,{name:"arrows/arrowRight"})})]})};export{R as Pagination};
|
|
2
2
|
//# sourceMappingURL=Pagination.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import*as m from"@radix-ui/react-tabs";import{
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import*as m from"@radix-ui/react-tabs";import{Accordion as i}from"../../accordion/Accordion.js";import{cn as l}from"../../../utils/cn.js";const u=({classes:r,contents:a})=>e("div",{className:l("flex flex-col gap-4",r?.contentsWrapper),children:a?.map(({id:t,body:o,accordion:n})=>n&&n?.title?e(m.Content,{value:t,className:l("py-8",r?.content),children:e(i,{label:n?.title,children:o})},t):e(m.Content,{value:t,className:l("py-8",r?.content),children:o},t))});export{u as TabContent};
|
|
2
2
|
//# sourceMappingURL=TabContent.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as s,jsx as l}from"react/jsx-runtime";import{flexRender as m}from"@tanstack/react-table";import{TablePagination as C}from"./TablePagination.js";import{
|
|
1
|
+
import{jsxs as s,jsx as l}from"react/jsx-runtime";import{flexRender as m}from"@tanstack/react-table";import{TablePagination as C}from"./TablePagination.js";import{Table as y,TableHeader as N,TableRow as g,TableHead as P,TableBody as T,TableCell as u}from"./ui/primitives/Primitives.js";import{cn as n}from"../../utils/cn.js";const I=({mode:a,enableHeaders:f,table:e,classes:o,pagination:i,empty:h="Ничего не найдено"})=>{const b=i!==!1&&e.getPageCount()>1,c={pageCount:e.getPageCount(),rowsCount:e.getCoreRowModel().rows.length,pageSize:e.getState().pagination.pageSize,page:e.getState().pagination.pageIndex+1,onPageIndexChange:e.setPageIndex,classes:o?.pagination};return s("div",{className:n("flex w-full flex-col gap-y-4",o?.root),children:[s(y,{className:n("w-full",o?.table),children:[f&&l(N,{className:"px-2",children:e.getHeaderGroups().map(r=>l(g,{className:n("w-full",{"border-b border-b-[rgba(234,237,241,1)]":a==="solid"},o?.tableHeader),children:r.headers.map(t=>l(P,{className:n("py-3",{"px-2":a==="odd"},o?.tableHead),children:t.isPlaceholder?null:m(t.column.columnDef.header,t.getContext())},t.id))},r.id))}),l(T,{children:e.getRowModel().rows.length?e.getRowModel().rows.map((r,t)=>l(g,{className:n("w-full",{"[&:not(:last-child)]:border-b [&:not(:last-child)]:border-b-[rgba(234,237,241,1)]":a==="solid","[&:nth-child(odd)]:bg-color-primary-light-default":a==="odd"},o?.tableRow),children:r.getVisibleCells().map((d,x)=>{const p=d.getContext(),w=p.column.getSize();return l(u,{style:{width:w},className:n("py-3",{"px-3":a==="odd","font-medium":x!==0},o?.tableCell),children:m(d.column.columnDef.cell,{...p,rowIndex:t})},d.id)})},r.id)):l(g,{children:l(u,{className:"py-4 text-center",colSpan:e.getAllColumns().length,children:h})})})]}),typeof i=="function"?i(c):b?l(C,{...c}):null]})};export{I as Desktop};
|
|
2
2
|
//# sourceMappingURL=Desktop.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{DataTable as l}from"./Table.js";import{TablePagination as r}from"./TablePagination.js";import{
|
|
1
|
+
import{DataTable as l}from"./Table.js";import{TablePagination as r}from"./TablePagination.js";import{DataTableColumnHeader as t}from"./ui/dataTableColumnHeader/DataTableColumnHeader.js";import{EditableCell as m}from"./ui/editableCell/EditableCell.js";import{Table as f,TableBody as x,TableCaption as d,TableCell as i,TableFooter as n,TableHead as C,TableHeader as H,TableRow as D}from"./ui/primitives/Primitives.js";import{TableUtils as s}from"./model/TableUtils.js";export{l as DataTable,t as DataTableColumnHeader,m as EditableCell,f as Table,x as TableBody,d as TableCaption,i as TableCell,n as TableFooter,C as TableHead,H as TableHeader,r as TablePagination,D as TableRow,s as TableUtils};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Table as
|
|
1
|
+
import{DataTableColumnHeader as l}from"./dataTableColumnHeader/DataTableColumnHeader.js";import{EditableCell as b}from"./editableCell/EditableCell.js";import{Table as T,TableBody as t,TableCaption as d,TableCell as m,TableFooter as p,TableHead as C,TableHeader as f,TableRow as x}from"./primitives/Primitives.js";export{l as DataTableColumnHeader,b as EditableCell,T as Table,t as TableBody,d as TableCaption,m as TableCell,p as TableFooter,C as TableHead,f as TableHeader,x as TableRow};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createPhoneNumber as e}from"./createPhoneNumber.js";import{scrollToElement as m}from"./scrollToElement.js";import{cn as a}from"./cn.js";import{isClient as p}from"./isClient.js";import{capitalize as s}from"./capitalize.js";import{mergeRefs as n}from"./mergeRefs.js";import{TypeGuards as d}from"./typeGuards.js";import{getUuid as u}from"./uuid.js";import{localStorageActions as A}from"./localStorageActions.js";import{assertUnreachable as h}from"./assertUnreachable.js";import{ErrorBoundary as y}from"./ErrorBoundary.js";import{sessionStorageActions as E}from"./sessionStorage.js";import{extractTextFromHtml as H}from"./extractTextFromHtml.js";import{VariableContextHolder as R}from"./variableHolder/variableContextHolder.js";import{
|
|
1
|
+
import{createPhoneNumber as e}from"./createPhoneNumber.js";import{scrollToElement as m}from"./scrollToElement.js";import{cn as a}from"./cn.js";import{isClient as p}from"./isClient.js";import{capitalize as s}from"./capitalize.js";import{mergeRefs as n}from"./mergeRefs.js";import{TypeGuards as d}from"./typeGuards.js";import{getUuid as u}from"./uuid.js";import{localStorageActions as A}from"./localStorageActions.js";import{assertUnreachable as h}from"./assertUnreachable.js";import{ErrorBoundary as y}from"./ErrorBoundary.js";import{sessionStorageActions as E}from"./sessionStorage.js";import{extractTextFromHtml as H}from"./extractTextFromHtml.js";import{VariableContextHolder as R}from"./variableHolder/variableContextHolder.js";import{VariablesFork as U}from"./variablesFork/VariablesFork.js";import{defaultAllowedPrefixes as k,variableResolver as w}from"./variables/variableResolver.js";export{y as ErrorBoundary,d as TypeGuards,R as VariableContextHolder,U as VariablesFork,h as assertUnreachable,s as capitalize,a as cn,e as createPhoneNumber,k as defaultAllowedPrefixes,H as extractTextFromHtml,u as getUuid,p as isClient,A as localStorageActions,n as mergeRefs,m as scrollToElement,E as sessionStorageActions,w as variableResolver};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{RgxCheckForHyphen as i,RgxPatronymic as p,RgxUnicode as f}from"./regExp.js";import{VALIDATION_MESSAGES as s}from"./messages.js";import{dadataValidationSchemas as o}from"./dadata/index.js";import{baseValidationSchemas as a}from"./base/base.validators.js";import{
|
|
1
|
+
import{RgxCheckForHyphen as i,RgxPatronymic as p,RgxUnicode as f}from"./regExp.js";import{VALIDATION_MESSAGES as s}from"./messages.js";import{dadataValidationSchemas as o}from"./dadata/index.js";import{baseValidationSchemas as a}from"./base/base.validators.js";import{ZodUtils as h}from"./utils/zodUtils.js";import{baseDefaultMessages as S}from"./base/base.constants.js";import{formattedDadataFio as z,zodDadataFioSchema as V}from"./zodValidation/dadataFio.js";import{zodCalendarValidate as D}from"./zodValidation/calendar.js";import{zodOtpCodeSchema as A}from"./zodValidation/otpCode.js";import{zodPhoneSchema as F}from"./zodValidation/phone.js";const t={base:a,dadata:o};export{i as RgxCheckForHyphen,p as RgxPatronymic,f as RgxUnicode,s as VALIDATION_MESSAGES,h as ZodUtils,S as baseDefaultMessages,a as baseValidationSchemas,z as formattedDadataFio,D as zodCalendarValidate,V as zodDadataFioSchema,A as zodOtpCodeSchema,F as zodPhoneSchema,t as zodValidators};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{BannerImageFull as a}from"./banners/BannerImageFull.js";import{BannerWithSeparateImg as n}from"./banners/BannerWithSeparateImg.js";export{a as BannerImageFull,n as BannerWithSeparateImg};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as t,jsxs as f}from"react/jsx-runtime";import{useState as
|
|
1
|
+
import{jsx as t,jsxs as f}from"react/jsx-runtime";import{useState as C,useMemo as p}from"react";import{CalculatorView as b}from"./CalculatorView.js";import{cn as l}from"../../shared/utils/cn.js";import{CalculatorTabs as h}from"./ui/CalculatorTabs.js";import{ResponsiveContainer as g}from"../../shared/ui/responsiveContainer/ResponsiveContainer.js";import{Heading as x}from"../../shared/ui/heading/Heading.js";const D=({calculators:r,headline:e,classes:a})=>{const c=r.length>1,[i,m]=C(c?r[0]?.name:""),s=p(()=>r?.map(({name:n,label:d})=>({name:n,label:d})),[r]),u=c?s?.findIndex(n=>n.name===i):0,o=r[u];return t("section",{id:"calculator","data-test-id":"calculator",className:l(a?.root),children:t(g,{className:l(a?.container),children:f("div",{className:l(a?.wrapper),children:[t(x,{className:l("mb-8 desktop:mb-12",a?.headline),as:"h2",children:e}),c&&t(h,{headline:e,calculatorTabs:s,activeCalculator:i,setActiveCalculator:m,classes:a?.calculatorTabs}),t(b,{...o,name:o.name,label:o.label,radioCardsDefaultValue:o.radioCardsDefaultValue,calculatorInfoConfigs:o.calculatorInfoConfigs,calculatorFieldsConfig:o.calculatorFieldsConfig,classes:a?.calculatorView,headline:e})]})})})};export{D as Calculator,D as default};
|
|
2
2
|
//# sourceMappingURL=Calculator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calculator.js","sources":["../../../../lib/widgets/calculator/Calculator.tsx"],"sourcesContent":["import { useMemo, useState } from 'react'\nimport { cn } from '../../shared/utils'\nimport { CalculatorView, type CalculatorViewClasses, type CalculatorViewProps } from './CalculatorView'\nimport { CalculatorTabs, type CalculatorTabsClasses, type CalculatorTabValue } from './ui'\nimport { Heading, ResponsiveContainer } from '$/shared/ui'\n\nexport type CalculatorClasses = {\n root?: string\n container?: string\n headline?: string\n wrapper?: string\n calculatorView?: CalculatorViewClasses\n calculatorTabs?: CalculatorTabsClasses\n}\n\nexport interface CalculatorProps {\n headline: string\n calculators: CalculatorViewProps[]\n classes?: CalculatorClasses\n}\n\nexport const Calculator = ({ calculators, headline, classes }: CalculatorProps) => {\n const shouldShowTabs = calculators.length > 1\n\n const [activeCalculator, setActiveCalculator] = useState<CalculatorTabValue>(shouldShowTabs ? calculators[0]?.name : '')\n\n const calculatorsTabs = useMemo(() => calculators?.map(({ name, label }) => ({ name, label })), [calculators])\n\n const currentCalculatorIndex = shouldShowTabs\n ? calculatorsTabs?.findIndex((tab) => tab.name === activeCalculator) // Активный калькулятор по значению таба\n : 0 // Берем первый калькулятор если табов нет\n\n const currentCalculator = calculators[currentCalculatorIndex]\n\n return (\n <section id='calculator' data-test-id='calculator' className={cn(classes?.root)}>\n <ResponsiveContainer className={cn(classes?.container)}>\n <div className={cn(classes?.wrapper)}>\n <Heading className={cn('mb-8 desktop:mb-12', classes?.headline)} as='h2'>\n {headline}\n </Heading>\n {shouldShowTabs && (\n <CalculatorTabs\n headline={headline}\n calculatorTabs={calculatorsTabs}\n activeCalculator={activeCalculator}\n setActiveCalculator={setActiveCalculator}\n classes={classes?.calculatorTabs}\n />\n )}\n\n <CalculatorView\n name={currentCalculator.name}\n label={currentCalculator.label}\n
|
|
1
|
+
{"version":3,"file":"Calculator.js","sources":["../../../../lib/widgets/calculator/Calculator.tsx"],"sourcesContent":["import { useMemo, useState } from 'react'\nimport { cn } from '../../shared/utils'\nimport { CalculatorView, type CalculatorViewClasses, type CalculatorViewProps } from './CalculatorView'\nimport { CalculatorTabs, type CalculatorTabsClasses, type CalculatorTabValue } from './ui'\nimport { Heading, ResponsiveContainer } from '$/shared/ui'\n\nexport type CalculatorClasses = {\n root?: string\n container?: string\n headline?: string\n wrapper?: string\n calculatorView?: CalculatorViewClasses\n calculatorTabs?: CalculatorTabsClasses\n}\n\nexport interface CalculatorProps {\n headline: string\n calculators: CalculatorViewProps[]\n classes?: CalculatorClasses\n}\n\nexport const Calculator = ({ calculators, headline, classes }: CalculatorProps) => {\n const shouldShowTabs = calculators.length > 1\n\n const [activeCalculator, setActiveCalculator] = useState<CalculatorTabValue>(shouldShowTabs ? calculators[0]?.name : '')\n\n const calculatorsTabs = useMemo(() => calculators?.map(({ name, label }) => ({ name, label })), [calculators])\n\n const currentCalculatorIndex = shouldShowTabs\n ? calculatorsTabs?.findIndex((tab) => tab.name === activeCalculator) // Активный калькулятор по значению таба\n : 0 // Берем первый калькулятор если табов нет\n\n const currentCalculator = calculators[currentCalculatorIndex]\n\n return (\n <section id='calculator' data-test-id='calculator' className={cn(classes?.root)}>\n <ResponsiveContainer className={cn(classes?.container)}>\n <div className={cn(classes?.wrapper)}>\n <Heading className={cn('mb-8 desktop:mb-12', classes?.headline)} as='h2'>\n {headline}\n </Heading>\n {shouldShowTabs && (\n <CalculatorTabs\n headline={headline}\n calculatorTabs={calculatorsTabs}\n activeCalculator={activeCalculator}\n setActiveCalculator={setActiveCalculator}\n classes={classes?.calculatorTabs}\n />\n )}\n\n <CalculatorView\n {...currentCalculator}\n name={currentCalculator.name}\n label={currentCalculator.label}\n radioCardsDefaultValue={currentCalculator.radioCardsDefaultValue}\n calculatorInfoConfigs={currentCalculator.calculatorInfoConfigs}\n calculatorFieldsConfig={currentCalculator.calculatorFieldsConfig}\n classes={classes?.calculatorView}\n headline={headline}\n />\n </div>\n </ResponsiveContainer>\n </section>\n )\n}\n\nexport default Calculator\n"],"names":["Calculator","calculators","headline","classes","shouldShowTabs","activeCalculator","setActiveCalculator","useState","calculatorsTabs","useMemo","name","label","currentCalculatorIndex","tab","currentCalculator","jsx","cn","ResponsiveContainer","jsxs","Heading","CalculatorTabs","CalculatorView"],"mappings":"yZAqBO,MAAMA,EAAa,CAAC,CAAE,YAAAC,EAAa,SAAAC,EAAU,QAAAC,KAA+B,CACjF,MAAMC,EAAiBH,EAAY,OAAS,EAEtC,CAACI,EAAkBC,CAAmB,EAAIC,EAA6BH,EAAiBH,EAAY,CAAC,GAAG,KAAO,EAAE,EAEjHO,EAAkBC,EAAQ,IAAMR,GAAa,IAAI,CAAC,CAAE,KAAAS,EAAM,MAAAC,CAAA,KAAa,CAAE,KAAAD,EAAM,MAAAC,CAAA,EAAQ,EAAG,CAACV,CAAW,CAAC,EAEvGW,EAAyBR,EAC3BI,GAAiB,UAAWK,GAAQA,EAAI,OAASR,CAAgB,EACjE,EAEES,EAAoBb,EAAYW,CAAsB,EAE5D,OACEG,EAAC,UAAA,CAAQ,GAAG,aAAa,eAAa,aAAa,UAAWC,EAAGb,GAAS,IAAI,EAC5E,SAAAY,EAACE,GAAoB,UAAWD,EAAGb,GAAS,SAAS,EACnD,SAAAe,EAAC,OAAI,UAAWF,EAAGb,GAAS,OAAO,EACjC,SAAA,CAAAY,EAACI,EAAA,CAAQ,UAAWH,EAAG,qBAAsBb,GAAS,QAAQ,EAAG,GAAG,KACjE,SAAAD,CAAA,CACH,EACCE,GACCW,EAACK,EAAA,CACC,SAAAlB,EACA,eAAgBM,EAChB,iBAAAH,EACA,oBAAAC,EACA,QAASH,GAAS,cAAA,CAAA,EAItBY,EAACM,EAAA,CACE,GAAGP,EACJ,KAAMA,EAAkB,KACxB,MAAOA,EAAkB,MACzB,uBAAwBA,EAAkB,uBAC1C,sBAAuBA,EAAkB,sBACzC,uBAAwBA,EAAkB,uBAC1C,QAASX,GAAS,eAClB,SAAAD,CAAA,CAAA,CACF,CAAA,CACF,EACF,EACF,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as l,jsxs as x}from"react/jsx-runtime";import{useEffect as v}from"react";import{FormProvider as V}from"react-hook-form";import{getCalculatorSchema as w}from"./model/utils.js";import{localStorageActions as F}from"../../shared/utils/localStorageActions.js";import{evaluateFormula as b}from"./model/helpers.js";import{CalculatorFields as D}from"./ui/calculatorFields/CalculatorFields.js";import{CalculatorInfo as I}from"./ui/calculatorInfo/CalculatorInfo.js";import{cn as G}from"../../shared/utils/cn.js";import{ZodUtils as S}from"../../shared/validation/utils/zodUtils.js";import{useControlledForm as j}from"../../shared/hooks/useControlledForm.js";const H=({calculatorInfoConfigs:o,calculatorFieldsConfig:r,classes:t,headline:n,radioCardsDefaultValue:u})=>{const c=w(r?.fieldsGroup),d={...S.getZodDefaults(c),radioCards:u},e=j({schema:c,mode:"onBlur",defaultValues:d}),f=e.watch("radioCards"),m=r.fieldsGroup.radioGroupCardConfig?.fields[0].args.options.find(g=>g.value===f)?.index,s=o.length>1?o[m?Number(m):0]:o[0],a=e.watch(),{rootValue:i,isFormula:p}=s;v(()=>{F.setItem("calculatorData",a)},[a]);const h=p?b(i,a):i,C={...s,rootValue:h};return l(V,{...e,children:x("div",{className:G("flex items-start gap-16 mobile:flex-col mobile:items-center mobile:gap-8",t?.wrapper),children:[l(D,{...r,classes:t?.calculatorFields}),l(I,{...C,headline:n,classes:t?.calculatorInfo})]})})};export{H as CalculatorView};
|
|
2
2
|
//# sourceMappingURL=CalculatorView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalculatorView.js","sources":["../../../../lib/widgets/calculator/CalculatorView.tsx"],"sourcesContent":["import { useEffect } from 'react'\nimport { type FieldValues, FormProvider } from 'react-hook-form'\nimport { type CalculatorSchema, evaluateFormula, getCalculatorSchema } from './model'\nimport {\n CalculatorFields,\n type CalculatorFieldsClasses,\n type CalculatorFieldsProps,\n CalculatorInfo,\n type CalculatorInfoClasses,\n type CalculatorInfoProps,\n type CalculatorTab\n} from './ui'\nimport { useControlledForm } from '$/shared/hooks'\nimport { cn, localStorageActions } from '$/shared/utils'\nimport { ZodUtils } from '$/shared/validation'\n\nexport type CalculatorViewClasses = {\n wrapper?: string\n calculatorFields?: CalculatorFieldsClasses\n calculatorInfo?: CalculatorInfoClasses\n}\n\nexport interface CalculatorViewProps<T extends FieldValues = FieldValues> extends CalculatorTab {\n
|
|
1
|
+
{"version":3,"file":"CalculatorView.js","sources":["../../../../lib/widgets/calculator/CalculatorView.tsx"],"sourcesContent":["import { useEffect } from 'react'\nimport { type FieldValues, FormProvider } from 'react-hook-form'\nimport { type CalculatorSchema, evaluateFormula, getCalculatorSchema } from './model'\nimport {\n CalculatorFields,\n type CalculatorFieldsClasses,\n type CalculatorFieldsProps,\n CalculatorInfo,\n type CalculatorInfoClasses,\n type CalculatorInfoProps,\n type CalculatorTab\n} from './ui'\nimport { useControlledForm } from '$/shared/hooks'\nimport { cn, localStorageActions } from '$/shared/utils'\nimport { ZodUtils } from '$/shared/validation'\n\nexport type CalculatorViewClasses = {\n wrapper?: string\n calculatorFields?: CalculatorFieldsClasses\n calculatorInfo?: CalculatorInfoClasses\n}\n\nexport interface CalculatorViewProps<T extends FieldValues = FieldValues> extends CalculatorTab {\n calculatorInfoConfigs: CalculatorInfoProps[]\n calculatorFieldsConfig: CalculatorFieldsProps<T>\n classes?: CalculatorViewClasses\n headline?: string\n radioCardsDefaultValue?: string\n}\n\nexport const CalculatorView = <T extends FieldValues>({\n calculatorInfoConfigs,\n calculatorFieldsConfig,\n classes,\n headline,\n radioCardsDefaultValue\n}: CalculatorViewProps<T>) => {\n const calculatorSchema: CalculatorSchema = getCalculatorSchema(calculatorFieldsConfig?.fieldsGroup)\n\n const schemaDefaults = ZodUtils.getZodDefaults(calculatorSchema)\n\n const defaultValues = {\n ...schemaDefaults,\n radioCards: radioCardsDefaultValue\n }\n\n const formMethods = useControlledForm({\n schema: calculatorSchema,\n mode: 'onBlur',\n defaultValues\n })\n const radioCardsValue = formMethods.watch('radioCards') as string | undefined\n\n const currentOption = calculatorFieldsConfig.fieldsGroup.radioGroupCardConfig?.fields[0].args.options.find(\n (option) => option.value === radioCardsValue\n )\n\n const activeIndex = currentOption?.index\n\n const activeCalculatorInfoConfig =\n calculatorInfoConfigs.length > 1 ? calculatorInfoConfigs[activeIndex ? Number(activeIndex) : 0] : calculatorInfoConfigs[0]\n\n const watchedFields = formMethods.watch()\n\n const { rootValue, isFormula } = activeCalculatorInfoConfig\n\n useEffect(() => {\n localStorageActions.setItem('calculatorData', watchedFields)\n }, [watchedFields])\n\n const calculatedValue = isFormula ? evaluateFormula(rootValue, watchedFields) : rootValue\n\n const mergedCalcInfoConfig = { ...activeCalculatorInfoConfig, rootValue: calculatedValue }\n\n return (\n <FormProvider {...formMethods}>\n <div className={cn('flex items-start gap-16 mobile:flex-col mobile:items-center mobile:gap-8', classes?.wrapper)}>\n <CalculatorFields {...calculatorFieldsConfig} classes={classes?.calculatorFields} />\n <CalculatorInfo {...mergedCalcInfoConfig} headline={headline} classes={classes?.calculatorInfo} />\n </div>\n </FormProvider>\n )\n}\n"],"names":["CalculatorView","calculatorInfoConfigs","calculatorFieldsConfig","classes","headline","radioCardsDefaultValue","calculatorSchema","getCalculatorSchema","defaultValues","ZodUtils","formMethods","useControlledForm","radioCardsValue","activeIndex","option","activeCalculatorInfoConfig","watchedFields","rootValue","isFormula","useEffect","localStorageActions","calculatedValue","evaluateFormula","mergedCalcInfoConfig","jsx","FormProvider","jsxs","cn","CalculatorFields","CalculatorInfo"],"mappings":"kpBA8BO,MAAMA,EAAiB,CAAwB,CACpD,sBAAAC,EACA,uBAAAC,EACA,QAAAC,EACA,SAAAC,EACA,uBAAAC,CACF,IAA8B,CAC5B,MAAMC,EAAqCC,EAAoBL,GAAwB,WAAW,EAI5FM,EAAgB,CACpB,GAHqBC,EAAS,eAAeH,CAAgB,EAI7D,WAAYD,CAAA,EAGRK,EAAcC,EAAkB,CACpC,OAAQL,EACR,KAAM,SACN,cAAAE,CAAA,CACD,EACKI,EAAkBF,EAAY,MAAM,YAAY,EAMhDG,EAJgBX,EAAuB,YAAY,sBAAsB,OAAO,CAAC,EAAE,KAAK,QAAQ,KACnGY,GAAWA,EAAO,QAAUF,CAAA,GAGI,MAE7BG,EACJd,EAAsB,OAAS,EAAIA,EAAsBY,EAAc,OAAOA,CAAW,EAAI,CAAC,EAAIZ,EAAsB,CAAC,EAErHe,EAAgBN,EAAY,MAAA,EAE5B,CAAE,UAAAO,EAAW,UAAAC,CAAA,EAAcH,EAEjCI,EAAU,IAAM,CACdC,EAAoB,QAAQ,iBAAkBJ,CAAa,CAC7D,EAAG,CAACA,CAAa,CAAC,EAElB,MAAMK,EAAkBH,EAAYI,EAAgBL,EAAWD,CAAa,EAAIC,EAE1EM,EAAuB,CAAE,GAAGR,EAA4B,UAAWM,CAAA,EAEzE,OACEG,EAACC,EAAA,CAAc,GAAGf,EAChB,SAAAgB,EAAC,MAAA,CAAI,UAAWC,EAAG,2EAA4ExB,GAAS,OAAO,EAC7G,SAAA,CAAAqB,EAACI,EAAA,CAAkB,GAAG1B,EAAwB,QAASC,GAAS,iBAAkB,IACjF0B,EAAA,CAAgB,GAAGN,EAAsB,SAAAnB,EAAoB,QAASD,GAAS,cAAA,CAAgB,CAAA,CAAA,CAClG,CAAA,CACF,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{TypeGuards as u}from"../../../shared/utils/typeGuards.js";const c=(r,e)=>(r.match(/[a-zA-Z_$][a-zA-Z0-9_$]*/g)||[]).filter(t=>!(t in e)).length>0?"":r,m=(r,e)=>{const a=Object.entries(e).map(([s,l])=>[s,u.isNil(l)?"1":l]),n=a.map(([s])=>s),t=a.map(([,s])=>s),o=c(r,Object.fromEntries(a)),i=new Function(...n,`return ${o};`)(...t.map(Number));return Number.isNaN(Number(i))?"0":i.toString()},v=(r,e)=>r
|
|
1
|
+
import{TypeGuards as u}from"../../../shared/utils/typeGuards.js";const c=(r,e)=>(r.match(/[a-zA-Z_$][a-zA-Z0-9_$]*/g)||[]).filter(t=>!(t in e)).length>0?"":r,m=(r,e)=>{const a=Object.entries(e).map(([s,l])=>[s,u.isNil(l)?"1":l]),n=a.map(([s])=>s),t=a.map(([,s])=>s),o=c(r,Object.fromEntries(a)),i=new Function(...n,`return ${o};`)(...t.map(Number));return Number.isNaN(Number(i))?"0":i.toString()},v=(r,e)=>r?.map(a=>({...a,value:a?.isFormula?m(a.value,e):a.value}));export{m as evaluateFormula,v as formatInfoList};
|
|
2
2
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sources":["../../../../../lib/widgets/calculator/model/helpers.ts"],"sourcesContent":["import type { InfoListItemProps } from '../ui'\nimport type { CalculatorVariables } from './types'\nimport { TypeGuards } from '$/shared/utils'\n\nconst validateFormula = (formula: string, variables: CalculatorVariables) => {\n const variablesInFormula = formula.match(/[a-zA-Z_$][a-zA-Z0-9_$]*/g) || []\n const missingVariables = variablesInFormula.filter((varName) => !(varName in variables))\n\n if (missingVariables.length > 0) {\n return ''\n // throw new Error(`Отсутствуют переменные для калькулятора: ${missingVariables.join(', ')}`) 12 + 14 / select1\n }\n\n return formula\n}\n\nexport const evaluateFormula = (formula: string, variables: CalculatorVariables): string => {\n const entries = Object.entries(variables).map(([key, value]) => [key, !TypeGuards.isNil(value) ? value : '1'])\n\n const variablesKeys = entries.map(([key]) => key)\n const variablesValues = entries.map(([, value]) => value)\n\n const validatedFormula = validateFormula(formula, Object.fromEntries(entries))\n const replaceVariables = new Function(...variablesKeys, `return ${validatedFormula};`)\n\n const replaceResult: number = replaceVariables(...variablesValues.map(Number))\n\n if (Number.isNaN(Number(replaceResult))) {\n return '0'\n }\n\n return replaceResult.toString()\n}\n\nexport const formatInfoList = (list: InfoListItemProps[], variables: CalculatorVariables): InfoListItemProps[] => {\n return list
|
|
1
|
+
{"version":3,"file":"helpers.js","sources":["../../../../../lib/widgets/calculator/model/helpers.ts"],"sourcesContent":["import type { InfoListItemProps } from '../ui'\nimport type { CalculatorVariables } from './types'\nimport { TypeGuards } from '$/shared/utils'\n\nconst validateFormula = (formula: string, variables: CalculatorVariables) => {\n const variablesInFormula = formula.match(/[a-zA-Z_$][a-zA-Z0-9_$]*/g) || []\n const missingVariables = variablesInFormula.filter((varName) => !(varName in variables))\n\n if (missingVariables.length > 0) {\n return ''\n // throw new Error(`Отсутствуют переменные для калькулятора: ${missingVariables.join(', ')}`) 12 + 14 / select1\n }\n\n return formula\n}\n\nexport const evaluateFormula = (formula: string, variables: CalculatorVariables): string => {\n const entries = Object.entries(variables).map(([key, value]) => [key, !TypeGuards.isNil(value) ? value : '1'])\n\n const variablesKeys = entries.map(([key]) => key)\n const variablesValues = entries.map(([, value]) => value)\n\n const validatedFormula = validateFormula(formula, Object.fromEntries(entries))\n const replaceVariables = new Function(...variablesKeys, `return ${validatedFormula};`)\n\n const replaceResult: number = replaceVariables(...variablesValues.map(Number))\n\n if (Number.isNaN(Number(replaceResult))) {\n return '0'\n }\n\n return replaceResult.toString()\n}\n\nexport const formatInfoList = (list: InfoListItemProps[], variables: CalculatorVariables): InfoListItemProps[] => {\n return list?.map((item) => {\n return {\n ...item,\n value: item?.isFormula ? evaluateFormula(item.value, variables) : item.value\n }\n })\n}\n"],"names":["validateFormula","formula","variables","varName","evaluateFormula","entries","key","value","TypeGuards","variablesKeys","variablesValues","validatedFormula","replaceResult","formatInfoList","list","item"],"mappings":"iEAIA,MAAMA,EAAkB,CAACC,EAAiBC,KACbD,EAAQ,MAAM,2BAA2B,GAAK,CAAA,GAC7B,OAAQE,GAAY,EAAEA,KAAWD,EAAU,EAElE,OAAS,EACrB,GAIFD,EAGIG,EAAkB,CAACH,EAAiBC,IAA2C,CAC1F,MAAMG,EAAU,OAAO,QAAQH,CAAS,EAAE,IAAI,CAAC,CAACI,EAAKC,CAAK,IAAM,CAACD,EAAME,EAAW,MAAMD,CAAK,EAAY,IAARA,CAAW,CAAC,EAEvGE,EAAgBJ,EAAQ,IAAI,CAAC,CAACC,CAAG,IAAMA,CAAG,EAC1CI,EAAkBL,EAAQ,IAAI,CAAC,CAAA,CAAGE,CAAK,IAAMA,CAAK,EAElDI,EAAmBX,EAAgBC,EAAS,OAAO,YAAYI,CAAO,CAAC,EAGvEO,EAFmB,IAAI,SAAS,GAAGH,EAAe,UAAUE,CAAgB,GAAG,EAEtC,GAAGD,EAAgB,IAAI,MAAM,CAAC,EAE7E,OAAI,OAAO,MAAM,OAAOE,CAAa,CAAC,EAC7B,IAGFA,EAAc,SAAA,CACvB,EAEaC,EAAiB,CAACC,EAA2BZ,IACjDY,GAAM,IAAKC,IACT,CACL,GAAGA,EACH,MAAOA,GAAM,UAAYX,EAAgBW,EAAK,MAAOb,CAAS,EAAIa,EAAK,KAAA,EAE1E"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as p,jsx as i}from"react/jsx-runtime";import{useAdditionalSlider as g}from"./hooks/useAdditionalSlider.js";import{
|
|
1
|
+
import{jsxs as p,jsx as i}from"react/jsx-runtime";import{useAdditionalSlider as g}from"./hooks/useAdditionalSlider.js";import{CalculatorModal as C}from"./ui/CalculatorModal.js";import{TypeGuards as o}from"../../../../shared/utils/typeGuards.js";import{FieldsGroup as a}from"./ui/FieldsGroup.js";import{cn as n}from"../../../../shared/utils/cn.js";import{SliderFieldsGroup as c}from"./ui/SliderFieldsGroup.js";import{AdditionalSlider as s}from"./ui/AdditionalSlider.js";const A=({modalConfig:t,fieldsGroup:r,classes:e})=>{const{sliderSumExist:d,sliderSumCorrectType:l}=g({slidersGroupConfig:r.slidersGroupConfig,additionalSliderGroupConfig:r.additionalSliderGroupConfig});return p("div",{className:n("flex flex-1 flex-col gap-6 mobile:w-full desktop:gap-8",e?.rootFieldsWrapper),children:[t?.triggerText&&t?.contentVariant&&i(C,{classes:e?.modalClasses,...t}),r?.selectGroupConfig&&!o.isArrayEmpty(r?.selectGroupConfig?.fields)&&i("div",{className:n("flex flex-col gap-4",e?.selectFieldsWrapper),children:i(a,{...r?.selectGroupConfig})}),r?.slidersGroupConfig&&!o.isArrayEmpty(r?.slidersGroupConfig?.fields)&&i(c,{...r?.slidersGroupConfig}),r?.radioGroupTabConfig&&!o.isArrayEmpty(r?.radioGroupTabConfig?.fields)&&i(a,{...r?.radioGroupTabConfig}),r?.checkboxGroupConfig&&!o.isArrayEmpty(r?.checkboxGroupConfig?.fields)&&i("div",{className:n("flex flex-col gap-4",e?.checkboxFieldsWrapper),children:i(a,{...r?.checkboxGroupConfig})}),r?.radioGroupConfig&&!o.isArrayEmpty(r?.radioGroupConfig?.fields)&&i(a,{...r?.radioGroupConfig}),r?.radioGroupCardConfig&&!o.isArrayEmpty(r?.radioGroupCardConfig?.fields)&&i(a,{...r?.radioGroupCardConfig}),r?.switchGroupConfig&&!o.isArrayEmpty(r?.switchGroupConfig?.fields)&&i("div",{className:n("flex flex-col gap-4",e?.switchFieldsWrapper),children:i(a,{...r?.switchGroupConfig})}),r.additionalSliderGroupConfig?.args.enabled&&r.slidersGroupConfig&&r.additionalSliderGroupConfig&&d&&l&&i(s,{slidersGroupConfig:r.slidersGroupConfig,additionalSliderGroupConfig:r.additionalSliderGroupConfig})]})};export{A as CalculatorFields};
|
|
2
2
|
//# sourceMappingURL=CalculatorFields.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as s,jsx as e}from"react/jsx-runtime";import{
|
|
1
|
+
import{jsxs as s,jsx as e}from"react/jsx-runtime";import{cn as t}from"../../../../../shared/utils/cn.js";import{useBoolean as u}from"../../../../../shared/hooks/useBoolean.js";import{Modal as m}from"../../../../../shared/ui/modal/Modal.js";const p=r=>{switch(r){case"content1":return e("div",{children:"content 1"});case"content2":return e("div",{children:"content 2"})}},g=({triggerText:r,modalTitle:c,description:l,classes:o,modalProps:a,contentVariant:d})=>{const[i,n]=u(!1);return s("div",{className:t("flex flex-col gap-4 rounded-sm bg-color-blue-grey-100 p-4",o?.wrapper),children:[l&&e("p",{className:t("desk-body-regular-l text-color-tetriary",o?.description),children:l}),e("button",{onClick:()=>n(!0),className:t("desk-body-regular-l w-max cursor-pointer text-color-primary-default underline underline-offset-4",o?.button),children:r}),e(m,{title:c,isModalOpen:i,closeModal:()=>n(!1),...a,children:p(d)})]})};export{g as CalculatorModal};
|
|
2
2
|
//# sourceMappingURL=CalculatorModal.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as
|
|
1
|
+
import{jsxs as I,jsx as r}from"react/jsx-runtime";import{CalculatedBlock as x}from"./ui/CalculatedBlock.js";import{CalculatorInfoHead as B}from"./ui/CalculatorInfoHead.js";import{CalculatorInfoBody as C}from"./ui/CalculatorInfoBody.js";import{CalculatorInfoFooter as b}from"./ui/CalculatorInfoFooter.js";import{cn as w}from"../../../../shared/utils/cn.js";const v=({rootDescription:e,bottomDescription:t,rootValue:c,title:m,subtitle:u,buttonsConfig:d,infoList:l,suffix:f,assistHint:a,headline:p,isFormula:n,classes:o,showCalculatedBlock:i=!0})=>I("div",{className:w("w-full max-w-[456px] rounded-md bg-color-blue-grey-100 p-8 mobile:px-4 mobile:py-8",o?.wrapper),children:[i&&r(x,{isFormula:n,suffix:f,rootValue:c,rootDescription:e,classes:o?.calculatedBlock}),r(B,{title:m,subtitle:u,classes:o?.calculatedInfoHead}),r(C,{withoutDivider:l?.length>0||!!a,infoList:l,classes:o?.calculatorInfoBody}),r(b,{assistHint:a,headline:p,buttonsConfig:d,bottomDescription:t,classes:o?.calculatorInfoFooter})]});export{v as CalculatorInfo};
|
|
2
2
|
//# sourceMappingURL=CalculatorInfo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalculatorInfo.js","sources":["../../../../../../lib/widgets/calculator/ui/calculatorInfo/CalculatorInfo.tsx"],"sourcesContent":["import {\n CalculatedBlock,\n type CalculatedBlockClasses,\n type CalculatedBlockProps,\n type CalculatedInfoBodyProps,\n CalculatorInfoBody,\n type CalculatorInfoBodyClasses,\n CalculatorInfoFooter,\n type CalculatorInfoFooterClasses,\n type CalculatorInfoFooterProps,\n CalculatorInfoHead,\n type CalculatorInfoHeadClasses,\n type CalculatorInfoHeadProps\n} from './ui'\nimport { cn } from '$/shared/utils'\n\nexport type CalculatorInfoClasses = {\n wrapper?: string\n calculatedBlock?: CalculatedBlockClasses\n calculatedInfoHead?: CalculatorInfoHeadClasses\n calculatorInfoBody?: CalculatorInfoBodyClasses\n calculatorInfoFooter?: CalculatorInfoFooterClasses\n}\n\nexport interface CalculatorInfoProps\n extends Omit<CalculatedBlockProps, 'classes'>,\n Omit<CalculatorInfoHeadProps, 'classes'>,\n Omit<CalculatedInfoBodyProps, 'classes'>,\n Omit<CalculatorInfoFooterProps, 'classes'> {\n classes?: CalculatorInfoClasses\n headline?: string\n}\n\nexport const CalculatorInfo = ({\n rootDescription,\n bottomDescription,\n rootValue,\n title,\n subtitle,\n buttonsConfig,\n infoList,\n suffix,\n assistHint,\n headline,\n isFormula,\n classes\n}: CalculatorInfoProps) => {\n return (\n <div className={cn('w-full max-w-[456px] rounded-md bg-color-blue-grey-100 p-8 mobile:px-4 mobile:py-8', classes?.wrapper)}>\n <CalculatedBlock\n
|
|
1
|
+
{"version":3,"file":"CalculatorInfo.js","sources":["../../../../../../lib/widgets/calculator/ui/calculatorInfo/CalculatorInfo.tsx"],"sourcesContent":["import {\n CalculatedBlock,\n type CalculatedBlockClasses,\n type CalculatedBlockProps,\n type CalculatedInfoBodyProps,\n CalculatorInfoBody,\n type CalculatorInfoBodyClasses,\n CalculatorInfoFooter,\n type CalculatorInfoFooterClasses,\n type CalculatorInfoFooterProps,\n CalculatorInfoHead,\n type CalculatorInfoHeadClasses,\n type CalculatorInfoHeadProps\n} from './ui'\nimport { cn } from '$/shared/utils'\n\nexport type CalculatorInfoClasses = {\n wrapper?: string\n calculatedBlock?: CalculatedBlockClasses\n calculatedInfoHead?: CalculatorInfoHeadClasses\n calculatorInfoBody?: CalculatorInfoBodyClasses\n calculatorInfoFooter?: CalculatorInfoFooterClasses\n}\n\n// Базовый интерфейс без cards и mode\nexport interface CalculatorInfoProps\n extends Omit<CalculatedBlockProps, 'classes'>,\n Omit<CalculatorInfoHeadProps, 'classes'>,\n Omit<CalculatedInfoBodyProps, 'classes'>,\n Omit<CalculatorInfoFooterProps, 'classes'> {\n classes?: CalculatorInfoClasses\n headline?: string\n showCalculatedBlock?: boolean\n}\n\nexport const CalculatorInfo = ({\n rootDescription,\n bottomDescription,\n rootValue,\n title,\n subtitle,\n buttonsConfig,\n infoList,\n suffix,\n assistHint,\n headline,\n isFormula,\n classes,\n showCalculatedBlock = true\n}: CalculatorInfoProps) => {\n return (\n <div className={cn('w-full max-w-[456px] rounded-md bg-color-blue-grey-100 p-8 mobile:px-4 mobile:py-8', classes?.wrapper)}>\n {showCalculatedBlock && (\n <CalculatedBlock\n isFormula={isFormula}\n suffix={suffix}\n rootValue={rootValue}\n rootDescription={rootDescription}\n classes={classes?.calculatedBlock}\n />\n )}\n <CalculatorInfoHead title={title} subtitle={subtitle} classes={classes?.calculatedInfoHead} />\n <CalculatorInfoBody\n withoutDivider={infoList?.length > 0 || Boolean(assistHint)}\n infoList={infoList}\n classes={classes?.calculatorInfoBody}\n />\n <CalculatorInfoFooter\n assistHint={assistHint}\n headline={headline}\n buttonsConfig={buttonsConfig}\n bottomDescription={bottomDescription}\n classes={classes?.calculatorInfoFooter}\n />\n </div>\n )\n}\n"],"names":["CalculatorInfo","rootDescription","bottomDescription","rootValue","title","subtitle","buttonsConfig","infoList","suffix","assistHint","headline","isFormula","classes","showCalculatedBlock","cn","jsx","CalculatedBlock","CalculatorInfoHead","CalculatorInfoBody","CalculatorInfoFooter"],"mappings":"oWAmCO,MAAMA,EAAiB,CAAC,CAC7B,gBAAAC,EACA,kBAAAC,EACA,UAAAC,EACA,MAAAC,EACA,SAAAC,EACA,cAAAC,EACA,SAAAC,EACA,OAAAC,EACA,WAAAC,EACA,SAAAC,EACA,UAAAC,EACA,QAAAC,EACA,oBAAAC,EAAsB,EACxB,MAEK,MAAA,CAAI,UAAWC,EAAG,qFAAsFF,GAAS,OAAO,EACtH,SAAA,CAAAC,GACCE,EAACC,EAAA,CACC,UAAAL,EACA,OAAAH,EACA,UAAAL,EACA,gBAAAF,EACA,QAASW,GAAS,eAAA,CAAA,IAGrBK,EAAA,CAAmB,MAAAb,EAAc,SAAAC,EAAoB,QAASO,GAAS,mBAAoB,EAC5FG,EAACG,EAAA,CACC,eAAgBX,GAAU,OAAS,GAAK,EAAQE,EAChD,SAAAF,EACA,QAASK,GAAS,kBAAA,CAAA,EAEpBG,EAACI,EAAA,CACC,WAAAV,EACA,SAAAC,EACA,cAAAJ,EACA,kBAAAJ,EACA,QAASU,GAAS,oBAAA,CAAA,CACpB,EACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{CalculatorInfo as t}from"./CalculatorInfo.js";import{
|
|
1
|
+
import{CalculatorInfo as t}from"./CalculatorInfo.js";import{AssistHint as a}from"./ui/AssistHint.js";import{CalculatedBlock as l}from"./ui/CalculatedBlock.js";import{CalculatorInfoBody as p}from"./ui/CalculatorInfoBody.js";import{CalculatorInfoFooter as c}from"./ui/CalculatorInfoFooter.js";import{CalculatorInfoHead as I}from"./ui/CalculatorInfoHead.js";import{InfoListItem as C}from"./ui/InfoListItem.js";export{a as AssistHint,l as CalculatedBlock,t as CalculatorInfo,p as CalculatorInfoBody,c as CalculatorInfoFooter,I as CalculatorInfoHead,C as InfoListItem};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalculatedBlock.js","sources":["../../../../../../../lib/widgets/calculator/ui/calculatorInfo/ui/CalculatedBlock.tsx"],"sourcesContent":["import { cn } from '$/shared/utils'\nimport { type CalculatorRootValue, type CalculatorSuffix, formatWithIntl } from '$/widgets/calculator/model'\n\nexport type CalculatedBlockClasses = {\n wrapper?: string\n description?: string\n value?: string\n}\n\nexport interface CalculatedBlockProps {\n rootDescription: string\n rootValue: CalculatorRootValue\n isFormula: boolean\n suffix: CalculatorSuffix\n classes?: CalculatedBlockClasses\n}\n\nexport const CalculatedBlock = ({ rootDescription, rootValue, suffix, classes }: CalculatedBlockProps) => {\n return (\n <div className={cn('mb-6 flex items-center justify-between gap-6', classes?.wrapper)}>\n <p className={cn('desk-body-regular-l text-color-dark', classes?.description)}>{rootDescription}</p>\n <div className={cn('desk-title-bold-l flex items-center gap-1 text-color-dark mobile:mob-title-bold-l', classes?.value)}>\n {formatWithIntl(suffix, Number(rootValue))}\n </div>\n </div>\n )\n}\n"],"names":["CalculatedBlock","rootDescription","rootValue","suffix","classes","cn","jsx","formatWithIntl"],"mappings":"
|
|
1
|
+
{"version":3,"file":"CalculatedBlock.js","sources":["../../../../../../../lib/widgets/calculator/ui/calculatorInfo/ui/CalculatedBlock.tsx"],"sourcesContent":["import { cn } from '$/shared/utils'\nimport { type CalculatorRootValue, type CalculatorSuffix, formatWithIntl } from '$/widgets/calculator/model'\n\nexport type CalculatedBlockClasses = {\n wrapper?: string\n description?: string\n value?: string\n}\n\nexport interface CalculatedBlockProps {\n rootDescription: string\n rootValue: CalculatorRootValue\n isFormula: boolean\n suffix: CalculatorSuffix\n classes?: CalculatedBlockClasses\n showCalculatedBlock?: boolean\n}\n\nexport const CalculatedBlock = ({ rootDescription, rootValue, suffix, classes }: CalculatedBlockProps) => {\n return (\n <div className={cn('mb-6 flex items-center justify-between gap-6', classes?.wrapper)}>\n <p className={cn('desk-body-regular-l text-color-dark', classes?.description)}>{rootDescription}</p>\n <div className={cn('desk-title-bold-l flex items-center gap-1 text-color-dark mobile:mob-title-bold-l', classes?.value)}>\n {formatWithIntl(suffix, Number(rootValue))}\n </div>\n </div>\n )\n}\n"],"names":["CalculatedBlock","rootDescription","rootValue","suffix","classes","cn","jsx","formatWithIntl"],"mappings":"kKAkBO,MAAMA,EAAkB,CAAC,CAAE,gBAAAC,EAAiB,UAAAC,EAAW,OAAAC,EAAQ,QAAAC,OAEjE,MAAA,CAAI,UAAWC,EAAG,+CAAgDD,GAAS,OAAO,EACjF,SAAA,CAAAE,EAAC,KAAE,UAAWD,EAAG,sCAAuCD,GAAS,WAAW,EAAI,SAAAH,EAAgB,EAChGK,EAAC,MAAA,CAAI,UAAWD,EAAG,oFAAqFD,GAAS,KAAK,EACnH,SAAAG,EAAeJ,EAAQ,OAAOD,CAAS,CAAC,CAAA,CAC3C,CAAA,EACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as r}from"react/jsx-runtime";import{useFormContext as s}from"react-hook-form";import{formatInfoList as c}from"../../../model/helpers.js";import{
|
|
1
|
+
import{jsx as r}from"react/jsx-runtime";import{useFormContext as s}from"react-hook-form";import{formatInfoList as c}from"../../../model/helpers.js";import{InfoListItem as i}from"./InfoListItem.js";import{cn as l}from"../../../../../shared/utils/cn.js";const I=({infoList:t,classes:e,withoutDivider:m})=>{const{watch:f}=s(),a=f(),n=c(t,a);return r("div",{className:l("flex flex-col gap-3 pt-4",{"mb-6 mt-4 border-t border-solid border-blue-grey-500":m},e?.wrapper),children:n?.map(o=>r(i,{...o},o.label))})};export{I as CalculatorInfoBody};
|
|
2
2
|
//# sourceMappingURL=CalculatorInfoBody.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as t,jsx as e}from"react/jsx-runtime";import{formatValueToRenderInfoItem as a}from"../../../model/utils.js";import{cn as n}from"../../../../../shared/utils/cn.js";import{Popover as c}from"../../../../../shared/ui/popover/Popover.js";import{
|
|
1
|
+
import{jsxs as t,jsx as e}from"react/jsx-runtime";import{formatValueToRenderInfoItem as a}from"../../../model/utils.js";import{cn as n}from"../../../../../shared/utils/cn.js";import{Popover as c}from"../../../../../shared/ui/popover/Popover.js";import{Icon as d}from"../../../../../shared/ui/icon/Icon.js";import{pushToDlTooltip as p}from"../../../../../shared/dataLayers/utils.js";const b=({hint:r,value:l,label:o,mode:i,color:s="dark",accent:m=!1})=>t("div",{className:"flex items-center justify-between gap-4",children:[t("div",{className:"flex items-center gap-2",children:[e("p",{className:"desk-body-regular-l text-color-dark",children:o}),r&&e(c,{onPointerDown:()=>p(o,"calculator"),withCloseBtn:!1,triggerElement:e(d,{className:"size-5 text-icon-blue-grey-600",name:"info/helpCircle"}),children:e("p",{children:r})})]}),e("span",{className:n("desk-body-medium-l text-color-dark",{"[&&]:desk-title-bold-s":m,"text-color-primary-default":s==="blue"}),children:a(i,l)})]});export{b as InfoListItem};
|
|
2
2
|
//# sourceMappingURL=InfoListItem.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{CalculatorTabs as t}from"./CalculatorTabs.js";import{
|
|
1
|
+
import{CalculatorTabs as t}from"./CalculatorTabs.js";import{AssistHint as l}from"./calculatorInfo/ui/AssistHint.js";import{CalculatedBlock as f}from"./calculatorInfo/ui/CalculatedBlock.js";import{CalculatorFields as p}from"./calculatorFields/CalculatorFields.js";import{CalculatorInfo as c}from"./calculatorInfo/CalculatorInfo.js";import{CalculatorInfoBody as C}from"./calculatorInfo/ui/CalculatorInfoBody.js";import{CalculatorInfoFooter as s}from"./calculatorInfo/ui/CalculatorInfoFooter.js";import{CalculatorInfoHead as d}from"./calculatorInfo/ui/CalculatorInfoHead.js";import{InfoListItem as B}from"./calculatorInfo/ui/InfoListItem.js";export{l as AssistHint,f as CalculatedBlock,p as CalculatorFields,c as CalculatorInfo,C as CalculatorInfoBody,s as CalculatorInfoFooter,d as CalculatorInfoHead,t as CalculatorTabs,B as InfoListItem};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as o}from"react/jsx-runtime";import{useState as a}from"react";import{
|
|
1
|
+
import{jsx as o}from"react/jsx-runtime";import{useState as a}from"react";import{Carousel as i}from"../../shared/ui/carousel/Carousel.js";import{cn as s}from"../../shared/utils/cn.js";import{ResponsiveContainer as c}from"../../shared/ui/responsiveContainer/ResponsiveContainer.js";const f=e=>{const[r,t]=a(0);return o("section",{id:"carouselBlock","data-test-id":"carouselBlock",className:s(e.classes?.root),children:o(c,{className:s(e.classes?.container),children:o(i,{visibleIndex:r,setVisibleIndex:t,...e})})})};export{f as CarouselBlock,f as default};
|
|
2
2
|
//# sourceMappingURL=CarouselBlock.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as e,jsxs as x}from"react/jsx-runtime";import{useState as H,createElement as Q}from"react";import{getDynamicSchema as R}from"../../../src/shared/utils/getDynamicSchema.js";import{Button as T}from"../../shared/ui/button/Button.js";import{Dialog as U}from"../../shared/ui/dialog/Dialog.js";import{CheckboxBase as q}from"../../shared/ui/formElements/uncontrolled/checkbox/Checkbox.js";import{QueryClientProvider as z}from"../queryClientProvider/QueryClientProvider.js";import{
|
|
1
|
+
import{jsx as e,jsxs as x}from"react/jsx-runtime";import{useState as H,createElement as Q}from"react";import{getDynamicSchema as R}from"../../../src/shared/utils/getDynamicSchema.js";import{Button as T}from"../../shared/ui/button/Button.js";import{Dialog as U}from"../../shared/ui/dialog/Dialog.js";import{CheckboxBase as q}from"../../shared/ui/formElements/uncontrolled/checkbox/Checkbox.js";import{QueryClientProvider as z}from"../queryClientProvider/QueryClientProvider.js";import{FieldMapper as G}from"../fieldMapper/FieldMapper.js";import{TypeGuards as I}from"../../shared/utils/typeGuards.js";import{cn as g}from"../../shared/utils/cn.js";import{ZodUtils as J}from"../../shared/validation/utils/zodUtils.js";import{useControlledForm as K}from"../../shared/hooks/useControlledForm.js";import{Esia as k}from"../esia/Esia.js";import{HTMLRenderer as y}from"../htmlParser/HTMLRenderer.js";const O=(r,m,l,i)=>r.type==="off"?null:r.type==="text"?e(y,{html:r.message,as:"div",className:i?.content}):x("label",{className:g("mob-body-regular-s text-color-dark","desktop:desk-body-regular-m desktop:gap-x-4","flex items-center justify-items-start gap-x-3"),children:[e(q,{classes:i?.checkbox,checked:m,onCheckedChange:l}),e(y,{html:r.content,as:"div",className:i?.content})]}),de=({fields:r,title:m,approvement:l,submitProps:i,dialogId:w,classes:c,buttonGroup:s,ssoAuthorizationTop:n=!1,disabledButtons:B,esiaConfig:o,...E})=>{const{submitCallback:d,onErrorCallback:S}=i??{},[a,D]=H(!1),f=R(r),N=J.getZodDefaults(f),{control:C,handleSubmit:F,watch:V,trigger:j,getValues:L,formState:{errors:p}}=K({schema:f,defaultValues:N,mode:"onBlur"}),[u,h]=V(["fio","phone"]),M=!!u&&!p.fio,P=!!h&&!p.phone,Z=!M||!P||!a,b=async()=>{if(Z){await j(["fio","phone"]),console.error("[Error] - Empty field fio or phone",{fio:u,phone:h});return}o?.onClick&&o.onClick({...L(),agree:a})};return e(z,{children:e(U,{id:w,title:m,...E,children:x("form",{onSubmit:F(t=>{d&&d({...t,agree:a})},t=>S?.(t)),className:"flex flex-col gap-6",children:[n&&o&&o.mode!=="off"&&e(k,{...o,onClick:b}),e(G,{control:C,fields:r}),O(l,a,D,c?.approvement),I.isArrayFilled(s)&&e("div",{className:"flex flex-col gap-4",children:s?.map((t,v)=>{const A=t.type==="submit"&&l.type==="checkbox"?!a:!1;return Q(T,{...t,size:"lg",key:v,disabled:B||A,className:g("w-full whitespace-nowrap",{"w-full":!!l},c?.submit)})})}),!n&&o&&o.mode!=="off"&&e(k,{...o,onClick:b})]})})})};export{de as DynamicFormDialog,de as default};
|
|
2
2
|
//# sourceMappingURL=DynamicFormDialog.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as o,jsxs as a}from"react/jsx-runtime";import{
|
|
1
|
+
import{jsx as o,jsxs as a}from"react/jsx-runtime";import{EsiaLogo as u}from"./ui/EsiaLogo.js";import{cn as r}from"../../shared/utils/cn.js";import{TextBlock as d}from"./ui/TextBlock.js";import{Loader as f}from"../../shared/ui/loader/Loader.js";import{Icon as x}from"../../shared/ui/icon/Icon.js";import{Badge as g}from"../../shared/ui/badge/Badge.js";const j=({isLoading:t,disabled:i,classes:e,titles:l,description:m,badge:p,onClick:s,loaderProps:n,...c})=>o("button",{disabled:i,type:"button",className:r("relative flex h-[90px] w-full items-center justify-center rounded-sm p-2 desktop:max-w-[524px]","bg-color-white outline outline-1 outline-warm-grey-200 transition-colors focus-visible:outline-primary-focus",e?.root,{"cursor-auto opacity-60":i}),...c,onClick:s,children:o("div",{className:r("flex h-[74px] flex-1 rounded-sm px-2 py-3 transition-colors desktop:px-4 desktop:py-3","bg-color-blue-grey-100 hover:bg-color-blue-grey-200 active:bg-color-blue-grey-300",{"items-center":t},e?.wrapper),children:t?o(f,{position:"static",classes:{wrapper:"size-8 m-auto"},...n}):a("div",{className:r("flex flex-1 items-center justify-between gap-1",e?.innerWrapper),children:[a("div",{className:r("flex items-center gap-1 desktop:gap-4",e?.textWrapper),children:[o(u,{className:r("size-8 desktop:size-8",e?.esiaLogo)}),o(d,{titles:l,description:m,classes:e?.textBlock}),o(x,{name:"arrows/arrowRight",className:r("size-6 mobile:hidden",e?.arrowIcon)})]}),p&&o(g,{className:r("bg-color-positive",e?.badge),children:p})]})})});export{j as Esia};
|
|
2
2
|
//# sourceMappingURL=Esia.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as e,
|
|
1
|
+
import{jsxs as e,Fragment as i,jsx as t}from"react/jsx-runtime";import{Icon as n}from"../../../shared/ui/icon/Icon.js";const c=()=>({approve:{icon:{element:t(n,{name:"status/iconMark"}),bg:"bg-color-positive-light"},title:"Ваша заявка отправлена",description:e(i,{children:["В ближайшее время с Вами свяжутся ",t("br",{})," специалисты нашего Банка"]}),button:{text:"Вернуться на главную"}},repeated:{icon:{element:t(n,{name:"status/iconUser"}),bg:"bg-color-positive-light"},title:"Мы вас узнали",description:e(i,{children:["Решение по прошлой заявке ещё активно. ",t("br",{}),"Возвращайтесь к нам позже"]}),button:{text:"Вернуться на главную"}},error:{icon:{element:t(n,{name:"status/iconRetry"}),bg:"bg-color-warning-light"},title:"Что-то пошло не так",description:e(i,{children:["Обновите страницу или попробуйте ",t("br",{})," снова через 5 минут"]}),button:{text:"Обновить страницу"}},reject:{icon:{element:t(n,{name:"status/badSmile"}),bg:"bg-color-negative-light"},title:"Нам очень жаль",description:e(i,{children:["К сожалению, сейчас мы не можем ",t("br",{})," принять вашу заявку"]}),button:{text:"Вернуться на главную"}}});export{c as statusConfig};
|
|
2
2
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as e,jsxs as t}from"react/jsx-runtime";import{Ligal as s}from"./ui/Ligal.js";import{
|
|
1
|
+
import{jsx as e,jsxs as t}from"react/jsx-runtime";import{Ligal as s}from"./ui/Ligal.js";import{FooterLogo as d}from"./ui/FooterLogo.js";import{SocialLinks as n}from"./ui/SocialLinks.js";import{cn as r}from"../../shared/utils/cn.js";import{PhonesBlock as c}from"./ui/PhonesBlock.js";import{TypeGuards as b}from"../../shared/utils/typeGuards.js";import{NavLinks as k}from"./ui/NavLinks.js";import{Copyright as x}from"./ui/Copyright.js";import{SiteMap as g}from"./ui/SiteMap.js";import{ResponsiveContainer as h}from"../../shared/ui/responsiveContainer/ResponsiveContainer.js";const M=({socialsLinks:i,phones:p,ligal:m,copyright:a,classes:o,details:f,siteMap:l=!0})=>e("footer",{id:"footer","data-test-id":"footer",className:r("w-full bg-color-footer py-8 desktop:py-10",o?.root),children:e(h,{className:r(o?.footerContainer),children:t("div",{className:r("mobile:pb-[176px]",o?.footerWrapper),children:[t("div",{className:r("flex flex-col items-start justify-between gap-4 border-b border-solid border-blue-grey-500 pb-6 desktop:flex-row desktop:gap-6 desktop:pb-8",o?.footerHead),children:[t("div",{className:r(o?.footerSocialBlock),children:[e(d,{classes:o?.footerLogo}),i.enabled&&e(n,{socialsLinks:i.links,classes:o?.socialLinks})]}),p.enabled&&e(c,{phones:p.items,classes:o?.phonesBlock})]}),!b.isArrayEmpty(f)&&e(k,{details:f,classes:o?.navLinks}),m.enabled&&e(s,{text:m.text}),t("div",{className:r("mt-6 flex flex-col-reverse items-start justify-between gap-4 desktop:mt-8 desktop:flex-row desktop:gap-6",o?.footerBottom),children:[a.enabled&&e(x,{text:a.text,classes:o?.copyright}),l&&e(g,{classes:o?.siteMap})]})]})})});export{M as Footer,M as default};
|
|
2
2
|
//# sourceMappingURL=Footer.js.map
|