@schema-forms-data/renderer 0.3.23 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,3 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),v=require("react"),z=require("react-hook-form"),Oe=require("@schema-forms-data/templates"),p=require("@schema-forms-data/core"),F=require("lucide-react");function Vr(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const s in e)if(s!=="default"){const t=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(r,s,t.get?t:{enumerable:!0,get:()=>e[s]})}}return r.default=e,Object.freeze(r)}const je=Vr(F);function E(e,r,s){function t(c,l){if(c._zod||Object.defineProperty(c,"_zod",{value:{def:l,constr:i,traits:new Set},enumerable:!1}),c._zod.traits.has(e))return;c._zod.traits.add(e),r(c,l);const d=i.prototype,f=Object.keys(d);for(let u=0;u<f.length;u++){const g=f[u];g in c||(c[g]=d[g].bind(c))}}const n=(s==null?void 0:s.Parent)??Object;class o extends n{}Object.defineProperty(o,"name",{value:e});function i(c){var l;const d=s!=null&&s.Parent?new o:this;t(d,c),(l=d._zod).deferred??(l.deferred=[]);for(const f of d._zod.deferred)f();return d}return Object.defineProperty(i,"init",{value:t}),Object.defineProperty(i,Symbol.hasInstance,{value:c=>{var l,d;return s!=null&&s.Parent&&c instanceof s.Parent?!0:(d=(l=c==null?void 0:c._zod)==null?void 0:l.traits)==null?void 0:d.has(e)}}),Object.defineProperty(i,"name",{value:e}),i}class ce extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class fr extends Error{constructor(r){super(`Encountered unidirectional transform during encode: ${r}`),this.name="ZodEncodeError"}}const Jr={};function ne(e){return Jr}function Fe(e,r){return typeof r=="bigint"?r.toString():r}function Pe(e){return e==null}function De(e){const r=e.startsWith("^")?1:0,s=e.endsWith("$")?e.length-1:e.length;return e.slice(r,s)}const Be=Symbol("evaluating");function k(e,r,s){let t;Object.defineProperty(e,r,{get(){if(t!==Be)return t===void 0&&(t=Be,t=s()),t},set(n){Object.defineProperty(e,r,{value:n})},configurable:!0})}function Br(...e){const r={};for(const s of e){const t=Object.getOwnPropertyDescriptors(s);Object.assign(r,t)}return Object.defineProperties({},r)}const mr="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function Ue(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ke(e){if(Ue(e)===!1)return!1;const r=e.constructor;if(r===void 0||typeof r!="function")return!0;const s=r.prototype;return!(Ue(s)===!1||Object.prototype.hasOwnProperty.call(s,"isPrototypeOf")===!1)}function pr(e){return ke(e)?{...e}:Array.isArray(e)?[...e]:e}function Ur(e,r,s){const t=new e._zod.constr(r??e._zod.def);return(!r||s!=null&&s.parent)&&(t._zod.parent=e),t}function se(e){const r=e;if(!r)return{};if(typeof r=="string")return{error:()=>r};if((r==null?void 0:r.message)!==void 0){if((r==null?void 0:r.error)!==void 0)throw new Error("Cannot specify both `message` and `error` params");r.error=r.message}return delete r.message,typeof r.error=="string"?{...r,error:()=>r.error}:r}function ie(e,r=0){var s;if(e.aborted===!0)return!0;for(let t=r;t<e.issues.length;t++)if(((s=e.issues[t])==null?void 0:s.continue)!==!0)return!0;return!1}function Hr(e,r){return r.map(s=>{var t;return(t=s).path??(t.path=[]),s.path.unshift(e),s})}function he(e){return typeof e=="string"?e:e==null?void 0:e.message}function oe(e,r,s){var n,o,i,c,l,d;const t={...e,path:e.path??[]};if(!e.message){const f=he((i=(o=(n=e.inst)==null?void 0:n._zod.def)==null?void 0:o.error)==null?void 0:i.call(o,e))??he((c=r==null?void 0:r.error)==null?void 0:c.call(r,e))??he((l=s.customError)==null?void 0:l.call(s,e))??he((d=s.localeError)==null?void 0:d.call(s,e))??"Invalid input";t.message=f}return delete t.inst,delete t.continue,r!=null&&r.reportInput||delete t.input,t}function Ae(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function fe(...e){const[r,s,t]=e;return typeof r=="string"?{message:r,code:"custom",input:s,inst:t}:{...r}}const hr=(e,r)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:r,enumerable:!1}),e.message=JSON.stringify(r,Fe,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},gr=E("$ZodError",hr),xr=E("$ZodError",hr,{Parent:Error});function Wr(e,r=s=>s.message){const s={},t=[];for(const n of e.issues)n.path.length>0?(s[n.path[0]]=s[n.path[0]]||[],s[n.path[0]].push(r(n))):t.push(r(n));return{formErrors:t,fieldErrors:s}}function Xr(e,r=s=>s.message){const s={_errors:[]},t=n=>{for(const o of n.issues)if(o.code==="invalid_union"&&o.errors.length)o.errors.map(i=>t({issues:i}));else if(o.code==="invalid_key")t({issues:o.issues});else if(o.code==="invalid_element")t({issues:o.issues});else if(o.path.length===0)s._errors.push(r(o));else{let i=s,c=0;for(;c<o.path.length;){const l=o.path[c];c===o.path.length-1?(i[l]=i[l]||{_errors:[]},i[l]._errors.push(r(o))):i[l]=i[l]||{_errors:[]},i=i[l],c++}}};return t(e),s}const Re=e=>(r,s,t,n)=>{const o=t?Object.assign(t,{async:!1}):{async:!1},i=r._zod.run({value:s,issues:[]},o);if(i instanceof Promise)throw new ce;if(i.issues.length){const c=new((n==null?void 0:n.Err)??e)(i.issues.map(l=>oe(l,o,ne())));throw mr(c,n==null?void 0:n.callee),c}return i.value},Ie=e=>async(r,s,t,n)=>{const o=t?Object.assign(t,{async:!0}):{async:!0};let i=r._zod.run({value:s,issues:[]},o);if(i instanceof Promise&&(i=await i),i.issues.length){const c=new((n==null?void 0:n.Err)??e)(i.issues.map(l=>oe(l,o,ne())));throw mr(c,n==null?void 0:n.callee),c}return i.value},Ne=e=>(r,s,t)=>{const n=t?{...t,async:!1}:{async:!1},o=r._zod.run({value:s,issues:[]},n);if(o instanceof Promise)throw new ce;return o.issues.length?{success:!1,error:new(e??gr)(o.issues.map(i=>oe(i,n,ne())))}:{success:!0,data:o.value}},qr=Ne(xr),_e=e=>async(r,s,t)=>{const n=t?Object.assign(t,{async:!0}):{async:!0};let o=r._zod.run({value:s,issues:[]},n);return o instanceof Promise&&(o=await o),o.issues.length?{success:!1,error:new e(o.issues.map(i=>oe(i,n,ne())))}:{success:!0,data:o.value}},Kr=_e(xr),Gr=e=>(r,s,t)=>{const n=t?Object.assign(t,{direction:"backward"}):{direction:"backward"};return Re(e)(r,s,n)},Yr=e=>(r,s,t)=>Re(e)(r,s,t),Qr=e=>async(r,s,t)=>{const n=t?Object.assign(t,{direction:"backward"}):{direction:"backward"};return Ie(e)(r,s,n)},et=e=>async(r,s,t)=>Ie(e)(r,s,t),rt=e=>(r,s,t)=>{const n=t?Object.assign(t,{direction:"backward"}):{direction:"backward"};return Ne(e)(r,s,n)},tt=e=>(r,s,t)=>Ne(e)(r,s,t),st=e=>async(r,s,t)=>{const n=t?Object.assign(t,{direction:"backward"}):{direction:"backward"};return _e(e)(r,s,n)},nt=e=>async(r,s,t)=>_e(e)(r,s,t),de=E("$ZodCheck",(e,r)=>{var s;e._zod??(e._zod={}),e._zod.def=r,(s=e._zod).onattach??(s.onattach=[])}),ot=E("$ZodCheckMaxLength",(e,r)=>{var s;de.init(e,r),(s=e._zod.def).when??(s.when=t=>{const n=t.value;return!Pe(n)&&n.length!==void 0}),e._zod.onattach.push(t=>{const n=t._zod.bag.maximum??Number.POSITIVE_INFINITY;r.maximum<n&&(t._zod.bag.maximum=r.maximum)}),e._zod.check=t=>{const n=t.value;if(n.length<=r.maximum)return;const i=Ae(n);t.issues.push({origin:i,code:"too_big",maximum:r.maximum,inclusive:!0,input:n,inst:e,continue:!r.abort})}}),at=E("$ZodCheckMinLength",(e,r)=>{var s;de.init(e,r),(s=e._zod.def).when??(s.when=t=>{const n=t.value;return!Pe(n)&&n.length!==void 0}),e._zod.onattach.push(t=>{const n=t._zod.bag.minimum??Number.NEGATIVE_INFINITY;r.minimum>n&&(t._zod.bag.minimum=r.minimum)}),e._zod.check=t=>{const n=t.value;if(n.length>=r.minimum)return;const i=Ae(n);t.issues.push({origin:i,code:"too_small",minimum:r.minimum,inclusive:!0,input:n,inst:e,continue:!r.abort})}}),it=E("$ZodCheckLengthEquals",(e,r)=>{var s;de.init(e,r),(s=e._zod.def).when??(s.when=t=>{const n=t.value;return!Pe(n)&&n.length!==void 0}),e._zod.onattach.push(t=>{const n=t._zod.bag;n.minimum=r.length,n.maximum=r.length,n.length=r.length}),e._zod.check=t=>{const n=t.value,o=n.length;if(o===r.length)return;const i=Ae(n),c=o>r.length;t.issues.push({origin:i,...c?{code:"too_big",maximum:r.length}:{code:"too_small",minimum:r.length},inclusive:!0,exact:!0,input:t.value,inst:e,continue:!r.abort})}}),ct=E("$ZodCheckOverwrite",(e,r)=>{de.init(e,r),e._zod.check=s=>{s.value=r.tx(s.value)}}),lt={major:4,minor:3,patch:6},Z=E("$ZodType",(e,r)=>{var n;var s;e??(e={}),e._zod.def=r,e._zod.bag=e._zod.bag||{},e._zod.version=lt;const t=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&t.unshift(e);for(const o of t)for(const i of o._zod.onattach)i(e);if(t.length===0)(s=e._zod).deferred??(s.deferred=[]),(n=e._zod.deferred)==null||n.push(()=>{e._zod.run=e._zod.parse});else{const o=(c,l,d)=>{let f=ie(c),u;for(const g of l){if(g._zod.def.when){if(!g._zod.def.when(c))continue}else if(f)continue;const x=c.issues.length,j=g._zod.check(c);if(j instanceof Promise&&(d==null?void 0:d.async)===!1)throw new ce;if(u||j instanceof Promise)u=(u??Promise.resolve()).then(async()=>{await j,c.issues.length!==x&&(f||(f=ie(c,x)))});else{if(c.issues.length===x)continue;f||(f=ie(c,x))}}return u?u.then(()=>c):c},i=(c,l,d)=>{if(ie(c))return c.aborted=!0,c;const f=o(l,t,d);if(f instanceof Promise){if(d.async===!1)throw new ce;return f.then(u=>e._zod.parse(u,d))}return e._zod.parse(f,d)};e._zod.run=(c,l)=>{if(l.skipChecks)return e._zod.parse(c,l);if(l.direction==="backward"){const f=e._zod.parse({value:c.value,issues:[]},{...l,skipChecks:!0});return f instanceof Promise?f.then(u=>i(u,c,l)):i(f,c,l)}const d=e._zod.parse(c,l);if(d instanceof Promise){if(l.async===!1)throw new ce;return d.then(f=>o(f,t,l))}return o(d,t,l)}}k(e,"~standard",()=>({validate:o=>{var i;try{const c=qr(e,o);return c.success?{value:c.data}:{issues:(i=c.error)==null?void 0:i.issues}}catch{return Kr(e,o).then(l=>{var d;return l.success?{value:l.data}:{issues:(d=l.error)==null?void 0:d.issues}})}},vendor:"zod",version:1}))}),dt=E("$ZodUnknown",(e,r)=>{Z.init(e,r),e._zod.parse=s=>s});function He(e,r,s){e.issues.length&&r.issues.push(...Hr(s,e.issues)),r.value[s]=e.value}const ut=E("$ZodArray",(e,r)=>{Z.init(e,r),e._zod.parse=(s,t)=>{const n=s.value;if(!Array.isArray(n))return s.issues.push({expected:"array",code:"invalid_type",input:n,inst:e}),s;s.value=Array(n.length);const o=[];for(let i=0;i<n.length;i++){const c=n[i],l=r.element._zod.run({value:c,issues:[]},t);l instanceof Promise?o.push(l.then(d=>He(d,s,i))):He(l,s,i)}return o.length?Promise.all(o).then(()=>s):s}});function We(e,r,s,t){for(const o of e)if(o.issues.length===0)return r.value=o.value,r;const n=e.filter(o=>!ie(o));return n.length===1?(r.value=n[0].value,n[0]):(r.issues.push({code:"invalid_union",input:r.value,inst:s,errors:e.map(o=>o.issues.map(i=>oe(i,t,ne())))}),r)}const ft=E("$ZodUnion",(e,r)=>{Z.init(e,r),k(e._zod,"optin",()=>r.options.some(n=>n._zod.optin==="optional")?"optional":void 0),k(e._zod,"optout",()=>r.options.some(n=>n._zod.optout==="optional")?"optional":void 0),k(e._zod,"values",()=>{if(r.options.every(n=>n._zod.values))return new Set(r.options.flatMap(n=>Array.from(n._zod.values)))}),k(e._zod,"pattern",()=>{if(r.options.every(n=>n._zod.pattern)){const n=r.options.map(o=>o._zod.pattern);return new RegExp(`^(${n.map(o=>De(o.source)).join("|")})$`)}});const s=r.options.length===1,t=r.options[0]._zod.run;e._zod.parse=(n,o)=>{if(s)return t(n,o);let i=!1;const c=[];for(const l of r.options){const d=l._zod.run({value:n.value,issues:[]},o);if(d instanceof Promise)c.push(d),i=!0;else{if(d.issues.length===0)return d;c.push(d)}}return i?Promise.all(c).then(l=>We(l,n,e,o)):We(c,n,e,o)}}),mt=E("$ZodIntersection",(e,r)=>{Z.init(e,r),e._zod.parse=(s,t)=>{const n=s.value,o=r.left._zod.run({value:n,issues:[]},t),i=r.right._zod.run({value:n,issues:[]},t);return o instanceof Promise||i instanceof Promise?Promise.all([o,i]).then(([l,d])=>Xe(s,l,d)):Xe(s,o,i)}});function $e(e,r){if(e===r)return{valid:!0,data:e};if(e instanceof Date&&r instanceof Date&&+e==+r)return{valid:!0,data:e};if(ke(e)&&ke(r)){const s=Object.keys(r),t=Object.keys(e).filter(o=>s.indexOf(o)!==-1),n={...e,...r};for(const o of t){const i=$e(e[o],r[o]);if(!i.valid)return{valid:!1,mergeErrorPath:[o,...i.mergeErrorPath]};n[o]=i.data}return{valid:!0,data:n}}if(Array.isArray(e)&&Array.isArray(r)){if(e.length!==r.length)return{valid:!1,mergeErrorPath:[]};const s=[];for(let t=0;t<e.length;t++){const n=e[t],o=r[t],i=$e(n,o);if(!i.valid)return{valid:!1,mergeErrorPath:[t,...i.mergeErrorPath]};s.push(i.data)}return{valid:!0,data:s}}return{valid:!1,mergeErrorPath:[]}}function Xe(e,r,s){const t=new Map;let n;for(const c of r.issues)if(c.code==="unrecognized_keys"){n??(n=c);for(const l of c.keys)t.has(l)||t.set(l,{}),t.get(l).l=!0}else e.issues.push(c);for(const c of s.issues)if(c.code==="unrecognized_keys")for(const l of c.keys)t.has(l)||t.set(l,{}),t.get(l).r=!0;else e.issues.push(c);const o=[...t].filter(([,c])=>c.l&&c.r).map(([c])=>c);if(o.length&&n&&e.issues.push({...n,keys:o}),ie(e))return e;const i=$e(r.value,s.value);if(!i.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(i.mergeErrorPath)}`);return e.value=i.data,e}const pt=E("$ZodTransform",(e,r)=>{Z.init(e,r),e._zod.parse=(s,t)=>{if(t.direction==="backward")throw new fr(e.constructor.name);const n=r.transform(s.value,s);if(t.async)return(n instanceof Promise?n:Promise.resolve(n)).then(i=>(s.value=i,s));if(n instanceof Promise)throw new ce;return s.value=n,s}});function qe(e,r){return e.issues.length&&r===void 0?{issues:[],value:void 0}:e}const yr=E("$ZodOptional",(e,r)=>{Z.init(e,r),e._zod.optin="optional",e._zod.optout="optional",k(e._zod,"values",()=>r.innerType._zod.values?new Set([...r.innerType._zod.values,void 0]):void 0),k(e._zod,"pattern",()=>{const s=r.innerType._zod.pattern;return s?new RegExp(`^(${De(s.source)})?$`):void 0}),e._zod.parse=(s,t)=>{if(r.innerType._zod.optin==="optional"){const n=r.innerType._zod.run(s,t);return n instanceof Promise?n.then(o=>qe(o,s.value)):qe(n,s.value)}return s.value===void 0?s:r.innerType._zod.run(s,t)}}),ht=E("$ZodExactOptional",(e,r)=>{yr.init(e,r),k(e._zod,"values",()=>r.innerType._zod.values),k(e._zod,"pattern",()=>r.innerType._zod.pattern),e._zod.parse=(s,t)=>r.innerType._zod.run(s,t)}),gt=E("$ZodNullable",(e,r)=>{Z.init(e,r),k(e._zod,"optin",()=>r.innerType._zod.optin),k(e._zod,"optout",()=>r.innerType._zod.optout),k(e._zod,"pattern",()=>{const s=r.innerType._zod.pattern;return s?new RegExp(`^(${De(s.source)}|null)$`):void 0}),k(e._zod,"values",()=>r.innerType._zod.values?new Set([...r.innerType._zod.values,null]):void 0),e._zod.parse=(s,t)=>s.value===null?s:r.innerType._zod.run(s,t)}),xt=E("$ZodDefault",(e,r)=>{Z.init(e,r),e._zod.optin="optional",k(e._zod,"values",()=>r.innerType._zod.values),e._zod.parse=(s,t)=>{if(t.direction==="backward")return r.innerType._zod.run(s,t);if(s.value===void 0)return s.value=r.defaultValue,s;const n=r.innerType._zod.run(s,t);return n instanceof Promise?n.then(o=>Ke(o,r)):Ke(n,r)}});function Ke(e,r){return e.value===void 0&&(e.value=r.defaultValue),e}const yt=E("$ZodPrefault",(e,r)=>{Z.init(e,r),e._zod.optin="optional",k(e._zod,"values",()=>r.innerType._zod.values),e._zod.parse=(s,t)=>(t.direction==="backward"||s.value===void 0&&(s.value=r.defaultValue),r.innerType._zod.run(s,t))}),vt=E("$ZodNonOptional",(e,r)=>{Z.init(e,r),k(e._zod,"values",()=>{const s=r.innerType._zod.values;return s?new Set([...s].filter(t=>t!==void 0)):void 0}),e._zod.parse=(s,t)=>{const n=r.innerType._zod.run(s,t);return n instanceof Promise?n.then(o=>Ge(o,e)):Ge(n,e)}});function Ge(e,r){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:r}),e}const bt=E("$ZodCatch",(e,r)=>{Z.init(e,r),k(e._zod,"optin",()=>r.innerType._zod.optin),k(e._zod,"optout",()=>r.innerType._zod.optout),k(e._zod,"values",()=>r.innerType._zod.values),e._zod.parse=(s,t)=>{if(t.direction==="backward")return r.innerType._zod.run(s,t);const n=r.innerType._zod.run(s,t);return n instanceof Promise?n.then(o=>(s.value=o.value,o.issues.length&&(s.value=r.catchValue({...s,error:{issues:o.issues.map(i=>oe(i,t,ne()))},input:s.value}),s.issues=[]),s)):(s.value=n.value,n.issues.length&&(s.value=r.catchValue({...s,error:{issues:n.issues.map(o=>oe(o,t,ne()))},input:s.value}),s.issues=[]),s)}}),jt=E("$ZodPipe",(e,r)=>{Z.init(e,r),k(e._zod,"values",()=>r.in._zod.values),k(e._zod,"optin",()=>r.in._zod.optin),k(e._zod,"optout",()=>r.out._zod.optout),k(e._zod,"propValues",()=>r.in._zod.propValues),e._zod.parse=(s,t)=>{if(t.direction==="backward"){const o=r.out._zod.run(s,t);return o instanceof Promise?o.then(i=>ge(i,r.in,t)):ge(o,r.in,t)}const n=r.in._zod.run(s,t);return n instanceof Promise?n.then(o=>ge(o,r.out,t)):ge(n,r.out,t)}});function ge(e,r,s){return e.issues.length?(e.aborted=!0,e):r._zod.run({value:e.value,issues:e.issues},s)}const Nt=E("$ZodReadonly",(e,r)=>{Z.init(e,r),k(e._zod,"propValues",()=>r.innerType._zod.propValues),k(e._zod,"values",()=>r.innerType._zod.values),k(e._zod,"optin",()=>{var s,t;return(t=(s=r.innerType)==null?void 0:s._zod)==null?void 0:t.optin}),k(e._zod,"optout",()=>{var s,t;return(t=(s=r.innerType)==null?void 0:s._zod)==null?void 0:t.optout}),e._zod.parse=(s,t)=>{if(t.direction==="backward")return r.innerType._zod.run(s,t);const n=r.innerType._zod.run(s,t);return n instanceof Promise?n.then(Ye):Ye(n)}});function Ye(e){return e.value=Object.freeze(e.value),e}const _t=E("$ZodCustom",(e,r)=>{de.init(e,r),Z.init(e,r),e._zod.parse=(s,t)=>s,e._zod.check=s=>{const t=s.value,n=r.fn(t);if(n instanceof Promise)return n.then(o=>Qe(o,s,t,e));Qe(n,s,t,e)}});function Qe(e,r,s,t){if(!e){const n={code:"custom",input:s,inst:t,path:[...t._zod.def.path??[]],continue:!t._zod.def.abort};t._zod.def.params&&(n.params=t._zod.def.params),r.issues.push(fe(n))}}var er;class wt{constructor(){this._map=new WeakMap,this._idmap=new Map}add(r,...s){const t=s[0];return this._map.set(r,t),t&&typeof t=="object"&&"id"in t&&this._idmap.set(t.id,r),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(r){const s=this._map.get(r);return s&&typeof s=="object"&&"id"in s&&this._idmap.delete(s.id),this._map.delete(r),this}get(r){const s=r._zod.parent;if(s){const t={...this.get(s)??{}};delete t.id;const n={...t,...this._map.get(r)};return Object.keys(n).length?n:void 0}return this._map.get(r)}has(r){return this._map.has(r)}}function Tt(){return new wt}(er=globalThis).__zod_globalRegistry??(er.__zod_globalRegistry=Tt());const ue=globalThis.__zod_globalRegistry;function Ct(e){return new e({type:"unknown"})}function St(e,r){return new ot({check:"max_length",...se(r),maximum:e})}function rr(e,r){return new at({check:"min_length",...se(r),minimum:e})}function zt(e,r){return new it({check:"length_equals",...se(r),length:e})}function Et(e){return new ct({check:"overwrite",tx:e})}function Ot(e,r,s){return new e({type:"array",element:r,...se(s)})}function Ft(e,r,s){return new e({type:"custom",check:"custom",fn:r,...se(s)})}function kt(e){const r=$t(s=>(s.addIssue=t=>{if(typeof t=="string")s.issues.push(fe(t,s.value,r._zod.def));else{const n=t;n.fatal&&(n.continue=!1),n.code??(n.code="custom"),n.input??(n.input=s.value),n.inst??(n.inst=r),n.continue??(n.continue=!r._zod.def.abort),s.issues.push(fe(n))}},e(s.value,s)));return r}function $t(e,r){const s=new de({check:"custom",...se(r)});return s._zod.check=e,s}function vr(e){let r=(e==null?void 0:e.target)??"draft-2020-12";return r==="draft-4"&&(r="draft-04"),r==="draft-7"&&(r="draft-07"),{processors:e.processors??{},metadataRegistry:(e==null?void 0:e.metadata)??ue,target:r,unrepresentable:(e==null?void 0:e.unrepresentable)??"throw",override:(e==null?void 0:e.override)??(()=>{}),io:(e==null?void 0:e.io)??"output",counter:0,seen:new Map,cycles:(e==null?void 0:e.cycles)??"ref",reused:(e==null?void 0:e.reused)??"inline",external:(e==null?void 0:e.external)??void 0}}function I(e,r,s={path:[],schemaPath:[]}){var f,u;var t;const n=e._zod.def,o=r.seen.get(e);if(o)return o.count++,s.schemaPath.includes(e)&&(o.cycle=s.path),o.schema;const i={schema:{},count:1,cycle:void 0,path:s.path};r.seen.set(e,i);const c=(u=(f=e._zod).toJSONSchema)==null?void 0:u.call(f);if(c)i.schema=c;else{const g={...s,schemaPath:[...s.schemaPath,e],path:s.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(r,i.schema,g);else{const j=i.schema,y=r.processors[n.type];if(!y)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${n.type}`);y(e,r,j,g)}const x=e._zod.parent;x&&(i.ref||(i.ref=x),I(x,r,g),r.seen.get(x).isParent=!0)}const l=r.metadataRegistry.get(e);return l&&Object.assign(i.schema,l),r.io==="input"&&R(e)&&(delete i.schema.examples,delete i.schema.default),r.io==="input"&&i.schema._prefault&&((t=i.schema).default??(t.default=i.schema._prefault)),delete i.schema._prefault,r.seen.get(e).schema}function br(e,r){var i,c,l,d;const s=e.seen.get(r);if(!s)throw new Error("Unprocessed schema. This is a bug in Zod.");const t=new Map;for(const f of e.seen.entries()){const u=(i=e.metadataRegistry.get(f[0]))==null?void 0:i.id;if(u){const g=t.get(u);if(g&&g!==f[0])throw new Error(`Duplicate schema id "${u}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);t.set(u,f[0])}}const n=f=>{var y;const u=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const _=(y=e.external.registry.get(f[0]))==null?void 0:y.id,C=e.external.uri??(m=>m);if(_)return{ref:C(_)};const h=f[1].defId??f[1].schema.id??`schema${e.counter++}`;return f[1].defId=h,{defId:h,ref:`${C("__shared")}#/${u}/${h}`}}if(f[1]===s)return{ref:"#"};const x=`#/${u}/`,j=f[1].schema.id??`__schema${e.counter++}`;return{defId:j,ref:x+j}},o=f=>{if(f[1].schema.$ref)return;const u=f[1],{ref:g,defId:x}=n(f);u.def={...u.schema},x&&(u.defId=x);const j=u.schema;for(const y in j)delete j[y];j.$ref=g};if(e.cycles==="throw")for(const f of e.seen.entries()){const u=f[1];if(u.cycle)throw new Error(`Cycle detected: #/${(c=u.cycle)==null?void 0:c.join("/")}/<root>
2
-
3
- Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const f of e.seen.entries()){const u=f[1];if(r===f[0]){o(f);continue}if(e.external){const x=(l=e.external.registry.get(f[0]))==null?void 0:l.id;if(r!==f[0]&&x){o(f);continue}}if((d=e.metadataRegistry.get(f[0]))==null?void 0:d.id){o(f);continue}if(u.cycle){o(f);continue}if(u.count>1&&e.reused==="ref"){o(f);continue}}}function jr(e,r){var i,c,l;const s=e.seen.get(r);if(!s)throw new Error("Unprocessed schema. This is a bug in Zod.");const t=d=>{const f=e.seen.get(d);if(f.ref===null)return;const u=f.def??f.schema,g={...u},x=f.ref;if(f.ref=null,x){t(x);const y=e.seen.get(x),_=y.schema;if(_.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(u.allOf=u.allOf??[],u.allOf.push(_)):Object.assign(u,_),Object.assign(u,g),d._zod.parent===x)for(const h in u)h==="$ref"||h==="allOf"||h in g||delete u[h];if(_.$ref&&y.def)for(const h in u)h==="$ref"||h==="allOf"||h in y.def&&JSON.stringify(u[h])===JSON.stringify(y.def[h])&&delete u[h]}const j=d._zod.parent;if(j&&j!==x){t(j);const y=e.seen.get(j);if(y!=null&&y.schema.$ref&&(u.$ref=y.schema.$ref,y.def))for(const _ in u)_==="$ref"||_==="allOf"||_ in y.def&&JSON.stringify(u[_])===JSON.stringify(y.def[_])&&delete u[_]}e.override({zodSchema:d,jsonSchema:u,path:f.path??[]})};for(const d of[...e.seen.entries()].reverse())t(d[0]);const n={};if(e.target==="draft-2020-12"?n.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?n.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?n.$schema="http://json-schema.org/draft-04/schema#":e.target,(i=e.external)!=null&&i.uri){const d=(c=e.external.registry.get(r))==null?void 0:c.id;if(!d)throw new Error("Schema is missing an `id` property");n.$id=e.external.uri(d)}Object.assign(n,s.def??s.schema);const o=((l=e.external)==null?void 0:l.defs)??{};for(const d of e.seen.entries()){const f=d[1];f.def&&f.defId&&(o[f.defId]=f.def)}e.external||Object.keys(o).length>0&&(e.target==="draft-2020-12"?n.$defs=o:n.definitions=o);try{const d=JSON.parse(JSON.stringify(n));return Object.defineProperty(d,"~standard",{value:{...r["~standard"],jsonSchema:{input:be(r,"input",e.processors),output:be(r,"output",e.processors)}},enumerable:!1,writable:!1}),d}catch{throw new Error("Error converting schema to JSON.")}}function R(e,r){const s=r??{seen:new Set};if(s.seen.has(e))return!1;s.seen.add(e);const t=e._zod.def;if(t.type==="transform")return!0;if(t.type==="array")return R(t.element,s);if(t.type==="set")return R(t.valueType,s);if(t.type==="lazy")return R(t.getter(),s);if(t.type==="promise"||t.type==="optional"||t.type==="nonoptional"||t.type==="nullable"||t.type==="readonly"||t.type==="default"||t.type==="prefault")return R(t.innerType,s);if(t.type==="intersection")return R(t.left,s)||R(t.right,s);if(t.type==="record"||t.type==="map")return R(t.keyType,s)||R(t.valueType,s);if(t.type==="pipe")return R(t.in,s)||R(t.out,s);if(t.type==="object"){for(const n in t.shape)if(R(t.shape[n],s))return!0;return!1}if(t.type==="union"){for(const n of t.options)if(R(n,s))return!0;return!1}if(t.type==="tuple"){for(const n of t.items)if(R(n,s))return!0;return!!(t.rest&&R(t.rest,s))}return!1}const Pt=(e,r={})=>s=>{const t=vr({...s,processors:r});return I(e,t),br(t,e),jr(t,e)},be=(e,r,s={})=>t=>{const{libraryOptions:n,target:o}=t??{},i=vr({...n??{},target:o,io:r,processors:s});return I(e,i),br(i,e),jr(i,e)},Dt=(e,r,s,t)=>{},At=(e,r,s,t)=>{if(r.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Rt=(e,r,s,t)=>{if(r.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},It=(e,r,s,t)=>{const n=s,o=e._zod.def,{minimum:i,maximum:c}=e._zod.bag;typeof i=="number"&&(n.minItems=i),typeof c=="number"&&(n.maxItems=c),n.type="array",n.items=I(o.element,r,{...t,path:[...t.path,"items"]})},Zt=(e,r,s,t)=>{const n=e._zod.def,o=n.inclusive===!1,i=n.options.map((c,l)=>I(c,r,{...t,path:[...t.path,o?"oneOf":"anyOf",l]}));o?s.oneOf=i:s.anyOf=i},Lt=(e,r,s,t)=>{const n=e._zod.def,o=I(n.left,r,{...t,path:[...t.path,"allOf",0]}),i=I(n.right,r,{...t,path:[...t.path,"allOf",1]}),c=d=>"allOf"in d&&Object.keys(d).length===1,l=[...c(o)?o.allOf:[o],...c(i)?i.allOf:[i]];s.allOf=l},Mt=(e,r,s,t)=>{const n=e._zod.def,o=I(n.innerType,r,t),i=r.seen.get(e);r.target==="openapi-3.0"?(i.ref=n.innerType,s.nullable=!0):s.anyOf=[o,{type:"null"}]},Vt=(e,r,s,t)=>{const n=e._zod.def;I(n.innerType,r,t);const o=r.seen.get(e);o.ref=n.innerType},Jt=(e,r,s,t)=>{const n=e._zod.def;I(n.innerType,r,t);const o=r.seen.get(e);o.ref=n.innerType,s.default=JSON.parse(JSON.stringify(n.defaultValue))},Bt=(e,r,s,t)=>{const n=e._zod.def;I(n.innerType,r,t);const o=r.seen.get(e);o.ref=n.innerType,r.io==="input"&&(s._prefault=JSON.parse(JSON.stringify(n.defaultValue)))},Ut=(e,r,s,t)=>{const n=e._zod.def;I(n.innerType,r,t);const o=r.seen.get(e);o.ref=n.innerType;let i;try{i=n.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}s.default=i},Ht=(e,r,s,t)=>{const n=e._zod.def,o=r.io==="input"?n.in._zod.def.type==="transform"?n.out:n.in:n.out;I(o,r,t);const i=r.seen.get(e);i.ref=o},Wt=(e,r,s,t)=>{const n=e._zod.def;I(n.innerType,r,t);const o=r.seen.get(e);o.ref=n.innerType,s.readOnly=!0},Nr=(e,r,s,t)=>{const n=e._zod.def;I(n.innerType,r,t);const o=r.seen.get(e);o.ref=n.innerType},Xt=(e,r)=>{gr.init(e,r),e.name="ZodError",Object.defineProperties(e,{format:{value:s=>Xr(e,s)},flatten:{value:s=>Wr(e,s)},addIssue:{value:s=>{e.issues.push(s),e.message=JSON.stringify(e.issues,Fe,2)}},addIssues:{value:s=>{e.issues.push(...s),e.message=JSON.stringify(e.issues,Fe,2)}},isEmpty:{get(){return e.issues.length===0}}})},X=E("ZodError",Xt,{Parent:Error}),qt=Re(X),Kt=Ie(X),Gt=Ne(X),Yt=_e(X),Qt=Gr(X),es=Yr(X),rs=Qr(X),ts=et(X),ss=rt(X),ns=tt(X),os=st(X),as=nt(X),L=E("ZodType",(e,r)=>(Z.init(e,r),Object.assign(e["~standard"],{jsonSchema:{input:be(e,"input"),output:be(e,"output")}}),e.toJSONSchema=Pt(e,{}),e.def=r,e.type=r.type,Object.defineProperty(e,"_def",{value:r}),e.check=(...s)=>e.clone(Br(r,{checks:[...r.checks??[],...s.map(t=>typeof t=="function"?{_zod:{check:t,def:{check:"custom"},onattach:[]}}:t)]}),{parent:!0}),e.with=e.check,e.clone=(s,t)=>Ur(e,s,t),e.brand=()=>e,e.register=(s,t)=>(s.add(e,t),e),e.parse=(s,t)=>qt(e,s,t,{callee:e.parse}),e.safeParse=(s,t)=>Gt(e,s,t),e.parseAsync=async(s,t)=>Kt(e,s,t,{callee:e.parseAsync}),e.safeParseAsync=async(s,t)=>Yt(e,s,t),e.spa=e.safeParseAsync,e.encode=(s,t)=>Qt(e,s,t),e.decode=(s,t)=>es(e,s,t),e.encodeAsync=async(s,t)=>rs(e,s,t),e.decodeAsync=async(s,t)=>ts(e,s,t),e.safeEncode=(s,t)=>ss(e,s,t),e.safeDecode=(s,t)=>ns(e,s,t),e.safeEncodeAsync=async(s,t)=>os(e,s,t),e.safeDecodeAsync=async(s,t)=>as(e,s,t),e.refine=(s,t)=>e.check($s(s,t)),e.superRefine=s=>e.check(Ps(s)),e.overwrite=s=>e.check(Et(s)),e.optional=()=>tr(e),e.exactOptional=()=>vs(e),e.nullable=()=>sr(e),e.nullish=()=>tr(sr(e)),e.nonoptional=s=>Cs(e,s),e.array=()=>ds(e),e.or=s=>fs([e,s]),e.and=s=>ps(e,s),e.transform=s=>nr(e,gs(s)),e.default=s=>Ns(e,s),e.prefault=s=>ws(e,s),e.catch=s=>zs(e,s),e.pipe=s=>nr(e,s),e.readonly=()=>Fs(e),e.describe=s=>{const t=e.clone();return ue.add(t,{description:s}),t},Object.defineProperty(e,"description",{get(){var s;return(s=ue.get(e))==null?void 0:s.description},configurable:!0}),e.meta=(...s)=>{if(s.length===0)return ue.get(e);const t=e.clone();return ue.add(t,s[0]),t},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=s=>s(e),e)),is=E("ZodUnknown",(e,r)=>{dt.init(e,r),L.init(e,r),e._zod.processJSONSchema=(s,t,n)=>Dt()});function cs(){return Ct(is)}const ls=E("ZodArray",(e,r)=>{ut.init(e,r),L.init(e,r),e._zod.processJSONSchema=(s,t,n)=>It(e,s,t,n),e.element=r.element,e.min=(s,t)=>e.check(rr(s,t)),e.nonempty=s=>e.check(rr(1,s)),e.max=(s,t)=>e.check(St(s,t)),e.length=(s,t)=>e.check(zt(s,t)),e.unwrap=()=>e.element});function ds(e,r){return Ot(ls,e,r)}const us=E("ZodUnion",(e,r)=>{ft.init(e,r),L.init(e,r),e._zod.processJSONSchema=(s,t,n)=>Zt(e,s,t,n),e.options=r.options});function fs(e,r){return new us({type:"union",options:e,...se(r)})}const ms=E("ZodIntersection",(e,r)=>{mt.init(e,r),L.init(e,r),e._zod.processJSONSchema=(s,t,n)=>Lt(e,s,t,n)});function ps(e,r){return new ms({type:"intersection",left:e,right:r})}const hs=E("ZodTransform",(e,r)=>{pt.init(e,r),L.init(e,r),e._zod.processJSONSchema=(s,t,n)=>Rt(e,s),e._zod.parse=(s,t)=>{if(t.direction==="backward")throw new fr(e.constructor.name);s.addIssue=o=>{if(typeof o=="string")s.issues.push(fe(o,s.value,r));else{const i=o;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=s.value),i.inst??(i.inst=e),s.issues.push(fe(i))}};const n=r.transform(s.value,s);return n instanceof Promise?n.then(o=>(s.value=o,s)):(s.value=n,s)}});function gs(e){return new hs({type:"transform",transform:e})}const xs=E("ZodOptional",(e,r)=>{yr.init(e,r),L.init(e,r),e._zod.processJSONSchema=(s,t,n)=>Nr(e,s,t,n),e.unwrap=()=>e._zod.def.innerType});function tr(e){return new xs({type:"optional",innerType:e})}const ys=E("ZodExactOptional",(e,r)=>{ht.init(e,r),L.init(e,r),e._zod.processJSONSchema=(s,t,n)=>Nr(e,s,t,n),e.unwrap=()=>e._zod.def.innerType});function vs(e){return new ys({type:"optional",innerType:e})}const bs=E("ZodNullable",(e,r)=>{gt.init(e,r),L.init(e,r),e._zod.processJSONSchema=(s,t,n)=>Mt(e,s,t,n),e.unwrap=()=>e._zod.def.innerType});function sr(e){return new bs({type:"nullable",innerType:e})}const js=E("ZodDefault",(e,r)=>{xt.init(e,r),L.init(e,r),e._zod.processJSONSchema=(s,t,n)=>Jt(e,s,t,n),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Ns(e,r){return new js({type:"default",innerType:e,get defaultValue(){return typeof r=="function"?r():pr(r)}})}const _s=E("ZodPrefault",(e,r)=>{yt.init(e,r),L.init(e,r),e._zod.processJSONSchema=(s,t,n)=>Bt(e,s,t,n),e.unwrap=()=>e._zod.def.innerType});function ws(e,r){return new _s({type:"prefault",innerType:e,get defaultValue(){return typeof r=="function"?r():pr(r)}})}const Ts=E("ZodNonOptional",(e,r)=>{vt.init(e,r),L.init(e,r),e._zod.processJSONSchema=(s,t,n)=>Vt(e,s,t,n),e.unwrap=()=>e._zod.def.innerType});function Cs(e,r){return new Ts({type:"nonoptional",innerType:e,...se(r)})}const Ss=E("ZodCatch",(e,r)=>{bt.init(e,r),L.init(e,r),e._zod.processJSONSchema=(s,t,n)=>Ut(e,s,t,n),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function zs(e,r){return new Ss({type:"catch",innerType:e,catchValue:typeof r=="function"?r:()=>r})}const Es=E("ZodPipe",(e,r)=>{jt.init(e,r),L.init(e,r),e._zod.processJSONSchema=(s,t,n)=>Ht(e,s,t,n),e.in=r.in,e.out=r.out});function nr(e,r){return new Es({type:"pipe",in:e,out:r})}const Os=E("ZodReadonly",(e,r)=>{Nt.init(e,r),L.init(e,r),e._zod.processJSONSchema=(s,t,n)=>Wt(e,s,t,n),e.unwrap=()=>e._zod.def.innerType});function Fs(e){return new Os({type:"readonly",innerType:e})}const ks=E("ZodCustom",(e,r)=>{_t.init(e,r),L.init(e,r),e._zod.processJSONSchema=(s,t,n)=>At(e,s)});function $s(e,r={}){return Ft(ks,e,r)}function Ps(e){return kt(e)}const Ds={custom:"custom"},G=(e,r,s={})=>{if(!e)return!0;if("and"in e||"or"in e)return"and"in e&&Array.isArray(e.and)?e.and.every(d=>G(d,r,s)):"or"in e&&Array.isArray(e.or)?e.or.some(d=>G(d,r,s)):!0;const t=e;if(!t.campoId)return!0;const n=t.source==="evento"?s[t.campoId]:r[t.campoId],o=n!=null?String(n):"",i=t.valor!==void 0?String(t.valor):"",c=parseFloat(o),l=parseFloat(i);switch(t.operador){case"igual":return o===i;case"diferente":return o!==i;case"vazio":return!o;case"naoVazio":return!!o;case"contem":return o.includes(i);case"naoContem":return!o.includes(i);case"maiorQue":return!isNaN(c)&&!isNaN(l)&&c>l;case"menorQue":return!isNaN(c)&&!isNaN(l)&&c<l;case"maiorOuIgual":return!isNaN(c)&&!isNaN(l)&&c>=l;case"menorOuIgual":return!isNaN(c)&&!isNaN(l)&&c<=l;default:return!0}},As=/^\d{3}\.?\d{3}\.?\d{3}-?\d{2}$/,Rs=/^\(?\d{2}\)?\s?\d{4,5}-?\d{4}$/,Is=/^\d{5}-?\d{3}$/,Zs=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,Ee=(e,r,s={})=>{const t=e.validacao;if(e.tipo===p.FieldType.CHECKBOX||e.tipo===p.FieldType.SWITCH)return e.obrigatorio&&!r?"Campo obrigatório":void 0;if(e.tipo===p.FieldType.SLIDER){const o=r!==void 0?Number(r):NaN;return e.obrigatorio&&isNaN(o)?"Campo obrigatório":isNaN(o)?void 0:(t==null?void 0:t.min)!==void 0&&o<t.min?`Valor mínimo: ${t.min}`:(t==null?void 0:t.max)!==void 0&&o>t.max?`Valor máximo: ${t.max}`:void 0}if(e.tipo===p.FieldType.RATING){const o=r!==void 0?Number(r):0;return e.obrigatorio&&(!o||o<1)?"Avaliação obrigatória":void 0}if(e.tipo===p.FieldType.DATE_RANGE){const o=r;if(e.obrigatorio){if(!(o!=null&&o.start))return"Data inicial obrigatória";if(!(o!=null&&o.end))return"Data final obrigatória"}return o!=null&&o.start&&(o!=null&&o.end)&&o.start>o.end?"A data inicial deve ser menor ou igual à data final":void 0}if(e.tipo===p.FieldType.PARTICIPATION_TYPE){if(!e.obrigatorio)return;const o=r;return o!=null&&o.tipo?o.tipo==="por_dia"&&!o.data?"Selecione um dia para participar":"genero"in(o??{})&&!(o!=null&&o.genero)?"Selecione o sexo":void 0:"Selecione o tipo de participação"}if(e.tipo===p.FieldType.CHECKBOX_GROUP){const o=Array.isArray(r)?r:[];return e.obrigatorio&&o.length===0?"Selecione pelo menos uma opção":void 0}if(e.tipo===p.FieldType.FILE)return e.obrigatorio&&!r?"Arquivo obrigatório":void 0;if(e.tipo===p.FieldType.NUMBER){const o=r!=null?String(r):"";if(e.obrigatorio&&!o)return"Campo obrigatório";if(!o)return;const i=Number(o);return isNaN(i)?"Deve ser um número":(t==null?void 0:t.min)!==void 0&&i<t.min?`Valor mínimo: ${t.min}`:(t==null?void 0:t.max)!==void 0&&i>t.max?`Valor máximo: ${t.max}`:void 0}const n=r!=null?String(r):"";if(e.obrigatorio&&!n.trim())return"Campo obrigatório";if(n){if(e.tipo===p.FieldType.EMAIL&&!Zs.test(n))return"E-mail inválido";if(e.tipo===p.FieldType.CPF&&!As.test(n))return"CPF inválido";if(e.tipo===p.FieldType.TELEFONE&&!Rs.test(n))return"Telefone inválido";if(e.tipo===p.FieldType.CEP&&!Is.test(n))return"CEP inválido";if(t!=null&&t.minLength&&n.length<t.minLength)return`Mínimo ${t.minLength} caracteres`;if(t!=null&&t.maxLength&&n.length>t.maxLength)return`Máximo ${t.maxLength} caracteres`;if((e.tipo===p.FieldType.DATE||e.tipo===p.FieldType.DATETIME)&&n){if(t!=null&&t.minDate&&n<t.minDate)return`Data mínima: ${t.minDate}`;if(t!=null&&t.maxDate&&n>t.maxDate)return`Data máxima: ${t.maxDate}`}if((e.tipo===p.FieldType.DATE||e.tipo===p.FieldType.DATETIME)&&n&&((t==null?void 0:t.minAge)!=null||(t==null?void 0:t.maxAge)!=null)){const o=n.split("T")[0],i=new Date(o+"T00:00:00"),c=s["evento.dataInicioEvento"],l=c?new Date(c.split("T")[0]+"T00:00:00"):new Date;let d=l.getFullYear()-i.getFullYear();const f=l.getMonth()-i.getMonth();if((f<0||f===0&&l.getDate()<i.getDate())&&d--,t.minAge!=null&&d<t.minAge)return`Idade mínima: ${t.minAge} ano${t.minAge!==1?"s":""}`;if(t.maxAge!=null&&d>t.maxAge)return`Idade máxima: ${t.maxAge} ano${t.maxAge!==1?"s":""}`}if(t!=null&&t.regex)try{if(!new RegExp(t.regex).test(n))return t.regexMessage||"Formato inválido"}catch{}}},xe=(e,r,s)=>{const t=r.split(".");let n=e;for(let o=0;o<t.length-1;o++){const i=t[o];(n[i]==null||typeof n[i]!="object")&&(n[i]={}),n=n[i]}n[t[t.length-1]]=s},Ls=e=>[...e.containers].sort((r,s)=>r.ordem-s.ordem).filter(r=>!r.repeatable).flatMap(r=>[...r.campos].sort((s,t)=>s.ordem-t.ordem)),_r=(e,r={},s={})=>async t=>{var l,d,f;const n=Ls(e),o={};for(const u of n){if(!G(u.condicional,t,r)||u.tipo===p.FieldType.HIDDEN)continue;if(u.tipo===p.FieldType.FIELD_ARRAY){const j=Array.isArray(t[u.nome])?t[u.nome]:[];u.obrigatorio&&j.length===0?o[u.nome]={type:"custom",message:"Adicione pelo menos um item"}:u.minItems&&j.length<u.minItems&&(o[u.nome]={type:"custom",message:`Mínimo de ${u.minItems} item${u.minItems!==1?"s":""}`});for(let y=0;y<j.length;y++){const _=j[y];for(const C of u.subFields??[]){const h=Ee(C,_[C.nome],r);if(h){xe(o,`${u.nome}.${y}.${C.nome}`,{type:"custom",message:h});continue}if((l=C.validate)!=null&&l.length){const m=await ve(C.validate,C.nome,_[C.nome],_,r,s);m&&xe(o,`${u.nome}.${y}.${C.nome}`,{type:"custom",message:m})}}}continue}const x=Ee(u,t[u.nome],r);if(x&&(o[u.nome]={type:"custom",message:x}),!o[u.nome]&&((d=u.validate)!=null&&d.length)){const j=await ve(u.validate,u.nome,t[u.nome],t,r,s);j&&(o[u.nome]={type:"custom",message:j})}}const i=e.containers.filter(u=>u.repeatable&&u.nome);for(const u of i){const g=Array.isArray(t[u.nome])?t[u.nome]:[];for(let x=0;x<g.length;x++){const j=g[x];for(const y of u.campos){if(!G(y.condicional,j,r)||y.tipo===p.FieldType.HIDDEN)continue;const C=Ee(y,j[y.nome],r);if(C){xe(o,`${u.nome}.${x}.${y.nome}`,{type:"custom",message:C});continue}if((f=y.validate)!=null&&f.length){const h=await ve(y.validate,y.nome,j[y.nome],j,r,s);h&&xe(o,`${u.nome}.${x}.${y.nome}`,{type:"custom",message:h})}}}}const c=Object.keys(o).length>0;return{values:c?{}:t,errors:c?o:{}}},ve=async(e,r,s,t,n,o)=>{var l;let i=cs();for(const d of e){const f=o[d.type];if(!f)continue;const u=f,g=d;i=i.superRefine(async(x,j)=>{const y=await u(x,t,g,n);y&&j.addIssue({code:Ds.custom,message:g.message??y})})}const c=await i.safeParseAsync(s);if(!c.success)return(l=c.error.issues[0])==null?void 0:l.message},wr=(e,r={},s={})=>async t=>{var i;const n={},o=[...e.containers].sort((c,l)=>c.ordem-l.ordem).flatMap(c=>[...c.campos].sort((l,d)=>l.ordem-d.ordem));for(const c of o){if(!((i=c.warn)!=null&&i.length)||!G(c.condicional,t,r))continue;const d=await ve(c.warn,c.nome,t[c.nome],t,r,s);d&&(n[c.nome]=d)}return n},Ms=/\{\{\s*(?:event|evento)\.([a-zA-Z0-9_.]+)\s*\}\}/g,W=(e,r)=>e?e.replace(Ms,(s,t)=>r[`evento.${t}`]??r[t]??s):e??"",Vs=(e,r)=>({...e,label:W(e.label,r)}),Tr=(e,r)=>{var s;return{...e,label:W(e.label,r),placeholder:W(e.placeholder,r),hint:W(e.hint,r),defaultValue:typeof e.defaultValue=="string"?W(e.defaultValue,r):e.defaultValue,opcoes:(s=e.opcoes)==null?void 0:s.map(t=>Vs(t,r))}},we=(e,r)=>({...e,titulo:W(e.titulo,r),descricao:W(e.descricao,r),campos:e.campos.map(s=>Tr(s,r))}),Cr=(e,r)=>({...e,titulo:W(e.titulo,r),descricao:W(e.descricao,r),containers:e.containers.map(s=>we(s,r))}),Ze=v.createContext({}),Q=()=>v.useContext(Ze),U=({name:e,control:r,placeholder:s,type:t="text",disabled:n,readOnly:o})=>{var d;const{field:i,fieldState:c}=z.useController({name:e,control:r}),l=!!c.error;return a.jsxs("div",{className:"space-y-1",children:[a.jsx("input",{...i,value:i.value??"",type:t,placeholder:s,disabled:n,readOnly:o,className:`sfr-input${l?" sfr-input--error":""}`,"data-sfr-field":"text"}),((d=c.error)==null?void 0:d.message)&&a.jsx("p",{className:"sfr-error",children:c.error.message})]})},Te=({name:e,control:r,placeholder:s,disabled:t,readOnly:n})=>{var c;const{field:o,fieldState:i}=z.useController({name:e,control:r});return a.jsxs("div",{className:"space-y-1",children:[a.jsx("textarea",{...o,value:o.value??"",placeholder:s,disabled:t,readOnly:n,rows:3,className:`sfr-textarea${i.error?" sfr-input--error":""}`,"data-sfr-field":"textarea"}),((c=i.error)==null?void 0:c.message)&&a.jsx("p",{className:"sfr-error",children:i.error.message})]})},Ce=({name:e,control:r,placeholder:s,options:t,disabled:n,readOnly:o})=>{var l;const{field:i,fieldState:c}=z.useController({name:e,control:r});return a.jsxs("div",{className:"space-y-1",children:[a.jsxs("select",{...i,value:i.value??"",disabled:n||o,className:`sfr-select${c.error?" sfr-input--error":""}`,"data-sfr-field":"select",children:[s&&a.jsx("option",{value:"",children:s}),!s&&a.jsx("option",{value:"",children:"Selecione..."}),t.map(d=>a.jsx("option",{value:d.valor,disabled:d.disabled,children:d.label},d.valor))]}),((l=c.error)==null?void 0:l.message)&&a.jsx("p",{className:"sfr-error",children:c.error.message})]})},Se=({name:e,control:r,label:s,disabled:t,readOnly:n})=>{var c;const{field:o,fieldState:i}=z.useController({name:e,control:r});return a.jsxs("div",{className:"space-y-1",children:[a.jsxs("label",{className:"sfr-checkbox-label","data-sfr-field":"checkbox",children:[a.jsx("input",{type:"checkbox",name:o.name,checked:!!o.value,onChange:l=>!n&&o.onChange(l.target.checked),onBlur:o.onBlur,onKeyDown:l=>{n&&l.key===" "&&l.preventDefault()},disabled:t,readOnly:n,className:"sfr-checkbox"}),s&&a.jsx("span",{className:"sfr-checkbox-text",children:s})]}),((c=i.error)==null?void 0:c.message)&&a.jsx("p",{className:"sfr-error",children:i.error.message})]})},Le=({name:e,control:r,options:s,disabled:t})=>{var l;const{field:n,fieldState:o}=z.useController({name:e,control:r}),i=Array.isArray(n.value)?n.value:[],c=d=>{const f=i.includes(d)?i.filter(u=>u!==d):[...i,d];n.onChange(f)};return a.jsxs("div",{className:"space-y-1",children:[a.jsx("div",{className:"sfr-checkbox-group","data-sfr-field":"checkbox-group",children:s.map(d=>a.jsxs("label",{className:"sfr-checkbox-label",children:[a.jsx("input",{type:"checkbox",checked:i.includes(d.valor),onChange:()=>c(d.valor),disabled:t||d.disabled,className:"sfr-checkbox"}),a.jsx("span",{className:"sfr-checkbox-text",children:d.label})]},d.valor))}),((l=o.error)==null?void 0:l.message)&&a.jsx("p",{className:"sfr-error",children:o.error.message})]})},Me=({name:e,control:r,options:s,visualStyle:t="default",disabled:n})=>{var l;const{field:o,fieldState:i}=z.useController({name:e,control:r}),c=t==="card";return a.jsxs("div",{className:"space-y-1",children:[a.jsx("div",{className:c?"sfr-radio-cards":"sfr-radio-group","data-sfr-field":"radio","data-style":t,children:s.map(d=>a.jsxs("label",{className:c?"sfr-radio-card":"sfr-radio-label","data-selected":o.value===d.valor?"true":void 0,children:[a.jsx("input",{type:"radio",name:o.name,value:d.valor,checked:o.value===d.valor,onChange:()=>o.onChange(d.valor),onBlur:o.onBlur,disabled:n||d.disabled,className:c?"sfr-radio-card-input":"sfr-radio"}),a.jsx("span",{className:c?"sfr-radio-card-label":"sfr-radio-text",children:d.label})]},d.valor))}),((l=i.error)==null?void 0:l.message)&&a.jsx("p",{className:"sfr-error",children:i.error.message})]})},Js=e=>{const r=new Date;return r.setFullYear(r.getFullYear()-e),r.toISOString().split("T")[0]},Bs=e=>{const r=new Date;return r.setFullYear(r.getFullYear()-e),r.toISOString().split("T")[0]},le=({name:e,control:r,isDatetime:s,disabled:t,readOnly:n,validacao:o})=>{var g;const{field:i,fieldState:c}=z.useController({name:e,control:r}),l=s?"datetime-local":"date",d=x=>s?x+"T00:00":x,f=(o==null?void 0:o.minAge)!=null?d(Js(o.minAge)):(o==null?void 0:o.maxDate)!=null?d(o.maxDate):void 0,u=(o==null?void 0:o.maxAge)!=null?d(Bs(o.maxAge)):(o==null?void 0:o.minDate)!=null?d(o.minDate):void 0;return a.jsxs("div",{className:"space-y-1",children:[a.jsx("input",{name:i.name,value:i.value??"",onChange:i.onChange,onBlur:i.onBlur,type:l,min:u,max:f,disabled:t,readOnly:n,className:`sfr-input${c.error?" sfr-input--error":""}`,"data-sfr-field":"date"}),((g=c.error)==null?void 0:g.message)&&a.jsx("p",{className:"sfr-error",children:c.error.message})]})},or=e=>e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`,Ve=({name:e,control:r,disabled:s,campo:t,fileTypes:n,maxFileSize:o})=>{var O;const{field:i,fieldState:c}=z.useController({name:e,control:r}),{uploadFile:l}=Q(),[d,f]=v.useState({status:"idle"}),u=v.useRef(null),[g,x]=v.useState(!1),j=typeof i.value=="string"&&i.value?i.value:null,y=v.useCallback(async b=>{var N;if(n&&n.length>0){const S=((N=b.name.split(".").pop())==null?void 0:N.toLowerCase())??"",T=b.type.toLowerCase();if(!n.some(P=>P.toLowerCase()===S||P.toLowerCase()===T)){f({status:"error",message:`Tipo de arquivo não permitido. Permitidos: ${n.join(", ")}`});return}}if(o&&b.size>o){f({status:"error",message:`Arquivo muito grande. Tamanho máximo: ${or(o)}`});return}if(!l){f({status:"error",message:"Preview: upload não disponível sem configuração."});return}f({status:"uploading",fileName:b.name,progress:0});try{const S=await l(b,t??e,T=>{f(A=>A.status==="uploading"?{...A,progress:Math.min(100,T)}:A)});i.onChange(S),f({status:"done",uploadId:S,fileName:b.name,size:b.size})}catch{f({status:"error",message:"Falha no upload. Tente novamente."})}},[l,t,e,i,n,o]),_=v.useCallback(b=>{var S;const N=(S=b.target.files)==null?void 0:S[0];N&&y(N),b.target.value=""},[y]),C=v.useCallback(()=>{i.onChange(""),f({status:"idle"}),u.current&&(u.current.value="")},[i]);if(d.status==="done"||d.status==="idle"&&!!j){const b=d.status==="done"?d.fileName:"Arquivo enviado",N=d.status==="done"?d.size:null;return a.jsxs("div",{className:"sfr-file-upload sfr-file-done","data-sfr-field":"file","data-status":"done",children:[a.jsx("span",{className:"sfr-file-name",children:b}),N!==null&&a.jsx("span",{className:"sfr-file-size",children:or(N)}),!s&&a.jsx("button",{type:"button",onClick:C,className:"sfr-file-remove","aria-label":"Remover arquivo",children:"✕"})]})}if(d.status==="uploading"){const{fileName:b,progress:N}=d;return a.jsxs("div",{className:"sfr-file-upload sfr-file-uploading","data-sfr-field":"file","data-status":"uploading",children:[a.jsxs("div",{className:"sfr-file-uploading__info",children:[a.jsx("span",{className:"sfr-file-name",children:b}),a.jsxs("span",{className:"sfr-file-progress-pct",children:[N,"%"]})]}),a.jsx("div",{className:"sfr-file-progress-track",children:a.jsx("div",{className:"sfr-file-progress-bar",style:{width:`${N}%`}})})]})}const m=d.status==="error";return a.jsxs("div",{className:"sfr-file-upload","data-sfr-field":"file","data-status":d.status,children:[a.jsxs("div",{role:"button",tabIndex:s?-1:0,"aria-label":"Selecionar arquivo","data-dragging":g||void 0,"data-error":m||void 0,"data-field-error":!!c.error||void 0,"data-disabled":s||void 0,className:"sfr-file-drop",onClick:()=>{var b;return!s&&((b=u.current)==null?void 0:b.click())},onKeyDown:b=>{var N;(b.key==="Enter"||b.key===" ")&&((N=u.current)==null||N.click())},onDragOver:b=>{b.preventDefault(),s||x(!0)},onDragLeave:()=>x(!1),onDrop:s?void 0:b=>{var S;b.preventDefault(),x(!1);const N=(S=b.dataTransfer.files)==null?void 0:S[0];N&&y(N)},onBlur:i.onBlur,children:[a.jsx("input",{ref:u,type:"file",onChange:_,disabled:s,className:"sfr-file-input"}),a.jsx("span",{className:"sfr-file-label",children:g?"Solte o arquivo aqui":"Clique ou arraste um arquivo"})]}),m&&a.jsxs("p",{className:"sfr-error",children:[d.message," · ",a.jsx("button",{type:"button",className:"sfr-error-retry",onClick:()=>f({status:"idle"}),children:"Tentar novamente"})]}),!m&&((O=c.error)==null?void 0:O.message)&&a.jsx("p",{className:"sfr-error",children:c.error.message})]})},Us={cpf:e=>e.replace(/\D/g,"").slice(0,11).replace(/(\d{3})(\d)/,"$1.$2").replace(/(\d{3})(\d)/,"$1.$2").replace(/(\d{3})(\d{1,2})$/,"$1-$2"),telefone:e=>{const r=e.replace(/\D/g,"").slice(0,11);return r.length<=10?r.replace(/(\d{2})(\d)/,"($1) $2").replace(/(\d{4})(\d)/,"$1-$2"):r.replace(/(\d{2})(\d)/,"($1) $2").replace(/(\d{5})(\d)/,"$1-$2")},cep:e=>e.replace(/\D/g,"").slice(0,8).replace(/(\d{5})(\d)/,"$1-$2")},te=({name:e,control:r,placeholder:s,maskType:t,disabled:n,readOnly:o})=>{var f;const{field:i,fieldState:c}=z.useController({name:e,control:r}),l=Us[t||""],d=v.useCallback(u=>{i.onChange(l?l(u.target.value):u.target.value)},[i,l]);return a.jsxs("div",{className:"space-y-1",children:[a.jsx("input",{name:i.name,value:i.value||"",onChange:d,onBlur:i.onBlur,placeholder:s,disabled:n,readOnly:o,className:`sfr-input${c.error?" sfr-input--error":""}`,"data-sfr-field":"masked"}),((f=c.error)==null?void 0:f.message)&&a.jsx("p",{className:"sfr-error",children:c.error.message})]})},ze=({name:e,control:r})=>{const{field:s}=z.useController({name:e,control:r});return a.jsx("input",{type:"hidden",...s,value:s.value??""})},Sr=e=>e.replace(/\D/g,""),Hs=e=>{const r=Sr(e).slice(0,8);return r.length<=5?r:`${r.slice(0,5)}-${r.slice(5)}`},Ws=async(e,r)=>{const s=await fetch(`https://viacep.com.br/ws/${e}/json/`,{signal:r});if(!s.ok)throw new Error("Falha ao consultar CEP");return s.json()},Je=({name:e,control:r,placeholder:s="00000-000",disabled:t,readOnly:n,cepFillMap:o})=>{var C,h;const{field:i,fieldState:c}=z.useController({name:e,control:r}),{setValue:l}=z.useFormContext(),{cepLookup:d}=Q(),[f,u]=v.useState("idle"),[g,x]=v.useState(null),j=v.useRef(null);v.useEffect(()=>()=>{var m;(m=j.current)==null||m.abort()},[]);const y=v.useCallback(async()=>{var O;i.onBlur();const m=Sr(i.value??"");if(m.length===8){(O=j.current)==null||O.abort(),j.current=new AbortController,u("loading"),x(null);try{let b;if(d){const T=j.current;if(b=await d(m),T.signal.aborted)return}else{const T=await Ws(m,j.current.signal);if(T.erro){u("error"),x("CEP não encontrado");return}b={logradouro:T.logradouro,bairro:T.bairro,cidade:T.localidade,estado:T.uf}}if(b.erro){u("error"),x("CEP não encontrado");return}const N=e.includes(".")?`${e.substring(0,e.lastIndexOf("."))}.`:"",S=(T,A,P)=>{if(!P)return;const M=o!=null&&o[T]?`${N}${o[T]}`:`${N}${A}`;l(M,P)};S("logradouro","_address_logradouro",b.logradouro),S("bairro","_address_bairro",b.bairro),S("cidade","_address_cidade",b.cidade),S("estado","_address_estado",b.estado),u("success")}catch(b){if(b instanceof Error&&b.name==="AbortError")return;u("error"),x("Erro ao buscar CEP")}}},[i,d,l,e,o]),_=v.useCallback(m=>{i.onChange(Hs(m.target.value))},[i]);return a.jsxs("div",{className:"space-y-1",children:[a.jsxs("div",{className:"sfr-cep-wrapper","data-sfr-field":"cep","data-status":f,children:[a.jsx("input",{name:i.name,value:i.value||"",onChange:_,onBlur:y,placeholder:s,disabled:t,readOnly:n,className:`sfr-input${c.error?" sfr-input--error":""}`}),f==="loading"&&a.jsx("span",{className:"sfr-cep-indicator sfr-cep-loading"}),f==="success"&&a.jsx("span",{className:"sfr-cep-indicator sfr-cep-success"}),f==="error"&&a.jsx("span",{className:"sfr-cep-indicator sfr-cep-error"})]}),(((C=c.error)==null?void 0:C.message)||g)&&a.jsx("p",{className:"sfr-error",children:((h=c.error)==null?void 0:h.message)||g})]})},Xs=({field:e,control:r,nameOverride:s})=>{const t={name:s,control:r,placeholder:e.placeholder};switch(e.tipo){case p.FieldType.TEXTO:return a.jsx(U,{...t,type:"text"});case p.FieldType.EMAIL:return a.jsx(U,{...t,type:"email"});case p.FieldType.NUMBER:return a.jsx(U,{...t,type:"number"});case p.FieldType.TEXTAREA:return a.jsx(Te,{...t});case p.FieldType.SELECT:return a.jsx(Ce,{...t,options:e.opcoes??[]});case p.FieldType.RADIO:return a.jsx(Me,{...t,options:e.opcoes??[]});case p.FieldType.CHECKBOX:return a.jsx(Se,{name:s,control:r,label:e.label});case p.FieldType.CHECKBOX_GROUP:return a.jsx(Le,{...t,options:e.opcoes??[]});case p.FieldType.DATE:return a.jsx(le,{...t,validacao:e.validacao});case p.FieldType.DATETIME:return a.jsx(le,{...t,isDatetime:!0,validacao:e.validacao});case p.FieldType.FILE:return a.jsx(Ve,{name:s,control:r});case p.FieldType.TELEFONE:return a.jsx(te,{...t,maskType:"telefone"});case p.FieldType.CPF:return a.jsx(te,{...t,maskType:"cpf"});case p.FieldType.CEP:return a.jsx(Je,{name:s,control:r,placeholder:e.placeholder});case p.FieldType.HIDDEN:return a.jsx(ze,{name:s,control:r});default:return a.jsx(U,{...t,type:"text"})}},zr=({name:e,control:r,subFields:s=[],minItems:t=1,maxItems:n,itemLabel:o="Item",addLabel:i})=>{var y;const{fields:c,append:l,remove:d}=z.useFieldArray({control:r,name:e}),{errors:f}=z.useFormState({control:r}),u=(y=f[e])==null?void 0:y.message;v.useEffect(()=>{if(c.length<t)for(let _=c.length;_<t;_++)l({})},[]);const g=[...s].sort((_,C)=>_.ordem-C.ordem),x=!n||c.length<n,j=i??`Adicionar ${o.toLowerCase()}`;return a.jsxs("div",{className:"sfr-field-array space-y-3",children:[c.map((_,C)=>a.jsxs("div",{className:"sfr-field-array__item border rounded-lg p-4",children:[a.jsxs("div",{className:"sfr-field-array__item-header flex items-center justify-between mb-4",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("div",{className:"sfr-field-array__counter w-6 h-6 rounded-full flex items-center justify-center text-xs font-bold shrink-0",children:C+1}),a.jsxs("span",{className:"text-sm font-semibold",children:[o," ",C+1]})]}),c.length>t&&a.jsx("button",{type:"button",onClick:()=>d(C),className:"sfr-field-array__remove","aria-label":`Remover ${o.toLowerCase()} ${C+1}`,children:a.jsx(F.Trash2,{className:"w-4 h-4"})})]}),a.jsx("div",{className:"grid grid-cols-12 gap-4",children:g.map(h=>{const m=`${e}.${C}.${h.nome}`,b=`span ${h.tamanho??12}`,N=a.jsx(Xs,{field:h,control:r,nameOverride:m});return h.tipo===p.FieldType.CHECKBOX||h.tipo===p.FieldType.HIDDEN?a.jsx("div",{className:"max-sm:!col-span-12",style:{gridColumn:b},children:N},h.id):a.jsxs("div",{className:"max-sm:!col-span-12 space-y-2",style:{gridColumn:b},children:[a.jsxs("label",{className:"sfr-label font-medium flex items-center gap-1 text-sm",children:[h.label,h.obrigatorio&&a.jsx("span",{className:"sfr-required",children:"*"})]}),N,h.hint&&a.jsx("p",{className:"sfr-hint text-xs",children:h.hint})]},h.id)})})]},_.id)),x&&a.jsxs("button",{type:"button",className:"sfr-btn sfr-btn--outline w-full flex items-center justify-center gap-2 py-2 px-4 border rounded-lg text-sm",onClick:()=>l({}),children:[a.jsx(F.Plus,{className:"w-4 h-4"}),j]}),n&&a.jsxs("p",{className:"sfr-hint text-xs text-center",children:["Máximo de ",n," ",o.toLowerCase(),n>1?"s":""]}),u&&a.jsxs("p",{className:"sfr-error text-sm flex items-center gap-1",children:[a.jsx(F.AlertCircle,{className:"w-4 h-4 shrink-0"}),u]})]})},ar=e=>`R$ ${(e/100).toFixed(2).replace(".",",")}`,qs=(e,r)=>{const s=new Date(e.slice(0,10)+"T00:00:00Z"),t=new Date(r.slice(0,10)+"T00:00:00Z");return Math.round((t.getTime()-s.getTime())/864e5)+1},Ks=(e,r)=>{const s=[],t=new Date(e.slice(0,10)+"T00:00:00Z"),n=new Date(r.slice(0,10)+"T00:00:00Z");let o=0;for(;t<=n&&o<60;)s.push(t.toISOString().slice(0,10)),t.setUTCDate(t.getUTCDate()+1),o++;return s},Gs=e=>{const[r,s,t]=e.split("-").map(Number),n=new Date(Date.UTC(r,s-1,t)),o=String(t).padStart(2,"0"),i=String(s).padStart(2,"0"),c=new Intl.DateTimeFormat("pt-BR",{weekday:"long",timeZone:"UTC"}).format(n),l=c.charAt(0).toUpperCase()+c.slice(1);return`${o}/${i} - ${l}`},Ys=(e,r)=>{const s=t=>{const[n,o,i]=t.slice(0,10).split("-");return`${i}/${o}/${n}`};return`${s(e)} a ${s(r)}`},Er=({name:e,control:r})=>{var ae;const{field:s,fieldState:t}=z.useController({name:e,control:r}),{externalData:n={}}=Q(),o=s.value??null,i=(ae=t.error)==null?void 0:ae.message,c=w=>n[`evento.${w}`]??n[w],l=c("dataInicioEvento")??"",d=c("dataFimEvento")??"",f=Number(c("valor")??0),u=Number(c("valorPorDia")??0),g=c("vagasTotal"),x=c("vagasPorDia"),j=c("vagasMasculinas"),y=c("vagasFemininas"),_=g!=null?Number(g):null,C=x!=null?Number(x):null,h=j!=null?Number(j):null,m=y!=null?Number(y):null,O=l&&d?Ks(l,d):[],N=(l&&d?qs(l,d):0)>1,S=h!=null&&h>0&&m!=null&&m>0,T=h!=null&&m==null?"masculino":m!=null&&h==null?"feminino":null,A=(o==null?void 0:o.tipo)??null,P=(o==null?void 0:o.data)??null,M=(o==null?void 0:o.genero)??null,J=v.useRef(o);J.current=o;const B=v.useRef(s.onChange);B.current=s.onChange,v.useEffect(()=>{var w,D,K;T&&((w=J.current)==null?void 0:w.genero)!==T&&B.current({tipo:((D=J.current)==null?void 0:D.tipo)??null,data:((K=J.current)==null?void 0:K.data)??null,genero:T})},[T]);const ee=w=>{const D={tipo:w,data:null};(S||T)&&(D.genero=M??T??void 0),s.onChange(D)},V=w=>{const D={tipo:"por_dia",data:w};(S||T)&&(D.genero=M??T??void 0),s.onChange(D)},Y=w=>{s.onChange({tipo:A,data:P,genero:w})},q=w=>A===w;return a.jsxs("div",{className:"sfr-participation-type space-y-3",children:[S&&a.jsxs("div",{className:"flex items-center gap-2 px-1",children:[a.jsx("span",{className:"text-xs sfr-text-muted shrink-0",children:"Você é:"}),a.jsx("div",{className:"flex gap-2",children:["masculino","feminino"].map(w=>a.jsx("button",{type:"button",onClick:()=>Y(w),className:"sfr-participation-type__gender-btn px-3 py-1 rounded-full text-xs font-medium border transition-all","data-selected":M===w?"true":void 0,children:w==="masculino"?"Masculino":"Feminino"},w))})]}),a.jsxs("button",{type:"button",onClick:()=>ee("todos_os_dias"),className:"sfr-participation-type__card w-full text-left flex items-start gap-3 p-4 rounded-xl border-2 transition-all","data-selected":q("todos_os_dias")?"true":void 0,children:[a.jsx("div",{className:"sfr-participation-type__card-icon mt-0.5 p-2 rounded-lg shrink-0","data-selected":q("todos_os_dias")?"true":void 0,children:a.jsx(F.CalendarCheck2,{className:"w-4 h-4"})}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx("p",{className:"font-semibold text-sm",children:"Participar todos os dias"}),l&&d?a.jsx("p",{className:"text-xs sfr-text-muted",children:Ys(l,d)}):a.jsx("p",{className:"text-xs sfr-text-muted italic",children:"Datas do evento"})]}),a.jsxs("div",{className:"text-right shrink-0",children:[f>0&&a.jsx("p",{className:"font-bold text-sm sfr-participation-type__price","data-selected":q("todos_os_dias")?"true":void 0,children:ar(f)}),_!=null&&_>0&&a.jsxs("p",{className:"text-xs flex items-center justify-end gap-1 sfr-participation-type__vagas",children:[a.jsx(F.Users,{className:"w-3 h-3"}),_," vagas disponíveis"]})]})]}),N?a.jsxs("button",{type:"button",onClick:()=>ee("por_dia"),className:"sfr-participation-type__card w-full text-left flex items-start gap-3 p-4 rounded-xl border-2 transition-all","data-selected":q("por_dia")?"true":void 0,children:[a.jsx("div",{className:"sfr-participation-type__card-icon mt-0.5 p-2 rounded-lg shrink-0","data-selected":q("por_dia")?"true":void 0,children:a.jsx(F.CalendarDays,{className:"w-4 h-4"})}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx("p",{className:"font-semibold text-sm",children:"Participar um dia"}),a.jsx("p",{className:"text-xs sfr-text-muted",children:"Escolha o dia desejado abaixo"})]}),a.jsxs("div",{className:"text-right shrink-0",children:[u>0&&a.jsx("p",{className:"font-bold text-sm sfr-participation-type__price","data-selected":q("por_dia")?"true":void 0,children:ar(u)}),a.jsx("p",{className:"text-xs sfr-text-muted",children:"por dia"})]})]}):l?a.jsxs("div",{className:"flex items-start gap-2 px-3 py-2.5 rounded-lg border sfr-participation-type__notice",children:[a.jsx(F.Info,{className:"w-3.5 h-3.5 mt-0.5 shrink-0 sfr-text-muted"}),a.jsx("p",{className:"text-xs sfr-text-muted",children:'Este evento ocorre em apenas 1 dia — a opção "Participar um dia" não é necessária.'})]}):null,A==="por_dia"&&a.jsxs("div",{className:"pl-2 space-y-2 sfr-participation-type__days",children:[a.jsx("p",{className:"text-xs font-semibold uppercase tracking-wide sfr-primary-text",children:"Selecione o dia:"}),O.length===0?a.jsx("p",{className:"text-xs sfr-text-muted italic",children:"Nenhuma data configurada no evento"}):O.map(w=>a.jsxs("button",{type:"button",onClick:()=>V(w),className:"sfr-participation-type__day-btn w-full text-left flex items-center justify-between px-4 py-3 rounded-lg border transition-all","data-selected":P===w?"true":void 0,children:[a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx("span",{className:"w-4 h-4 rounded-full border-2 shrink-0 flex items-center justify-center sfr-participation-type__day-radio","data-selected":P===w?"true":void 0,children:P===w&&a.jsx("span",{className:"w-2 h-2 rounded-full bg-white"})}),a.jsx("span",{className:"text-sm",children:Gs(w)})]}),C!=null&&a.jsxs("span",{className:"text-xs sfr-participation-type__vagas",children:[C," vagas"]})]},w))]}),i&&a.jsx("p",{className:"text-sm sfr-error",children:i})]})},ir=.0315,cr=.124,lr=7,dr=12,Or=[{id:"pix",label:"PIX",description:"Transferência instantânea (à vista)",Icon:F.Smartphone,taxa:0},{id:"dinheiro",label:"Dinheiro",description:"Pagamento em espécie",Icon:F.Banknote,taxa:0},{id:"cartao",label:"Cartão de Crédito",description:"Débito ou crédito na maquininha",Icon:F.CreditCard,taxa:ir,taxaLabel:`Taxa: ${(ir*100).toFixed(2).replace(".",",")}%`}],Fr=[{id:"pix",label:"PIX à Vista",description:"Pagamento instantâneo sem parcelamento",Icon:F.Smartphone,taxa:0},{id:"pix_parcelado",label:"PIX Parcelado",description:`Parcelado em até ${lr}x sem juros`,Icon:F.Smartphone,taxa:0,parcelas:lr},{id:"cartao",label:"Cartão de Crédito",description:`Parcelado em até ${dr}x`,Icon:F.CreditCard,taxa:cr,parcelas:dr,taxaLabel:`Taxa: ${(cr*100).toFixed(2).replace(".",",")}%`},{id:"dinheiro",label:"Dinheiro",description:"Pagamento em espécie",Icon:F.Banknote,taxa:0}],ye=e=>`R$ ${(e/100).toFixed(2).replace(".",",")}`,ur=(e,r)=>Math.round(e*(1+r)*100)/100,Qs=(e,r)=>Math.round(e/r*100)/100,kr=({name:e,control:r,relatedFieldName:s="tipo_participacao"})=>{var h;const{field:t,fieldState:n}=z.useController({name:e,control:r}),{externalData:o={},paymentMethodOptions:i}=Q(),c=t.value??null,l=(h=n.error)==null?void 0:h.message,d=z.useWatch({control:r,name:s}),f=(d==null?void 0:d.tipo)??null,u=m=>o[`evento.${m}`]??o[m],g=Number(u("valor")??0),x=Number(u("valorPorDia")??0),j=f==="por_dia"&&x>0?x:g,y=f==="por_dia"?(i==null?void 0:i.porDia)??Or:(i==null?void 0:i.todosOsDias)??Fr,_=f==="por_dia"?(()=>{if(!(d!=null&&d.data))return"Um dia";const[m,O,b]=d.data.split("-");return`${b}/${O}/${m}`})():"Todos os dias",C=m=>{if(m.disabled)return;const O=ur(j,m.taxa),b={metodo:m.id,valorTotal:O};m.parcelas&&(b.parcelas=m.parcelas),t.onChange(b)};return a.jsxs("div",{className:"sfr-payment-method space-y-4",children:[a.jsxs("div",{className:"sfr-payment-method__summary flex items-center justify-between rounded-xl border px-4 py-3",children:[a.jsxs("div",{children:[a.jsx("p",{className:"text-xs sfr-text-muted",children:"Tipo de participação"}),a.jsx("p",{className:"font-semibold",children:_})]}),a.jsxs("div",{className:"text-right",children:[a.jsx("p",{className:"text-xs sfr-text-muted",children:"Valor base"}),a.jsx("p",{className:"text-lg font-bold sfr-primary-text",children:ye(j)})]})]}),a.jsxs("div",{className:"sfr-payment-method__notice flex items-start gap-2 rounded-lg border px-3 py-2.5",children:[a.jsx(F.Info,{className:"h-4 w-4 mt-0.5 shrink-0"}),a.jsxs("p",{className:"text-xs",children:[a.jsx("span",{className:"font-bold",children:"Importante:"})," Para validar a inscrição e garantir sua vaga, o pagamento deve ser realizado no ato da inscrição."]})]}),a.jsx("p",{className:"text-sm font-semibold sfr-primary-text",children:"Selecione a forma de pagamento:"}),a.jsx("div",{className:"space-y-3",children:y.map(m=>{const{Icon:O}=m,b=(c==null?void 0:c.metodo)===m.id,N=ur(j,m.taxa),S=!!m.parcelas&&m.parcelas>1,T=S?Qs(N,m.parcelas):null;return a.jsxs("button",{type:"button",disabled:m.disabled,onClick:()=>C(m),className:"sfr-payment-method__card w-full text-left flex items-center gap-4 px-4 py-3 rounded-xl border-2 transition-all","data-selected":b?"true":void 0,"data-disabled":m.disabled?"true":void 0,children:[a.jsx("div",{className:"sfr-payment-method__card-icon flex items-center justify-center w-10 h-10 rounded-lg shrink-0","data-selected":b?"true":void 0,children:a.jsx(O,{className:"h-5 w-5"})}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx("p",{className:"font-semibold text-sm leading-tight",children:m.label}),a.jsx("p",{className:"text-xs sfr-text-muted",children:m.description}),m.taxaLabel&&a.jsxs("p",{className:"text-xs sfr-payment-method__taxa mt-0.5",children:["* ",m.taxaLabel]}),m.taxa>0&&a.jsxs("p",{className:"text-xs sfr-text-muted",children:["Total com taxa: ",ye(N)]})]}),a.jsx("div",{className:"text-right shrink-0",children:S?a.jsxs(a.Fragment,{children:[a.jsxs("p",{className:"text-xs sfr-text-muted",children:[m.parcelas,"x de"]}),a.jsx("p",{className:"text-base font-bold sfr-primary-text",children:ye(T)})]}):a.jsx("p",{className:"text-base font-bold sfr-primary-text",children:ye(N)})})]},m.id)})}),l&&a.jsx("p",{className:"text-xs sfr-error",children:l})]})},$r=({name:e,control:r,label:s,termoTexto:t,termoPdfUrl:n,termoPdfUploadId:o})=>{var S;const{field:i,fieldState:c}=z.useController({name:e,control:r}),{resolveTermsUploadUrl:l}=Q(),d=!!c.error,f=(S=c.error)==null?void 0:S.message,[u,g]=v.useState(null),[x,j]=v.useState(!1),[y,_]=v.useState(!1);v.useEffect(()=>{if(!o||!l){g(null);return}j(!0),l(o).then(T=>g(T)).catch(()=>g(null)).finally(()=>j(!1))},[o,l]);const C=i.value==="accepted",h=u||n||null,m=!!(t||h||o),O=!!h,b=d?"var(--sfr-error, #ef4444)":C?"var(--sfr-success, #22c55e)":"var(--sfr-border, #e2e8f0)",N=d?"color-mix(in srgb, var(--sfr-error, #ef4444) 5%, transparent)":C?"color-mix(in srgb, var(--sfr-success, #22c55e) 5%, transparent)":"transparent";return a.jsxs("div",{className:"sfr-terms space-y-2",children:[a.jsxs("div",{className:"sfr-terms__box rounded-lg border p-4 space-y-4",style:{borderColor:b,background:N},children:[a.jsxs("div",{className:"flex items-center justify-between gap-2",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(F.ScrollText,{className:"h-4 w-4 sfr-terms__icon shrink-0"}),a.jsx("span",{className:"text-sm font-medium",children:s||"Termos e condições"})]}),m?a.jsxs("button",{type:"button",className:"sfr-btn sfr-btn--outline flex items-center gap-1.5 text-xs h-7 px-2 border rounded",disabled:x,onClick:()=>_(!0),children:[x?a.jsx(F.Loader2,{className:"h-3 w-3 animate-spin"}):a.jsx(F.ExternalLink,{className:"h-3 w-3"}),"Ler termos"]}):a.jsx("span",{className:"text-xs sfr-text-muted italic",children:o&&x?"Carregando PDF...":"Conteúdo não configurado"})]}),a.jsxs("label",{className:"flex items-start gap-3 cursor-pointer select-none",children:[a.jsx("input",{type:"checkbox",className:"sfr-checkbox mt-0.5",checked:C,onChange:T=>i.onChange(T.target.checked?"accepted":""),style:d?{outline:"1px solid var(--sfr-error, #ef4444)"}:{}}),a.jsxs("span",{className:"text-sm leading-snug flex-1",children:["Li e aceito ",s?`"${s}"`:"os termos e condições"]}),C&&a.jsx(F.CheckCircle2,{className:"h-4 w-4 sfr-terms__check shrink-0 mt-0.5"})]})]}),d&&a.jsxs("div",{className:"flex items-center gap-1.5 text-xs sfr-error",children:[a.jsx(F.AlertCircle,{className:"h-3.5 w-3.5 shrink-0"}),f||"Você precisa aceitar os termos para continuar"]}),y&&a.jsx("div",{className:"sfr-modal-backdrop fixed inset-0 z-50 flex items-center justify-center p-4",style:{background:"rgba(0,0,0,0.6)"},onClick:()=>_(!1),children:a.jsxs("div",{className:"sfr-modal relative w-full max-w-2xl max-h-[90vh] rounded-xl overflow-hidden flex flex-col",style:{background:"var(--sfr-surface, #ffffff)"},onClick:T=>T.stopPropagation(),children:[a.jsxs("div",{className:"flex items-center justify-between px-6 py-4 border-b sfr-modal__header",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(F.ScrollText,{className:"h-4 w-4"}),a.jsx("span",{className:"font-semibold",children:"Termos e condições"})]}),a.jsx("button",{type:"button",className:"sfr-btn sfr-btn--ghost",onClick:()=>_(!1),children:a.jsx(F.X,{className:"h-4 w-4"})})]}),a.jsx("div",{className:"flex-1 overflow-auto p-4",children:O?a.jsx("iframe",{src:h,className:"w-full rounded border",style:{height:"62vh"},title:"Termos e condições",sandbox:"allow-scripts allow-same-origin"}):a.jsx("p",{className:"text-sm whitespace-pre-wrap leading-relaxed",children:t})})]})})]})},en=({name:e,control:r,placeholder:s,disabled:t,readOnly:n})=>{var f;const{field:o,fieldState:i}=z.useController({name:e,control:r}),[c,l]=v.useState(!1),d=!!i.error;return a.jsxs("div",{className:"space-y-1",children:[a.jsxs("div",{className:"relative",children:[a.jsx("input",{...o,value:o.value??"",type:c?"text":"password",placeholder:s,disabled:t,readOnly:n,className:`sfr-input pr-10${d?" sfr-input--error":""}`,"data-sfr-field":"password"}),a.jsx("button",{type:"button",tabIndex:-1,onClick:()=>l(u=>!u),className:"absolute right-3 top-1/2 -translate-y-1/2 text-[var(--t-text-muted)] hover:text-[var(--t-text)] transition-colors","aria-label":c?"Ocultar senha":"Mostrar senha",children:c?a.jsx(F.EyeOff,{size:16}):a.jsx(F.Eye,{size:16})})]}),((f=i.error)==null?void 0:f.message)&&a.jsx("p",{className:"sfr-error",children:i.error.message})]})},Pr=({name:e,control:r,label:s,disabled:t,readOnly:n})=>{var l;const{field:o,fieldState:i}=z.useController({name:e,control:r}),c=!!o.value;return a.jsxs("div",{className:"space-y-1",children:[a.jsxs("label",{className:"flex items-center gap-3 cursor-pointer select-none",children:[a.jsx("button",{type:"button",role:"switch","aria-checked":c,disabled:t||n,onClick:()=>!n&&o.onChange(!c),className:["relative inline-flex h-6 w-11 shrink-0 items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--t-primary)] focus-visible:ring-offset-2",c?"bg-[var(--t-primary)]":"bg-[var(--t-border)]",t?"opacity-50 cursor-not-allowed":"cursor-pointer"].join(" "),children:a.jsx("span",{className:["pointer-events-none inline-block h-4 w-4 rounded-full bg-white shadow-lg transition-transform",c?"translate-x-5":"translate-x-0.5"].join(" ")})}),a.jsx("span",{className:"sfr-label !mb-0",children:s})]}),((l=i.error)==null?void 0:l.message)&&a.jsx("p",{className:"sfr-error",children:i.error.message})]})},rn=({name:e,control:r,minValue:s=0,maxValue:t=100,step:n=1,disabled:o,readOnly:i})=>{var g;const{field:c,fieldState:l}=z.useController({name:e,control:r}),d=c.value??s,f=t-s,u=f>0?(d-s)/f*100:0;return a.jsxs("div",{className:"space-y-1",children:[a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx("div",{className:"relative flex-1",children:a.jsx("input",{type:"range",min:s,max:t,step:n,value:d,disabled:o||i,onChange:x=>c.onChange(Number(x.target.value)),className:"sfr-slider w-full",style:{"--slider-pct":`${u}%`}})}),a.jsx("span",{className:"sfr-label !mb-0 min-w-[3rem] text-right tabular-nums",style:{color:"var(--t-primary)"},children:d})]}),a.jsxs("div",{className:"flex justify-between text-xs",style:{color:"var(--t-text-muted)"},children:[a.jsx("span",{children:s}),a.jsx("span",{children:t})]}),((g=l.error)==null?void 0:g.message)&&a.jsx("p",{className:"sfr-error",children:l.error.message})]})},tn=({name:e,control:r,disabled:s,readOnly:t})=>{var c;const{field:n,fieldState:o}=z.useController({name:e,control:r}),i=n.value??"#000000";return a.jsxs("div",{className:"space-y-1",children:[a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx("input",{type:"color",value:i,disabled:s||t,onChange:l=>n.onChange(l.target.value),className:"h-10 w-14 cursor-pointer rounded-lg border border-[var(--t-border)] bg-transparent p-1 disabled:cursor-not-allowed disabled:opacity-50","data-sfr-field":"color"}),a.jsx("input",{type:"text",value:i,readOnly:t,disabled:s,onChange:l=>{const d=l.target.value;/^#[0-9a-fA-F]{0,6}$/.test(d)&&n.onChange(d)},className:`sfr-input flex-1 font-mono uppercase${o.error?" sfr-input--error":""}`,maxLength:7,placeholder:"#000000"})]}),((c=o.error)==null?void 0:c.message)&&a.jsx("p",{className:"sfr-error",children:o.error.message})]})},sn=({name:e,control:r,options:s,placeholder:t,disabled:n,readOnly:o})=>{var C,h;const{field:i,fieldState:c}=z.useController({name:e,control:r}),[l,d]=v.useState(""),[f,u]=v.useState(!1),g=v.useRef(null),x=((C=s.find(m=>m.valor===i.value))==null?void 0:C.label)??"",j=l.length>0?s.filter(m=>m.label.toLowerCase().includes(l.toLowerCase())):s;v.useEffect(()=>{const m=O=>{g.current&&!g.current.contains(O.target)&&(u(!1),d(""))};return document.addEventListener("mousedown",m),()=>document.removeEventListener("mousedown",m)},[]);const y=m=>{m.disabled||(i.onChange(m.valor),u(!1),d(""))},_=()=>{i.onChange(""),d("")};return a.jsxs("div",{className:"space-y-1",ref:g,children:[a.jsxs("div",{className:"relative",children:[a.jsx("input",{type:"text",value:f?l:x,placeholder:t??"Buscar...",disabled:n,readOnly:o,onChange:m=>{d(m.target.value),u(!0)},onFocus:()=>!o&&u(!0),className:`sfr-input pr-8${c.error?" sfr-input--error":""}`,"data-sfr-field":"autocomplete",autoComplete:"off"}),a.jsx("div",{className:"absolute right-2 top-1/2 -translate-y-1/2 flex items-center gap-1",children:i.value?a.jsx("button",{type:"button",onClick:_,className:"text-[var(--t-text-muted)] hover:text-[var(--t-text)]",tabIndex:-1,children:a.jsx(F.X,{size:14})}):a.jsx(F.ChevronDown,{size:16,className:"text-[var(--t-text-muted)] pointer-events-none"})}),f&&!n&&!o&&a.jsx("ul",{className:"absolute z-50 mt-1 max-h-60 w-full overflow-auto rounded-lg border border-[var(--t-border)] bg-[var(--t-surface)] shadow-lg",children:j.length===0?a.jsx("li",{className:"px-3 py-2 text-sm text-[var(--t-text-muted)]",children:"Nenhuma opção encontrada"}):j.map(m=>a.jsx("li",{onMouseDown:()=>y(m),className:["flex cursor-pointer items-center px-3 py-2 text-sm",m.disabled?"cursor-not-allowed opacity-40":"hover:bg-[var(--t-accent)]",i.value===m.valor?"font-medium text-[var(--t-primary)]":"text-[var(--t-text)]"].join(" "),children:m.label},m.valor))})]}),((h=c.error)==null?void 0:h.message)&&a.jsx("p",{className:"sfr-error",children:c.error.message})]})},Dr=({name:e,control:r,placeholder:s,disabled:t,readOnly:n})=>{var l;const{field:o,fieldState:i}=z.useController({name:e,control:r}),c=!!i.error;return a.jsxs("div",{className:"space-y-1",children:[a.jsx("input",{...o,value:o.value??"",type:"time",placeholder:s,disabled:t,readOnly:n,className:`sfr-input${c?" sfr-input--error":""}`,"data-sfr-field":"time"}),((l=i.error)==null?void 0:l.message)&&a.jsx("p",{className:"sfr-error",children:i.error.message})]})},nn=({name:e,control:r,startLabel:s="Data inicial",endLabel:t="Data final",disabled:n,readOnly:o})=>{var u;const{field:i,fieldState:c}=z.useController({name:e,control:r}),l=i.value??{},d=(g,x)=>{i.onChange({...l,[g]:x})},f=!!c.error;return a.jsxs("div",{className:"space-y-2",children:[a.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[a.jsxs("div",{className:"space-y-1",children:[a.jsx("label",{className:"sfr-label",children:s}),a.jsx("input",{type:"date",value:l.start??"",disabled:n,readOnly:o,onChange:g=>d("start",g.target.value),max:l.end??void 0,className:`sfr-input${f?" sfr-input--error":""}`,"data-sfr-field":"date-range-start"})]}),a.jsxs("div",{className:"space-y-1",children:[a.jsx("label",{className:"sfr-label",children:t}),a.jsx("input",{type:"date",value:l.end??"",disabled:n,readOnly:o,onChange:g=>d("end",g.target.value),min:l.start??void 0,className:`sfr-input${f?" sfr-input--error":""}`,"data-sfr-field":"date-range-end"})]})]}),((u=c.error)==null?void 0:u.message)&&a.jsx("p",{className:"sfr-error",children:c.error.message})]})},on=({name:e,control:r,maxRating:s=5,disabled:t,readOnly:n})=>{var d;const{field:o,fieldState:i}=z.useController({name:e,control:r}),c=o.value??0,l=Array.from({length:s},(f,u)=>u+1);return a.jsxs("div",{className:"space-y-1",children:[a.jsxs("div",{className:"flex items-center gap-1",children:[l.map(f=>a.jsx("button",{type:"button",disabled:t||n,onClick:()=>o.onChange(f===c?0:f),className:"transition-transform hover:scale-110 disabled:cursor-not-allowed disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--t-primary)] rounded","aria-label":`${f} estrela${f>1?"s":""}`,children:a.jsx(F.Star,{size:24,className:"transition-colors",fill:f<=c?"var(--t-primary)":"transparent",stroke:f<=c?"var(--t-primary)":"var(--t-border)"})},f)),c>0&&a.jsxs("span",{className:"ml-2 text-sm",style:{color:"var(--t-text-muted)"},children:[c,"/",s]})]}),((d=i.error)==null?void 0:d.message)&&a.jsx("p",{className:"sfr-error",children:i.error.message})]})},an=({field:e,name:r,control:s,disabled:t,readOnly:n})=>{const o=t||e.isDisabled,i=n||e.isReadOnly;switch(e.tipo){case p.FieldType.EMAIL:return a.jsx(U,{name:r,control:s,type:"email",placeholder:e.placeholder,disabled:o,readOnly:i});case p.FieldType.NUMBER:return a.jsx(U,{name:r,control:s,type:"number",placeholder:e.placeholder,disabled:o,readOnly:i});case p.FieldType.PASSWORD:return a.jsx(U,{name:r,control:s,type:"password",placeholder:e.placeholder,disabled:o,readOnly:i});case p.FieldType.TELEFONE:return a.jsx(te,{name:r,control:s,maskType:"telefone",placeholder:e.placeholder??"(00) 00000-0000",disabled:o,readOnly:i});case p.FieldType.CPF:return a.jsx(te,{name:r,control:s,maskType:"cpf",placeholder:e.placeholder??"000.000.000-00",disabled:o,readOnly:i});case p.FieldType.CEP:return a.jsx(te,{name:r,control:s,maskType:"cep",placeholder:e.placeholder??"00000-000",disabled:o,readOnly:i});case p.FieldType.TEXTAREA:return a.jsx(Te,{name:r,control:s,placeholder:e.placeholder,disabled:o,readOnly:i});case p.FieldType.SELECT:return a.jsx(Ce,{name:r,control:s,options:e.opcoes??[],placeholder:e.placeholder,disabled:o,readOnly:i});case p.FieldType.CHECKBOX:return a.jsx(Se,{name:r,control:s,label:e.label??"",disabled:o,readOnly:i});case p.FieldType.SWITCH:return a.jsx(Pr,{name:r,control:s,label:e.label??"",disabled:o,readOnly:i});case p.FieldType.DATE:return a.jsx(le,{name:r,control:s,disabled:o,readOnly:i});case p.FieldType.TIME:return a.jsx(Dr,{name:r,control:s,disabled:o,readOnly:i});case p.FieldType.HIDDEN:return a.jsx(ze,{name:r,control:s});default:return a.jsx(U,{name:r,control:s,type:"text",placeholder:e.placeholder,disabled:o,readOnly:i})}},cn=({name:e,control:r,subSchema:s,disabled:t,readOnly:n})=>{if(!s||s.fields.length===0)return null;const o=[...s.fields].sort((i,c)=>i.ordem-c.ordem);return a.jsxs("div",{className:"sfr-subform rounded-xl border p-4 space-y-4",style:{borderColor:"var(--t-border)",background:"color-mix(in srgb, var(--t-surface) 60%, transparent)"},children:[s.titulo&&a.jsx("h4",{className:"sfr-subform__title text-sm font-semibold",style:{color:"var(--t-text-muted)"},children:s.titulo}),a.jsx("div",{className:"grid grid-cols-12 gap-4",children:o.map(i=>{const c=`${e}.${i.nome}`,l=i.tipo===p.FieldType.CHECKBOX||i.tipo===p.FieldType.SWITCH||i.tipo===p.FieldType.HIDDEN,d=i.tamanho??6;return a.jsxs("div",{className:`col-span-${d}`,children:[!l&&a.jsxs("label",{className:"sfr-label mb-1 block",children:[i.label,i.obrigatorio&&a.jsx("span",{style:{color:"var(--t-error)"},children:" *"})]}),a.jsx(an,{field:i,name:c,control:r,disabled:t,readOnly:n})]},i.id)})})]})},Ar=({field:e,control:r,nameOverride:s})=>{var c,l;const t=s??e.nome,{componentMapper:n}=Q(),o=n==null?void 0:n[e.tipo];if(o)return a.jsx(o,{name:t,control:r,field:e});const i={name:t,control:r,placeholder:e.placeholder,disabled:e.isDisabled,readOnly:e.isReadOnly};switch(e.tipo){case p.FieldType.TEXTO:return a.jsx(U,{...i,type:"text"});case p.FieldType.EMAIL:return a.jsx(U,{...i,type:"email"});case p.FieldType.NUMBER:return a.jsx(U,{...i,type:"number"});case p.FieldType.PASSWORD:return a.jsx(en,{...i});case p.FieldType.TEXTAREA:return a.jsx(Te,{...i});case p.FieldType.SELECT:return a.jsx(Ce,{...i,options:e.opcoes??[]});case p.FieldType.AUTOCOMPLETE:return a.jsx(sn,{...i,options:e.opcoes??[]});case p.FieldType.SWITCH:return a.jsx(Pr,{name:t,control:r,label:e.label,disabled:e.isDisabled,readOnly:e.isReadOnly});case p.FieldType.SLIDER:return a.jsx(rn,{name:t,control:r,minValue:e.minValue,maxValue:e.maxValue,step:e.step,disabled:e.isDisabled,readOnly:e.isReadOnly});case p.FieldType.RATING:return a.jsx(on,{name:t,control:r,maxRating:e.maxRating,disabled:e.isDisabled,readOnly:e.isReadOnly});case p.FieldType.COLOR:return a.jsx(tn,{name:t,control:r,disabled:e.isDisabled,readOnly:e.isReadOnly});case p.FieldType.TIME:return a.jsx(Dr,{...i});case p.FieldType.DATE_RANGE:return a.jsx(nn,{name:t,control:r,startLabel:e.dateRangeStartLabel,endLabel:e.dateRangeEndLabel,disabled:e.isDisabled,readOnly:e.isReadOnly});case p.FieldType.RADIO:return a.jsx(Me,{...i,options:e.opcoes??[]});case p.FieldType.CHECKBOX:return a.jsx(Se,{name:t,control:r,label:e.label,disabled:e.isDisabled,readOnly:e.isReadOnly});case p.FieldType.CHECKBOX_GROUP:return a.jsx(Le,{...i,options:e.opcoes??[]});case p.FieldType.DATE:return a.jsx(le,{name:t,control:r,disabled:e.isDisabled,readOnly:e.isReadOnly,validacao:e.validacao});case p.FieldType.DATETIME:return a.jsx(le,{name:t,control:r,isDatetime:!0,disabled:e.isDisabled,readOnly:e.isReadOnly,validacao:e.validacao});case p.FieldType.FILE:return a.jsx(Ve,{name:t,control:r,disabled:e.isDisabled,fileTypes:(c=e.validacao)==null?void 0:c.fileTypes,maxFileSize:(l=e.validacao)==null?void 0:l.maxFileSize});case p.FieldType.TELEFONE:return a.jsx(te,{...i,maskType:"telefone"});case p.FieldType.CPF:return a.jsx(te,{...i,maskType:"cpf"});case p.FieldType.CEP:return a.jsx(Je,{name:t,control:r,placeholder:e.placeholder,disabled:e.isDisabled,readOnly:e.isReadOnly,cepFillMap:e.cepFillMap});case p.FieldType.HIDDEN:return a.jsx(ze,{name:t,control:r});case p.FieldType.PARTICIPATION_TYPE:return a.jsx(Er,{name:t,control:r});case p.FieldType.PAYMENT_METHOD:return a.jsx(kr,{name:t,control:r,relatedFieldName:e.relatedFieldName});case p.FieldType.TERMS:return a.jsx($r,{name:t,control:r,label:e.label,termoTexto:e.termoTexto,termoPdfUrl:e.termoPdfUrl,termoPdfUploadId:e.termoPdfUploadId});case p.FieldType.FIELD_ARRAY:return a.jsx(zr,{name:t,control:r,subFields:e.subFields,minItems:e.minItems,maxItems:e.maxItems,itemLabel:e.itemLabel,addLabel:e.addLabel});case p.FieldType.SUB_FORM:return a.jsx(cn,{name:t,control:r,subSchema:e.subSchema,disabled:e.isDisabled,readOnly:e.isReadOnly});default:return a.jsx(U,{...i,type:"text"})}},Rr=()=>{const e=Oe.useTemplate(),r=e.layout.containerStyle,t=["sfr-container overflow-hidden",e.layout.roundness??"rounded-xl",r==="card"?"sfr-container--card border":"",r==="bordered"?"sfr-container--bordered border":"",r==="glassmorphism"?"sfr-container--glass backdrop-blur-sm":""].filter(Boolean).join(" "),n=r==="glassmorphism"?{background:"var(--t-surface)",borderColor:"var(--t-border)",borderWidth:"1px",borderStyle:"solid"}:{},o=["sfr-container__header border-b px-6 py-4",r==="flat"?"border-transparent":""].filter(Boolean).join(" ");return{wrapperClass:t,wrapperStyle:n,headerClass:o,headerStyle:r==="glassmorphism"?{borderColor:"var(--t-border)"}:{},tmpl:e}},ln=({container:e,control:r})=>{var y;const{externalData:s={}}=Q(),t=e.icone?je[e.icone]:void 0,n=s,o=v.useMemo(()=>we(e,n),[e,JSON.stringify(n)]),i=v.useMemo(()=>[...o.campos].sort((_,C)=>_.ordem-C.ordem),[o.campos]),c=z.useWatch({control:r}),{fieldResolvers:l}=Q(),{wrapperClass:d,wrapperStyle:f,headerClass:u,headerStyle:g,tmpl:x}=Rr(),j=_=>{if(!G(_.condicional,c,s))return null;let h=_;if(_.resolvePropsKey&&(l!=null&&l[_.resolvePropsKey])){const S=l[_.resolvePropsKey](_,c,s);h={..._,...S}}if(h.opcoesFromVar){const S=s[h.opcoesFromVar];Array.isArray(S)&&(h={...h,opcoes:S.map(T=>typeof T=="string"?{valor:T,label:T}:T&&typeof T=="object"&&"valor"in T&&"label"in T?T:{valor:String(T),label:String(T)})})}const m=h.tamanho??12,O=h.inicioColuna,b=O?`${O} / span ${m}`:`span ${m}`,N=a.jsx(Ar,{field:h,control:r});return h.tipo===p.FieldType.CHECKBOX||h.tipo===p.FieldType.HIDDEN||h.tipo===p.FieldType.SWITCH?a.jsx("div",{className:"max-sm:!col-span-12",style:{gridColumn:b},children:N},h.id):a.jsxs("div",{className:"max-sm:!col-span-12 space-y-2",style:{gridColumn:b},children:[a.jsxs("label",{className:"sfr-label font-medium flex items-center gap-1",style:{color:"var(--t-text)"},children:[h.label,h.obrigatorio&&a.jsx("span",{className:"sfr-required",children:"*"})]}),N,h.hint&&a.jsx("p",{className:"sfr-hint text-xs",style:{color:"var(--t-text-muted)"},children:h.hint})]},h.id)};return a.jsxs("div",{className:d,style:f,children:[(o.titulo||t)&&a.jsx("div",{className:u,style:g,children:a.jsxs("div",{className:"flex items-center gap-3",children:[t&&a.jsx("div",{className:"p-2 rounded-xl",style:{background:"color-mix(in srgb, var(--t-primary) 12%, transparent)"},children:a.jsx(t,{className:"w-5 h-5",style:{color:"var(--t-primary)"}})}),a.jsxs("div",{children:[a.jsx("h3",{className:((y=x.typography)==null?void 0:y.stepTitleClass)??"text-lg font-semibold",style:{color:"var(--t-text)"},children:o.titulo}),o.descricao&&a.jsx("p",{className:"text-sm",style:{color:"var(--t-text-muted)"},children:o.descricao})]})]})}),a.jsx("div",{className:"p-6 grid grid-cols-12 gap-4",children:i.map(j)})]})},dn=({container:e,control:r})=>{var b;const{externalData:s={}}=Q(),t=e.nome,n=e.minItems??1,o=e.maxItems,i=e.itemLabel??"Item",{fields:c,append:l,remove:d}=z.useFieldArray({control:r,name:t});v.useEffect(()=>{if(c.length<n)for(let N=c.length;N<n;N++)l({})},[]);const f=e.icone?je[e.icone]:void 0,u=s,g=v.useMemo(()=>we(e,u),[e,JSON.stringify(u)]),x=v.useMemo(()=>[...g.campos].sort((N,S)=>N.ordem-S.ordem),[g.campos]),j=z.useWatch({control:r}),{wrapperClass:y,wrapperStyle:_,headerClass:C,headerStyle:h,tmpl:m}=Rr(),O=(N,S)=>{if(!G(N.condicional,j,s))return null;const A=`${t}.${S}.${N.nome}`,P=N.tamanho??12,M=N.inicioColuna,J=M?`${M} / span ${P}`:`span ${P}`,B=a.jsx(Ar,{field:N,control:r,nameOverride:A});return N.tipo===p.FieldType.CHECKBOX||N.tipo===p.FieldType.HIDDEN?a.jsx("div",{className:"max-sm:!col-span-12",style:{gridColumn:J},children:B},`${N.id}-${S}`):a.jsxs("div",{className:"max-sm:!col-span-12 space-y-2",style:{gridColumn:J},children:[a.jsxs("label",{className:"sfr-label font-medium flex items-center gap-1",style:{color:"var(--t-text)"},children:[N.label,N.obrigatorio&&a.jsx("span",{className:"sfr-required",children:"*"})]}),B,N.hint&&a.jsx("p",{className:"sfr-hint text-xs",style:{color:"var(--t-text-muted)"},children:N.hint})]},`${N.id}-${S}`)};return a.jsxs("div",{className:y,style:_,children:[(g.titulo||f)&&a.jsx("div",{className:C,style:h,children:a.jsxs("div",{className:"flex items-center gap-3",children:[f&&a.jsx("div",{className:"p-2 rounded-xl",style:{background:"color-mix(in srgb, var(--t-primary) 12%, transparent)"},children:a.jsx(f,{className:"w-5 h-5",style:{color:"var(--t-primary)"}})}),a.jsxs("div",{children:[a.jsx("h3",{className:((b=m.typography)==null?void 0:b.stepTitleClass)??"text-lg font-semibold",style:{color:"var(--t-text)"},children:g.titulo}),g.descricao&&a.jsx("p",{className:"text-sm",style:{color:"var(--t-text-muted)"},children:g.descricao})]})]})}),a.jsxs("div",{className:"p-6 space-y-4",children:[c.map((N,S)=>a.jsxs("div",{className:"sfr-container__repeat-item border rounded-lg p-4",style:{borderColor:"var(--t-border)",background:"color-mix(in srgb, var(--t-surface) 60%, transparent)"},children:[a.jsxs("div",{className:"flex items-center justify-between mb-4",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("div",{className:"w-6 h-6 rounded-full flex items-center justify-center text-xs font-bold shrink-0",style:{background:"var(--t-primary)",color:"#fff"},children:S+1}),a.jsxs("span",{className:"text-sm font-semibold",style:{color:"var(--t-text)"},children:[i," ",S+1]})]}),c.length>n&&a.jsx("button",{type:"button",onClick:()=>d(S),className:"sfr-btn sfr-btn--ghost sfr-error","aria-label":"Remover item",children:a.jsx(F.Trash2,{className:"w-4 h-4"})})]}),a.jsx("div",{className:"grid grid-cols-12 gap-4",children:x.map(T=>O(T,S))})]},N.id)),(!o||c.length<o)&&a.jsxs("button",{type:"button",className:"sfr-btn sfr-btn--outline w-full flex items-center justify-center gap-2 py-2 px-4 border rounded-lg text-sm",onClick:()=>l({}),children:[a.jsx(F.Plus,{className:"w-4 h-4"}),"Adicionar ",i.toLowerCase()]}),o&&a.jsxs("p",{className:"text-xs text-center sfr-text-muted",children:["Máximo de ",o," ",i.toLowerCase(),o>1?"s":""]})]})]})},Ir=e=>e.container.repeatable&&e.container.nome?a.jsx(dn,{...e}):a.jsx(ln,{...e}),Zr=({step:e,control:r,externalData:s={}})=>{const t=v.useMemo(()=>[...e.containers].sort((o,i)=>o.ordem-i.ordem),[e.containers]),n=z.useWatch({control:r});return a.jsx("div",{className:"sfr-step grid grid-cols-12 gap-4 sfr-step--animate",children:t.map(o=>{if(o.condicional&&!G(o.condicional,n,s))return null;const i=o.tamanho??12,c=o.inicioColuna,l=c?`${c} / span ${i}`:`span ${i}`;return a.jsx("div",{className:"max-sm:!col-span-12",style:{gridColumn:l},children:a.jsx(Ir,{container:o,control:r})},o.id)})})},me=v.createContext({submitting:!1,warnings:{},requestSubmit:()=>{}}),un=me.Provider,fn=()=>{const e=z.useFormContext(),r=v.useContext(me);return{change:(s,t)=>e.setValue(s,t,{shouldValidate:!0,shouldDirty:!0}),reset:s=>e.reset(s),submit:r.requestSubmit,getState:()=>{const{errors:s,isDirty:t,isValid:n}=e.formState;return{values:e.getValues(),errors:Object.fromEntries(Object.entries(s).map(([o,i])=>[o,i==null?void 0:i.message])),warnings:r.warnings,dirty:t,valid:n,submitting:r.submitting}}}},Lr=()=>{const e=z.useFormContext(),r=v.useContext(me),s=z.useWatch({control:e.control}),{errors:t,isDirty:n,isValid:o}=e.formState;return{values:s,errors:Object.fromEntries(Object.entries(t).map(([i,c])=>[i,c==null?void 0:c.message])),warnings:r.warnings,dirty:n,valid:o,submitting:r.submitting}},mn=e=>{var o;const r=z.useFormContext(),{warnings:s}=v.useContext(me),t=z.useWatch({control:r.control,name:e}),n=r.getFieldState(e,r.formState);return{value:t,error:(o=n.error)==null?void 0:o.message,warning:s[e],dirty:n.isDirty,touched:n.isTouched,valid:!n.error}},pn=e=>{var o;const{control:r}=z.useFormContext(),{warnings:s}=v.useContext(me),{field:t,fieldState:n}=z.useController({name:e,control:r});return{input:{name:t.name,value:t.value,onChange:t.onChange,onBlur:t.onBlur,ref:t.ref},meta:{error:(o=n.error)==null?void 0:o.message,warning:s[e],touched:n.isTouched,dirty:n.isDirty,valid:!n.error}}},hn=({steps:e,currentStep:r,onStepClick:s})=>a.jsx("div",{className:"sfr-step-indicator flex items-center gap-2 justify-center flex-wrap",children:e.map((t,n)=>{const o=n<r,i=n===r,c=t.icone?je[t.icone]:void 0;return a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("button",{type:"button",onClick:()=>o&&(s==null?void 0:s(n)),disabled:!o,className:"sfr-step-indicator__dot flex items-center justify-center w-8 h-8 rounded-full text-xs font-bold transition-all","data-active":i?"true":void 0,"data-done":o?"true":void 0,title:t.label,children:o?a.jsx(F.Check,{className:"w-4 h-4"}):c?a.jsx(c,{className:"w-4 h-4"}):n+1}),t.label&&a.jsx("span",{className:"text-xs hidden sm:block sfr-step-indicator__label","data-active":i?"true":void 0,children:t.label}),n<e.length-1&&a.jsx("div",{className:"sfr-step-indicator__line w-6 h-0.5","data-done":o?"true":void 0})]},t.id)})}),gn=({stepIndex:e,totalSteps:r,step:s,defaultValues:t,externalData:n,fieldErrors:o,isSubmitting:i,submitError:c,validatorMapper:l={},onWarningsChange:d,onValuesChange:f,onSubmit:u,onBack:g})=>{const x=e===r-1,j=v.useMemo(()=>_r(s,n,l),[s.id]),y=v.useMemo(()=>wr(s,n,l),[s.id]),[_,C]=v.useState({}),h=v.useRef(d);h.current=d;const m=n,O=v.useMemo(()=>Cr(s,m),[s,JSON.stringify(m)]),b=z.useForm({resolver:j,defaultValues:t,mode:"onTouched"}),{control:N,watch:S,setValue:T,handleSubmit:A,setError:P,clearErrors:M}=b;v.useEffect(()=>{M();for(const[w,D]of Object.entries(o))P(w,{type:"server",message:D})},[o,P,M]);const J=v.useMemo(()=>s.containers.flatMap(w=>w.campos).filter(w=>w.condicional&&w.clearedValue!==void 0),[s.containers]),B=v.useMemo(()=>s.containers.flatMap(w=>w.campos).filter(w=>{var D;return w.condicional&&((D=w.setValues)==null?void 0:D.length)}),[s.containers]),ee=v.useRef({}),V=z.useWatch({control:N}),Y=v.useRef(f);Y.current=f,v.useEffect(()=>{var w;(w=Y.current)==null||w.call(Y,V)},[V]),v.useEffect(()=>{let w=!1;return y(V).then(K=>{var $;w||(C(K),($=h.current)==null||$.call(h,K))}),()=>{w=!0}},[V,y]),v.useEffect(()=>{var K;if(!J.length&&!B.length)return;const w=V,D=n;for(const $ of J)if(!G($.condicional,w,n)){const re=$.clearedValue??"";w[$.nome]!==re&&T($.nome,re,{shouldValidate:!1})}for(const $ of B){const H=G($.condicional,w,n),re=ee.current[$.nome]??!1;if(H&&!re&&((K=$.setValues)!=null&&K.length))for(const pe of $.setValues){const Mr=typeof pe.valor=="string"?W(pe.valor,D):pe.valor;T(pe.campo,Mr,{shouldValidate:!1})}ee.current[$.nome]=H}},[V,J,B,n,T]);const q=O.icone?je[O.icone]:void 0,ae=v.useMemo(()=>()=>{b.handleSubmit(u)()},[u]);return a.jsx(z.FormProvider,{...b,children:a.jsx(un,{value:{submitting:i,warnings:_,requestSubmit:ae},children:a.jsx("form",{onSubmit:A(u),noValidate:!0,onKeyDown:w=>{w.key==="Enter"&&w.target.tagName==="INPUT"&&w.preventDefault()},children:a.jsxs("div",{className:"space-y-6",children:[O.showLabel!==!1&&a.jsxs("div",{className:"text-center space-y-2",children:[q&&a.jsx("div",{className:"w-12 h-12 mx-auto rounded-xl flex items-center justify-center",style:{background:"color-mix(in srgb, var(--t-primary) 12%, transparent)"},children:a.jsx(q,{className:"w-6 h-6",style:{color:"var(--t-primary)"}})}),a.jsx("h2",{className:"sfr-step__title text-2xl font-bold",style:{color:"var(--t-text)"},children:O.titulo}),O.descricao&&a.jsx("p",{className:"sfr-step__desc text-sm",style:{color:"var(--t-text-muted)"},children:O.descricao})]}),a.jsx(Zr,{step:O,control:N,externalData:n}),a.jsxs("div",{className:"sfr-form__nav flex items-center justify-between gap-4 pt-6 pb-2",children:[a.jsxs("button",{type:"button",className:"sfr-btn sfr-btn--outline flex items-center gap-1 px-4 py-2 border rounded-lg text-sm",onClick:g,disabled:e===0,style:e>0?{borderColor:"color-mix(in srgb, var(--t-primary) 40%, transparent)",color:"var(--t-primary)"}:{},children:[a.jsx(F.ChevronLeft,{className:"w-4 h-4"}),a.jsx("span",{className:"hidden sm:inline",children:"Anterior"})]}),a.jsxs("span",{className:"text-xs font-semibold tabular-nums sm:hidden",style:{color:"var(--t-text-muted)"},children:[e+1,"/",r]}),a.jsxs("button",{type:"submit",className:"sfr-btn sfr-btn--primary flex items-center gap-1 px-4 py-2 rounded-lg text-sm font-semibold",disabled:i,style:{background:"var(--t-primary)",color:"#ffffff"},children:[i?a.jsx(F.Loader2,{className:"w-4 h-4 animate-spin"}):x?a.jsx(F.Check,{className:"w-4 h-4"}):a.jsx(F.ChevronRight,{className:"w-4 h-4"}),a.jsx("span",{className:"hidden sm:inline",children:x?"Finalizar":"Próximo"})]})]}),c&&a.jsx("p",{className:"sfr-error text-sm mt-2 text-center",children:c})]})})})})},xn=(e,r,s)=>{const t={...r},n=s;for(const o of e.containers)for(const i of o.campos)t[i.nome]===void 0&&(i.initialValue!==void 0?t[i.nome]=typeof i.initialValue=="string"?W(i.initialValue,n):i.initialValue:i.defaultValue!==void 0&&(t[i.nome]=i.defaultValue));return t},yn=({schema:e,initialValues:r={},initialStep:s=0,onSubmitStep:t,onComplete:n,template:o,formTitle:i,externalData:c={},fieldErrors:l={},uploadFile:d,cepLookup:f,resolveTermsUploadUrl:u,fieldResolvers:g,validatorMapper:x,componentMapper:j,paymentMethodOptions:y,onValuesChange:_,className:C,StepIndicator:h=hn})=>{const[m,O]=v.useState(()=>s),[b,N]=v.useState({...r}),[S,T]=v.useState(!1),[A,P]=v.useState(null),[M,J]=v.useState({}),B=v.useMemo(()=>Oe.getTemplateConfig(o),[o]),ee=v.useMemo(()=>[...e.steps].sort(($,H)=>$.ordem-H.ordem),[e.steps]),V=ee.length,Y=ee[Math.min(m,V-1)],q=v.useMemo(()=>xn(Y,b,c),[Y,b,JSON.stringify(c)]),ae=v.useMemo(()=>({uploadFile:d,cepLookup:f,resolveTermsUploadUrl:u,externalData:c,fieldResolvers:g,validatorMapper:x,fieldWarnings:M,componentMapper:j,paymentMethodOptions:y}),[d,f,u,g,x,M,j,y,JSON.stringify(c)]),w=v.useCallback(async $=>{T(!0),P(null);try{const H={...b,...$};N(H),t&&await t(m,$),m===V-1?n&&await n(H):O(re=>re+1)}catch(H){console.error("[FormRenderer] Submit error:",H);const re=H instanceof Error?H.message:"Ocorreu um erro. Tente novamente.";P(re)}finally{T(!1)}},[m,b,V,t,n]),D=v.useCallback(()=>{m>0&&O($=>$-1)},[m]),K=B.layout.eventTitleStyle??"bar";return a.jsx(Ze.Provider,{value:ae,children:a.jsx(Oe.TemplateProvider,{config:B,className:`sfr-root min-h-dvh ${B.wrapperClass??""} ${C??""}`,renderWrapper:!0,children:a.jsxs("div",{className:"sfr-form w-full max-w-4xl mx-auto px-4 py-6 sm:px-6",children:[i&&K==="bar"&&a.jsx("div",{className:"sfr-form__title w-full text-center text-sm font-medium py-2.5 px-4 mb-6 rounded-lg border",style:{background:"color-mix(in srgb, var(--t-surface) 80%, transparent)",borderColor:"var(--t-border)",color:"var(--t-text-muted)"},children:i}),i&&K==="inline"&&a.jsxs("div",{className:"text-center mb-6",children:[a.jsx("p",{className:"text-xs font-semibold uppercase tracking-widest mb-1",style:{color:"var(--t-text-muted)"},children:"Inscrição"}),a.jsx("h1",{className:"text-2xl font-bold",style:{color:"var(--t-text)"},children:i}),a.jsx("div",{className:"h-0.5 w-12 mx-auto mt-3 rounded-full",style:{background:"var(--t-primary)"}})]}),V>1&&a.jsx("div",{className:"mb-8",children:a.jsx(h,{steps:ee.map($=>({id:$.id,label:$.titulo,icone:$.icone})),currentStep:m,onStepClick:O})}),a.jsx(gn,{stepIndex:m,totalSteps:V,step:Y,defaultValues:q,externalData:c,fieldErrors:l,isSubmitting:S,submitError:A,validatorMapper:x,onWarningsChange:J,onValuesChange:_,onSubmit:w,onBack:D},m)]})})})},vn=({children:e,render:r,onChange:s})=>{const t=Lr(),n=v.useRef(s);return n.current=s,v.useEffect(()=>{var o;(o=n.current)==null||o.call(n,t)},[t.values,t.dirty,t.valid,t.submitting,t.errors,t.warnings]),r?a.jsx(a.Fragment,{children:r(t)}):typeof e=="function"?a.jsx(a.Fragment,{children:e(t)}):e!==void 0?a.jsx(a.Fragment,{children:e}):null};exports.ContainerRenderer=Ir;exports.DFCepField=Je;exports.DFCheckbox=Se;exports.DFCheckboxGroup=Le;exports.DFDateField=le;exports.DFFieldArray=zr;exports.DFFileUpload=Ve;exports.DFHidden=ze;exports.DFMaskedInput=te;exports.DFParticipationType=Er;exports.DFPaymentMethod=kr;exports.DFRadioGroup=Me;exports.DFSelect=Ce;exports.DFTerms=$r;exports.DFTextField=U;exports.DFTextarea=Te;exports.FormRenderer=yn;exports.FormSpy=vn;exports.OPCOES_POR_DIA=Or;exports.OPCOES_TODOS_OS_DIAS=Fr;exports.RendererContext=Ze;exports.StepRenderer=Zr;exports.evaluateFieldCondition=G;exports.interpolate=W;exports.interpolateContainer=we;exports.interpolateField=Tr;exports.interpolateStep=Cr;exports.makeStepResolver=_r;exports.makeStepWarnComputer=wr;exports.useField=mn;exports.useFieldApi=pn;exports.useFormApi=fn;exports.useFormState=Lr;exports.useRendererContext=Q;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),g=require("react"),le=require("@schema-forms-data/templates"),S=require("react-hook-form"),A=require("lucide-react"),y=require("@schema-forms-data/ui"),f=require("@schema-forms-data/core");function tt(t){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const o in t)if(o!=="default"){const s=Object.getOwnPropertyDescriptor(t,o);Object.defineProperty(r,o,s.get?s:{enumerable:!0,get:()=>t[o]})}}return r.default=t,Object.freeze(r)}const fe=tt(A),xe=g.createContext({}),te=()=>g.useContext(xe),B=(t,r,o={})=>{if(!t)return!0;if("and"in t||"or"in t){const c="and"in t&&Array.isArray(t.and)&&t.and.length>0,u="or"in t&&Array.isArray(t.or)&&t.or.length>0;return c&&u?(console.warn("[evaluateFieldCondition] FieldConditionGroup com `and` e `or` simultâneos — apenas `and` será avaliado."),t.and.every(m=>B(m,r,o))):c?t.and.every(m=>B(m,r,o)):u?t.or.some(m=>B(m,r,o)):!0}const s=t;if(!s.campoId)return!0;const i=s.source==="evento"?o[s.campoId]:r[s.campoId];if(Array.isArray(i)){const c=s.valor;switch(s.operador){case"contem":return i.includes(c);case"naoContem":return!i.includes(c);case"vazio":return i.length===0;case"naoVazio":return i.length>0;case"igual":return i.length===1&&i[0]===c;case"diferente":return!(i.length===1&&i[0]===c);default:return!0}}const n=i==null||i===!1?"":i===!0?"1":String(i),a=s.valor!==void 0?String(s.valor):"",l=Number(n),d=Number(a);switch(s.operador){case"igual":return n===a;case"diferente":return n!==a;case"vazio":return!n;case"naoVazio":return!!n;case"contem":return n.includes(a);case"naoContem":return!n.includes(a);case"maiorQue":return!isNaN(l)&&!isNaN(d)?l>d:n>a;case"menorQue":return!isNaN(l)&&!isNaN(d)?l<d:n<a;case"maiorOuIgual":return!isNaN(l)&&!isNaN(d)?l>=d:n>=a;case"menorOuIgual":return!isNaN(l)&&!isNaN(d)?l<=d:n<=a;default:return!0}},st=/^\d{3}\.?\d{3}\.?\d{3}-?\d{2}$/,rt=/^\(?\d{2}\)?\s?\d{4,5}-?\d{4}$/,nt=/^\d{5}-?\d{3}$/,at=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,ot=t=>{const r=t.replace(/\D/g,"");if(r.length!==11||/^(\d)\1{10}$/.test(r))return!1;const o=s=>{let i=0;for(let a=0;a<s;a++)i+=parseInt(r[a])*(s+1-a);const n=i*10%11;return n>=10?0:n};return o(9)===parseInt(r[9])&&o(10)===parseInt(r[10])},de=new Map,it=t=>{if(de.has(t))return de.get(t);try{const r=new RegExp(t);return de.set(t,r),r}catch{return de.set(t,null),null}},ue=(t,r,o={})=>{const s=t.validacao;if(t.tipo===f.FieldType.CHECKBOX||t.tipo===f.FieldType.SWITCH)return t.obrigatorio&&!r?"Campo obrigatório":void 0;if(t.tipo===f.FieldType.SLIDER){const n=r!=null&&r!==""?Number(r):NaN;return t.obrigatorio&&isNaN(n)?"Campo obrigatório":isNaN(n)?void 0:(s==null?void 0:s.min)!==void 0&&n<s.min?`Valor mínimo: ${s.min}`:(s==null?void 0:s.max)!==void 0&&n>s.max?`Valor máximo: ${s.max}`:void 0}if(t.tipo===f.FieldType.RATING){const n=r!==void 0?Number(r):0;return t.obrigatorio&&(!n||n<1)?"Avaliação obrigatória":void 0}if(t.tipo===f.FieldType.DATE_RANGE){const n=r;if(t.obrigatorio){if(!(n!=null&&n.start))return"Data inicial obrigatória";if(!(n!=null&&n.end))return"Data final obrigatória"}return n!=null&&n.start&&(n!=null&&n.end)&&n.start>n.end?"A data inicial deve ser menor ou igual à data final":void 0}if(t.tipo===f.FieldType.PARTICIPATION_TYPE){if(!t.obrigatorio)return;const n=r;return n!=null&&n.tipo?n.tipo==="por_dia"&&!n.data?"Selecione um dia para participar":"genero"in(n??{})&&!(n!=null&&n.genero)?"Selecione o sexo":void 0:"Selecione o tipo de participação"}if(t.tipo===f.FieldType.CHECKBOX_GROUP){const n=Array.isArray(r)?r:[];return t.obrigatorio&&n.length===0?"Selecione pelo menos uma opção":void 0}if(t.tipo===f.FieldType.FILE)return t.obrigatorio&&!r?"Arquivo obrigatório":void 0;if(t.tipo===f.FieldType.TERMS)return t.obrigatorio&&r!=="accepted"?"Você precisa aceitar os termos para continuar":void 0;if(t.tipo===f.FieldType.NUMBER){const n=r!=null?String(r):"";if(t.obrigatorio&&!n)return"Campo obrigatório";if(!n)return;const a=Number(n);return isNaN(a)?"Deve ser um número":(s==null?void 0:s.min)!==void 0&&a<s.min?`Valor mínimo: ${s.min}`:(s==null?void 0:s.max)!==void 0&&a>s.max?`Valor máximo: ${s.max}`:void 0}const i=r!=null?String(r):"";if(t.obrigatorio&&!i.trim())return"Campo obrigatório";if(i){if(t.tipo===f.FieldType.EMAIL&&!at.test(i))return"E-mail inválido";if(t.tipo===f.FieldType.CPF&&(!st.test(i)||!ot(i)))return"CPF inválido";if(t.tipo===f.FieldType.TELEFONE&&!rt.test(i))return"Telefone inválido";if(t.tipo===f.FieldType.CEP&&!nt.test(i))return"CEP inválido";if(s!=null&&s.minLength&&i.length<s.minLength)return`Mínimo ${s.minLength} caracteres`;if(s!=null&&s.maxLength&&i.length>s.maxLength)return`Máximo ${s.maxLength} caracteres`;if((t.tipo===f.FieldType.DATE||t.tipo===f.FieldType.DATETIME)&&i){if(s!=null&&s.minDate&&i<s.minDate)return`Data mínima: ${s.minDate}`;if(s!=null&&s.maxDate&&i>s.maxDate)return`Data máxima: ${s.maxDate}`}if((t.tipo===f.FieldType.DATE||t.tipo===f.FieldType.DATETIME)&&i&&((s==null?void 0:s.minAge)!=null||(s==null?void 0:s.maxAge)!=null)){const n=i.split("T")[0],a=new Date(n+"T00:00:00"),l=o["evento.dataInicioEvento"],d=l?new Date(l.split("T")[0]+"T00:00:00"):new Date;let c=d.getFullYear()-a.getFullYear();const u=d.getMonth()-a.getMonth();if((u<0||u===0&&d.getDate()<a.getDate())&&c--,s.minAge!=null&&c<s.minAge)return`Idade mínima: ${s.minAge} ano${s.minAge!==1?"s":""}`;if(s.maxAge!=null&&c>s.maxAge)return`Idade máxima: ${s.maxAge} ano${s.maxAge!==1?"s":""}`}if(s!=null&&s.regex){const n=it(s.regex);if(n&&!n.test(i))return s.regexMessage||"Formato inválido"}}},ae=(t,r,o)=>{const s=r.split(".");let i=t;for(let n=0;n<s.length-1;n++){const a=s[n];(i[a]==null||typeof i[a]!="object")&&(i[a]={}),i=i[a]}i[s[s.length-1]]=o},oe=async(t,r,o,s,i,n)=>{for(const a of t){const l=n[a.type];if(!l)continue;const d=await l(o,s,a,i);if(d)return a.message??d}},Oe=(t,r={},o={})=>async s=>{var l,d,c,u,m;const i={},n=[...t.containers].sort((h,F)=>h.ordem-F.ordem);for(const h of n){if(h.repeatable||h.condicional&&!B(h.condicional,s,r))continue;const F=[...h.campos].sort((x,I)=>x.ordem-I.ordem);for(const x of F){if(!B(x.condicional,s,r)||x.tipo===f.FieldType.HIDDEN||x.isDisabled||x.isReadOnly)continue;if(x.tipo===f.FieldType.FIELD_ARRAY){const E=Array.isArray(s[x.nome])?s[x.nome]:[];x.obrigatorio&&E.length===0?i[x.nome]={type:"custom",message:"Adicione pelo menos um item"}:x.minItems&&E.length<x.minItems?i[x.nome]={type:"custom",message:`Mínimo de ${x.minItems} item${x.minItems!==1?"s":""}`}:x.maxItems&&E.length>x.maxItems&&(i[x.nome]={type:"custom",message:`Máximo de ${x.maxItems} item${x.maxItems!==1?"s":""}`});for(let b=0;b<E.length;b++){const p=E[b];for(const w of x.subFields??[]){if(w.isDisabled||w.isReadOnly||!B(w.condicional,p,r))continue;const j=ue(w,p[w.nome],r);if(j){ae(i,`${x.nome}.${b}.${w.nome}`,{type:"custom",message:j});continue}if((l=w.validate)!=null&&l.length){const C=await oe(w.validate,w.nome,p[w.nome],p,r,o);C&&ae(i,`${x.nome}.${b}.${w.nome}`,{type:"custom",message:C})}}}continue}if(x.tipo===f.FieldType.SUB_FORM){const E=s[x.nome]??{};x.obrigatorio&&Object.keys(E).length===0&&(i[x.nome]={type:"custom",message:"Campo obrigatório"});for(const b of((d=x.subSchema)==null?void 0:d.fields)??[]){if(b.isDisabled||b.isReadOnly)continue;const p=ue(b,E[b.nome],r);if(p){ae(i,`${x.nome}.${b.nome}`,{type:"custom",message:p});continue}if((c=b.validate)!=null&&c.length){const w=await oe(b.validate,b.nome,E[b.nome],E,r,o);w&&ae(i,`${x.nome}.${b.nome}`,{type:"custom",message:w})}}continue}const N=ue(x,s[x.nome],r);if(N&&(i[x.nome]={type:"custom",message:N}),!i[x.nome]&&((u=x.validate)!=null&&u.length)){const E=await oe(x.validate,x.nome,s[x.nome],s,r,o);E&&(i[x.nome]={type:"custom",message:E})}}}for(const h of n){if(!h.repeatable||!h.nome||h.condicional&&!B(h.condicional,s,r))continue;const F=Array.isArray(s[h.nome])?s[h.nome]:[];h.minItems&&F.length<h.minItems?i[h.nome]={type:"custom",message:`Mínimo de ${h.minItems} ${h.itemLabel??"item"}${h.minItems!==1?"s":""}`}:h.maxItems&&F.length>h.maxItems&&(i[h.nome]={type:"custom",message:`Máximo de ${h.maxItems} ${h.itemLabel??"item"}${h.maxItems!==1?"s":""}`});for(let x=0;x<F.length;x++){const I=F[x];for(const N of h.campos){if(!B(N.condicional,I,r)||N.tipo===f.FieldType.HIDDEN||N.isDisabled||N.isReadOnly)continue;const b=ue(N,I[N.nome],r);if(b){ae(i,`${h.nome}.${x}.${N.nome}`,{type:"custom",message:b});continue}if((m=N.validate)!=null&&m.length){const p=await oe(N.validate,N.nome,I[N.nome],I,r,o);p&&ae(i,`${h.nome}.${x}.${N.nome}`,{type:"custom",message:p})}}}}return Object.keys(i).length>0?{values:{},errors:i}:{values:s,errors:{}}},Pe=(t,r={},o={})=>async s=>{var a,l;const i={},n=[...t.containers].sort((d,c)=>d.ordem-c.ordem);for(const d of n)if(!(d.condicional&&!B(d.condicional,s,r))){if(d.repeatable&&d.nome){const c=Array.isArray(s[d.nome])?s[d.nome]:[];for(let u=0;u<c.length;u++){const m=c[u];for(const h of[...d.campos].sort((F,x)=>F.ordem-x.ordem)){if(!((a=h.warn)!=null&&a.length)||!B(h.condicional,m,r))continue;const x=await oe(h.warn,h.nome,m[h.nome],m,r,o);x&&(i[`${d.nome}.${u}.${h.nome}`]=x)}}continue}for(const c of[...d.campos].sort((u,m)=>u.ordem-m.ordem)){if(!((l=c.warn)!=null&&l.length)||!B(c.condicional,s,r))continue;const m=await oe(c.warn,c.nome,s[c.nome],s,r,o);m&&(i[c.nome]=m)}}return i},lt=/\{\{\s*(?:event|evento)\.([a-zA-Z0-9_.]+)\s*\}\}/g,W=(t,r)=>t?t.replace(lt,(o,s)=>r[`evento.${s}`]??r[s]??o):t??"",ct=(t,r)=>({...t,label:W(t.label,r)}),Ve=(t,r)=>{var o;return{...t,label:W(t.label,r),placeholder:W(t.placeholder,r),hint:W(t.hint,r),defaultValue:typeof t.defaultValue=="string"?W(t.defaultValue,r):t.defaultValue,opcoes:(o=t.opcoes)==null?void 0:o.map(s=>ct(s,r))}},he=(t,r)=>({...t,titulo:W(t.titulo,r),descricao:W(t.descricao,r),campos:t.campos.map(o=>Ve(o,r))}),Le=(t,r)=>({...t,titulo:W(t.titulo,r),descricao:W(t.descricao,r),containers:t.containers.map(o=>he(o,r))}),Me=()=>{const t=le.useTemplate(),r=t.layout.containerStyle,o=t.layout.roundness??"rounded-xl",s=y.cn("overflow-hidden",o,r==="card"?"border":"",r==="bordered"?"border":"",r==="glassmorphism"?"backdrop-blur-sm":""),i=r==="glassmorphism"?{background:"var(--t-surface)",borderColor:"var(--t-border)",borderWidth:"1px",borderStyle:"solid"}:{},n=y.cn("border-b px-6 py-4",r==="flat"?"border-transparent":"");return{wrapperClass:s,wrapperStyle:i,headerClass:n,headerStyle:r==="glassmorphism"?{borderColor:"var(--t-border)"}:{},tmpl:t}},z=({name:t,control:r,placeholder:o,type:s="text",disabled:i,readOnly:n})=>{var c;const{field:a,fieldState:l}=S.useController({name:t,control:r}),d=!!l.error;return e.jsxs("div",{className:"space-y-1",children:[e.jsx(y.Input,{...a,value:a.value??"",type:s,placeholder:o,disabled:i,readOnly:n,className:y.cn(d&&"border-destructive focus-visible:ring-destructive")}),((c=l.error)==null?void 0:c.message)&&e.jsx("p",{className:"text-sm text-destructive",children:l.error.message})]})},ge=({name:t,control:r,placeholder:o,disabled:s,readOnly:i})=>{var l;const{field:n,fieldState:a}=S.useController({name:t,control:r});return e.jsxs("div",{className:"space-y-1",children:[e.jsx(y.Textarea,{...n,value:n.value??"",placeholder:o,disabled:s,readOnly:i,rows:3,className:y.cn(a.error&&"border-destructive focus-visible:ring-destructive")}),((l=a.error)==null?void 0:l.message)&&e.jsx("p",{className:"text-sm text-destructive",children:a.error.message})]})},be=({name:t,control:r,placeholder:o,options:s,disabled:i,readOnly:n})=>{var d;const{field:a,fieldState:l}=S.useController({name:t,control:r});return e.jsxs("div",{className:"space-y-1",children:[e.jsxs(y.Select,{value:a.value??"",onValueChange:c=>!n&&a.onChange(c),disabled:i||n,children:[e.jsx(y.SelectTrigger,{className:y.cn(l.error&&"border-destructive focus:ring-destructive"),onBlur:a.onBlur,children:e.jsx(y.SelectValue,{placeholder:o??"Selecione..."})}),e.jsx(y.SelectContent,{children:s.map(c=>e.jsx(y.SelectItem,{value:c.valor,disabled:c.disabled,children:c.label},c.valor))})]}),((d=l.error)==null?void 0:d.message)&&e.jsx("p",{className:"text-sm text-destructive",children:l.error.message})]})},ve=({name:t,control:r,label:o,disabled:s,readOnly:i})=>{var l;const{field:n,fieldState:a}=S.useController({name:t,control:r});return e.jsxs("div",{className:"space-y-1",children:[e.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",children:[e.jsx(y.Checkbox,{name:n.name,checked:!!n.value,onCheckedChange:d=>!i&&n.onChange(!!d),onBlur:n.onBlur,disabled:s}),o&&e.jsx("span",{className:"text-sm leading-none",children:o})]}),((l=a.error)==null?void 0:l.message)&&e.jsx("p",{className:"text-sm text-destructive",children:a.error.message})]})},Ne=({name:t,control:r,options:o,disabled:s})=>{var d;const{field:i,fieldState:n}=S.useController({name:t,control:r}),a=Array.isArray(i.value)?i.value:[],l=c=>{const u=a.includes(c)?a.filter(m=>m!==c):[...a,c];i.onChange(u)};return e.jsxs("div",{className:"space-y-1",children:[e.jsx("div",{className:"flex flex-col gap-2",onBlur:i.onBlur,children:o.map(c=>e.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",children:[e.jsx(y.Checkbox,{checked:a.includes(c.valor),onCheckedChange:()=>l(c.valor),disabled:s||c.disabled}),e.jsx("span",{className:"text-sm leading-none",children:c.label})]},c.valor))}),((d=n.error)==null?void 0:d.message)&&e.jsx("p",{className:"text-sm text-destructive",children:n.error.message})]})},Ce=({name:t,control:r,options:o,visualStyle:s="default",disabled:i})=>{var d;const{field:n,fieldState:a}=S.useController({name:t,control:r}),l=s==="card";return e.jsxs("div",{className:"space-y-1",onBlur:n.onBlur,children:[e.jsx(y.RadioGroup,{value:n.value??"",onValueChange:n.onChange,className:y.cn(l?"grid grid-cols-2 gap-2 sm:grid-cols-3":"flex flex-col gap-2"),children:o.map(c=>e.jsxs("label",{className:y.cn("flex items-center gap-2 cursor-pointer",l&&"rounded-lg border p-3 transition-colors hover:bg-accent data-[selected=true]:border-primary data-[selected=true]:bg-primary/5",(i||c.disabled)&&"cursor-not-allowed opacity-50"),"data-selected":n.value===c.valor?"true":void 0,children:[e.jsx(y.RadioGroupItem,{value:c.valor,disabled:i||c.disabled}),e.jsx("span",{className:"text-sm leading-none",children:c.label})]},c.valor))}),((d=a.error)==null?void 0:d.message)&&e.jsx("p",{className:"text-sm text-destructive",children:a.error.message})]})},_e=t=>{const r=t.getFullYear(),o=String(t.getMonth()+1).padStart(2,"0"),s=String(t.getDate()).padStart(2,"0");return`${r}-${o}-${s}`},dt=t=>{const r=new Date;return r.setFullYear(r.getFullYear()-t),_e(r)},ut=t=>{const r=new Date;return r.setFullYear(r.getFullYear()-t),_e(r)},ie=({name:t,control:r,isDatetime:o,disabled:s,readOnly:i,validacao:n})=>{var h;const{field:a,fieldState:l}=S.useController({name:t,control:r}),d=o?"datetime-local":"date",c=F=>o?F+"T00:00":F,u=(n==null?void 0:n.minAge)!=null?c(dt(n.minAge)):(n==null?void 0:n.maxDate)!=null?c(n.maxDate):void 0,m=(n==null?void 0:n.maxAge)!=null?c(ut(n.maxAge)):(n==null?void 0:n.minDate)!=null?c(n.minDate):void 0;return e.jsxs("div",{className:"space-y-1",children:[e.jsx(y.Input,{name:a.name,value:a.value??"",onChange:a.onChange,onBlur:a.onBlur,type:d,min:m,max:u,disabled:s,readOnly:i,className:y.cn(l.error&&"border-destructive focus-visible:ring-destructive")}),((h=l.error)==null?void 0:h.message)&&e.jsx("p",{className:"text-sm text-destructive",children:l.error.message})]})},De=t=>t<1024?`${t} B`:t<1024*1024?`${(t/1024).toFixed(1)} KB`:`${(t/(1024*1024)).toFixed(1)} MB`,Fe=({name:t,control:r,disabled:o,campo:s,fileTypes:i,maxFileSize:n})=>{var R;const{field:a,fieldState:l}=S.useController({name:t,control:r}),{uploadFile:d}=te(),[c,u]=g.useState({status:"idle"}),m=g.useRef(null),[h,F]=g.useState(!1),x=g.useRef(!0);g.useEffect(()=>()=>{x.current=!1},[]);const I=typeof a.value=="string"&&a.value?a.value:null,N=g.useCallback(async j=>{var C;if(i&&i.length>0){const v=((C=j.name.split(".").pop())==null?void 0:C.toLowerCase())??"",D=j.type.toLowerCase();if(!i.some(V=>{const M=V.toLowerCase();return!!(M===v||M===D||M.endsWith("/*")&&D.startsWith(M.slice(0,-1)))})){u({status:"error",message:`Tipo de arquivo não permitido. Permitidos: ${i.join(", ")}`});return}}if(n&&j.size>n){u({status:"error",message:`Arquivo muito grande. Tamanho máximo: ${De(n)}`});return}if(!d){u({status:"error",message:"Preview: upload não disponível sem configuração."});return}u({status:"uploading",fileName:j.name,progress:0});try{const v=await d(j,s??t,D=>{x.current&&u(T=>T.status==="uploading"?{...T,progress:Math.min(100,D)}:T)});if(!x.current)return;a.onChange(v),u({status:"done",uploadId:v,fileName:j.name,size:j.size})}catch{if(!x.current)return;u({status:"error",message:"Falha no upload. Tente novamente."})}},[d,s,t,a,i,n]),E=g.useCallback(j=>{var v;const C=(v=j.target.files)==null?void 0:v[0];C&&N(C),j.target.value=""},[N]),b=g.useCallback(()=>{a.onChange(""),u({status:"idle"}),m.current&&(m.current.value="")},[a]);if(c.status==="done"||c.status==="idle"&&!!I){const j=c.status==="done"?c.fileName:"Arquivo enviado",C=c.status==="done"?c.size:null;return e.jsxs("div",{className:"flex items-center justify-between rounded-lg border border-input bg-muted/20 px-4 py-3 gap-2",children:[e.jsx("span",{className:"text-sm font-medium truncate flex-1",children:j}),C!==null&&e.jsx("span",{className:"text-xs text-muted-foreground shrink-0",children:De(C)}),!o&&e.jsx("button",{type:"button",onClick:b,className:"ml-2 shrink-0 text-muted-foreground hover:text-destructive transition-colors","aria-label":"Remover arquivo",children:"✕"})]})}if(c.status==="uploading"){const{fileName:j,progress:C}=c;return e.jsxs("div",{className:"rounded-lg border border-input px-4 py-3 space-y-2",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-sm font-medium truncate flex-1",children:j}),e.jsxs("span",{className:"text-xs text-muted-foreground ml-2",children:[C,"%"]})]}),e.jsx("div",{className:"h-2 rounded-full bg-muted overflow-hidden",children:e.jsx("div",{className:"h-full bg-primary transition-all duration-200 rounded-full",style:{width:`${C}%`}})})]})}const w=c.status==="error";return e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{role:"button",tabIndex:o?-1:0,"aria-label":"Selecionar arquivo",className:y.cn("flex items-center justify-center rounded-lg border-2 border-dashed px-4 py-6 transition-colors cursor-pointer",h?"border-primary bg-primary/5":w||l.error?"border-destructive bg-destructive/5":"border-input hover:border-muted-foreground hover:bg-muted/20",o&&"opacity-50 cursor-not-allowed"),onClick:()=>{var j;return!o&&((j=m.current)==null?void 0:j.click())},onKeyDown:j=>{var C;(j.key==="Enter"||j.key===" ")&&((C=m.current)==null||C.click())},onDragOver:j=>{j.preventDefault(),o||F(!0)},onDragLeave:()=>F(!1),onDrop:o?void 0:j=>{var v;j.preventDefault(),F(!1);const C=(v=j.dataTransfer.files)==null?void 0:v[0];C&&N(C)},onBlur:a.onBlur,children:[e.jsx("input",{ref:m,type:"file",onChange:E,disabled:o,className:"sr-only"}),e.jsx("span",{className:"text-sm text-muted-foreground",children:h?"Solte o arquivo aqui":"Clique ou arraste um arquivo"})]}),w&&e.jsxs("p",{className:"text-sm text-destructive",children:[c.message," · ",e.jsx("button",{type:"button",className:"underline hover:no-underline",onClick:()=>u({status:"idle"}),children:"Tentar novamente"})]}),!w&&((R=l.error)==null?void 0:R.message)&&e.jsx("p",{className:"text-sm text-destructive",children:l.error.message})]})},mt={cpf:t=>t.replace(/\D/g,"").slice(0,11).replace(/(\d{3})(\d)/,"$1.$2").replace(/(\d{3})(\d)/,"$1.$2").replace(/(\d{3})(\d{1,2})$/,"$1-$2"),telefone:t=>{const r=t.replace(/\D/g,"").slice(0,11);return r.length<=10?r.replace(/(\d{2})(\d)/,"($1) $2").replace(/(\d{4})(\d)/,"$1-$2"):r.replace(/(\d{2})(\d)/,"($1) $2").replace(/(\d{5})(\d)/,"$1-$2")},cep:t=>t.replace(/\D/g,"").slice(0,8).replace(/(\d{5})(\d)/,"$1-$2")},re=({name:t,control:r,placeholder:o,maskType:s,disabled:i,readOnly:n})=>{var u;const{field:a,fieldState:l}=S.useController({name:t,control:r}),d=mt[s||""],c=g.useCallback(m=>{a.onChange(d?d(m.target.value):m.target.value)},[a,d]);return e.jsxs("div",{className:"space-y-1",children:[e.jsx(y.Input,{name:a.name,value:a.value||"",onChange:c,onBlur:a.onBlur,placeholder:o,disabled:i,readOnly:n,className:y.cn(l.error&&"border-destructive focus-visible:ring-destructive")}),((u=l.error)==null?void 0:u.message)&&e.jsx("p",{className:"text-sm text-destructive",children:l.error.message})]})},ye=({name:t,control:r})=>{const{field:o}=S.useController({name:t,control:r});return e.jsx("input",{type:"hidden",...o,value:o.value??""})},Be=t=>t.replace(/\D/g,""),xt=t=>{const r=Be(t).slice(0,8);return r.length<=5?r:`${r.slice(0,5)}-${r.slice(5)}`},pt=async(t,r)=>{const o=await fetch(`https://viacep.com.br/ws/${t}/json/`,{signal:r});if(!o.ok)throw new Error("Falha ao consultar CEP");return o.json()},Te=({name:t,control:r,placeholder:o="00000-000",disabled:s,readOnly:i,cepFillMap:n})=>{var b,p;const{field:a,fieldState:l}=S.useController({name:t,control:r}),{setValue:d}=S.useFormContext(),{cepLookup:c}=te(),[u,m]=g.useState("idle"),[h,F]=g.useState(null),x=g.useRef(null),I=g.useRef(!0);g.useEffect(()=>()=>{var w;I.current=!1,(w=x.current)==null||w.abort()},[]);const N=g.useCallback(async()=>{var R;a.onBlur();const w=Be(a.value??"");if(w.length===8){(R=x.current)==null||R.abort(),x.current=new AbortController,m("loading"),F(null);try{let j;if(c){const D=x.current;if(j=await c(w,D.signal),D.signal.aborted||!I.current)return}else{const D=await pt(w,x.current.signal);if(!I.current)return;if(D.erro){m("error"),F("CEP não encontrado");return}j={logradouro:D.logradouro,bairro:D.bairro,cidade:D.localidade,estado:D.uf}}if(!I.current)return;if(j.erro){m("error"),F("CEP não encontrado");return}const C=t.includes(".")?`${t.substring(0,t.lastIndexOf("."))}.`:"",v=(D,T,V)=>{if(!V)return;const M=n!=null&&n[D]?`${C}${n[D]}`:`${C}${T}`;d(M,V,{shouldDirty:!0,shouldValidate:!0})};v("logradouro","_address_logradouro",j.logradouro),v("bairro","_address_bairro",j.bairro),v("cidade","_address_cidade",j.cidade),v("estado","_address_estado",j.estado),m("success")}catch(j){if(j instanceof Error&&j.name==="AbortError"||!I.current)return;m("error"),F("Erro ao buscar CEP")}}},[a,c,d,t,n]),E=g.useCallback(w=>{a.onChange(xt(w.target.value))},[a]);return e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"relative",children:[e.jsx(y.Input,{name:a.name,value:a.value||"",onChange:E,onBlur:N,placeholder:o,disabled:s,readOnly:i,className:y.cn("pr-9",l.error&&"border-destructive focus-visible:ring-destructive")}),e.jsxs("div",{className:"absolute right-3 top-1/2 -translate-y-1/2 pointer-events-none",children:[u==="loading"&&e.jsx(A.Loader2,{className:"h-4 w-4 animate-spin text-muted-foreground"}),u==="success"&&e.jsx(A.Check,{className:"h-4 w-4 text-green-500"}),u==="error"&&e.jsx(A.AlertCircle,{className:"h-4 w-4 text-destructive"})]})]}),(((b=l.error)==null?void 0:b.message)||h)&&e.jsx("p",{className:"text-sm text-destructive",children:((p=l.error)==null?void 0:p.message)||h})]})},ft=({field:t,control:r,nameOverride:o})=>{const s={name:o,control:r,placeholder:t.placeholder};switch(t.tipo){case f.FieldType.TEXTO:return e.jsx(z,{...s,type:"text"});case f.FieldType.EMAIL:return e.jsx(z,{...s,type:"email"});case f.FieldType.NUMBER:return e.jsx(z,{...s,type:"number"});case f.FieldType.TEXTAREA:return e.jsx(ge,{...s});case f.FieldType.SELECT:return e.jsx(be,{...s,options:t.opcoes??[]});case f.FieldType.RADIO:return e.jsx(Ce,{...s,options:t.opcoes??[]});case f.FieldType.CHECKBOX:return e.jsx(ve,{name:o,control:r,label:t.label});case f.FieldType.CHECKBOX_GROUP:return e.jsx(Ne,{...s,options:t.opcoes??[]});case f.FieldType.DATE:return e.jsx(ie,{...s,validacao:t.validacao});case f.FieldType.DATETIME:return e.jsx(ie,{...s,isDatetime:!0,validacao:t.validacao});case f.FieldType.FILE:return e.jsx(Fe,{name:o,control:r});case f.FieldType.TELEFONE:return e.jsx(re,{...s,maskType:"telefone"});case f.FieldType.CPF:return e.jsx(re,{...s,maskType:"cpf"});case f.FieldType.CEP:return e.jsx(Te,{name:o,control:r,placeholder:t.placeholder});case f.FieldType.HIDDEN:return e.jsx(ye,{name:o,control:r});default:return console.error(`[DFFieldArray] Tipo de sub-campo "${t.tipo}" não suportado em FIELD_ARRAY. Usando DFTextField como fallback.`),e.jsx(z,{...s,type:"text"})}},He=({name:t,control:r,subFields:o=[],minItems:s=1,maxItems:i,itemLabel:n="Item",addLabel:a})=>{var N;const{fields:l,append:d,remove:c}=S.useFieldArray({control:r,name:t}),{errors:u}=S.useFormState({control:r}),m=(N=u[t])==null?void 0:N.message,h=g.useCallback(()=>{const E={};for(const b of o)b.initialValue!==void 0?E[b.nome]=b.initialValue:b.defaultValue!==void 0&&(E[b.nome]=b.defaultValue);return E},[o]);g.useEffect(()=>{if(l.length<s)for(let E=l.length;E<s;E++)d(h())},[s]);const F=[...o].sort((E,b)=>E.ordem-b.ordem),x=!i||l.length<i,I=a??`Adicionar ${n.toLowerCase()}`;return e.jsxs("div",{className:"space-y-3",children:[l.map((E,b)=>e.jsxs("div",{className:"rounded-lg border border-input p-4",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"flex h-6 w-6 items-center justify-center rounded-full bg-primary/10 text-xs font-bold text-primary shrink-0",children:b+1}),e.jsxs("span",{className:"text-sm font-semibold",children:[n," ",b+1]})]}),l.length>s&&e.jsx(y.Button,{type:"button",variant:"ghost",size:"icon",onClick:()=>c(b),"aria-label":`Remover ${n.toLowerCase()} ${b+1}`,className:"text-muted-foreground hover:text-destructive",children:e.jsx(A.Trash2,{className:"w-4 h-4"})})]}),e.jsx("div",{className:"grid grid-cols-12 gap-4",children:F.map(p=>{const w=`${t}.${b}.${p.nome}`,j=`span ${p.tamanho??12}`,C=e.jsx(ft,{field:p,control:r,nameOverride:w});return p.tipo===f.FieldType.CHECKBOX||p.tipo===f.FieldType.HIDDEN?e.jsx("div",{className:"max-sm:!col-span-12",style:{gridColumn:j},children:C},p.id):e.jsxs("div",{className:"max-sm:!col-span-12 space-y-2",style:{gridColumn:j},children:[e.jsxs("label",{className:"font-medium flex items-center gap-1 text-sm text-foreground",children:[p.label,p.obrigatorio&&e.jsx("span",{className:"text-destructive",children:"*"})]}),C,p.hint&&e.jsx("p",{className:"text-xs text-muted-foreground",children:p.hint})]},p.id)})})]},E.id)),x&&e.jsxs(y.Button,{type:"button",variant:"outline",className:"w-full",onClick:()=>d(h()),children:[e.jsx(A.Plus,{className:"w-4 h-4"}),I]}),i&&e.jsxs("p",{className:"text-xs text-center text-muted-foreground",children:["Máximo de ",i," ",n.toLowerCase(),i>1?"s":""]}),m&&e.jsxs("p",{className:"text-sm text-destructive flex items-center gap-1",children:[e.jsx(A.AlertCircle,{className:"w-4 h-4 shrink-0"}),m]})]})},Ee=t=>`R$ ${(t/100).toFixed(2).replace(".",",")}`,ht=(t,r)=>{const o=new Date(t.slice(0,10)+"T00:00:00Z"),s=new Date(r.slice(0,10)+"T00:00:00Z");return Math.round((s.getTime()-o.getTime())/864e5)+1},gt=(t,r)=>{const o=[],s=new Date(t.slice(0,10)+"T00:00:00Z"),i=new Date(r.slice(0,10)+"T00:00:00Z");let n=0;for(;s<=i&&n<60;)o.push(s.toISOString().slice(0,10)),s.setUTCDate(s.getUTCDate()+1),n++;return o},bt=t=>{const[r,o,s]=t.split("-").map(Number),i=new Date(Date.UTC(r,o-1,s)),n=String(s).padStart(2,"0"),a=String(o).padStart(2,"0"),l=new Intl.DateTimeFormat("pt-BR",{weekday:"long",timeZone:"UTC"}).format(i),d=l.charAt(0).toUpperCase()+l.slice(1);return`${n}/${a} - ${d}`},vt=(t,r)=>{const o=s=>{const[i,n,a]=s.slice(0,10).split("-");return`${a}/${n}/${i}`};return`${o(t)} a ${o(r)}`},Ue=({name:t,control:r})=>{var X;const{field:o,fieldState:s}=S.useController({name:t,control:r}),{externalData:i={}}=te(),n=o.value??null,a=(X=s.error)==null?void 0:X.message,l=k=>i[`evento.${k}`]??i[k],d=l("dataInicioEvento")??"",c=l("dataFimEvento")??"",u=Number(l("valor")??0),m=Number(l("valorPorDia")??0),h=l("vagasTotal"),F=l("vagasPorDia"),x=l("vagasMasculinas"),I=l("vagasFemininas"),N=h!=null?Number(h):null,E=F!=null?Number(F):null,b=x!=null?Number(x):null,p=I!=null?Number(I):null,w=d&&c?gt(d,c):[],j=(d&&c?ht(d,c):0)>1,C=b!=null&&b>0&&p!=null&&p>0,v=b!=null&&p==null?"masculino":p!=null&&b==null?"feminino":null,D=(n==null?void 0:n.tipo)??null,T=(n==null?void 0:n.data)??null,V=(n==null?void 0:n.genero)??null,M=g.useRef(n);M.current=n;const K=g.useRef(o.onChange);K.current=o.onChange,g.useEffect(()=>{var k,H,ne;v&&((k=M.current)==null?void 0:k.genero)!==v&&K.current({tipo:((H=M.current)==null?void 0:H.tipo)??null,data:((ne=M.current)==null?void 0:ne.data)??null,genero:v})},[v]);const q=k=>{const H={tipo:k,data:null};(C||v)&&(H.genero=V??v??void 0),o.onChange(H)},Y=k=>{const H={tipo:"por_dia",data:k};(C||v)&&(H.genero=V??v??void 0),o.onChange(H)},Q=k=>{o.onChange({tipo:D,data:T,genero:k})},U=k=>D===k;return e.jsxs("div",{className:"space-y-3",children:[C&&e.jsxs("div",{className:"flex items-center gap-2 px-1",children:[e.jsx("span",{className:"text-xs text-muted-foreground shrink-0",children:"Você é:"}),e.jsx("div",{className:"flex gap-2",children:["masculino","feminino"].map(k=>e.jsx("button",{type:"button",onClick:()=>Q(k),className:y.cn("px-3 py-1 rounded-full text-xs font-medium border transition-all",V===k?"border-primary bg-primary/10 text-primary":"border-input text-muted-foreground hover:border-primary/50"),children:k==="masculino"?"Masculino":"Feminino"},k))})]}),e.jsxs("button",{type:"button",onClick:()=>q("todos_os_dias"),className:y.cn("w-full text-left flex items-start gap-3 p-4 rounded-xl border-2 transition-all",U("todos_os_dias")?"border-primary bg-primary/5":"border-input hover:border-primary/50"),children:[e.jsx("div",{className:y.cn("mt-0.5 p-2 rounded-lg shrink-0 transition-colors",U("todos_os_dias")?"bg-primary/10 text-primary":"bg-muted text-muted-foreground"),children:e.jsx(A.CalendarCheck2,{className:"w-4 h-4"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"font-semibold text-sm",children:"Participar todos os dias"}),d&&c?e.jsx("p",{className:"text-xs text-muted-foreground",children:vt(d,c)}):e.jsx("p",{className:"text-xs text-muted-foreground italic",children:"Datas do evento"})]}),e.jsxs("div",{className:"text-right shrink-0",children:[u>0&&e.jsx("p",{className:y.cn("font-bold text-sm",U("todos_os_dias")?"text-primary":"text-foreground"),children:Ee(u)}),N!=null&&N>0&&e.jsxs("p",{className:"text-xs flex items-center justify-end gap-1 text-muted-foreground",children:[e.jsx(A.Users,{className:"w-3 h-3"}),N," vagas disponíveis"]})]})]}),j?e.jsxs("button",{type:"button",onClick:()=>q("por_dia"),className:y.cn("w-full text-left flex items-start gap-3 p-4 rounded-xl border-2 transition-all",U("por_dia")?"border-primary bg-primary/5":"border-input hover:border-primary/50"),children:[e.jsx("div",{className:y.cn("mt-0.5 p-2 rounded-lg shrink-0 transition-colors",U("por_dia")?"bg-primary/10 text-primary":"bg-muted text-muted-foreground"),children:e.jsx(A.CalendarDays,{className:"w-4 h-4"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"font-semibold text-sm",children:"Participar um dia"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Escolha o dia desejado abaixo"})]}),e.jsxs("div",{className:"text-right shrink-0",children:[m>0&&e.jsx("p",{className:y.cn("font-bold text-sm",U("por_dia")?"text-primary":"text-foreground"),children:Ee(m)}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"por dia"})]})]}):d?e.jsxs("div",{className:"flex items-start gap-2 px-3 py-2.5 rounded-lg border border-input bg-muted/30",children:[e.jsx(A.Info,{className:"w-3.5 h-3.5 mt-0.5 shrink-0 text-muted-foreground"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:'Este evento ocorre em apenas 1 dia — a opção "Participar um dia" não é necessária.'})]}):null,D==="por_dia"&&e.jsxs("div",{className:"pl-2 space-y-2",children:[e.jsx("p",{className:"text-xs font-semibold uppercase tracking-wide text-primary",children:"Selecione o dia:"}),w.length===0?e.jsx("p",{className:"text-xs text-muted-foreground italic",children:"Nenhuma data configurada no evento"}):w.map(k=>e.jsxs("button",{type:"button",onClick:()=>Y(k),className:y.cn("w-full text-left flex items-center justify-between px-4 py-3 rounded-lg border transition-all",T===k?"border-primary bg-primary/5":"border-input hover:border-primary/50"),children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("span",{className:y.cn("w-4 h-4 rounded-full border-2 shrink-0 flex items-center justify-center transition-colors",T===k?"border-primary bg-primary":"border-input"),children:T===k&&e.jsx("span",{className:"w-2 h-2 rounded-full bg-white"})}),e.jsx("span",{className:"text-sm",children:bt(k)})]}),E!=null&&e.jsxs("span",{className:"text-xs text-muted-foreground",children:[E," vagas"]})]},k))]}),a&&e.jsx("p",{className:"text-sm text-destructive",children:a})]})},$e=.0315,Ae=.124,Ie=7,Se=12,We=[{id:"pix",label:"PIX",description:"Transferência instantânea (à vista)",Icon:A.Smartphone,taxa:0},{id:"dinheiro",label:"Dinheiro",description:"Pagamento em espécie",Icon:A.Banknote,taxa:0},{id:"cartao",label:"Cartão de Crédito",description:"Débito ou crédito na maquininha",Icon:A.CreditCard,taxa:$e,taxaLabel:`Taxa: ${($e*100).toFixed(2).replace(".",",")}%`}],Xe=[{id:"pix",label:"PIX à Vista",description:"Pagamento instantâneo sem parcelamento",Icon:A.Smartphone,taxa:0},{id:"pix_parcelado",label:"PIX Parcelado",description:`Parcelado em até ${Ie}x sem juros`,Icon:A.Smartphone,taxa:0,parcelas:Ie},{id:"cartao",label:"Cartão de Crédito",description:`Parcelado em até ${Se}x`,Icon:A.CreditCard,taxa:Ae,parcelas:Se,taxaLabel:`Taxa: ${(Ae*100).toFixed(2).replace(".",",")}%`},{id:"dinheiro",label:"Dinheiro",description:"Pagamento em espécie",Icon:A.Banknote,taxa:0}],me=t=>`R$ ${(t/100).toFixed(2).replace(".",",")}`,Re=(t,r)=>Math.round(t*(1+r)*100)/100,yt=(t,r)=>Math.round(t/r*100)/100,ze=({name:t,control:r,relatedFieldName:o="tipo_participacao"})=>{var b;const{field:s,fieldState:i}=S.useController({name:t,control:r}),{externalData:n={},paymentMethodOptions:a}=te(),l=s.value??null,d=(b=i.error)==null?void 0:b.message,c=S.useWatch({control:r,name:o}),u=(c==null?void 0:c.tipo)??null,m=p=>n[`evento.${p}`]??n[p],h=Number(m("valor")??0),F=Number(m("valorPorDia")??0),x=u==="por_dia"&&F>0?F:h,I=u==="por_dia"?(a==null?void 0:a.porDia)??We:(a==null?void 0:a.todosOsDias)??Xe,N=u==="por_dia"?(()=>{if(!(c!=null&&c.data))return"Um dia";const p=c.data.split("-");if(p.length===3){const[w,R,j]=p;return`${j}/${R}/${w}`}return c.data})():"Todos os dias",E=p=>{if(p.disabled)return;const w=Re(x,p.taxa),R={metodo:p.id,valorTotal:w};p.parcelas&&(R.parcelas=p.parcelas),s.onChange(R)};return e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between rounded-xl border border-input px-4 py-3",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-xs text-muted-foreground",children:"Tipo de participação"}),e.jsx("p",{className:"font-semibold",children:N})]}),e.jsxs("div",{className:"text-right",children:[e.jsx("p",{className:"text-xs text-muted-foreground",children:"Valor base"}),e.jsx("p",{className:"text-lg font-bold text-primary",children:me(x)})]})]}),e.jsxs("div",{className:"flex items-start gap-2 rounded-lg border border-input bg-muted/30 px-3 py-2.5",children:[e.jsx(A.Info,{className:"h-4 w-4 mt-0.5 shrink-0 text-muted-foreground"}),e.jsxs("p",{className:"text-xs",children:[e.jsx("span",{className:"font-bold",children:"Importante:"})," Para validar a inscrição e garantir sua vaga, o pagamento deve ser realizado no ato da inscrição."]})]}),e.jsx("p",{className:"text-sm font-semibold text-primary",children:"Selecione a forma de pagamento:"}),e.jsx("div",{className:"space-y-3",children:I.map(p=>{const{Icon:w}=p,R=(l==null?void 0:l.metodo)===p.id,j=Re(x,p.taxa),C=!!p.parcelas&&p.parcelas>1,v=C?yt(j,p.parcelas):null;return e.jsxs("button",{type:"button",disabled:p.disabled,onClick:()=>E(p),className:y.cn("w-full text-left flex items-center gap-4 px-4 py-3 rounded-xl border-2 transition-all",R?"border-primary bg-primary/5":"border-input hover:border-primary/50",p.disabled&&"opacity-50 cursor-not-allowed"),children:[e.jsx("div",{className:y.cn("flex items-center justify-center w-10 h-10 rounded-lg shrink-0 transition-colors",R?"bg-primary/10 text-primary":"bg-muted text-muted-foreground"),children:e.jsx(w,{className:"h-5 w-5"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"font-semibold text-sm leading-tight",children:p.label}),e.jsx("p",{className:"text-xs text-muted-foreground",children:p.description}),p.taxaLabel&&e.jsxs("p",{className:"text-xs text-muted-foreground mt-0.5",children:["* ",p.taxaLabel]}),p.taxa>0&&e.jsxs("p",{className:"text-xs text-muted-foreground",children:["Total com taxa: ",me(j)]})]}),e.jsx("div",{className:"text-right shrink-0",children:C?e.jsxs(e.Fragment,{children:[e.jsxs("p",{className:"text-xs text-muted-foreground",children:[p.parcelas,"x de"]}),e.jsx("p",{className:"text-base font-bold text-primary",children:me(v)})]}):e.jsx("p",{className:"text-base font-bold text-primary",children:me(j)})})]},p.id)})}),d&&e.jsx("p",{className:"text-xs text-destructive",children:d})]})},Ke=({name:t,control:r,label:o,termoTexto:s,termoPdfUrl:i,termoPdfUploadId:n})=>{var j;const{field:a,fieldState:l}=S.useController({name:t,control:r}),{resolveTermsUploadUrl:d}=te(),c=!!l.error,u=(j=l.error)==null?void 0:j.message,[m,h]=g.useState(null),[F,x]=g.useState(!1),[I,N]=g.useState(!1),E=g.useRef(null);g.useEffect(()=>{var C;I&&((C=E.current)==null||C.focus())},[I]),g.useEffect(()=>{if(!n||!d){h(null);return}let C=!1;return x(!0),d(n).then(v=>{C||h(v)}).catch(()=>{C||h(null)}).finally(()=>{C||x(!1)}),()=>{C=!0}},[n,d]);const b=a.value==="accepted",p=m||i||null,w=!!(s||p||n),R=!!p;return e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:y.cn("rounded-lg border p-4 space-y-4 transition-colors",c?"border-destructive bg-destructive/5":b?"border-green-500 bg-green-500/5":"border-input"),children:[e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(A.ScrollText,{className:"h-4 w-4 shrink-0"}),e.jsx("span",{className:"text-sm font-medium",children:o||"Termos e condições"})]}),w?e.jsxs(y.Button,{type:"button",variant:"outline",size:"sm",className:"h-7 px-2 text-xs",disabled:F,onClick:()=>N(!0),children:[F?e.jsx(A.Loader2,{className:"h-3 w-3 animate-spin"}):e.jsx(A.ExternalLink,{className:"h-3 w-3"}),"Ler termos"]}):e.jsx("span",{className:"text-xs text-muted-foreground italic",children:n&&F?"Carregando PDF...":"Conteúdo não configurado"})]}),e.jsxs("label",{className:"flex items-start gap-3 cursor-pointer select-none",children:[e.jsx(y.Checkbox,{className:"mt-0.5",checked:b,onCheckedChange:C=>a.onChange(C?"accepted":"")}),e.jsxs("span",{className:"text-sm leading-snug flex-1",children:["Li e aceito ",o?`"${o}"`:"os termos e condições"]}),b&&e.jsx(A.CheckCircle2,{className:"h-4 w-4 text-green-500 shrink-0 mt-0.5"})]})]}),c&&e.jsxs("div",{className:"flex items-center gap-1.5 text-xs text-destructive",children:[e.jsx(A.AlertCircle,{className:"h-3.5 w-3.5 shrink-0"}),u||"Você precisa aceitar os termos para continuar"]}),I&&e.jsx("div",{ref:E,role:"dialog","aria-modal":"true","aria-label":"Termos e condições",tabIndex:-1,className:"fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/60 outline-none",onClick:()=>N(!1),onKeyDown:C=>{C.key==="Escape"&&N(!1)},children:e.jsxs("div",{className:"relative w-full max-w-2xl max-h-[90vh] rounded-xl overflow-hidden flex flex-col bg-background shadow-xl",onClick:C=>C.stopPropagation(),children:[e.jsxs("div",{className:"flex items-center justify-between px-6 py-4 border-b border-input",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(A.ScrollText,{className:"h-4 w-4"}),e.jsx("span",{className:"font-semibold",children:"Termos e condições"})]}),e.jsx(y.Button,{type:"button",variant:"ghost",size:"icon",onClick:()=>N(!1),children:e.jsx(A.X,{className:"h-4 w-4"})})]}),e.jsx("div",{className:"flex-1 overflow-auto p-4",children:R?e.jsx("iframe",{src:p,className:"w-full rounded border",style:{height:"62vh"},title:"Termos e condições",sandbox:"allow-same-origin"}):e.jsx("p",{className:"text-sm whitespace-pre-wrap leading-relaxed",children:s})})]})})]})},jt=({name:t,control:r,placeholder:o,disabled:s,readOnly:i})=>{var u;const{field:n,fieldState:a}=S.useController({name:t,control:r}),[l,d]=g.useState(!1),c=!!a.error;return e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"relative",children:[e.jsx(y.Input,{...n,value:n.value??"",type:l?"text":"password",placeholder:o,disabled:s,readOnly:i,className:y.cn("pr-10",c&&"border-destructive focus-visible:ring-destructive")}),e.jsx("button",{type:"button",tabIndex:-1,onClick:()=>d(m=>!m),className:"absolute right-3 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground transition-colors","aria-label":l?"Ocultar senha":"Mostrar senha",children:l?e.jsx(A.EyeOff,{size:16}):e.jsx(A.Eye,{size:16})})]}),((u=a.error)==null?void 0:u.message)&&e.jsx("p",{className:"text-sm text-destructive",children:a.error.message})]})},qe=({name:t,control:r,label:o,disabled:s,readOnly:i})=>{var d;const{field:n,fieldState:a}=S.useController({name:t,control:r}),l=!!n.value;return e.jsxs("div",{className:"space-y-1",children:[e.jsxs("label",{className:"flex items-center gap-3 cursor-pointer select-none",children:[e.jsx(y.Switch,{checked:l,onCheckedChange:c=>!i&&n.onChange(c),disabled:s||i,onBlur:n.onBlur}),e.jsx("span",{className:"text-sm leading-none",children:o})]}),((d=a.error)==null?void 0:d.message)&&e.jsx("p",{className:"text-sm text-destructive",children:a.error.message})]})},Nt=({name:t,control:r,minValue:o=0,maxValue:s=100,step:i=1,disabled:n,readOnly:a})=>{var u;const{field:l,fieldState:d}=S.useController({name:t,control:r}),c=l.value??o;return g.useEffect(()=>{(l.value===void 0||l.value===null)&&l.onChange(o)},[]),e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(y.Slider,{min:o,max:s,step:i,value:[c],onValueChange:m=>!a&&l.onChange(m[0]),disabled:n||a,className:"flex-1"}),e.jsx("span",{className:"text-sm font-medium text-primary min-w-[3rem] text-right tabular-nums",children:c})]}),e.jsxs("div",{className:"flex justify-between text-xs text-muted-foreground",children:[e.jsx("span",{children:o}),e.jsx("span",{children:s})]}),((u=d.error)==null?void 0:u.message)&&e.jsx("p",{className:"text-sm text-destructive",children:d.error.message})]})},je=t=>/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/.test(t),Ct=({name:t,control:r,disabled:o,readOnly:s})=>{var c;const{field:i,fieldState:n}=S.useController({name:t,control:r}),a=i.value||"#000000",[l,d]=g.useState(a);return g.useEffect(()=>{d(a)},[a]),e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("input",{type:"color",value:je(a)?a:"#000000",disabled:o||s,onChange:u=>i.onChange(u.target.value),className:"h-10 w-14 cursor-pointer rounded-lg border border-input bg-transparent p-1 disabled:cursor-not-allowed disabled:opacity-50"}),e.jsx(y.Input,{type:"text",value:l,readOnly:s,disabled:o,onChange:u=>{const m=u.target.value;d(m),je(m)&&i.onChange(m.toUpperCase())},onBlur:()=>{je(l)||d(a),i.onBlur()},className:y.cn("flex-1 font-mono uppercase",n.error&&"border-destructive focus-visible:ring-destructive"),maxLength:7,placeholder:"#000000"})]}),((c=n.error)==null?void 0:c.message)&&e.jsx("p",{className:"text-sm text-destructive",children:n.error.message})]})},Ft=({name:t,control:r,options:o,placeholder:s,disabled:i,readOnly:n})=>{var v,D;const{field:a,fieldState:l}=S.useController({name:t,control:r}),[d,c]=g.useState(""),[u,m]=g.useState(!1),[h,F]=g.useState(-1),x=g.useRef(null),I=g.useRef(null),N=`autocomplete-${t}-listbox`,E=((v=o.find(T=>T.valor===a.value))==null?void 0:v.label)??"",b=d.length>0?o.filter(T=>T.label.toLowerCase().includes(d.toLowerCase())):o;g.useEffect(()=>{const T=V=>{x.current&&!x.current.contains(V.target)&&(m(!1),c(""),F(-1))};return document.addEventListener("mousedown",T),()=>document.removeEventListener("mousedown",T)},[]);const p=()=>{m(!1),c(""),F(-1)};g.useEffect(()=>{if(h<0||!I.current)return;const T=I.current.querySelector(`[id="${N}-option-${h}"]`);T==null||T.scrollIntoView({block:"nearest"})},[h,N]);const w=T=>{T.disabled||(a.onChange(T.valor),p())},R=()=>{a.onChange(""),c(""),F(-1)},j=T=>{if(!u){(T.key==="ArrowDown"||T.key==="ArrowUp")&&(T.preventDefault(),m(!0),F(0));return}switch(T.key){case"ArrowDown":T.preventDefault(),F(V=>V<b.length-1?V+1:V);break;case"ArrowUp":T.preventDefault(),F(V=>V>0?V-1:0);break;case"Enter":T.preventDefault(),h>=0&&b[h]&&!b[h].disabled&&w(b[h]);break;case"Escape":T.preventDefault(),p();break;case"Tab":p();break}},C=u&&h>=0?`${N}-option-${h}`:void 0;return e.jsxs("div",{className:"space-y-1",ref:x,children:[e.jsxs("div",{className:"relative",children:[e.jsx(y.Input,{type:"text",role:"combobox","aria-expanded":u,"aria-haspopup":"listbox","aria-autocomplete":"list","aria-controls":N,"aria-activedescendant":C,value:u?d:E,placeholder:s??"Buscar...",disabled:i,readOnly:n,onChange:T=>{c(T.target.value),F(-1),m(!0)},onFocus:()=>!n&&m(!0),onKeyDown:j,className:y.cn("pr-8",l.error&&"border-destructive focus-visible:ring-destructive"),autoComplete:"off"}),e.jsx("div",{className:"absolute right-2 top-1/2 -translate-y-1/2 flex items-center gap-1",children:a.value?e.jsx("button",{type:"button",onClick:R,className:"text-[var(--t-text-muted)] hover:text-[var(--t-text)]",tabIndex:-1,"aria-label":"Limpar seleção",children:e.jsx(A.X,{size:14})}):e.jsx(A.ChevronDown,{size:16,className:"text-muted-foreground pointer-events-none","aria-hidden":"true"})}),u&&!i&&!n&&e.jsx("ul",{role:"listbox",id:N,ref:I,"aria-label":"Opções disponíveis",className:"absolute z-50 mt-1 max-h-60 w-full overflow-auto rounded-lg border border-input bg-popover shadow-lg",children:b.length===0?e.jsx("li",{role:"option","aria-selected":!1,className:"px-3 py-2 text-sm text-muted-foreground",children:"Nenhuma opção encontrada"}):b.map((T,V)=>e.jsx("li",{id:`${N}-option-${V}`,role:"option","aria-selected":a.value===T.valor,"aria-disabled":T.disabled,onMouseDown:()=>w(T),className:["flex cursor-pointer items-center px-3 py-2 text-sm",T.disabled?"cursor-not-allowed opacity-40":V===h?"bg-accent":"hover:bg-accent",a.value===T.valor?"font-medium text-primary":"text-foreground"].join(" "),children:T.label},T.valor))})]}),((D=l.error)==null?void 0:D.message)&&e.jsx("p",{className:"text-sm text-destructive",role:"alert",children:l.error.message})]})},Ge=({name:t,control:r,placeholder:o,disabled:s,readOnly:i})=>{var d;const{field:n,fieldState:a}=S.useController({name:t,control:r}),l=!!a.error;return e.jsxs("div",{className:"space-y-1",children:[e.jsx(y.Input,{...n,value:n.value??"",type:"time",placeholder:o,disabled:s,readOnly:i,className:y.cn(l&&"border-destructive focus-visible:ring-destructive")}),((d=a.error)==null?void 0:d.message)&&e.jsx("p",{className:"text-sm text-destructive",children:a.error.message})]})},Tt=({name:t,control:r,startLabel:o="Data inicial",endLabel:s="Data final",disabled:i,readOnly:n})=>{var m;const{field:a,fieldState:l}=S.useController({name:t,control:r}),d=a.value??{},c=(h,F)=>{a.onChange({...d,[h]:F})},u=!!l.error;return e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx(y.Label,{children:o}),e.jsx(y.Input,{type:"date",value:d.start??"",disabled:i,readOnly:n,onChange:h=>c("start",h.target.value),max:d.end??void 0,className:y.cn(u&&"border-destructive focus-visible:ring-destructive")})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx(y.Label,{children:s}),e.jsx(y.Input,{type:"date",value:d.end??"",disabled:i,readOnly:n,onChange:h=>c("end",h.target.value),min:d.start??void 0,className:y.cn(u&&"border-destructive focus-visible:ring-destructive")})]})]}),((m=l.error)==null?void 0:m.message)&&e.jsx("p",{className:"text-sm text-destructive",children:l.error.message})]})},wt=({name:t,control:r,maxRating:o=5,disabled:s,readOnly:i})=>{var c;const{field:n,fieldState:a}=S.useController({name:t,control:r}),l=n.value??0,d=Array.from({length:o},(u,m)=>m+1);return e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex items-center gap-1",children:[d.map(u=>e.jsx("button",{type:"button",disabled:s||i,onClick:()=>n.onChange(u===l?0:u),className:"transition-transform hover:scale-110 disabled:cursor-not-allowed disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded","aria-label":`${u} estrela${u>1?"s":""}`,children:e.jsx(A.Star,{size:24,className:"transition-colors",fill:u<=l?"var(--color-primary)":"transparent",stroke:u<=l?"var(--color-primary)":"currentColor"})},u)),l>0&&e.jsxs("span",{className:"ml-2 text-sm text-muted-foreground",children:[l,"/",o]})]}),((c=a.error)==null?void 0:c.message)&&e.jsx("p",{className:"text-sm text-destructive",children:a.error.message})]})},Dt=({field:t,name:r,control:o,disabled:s,readOnly:i})=>{const n=s||t.isDisabled,a=i||t.isReadOnly;switch(t.tipo){case f.FieldType.EMAIL:return e.jsx(z,{name:r,control:o,type:"email",placeholder:t.placeholder,disabled:n,readOnly:a});case f.FieldType.NUMBER:return e.jsx(z,{name:r,control:o,type:"number",placeholder:t.placeholder,disabled:n,readOnly:a});case f.FieldType.PASSWORD:return e.jsx(z,{name:r,control:o,type:"password",placeholder:t.placeholder,disabled:n,readOnly:a});case f.FieldType.TELEFONE:return e.jsx(re,{name:r,control:o,maskType:"telefone",placeholder:t.placeholder??"(00) 00000-0000",disabled:n,readOnly:a});case f.FieldType.CPF:return e.jsx(re,{name:r,control:o,maskType:"cpf",placeholder:t.placeholder??"000.000.000-00",disabled:n,readOnly:a});case f.FieldType.CEP:return e.jsx(re,{name:r,control:o,maskType:"cep",placeholder:t.placeholder??"00000-000",disabled:n,readOnly:a});case f.FieldType.TEXTAREA:return e.jsx(ge,{name:r,control:o,placeholder:t.placeholder,disabled:n,readOnly:a});case f.FieldType.SELECT:return e.jsx(be,{name:r,control:o,options:t.opcoes??[],placeholder:t.placeholder,disabled:n,readOnly:a});case f.FieldType.CHECKBOX:return e.jsx(ve,{name:r,control:o,label:t.label??"",disabled:n,readOnly:a});case f.FieldType.SWITCH:return e.jsx(qe,{name:r,control:o,label:t.label??"",disabled:n,readOnly:a});case f.FieldType.DATE:return e.jsx(ie,{name:r,control:o,disabled:n,readOnly:a});case f.FieldType.TIME:return e.jsx(Ge,{name:r,control:o,disabled:n,readOnly:a});case f.FieldType.HIDDEN:return e.jsx(ye,{name:r,control:o});default:return e.jsx(z,{name:r,control:o,type:"text",placeholder:t.placeholder,disabled:n,readOnly:a})}},Et=({name:t,control:r,subSchema:o,disabled:s,readOnly:i})=>{if(!o||o.fields.length===0)return null;const n=[...o.fields].sort((a,l)=>a.ordem-l.ordem);return e.jsxs("div",{className:"rounded-xl border border-input bg-muted/30 p-4 space-y-4",children:[o.titulo&&e.jsx("h4",{className:"text-sm font-semibold text-muted-foreground",children:o.titulo}),e.jsx("div",{className:"grid grid-cols-12 gap-4",children:n.map(a=>{const l=`${t}.${a.nome}`,d=a.tipo===f.FieldType.CHECKBOX||a.tipo===f.FieldType.SWITCH||a.tipo===f.FieldType.HIDDEN,c=a.tamanho??6;return e.jsxs("div",{className:`col-span-${c}`,children:[!d&&e.jsxs("label",{className:"mb-1 block text-sm font-medium text-foreground",children:[a.label,a.obrigatorio&&e.jsx("span",{className:"text-destructive",children:" *"})]}),e.jsx(Dt,{field:a,name:l,control:r,disabled:s,readOnly:i})]},a.id)})})]})},Ye=({field:t,control:r,nameOverride:o})=>{var l,d;const s=o??t.nome,{componentMapper:i}=te(),n=i==null?void 0:i[t.tipo];if(n)return e.jsx(n,{name:s,control:r,field:t});const a={name:s,control:r,placeholder:t.placeholder,disabled:t.isDisabled,readOnly:t.isReadOnly};switch(t.tipo){case f.FieldType.TEXTO:return e.jsx(z,{...a,type:"text"});case f.FieldType.EMAIL:return e.jsx(z,{...a,type:"email"});case f.FieldType.NUMBER:return e.jsx(z,{...a,type:"number"});case f.FieldType.PASSWORD:return e.jsx(jt,{...a});case f.FieldType.TEXTAREA:return e.jsx(ge,{...a});case f.FieldType.SELECT:return e.jsx(be,{...a,options:t.opcoes??[]});case f.FieldType.AUTOCOMPLETE:return e.jsx(Ft,{...a,options:t.opcoes??[]});case f.FieldType.SWITCH:return e.jsx(qe,{name:s,control:r,label:t.label,disabled:t.isDisabled,readOnly:t.isReadOnly});case f.FieldType.SLIDER:return e.jsx(Nt,{name:s,control:r,minValue:t.minValue,maxValue:t.maxValue,step:t.step,disabled:t.isDisabled,readOnly:t.isReadOnly});case f.FieldType.RATING:return e.jsx(wt,{name:s,control:r,maxRating:t.maxRating,disabled:t.isDisabled,readOnly:t.isReadOnly});case f.FieldType.COLOR:return e.jsx(Ct,{name:s,control:r,disabled:t.isDisabled,readOnly:t.isReadOnly});case f.FieldType.TIME:return e.jsx(Ge,{...a});case f.FieldType.DATE_RANGE:return e.jsx(Tt,{name:s,control:r,startLabel:t.dateRangeStartLabel,endLabel:t.dateRangeEndLabel,disabled:t.isDisabled,readOnly:t.isReadOnly});case f.FieldType.RADIO:return e.jsx(Ce,{...a,options:t.opcoes??[]});case f.FieldType.CHECKBOX:return e.jsx(ve,{name:s,control:r,label:t.label,disabled:t.isDisabled,readOnly:t.isReadOnly});case f.FieldType.CHECKBOX_GROUP:return e.jsx(Ne,{...a,options:t.opcoes??[]});case f.FieldType.DATE:return e.jsx(ie,{name:s,control:r,disabled:t.isDisabled,readOnly:t.isReadOnly,validacao:t.validacao});case f.FieldType.DATETIME:return e.jsx(ie,{name:s,control:r,isDatetime:!0,disabled:t.isDisabled,readOnly:t.isReadOnly,validacao:t.validacao});case f.FieldType.FILE:return e.jsx(Fe,{name:s,control:r,disabled:t.isDisabled,fileTypes:(l=t.validacao)==null?void 0:l.fileTypes,maxFileSize:(d=t.validacao)==null?void 0:d.maxFileSize});case f.FieldType.TELEFONE:return e.jsx(re,{...a,maskType:"telefone"});case f.FieldType.CPF:return e.jsx(re,{...a,maskType:"cpf"});case f.FieldType.CEP:return e.jsx(Te,{name:s,control:r,placeholder:t.placeholder,disabled:t.isDisabled,readOnly:t.isReadOnly,cepFillMap:t.cepFillMap});case f.FieldType.HIDDEN:return e.jsx(ye,{name:s,control:r});case f.FieldType.PARTICIPATION_TYPE:return e.jsx(Ue,{name:s,control:r});case f.FieldType.PAYMENT_METHOD:return e.jsx(ze,{name:s,control:r,relatedFieldName:t.relatedFieldName});case f.FieldType.TERMS:return e.jsx(Ke,{name:s,control:r,label:t.label,termoTexto:t.termoTexto,termoPdfUrl:t.termoPdfUrl,termoPdfUploadId:t.termoPdfUploadId});case f.FieldType.FIELD_ARRAY:return e.jsx(He,{name:s,control:r,subFields:t.subFields,minItems:t.minItems,maxItems:t.maxItems,itemLabel:t.itemLabel,addLabel:t.addLabel});case f.FieldType.SUB_FORM:return e.jsx(Et,{name:s,control:r,subSchema:t.subSchema,disabled:t.isDisabled,readOnly:t.isReadOnly});default:return e.jsx(z,{...a,type:"text"})}},$t=({container:t,control:r})=>{var I;const{externalData:o={},fieldResolvers:s}=te(),i=t.icone?fe[t.icone]:void 0,n=o,a=g.useMemo(()=>he(t,n),[t,JSON.stringify(n)]),l=g.useMemo(()=>[...a.campos].sort((N,E)=>N.ordem-E.ordem),[a.campos]),d=S.useWatch({control:r}),{wrapperClass:c,wrapperStyle:u,headerClass:m,headerStyle:h,tmpl:F}=Me(),x=N=>{if(!B(N.condicional,d,o))return null;let b=N;if(N.resolvePropsKey&&(s!=null&&s[N.resolvePropsKey])){const C=s[N.resolvePropsKey](N,d,o);b={...N,...C}}if(b.opcoesFromVar){const C=o[b.opcoesFromVar];Array.isArray(C)&&(b={...b,opcoes:C.map(v=>typeof v=="string"?{valor:v,label:v}:v&&typeof v=="object"&&"valor"in v&&"label"in v?v:{valor:String(v),label:String(v)})})}const p=b.tamanho??12,w=b.inicioColuna,R=w?`${w} / span ${p}`:`span ${p}`,j=e.jsx(Ye,{field:b,control:r});return b.tipo===f.FieldType.CHECKBOX||b.tipo===f.FieldType.HIDDEN||b.tipo===f.FieldType.SWITCH?e.jsx("div",{className:"max-sm:!col-span-12",style:{gridColumn:R},children:j},b.id):e.jsxs("div",{className:"max-sm:!col-span-12 space-y-2",style:{gridColumn:R},children:[e.jsxs("label",{className:"font-medium flex items-center gap-1",style:{color:"var(--t-text)"},children:[b.label,b.obrigatorio&&e.jsx("span",{className:"text-destructive",children:"*"})]}),j,b.hint&&e.jsx("p",{className:"text-xs text-muted-foreground",children:b.hint})]},b.id)};return e.jsxs("div",{className:c,style:u,children:[(a.titulo||i)&&e.jsx("div",{className:m,style:h,children:e.jsxs("div",{className:"flex items-center gap-3",children:[i&&e.jsx("div",{className:"p-2 rounded-xl",style:{background:"color-mix(in srgb, var(--t-primary) 12%, transparent)"},children:e.jsx(i,{className:"w-5 h-5",style:{color:"var(--t-primary)"}})}),e.jsxs("div",{children:[e.jsx("h3",{className:((I=F.typography)==null?void 0:I.stepTitleClass)??"text-lg font-semibold",style:{color:"var(--t-text)"},children:a.titulo}),a.descricao&&e.jsx("p",{className:"text-sm",style:{color:"var(--t-text-muted)"},children:a.descricao})]})]})}),e.jsx("div",{className:"p-6 grid grid-cols-12 gap-4",children:l.map(x)})]})},At=({container:t,control:r})=>{var C;const{externalData:o={}}=te(),s=t.nome??"__invalid__",i=t.minItems??1,n=t.maxItems,a=t.itemLabel??"Item",l=t.icone?fe[t.icone]:void 0,d=o,c=g.useMemo(()=>he(t,d),[t,JSON.stringify(d)]),u=g.useMemo(()=>[...c.campos].sort((v,D)=>v.ordem-D.ordem),[c.campos]),m=g.useCallback(()=>{const v={};for(const D of u)D.initialValue!==void 0?v[D.nome]=typeof D.initialValue=="string"?W(D.initialValue,d):D.initialValue:D.defaultValue!==void 0&&(v[D.nome]=D.defaultValue);return v},[u,d]),{fields:h,append:F,remove:x}=S.useFieldArray({control:r,name:s});g.useEffect(()=>{if(t.nome&&h.length<i)for(let v=h.length;v<i;v++)F(m())},[i]);const I=S.useWatch({control:r}),N=g.useMemo(()=>{const v=I[s];return Array.isArray(v)?v:[]},[I,s]),{wrapperClass:E,wrapperStyle:b,headerClass:p,headerStyle:w,tmpl:R}=Me();if(!t.nome)return console.error("[RepeatableContainerRenderer] container.nome é obrigatório para containers repetíveis. Container id:",t.id),null;const j=(v,D)=>{const T=N[D]??{};if(!B(v.condicional,T,o))return null;const M=`${s}.${D}.${v.nome}`,K=v.tamanho??12,q=v.inicioColuna,Y=q?`${q} / span ${K}`:`span ${K}`,Q=e.jsx(Ye,{field:v,control:r,nameOverride:M});return v.tipo===f.FieldType.CHECKBOX||v.tipo===f.FieldType.HIDDEN?e.jsx("div",{className:"max-sm:!col-span-12",style:{gridColumn:Y},children:Q},`${v.id}-${D}`):e.jsxs("div",{className:"max-sm:!col-span-12 space-y-2",style:{gridColumn:Y},children:[e.jsxs("label",{className:"font-medium flex items-center gap-1",style:{color:"var(--t-text)"},children:[v.label,v.obrigatorio&&e.jsx("span",{className:"text-destructive",children:"*"})]}),Q,v.hint&&e.jsx("p",{className:"text-xs text-muted-foreground",children:v.hint})]},`${v.id}-${D}`)};return e.jsxs("div",{className:E,style:b,children:[(c.titulo||l)&&e.jsx("div",{className:p,style:w,children:e.jsxs("div",{className:"flex items-center gap-3",children:[l&&e.jsx("div",{className:"p-2 rounded-xl",style:{background:"color-mix(in srgb, var(--t-primary) 12%, transparent)"},children:e.jsx(l,{className:"w-5 h-5",style:{color:"var(--t-primary)"}})}),e.jsxs("div",{children:[e.jsx("h3",{className:((C=R.typography)==null?void 0:C.stepTitleClass)??"text-lg font-semibold",style:{color:"var(--t-text)"},children:c.titulo}),c.descricao&&e.jsx("p",{className:"text-sm",style:{color:"var(--t-text-muted)"},children:c.descricao})]})]})}),e.jsxs("div",{className:"p-6 space-y-4",children:[h.map((v,D)=>e.jsxs("div",{className:"border border-input rounded-lg p-4 bg-muted/30",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"w-6 h-6 rounded-full flex items-center justify-center text-xs font-bold shrink-0 bg-primary text-primary-foreground",children:D+1}),e.jsxs("span",{className:"text-sm font-semibold",children:[a," ",D+1]})]}),h.length>i&&e.jsx("button",{type:"button",onClick:()=>x(D),className:"inline-flex items-center justify-center rounded-md p-1.5 text-destructive hover:bg-destructive/10 transition-colors","aria-label":"Remover item",children:e.jsx(A.Trash2,{className:"w-4 h-4"})})]}),e.jsx("div",{className:"grid grid-cols-12 gap-4",children:u.map(T=>j(T,D))})]},v.id)),(!n||h.length<n)&&e.jsxs("button",{type:"button",className:"w-full flex items-center justify-center gap-2 py-2 px-4 border border-input rounded-lg text-sm hover:bg-accent transition-colors",onClick:()=>F(m()),children:[e.jsx(A.Plus,{className:"w-4 h-4"}),"Adicionar ",a.toLowerCase()]}),n&&e.jsxs("p",{className:"text-xs text-center text-muted-foreground",children:["Máximo de ",n," ",a.toLowerCase(),n>1?"s":""]})]})]})},Ze=t=>t.container.repeatable&&t.container.nome?e.jsx(At,{...t}):e.jsx($t,{...t}),Je=({step:t,control:r,externalData:o={}})=>{const s=g.useMemo(()=>[...t.containers].sort((n,a)=>n.ordem-a.ordem),[t.containers]),i=S.useWatch({control:r});return e.jsx("div",{className:"grid grid-cols-12 gap-4",children:s.map(n=>{if(n.condicional&&!B(n.condicional,i,o))return null;const a=n.tamanho??12,l=n.inicioColuna,d=l?`${l} / span ${a}`:`span ${a}`;return e.jsx("div",{className:"max-sm:!col-span-12",style:{gridColumn:d},children:e.jsx(Ze,{container:n,control:r})},n.id)})})},ce=g.createContext({submitting:!1,warnings:{},requestSubmit:()=>{}}),It=ce.Provider,St=()=>{const t=S.useFormContext(),r=g.useContext(ce);return{change:(o,s)=>t.setValue(o,s,{shouldValidate:!0,shouldDirty:!0}),reset:o=>t.reset(o),submit:r.requestSubmit,getState:()=>{const{errors:o,isDirty:s,isValid:i}=t.formState;return{values:t.getValues(),errors:Object.fromEntries(Object.entries(o).map(([n,a])=>[n,a==null?void 0:a.message])),warnings:r.warnings,dirty:s,valid:i,submitting:r.submitting}}}},Qe=()=>{const t=S.useFormContext(),r=g.useContext(ce),o=S.useWatch({control:t.control}),{errors:s,isDirty:i,isValid:n}=t.formState;return{values:o,errors:Object.fromEntries(Object.entries(s).map(([a,l])=>[a,l==null?void 0:l.message])),warnings:r.warnings,dirty:i,valid:n,submitting:r.submitting}},Rt=t=>{var n;const r=S.useFormContext(),{warnings:o}=g.useContext(ce),s=S.useWatch({control:r.control,name:t}),i=r.getFieldState(t,r.formState);return{value:s,error:(n=i.error)==null?void 0:n.message,warning:o[t],dirty:i.isDirty,touched:i.isTouched,valid:!i.error}},kt=t=>{var n;const{control:r}=S.useFormContext(),{warnings:o}=g.useContext(ce),{field:s,fieldState:i}=S.useController({name:t,control:r});return{input:{name:s.name,value:s.value,onChange:s.onChange,onBlur:s.onBlur,ref:s.ref},meta:{error:(n=i.error)==null?void 0:n.message,warning:o[t],touched:i.isTouched,dirty:i.isDirty,valid:!i.error}}},ke=({stepIndex:t,totalSteps:r,step:o,defaultValues:s,externalData:i,fieldErrors:n,isSubmitting:a,submitError:l,validatorMapper:d={},onWarningsChange:c,onValuesChange:u,onSubmit:m,onBack:h})=>{const F=t===r-1,x=g.useMemo(()=>JSON.stringify(i),[i]),I=g.useMemo(()=>Oe(o,i,d),[o.id,x]),N=g.useMemo(()=>Pe(o,i,d),[o.id,x]),[E,b]=g.useState({}),p=g.useRef(c);p.current=c;const w=i,R=g.useMemo(()=>Le(o,w),[o,x]),j=S.useForm({resolver:I,defaultValues:s,mode:"onTouched"}),{control:C,handleSubmit:v,setError:D,clearErrors:T,setValue:V}=j;g.useEffect(()=>{T();for(const[$,G]of Object.entries(n))D($,{type:"server",message:G})},[n,D,T]);const M=g.useMemo(()=>o.containers.filter($=>!$.repeatable).flatMap($=>$.campos).filter($=>!!$.condicional),[o.containers]),K=g.useMemo(()=>o.containers.filter($=>!!$.condicional),[o.containers]),q=g.useMemo(()=>o.containers.filter($=>!$.repeatable).flatMap($=>$.campos).filter($=>{var G;return $.condicional&&((G=$.setValues)==null?void 0:G.length)}),[o.containers]),Y=g.useMemo(()=>o.containers.filter($=>$.repeatable&&!!$.nome).map($=>({container:$,fields:$.campos.filter(G=>!!G.condicional)})).filter($=>$.fields.length>0),[o.containers]),Q=g.useRef({}),U=g.useRef(!0),X=S.useWatch({control:C}),k=g.useRef(u);k.current=u,g.useEffect(()=>{var $;($=k.current)==null||$.call(k,X)},[X]),g.useEffect(()=>{let $=!1;return N(X).then(J=>{var O;$||(b(J),(O=p.current)==null||O.call(p,J))}).catch(J=>{$||console.error("[StepForm] warnComputer error:",J)}),()=>{$=!0}},[X,N]),g.useEffect(()=>{var J;if(!M.length&&!q.length&&!K.length&&!Y.length)return;const $=X;for(const O of M)if(!B(O.condicional,$,i)){if(T(O.nome),O.tipo===f.FieldType.FIELD_ARRAY){const L=$[O.nome];Array.isArray(L)&&L.forEach((P,_)=>{(O.subFields??[]).forEach(Z=>T(`${O.nome}.${_}.${Z.nome}`))})}if(O.clearedValue!==void 0){const L=O.clearedValue??"";$[O.nome]!==L&&V(O.nome,L,{shouldValidate:!1})}}for(const O of K)if(!B(O.condicional,$,i))if(O.repeatable&&O.nome)(Array.isArray($[O.nome])?$[O.nome]:[]).forEach((P,_)=>{for(const Z of O.campos)T(`${O.nome}.${_}.${Z.nome}`)});else for(const L of O.campos){T(L.nome);const P=L.clearedValue!==void 0?L.clearedValue:void 0;P!==void 0&&$[L.nome]!==P&&V(L.nome,P,{shouldValidate:!1})}for(const{container:O,fields:ee}of Y){const L=O.nome,P=Array.isArray($[L])?$[L]:[];for(let _=0;_<P.length;_++){const Z=P[_];for(const se of ee)if(!B(se.condicional,Z,i)&&(T(`${L}.${_}.${se.nome}`),se.clearedValue!==void 0)){const we=se.clearedValue??"";Z[se.nome]!==we&&V(`${L}.${_}.${se.nome}`,we,{shouldValidate:!1})}}}const G=U.current;for(const O of q){const ee=B(O.condicional,$,i),L=G?ee:Q.current[O.nome]??!1;if(ee&&!L&&((J=O.setValues)!=null&&J.length))for(const P of O.setValues){const _=typeof P.valor=="string"?W(P.valor,w):P.valor;V(P.campo,_,{shouldValidate:!1})}Q.current[O.nome]=ee}U.current=!1},[X,M,q,K,Y,i,V,T]);const H=R.icone?fe[R.icone]:void 0,ne=g.useMemo(()=>()=>{j.handleSubmit(m)()},[m]);return e.jsx(S.FormProvider,{...j,children:e.jsx(It,{value:{submitting:a,warnings:E,requestSubmit:ne},children:e.jsx("form",{onSubmit:v(m),noValidate:!0,onKeyDown:$=>{$.key==="Enter"&&$.target.tagName==="INPUT"&&$.preventDefault()},children:e.jsxs("div",{className:"space-y-6",children:[R.showLabel!==!1&&e.jsxs("div",{className:"text-center space-y-2",children:[H&&e.jsx("div",{className:"w-12 h-12 mx-auto rounded-xl flex items-center justify-center",style:{background:"color-mix(in srgb, var(--t-primary) 12%, transparent)"},children:e.jsx(H,{className:"w-6 h-6",style:{color:"var(--t-primary)"}})}),e.jsx("h2",{className:"text-2xl font-bold",style:{color:"var(--t-text)"},children:R.titulo}),R.descricao&&e.jsx("p",{className:"text-sm text-muted-foreground",children:R.descricao})]}),e.jsx(Je,{step:R,control:C,externalData:i}),e.jsxs("div",{className:"flex items-center justify-between gap-4 pt-6 pb-2",children:[e.jsxs(y.Button,{type:"button",variant:"outline",onClick:h,disabled:t===0,className:y.cn(t>0&&"border-primary/40 text-primary hover:bg-primary/5"),children:[e.jsx(A.ChevronLeft,{className:"w-4 h-4"}),e.jsx("span",{className:"hidden sm:inline",children:"Anterior"})]}),e.jsxs("span",{className:"text-xs font-semibold tabular-nums sm:hidden text-muted-foreground",children:[t+1,"/",r]}),e.jsxs(y.Button,{type:"submit",disabled:a,children:[a?e.jsx(A.Loader2,{className:"w-4 h-4 animate-spin"}):F?e.jsx(A.Check,{className:"w-4 h-4"}):e.jsx(A.ChevronRight,{className:"w-4 h-4"}),e.jsx("span",{className:"hidden sm:inline",children:F?"Finalizar":"Próximo"})]})]}),l&&e.jsx("p",{className:"text-sm text-destructive mt-2 text-center",children:l})]})})})})},pe=t=>{if(t)return fe[t]},Ot=({steps:t,currentStep:r,onStepClick:o})=>e.jsx("div",{className:"flex items-center justify-center gap-2 flex-wrap",children:t.map((s,i)=>e.jsx("div",{role:o?"button":void 0,tabIndex:o?0:void 0,onClick:()=>o==null?void 0:o(i),onKeyDown:n=>n.key==="Enter"&&(o==null?void 0:o(i)),className:y.cn("w-8 h-8 rounded-full flex items-center justify-center text-xs font-bold transition-all shrink-0",o&&"cursor-pointer hover:opacity-80"),style:i===r?{background:"var(--t-primary)",color:"#ffffff",boxShadow:"0 0 0 3px color-mix(in srgb, var(--t-primary) 30%, transparent)"}:i<r?{background:"#22c55e",color:"#ffffff"}:{background:"hsl(var(--muted))",color:"hsl(var(--muted-foreground))"},children:i<r?e.jsx(A.Check,{className:"w-4 h-4"}):i+1},s.id))}),Pt=({steps:t,currentStep:r,onStepClick:o})=>e.jsx("div",{className:"flex items-center justify-center gap-2 flex-wrap",children:t.map((s,i)=>{const n=pe(s.icone)??A.CircleDot;return e.jsx("div",{role:o?"button":void 0,tabIndex:o?0:void 0,onClick:()=>o==null?void 0:o(i),onKeyDown:a=>a.key==="Enter"&&(o==null?void 0:o(i)),className:y.cn("w-9 h-9 rounded-full flex items-center justify-center transition-all shrink-0",o&&"cursor-pointer hover:opacity-80"),style:i===r?{background:"var(--t-primary)",color:"#ffffff",boxShadow:"0 0 0 3px color-mix(in srgb, var(--t-primary) 30%, transparent)"}:i<r?{background:"#22c55e",color:"#ffffff"}:{background:"hsl(var(--muted))",color:"hsl(var(--muted-foreground))"},children:i<r?e.jsx(A.Check,{className:"w-4 h-4"}):e.jsx(n,{className:"w-4 h-4"})},s.id)})}),Vt=({steps:t,currentStep:r,position:o,orientation:s="horizontal",onStepClick:i})=>s==="vertical"?e.jsx("div",{className:"flex flex-col gap-0",children:t.map((n,a)=>{const l=pe(n.icone)??A.CircleDot,d=a===r,c=a<r,u=a===t.length-1;return e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsxs("div",{className:"flex flex-col items-center",children:[e.jsx("button",{type:"button",onClick:()=>i==null?void 0:i(a),className:y.cn("w-8 h-8 rounded-full flex items-center justify-center transition-all shrink-0",i&&"cursor-pointer hover:opacity-80"),style:d?{background:"var(--t-primary)",color:"#fff",boxShadow:"0 0 10px color-mix(in srgb, var(--t-primary) 50%, transparent)"}:c?{background:"#22c55e",color:"#fff"}:{background:"color-mix(in srgb, var(--t-text) 8%, transparent)",color:"var(--t-text-muted)",border:"1.5px solid color-mix(in srgb, var(--t-border) 60%, transparent)"},children:c?e.jsx(A.Check,{className:"w-3.5 h-3.5"}):e.jsx(l,{className:"w-3.5 h-3.5"})}),!u&&e.jsx("div",{className:"w-[2px] my-1",style:{height:"24px",background:c?"#22c55e":"color-mix(in srgb, var(--t-border) 50%, transparent)"}})]}),e.jsx("span",{className:"text-sm font-medium leading-tight mt-1.5",style:d?{color:"var(--t-primary)"}:c?{color:"#16a34a"}:{color:"var(--t-text-muted)"},children:n.label??n.id})]},n.id)})}):e.jsx("div",{className:"w-full flex items-start",children:t.map((n,a)=>{const l=pe(n.icone)??A.CircleDot,d=a===r,c=a<r,u=a===t.length-1;return e.jsxs("div",{className:y.cn("flex items-start",!u&&"flex-1"),children:[e.jsxs("div",{className:"flex flex-col items-center gap-1.5 w-[56px] shrink-0 mx-auto",children:[e.jsx("button",{type:"button",onClick:()=>i==null?void 0:i(a),className:y.cn("w-10 h-10 rounded-full flex items-center justify-center transition-all shrink-0",i&&"cursor-pointer hover:opacity-80"),style:d?{background:"var(--t-primary)",color:"#ffffff",boxShadow:"0 0 12px color-mix(in srgb, var(--t-primary) 50%, transparent)"}:c?{background:"#22c55e",color:"#ffffff"}:{background:"color-mix(in srgb, var(--t-text) 8%, transparent)",color:"var(--t-text-muted)",border:"1.5px solid color-mix(in srgb, var(--t-border) 60%, transparent)"},children:c?e.jsx(A.Check,{className:"w-4 h-4"}):e.jsx(l,{className:"w-4 h-4"})}),e.jsx("span",{className:"text-[10px] font-medium text-center leading-tight line-clamp-2 px-0.5",style:d?{color:"var(--t-primary)"}:c?{color:"#16a34a"}:{color:"var(--t-text-muted)"},children:n.label??n.id})]}),!u&&e.jsx("div",{className:"flex-1 h-[1.5px] mt-5 mx-1",style:{background:c?"linear-gradient(90deg, var(--t-primary), color-mix(in srgb, var(--t-primary) 40%, transparent))":"color-mix(in srgb, var(--t-border) 50%, transparent)"}})]},n.id)})}),et=({steps:t,currentStep:r,onStepClick:o,className:s,forceShow:i})=>{const n=le.useTemplate(),{layout:a}=n;if(!a.showStepIndicators||t.length<=1&&!i)return null;const l=a.stepIndicatorVariant??"numbers",d=a.stepIndicatorPosition??"top-center",c=a.stepIndicatorOrientation??"horizontal",u=(r+1)/t.length*100,m=t[r],h=pe(m==null?void 0:m.icone)??A.CircleDot,F=e.jsx("div",{className:"h-1 rounded-full overflow-hidden",style:{background:"color-mix(in srgb, var(--t-primary) 15%, transparent)"},children:e.jsx("div",{className:"h-full rounded-full transition-all duration-500",style:{width:`${u}%`,background:"linear-gradient(90deg, var(--t-primary), var(--t-accent))"}})}),x=e.jsxs("div",{className:"block sm:hidden space-y-2",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 rounded-full flex items-center justify-center shrink-0",style:{background:"var(--t-primary)",color:"#fff"},children:e.jsx(h,{className:"w-5 h-5"})}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"text-sm font-semibold leading-tight truncate",style:{color:"var(--t-text)"},children:(m==null?void 0:m.label)??(m==null?void 0:m.id)}),e.jsxs("p",{className:"text-xs leading-tight",style:{color:"var(--t-text-muted)"},children:["Passo ",r+1," de ",t.length]})]})]}),F]}),I=e.jsxs("div",{className:"hidden sm:block",children:[l==="numbers"&&e.jsx(Ot,{steps:t,currentStep:r,onStepClick:o}),l==="icons"&&e.jsx(Pt,{steps:t,currentStep:r,onStepClick:o}),l==="icons-labeled"&&e.jsx(Vt,{steps:t,currentStep:r,position:d,orientation:c,onStepClick:o})]}),N=a.showProgressBar?e.jsx("div",{className:"hidden sm:block",children:F}):null;return c==="vertical"?e.jsxs("div",{className:y.cn("flex gap-6 items-start",s),children:[x,e.jsxs("div",{className:"hidden sm:flex gap-6 items-start shrink-0",children:[I,N&&e.jsx("div",{className:"flex-1 pt-4",children:N})]})]}):e.jsxs("div",{className:y.cn("space-y-3",s),children:[x,e.jsxs("div",{className:"hidden sm:block space-y-3",children:[I,N]})]})},Lt=(t,r,o)=>{var n;const s={...r},i=o;for(const a of t.containers){for(const l of a.campos)if(s[l.nome]===void 0&&(l.initialValue!==void 0?s[l.nome]=typeof l.initialValue=="string"?W(l.initialValue,i):l.initialValue:l.defaultValue!==void 0&&(s[l.nome]=l.defaultValue)),l.tipo===f.FieldType.FIELD_ARRAY&&((n=l.subFields)!=null&&n.length)){const d=s[l.nome];Array.isArray(d)&&d.length>0&&(s[l.nome]=d.map(c=>{const u={...c};for(const m of l.subFields)u[m.nome]===void 0&&(m.initialValue!==void 0?u[m.nome]=typeof m.initialValue=="string"?W(m.initialValue,i):m.initialValue:m.defaultValue!==void 0&&(u[m.nome]=m.defaultValue));return u}))}if(a.repeatable&&a.nome){const l=s[a.nome];Array.isArray(l)&&l.length>0&&(s[a.nome]=l.map(d=>{const c={...d};for(const u of a.campos)c[u.nome]===void 0&&(u.initialValue!==void 0?c[u.nome]=typeof u.initialValue=="string"?W(u.initialValue,i):u.initialValue:u.defaultValue!==void 0&&(c[u.nome]=u.defaultValue));return c}))}}return s},Mt=({schema:t,initialValues:r={},initialStep:o=0,onSubmitStep:s,onComplete:i,template:n,formTitle:a,externalData:l={},fieldErrors:d={},uploadFile:c,cepLookup:u,resolveTermsUploadUrl:m,fieldResolvers:h,validatorMapper:F,componentMapper:x,paymentMethodOptions:I,onValuesChange:N,className:E,StepIndicator:b=et})=>{const[p,w]=g.useState(()=>o),[R,j]=g.useState({...r}),[C,v]=g.useState(()=>o),[D,T]=g.useState(!1),[V,M]=g.useState(null),[K,q]=g.useState({}),Y=g.useMemo(()=>JSON.stringify(l),[l]),Q=g.useMemo(()=>JSON.stringify(t.stepConfig),[t.stepConfig]),U=g.useMemo(()=>{const P=le.getTemplateConfig(n);return t.stepConfig?{...P,layout:{...P.layout,...t.stepConfig}}:P},[n,Q]),X=g.useMemo(()=>[...t.steps].sort((P,_)=>P.ordem-_.ordem),[t.steps]),k=X.length,H=k>0?X[Math.min(p,k-1)]:null,ne=g.useMemo(()=>H?Lt(H,R,l):{},[H,R,Y]),$=g.useMemo(()=>({uploadFile:c,cepLookup:u,resolveTermsUploadUrl:m,externalData:l,fieldResolvers:h,validatorMapper:F,fieldWarnings:K,componentMapper:x,paymentMethodOptions:I}),[c,u,m,h,F,K,x,I,Y]),G=g.useCallback(async P=>{if(!D){T(!0),M(null);try{const _={...R,...P};if(j(_),s&&await s(p,P),p===k-1)i&&await i(_);else{const Z=p+1;w(Z),v(se=>Math.max(se,Z))}}catch(_){console.error("[FormRenderer] Submit error:",_);const Z=_ instanceof Error?_.message:"Ocorreu um erro. Tente novamente.";M(Z)}finally{T(!1)}}},[p,R,D,k,s,i]),J=g.useCallback(()=>{p>0&&w(P=>P-1)},[p]);if(!H)return e.jsx(xe.Provider,{value:$,children:e.jsx(le.TemplateProvider,{config:U,className:`min-h-dvh ${U.wrapperClass??""} ${E??""}`,renderWrapper:!0,children:e.jsx("div",{className:"w-full max-w-4xl mx-auto px-4 py-6 sm:px-6 text-center text-muted-foreground",children:"Nenhum step configurado."})})});const O=U.layout.eventTitleStyle??"bar",ee=(U.layout.stepIndicatorOrientation??"horizontal")==="vertical",L=k>=1?e.jsx(b,{steps:X.map(P=>({id:P.id,label:P.titulo,icone:P.icone})),currentStep:p,onStepClick:P=>{P!==p&&P<=C&&w(P)}}):null;return e.jsx(xe.Provider,{value:$,children:e.jsx(le.TemplateProvider,{config:U,className:`min-h-dvh ${U.wrapperClass??""} ${E??""}`,renderWrapper:!0,children:e.jsxs("div",{className:"w-full max-w-4xl mx-auto px-4 py-6 sm:px-6",children:[a&&O==="bar"&&e.jsx("div",{className:"w-full text-center text-sm font-medium py-2.5 px-4 mb-6 rounded-lg border border-input text-muted-foreground bg-muted/30",children:a}),a&&O==="inline"&&e.jsxs("div",{className:"text-center mb-6",children:[e.jsx("p",{className:"text-xs font-semibold uppercase tracking-widest mb-1",style:{color:"var(--t-text-muted)"},children:"Inscrição"}),e.jsx("h1",{className:"text-2xl font-bold",style:{color:"var(--t-text)"},children:a}),e.jsx("div",{className:"h-0.5 w-12 mx-auto mt-3 rounded-full",style:{background:"var(--t-primary)"}})]}),ee?e.jsxs("div",{className:"flex gap-6 items-start",children:[e.jsx("div",{className:"hidden sm:block shrink-0 w-44 pt-1",children:L}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("div",{className:"sm:hidden mb-6",children:L}),e.jsx(ke,{stepIndex:p,totalSteps:k,step:H,defaultValues:ne,externalData:l,fieldErrors:d,isSubmitting:D,submitError:V,validatorMapper:F,onWarningsChange:q,onValuesChange:N,onSubmit:G,onBack:J},p)]})]}):e.jsxs(e.Fragment,{children:[L&&e.jsx("div",{className:"mb-8",children:L}),e.jsx(ke,{stepIndex:p,totalSteps:k,step:H,defaultValues:ne,externalData:l,fieldErrors:d,isSubmitting:D,submitError:V,validatorMapper:F,onWarningsChange:q,onValuesChange:N,onSubmit:G,onBack:J},p)]})]})})})},_t=({children:t,render:r,onChange:o})=>{const s=Qe(),i=g.useRef(o);return i.current=o,g.useEffect(()=>{var n;(n=i.current)==null||n.call(i,s)},[s.values,s.dirty,s.valid,s.submitting,s.errors,s.warnings]),r?e.jsx(e.Fragment,{children:r(s)}):typeof t=="function"?e.jsx(e.Fragment,{children:t(s)}):t!==void 0?e.jsx(e.Fragment,{children:t}):null};exports.ContainerRenderer=Ze;exports.DFCepField=Te;exports.DFCheckbox=ve;exports.DFCheckboxGroup=Ne;exports.DFDateField=ie;exports.DFFieldArray=He;exports.DFFileUpload=Fe;exports.DFHidden=ye;exports.DFMaskedInput=re;exports.DFParticipationType=Ue;exports.DFPaymentMethod=ze;exports.DFRadioGroup=Ce;exports.DFSelect=be;exports.DFTerms=Ke;exports.DFTextField=z;exports.DFTextarea=ge;exports.DefaultStepIndicator=et;exports.FormRenderer=Mt;exports.FormSpy=_t;exports.OPCOES_POR_DIA=We;exports.OPCOES_TODOS_OS_DIAS=Xe;exports.RendererContext=xe;exports.StepRenderer=Je;exports.evaluateFieldCondition=B;exports.interpolate=W;exports.interpolateContainer=he;exports.interpolateField=Ve;exports.interpolateStep=Le;exports.makeStepResolver=Oe;exports.makeStepWarnComputer=Pe;exports.useField=Rt;exports.useFieldApi=kt;exports.useFormApi=St;exports.useFormState=Qe;exports.useRendererContext=te;
package/dist/index.d.ts CHANGED
@@ -56,6 +56,8 @@ declare interface ContainerRendererProps {
56
56
  control: Control<Record<string, unknown>>;
57
57
  }
58
58
 
59
+ export declare const DefaultStepIndicator: ({ steps, currentStep, onStepClick, className, forceShow, }: StepIndicatorProps) => JSX_2.Element | null;
60
+
59
61
  export declare const DFCepField: ({ name, control, placeholder, disabled, readOnly, cepFillMap, }: DFCepFieldProps) => JSX_2.Element;
60
62
 
61
63
  declare interface DFCepFieldProps {
@@ -382,9 +384,9 @@ export declare interface FormRendererProps {
382
384
  externalData?: Record<string, unknown>;
383
385
  /** Erros de campo vindos do servidor (ex: validação 422) */
384
386
  fieldErrors?: Record<string, string>;
385
- uploadFile?: RendererContextValue["uploadFile"];
386
- cepLookup?: RendererContextValue["cepLookup"];
387
- resolveTermsUploadUrl?: RendererContextValue["resolveTermsUploadUrl"];
387
+ uploadFile?: RendererContextValue['uploadFile'];
388
+ cepLookup?: RendererContextValue['cepLookup'];
389
+ resolveTermsUploadUrl?: RendererContextValue['resolveTermsUploadUrl'];
388
390
  /**
389
391
  * Mapa de resolvers de props de campo para `resolvePropsKey`.
390
392
  * @see FieldResolvers
@@ -418,7 +420,7 @@ export declare interface FormRendererProps {
418
420
  * Substitui os defaults do modelo IPB para `porDia` e/ou `todosOsDias`.
419
421
  * @see PaymentOption
420
422
  */
421
- paymentMethodOptions?: RendererContextValue["paymentMethodOptions"];
423
+ paymentMethodOptions?: RendererContextValue['paymentMethodOptions'];
422
424
  /**
423
425
  * Chamada sempre que qualquer campo do step atual for alterado.
424
426
  * Recebe os valores atuais do step — útil para autosave, analytics, etc.
@@ -602,7 +604,7 @@ export declare interface RendererContextValue {
602
604
  *
603
605
  * Quando não fornecida, usa a API pública https://viacep.com.br (padrão).
604
606
  */
605
- cepLookup?: (cep: string) => Promise<CepLookupResult>;
607
+ cepLookup?: (cep: string, signal?: AbortSignal) => Promise<CepLookupResult>;
606
608
  /**
607
609
  * Função para resolver a URL de preview de um PDF de termos armazenado.
608
610
  * Recebe o uploadId e deve retornar a URL temporária de preview.
@@ -700,6 +702,9 @@ export declare interface StepIndicatorProps {
700
702
  }>;
701
703
  currentStep: number;
702
704
  onStepClick?: (index: number) => void;
705
+ className?: string;
706
+ /** Se true, exibe o indicador mesmo com apenas 1 step (útil no preview do builder). */
707
+ forceShow?: boolean;
703
708
  }
704
709
 
705
710
  export declare const StepRenderer: ({ step, control, externalData, }: StepRendererProps) => JSX_2.Element;