react-luna-form 0.0.84 → 0.0.86

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/client/cjs/index.js +1 -1
  2. package/dist/client/esm/index.js +1 -1
  3. package/dist/config/cjs/index.js +1 -1
  4. package/dist/config/esm/index.js +1 -1
  5. package/dist/schema/cjs/index.js +1 -1
  6. package/dist/schema/esm/index.js +1 -1
  7. package/dist/server/cjs/index.js +1 -1
  8. package/dist/server/esm/index.js +1 -1
  9. package/dist/types/luna-core/type.d.ts +31 -1
  10. package/dist/types/luna-core/util/build.d.ts +3 -1
  11. package/dist/types/luna-core/util/extract.d.ts +1 -0
  12. package/dist/types/luna-core/util/is-input.d.ts +13 -0
  13. package/dist/types/luna-core/util/schema.d.ts +5 -5
  14. package/dist/types/luna-react/src/client/component/field/field.d.ts +19 -0
  15. package/dist/types/luna-react/src/client/context/failed-submit-context.d.ts +3 -0
  16. package/dist/types/luna-react/src/client/context/reveal-context.d.ts +1 -0
  17. package/dist/types/luna-react/src/client/hook/use-disclosure.d.ts +1 -0
  18. package/dist/types/luna-react/src/client/hook/use-form-action.d.ts +2 -1
  19. package/dist/types/luna-react/src/client/hook/use-host-entry.d.ts +17 -0
  20. package/dist/types/luna-react/src/client/hook/use-input-core.d.ts +4 -6
  21. package/dist/types/luna-react/src/client/hook/use-input.d.ts +1 -1
  22. package/dist/types/luna-react/src/client/hook/use-schema.d.ts +4 -2
  23. package/dist/types/luna-react/src/client/hook/use-value.d.ts +2 -2
  24. package/dist/types/luna-react/src/client/lib/compose-list-value.d.ts +29 -2
  25. package/dist/types/luna-react/src/client/lib/error-store.d.ts +3 -0
  26. package/dist/types/luna-react/src/client/lib/host-value-store.d.ts +30 -0
  27. package/dist/types/luna-react/src/client/lib/list-store.d.ts +21 -0
  28. package/dist/types/luna-react/src/client/lib/source-store.d.ts +3 -0
  29. package/dist/types/luna-react/src/client/lib/state-store.d.ts +3 -0
  30. package/dist/types/luna-react/src/client/lib/store-helper.d.ts +8 -0
  31. package/dist/types/luna-react/src/client/lib/value-store.d.ts +3 -0
  32. package/dist/types/luna-react/src/component/collapsible.d.ts +2 -1
  33. package/dist/types/luna-react/src/component/form.d.ts +2 -0
  34. package/dist/types/luna-react/src/component/input/input-base.d.ts +1 -0
  35. package/dist/types/luna-react/src/type.d.ts +1 -0
  36. package/docs/events/change.md +47 -1
  37. package/docs/fields/custom-inputs.md +4 -0
  38. package/docs/fields/input.md +9 -2
  39. package/docs/fields/list.md +2 -0
  40. package/docs/fields/specialized-selectors.md +4 -0
  41. package/docs/forms/submit.md +7 -2
  42. package/docs/structure/sections.md +3 -1
  43. package/docs/validation/overview.md +10 -1
  44. package/package.json +5 -5
