@scbt-ecom/ui 0.135.0 → 0.136.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/dist/lib/widgets/authProvider/ui/Esia.js +1 -1
  2. package/dist/lib/widgets/authProvider/ui/Esia.js.map +1 -1
  3. package/dist/lib/widgets/authProvider/ui/MobileId.js +1 -1
  4. package/dist/lib/widgets/authProvider/ui/MobileId.js.map +1 -1
  5. package/dist/lib/widgets/authProvider/ui/ui/Links.js +1 -1
  6. package/dist/lib/widgets/authProvider/ui/ui/Links.js.map +1 -1
  7. package/dist/lib/widgets/dynamicForm/DynamicForm.js +1 -1
  8. package/dist/lib/widgets/dynamicForm/DynamicForm.js.map +1 -1
  9. package/dist/lib/widgets/model/helpers.js +1 -1
  10. package/dist/lib/widgets/model/helpers.js.map +1 -1
  11. package/dist/lib/widgets/usefulInfo/UsefulInfo.js +1 -1
  12. package/dist/lib/widgets/usefulInfo/UsefulInfo.js.map +1 -1
  13. package/dist/lib/widgets/usefulInfo/ui/Tabs.js +1 -1
  14. package/dist/lib/widgets/usefulInfo/ui/Tabs.js.map +1 -1
  15. package/dist/node_modules/prosemirror-model/dist/index.js +2 -2
  16. package/dist/node_modules/prosemirror-model/dist/index.js.map +1 -1
  17. package/dist/node_modules/prosemirror-state/dist/index.js +1 -1
  18. package/dist/node_modules/prosemirror-state/dist/index.js.map +1 -1
  19. package/dist/stats.html +1 -1
  20. package/dist/types/lib/widgets/authProvider/model/types.d.ts +1 -4
  21. package/dist/types/lib/widgets/authProvider/ui/Esia.d.ts +1 -1
  22. package/dist/types/lib/widgets/authProvider/ui/MobileId.d.ts +1 -1
  23. package/dist/types/lib/widgets/authProvider/ui/ui/Links.d.ts +2 -2
  24. package/dist/types/lib/widgets/dynamicForm/DynamicForm.d.ts +2 -1
  25. package/dist/types/lib/widgets/model/helpers.d.ts +1 -1
  26. package/dist/types/lib/widgets/usefulInfo/model/types.d.ts +2 -0
  27. package/dist/types/lib/widgets/usefulInfo/ui/Tabs.d.ts +5 -2
  28. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- import{jsx as o,jsxs as p}from"react/jsx-runtime";import{AuthWrapper as g}from"./ui/AuthWrapper.js";import{EsiaLogo as x}from"./ui/EsiaLogo.js";import{Links as u}from"./ui/Links.js";import{useDevice as N}from"../../../shared/hooks/useDevice.js";import"react";import{cn as i}from"../../../shared/utils/cn.js";import"react-hook-form";import"../../../shared/ui/button/Button.js";import"../../../shared/ui/buttonIcon/ButtonIcon.js";import{Badge as j}from"../../../shared/ui/badge/Badge.js";import"../../../shared/ui/calendar/Calendar.js";import"../../../shared/ui/calendar/model/utils.js";import"../../../shared/ui/accordion/Accordion.js";import"react-dom";import"../../../shared/ui/modal/ui/IframeModalContent.js";import"../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as k}from"../../../shared/ui/icon/Icon.js";import"../../../shared/ui/table/ui/primitives/Primitives.js";import"../../../shared/ui/carousel/ui/CarouselContent.js";import"../../../shared/ui/slot/Slot.js";import"../../../shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../../shared/ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../../shared/ui/formElements/uncontrolled/combobox/combobox.js";import"../../../shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../../shared/ui/formElements/uncontrolled/input/Input.js";import"../../../shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../../shared/ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../../shared/ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../../shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../../shared/ui/formElements/uncontrolled/slider/SliderBase.js";import"../../../shared/ui/formElements/uncontrolled/switch/Switch.js";import"../../../shared/ui/formElements/uncontrolled/textarea/Textarea.js";import"../../../shared/ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../../shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../../src/configs/api.js";import"../../../shared/ui/formElements/controlled/editor/ui/Editor.js";import"../../../shared/ui/formElements/controlled/input/MaskInputControl.js";import"../../../shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js";const ir=({mainLink:n,subLink:e,isLoading:f,badge:t,loaderProps:d,classes:r,onClick:h})=>{const{isMobile:m}=N();return o(g,{isLoading:f,loaderProps:d,classes:r==null?void 0:r.authWrapper,children:p("div",{className:i("flex flex-1 items-center justify-between gap-1",{"justify-center":!t&&m},r==null?void 0:r.innerWrapper),children:[p("div",{className:i("flex items-center gap-1 desktop:gap-4",r==null?void 0:r.textContent),children:[o(x,{className:i("size-7 desktop:size-8",r==null?void 0:r.esiaLogo)}),o(u,{onClick:h,mainLink:n,subLink:e,isMobile:m,classes:r==null?void 0:r.links}),o(k,{name:"arrows/arrowRight",className:i("size-6 mobile:hidden",r==null?void 0:r.arrowIcon)})]}),t&&o(j,{className:i("bg-color-positive",r==null?void 0:r.badge),children:t})]})})};export{ir as Esia};
1
+ import{jsx as o,jsxs as p}from"react/jsx-runtime";import{AuthWrapper as g}from"./ui/AuthWrapper.js";import{EsiaLogo as x}from"./ui/EsiaLogo.js";import{Links as u}from"./ui/Links.js";import{useDevice as N}from"../../../shared/hooks/useDevice.js";import"react";import{cn as i}from"../../../shared/utils/cn.js";import"react-hook-form";import"../../../shared/ui/button/Button.js";import"../../../shared/ui/buttonIcon/ButtonIcon.js";import{Badge as j}from"../../../shared/ui/badge/Badge.js";import"../../../shared/ui/calendar/Calendar.js";import"../../../shared/ui/calendar/model/utils.js";import"../../../shared/ui/accordion/Accordion.js";import"react-dom";import"../../../shared/ui/modal/ui/IframeModalContent.js";import"../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as k}from"../../../shared/ui/icon/Icon.js";import"../../../shared/ui/table/ui/primitives/Primitives.js";import"../../../shared/ui/carousel/ui/CarouselContent.js";import"../../../shared/ui/slot/Slot.js";import"../../../shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../../shared/ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../../shared/ui/formElements/uncontrolled/combobox/combobox.js";import"../../../shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../../shared/ui/formElements/uncontrolled/input/Input.js";import"../../../shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../../shared/ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../../shared/ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../../shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../../shared/ui/formElements/uncontrolled/slider/SliderBase.js";import"../../../shared/ui/formElements/uncontrolled/switch/Switch.js";import"../../../shared/ui/formElements/uncontrolled/textarea/Textarea.js";import"../../../shared/ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../../shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../../src/configs/api.js";import"../../../shared/ui/formElements/controlled/editor/ui/Editor.js";import"../../../shared/ui/formElements/controlled/input/MaskInputControl.js";import"../../../shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js";const ir=({mainLink:n,linkDescription:e,isLoading:f,badge:t,loaderProps:d,classes:r,onClick:h})=>{const{isMobile:m}=N();return o(g,{isLoading:f,loaderProps:d,classes:r==null?void 0:r.authWrapper,children:p("div",{className:i("flex flex-1 items-center justify-between gap-1",{"justify-center":!t&&m},r==null?void 0:r.innerWrapper),children:[p("div",{className:i("flex items-center gap-1 desktop:gap-4",r==null?void 0:r.textContent),children:[o(x,{className:i("size-7 desktop:size-8",r==null?void 0:r.esiaLogo)}),o(u,{onClick:h,mainLink:n,linkDescription:e,isMobile:m,classes:r==null?void 0:r.links}),o(k,{name:"arrows/arrowRight",className:i("size-6 mobile:hidden",r==null?void 0:r.arrowIcon)})]}),t&&o(j,{className:i("bg-color-positive",r==null?void 0:r.badge),children:t})]})})};export{ir as Esia};
2
2
  //# sourceMappingURL=Esia.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Esia.js","sources":["../../../../../lib/widgets/authProvider/ui/Esia.tsx"],"sourcesContent":["import type { TEsiaProps } from '../model/types'\nimport { AuthWrapper, EsiaLogo, Links } from './ui'\nimport { useDevice } from '$/shared/hooks'\nimport { Badge, Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport const Esia = ({ mainLink, subLink, isLoading, badge, loaderProps, classes, onClick }: TEsiaProps) => {\n const { isMobile } = useDevice()\n\n return (\n <AuthWrapper isLoading={isLoading} loaderProps={loaderProps} classes={classes?.authWrapper}>\n <div\n className={cn(\n 'flex flex-1 items-center justify-between gap-1',\n { 'justify-center': !badge && isMobile },\n classes?.innerWrapper\n )}\n >\n <div className={cn('flex items-center gap-1 desktop:gap-4', classes?.textContent)}>\n <EsiaLogo className={cn('size-7 desktop:size-8', classes?.esiaLogo)} />\n <Links onClick={onClick} mainLink={mainLink} subLink={subLink} isMobile={isMobile} classes={classes?.links} />\n <Icon name='arrows/arrowRight' className={cn('size-6 mobile:hidden', classes?.arrowIcon)} />\n </div>\n {badge && <Badge className={cn('bg-color-positive', classes?.badge)}>{badge}</Badge>}\n </div>\n </AuthWrapper>\n )\n}\n"],"names":["Esia","mainLink","subLink","isLoading","badge","loaderProps","classes","onClick","isMobile","useDevice","AuthWrapper","jsxs","cn","jsx","EsiaLogo","Links","Icon","Badge"],"mappings":"+vEAMO,MAAMA,GAAO,CAAC,CAAE,SAAAC,EAAU,QAAAC,EAAS,UAAAC,EAAW,MAAAC,EAAO,YAAAC,EAAa,QAAAC,EAAS,QAAAC,KAA0B,CAC1G,KAAM,CAAE,SAAAC,CAAA,EAAaC,EAAA,EAErB,SACGC,EAAA,CAAY,UAAAP,EAAsB,YAAAE,EAA0B,QAASC,GAAA,YAAAA,EAAS,YAC7E,SAAAK,EAAC,MAAA,CACC,UAAWC,EACT,iDACA,CAAE,iBAAkB,CAACR,GAASI,CAAA,EAC9BF,GAAA,YAAAA,EAAS,YAAA,EAGX,SAAA,CAAAK,EAAC,OAAI,UAAWC,EAAG,wCAAyCN,GAAA,YAAAA,EAAS,WAAW,EAC9E,SAAA,CAAAO,EAACC,GAAS,UAAWF,EAAG,wBAAyBN,GAAA,YAAAA,EAAS,QAAQ,EAAG,EACrEO,EAACE,GAAM,QAAAR,EAAkB,SAAAN,EAAoB,QAAAC,EAAkB,SAAAM,EAAoB,QAASF,GAAA,YAAAA,EAAS,MAAO,EAC5GO,EAACG,GAAK,KAAK,oBAAoB,UAAWJ,EAAG,uBAAwBN,GAAA,YAAAA,EAAS,SAAS,CAAA,CAAG,CAAA,EAC5F,EACCF,KAAUa,EAAA,CAAM,UAAWL,EAAG,oBAAqBN,GAAA,YAAAA,EAAS,KAAK,EAAI,SAAAF,CAAA,CAAM,CAAA,CAAA,CAAA,EAEhF,CAEJ"}
