@arudovwen/form-builder-react 1.4.41 → 1.4.42
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/form-builder.es.js +21 -19
- package/dist/form-builder.umd.js +1 -1
- package/package.json +1 -1
package/dist/form-builder.es.js
CHANGED
|
@@ -7899,25 +7899,27 @@ const sl = ({
|
|
|
7899
7899
|
(si = y == null ? void 0 : y[v]) == null ? void 0 : si.id
|
|
7900
7900
|
) }),
|
|
7901
7901
|
!u && /* @__PURE__ */ n.jsx("footer", { className: "flex items-center justify-end gap-4 footer flex-wrap", children: d === "multi" ? /* @__PURE__ */ n.jsxs(n.Fragment, { children: [
|
|
7902
|
-
|
|
7903
|
-
|
|
7904
|
-
|
|
7905
|
-
|
|
7906
|
-
|
|
7907
|
-
|
|
7908
|
-
|
|
7909
|
-
|
|
7910
|
-
|
|
7911
|
-
|
|
7912
|
-
|
|
7913
|
-
|
|
7914
|
-
|
|
7915
|
-
|
|
7916
|
-
|
|
7917
|
-
|
|
7918
|
-
|
|
7919
|
-
|
|
7920
|
-
|
|
7902
|
+
/* @__PURE__ */ n.jsxs("div", { className: "flex gap-x-4 justify-end navigation_container", children: [
|
|
7903
|
+
v > 0 && /* @__PURE__ */ n.jsx(
|
|
7904
|
+
Ei,
|
|
7905
|
+
{
|
|
7906
|
+
type: "button",
|
|
7907
|
+
text: "Back",
|
|
7908
|
+
onClick: U,
|
|
7909
|
+
btnClass: "text-gray-700 back_btn text-sm border-[#98A2B3] !font-medium !py-[10px] px-10 bg-gray-200 rounded-lg"
|
|
7910
|
+
}
|
|
7911
|
+
),
|
|
7912
|
+
v < f - 1 && /* @__PURE__ */ n.jsx(
|
|
7913
|
+
Ei,
|
|
7914
|
+
{
|
|
7915
|
+
type: "button",
|
|
7916
|
+
text: "Next",
|
|
7917
|
+
onClick: I,
|
|
7918
|
+
style: { background: (m == null ? void 0 : m.buttonColor) || "#333" },
|
|
7919
|
+
btnClass: "text-gray-700 next_btn text-sm border-[#98A2B3] !font-medium !py-[10px] px-10 bg-blue-600 text-white rounded-lg continue_btn"
|
|
7920
|
+
}
|
|
7921
|
+
)
|
|
7922
|
+
] }),
|
|
7921
7923
|
(v === f - 1 || l) && !o && (t != null ? t : /* @__PURE__ */ n.jsx(
|
|
7922
7924
|
Ei,
|
|
7923
7925
|
{
|
package/dist/form-builder.umd.js
CHANGED
|
@@ -57,4 +57,4 @@ React keys must be passed directly to JSX without using spread:
|
|
|
57
57
|
${c===b.id?"border-dashed border-blue-400 bg-[#f7f8fa]":""} ${u.includes(h)?"min-h-[300px] pb-6 ":""}`,children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx("div",{onClick:()=>d(b.id),className:"flex-1 h-full py-4 cursor-pointer",children:i.jsx("h2",{className:"font-medium",children:b.title||"Section title"})}),i.jsxs("div",{className:"flex items-center gap-x-2",children:[i.jsx("button",{type:"button",className:"p-1 text-xs border rounded-lg",onClick:()=>w(b),children:i.jsx(F,{icon:"fluent:edit-28-regular"})}),l.length>1&&i.jsx("button",{type:"button",className:"p-1 text-xs border rounded-lg",onClick:()=>a(b.id),children:i.jsx(F,{icon:"lets-icons:trash-duotone-line"})}),i.jsx("button",{type:"button",className:"p-1 text-xs rounded-lg",onClick:()=>f(h),children:i.jsx(F,{icon:u.includes(h)?"fa6-solid:chevron-up":"fa6-solid:chevron-down",iconClass:"text-base"})})]})]}),(b==null?void 0:b.description)&&u.includes(h)&&i.jsx("p",{className:"mt-2 text-sm text-gray-600 text-gray-60",children:b==null?void 0:b.description}),u.includes(h)&&i.jsxs("div",{className:"h-full mt-4 transition-all duration-200",id:b.id,onDragOver:p,onDragEnd:()=>r(!1),onClick:()=>d(b.id),children:[i.jsx("hr",{className:"group-last:hidden"}),i.jsx("div",{className:"h-full mt-4 gap-y-6",children:i.jsx($a,{elementData:b.questionData,sectionId:b.id})})]})]})},b.id)),i.jsx("div",{className:"flex justify-center",children:i.jsxs("button",{type:"button",onClick:()=>t(),style:{color:(x==null?void 0:x.buttonColor)||"#333"},className:"text-sm font-medium",children:["+ Add section"," "]})})]})]})};function is({questionData:e,uploadUrl:n}){const{setFormData:o,addSection:s,setUploadUrl:a}=m.useContext(me);m.useEffect(()=>{e&&e.length>0&&o(e)},[e,o]),m.useEffect(()=>{a(n)},[n,a]);const t=m.useCallback(l=>{l.preventDefault();try{const r=JSON.parse(l.dataTransfer.getData("properties"));if((r==null?void 0:r.type)==="section"){s();return}}catch(r){console.error("Drop error:",r)}},[]);return i.jsx("div",{onDragOver:l=>l.preventDefault(),onDrop:l=>t(l),className:"bg-white p-4 border border-[#E4E7EC] h-full overflow-y-auto no-scrollbar max-h-[calc(100vh-60px)]",children:i.jsx(es,{})})}const wi=[{key:"textFields",title:"Text Fields"},{key:"selectionFields",title:"Selection Fields"},{key:"dateAndTime",title:"Date & Time"},{key:"fileAndMedia",title:"File & Media"},{key:"layoutAndDisplay",title:"Layout & Display"},{key:"advancedData",title:"Advanced / Data"}],ns=()=>{const[e,n]=m.useState(""),{setIsDragging:o,addElement:s,selectedSection:a}=m.useContext(me),t=m.useCallback((f,w)=>{if(!a){he.toast.error("Please select a section to add an element.");return}f.dataTransfer.setData("properties",JSON.stringify(w)),f.dataTransfer.effectAllowed="move",o(!0)},[o,a]);function l(f){if(!a){he.toast.error("Please select a section to add an element.");return}const w={...f,id:ge.v4(),sectionId:a};s(w,a)}const r=ve("config")||{},d=r.elementColor,c=r.elementBgColor,u=r.elementBorderColor,g=aa.filter(f=>f.label.toLowerCase().includes(e.toLowerCase())),p=wi==null?void 0:wi.map(f=>({title:f.title,elements:g.filter(w=>{var x;return(x=sa[f.key])==null?void 0:x.includes(w.type)})})).filter(f=>f.elements.length>0);return i.jsxs("div",{className:"pt-4 pb-6",children:[i.jsx("div",{className:"px-5 mb-4",children:i.jsx("input",{className:"field-control",placeholder:"Search",value:e,onChange:f=>n(f.target.value),name:"search",id:"search"})}),i.jsx("hr",{}),i.jsx("div",{children:i.jsx("ul",{className:"grid gap-y-5 mt-3 px-5 max-h-[80vh] overflow-y-auto no-scrollbar",children:p==null?void 0:p.map((f,w)=>{var x;return i.jsxs("li",{children:[i.jsx("h4",{className:"mb-2 text-[11px] font-bold text-gray-500 uppercase",children:f.title}),i.jsx("ul",{className:"grid gap-y-[6px] mb-3",children:(x=f.elements)==null?void 0:x.map(b=>i.jsx("li",{onDragStart:h=>t(h,b),onDragEnd:()=>o(!1),onClick:()=>l(b),style:{borderColor:u,backgroundColor:c},className:`cursor-move text-[#475467] flex justify-between items-center h-11\r
|
|
58
58
|
border-[1.5px] border-[#98A2B3] rounded-lg py-3 px-[14px] shadow-custom\r
|
|
59
59
|
hover:shadow-lg transition-all duration-200\r
|
|
60
|
-
active:opacity-50 element_class`,draggable:!0,children:i.jsxs("span",{className:"flex flex-row-reverse items-center justify-between w-full gap-x-3",children:[i.jsx("span",{style:{color:d},children:i.jsx(F,{icon:b.icon,iconClass:"w-4 h-4"})}),i.jsx("span",{style:{color:d},className:"text-sm font-medium leading-[0]",children:b.label})]})},b.type))})]},w)})})})]})},os=m.memo(ns),Ne=({text:e="",isDisabled:n=!1,isLoading:o=!1,btnClass:s="bg-primary-500 text-white",icon:a="",iconPosition:t="left",iconClass:l="text-[20px]",loadingClass:r="",link:d="",div:c=!1,type:u="button",style:g,onClick:p})=>{const f=U("btn inline-flex justify-center",{"pointer-events-none":o,"opacity-40 cursor-not-allowed":n},s),w=()=>o?i.jsxs(i.Fragment,{children:[i.jsxs("svg",{className:`animate-spin -ml-1 mr-3 h-5 w-5 ${r}`,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[i.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),i.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}),"Submitting..."]}):i.jsxs("span",{className:"flex items-center",children:[a&&t==="left"&&i.jsx("span",{className:`mr-[6px] ${l}`,children:i.jsx(F,{icon:a})}),e&&i.jsx("span",{children:e}),a&&t==="right"&&i.jsx("span",{className:`ml-[6px] ${l}`,children:i.jsx(F,{icon:a})})]});return c?i.jsx("div",{className:f,children:w()}):d?i.jsx(On.Link,{to:d,className:f,children:w()}):i.jsx("button",{disabled:n,type:u,className:f,"data-testid":"btn",onClick:p,style:g,children:w()})};function as(){return i.jsx("div",{children:i.jsxs("svg",{width:"36",height:"36",viewBox:"0 0 36 36",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[i.jsx("rect",{x:"0.5",y:"0.5",width:"35",height:"35",rx:"7.5",fill:"#D5D7DA"}),i.jsx("rect",{x:"0.5",y:"0.5",width:"35",height:"35",rx:"7.5",stroke:"#E9EAEB"}),i.jsx("path",{d:"M22.5 14L14.5 22M14.5 14L22.5 22",stroke:"#414651",strokeWidth:"1.66667",strokeLinecap:"round",strokeLinejoin:"round"})]})})}const ss=({isOpen:e,onClose:n})=>{const{formData:o,uploadUrl:s}=m.useContext(me);if(!e)return null;const a=ve("config");return i.jsxs("div",{className:"fixed inset-0 flex justify-center z-[999] cursor-default no-drag select-none w-screen h-screen pt-20 bg-[#F8F9FC]",children:[i.jsx("button",{type:"button",onClick:n,className:"absolute text-sm top-3 right-4","aria-label":"close",children:i.jsx(as,{})})," ",i.jsx("div",{className:"max-h-[80vh] overflow-y-auto h-max w-full max-w-[650px] min-w-0 border border-[#D5D9EB] rounded-lg bg-white form_submit",children:i.jsx(fn,{form_data:o,ignoreValidation:!0,config:a,uploadUrl:s})})]})};function ts(){return i.jsx("div",{children:i.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[i.jsx("rect",{width:"24",height:"24",rx:"6",fill:"currentColor"}),i.jsx("path",{d:"M14 16L10 12L14 8",stroke:"white",strokeWidth:"1.39167",strokeLinecap:"round",strokeLinejoin:"round"})]})})}function ls({title:e,goBackUrl:n,onSubmit:o,onPublish:s,previewLoading:a,saveLoading:t,publishLoading:l,onTitleChange:r}){const{formData:d}=m.useContext(me),[c,u]=m.useState(!1),[g,p]=m.useState(!1),[f,w]=m.useState(e||""),x=ve("config");function b(){localStorage.setItem("formData",JSON.stringify(d)),o==null||o(d)}function h(){localStorage.setItem("formData",JSON.stringify(d)),s==null||s(d)}function y(){p(!1),r&&f!==e&&r(f.trim())}return i.jsxs("div",{className:"px-[30px] py-3 flex justify-between items-center bg-[#F9F9FB] top_bar",children:[i.jsxs("span",{className:"flex items-center gap-x-2",children:[n&&i.jsx("button",{type:"button",onClick:()=>n(),style:{color:(x==null?void 0:x.buttonColor)||"#333"},className:"flex items-center gap-x-3",children:i.jsx(ts,{})})," ",g?i.jsx("input",{type:"text",value:f,onChange:N=>w(N.target.value),onBlur:y,autoFocus:!0,className:"w-48 px-2 py-1 text-sm font-semibold outline-gray-100 input form_title"}):i.jsx("h1",{title:"Click to edit",className:"text-base font-semibold cursor-pointer form_title",onClick:()=>p(!0),children:f||"Untitled"})]}),c&&i.jsx(ss,{isOpen:c,onClose:()=>u(!1),element:void 0}),i.jsxs("div",{className:"flex justify-end text-xs gap-x-3",children:[i.jsx(Ne,{onClick:()=>u(!0),text:"Preview",btnClass:"px-2 bg-transparent font-medium text-sm form_preview",icon:"solar:eye-bold-duotone",iconClass:"text-base",style:{color:(x==null?void 0:x.buttonColor)||"#333"},isDisabled:a,isLoading:a}),i.jsx(Ne,{onClick:b,text:"Save",btnClass:"px-2 bg-transparent font-medium text-sm form_save__btn",icon:"lets-icons:save-duotone",iconClass:"text-base",style:{color:(x==null?void 0:x.buttonColor)||"#333"},isDisabled:t,isLoading:t}),i.jsx(Ne,{onClick:h,text:"Publish",style:{background:(x==null?void 0:x.buttonColor)||"#333"},btnClass:"border-[#98A2B3] font-medium text-sm py-[8px] px-6 text-white rounded-lg form_publish__btn",isDisabled:l,isLoading:l})]})]})}const hn=({loadingClass:e})=>{const n=U("h-full w-full min-h-[300px] flex justify-center items-center",e);return m.useEffect(()=>{const o=ve("config"),s=(o==null?void 0:o.loaderColor)||"#333";document.documentElement.style.setProperty("--loader-color",s)},[]),i.jsx("div",{className:n,children:i.jsx("span",{className:"loader"})})};function ds({onSubmit:e,questionData:n,title:o,goBackUrl:s,loading:a,onPublish:t,previewLoading:l,saveLoading:r,publishLoading:d,onTitleChange:c,uploadUrl:u}){return i.jsxs(Di,{children:[i.jsx(he.Toaster,{position:"top-right",richColors:!0,closeButton:!0}),i.jsxs("div",{className:"w-full h-full bg-[#F8F9FC] flex flex-col",children:[i.jsx("div",{className:"border-b bg-white border-[#E4E7EC]",children:i.jsx(ls,{title:o,goBackUrl:s,onSubmit:e,onPublish:t,previewLoading:l,saveLoading:r,publishLoading:d,onTitleChange:c})}),i.jsxs("div",{className:"flex flex-1 ",children:[i.jsx("div",{children:i.jsx("div",{className:"w-[260px] h-[calc(100vh-64px)] border-r border-[#E4E7EC] bg-white ",children:i.jsx(os,{})})}),i.jsx("div",{className:"flex-1 h-full max-h-full z-[1]",children:a?i.jsx(hn,{loadingClass:"!w-full !h-[800px]"}):i.jsx(is,{questionData:n,uploadUrl:u})})]})]})]})}const rs=({onSubmit:e,questionData:n,isReadOnly:o,config:s={buttonColor:"#333"},title:a,loading:t,goBackUrl:l,onPublish:r,previewLoading:d,saveLoading:c,publishLoading:u,onTitleChange:g,uploadUrl:p})=>(m.useEffect(()=>{s&&un("config",s)},[s]),i.jsx(ds,{onSubmit:e,onPublish:r,questionData:n,isReadOnly:o,title:a,goBackUrl:l,loading:t,previewLoading:d,saveLoading:c,publishLoading:u,onTitleChange:g,uploadUrl:p})),Ae={required:"This field is required",email:"Invalid email format",url:"Invalid url format",minLength:e=>`Minimum length is ${e}`,maxLength:e=>`Maximum length is ${e}`,minAmount:e=>`Minimum amount is ${e}`,maxAmount:e=>`Maximum amount is ${e}`},us=e=>({textField:T.string().nullable(),longText:T.string().nullable(),numberField:T.number().nullable().transform(o=>isNaN(o)?null:o),amountField:T.number().nullable().transform(o=>isNaN(o)?null:o),selectField:T.string().nullable(),checkbox:T.mixed().nullable(),radio:T.mixed().nullable(),email:T.string().nullable().test("email-format",Ae.email,o=>!o||o.trim()===""?!0:/^[a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}$/.test(o)),date:T.date().typeError("Invalid date").nullable(),url:T.string().nullable().test("url-format",Ae.url,o=>!o||o.trim()===""?!0:/^(https?:\/\/)?([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}(\/.*)?$/.test(o))})[e]||T.mixed().nullable(),cs=(e,n,o)=>n?e.type==="boolean"?e.oneOf([!0],o||Ae.required):e.required(o||Ae.required):e,ms=(e,{minLength:n,maxLength:o,minLengthMessage:s,maxLengthMessage:a})=>{let t=e;return n&&(t=t.min(n,s||Ae.minLength(n))),o&&(t=t.max(o,a||Ae.maxLength(o))),t},bs=(e,{minAmount:n,maxAmount:o,minAmountMessage:s,maxAmountMessage:a})=>{let t=e;return n&&(t=t.min(parseFloat(String(n)),s||Ae.minAmount(n))),o&&(t=t.max(parseFloat(String(o)),a||Ae.maxAmount(o))),t};function vs(e){const n={};return e.forEach(({questionData:o})=>{o==null||o.forEach(s=>{const{id:a,type:t,isRequired:l,requiredMessage:r}=s;let d=us(t);d=cs(d,l,r),t==="textField"||t==="longText"||t==="email"||t==="url"?d=ms(d,s):(t==="numberField"||t==="amountField")&&(d=bs(d,s)),n[a]=d})}),T.object().shape(n)}const Je=(e,n)=>{const o=pn[e.type],{answerData:s}=m.useContext(me),a=m.useMemo(()=>{var r;return(r=e==null?void 0:e.acceptedFiles)==null?void 0:r.map(d=>d.label).join(", ")},[e]),t=m.useMemo(()=>(e==null?void 0:e.visibilityDependentFields)||[],[e]),l=m.useMemo(()=>t.length?t.every(r=>{if(!e.isHidden)return!0;const d=s==null?void 0:s[r.id],c=r.fieldValue,u=d;switch(r.operator){case"equals":return String(c).toLowerCase()===String(u).toLowerCase();case"not_equals":return String(c).toLowerCase()!==String(u).toLowerCase();case"greater":return Number(u)>Number(c);case"less":return Number(u)<Number(c);case"contains":return String(u).toLowerCase().includes(String(c).toLowerCase());case"not_contains":return!String(u).toLowerCase().includes(String(c).toLowerCase());default:return!0}}):!0,[t,s,e]);return o?i.jsxs("div",{className:l?"":"invisible h-0",children:[i.jsxs("div",{className:"mb-1.5",children:[e.inputLabel&&i.jsxs("label",{className:"block text-sm font-medium input_label",children:[e.inputLabel," ",a&&i.jsxs("span",{className:"text-gray-400 text-xs",children:["(",a==null?void 0:a.toLowerCase(),")"]})]}),e.description&&i.jsxs("small",{className:"block text-gray-400 mt-0.5 text-xs",children:[" ",e.description]})]}),i.jsx(o,{element:e,state:"edit",validationData:n})]}):null},Ye=(e,n)=>e!=null&&e.allowEdit?{...n,isReadOnly:!1}:n;function ps({form_data:e,options:n}){const o=(a,t)=>i.jsx(fi,{element:a,customClass:"p-0 min-h-[60px] border-none",children:t==null?void 0:t.map(l=>{var r,d,c;return i.jsxs(hi,{col:(r=l.gridPosition)==null?void 0:r.col,customClass:"p-0",children:[Je(l,Ye(l,n)),((c=(d=n==null?void 0:n.errors)==null?void 0:d[l.id])==null?void 0:c.message)&&i.jsx("div",{className:"mt-1 text-xs text-red-600",children:n.errors[l.id].message})]},l.id)})},a.id),s=a=>{var t,l;return i.jsxs("div",{className:U("group relative grid gap-y-[6px]",a.elementClass),children:[Je(a,Ye(a,n)),((l=(t=n==null?void 0:n.errors)==null?void 0:t[a.id])==null?void 0:l.message)&&i.jsx("div",{className:"mt-1 text-xs text-red-600",children:n.errors[a.id].message})]},a.id)};return i.jsx("div",{className:"grid gap-y-10",children:e==null?void 0:e.map(a=>{var l,r;const t=new Map;return(l=a.questionData)==null||l.forEach(d=>{d.gridId&&(t.has(d.gridId)||t.set(d.gridId,[]),t.get(d.gridId).push(d))}),i.jsxs("div",{className:"pb-6 section_box",children:[(a.title||a.description)&&i.jsxs("div",{className:"py-4 border-b border-gray-100 mb-7 section_box__title",children:[a.title&&i.jsx("h2",{className:"text-lg font-semibold mb-[4px]",children:a.title}),a.description&&i.jsx("p",{className:"text-sm",children:a.description})]}),i.jsx("div",{className:"grid gap-y-6 section_box__content",children:(r=a.questionData)==null?void 0:r.map(d=>d.gridId?null:d.type==="grid"?o(d,t.get(d.id)||[]):s(d))})]},a.id)})})}function gs({form_data:e,options:n,current:o}){var s;return i.jsx("div",{className:"grid gap-y-3 multi_section__content",children:(s=e[o].questionData)==null?void 0:s.map(a=>{var t,l;if(a.type==="grid"){const r=e[o].questionData.filter(d=>d.gridId===a.id);return i.jsx(fi,{element:a,customClass:"p-0 min-h-[60px] border-none",children:r==null?void 0:r.map(d=>{var c,u,g;return i.jsxs(hi,{col:(c=d.gridPosition)==null?void 0:c.col,customClass:"p-0",children:[Je(d,Ye(d,n)),i.jsx("div",{className:"mt-1 text-xs text-red-600",children:(g=(u=n==null?void 0:n.errors)==null?void 0:u[d.id])==null?void 0:g.message})]},d.id)})},a.id)}return a.gridId?null:i.jsxs("div",{className:U("group relative grid gap-y-[6px]",a.elementClass),children:[Je(a,Ye(a,n)),i.jsx("div",{className:"mt-1 text-xs text-red-600",children:(l=(t=n==null?void 0:n.errors)==null?void 0:t[a.id])==null?void 0:l.message})]},a.id)})})}function hs(e){return e.reduce((n,o)=>(n[o.id]=o.value,n),{})}const fs=({form_data:e,answerData:n=[],ignoreValidation:o=!1,onSubmitData:s,onGetValues:a,isReadOnly:t=!1,renderType:l="multi",children:r,hideFooter:d=!1,uploadUrl:c})=>{var ce,ue,ie,G,I,oe,te,ne;const{setAnswerData:u,setUploadUrl:g}=m.useContext(me),[p,f]=m.useState(0),w=m.useMemo(()=>e.filter(ae=>!ae.disabled),[e]),x=(ce=w==null?void 0:w.length)!=null?ce:0,b=ve("config"),h=m.useMemo(()=>vs(w),[w]),y=we.useForm({resolver:mi(h),mode:"onSubmit",defaultValues:{}}),{register:N,setValue:S,control:A,handleSubmit:k,reset:_,getValues:O,watch:$,formState:{errors:V,isSubmitting:J},trigger:C,setError:E,clearErrors:L}=y,B=we.useWatch({control:A}),K=m.useMemo(()=>B,[JSON.stringify(B)]),Y=m.useCallback(ae=>{a&&a(ae)},[a]);m.useEffect(()=>{g(c)},[g,c]),m.useEffect(()=>{if(!(w!=null&&w.length)||!a)return;const ae=w.flatMap(ke=>{var fe;return(fe=ke.questionData)==null?void 0:fe.map(ye=>({id:ye.id,value:K[ye.id],sectionId:ke.id,type:ye.type,metaData:{prefix:ye.prefix}}))});Y(ae),u(K)},[K,w,Y,a,u]),m.useEffect(()=>{n!=null&&n.length&&_(hs(n))},[n,_]);const P=m.useCallback(ae=>{const ke=w.flatMap(fe=>{var ye;return(ye=fe.questionData)==null?void 0:ye.map(Se=>({id:Se.id,value:ae[Se.id],sectionId:fe.id,type:Se.type,metaData:{prefix:Se.prefix}}))});Object.keys(V).length>0||s==null||s(ke)},[V,w,s]),D=m.useCallback(async()=>{var ae,ke;if(!o){const fe=(ke=(ae=w==null?void 0:w[p])==null?void 0:ae.questionData)==null?void 0:ke.map(Se=>Se.id);if(!await C(fe))return}f(fe=>fe+1)},[p,w,o,C]),W=m.useCallback(()=>{f(ae=>ae-1)},[]),X=m.useMemo(()=>({register:N,setValue:S,watch:$,errors:V,trigger:C,isSubmitting:J,isReadOnly:t,getValues:O,setError:E,clearErrors:L}),[N,S,$,V,C,J,t,O,E,L]);return i.jsxs(we.FormProvider,{...y,children:[i.jsx(he.Toaster,{position:"top-right",richColors:!0,closeButton:!0}),i.jsxs("form",{onSubmit:k(P),className:"container h-full mx-auto",children:[i.jsx("div",{className:"relative flex flex-col w-full py-4 gap-y-12",children:i.jsxs("div",{className:"multi_section__box",children:[l==="multi"&&(((ue=w==null?void 0:w[p])==null?void 0:ue.title)||((ie=w==null?void 0:w[p])==null?void 0:ie.description))&&i.jsxs("div",{className:"py-4 mb-4 border-b border-gray-100 multi_section__title",children:[((G=w[p])==null?void 0:G.title)&&i.jsx("h2",{className:"text-lg font-semibold mb-[6px]",children:(I=w[p])==null?void 0:I.title}),((oe=w[p])==null?void 0:oe.description)&&i.jsx("p",{className:"text-sm",children:(te=w[p])==null?void 0:te.description})]}),l==="multi"?i.jsx(gs,{form_data:w,options:X,current:p}):i.jsx(ps,{form_data:w,options:X})]},(ne=w==null?void 0:w[p])==null?void 0:ne.id)}),!d&&i.jsx("footer",{className:"flex items-center justify-end gap-4 footer flex-wrap",children:l==="multi"?i.jsxs(i.Fragment,{children:[p>0&&i.jsx(Ne,{type:"button",text:"Back",onClick:W,btnClass:"text-gray-700 back_btn text-sm border-[#98A2B3] !font-medium !py-[10px] px-10 bg-gray-200 rounded-lg"}),p<x-1&&i.jsx(Ne,{type:"button",text:"Next",onClick:D,style:{background:(b==null?void 0:b.buttonColor)||"#333"},btnClass:"text-gray-700 next_btn text-sm border-[#98A2B3] !font-medium !py-[10px] px-10 bg-blue-600 text-white rounded-lg continue_btn"}),(p===x-1||t)&&!o&&(r!=null?r:i.jsx(Ne,{isDisabled:J||Object.keys(V).length>0,isLoading:J,type:"submit",text:"Submit",style:{background:(b==null?void 0:b.buttonColor)||"#333"},btnClass:"text-gray-700 border-[#98A2B3] submit_btn !font-medium !py-[10px] px-10 bg-blue-600 text-white rounded-lg submit_btn"}))]}):!o&&(r!=null?r:i.jsx(Ne,{isDisabled:J||Object.keys(V).length>0,isLoading:J,type:"submit",text:"Submit",style:{background:(b==null?void 0:b.buttonColor)||"#333"},btnClass:"text-gray-700 border-[#98A2B3] submit_btn !font-medium !py-[10px] px-10 bg-blue-600 text-white rounded-lg submit_btn"}))})]})]})},xs=m.memo(fs);function fn({answerData:e,form_data:n,ignoreValidation:o,onSubmit:s,isReadOnly:a=!1,loading:t=!1,config:l={buttonColor:"#333"},renderType:r,children:d,hideFooter:c,onGetValues:u,uploadUrl:g}){m.useEffect(()=>{l&&un("config",l)},[l]);const p=m.useCallback(f=>{u&&u(f)},[u]);return t?i.jsx(hn,{}):n?i.jsxs("div",{id:"form",className:"w-full h-full",children:[i.jsx("div",{id:"root-portal"}),i.jsx(Di,{children:i.jsx(xs,{form_data:n,answerData:e,ignoreValidation:o,onSubmitData:s,isReadOnly:a,renderType:r,hideFooter:c,onGetValues:p,uploadUrl:g,children:d})})]}):i.jsx("div",{children:i.jsx("p",{className:"p-6 text-sm text-gray-400",children:"Error: No form data available."})})}de.FormBuilder=rs,de.FormViewer=fn,Object.defineProperty(de,Symbol.toStringTag,{value:"Module"})});
|
|
60
|
+
active:opacity-50 element_class`,draggable:!0,children:i.jsxs("span",{className:"flex flex-row-reverse items-center justify-between w-full gap-x-3",children:[i.jsx("span",{style:{color:d},children:i.jsx(F,{icon:b.icon,iconClass:"w-4 h-4"})}),i.jsx("span",{style:{color:d},className:"text-sm font-medium leading-[0]",children:b.label})]})},b.type))})]},w)})})})]})},os=m.memo(ns),Ne=({text:e="",isDisabled:n=!1,isLoading:o=!1,btnClass:s="bg-primary-500 text-white",icon:a="",iconPosition:t="left",iconClass:l="text-[20px]",loadingClass:r="",link:d="",div:c=!1,type:u="button",style:g,onClick:p})=>{const f=U("btn inline-flex justify-center",{"pointer-events-none":o,"opacity-40 cursor-not-allowed":n},s),w=()=>o?i.jsxs(i.Fragment,{children:[i.jsxs("svg",{className:`animate-spin -ml-1 mr-3 h-5 w-5 ${r}`,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[i.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),i.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}),"Submitting..."]}):i.jsxs("span",{className:"flex items-center",children:[a&&t==="left"&&i.jsx("span",{className:`mr-[6px] ${l}`,children:i.jsx(F,{icon:a})}),e&&i.jsx("span",{children:e}),a&&t==="right"&&i.jsx("span",{className:`ml-[6px] ${l}`,children:i.jsx(F,{icon:a})})]});return c?i.jsx("div",{className:f,children:w()}):d?i.jsx(On.Link,{to:d,className:f,children:w()}):i.jsx("button",{disabled:n,type:u,className:f,"data-testid":"btn",onClick:p,style:g,children:w()})};function as(){return i.jsx("div",{children:i.jsxs("svg",{width:"36",height:"36",viewBox:"0 0 36 36",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[i.jsx("rect",{x:"0.5",y:"0.5",width:"35",height:"35",rx:"7.5",fill:"#D5D7DA"}),i.jsx("rect",{x:"0.5",y:"0.5",width:"35",height:"35",rx:"7.5",stroke:"#E9EAEB"}),i.jsx("path",{d:"M22.5 14L14.5 22M14.5 14L22.5 22",stroke:"#414651",strokeWidth:"1.66667",strokeLinecap:"round",strokeLinejoin:"round"})]})})}const ss=({isOpen:e,onClose:n})=>{const{formData:o,uploadUrl:s}=m.useContext(me);if(!e)return null;const a=ve("config");return i.jsxs("div",{className:"fixed inset-0 flex justify-center z-[999] cursor-default no-drag select-none w-screen h-screen pt-20 bg-[#F8F9FC]",children:[i.jsx("button",{type:"button",onClick:n,className:"absolute text-sm top-3 right-4","aria-label":"close",children:i.jsx(as,{})})," ",i.jsx("div",{className:"max-h-[80vh] overflow-y-auto h-max w-full max-w-[650px] min-w-0 border border-[#D5D9EB] rounded-lg bg-white form_submit",children:i.jsx(fn,{form_data:o,ignoreValidation:!0,config:a,uploadUrl:s})})]})};function ts(){return i.jsx("div",{children:i.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[i.jsx("rect",{width:"24",height:"24",rx:"6",fill:"currentColor"}),i.jsx("path",{d:"M14 16L10 12L14 8",stroke:"white",strokeWidth:"1.39167",strokeLinecap:"round",strokeLinejoin:"round"})]})})}function ls({title:e,goBackUrl:n,onSubmit:o,onPublish:s,previewLoading:a,saveLoading:t,publishLoading:l,onTitleChange:r}){const{formData:d}=m.useContext(me),[c,u]=m.useState(!1),[g,p]=m.useState(!1),[f,w]=m.useState(e||""),x=ve("config");function b(){localStorage.setItem("formData",JSON.stringify(d)),o==null||o(d)}function h(){localStorage.setItem("formData",JSON.stringify(d)),s==null||s(d)}function y(){p(!1),r&&f!==e&&r(f.trim())}return i.jsxs("div",{className:"px-[30px] py-3 flex justify-between items-center bg-[#F9F9FB] top_bar",children:[i.jsxs("span",{className:"flex items-center gap-x-2",children:[n&&i.jsx("button",{type:"button",onClick:()=>n(),style:{color:(x==null?void 0:x.buttonColor)||"#333"},className:"flex items-center gap-x-3",children:i.jsx(ts,{})})," ",g?i.jsx("input",{type:"text",value:f,onChange:N=>w(N.target.value),onBlur:y,autoFocus:!0,className:"w-48 px-2 py-1 text-sm font-semibold outline-gray-100 input form_title"}):i.jsx("h1",{title:"Click to edit",className:"text-base font-semibold cursor-pointer form_title",onClick:()=>p(!0),children:f||"Untitled"})]}),c&&i.jsx(ss,{isOpen:c,onClose:()=>u(!1),element:void 0}),i.jsxs("div",{className:"flex justify-end text-xs gap-x-3",children:[i.jsx(Ne,{onClick:()=>u(!0),text:"Preview",btnClass:"px-2 bg-transparent font-medium text-sm form_preview",icon:"solar:eye-bold-duotone",iconClass:"text-base",style:{color:(x==null?void 0:x.buttonColor)||"#333"},isDisabled:a,isLoading:a}),i.jsx(Ne,{onClick:b,text:"Save",btnClass:"px-2 bg-transparent font-medium text-sm form_save__btn",icon:"lets-icons:save-duotone",iconClass:"text-base",style:{color:(x==null?void 0:x.buttonColor)||"#333"},isDisabled:t,isLoading:t}),i.jsx(Ne,{onClick:h,text:"Publish",style:{background:(x==null?void 0:x.buttonColor)||"#333"},btnClass:"border-[#98A2B3] font-medium text-sm py-[8px] px-6 text-white rounded-lg form_publish__btn",isDisabled:l,isLoading:l})]})]})}const hn=({loadingClass:e})=>{const n=U("h-full w-full min-h-[300px] flex justify-center items-center",e);return m.useEffect(()=>{const o=ve("config"),s=(o==null?void 0:o.loaderColor)||"#333";document.documentElement.style.setProperty("--loader-color",s)},[]),i.jsx("div",{className:n,children:i.jsx("span",{className:"loader"})})};function ds({onSubmit:e,questionData:n,title:o,goBackUrl:s,loading:a,onPublish:t,previewLoading:l,saveLoading:r,publishLoading:d,onTitleChange:c,uploadUrl:u}){return i.jsxs(Di,{children:[i.jsx(he.Toaster,{position:"top-right",richColors:!0,closeButton:!0}),i.jsxs("div",{className:"w-full h-full bg-[#F8F9FC] flex flex-col",children:[i.jsx("div",{className:"border-b bg-white border-[#E4E7EC]",children:i.jsx(ls,{title:o,goBackUrl:s,onSubmit:e,onPublish:t,previewLoading:l,saveLoading:r,publishLoading:d,onTitleChange:c})}),i.jsxs("div",{className:"flex flex-1 ",children:[i.jsx("div",{children:i.jsx("div",{className:"w-[260px] h-[calc(100vh-64px)] border-r border-[#E4E7EC] bg-white ",children:i.jsx(os,{})})}),i.jsx("div",{className:"flex-1 h-full max-h-full z-[1]",children:a?i.jsx(hn,{loadingClass:"!w-full !h-[800px]"}):i.jsx(is,{questionData:n,uploadUrl:u})})]})]})]})}const rs=({onSubmit:e,questionData:n,isReadOnly:o,config:s={buttonColor:"#333"},title:a,loading:t,goBackUrl:l,onPublish:r,previewLoading:d,saveLoading:c,publishLoading:u,onTitleChange:g,uploadUrl:p})=>(m.useEffect(()=>{s&&un("config",s)},[s]),i.jsx(ds,{onSubmit:e,onPublish:r,questionData:n,isReadOnly:o,title:a,goBackUrl:l,loading:t,previewLoading:d,saveLoading:c,publishLoading:u,onTitleChange:g,uploadUrl:p})),Ae={required:"This field is required",email:"Invalid email format",url:"Invalid url format",minLength:e=>`Minimum length is ${e}`,maxLength:e=>`Maximum length is ${e}`,minAmount:e=>`Minimum amount is ${e}`,maxAmount:e=>`Maximum amount is ${e}`},us=e=>({textField:T.string().nullable(),longText:T.string().nullable(),numberField:T.number().nullable().transform(o=>isNaN(o)?null:o),amountField:T.number().nullable().transform(o=>isNaN(o)?null:o),selectField:T.string().nullable(),checkbox:T.mixed().nullable(),radio:T.mixed().nullable(),email:T.string().nullable().test("email-format",Ae.email,o=>!o||o.trim()===""?!0:/^[a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}$/.test(o)),date:T.date().typeError("Invalid date").nullable(),url:T.string().nullable().test("url-format",Ae.url,o=>!o||o.trim()===""?!0:/^(https?:\/\/)?([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}(\/.*)?$/.test(o))})[e]||T.mixed().nullable(),cs=(e,n,o)=>n?e.type==="boolean"?e.oneOf([!0],o||Ae.required):e.required(o||Ae.required):e,ms=(e,{minLength:n,maxLength:o,minLengthMessage:s,maxLengthMessage:a})=>{let t=e;return n&&(t=t.min(n,s||Ae.minLength(n))),o&&(t=t.max(o,a||Ae.maxLength(o))),t},bs=(e,{minAmount:n,maxAmount:o,minAmountMessage:s,maxAmountMessage:a})=>{let t=e;return n&&(t=t.min(parseFloat(String(n)),s||Ae.minAmount(n))),o&&(t=t.max(parseFloat(String(o)),a||Ae.maxAmount(o))),t};function vs(e){const n={};return e.forEach(({questionData:o})=>{o==null||o.forEach(s=>{const{id:a,type:t,isRequired:l,requiredMessage:r}=s;let d=us(t);d=cs(d,l,r),t==="textField"||t==="longText"||t==="email"||t==="url"?d=ms(d,s):(t==="numberField"||t==="amountField")&&(d=bs(d,s)),n[a]=d})}),T.object().shape(n)}const Je=(e,n)=>{const o=pn[e.type],{answerData:s}=m.useContext(me),a=m.useMemo(()=>{var r;return(r=e==null?void 0:e.acceptedFiles)==null?void 0:r.map(d=>d.label).join(", ")},[e]),t=m.useMemo(()=>(e==null?void 0:e.visibilityDependentFields)||[],[e]),l=m.useMemo(()=>t.length?t.every(r=>{if(!e.isHidden)return!0;const d=s==null?void 0:s[r.id],c=r.fieldValue,u=d;switch(r.operator){case"equals":return String(c).toLowerCase()===String(u).toLowerCase();case"not_equals":return String(c).toLowerCase()!==String(u).toLowerCase();case"greater":return Number(u)>Number(c);case"less":return Number(u)<Number(c);case"contains":return String(u).toLowerCase().includes(String(c).toLowerCase());case"not_contains":return!String(u).toLowerCase().includes(String(c).toLowerCase());default:return!0}}):!0,[t,s,e]);return o?i.jsxs("div",{className:l?"":"invisible h-0",children:[i.jsxs("div",{className:"mb-1.5",children:[e.inputLabel&&i.jsxs("label",{className:"block text-sm font-medium input_label",children:[e.inputLabel," ",a&&i.jsxs("span",{className:"text-gray-400 text-xs",children:["(",a==null?void 0:a.toLowerCase(),")"]})]}),e.description&&i.jsxs("small",{className:"block text-gray-400 mt-0.5 text-xs",children:[" ",e.description]})]}),i.jsx(o,{element:e,state:"edit",validationData:n})]}):null},Ye=(e,n)=>e!=null&&e.allowEdit?{...n,isReadOnly:!1}:n;function ps({form_data:e,options:n}){const o=(a,t)=>i.jsx(fi,{element:a,customClass:"p-0 min-h-[60px] border-none",children:t==null?void 0:t.map(l=>{var r,d,c;return i.jsxs(hi,{col:(r=l.gridPosition)==null?void 0:r.col,customClass:"p-0",children:[Je(l,Ye(l,n)),((c=(d=n==null?void 0:n.errors)==null?void 0:d[l.id])==null?void 0:c.message)&&i.jsx("div",{className:"mt-1 text-xs text-red-600",children:n.errors[l.id].message})]},l.id)})},a.id),s=a=>{var t,l;return i.jsxs("div",{className:U("group relative grid gap-y-[6px]",a.elementClass),children:[Je(a,Ye(a,n)),((l=(t=n==null?void 0:n.errors)==null?void 0:t[a.id])==null?void 0:l.message)&&i.jsx("div",{className:"mt-1 text-xs text-red-600",children:n.errors[a.id].message})]},a.id)};return i.jsx("div",{className:"grid gap-y-10",children:e==null?void 0:e.map(a=>{var l,r;const t=new Map;return(l=a.questionData)==null||l.forEach(d=>{d.gridId&&(t.has(d.gridId)||t.set(d.gridId,[]),t.get(d.gridId).push(d))}),i.jsxs("div",{className:"pb-6 section_box",children:[(a.title||a.description)&&i.jsxs("div",{className:"py-4 border-b border-gray-100 mb-7 section_box__title",children:[a.title&&i.jsx("h2",{className:"text-lg font-semibold mb-[4px]",children:a.title}),a.description&&i.jsx("p",{className:"text-sm",children:a.description})]}),i.jsx("div",{className:"grid gap-y-6 section_box__content",children:(r=a.questionData)==null?void 0:r.map(d=>d.gridId?null:d.type==="grid"?o(d,t.get(d.id)||[]):s(d))})]},a.id)})})}function gs({form_data:e,options:n,current:o}){var s;return i.jsx("div",{className:"grid gap-y-3 multi_section__content",children:(s=e[o].questionData)==null?void 0:s.map(a=>{var t,l;if(a.type==="grid"){const r=e[o].questionData.filter(d=>d.gridId===a.id);return i.jsx(fi,{element:a,customClass:"p-0 min-h-[60px] border-none",children:r==null?void 0:r.map(d=>{var c,u,g;return i.jsxs(hi,{col:(c=d.gridPosition)==null?void 0:c.col,customClass:"p-0",children:[Je(d,Ye(d,n)),i.jsx("div",{className:"mt-1 text-xs text-red-600",children:(g=(u=n==null?void 0:n.errors)==null?void 0:u[d.id])==null?void 0:g.message})]},d.id)})},a.id)}return a.gridId?null:i.jsxs("div",{className:U("group relative grid gap-y-[6px]",a.elementClass),children:[Je(a,Ye(a,n)),i.jsx("div",{className:"mt-1 text-xs text-red-600",children:(l=(t=n==null?void 0:n.errors)==null?void 0:t[a.id])==null?void 0:l.message})]},a.id)})})}function hs(e){return e.reduce((n,o)=>(n[o.id]=o.value,n),{})}const fs=({form_data:e,answerData:n=[],ignoreValidation:o=!1,onSubmitData:s,onGetValues:a,isReadOnly:t=!1,renderType:l="multi",children:r,hideFooter:d=!1,uploadUrl:c})=>{var ce,ue,ie,G,I,oe,te,ne;const{setAnswerData:u,setUploadUrl:g}=m.useContext(me),[p,f]=m.useState(0),w=m.useMemo(()=>e.filter(ae=>!ae.disabled),[e]),x=(ce=w==null?void 0:w.length)!=null?ce:0,b=ve("config"),h=m.useMemo(()=>vs(w),[w]),y=we.useForm({resolver:mi(h),mode:"onSubmit",defaultValues:{}}),{register:N,setValue:S,control:A,handleSubmit:k,reset:_,getValues:O,watch:$,formState:{errors:V,isSubmitting:J},trigger:C,setError:E,clearErrors:L}=y,B=we.useWatch({control:A}),K=m.useMemo(()=>B,[JSON.stringify(B)]),Y=m.useCallback(ae=>{a&&a(ae)},[a]);m.useEffect(()=>{g(c)},[g,c]),m.useEffect(()=>{if(!(w!=null&&w.length)||!a)return;const ae=w.flatMap(ke=>{var fe;return(fe=ke.questionData)==null?void 0:fe.map(ye=>({id:ye.id,value:K[ye.id],sectionId:ke.id,type:ye.type,metaData:{prefix:ye.prefix}}))});Y(ae),u(K)},[K,w,Y,a,u]),m.useEffect(()=>{n!=null&&n.length&&_(hs(n))},[n,_]);const P=m.useCallback(ae=>{const ke=w.flatMap(fe=>{var ye;return(ye=fe.questionData)==null?void 0:ye.map(Se=>({id:Se.id,value:ae[Se.id],sectionId:fe.id,type:Se.type,metaData:{prefix:Se.prefix}}))});Object.keys(V).length>0||s==null||s(ke)},[V,w,s]),D=m.useCallback(async()=>{var ae,ke;if(!o){const fe=(ke=(ae=w==null?void 0:w[p])==null?void 0:ae.questionData)==null?void 0:ke.map(Se=>Se.id);if(!await C(fe))return}f(fe=>fe+1)},[p,w,o,C]),W=m.useCallback(()=>{f(ae=>ae-1)},[]),X=m.useMemo(()=>({register:N,setValue:S,watch:$,errors:V,trigger:C,isSubmitting:J,isReadOnly:t,getValues:O,setError:E,clearErrors:L}),[N,S,$,V,C,J,t,O,E,L]);return i.jsxs(we.FormProvider,{...y,children:[i.jsx(he.Toaster,{position:"top-right",richColors:!0,closeButton:!0}),i.jsxs("form",{onSubmit:k(P),className:"container h-full mx-auto",children:[i.jsx("div",{className:"relative flex flex-col w-full py-4 gap-y-12",children:i.jsxs("div",{className:"multi_section__box",children:[l==="multi"&&(((ue=w==null?void 0:w[p])==null?void 0:ue.title)||((ie=w==null?void 0:w[p])==null?void 0:ie.description))&&i.jsxs("div",{className:"py-4 mb-4 border-b border-gray-100 multi_section__title",children:[((G=w[p])==null?void 0:G.title)&&i.jsx("h2",{className:"text-lg font-semibold mb-[6px]",children:(I=w[p])==null?void 0:I.title}),((oe=w[p])==null?void 0:oe.description)&&i.jsx("p",{className:"text-sm",children:(te=w[p])==null?void 0:te.description})]}),l==="multi"?i.jsx(gs,{form_data:w,options:X,current:p}):i.jsx(ps,{form_data:w,options:X})]},(ne=w==null?void 0:w[p])==null?void 0:ne.id)}),!d&&i.jsx("footer",{className:"flex items-center justify-end gap-4 footer flex-wrap",children:l==="multi"?i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"flex gap-x-4 justify-end navigation_container",children:[p>0&&i.jsx(Ne,{type:"button",text:"Back",onClick:W,btnClass:"text-gray-700 back_btn text-sm border-[#98A2B3] !font-medium !py-[10px] px-10 bg-gray-200 rounded-lg"}),p<x-1&&i.jsx(Ne,{type:"button",text:"Next",onClick:D,style:{background:(b==null?void 0:b.buttonColor)||"#333"},btnClass:"text-gray-700 next_btn text-sm border-[#98A2B3] !font-medium !py-[10px] px-10 bg-blue-600 text-white rounded-lg continue_btn"})]}),(p===x-1||t)&&!o&&(r!=null?r:i.jsx(Ne,{isDisabled:J||Object.keys(V).length>0,isLoading:J,type:"submit",text:"Submit",style:{background:(b==null?void 0:b.buttonColor)||"#333"},btnClass:"text-gray-700 border-[#98A2B3] submit_btn !font-medium !py-[10px] px-10 bg-blue-600 text-white rounded-lg submit_btn"}))]}):!o&&(r!=null?r:i.jsx(Ne,{isDisabled:J||Object.keys(V).length>0,isLoading:J,type:"submit",text:"Submit",style:{background:(b==null?void 0:b.buttonColor)||"#333"},btnClass:"text-gray-700 border-[#98A2B3] submit_btn !font-medium !py-[10px] px-10 bg-blue-600 text-white rounded-lg submit_btn"}))})]})]})},xs=m.memo(fs);function fn({answerData:e,form_data:n,ignoreValidation:o,onSubmit:s,isReadOnly:a=!1,loading:t=!1,config:l={buttonColor:"#333"},renderType:r,children:d,hideFooter:c,onGetValues:u,uploadUrl:g}){m.useEffect(()=>{l&&un("config",l)},[l]);const p=m.useCallback(f=>{u&&u(f)},[u]);return t?i.jsx(hn,{}):n?i.jsxs("div",{id:"form",className:"w-full h-full",children:[i.jsx("div",{id:"root-portal"}),i.jsx(Di,{children:i.jsx(xs,{form_data:n,answerData:e,ignoreValidation:o,onSubmitData:s,isReadOnly:a,renderType:r,hideFooter:c,onGetValues:p,uploadUrl:g,children:d})})]}):i.jsx("div",{children:i.jsx("p",{className:"p-6 text-sm text-gray-400",children:"Error: No form data available."})})}de.FormBuilder=rs,de.FormViewer=fn,Object.defineProperty(de,Symbol.toStringTag,{value:"Module"})});
|