@scbt-ecom/ui 0.140.2 → 0.140.4

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.
@@ -1,2 +1,2 @@
1
- import{jsx as r,jsxs as h,Fragment as b}from"react/jsx-runtime";import{useEffect as l,useRef as g}from"react";import{createPortal as p}from"react-dom";import{modalOverlayAnimation as c,modalContentAnimation as k}from"./model/helpers.js";import{IframeModalContent as N}from"./ui/IframeModalContent.js";import{ModalHeader as j}from"./ui/ModalHeader.js";import{cn as m}from"../../utils/cn.js";import{AnimatePresence as A}from"../../../../node_modules/framer-motion/dist/es/components/AnimatePresence/index.js";import{motion as a}from"../../../../node_modules/framer-motion/dist/es/render/components/motion/proxy.js";const F=({title:u,children:i,isModalOpen:e,isPortal:d=!0,portalContainer:y=(w=>(w=globalThis==null?void 0:globalThis.document)==null?void 0:w.body)(),closeModal:n,classes:o,iframe:v})=>{l(()=>(e&&(document.body.style.overflow="hidden"),()=>{document.body.style.overflow="visible"}),[e]);const x=g(null),f=r(A,{children:e&&r(a.div,{ref:t=>t==null?void 0:t.focus(),tabIndex:-1,onMouseDown:n,className:m("fixed inset-0 flex h-screen w-screen items-center justify-center bg-color-overlay",{"z-1000":!d},o==null?void 0:o.overlay),onKeyDown:t=>{t.key==="Escape"&&n()},"data-test-id":"modal-overlay",...c,children:h(a.div,{onClick:t=>t.stopPropagation(),onMouseDown:t=>t.stopPropagation(),className:m("w-full max-w-[600px] rounded-md bg-color-white px-4 py-6 shadow-sm desktop:px-6 desktop:py-8",o==null?void 0:o.modal),"data-test-id":"modal",...k,children:[r(j,{title:u,closeModal:n,classes:o==null?void 0:o.modalHeader}),v?r(N,{ref:x,className:m("mt-4",o==null?void 0:o.content),children:t=>p(i,t)}):r("div",{className:m("mt-4",o==null?void 0:o.content),children:i})]})})});return r(b,{children:d?p(f,y):f})};export{F as Modal};
1
+ import{jsx as r,jsxs as D,Fragment as M}from"react/jsx-runtime";import{useEffect as R,useRef as f}from"react";import{createPortal as y}from"react-dom";import{modalOverlayAnimation as N,modalContentAnimation as j}from"./model/helpers.js";import{IframeModalContent as k}from"./ui/IframeModalContent.js";import{ModalHeader as A}from"./ui/ModalHeader.js";import{cn as e}from"../../utils/cn.js";import{mergeRefs as C}from"../../utils/mergeRefs.js";import{AnimatePresence as E}from"../../../../node_modules/framer-motion/dist/es/components/AnimatePresence/index.js";import{motion as l}from"../../../../node_modules/framer-motion/dist/es/render/components/motion/proxy.js";const q=({title:c,children:u,isModalOpen:n,isPortal:a=!0,portalContainer:v=(h=>(h=globalThis==null?void 0:globalThis.document)==null?void 0:h.body)(),closeModal:m,classes:o,iframe:w})=>{R(()=>(n&&(document.body.style.overflow="hidden"),()=>{document.body.style.overflow="visible"}),[n]);const x=f(null),i=f(null),d=f(!1),b=t=>{t.target===i.current&&(d.current=!0)},g=t=>{d.current&&t.target===i.current&&m(),d.current=!1},p=r(E,{children:n&&r(l.div,{ref:C(t=>t==null?void 0:t.focus(),i),tabIndex:-1,onMouseDown:b,onMouseUp:g,className:e("fixed inset-0 flex h-screen w-screen items-center justify-center bg-color-overlay",{"z-1000":!a},o==null?void 0:o.overlay),onKeyDown:t=>{t.key==="Escape"&&m()},"data-test-id":"modal-overlay",...N,children:D(l.div,{onMouseDown:t=>t.stopPropagation(),className:e("w-full max-w-[600px] rounded-md bg-color-white px-4 py-6 shadow-sm desktop:px-6 desktop:py-8",o==null?void 0:o.modal),"data-test-id":"modal",...j,children:[r(A,{title:c,closeModal:m,classes:o==null?void 0:o.modalHeader}),w?r(k,{ref:x,className:e("mt-4",o==null?void 0:o.content),children:t=>y(u,t)}):r("div",{className:e("mt-4",o==null?void 0:o.content),children:u})]})})});return r(M,{children:a?y(p,v):p})};export{q as Modal};
2
2
  //# sourceMappingURL=Modal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","sources":["../../../../../lib/shared/ui/modal/Modal.tsx"],"sourcesContent":["'use client'\n\nimport * as React from 'react'\nimport { useEffect, useRef } from 'react'\nimport { createPortal } from 'react-dom'\nimport { AnimatePresence, motion } from 'framer-motion'\nimport { modalContentAnimation, modalOverlayAnimation } from './model/helpers'\nimport { IframeModalContent } from './ui/IframeModalContent'\nimport { ModalHeader, type TModalHeaderClasses } from './ui/ModalHeader'\nimport { cn } from '$/shared/utils'\n\ntype ModalClasses = {\n overlay?: string\n modal?: string\n content?: string\n modalHeader?: TModalHeaderClasses\n}\n\nexport interface ModalProps {\n children: React.ReactElement\n isModalOpen: boolean\n classes?: ModalClasses\n isPortal?: boolean\n portalContainer?: HTMLElement\n title?: string | React.ReactElement\n closeModal: () => void\n iframe?: boolean\n}\n\nexport const Modal = ({\n title,\n children,\n isModalOpen,\n isPortal = true,\n portalContainer = globalThis?.document?.body,\n closeModal,\n classes,\n iframe\n}: ModalProps) => {\n useEffect(() => {\n if (isModalOpen) {\n document.body.style.overflow = 'hidden'\n }\n return () => {\n document.body.style.overflow = 'visible'\n }\n }, [isModalOpen])\n const iframeRef = useRef<HTMLIFrameElement>(null)\n\n const modalBody = (\n <AnimatePresence>\n {isModalOpen && (\n <motion.div\n ref={(node) => node?.focus()}\n tabIndex={-1}\n onMouseDown={closeModal}\n className={cn(\n 'fixed inset-0 flex h-screen w-screen items-center justify-center bg-color-overlay',\n { 'z-1000': !isPortal },\n classes?.overlay\n )}\n onKeyDown={(event) => {\n if (event.key === 'Escape') {\n closeModal()\n }\n }}\n data-test-id='modal-overlay'\n {...modalOverlayAnimation}\n >\n <motion.div\n onClick={(event) => event.stopPropagation()}\n onMouseDown={(event) => event.stopPropagation()}\n className={cn(\n 'w-full max-w-[600px] rounded-md bg-color-white px-4 py-6 shadow-sm desktop:px-6 desktop:py-8',\n classes?.modal\n )}\n data-test-id='modal'\n {...modalContentAnimation}\n >\n <ModalHeader title={title} closeModal={closeModal} classes={classes?.modalHeader} />\n {iframe ? (\n <IframeModalContent ref={iframeRef} className={cn('mt-4', classes?.content)}>\n {(iframeBody) => createPortal(children, iframeBody)}\n </IframeModalContent>\n ) : (\n <div className={cn('mt-4', classes?.content)}>{children}</div>\n )}\n </motion.div>\n </motion.div>\n )}\n </AnimatePresence>\n )\n return <>{isPortal ? createPortal(modalBody, portalContainer) : modalBody}</>\n}\n"],"names":["Modal","title","children","isModalOpen","isPortal","portalContainer","_a","closeModal","classes","iframe","useEffect","iframeRef","useRef","modalBody","jsx","AnimatePresence","motion","node","cn","event","modalOverlayAnimation","jsxs","modalContentAnimation","ModalHeader","IframeModalContent","iframeBody","createPortal"],"mappings":"qmBA6BO,MAAMA,EAAQ,CAAC,CACpB,MAAAC,EACA,SAAAC,EACA,YAAAC,EACA,SAAAC,EAAW,GACX,gBAAAC,GAAkBC,MAAA,mCAAY,WAAZ,YAAAA,EAAsB,QACxC,WAAAC,EACA,QAAAC,EACA,OAAAC,CACF,IAAkB,CAChBC,EAAU,KACJP,IACF,SAAS,KAAK,MAAM,SAAW,UAE1B,IAAM,CACX,SAAS,KAAK,MAAM,SAAW,SACjC,GACC,CAACA,CAAW,CAAC,EAChB,MAAMQ,EAAYC,EAA0B,IAAI,EAE1CC,EACJC,EAACC,EAAA,CACE,SAAAZ,GACCW,EAACE,EAAO,IAAP,CACC,IAAMC,GAASA,GAAA,YAAAA,EAAM,QACrB,SAAU,GACV,YAAaV,EACb,UAAWW,EACT,oFACA,CAAE,SAAU,CAACd,CAAA,EACbI,GAAA,YAAAA,EAAS,OAAA,EAEX,UAAYW,GAAU,CAChBA,EAAM,MAAQ,UAChBZ,EAAA,CAEJ,EACA,eAAa,gBACZ,GAAGa,EAEJ,SAAAC,EAACL,EAAO,IAAP,CACC,QAAUG,GAAUA,EAAM,gBAAA,EAC1B,YAAcA,GAAUA,EAAM,gBAAA,EAC9B,UAAWD,EACT,+FACAV,GAAA,YAAAA,EAAS,KAAA,EAEX,eAAa,QACZ,GAAGc,EAEJ,SAAA,CAAAR,EAACS,EAAA,CAAY,MAAAtB,EAAc,WAAAM,EAAwB,QAASC,GAAA,YAAAA,EAAS,YAAa,EACjFC,EACCK,EAACU,EAAA,CAAmB,IAAKb,EAAW,UAAWO,EAAG,OAAQV,GAAA,YAAAA,EAAS,OAAO,EACvE,SAACiB,GAAeC,EAAaxB,EAAUuB,CAAU,EACpD,EAEAX,EAAC,MAAA,CAAI,UAAWI,EAAG,OAAQV,GAAA,YAAAA,EAAS,OAAO,EAAI,SAAAN,CAAA,CAAS,CAAA,CAAA,CAAA,CAE5D,CAAA,EAGN,EAEF,YAAU,SAAAE,EAAWsB,EAAab,EAAWR,CAAe,EAAIQ,EAAU,CAC5E"}