1
+ {"version":3,"file":"Esia.js","sources":["../../../../../lib/widgets/authProvider/ui/Esia.tsx"],"sourcesContent":["import type { TEsiaProps } from '../model/types'\nimport { AuthWrapper, EsiaLogo, Links } from './ui'\nimport { useDevice } from '$/shared/hooks'\nimport { Badge, Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport const Esia = ({ mainLink, linkDescription, isLoading, badge, loaderProps, classes, onClick }: TEsiaProps) => {\n const { isMobile } = useDevice()\n\n return (\n <AuthWrapper isLoading={isLoading} loaderProps={loaderProps} classes={classes?.authWrapper}>\n <div\n className={cn(\n 'flex flex-1 items-center justify-between gap-1',\n { 'justify-center': !badge && isMobile },\n classes?.innerWrapper\n )}\n >\n <div className={cn('flex items-center gap-1 desktop:gap-4', classes?.textContent)}>\n <EsiaLogo className={cn('size-7 desktop:size-8', classes?.esiaLogo)} />\n <Links\n onClick={onClick}\n mainLink={mainLink}\n linkDescription={linkDescription}\n isMobile={isMobile}\n classes={classes?.links}\n />\n <Icon name='arrows/arrowRight' className={cn('size-6 mobile:hidden', classes?.arrowIcon)} />\n </div>\n {badge && <Badge className={cn('bg-color-positive', classes?.badge)}>{badge}</Badge>}\n </div>\n </AuthWrapper>\n )\n}\n"],"names":["Esia","mainLink","linkDescription","isLoading","badge","loaderProps","classes","onClick","isMobile","useDevice","AuthWrapper","jsxs","cn","jsx","EsiaLogo","Links","Icon","Badge"],"mappings":"+vEAMO,MAAMA,GAAO,CAAC,CAAE,SAAAC,EAAU,gBAAAC,EAAiB,UAAAC,EAAW,MAAAC,EAAO,YAAAC,EAAa,QAAAC,EAAS,QAAAC,KAA0B,CAClH,KAAM,CAAE,SAAAC,CAAA,EAAaC,EAAA,EAErB,SACGC,EAAA,CAAY,UAAAP,EAAsB,YAAAE,EAA0B,QAASC,GAAA,YAAAA,EAAS,YAC7E,SAAAK,EAAC,MAAA,CACC,UAAWC,EACT,iDACA,CAAE,iBAAkB,CAACR,GAASI,CAAA,EAC9BF,GAAA,YAAAA,EAAS,YAAA,EAGX,SAAA,CAAAK,EAAC,OAAI,UAAWC,EAAG,wCAAyCN,GAAA,YAAAA,EAAS,WAAW,EAC9E,SAAA,CAAAO,EAACC,GAAS,UAAWF,EAAG,wBAAyBN,GAAA,YAAAA,EAAS,QAAQ,EAAG,EACrEO,EAACE,EAAA,CACC,QAAAR,EACA,SAAAN,EACA,gBAAAC,EACA,SAAAM,EACA,QAASF,GAAA,YAAAA,EAAS,KAAA,CAAA,EAEpBO,EAACG,GAAK,KAAK,oBAAoB,UAAWJ,EAAG,uBAAwBN,GAAA,YAAAA,EAAS,SAAS,CAAA,CAAG,CAAA,EAC5F,EACCF,KAAUa,EAAA,CAAM,UAAWL,EAAG,oBAAqBN,GAAA,YAAAA,EAAS,KAAK,EAAI,SAAAF,CAAA,CAAM,CAAA,CAAA,CAAA,EAEhF,CAEJ"}
@@ -1,2 +1,2 @@
1
- import{jsx as r,jsxs as p}from"react/jsx-runtime";import{AuthWrapper as x}from"./ui/AuthWrapper.js";import{Links as N}from"./ui/Links.js";import{useDevice as u}from"../../../shared/hooks/useDevice.js";import"react";import{cn as i}from"../../../shared/utils/cn.js";import"react-hook-form";import"../../../shared/ui/button/Button.js";import"../../../shared/ui/buttonIcon/ButtonIcon.js";import{Badge as z}from"../../../shared/ui/badge/Badge.js";import"../../../shared/ui/calendar/Calendar.js";import"../../../shared/ui/calendar/model/utils.js";import"../../../shared/ui/accordion/Accordion.js";import"react-dom";import"../../../shared/ui/modal/ui/IframeModalContent.js";import"../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as m}from"../../../shared/ui/icon/Icon.js";import"../../../shared/ui/table/ui/primitives/Primitives.js";import"../../../shared/ui/carousel/ui/CarouselContent.js";import"../../../shared/ui/slot/Slot.js";import"../../../shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../../shared/ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../../shared/ui/formElements/uncontrolled/combobox/combobox.js";import"../../../shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../../shared/ui/formElements/uncontrolled/input/Input.js";import"../../../shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../../shared/ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../../shared/ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../../shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../../shared/ui/formElements/uncontrolled/slider/SliderBase.js";import"../../../shared/ui/formElements/uncontrolled/switch/Switch.js";import"../../../shared/ui/formElements/uncontrolled/textarea/Textarea.js";import"../../../shared/ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../../shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../../src/configs/api.js";import"../../../shared/ui/formElements/controlled/editor/ui/Editor.js";import"../../../shared/ui/formElements/controlled/input/MaskInputControl.js";import"../../../shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js";const oo=({mainLink:e,subLink:f,isLoading:g,badge:t,loaderProps:d,classes:o,onClick:h})=>{const{isMobile:n}=u();return r(x,{isLoading:g,loaderProps:d,classes:o==null?void 0:o.authWrapper,children:p("div",{className:i("flex flex-1 items-center justify-between gap-1",{"justify-center":!t&&n},o==null?void 0:o.innerWrapper),children:[p("div",{className:i("flex h-max items-center gap-1 desktop:gap-4",o==null?void 0:o.textContent),children:[p("div",{className:"flex h-full",children:[r(m,{name:"logos/mts",className:i("z-[9] size-8",o==null?void 0:o.mtsLogo)}),r(m,{name:"logos/megafon",className:i("z-[8] -ml-4 size-8",o==null?void 0:o.megafonLogo)}),r(m,{name:"logos/beeline",className:i("z-[7] -ml-4 size-8",o==null?void 0:o.beelineLogo)})]}),r(N,{onClick:h,mainLink:e,subLink:f,isMobile:n,classes:o==null?void 0:o.links}),r(m,{name:"arrows/arrowRight",className:i("size-6 mobile:hidden",o==null?void 0:o.arrowIcon)})]}),t&&r(z,{className:i("bg-color-positive",o==null?void 0:o.badge),children:t})]})})};export{oo as MobileId};
1
+ import{jsx as r,jsxs as p}from"react/jsx-runtime";import{AuthWrapper as x}from"./ui/AuthWrapper.js";import{Links as N}from"./ui/Links.js";import{useDevice as u}from"../../../shared/hooks/useDevice.js";import"react";import{cn as i}from"../../../shared/utils/cn.js";import"react-hook-form";import"../../../shared/ui/button/Button.js";import"../../../shared/ui/buttonIcon/ButtonIcon.js";import{Badge as z}from"../../../shared/ui/badge/Badge.js";import"../../../shared/ui/calendar/Calendar.js";import"../../../shared/ui/calendar/model/utils.js";import"../../../shared/ui/accordion/Accordion.js";import"react-dom";import"../../../shared/ui/modal/ui/IframeModalContent.js";import"../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as m}from"../../../shared/ui/icon/Icon.js";import"../../../shared/ui/table/ui/primitives/Primitives.js";import"../../../shared/ui/carousel/ui/CarouselContent.js";import"../../../shared/ui/slot/Slot.js";import"../../../shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../../shared/ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../../shared/ui/formElements/uncontrolled/combobox/combobox.js";import"../../../shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../../shared/ui/formElements/uncontrolled/input/Input.js";import"../../../shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../../shared/ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../../shared/ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../../shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../../shared/ui/formElements/uncontrolled/slider/SliderBase.js";import"../../../shared/ui/formElements/uncontrolled/switch/Switch.js";import"../../../shared/ui/formElements/uncontrolled/textarea/Textarea.js";import"../../../shared/ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../../shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../../src/configs/api.js";import"../../../shared/ui/formElements/controlled/editor/ui/Editor.js";import"../../../shared/ui/formElements/controlled/input/MaskInputControl.js";import"../../../shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js";const oo=({mainLink:e,linkDescription:f,isLoading:g,badge:t,loaderProps:d,classes:o,onClick:h})=>{const{isMobile:n}=u();return r(x,{isLoading:g,loaderProps:d,classes:o==null?void 0:o.authWrapper,children:p("div",{className:i("flex flex-1 items-center justify-between gap-1",{"justify-center":!t&&n},o==null?void 0:o.innerWrapper),children:[p("div",{className:i("flex h-max items-center gap-1 desktop:gap-4",o==null?void 0:o.textContent),children:[p("div",{className:"flex h-full",children:[r(m,{name:"logos/mts",className:i("z-[9] size-8",o==null?void 0:o.mtsLogo)}),r(m,{name:"logos/megafon",className:i("z-[8] -ml-4 size-8",o==null?void 0:o.megafonLogo)}),r(m,{name:"logos/beeline",className:i("z-[7] -ml-4 size-8",o==null?void 0:o.beelineLogo)})]}),r(N,{onClick:h,mainLink:e,linkDescription:f,isMobile:n,classes:o==null?void 0:o.links}),r(m,{name:"arrows/arrowRight",className:i("size-6 mobile:hidden",o==null?void 0:o.arrowIcon)})]}),t&&r(z,{className:i("bg-color-positive",o==null?void 0:o.badge),children:t})]})})};export{oo as MobileId};
2
2
  //# sourceMappingURL=MobileId.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MobileId.js","sources":["../../../../../lib/widgets/authProvider/ui/MobileId.tsx"],"sourcesContent":["import { type TMobileIdProps } from '../model/types'\nimport { AuthWrapper, Links } from './ui/'\nimport { useDevice } from '$/shared/hooks'\nimport { Badge, Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport const MobileId = ({ mainLink, subLink, isLoading, badge, loaderProps, classes, onClick }: TMobileIdProps) => {\n const { isMobile } = useDevice()\n\n return (\n <AuthWrapper isLoading={isLoading} loaderProps={loaderProps} classes={classes?.authWrapper}>\n <div\n className={cn(\n 'flex flex-1 items-center justify-between gap-1',\n { 'justify-center': !badge && isMobile },\n classes?.innerWrapper\n )}\n >\n <div className={cn('flex h-max items-center gap-1 desktop:gap-4', classes?.textContent)}>\n <div className='flex h-full'>\n <Icon name='logos/mts' className={cn('z-[9] size-8', classes?.mtsLogo)} />\n <Icon name='logos/megafon' className={cn('z-[8] -ml-4 size-8', classes?.megafonLogo)} />\n <Icon name='logos/beeline' className={cn('z-[7] -ml-4 size-8', classes?.beelineLogo)} />\n </div>\n <Links onClick={onClick} mainLink={mainLink} subLink={subLink} isMobile={isMobile} classes={classes?.links} />\n <Icon name='arrows/arrowRight' className={cn('size-6 mobile:hidden', classes?.arrowIcon)} />\n </div>\n {badge && <Badge className={cn('bg-color-positive', classes?.badge)}>{badge}</Badge>}\n </div>\n </AuthWrapper>\n )\n}\n"],"names":["MobileId","mainLink","subLink","isLoading","badge","loaderProps","classes","onClick","isMobile","useDevice","AuthWrapper","jsxs","cn","jsx","Icon","Links","Badge"],"mappings":"mtEAMO,MAAMA,GAAW,CAAC,CAAE,SAAAC,EAAU,QAAAC,EAAS,UAAAC,EAAW,MAAAC,EAAO,YAAAC,EAAa,QAAAC,EAAS,QAAAC,KAA8B,CAClH,KAAM,CAAE,SAAAC,CAAA,EAAaC,EAAA,EAErB,SACGC,EAAA,CAAY,UAAAP,EAAsB,YAAAE,EAA0B,QAASC,GAAA,YAAAA,EAAS,YAC7E,SAAAK,EAAC,MAAA,CACC,UAAWC,EACT,iDACA,CAAE,iBAAkB,CAACR,GAASI,CAAA,EAC9BF,GAAA,YAAAA,EAAS,YAAA,EAGX,SAAA,CAAAK,EAAC,OAAI,UAAWC,EAAG,8CAA+CN,GAAA,YAAAA,EAAS,WAAW,EACpF,SAAA,CAAAK,EAAC,MAAA,CAAI,UAAU,cACb,SAAA,CAAAE,EAACC,EAAA,CAAK,KAAK,YAAY,UAAWF,EAAG,eAAgBN,GAAA,YAAAA,EAAS,OAAO,EAAG,EACxEO,EAACC,GAAK,KAAK,gBAAgB,UAAWF,EAAG,qBAAsBN,GAAA,YAAAA,EAAS,WAAW,EAAG,EACtFO,EAACC,GAAK,KAAK,gBAAgB,UAAWF,EAAG,qBAAsBN,GAAA,YAAAA,EAAS,WAAW,CAAA,CAAG,CAAA,EACxF,EACAO,EAACE,GAAM,QAAAR,EAAkB,SAAAN,EAAoB,QAAAC,EAAkB,SAAAM,EAAoB,QAASF,GAAA,YAAAA,EAAS,MAAO,EAC5GO,EAACC,GAAK,KAAK,oBAAoB,UAAWF,EAAG,uBAAwBN,GAAA,YAAAA,EAAS,SAAS,CAAA,CAAG,CAAA,EAC5F,EACCF,KAAUY,EAAA,CAAM,UAAWJ,EAAG,oBAAqBN,GAAA,YAAAA,EAAS,KAAK,EAAI,SAAAF,CAAA,CAAM,CAAA,CAAA,CAAA,EAEhF,CAEJ"}