@@ -1 +1 @@
1
- import{jsx as Ma}from"react/jsx-runtime";function Un(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return Ma("div",{"data-slot":"field-control",className:"w-full",children:t})}import{jsx as Hn}from"react/jsx-runtime";function Fe(e){return Hn("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:`size-4 transition-transform duration-200 ${e.expanded?"rotate-90":""}`,children:Hn("path",{fillRule:"evenodd",d:"M8.22 5.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L11.94 10 8.22 6.28a.75.75 0 0 1 0-1.06Z",clipRule:"evenodd"})})}import{Activity as _a}from"react";import{createContext as za}from"react";var nt=za(!1);import{jsx as Yn}from"react/jsx-runtime";function De({children:e,visible:t}){return Yn(_a,{mode:t?"visible":"hidden",children:Yn(nt,{value:!0,children:e})})}var rt="input",qn="input/date",Zn="input/email",Kn="input/number",Wn="input/time";var Xn="textarea",jn="radio",Jn="checkbox",rn="list",Qn="select",er="select/active",tr="select/day",nr="select/month",rr="select/timezone",or="select/year";var ir="chips",ar="chips/day",sr="chips/month",Oe="column",lr="description",on="fields",ur="label",Y="value",ot="options",an="email",cr="number",dr="password",fr="tel",Me="text",mr="aria-errormessage",gr="aria-invalid",pr="data-invalid",yr="data-readonly",br="aria",xr="data",it="max",hr="maxLength",at="min",Rr="minLength",ke="$ref",vr="source",Sr="state",st="http://luna.internal",Tr="type",Ar={Africa:"Africa",America:"Americas",Asia:"Asia / Pacific",Atlantic:"Atlantic",Australia:"Asia / Pacific",Europe:"Europe",Indian:"Asia / Pacific",Pacific:"Asia / Pacific"};import{format as Ba,formatDistanceToNow as Cr,formatDuration as $a,intervalToDuration as Ga,isValid as ut,parseISO as Ua}from"date-fns";import{enUS as Fr,es as ln}from"date-fns/locale";function m(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function lt(e){return Array.isArray(e)&&e.every(m)}function z(e){return e==null||e===""}function j(e){return g(e)||typeof e=="number"||sn(e)}function ze(e){return Array.isArray(e)&&e.every(j)}function g(e){return typeof e=="string"}function wr(e){return m(e)&&"url"in e}function sn(e){return typeof e=="boolean"}var kr={en:Fr,"en-US":Fr,es:ln,"es-ES":ln,"es-MX":ln},Ha={short:"M/d/yy",medium:"MMM d, yyyy",long:"MMMM d, yyyy",full:"EEEE, MMMM d, yyyy"},Ya={ms:1,s:1e3,min:6e4,h:36e5,d:864e5};function Nr(e){if(e)return kr[e]??kr[e.split("-")[0]]}function ct(e){if(typeof e=="number"&&!Number.isNaN(e))return e;if(g(e)&&e.trim()!==""){let t=Number(e);return Number.isNaN(t)?null:t}return null}function Ir(e,t,n){let r=Ya[t];if(r===void 0)return String(e);let o=e*r,i=Ga({start:0,end:o});return $a(i,{locale:n})}function Er(e){if(e instanceof Date)return ut(e)?e:null;if(g(e)){let t=Ua(e);if(ut(t))return t;let n=new Date(e);return ut(n)?n:null}if(typeof e=="number"){let t=new Date(e);return ut(t)?t:null}return null}var qa={currency:(e,t,n)=>{let r=ct(e);if(r===null)return String(e);let o=t[0]??"USD";return new Intl.NumberFormat(n.locale,{style:"currency",currency:o}).format(r)},percent:(e,t,n)=>{let r=ct(e);return r===null?String(e):new Intl.NumberFormat(n.locale,{style:"percent"}).format(r)},number:(e,t,n)=>{let r=ct(e);return r===null?String(e):new Intl.NumberFormat(n.locale).format(r)},date:(e,t,n)=>{let r=Er(e);if(!r)return String(e);let o=t[0]??"short",i=Nr(n.locale);if(o==="relative")return Cr(r,{addSuffix:!0,locale:i});let a=Ha[o]??o;return Ba(r,a,{locale:i})},duration:(e,t,n)=>{let r=Nr(n.locale);if(typeof e=="number")return Ir(e,t[0]??"ms",r);if(g(e)){let i=ct(e);if(i!==null)return Ir(i,t[0]??"ms",r)}let o=Er(e);return o?Cr(o,{addSuffix:!0,locale:r}):String(e)}};function Lr(e,t,n){let r=t.split(":").map(s=>s.trim()).filter(s=>s.length>0);if(r.length===0)return;let[o,...i]=r,a=qa[o];if(a)return a(e,i,n)}var Za=/^\d+$/;function cn(e,t=[],n=Y){return ze(e)?{value:e}:Array.isArray(t)?t.find(r=>{let o=dn(r,n);if(o!==void 0&&`${o}`==`${e}`)return r})??{value:e}:{value:e}}function dn(e,t=Y){if(e!=null){if(ze(e)||j(e))return e;if(m(e)){let n=Ka(e,t);if(j(n))return n}}}function Ka(e,t){let n=M(e,t);if(j(n))return n}function Pr(e,t){if(Array.isArray(e))return e;let n=M(e,t);return Array.isArray(n)?n:null}function M(e,t){if(!t||!m(e))return null;let n=t.split(".").filter(o=>o!=="");if(n.length===0)return null;let r=e;for(let o of n)if(m(r)&&o in r)r=r[o];else if(Array.isArray(r)){let i=Number(o);if(!Number.isInteger(i)||i<0||i>=r.length)return null;r=r[i]}else return null;return r}function fn(e,t={description:lr,label:ur,value:Y}){return e.map(n=>{if(m(n)){let r=M(n,t.label),o=M(n,t.value);if(j(r)&&j(o)){let i=M(n,t.description);return{label:`${r}`,value:`${o}`,...j(i)&&{description:`${i}`}}}}return n})}function Vr(e=Me){let t=e.lastIndexOf("/"),n=t===-1?e:e.slice(t+1);return n&&n!==rt?n.trim().toLowerCase():Me}function Dr(e){let t={};for(let n of e.keys()){let r=e.getAll(n);t[n]=r.length>1?r:r[0]}return t}function Or(e){let t={};for(let n of Object.keys(e)){let r=n.split(".");if(r.length===1){t[n]=e[n];continue}let o=t;for(let a=0;a<r.length-1;a++){let s=r[a],l=r[a+1],u=Za.test(l);s in o||(o[s]=u?[]:{}),o=o[s]}let i=r[r.length-1];o[i]=e[n]}return un(t),t}function un(e){for(let t of Object.keys(e)){let n=e[t];if(Array.isArray(n)){let r=n.filter(o=>o!==void 0);for(let o of r)m(o)&&un(o);e[t]=r}else m(n)&&un(n)}}var Wa=/\[([^\]]{1,500})\]\(([^)]{1,2000})\)/g,Xa=/{([^}]{1,200})}/,ja=/{([^}]{1,200})}/g,Ja=/^{([^}|]{1,200})}$/;function re(e,t={},n={}){if(g(e))return es(e,t,n);if(Array.isArray(e))return e.map(r=>re(r,t,n));if(m(e)){let r={};for(let o in e)r[o]=re(e[o],t,n);return r}return e}function Mr(e,t={},n={}){if(g(e)){let r=Qa(e,t);if(r!==void 0)return r}return re(e,t,n)}function _e(e,t={},n={}){return Re(e)?re(e,t,n):e}function Re(e){return g(e)?Xa.test(e):Array.isArray(e)?e.some(t=>Re(t)):m(e)?Object.values(e).some(t=>Re(t)):!1}function zr(e,t){return t.includes(".")?M(e,t):e[t]}function Qa(e,t){let n=Ja.exec(e);if(!n)return;let r=n[1].trim();if(!r)return;let o=zr(t,r);if(m(o)||Array.isArray(o))return o}function es(e,t={},n={}){return e.replace(ja,(r,o)=>{let i=String(o).split("|").map(c=>c.trim()),[a,...s]=i;if(!a)return r;let l=zr(t,a);if(s.length===0)return j(l)?String(l):r;if(l==null)return r;let u=l;for(let c of s){let p=Lr(u,c,{locale:n.locale});if(p===void 0)return r;u=p}return String(u)})}function _r(e,t){if(!g(e)||!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=Wa.exec(e))!==null;){let[a,s,l]=n,u=n.index;o=!0,u>r&&i.push(e.substring(r,u));let c=t?t(u,l,s):a;i.push(c),r=u+a.length}return o?(r<e.length&&i.push(e.substring(r)),i):e}var Be={error:(...e)=>{mn()&&!gn()&&dt().error("[Luna Form]",...e)},warn:(...e)=>{mn()&&!gn()&&dt().warn("[Luna Form]",...e)},info:(...e)=>{mn()&&!gn()&&dt().info("[Luna Form]",...e)}},mn=()=>typeof dt()<"u",gn=()=>!0,dt=()=>globalThis.console;function Br(e=[],t){let n=[],r=[],o=[];for(let i of e)i.action===Y&&n.push(i),i.action===vr&&r.push(i),i.action===Sr&&o.push(i);t({sources:r,states:o,values:n})}function $r(e=null,t=[],n){for(let r of t){let{target:o,source:i}=r;if(!e){n(o,void 0);continue}if(wr(i)){let a=re(i.url,e),s=i.body?re(i.body,e):i.body;n(o,{...i,url:a,body:s})}}}var ve={eq:is,gt:us,gte:cs,in:ss,lt:ds,lte:fs,neq:as,nin:ls,contains:ms,exists:Ur,empty:gs,truthy:ps},ts=/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2})?/,Gr=/^(\d{2})[/-](\d{2})[/-](\d{4})(?: (\d{2}):(\d{2})(?::(\d{2}))?)?$/;function ns(e){return typeof e=="string"&&ts.test(e)}function rs(e){return typeof e=="string"&&Gr.test(e)}function os(e){let t=e.match(Gr);if(t){let[,n,r,o,i,a,s]=t;return new Date(Number(o),Number(r)-1,Number(n),Number(i??0),Number(a??0),Number(s??0)).getTime()}return NaN}function de(e){return ns(e)?new Date(e).getTime():rs(e)?os(e):Number(e)}function is(e,t){return e===t}function as(e,t){return e!==t}function ss(e,t){return Array.isArray(t)&&t.includes(String(e))}function ls(e,t){return Array.isArray(t)&&!t.includes(String(e))}function us(e,t){return de(e)>de(t)}function cs(e,t){return de(e)>=de(t)}function ds(e,t){return de(e)<de(t)}function fs(e,t){return de(e)<=de(t)}function ms(e,t){return typeof e=="string"?e.includes(String(t)):Array.isArray(e)?e.map(String).includes(String(t)):!1}function Ur(e){return Array.isArray(e)?e.length>0:e!=null&&e!==""}function gs(e){return!Ur(e)}function ps(e){return Array.isArray(e)?e.length>0:!!e}function Ne(e,t){if(t===void 0)return!0;if(g(t)){let n=ft(e,Y);return Array.isArray(n)?n.length===1&&n[0]===t:n===t}if(sn(t)){let n=ft(e,Y);return(Array.isArray(n)?n.length>0:!!n)===t}if(Array.isArray(t)){let n=ft(e,Y);return Array.isArray(n)?n.some(r=>t.includes(String(r))):t.includes(String(n))}return ys(e,t)}function ys(e=null,t){let n=ft(e,t.field??Y),{operator:r="eq",value:o}=t,i=ve[r];return i?i(n,o):!1}function ft(e,t){return m(e)?M(e,t):e}function Hr(e=null,t=[],n){for(let r of t){let{target:o,state:i,when:a}=r,s=Array.isArray(o)?o:[o];if(!e){n(s);continue}let l=Ne(e,a);n(s,l?i:void 0)}}function Yr(e=null,t=[],n){for(let r of t)for(let[o,i]of Object.entries(r.value))n(o,e?Mr(i,e):void 0,{onlyIfTargetEmpty:r.onlyIfTargetEmpty??!1})}var $e=e=>E(er)(e),qr=e=>E(tr)(e),mt=e=>E(nr)(e),gt=e=>E(or)(e),Zr=e=>E(rr)(e),pt=e=>E(ar)(e),yt=e=>E(sr)(e),q=E(qn),oe=E(Wn),$=E(Jn),J=E(ir),ie=E(jn),fe=E(rt),Q=E(Qn),pn=E(Xn),Kr=E(Me,an,dr,fr),Wr=E(Zn,an),bt=E(Kn,cr);function xt(e){return ie(e)||$(e)}function ee(e){return e.type===rn}function ae(e){return e.type===Oe}function ht(e){return e.type!==Oe&&e.type!==rn}function Ie(e){return Q(e)||ie(e)||J(e)}function Xr(e){return fe(e)||pn(e)}function w(e){return e!=null&&e!==""}function E(...e){return t=>{let n=g(t.type)?t.type:void 0;return n?e.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function jr(e,t={}){if(Q(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&m(n))return[n]}}function Jr(e){return ie(e)||$(e)?!0:e.advanced?.horizontal}function Qr(e){return $(e)?e.advanced?.reverse!==!1:!1}function eo(e,t){let n=e.readonly??!1;return t||n}function Rt(e){if(bs(e)){let t=e.source;if(Array.isArray(t)||m(t)&&!(ke in t))return t}}function to(e){return Array.isArray(Rt(e))}function bs(e){return ie(e)||J(e)||Q(e)&&!e.disabled}import{isValid as vt,parse as St,format as Tt}from"date-fns";var xs=/^\d+$/,At=new Date(2e3,0,1),hs=()=>"supportedValuesOf"in Intl?Intl.supportedValuesOf("timeZone"):[],yn="default";function oo(e){if(!e)return yn;try{return Intl.getCanonicalLocales(e)[0]??yn}catch{return yn}}function bn(e){let t=oo(e);return Array.from({length:12},(n,r)=>({value:(r+1).toString(),label:new Date(0,r).toLocaleString(t,{month:"long"})}))}function xn(e){let t=oo(e);return Array.from({length:7},(n,r)=>({value:r.toString(),label:new Date(2e3,0,2+r).toLocaleString(t,{weekday:"long"})}))}function io(e,t){return t>=e?Array.from({length:t-e+1},(n,r)=>{let o=e+r;return{value:o.toString(),label:o.toString()}}):[]}function hn(){return new Date().getFullYear()}function Rs(){return Intl.DateTimeFormat().resolvedOptions().timeZone}function vs(e){let t=e.indexOf("/"),n=t===-1?e:e.slice(0,t);return Ar[n]??"Other"}function Ss(e,t){return(e.find(r=>r.type==="timeZoneName")?.value??t).replace(/\s+(?:Standard|Daylight(?: Saving)?|Summer|Winter)\s+Time$/,"")}function no(e,t){let n=new Intl.DateTimeFormat("en",{timeZone:e,timeZoneName:"longOffset"}).formatToParts(t),r=new Intl.DateTimeFormat("en",{timeZone:e,timeZoneName:"long"}).formatToParts(t),i=(n.find(s=>s.type==="timeZoneName")?.value??"GMT+00:00").replace("GMT","UTC"),a=Ss(r,e);return{offset:i,longName:a}}function ro(e){return e.slice(e.lastIndexOf("/")+1).replace(/_/g," ")}function ao(){let e=new Date,t=Rs(),n=new Map,r=ro(t),{offset:o,longName:i}=no(t,e),a={value:t,label:`${r} - ${i} (${o})`};for(let l of hs()){if(l===t)continue;let u=ro(l),{offset:c,longName:p}=no(l,e),f={value:l,label:`${u} - ${p} (${c})`},T=vs(l);if(T==="Other")continue;let y=n.get(T);y?y.push(f):n.set(T,[f])}for(let l of n.values())l.sort((u,c)=>u.label.localeCompare(c.label));let s=Array.from(n.entries()).sort(([l],[u])=>l.localeCompare(u)).map(([l,u])=>({label:l,items:u}));return[{label:"Suggested",items:[a]},...s]}function Rn(e,t){if(typeof e=="number")return e;let n=t??hn(),r=e.trim().toLowerCase();if(r.startsWith("current")){let o=r.match(/^current([+-])(\d+)$/);if(o){let[,i,a]=o,s=parseInt(a,10);if(!isNaN(s))return i==="+"?n+s:n-s}return n}return xs.test(r)?parseInt(r,10):n}function wt(e,t){if(!e)return"";try{let n=St(e,t,At);return vt(n)?Tt(n,"yyyy-MM-dd"):""}catch{return""}}function so(e,t){if(!e)return"";try{let n=St(e,t,At);return vt(n)?Tt(n,"HH:mm:ss"):""}catch{return""}}function lo(e,t="HH:mm"){if(!e)return"";try{let n=e.split(":").length===3?"HH:mm:ss":"HH:mm",r=St(e,n,At);return vt(r)?Tt(r,t):""}catch{return""}}function Ct(e,t="MMMM d, yyyy"){if(!e)return"";try{let n=St(e,"yyyy-MM-dd",At);return vt(n)?Tt(n,t):""}catch{return""}}function Se(e){return e.advanced?.format??"HH:mm"}function se(e){return e.advanced?.format??"MMMM d, yyyy"}var Ts={es:{"(Optional)":"(Opcional)","Add item":"A\xF1adir elemento","An unexpected error occurred submitting the form.":"Ocurri\xF3 un error inesperado al enviar el formulario.","Collapse {label} {index}":"Contraer {label} {index}","Expand {label} {index}":"Expandir {label} {index}","Please correct the errors and try again.":"Corrige los errores e int\xE9ntalo de nuevo.","Remove {label} item {index}":"Eliminar {label} {index}","There were validation errors submitting the form.":"Se encontraron errores de validaci\xF3n al enviar el formulario.","Unknown error":"Error desconocido",No:"No",Yes:"S\xED"}};function Z(e,t){return C(e,t)}function co(e,t){let n=t?.[e??""],r=e?Ts[As(e)]:void 0;return r?n?{...r,...n}:r:n}function As(e){return e.toLowerCase().split(/[-_]/)[0]}function C(e,t){return e?t?t[e]??e:e:""}function te(e,t){return e?C(e,t):void 0}function Ge(e,t){if(!t)return e;let n=!1,r=e.map(o=>{let i=ws(o,t);return i!==o&&(n=!0),i});return n?r:e}function ws(e,t){if(!m(e))return e;let n=uo(e.label,t),r=e.items;if(Array.isArray(r)){let i=Ge(r,t);return i===r&&n===e.label?e:{...e,...n!==void 0&&{label:n},items:i}}let o=uo(e.description,t);return n===e.label&&o===e.description?e:{...e,...n!==void 0&&{label:n},...o!==void 0&&{description:o}}}function uo(e,t){return g(e)?C(e,t):e}var Ft=hn();function mo(e,t){if(J(e))return Cs(e,t?.lang)}function Cs(e,t){if(pt(e))return xn(t);if(yt(e))return bn(t)}function go(e,t){if(Q(e))return Fs(e,t)}function Fs(e,t){let{lang:n,translations:r}=t??{};if(qr(e))return xn(n);if(mt(e))return bn(n);if(gt(e)){let o=e.advanced?.length?.min??Ft,i=e.advanced?.length?.max??Ft+5;return io(Rn(o,Ft),Rn(i,Ft))}if(Zr(e))return ao();if($e(e))return Ge([{value:"true",label:"Yes"},{value:"false",label:"No"}],r)}function po(e,t=!1,n){let r={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return fe(e)?{...r,...ks(e)}:Q(e)?{...r,...yo(go(e,n))}:pn(e)?{...r,...Is(e)}:J(e)?{...r,...Ns(e,n)}:r}function ks(e){let t=Vr(e.type),n={...e,type:t};return{...Ls(e),...bo(e),...Es(n),...Kr(n)?xo(n):{},type:t}}function yo(e){return e?{options:e}:{}}function Ns(e,t){let n=yo(mo(e,t)),r=e.advanced?.multiple??!0;return{...n,multiple:r}}function Is(e){return{...bo(e),...xo(e)}}function bo(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function Es(e){return bt(e)?Ps(e):{}}function Ls(e){if(oe(e)){let t=Se(e);return{step:t==="HH:mm:ss"||t==="hh:mm:ss a"?"1":"60"}}return{}}function xo(e){return ho(e,{min:Rr,max:hr})}function Ps(e){return ho(e,{min:at,max:it})}function ho(e,t){let n={},r=e.advanced?.length;return r&&(r.min!==void 0&&(n[t.min]=r.min),r.max!==void 0&&(n[t.max]=r.max)),n}function Ro(e,t){let n=Rt(e);return n||jr(e,t)}function Vs(e,t){let n=m(t)&&e.name in t?t[e.name]:t,r=dn(n,e.advanced?.entity),o=w(r)?r:e.defaultValue;return oe(e)&&w(o)?Ds(e,o):q(e)&&w(o)?_s(e,o):o}function Ds(e,t){let n=Se(e);return g(t)?so(t,n):t}function Os(e,t,n){return Ie(e)&&Array.isArray(n)?{...t,[ot]:n}:t}function Ms(e,t,n){if(e.required&&!w(n)&&Q(e)&&e.advanced?.preselected!==!1&&ot in t){let r=t[ot];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function zs(e,t,n){if(Ie(e)&&Array.isArray(t)){let r=fn(t,e.advanced?.options);return to(e)?Ge(r,n):r}return t}function vo(e,t,n,r,o){let i=Vs(e,r),a=Array.isArray(n)?zs(e,n,o):n,s=Os(e,t,a),l=Ms(e,s,i);return{commonPropsWithOptions:s,defaultValue:l}}function So(e,t){return $(e)?{checked:!!t}:J(e)?{value:Array.isArray(t)?t:[]}:q(e)&&g(t)&&w(t)?{value:Ct(t,se(e))}:$e(e)?{value:w(t)?String(t):""}:{value:t??""}}function _s(e,t){let n=se(e);return g(t)?wt(t,n):t}function To(e,t){let n=e??t;return n?{"data-format":n}:{}}function fo(e){let t=[];for(let n of e){if(typeof n=="string"){t.push(n);continue}m(n)&&"value"in n&&"label"in n&&g(n.value)&&g(n.label)&&t.push({label:n.label,value:n.value})}return t}function Ao(e,t){if(!Ie(e))return;let n=J(e)?mo(e,t):go(e,t);if(Array.isArray(n)){let o=fo(n);return o.length>0?o:void 0}let r=Rt(e);if(Array.isArray(r)){let o=fn(r,e.advanced?.options),i=fo(Ge(o,t?.translations));return i.length>0?i:void 0}}function wo(e,t){let n=String(e);for(let r of t)if(typeof r=="string"){if(r===n)return r}else if(r.value===n)return r.label;return n}var Bs=/^#\/definition\//;function Nt(e=[],t){let n=kt(e,t);return Array.isArray(n)?n.filter(Gs).sort((r,o)=>Co(r)-Co(o)):[]}function kt(e,t,n=new Map,r=new WeakSet){if(!$s(t)||!e||typeof e!="object")return e;if(n.has(e))return n.get(e);if(r.has(e))return e;if(r.add(e),Array.isArray(e))return e.map(i=>kt(i,t,n,r));if(ke in e&&g(e[ke])){let i=e[ke].replace(Bs,""),a=M(t,i);return a!==null?kt(a,t,n,r):e}let o={};for(let[i,a]of Object.entries(e))o[i]=kt(a,t,n,r);return r.delete(e),n.set(e,o),o}function Fo(e){return Object.entries(e??{})}function Co(e){return e.order??Number.MAX_VALUE}function $s(e){return e!==void 0&&m(e)&&Object.keys(e).length>0}function Gs(e){return Tr in e?!0:Array.isArray(e[on])?e[on].length>0:!0}function ko(e,t){let n={};for(let[r,o]of Fo(t))n[`${e}-${r}`]=o;return n}function Us(e){return ko(br,e)}function Hs(e){return ko(xr,e)}function No(e,t){let n=Us(e.advanced?.aria);return t&&t.length>0&&(n[gr]="true",n[mr]=`${e.name}-error`),n}function Io(e){return Hs(e.advanced?.data)}var Eo={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},Lo={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function Po(e,t=2){return Eo[e&&e in Eo?e:t]}function Vo(e){if(e&&e in Lo)return Lo[e]}function vn(e){return{min:e.advanced?.length?.min??1,max:e.advanced?.length?.max??1/0}}function It(e){let t=[];for(let n of e)if(ae(n))for(let r of n.fields)t.push(r);else t.push(n);return t}function Ys(e,t){let n=t?M(t,e.name):null;return _o(e,Array.isArray(n)?n.length:0)}function Do(e){return!Array.isArray(e.fields)||e.fields.length===0?!1:e.fields.length>1||e.fields[0].type===Oe}function Oo(e,t){let n=Ys(e,t);return Array.from({length:n},(r,o)=>o)}function Mo(e){return e.advanced?.title??e.label??e.name}function zo(e){let t={};for(let n of It(e))ee(n)||(t[n.name]=n);return t}function _o(e,t){let{min:n,max:r}=vn(e);return Math.min(Math.max(t,n),r)}function Sn(e,t){let n=It(e.fields),r=_o(e,t.length),o=[];for(let i=0;i<r;i++){let a=t[i],s={};for(let l of n){let u=a?.[l.name];s[l.name]=ee(l)?Sn(l,lt(u)?u:[]):u}o.push(s)}return o}function Et(e,t){if(!e.includes("/"))return e;let[n,r]=e.split("/"),o=new RegExp(`(^|.*\\.)(${n}\\.\\d+\\.)`),i=t.match(o);return i?`${i[0]}${r}`:r}import{z as F}from"zod";var qs=[[$,Bo],[Wr,Zs],[bt,Xs],[ie,Ks],[$e,Bo],[mt,Js],[gt,js],[J,Tn],[pt,Tn],[yt,Tn]];function Uo(e,t=[],n){let r=F.object(e);if(t.length===0)return r;let o=nl(r,t,n);return il(o,t,n)}function Ho(e){let t={},n=F.flattenError(e).fieldErrors;for(let[r,o]of Object.entries(n))o!==void 0&&(t[r]=o);return t}function Yo(e,t){for(let[n,r]of qs)if(n(e))return r(e,t);return Ws(e,t)}function Zs(e,t){let n=F.string().trim();if(e.required){let r=me(e,t),o=n.min(1,r).pipe($o(e,t));return F.preprocess(i=>z(i)?"":i,o)}return n.pipe($o(e,t)).or(F.literal("")).nullable()}function Bo(e,t){let n=F.preprocess(r=>{if(typeof r=="string"){if(r==="true")return!0;if(r==="false")return!1}return r},F.coerce.boolean());return e.required?($(e)?n=n.refine(r=>r===!0,{message:me(e,t)}):n=n.refine(r=>typeof r=="boolean",{message:me(e,t)}),F.preprocess(r=>r===null?!1:r,n)):n.nullable()}function Ks(e,t){let n=F.coerce.string();return e.required?(n=n.min(1,me(e,t)),F.preprocess(r=>z(r)?"":r,n)):n.or(F.literal("")).nullable()}function Ws(e,t){let n=F.coerce.string().trim();return n=qo(n,e,t),e.required?(n=Zo(n,e,t),F.preprocess(r=>z(r)?"":r,n)):n.nullable()}function Xs(e,t){let n=F.coerce.number().int();return n=qo(n,e,t),e.required?(n=Zo(n,e,t),F.preprocess(r=>r===null?void 0:r,n)):n.nullable()}function js(e,t){return e.required?F.preprocess(Qs,F.coerce.number({message:me(e,t)}).int()):F.coerce.number().int().nullable()}function Js(e,t){let n=me(e,t),r=F.coerce.number().int().min(1,n).max(12,n);return e.required?r:r.nullable()}function Qs(e){return e===null||e===""?void 0:e}function $o(e,t){let n=e.validation?.email?C(e.validation?.email,t):void 0;return F.email(n)}function qo(e,t,n){return e=el(e,t,n),e=tl(e,t,n),e}function Zo(e,t,n){let r=t.advanced?.length?.min;return r===void 0||r<1?e.min(1,me(t,n)):e}var el=(e,t,n)=>Ko(e,t,at,n),tl=(e,t,n)=>Ko(e,t,it,n);function Ko(e,t,n,r){let o=t.advanced?.length?.[n];if(o!==void 0){let i=t.validation?.length?.[n]?C(t.validation?.length?.[n],r):void 0;return e[n](o,i)}return e}function nl(e,t=[],n){let r=ol(t);return r.length===0?e:e.superRefine((o,i)=>{for(let{name:a,rule:s}of r)if(!rl(o,a,s)){let l=C(s.message,n);i.addIssue({code:"custom",message:l,path:[a]})}})}function rl(e,t,n){let r=n.operator??"eq",o=ve[r];return o?o(Lt(e,t),Lt(e,n.field)):!1}function ol(e){let t=[];for(let n of e){let r=n.validation?.custom;if(!r)continue;let o=Array.isArray(r)?r:[r];for(let i of o)t.push({name:n.name,rule:i})}return t}function Wo(e,t,n,r){let o=[],i=Array.isArray(t)?t:[t];for(let a of i){let s=a.operator??"eq",l=ve[s];if(l&&!l(e,n(a.field))&&a.message){let u=C(a.message,r);o.push(u)}}return o}function me(e,t){return e.validation?.required?C(e.validation?.required,t):void 0}function Tn(e,t){let n=F.array(F.string());return e.required&&(n=n.min(1,me(e,t))),F.preprocess(r=>z(r)?[]:Array.isArray(r)?r.map(String):[String(r)],n)}function il(e,t=[],n){let r=t.filter(al);return r.length===0?e:e.superRefine((o,i)=>{let a=m(o)?o:{};for(let s of r)for(let l of sl(a,s,n))i.addIssue({code:"custom",path:l.path,message:l.message})})}function al(e){let t=e.validation;return t!==void 0&&(t.requiredWhen!==void 0||t.pattern!==void 0||t.rules!==void 0)}function sl(e,t,n){let r=[],o=Lt(e,t.name),i=t.validation?.requiredWhen;if(i){let l=(Array.isArray(i)?i:[i]).find(u=>Ue(e,u));l&&!An(o)&&r.push({path:[t.name],message:te(l.message??t.validation?.required,n)})}let a=t.validation?.pattern;a&&!Xo(a,o)&&r.push({path:[t.name],message:te(a.message,n)});for(let s of t.validation?.rules??[])ll(e,s.when)&&!ul(s,o)&&r.push({path:[t.name],message:te(s.message,n)});return r}function Ue(e,t){let n=ve[t.operator??"eq"];return n?n(Lt(e,t.field),t.value):!1}function Lt(e,t){return t in e?e[t]:M(e,t)??void 0}function ll(e,t){if(!t)return!0;if(Array.isArray(t))return t.every(o=>Ue(e,o));if("field"in t)return Ue(e,t);let n=t.all?t.all.every(o=>Ue(e,o)):!0,r=t.any?t.any.some(o=>Ue(e,o)):!0;return n&&r}function ul(e,t){switch(e.assert){case"required":return An(t);case"minItems":return Array.isArray(t)&&t.length>=Number(e.value);case"maxItems":return Array.isArray(t)&&t.length<=Number(e.value);case"min":return Go(t)>=Number(e.value);case"max":return Go(t)<=Number(e.value);case"oneOf":return Array.isArray(e.value)&&e.value.map(String).includes(String(t));case"pattern":return dl(e.value)?Xo(e.value,t):!0;default:return!0}}function Xo(e,t){return!An(t)||typeof t!="string"||e.allowInterpolation&&(Re(t)||cl(t))?!0:new RegExp(e.regex,e.flags).test(t)}function cl(e){return g(e)&&e.trimStart().startsWith("@")}function An(e){return g(e)?e.trim().length>0:ve.exists(e,void 0)}function Go(e){return typeof e=="number"?e:g(e)||Array.isArray(e)?e.length:0}function dl(e){return m(e)&&"regex"in e}function jo(e,t){if(!t||!ml(e))return!0;if(t.length===0)return!1;try{let n=new URL(e),r=n.protocol.replace(":",""),o=n.hostname,i=n.port||fl(r);return t.some(a=>!(a.protocol&&a.protocol!==r||a.hostname&&a.hostname!==o||a.port!==void 0&&String(a.port)!==i))}catch{return!1}}function fl(e){return e==="https"?"443":"80"}function ml(e){return/^(https?:)?\/\//.test(e)}function Jo(e,t){try{if(!e)return t;if(!t)return e;let n=new URL(e,st);new URL(t,st).searchParams.forEach((i,a)=>{n.searchParams.set(a,i)});let o=n.toString();return e.startsWith("/")||!e.includes("://")?o.replace(st,""):o}catch{return t||e}}function Qo(e){return!Array.isArray(e)||e.length===0?null:e.reduce((t,n)=>{let r=Jo(t.url,n.url),o=gl(t,n),i=pl(t,n);return{...t,...n,url:r,body:o,headers:i}})}function gl(e,t){return m(t.body)&&m(e?.body)?{...e.body,...t.body}:t.body??e?.body}function pl(e,t){return m(t.headers)&&m(e?.headers)?{...e.headers,...t.headers}:t.headers??e?.headers}function Pt(e,t){let n={...e};for(let r of Object.keys(t??{})){let o=t?.[r];o!==void 0&&(n[r]=o)}return n}var yl={uppercase:e=>e.toUpperCase(),lowercase:e=>e.toLowerCase(),"remove-space":e=>e.replace(/\s+/g,""),"remove-accent":e=>e.normalize("NFD").replace(/[\u0300-\u036f]/g,"")};function He(e,t){return!t||!g(e)||z(e)?e:(Array.isArray(t)?t:[t]).reduce((r,o)=>{let i=yl[o];return i?i(r):r},e)}import{jsx as bl}from"react/jsx-runtime";function le(e){return _r(e,(t,n,r)=>bl("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${t}`))}import{useCallback as xl,useState as hl}from"react";import{jsx as Ye,jsxs as wn}from"react/jsx-runtime";function ei(e){let{fields:t=[]}=e.section,[n,r]=hl(!1),o=xl(()=>r(i=>!i),[]);return wn("fieldset",{"data-slot":"field-set","data-advanced":"true","data-expanded":n,"data-empty":t.length===0,className:"flex flex-col",id:e.section.id?.toString(),children:[Ye("legend",{children:wn("button",{className:"flex cursor-pointer items-center gap-2 text-base font-medium text-zinc-600 dark:text-zinc-400",onClick:o,type:"button",children:[Ye(Fe,{expanded:n}),Ye("span",{children:le(e.title)})]})}),Ye(De,{visible:n,children:wn("div",{className:"mt-3 ml-1.5 flex flex-col gap-4 border-l-2 border-zinc-300 pl-4 dark:border-zinc-600","data-slot":"field-set-content",children:[e.description&&Ye("p",{className:"text-sm leading-normal font-normal text-zinc-600 dark:text-zinc-400",children:le(e.description)}),e.group]})})]})}import{jsx as Vt,jsxs as ti}from"react/jsx-runtime";function ni(e){let t=ti("div",{className:"flex flex-col",children:[e.title&&Vt("legend",{className:"mb-3 font-medium text-zinc-800 dark:text-zinc-200",children:le(e.title)}),e.description&&Vt("p",{className:"-mt-2 text-sm leading-normal font-normal text-zinc-600 dark:text-zinc-400",children:le(e.description)})]});return e.step?ti("div",{className:"flex flex-row items-start gap-4",children:[Vt("div",{className:"bg-primary text-primary-foreground flex size-6 shrink-0 items-center justify-center rounded-full",children:Vt("span",{className:"text-sm font-bold",children:e.step})}),t]}):t}import{jsx as ri,jsxs as Rl}from"react/jsx-runtime";function Dt(e){return Rl("fieldset",{className:"flex w-full min-w-0 flex-col data-[empty=false]:gap-6","data-empty":e.empty,"data-slot":"field-set",id:e.id,children:[ri(ni,{description:e.description,step:e.step,title:e.title}),ri("div",{className:"w-full min-w-0",children:e.children})]})}import{jsx as vl}from"react/jsx-runtime";function ge(e){return vl("div",{"data-slot":"field-group","data-compact":e.compact,className:"flex w-full flex-col gap-8 data-[compact=true]:gap-3",children:e.children})}import{jsx as Cn}from"react/jsx-runtime";function oi(e){let{fields:t=[]}=e.section,n=e.advanced?.step?e.step:void 0,{compact:r}=Pt(e.style,{compact:e.section.advanced?.compact}),o=Cn(ge,{compact:r,children:e.children});if(!e.section.title&&!e.section.description)return o;let i=te(e.section.title,e.translations),a=te(e.section.description,e.translations);return e.section.advanced?.collapsible?Cn(ei,{description:a,group:o,section:e.section,title:i}):Cn(Dt,{description:a,empty:t.length===0,id:e.section.id?.toString(),step:n,title:i,children:o})}import{jsx as ii}from"react/jsx-runtime";function ai(){return ii("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:ii("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-zinc-200 dark:bg-zinc-800"})})}import{useAtomValue as Cl}from"jotai";import{atom as Te}from"jotai";import{atomFamily as si}from"jotai-family";import{deepEqual as Fn}from"fast-equals";function qe(e,t){let{[t]:n,...r}=e;return r}function Sl(e){return si(t=>Te(n=>n(e)[t]??void 0,(n,r,o)=>{let i=n(e);if(o!=null){let a=i[t];Fn(a,o)||r(e,{...i,[t]:o})}else t in i&&r(e,qe(i,t))}))}function Tl(e){return Te(null,(t,n)=>{let r=t(e);r&&Object.keys(r).length>0&&n(e,{})})}function Al(e){return Te(null,(t,n,r)=>{let i={...t(e)},a=!1;for(let s of r)s in i&&(delete i[s],a=!0);a&&n(e,i)})}function wl(e){return Te(null,(t,n,r)=>{let o=t(e);Fn(o,r)||n(e,r)})}function li(e,t={}){let{merge:n,validateTarget:r}=t;return si(o=>Te(i=>{let a=i(e)[o];if(a&&n)return n(Object.values(a))},(i,a,s,l)=>{if(r&&!r(s))return;let u=i(e),c={...u[s]??{}};if(l!=null){let p=c[o];(!p||!Fn(p,l))&&(c[o]=l,a(e,{...u,[s]:c}))}else o in c&&(delete c[o],Object.keys(c).length===0?a(e,qe(u,s)):a(e,{...u,[s]:c}))}))}function ui(e){return Te(null,(t,n,r)=>{let i={...t(e)},a=!1;for(let s of r)s in i&&(delete i[s],a=!0);for(let s in i){let l={...i[s]},u=!1;for(let c of r)c in l&&(delete l[c],u=!0,a=!0);u&&(Object.keys(l).length===0?delete i[s]:i[s]=l)}a&&n(e,i)})}function ue(e={}){let t=Te(e);return{atom:t,clearAll:Tl(t),clear:Al(t),bulkReport:wl(t),report:Sl(t)}}var ci=ue(),Ot=ci.atom,Mt=ci.report;function Fl(e,t){return e.fields.every(n=>di(n,t))}function di(e,t){return t[e.name]?.hidden??e.hidden??!1}function kl(e,t){return ae(e)?Fl(e,t):di(e,t)}function zt(e){let t=Cl(Ot);return e.container&&(t[e.container.name]?.hidden??e.container.hidden??!1)||e.fields.length===0||e.fields.every(r=>kl(r,t))?null:e.children}import{jsx as Ze,jsxs as fi}from"react/jsx-runtime";function mi(e){let t=Nt(e.sections,e.definition);return Ze("div",{className:"h-full w-full",children:Ze("form",{noValidate:e.noValidate,action:e.action,children:fi(ge,{children:[t.map((n,r)=>fi(zt,{fields:n.fields??[],children:[Ze(oi,{advanced:e.advanced,section:n,step:r+1,style:e.config.style,translations:e.translations,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.advanced?.separator&&Ze(ai,{})]},`key-${n.id}-${r}`)),e.control&&Ze(Un,{isPending:e.isPending,children:e.control})]})})})}import{jsx as Nl}from"react/jsx-runtime";function gi(e){return Nl("p",{className:"-mt-2 text-xs leading-normal font-normal text-zinc-600 dark:text-zinc-400 [[data-slot=column]_&]:md:line-clamp-2",title:e.title,children:e.children})}import{useState as Il}from"react";import{jsx as pi,jsxs as yi}from"react/jsx-runtime";function _t(e){let t={context:e.context,env:e.config?.env,value:e.value},r={locale:e.config?.env?.locale},[o,i]=Il(()=>m(e.text)&&"collapsed"in e.text?!e.text.collapsed:!0),a=()=>i(c=>!c),s=m(e.text)&&g(e.text.title)?le(C(_e(e.text.title,t,r),e.translations)):void 0,l=C(_e(g(e.text)?e.text:e.text?.message,t,r),e.translations),u=le(l);return u?yi("div",{className:"flex flex-col gap-2",children:[s&&yi("button",{className:"flex items-center gap-1 text-left text-xs font-medium text-zinc-700 hover:text-zinc-900 dark:text-zinc-300 dark:hover:text-zinc-100",onClick:a,type:"button",children:[s,pi(Fe,{expanded:o})]}),o&&pi(gi,{title:l,children:u})]}):null}import{atom as bi}from"jotai";var Bt=ue(),_=Bt.atom,xi=Bt.clearAll,hi=Bt.clear,pe=Bt.report,kn=bi({}),Nn=bi(null);import{useAtomValue as Ri}from"jotai";import{jsx as El}from"react/jsx-runtime";function $t(e){let t=Ri(pe(e.field.name)),r=Ri(Mt(e.field.name))?.description??e.field.description;return El(_t,{config:e.config,context:e.context,text:r,translations:e.translations,value:t})}import{twMerge as Ll}from"tailwind-merge";import{jsx as vi,jsxs as Pl}from"react/jsx-runtime";function Si(e){let t=e.style?.showOptionalLabel??!0,n=ie(e.field)||$(e.field);return Pl("label",{"data-slot":"field-label","data-normal":n,className:Ll("flex w-fit items-center text-sm leading-snug font-medium select-none","data-[normal=true]:font-normal [[data-slot=column]_&]:md:w-full","group-data-[readonly=true]:cursor-not-allowed group-data-[readonly=true]:opacity-50"),htmlFor:e.field.name,title:g(e.children)?e.children:void 0,children:[vi("span",{className:"[[data-slot=column]_&]:md:truncate",children:e.children}),t&&!e.field.required&&vi("span",{className:"ml-2 flex-shrink-0 text-sm text-zinc-600 dark:text-zinc-400",children:Z("(Optional)",e.translations)})]})}import{jsx as Ti,jsxs as Vl}from"react/jsx-runtime";function Ai(e){let t={context:e.context,env:e.config?.env},n=e.config?.env?.locale,r=_e(e.field.label,t,{locale:n});return Vl("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[Ti(Si,{field:e.field,style:e.config?.style,translations:e.translations,children:C(r,e.translations)}),e.horizontal===!0&&Ti($t,{config:e.config,context:e.context,field:e.field,translations:e.translations})]})}import{Fragment as Dl,jsx as wi,jsxs as Ol}from"react/jsx-runtime";function Ci(e){return Ol(Dl,{children:[e.field.name&&e.field.label&&wi(Ai,{config:e.config,context:e.context,field:e.field,horizontal:e.horizontal,translations:e.translations}),e.children,e.horizontal===!1&&wi($t,{config:e.config,context:e.context,field:e.field,translations:e.translations})]})}function Gt(e,t){return e?t(e):null}var Ke={found:!1,value:void 0};function We(e,t){if(!Array.isArray(t)&&e in t)return{found:!0,value:t[e]};if(!e.includes("."))return Ke;let n=e.split("."),r=t;for(let o of n){if(r==null)return Ke;if(Array.isArray(r)){let i=Number(o);if(!Number.isInteger(i)||!(i in r))return Ke;r=r[i]}else if(m(r)){if(!(o in r))return Ke;r=r[o]}else return Ke}return{found:!0,value:r}}function H(e,t){return We(e,t).value}import{useCallback as tu,useEffect as nu,useRef as ru}from"react";import{createContext as Ml}from"react";var zl=e=>e,ye=Ml(zl);var In=ue(),Fi=In.clear,ki=In.bulkReport,Ut=In.report;var Ni=ue(),Ht=Ni.atom,Ii=Ni.report,Ei=ue(),Yt=Ei.atom,Li=Ei.report;import{use as Yl,useCallback as Oi,useRef as Xe,useTransition as ql}from"react";import{use as _l,useEffect as Bl,useEffectEvent as Pi,useMemo as $l}from"react";function Vi(e,t,n,r){let{name:o}=e,i=$l(()=>Yo(e,r),[e,r]),a=_l(nt),s=Pi(u=>{u&&t(u,i,e)}),l=Pi(u=>{u&&n(u,{keepValue:a})});return Bl(()=>(s(o),()=>{l(o)}),[o]),i}import{useSetAtom as Ee,useStore as Zl}from"jotai";import{useCallback as Gl,useEffect as Ul,useRef as Hl}from"react";function Di(){let e=Hl(null);return Ul(()=>()=>{e.current&&clearTimeout(e.current)},[]),Gl((n,r)=>{e.current&&(clearTimeout(e.current),e.current=null),e.current=setTimeout(n,r)},[])}function Kl(e){return document.activeElement?.getAttribute("name")===e}function Mi(e,t){let n=Zl(),r=e.field.advanced?.entity,o=Di(),[,i]=ql(),a=Yl(ye),{setValue:s,shouldSkipOnChange:l,value:u,setSource:c}=t,p=Xe(u);p.current=u;let f=Xe(e.translations);f.current=e.translations;let T=xt(e.field),y=Ee(_),A=Ee(Ot),k=Ee(Ut(e.field.name)),P=Ee(kn),V=Ee(Nn),K=Ee(Ht),N=Vi(e.field,e.onMount,e.onUnmount,e.translations),I=C(e.commonProps.placeholder,e.translations),L={...e.commonProps,placeholder:I};function ne(d){let[,h]=e.getSchema();return h.find(R=>R.name===d)}function ce(d){let h=ne(d);if(h&&fe(h)){let R=h.advanced?.transform;if(R)return R}}function W(d,h){if(y(R=>({...R,[d]:h})),P(R=>({...R,[d]:h})),e.onValueChange){let R=ne(d);R&&e.onValueChange({name:a(d),type:R.type,value:h})}}function Ae(d){let h=n.get(_),R=Object.keys(h).filter(S=>d.some(v=>S===v||S.startsWith(`${v}.`)));if(R.length!==0&&(y(S=>R.reduce((v,D)=>qe(v,D),S)),!!e.onValueChange))for(let S of R){let v=ne(S);v&&e.onValueChange({name:a(S),type:v.type,value:void 0})}}let we=Xe(null);we.current=d=>{if(e.field.advanced?.transient)return;let h=fe(e.field)?He(d,e.field.advanced?.transform):d;s(h),e.onValueChange&&e.onValueChange({name:a(e.field.name),type:e.field.type,value:h})};let Ce=Xe(null);Ce.current=d=>{let h=e.field.event?.change;h&&Br(h,({sources:R,states:S,values:v})=>{i(()=>{$r(d,R,(D,B)=>{c(Et(D,e.field.name),B)}),Hr(d,S,(D,B)=>{let X=D.map(U=>Et(U,e.field.name));A(U=>B?X.reduce((he,tt)=>({...he,[tt]:B}),U):X.reduce((he,tt)=>qe(he,tt),U));let O=B?.hidden===!0?X:B===void 0?X.filter(U=>ne(U)?.hidden===!0):[];O.length>0&&Ae(O)})}),Yr(d,v,(D,B,X)=>{let O=Et(D,e.field.name);if(n.get(Yt)[O]){lt(B)&&K(nn=>({...nn,[O]:B}));return}let U=ce(O),he=U?He(B,U):B,tn=n.get(_)[O];if(X.onlyIfTargetEmpty&&!z(tn)){let nn=n.get(kn)[O];if(!Object.is(nn,tn))return}if(he!==tn){if(Kl(O)){V({target:O,value:he});return}W(O,he)}})})};let xe=Oi(d=>{let R=N.safeParse(d).error?.issues.map(D=>D.message)??[],S=e.field.validation?.custom,v=S?Wo(d,S,D=>n.get(pe(D)),f.current):[];k([...R,...v])},[e.field.validation?.custom,N,k,n]),b=Xe(null);b.current=()=>{let d=n.get(Nn);d?.target===e.field.name&&(V(null),z(n.get(_)[d.target])&&W(d.target,d.value))};let x=Oi(d=>{if(!T){let h=d.target.value;e.config.validation.blur&&xe(h)}b.current?.()},[T,e.config.validation.blur,xe]);return{applyChangeEventsRef:Ce,commonProps:L,entity:r,hasClickable:T,onBlur:x,onValueChangeRef:we,setTimeoutRef:o,shouldSkipOnChange:l,validated:xe,valueRef:p}}import{deepEqual as Wl}from"fast-equals";import{useAtom as Xl}from"jotai";import{use as jl,useCallback as Jl,useEffect as Ql,useRef as eu,useEffectEvent as zi}from"react";function _i(e,t){let{name:n}=e,r=eu(!1),[o,i]=Xl(pe(n)),a=jl(ye),s=zi((c,p=!1)=>{let f=fe(e)?He(c,e.advanced?.transform):c;!p&&!Wl(o,f)&&(r.current=!0),i(f)}),l=zi(c=>{let{found:p,value:f}=We(a(n),c);if(w(f)){s(f);return}if(w(e.defaultValue)){s(e.defaultValue,!0);return}p&&s(f)});Ql(()=>{if(t){l(t);return}w(e.defaultValue)&&s(e.defaultValue,!0)},[t,e.defaultValue]);let u=Jl(()=>r.current?(r.current=!1,!0):!1,[]);return{setValue:i,shouldSkipOnChange:u,value:o}}import{jsx as Bi}from"react/jsx-runtime";function $i(e){let{useSource:t,useExtraProps:n,getValue:r,shouldSkipChange:o,dispatchChange:i,buildInitialSelected:a,isInitialReady:s}=e.strategies,{setValue:l,shouldSkipOnChange:u,value:c}=_i(e.field,e.value),{data:p,setSource:f,isStaticSource:T}=t(e.field,e.config,c),{applyChangeEventsRef:y,commonProps:A,entity:k,hasClickable:P,onBlur:V,onValueChangeRef:K,setTimeoutRef:N,validated:I,valueRef:L}=Mi(e,{setValue:l,shouldSkipOnChange:u,value:c,setSource:f}),{getSchema:ne}=e,ce=n?.(e.field),W=ru(!1),{commonPropsWithOptions:Ae,defaultValue:we}=vo(e.field,A,p,c,T?e.translations:void 0),Ce=So(e.field,we);nu(()=>{let b=!!e.value||w(e.field.defaultValue);if(W.current||!b)return;if(!e.field.event?.change){W.current=!0;return}let x=e.value?H(e.field.name,e.value):void 0,d=w(x)?x:e.field.defaultValue;if(!w(d)||!s(e.field,d,p))return;W.current=!0;let h=a(d,p,k);queueMicrotask(()=>{let[,R]=ne();R.some(S=>S.name===e.field.name)&&y.current?.(h)})},[y,a,p,k,ne,s,e.field,e.value]);let xe=tu(b=>{let x=r(b,e.field);o({field:e.field,shouldSkipOnChange:u,hasClickable:P,inputValue:x,valueRef:L})||(K.current?.(x),e.config.validation.change&&I(x),e.field.event?.change&&i({applyChangeEventsRef:y,data:p,entity:k,inputValue:x,setTimeoutRef:N}))},[y,p,i,k,r,P,K,e.config.validation.change,e.field,N,o,u,I,L]);return Gt(e.config.inputs[e.field.type],b=>Bi(Ci,{config:e.config,context:e.context,field:e.field,horizontal:e.horizontal,translations:e.translations,children:Bi(b,{...Ae,...e.ariaAttributes,...e.dataAttributes,...ce,...Ce,onBlur:V,onChange:xe})}))}import{jsx as ou}from"react/jsx-runtime";function Le(e){return function(n){return ou($i,{...n,strategies:e})}}function Gi(e){let t=q(e)?se(e):null,n=oe(e)?Se(e):null;return{dateFormat:t,timeFormat:n}}import{atom as iu}from"jotai";var au=e=>{let t=Qo(e);if(t)return t},su=e=>e.trim()!=="",Ui=iu({}),qt=li(Ui,{merge:au,validateTarget:su}),Hi=ui(Ui);import{useSetAtom as lu}from"jotai";function Zt(e){return{data:null,setSource:lu(qt(e.name))}}var Yi=Le({useSource:Zt,useExtraProps:e=>{let{dateFormat:t,timeFormat:n}=Gi(e);return To(t,n)},getValue:(e,t)=>{let n=e.target.value;if(!g(n))return n;let r=oe(t)?Se(t):null;if(r!==null)return lo(n,r);let o=q(t)?se(t):null;return o!==null&&Ct(n,o)||n},shouldSkipChange:({shouldSkipOnChange:e,inputValue:t,valueRef:n})=>e()&&t===n.current,dispatchChange:({applyChangeEventsRef:e,inputValue:t,setTimeoutRef:n})=>{n(()=>{e.current?.({value:t})},300)},buildInitialSelected:e=>({value:String(e)}),isInitialReady:(e,t)=>w(t)});import{deepEqual as fu}from"fast-equals";import{useAtom as du}from"jotai";import uu from"swr";function qi(e=null,t,n=!1){let{data:r,error:o}=uu(cu(e,t,n),t.fetcher.provider);if(o&&Be.error("Error fetching data source:",o),e){if(Array.isArray(e))return e;if(r)return Pr(r,e.namespace)}return null}function cu(e=null,t,n=!1){if(e&&!Array.isArray(e)&&!n&&e.url&&!Re(e.url)){if(jo(e.url,t.fetcher.remotePatterns))return e;Be.warn(`URL blocked by remotePatterns: ${e.url}. Check your luna.config.ts`)}return null}function Zi(e,t,n){let r=Ro(e,n),[o,i]=du(qt(e.name)),a=o??r,s=qi(a,t,e.disabled),l=Array.isArray(a);return[s,i,l]}function mu(e,t,n){let[r,o,i]=Zi(e,t,n);return{data:r,setSource:o,isStaticSource:i}}function gu(e,t){return Q(e)&&t===""}var Ki=Le({useSource:mu,getValue:e=>e.target.value,shouldSkipChange:({field:e,shouldSkipOnChange:t,hasClickable:n,inputValue:r,valueRef:o})=>gu(e,r)||!n&&t()&&(!r||fu(r,o.current)),dispatchChange:({applyChangeEventsRef:e,data:t,entity:n,inputValue:r})=>{e.current?.(cn(r,t,n))},buildInitialSelected:(e,t,n)=>cn(ze(e)?e:String(e),t,n),isInitialReady:(e,t,n)=>(!Ie(e)||!!n&&n.length>0)&&w(t)});var Wi=Le({useSource:Zt,getValue:e=>e.target.value,shouldSkipChange:({shouldSkipOnChange:e,inputValue:t,valueRef:n})=>e()&&t===n.current,dispatchChange:({applyChangeEventsRef:e,inputValue:t,setTimeoutRef:n})=>{n(()=>{e.current?.({value:t})},300)},buildInitialSelected:e=>({value:String(e)}),isInitialReady:(e,t)=>w(t)});import{jsx as En}from"react/jsx-runtime";function Xi(e){return q(e.field)||oe(e.field)?En(Yi,{...e}):Xr(e.field)?En(Wi,{...e}):En(Ki,{...e})}import{jsx as ji}from"react/jsx-runtime";function Ji(e){return!e.errors||e.errors.length===0?null:ji("ul",{className:"text-sm text-red-600 dark:text-red-500",id:e.name?`${e.name}-error`:void 0,children:e.errors?.map((t,n)=>ji("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}import{twMerge as pu}from"tailwind-merge";import{jsx as yu}from"react/jsx-runtime";function Kt(e){let t=e.errors&&e.errors.length>0;return yu("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[pr]:"true"},...e.disabled&&{[yr]:"true"},"data-orientation":e.orientation,className:pu("group flex w-full flex-col items-center data-[invalid=true]:text-red-600 data-[invalid=true]:dark:text-red-500","data-[clickable=true]:items-start",e.isCheckbox&&(e.isReversed?"flex-row-reverse!":"flex-row!"),"data-[clickable=true]:has-[>[data-slot=field-content]]:[&>:first-child]:mt-px",e.className),children:e.children})}import{twMerge as bu}from"tailwind-merge";import{jsx as xu}from"react/jsx-runtime";function Qi(e){return xu(Kt,{...e,orientation:"vertical",className:bu("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}import{twMerge as hu}from"tailwind-merge";import{jsx as Ru}from"react/jsx-runtime";function ea(e){return Ru(Kt,{...e,orientation:"horizontal",className:hu("gap-2 md:flex-row md:gap-4","[&>[data-slot=field-content]]:min-w-0 [&>[data-slot=field-content]]:flex-grow [&>[data-slot=field-content]]:self-start","[&_[role=checkbox]]:mt-[1.5px]",e.isClickable&&"md:flex-col",!e.isClickable&&["md:justify-between","[&>*:not([data-slot=field-content])]:w-full","[&>*:not([data-slot=field-content])]:md:w-1/2","[&>*:not([data-slot=field-content])]:xl:w-2/5"]),children:e.children})}import{jsx as ta}from"react/jsx-runtime";function na(e){let t=xt(e.field),n=$(e.field),r=Qr(e.field);return e.horizontal?ta(ea,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children}):ta(Qi,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children})}function ra(e){if(!e.field.type)return null;let t=po(e.field,e.disabled,{lang:e.lang,translations:e.translations}),n=Io(e.field),r=No(e.field,e.errors),o={...e.field,disabled:t.disabled};return e.children({ariaAttributes:r,commonProps:t,dataAttributes:n,field:o,horizontal:e.horizontal})}import{twMerge as vu}from"tailwind-merge";import{jsx as Ln,jsxs as Su}from"react/jsx-runtime";function oa(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{horizontal:r=!1}=Pt(e.style,{horizontal:Jr(e.field)}),o=eo(e.field,e.disabled);return Su("div",{className:vu("flex flex-col gap-3",Vo(t)),children:[Ln(na,{disabled:o,errors:n,field:e.field,horizontal:r,children:Ln(ra,{disabled:o,errors:n,field:e.field,horizontal:r,lang:e.lang,translations:e.translations,children:e.children})}),Ln(Ji,{errors:n,name:e.field.name})]})}import{useAtomValue as Tu}from"jotai";import{jsx as Cu}from"react/jsx-runtime";function ia(e){return(t,n)=>o=>{let i=Tu(e(o.field.name)),a=n(i,o);return a===null?null:Cu(t,{...o,...a})}}var Au=ia(Ut);function aa(e){return Au(e,(t,n)=>({errors:t?{[n.field.name]:t}:void 0}))}var wu=ia(Mt);function sa(e){return wu(e,(t,n)=>t?.hidden??n.field.hidden??!1?null:{disabled:t?.disabled??n.disabled})}var la=sa(aa(oa));import{twMerge as Pn}from"tailwind-merge";import{useState as Fu}from"react";import{Fragment as ku,jsx as G,jsxs as be}from"react/jsx-runtime";function ua(e){let t=e.isMultiField||e.collapsed!=null,[n,r]=Fu(t?!e.collapsed:!0);function o(){e.canRemove&&e.onRemove&&e.onRemove(e.index)}function i(){r(c=>!c)}let a=c=>re(Z(c,e.translations),{index:e.index+1,label:e.label}),s=e.canRemove&&e.onRemove!=null&&G("button",{"aria-label":a("Remove {label} item {index}"),className:Pn("flex size-6 items-center justify-center rounded text-xl leading-none text-zinc-400","transition-colors duration-150","hover:text-red-500","focus-visible:ring-2 focus-visible:ring-zinc-400 focus-visible:outline-none","dark:text-zinc-500 dark:hover:text-red-400"),onClick:o,type:"button",children:G("span",{"aria-hidden":"true",className:"leading-none",children:"\xD7"})}),l=be("div",{className:"flex min-w-0 flex-col font-medium text-zinc-700 dark:text-zinc-400",children:[G("span",{className:"text-base",children:e.previewLabel??be(ku,{children:[e.label," ",e.index+1]})}),!n&&e.previewTags&&G("div",{className:"flex items-center gap-2 overflow-hidden text-xs font-normal text-ellipsis whitespace-nowrap text-zinc-500 dark:text-zinc-500",children:e.previewTags})]}),u=be("div",{className:Pn("flex items-center justify-between gap-2",e.isMultiField&&n&&"mb-3"),children:[t?be("div",{className:"flex min-w-0 grow items-center gap-2",children:[be("button",{"aria-expanded":n,"aria-label":a(n?"Collapse {label} {index}":"Expand {label} {index}"),className:Pn("group flex grow items-center gap-2 rounded p-1 text-left text-zinc-400","focus-visible:ring-2 focus-visible:ring-zinc-400 focus-visible:outline-none","dark:text-zinc-500"),onClick:i,type:"button",children:[G(Fe,{expanded:n}),l]}),!n&&e.previewBadge&&G("div",{className:"ml-auto shrink-0",children:e.previewBadge})]}):l,s]});return e.isMultiField?be("div",{"data-slot":"list-item-card",className:"box-border w-full min-w-0 rounded-lg border border-zinc-100 p-4 dark:border-zinc-900",children:[u,G(De,{visible:n,children:G(ge,{children:e.children})})]}):t?be("div",{className:"box-border flex w-full min-w-0 flex-col gap-2",children:[u,G(De,{visible:n,children:G(ge,{children:e.children})})]}):be("div",{className:"box-border flex w-full min-w-0 items-start gap-2",children:[G("div",{className:"flex min-w-0 grow flex-col",children:G(ge,{children:e.children})}),s&&G("div",{className:"shrink-0",children:s})]})}import{Fragment as Iu}from"react";import{twMerge as ca}from"tailwind-merge";import{useAtomValue as Nu}from"jotai";function Wt(e,t){return Nu(pe(e))??t}import{jsx as je,jsxs as da}from"react/jsx-runtime";function fa({className:e,initialValue:t,name:n,options:r,separator:o,staticLabel:i}){let a=Wt(n??"",t);if(i===void 0&&r){let u=(Array.isArray(a)?a:a==null||a===""?[]:[a]).filter(c=>c!=null&&c!=="").map(c=>wo(c,r));return u.length===0?null:je("div",{className:"flex items-center gap-1.5 overflow-hidden",children:u.map((c,p)=>da(Iu,{children:[(o||p>0)&&je("span",{"aria-hidden":"true",className:"text-xs text-zinc-300 select-none dark:text-zinc-600",children:"\xB7"}),je("span",{"aria-label":c,className:ca("max-w-[150px] overflow-hidden text-xs text-ellipsis whitespace-nowrap",e),title:c,children:c})]},`${p}:${c}`))})}if(i===void 0&&(z(a)||m(a)||Array.isArray(a)))return null;let s=i??String(a);return da("div",{className:"flex items-center gap-1.5 overflow-hidden",children:[o&&je("span",{"aria-hidden":"true",className:"text-xs text-zinc-300 select-none dark:text-zinc-600",children:"\xB7"}),je("span",{"aria-label":s,className:ca("max-w-[150px] overflow-hidden text-xs text-ellipsis whitespace-nowrap",e),title:s,children:s})]})}import{useAtomValue as Eu}from"jotai";import{useMemo as Lu}from"react";function Xt(e,t){let n=Eu(_);return Lu(()=>{let r=`${e}.`,o={},i=!1;for(let s in n)s.startsWith(r)&&(o[s.slice(r.length)]=n[s],i=!0);let a=t?H(e,t):void 0;return i?m(a)?{...a,...o}:o:a},[n,e,t])}import{useMemo as Vn}from"react";import{jsx as ma}from"react/jsx-runtime";function Pu(e){return typeof e=="string"?{field:e}:e}function Dn({className:e,fields:t,label:n="Preview",lang:r,name:o,previews:i,translations:a,value:s}){let l=Vn(()=>(Array.isArray(i)?i:[i]).map(Pu),[i]),u=Vn(()=>t?zo(t):void 0,[t]),c=Xt(o,s),p=Vn(()=>{let f=[];for(let[T,y]of l.entries()){if(y.when!==void 0&&!Ne(c,y.when))continue;if(y.label!==void 0){f.push({key:y.field??`label:${y.label}:${T}`,staticLabel:C(y.label,a)});continue}if(y.field===void 0)continue;let A=`${o}.${y.field}`,k=s!=null?H(A,s):void 0,P=u?.[y.field],V=P?Ao(P,{lang:r,translations:a}):void 0;f.push({key:`${T}:${y.field}`,initialValue:k,options:V,previewName:A})}return f},[l,c,r,o,s,a,u]);return p.length===0?null:ma("div",{"aria-label":n,className:"flex items-center gap-1.5 overflow-hidden",children:p.map((f,T)=>ma(fa,{className:e,initialValue:"initialValue"in f?f.initialValue:void 0,name:"previewName"in f?f.previewName:void 0,options:"options"in f?f.options:void 0,separator:T>0,staticLabel:"staticLabel"in f?f.staticLabel:void 0},f.key))})}import{Fragment as Vu,jsx as Du}from"react/jsx-runtime";function ga({children:e,initialValue:t,name:n}){let r=Wt(n,t),i=z(r)||m(r)||Array.isArray(r)?"":String(r);return Du(Vu,{children:e(i)})}import{jsx as jt}from"react/jsx-runtime";function pa({canRemove:e,children:t,field:n,index:r,isMultiField:o,itemKey:i,label:a,lang:s,onRemove:l,previewBadge:u,previewLabel:c,previewTags:p,translations:f,value:T}){let y=`${n.name}.${i}`,A=`${a} ${r+1}`,k=Xt(y,T);return jt(ua,{canRemove:e,collapsed:n.advanced?.collapsed,index:r,isMultiField:o,label:a,onRemove:l,previewLabel:Ou({fallbackLabel:A,liveItemValue:k,name:y,previewLabel:c,translations:f,value:T}),previewBadge:u?jt(Dn,{className:"bg-primary text-primary-foreground rounded-md px-1.5 py-0.5 leading-none font-bold uppercase",fields:n.fields,lang:s,name:y,previews:u,translations:f,value:T}):void 0,previewTags:p?jt(Dn,{fields:n.fields,lang:s,name:y,previews:p,translations:f,value:T}):void 0,translations:f,children:t})}function Ou({fallbackLabel:e,liveItemValue:t,name:n,previewLabel:r,translations:o,value:i}){if(r===void 0)return;let a=g(r)?{field:r}:r;if(a.when!==void 0&&!Ne(t,a.when))return;if(a.label!==void 0)return C(a.label,o);if(a.field===void 0)return;let s=`${n}.${a.field}`;return jt(ga,{initialValue:i?H(s,i):void 0,name:s,children:l=>l||e})}import{twMerge as Uu}from"tailwind-merge";import{deepEqual as zu}from"fast-equals";import{useAtom as _u,useSetAtom as Mn,useStore as Bu}from"jotai";import{use as $u,useCallback as Ve,useEffect as Jt,useEffectEvent as ya,useMemo as ba,useRef as Qt,useState as Gu}from"react";function Pe(e,t,n){return`${e}.${t}.${n}`}function Mu(e,t){let{initial:n,mounted:r,values:o}=t,i=r[e];if(i)return On(e,i,t);let a=o[e];if(a!==void 0)return a;if(n)return H(e,n)}function On(e,{items:t,leafNames:n},r){return t.map(o=>{let i={};for(let a of n)i[a]=Mu(Pe(e,o,a),r);return i})}function xa(e,t,n){let{min:r,max:o}=vn(e),[i,a]=Gu(()=>Oo(e,t)),s=Qt(i),l=Qt(i.length);s.current=i;let u=Bu(),c=Mn(_),p=Mn(Ht),f=Qt(n);f.current=n;let T=Qt(t),y=ba(()=>It(e.fields),[e.fields]),A=ba(()=>y.map(b=>b.name),[y]),k=Ve((b,x)=>{let d=Number(b);return Number.isNaN(d)?!1:Number.isInteger(d)&&x>=0&&String(x)!==b},[]),P=$u(ye),V=Ve(b=>{let x=`${e.name}.`;if(b.startsWith(x)){let d=b.slice(x.length),h=d.indexOf("."),R=h===-1?d:d.slice(0,h),S=Number(R),v=s.current.indexOf(S);k(R,v)&&(b=`${x}${v}${h===-1?"":d.slice(h)}`)}return P(b)},[e.name,k,P]),K=ya(()=>{let b=T.current;if(!b)return;let x={...u.get(_)},d=!1;for(let h of i)for(let R of A){let S=Pe(e.name,h,R);if(S in x)continue;let v=H(S,b);w(v)&&(x[S]=v,d=!0)}d&&c(x)});Jt(()=>{K()},[]);let N=Ve((b,x)=>On(e.name,{items:b,leafNames:A},{mounted:u.get(Yt),values:x,initial:T.current}),[e.name,A,u]),I=Ve((b,x)=>{f.current?.({name:V(e.name),value:N(b,x)})},[N,e.name,V]),L=Ve(()=>{if(s.current.length>=o)return;let b=l.current++,x=[...s.current,b];a(x),I(x,u.get(_))},[I,o,u]),ne=Ve(b=>{if(s.current.length<=r)return;let x=s.current[b],d=s.current.filter((S,v)=>v!==b),R={...u.get(_)};for(let S of A)delete R[Pe(e.name,x,S)];a(d),c(R),I(d,R)},[I,e.name,A,r,c,u]),ce=Mn(Li(e.name));Jt(()=>{ce({items:i,leafNames:A})},[i,A,ce]),Jt(()=>()=>{let b=u.get(_);c({...b,[e.name]:N(s.current,b)}),ce(void 0)},[N,e.name,ce,c,u]);let[W,Ae]=_u(Ii(e.name)),we=ya(b=>{let x=Sn(e,b),d=u.get(_);if(zu(N(s.current,d),x))return;let h=[];for(let v=0;v<x.length;v++)h.push(s.current[v]??l.current++);let R={...d};for(let v of s.current)for(let D of A)delete R[Pe(e.name,v,D)];let S={};h.forEach((v,D)=>{let B=x[D];for(let X of y){let O=B[X.name];if(O===void 0)continue;let U=Pe(e.name,v,X.name);R[U]=O,ee(X)&&(S[U]=O)}}),c(R),a(h),Object.keys(S).length>0&&p(v=>({...v,...S})),f.current?.({name:V(e.name),value:x})});Jt(()=>{W&&(we(W),Ae(void 0))},[W,Ae]);let Ce=i.length<o,xe=i.length>r;return[i,L,ne,Ce,xe,o,V]}import{jsx as zn,jsxs as en}from"react/jsx-runtime";var Hu="flex h-9 w-full items-center gap-2 rounded-md border border-dashed border-zinc-200 px-4 text-sm font-medium text-zinc-500 transition-none hover:border-zinc-300 hover:text-zinc-800 focus-visible:ring-2 focus-visible:ring-zinc-400 focus-visible:ring-offset-2 focus-visible:outline-none dark:border-zinc-800 dark:text-zinc-400 dark:hover:border-zinc-700 dark:hover:text-zinc-200";function ha(e){let{field:t,lang:n,onValueChange:r,translations:o,value:i,children:a}=e,[s,l,u,c,p,f,T]=xa(t,i,r),y=C(Mo(t),o),A=t.advanced?.action?C(t.advanced.action,o):Z("Add item",o),k=f!==1/0,P=Do(t),{label:V,tags:K,badge:N}=t.advanced?.preview??{};return zn(ye.Provider,{value:T,children:en("div",{className:"flex w-full flex-col gap-4",children:[s.map((I,L)=>zn(pa,{canRemove:p,field:t,index:L,isMultiField:P,itemKey:I,label:y,lang:n,onRemove:u,previewBadge:N,previewLabel:V,previewTags:K,translations:o,value:i,children:a(I)},I)),en("button",{"aria-disabled":!c,"aria-label":k?`${A}, ${s.length} of ${f}`:A,className:Uu(Hu,k?"justify-between":"justify-center",!c&&"cursor-not-allowed opacity-50 hover:border-zinc-200 hover:text-zinc-500 dark:hover:border-zinc-800 dark:hover:text-zinc-400"),disabled:!c,onClick:l,type:"button",children:[en("span",{className:"flex items-center gap-2",children:[zn("span",{"aria-hidden":"true",className:"text-base leading-none",children:"+"}),A]}),k&&en("span",{"aria-hidden":"true",className:"text-zinc-400 tabular-nums dark:text-zinc-500",children:[s.length," / ",f]})]})]})})}import{jsx as Yu}from"react/jsx-runtime";function Ra(e){let t=Array.isArray(e.field.fields)&&e.field.fields.length===0,n=te(e.field.label,e.translations),r=te(e.field.description,e.translations);return Yu(Dt,{description:r,empty:t,id:e.field.name,title:n,children:e.children})}import{jsx as _n}from"react/jsx-runtime";function va({children:e,field:t,lang:n,onValueChange:r,translations:o,value:i}){return _n(zt,{container:t,fields:t.fields,children:_n(Ra,{field:t,translations:o,children:_n(ha,{field:t,lang:n,onValueChange:r,translations:o,value:i,children:e})})})}import{twMerge as qu}from"tailwind-merge";import{jsx as Sa,jsxs as Zu}from"react/jsx-runtime";function Ta(e){let t=Po(e.column?.advanced?.cols);return Zu("div",{className:"flex w-full flex-col gap-4",children:[Sa("div",{"data-slot":"column",className:qu("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children}),e.column?.description&&Sa(_t,{config:e.config,context:e.context,text:e.column.description,translations:e.translations})]})}import{Fragment as Wu}from"react";import{jsx as Ku}from"react/jsx-runtime";function Aa(e){let t=Array.isArray(e.field.fields)?e.field.fields.map(n=>ht(n)||ee(n)?{...n,name:`${e.field.name}.${e.index}.${n.name}`}:ae(n)?{...n,fields:n.fields.map(r=>({...r,name:`${e.field.name}.${e.index}.${r.name}`}))}:n):[];return Ku(Je,{components:e.components,config:e.config,context:e.context,disabled:e.disabled,fields:t,lang:e.lang,onValueChange:e.onValueChange,style:e.style,translations:e.translations,value:e.value,children:e.children})}import{jsx as Qe,jsxs as Xu}from"react/jsx-runtime";function Je(e){let{field:t,list:n}=e.components;return Nt(e.fields).map((r,o)=>Xu(Wu,{children:[ae(r)&&Qe(Ta,{column:r,config:e.config,context:e.context,translations:e.translations,children:Qe(Je,{...e,fields:r.fields})}),ht(r)&&Qe(t,{disabled:e.disabled,field:r,lang:e.lang,style:e.style,translations:e.translations,children:e.children}),ee(r)&&Qe(n,{field:r,lang:e.lang,onValueChange:e.onValueChange,translations:e.translations,value:e.value,children:i=>Qe(Aa,{components:e.components,config:e.config,context:e.context,disabled:e.disabled,field:r,index:i,lang:e.lang,onValueChange:e.onValueChange,style:e.style,translations:e.translations,value:e.value,children:e.children})})]},o))}import{jsx as ju}from"react/jsx-runtime";function wa(e){return n=>ju(Je,{...n,components:e})}var Ca=wa({field:la,list:va});import{useSetAtom as Fa}from"jotai";import{startTransition as ka,useActionState as Ju}from"react";function Ia(e,t,n){let{onSuccess:r,preserveValues:o=!1,validation:i=!0,translations:a}=n??{},s=Fa(ki),l=Fa(xi),u={data:null,error:null,success:!1},[c,p,f]=Ju(async(T,y)=>{let[A,k]=e(),P=Uo(A,k,a);if(i===!1)return t?await t(y,P):T;let V=Dr(y),K=ec(V,k),N=P.safeParse(K);if(!N.success){let L=Ho(N.error);return ka(()=>{s(L)}),Bn(V,{description:Z("Please correct the errors and try again.",a),details:[],title:Z("There were validation errors submitting the form.",a)})}let I=Or(N.data);if(t)try{let L=await t(I,P);return L.success?(r?.(L.data),o||ka(()=>{l()}),Na(I,o)):Bn(I,L.error)}catch(L){return Be.error("Error executing form action:",L),Bn(I,{title:Z("An unexpected error occurred submitting the form.",a),details:Qu(L,a)})}return Na(N.data,o)},u);return[p,c,f]}function Qu(e,t){return e instanceof Error?[e.message]:[Z("Unknown error",t)]}function Na(e,t=!1){return{data:t?e:null,error:null,success:!0}}function Bn(e,t){return{data:e,error:t,success:!1}}function ec(e,t){let n={...e};for(let r of t)if(q(r)&&typeof n[r.name]=="string"&&n[r.name]){let o=wt(n[r.name],se(r));o&&(n[r.name]=o)}return n}import{useMemo as nc}from"react";import{useCallback as Gn,useRef as La}from"react";import{useCallback as tc}from"react";import{useSetAtom as $n}from"jotai";function Ea(){let e=$n(Fi),t=$n(hi),n=$n(Hi);return tc((r,o)=>{let i=Array.isArray(r)?r:[r];e(i),n(i),o?.keepValue||t(i)},[e,n,t])}function Pa(){let e=Ea(),t=La({}),n=La([]),r=Gn((a,s,l)=>{a in t.current||(t.current[a]=s,n.current.push(l))},[]),o=Gn((a,s)=>{t.current[a]&&(delete t.current[a],n.current=n.current.filter(l=>l.name!==a),e([a],{keepValue:s?.keepValue}))},[e]);return[Gn(()=>[t.current,n.current],[]),r,o]}import{Fragment as rc,jsx as et,jsxs as oc}from"react/jsx-runtime";function Va(e){let t=nc(()=>co(e.lang,e.translations),[e.lang,e.translations]),[n,r,o]=Pa(),[i,a,s]=Ia(n,e.action,{onSuccess:e.onSuccess,validation:e.config.validation.submit,translations:t}),l=e.config.validation.showError&&!a.success&&a.error,u=a.data??e.value;return oc(rc,{children:[l&&Gt(e.config.alert,c=>et("div",{className:"mb-4 w-full",children:et(c,{description:a.error?.description,details:a.error?.details,title:a.error.title})})),et(mi,{action:i,advanced:e.advanced,config:e.config,control:e.children,definition:e.definition,isPending:s,noValidate:!0,readOnly:e.readOnly,sections:e.sections,translations:t,children:({disabled:c,fields:p})=>et(Ca,{config:e.config,context:e.context,disabled:c,fields:p,lang:e.lang,onValueChange:e.onValueChange,style:e.config.style,translations:t,value:u,children:f=>et(Xi,{...f,config:e.config,context:e.context,getSchema:n,onMount:r,onUnmount:o,onValueChange:e.onValueChange,translations:t,value:u})})})]})}import{Provider as ic}from"jotai";import{jsx as Da}from"react/jsx-runtime";function ac(e){return Da(ic,{children:Da(Va,{...e})})}function Oa(e,t){for(let n of e){if("name"in n&&typeof n.name=="string"){t.push(n.name);continue}"fields"in n&&Oa(n.fields??[],t)}}function sc(e,t){let n=[];for(let o of e)Oa(o.fields??[],n);let r=t;for(let o of n)We(o,t).found||(r===t&&(r={...t}),r[o]=void 0);return r}export{ac as Form,sc as withDeclaredFields};
1
+ import{createContext as fs}from"react";var gt=fs(null);import{jsx as gs}from"react/jsx-runtime";function dr(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return gs("div",{"data-slot":"field-control",className:"w-full",children:t})}import{jsx as mr}from"react/jsx-runtime";function Ve(e){return mr("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:`size-4 transition-transform duration-200 ${e.expanded?"rotate-90":""}`,children:mr("path",{fillRule:"evenodd",d:"M8.22 5.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L11.94 10 8.22 6.28a.75.75 0 0 1 0-1.06Z",clipRule:"evenodd"})})}import{createContext as ps}from"react";var Pe=ps(!1);import{createContext as ys}from"react";var Ye=ys(()=>{});import{use as bs,useCallback as xs}from"react";import{jsx as xn}from"react/jsx-runtime";function Ze({children:e,onReveal:t,visible:n}){let r=bs(Ye),o=xs(()=>{t?.(),r()},[t,r]);return xn("div",{"data-slot":"collapsible-content",hidden:!n,children:xn(Ye,{value:o,children:xn(Pe,{value:!0,children:e})})})}var pt="input",fr="input/date",gr="input/email",pr="input/number",yr="input/time";var br="textarea",xr="radio",hr="checkbox",hn="list",vr="select",Rr="select/active",Sr="select/day",wr="select/month",Ar="select/timezone",Tr="select/year";var Fr="chips",kr="chips/day",Cr="chips/month",qe="column",Nr="description",vn="fields",Ir="label",q="value",yt="options",Rn="email",Er="number",Lr="password",Vr="tel",Ke="text",Pr="aria-errormessage",Or="aria-invalid",Dr="data-invalid",Mr="data-readonly",zr="aria",_r="data",bt="max",$r="maxLength",xt="min",Br="minLength",Oe="$ref",Hr="source",Gr="state",ht="http://luna.internal",Ur="type",Yr={Africa:"Africa",America:"Americas",Asia:"Asia / Pacific",Atlantic:"Atlantic",Australia:"Asia / Pacific",Europe:"Europe",Indian:"Asia / Pacific",Pacific:"Asia / Pacific"};import{format as hs,formatDistanceToNow as qr,formatDuration as vs,intervalToDuration as Rs,isValid as Rt,parseISO as Ss}from"date-fns";import{enUS as Kr,es as wn}from"date-fns/locale";function g(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function vt(e){return Array.isArray(e)&&e.every(g)}function B(e){return e==null||e===""}function J(e){return b(e)||typeof e=="number"||Sn(e)}function We(e){return Array.isArray(e)&&e.every(J)}function b(e){return typeof e=="string"}function Zr(e){return g(e)&&"url"in e}function Sn(e){return typeof e=="boolean"}var Wr={en:Kr,"en-US":Kr,es:wn,"es-ES":wn,"es-MX":wn},ws={short:"M/d/yy",medium:"MMM d, yyyy",long:"MMMM d, yyyy",full:"EEEE, MMMM d, yyyy"},As={ms:1,s:1e3,min:6e4,h:36e5,d:864e5};function Xr(e){if(e)return Wr[e]??Wr[e.split("-")[0]]}function St(e){if(typeof e=="number"&&!Number.isNaN(e))return e;if(b(e)&&e.trim()!==""){let t=Number(e);return Number.isNaN(t)?null:t}return null}function jr(e,t,n){let r=As[t];if(r===void 0)return String(e);let o=e*r,i=Rs({start:0,end:o});return vs(i,{locale:n})}function Jr(e){if(e instanceof Date)return Rt(e)?e:null;if(b(e)){let t=Ss(e);if(Rt(t))return t;let n=new Date(e);return Rt(n)?n:null}if(typeof e=="number"){let t=new Date(e);return Rt(t)?t:null}return null}var Ts={currency:(e,t,n)=>{let r=St(e);if(r===null)return String(e);let o=t[0]??"USD";return new Intl.NumberFormat(n.locale,{style:"currency",currency:o}).format(r)},percent:(e,t,n)=>{let r=St(e);return r===null?String(e):new Intl.NumberFormat(n.locale,{style:"percent"}).format(r)},number:(e,t,n)=>{let r=St(e);return r===null?String(e):new Intl.NumberFormat(n.locale).format(r)},date:(e,t,n)=>{let r=Jr(e);if(!r)return String(e);let o=t[0]??"short",i=Xr(n.locale);if(o==="relative")return qr(r,{addSuffix:!0,locale:i});let a=ws[o]??o;return hs(r,a,{locale:i})},duration:(e,t,n)=>{let r=Xr(n.locale);if(typeof e=="number")return jr(e,t[0]??"ms",r);if(b(e)){let i=St(e);if(i!==null)return jr(i,t[0]??"ms",r)}let o=Jr(e);return o?qr(o,{addSuffix:!0,locale:r}):String(e)}};function Qr(e,t,n){let r=t.split(":").map(s=>s.trim()).filter(s=>s.length>0);if(r.length===0)return;let[o,...i]=r,a=Ts[o];if(a)return a(e,i,n)}var oe={error:(...e)=>{An()&&!Tn()&&wt().error("[Luna Form]",...e)},warn:(...e)=>{An()&&!Tn()&&wt().warn("[Luna Form]",...e)},info:(...e)=>{An()&&!Tn()&&wt().info("[Luna Form]",...e)}},An=()=>typeof wt()<"u",Tn=()=>!0,wt=()=>globalThis.console;var Fs=/^\d+$/,ks=new Set(["__proto__","constructor","prototype"]);function Cs(e){return e.split(".").some(t=>ks.has(t))}function De(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function kn(e,t=[],n=q){return We(e)?{value:e}:Array.isArray(t)?t.find(r=>{let o=Cn(r,n);if(o!==void 0&&`${o}`==`${e}`)return r})??{value:e}:{value:e}}function Cn(e,t=q){if(e!=null){if(We(e)||J(e))return e;if(g(e)){let n=Ns(e,t);if(J(n))return n}}}function Ns(e,t){let n=$(e,t);if(J(n))return n}function eo(e,t){if(Array.isArray(e))return e;let n=$(e,t);return Array.isArray(n)?n:null}function $(e,t){if(!t||!g(e))return null;let n=t.split(".").filter(o=>o!=="");if(n.length===0)return null;let r=e;for(let o of n)if(g(r)&&De(r,o))r=r[o];else if(Array.isArray(r)){let i=Number(o);if(!Number.isInteger(i)||i<0||i>=r.length)return null;r=r[i]}else return null;return r}function Nn(e,t={description:Nr,label:Ir,value:q}){return e.map(n=>{if(g(n)){let r=$(n,t.label),o=$(n,t.value);if(J(r)&&J(o)){let i=$(n,t.description);return{label:`${r}`,value:`${o}`,...J(i)&&{description:`${i}`}}}}return n})}function to(e=Ke){let t=e.lastIndexOf("/"),n=t===-1?e:e.slice(t+1);return n&&n!==pt?n.trim().toLowerCase():Ke}function no(e){let t={};for(let n of e.keys()){let r=e.getAll(n);t[n]=r.length>1?r:r[0]}return t}function ro(e){let t={};for(let n of Object.keys(e)){if(Cs(n)){oe.warn(`A field name reaches a prototype and is not submitted: ${n}`);continue}let r=n.split(".");if(r.length===1){t[n]=e[n];continue}let o=t;for(let a=0;a<r.length-1;a++){let s=r[a],l=r[a+1],u=Fs.test(l);De(o,s)||(o[s]=u?[]:{}),o=o[s]}let i=r[r.length-1];o[i]=e[n]}return Fn(t),t}function Fn(e){for(let t of Object.keys(e)){let n=e[t];if(Array.isArray(n)){let r=n.filter(o=>o!==void 0);for(let o of r)g(o)&&Fn(o);e[t]=r}else g(n)&&Fn(n)}}var Is=/\[([^\]]{1,500})\]\(([^)]{1,2000})\)/g,Es=/{([^}]{1,200})}/,Ls=/{([^}]{1,200})}/g,Vs=/^{([^}|]{1,200})}$/;function ie(e,t={},n={}){if(b(e))return Os(e,t,n);if(Array.isArray(e))return e.map(r=>ie(r,t,n));if(g(e)){let r={};for(let o in e)r[o]=ie(e[o],t,n);return r}return e}function oo(e,t={},n={}){if(b(e)){let r=Ps(e,t);if(r!==void 0)return r}return ie(e,t,n)}function Xe(e,t={},n={}){return Ae(e)?ie(e,t,n):e}function Ae(e){return b(e)?Es.test(e):Array.isArray(e)?e.some(t=>Ae(t)):g(e)?Object.values(e).some(t=>Ae(t)):!1}function io(e,t){return t.includes(".")?$(e,t):e[t]}function Ps(e,t){let n=Vs.exec(e);if(!n)return;let r=n[1].trim();if(!r)return;let o=io(t,r);if(g(o)||Array.isArray(o))return o}function Os(e,t={},n={}){return e.replace(Ls,(r,o)=>{let i=String(o).split("|").map(c=>c.trim()),[a,...s]=i;if(!a)return r;let l=io(t,a);if(s.length===0)return J(l)?String(l):r;if(l==null)return r;let u=l;for(let c of s){let y=Qr(u,c,{locale:n.locale});if(y===void 0)return r;u=y}return String(u)})}function ao(e,t){if(!b(e)||!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=Is.exec(e))!==null;){let[a,s,l]=n,u=n.index;o=!0,u>r&&i.push(e.substring(r,u));let c=t?t(u,l,s):a;i.push(c),r=u+a.length}return o?(r<e.length&&i.push(e.substring(r)),i):e}function In(e=[],t){let n=[],r=[],o=[];for(let i of e)i.action===q&&n.push(i),i.action===Hr&&r.push(i),i.action===Gr&&o.push(i);t({sources:r,states:o,values:n})}function so(e=null,t=[],n){for(let r of t){let{target:o,source:i}=r;if(!e){n(o,void 0);continue}if(Zr(i)){let a=ie(i.url,e),s=i.body?ie(i.body,e):i.body;n(o,{...i,url:a,body:s})}}}var Te={eq:$s,gt:Us,gte:Ys,in:Hs,lt:Zs,lte:qs,neq:Bs,nin:Gs,contains:Ks,exists:uo,empty:Ws,truthy:Xs},Ds=/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2})?/,lo=/^(\d{2})[/-](\d{2})[/-](\d{4})(?: (\d{2}):(\d{2})(?::(\d{2}))?)?$/;function Ms(e){return typeof e=="string"&&Ds.test(e)}function zs(e){return typeof e=="string"&&lo.test(e)}function _s(e){let t=e.match(lo);if(t){let[,n,r,o,i,a,s]=t;return new Date(Number(o),Number(r)-1,Number(n),Number(i??0),Number(a??0),Number(s??0)).getTime()}return NaN}function me(e){return Ms(e)?new Date(e).getTime():zs(e)?_s(e):Number(e)}function $s(e,t){return e===t}function Bs(e,t){return e!==t}function Hs(e,t){return Array.isArray(t)&&t.includes(String(e))}function Gs(e,t){return Array.isArray(t)&&!t.includes(String(e))}function Us(e,t){return me(e)>me(t)}function Ys(e,t){return me(e)>=me(t)}function Zs(e,t){return me(e)<me(t)}function qs(e,t){return me(e)<=me(t)}function Ks(e,t){return typeof e=="string"?e.includes(String(t)):Array.isArray(e)?e.map(String).includes(String(t)):!1}function uo(e){return Array.isArray(e)?e.length>0:e!=null&&e!==""}function Ws(e){return!uo(e)}function Xs(e){return Array.isArray(e)?e.length>0:!!e}function Me(e,t){if(t===void 0)return!0;if(b(t)){let n=At(e,q);return Array.isArray(n)?n.length===1&&n[0]===t:n===t}if(Sn(t)){let n=At(e,q);return(Array.isArray(n)?n.length>0:!!n)===t}if(Array.isArray(t)){let n=At(e,q);return Array.isArray(n)?n.some(r=>t.includes(String(r))):t.includes(String(n))}return js(e,t)}function js(e=null,t){let n=At(e,t.field??q),{operator:r="eq",value:o}=t,i=Te[r];return i?i(n,o):!1}function At(e,t){return g(e)?$(e,t):e}function En(e=null,t=[],n){for(let r of t){let{target:o,state:i,when:a}=r,s=Array.isArray(o)?o:[o];if(!e){n(s);continue}let l=Me(e,a);n(s,l?i:void 0)}}function co(e=null,t=[],n){for(let r of t)for(let[o,i]of Object.entries(r.value))n(o,e?oo(i,e):void 0,{onlyIfTargetEmpty:r.onlyIfTargetEmpty??!1})}var je=e=>P(Rr)(e),mo=e=>P(Sr)(e),Tt=e=>P(wr)(e),Ft=e=>P(Tr)(e),fo=e=>P(Ar)(e),kt=e=>P(kr)(e),Ct=e=>P(Cr)(e),K=P(fr),ae=P(yr),U=P(hr),Q=P(Fr),se=P(xr),fe=P(pt),ee=P(vr),Ln=P(br),go=P(Ke,Rn,Lr,Vr),po=P(gr,Rn),Je=P(pr,Er);function Nt(e){return se(e)||U(e)}function te(e){return e.type===hn}function le(e){return e.type===qe}function It(e){return e.type!==qe&&e.type!==hn}function ze(e){return ee(e)||se(e)||Q(e)}function yo(e){return fe(e)||Ln(e)}function ge(e){return e.advanced?.keepValue===!0}function E(e){return e!=null&&e!==""}function P(...e){return t=>{let n=b(t.type)?t.type:void 0;return n?e.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function bo(e,t={}){if(ee(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&g(n))return[n]}}function xo(e){return se(e)||U(e)?!0:e.advanced?.horizontal}function ho(e){return U(e)?e.advanced?.reverse!==!1:!1}function vo(e,t){let n=e.readonly??!1;return t||n}function Ro(e,t){return!!e.readonly&&!t&&!e.disabled}function Et(e){let t=e.advanced?.step;if(typeof t=="number"&&Number.isFinite(t)&&t>0)return t}function Lt(e){if(Js(e)){let t=e.source;if(Array.isArray(t)||g(t)&&!(Oe in t))return t}}function So(e){return Array.isArray(Lt(e))}function Js(e){return se(e)||Q(e)||ee(e)&&!e.disabled}import{isValid as Vt,parse as Pt,format as Ot}from"date-fns";var Qs=/^\d+$/,Dt=new Date(2e3,0,1),el=()=>"supportedValuesOf"in Intl?Intl.supportedValuesOf("timeZone"):[],Vn="default";function To(e){if(!e)return Vn;try{return Intl.getCanonicalLocales(e)[0]??Vn}catch{return Vn}}function Pn(e){let t=To(e);return Array.from({length:12},(n,r)=>({value:(r+1).toString(),label:new Date(0,r).toLocaleString(t,{month:"long"})}))}function On(e){let t=To(e);return Array.from({length:7},(n,r)=>({value:r.toString(),label:new Date(2e3,0,2+r).toLocaleString(t,{weekday:"long"})}))}function Fo(e,t){return t>=e?Array.from({length:t-e+1},(n,r)=>{let o=e+r;return{value:o.toString(),label:o.toString()}}):[]}function Dn(){return new Date().getFullYear()}function tl(){return Intl.DateTimeFormat().resolvedOptions().timeZone}function nl(e){let t=e.indexOf("/"),n=t===-1?e:e.slice(0,t);return Yr[n]??"Other"}function rl(e,t){return(e.find(r=>r.type==="timeZoneName")?.value??t).replace(/\s+(?:Standard|Daylight(?: Saving)?|Summer|Winter)\s+Time$/,"")}function wo(e,t){let n=new Intl.DateTimeFormat("en",{timeZone:e,timeZoneName:"longOffset"}).formatToParts(t),r=new Intl.DateTimeFormat("en",{timeZone:e,timeZoneName:"long"}).formatToParts(t),i=(n.find(s=>s.type==="timeZoneName")?.value??"GMT+00:00").replace("GMT","UTC"),a=rl(r,e);return{offset:i,longName:a}}function Ao(e){return e.slice(e.lastIndexOf("/")+1).replace(/_/g," ")}function ko(){let e=new Date,t=tl(),n=new Map,r=Ao(t),{offset:o,longName:i}=wo(t,e),a={value:t,label:`${r} - ${i} (${o})`};for(let l of el()){if(l===t)continue;let u=Ao(l),{offset:c,longName:y}=wo(l,e),p={value:l,label:`${u} - ${y} (${c})`},A=nl(l);if(A==="Other")continue;let x=n.get(A);x?x.push(p):n.set(A,[p])}for(let l of n.values())l.sort((u,c)=>u.label.localeCompare(c.label));let s=Array.from(n.entries()).sort(([l],[u])=>l.localeCompare(u)).map(([l,u])=>({label:l,items:u}));return[{label:"Suggested",items:[a]},...s]}function Mn(e,t){if(typeof e=="number")return e;let n=t??Dn(),r=e.trim().toLowerCase();if(r.startsWith("current")){let o=r.match(/^current([+-])(\d+)$/);if(o){let[,i,a]=o,s=parseInt(a,10);if(!isNaN(s))return i==="+"?n+s:n-s}return n}return Qs.test(r)?parseInt(r,10):n}function Mt(e,t){if(!e)return"";try{let n=Pt(e,t,Dt);return Vt(n)?Ot(n,"yyyy-MM-dd"):""}catch{return""}}function Co(e,t){if(!e)return"";try{let n=Pt(e,t,Dt);return Vt(n)?Ot(n,"HH:mm:ss"):""}catch{return""}}function No(e,t="HH:mm"){if(!e)return"";try{let n=e.split(":").length===3?"HH:mm:ss":"HH:mm",r=Pt(e,n,Dt);return Vt(r)?Ot(r,t):""}catch{return""}}function zt(e,t="MMMM d, yyyy"){if(!e)return"";try{let n=Pt(e,"yyyy-MM-dd",Dt);return Vt(n)?Ot(n,t):""}catch{return""}}function Fe(e){return e.advanced?.format??"HH:mm"}function ue(e){return e.advanced?.format??"MMMM d, yyyy"}var ol={es:{"(Optional)":"(Opcional)","Add item":"A\xF1adir elemento","An unexpected error occurred submitting the form.":"Ocurri\xF3 un error inesperado al enviar el formulario.","Collapse {label} {index}":"Contraer {label} {index}","Expand {label} {index}":"Expandir {label} {index}","Please correct the errors and try again.":"Corrige los errores e int\xE9ntalo de nuevo.","Remove {label} item {index}":"Eliminar {label} {index}","There were validation errors submitting the form.":"Se encontraron errores de validaci\xF3n al enviar el formulario.","Unknown error":"Error desconocido",No:"No",Yes:"S\xED"}};function W(e,t){return N(e,t)}function Eo(e,t){let n=t?.[e??""],r=e?ol[il(e)]:void 0;return r?n?{...r,...n}:r:n}function il(e){return e.toLowerCase().split(/[-_]/)[0]}function N(e,t){return e?t?t[e]??e:e:""}function X(e,t){return e?N(e,t):void 0}function Qe(e,t){if(!t)return e;let n=!1,r=e.map(o=>{let i=al(o,t);return i!==o&&(n=!0),i});return n?r:e}function al(e,t){if(!g(e))return e;let n=Io(e.label,t),r=e.items;if(Array.isArray(r)){let i=Qe(r,t);return i===r&&n===e.label?e:{...e,...n!==void 0&&{label:n},items:i}}let o=Io(e.description,t);return n===e.label&&o===e.description?e:{...e,...n!==void 0&&{label:n},...o!==void 0&&{description:o}}}function Io(e,t){return b(e)?N(e,t):e}var _t=Dn();function Vo(e,t){if(Q(e))return sl(e,t?.lang)}function sl(e,t){if(kt(e))return On(t);if(Ct(e))return Pn(t)}function Po(e,t){if(ee(e))return ll(e,t)}function ll(e,t){let{lang:n,translations:r}=t??{};if(mo(e))return On(n);if(Tt(e))return Pn(n);if(Ft(e)){let o=e.advanced?.length?.min??_t,i=e.advanced?.length?.max??_t+5;return Fo(Mn(o,_t),Mn(i,_t))}if(fo(e))return ko();if(je(e))return Qe([{value:"true",label:"Yes"},{value:"false",label:"No"}],r)}function Oo(e,t=!1,n){let r={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return fe(e)?{...r,...ul(e)}:ee(e)?{...r,...Do(Po(e,n))}:Ln(e)?{...r,...ml(e)}:Q(e)?{...r,...dl(e,n)}:r}function ul(e){let t=to(e.type),n={...e,type:t};return{...gl(e),...Mo(e),...fl(n),...cl(n),...go(n)?zo(n):{},type:t}}function cl(e){let t=Et(e);return Je(e)&&t!==void 0?{step:t}:{}}function Do(e){return e?{options:e}:{}}function dl(e,t){let n=Do(Vo(e,t)),r=e.advanced?.multiple??!0;return{...n,multiple:r}}function ml(e){return{...Mo(e),...zo(e)}}function Mo(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function fl(e){return Je(e)?pl(e):{}}function gl(e){if(ae(e)){let t=Fe(e);return{step:t==="HH:mm:ss"||t==="hh:mm:ss a"?"1":"60"}}return{}}function zo(e){return _o(e,{min:Br,max:$r})}function pl(e){return _o(e,{min:xt,max:bt})}function _o(e,t){let n={},r=e.advanced?.length;return r&&(r.min!==void 0&&(n[t.min]=r.min),r.max!==void 0&&(n[t.max]=r.max)),n}function $o(e,t){let n=Lt(e);return n||bo(e,t)}function yl(e,t){let n=g(t)&&e.name in t?t[e.name]:t,r=Cn(n,e.advanced?.entity),o=E(r)?r:e.defaultValue;return ae(e)&&E(o)?bl(e,o):K(e)&&E(o)?Rl(e,o):o}function bl(e,t){let n=Fe(e);return b(t)?Co(t,n):t}function xl(e,t,n){return ze(e)&&Array.isArray(n)?{...t,[yt]:n}:t}function hl(e,t,n){if(e.required&&!E(n)&&ee(e)&&e.advanced?.preselected!==!1&&yt in t){let r=t[yt];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function vl(e,t,n){if(ze(e)&&Array.isArray(t)){let r=Nn(t,e.advanced?.options);return So(e)?Qe(r,n):r}return t}function Bo(e,t,n,r,o){let i=yl(e,r),a=Array.isArray(n)?vl(e,n,o):n,s=xl(e,t,a),l=hl(e,s,i);return{commonPropsWithOptions:s,defaultValue:l}}function Ho(e,t){return U(e)?{checked:!!t}:Q(e)?{value:Array.isArray(t)?t:[]}:K(e)&&b(t)&&E(t)?{value:zt(t,ue(e))}:je(e)?{value:E(t)?String(t):""}:{value:t??""}}function Rl(e,t){let n=ue(e);return b(t)?Mt(t,n):t}function Go(e,t){let n=e??t;return n?{"data-format":n}:{}}function Lo(e){let t=[];for(let n of e){if(typeof n=="string"){t.push(n);continue}g(n)&&"value"in n&&"label"in n&&b(n.value)&&b(n.label)&&t.push({label:n.label,value:n.value})}return t}function Uo(e,t){if(!ze(e))return;let n=Q(e)?Vo(e,t):Po(e,t);if(Array.isArray(n)){let o=Lo(n);return o.length>0?o:void 0}let r=Lt(e);if(Array.isArray(r)){let o=Nn(r,e.advanced?.options),i=Lo(Qe(o,t?.translations));return i.length>0?i:void 0}}function Yo(e,t){let n=String(e);for(let r of t)if(typeof r=="string"){if(r===n)return r}else if(r.value===n)return r.label;return n}var Sl=/^#\/definition\//;function Bt(e=[],t){let n=$t(e,t);return Array.isArray(n)?n.filter(Al).sort((r,o)=>Zo(r)-Zo(o)):[]}function $t(e,t,n=new Map,r=new WeakSet){if(!wl(t)||!e||typeof e!="object")return e;if(n.has(e))return n.get(e);if(r.has(e))return e;if(r.add(e),Array.isArray(e))return e.map(i=>$t(i,t,n,r));if(Oe in e&&b(e[Oe])){let i=e[Oe].replace(Sl,""),a=$(t,i);return a!==null?$t(a,t,n,r):e}let o={};for(let[i,a]of Object.entries(e))o[i]=$t(a,t,n,r);return r.delete(e),n.set(e,o),o}function qo(e){return Object.entries(e??{})}function Zo(e){return e.order??Number.MAX_VALUE}function wl(e){return e!==void 0&&g(e)&&Object.keys(e).length>0}function Al(e){return Ur in e?!0:Array.isArray(e[vn])?e[vn].length>0:!0}function Ko(e,t){let n={};for(let[r,o]of qo(t))n[`${e}-${r}`]=o;return n}function Tl(e){return Ko(zr,e)}function Fl(e){return Ko(_r,e)}function Wo(e,t){let n=Tl(e.advanced?.aria);return t&&t.length>0&&(n[Or]="true",n[Pr]=`${e.name}-error`),n}function Xo(e){return Fl(e.advanced?.data)}var jo={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},Jo={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function Qo(e,t=2){return jo[e&&e in jo?e:t]}function ei(e){if(e&&e in Jo)return Jo[e]}function zn(e){return{min:e.advanced?.length?.min??1,max:e.advanced?.length?.max??1/0}}function Ht(e){let t=[];for(let n of e)if(le(n))for(let r of n.fields)t.push(r);else t.push(n);return t}function kl(e,t){let n=t?$(t,e.name):null;return ii(e,Array.isArray(n)?n.length:0)}function ti(e){return!Array.isArray(e.fields)||e.fields.length===0?!1:e.fields.length>1||e.fields[0].type===qe}function ni(e,t){let n=kl(e,t);return Array.from({length:n},(r,o)=>o)}function ri(e){return e.advanced?.title??e.label??e.name}function oi(e){let t={};for(let n of Ht(e))te(n)||(t[n.name]=n);return t}function ii(e,t){let{min:n,max:r}=zn(e);return Math.min(Math.max(t,n),r)}function _n(e,t){let n=Ht(e.fields),r=ii(e,t.length),o=[];for(let i=0;i<r;i++){let a=t[i],s={};for(let l of n){let u=a?.[l.name];s[l.name]=te(l)?_n(l,vt(u)?u:[]):u}o.push(s)}return o}function Gt(e,t){if(!e.includes("/"))return e;let[n,r]=e.split("/"),o=new RegExp(`(^|.*\\.)(${n}\\.\\d+\\.)`),i=t.match(o);return i?`${i[0]}${r}`:r}import{z as I}from"zod";var Cl=[[U,ai],[po,Nl],[Je,Ll],[se,Il],[je,ai],[Tt,Pl],[Ft,Vl],[Q,Bn],[kt,Bn],[Ct,Bn]];function ci(e,t=[],n){let r=I.object(e);if(t.length===0)return r;let o=$l(r,t,n);return Gl(o,t,n)}function di(e){let t={},n=I.flattenError(e).fieldErrors;for(let[r,o]of Object.entries(n))o!==void 0&&(t[r]=o);return t}function mi(e,t){for(let[n,r]of Cl)if(n(e))return r(e,t);return El(e,t)}function Yt(e){return e.nullable().optional()}function Nl(e,t){let n=I.string().trim();if(e.required){let r=pe(e,t),o=n.min(1,r).pipe(li(e,t));return I.preprocess(i=>B(i)?"":i,o)}return Yt(n.pipe(li(e,t)).or(I.literal("")))}function ai(e,t){let n=I.preprocess(r=>{if(typeof r=="string"){if(r==="true")return!0;if(r==="false")return!1}return r},I.coerce.boolean());return e.required?(U(e)?n=n.refine(r=>r===!0,{message:pe(e,t)}):n=n.refine(r=>typeof r=="boolean",{message:pe(e,t)}),I.preprocess(r=>r===null?!1:r,n)):n.nullable()}function Il(e,t){let n=I.coerce.string();return e.required?(n=n.min(1,pe(e,t)),I.preprocess(r=>B(r)?"":r,n)):Yt(n.or(I.literal("")))}function El(e,t){let n=I.coerce.string().trim();return n=fi(n,e,t),e.required?(n=Ml(n,e,t),I.preprocess(r=>B(r)?"":r,n)):Yt(n)}function Ll(e,t){let n=fi(I.coerce.number(),e,t);return Hn(Ol(n,e,t),e,t)}function Vl(e,t){return Hn(I.coerce.number().int(),e,t)}function Pl(e,t){let n=pe(e,t),r=I.coerce.number().int().min(1,n).max(12,n);return Hn(r,e,t)}function si(e){return e===null||e===""?void 0:e}function Hn(e,t,n){if(!t.required)return I.preprocess(si,Yt(e));let r=pe(t,n);return I.preprocess(si,I.unknown().refine(o=>o!==void 0,{message:r}).pipe(e))}function Ol(e,t,n){let r=X(t.validation?.step,n),o=Et(t);if(o===void 0)return e.int(r);let i=t.advanced?.length?.min??0;return e.refine(a=>Dl(a,o,i),{message:r??(i===0?`Invalid number: must be a multiple of ${o}`:`Invalid number: must be ${i} plus a multiple of ${o}`)})}function Dl(e,t,n){let r=10**Math.max($n(e),$n(t),$n(n));return Math.round((e-n)*r)%Math.round(t*r)===0}function $n(e){let[t,n="0"]=String(e).split("e"),r=t.split(".")[1]?.length??0;return Math.max(0,r-Number(n))}function li(e,t){let n=e.validation?.email?N(e.validation?.email,t):void 0;return I.email(n)}function fi(e,t,n){return e=zl(e,t,n),e=_l(e,t,n),e}function Ml(e,t,n){let r=t.advanced?.length?.min;return r===void 0||r<1?e.min(1,pe(t,n)):e}var zl=(e,t,n)=>gi(e,t,xt,n),_l=(e,t,n)=>gi(e,t,bt,n);function gi(e,t,n,r){let o=t.advanced?.length?.[n];if(o!==void 0){let i=t.validation?.length?.[n]?N(t.validation?.length?.[n],r):void 0;return e[n](o,i)}return e}function $l(e,t=[],n){let r=Hl(t);return r.length===0?e:e.superRefine((o,i)=>{for(let{name:a,rule:s}of r)if(!Bl(o,a,s)){let l=N(s.message,n);i.addIssue({code:"custom",message:l,path:[a]})}})}function Bl(e,t,n){let r=n.operator??"eq",o=Te[r];return o?o(Ut(e,t),Ut(e,n.field)):!1}function Hl(e){let t=[];for(let n of e){let r=n.validation?.custom;if(!r)continue;let o=Array.isArray(r)?r:[r];for(let i of o)t.push({name:n.name,rule:i})}return t}function pi(e,t,n,r){let o=[],i=Array.isArray(t)?t:[t];for(let a of i){let s=a.operator??"eq",l=Te[s];if(l&&!l(e,n(a.field))&&a.message){let u=N(a.message,r);o.push(u)}}return o}function pe(e,t){return e.validation?.required?N(e.validation?.required,t):void 0}function Bn(e,t){let n=I.array(I.string());return e.required&&(n=n.min(1,pe(e,t))),I.preprocess(r=>B(r)?[]:Array.isArray(r)?r.map(String):[String(r)],n)}function Gl(e,t=[],n){let r=t.filter(Ul);return r.length===0?e:e.superRefine((o,i)=>{let a=g(o)?o:{};for(let s of r)for(let l of Yl(a,s,n))i.addIssue({code:"custom",path:l.path,message:l.message})})}function Ul(e){let t=e.validation;return t!==void 0&&(t.requiredWhen!==void 0||t.pattern!==void 0||t.rules!==void 0)}function Yl(e,t,n){let r=[],o=Ut(e,t.name),i=t.validation?.requiredWhen;if(i){let l=(Array.isArray(i)?i:[i]).find(u=>et(e,u));l&&!Gn(o)&&r.push({path:[t.name],message:X(l.message??t.validation?.required,n)})}let a=t.validation?.pattern;a&&!yi(a,o)&&r.push({path:[t.name],message:X(a.message,n)});for(let s of t.validation?.rules??[])Zl(e,s.when)&&!ql(s,o)&&r.push({path:[t.name],message:X(s.message,n)});return r}function et(e,t){let n=Te[t.operator??"eq"];return n?n(Ut(e,t.field),t.value):!1}function Ut(e,t){return t in e?e[t]:$(e,t)??void 0}function Zl(e,t){if(!t)return!0;if(Array.isArray(t))return t.every(o=>et(e,o));if("field"in t)return et(e,t);let n=t.all?t.all.every(o=>et(e,o)):!0,r=t.any?t.any.some(o=>et(e,o)):!0;return n&&r}function ql(e,t){switch(e.assert){case"required":return Gn(t);case"minItems":return Array.isArray(t)&&t.length>=Number(e.value);case"maxItems":return Array.isArray(t)&&t.length<=Number(e.value);case"min":return ui(t)>=Number(e.value);case"max":return ui(t)<=Number(e.value);case"oneOf":return Array.isArray(e.value)&&e.value.map(String).includes(String(t));case"pattern":return Xl(e.value)?yi(e.value,t):!0;default:return!0}}function yi(e,t){if(!Gn(t)||typeof t!="string"||e.allowInterpolation&&(Ae(t)||Wl(t)))return!0;let n=Kl(e);return n!==null&&n.test(t)}function Kl({regex:e,flags:t}){try{return new RegExp(e,t)}catch(n){return oe.error(`A validation pattern does not compile, so it holds back every value: /${e}/${t??""}`,n),null}}function Wl(e){return b(e)&&e.trimStart().startsWith("@")}function Gn(e){return b(e)?e.trim().length>0:Te.exists(e,void 0)}function ui(e){return typeof e=="number"?e:b(e)||Array.isArray(e)?e.length:0}function Xl(e){return g(e)&&"regex"in e}function bi(e,t){if(!t||!Jl(e))return!0;if(t.length===0)return!1;try{let n=new URL(e),r=n.protocol.replace(":",""),o=n.hostname,i=n.port||jl(r);return t.some(a=>!(a.protocol&&a.protocol!==r||a.hostname&&a.hostname!==o||a.port!==void 0&&String(a.port)!==i))}catch{return!1}}function jl(e){return e==="https"?"443":"80"}function Jl(e){return/^(https?:)?\/\//.test(e)}function xi(e,t){try{if(!e)return t;if(!t)return e;let n=new URL(e,ht);new URL(t,ht).searchParams.forEach((i,a)=>{n.searchParams.set(a,i)});let o=n.toString();return e.startsWith("/")||!e.includes("://")?o.replace(ht,""):o}catch{return t||e}}function hi(e){return!Array.isArray(e)||e.length===0?null:e.reduce((t,n)=>{let r=xi(t.url,n.url),o=Ql(t,n),i=eu(t,n);return{...t,...n,url:r,body:o,headers:i}})}function Ql(e,t){return g(t.body)&&g(e?.body)?{...e.body,...t.body}:t.body??e?.body}function eu(e,t){return g(t.headers)&&g(e?.headers)?{...e.headers,...t.headers}:t.headers??e?.headers}function Zt(e,t){let n={...e};for(let r of Object.keys(t??{})){let o=t?.[r];o!==void 0&&(n[r]=o)}return n}var tu={uppercase:e=>e.toUpperCase(),lowercase:e=>e.toLowerCase(),"remove-space":e=>e.replace(/\s+/g,""),"remove-accent":e=>e.normalize("NFD").replace(/[\u0300-\u036f]/g,"")};function tt(e,t){return!t||!b(e)||B(e)?e:(Array.isArray(t)?t:[t]).reduce((r,o)=>{let i=tu[o];return i?i(r):r},e)}import{jsx as nu}from"react/jsx-runtime";function ce(e){return ao(e,(t,n,r)=>nu("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${t}`))}import{useCallback as vi,useState as ru}from"react";function _e(e=!1){let[t,n]=ru(e),r=vi(()=>n(i=>!i),[]),o=vi(()=>n(!0),[]);return[t,r,o]}import{jsx as nt,jsxs as Un}from"react/jsx-runtime";function Ri(e){let{fields:t=[]}=e.section,[n,r,o]=_e();return Un("fieldset",{"data-slot":"field-set","data-advanced":"true","data-expanded":n,"data-empty":t.length===0,className:"flex flex-col",id:e.section.id?.toString(),children:[nt("legend",{children:Un("button",{className:"flex cursor-pointer items-center gap-2 text-base font-medium text-zinc-600 dark:text-zinc-400",onClick:r,type:"button",children:[nt(Ve,{expanded:n}),nt("span",{children:ce(e.title)})]})}),nt(Ze,{onReveal:o,visible:n,children:Un("div",{className:"mt-3 ml-1.5 flex flex-col gap-4 border-l-2 border-zinc-300 pl-4 dark:border-zinc-600","data-slot":"field-set-content",children:[e.description&&nt("p",{className:"text-sm leading-normal font-normal text-zinc-600 dark:text-zinc-400",children:ce(e.description)}),e.group]})})]})}import{jsx as qt,jsxs as Si}from"react/jsx-runtime";function wi(e){let t=Si("div",{className:"flex flex-col",children:[e.title&&qt("legend",{className:"mb-3 font-medium text-zinc-800 dark:text-zinc-200",children:ce(e.title)}),e.description&&qt("p",{className:"-mt-2 text-sm leading-normal font-normal text-zinc-600 dark:text-zinc-400",children:ce(e.description)})]});return e.step?Si("div",{className:"flex flex-row items-start gap-4",children:[qt("div",{className:"bg-primary text-primary-foreground flex size-6 shrink-0 items-center justify-center rounded-full",children:qt("span",{className:"text-sm font-bold",children:e.step})}),t]}):t}import{jsx as Ai,jsxs as ou}from"react/jsx-runtime";function Kt(e){return ou("fieldset",{className:"flex w-full min-w-0 flex-col data-[empty=false]:gap-6","data-empty":e.empty,"data-slot":"field-set",id:e.id,children:[Ai(wi,{description:e.description,step:e.step,title:e.title}),Ai("div",{className:"w-full min-w-0",children:e.children})]})}import{jsx as iu}from"react/jsx-runtime";function ye(e){return iu("div",{"data-slot":"field-group","data-compact":e.compact,className:"flex w-full flex-col gap-8 data-[compact=true]:gap-3",children:e.children})}import{jsx as Yn}from"react/jsx-runtime";function Ti(e){let{fields:t=[]}=e.section,n=e.advanced?.step?e.step:void 0,{compact:r}=Zt(e.style,{compact:e.section.advanced?.compact}),o=Yn(ye,{compact:r,children:e.children});if(!e.section.title&&!e.section.description)return o;let i=X(e.section.title,e.translations),a=X(e.section.description,e.translations);return e.section.advanced?.collapsible?Yn(Ri,{description:a,group:o,section:e.section,title:i}):Yn(Kt,{description:a,empty:t.length===0,id:e.section.id?.toString(),step:n,title:i,children:o})}import{jsx as Fi}from"react/jsx-runtime";function ki(){return Fi("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:Fi("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-zinc-200 dark:bg-zinc-800"})})}import{useAtomValue as cu}from"jotai";import{atom as be}from"jotai";import{atomFamily as Ci}from"jotai-family";import{deepEqual as Zn}from"fast-equals";function rt(e,t){let{[t]:n,...r}=e;return r}function au(e){return Ci(t=>be(n=>n(e)[t]??void 0,(n,r,o)=>{let i=n(e);if(o!=null){let a=i[t];Zn(a,o)||r(e,{...i,[t]:o})}else t in i&&r(e,rt(i,t))}))}function su(e){return be(null,(t,n)=>{let r=t(e);r&&Object.keys(r).length>0&&n(e,{})})}function lu(e){return be(null,(t,n,r)=>{let i={...t(e)},a=!1;for(let s of r)s in i&&(delete i[s],a=!0);a&&n(e,i)})}function Ni(e){return be(null,(t,n,r)=>{for(let o of r)e.remove(o)})}function uu(e){return be(null,(t,n,r)=>{let o=t(e);Zn(o,r)||n(e,r)})}function Ii(e,t={}){let{merge:n,validateTarget:r}=t;return Ci(o=>be(i=>{let a=i(e)[o];if(a&&n)return n(Object.values(a))},(i,a,s,l)=>{if(r&&!r(s))return;let u=i(e),c={...u[s]??{}};if(l!=null){let y=c[o];(!y||!Zn(y,l))&&(c[o]=l,a(e,{...u,[s]:c}))}else o in c&&(delete c[o],Object.keys(c).length===0?a(e,rt(u,s)):a(e,{...u,[s]:c}))}))}function Ei(e){return Ni(e)}function Li(e){return be(null,(t,n,r)=>{let i={...t(e)},a=!1;for(let s of r)s in i&&(delete i[s],a=!0);for(let s in i){let l={...i[s]},u=!1;for(let c of r)c in l&&(delete l[c],u=!0,a=!0);u&&(Object.keys(l).length===0?delete i[s]:i[s]=l)}a&&n(e,i)})}function de(e={}){let t=be(e),n=au(t);return{atom:t,clearAll:su(t),clear:lu(t),bulkReport:uu(t),release:Ni(n),report:n}}var qn=de(),Wt=qn.atom,Vi=qn.release,Xt=qn.report;function du(e,t){return e.fields.every(n=>Pi(n,t))}function Pi(e,t){return t[e.name]?.hidden??e.hidden??!1}function mu(e,t){return le(e)?du(e,t):Pi(e,t)}function jt(e){let t=cu(Wt);return e.container&&(t[e.container.name]?.hidden??e.container.hidden??!1)||e.fields.length===0||e.fields.every(r=>mu(r,t))?null:e.children}import{jsx as ot,jsxs as Oi}from"react/jsx-runtime";function Di(e){let t=Bt(e.sections,e.definition);return ot("div",{className:"h-full w-full",children:ot("form",{noValidate:e.noValidate,action:e.action,onSubmit:e.onSubmit,children:Oi(ye,{children:[t.map((n,r)=>Oi(jt,{fields:n.fields??[],children:[ot(Ti,{advanced:e.advanced,section:n,step:r+1,style:e.config.style,translations:e.translations,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.advanced?.separator&&ot(ki,{})]},`key-${n.id}-${r}`)),e.control&&ot(dr,{isPending:e.isPending,children:e.control})]})})})}import{jsx as fu}from"react/jsx-runtime";function Mi(e){return fu("p",{className:"-mt-2 text-xs leading-normal font-normal text-zinc-600 dark:text-zinc-400 [[data-slot=column]_&]:md:line-clamp-2",title:e.title,children:e.children})}import{jsx as zi,jsxs as _i}from"react/jsx-runtime";function Jt(e){let t={context:e.context,env:e.config?.env,value:e.value},r={locale:e.config?.env?.locale},[o,i]=_e(()=>g(e.text)&&"collapsed"in e.text?!e.text.collapsed:!0),a=g(e.text)&&b(e.text.title)?ce(N(Xe(e.text.title,t,r),e.translations)):void 0,s=N(Xe(b(e.text)?e.text:e.text?.message,t,r),e.translations),l=ce(s);return l?_i("div",{className:"flex flex-col gap-2",children:[a&&_i("button",{className:"flex items-center gap-1 text-left text-xs font-medium text-zinc-700 hover:text-zinc-900 dark:text-zinc-300 dark:hover:text-zinc-100",onClick:i,type:"button",children:[a,zi(Ve,{expanded:o})]}),o&&zi(Mi,{title:s,children:l})]}):null}import{atom as $i}from"jotai";var it=de(),H=it.atom,Bi=it.clearAll,Hi=it.clear,Gi=it.release,xe=it.report,Kn=$i({}),Wn=$i(null);import{useAtomValue as Ui}from"jotai";import{jsx as gu}from"react/jsx-runtime";function Qt(e){let t=Ui(xe(e.field.name)),r=Ui(Xt(e.field.name))?.description??e.field.description;return gu(Jt,{config:e.config,context:e.context,text:r,translations:e.translations,value:t})}import{twMerge as pu}from"tailwind-merge";import{jsx as Yi,jsxs as yu}from"react/jsx-runtime";function Zi(e){let t=e.style?.showOptionalLabel??!0,n=se(e.field)||U(e.field);return yu("label",{"data-slot":"field-label","data-normal":n,className:pu("flex w-fit items-center text-sm leading-snug font-medium select-none","data-[normal=true]:font-normal [[data-slot=column]_&]:md:w-full","group-data-[readonly=true]:cursor-not-allowed group-data-[readonly=true]:opacity-50"),htmlFor:e.field.name,title:b(e.children)?e.children:void 0,children:[Yi("span",{className:"[[data-slot=column]_&]:md:truncate",children:e.children}),t&&!e.field.required&&Yi("span",{className:"ml-2 flex-shrink-0 text-sm text-zinc-600 dark:text-zinc-400",children:W("(Optional)",e.translations)})]})}import{jsx as qi,jsxs as bu}from"react/jsx-runtime";function Ki(e){let t={context:e.context,env:e.config?.env},n=e.config?.env?.locale,r=Xe(e.field.label,t,{locale:n});return bu("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[qi(Zi,{field:e.field,style:e.config?.style,translations:e.translations,children:N(r,e.translations)}),e.horizontal===!0&&qi(Qt,{config:e.config,context:e.context,field:e.field,translations:e.translations})]})}import{Fragment as xu,jsx as Wi,jsxs as hu}from"react/jsx-runtime";function Xi(e){return hu(xu,{children:[e.field.name&&e.field.label&&Wi(Ki,{config:e.config,context:e.context,field:e.field,horizontal:e.horizontal,translations:e.translations}),e.children,e.horizontal===!1&&Wi(Qt,{config:e.config,context:e.context,field:e.field,translations:e.translations})]})}function en(e,t){return e?t(e):null}import{useCallback as Hu,useEffect as Gu,useRef as Uu}from"react";import{atom as ji}from"jotai";import{atomFamily as vu}from"jotai-family";var at={found:!1,value:void 0};function st(e,t){if(!Array.isArray(t)&&De(t,e))return{found:!0,value:t[e]};if(!e.includes("."))return at;let n=e.split("."),r=t;for(let o of n){if(r==null)return at;if(Array.isArray(r)){let i=Number(o);if(!Number.isInteger(i)||!De(r,o))return at;r=r[i]}else if(g(r)){if(!De(r,o))return at;r=r[o]}else return at}return{found:!0,value:r}}function ne(e,t){return st(e,t).value}var Ji=ji(null),Qi=Ji,Xn=Symbol("host-value-missing");function jn(e){return e===Xn?{found:!1,value:void 0}:{found:!0,value:e}}var Jn=vu(e=>ji(t=>{let n=t(Ji);if(!n)return Xn;let r=st(e,n);return r.found?r.value:Xn}));import{createContext as Ru}from"react";var Su=e=>e,he=Ru(Su);import{use as wu,useCallback as Au}from"react";import{useAtomValue as Tu,useStore as Fu}from"jotai";function ea(e){return wu(he)(e)}function tn(e){let t=ea(e);return jn(Tu(Jn(t)))}function ta(e){let t=ea(e),n=Fu();return Au(()=>jn(n.get(Jn(t))),[n,t])}var nn=de(),na=nn.clear,ra=nn.release,oa=nn.bulkReport,rn=nn.report;var ia=de(),on=ia.atom,aa=ia.report,sa=de(),lt=sa.atom,la=sa.report;import{use as Vu,useCallback as ma,useRef as ut,useTransition as Pu}from"react";import{use as ku,useEffect as ua,useEffectEvent as Cu,useMemo as Nu}from"react";function ca(e,t,n,r){let{name:o}=e,i=Nu(()=>mi(e,r),[e,r]),s=ku(Pe)||ge(e);ua(()=>{o&&t(o,i,e)},[o,i,e,t]);let l=Cu(u=>{u&&n(u,{keepValue:s})});return ua(()=>()=>{l(o)},[o]),i}import{useSetAtom as $e,useStore as Ou}from"jotai";import{useCallback as Iu,useEffect as Eu,useRef as Lu}from"react";function da(){let e=Lu(null);return Eu(()=>()=>{e.current&&clearTimeout(e.current)},[]),Iu((n,r)=>{e.current&&(clearTimeout(e.current),e.current=null),e.current=setTimeout(n,r)},[])}function Du(e){return document.activeElement?.getAttribute("name")===e}function fa(e,t){let n=Ou(),r=e.field.advanced?.entity,o=da(),[,i]=Pu(),a=Vu(he),{setValue:s,value:l,setSource:u}=t,c=ut(l);c.current=l;let y=ut(e.translations);y.current=e.translations;let p=Nt(e.field),A=$e(H),x=$e(Wt),S=$e(rn(e.field.name)),T=$e(Kn),k=$e(Wn),L=$e(on),G=ca(e.field,e.onRegister,e.onUnmount,e.translations),V=N(e.commonProps.placeholder,e.translations),D={...e.commonProps,placeholder:V};function M(d){let f=e.getField(d);return f?{hidden:f.hidden,keepValue:ge(f)}:n.get(lt)[d]}function Z(d){let f=e.getField(d);if(f&&fe(f)){let m=f.advanced?.transform;if(m)return m}}function z(d,f){if(!e.onValueChange)return;let m=e.getField(d);m&&e.onValueChange({name:a(d),type:m.type,value:f})}function _(d,f){A(m=>({...m,[d]:f})),T(m=>({...m,[d]:f})),z(d,f)}function Ne(d){let f=n.get(H),m=Object.keys(f).filter(v=>d.some(F=>v===F||v.startsWith(`${F}.`)));if(m.length===0||(A(v=>m.reduce((F,w)=>rt(F,w),v)),!e.onValueChange))return m;for(let v of m)z(v,void 0);return m}function re(d,f,m,v){let F=f.map(C=>Gt(C,d));x(C=>m?F.reduce((j,O)=>({...j,[O]:m}),C):F.reduce((j,O)=>rt(j,O),C));let w=F.filter(C=>{if(m!==void 0&&m.hidden!==!0)return!1;let j=M(C);return j?.keepValue===!0?!1:m?.hidden===!0||j?.hidden===!0});w.length>0&&Re(Ne(w),v)}function Re(d,f){for(let m of d){if(f.has(m))continue;f.add(m);let v=e.getField(m)?.event?.change;v&&In(v,({states:F})=>{En(null,F,(w,C)=>{re(m,w,C,f)})})}}let Ie=ut(null);Ie.current=d=>{if(e.field.advanced?.transient)return;let f=fe(e.field)?tt(d,e.field.advanced?.transform):d;s(f),e.onValueChange&&e.onValueChange({name:a(e.field.name),type:e.field.type,value:f})};let Se=ut(null);Se.current=d=>{let f=e.field.event?.change;f&&In(f,({sources:m,states:v,values:F})=>{i(()=>{so(d,m,(w,C)=>{u(Gt(w,e.field.name),C)}),En(d,v,(w,C)=>{re(e.field.name,w,C,new Set([e.field.name]))})}),co(d,F,(w,C,j)=>{let O=Gt(w,e.field.name);if(n.get(lt)[O]){vt(C)&&L(bn=>({...bn,[O]:C}));return}let Ee=Z(O),Le=Ee?tt(C,Ee):C,yn=n.get(H)[O];if(j.onlyIfTargetEmpty&&!B(yn)){let bn=n.get(Kn)[O];if(!Object.is(bn,yn))return}if(Le!==yn){if(Du(O)){k({target:O,value:Le});return}_(O,Le)}})})};let we=ma(d=>{let m=G.safeParse(d).error?.issues.map(w=>w.message)??[],v=e.field.validation?.custom,F=v?pi(d,v,w=>n.get(xe(w)),y.current):[];S([...m,...F])},[e.field.validation?.custom,G,S,n]),h=ut(null);h.current=()=>{let d=n.get(Wn);d?.target===e.field.name&&(k(null),B(n.get(H)[d.target])&&_(d.target,d.value))};let R=ma(d=>{if(!p){let f=d.target.value;e.config.validation.blur&&we(f)}h.current?.()},[p,e.config.validation.blur,we]);return{applyChangeEventsRef:Se,commonProps:D,entity:r,hasClickable:p,onBlur:R,onValueChangeRef:Ie,setTimeoutRef:o,validated:we,valueRef:c}}import{deepEqual as Mu}from"fast-equals";import{useAtom as zu}from"jotai";import{useCallback as _u,useEffect as $u,useRef as Bu,useEffectEvent as ga}from"react";function pa(e){let{name:t}=e,n=Bu(!1),[r,o]=zu(xe(t)),{found:i,value:a}=tn(t),s=ga((c,y=!1)=>{let p=fe(e)?tt(c,e.advanced?.transform):c;!y&&!Mu(r,p)&&(n.current=!0),o(p)}),l=ga((c,y)=>{if(E(y)){s(y);return}if(E(e.defaultValue)){s(e.defaultValue,!0);return}c&&s(y)});$u(()=>{l(i,a)},[i,a,e.defaultValue]);let u=_u(()=>n.current?(n.current=!1,!0):!1,[]);return{setValue:o,shouldSkipOnChange:u,value:r}}import{Fragment as Zu,jsx as Be,jsxs as qu}from"react/jsx-runtime";function ya(e){let{useSource:t,useExtraProps:n,getValue:r,shouldSkipChange:o,dispatchChange:i,buildInitialSelected:a,isInitialReady:s}=e.strategies,{setValue:l,shouldSkipOnChange:u,value:c}=pa(e.field),{data:y,setSource:p,isStaticSource:A}=t(e.field,e.config,c),{applyChangeEventsRef:x,commonProps:S,entity:T,hasClickable:k,onBlur:L,onValueChangeRef:G,setTimeoutRef:V,validated:D,valueRef:M}=fa(e,{setValue:l,value:c,setSource:p}),{getField:Z}=e,z=n?.(e.field),_=Uu(!1),{found:Ne}=tn(e.field.name),re=ta(e.field.name),{commonPropsWithOptions:Re,defaultValue:Ie}=Bo(e.field,S,y,c,A?e.translations:void 0),Se=Ho(e.field,Ie);Gu(()=>{_.current||queueMicrotask(()=>{if(_.current)return;let{found:R,value:d}=re();if(!(R||E(e.field.defaultValue)))return;if(!e.field.event?.change){_.current=!0;return}let m=R?d:void 0,v=E(m)?m:e.field.defaultValue;E(v)&&s(e.field,v,y)&&(_.current=!0,Z(e.field.name)&&x.current?.(a(v,y,T)))})},[x,a,y,T,Z,Ne,s,e.field,re]);let we=Hu(R=>{let d=r(R,e.field);o({field:e.field,shouldSkipOnChange:u,hasClickable:k,inputValue:d,valueRef:M})||(G.current?.(d),e.config.validation.change&&D(d),e.field.event?.change&&i({applyChangeEventsRef:x,data:y,entity:T,inputValue:d,setTimeoutRef:V}))},[x,y,i,T,r,k,G,e.config.validation.change,e.field,V,o,u,D,M]),h=e.readOnly?{...Re,name:void 0}:Re;return en(e.config.inputs[e.field.type],R=>qu(Zu,{children:[Be(Xi,{config:e.config,context:e.context,field:e.field,horizontal:e.horizontal,translations:e.translations,children:Be(R,{...h,...e.ariaAttributes,...e.dataAttributes,...z,...Se,onBlur:L,onChange:we})}),e.readOnly&&Be(Yu,{name:e.field.name,...Se})]}))}function Yu(e){return e.checked!==void 0?Be("input",{name:e.name,type:"hidden",value:String(e.checked)}):Array.isArray(e.value)?e.value.map((t,n)=>Be("input",{name:e.name,type:"hidden",value:String(t)},n)):Be("input",{name:e.name,type:"hidden",value:e.value==null?"":String(e.value)})}import{jsx as Ku}from"react/jsx-runtime";function He(e){return function(n){return Ku(ya,{...n,strategies:e})}}function ba(e){let t=K(e)?ue(e):null,n=ae(e)?Fe(e):null;return{dateFormat:t,timeFormat:n}}import{atom as Wu}from"jotai";var Xu=e=>{let t=hi(e);if(t)return t},ju=e=>e.trim()!=="",xa=Wu({}),ct=Ii(xa,{merge:Xu,validateTarget:ju}),ha=Li(xa),va=Ei(ct);import{useSetAtom as Ju}from"jotai";function an(e){return{data:null,setSource:Ju(ct(e.name))}}var Ra=He({useSource:an,useExtraProps:e=>{let{dateFormat:t,timeFormat:n}=ba(e);return Go(t,n)},getValue:(e,t)=>{let n=e.target.value;if(!b(n))return n;let r=ae(t)?Fe(t):null;if(r!==null)return No(n,r);let o=K(t)?ue(t):null;return o!==null&&zt(n,o)||n},shouldSkipChange:({shouldSkipOnChange:e,inputValue:t,valueRef:n})=>e()&&t===n.current,dispatchChange:({applyChangeEventsRef:e,inputValue:t,setTimeoutRef:n})=>{n(()=>{e.current?.({value:t})},300)},buildInitialSelected:e=>({value:String(e)}),isInitialReady:(e,t)=>E(t)});import{deepEqual as nc}from"fast-equals";import{useAtom as tc}from"jotai";import Qu from"swr";function Sa(e=null,t,n=!1){let{data:r,error:o}=Qu(ec(e,t,n),t.fetcher.provider);if(o&&oe.error("Error fetching data source:",o),e){if(Array.isArray(e))return e;if(r)return eo(r,e.namespace)}return null}function ec(e=null,t,n=!1){if(e&&!Array.isArray(e)&&!n&&e.url&&!Ae(e.url)){if(bi(e.url,t.fetcher.remotePatterns))return e;oe.warn(`URL blocked by remotePatterns: ${e.url}. Check your luna.config.ts`)}return null}function wa(e,t,n){let r=$o(e,n),[o,i]=tc(ct(e.name)),a=o??r,s=Sa(a,t,e.disabled),l=Array.isArray(a);return[s,i,l]}function rc(e,t,n){let[r,o,i]=wa(e,t,n);return{data:r,setSource:o,isStaticSource:i}}function oc(e,t){return ee(e)&&t===""}var Aa=He({useSource:rc,getValue:e=>e.target.value,shouldSkipChange:({field:e,shouldSkipOnChange:t,hasClickable:n,inputValue:r,valueRef:o})=>oc(e,r)||!n&&t()&&(!r||nc(r,o.current)),dispatchChange:({applyChangeEventsRef:e,data:t,entity:n,inputValue:r})=>{e.current?.(kn(r,t,n))},buildInitialSelected:(e,t,n)=>kn(We(e)?e:String(e),t,n),isInitialReady:(e,t,n)=>(!ze(e)||!!n&&n.length>0)&&E(t)});var Ta=He({useSource:an,getValue:e=>e.target.value,shouldSkipChange:({shouldSkipOnChange:e,inputValue:t,valueRef:n})=>e()&&t===n.current,dispatchChange:({applyChangeEventsRef:e,inputValue:t,setTimeoutRef:n})=>{n(()=>{e.current?.({value:t})},300)},buildInitialSelected:e=>({value:String(e)}),isInitialReady:(e,t)=>E(t)});import{jsx as Qn}from"react/jsx-runtime";function Fa(e){return K(e.field)||ae(e.field)?Qn(Ra,{...e}):yo(e.field)?Qn(Ta,{...e}):Qn(Aa,{...e})}import{use as ka,useEffect as ic}from"react";import{jsx as er}from"react/jsx-runtime";function Ca(e){return!e.errors||e.errors.length===0?null:er(ac,{errors:e.errors,name:e.name})}function ac(e){let t=ka(Ye),n=ka(gt);return ic(()=>{n&&t()},[n,t]),er("ul",{className:"text-sm text-red-600 dark:text-red-500",id:e.name?`${e.name}-error`:void 0,children:e.errors.map((r,o)=>er("li",{children:r},e.name?`${e.name}-error-${o}`:o))})}import{twMerge as sc}from"tailwind-merge";import{jsx as lc}from"react/jsx-runtime";function sn(e){let t=e.errors&&e.errors.length>0;return lc("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[Dr]:"true"},...e.disabled&&{[Mr]:"true"},"data-orientation":e.orientation,className:sc("group flex w-full flex-col items-center data-[invalid=true]:text-red-600 data-[invalid=true]:dark:text-red-500","data-[clickable=true]:items-start",e.isCheckbox&&(e.isReversed?"flex-row-reverse!":"flex-row!"),"data-[clickable=true]:has-[>[data-slot=field-content]]:[&>:first-child]:mt-px",e.className),children:e.children})}import{twMerge as uc}from"tailwind-merge";import{jsx as cc}from"react/jsx-runtime";function Na(e){return cc(sn,{...e,orientation:"vertical",className:uc("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}import{twMerge as dc}from"tailwind-merge";import{jsx as mc}from"react/jsx-runtime";function Ia(e){return mc(sn,{...e,orientation:"horizontal",className:dc("gap-2 md:flex-row md:gap-4","[&>[data-slot=field-content]]:min-w-0 [&>[data-slot=field-content]]:flex-grow [&>[data-slot=field-content]]:self-start","[&_[role=checkbox]]:mt-[1.5px]",e.isClickable&&"md:flex-col",!e.isClickable&&["md:justify-between","[&>*:not([data-slot=field-content])]:w-full","[&>*:not([data-slot=field-content])]:md:w-1/2","[&>*:not([data-slot=field-content])]:xl:w-2/5"]),children:e.children})}import{jsx as Ea}from"react/jsx-runtime";function La(e){let t=Nt(e.field),n=U(e.field),r=ho(e.field);return e.horizontal?Ea(Ia,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children}):Ea(Na,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children})}function Va(e){if(!e.field.type)return null;let t=Oo(e.field,e.disabled,{lang:e.lang,translations:e.translations}),n=Xo(e.field),r=Wo(e.field,e.errors),o=!!e.field.disabled===t.disabled?e.field:{...e.field,disabled:t.disabled};return e.children({ariaAttributes:r,commonProps:t,dataAttributes:n,field:o,horizontal:e.horizontal,readOnly:e.readOnly})}import{twMerge as fc}from"tailwind-merge";import{jsx as tr,jsxs as gc}from"react/jsx-runtime";function Pa(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{horizontal:r=!1}=Zt(e.style,{horizontal:xo(e.field)}),o=vo(e.field,e.disabled),i=Ro(e.field,e.disabled);return gc("div",{className:fc("flex flex-col gap-3",ei(t)),children:[tr(La,{disabled:o,errors:n,field:e.field,horizontal:r,children:tr(Va,{disabled:o,errors:n,field:e.field,horizontal:r,lang:e.lang,readOnly:i,translations:e.translations,children:e.children})}),tr(Ca,{errors:n,name:e.field.name})]})}import{memo as hc}from"react";import{useAtomValue as pc}from"jotai";import{jsx as xc}from"react/jsx-runtime";function Oa(e){return(t,n)=>o=>{let i=pc(e(o.field.name)),a=n(i,o);return a===null?null:xc(t,{...o,...a})}}var yc=Oa(rn);function Da(e){return yc(e,(t,n)=>({errors:t?{[n.field.name]:t}:void 0}))}var bc=Oa(Xt);function Ma(e){return bc(e,(t,n)=>t?.hidden??n.field.hidden??!1?null:{disabled:t?.disabled??n.disabled})}var za=Ma(Da(hc(Pa)));import{twMerge as nr}from"tailwind-merge";import{Fragment as vc,jsx as Y,jsxs as ve}from"react/jsx-runtime";function _a(e){let t=e.isMultiField||e.collapsed!=null,[n,r,o]=_e(t?!e.collapsed:!0);function i(){e.canRemove&&e.onRemove&&e.onRemove(e.index)}let a=c=>ie(W(c,e.translations),{index:e.index+1,label:e.label}),s=e.canRemove&&e.onRemove!=null&&Y("button",{"aria-label":a("Remove {label} item {index}"),className:nr("flex size-6 items-center justify-center rounded text-xl leading-none text-zinc-400","transition-colors duration-150","hover:text-red-500","focus-visible:ring-2 focus-visible:ring-zinc-400 focus-visible:outline-none","dark:text-zinc-500 dark:hover:text-red-400"),onClick:i,type:"button",children:Y("span",{"aria-hidden":"true",className:"leading-none",children:"\xD7"})}),l=ve("div",{className:"flex min-w-0 flex-col font-medium text-zinc-700 dark:text-zinc-400",children:[Y("span",{className:"text-base",children:e.previewLabel??ve(vc,{children:[e.label," ",e.index+1]})}),!n&&e.previewTags&&Y("div",{className:"flex items-center gap-2 overflow-hidden text-xs font-normal text-ellipsis whitespace-nowrap text-zinc-500 dark:text-zinc-500",children:e.previewTags})]}),u=ve("div",{className:nr("flex items-center justify-between gap-2",e.isMultiField&&n&&"mb-3"),children:[t?ve("div",{className:"flex min-w-0 grow items-center gap-2",children:[ve("button",{"aria-expanded":n,"aria-label":a(n?"Collapse {label} {index}":"Expand {label} {index}"),className:nr("group flex grow items-center gap-2 rounded p-1 text-left text-zinc-400","focus-visible:ring-2 focus-visible:ring-zinc-400 focus-visible:outline-none","dark:text-zinc-500"),onClick:r,type:"button",children:[Y(Ve,{expanded:n}),l]}),!n&&e.previewBadge&&Y("div",{className:"ml-auto shrink-0",children:e.previewBadge})]}):l,s]});return e.isMultiField?ve("div",{"data-slot":"list-item-card",className:"box-border w-full min-w-0 rounded-lg border border-zinc-100 p-4 dark:border-zinc-900",children:[u,Y(Ze,{onReveal:o,visible:n,children:Y(ye,{children:e.children})})]}):t?ve("div",{className:"box-border flex w-full min-w-0 flex-col gap-2",children:[u,Y(Ze,{onReveal:o,visible:n,children:Y(ye,{children:e.children})})]}):ve("div",{className:"box-border flex w-full min-w-0 items-start gap-2",children:[Y("div",{className:"flex min-w-0 grow flex-col",children:Y(ye,{children:e.children})}),s&&Y("div",{className:"shrink-0",children:s})]})}import{Fragment as Sc}from"react";import{twMerge as $a}from"tailwind-merge";import{useAtomValue as Rc}from"jotai";function ln(e,t){return Rc(xe(e))??t}import{jsx as dt,jsxs as Ba}from"react/jsx-runtime";function Ha({className:e,initialValue:t,name:n,options:r,separator:o,staticLabel:i}){let a=ln(n??"",t);if(i===void 0&&r){let u=(Array.isArray(a)?a:a==null||a===""?[]:[a]).filter(c=>c!=null&&c!=="").map(c=>Yo(c,r));return u.length===0?null:dt("div",{className:"flex items-center gap-1.5 overflow-hidden",children:u.map((c,y)=>Ba(Sc,{children:[(o||y>0)&&dt("span",{"aria-hidden":"true",className:"text-xs text-zinc-300 select-none dark:text-zinc-600",children:"\xB7"}),dt("span",{"aria-label":c,className:$a("max-w-[150px] overflow-hidden text-xs text-ellipsis whitespace-nowrap",e),title:c,children:c})]},`${y}:${c}`))})}if(i===void 0&&(B(a)||g(a)||Array.isArray(a)))return null;let s=i??String(a);return Ba("div",{className:"flex items-center gap-1.5 overflow-hidden",children:[o&&dt("span",{"aria-hidden":"true",className:"text-xs text-zinc-300 select-none dark:text-zinc-600",children:"\xB7"}),dt("span",{"aria-label":s,className:$a("max-w-[150px] overflow-hidden text-xs text-ellipsis whitespace-nowrap",e),title:s,children:s})]})}import{useAtomValue as wc}from"jotai";import{useMemo as Ac}from"react";function un(e,t){let n=wc(H);return Ac(()=>{let r=`${e}.`,o={},i=!1;for(let s in n)s.startsWith(r)&&(o[s.slice(r.length)]=n[s],i=!0);let a=t?ne(e,t):void 0;return i?g(a)?{...a,...o}:o:a},[n,e,t])}import{useMemo as rr}from"react";import{jsx as Ga}from"react/jsx-runtime";function Tc(e){return typeof e=="string"?{field:e}:e}function or({className:e,fields:t,label:n="Preview",lang:r,name:o,previews:i,translations:a,value:s}){let l=rr(()=>(Array.isArray(i)?i:[i]).map(Tc),[i]),u=rr(()=>t?oi(t):void 0,[t]),c=un(o,s),y=rr(()=>{let p=[];for(let[A,x]of l.entries()){if(x.when!==void 0&&!Me(c,x.when))continue;if(x.label!==void 0){p.push({key:x.field??`label:${x.label}:${A}`,staticLabel:N(x.label,a)});continue}if(x.field===void 0)continue;let S=`${o}.${x.field}`,T=s!=null?ne(S,s):void 0,k=u?.[x.field],L=k?Uo(k,{lang:r,translations:a}):void 0;p.push({key:`${A}:${x.field}`,initialValue:T,options:L,previewName:S})}return p},[l,c,r,o,s,a,u]);return y.length===0?null:Ga("div",{"aria-label":n,className:"flex items-center gap-1.5 overflow-hidden",children:y.map((p,A)=>Ga(Ha,{className:e,initialValue:"initialValue"in p?p.initialValue:void 0,name:"previewName"in p?p.previewName:void 0,options:"options"in p?p.options:void 0,separator:A>0,staticLabel:"staticLabel"in p?p.staticLabel:void 0},p.key))})}import{Fragment as Fc,jsx as kc}from"react/jsx-runtime";function Ua({children:e,initialValue:t,name:n}){let r=ln(n,t),i=B(r)||g(r)||Array.isArray(r)?"":String(r);return kc(Fc,{children:e(i)})}import{jsx as cn}from"react/jsx-runtime";function Ya({canRemove:e,children:t,field:n,index:r,isMultiField:o,itemKey:i,label:a,lang:s,onRemove:l,previewBadge:u,previewLabel:c,previewTags:y,translations:p,value:A}){let x=`${n.name}.${i}`,S=`${a} ${r+1}`,T=un(x,A);return cn(_a,{canRemove:e,collapsed:n.advanced?.collapsed,index:r,isMultiField:o,label:a,onRemove:l,previewLabel:Cc({fallbackLabel:S,liveItemValue:T,name:x,previewLabel:c,translations:p,value:A}),previewBadge:u?cn(or,{className:"bg-primary text-primary-foreground rounded-md px-1.5 py-0.5 leading-none font-bold uppercase",fields:n.fields,lang:s,name:x,previews:u,translations:p,value:A}):void 0,previewTags:y?cn(or,{fields:n.fields,lang:s,name:x,previews:y,translations:p,value:A}):void 0,translations:p,children:t})}function Cc({fallbackLabel:e,liveItemValue:t,name:n,previewLabel:r,translations:o,value:i}){if(r===void 0)return;let a=b(r)?{field:r}:r;if(a.when!==void 0&&!Me(t,a.when))return;if(a.label!==void 0)return N(a.label,o);if(a.field===void 0)return;let s=`${n}.${a.field}`;return cn(Ua,{initialValue:i?ne(s,i):void 0,name:s,children:l=>l||e})}import{twMerge as Oc}from"tailwind-merge";import{deepEqual as Ic}from"fast-equals";import{useAtom as Ec,useSetAtom as sr,useStore as Lc}from"jotai";import{use as Vc,useCallback as ke,useEffect as dn,useEffectEvent as qa,useMemo as Ka,useRef as mn,useState as Pc}from"react";function Ge(e,t,n){return`${e}.${t}.${n}`}function Nc(e,t){let{initial:n,mounted:r,values:o}=t,i=r[e];if(i)return ar(e,i,t);let a=o[e];if(a!==void 0)return a;if(n)return ne(e,n)}function ar(e,{items:t,leafNames:n},r){return t.map(o=>{let i={};for(let a of n)i[a]=Nc(Ge(e,o,a),r);return i})}function ir(e,t=""){let n={};if(!e)return n;for(let[r,o]of Object.entries(e)){let i=`${t}${r}`;n[i]=o,Array.isArray(o)&&o.forEach((a,s)=>{g(a)&&Object.assign(n,ir(a,`${i}.${s}.`))})}return n}function Za(e,t,n,r){let o=[],i=Math.max(n.length,r.length);for(let a=t;a<i;a++){let s=ir(n[a]),l=ir(r[a]),u=new Set([...Object.keys(s),...Object.keys(l)]);for(let c of u)o.push({name:`${e}.${a}.${c}`,value:l[c]})}return o}function Wa(e,t,n){let{min:r,max:o}=zn(e),[i,a]=Pc(()=>ni(e,t)),s=mn(i),l=mn(i.length);s.current=i;let u=Lc(),c=sr(H),y=sr(on),p=mn(n);p.current=n;let A=mn(t),x=Ka(()=>Ht(e.fields),[e.fields]),S=Ka(()=>x.map(h=>h.name),[x]),T=ke((h,R)=>{let d=Number(h);return Number.isNaN(d)?!1:Number.isInteger(d)&&R>=0&&String(R)!==h},[]),k=Vc(he),L=ke(h=>{let R=`${e.name}.`;if(h.startsWith(R)){let d=h.slice(R.length),f=d.indexOf("."),m=f===-1?d:d.slice(0,f),v=Number(m),F=s.current.indexOf(v);T(m,F)&&(h=`${R}${F}${f===-1?"":d.slice(f)}`)}return k(h)},[e.name,T,k]),G=qa(()=>{let h=A.current;if(!h)return;let R={...u.get(H)},d=!1;for(let f of i)for(let m of S){let v=Ge(e.name,f,m);if(v in R)continue;let F=ne(v,h);E(F)&&(R[v]=F,d=!0)}d&&c(R)});dn(()=>{G()},[]);let V=ke((h,R)=>ar(e.name,{items:h,leafNames:S},{mounted:u.get(lt),values:R,initial:A.current}),[e.name,S,u]),D=ke(h=>{p.current?.({name:L(e.name),value:h})},[e.name,L]),M=ke((h,R,d)=>{D(d);let f=p.current;if(!f)return;let m=L(e.name);for(let v of Za(m,h,R,d))f(v)},[D,e.name,L]),Z=ke(()=>{if(s.current.length>=o)return;let h=l.current++,R=[...s.current,h];a(R),D(V(R,u.get(H)))},[V,D,o,u]),z=ke(h=>{if(s.current.length<=r)return;let R=s.current[h],d=s.current.filter((w,C)=>C!==h),f=u.get(H),m={...f};for(let w of S)delete m[Ge(e.name,R,w)];let v=V(s.current,f),F=V(d,m);a(d),c(m),M(h,v,F)},[V,M,e.name,S,r,c,u]),_=sr(la(e.name)),Ne=ge(e);dn(()=>{_({items:i,leafNames:S,hidden:e.hidden===!0,keepValue:Ne})},[e.hidden,Ne,i,S,_]),dn(()=>()=>{let h=u.get(H);c({...h,[e.name]:V(s.current,h)}),_(void 0)},[V,e.name,_,c,u]);let[re,Re]=Ec(aa(e.name)),Ie=qa(h=>{let R=_n(e,h),d=u.get(H),f=V(s.current,d);if(Ic(f,R))return;let m=[];for(let w=0;w<R.length;w++)m.push(s.current[w]??l.current++);let v={...d};for(let w of s.current)for(let C of S)delete v[Ge(e.name,w,C)];let F={};m.forEach((w,C)=>{let j=R[C];for(let O of x){let Ee=j[O.name];if(Ee===void 0)continue;let Le=Ge(e.name,w,O.name);v[Le]=Ee,te(O)&&(F[Le]=Ee)}}),c(v),a(m),Object.keys(F).length>0&&y(w=>({...w,...F})),M(0,f,R)});dn(()=>{re&&(Ie(re),Re(void 0))},[re,Re]);let Se=i.length<o,we=i.length>r;return[i,Z,z,Se,we,o,L]}import{jsx as lr,jsxs as fn}from"react/jsx-runtime";var Dc="flex h-9 w-full items-center gap-2 rounded-md border border-dashed border-zinc-200 px-4 text-sm font-medium text-zinc-500 transition-none hover:border-zinc-300 hover:text-zinc-800 focus-visible:ring-2 focus-visible:ring-zinc-400 focus-visible:ring-offset-2 focus-visible:outline-none dark:border-zinc-800 dark:text-zinc-400 dark:hover:border-zinc-700 dark:hover:text-zinc-200";function Xa(e){let{field:t,lang:n,onValueChange:r,translations:o,value:i,children:a}=e,[s,l,u,c,y,p,A]=Wa(t,i,r),x=N(ri(t),o),S=t.advanced?.action?N(t.advanced.action,o):W("Add item",o),T=p!==1/0,k=ti(t),{label:L,tags:G,badge:V}=t.advanced?.preview??{};return lr(he.Provider,{value:A,children:fn("div",{className:"flex w-full flex-col gap-4",children:[s.map((D,M)=>lr(Ya,{canRemove:y,field:t,index:M,isMultiField:k,itemKey:D,label:x,lang:n,onRemove:u,previewBadge:V,previewLabel:L,previewTags:G,translations:o,value:i,children:a(D)},D)),fn("button",{"aria-disabled":!c,"aria-label":T?`${S}, ${s.length} of ${p}`:S,className:Oc(Dc,T?"justify-between":"justify-center",!c&&"cursor-not-allowed opacity-50 hover:border-zinc-200 hover:text-zinc-500 dark:hover:border-zinc-800 dark:hover:text-zinc-400"),disabled:!c,onClick:l,type:"button",children:[fn("span",{className:"flex items-center gap-2",children:[lr("span",{"aria-hidden":"true",className:"text-base leading-none",children:"+"}),S]}),T&&fn("span",{"aria-hidden":"true",className:"text-zinc-400 tabular-nums dark:text-zinc-500",children:[s.length," / ",p]})]})]})})}import{jsx as Mc}from"react/jsx-runtime";function ja(e){let t=Array.isArray(e.field.fields)&&e.field.fields.length===0,n=X(e.field.label,e.translations),r=X(e.field.description,e.translations);return Mc(Kt,{description:r,empty:t,id:e.field.name,title:n,children:e.children})}import{jsx as gn}from"react/jsx-runtime";function Ja({children:e,field:t,lang:n,onValueChange:r,translations:o,value:i}){let a=gn(ja,{field:t,translations:o,children:gn(Xa,{field:t,lang:n,onValueChange:r,translations:o,value:i,children:e})});return gn(jt,{container:t,fields:t.fields,children:ge(t)?gn(Pe,{value:!0,children:a}):a})}import{twMerge as zc}from"tailwind-merge";import{jsx as Qa,jsxs as _c}from"react/jsx-runtime";function es(e){let t=Qo(e.column?.advanced?.cols);return _c("div",{className:"flex w-full flex-col gap-4",children:[Qa("div",{"data-slot":"column",className:zc("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children}),e.column?.description&&Qa(Jt,{config:e.config,context:e.context,text:e.column.description,translations:e.translations})]})}import{Fragment as Hc}from"react";import{useMemo as $c}from"react";import{jsx as Bc}from"react/jsx-runtime";function ts(e){let{fields:t,name:n}=e.field,{index:r}=e,o=$c(()=>Array.isArray(t)?t.map(i=>It(i)||te(i)?{...i,name:`${n}.${r}.${i.name}`}:le(i)?{...i,fields:i.fields.map(a=>({...a,name:`${n}.${r}.${a.name}`}))}:i):[],[r,n,t]);return Bc(mt,{components:e.components,config:e.config,context:e.context,disabled:e.disabled,fields:o,lang:e.lang,onValueChange:e.onValueChange,style:e.style,translations:e.translations,value:e.value,children:e.children})}import{jsx as ft,jsxs as Gc}from"react/jsx-runtime";function mt(e){let{field:t,list:n}=e.components;return Bt(e.fields).map((r,o)=>Gc(Hc,{children:[le(r)&&ft(es,{column:r,config:e.config,context:e.context,translations:e.translations,children:ft(mt,{...e,fields:r.fields})}),It(r)&&ft(t,{disabled:e.disabled,field:r,lang:e.lang,style:e.style,translations:e.translations,children:e.children}),te(r)&&ft(n,{field:r,lang:e.lang,onValueChange:e.onValueChange,translations:e.translations,value:e.value,children:i=>ft(ts,{components:e.components,config:e.config,context:e.context,disabled:e.disabled,field:r,index:i,lang:e.lang,onValueChange:e.onValueChange,style:e.style,translations:e.translations,value:e.value,children:e.children})})]},o))}import{jsx as Uc}from"react/jsx-runtime";function ns(e){return n=>Uc(mt,{...n,components:e})}var rs=ns({field:za,list:Ja});import{useSetAtom as os}from"jotai";import{requestFormReset as Yc}from"react-dom";import{startTransition as ur,useActionState as Zc,useCallback as qc,useRef as Kc}from"react";function as(e,t,n){let{onSuccess:r,preserveValues:o=!1,validation:i=!0,translations:a}=n??{},s=os(oa),l=os(Bi),u=Kc(null),c={data:null,error:null,success:!1},[y,p,A]=Zc(async(S,T)=>{let[k,L]=e(),G=ci(k,L,a);if(i===!1)return t?await t(T,G):S;let V=no(T),D=Xc(V,L),M=G.safeParse(D);if(!M.success){let z=di(M.error);return ur(()=>{s(z)}),cr(V,{description:W("Please correct the errors and try again.",a),details:[],title:W("There were validation errors submitting the form.",a)})}let Z=ro(M.data);if(t)try{let z=await t(Z,G);if(!z.success)return cr(Z,z.error);if(r?.(z.data),!o){let _=u.current;ur(()=>{l(),_&&Yc(_)})}return is(Z,o)}catch(z){return oe.error("Error executing form action:",z),cr(Z,{title:W("An unexpected error occurred submitting the form.",a),details:Wc(z,a)})}return is(M.data,o)},c),x=qc(S=>{S.preventDefault();let T=S.currentTarget;u.current=T;let k=S.nativeEvent.submitter,L=new FormData(T,k);ur(()=>{p(L)})},[p]);return[p,y,A,x]}function Wc(e,t){return e instanceof Error?[e.message]:[W("Unknown error",t)]}function is(e,t=!1){return{data:t?e:null,error:null,success:!0}}function cr(e,t){return{data:e,error:t,success:!1}}function Xc(e,t){let n={...e};for(let r of t)if(K(r)&&typeof n[r.name]=="string"&&n[r.name]){let o=Mt(n[r.name],ue(r));o&&(n[r.name]=o)}return n}import{useCallback as Qc,useEffect as ed,useMemo as us,useRef as td}from"react";import{useCallback as pn,useRef as Jc}from"react";import{useCallback as jc}from"react";import{useSetAtom as Ce}from"jotai";function ss(){let e=Ce(na),t=Ce(Hi),n=Ce(ha),r=Ce(ra),o=Ce(Gi),i=Ce(va),a=Ce(Vi);return jc((s,l)=>{let u=Array.isArray(s)?s:[s];e(u),n(u),l?.keepValue||t(u),r(u),i(u),a(u),o(u)},[e,n,t,r,i,a,o])}function ls(){let e=ss(),t=Jc(new Map),n=pn((a,s,l)=>{t.current.set(a,{field:l,schema:s})},[]),r=pn((a,s)=>{t.current.delete(a)&&e([a],{keepValue:s?.keepValue})},[e]),o=pn(()=>{let a=[...t.current];return[Object.fromEntries(a.map(([s,{schema:l}])=>[s,l])),a.map(([,{field:s}])=>s)]},[]),i=pn(a=>t.current.get(a)?.field,[]);return[o,i,n,r]}import{useSetAtom as nd}from"jotai";import{Fragment as rd,jsx as Ue,jsxs as od}from"react/jsx-runtime";function cs(e){let t=us(()=>Eo(e.lang,e.translations),[e.lang,e.translations]),[n,r,o,i]=ls(),[a,s,l,u]=as(n,e.action,{onSuccess:e.onSuccess,validation:e.config.validation.submit,translations:t}),c=e.config.validation.showError&&!s.success&&s.error,y=!s.success&&s.error?s:null,p=td(e.onValueChange);p.current=e.onValueChange;let A=!!e.onValueChange,x=us(()=>A?k=>p.current?.(k):void 0,[A]),S=Qc(k=>Ue(Fa,{...k,config:e.config,context:e.context,getField:r,onRegister:o,onUnmount:i,onValueChange:x,translations:t}),[r,o,i,x,e.config,e.context,t]),T=nd(Qi);return ed(()=>{T(e.value??null)},[T,e.value]),od(rd,{children:[c&&en(e.config.alert,k=>Ue("div",{className:"mb-4 w-full",children:Ue(k,{description:s.error?.description,details:s.error?.details,title:s.error.title})})),Ue(gt,{value:y,children:Ue(Di,{action:a,advanced:e.advanced,config:e.config,control:e.children,definition:e.definition,isPending:l,noValidate:!0,onSubmit:u,readOnly:e.readOnly,sections:e.sections,translations:t,children:({disabled:k,fields:L})=>Ue(rs,{config:e.config,context:e.context,disabled:k,fields:L,lang:e.lang,onValueChange:x,style:e.config.style,translations:t,value:e.value,children:S})})})]})}import{Provider as id}from"jotai";import{jsx as ds}from"react/jsx-runtime";function ad(e){return ds(id,{children:ds(cs,{...e})})}function ms(e,t){for(let n of e){if("name"in n&&typeof n.name=="string"){t.push(n.name);continue}"fields"in n&&ms(n.fields??[],t)}}function sd(e,t){let n=[];for(let o of e)ms(o.fields??[],n);let r=t;for(let o of n)st(o,t).found||(r===t&&(r={...t}),r[o]=void 0);return r}export{ad as Form,sd as withDeclaredFields};
@@ -1 +1 @@
1
- "use strict";var l=Object.defineProperty;var O=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var N=Object.prototype.hasOwnProperty;var k=(n,t)=>{for(var r in t)l(n,r,{get:t[r],enumerable:!0})},D=(n,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let e of b(t))!N.call(n,e)&&e!==r&&l(n,e,{get:()=>t[e],enumerable:!(o=O(t,e))||o.enumerable});return n};var M=n=>D(l({},"__esModule",{value:!0}),n);var En={};k(En,{defineCheckbox:()=>sn,defineChips:()=>cn,defineConfig:()=>on,defineCustomInput:()=>fn,defineInput:()=>un,defineRadio:()=>an,defineSelect:()=>pn,defineTextArea:()=>ln});module.exports=M(En);var U="input",H="input/date",v="input/email",X="input/number",G="input/time",F="input/password",V="input/tel",Y="input/text",A=[U,H,v,X,F,V,Y,G],I="textarea",m="radio",y="checkbox";var j="select",B="select/active",K="select/day",$="select/month",W="select/timezone",q="select/year",R=[j,B,K,$,W,q],h="chips",S="chips/day",P="chips/month";var u="http://luna.internal";function C(n){return n!==null&&Object.prototype.toString.call(n)==="[object Object]"}function s(n){return typeof n=="string"}var z=/{([^}]{1,200})}/;function a(n){return s(n)?z.test(n):Array.isArray(n)?n.some(t=>a(t)):C(n)?Object.values(n).some(t=>a(t)):!1}var L={error:(...n)=>{f()&&!E()&&p().error("[Luna Form]",...n)},warn:(...n)=>{f()&&!E()&&p().warn("[Luna Form]",...n)},info:(...n)=>{f()&&!E()&&p().info("[Luna Form]",...n)}},f=()=>typeof p()<"u",E=()=>!0,p=()=>globalThis.console;function w(n){try{return n instanceof FormData?null:s(n)?n:JSON.stringify(n)}catch{return L.error("Failed to stringify body:",n),null}}var J=/(^|[\/?=&])(null|undefined)([\/?=&]|$)/;async function _(n){let[t,r]=Z(n),o=n.body,e=rn(n);if(o&&!d(r)){let g=w(o);g!==null&&(o=g,e=Q(e))}let c=t.origin===u?t.toString().replace(u,""):t.toString(),x=await fetch(c,{body:en(r,o),cache:n.cache,headers:e,method:r}),T=await x.json();if(x.ok)return T;throw T}function Z(n){let t=n.url?.trim();if(!t||!nn(t))throw new Error(`Invalid URL: ${n.url}`);let r=new URL(t,u),o=tn(n);return n.body&&d(o)&&Object.entries(n.body).filter(([,e])=>e!==void 0&&e!=="undefined").forEach(([e,c])=>{r.searchParams.append(e,String(c))}),[r,o]}function Q(n){return{...n,"Content-Type":"application/json"}}function nn(n){return!s(n)||a(n)?!1:!J.test(n)}function tn(n){return n.method??"GET"}function rn(n){return{Accept:"application/json",...n.headers??{}}}function d(n){return n.toUpperCase()==="GET"}function en(n,t){if(!d(n))return t}function on(n){let t={alert:n.alert,env:n.env,fetcher:{provider:_,remotePatterns:n.fetcher?.remotePatterns},inputs:{},style:n.style};return t.validation=n.validation??{blur:!0,change:!0,showError:!0,submit:!0},n.inputs.forEach(({types:r,input:o})=>{(Array.isArray(r)?r:[r]).forEach(c=>{t.inputs[c]=o})}),t}var sn=i([y]),cn=i([h,S,P]),un=i(A),an=i([m]),pn=i(R),ln=i([I]);function fn(n,t){return i(n)(t)}function i(n){return t=>({types:n,input:t})}
1
+ "use strict";var l=Object.defineProperty;var O=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var N=Object.prototype.hasOwnProperty;var k=(n,t)=>{for(var r in t)l(n,r,{get:t[r],enumerable:!0})},D=(n,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let e of b(t))!N.call(n,e)&&e!==r&&l(n,e,{get:()=>t[e],enumerable:!(o=O(t,e))||o.enumerable});return n};var M=n=>D(l({},"__esModule",{value:!0}),n);var En={};k(En,{defineCheckbox:()=>sn,defineChips:()=>cn,defineConfig:()=>on,defineCustomInput:()=>fn,defineInput:()=>un,defineRadio:()=>an,defineSelect:()=>pn,defineTextArea:()=>ln});module.exports=M(En);var U="input",H="input/date",v="input/email",X="input/number",G="input/time",F="input/password",V="input/tel",Y="input/text",A=[U,H,v,X,F,V,Y,G],I="textarea",m="radio",y="checkbox";var j="select",B="select/active",K="select/day",$="select/month",W="select/timezone",q="select/year",R=[j,B,K,$,W,q],h="chips",S="chips/day",P="chips/month";var u="http://luna.internal";function C(n){return n!==null&&Object.prototype.toString.call(n)==="[object Object]"}function s(n){return typeof n=="string"}var L={error:(...n)=>{f()&&!E()&&a().error("[Luna Form]",...n)},warn:(...n)=>{f()&&!E()&&a().warn("[Luna Form]",...n)},info:(...n)=>{f()&&!E()&&a().info("[Luna Form]",...n)}},f=()=>typeof a()<"u",E=()=>!0,a=()=>globalThis.console;var z=/{([^}]{1,200})}/;function p(n){return s(n)?z.test(n):Array.isArray(n)?n.some(t=>p(t)):C(n)?Object.values(n).some(t=>p(t)):!1}function w(n){try{return n instanceof FormData?null:s(n)?n:JSON.stringify(n)}catch{return L.error("Failed to stringify body:",n),null}}var J=/(^|[\/?=&])(null|undefined)([\/?=&]|$)/;async function _(n){let[t,r]=Z(n),o=n.body,e=rn(n);if(o&&!d(r)){let g=w(o);g!==null&&(o=g,e=Q(e))}let c=t.origin===u?t.toString().replace(u,""):t.toString(),x=await fetch(c,{body:en(r,o),cache:n.cache,headers:e,method:r}),T=await x.json();if(x.ok)return T;throw T}function Z(n){let t=n.url?.trim();if(!t||!nn(t))throw new Error(`Invalid URL: ${n.url}`);let r=new URL(t,u),o=tn(n);return n.body&&d(o)&&Object.entries(n.body).filter(([,e])=>e!==void 0&&e!=="undefined").forEach(([e,c])=>{r.searchParams.append(e,String(c))}),[r,o]}function Q(n){return{...n,"Content-Type":"application/json"}}function nn(n){return!s(n)||p(n)?!1:!J.test(n)}function tn(n){return n.method??"GET"}function rn(n){return{Accept:"application/json",...n.headers??{}}}function d(n){return n.toUpperCase()==="GET"}function en(n,t){if(!d(n))return t}function on(n){let t={alert:n.alert,env:n.env,fetcher:{provider:_,remotePatterns:n.fetcher?.remotePatterns},inputs:{},style:n.style};return t.validation=n.validation??{blur:!0,change:!0,showError:!0,submit:!0},n.inputs.forEach(({types:r,input:o})=>{(Array.isArray(r)?r:[r]).forEach(c=>{t.inputs[c]=o})}),t}var sn=i([y]),cn=i([h,S,P]),un=i(A),an=i([m]),pn=i(R),ln=i([I]);function fn(n,t){return i(n)(t)}function i(n){return t=>({types:n,input:t})}
@@ -1 +1 @@
1
- var _="input",O="input/date",b="input/email",N="input/number",k="input/time",D="input/password",M="input/tel",U="input/text",g=[_,O,b,N,D,M,U,k],A="textarea",I="radio",m="checkbox";var H="select",v="select/active",X="select/day",G="select/month",F="select/timezone",V="select/year",y=[H,v,X,G,F,V],R="chips",h="chips/day",S="chips/month";var u="http://luna.internal";function P(n){return n!==null&&Object.prototype.toString.call(n)==="[object Object]"}function s(n){return typeof n=="string"}var Y=/{([^}]{1,200})}/;function a(n){return s(n)?Y.test(n):Array.isArray(n)?n.some(t=>a(t)):P(n)?Object.values(n).some(t=>a(t)):!1}var C={error:(...n)=>{l()&&!f()&&p().error("[Luna Form]",...n)},warn:(...n)=>{l()&&!f()&&p().warn("[Luna Form]",...n)},info:(...n)=>{l()&&!f()&&p().info("[Luna Form]",...n)}},l=()=>typeof p()<"u",f=()=>!0,p=()=>globalThis.console;function L(n){try{return n instanceof FormData?null:s(n)?n:JSON.stringify(n)}catch{return C.error("Failed to stringify body:",n),null}}var j=/(^|[\/?=&])(null|undefined)([\/?=&]|$)/;async function w(n){let[t,r]=B(n),e=n.body,o=q(n);if(e&&!E(r)){let T=L(e);T!==null&&(e=T,o=K(o))}let c=t.origin===u?t.toString().replace(u,""):t.toString(),d=await fetch(c,{body:z(r,e),cache:n.cache,headers:o,method:r}),x=await d.json();if(d.ok)return x;throw x}function B(n){let t=n.url?.trim();if(!t||!$(t))throw new Error(`Invalid URL: ${n.url}`);let r=new URL(t,u),e=W(n);return n.body&&E(e)&&Object.entries(n.body).filter(([,o])=>o!==void 0&&o!=="undefined").forEach(([o,c])=>{r.searchParams.append(o,String(c))}),[r,e]}function K(n){return{...n,"Content-Type":"application/json"}}function $(n){return!s(n)||a(n)?!1:!j.test(n)}function W(n){return n.method??"GET"}function q(n){return{Accept:"application/json",...n.headers??{}}}function E(n){return n.toUpperCase()==="GET"}function z(n,t){if(!E(n))return t}function En(n){let t={alert:n.alert,env:n.env,fetcher:{provider:w,remotePatterns:n.fetcher?.remotePatterns},inputs:{},style:n.style};return t.validation=n.validation??{blur:!0,change:!0,showError:!0,submit:!0},n.inputs.forEach(({types:r,input:e})=>{(Array.isArray(r)?r:[r]).forEach(c=>{t.inputs[c]=e})}),t}var dn=i([m]),xn=i([R,h,S]),Tn=i(g),gn=i([I]),An=i(y),In=i([A]);function mn(n,t){return i(n)(t)}function i(n){return t=>({types:n,input:t})}export{dn as defineCheckbox,xn as defineChips,En as defineConfig,mn as defineCustomInput,Tn as defineInput,gn as defineRadio,An as defineSelect,In as defineTextArea};
1
+ var _="input",O="input/date",b="input/email",N="input/number",k="input/time",D="input/password",M="input/tel",U="input/text",g=[_,O,b,N,D,M,U,k],A="textarea",I="radio",m="checkbox";var H="select",v="select/active",X="select/day",G="select/month",F="select/timezone",V="select/year",y=[H,v,X,G,F,V],R="chips",h="chips/day",S="chips/month";var u="http://luna.internal";function P(n){return n!==null&&Object.prototype.toString.call(n)==="[object Object]"}function s(n){return typeof n=="string"}var C={error:(...n)=>{l()&&!f()&&a().error("[Luna Form]",...n)},warn:(...n)=>{l()&&!f()&&a().warn("[Luna Form]",...n)},info:(...n)=>{l()&&!f()&&a().info("[Luna Form]",...n)}},l=()=>typeof a()<"u",f=()=>!0,a=()=>globalThis.console;var Y=/{([^}]{1,200})}/;function p(n){return s(n)?Y.test(n):Array.isArray(n)?n.some(t=>p(t)):P(n)?Object.values(n).some(t=>p(t)):!1}function L(n){try{return n instanceof FormData?null:s(n)?n:JSON.stringify(n)}catch{return C.error("Failed to stringify body:",n),null}}var j=/(^|[\/?=&])(null|undefined)([\/?=&]|$)/;async function w(n){let[t,r]=B(n),e=n.body,o=q(n);if(e&&!E(r)){let T=L(e);T!==null&&(e=T,o=K(o))}let c=t.origin===u?t.toString().replace(u,""):t.toString(),d=await fetch(c,{body:z(r,e),cache:n.cache,headers:o,method:r}),x=await d.json();if(d.ok)return x;throw x}function B(n){let t=n.url?.trim();if(!t||!$(t))throw new Error(`Invalid URL: ${n.url}`);let r=new URL(t,u),e=W(n);return n.body&&E(e)&&Object.entries(n.body).filter(([,o])=>o!==void 0&&o!=="undefined").forEach(([o,c])=>{r.searchParams.append(o,String(c))}),[r,e]}function K(n){return{...n,"Content-Type":"application/json"}}function $(n){return!s(n)||p(n)?!1:!j.test(n)}function W(n){return n.method??"GET"}function q(n){return{Accept:"application/json",...n.headers??{}}}function E(n){return n.toUpperCase()==="GET"}function z(n,t){if(!E(n))return t}function En(n){let t={alert:n.alert,env:n.env,fetcher:{provider:w,remotePatterns:n.fetcher?.remotePatterns},inputs:{},style:n.style};return t.validation=n.validation??{blur:!0,change:!0,showError:!0,submit:!0},n.inputs.forEach(({types:r,input:e})=>{(Array.isArray(r)?r:[r]).forEach(c=>{t.inputs[c]=e})}),t}var dn=i([m]),xn=i([R,h,S]),Tn=i(g),gn=i([I]),An=i(y),In=i([A]);function mn(n,t){return i(n)(t)}function i(n){return t=>({types:n,input:t})}export{dn as defineCheckbox,xn as defineChips,En as defineConfig,mn as defineCustomInput,Tn as defineInput,gn as defineRadio,An as defineSelect,In as defineTextArea};
@@ -1 +1 @@
1
- "use strict";var k=Object.defineProperty;var In=Object.getOwnPropertyDescriptor;var kn=Object.getOwnPropertyNames;var wn=Object.prototype.hasOwnProperty;var Cn=(n,e)=>{for(var r in e)k(n,r,{get:e[r],enumerable:!0})},Nn=(n,e,r,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of kn(e))!wn.call(n,o)&&o!==r&&k(n,o,{get:()=>e[o],enumerable:!(t=In(e,o))||t.enumerable});return n};var On=n=>Nn(k({},"__esModule",{value:!0}),n);var Re={};Cn(Re,{buildFormSchema:()=>En,collectIssues:()=>Sn});module.exports=On(Re);var L="input",_="input/date",P="input/email",M="input/number",D="input/time";var F="textarea",U="radio",Y="checkbox",V="list",q="select",j="select/active";var X="select/month";var B="select/year";var H="chips",G="chips/day",z="chips/month",W="column";var w="email",Z="number",v="password",K="tel",$="text";var J="max";var Q="min";var R="$ref";function f(n){return n!==null&&Object.prototype.toString.call(n)==="[object Object]"}function T(n){return n==null||n===""}function d(n){return typeof n=="string"}function h(n,e){if(!e||!f(n))return null;let r=e.split(".").filter(o=>o!=="");if(r.length===0)return null;let t=n;for(let o of r)if(f(t)&&o in t)t=t[o];else if(Array.isArray(t)){let i=Number(o);if(!Number.isInteger(i)||i<0||i>=t.length)return null;t=t[i]}else return null;return t}var _n=/{([^}]{1,200})}/;function S(n){return d(n)?_n.test(n):Array.isArray(n)?n.some(e=>S(e)):f(n)?Object.values(n).some(e=>S(e)):!1}var b={eq:Un,gt:jn,gte:Xn,in:Vn,lt:Bn,lte:Hn,neq:Yn,nin:qn,contains:Gn,exists:en,empty:zn,truthy:Wn},Pn=/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2})?/,nn=/^(\d{2})[/-](\d{2})[/-](\d{4})(?: (\d{2}):(\d{2})(?::(\d{2}))?)?$/;function Mn(n){return typeof n=="string"&&Pn.test(n)}function Dn(n){return typeof n=="string"&&nn.test(n)}function Fn(n){let e=n.match(nn);if(e){let[,r,t,o,i,s,c]=e;return new Date(Number(o),Number(t)-1,Number(r),Number(i??0),Number(s??0),Number(c??0)).getTime()}return NaN}function p(n){return Mn(n)?new Date(n).getTime():Dn(n)?Fn(n):Number(n)}function Un(n,e){return n===e}function Yn(n,e){return n!==e}function Vn(n,e){return Array.isArray(e)&&e.includes(String(n))}function qn(n,e){return Array.isArray(e)&&!e.includes(String(n))}function jn(n,e){return p(n)>p(e)}function Xn(n,e){return p(n)>=p(e)}function Bn(n,e){return p(n)<p(e)}function Hn(n,e){return p(n)<=p(e)}function Gn(n,e){return typeof n=="string"?n.includes(String(e)):Array.isArray(n)?n.map(String).includes(String(e)):!1}function en(n){return Array.isArray(n)?n.length>0:n!=null&&n!==""}function zn(n){return!en(n)}function Wn(n){return Array.isArray(n)?n.length>0:!!n}var rn=n=>l(j)(n);var tn=n=>l(X)(n),on=n=>l(B)(n);var sn=n=>l(G)(n),un=n=>l(z)(n),De=l(_),Fe=l(D),C=l(Y),cn=l(H),an=l(U),Ue=l(L),Ye=l(q),Ve=l(F),qe=l($,w,v,K),ln=l(P,w),fn=l(M,Z);function dn(n){return n.type===V}function pn(n){return n.type===W}function l(...n){return e=>{let r=d(e.type)?e.type:void 0;return r?n.some(t=>r===t||r?.startsWith(`${t}/`)):!1}}function m(n,e){return n?e?e[n]??n:n:""}function x(n,e){return n?m(n,e):void 0}var Zn=/^#\/definition\//;function y(n,e,r=new Map,t=new WeakSet){if(!vn(e)||!n||typeof n!="object")return n;if(r.has(n))return r.get(n);if(t.has(n))return n;if(t.add(n),Array.isArray(n))return n.map(i=>y(i,e,r,t));if(R in n&&d(n[R])){let i=n[R].replace(Zn,""),s=h(e,i);return s!==null?y(s,e,r,t):n}let o={};for(let[i,s]of Object.entries(n))o[i]=y(s,e,r,t);return t.delete(n),r.set(n,o),o}function vn(n){return n!==void 0&&f(n)&&Object.keys(n).length>0}var u=require("zod");var Kn=[[C,gn],[ln,Qn],[fn,re],[an,ne],[rn,gn],[tn,oe],[on,te],[cn,N],[sn,N],[un,N]];function $n(n,e=[],r){let t=u.z.object(n);if(e.length===0)return t;let o=ce(t,e,r);return pe(o,e,r)}function Jn(n,e){for(let[r,t]of Kn)if(r(n))return t(n,e);return ee(n,e)}function Qn(n,e){let r=u.z.string().trim();if(n.required){let t=g(n,e),o=r.min(1,t).pipe(mn(n,e));return u.z.preprocess(i=>T(i)?"":i,o)}return r.pipe(mn(n,e)).or(u.z.literal("")).nullable()}function gn(n,e){let r=u.z.preprocess(t=>{if(typeof t=="string"){if(t==="true")return!0;if(t==="false")return!1}return t},u.z.coerce.boolean());return n.required?(C(n)?r=r.refine(t=>t===!0,{message:g(n,e)}):r=r.refine(t=>typeof t=="boolean",{message:g(n,e)}),u.z.preprocess(t=>t===null?!1:t,r)):r.nullable()}function ne(n,e){let r=u.z.coerce.string();return n.required?(r=r.min(1,g(n,e)),u.z.preprocess(t=>T(t)?"":t,r)):r.or(u.z.literal("")).nullable()}function ee(n,e){let r=u.z.coerce.string().trim();return r=Tn(r,n,e),n.required?(r=yn(r,n,e),u.z.preprocess(t=>T(t)?"":t,r)):r.nullable()}function re(n,e){let r=u.z.coerce.number().int();return r=Tn(r,n,e),n.required?(r=yn(r,n,e),u.z.preprocess(t=>t===null?void 0:t,r)):r.nullable()}function te(n,e){return n.required?u.z.preprocess(ie,u.z.coerce.number({message:g(n,e)}).int()):u.z.coerce.number().int().nullable()}function oe(n,e){let r=g(n,e),t=u.z.coerce.number().int().min(1,r).max(12,r);return n.required?t:t.nullable()}function ie(n){return n===null||n===""?void 0:n}function mn(n,e){let r=n.validation?.email?m(n.validation?.email,e):void 0;return u.z.email(r)}function Tn(n,e,r){return n=se(n,e,r),n=ue(n,e,r),n}function yn(n,e,r){let t=e.advanced?.length?.min;return t===void 0||t<1?n.min(1,g(e,r)):n}var se=(n,e,r)=>An(n,e,Q,r),ue=(n,e,r)=>An(n,e,J,r);function An(n,e,r,t){let o=e.advanced?.length?.[r];if(o!==void 0){let i=e.validation?.length?.[r]?m(e.validation?.length?.[r],t):void 0;return n[r](o,i)}return n}function ce(n,e=[],r){let t=le(e);return t.length===0?n:n.superRefine((o,i)=>{for(let{name:s,rule:c}of t)if(!ae(o,s,c)){let a=m(c.message,r);i.addIssue({code:"custom",message:a,path:[s]})}})}function ae(n,e,r){let t=r.operator??"eq",o=b[t];return o?o(I(n,e),I(n,r.field)):!1}function le(n){let e=[];for(let r of n){let t=r.validation?.custom;if(!t)continue;let o=Array.isArray(t)?t:[t];for(let i of o)e.push({name:r.name,rule:i})}return e}function g(n,e){return n.validation?.required?m(n.validation?.required,e):void 0}function N(n,e){let r=u.z.array(u.z.string());return n.required&&(r=r.min(1,g(n,e))),u.z.preprocess(t=>T(t)?[]:Array.isArray(t)?t.map(String):[String(t)],r)}function En(n,e,r){let t=r?y(n,r):n;return Rn(fe(t),e)}function fe(n){let e=[];for(let r of n)for(let t of r.fields??[])e.push(t);return e}function Rn(n,e){let r={},t=[],o=i=>{for(let s of i)if(pn(s))o(s.fields);else if(dn(s)){let c=Ee(u.z.array(Rn(s.fields,e)),s,e);r[s.name]=u.z.preprocess(a=>a===void 0?[]:a,c)}else{let c=s,a=!!c.required&&!c.hidden,E=Jn(a?c:{...c,required:!1},e);r[c.name]=a?E:E.optional(),t.push(c)}};return o(n),$n(de(r),t,e)}function de(n){if(!Object.keys(n).some(r=>r.includes(".")))return n;let e=new Map;for(let[r,t]of Object.entries(n)){let o=r.split("."),i=e;for(let s=0;s<o.length-1;s++){let c=i.get(o[s]);if(c instanceof Map)i=c;else{let a=new Map;i.set(o[s],a),i=a}}i.set(o[o.length-1],t)}return hn(e)}function hn(n){let e={};for(let[r,t]of n)e[r]=t instanceof Map?u.z.object(hn(t)).optional():t;return e}function Sn(n){return n.issues.map(e=>({path:e.path.map(String).join("."),message:e.message}))}function pe(n,e=[],r){let t=e.filter(ge);return t.length===0?n:n.superRefine((o,i)=>{let s=f(o)?o:{};for(let c of t)for(let a of me(s,c,r))i.addIssue({code:"custom",path:a.path,message:a.message})})}function ge(n){let e=n.validation;return e!==void 0&&(e.requiredWhen!==void 0||e.pattern!==void 0||e.rules!==void 0)}function me(n,e,r){let t=[],o=I(n,e.name),i=e.validation?.requiredWhen;if(i){let a=(Array.isArray(i)?i:[i]).find(E=>A(n,E));a&&!O(o)&&t.push({path:[e.name],message:x(a.message??e.validation?.required,r)})}let s=e.validation?.pattern;s&&!bn(s,o)&&t.push({path:[e.name],message:x(s.message,r)});for(let c of e.validation?.rules??[])xe(n,c.when)&&!Te(c,o)&&t.push({path:[e.name],message:x(c.message,r)});return t}function A(n,e){let r=b[e.operator??"eq"];return r?r(I(n,e.field),e.value):!1}function I(n,e){return e in n?n[e]:h(n,e)??void 0}function xe(n,e){if(!e)return!0;if(Array.isArray(e))return e.every(o=>A(n,o));if("field"in e)return A(n,e);let r=e.all?e.all.every(o=>A(n,o)):!0,t=e.any?e.any.some(o=>A(n,o)):!0;return r&&t}function Te(n,e){switch(n.assert){case"required":return O(e);case"minItems":return Array.isArray(e)&&e.length>=Number(n.value);case"maxItems":return Array.isArray(e)&&e.length<=Number(n.value);case"min":return xn(e)>=Number(n.value);case"max":return xn(e)<=Number(n.value);case"oneOf":return Array.isArray(n.value)&&n.value.map(String).includes(String(e));case"pattern":return Ae(n.value)?bn(n.value,e):!0;default:return!0}}function bn(n,e){return!O(e)||typeof e!="string"||n.allowInterpolation&&(S(e)||ye(e))?!0:new RegExp(n.regex,n.flags).test(e)}function ye(n){return d(n)&&n.trimStart().startsWith("@")}function O(n){return d(n)?n.trim().length>0:b.exists(n,void 0)}function xn(n){return typeof n=="number"?n:d(n)||Array.isArray(n)?n.length:0}function Ae(n){return f(n)&&"regex"in n}function Ee(n,e,r){let t=n,o=e.advanced?.length?.min;o!==void 0&&(t=t.min(o,x(e.validation?.length?.min,r)));let i=e.advanced?.length?.max;return i!==void 0&&(t=t.max(i,x(e.validation?.length?.max,r))),t}
1
+ "use strict";var N=Object.defineProperty;var Fn=Object.getOwnPropertyDescriptor;var Pn=Object.getOwnPropertyNames;var Mn=Object.prototype.hasOwnProperty;var Dn=(n,e)=>{for(var r in e)N(n,r,{get:e[r],enumerable:!0})},Un=(n,e,r,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Pn(e))!Mn.call(n,o)&&o!==r&&N(n,o,{get:()=>e[o],enumerable:!(t=Fn(e,o))||t.enumerable});return n};var Vn=n=>Un(N({},"__esModule",{value:!0}),n);var Fe={};Dn(Fe,{buildFormSchema:()=>Nn,collectIssues:()=>Ln});module.exports=Vn(Fe);var U="input",V="input/date",v="input/email",Y="input/number",j="input/time";var q="textarea",B="radio",X="checkbox",z="list",G="select",H="select/active";var Z="select/month";var $="select/year";var W="chips",K="chips/day",J="chips/month",Q="column";var C="email",nn="number",en="password",rn="tel",tn="text";var on="max";var sn="min";var h="$ref";function f(n){return n!==null&&Object.prototype.toString.call(n)==="[object Object]"}function y(n){return n==null||n===""}function d(n){return typeof n=="string"}var un={error:(...n)=>{O()&&!L()&&E().error("[Luna Form]",...n)},warn:(...n)=>{O()&&!L()&&E().warn("[Luna Form]",...n)},info:(...n)=>{O()&&!L()&&E().info("[Luna Form]",...n)}},O=()=>typeof E()<"u",L=()=>!0,E=()=>globalThis.console;function Yn(n,e){return Object.prototype.hasOwnProperty.call(n,e)}function R(n,e){if(!e||!f(n))return null;let r=e.split(".").filter(o=>o!=="");if(r.length===0)return null;let t=n;for(let o of r)if(f(t)&&Yn(t,o))t=t[o];else if(Array.isArray(t)){let i=Number(o);if(!Number.isInteger(i)||i<0||i>=t.length)return null;t=t[i]}else return null;return t}var jn=/{([^}]{1,200})}/;function S(n){return d(n)?jn.test(n):Array.isArray(n)?n.some(e=>S(e)):f(n)?Object.values(n).some(e=>S(e)):!1}var I={eq:Gn,gt:Wn,gte:Kn,in:Zn,lt:Jn,lte:Qn,neq:Hn,nin:$n,contains:ne,exists:an,empty:ee,truthy:re},qn=/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2})?/,cn=/^(\d{2})[/-](\d{2})[/-](\d{4})(?: (\d{2}):(\d{2})(?::(\d{2}))?)?$/;function Bn(n){return typeof n=="string"&&qn.test(n)}function Xn(n){return typeof n=="string"&&cn.test(n)}function zn(n){let e=n.match(cn);if(e){let[,r,t,o,i,s,c]=e;return new Date(Number(o),Number(t)-1,Number(r),Number(i??0),Number(s??0),Number(c??0)).getTime()}return NaN}function p(n){return Bn(n)?new Date(n).getTime():Xn(n)?zn(n):Number(n)}function Gn(n,e){return n===e}function Hn(n,e){return n!==e}function Zn(n,e){return Array.isArray(e)&&e.includes(String(n))}function $n(n,e){return Array.isArray(e)&&!e.includes(String(n))}function Wn(n,e){return p(n)>p(e)}function Kn(n,e){return p(n)>=p(e)}function Jn(n,e){return p(n)<p(e)}function Qn(n,e){return p(n)<=p(e)}function ne(n,e){return typeof n=="string"?n.includes(String(e)):Array.isArray(n)?n.map(String).includes(String(e)):!1}function an(n){return Array.isArray(n)?n.length>0:n!=null&&n!==""}function ee(n){return!an(n)}function re(n){return Array.isArray(n)?n.length>0:!!n}var ln=n=>l(H)(n);var fn=n=>l(Z)(n),dn=n=>l($)(n);var pn=n=>l(K)(n),mn=n=>l(J)(n),Ze=l(V),$e=l(j),_=l(X),gn=l(W),xn=l(B),We=l(U),Ke=l(G),Je=l(q),Qe=l(tn,C,en,rn),yn=l(v,C),Tn=l(Y,nn);function bn(n){return n.type===z}function An(n){return n.type===Q}function l(...n){return e=>{let r=d(e.type)?e.type:void 0;return r?n.some(t=>r===t||r?.startsWith(`${t}/`)):!1}}function hn(n){let e=n.advanced?.step;if(typeof e=="number"&&Number.isFinite(e)&&e>0)return e}function x(n,e){return n?e?e[n]??n:n:""}function g(n,e){return n?x(n,e):void 0}var te=/^#\/definition\//;function T(n,e,r=new Map,t=new WeakSet){if(!oe(e)||!n||typeof n!="object")return n;if(r.has(n))return r.get(n);if(t.has(n))return n;if(t.add(n),Array.isArray(n))return n.map(i=>T(i,e,r,t));if(h in n&&d(n[h])){let i=n[h].replace(te,""),s=R(e,i);return s!==null?T(s,e,r,t):n}let o={};for(let[i,s]of Object.entries(n))o[i]=T(s,e,r,t);return t.delete(n),r.set(n,o),o}function oe(n){return n!==void 0&&f(n)&&Object.keys(n).length>0}var u=require("zod");var ie=[[_,En],[yn,ce],[Tn,fe],[xn,ae],[ln,En],[fn,pe],[dn,de],[gn,P],[pn,P],[mn,P]];function se(n,e=[],r){let t=u.z.object(n);if(e.length===0)return t;let o=be(t,e,r);return Se(o,e,r)}function ue(n,e){for(let[r,t]of ie)if(r(n))return t(n,e);return le(n,e)}function w(n){return n.nullable().optional()}function ce(n,e){let r=u.z.string().trim();if(n.required){let t=m(n,e),o=r.min(1,t).pipe(Sn(n,e));return u.z.preprocess(i=>y(i)?"":i,o)}return w(r.pipe(Sn(n,e)).or(u.z.literal("")))}function En(n,e){let r=u.z.preprocess(t=>{if(typeof t=="string"){if(t==="true")return!0;if(t==="false")return!1}return t},u.z.coerce.boolean());return n.required?(_(n)?r=r.refine(t=>t===!0,{message:m(n,e)}):r=r.refine(t=>typeof t=="boolean",{message:m(n,e)}),u.z.preprocess(t=>t===null?!1:t,r)):r.nullable()}function ae(n,e){let r=u.z.coerce.string();return n.required?(r=r.min(1,m(n,e)),u.z.preprocess(t=>y(t)?"":t,r)):w(r.or(u.z.literal("")))}function le(n,e){let r=u.z.coerce.string().trim();return r=kn(r,n,e),n.required?(r=xe(r,n,e),u.z.preprocess(t=>y(t)?"":t,r)):w(r)}function fe(n,e){let r=kn(u.z.coerce.number(),n,e);return M(me(r,n,e),n,e)}function de(n,e){return M(u.z.coerce.number().int(),n,e)}function pe(n,e){let r=m(n,e),t=u.z.coerce.number().int().min(1,r).max(12,r);return M(t,n,e)}function Rn(n){return n===null||n===""?void 0:n}function M(n,e,r){if(!e.required)return u.z.preprocess(Rn,w(n));let t=m(e,r);return u.z.preprocess(Rn,u.z.unknown().refine(o=>o!==void 0,{message:t}).pipe(n))}function me(n,e,r){let t=g(e.validation?.step,r),o=hn(e);if(o===void 0)return n.int(t);let i=e.advanced?.length?.min??0;return n.refine(s=>ge(s,o,i),{message:t??(i===0?`Invalid number: must be a multiple of ${o}`:`Invalid number: must be ${i} plus a multiple of ${o}`)})}function ge(n,e,r){let t=10**Math.max(F(n),F(e),F(r));return Math.round((n-r)*t)%Math.round(e*t)===0}function F(n){let[e,r="0"]=String(n).split("e"),t=e.split(".")[1]?.length??0;return Math.max(0,t-Number(r))}function Sn(n,e){let r=n.validation?.email?x(n.validation?.email,e):void 0;return u.z.email(r)}function kn(n,e,r){return n=ye(n,e,r),n=Te(n,e,r),n}function xe(n,e,r){let t=e.advanced?.length?.min;return t===void 0||t<1?n.min(1,m(e,r)):n}var ye=(n,e,r)=>wn(n,e,sn,r),Te=(n,e,r)=>wn(n,e,on,r);function wn(n,e,r,t){let o=e.advanced?.length?.[r];if(o!==void 0){let i=e.validation?.length?.[r]?x(e.validation?.length?.[r],t):void 0;return n[r](o,i)}return n}function be(n,e=[],r){let t=he(e);return t.length===0?n:n.superRefine((o,i)=>{for(let{name:s,rule:c}of t)if(!Ae(o,s,c)){let a=x(c.message,r);i.addIssue({code:"custom",message:a,path:[s]})}})}function Ae(n,e,r){let t=r.operator??"eq",o=I[t];return o?o(k(n,e),k(n,r.field)):!1}function he(n){let e=[];for(let r of n){let t=r.validation?.custom;if(!t)continue;let o=Array.isArray(t)?t:[t];for(let i of o)e.push({name:r.name,rule:i})}return e}function m(n,e){return n.validation?.required?x(n.validation?.required,e):void 0}function P(n,e){let r=u.z.array(u.z.string());return n.required&&(r=r.min(1,m(n,e))),u.z.preprocess(t=>y(t)?[]:Array.isArray(t)?t.map(String):[String(t)],r)}function Nn(n,e,r){let t=r?T(n,r):n;return Cn(Ee(t),e)}function Ee(n){let e=[];for(let r of n)for(let t of r.fields??[])e.push(t);return e}function Cn(n,e){let r={},t=[],o=i=>{for(let s of i)if(An(s))o(s.fields);else if(bn(s)){let c=_e(u.z.array(Cn(s.fields,e)),s,e);r[s.name]=u.z.preprocess(a=>a===void 0?[]:a,c)}else{let c=s,a=!!c.required&&!c.hidden,A=ue(a?c:{...c,required:!1},e);r[c.name]=a?A:A.optional(),t.push(c)}};return o(n),se(Re(r),t,e)}function Re(n){if(!Object.keys(n).some(r=>r.includes(".")))return n;let e=new Map;for(let[r,t]of Object.entries(n)){let o=r.split("."),i=e;for(let s=0;s<o.length-1;s++){let c=i.get(o[s]);if(c instanceof Map)i=c;else{let a=new Map;i.set(o[s],a),i=a}}i.set(o[o.length-1],t)}return On(e)}function On(n){let e={};for(let[r,t]of n)e[r]=t instanceof Map?u.z.object(On(t)).optional():t;return e}function Ln(n){return n.issues.map(e=>({path:e.path.map(String).join("."),message:e.message}))}function Se(n,e=[],r){let t=e.filter(Ie);return t.length===0?n:n.superRefine((o,i)=>{let s=f(o)?o:{};for(let c of t)for(let a of ke(s,c,r))i.addIssue({code:"custom",path:a.path,message:a.message})})}function Ie(n){let e=n.validation;return e!==void 0&&(e.requiredWhen!==void 0||e.pattern!==void 0||e.rules!==void 0)}function ke(n,e,r){let t=[],o=k(n,e.name),i=e.validation?.requiredWhen;if(i){let a=(Array.isArray(i)?i:[i]).find(A=>b(n,A));a&&!D(o)&&t.push({path:[e.name],message:g(a.message??e.validation?.required,r)})}let s=e.validation?.pattern;s&&!_n(s,o)&&t.push({path:[e.name],message:g(s.message,r)});for(let c of e.validation?.rules??[])we(n,c.when)&&!Ne(c,o)&&t.push({path:[e.name],message:g(c.message,r)});return t}function b(n,e){let r=I[e.operator??"eq"];return r?r(k(n,e.field),e.value):!1}function k(n,e){return e in n?n[e]:R(n,e)??void 0}function we(n,e){if(!e)return!0;if(Array.isArray(e))return e.every(o=>b(n,o));if("field"in e)return b(n,e);let r=e.all?e.all.every(o=>b(n,o)):!0,t=e.any?e.any.some(o=>b(n,o)):!0;return r&&t}function Ne(n,e){switch(n.assert){case"required":return D(e);case"minItems":return Array.isArray(e)&&e.length>=Number(n.value);case"maxItems":return Array.isArray(e)&&e.length<=Number(n.value);case"min":return In(e)>=Number(n.value);case"max":return In(e)<=Number(n.value);case"oneOf":return Array.isArray(n.value)&&n.value.map(String).includes(String(e));case"pattern":return Le(n.value)?_n(n.value,e):!0;default:return!0}}function _n(n,e){if(!D(e)||typeof e!="string"||n.allowInterpolation&&(S(e)||Oe(e)))return!0;let r=Ce(n);return r!==null&&r.test(e)}function Ce({regex:n,flags:e}){try{return new RegExp(n,e)}catch(r){return un.error(`A validation pattern does not compile, so it holds back every value: /${n}/${e??""}`,r),null}}function Oe(n){return d(n)&&n.trimStart().startsWith("@")}function D(n){return d(n)?n.trim().length>0:I.exists(n,void 0)}function In(n){return typeof n=="number"?n:d(n)||Array.isArray(n)?n.length:0}function Le(n){return f(n)&&"regex"in n}function _e(n,e,r){let t=n,o=e.advanced?.length?.min;o!==void 0&&(t=t.min(o,g(e.validation?.length?.min,r)));let i=e.advanced?.length?.max;return i!==void 0&&(t=t.max(i,g(e.validation?.length?.max,r))),t}
@@ -1 +1 @@
1
- var O="input",L="input/date",_="input/email",P="input/number",M="input/time";var D="textarea",F="radio",U="checkbox",Y="list",V="select",q="select/active";var j="select/month";var X="select/year";var B="chips",H="chips/day",G="chips/month",z="column";var k="email",W="number",Z="password",v="tel",K="text";var $="max";var J="min";var R="$ref";function f(n){return n!==null&&Object.prototype.toString.call(n)==="[object Object]"}function T(n){return n==null||n===""}function d(n){return typeof n=="string"}function h(n,e){if(!e||!f(n))return null;let r=e.split(".").filter(o=>o!=="");if(r.length===0)return null;let t=n;for(let o of r)if(f(t)&&o in t)t=t[o];else if(Array.isArray(t)){let i=Number(o);if(!Number.isInteger(i)||i<0||i>=t.length)return null;t=t[i]}else return null;return t}var Sn=/{([^}]{1,200})}/;function S(n){return d(n)?Sn.test(n):Array.isArray(n)?n.some(e=>S(e)):f(n)?Object.values(n).some(e=>S(e)):!1}var b={eq:Cn,gt:_n,gte:Pn,in:On,lt:Mn,lte:Dn,neq:Nn,nin:Ln,contains:Fn,exists:nn,empty:Un,truthy:Yn},bn=/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2})?/,Q=/^(\d{2})[/-](\d{2})[/-](\d{4})(?: (\d{2}):(\d{2})(?::(\d{2}))?)?$/;function In(n){return typeof n=="string"&&bn.test(n)}function kn(n){return typeof n=="string"&&Q.test(n)}function wn(n){let e=n.match(Q);if(e){let[,r,t,o,i,s,c]=e;return new Date(Number(o),Number(t)-1,Number(r),Number(i??0),Number(s??0),Number(c??0)).getTime()}return NaN}function p(n){return In(n)?new Date(n).getTime():kn(n)?wn(n):Number(n)}function Cn(n,e){return n===e}function Nn(n,e){return n!==e}function On(n,e){return Array.isArray(e)&&e.includes(String(n))}function Ln(n,e){return Array.isArray(e)&&!e.includes(String(n))}function _n(n,e){return p(n)>p(e)}function Pn(n,e){return p(n)>=p(e)}function Mn(n,e){return p(n)<p(e)}function Dn(n,e){return p(n)<=p(e)}function Fn(n,e){return typeof n=="string"?n.includes(String(e)):Array.isArray(n)?n.map(String).includes(String(e)):!1}function nn(n){return Array.isArray(n)?n.length>0:n!=null&&n!==""}function Un(n){return!nn(n)}function Yn(n){return Array.isArray(n)?n.length>0:!!n}var en=n=>l(q)(n);var rn=n=>l(j)(n),tn=n=>l(X)(n);var on=n=>l(H)(n),sn=n=>l(G)(n),ke=l(L),we=l(M),w=l(U),un=l(B),cn=l(F),Ce=l(O),Ne=l(V),Oe=l(D),Le=l(K,k,Z,v),an=l(_,k),ln=l(P,W);function fn(n){return n.type===Y}function dn(n){return n.type===z}function l(...n){return e=>{let r=d(e.type)?e.type:void 0;return r?n.some(t=>r===t||r?.startsWith(`${t}/`)):!1}}function m(n,e){return n?e?e[n]??n:n:""}function x(n,e){return n?m(n,e):void 0}var Vn=/^#\/definition\//;function y(n,e,r=new Map,t=new WeakSet){if(!qn(e)||!n||typeof n!="object")return n;if(r.has(n))return r.get(n);if(t.has(n))return n;if(t.add(n),Array.isArray(n))return n.map(i=>y(i,e,r,t));if(R in n&&d(n[R])){let i=n[R].replace(Vn,""),s=h(e,i);return s!==null?y(s,e,r,t):n}let o={};for(let[i,s]of Object.entries(n))o[i]=y(s,e,r,t);return t.delete(n),r.set(n,o),o}function qn(n){return n!==void 0&&f(n)&&Object.keys(n).length>0}import{z as u}from"zod";var jn=[[w,pn],[an,Hn],[ln,Wn],[cn,Gn],[en,pn],[rn,vn],[tn,Zn],[un,C],[on,C],[sn,C]];function Xn(n,e=[],r){let t=u.object(n);if(e.length===0)return t;let o=Qn(t,e,r);return se(o,e,r)}function Bn(n,e){for(let[r,t]of jn)if(r(n))return t(n,e);return zn(n,e)}function Hn(n,e){let r=u.string().trim();if(n.required){let t=g(n,e),o=r.min(1,t).pipe(gn(n,e));return u.preprocess(i=>T(i)?"":i,o)}return r.pipe(gn(n,e)).or(u.literal("")).nullable()}function pn(n,e){let r=u.preprocess(t=>{if(typeof t=="string"){if(t==="true")return!0;if(t==="false")return!1}return t},u.coerce.boolean());return n.required?(w(n)?r=r.refine(t=>t===!0,{message:g(n,e)}):r=r.refine(t=>typeof t=="boolean",{message:g(n,e)}),u.preprocess(t=>t===null?!1:t,r)):r.nullable()}function Gn(n,e){let r=u.coerce.string();return n.required?(r=r.min(1,g(n,e)),u.preprocess(t=>T(t)?"":t,r)):r.or(u.literal("")).nullable()}function zn(n,e){let r=u.coerce.string().trim();return r=xn(r,n,e),n.required?(r=Tn(r,n,e),u.preprocess(t=>T(t)?"":t,r)):r.nullable()}function Wn(n,e){let r=u.coerce.number().int();return r=xn(r,n,e),n.required?(r=Tn(r,n,e),u.preprocess(t=>t===null?void 0:t,r)):r.nullable()}function Zn(n,e){return n.required?u.preprocess(Kn,u.coerce.number({message:g(n,e)}).int()):u.coerce.number().int().nullable()}function vn(n,e){let r=g(n,e),t=u.coerce.number().int().min(1,r).max(12,r);return n.required?t:t.nullable()}function Kn(n){return n===null||n===""?void 0:n}function gn(n,e){let r=n.validation?.email?m(n.validation?.email,e):void 0;return u.email(r)}function xn(n,e,r){return n=$n(n,e,r),n=Jn(n,e,r),n}function Tn(n,e,r){let t=e.advanced?.length?.min;return t===void 0||t<1?n.min(1,g(e,r)):n}var $n=(n,e,r)=>yn(n,e,J,r),Jn=(n,e,r)=>yn(n,e,$,r);function yn(n,e,r,t){let o=e.advanced?.length?.[r];if(o!==void 0){let i=e.validation?.length?.[r]?m(e.validation?.length?.[r],t):void 0;return n[r](o,i)}return n}function Qn(n,e=[],r){let t=ee(e);return t.length===0?n:n.superRefine((o,i)=>{for(let{name:s,rule:c}of t)if(!ne(o,s,c)){let a=m(c.message,r);i.addIssue({code:"custom",message:a,path:[s]})}})}function ne(n,e,r){let t=r.operator??"eq",o=b[t];return o?o(I(n,e),I(n,r.field)):!1}function ee(n){let e=[];for(let r of n){let t=r.validation?.custom;if(!t)continue;let o=Array.isArray(t)?t:[t];for(let i of o)e.push({name:r.name,rule:i})}return e}function g(n,e){return n.validation?.required?m(n.validation?.required,e):void 0}function C(n,e){let r=u.array(u.string());return n.required&&(r=r.min(1,g(n,e))),u.preprocess(t=>T(t)?[]:Array.isArray(t)?t.map(String):[String(t)],r)}function re(n,e,r){let t=r?y(n,r):n;return An(te(t),e)}function te(n){let e=[];for(let r of n)for(let t of r.fields??[])e.push(t);return e}function An(n,e){let r={},t=[],o=i=>{for(let s of i)if(dn(s))o(s.fields);else if(fn(s)){let c=pe(u.array(An(s.fields,e)),s,e);r[s.name]=u.preprocess(a=>a===void 0?[]:a,c)}else{let c=s,a=!!c.required&&!c.hidden,E=Bn(a?c:{...c,required:!1},e);r[c.name]=a?E:E.optional(),t.push(c)}};return o(n),Xn(oe(r),t,e)}function oe(n){if(!Object.keys(n).some(r=>r.includes(".")))return n;let e=new Map;for(let[r,t]of Object.entries(n)){let o=r.split("."),i=e;for(let s=0;s<o.length-1;s++){let c=i.get(o[s]);if(c instanceof Map)i=c;else{let a=new Map;i.set(o[s],a),i=a}}i.set(o[o.length-1],t)}return En(e)}function En(n){let e={};for(let[r,t]of n)e[r]=t instanceof Map?u.object(En(t)).optional():t;return e}function ie(n){return n.issues.map(e=>({path:e.path.map(String).join("."),message:e.message}))}function se(n,e=[],r){let t=e.filter(ue);return t.length===0?n:n.superRefine((o,i)=>{let s=f(o)?o:{};for(let c of t)for(let a of ce(s,c,r))i.addIssue({code:"custom",path:a.path,message:a.message})})}function ue(n){let e=n.validation;return e!==void 0&&(e.requiredWhen!==void 0||e.pattern!==void 0||e.rules!==void 0)}function ce(n,e,r){let t=[],o=I(n,e.name),i=e.validation?.requiredWhen;if(i){let a=(Array.isArray(i)?i:[i]).find(E=>A(n,E));a&&!N(o)&&t.push({path:[e.name],message:x(a.message??e.validation?.required,r)})}let s=e.validation?.pattern;s&&!Rn(s,o)&&t.push({path:[e.name],message:x(s.message,r)});for(let c of e.validation?.rules??[])ae(n,c.when)&&!le(c,o)&&t.push({path:[e.name],message:x(c.message,r)});return t}function A(n,e){let r=b[e.operator??"eq"];return r?r(I(n,e.field),e.value):!1}function I(n,e){return e in n?n[e]:h(n,e)??void 0}function ae(n,e){if(!e)return!0;if(Array.isArray(e))return e.every(o=>A(n,o));if("field"in e)return A(n,e);let r=e.all?e.all.every(o=>A(n,o)):!0,t=e.any?e.any.some(o=>A(n,o)):!0;return r&&t}function le(n,e){switch(n.assert){case"required":return N(e);case"minItems":return Array.isArray(e)&&e.length>=Number(n.value);case"maxItems":return Array.isArray(e)&&e.length<=Number(n.value);case"min":return mn(e)>=Number(n.value);case"max":return mn(e)<=Number(n.value);case"oneOf":return Array.isArray(n.value)&&n.value.map(String).includes(String(e));case"pattern":return de(n.value)?Rn(n.value,e):!0;default:return!0}}function Rn(n,e){return!N(e)||typeof e!="string"||n.allowInterpolation&&(S(e)||fe(e))?!0:new RegExp(n.regex,n.flags).test(e)}function fe(n){return d(n)&&n.trimStart().startsWith("@")}function N(n){return d(n)?n.trim().length>0:b.exists(n,void 0)}function mn(n){return typeof n=="number"?n:d(n)||Array.isArray(n)?n.length:0}function de(n){return f(n)&&"regex"in n}function pe(n,e,r){let t=n,o=e.advanced?.length?.min;o!==void 0&&(t=t.min(o,x(e.validation?.length?.min,r)));let i=e.advanced?.length?.max;return i!==void 0&&(t=t.max(i,x(e.validation?.length?.max,r))),t}export{re as buildFormSchema,ie as collectIssues};
1
+ var D="input",U="input/date",V="input/email",v="input/number",Y="input/time";var j="textarea",q="radio",B="checkbox",X="list",z="select",G="select/active";var H="select/month";var Z="select/year";var $="chips",W="chips/day",K="chips/month",J="column";var N="email",Q="number",nn="password",en="tel",rn="text";var tn="max";var on="min";var h="$ref";function f(n){return n!==null&&Object.prototype.toString.call(n)==="[object Object]"}function y(n){return n==null||n===""}function d(n){return typeof n=="string"}var sn={error:(...n)=>{C()&&!O()&&E().error("[Luna Form]",...n)},warn:(...n)=>{C()&&!O()&&E().warn("[Luna Form]",...n)},info:(...n)=>{C()&&!O()&&E().info("[Luna Form]",...n)}},C=()=>typeof E()<"u",O=()=>!0,E=()=>globalThis.console;function Ln(n,e){return Object.prototype.hasOwnProperty.call(n,e)}function R(n,e){if(!e||!f(n))return null;let r=e.split(".").filter(o=>o!=="");if(r.length===0)return null;let t=n;for(let o of r)if(f(t)&&Ln(t,o))t=t[o];else if(Array.isArray(t)){let i=Number(o);if(!Number.isInteger(i)||i<0||i>=t.length)return null;t=t[i]}else return null;return t}var _n=/{([^}]{1,200})}/;function S(n){return d(n)?_n.test(n):Array.isArray(n)?n.some(e=>S(e)):f(n)?Object.values(n).some(e=>S(e)):!1}var I={eq:Un,gt:jn,gte:qn,in:vn,lt:Bn,lte:Xn,neq:Vn,nin:Yn,contains:zn,exists:cn,empty:Gn,truthy:Hn},Fn=/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2})?/,un=/^(\d{2})[/-](\d{2})[/-](\d{4})(?: (\d{2}):(\d{2})(?::(\d{2}))?)?$/;function Pn(n){return typeof n=="string"&&Fn.test(n)}function Mn(n){return typeof n=="string"&&un.test(n)}function Dn(n){let e=n.match(un);if(e){let[,r,t,o,i,s,c]=e;return new Date(Number(o),Number(t)-1,Number(r),Number(i??0),Number(s??0),Number(c??0)).getTime()}return NaN}function p(n){return Pn(n)?new Date(n).getTime():Mn(n)?Dn(n):Number(n)}function Un(n,e){return n===e}function Vn(n,e){return n!==e}function vn(n,e){return Array.isArray(e)&&e.includes(String(n))}function Yn(n,e){return Array.isArray(e)&&!e.includes(String(n))}function jn(n,e){return p(n)>p(e)}function qn(n,e){return p(n)>=p(e)}function Bn(n,e){return p(n)<p(e)}function Xn(n,e){return p(n)<=p(e)}function zn(n,e){return typeof n=="string"?n.includes(String(e)):Array.isArray(n)?n.map(String).includes(String(e)):!1}function cn(n){return Array.isArray(n)?n.length>0:n!=null&&n!==""}function Gn(n){return!cn(n)}function Hn(n){return Array.isArray(n)?n.length>0:!!n}var an=n=>l(G)(n);var ln=n=>l(H)(n),fn=n=>l(Z)(n);var dn=n=>l(W)(n),pn=n=>l(K)(n),ve=l(U),Ye=l(Y),L=l(B),mn=l($),gn=l(q),je=l(D),qe=l(z),Be=l(j),Xe=l(rn,N,nn,en),xn=l(V,N),yn=l(v,Q);function Tn(n){return n.type===X}function bn(n){return n.type===J}function l(...n){return e=>{let r=d(e.type)?e.type:void 0;return r?n.some(t=>r===t||r?.startsWith(`${t}/`)):!1}}function An(n){let e=n.advanced?.step;if(typeof e=="number"&&Number.isFinite(e)&&e>0)return e}function x(n,e){return n?e?e[n]??n:n:""}function g(n,e){return n?x(n,e):void 0}var Zn=/^#\/definition\//;function T(n,e,r=new Map,t=new WeakSet){if(!$n(e)||!n||typeof n!="object")return n;if(r.has(n))return r.get(n);if(t.has(n))return n;if(t.add(n),Array.isArray(n))return n.map(i=>T(i,e,r,t));if(h in n&&d(n[h])){let i=n[h].replace(Zn,""),s=R(e,i);return s!==null?T(s,e,r,t):n}let o={};for(let[i,s]of Object.entries(n))o[i]=T(s,e,r,t);return t.delete(n),r.set(n,o),o}function $n(n){return n!==void 0&&f(n)&&Object.keys(n).length>0}import{z as u}from"zod";var Wn=[[L,hn],[xn,Qn],[yn,re],[gn,ne],[an,hn],[ln,oe],[fn,te],[mn,F],[dn,F],[pn,F]];function Kn(n,e=[],r){let t=u.object(n);if(e.length===0)return t;let o=le(t,e,r);return ye(o,e,r)}function Jn(n,e){for(let[r,t]of Wn)if(r(n))return t(n,e);return ee(n,e)}function w(n){return n.nullable().optional()}function Qn(n,e){let r=u.string().trim();if(n.required){let t=m(n,e),o=r.min(1,t).pipe(Rn(n,e));return u.preprocess(i=>y(i)?"":i,o)}return w(r.pipe(Rn(n,e)).or(u.literal("")))}function hn(n,e){let r=u.preprocess(t=>{if(typeof t=="string"){if(t==="true")return!0;if(t==="false")return!1}return t},u.coerce.boolean());return n.required?(L(n)?r=r.refine(t=>t===!0,{message:m(n,e)}):r=r.refine(t=>typeof t=="boolean",{message:m(n,e)}),u.preprocess(t=>t===null?!1:t,r)):r.nullable()}function ne(n,e){let r=u.coerce.string();return n.required?(r=r.min(1,m(n,e)),u.preprocess(t=>y(t)?"":t,r)):w(r.or(u.literal("")))}function ee(n,e){let r=u.coerce.string().trim();return r=In(r,n,e),n.required?(r=ue(r,n,e),u.preprocess(t=>y(t)?"":t,r)):w(r)}function re(n,e){let r=In(u.coerce.number(),n,e);return P(ie(r,n,e),n,e)}function te(n,e){return P(u.coerce.number().int(),n,e)}function oe(n,e){let r=m(n,e),t=u.coerce.number().int().min(1,r).max(12,r);return P(t,n,e)}function En(n){return n===null||n===""?void 0:n}function P(n,e,r){if(!e.required)return u.preprocess(En,w(n));let t=m(e,r);return u.preprocess(En,u.unknown().refine(o=>o!==void 0,{message:t}).pipe(n))}function ie(n,e,r){let t=g(e.validation?.step,r),o=An(e);if(o===void 0)return n.int(t);let i=e.advanced?.length?.min??0;return n.refine(s=>se(s,o,i),{message:t??(i===0?`Invalid number: must be a multiple of ${o}`:`Invalid number: must be ${i} plus a multiple of ${o}`)})}function se(n,e,r){let t=10**Math.max(_(n),_(e),_(r));return Math.round((n-r)*t)%Math.round(e*t)===0}function _(n){let[e,r="0"]=String(n).split("e"),t=e.split(".")[1]?.length??0;return Math.max(0,t-Number(r))}function Rn(n,e){let r=n.validation?.email?x(n.validation?.email,e):void 0;return u.email(r)}function In(n,e,r){return n=ce(n,e,r),n=ae(n,e,r),n}function ue(n,e,r){let t=e.advanced?.length?.min;return t===void 0||t<1?n.min(1,m(e,r)):n}var ce=(n,e,r)=>kn(n,e,on,r),ae=(n,e,r)=>kn(n,e,tn,r);function kn(n,e,r,t){let o=e.advanced?.length?.[r];if(o!==void 0){let i=e.validation?.length?.[r]?x(e.validation?.length?.[r],t):void 0;return n[r](o,i)}return n}function le(n,e=[],r){let t=de(e);return t.length===0?n:n.superRefine((o,i)=>{for(let{name:s,rule:c}of t)if(!fe(o,s,c)){let a=x(c.message,r);i.addIssue({code:"custom",message:a,path:[s]})}})}function fe(n,e,r){let t=r.operator??"eq",o=I[t];return o?o(k(n,e),k(n,r.field)):!1}function de(n){let e=[];for(let r of n){let t=r.validation?.custom;if(!t)continue;let o=Array.isArray(t)?t:[t];for(let i of o)e.push({name:r.name,rule:i})}return e}function m(n,e){return n.validation?.required?x(n.validation?.required,e):void 0}function F(n,e){let r=u.array(u.string());return n.required&&(r=r.min(1,m(n,e))),u.preprocess(t=>y(t)?[]:Array.isArray(t)?t.map(String):[String(t)],r)}function pe(n,e,r){let t=r?T(n,r):n;return wn(me(t),e)}function me(n){let e=[];for(let r of n)for(let t of r.fields??[])e.push(t);return e}function wn(n,e){let r={},t=[],o=i=>{for(let s of i)if(bn(s))o(s.fields);else if(Tn(s)){let c=Ie(u.array(wn(s.fields,e)),s,e);r[s.name]=u.preprocess(a=>a===void 0?[]:a,c)}else{let c=s,a=!!c.required&&!c.hidden,A=Jn(a?c:{...c,required:!1},e);r[c.name]=a?A:A.optional(),t.push(c)}};return o(n),Kn(ge(r),t,e)}function ge(n){if(!Object.keys(n).some(r=>r.includes(".")))return n;let e=new Map;for(let[r,t]of Object.entries(n)){let o=r.split("."),i=e;for(let s=0;s<o.length-1;s++){let c=i.get(o[s]);if(c instanceof Map)i=c;else{let a=new Map;i.set(o[s],a),i=a}}i.set(o[o.length-1],t)}return Nn(e)}function Nn(n){let e={};for(let[r,t]of n)e[r]=t instanceof Map?u.object(Nn(t)).optional():t;return e}function xe(n){return n.issues.map(e=>({path:e.path.map(String).join("."),message:e.message}))}function ye(n,e=[],r){let t=e.filter(Te);return t.length===0?n:n.superRefine((o,i)=>{let s=f(o)?o:{};for(let c of t)for(let a of be(s,c,r))i.addIssue({code:"custom",path:a.path,message:a.message})})}function Te(n){let e=n.validation;return e!==void 0&&(e.requiredWhen!==void 0||e.pattern!==void 0||e.rules!==void 0)}function be(n,e,r){let t=[],o=k(n,e.name),i=e.validation?.requiredWhen;if(i){let a=(Array.isArray(i)?i:[i]).find(A=>b(n,A));a&&!M(o)&&t.push({path:[e.name],message:g(a.message??e.validation?.required,r)})}let s=e.validation?.pattern;s&&!Cn(s,o)&&t.push({path:[e.name],message:g(s.message,r)});for(let c of e.validation?.rules??[])Ae(n,c.when)&&!he(c,o)&&t.push({path:[e.name],message:g(c.message,r)});return t}function b(n,e){let r=I[e.operator??"eq"];return r?r(k(n,e.field),e.value):!1}function k(n,e){return e in n?n[e]:R(n,e)??void 0}function Ae(n,e){if(!e)return!0;if(Array.isArray(e))return e.every(o=>b(n,o));if("field"in e)return b(n,e);let r=e.all?e.all.every(o=>b(n,o)):!0,t=e.any?e.any.some(o=>b(n,o)):!0;return r&&t}function he(n,e){switch(n.assert){case"required":return M(e);case"minItems":return Array.isArray(e)&&e.length>=Number(n.value);case"maxItems":return Array.isArray(e)&&e.length<=Number(n.value);case"min":return Sn(e)>=Number(n.value);case"max":return Sn(e)<=Number(n.value);case"oneOf":return Array.isArray(n.value)&&n.value.map(String).includes(String(e));case"pattern":return Se(n.value)?Cn(n.value,e):!0;default:return!0}}function Cn(n,e){if(!M(e)||typeof e!="string"||n.allowInterpolation&&(S(e)||Re(e)))return!0;let r=Ee(n);return r!==null&&r.test(e)}function Ee({regex:n,flags:e}){try{return new RegExp(n,e)}catch(r){return sn.error(`A validation pattern does not compile, so it holds back every value: /${n}/${e??""}`,r),null}}function Re(n){return d(n)&&n.trimStart().startsWith("@")}function M(n){return d(n)?n.trim().length>0:I.exists(n,void 0)}function Sn(n){return typeof n=="number"?n:d(n)||Array.isArray(n)?n.length:0}function Se(n){return f(n)&&"regex"in n}function Ie(n,e,r){let t=n,o=e.advanced?.length?.min;o!==void 0&&(t=t.min(o,g(e.validation?.length?.min,r)));let i=e.advanced?.length?.max;return i!==void 0&&(t=t.max(i,g(e.validation?.length?.max,r))),t}export{pe as buildFormSchema,xe as collectIssues};