react-luna-form 0.0.85 → 0.0.87

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