1
+ {"version":3,"file":"MobileId.js","sources":["../../../../../lib/widgets/authProvider/ui/MobileId.tsx"],"sourcesContent":["import { type TMobileIdProps } from '../model/types'\nimport { AuthWrapper, Links } from './ui/'\nimport { useDevice } from '$/shared/hooks'\nimport { Badge, Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport const MobileId = ({ mainLink, linkDescription, isLoading, badge, loaderProps, classes, onClick }: TMobileIdProps) => {\n const { isMobile } = useDevice()\n\n return (\n <AuthWrapper isLoading={isLoading} loaderProps={loaderProps} classes={classes?.authWrapper}>\n <div\n className={cn(\n 'flex flex-1 items-center justify-between gap-1',\n { 'justify-center': !badge && isMobile },\n classes?.innerWrapper\n )}\n >\n <div className={cn('flex h-max items-center gap-1 desktop:gap-4', classes?.textContent)}>\n <div className='flex h-full'>\n <Icon name='logos/mts' className={cn('z-[9] size-8', classes?.mtsLogo)} />\n <Icon name='logos/megafon' className={cn('z-[8] -ml-4 size-8', classes?.megafonLogo)} />\n <Icon name='logos/beeline' className={cn('z-[7] -ml-4 size-8', classes?.beelineLogo)} />\n </div>\n <Links\n onClick={onClick}\n mainLink={mainLink}\n linkDescription={linkDescription}\n isMobile={isMobile}\n classes={classes?.links}\n />\n <Icon name='arrows/arrowRight' className={cn('size-6 mobile:hidden', classes?.arrowIcon)} />\n </div>\n {badge && <Badge className={cn('bg-color-positive', classes?.badge)}>{badge}</Badge>}\n </div>\n </AuthWrapper>\n )\n}\n"],"names":["MobileId","mainLink","linkDescription","isLoading","badge","loaderProps","classes","onClick","isMobile","useDevice","AuthWrapper","jsxs","cn","jsx","Icon","Links","Badge"],"mappings":"mtEAMO,MAAMA,GAAW,CAAC,CAAE,SAAAC,EAAU,gBAAAC,EAAiB,UAAAC,EAAW,MAAAC,EAAO,YAAAC,EAAa,QAAAC,EAAS,QAAAC,KAA8B,CAC1H,KAAM,CAAE,SAAAC,CAAA,EAAaC,EAAA,EAErB,SACGC,EAAA,CAAY,UAAAP,EAAsB,YAAAE,EAA0B,QAASC,GAAA,YAAAA,EAAS,YAC7E,SAAAK,EAAC,MAAA,CACC,UAAWC,EACT,iDACA,CAAE,iBAAkB,CAACR,GAASI,CAAA,EAC9BF,GAAA,YAAAA,EAAS,YAAA,EAGX,SAAA,CAAAK,EAAC,OAAI,UAAWC,EAAG,8CAA+CN,GAAA,YAAAA,EAAS,WAAW,EACpF,SAAA,CAAAK,EAAC,MAAA,CAAI,UAAU,cACb,SAAA,CAAAE,EAACC,EAAA,CAAK,KAAK,YAAY,UAAWF,EAAG,eAAgBN,GAAA,YAAAA,EAAS,OAAO,EAAG,EACxEO,EAACC,GAAK,KAAK,gBAAgB,UAAWF,EAAG,qBAAsBN,GAAA,YAAAA,EAAS,WAAW,EAAG,EACtFO,EAACC,GAAK,KAAK,gBAAgB,UAAWF,EAAG,qBAAsBN,GAAA,YAAAA,EAAS,WAAW,CAAA,CAAG,CAAA,EACxF,EACAO,EAACE,EAAA,CACC,QAAAR,EACA,SAAAN,EACA,gBAAAC,EACA,SAAAM,EACA,QAASF,GAAA,YAAAA,EAAS,KAAA,CAAA,EAEpBO,EAACC,GAAK,KAAK,oBAAoB,UAAWF,EAAG,uBAAwBN,GAAA,YAAAA,EAAS,SAAS,CAAA,CAAG,CAAA,EAC5F,EACCF,KAAUY,EAAA,CAAM,UAAWJ,EAAG,oBAAqBN,GAAA,YAAAA,EAAS,KAAK,EAAI,SAAAF,CAAA,CAAM,CAAA,CAAA,CAAA,EAEhF,CAEJ"}
@@ -1,2 +1,2 @@
1
- import{jsxs as f,jsx as m}from"react/jsx-runtime";import{cn as o}from"../../../../shared/utils/cn.js";import"react";import"../../../../shared/ui/button/Button.js";import"../../../../shared/ui/buttonIcon/ButtonIcon.js";import"../../../../shared/ui/calendar/Calendar.js";import"../../../../shared/ui/calendar/model/utils.js";import"../../../../shared/ui/accordion/Accordion.js";import"react-hook-form";import"react-dom";import"../../../../shared/ui/modal/ui/IframeModalContent.js";import"../../../../../node_modules/react-hot-toast/dist/index.js";import"../../../../shared/ui/table/ui/primitives/Primitives.js";import"../../../../shared/ui/carousel/ui/CarouselContent.js";import{CustomLink as l}from"../../../../shared/ui/customLink/CustomLink.js";import"../../../../shared/ui/slot/Slot.js";import"../../../../shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../../../shared/ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../../../shared/ui/formElements/uncontrolled/combobox/combobox.js";import"../../../../shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../../../shared/ui/formElements/uncontrolled/input/Input.js";import"../../../../shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../../../shared/ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../../../shared/ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../../../shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../../../shared/ui/formElements/uncontrolled/slider/SliderBase.js";import"../../../../shared/ui/formElements/uncontrolled/switch/Switch.js";import"../../../../shared/ui/formElements/uncontrolled/textarea/Textarea.js";import"../../../../shared/ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../../../shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../../../src/configs/api.js";import"../../../../shared/ui/formElements/controlled/editor/ui/Editor.js";import"../../../../shared/ui/formElements/controlled/input/MaskInputControl.js";import"../../../../shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js";const V=({mainLink:e,subLink:r,isMobile:p,classes:t,...i})=>f("div",{className:o("flex flex-col",t==null?void 0:t.linksWrapper),children:[m("button",{...i,type:"button",className:o('before:content=[" "] desk-body-medium-l z-[4] text-color-dark before:absolute before:left-1/2 before:top-1/2 before:h-full before:w-full before:-translate-x-1/2 before:-translate-y-1/2',t==null?void 0:t.linksMainLink),children:p?e.mobileTitle:e.title}),(r==null?void 0:r.text)&&(r==null?void 0:r.href)&&m(l,{intent:"blue",withUnderline:!0,href:r==null?void 0:r.href,target:"_blank",rel:"noreferrer",classes:{link:o("w-max relative z-[6] p-0 desk-body-regular-m text-color-tetriary",t==null?void 0:t.linksSubLink)},children:r==null?void 0:r.text})]});export{V as Links};
1
+ import{jsxs as i,jsx as o}from"react/jsx-runtime";import{cn as l}from"../../../../shared/utils/cn.js";import"react";const p=({mainLink:r,linkDescription:t,isMobile:f,classes:e,...b})=>i("div",{className:l("flex flex-col",e==null?void 0:e.linksWrapper),children:[o("button",{...b,type:"button",className:l('before:content=[" "] desk-body-medium-l z-[4] text-color-dark before:absolute before:left-1/2 before:top-1/2 before:h-full before:w-full before:-translate-x-1/2 before:-translate-y-1/2',e==null?void 0:e.linksMainLink),children:f?r.mobileTitle:r.title}),t&&o("p",{className:"desk-body-regular-m relative z-[6] w-max p-0 text-color-tetriary",children:t})]});export{p as Links};
2
2
  //# sourceMappingURL=Links.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Links.js","sources":["../../../../../../lib/widgets/authProvider/ui/ui/Links.tsx"],"sourcesContent":["import type { SingleAuthSchema } from '../../model/types'\nimport { CustomLink } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type TLinksClasses = {\n linksWrapper?: string\n linksMainLink?: string\n linksSubLink?: string\n}\n\ninterface ILinksProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, Pick<SingleAuthSchema, 'subLink' | 'mainLink'> {\n isMobile: boolean\n classes?: TLinksClasses\n}\n\nexport const Links = ({ mainLink, subLink, isMobile, classes, ...props }: ILinksProps) => {\n return (\n <div className={cn('flex flex-col', classes?.linksWrapper)}>\n <button\n {...props}\n type='button'\n className={cn(\n 'before:content=[\" \"] desk-body-medium-l z-[4] text-color-dark before:absolute before:left-1/2 before:top-1/2 before:h-full before:w-full before:-translate-x-1/2 before:-translate-y-1/2',\n classes?.linksMainLink\n )}\n >\n {isMobile ? mainLink.mobileTitle : mainLink.title}\n </button>\n\n {subLink?.text && subLink?.href && (\n <CustomLink\n intent='blue'\n withUnderline\n href={subLink?.href}\n target='_blank'\n rel='noreferrer'\n classes={{\n link: cn('w-max relative z-[6] p-0 desk-body-regular-m text-color-tetriary', classes?.linksSubLink)\n }}\n >\n {subLink?.text}\n </CustomLink>\n )}\n </div>\n )\n}\n"],"names":["Links","mainLink","subLink","isMobile","classes","props","cn","jsx","CustomLink"],"mappings":"8mEAeO,MAAMA,EAAQ,CAAC,CAAE,SAAAC,EAAU,QAAAC,EAAS,SAAAC,EAAU,QAAAC,EAAS,GAAGC,OAE5D,MAAA,CAAI,UAAWC,EAAG,gBAAiBF,GAAA,YAAAA,EAAS,YAAY,EACvD,SAAA,CAAAG,EAAC,SAAA,CACE,GAAGF,EACJ,KAAK,SACL,UAAWC,EACT,2LACAF,GAAA,YAAAA,EAAS,aAAA,EAGV,SAAAD,EAAWF,EAAS,YAAcA,EAAS,KAAA,CAAA,GAG7CC,GAAA,YAAAA,EAAS,QAAQA,GAAA,YAAAA,EAAS,OACzBK,EAACC,EAAA,CACC,OAAO,OACP,cAAa,GACb,KAAMN,GAAA,YAAAA,EAAS,KACf,OAAO,SACP,IAAI,aACJ,QAAS,CACP,KAAMI,EAAG,mEAAoEF,GAAA,YAAAA,EAAS,YAAY,CAAA,EAGnG,SAAAF,GAAA,YAAAA,EAAS,IAAA,CAAA,CACZ,EAEJ"}