1
+ {"version":3,"file":"Modal.js","sources":["../../../../../lib/shared/ui/modal/Modal.tsx"],"sourcesContent":["'use client'\n\nimport * as React from 'react'\nimport { useEffect, useRef } from 'react' // useState больше не нужен\nimport { createPortal } from 'react-dom'\nimport { AnimatePresence, motion } from 'framer-motion'\nimport { modalContentAnimation, modalOverlayAnimation } from './model/helpers'\nimport { IframeModalContent } from './ui/IframeModalContent'\nimport { ModalHeader, type TModalHeaderClasses } from './ui/ModalHeader'\nimport { cn, mergeRefs } from '$/shared/utils'\n\ntype ModalClasses = {\n overlay?: string\n modal?: string\n content?: string\n modalHeader?: TModalHeaderClasses\n}\n\nexport interface ModalProps {\n children: React.ReactElement\n isModalOpen: boolean\n classes?: ModalClasses\n isPortal?: boolean\n portalContainer?: HTMLElement\n title?: string | React.ReactElement\n closeModal: () => void\n iframe?: boolean\n}\n\nexport const Modal = ({\n title,\n children,\n isModalOpen,\n isPortal = true,\n portalContainer = globalThis?.document?.body,\n closeModal,\n classes,\n iframe\n}: ModalProps) => {\n useEffect(() => {\n if (isModalOpen) {\n document.body.style.overflow = 'hidden'\n }\n return () => {\n document.body.style.overflow = 'visible'\n }\n }, [isModalOpen])\n\n const iframeRef = useRef<HTMLIFrameElement>(null)\n const overlayRef = useRef<HTMLDivElement>(null)\n const isMouseDownOnOverlayRef = useRef(false)\n\n const handleMouseDown = (e: React.MouseEvent<HTMLDivElement>) => {\n if (e.target === overlayRef.current) {\n isMouseDownOnOverlayRef.current = true\n }\n }\n\n const handleMouseUp = (e: React.MouseEvent<HTMLDivElement>) => {\n if (isMouseDownOnOverlayRef.current && e.target === overlayRef.current) {\n closeModal()\n }\n isMouseDownOnOverlayRef.current = false\n }\n\n const modalBody = (\n <AnimatePresence>\n {isModalOpen && (\n <motion.div\n ref={mergeRefs((node) => node?.focus(), overlayRef)}\n tabIndex={-1}\n onMouseDown={handleMouseDown}\n onMouseUp={handleMouseUp}\n className={cn(\n 'fixed inset-0 flex h-screen w-screen items-center justify-center bg-color-overlay',\n { 'z-1000': !isPortal },\n classes?.overlay\n )}\n onKeyDown={(event) => {\n if (event.key === 'Escape') {\n closeModal()\n }\n }}\n data-test-id='modal-overlay'\n {...modalOverlayAnimation}\n >\n <motion.div\n onMouseDown={(event) => event.stopPropagation()}\n className={cn(\n 'w-full max-w-[600px] rounded-md bg-color-white px-4 py-6 shadow-sm desktop:px-6 desktop:py-8',\n classes?.modal\n )}\n data-test-id='modal'\n {...modalContentAnimation}\n >\n <ModalHeader title={title} closeModal={closeModal} classes={classes?.modalHeader} />\n {iframe ? (\n <IframeModalContent ref={iframeRef} className={cn('mt-4', classes?.content)}>\n {(iframeBody) => createPortal(children, iframeBody)}\n </IframeModalContent>\n ) : (\n <div className={cn('mt-4', classes?.content)}>{children}</div>\n )}\n </motion.div>\n </motion.div>\n )}\n </AnimatePresence>\n )\n return <>{isPortal ? createPortal(modalBody, portalContainer) : modalBody}</>\n}\n"],"names":["Modal","title","children","isModalOpen","isPortal","portalContainer","_a","closeModal","classes","iframe","useEffect","iframeRef","useRef","overlayRef","isMouseDownOnOverlayRef","handleMouseDown","e","handleMouseUp","modalBody","jsx","AnimatePresence","motion","mergeRefs","node","cn","event","modalOverlayAnimation","jsxs","modalContentAnimation","ModalHeader","IframeModalContent","iframeBody","createPortal"],"mappings":"0pBA6BO,MAAMA,EAAQ,CAAC,CACpB,MAAAC,EACA,SAAAC,EACA,YAAAC,EACA,SAAAC,EAAW,GACX,gBAAAC,GAAkBC,MAAA,mCAAY,WAAZ,YAAAA,EAAsB,QACxC,WAAAC,EACA,QAAAC,EACA,OAAAC,CACF,IAAkB,CAChBC,EAAU,KACJP,IACF,SAAS,KAAK,MAAM,SAAW,UAE1B,IAAM,CACX,SAAS,KAAK,MAAM,SAAW,SACjC,GACC,CAACA,CAAW,CAAC,EAEhB,MAAMQ,EAAYC,EAA0B,IAAI,EAC1CC,EAAaD,EAAuB,IAAI,EACxCE,EAA0BF,EAAO,EAAK,EAEtCG,EAAmBC,GAAwC,CAC3DA,EAAE,SAAWH,EAAW,UAC1BC,EAAwB,QAAU,GAEtC,EAEMG,EAAiBD,GAAwC,CACzDF,EAAwB,SAAWE,EAAE,SAAWH,EAAW,SAC7DN,EAAA,EAEFO,EAAwB,QAAU,EACpC,EAEMI,EACJC,EAACC,EAAA,CACE,SAAAjB,GACCgB,EAACE,EAAO,IAAP,CACC,IAAKC,EAAWC,GAASA,GAAA,YAAAA,EAAM,QAASV,CAAU,EAClD,SAAU,GACV,YAAaE,EACb,UAAWE,EACX,UAAWO,EACT,oFACA,CAAE,SAAU,CAACpB,CAAA,EACbI,GAAA,YAAAA,EAAS,OAAA,EAEX,UAAYiB,GAAU,CAChBA,EAAM,MAAQ,UAChBlB,EAAA,CAEJ,EACA,eAAa,gBACZ,GAAGmB,EAEJ,SAAAC,EAACN,EAAO,IAAP,CACC,YAAcI,GAAUA,EAAM,gBAAA,EAC9B,UAAWD,EACT,+FACAhB,GAAA,YAAAA,EAAS,KAAA,EAEX,eAAa,QACZ,GAAGoB,EAEJ,SAAA,CAAAT,EAACU,EAAA,CAAY,MAAA5B,EAAc,WAAAM,EAAwB,QAASC,GAAA,YAAAA,EAAS,YAAa,EACjFC,EACCU,EAACW,EAAA,CAAmB,IAAKnB,EAAW,UAAWa,EAAG,OAAQhB,GAAA,YAAAA,EAAS,OAAO,EACvE,SAACuB,GAAeC,EAAa9B,EAAU6B,CAAU,EACpD,EAEAZ,EAAC,MAAA,CAAI,UAAWK,EAAG,OAAQhB,GAAA,YAAAA,EAAS,OAAO,EAAI,SAAAN,CAAA,CAAS,CAAA,CAAA,CAAA,CAE5D,CAAA,EAGN,EAEF,YAAU,SAAAE,EAAW4B,EAAad,EAAWb,CAAe,EAAIa,EAAU,CAC5E"}
@@ -1,2 +1,2 @@
1
- import{jsx as o,jsxs as n}from"react/jsx-runtime";import{useState as R,createElement as Z}from"react";import{HTMLRenderer as b}from"../htmlParser/HTMLRenderer.js";import{widgetIds as N}from"../model/helpers.js";import{getFieldsProgress as z,withAuthProvider as P,withApprovement as A}from"./model/helpers.js";import{getDynamicSchema as L}from"../../../src/shared/utils/getDynamicSchema.js";import{cn as r}from"../../shared/utils/cn.js";import{useControlledForm as Q}from"../../shared/hooks/useControlledForm.js";import{useFieldsProgress as U}from"../../shared/hooks/useFieldsProgress.js";import{ResponsiveContainer as q}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 J}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 K}from"../../shared/ui/icon/Icon.js";import"../../shared/ui/table/ui/primitives/Primitives.js";import{Heading as C}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"../../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 O}from"../../shared/validation/utils/zodUtils.js";import{FieldMapper as T}from"../fieldMapper/FieldMapper.js";import{QueryClientProvider as W}from"../queryClientProvider/QueryClientProvider.js";const Kt=({fields:f,title:h,progress:i,approvement:p,chips:d,submitProps:v,auth:x,classes:t,buttonGroup:e,ssoAuthorizationTop:k=!1})=>{var y,c;const{submitCallback:u,onErrorCallback:l}=v||{},[a,S]=R(p.type==="checkbox"?p.defaultValue:!1),g=L(f),B=O.getZodDefaults(g),{control:w,handleSubmit:F,formState:{isValid:j}}=Q({schema:g,defaultValues:B,mode:"onBlur"}),D=z(i,f),V=U({control:w,fields:D||[],schema:g}),H=m=>{u&&u({...m,agree:a})};return o(W,{children:o("section",{id:N.form,"data-test-id":N.form,"data-valid":j,className:r("w-full",t==null?void 0:t.root),children:n(q,{className:r("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:[d.enabled&&n("div",{className:r("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",(y=t==null?void 0:t.chips)==null?void 0:y.root),children:[d.image&&o(K,{name:d.image,className:r("size-6",(c=t==null?void 0:t.chips)==null?void 0:c.icon)}),d.content]}),o(C,{as:"h2",className:r("text-color-dark desktop:hidden",t==null?void 0:t.title),children:h}),o(C,{as:"h3",className:r("text-color-dark mobile:hidden",t==null?void 0:t.title),children:h}),k&&P(x),n("form",{onSubmit:F(H,m=>l==null?void 0:l(m)),className:r("flex w-full flex-col gap-y-6","desktop:gap-y-8",t==null?void 0:t.form),children:[i.enabled&&o(J,{progress:V,topContent:o(b,{html:i.title}),bottomContent:o(b,{html:i.subtitle}),maxPercent:i.maxPercent,classes:t==null?void 0:t.progressBar}),o(T,{control:w,fields:f}),n("div",{className:r("mob-body-regular-s flex flex-col items-start justify-between gap-4",{"desktop:flex-row desktop:items-center":e.length===1}),children:[A(p,a,S,t==null?void 0:t.approvement),o("div",{className:r("flex w-full flex-col items-center justify-between gap-4 desktop:flex-row",{"desktop:w-fit":e.length===1}),children:e==null?void 0:e.map((m,I)=>{const M=m.type==="submit"&&p.type==="checkbox"?!a:!1;return Z(E,{...m,size:"lg",key:I,disabled:M,className:r("w-full whitespace-nowrap",{"desktop:!w-fit":e.length===1},{"w-full":!!p},t==null?void 0:t.submit)})})})]}),!k&&P(x)]})]})})})};export{Kt as DynamicForm,Kt as default};
1
+ import{jsx as o,jsxs as n}from"react/jsx-runtime";import{useState as R,createElement as Z}from"react";import{HTMLRenderer as b}from"../htmlParser/HTMLRenderer.js";import{widgetIds as N}from"../model/helpers.js";import{getFieldsProgress as z,withAuthProvider as P,withApprovement as A}from"./model/helpers.js";import{getDynamicSchema as L}from"../../../src/shared/utils/getDynamicSchema.js";import{cn as r}from"../../shared/utils/cn.js";import{useControlledForm as Q}from"../../shared/hooks/useControlledForm.js";import{useFieldsProgress as U}from"../../shared/hooks/useFieldsProgress.js";import{ResponsiveContainer as q}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 J}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 K}from"../../shared/ui/icon/Icon.js";import"../../shared/ui/table/ui/primitives/Primitives.js";import{Heading as C}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"../../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 O}from"../../shared/validation/utils/zodUtils.js";import{FieldMapper as T}from"../fieldMapper/FieldMapper.js";import{QueryClientProvider as W}from"../queryClientProvider/QueryClientProvider.js";const Kt=({fields:f,title:h,progress:i,approvement:p,chips:d,submitProps:v,auth:x,classes:t,buttonGroup:e,ssoAuthorizationTop:k=!1})=>{var y,c;const{submitCallback:u,onErrorCallback:l}=v||{},[a,S]=R(p.type==="checkbox"?p.defaultValue:!1),g=L(f),B=O.getZodDefaults(g),{control:w,handleSubmit:F,formState:{isValid:j}}=Q({schema:g,defaultValues:B,mode:"onBlur"}),D=z(i,f),V=U({control:w,fields:D||[],schema:g}),H=m=>{u&&u({...m,agree:a})};return o(W,{children:o("section",{id:N.form,"data-test-id":N.form,className:r("w-full",t==null?void 0:t.root),children:n(q,{className:r("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:[d.enabled&&n("div",{className:r("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",(y=t==null?void 0:t.chips)==null?void 0:y.root),children:[d.image&&o(K,{name:d.image,className:r("size-6",(c=t==null?void 0:t.chips)==null?void 0:c.icon)}),d.content]}),o(C,{as:"h2",className:r("text-color-dark desktop:hidden",t==null?void 0:t.title),children:h}),o(C,{as:"h3",className:r("text-color-dark mobile:hidden",t==null?void 0:t.title),children:h}),k&&P(x),n("form",{"data-valid":j,onSubmit:F(H,m=>l==null?void 0:l(m)),className:r("flex w-full flex-col gap-y-6","desktop:gap-y-8",t==null?void 0:t.form),children:[i.enabled&&o(J,{progress:V,topContent:o(b,{html:i.title}),bottomContent:o(b,{html:i.subtitle}),maxPercent:i.maxPercent,classes:t==null?void 0:t.progressBar}),o(T,{control:w,fields:f}),n("div",{className:r("mob-body-regular-s flex flex-col items-start justify-between gap-4",{"desktop:flex-row desktop:items-center":e.length===1}),children:[A(p,a,S,t==null?void 0:t.approvement),o("div",{className:r("flex w-full flex-col items-center justify-between gap-4 desktop:flex-row",{"desktop:w-fit":e.length===1}),children:e==null?void 0:e.map((m,I)=>{const M=m.type==="submit"&&p.type==="checkbox"?!a:!1;return Z(E,{...m,size:"lg",key:I,disabled:M,className:r("w-full whitespace-nowrap",{"desktop:!w-fit":e.length===1},{"w-full":!!p},t==null?void 0:t.submit)})})})]}),!k&&P(x)]})]})})})};export{Kt as DynamicForm,Kt 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 SubmitHandler } from 'react-hook-form'\nimport { type TypeOf } from 'zod'\nimport { HTMLRenderer } from '../htmlParser'\nimport { widgetIds } from '../model'\nimport {\n type Approvement,\n type ApprovementClasses,\n type ApprovementType,\n type Auth,\n type AuthMode,\n type Chips,\n type ChipsClasses,\n type ChipsType,\n getFieldsProgress,\n type Progress,\n type ProgressField,\n type ProgressType,\n type SubmitProps,\n withApprovement,\n withAuthProvider\n} from './model'\nimport { type FieldValidation, getDynamicSchema } from '@/shared/utils'\nimport { useControlledForm, useFieldsProgress } from '$/shared/hooks'\nimport { Button, type ButtonProps, type CheckedState, Heading, Icon, ProgressBar, ResponsiveContainer } 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 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\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, onErrorCallback } = 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 {\n control,\n handleSubmit,\n formState: { isValid }\n } = 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} data-valid={isValid} 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('text-color-dark desktop:hidden', classes?.title)}>\n {title}\n </Heading>\n <Heading as='h3' className={cn('text-color-dark mobile:hidden', classes?.title)}>\n {title}\n </Heading>\n {ssoAuthorizationTop && withAuthProvider(auth)}\n <form\n onSubmit={handleSubmit(onSubmit, (error) => onErrorCallback?.(error))}\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":["DynamicForm","fields","title","progress","approvement","chips","submitProps","auth","classes","buttonGroup","ssoAuthorizationTop","submitCallback","onErrorCallback","checked","onCheckedChange","useState","schema","getDynamicSchema","defaultValues","ZodUtils","control","handleSubmit","isValid","useControlledForm","fieldsProgress","getFieldsProgress","formattedProgress","useFieldsProgress","onSubmit","values","QueryClientProvider","jsx","widgetIds","cn","jsxs","ResponsiveContainer","_a","Icon","_b","Heading","withAuthProvider","error","ProgressBar","HTMLRenderer","FieldMapper","withApprovement","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 SubmitHandler } from 'react-hook-form'\nimport { type TypeOf } from 'zod'\nimport { HTMLRenderer } from '../htmlParser'\nimport { widgetIds } from '../model'\nimport {\n type Approvement,\n type ApprovementClasses,\n type ApprovementType,\n type Auth,\n type AuthMode,\n type Chips,\n type ChipsClasses,\n type ChipsType,\n getFieldsProgress,\n type Progress,\n type ProgressField,\n type ProgressType,\n type SubmitProps,\n withApprovement,\n withAuthProvider\n} from './model'\nimport { type FieldValidation, getDynamicSchema } from '@/shared/utils'\nimport { useControlledForm, useFieldsProgress } from '$/shared/hooks'\nimport { Button, type ButtonProps, type CheckedState, Heading, Icon, ProgressBar, ResponsiveContainer } 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 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\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, onErrorCallback } = 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 {\n control,\n handleSubmit,\n formState: { isValid }\n } = 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('text-color-dark desktop:hidden', classes?.title)}>\n {title}\n </Heading>\n <Heading as='h3' className={cn('text-color-dark mobile:hidden', classes?.title)}>\n {title}\n </Heading>\n {ssoAuthorizationTop && withAuthProvider(auth)}\n <form\n data-valid={isValid}\n onSubmit={handleSubmit(onSubmit, (error) => onErrorCallback?.(error))}\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":["DynamicForm","fields","title","progress","approvement","chips","submitProps","auth","classes","buttonGroup","ssoAuthorizationTop","submitCallback","onErrorCallback","checked","onCheckedChange","useState","schema","getDynamicSchema","defaultValues","ZodUtils","control","handleSubmit","isValid","useControlledForm","fieldsProgress","getFieldsProgress","formattedProgress","useFieldsProgress","onSubmit","values","jsx","QueryClientProvider","widgetIds","cn","jsxs","ResponsiveContainer","_a","Icon","_b","Heading","withAuthProvider","error","ProgressBar","HTMLRenderer","FieldMapper","withApprovement","button","index","disabled","createElement","Button"],"mappings":"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"}