1
+ {"version":3,"file":"Links.js","sources":["../../../../../../lib/widgets/authProvider/ui/ui/Links.tsx"],"sourcesContent":["import type { SingleAuthSchema } from '../../model/types'\nimport { cn } from '$/shared/utils'\n\nexport type TLinksClasses = {\n linksWrapper?: string\n linksMainLink?: string\n linksSubLink?: string\n}\n\ninterface ILinksProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n Pick<SingleAuthSchema, 'linkDescription' | 'mainLink'> {\n isMobile: boolean\n classes?: TLinksClasses\n}\n\nexport const Links = ({ mainLink, linkDescription, isMobile, classes, ...props }: ILinksProps) => {\n return (\n <div className={cn('flex flex-col', classes?.linksWrapper)}>\n <button\n {...props}\n type='button'\n className={cn(\n 'before:content=[\" \"] desk-body-medium-l z-[4] text-color-dark before:absolute before:left-1/2 before:top-1/2 before:h-full before:w-full before:-translate-x-1/2 before:-translate-y-1/2',\n classes?.linksMainLink\n )}\n >\n {isMobile ? mainLink.mobileTitle : mainLink.title}\n </button>\n\n {linkDescription && <p className='desk-body-regular-m relative z-[6] w-max p-0 text-color-tetriary'>{linkDescription}</p>}\n </div>\n )\n}\n"],"names":["Links","mainLink","linkDescription","isMobile","classes","props","cn","jsx"],"mappings":"oHAgBO,MAAMA,EAAQ,CAAC,CAAE,SAAAC,EAAU,gBAAAC,EAAiB,SAAAC,EAAU,QAAAC,EAAS,GAAGC,OAEpE,MAAA,CAAI,UAAWC,EAAG,gBAAiBF,GAAA,YAAAA,EAAS,YAAY,EACvD,SAAA,CAAAG,EAAC,SAAA,CACE,GAAGF,EACJ,KAAK,SACL,UAAWC,EACT,2LACAF,GAAA,YAAAA,EAAS,aAAA,EAGV,SAAAD,EAAWF,EAAS,YAAcA,EAAS,KAAA,CAAA,EAG7CC,GAAmBK,EAAC,IAAA,CAAE,UAAU,mEAAoE,SAAAL,CAAA,CAAgB,CAAA,EACvH"}
@@ -1,2 +1,2 @@
1
- import{jsx as t,jsxs as n}from"react/jsx-runtime";import{useState as I,createElement as z}from"react";import{AuthProvider as k}from"../authProvider/AuthProvider.js";import{HTMLRenderer as g}from"../htmlParser/HTMLRenderer.js";import{widgetIds as h}from"../model/helpers.js";import{getFieldsProgress as H}from"./model/getFieldsProgress.js";import{getDynamicSchema as M}from"../../../src/shared/utils/getDynamicSchema.js";import{cn as m}from"../../shared/utils/cn.js";import{useControlledForm as R}from"../../shared/hooks/useControlledForm.js";import{useFieldsProgress as V}from"../../shared/hooks/useFieldsProgress.js";import{ResponsiveContainer as Z}from"../../shared/ui/responsiveContainer/ResponsiveContainer.js";import{Button as E}from"../../shared/ui/button/Button.js";import"../../shared/ui/buttonIcon/ButtonIcon.js";import"../../shared/ui/calendar/Calendar.js";import"../../shared/ui/calendar/model/utils.js";import"../../shared/ui/accordion/Accordion.js";import{ProgressBar as L}from"../../shared/ui/progressBar/ProgressBar.js";import"react-dom";import"../../shared/ui/modal/ui/IframeModalContent.js";import"../../../node_modules/react-hot-toast/dist/index.js";import{Icon as Q}from"../../shared/ui/icon/Icon.js";import"../../shared/ui/table/ui/primitives/Primitives.js";import{Heading as u}from"../../shared/ui/heading/Heading.js";import"../../shared/ui/carousel/ui/CarouselContent.js";import"../../shared/ui/slot/Slot.js";import"../../shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import{CheckboxBase as T}from"../../shared/ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../shared/ui/formElements/uncontrolled/combobox/combobox.js";import"../../shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../shared/ui/formElements/uncontrolled/input/Input.js";import"../../shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../shared/ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../shared/ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../shared/ui/formElements/uncontrolled/slider/SliderBase.js";import"../../shared/ui/formElements/uncontrolled/switch/Switch.js";import"../../shared/ui/formElements/uncontrolled/textarea/Textarea.js";import"../../shared/ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import"react-hook-form";import"../../../src/configs/api.js";import"../../shared/ui/formElements/controlled/editor/ui/Editor.js";import"../../shared/ui/formElements/controlled/input/MaskInputControl.js";import"../../shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js";import"../../shared/validation/zodValidation/dadataFio.js";import"../../shared/validation/zodValidation/calendar.js";import"../../shared/validation/zodValidation/phone.js";import"../../shared/validation/zodValidation/otpCode.js";import{ZodUtils as U}from"../../shared/validation/utils/zodUtils.js";import{FieldMapper as q}from"../fieldMapper/FieldMapper.js";import{QueryClientProvider as J}from"../queryClientProvider/QueryClientProvider.js";const K=(r,p,i,e)=>r.type==="off"?null:r.type==="text"?t(g,{html:r.message,as:"div",className:e==null?void 0:e.content}):n("label",{className:m("mob-body-regular-s text-color-dark","desktop:desk-body-regular-s desktop:gap-x-4","flex items-center justify-items-start gap-x-3"),children:[t(T,{classes:e==null?void 0:e.checkbox,checked:p,onCheckedChange:i}),t(g,{html:r.content,as:"div",className:e==null?void 0:e.content})]}),O=r=>{switch(r==null?void 0:r.mode){case"esia":return t(k,{...r,mode:r==null?void 0:r.mode});case"mobileId":return t(k,{...r,mode:r==null?void 0:r.mode});case"combine":return t(k,{...r,mode:r==null?void 0:r.mode});default:return null}},Ko=({fields:r,title:p,progress:i,approvement:e,chips:f,submitProps:N,auth:P,classes:o,buttonGroup:d})=>{var w,a;const{submitCallback:y}=N||{},[x,C]=I(e.type==="checkbox"?e.defaultValue:!1),b=M(r),B=U.getZodDefaults(b),{control:c,handleSubmit:j}=R({schema:b,defaultValues:B,mode:"onBlur"}),v=H(i,r),F=V({control:c,fields:v||[],schema:b}),S=l=>{y&&y({...l,agree:x})};return t(J,{children:t("section",{id:h.form,"data-test-id":h.form,className:m("w-full",o==null?void 0:o.root),children:n(Z,{className:m("border-warm-grey-200 px-4 desktop:w-[636px] desktop:gap-8 desktop:p-14","relative mx-auto flex flex-col gap-6 rounded-sm py-8 desktop:border"),children:[f.enabled&&n("div",{className:m("desk-body-regular-l flex items-center gap-x-2 rounded-sm desktop:absolute","bg-color-blue-grey-100 px-2 py-1 text-color-tetriary","right-4 top-4 w-max",(w=o==null?void 0:o.chips)==null?void 0:w.root),children:[f.image&&t(Q,{name:f.image,className:m("size-6",(a=o==null?void 0:o.chips)==null?void 0:a.icon)}),f.content]}),t(u,{as:"h2",className:m("desktop:hidden",o==null?void 0:o.title),children:p}),t(u,{as:"h3",className:m("mobile:hidden",o==null?void 0:o.title),children:p}),n("form",{onSubmit:j(S),className:m("flex w-full flex-col gap-y-6","desktop:gap-y-8",o==null?void 0:o.form),children:[i.enabled&&t(L,{progress:F,topContent:t(g,{html:i.title}),bottomContent:t(g,{html:i.subtitle}),maxPercent:i.maxPercent,classes:o==null?void 0:o.progressBar}),t(q,{control:c,fields:r}),n("div",{className:m("mob-body-regular-s flex flex-col items-start justify-between gap-4",{"desktop:flex-row desktop:items-center":d.length===1}),children:[K(e,x,C,o==null?void 0:o.approvement),t("div",{className:m("flex w-full flex-col items-center justify-between gap-4 desktop:flex-row",{"desktop:w-fit":d.length===1}),children:d==null?void 0:d.map((l,A)=>{const D=l.type==="submit"&&e.type==="checkbox"?!x:!1;return z(E,{...l,size:"lg",key:A,disabled:D,className:m("w-full whitespace-nowrap",{"desktop:!w-fit":d.length===1},{"w-full":!!e},o==null?void 0:o.submit)})})})]}),O(P)]})]})})})};export{Ko as DynamicForm,Ko as default};
1
+ import{jsx as t,jsxs as n}from"react/jsx-runtime";import{useState as M,createElement as R}from"react";import{AuthProvider as k}from"../authProvider/AuthProvider.js";import{HTMLRenderer as g}from"../htmlParser/HTMLRenderer.js";import{widgetIds as u}from"../model/helpers.js";import{getFieldsProgress as V}from"./model/getFieldsProgress.js";import{getDynamicSchema as Z}from"../../../src/shared/utils/getDynamicSchema.js";import{cn as m}from"../../shared/utils/cn.js";import{useControlledForm as z}from"../../shared/hooks/useControlledForm.js";import{useFieldsProgress as E}from"../../shared/hooks/useFieldsProgress.js";import{ResponsiveContainer as L}from"../../shared/ui/responsiveContainer/ResponsiveContainer.js";import{Button as Q}from"../../shared/ui/button/Button.js";import"../../shared/ui/buttonIcon/ButtonIcon.js";import"../../shared/ui/calendar/Calendar.js";import"../../shared/ui/calendar/model/utils.js";import"../../shared/ui/accordion/Accordion.js";import{ProgressBar as U}from"../../shared/ui/progressBar/ProgressBar.js";import"react-dom";import"../../shared/ui/modal/ui/IframeModalContent.js";import"../../../node_modules/react-hot-toast/dist/index.js";import{Icon as q}from"../../shared/ui/icon/Icon.js";import"../../shared/ui/table/ui/primitives/Primitives.js";import{Heading as P}from"../../shared/ui/heading/Heading.js";import"../../shared/ui/carousel/ui/CarouselContent.js";import"../../shared/ui/slot/Slot.js";import"../../shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import{CheckboxBase as J}from"../../shared/ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../shared/ui/formElements/uncontrolled/combobox/combobox.js";import"../../shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../shared/ui/formElements/uncontrolled/input/Input.js";import"../../shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../shared/ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../shared/ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../shared/ui/formElements/uncontrolled/slider/SliderBase.js";import"../../shared/ui/formElements/uncontrolled/switch/Switch.js";import"../../shared/ui/formElements/uncontrolled/textarea/Textarea.js";import"../../shared/ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import"react-hook-form";import"../../../src/configs/api.js";import"../../shared/ui/formElements/controlled/editor/ui/Editor.js";import"../../shared/ui/formElements/controlled/input/MaskInputControl.js";import"../../shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js";import"../../shared/validation/zodValidation/dadataFio.js";import"../../shared/validation/zodValidation/calendar.js";import"../../shared/validation/zodValidation/phone.js";import"../../shared/validation/zodValidation/otpCode.js";import{ZodUtils as K}from"../../shared/validation/utils/zodUtils.js";import{FieldMapper as O}from"../fieldMapper/FieldMapper.js";import{QueryClientProvider as T}from"../queryClientProvider/QueryClientProvider.js";const W=(r,p,i,e)=>r.type==="off"?null:r.type==="text"?t(g,{html:r.message,as:"div",className:e==null?void 0:e.content}):n("label",{className:m("mob-body-regular-s text-color-dark","desktop:desk-body-regular-s desktop:gap-x-4","flex items-center justify-items-start gap-x-3"),children:[t(J,{classes:e==null?void 0:e.checkbox,checked:p,onCheckedChange:i}),t(g,{html:r.content,as:"div",className:e==null?void 0:e.content})]}),C=r=>{switch(r==null?void 0:r.mode){case"esia":return t(k,{...r,mode:r==null?void 0:r.mode});case"mobileId":return t(k,{...r,mode:r==null?void 0:r.mode});case"combine":return t(k,{...r,mode:r==null?void 0:r.mode});default:return null}},To=({fields:r,title:p,progress:i,approvement:e,chips:f,submitProps:B,auth:y,classes:o,buttonGroup:d,ssoAuthorizationTop:c=!1})=>{var h,N;const{submitCallback:w}=B||{},[x,j]=M(e.type==="checkbox"?e.defaultValue:!1),b=Z(r),v=K.getZodDefaults(b),{control:a,handleSubmit:F}=z({schema:b,defaultValues:v,mode:"onBlur"}),S=V(i,r),D=E({control:a,fields:S||[],schema:b}),I=l=>{w&&w({...l,agree:x})};return t(T,{children:t("section",{id:u.form,"data-test-id":u.form,className:m("w-full",o==null?void 0:o.root),children:n(L,{className:m("border-warm-grey-200 px-4 desktop:w-[636px] desktop:gap-8 desktop:p-14","relative mx-auto flex flex-col gap-6 rounded-sm py-8 desktop:border"),children:[f.enabled&&n("div",{className:m("desk-body-regular-l flex items-center gap-x-2 rounded-sm desktop:absolute","bg-color-blue-grey-100 px-2 py-1 text-color-tetriary","right-4 top-4 w-max",(h=o==null?void 0:o.chips)==null?void 0:h.root),children:[f.image&&t(q,{name:f.image,className:m("size-6",(N=o==null?void 0:o.chips)==null?void 0:N.icon)}),f.content]}),t(P,{as:"h2",className:m("desktop:hidden",o==null?void 0:o.title),children:p}),t(P,{as:"h3",className:m("mobile:hidden",o==null?void 0:o.title),children:p}),c&&C(y),n("form",{onSubmit:F(I),className:m("flex w-full flex-col gap-y-6","desktop:gap-y-8",o==null?void 0:o.form),children:[i.enabled&&t(U,{progress:D,topContent:t(g,{html:i.title}),bottomContent:t(g,{html:i.subtitle}),maxPercent:i.maxPercent,classes:o==null?void 0:o.progressBar}),t(O,{control:a,fields:r}),n("div",{className:m("mob-body-regular-s flex flex-col items-start justify-between gap-4",{"desktop:flex-row desktop:items-center":d.length===1}),children:[W(e,x,j,o==null?void 0:o.approvement),t("div",{className:m("flex w-full flex-col items-center justify-between gap-4 desktop:flex-row",{"desktop:w-fit":d.length===1}),children:d==null?void 0:d.map((l,A)=>{const H=l.type==="submit"&&e.type==="checkbox"?!x:!1;return R(Q,{...l,size:"lg",key:A,disabled:H,className:m("w-full whitespace-nowrap",{"desktop:!w-fit":d.length===1},{"w-full":!!e},o==null?void 0:o.submit)})})})]}),!c&&C(y)]})]})})})};export{To as DynamicForm,To as default};
2
2
  //# sourceMappingURL=DynamicForm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicForm.js","sources":["../../../../lib/widgets/dynamicForm/DynamicForm.tsx"],"sourcesContent":["'use client'\n\nimport { useState } from 'react'\nimport { type Control, type FieldValues, type SubmitHandler } from 'react-hook-form'\nimport { type TypeOf } from 'zod'\nimport { AuthProvider } from '../authProvider'\nimport { HTMLRenderer } from '../htmlParser'\nimport { widgetIds } from '../model'\nimport {\n type Approvement,\n type ApprovementType,\n type Auth,\n type AuthMode,\n type Chips,\n type ChipsType,\n getFieldsProgress,\n type Progress,\n type ProgressField,\n type ProgressType\n} from './model'\nimport { type FieldValidation, getDynamicSchema } from '@/shared/utils'\nimport { useControlledForm, useFieldsProgress } from '$/shared/hooks'\nimport {\n Button,\n type ButtonProps,\n CheckboxBase,\n type CheckedState,\n Heading,\n Icon,\n ProgressBar,\n ResponsiveContainer\n} from '$/shared/ui'\nimport { cn } from '$/shared/utils'\nimport { ZodUtils } from '$/shared/validation'\nimport { type FieldElement, FieldMapper } from '$/widgets/fieldMapper'\nimport { QueryClientProvider } from '$/widgets/queryClientProvider'\n\ntype SubmitProps = {\n submitCallback: <T extends FieldValues>(values: T) => void\n}\n\ntype ChipsClasses = {\n root?: string\n icon?: string\n}\ntype ApprovementClasses = {\n checkbox?: React.ComponentProps<typeof CheckboxBase>['classes']\n content?: string\n}\n\ntype DynamicFormClasses = {\n root?: string\n title?: string\n fields?: string\n form?: string\n chips?: ChipsClasses\n approvement?: ApprovementClasses\n progressBar?: React.ComponentProps<typeof ProgressBar>['classes']\n submit?: string\n}\n\nexport type DynamicFormProps<\n AType extends ApprovementType,\n CType extends ChipsType,\n PType extends ProgressType,\n AuthType extends AuthMode\n> = {\n fields: FieldElement<any, any, { validation: FieldValidation; progress: ProgressField }>[]\n title: string\n progress: Progress<PType>\n approvement: Approvement<AType>\n chips: Chips<CType>\n submitProps?: SubmitProps\n classes?: DynamicFormClasses\n buttonGroup: ButtonProps[]\n auth: Auth<AuthType>\n}\n\nconst withApprovement = <Type extends ApprovementType>(\n approvement: Approvement<Type>,\n checked: CheckedState,\n onCheckedChange: (checked: CheckedState) => void,\n classes?: ApprovementClasses\n): React.ReactNode => {\n if (approvement.type === 'off') return null\n\n if (approvement.type === 'text') {\n return <HTMLRenderer html={approvement.message} as='div' className={classes?.content} />\n }\n\n return (\n <label\n className={cn(\n 'mob-body-regular-s text-color-dark',\n 'desktop:desk-body-regular-s desktop:gap-x-4',\n 'flex items-center justify-items-start gap-x-3'\n )}\n >\n <CheckboxBase classes={classes?.checkbox} checked={checked} onCheckedChange={onCheckedChange} />\n <HTMLRenderer html={approvement.content} as='div' className={classes?.content} />\n </label>\n )\n}\n\nconst withAuthProvider = <Mode extends AuthMode>(auth: Auth<Mode>) => {\n switch (auth?.mode) {\n case 'esia':\n return <AuthProvider {...auth} mode={auth?.mode} />\n case 'mobileId':\n return <AuthProvider {...auth} mode={auth?.mode} />\n case 'combine':\n return <AuthProvider {...auth} mode={auth?.mode} />\n\n default:\n return null\n }\n}\n\nexport const DynamicForm = <\n AType extends ApprovementType,\n CType extends ChipsType,\n PType extends ProgressType,\n AuthType extends AuthMode\n>({\n fields,\n title,\n progress,\n approvement,\n chips,\n submitProps,\n auth,\n classes,\n buttonGroup\n}: DynamicFormProps<AType, CType, PType, AuthType>) => {\n const { submitCallback } = submitProps || {}\n\n const [checked, onCheckedChange] = useState<CheckedState>(approvement.type === 'checkbox' ? approvement.defaultValue : false)\n\n const schema = getDynamicSchema(fields)\n const defaultValues = ZodUtils.getZodDefaults(schema)\n\n const { control, handleSubmit } = useControlledForm({\n schema,\n defaultValues,\n mode: 'onBlur'\n })\n\n const fieldsProgress = getFieldsProgress(progress, fields)\n\n const formattedProgress = useFieldsProgress({ control, fields: fieldsProgress || [], schema })\n\n const onSubmit: SubmitHandler<TypeOf<typeof schema>> = (values) => {\n if (submitCallback) submitCallback({ ...values, agree: checked })\n }\n\n return (\n <QueryClientProvider>\n <section id={widgetIds.form} data-test-id={widgetIds.form} className={cn('w-full', classes?.root)}>\n <ResponsiveContainer\n className={cn(\n 'border-warm-grey-200 px-4 desktop:w-[636px] desktop:gap-8 desktop:p-14',\n 'relative mx-auto flex flex-col gap-6 rounded-sm py-8 desktop:border'\n )}\n >\n {chips.enabled && (\n <div\n className={cn(\n 'desk-body-regular-l flex items-center gap-x-2 rounded-sm desktop:absolute',\n 'bg-color-blue-grey-100 px-2 py-1 text-color-tetriary',\n 'right-4 top-4 w-max',\n classes?.chips?.root\n )}\n >\n {chips.image && <Icon name={chips.image} className={cn('size-6', classes?.chips?.icon)} />}\n {chips.content}\n </div>\n )}\n <Heading as='h2' className={cn('desktop:hidden', classes?.title)}>\n {title}\n </Heading>\n <Heading as='h3' className={cn('mobile:hidden', classes?.title)}>\n {title}\n </Heading>\n <form\n onSubmit={handleSubmit(onSubmit)}\n className={cn('flex w-full flex-col gap-y-6', 'desktop:gap-y-8', classes?.form)}\n >\n {progress.enabled && (\n <ProgressBar\n progress={formattedProgress}\n topContent={<HTMLRenderer html={progress.title} />}\n bottomContent={<HTMLRenderer html={progress.subtitle} />}\n maxPercent={progress.maxPercent}\n classes={classes?.progressBar}\n />\n )}\n <FieldMapper control={control as unknown as Control} fields={fields} />\n <div\n className={cn('mob-body-regular-s flex flex-col items-start justify-between gap-4', {\n ['desktop:flex-row desktop:items-center']: buttonGroup.length === 1\n })}\n >\n {withApprovement(approvement, checked, onCheckedChange, classes?.approvement)}\n <div\n className={cn('flex w-full flex-col items-center justify-between gap-4 desktop:flex-row', {\n 'desktop:w-fit': buttonGroup.length === 1\n })}\n >\n {buttonGroup?.map((button, index) => {\n const disabled = button.type === 'submit' && approvement.type === 'checkbox' ? !checked : false\n\n return (\n <Button\n {...button}\n size='lg'\n key={index}\n disabled={disabled}\n className={cn(\n 'w-full whitespace-nowrap',\n {\n ['desktop:!w-fit']: buttonGroup.length === 1\n },\n {\n 'w-full': Boolean(approvement)\n },\n classes?.submit\n )}\n />\n )\n })}\n </div>\n </div>\n {withAuthProvider(auth)}\n </form>\n </ResponsiveContainer>\n </section>\n </QueryClientProvider>\n )\n}\n\nexport default DynamicForm\n"],"names":["withApprovement","approvement","checked","onCheckedChange","classes","jsx","HTMLRenderer","jsxs","cn","CheckboxBase","withAuthProvider","auth","AuthProvider","DynamicForm","fields","title","progress","chips","submitProps","buttonGroup","submitCallback","useState","schema","getDynamicSchema","defaultValues","ZodUtils","control","handleSubmit","useControlledForm","fieldsProgress","getFieldsProgress","formattedProgress","useFieldsProgress","onSubmit","values","QueryClientProvider","widgetIds","ResponsiveContainer","_a","Icon","_b","Heading","ProgressBar","FieldMapper","button","index","disabled","createElement","Button"],"mappings":"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"}
1
+ {"version":3,"file":"DynamicForm.js","sources":["../../../../lib/widgets/dynamicForm/DynamicForm.tsx"],"sourcesContent":["'use client'\n\nimport { useState } from 'react'\nimport { type Control, type FieldValues, type SubmitHandler } from 'react-hook-form'\nimport { type TypeOf } from 'zod'\nimport { AuthProvider } from '../authProvider'\nimport { HTMLRenderer } from '../htmlParser'\nimport { widgetIds } from '../model'\nimport {\n type Approvement,\n type ApprovementType,\n type Auth,\n type AuthMode,\n type Chips,\n type ChipsType,\n getFieldsProgress,\n type Progress,\n type ProgressField,\n type ProgressType\n} from './model'\nimport { type FieldValidation, getDynamicSchema } from '@/shared/utils'\nimport { useControlledForm, useFieldsProgress } from '$/shared/hooks'\nimport {\n Button,\n type ButtonProps,\n CheckboxBase,\n type CheckedState,\n Heading,\n Icon,\n ProgressBar,\n ResponsiveContainer\n} from '$/shared/ui'\nimport { cn } from '$/shared/utils'\nimport { ZodUtils } from '$/shared/validation'\nimport { type FieldElement, FieldMapper } from '$/widgets/fieldMapper'\nimport { QueryClientProvider } from '$/widgets/queryClientProvider'\n\ntype SubmitProps = {\n submitCallback: <T extends FieldValues>(values: T) => void\n}\n\ntype ChipsClasses = {\n root?: string\n icon?: string\n}\ntype ApprovementClasses = {\n checkbox?: React.ComponentProps<typeof CheckboxBase>['classes']\n content?: string\n}\n\ntype DynamicFormClasses = {\n root?: string\n title?: string\n fields?: string\n form?: string\n chips?: ChipsClasses\n approvement?: ApprovementClasses\n progressBar?: React.ComponentProps<typeof ProgressBar>['classes']\n submit?: string\n}\n\nexport type DynamicFormProps<\n AType extends ApprovementType,\n CType extends ChipsType,\n PType extends ProgressType,\n AuthType extends AuthMode\n> = {\n fields: FieldElement<any, any, { validation: FieldValidation; progress: ProgressField }>[]\n ssoAuthorizationTop: boolean\n title: string\n progress: Progress<PType>\n approvement: Approvement<AType>\n chips: Chips<CType>\n submitProps?: SubmitProps\n classes?: DynamicFormClasses\n buttonGroup: ButtonProps[]\n auth: Auth<AuthType>\n}\n\nconst withApprovement = <Type extends ApprovementType>(\n approvement: Approvement<Type>,\n checked: CheckedState,\n onCheckedChange: (checked: CheckedState) => void,\n classes?: ApprovementClasses\n): React.ReactNode => {\n if (approvement.type === 'off') return null\n\n if (approvement.type === 'text') {\n return <HTMLRenderer html={approvement.message} as='div' className={classes?.content} />\n }\n\n return (\n <label\n className={cn(\n 'mob-body-regular-s text-color-dark',\n 'desktop:desk-body-regular-s desktop:gap-x-4',\n 'flex items-center justify-items-start gap-x-3'\n )}\n >\n <CheckboxBase classes={classes?.checkbox} checked={checked} onCheckedChange={onCheckedChange} />\n <HTMLRenderer html={approvement.content} as='div' className={classes?.content} />\n </label>\n )\n}\n\nconst withAuthProvider = <Mode extends AuthMode>(auth: Auth<Mode>) => {\n switch (auth?.mode) {\n case 'esia':\n return <AuthProvider {...auth} mode={auth?.mode} />\n case 'mobileId':\n return <AuthProvider {...auth} mode={auth?.mode} />\n case 'combine':\n return <AuthProvider {...auth} mode={auth?.mode} />\n\n default:\n return null\n }\n}\n\nexport const DynamicForm = <\n AType extends ApprovementType,\n CType extends ChipsType,\n PType extends ProgressType,\n AuthType extends AuthMode\n>({\n fields,\n title,\n progress,\n approvement,\n chips,\n submitProps,\n auth,\n classes,\n buttonGroup,\n ssoAuthorizationTop = false\n}: DynamicFormProps<AType, CType, PType, AuthType>) => {\n const { submitCallback } = submitProps || {}\n\n const [checked, onCheckedChange] = useState<CheckedState>(approvement.type === 'checkbox' ? approvement.defaultValue : false)\n\n const schema = getDynamicSchema(fields)\n const defaultValues = ZodUtils.getZodDefaults(schema)\n\n const { control, handleSubmit } = useControlledForm({\n schema,\n defaultValues,\n mode: 'onBlur'\n })\n\n const fieldsProgress = getFieldsProgress(progress, fields)\n\n const formattedProgress = useFieldsProgress({ control, fields: fieldsProgress || [], schema })\n\n const onSubmit: SubmitHandler<TypeOf<typeof schema>> = (values) => {\n if (submitCallback) submitCallback({ ...values, agree: checked })\n }\n\n return (\n <QueryClientProvider>\n <section id={widgetIds.form} data-test-id={widgetIds.form} className={cn('w-full', classes?.root)}>\n <ResponsiveContainer\n className={cn(\n 'border-warm-grey-200 px-4 desktop:w-[636px] desktop:gap-8 desktop:p-14',\n 'relative mx-auto flex flex-col gap-6 rounded-sm py-8 desktop:border'\n )}\n >\n {chips.enabled && (\n <div\n className={cn(\n 'desk-body-regular-l flex items-center gap-x-2 rounded-sm desktop:absolute',\n 'bg-color-blue-grey-100 px-2 py-1 text-color-tetriary',\n 'right-4 top-4 w-max',\n classes?.chips?.root\n )}\n >\n {chips.image && <Icon name={chips.image} className={cn('size-6', classes?.chips?.icon)} />}\n {chips.content}\n </div>\n )}\n <Heading as='h2' className={cn('desktop:hidden', classes?.title)}>\n {title}\n </Heading>\n <Heading as='h3' className={cn('mobile:hidden', classes?.title)}>\n {title}\n </Heading>\n {ssoAuthorizationTop && withAuthProvider(auth)}\n <form\n onSubmit={handleSubmit(onSubmit)}\n className={cn('flex w-full flex-col gap-y-6', 'desktop:gap-y-8', classes?.form)}\n >\n {progress.enabled && (\n <ProgressBar\n progress={formattedProgress}\n topContent={<HTMLRenderer html={progress.title} />}\n bottomContent={<HTMLRenderer html={progress.subtitle} />}\n maxPercent={progress.maxPercent}\n classes={classes?.progressBar}\n />\n )}\n <FieldMapper control={control as unknown as Control} fields={fields} />\n <div\n className={cn('mob-body-regular-s flex flex-col items-start justify-between gap-4', {\n ['desktop:flex-row desktop:items-center']: buttonGroup.length === 1\n })}\n >\n {withApprovement(approvement, checked, onCheckedChange, classes?.approvement)}\n <div\n className={cn('flex w-full flex-col items-center justify-between gap-4 desktop:flex-row', {\n 'desktop:w-fit': buttonGroup.length === 1\n })}\n >\n {buttonGroup?.map((button, index) => {\n const disabled = button.type === 'submit' && approvement.type === 'checkbox' ? !checked : false\n\n return (\n <Button\n {...button}\n size='lg'\n key={index}\n disabled={disabled}\n className={cn(\n 'w-full whitespace-nowrap',\n {\n ['desktop:!w-fit']: buttonGroup.length === 1\n },\n {\n 'w-full': Boolean(approvement)\n },\n classes?.submit\n )}\n />\n )\n })}\n </div>\n </div>\n {!ssoAuthorizationTop && withAuthProvider(auth)}\n </form>\n </ResponsiveContainer>\n </section>\n </QueryClientProvider>\n )\n}\n\nexport default DynamicForm\n"],"names":["withApprovement","approvement","checked","onCheckedChange","classes","jsx","HTMLRenderer","jsxs","cn","CheckboxBase","withAuthProvider","auth","AuthProvider","DynamicForm","fields","title","progress","chips","submitProps","buttonGroup","ssoAuthorizationTop","submitCallback","useState","schema","getDynamicSchema","defaultValues","ZodUtils","control","handleSubmit","useControlledForm","fieldsProgress","getFieldsProgress","formattedProgress","useFieldsProgress","onSubmit","values","QueryClientProvider","widgetIds","ResponsiveContainer","_a","Icon","_b","Heading","ProgressBar","FieldMapper","button","index","disabled","createElement","Button"],"mappings":"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"}