react-luna-form 0.0.26 → 0.0.28

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 (42) hide show
  1. package/dist/client/cjs/index.js +1 -1
  2. package/dist/client/esm/index.js +1 -1
  3. package/dist/config/cjs/index.js +1 -1
  4. package/dist/config/esm/index.js +1 -1
  5. package/dist/server/cjs/index.js +1 -1
  6. package/dist/server/esm/index.js +1 -1
  7. package/dist/types/luna-core/src/handle/state-event.d.ts +1 -1
  8. package/dist/types/luna-core/src/index.d.ts +1 -0
  9. package/dist/types/luna-core/src/type.d.ts +16 -2
  10. package/dist/types/luna-core/src/util/constant.d.ts +4 -0
  11. package/dist/types/luna-core/src/util/extract.d.ts +2 -1
  12. package/dist/types/luna-core/src/util/is-input.d.ts +4 -3
  13. package/dist/types/luna-core/src/util/is-type.d.ts +1 -0
  14. package/dist/types/luna-core/src/util/list.d.ts +4 -0
  15. package/dist/types/luna-core/src/util/prepare.d.ts +2 -2
  16. package/dist/types/luna-core/src/util/string.d.ts +1 -0
  17. package/dist/types/luna-react/src/client/component/field/field-list.d.ts +2 -0
  18. package/dist/types/luna-react/src/client/component/{wrapper/with-error.d.ts → field/field-with-error.d.ts} +1 -1
  19. package/dist/types/luna-react/src/client/component/{wrapper/with-field-state.d.ts → field/field-with-state.d.ts} +1 -1
  20. package/dist/types/luna-react/src/client/component/guard/list-guard.d.ts +2 -0
  21. package/dist/types/luna-react/src/client/component/guard/visibility-guard.d.ts +6 -0
  22. package/dist/types/luna-react/src/client/component/slot/slot.d.ts +7 -0
  23. package/dist/types/luna-react/src/client/hook/use-field-list.d.ts +2 -0
  24. package/dist/types/luna-react/src/component/column.d.ts +2 -3
  25. package/dist/types/luna-react/src/component/field/field-base.d.ts +4 -2
  26. package/dist/types/luna-react/src/component/field/field-horizontal.d.ts +2 -8
  27. package/dist/types/luna-react/src/component/field/field-list-item.d.ts +8 -0
  28. package/dist/types/luna-react/src/component/field/field-list.d.ts +7 -0
  29. package/dist/types/luna-react/src/component/field/field-set-advanced.d.ts +5 -0
  30. package/dist/types/luna-react/src/component/field/field-set-base.d.ts +7 -0
  31. package/dist/types/luna-react/src/component/field/field-vertical.d.ts +2 -8
  32. package/dist/types/luna-react/src/component/list.d.ts +5 -0
  33. package/dist/types/luna-react/src/component/slot/list-slot.d.ts +2 -0
  34. package/dist/types/luna-react/src/component/slot/slot-base.d.ts +8 -6
  35. package/dist/types/luna-react/src/component/slot/slot-create.d.ts +4 -3
  36. package/dist/types/luna-react/src/component/slot/slot-list.d.ts +12 -0
  37. package/dist/types/luna-react/src/component/slot/slot.d.ts +1 -0
  38. package/package.json +5 -5
  39. package/dist/types/luna-react/src/component/input/input-attributes.d.ts +0 -3
  40. package/dist/types/luna-react/src/component/input/input-common.d.ts +0 -2
  41. package/dist/types/luna-react/src/component/input/input-option-select.d.ts +0 -5
  42. /package/dist/types/luna-react/src/client/component/{wrapper/index.d.ts → field/field.d.ts} +0 -0
@@ -1 +1 @@
1
- "use strict";var lo=Object.create;var ye=Object.defineProperty;var so=Object.getOwnPropertyDescriptor;var co=Object.getOwnPropertyNames;var uo=Object.getPrototypeOf,fo=Object.prototype.hasOwnProperty;var mo=(e,t)=>{for(var n in t)ye(e,n,{get:t[n],enumerable:!0})},mt=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of co(t))!fo.call(e,o)&&o!==n&&ye(e,o,{get:()=>t[o],enumerable:!(r=so(t,o))||r.enumerable});return e};var po=(e,t,n)=>(n=e!=null?lo(uo(e)):{},mt(t||!e||!e.__esModule?ye(n,"default",{value:e,enumerable:!0}):n,e)),go=e=>mt(ye({},"__esModule",{value:!0}),e);var Ai={};mo(Ai,{Form:()=>Qr});module.exports=go(Ai);var Xe=require("react/jsx-runtime");function pt(e){return!e.errors||e.errors.length===0?null:(0,Xe.jsx)("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)=>(0,Xe.jsx)("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}var be="input",gt="input/email",yt="input/number";var bt="textarea",xt="radio",ht="checkbox",Tt="select",Rt="select/month",St="select/year";var He="column";var At="label",q="value",xe="options",$e="email",Ct="number",Et="password",Ft="tel",le="text",Nt="aria-errormessage",vt="aria-invalid",kt="data-invalid",It="data-readonly",wt="aria",Pt="data",he="min",Te="max",Ot="minLength",Vt="maxLength",Z="$ref";var Dt="source",Lt="state",Re="http://luna.internal",P="vertical",W="horizontal";function d(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function Se(e){return e==null||e===""}function O(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function F(e){return typeof e=="string"}function Mt(e){return d(e)&&"url"in e}var yo=/[^/]+$/;function _t(e,t=[],n=q){if(Array.isArray(t))return t.find(r=>{let o=qe(r,n);if(o!==void 0&&`${o}`===e)return r})??{value:e}}function qe(e,t=q){if(e!=null){if(O(e))return e;if(d(e)){let n=bo(e,t);if(O(n))return n}}}function bo(e,t){let n=R(e,t);if(O(n))return n}function Ut(e,t){if(Array.isArray(e))return e;let n=R(e,t);return Array.isArray(n)?n:null}function R(e,t){if(!t||!d(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(d(r)&&o in r)r=r[o];else return null;return r}function Bt(e,t={label:At,value:q}){return e.map(n=>{if(d(n)){let r=R(n,t.label),o=R(n,t.value);if(O(r)&&O(o))return{label:`${r}`,value:`${o}`}}return n})}function Gt(e=le){if(e){let t=e.match(yo);if(t){let[n]=t;if(n!==be)return n.trim().toLowerCase()}}return le}function Yt(e){let t={};for(let n of e.keys()){let r=e.getAll(n);t[n]=r.length>1?r:r[0]}return t}var xo=/\[([^\]]+)\]\(([^)]+)\)/g;function S(e,t={}){if(F(e))return ho(e,t);if(Array.isArray(e))return e.map(n=>S(n,t));if(d(e)){let n={};for(let r in e)n[r]=S(e[r],t);return n}return e}function M(e){return F(e)?/{([^}]+)}/.test(e):Array.isArray(e)?e.some(t=>M(t)):d(e)?Object.values(e).some(t=>M(t)):!1}function ho(e,t={}){return e.replace(/{([^}]+)}/g,(n,r)=>{let o=r.includes(".")?R(t,r):t[r];return O(o)?String(o):n})}function Xt(e,t){if(!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=xo.exec(e))!==null;){let[a,l,s]=n,c=n.index;o=!0,c>r&&i.push(e.substring(r,c));let u=t?t(c,s,l):a;i.push(u),r=c+a.length}return o?(r<e.length&&i.push(e.substring(r)),i):e}var se={error:(...e)=>{Ze()&&!We()&&Ae().error("[Luna Form]",...e)},warn:(...e)=>{Ze()&&!We()&&Ae().warn("[Luna Form]",...e)},info:(...e)=>{Ze()&&!We()&&Ae().info("[Luna Form]",...e)}},Ze=()=>typeof Ae()<"u",We=()=>!0,Ae=()=>globalThis.console;function Ht(e=[],t){let n=[],r=[],o=[];e.forEach(i=>{i.action===q&&n.push(i),i.action===Dt&&r.push(i),i.action===Lt&&o.push(i)}),t({sources:r,states:o,values:n})}function $t(e=null,t=[],n){t.forEach(r=>{let{target:o,source:i}=r;if(!e){n(o,void 0);return}if(Mt(i)){let a=S(i.url,e),l=i.body?S(i.body,e):i.body;n(o,{...i,url:a,body:l})}})}var ce={eq:Co,gt:vo,gte:ko,in:Fo,lt:Io,lte:wo,neq:Eo,nin:No},To=/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2})?/,qt=/^(\d{2})[/-](\d{2})[/-](\d{4})(?: (\d{2}):(\d{2})(?::(\d{2}))?)?$/;function Ro(e){return typeof e=="string"&&To.test(e)}function So(e){return typeof e=="string"&&qt.test(e)}function Ao(e){let t=e.match(qt);if(t){let[,n,r,o,i,a,l]=t;return new Date(Number(o),Number(r)-1,Number(n),Number(i??0),Number(a??0),Number(l??0)).getTime()}return NaN}function V(e){return Ro(e)?new Date(e).getTime():So(e)?Ao(e):Number(e)}function Co(e,t){return e===t}function Eo(e,t){return e!==t}function Fo(e,t){return Array.isArray(t)&&t.includes(String(e))}function No(e,t){return Array.isArray(t)&&!t.includes(String(e))}function vo(e,t){return V(e)>V(t)}function ko(e,t){return V(e)>=V(t)}function Io(e,t){return V(e)<V(t)}function wo(e,t){return V(e)<=V(t)}function Zt(e=null,t=[],n){t.forEach(r=>{let{target:o,state:i,when:a}=r;if(!e){n(o);return}let l=Po(e,a);n(o,l?i:void 0)})}function Po(e,t){if(t===void 0)return!0;if(F(t))return ze(e,"value")===t;if(Array.isArray(t)){let n=ze(e,"value");return t.includes(String(n))}return Oo(e,t)}function Oo(e=null,t){let n=ze(e,t.field??"value"),{operator:r="eq",value:o}=t,i=ce[r];return i?i(n,o):!1}function ze(e,t){return d(e)?t.includes(".")?R(e,t):e[t]:e}function Wt(e=null,t=[],n){t.forEach(r=>{Object.entries(r.value).forEach(([o,i])=>{n(o,e?S(i,e):void 0)})})}var Ce=e=>A(Rt)(e),Ee=e=>A(St)(e),b=A(ht),Ke=A(be),N=A(xt),v=A(Tt),je=A(bt),zt=A(le,$e,Et,Ft),Kt=A(gt,$e),Fe=A(yt,Ct);function Ne(e){return N(e)||b(e)}function jt(e){return e.type===He}function Jt(e){return e.type!==He}function Qt(e){return v(e)||N(e)}function en(e){return Ke(e)||je(e)}function ue(e){return e!=null&&e!==""}function A(...e){return t=>{let n=F(t.type)?t.type:void 0;return n?e.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function tn(e,t={}){if(v(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&d(n))return[n]}}function nn(e){return N(e)||b(e)?W:e.advanced?.orientation??P}function rn(e){return b(e)?e.advanced?.reverse!==!1:!1}function on(e,t){let n=e.readonly??!1;return t||n}function an(e){if(N(e)||v(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||d(t)&&!(Z in t))return t}}var Vo=/^\d+$/;function ln(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function sn(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 Je(){return new Date().getFullYear()}function Qe(e,t){if(typeof e=="number")return e;let n=t??Je(),r=e.trim().toLowerCase();if(r.startsWith("current")){let o=r.match(/^current([+-])(\d+)$/);if(o){let[,i,a]=o,l=parseInt(a,10);if(!isNaN(l))return i==="+"?n+l:n-l}return n}return Vo.test(r)?parseInt(r,10):n}var ve=Je();function Do(e){if(v(e))return Lo(e)}function Lo(e){if(Ce(e))return ln();if(Ee(e)){let t=e.advanced?.length?.min??ve,n=e.advanced?.length?.max??ve+5;return sn(Qe(t,ve),Qe(n,ve))}}function cn(e,t=!1){let n={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return Ke(e)?{...n,...Mo(e)}:v(e)?{...n,..._o(e)}:je(e)?{...n,...Uo(e)}:n}function Mo(e){let t=Gt(e.type),n={...e,type:t};return{...un(e),...Bo(n),...zt(n)?dn(n):{},type:t}}function _o(e){let t=Do(e);return t?{options:t}:{}}function Uo(e){return{...un(e),...dn(e)}}function un(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function Bo(e){return Fe(e)?Go(e):{}}function dn(e){return fn(e,{min:Ot,max:Vt})}function Go(e){return fn(e,{min:he,max:Te})}function fn(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 mn(e,t){let n=an(e);return n||tn(e,t)}function Yo(e,t){let n=d(t)&&e.name in t?t[e.name]:t;return qe(n,e.advanced?.entity)}function Xo(e,t,n){return Qt(e)&&Array.isArray(n)?{...t,[xe]:n}:t}function Ho(e,t,n){if(e.required&&!ue(n)&&v(e)&&e.advanced?.preselected!==!1&&xe in t){let r=t[xe];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function $o(e,t){return v(e)&&Array.isArray(t)?Bt(t,e.advanced?.options):t}function pn(e,t,n,r){let o=Yo(e,r),i=Array.isArray(n)?$o(e,n):n,a=Xo(e,t,i),l=Ho(e,a,o);return{commonPropsWithOptions:a,defaultValue:l}}function gn(e,t){return b(e)?{checked:ue(t)?t:!1}:{value:t??""}}var qo=/^#\/definition\//;function Ie(e=[],t){let n=ke(e,t);return Array.isArray(n)?n.sort((r,o)=>yn(r)-yn(o)):[]}function ke(e,t,n=new Map,r=new WeakSet){if(!Zo(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=>ke(i,t,n,r));if(Z in e&&F(e[Z])){let i=e[Z].replace(qo,""),a=R(t,i);return a!==null?ke(a,t,n,r):e}let o={};for(let[i,a]of Object.entries(e))o[i]=ke(a,t,n,r);return r.delete(e),n.set(e,o),o}function bn(e){return Object.entries(e??{})}function yn(e){return e.order??Number.MAX_VALUE}function Zo(e){return e!==void 0&&d(e)&&Object.keys(e).length>0}function xn(e,t){let n={};for(let[r,o]of bn(t))n[`${e}-${r}`]=o;return n}function Wo(e){return xn(wt,e)}function zo(e){return xn(Pt,e)}function hn(e,t){let n=Wo(e.advanced?.aria);return t&&t.length>0&&(n[vt]="true",n[Nt]=`${e.name}-error`),n}function Tn(e){return zo(e.advanced?.data)}var Rn={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},Sn={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function An(e,t=2){return Rn[e&&e in Rn?e:t]}function Cn(e){if(e&&e in Sn)return Sn[e]}var f=require("zod");function m(e,t){return e?t?t[e]??e:e:""}var Ko=[[Fe,ti],[Kt,jo],[Ee,ni],[Ce,ri],[b,Jo],[N,Qo]];function Fn(e,t=[],n){let r=f.z.object(e);return t.length===0?r:li(r,t,n)}function Nn(e){let t={},n=f.z.flattenError(e).fieldErrors;for(let[r,o]of Object.entries(n))o!==void 0&&(t[r]=o);return t}function vn(e,t){for(let[n,r]of Ko)if(n(e))return r(e,t);return ei(e,t)}function jo(e,t){let n=f.z.string().trim();if(e.required){let r=z(e,t),o=n.min(1,r).pipe(En(e,t));return f.z.preprocess(i=>Se(i)?"":i,o)}return n.pipe(En(e,t)).or(f.z.literal("")).nullable()}function Jo(e,t){let n=f.z.coerce.boolean();return e.required?(n=n.refine(r=>r===!0,{message:z(e,t)}),f.z.preprocess(r=>r===null?!1:r,n)):n.nullable()}function Qo(e,t){let n=f.z.coerce.string();return e.required?(n=n.min(1,z(e,t)),f.z.preprocess(r=>Se(r)?"":r,n)):n.or(f.z.literal("")).nullable()}function ei(e,t){let n=f.z.coerce.string().trim();return n=kn(n,e,t),e.required?(n=In(n,e,t),f.z.preprocess(r=>Se(r)?"":r,n)):n.nullable()}function ti(e,t){let n=f.z.coerce.number().int();return n=kn(n,e,t),e.required?(n=In(n,e,t),f.z.preprocess(r=>r===null?void 0:r,n)):n.nullable()}function ni(e,t){return e.required?f.z.preprocess(oi,f.z.coerce.number({message:z(e,t)}).int()):f.z.coerce.number().int().nullable()}function ri(e,t){let n=z(e,t),r=f.z.coerce.number().int().min(1,n).max(12,n);return e.required?r:r.nullable()}function oi(e){return e===null||e===""?void 0:e}function En(e,t){let n=e.validation?.email?m(e.validation?.email,t):void 0;return f.z.email(n)}function kn(e,t,n){return e=ii(e,t,n),e=ai(e,t,n),e}function In(e,t,n){let r=t.advanced?.length?.min;return r===void 0||r<1?e.min(1,z(t,n)):e}var ii=(e,t,n)=>wn(e,t,he,n),ai=(e,t,n)=>wn(e,t,Te,n);function wn(e,t,n,r){let o=t.advanced?.length?.[n];if(o!==void 0){let i=t.validation?.length?.[n]?m(t.validation?.length?.[n],r):void 0;return e[n](o,i)}return e}function li(e,t=[],n){let r=ci(t);return r.length===0?e:e.superRefine((o,i)=>{for(let{name:a,rule:l}of r)if(!si(o,a,l)){let s=m(l.message,n);i.addIssue({code:"custom",message:s,path:[a]})}})}function si(e,t,n){let r=n.operator??"eq",o=ce[r];return o?o(e[t],e[n.field]):!1}function ci(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 Pn(e,t,n,r){let o=[],i=Array.isArray(t)?t:[t];for(let a of i){let l=a.operator??"eq",s=ce[l];if(s&&!s(e,n(a.field))&&a.message){let c=m(a.message,r);o.push(c)}}return o}function z(e,t){return e.validation?.required?m(e.validation?.required,t):void 0}function On(e,t){if(!t||!di(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||ui(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 ui(e){return e==="https"?"443":"80"}function di(e){return/^(https?:)?\/\//.test(e)}function Vn(e,t){try{if(!e)return t;if(!t)return e;let n=new URL(e,Re);new URL(t,Re).searchParams.forEach((i,a)=>{n.searchParams.set(a,i)});let o=n.toString();return e.startsWith("/")||!e.includes("://")?o.replace(Re,""):o}catch{return t||e}}function Dn(e){return!Array.isArray(e)||e.length===0?null:e.reduce((t,n)=>{let r=Vn(t.url,n.url),o=fi(t,n),i=mi(t,n);return{...t,...n,url:r,body:o,headers:i}})}function fi(e,t){return d(t.body)&&d(e?.body)?{...e.body,...t.body}:t.body??e?.body}function mi(e,t){return d(t.headers)&&d(e?.headers)?{...e.headers,...t.headers}:t.headers??e?.headers}function we(e,t){return{...e,...t}}var Ln=require("tailwind-merge"),Mn=require("react/jsx-runtime");function Pe(e){let t=e.errors&&e.errors.length>0;return(0,Mn.jsx)("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[kt]:"true"},...e.disabled&&{[It]:"true"},"data-orientation":e.orientation,className:(0,Ln.twMerge)("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})}var _n=require("tailwind-merge"),Bn=require("react/jsx-runtime");function Un(e){return(0,Bn.jsx)(Pe,{...e,orientation:P,className:(0,_n.twMerge)("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}var Gn=require("tailwind-merge"),Xn=require("react/jsx-runtime");function Yn(e){return(0,Xn.jsx)(Pe,{...e,orientation:W,className:(0,Gn.twMerge)("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})}var et=require("react/jsx-runtime");function Hn(e){let t=Ne(e.field),n=b(e.field),r=rn(e.field);return e.orientation===P?(0,et.jsx)(Un,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children}):(0,et.jsx)(Yn,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children})}function $n(e){if(!e.field.type)return null;let t=cn(e.field,e.disabled),n=Tn(e.field),r=hn(e.field,e.errors),o={...e.field,disabled:t.disabled};return e.children({ariaAttributes:r,commonProps:t,dataAttributes:n,field:o,orientation:e.orientation})}var qn=require("tailwind-merge"),K=require("react/jsx-runtime");function Zn(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:r}=we(e.style,{orientation:nn(e.field)}),o=on(e.field,e.disabled);return(0,K.jsxs)("div",{className:(0,qn.twMerge)("flex flex-col gap-3",Cn(t)),children:[(0,K.jsx)(Hn,{disabled:o,errors:n,field:e.field,orientation:r,children:(0,K.jsx)($n,{disabled:o,errors:n,field:e.field,orientation:r,children:e.children})}),(0,K.jsx)(pt,{errors:n,name:e.field.name})]})}var D=require("jotai"),tt=require("jotai-family"),Oe=require("fast-equals");function pi(e){return(0,tt.atomFamily)(t=>(0,D.atom)(n=>n(e)[t]??void 0,(n,r,o)=>{let i=n(e);if(o!=null){let a=i[t];(!a||!(0,Oe.deepEqual)(a,o))&&r(e,{...i,[t]:o})}else if(i[t]){let{[t]:a,...l}=i;r(e,l)}}))}function gi(e){return(0,D.atom)(null,(t,n)=>{let r=t(e);r&&Object.keys(r).length>0&&n(e,{})})}function yi(e){return(0,D.atom)(null,(t,n,r)=>{let i={...t(e)},a=!1;for(let l of r)i[l]&&(delete i[l],a=!0);a&&n(e,i)})}function bi(e){return(0,D.atom)(null,(t,n,r)=>{let o=t(e);(0,Oe.deepEqual)(o,r)||n(e,r)})}function Wn(e,t={}){let{merge:n,validateTarget:r}=t;return(0,tt.atomFamily)(o=>(0,D.atom)(i=>{let a=i(e)[o];if(a&&n)return n(Object.values(a))},(i,a,l,s)=>{if(r&&!r(l))return;let c=i(e),u={...c[l]??{}};if(s!=null){let y=u[o];(!y||!(0,Oe.deepEqual)(y,s))&&(u[o]=s,a(e,{...c,[l]:u}))}else if(u[o])if(delete u[o],Object.keys(u).length===0){let{[l]:y,...w}=c;a(e,w)}else a(e,{...c,[l]:u})}))}function zn(e){return(0,D.atom)(null,(t,n,r)=>{let i={...t(e)},a=!1;for(let l of r)i[l]&&(delete i[l],a=!0);for(let l in i){let s={...i[l]},c=!1;for(let u of r)s[u]&&(delete s[u],c=!0,a=!0);c&&(Object.keys(s).length===0?delete i[l]:i[l]=s)}a&&n(e,i)})}function j(e={}){let t=(0,D.atom)(e);return{atom:t,clearAll:gi(t),clear:yi(t),bulkReport:bi(t),report:pi(t)}}var nt=j(),Kn=nt.clear,jn=nt.bulkReport,Ve=nt.report;var Jn=require("jotai"),er=require("react/jsx-runtime");function Qn(e){return n=>{let r=(0,Jn.useAtomValue)(Ve(n.field.name));return(0,er.jsx)(e,{...n,errors:r?{[n.field.name]:r}:void 0})}}var tr=j(),nr=tr.atom,rr=tr.report;var or=require("jotai"),ar=require("react/jsx-runtime");function ir(e){return n=>{let r=(0,or.useAtomValue)(rr(n.field.name));if(r?.hidden??n.field.hidden??!1)return null;let i=r?.disabled??n.disabled;return(0,ar.jsx)(e,{...n,disabled:i})}}var lr=ir(Qn(Zn));var cr=require("react/jsx-runtime");function sr(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return(0,cr.jsx)("div",{"data-slot":"field-control",className:"w-full",children:t})}var De=require("react");var rt=require("react/jsx-runtime");function ur(e){return(0,rt.jsx)("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:(0,rt.jsx)("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"})})}var dr=require("react/jsx-runtime");function J(e){return(0,dr.jsx)("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})}var fr=require("react/jsx-runtime");function L(e){return Xt(e,(t,n,r)=>(0,fr.jsx)("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${t}`))}var _=require("react/jsx-runtime");function mr(e){return(0,_.jsxs)(_.Fragment,{children:[e.title&&(0,_.jsx)("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:L(e.title)}),e.description&&(0,_.jsx)("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:L(e.description)})]})}var p=require("react/jsx-runtime");function pr(e){let t=e.section.fields||[],[n,r]=(0,De.useState)(!1),{compact:o}=we(e.style,{compact:e.section.compact});return!e.section.title&&!e.section.description?(0,p.jsx)(J,{compact:o,children:e.children}):e.section.advanced?(0,p.jsxs)("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:[(0,p.jsx)("legend",{children:(0,p.jsxs)("button",{type:"button",onClick:()=>r(i=>!i),className:"flex cursor-pointer items-center gap-2 text-base font-medium text-slate-600 dark:text-slate-400",children:[(0,p.jsx)(ur,{expanded:n}),(0,p.jsx)("span",{children:L(e.section.title)})]})}),(0,p.jsx)(De.Activity,{mode:n?"visible":"hidden",children:(0,p.jsxs)("div",{className:"mt-3 flex flex-col gap-4 border-l-2 border-slate-300 pl-4 dark:border-slate-600","data-slot":"field-set-content",children:[e.section.description&&(0,p.jsx)("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:L(e.section.description)}),(0,p.jsx)(J,{compact:o,children:e.children})]})})]}):(0,p.jsxs)("fieldset",{"data-slot":"field-set","data-empty":t.length===0,className:"flex flex-col data-[empty=false]:gap-6",id:e.section.id?.toString(),children:[(0,p.jsx)(mr,{description:e.section.description,title:e.section.title}),(0,p.jsx)(J,{compact:o,children:e.children})]})}var yr=require("react");var ot=require("react/jsx-runtime");function gr(){return(0,ot.jsx)("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:(0,ot.jsx)("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}var k=require("react/jsx-runtime");function br(e){let t=Ie(e.sections,e.definition);return(0,k.jsx)("div",{className:"h-full w-full",children:(0,k.jsx)("form",{noValidate:e.noValidate,action:e.action,children:(0,k.jsxs)(J,{children:[t.map((n,r)=>(0,k.jsxs)(yr.Fragment,{children:[(0,k.jsx)(pr,{section:n,style:e.config.style,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.separator&&(0,k.jsx)(gr,{})]},r)),e.control&&(0,k.jsx)(sr,{isPending:e.isPending,children:e.control})]})})})}var hr=require("react/jsx-runtime");function xr(e){return(0,hr.jsx)("p",{className:"-mt-2 text-xs leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}var Tr=require("react/jsx-runtime");function Le(e){let t=L(e.text);return t?(0,Tr.jsx)(xr,{children:t}):null}var Rr=require("tailwind-merge"),Me=require("react/jsx-runtime");function Sr(e){let t=e.style?.showOptionalLabel??!0,n=N(e.field)||b(e.field);return(0,Me.jsxs)("label",{"data-slot":"field-label","data-normal":n,className:(0,Rr.twMerge)("flex w-fit items-center gap-2 text-sm leading-snug font-medium select-none","data-[normal=true]:font-normal","group-data-[readonly=true]:cursor-not-allowed group-data-[readonly=true]:opacity-50"),htmlFor:e.field.name,children:[e.children,t&&!e.field.required&&(0,Me.jsx)("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:m("(Optional)",e.translations)})]})}var de=require("react/jsx-runtime");function Ar(e){let t=M(e.field.label)?S(e.field.label,{context:e.context,env:e.config?.env}):e.field.label,n=M(e.field.description)?S(e.field.description,{context:e.context,env:e.config?.env}):e.field.description;return(0,de.jsxs)("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[(0,de.jsx)(Sr,{field:e.field,style:e.config?.style,translations:e.translations,children:m(t,e.translations)}),e.orientation===W&&(0,de.jsx)(Le,{text:m(n,e.translations)})]})}var U=require("react/jsx-runtime");function Cr(e){return(0,U.jsxs)(U.Fragment,{children:[e.field.name&&e.field.label&&(0,U.jsx)(Ar,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations}),e.children,e.orientation===P&&e.field.description&&(0,U.jsx)(Le,{text:m(e.field.description,e.translations)})]})}function _e(e,t){return e?t(e):null}var x=require("react");var Er=require("jotai");var xi=e=>{let t=Dn(e);if(t)return t},hi=e=>e.trim()!=="",Fr=(0,Er.atom)({}),Nr=Wn(Fr,{merge:xi,validateTarget:hi}),vr=zn(Fr);var wr=require("jotai");var kr=po(require("swr"),1);function Ir(e=null,t,n=!1){let{data:r,error:o}=(0,kr.default)(Ti(e,t,n),t.fetcher.provider);if(o&&se.error("Error fetching data source:",o),e){if(Array.isArray(e))return e;if(r)return Ut(r,e.namespace)}return null}function Ti(e=null,t,n=!1){if(e&&!Array.isArray(e)&&!n&&e.url&&!M(e.url)){if(On(e.url,t.fetcher.remotePatterns))return e;se.warn(`URL blocked by remotePatterns: ${e.url}. Check your luna.config.ts`)}return null}function Pr(e,t,n){let r=mn(e,n),[o,i]=(0,wr.useAtom)(Nr(e.name));return[Ir(o??r,t,e.disabled),i]}var B=require("react");function Or(e,t,n,r){let{name:o}=e,i=(0,B.useMemo)(()=>vn(e,r),[e,r]),a=(0,B.useEffectEvent)(s=>{s&&t(s,i,e)}),l=(0,B.useEffectEvent)(s=>{s&&n(s)});return(0,B.useEffect)(()=>(a(o),()=>{l(o)}),[o]),i}var te=require("jotai");var Q=require("react");function Vr(){let e=(0,Q.useRef)(null);(0,Q.useEffect)(()=>()=>{e.current&&clearTimeout(e.current)},[]);function t(){e.current&&(clearTimeout(e.current),e.current=null)}return(0,Q.useCallback)((r,o)=>{t(),e.current=setTimeout(r,o)},[])}var Ue=j(),Dr=Ue.atom,Lr=Ue.clearAll,Mr=Ue.clear,Be=Ue.report;var _r=require("jotai"),ee=require("react");function Ur(e,t){let{name:n}=e,r=(0,ee.useRef)(!1),[o,i]=(0,_r.useAtom)(Be(n));(0,ee.useEffect)(()=>{if(!t||!(n in t))return;let l=t[n];ue(l)&&(r.current=!0,i(l))},[n,t,i]);let a=(0,ee.useCallback)(()=>r.current?(r.current=!1,!0):!1,[]);return{setValue:i,shouldSkipOnChange:a,value:o}}var it=require("react/jsx-runtime");function Br(e){let t=e.field.advanced?.entity,n=(0,te.useStore)(),r=Vr(),[,o]=(0,x.useTransition)(),{setValue:i,shouldSkipOnChange:a,value:l}=Ur(e.field,e.value),s=(0,x.useRef)(l);s.current=l;let c=(0,x.useRef)(e.translations);c.current=e.translations;let u=en(e.field),y=Ne(e.field),w=(0,te.useSetAtom)(Dr),re=(0,te.useSetAtom)(nr),me=(0,te.useSetAtom)(Ve(e.field.name)),[oe,G]=Pr(e.field,e.config,l),E=Or(e.field,e.onMount,e.onUnmount,e.translations),ie=m(e.commonProps.placeholder,e.translations),h={...e.commonProps,placeholder:ie},{commonPropsWithOptions:eo,defaultValue:to}=pn(e.field,h,oe,l),dt=(0,x.useRef)(null);dt.current=g=>{i(g),e.onValueChange&&e.onValueChange({name:e.field.name,value:g})};let no=gn(e.field,to),pe=(0,x.useCallback)(g=>{let Y=E.safeParse(g).error?.issues.map(ae=>ae.message)??[],X=e.field.validation?.custom,Ye=X?Pn(g,X,ae=>n.get(Be(ae)),c.current):[];me([...Y,...Ye])},[e.field.validation?.custom,E,me,n]),ft=(0,x.useCallback)((g,T)=>{if(u){r(()=>{T({value:g})},500);return}let Y=_t(g,oe,t);T(Y)},[oe,t,u,r]),ro=(0,x.useCallback)(g=>{let T=g.target.value;if(!y&&a()&&(!u||T===s.current))return;dt.current?.(T),e.config.validation.change&&pe(T);let Y=e.field.event?.change;Y&&ft(T,X=>{Ht(Y,({sources:Ye,states:ae,values:io})=>{o(()=>{$t(X,Ye,(H,$)=>G(H,$)),Zt(X,ae,(H,$)=>{re(ge=>{if($)return{...ge,[H]:$};let{[H]:Ci,...ao}=ge;return ao})}),Wt(X,io,(H,$)=>{w(ge=>({...ge,[H]:$}))})})})})},[ft,y,u,e.config.validation.change,e.field.event?.change,re,G,w,a,pe]),oo=(0,x.useCallback)(g=>{if(!y){let T=g.target.value;e.config.validation.blur&&pe(T)}},[y,e.config.validation.blur,pe]);return _e(e.config.inputs[e.field.type],g=>(0,it.jsx)(Cr,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations,children:(0,it.jsx)(g,{...eo,...e.ariaAttributes,...e.dataAttributes,...no,onBlur:oo,onChange:ro})}))}var Gr=require("tailwind-merge"),at=require("react/jsx-runtime");function Yr(e){let t=An(e.column?.advanced?.cols);return(0,at.jsx)("div",{className:"flex w-full flex-col gap-4",children:(0,at.jsx)("div",{className:(0,Gr.twMerge)("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children})})}var Xr=require("react"),ne=require("react/jsx-runtime");function lt(e){let{column:t,field:n}=e.components;return Ie(e.fields).map((r,o)=>(0,ne.jsxs)(Xr.Fragment,{children:[jt(r)&&(0,ne.jsx)(t,{column:r,children:(0,ne.jsx)(lt,{...e,fields:r.fields})}),Jt(r)&&(0,ne.jsx)(n,{disabled:e.disabled,field:r,style:e.style,children:e.children})]},o))}var $r=require("react/jsx-runtime");function Hr(e){return n=>(0,$r.jsx)(lt,{...n,components:{column:Yr,field:e}})}var ct=require("jotai");var fe=require("react");function Zr(e,t,n){let{onSuccess:r,preserveValues:o=!1,validation:i=!0}=n??{},a=(0,ct.useSetAtom)(jn),l=(0,ct.useSetAtom)(Lr),s={data:null,error:null,success:!1},[c,u,y]=(0,fe.useActionState)(async(w,re)=>{let[me,oe]=e(),G=Fn(me,oe,n?.translations);if(i===!1)return t?await t(re,G):w;let E=Yt(re),ie=G.safeParse(E);if(!ie.success){let h=Nn(ie.error);return(0,fe.startTransition)(()=>{a(h)}),st(E,{description:"Please correct the errors and try again.",details:[],title:"There were validation errors submitting the form."})}if(t)try{let h=await t(E,G);return h.success?(r?.(h.data),o||(0,fe.startTransition)(()=>{l()}),qr(E,o)):st(E,h.error)}catch(h){return se.error("Error executing form action:",h),st(E,{title:"An unexpected error occurred submitting the form.",details:Ri(h)})}return qr(ie.data,o)},s);return[u,c,y]}function Ri(e){let t=e instanceof Error?e.message:["Unknown error"];return Array.isArray(t)?t:[t]}function qr(e,t=!1){return{data:t?e:null,error:null,success:!0}}function st(e,t){return{data:e,error:t,success:!1}}var I=require("react");var Wr=require("react"),Ge=require("jotai");function zr(){let e=(0,Ge.useSetAtom)(Kn),t=(0,Ge.useSetAtom)(vr),n=(0,Ge.useSetAtom)(Mr);return(0,Wr.useCallback)(r=>{let o=Array.isArray(r)?r:[r];e(o),t(o),n(o)},[e,t,n])}function Kr(){let e=zr(),t=(0,I.useRef)({}),n=(0,I.useRef)([]),r=(0,I.useRef)(new Set),o=(0,I.useCallback)((l,s,c)=>{l in t.current||(t.current[l]=s,n.current.push(c))},[]),i=(0,I.useCallback)(l=>{t.current[l]&&(delete t.current[l],n.current=n.current.filter(s=>s.name!==l),r.current.add(l),(0,I.startTransition)(()=>{r.current.size>0&&(e(Array.from(r.current)),r.current.clear())}))},[e]);function a(){return[t.current,n.current]}return[a,o,i]}var C=require("react/jsx-runtime"),Si=Hr(lr);function jr(e){let t=e.translations?.[e.lang??""],[n,r,o]=Kr(),[i,a,l]=Zr(n,e.action,{onSuccess:e.onSuccess,validation:e.config.validation.submit,translations:t}),s=e.config.validation.showError&&!a.success&&a.error,c=a.data??e.value;return(0,C.jsxs)(C.Fragment,{children:[s&&_e(e.config.alert,u=>(0,C.jsx)("div",{className:"mb-4 w-full",children:(0,C.jsx)(u,{description:a.error?.description,details:a.error?.details,title:a.error.title})})),(0,C.jsx)(br,{action:i,config:e.config,control:e.children,definition:e.definition,isPending:l,noValidate:!0,readOnly:e.readOnly,sections:e.sections,children:({disabled:u,fields:y})=>(0,C.jsx)(Si,{disabled:u,fields:y,style:e.config.style,children:w=>(0,C.jsx)(Br,{...w,config:e.config,context:e.context,onMount:r,onUnmount:o,onValueChange:e.onValueChange,translations:t,value:c})})})]})}var Jr=require("jotai"),ut=require("react/jsx-runtime");function Qr(e){return(0,ut.jsx)(Jr.Provider,{children:(0,ut.jsx)(jr,{...e})})}
1
+ "use strict";var Yo=Object.create;var Ce=Object.defineProperty;var Ho=Object.getOwnPropertyDescriptor;var Xo=Object.getOwnPropertyNames;var qo=Object.getPrototypeOf,Zo=Object.prototype.hasOwnProperty;var Wo=(e,t)=>{for(var n in t)Ce(e,n,{get:t[n],enumerable:!0})},Mt=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Xo(t))!Zo.call(e,o)&&o!==n&&Ce(e,o,{get:()=>t[o],enumerable:!(r=Ho(t,o))||r.enumerable});return e};var Ko=(e,t,n)=>(n=e!=null?Yo(qo(e)):{},Mt(t||!e||!e.__esModule?Ce(n,"default",{value:e,enumerable:!0}):n,e)),zo=e=>Mt(Ce({},"__esModule",{value:!0}),e);var cl={};Wo(cl,{Form:()=>_o});module.exports=zo(cl);var $t=require("react/jsx-runtime");function _t(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return(0,$t.jsx)("div",{"data-slot":"field-control",className:"w-full",children:t})}var ue=require("react");var ut=require("react/jsx-runtime");function Bt(e){return(0,ut.jsx)("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:(0,ut.jsx)("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"})})}var Ne="input",Gt="input/email",Ut="input/number";var Yt="textarea",Ht="radio",Xt="checkbox",dt="list";var qt="select",Zt="select/month",Wt="select/year";var pe="column",ft="fields",Kt="label",R="value",Ee="options",mt="email",zt="number",Jt="password",Qt="tel",ye="text",jt="aria-errormessage",en="aria-invalid",tn="data-invalid",nn="data-readonly",rn="aria",on="data",ke="min",Ie="max",ln="minLength",an="maxLength",le="$ref";var sn="source",cn="state",we="http://luna.internal",U="vertical",ae="horizontal";var un="type";function d(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function Le(e){return e==null||e===""}function Y(e){return w(e)||typeof e=="number"||gt(e)}function w(e){return typeof e=="string"}function dn(e){return d(e)&&"url"in e}function gt(e){return typeof e=="boolean"}var Jo=/[^/]+$/,Qo=/^\d+$/;function yt(e,t=[],n=R){return Array.isArray(t)?t.find(r=>{let o=bt(r,n);if(o!==void 0&&`${o}`===e)return r})??{value:e}:{value:e}}function bt(e,t=R){if(e!=null){if(Y(e))return e;if(d(e)){let n=jo(e,t);if(Y(n))return n}}}function jo(e,t){let n=T(e,t);if(Y(n))return n}function fn(e,t){if(Array.isArray(e))return e;let n=T(e,t);return Array.isArray(n)?n:null}function T(e,t){if(!t||!d(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(d(r)&&o in r)r=r[o];else return null;return r}function mn(e,t={label:Kt,value:R}){return e.map(n=>{if(d(n)){let r=T(n,t.label),o=T(n,t.value);if(Y(r)&&Y(o))return{label:`${r}`,value:`${o}`}}return n})}function gn(e=ye){if(e){let t=e.match(Jo);if(t){let[n]=t;if(n!==Ne)return n.trim().toLowerCase()}}return ye}function pn(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 yn(e){let t={};for(let n in e){let r=n.split(".");if(r.length===1){t[n]=e[n];continue}let o=t;for(let l=0;l<r.length-1;l++){let a=r[l],s=r[l+1],c=Qo.test(s);a in o||(o[a]=c?[]:{}),o=o[a]}let i=r[r.length-1];o[i]=e[n]}return pt(t),t}function pt(e){for(let t in e){let n=e[t];if(Array.isArray(n)){let r=n.filter(o=>o!==void 0);r.forEach(o=>{o!==null&&typeof o=="object"&&!Array.isArray(o)&&pt(o)}),e[t]=r}else n!==null&&typeof n=="object"&&pt(n)}}var ei=/\[([^\]]+)\]\(([^)]+)\)/g;function H(e,t={}){if(w(e))return ti(e,t);if(Array.isArray(e))return e.map(n=>H(n,t));if(d(e)){let n={};for(let r in e)n[r]=H(e[r],t);return n}return e}function xt(e,t={}){return be(e)?H(e,t):e}function be(e){return w(e)?/{([^}]+)}/.test(e):Array.isArray(e)?e.some(t=>be(t)):d(e)?Object.values(e).some(t=>be(t)):!1}function ti(e,t={}){return e.replace(/{([^}]+)}/g,(n,r)=>{let o=r.includes(".")?T(t,r):t[r];return Y(o)?String(o):n})}function bn(e,t){if(!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=ei.exec(e))!==null;){let[l,a,s]=n,c=n.index;o=!0,c>r&&i.push(e.substring(r,c));let u=t?t(c,s,a):l;i.push(u),r=c+l.length}return o?(r<e.length&&i.push(e.substring(r)),i):e}var v={error:(...e)=>{ht()&&!Rt()&&Pe().error("[Luna Form]",...e)},warn:(...e)=>{ht()&&!Rt()&&Pe().warn("[Luna Form]",...e)},info:(...e)=>{ht()&&!Rt()&&Pe().info("[Luna Form]",...e)}},ht=()=>typeof Pe()<"u",Rt=()=>!0,Pe=()=>globalThis.console;function xn(e=[],t){let n=[],r=[],o=[];for(let i of e)i.action===R&&n.push(i),i.action===sn&&r.push(i),i.action===cn&&o.push(i);t({sources:r,states:o,values:n})}function hn(e=null,t=[],n){for(let r of t){let{target:o,source:i}=r;if(!e){n(o,void 0);continue}if(dn(i)){let l=H(i.url,e),a=i.body?H(i.body,e):i.body;n(o,{...i,url:l,body:a})}}}var xe={eq:li,gt:ui,gte:di,in:si,lt:fi,lte:mi,neq:ai,nin:ci},ni=/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2})?/,Rn=/^(\d{2})[/-](\d{2})[/-](\d{4})(?: (\d{2}):(\d{2})(?::(\d{2}))?)?$/;function ri(e){return typeof e=="string"&&ni.test(e)}function oi(e){return typeof e=="string"&&Rn.test(e)}function ii(e){let t=e.match(Rn);if(t){let[,n,r,o,i,l,a]=t;return new Date(Number(o),Number(r)-1,Number(n),Number(i??0),Number(l??0),Number(a??0)).getTime()}return NaN}function X(e){return ri(e)?new Date(e).getTime():oi(e)?ii(e):Number(e)}function li(e,t){return e===t}function ai(e,t){return e!==t}function si(e,t){return Array.isArray(t)&&t.includes(String(e))}function ci(e,t){return Array.isArray(t)&&!t.includes(String(e))}function ui(e,t){return X(e)>X(t)}function di(e,t){return X(e)>=X(t)}function fi(e,t){return X(e)<X(t)}function mi(e,t){return X(e)<=X(t)}function Tn(e=null,t=[],n){for(let r of t){let{target:o,state:i,when:l}=r,a=Array.isArray(o)?o:[o];if(!e){n(a);continue}v.info(`Selected value for state event: ${JSON.stringify(e)}, evaluating condition: ${JSON.stringify(l)}`);let s=gi(e,l);v.info(`Condition evaluated to: ${s}, setting state for targets: ${a.join(", ")}`),n(a,s?i:void 0)}}function gi(e,t){return t===void 0?!0:w(t)?(v.info(`Evaluating string condition: ${t} against selected value: ${JSON.stringify(e)} using VALUE field`),v.info(`Extracted value for comparison: ${JSON.stringify(se(e,R))}`),v.info(`Comparison result: ${se(e,R)===t}`),se(e,R)===t):gt(t)?!!se(e,R)===t:Array.isArray(t)?t.includes(String(se(e,R))):pi(e,t)}function pi(e=null,t){let n=se(e,t.field??R),{operator:r="eq",value:o}=t,i=xe[r];return i?i(n,o):!1}function se(e,t){return d(e)?T(e,t):e}function Sn(e=null,t=[],n){for(let r of t)for(let[o,i]of Object.entries(r.value))n(o,e?H(i,e):void 0)}var Oe=e=>L(Zt)(e),Ve=e=>L(Wt)(e),S=L(Xt),Tt=L(Ne),D=L(Ht),M=L(qt),St=L(Yt),An=L(ye,mt,Jt,Qt),vn=L(Gt,mt),De=L(Ut,zt);function Me(e){return D(e)||S(e)}function Fn(e){return e.type===dt}function q(e){return e.type===pe}function _e(e){return e.type!==pe&&e.type!==dt}function $e(e){return M(e)||D(e)}function Cn(e){return Tt(e)||St(e)}function j(e){return e!=null&&e!==""}function L(...e){return t=>{let n=w(t.type)?t.type:void 0;return n?e.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function Nn(e,t={}){if(M(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&d(n))return[n]}}function En(e){return D(e)||S(e)?ae:e.advanced?.orientation??U}function kn(e){return S(e)?e.advanced?.reverse!==!1:!1}function In(e,t){let n=e.readonly??!1;return t||n}function wn(e){if(D(e)||M(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||d(t)&&!(le in t))return t}}var yi=/^\d+$/;function Ln(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function Pn(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 At(){return new Date().getFullYear()}function vt(e,t){if(typeof e=="number")return e;let n=t??At(),r=e.trim().toLowerCase();if(r.startsWith("current")){let o=r.match(/^current([+-])(\d+)$/);if(o){let[,i,l]=o,a=parseInt(l,10);if(!isNaN(a))return i==="+"?n+a:n-a}return n}return yi.test(r)?parseInt(r,10):n}var Be=At();function bi(e){if(M(e))return xi(e)}function xi(e){if(Oe(e))return Ln();if(Ve(e)){let t=e.advanced?.length?.min??Be,n=e.advanced?.length?.max??Be+5;return Pn(vt(t,Be),vt(n,Be))}}function On(e,t=!1){let n={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return Tt(e)?{...n,...hi(e)}:M(e)?{...n,...Ri(e)}:St(e)?{...n,...Ti(e)}:n}function hi(e){let t=gn(e.type),n={...e,type:t};return{...Vn(e),...Si(n),...An(n)?Dn(n):{},type:t}}function Ri(e){let t=bi(e);return t?{options:t}:{}}function Ti(e){return{...Vn(e),...Dn(e)}}function Vn(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function Si(e){return De(e)?Ai(e):{}}function Dn(e){return Mn(e,{min:ln,max:an})}function Ai(e){return Mn(e,{min:ke,max:Ie})}function Mn(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 _n(e,t){let n=wn(e);return n||Nn(e,t)}function vi(e,t){let n=d(t)&&e.name in t?t[e.name]:t;return bt(n,e.advanced?.entity)}function Fi(e,t,n){return $e(e)&&Array.isArray(n)?{...t,[Ee]:n}:t}function Ci(e,t,n){if(e.required&&!j(n)&&M(e)&&e.advanced?.preselected!==!1&&Ee in t){let r=t[Ee];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function Ni(e,t){return M(e)&&Array.isArray(t)?mn(t,e.advanced?.options):t}function $n(e,t,n,r){let o=vi(e,r),i=Array.isArray(n)?Ni(e,n):n,l=Fi(e,t,i),a=Ci(e,l,o);return{commonPropsWithOptions:l,defaultValue:a}}function Bn(e,t){return S(e)?{checked:j(t)?t:!1}:{value:t??""}}var Ei=/^#\/definition\//;function Ue(e=[],t){let n=Ge(e,t);return Array.isArray(n)?n.filter(Ii).sort((r,o)=>Gn(r)-Gn(o)):[]}function Ge(e,t,n=new Map,r=new WeakSet){if(!ki(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=>Ge(i,t,n,r));if(le in e&&w(e[le])){let i=e[le].replace(Ei,""),l=T(t,i);return l!==null?Ge(l,t,n,r):e}let o={};for(let[i,l]of Object.entries(e))o[i]=Ge(l,t,n,r);return r.delete(e),n.set(e,o),o}function Un(e){return Object.entries(e??{})}function Gn(e){return e.order??Number.MAX_VALUE}function ki(e){return e!==void 0&&d(e)&&Object.keys(e).length>0}function Ii(e){return un in e?!0:Array.isArray(e[ft])?e[ft].length>0:!0}function Yn(e,t){let n={};for(let[r,o]of Un(t))n[`${e}-${r}`]=o;return n}function wi(e){return Yn(rn,e)}function Li(e){return Yn(on,e)}function Hn(e,t){let n=wi(e.advanced?.aria);return t&&t.length>0&&(n[en]="true",n[jt]=`${e.name}-error`),n}function Xn(e){return Li(e.advanced?.data)}var qn={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},Zn={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function Wn(e,t=2){return qn[e&&e in qn?e:t]}function Kn(e){if(e&&e in Zn)return Zn[e]}function Pi(e,t){let n=e.advanced?.length?.min??1;if(t){let r=T(t,e.name);if(Array.isArray(r))return Math.max(r.length,n)}return Math.max(n,0)}function zn(e){return!Array.isArray(e.fields)||e.fields.length===0?!1:e.fields.length>1||e.fields[0].type===pe}function Jn(e,t){let n=Pi(e,t);return Array.from({length:n},(r,o)=>o)}function Qn(e){return e.label??e.name}var m=require("zod");function f(e,t){return e?t?t[e]??e:e:""}var Oi=[[De,$i],[vn,Vi],[Ve,Bi],[Oe,Gi],[S,Di],[D,Mi]];function er(e,t=[],n){let r=m.z.object(e);return t.length===0?r:Xi(r,t,n)}function tr(e){let t={},n=m.z.flattenError(e).fieldErrors;for(let[r,o]of Object.entries(n))o!==void 0&&(t[r]=o);return t}function nr(e,t){for(let[n,r]of Oi)if(n(e))return r(e,t);return _i(e,t)}function Vi(e,t){let n=m.z.string().trim();if(e.required){let r=ce(e,t),o=n.min(1,r).pipe(jn(e,t));return m.z.preprocess(i=>Le(i)?"":i,o)}return n.pipe(jn(e,t)).or(m.z.literal("")).nullable()}function Di(e,t){let n=m.z.coerce.boolean();return e.required?(n=n.refine(r=>r===!0,{message:ce(e,t)}),m.z.preprocess(r=>r===null?!1:r,n)):n.nullable()}function Mi(e,t){let n=m.z.coerce.string();return e.required?(n=n.min(1,ce(e,t)),m.z.preprocess(r=>Le(r)?"":r,n)):n.or(m.z.literal("")).nullable()}function _i(e,t){let n=m.z.coerce.string().trim();return n=rr(n,e,t),e.required?(n=or(n,e,t),m.z.preprocess(r=>Le(r)?"":r,n)):n.nullable()}function $i(e,t){let n=m.z.coerce.number().int();return n=rr(n,e,t),e.required?(n=or(n,e,t),m.z.preprocess(r=>r===null?void 0:r,n)):n.nullable()}function Bi(e,t){return e.required?m.z.preprocess(Ui,m.z.coerce.number({message:ce(e,t)}).int()):m.z.coerce.number().int().nullable()}function Gi(e,t){let n=ce(e,t),r=m.z.coerce.number().int().min(1,n).max(12,n);return e.required?r:r.nullable()}function Ui(e){return e===null||e===""?void 0:e}function jn(e,t){let n=e.validation?.email?f(e.validation?.email,t):void 0;return m.z.email(n)}function rr(e,t,n){return e=Yi(e,t,n),e=Hi(e,t,n),e}function or(e,t,n){let r=t.advanced?.length?.min;return r===void 0||r<1?e.min(1,ce(t,n)):e}var Yi=(e,t,n)=>ir(e,t,ke,n),Hi=(e,t,n)=>ir(e,t,Ie,n);function ir(e,t,n,r){let o=t.advanced?.length?.[n];if(o!==void 0){let i=t.validation?.length?.[n]?f(t.validation?.length?.[n],r):void 0;return e[n](o,i)}return e}function Xi(e,t=[],n){let r=Zi(t);return r.length===0?e:e.superRefine((o,i)=>{for(let{name:l,rule:a}of r)if(!qi(o,l,a)){let s=f(a.message,n);i.addIssue({code:"custom",message:s,path:[l]})}})}function qi(e,t,n){let r=n.operator??"eq",o=xe[r];return o?o(e[t],e[n.field]):!1}function Zi(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 lr(e,t,n,r){let o=[],i=Array.isArray(t)?t:[t];for(let l of i){let a=l.operator??"eq",s=xe[a];if(s&&!s(e,n(l.field))&&l.message){let c=f(l.message,r);o.push(c)}}return o}function ce(e,t){return e.validation?.required?f(e.validation?.required,t):void 0}function ar(e,t){if(!t||!Ki(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||Wi(r);return t.some(l=>!(l.protocol&&l.protocol!==r||l.hostname&&l.hostname!==o||l.port!==void 0&&String(l.port)!==i))}catch{return!1}}function Wi(e){return e==="https"?"443":"80"}function Ki(e){return/^(https?:)?\/\//.test(e)}function sr(e,t){try{if(!e)return t;if(!t)return e;let n=new URL(e,we);new URL(t,we).searchParams.forEach((i,l)=>{n.searchParams.set(l,i)});let o=n.toString();return e.startsWith("/")||!e.includes("://")?o.replace(we,""):o}catch{return t||e}}function cr(e){return!Array.isArray(e)||e.length===0?null:e.reduce((t,n)=>{let r=sr(t.url,n.url),o=zi(t,n),i=Ji(t,n);return{...t,...n,url:r,body:o,headers:i}})}function zi(e,t){return d(t.body)&&d(e?.body)?{...e.body,...t.body}:t.body??e?.body}function Ji(e,t){return d(t.headers)&&d(e?.headers)?{...e.headers,...t.headers}:t.headers??e?.headers}function Ye(e,t){return{...e,...t}}var ur=require("react/jsx-runtime");function Z(e){return bn(e,(t,n,r)=>(0,ur.jsx)("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${t}`))}var P=require("react/jsx-runtime");function dr(e){let{fields:t=[]}=e.section,[n,r]=(0,ue.useState)(!1),o=(0,ue.useCallback)(()=>r(i=>!i),[]);return(0,P.jsxs)("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:[(0,P.jsx)("legend",{children:(0,P.jsxs)("button",{className:"flex cursor-pointer items-center gap-2 text-base font-medium text-slate-600 dark:text-slate-400",onClick:o,type:"button",children:[(0,P.jsx)(Bt,{expanded:n}),(0,P.jsx)("span",{children:Z(e.section.title)})]})}),(0,P.jsx)(ue.Activity,{mode:n?"visible":"hidden",children:(0,P.jsxs)("div",{className:"mt-3 ml-1.5 flex flex-col gap-4 border-l-2 border-slate-300 pl-4 dark:border-slate-600","data-slot":"field-set-content",children:[e.section.description&&(0,P.jsx)("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:Z(e.section.description)}),e.group]})})]})}var ee=require("react/jsx-runtime");function fr(e){return(0,ee.jsxs)(ee.Fragment,{children:[e.title&&(0,ee.jsx)("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:Z(e.title)}),e.description&&(0,ee.jsx)("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:Z(e.description)})]})}var Xe=require("react/jsx-runtime");function He(e){return(0,Xe.jsxs)("fieldset",{"data-slot":"field-set","data-empty":e.empty,className:"flex flex-col data-[empty=false]:gap-6",id:e.id,children:[(0,Xe.jsx)(fr,{description:e.description,title:e.title}),e.children]})}var mr=require("react/jsx-runtime");function te(e){return(0,mr.jsx)("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})}var qe=require("react/jsx-runtime");function gr(e){let{fields:t=[]}=e.section,{compact:n}=Ye(e.style,{compact:e.section.compact}),r=(0,qe.jsx)(te,{compact:n,children:e.children});return!e.section.title&&!e.section.description?r:e.section.advanced?(0,qe.jsx)(dr,{section:e.section,group:r}):(0,qe.jsx)(He,{description:e.section.description,empty:t.length===0,id:e.section.id?.toString(),title:e.section.title,children:r})}var hr=require("jotai");var W=require("jotai"),Ft=require("jotai-family"),Ze=require("fast-equals");function Qi(e){return(0,Ft.atomFamily)(t=>(0,W.atom)(n=>n(e)[t]??void 0,(n,r,o)=>{let i=n(e);if(o!=null){let l=i[t];(!l||!(0,Ze.deepEqual)(l,o))&&r(e,{...i,[t]:o})}else if(i[t]){let{[t]:l,...a}=i;r(e,a)}}))}function ji(e){return(0,W.atom)(null,(t,n)=>{let r=t(e);r&&Object.keys(r).length>0&&n(e,{})})}function el(e){return(0,W.atom)(null,(t,n,r)=>{let i={...t(e)},l=!1;for(let a of r)i[a]&&(delete i[a],l=!0);l&&n(e,i)})}function tl(e){return(0,W.atom)(null,(t,n,r)=>{let o=t(e);(0,Ze.deepEqual)(o,r)||n(e,r)})}function pr(e,t={}){let{merge:n,validateTarget:r}=t;return(0,Ft.atomFamily)(o=>(0,W.atom)(i=>{let l=i(e)[o];if(l&&n)return n(Object.values(l))},(i,l,a,s)=>{if(r&&!r(a))return;let c=i(e),u={...c[a]??{}};if(s!=null){let g=u[o];(!g||!(0,Ze.deepEqual)(g,s))&&(u[o]=s,l(e,{...c,[a]:u}))}else if(u[o])if(delete u[o],Object.keys(u).length===0){let{[a]:g,...x}=c;l(e,x)}else l(e,{...c,[a]:u})}))}function yr(e){return(0,W.atom)(null,(t,n,r)=>{let i={...t(e)},l=!1;for(let a of r)i[a]&&(delete i[a],l=!0);for(let a in i){let s={...i[a]},c=!1;for(let u of r)s[u]&&(delete s[u],c=!0,l=!0);c&&(Object.keys(s).length===0?delete i[a]:i[a]=s)}l&&n(e,i)})}function de(e={}){let t=(0,W.atom)(e);return{atom:t,clearAll:ji(t),clear:el(t),bulkReport:tl(t),report:Qi(t)}}var br=de(),We=br.atom,xr=br.report;function nl(e,t){return e.fields.every(n=>Rr(n,t))}function Rr(e,t){return t[e.name]?.hidden??e.hidden??!1}function rl(e,t){return q(e)?nl(e,t):Rr(e,t)}function Ke(e){let t=(0,hr.useAtomValue)(We);return e.container&&(t[e.container.name]?.hidden??e.container.hidden??!1)||e.fields.length===0||e.fields.every(r=>rl(r,t))?null:e.children}var Ct=require("react/jsx-runtime");function Tr(){return(0,Ct.jsx)("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:(0,Ct.jsx)("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}var _=require("react/jsx-runtime");function Sr(e){let t=Ue(e.sections,e.definition);return(0,_.jsx)("div",{className:"h-full w-full",children:(0,_.jsx)("form",{noValidate:e.noValidate,action:e.action,children:(0,_.jsxs)(te,{children:[t.map((n,r)=>(0,_.jsxs)(Ke,{fields:n.fields??[],children:[(0,_.jsx)(gr,{section:n,style:e.config.style,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.separator&&(0,_.jsx)(Tr,{})]},r)),e.control&&(0,_.jsx)(_t,{isPending:e.isPending,children:e.control})]})})})}var vr=require("react/jsx-runtime");function Ar(e){return(0,vr.jsx)("p",{className:"-mt-2 text-xs leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}var Fr=require("react/jsx-runtime");function ze(e){let t=Z(e.text);return t?(0,Fr.jsx)(Ar,{children:t}):null}var Cr=require("tailwind-merge"),Je=require("react/jsx-runtime");function Nr(e){let t=e.style?.showOptionalLabel??!0,n=D(e.field)||S(e.field);return(0,Je.jsxs)("label",{"data-slot":"field-label","data-normal":n,className:(0,Cr.twMerge)("flex w-fit items-center gap-2 text-sm leading-snug font-medium select-none","data-[normal=true]:font-normal","group-data-[readonly=true]:cursor-not-allowed group-data-[readonly=true]:opacity-50"),htmlFor:e.field.name,children:[e.children,t&&!e.field.required&&(0,Je.jsx)("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:f("(Optional)",e.translations)})]})}var he=require("react/jsx-runtime");function Er(e){let t={context:e.context,env:e.config?.env},n=xt(e.field.label,t),r=xt(e.field.description,t);return(0,he.jsxs)("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[(0,he.jsx)(Nr,{field:e.field,style:e.config?.style,translations:e.translations,children:f(n,e.translations)}),e.orientation===ae&&(0,he.jsx)(ze,{text:f(r,e.translations)})]})}var ne=require("react/jsx-runtime");function kr(e){return(0,ne.jsxs)(ne.Fragment,{children:[e.field.name&&e.field.label&&(0,ne.jsx)(Er,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations}),e.children,e.orientation===U&&e.field.description&&(0,ne.jsx)(ze,{text:f(e.field.description,e.translations)})]})}function Qe(e,t){return e?t(e):null}var Nt=de(),Ir=Nt.clear,wr=Nt.bulkReport,je=Nt.report;var b=require("react");var Lr=require("jotai");var ol=e=>{let t=cr(e);if(t)return t},il=e=>e.trim()!=="",Pr=(0,Lr.atom)({}),Or=pr(Pr,{merge:ol,validateTarget:il}),Vr=yr(Pr);var _r=require("jotai");var Dr=Ko(require("swr"),1);function Mr(e=null,t,n=!1){let{data:r,error:o}=(0,Dr.default)(ll(e,t,n),t.fetcher.provider);if(o&&v.error("Error fetching data source:",o),e){if(Array.isArray(e))return e;if(r)return fn(r,e.namespace)}return null}function ll(e=null,t,n=!1){if(e&&!Array.isArray(e)&&!n&&e.url&&!be(e.url)){if(ar(e.url,t.fetcher.remotePatterns))return e;v.warn(`URL blocked by remotePatterns: ${e.url}. Check your luna.config.ts`)}return null}function $r(e,t,n){let r=_n(e,n),[o,i]=(0,_r.useAtom)(Or(e.name));return[Mr(o??r,t,e.disabled),i]}var re=require("react");function Br(e,t,n,r){let{name:o}=e,i=(0,re.useMemo)(()=>nr(e,r),[e,r]),l=(0,re.useEffectEvent)(s=>{s&&t(s,i,e)}),a=(0,re.useEffectEvent)(s=>{s&&n(s)});return(0,re.useEffect)(()=>(l(o),()=>{a(o)}),[o]),i}var me=require("jotai");var fe=require("react");function Gr(){let e=(0,fe.useRef)(null);return(0,fe.useEffect)(()=>()=>{e.current&&clearTimeout(e.current)},[]),(0,fe.useCallback)((n,r)=>{e.current&&(clearTimeout(e.current),e.current=null),e.current=setTimeout(n,r)},[])}var et=de(),tt=et.atom,Ur=et.clearAll,Yr=et.clear,nt=et.report;var Hr=require("jotai"),K=require("react");function Xr(e,t){let{name:n}=e,r=(0,K.useRef)(!1),[o,i]=(0,Hr.useAtom)(nt(n)),l=(0,K.useEffectEvent)(s=>{let c=al(n,s);j(c)&&(r.current=!0,i(c))});(0,K.useEffect)(()=>{t&&l(t)},[t]);let a=(0,K.useCallback)(()=>r.current?(r.current=!1,!0):!1,[]);return{setValue:i,shouldSkipOnChange:a,value:o}}function al(e,t){if(e in t)return t[e];if(!e.includes("."))return;let n=e.split("."),r=t;for(let o of n){if(r==null)return;if(Array.isArray(r)){let i=Number(o);r=Number.isInteger(i)?r[i]:void 0}else if(typeof r=="object")r=r[o];else return}return r}var Et=require("react/jsx-runtime");function qr(e){let t=e.field.advanced?.entity,n=(0,me.useStore)(),r=Gr(),[,o]=(0,b.useTransition)(),{setValue:i,shouldSkipOnChange:l,value:a}=Xr(e.field,e.value),s=(0,b.useRef)(!1),c=(0,b.useRef)(a);c.current=a;let u=(0,b.useRef)(e.translations);u.current=e.translations;let g=Cn(e.field),x=Me(e.field),C=(0,me.useSetAtom)(tt),B=(0,me.useSetAtom)(We),N=(0,me.useSetAtom)(je(e.field.name)),[h,V]=$r(e.field,e.config,a),E=Br(e.field,e.onMount,e.onUnmount,e.translations),A=f(e.commonProps.placeholder,e.translations),G={...e.commonProps,placeholder:A},{commonPropsWithOptions:k,defaultValue:Se}=$n(e.field,G,h,a),Vt=(0,b.useRef)(null);Vt.current=p=>{i(p),e.onValueChange&&e.onValueChange({name:e.field.name,value:p})};let lt=(0,b.useRef)(null);lt.current=p=>{let y=e.field.event?.change;y&&xn(y,({sources:Q,states:ve,values:at})=>{o(()=>{hn(p,Q,(I,ie)=>V(I,ie)),Tn(p,ve,(I,ie)=>{B(Fe=>ie?I.reduce((st,ct)=>({...st,[ct]:ie}),Fe):I.reduce((st,ct)=>{let{[ct]:ul,...Uo}=st;return Uo},Fe))}),Sn(p,at,(I,ie)=>{C(Fe=>({...Fe,[I]:ie}))})})})};let $o=Bn(e.field,Se),Ae=(0,b.useCallback)(p=>{let Q=E.safeParse(p).error?.issues.map(I=>I.message)??[],ve=e.field.validation?.custom,at=ve?lr(p,ve,I=>n.get(nt(I)),u.current):[];N([...Q,...at])},[e.field.validation?.custom,E,N,n]),Dt=(0,b.useCallback)((p,y)=>{if(g){r(()=>{y({value:p})},500);return}y(yt(p,h,t))},[h,t,g,r]);(0,b.useEffect)(()=>{if(s.current||!e.value)return;if(!e.field.event?.change){s.current=!0;return}if(!((!$e(e.field)||!!h&&h.length>0)&&j(Se)))return;s.current=!0;let y=String(Se),Q=g?{value:y}:yt(y,h,t);lt.current?.(Q)},[h,Se,t,g,e.field,e.value]);let Bo=(0,b.useCallback)(p=>{let y=p.target.value;!x&&l()&&(!g||y===c.current)||(Vt.current?.(y),e.config.validation.change&&Ae(y),e.field.event?.change&&Dt(y,Q=>{lt.current?.(Q)}))},[Dt,x,g,e.config.validation.change,e.field.event?.change,l,Ae]),Go=(0,b.useCallback)(p=>{if(!x){let y=p.target.value;e.config.validation.blur&&Ae(y)}},[x,e.config.validation.blur,Ae]);return Qe(e.config.inputs[e.field.type],p=>(0,Et.jsx)(kr,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations,children:(0,Et.jsx)(p,{...k,...e.ariaAttributes,...e.dataAttributes,...$o,onBlur:Go,onChange:Bo})}))}var kt=require("react/jsx-runtime");function Zr(e){return!e.errors||e.errors.length===0?null:(0,kt.jsx)("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)=>(0,kt.jsx)("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}var Wr=require("tailwind-merge"),Kr=require("react/jsx-runtime");function rt(e){let t=e.errors&&e.errors.length>0;return(0,Kr.jsx)("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[tn]:"true"},...e.disabled&&{[nn]:"true"},"data-orientation":e.orientation,className:(0,Wr.twMerge)("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})}var zr=require("tailwind-merge"),Qr=require("react/jsx-runtime");function Jr(e){return(0,Qr.jsx)(rt,{...e,orientation:U,className:(0,zr.twMerge)("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}var jr=require("tailwind-merge"),to=require("react/jsx-runtime");function eo(e){return(0,to.jsx)(rt,{...e,orientation:ae,className:(0,jr.twMerge)("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})}var It=require("react/jsx-runtime");function no(e){let t=Me(e.field),n=S(e.field),r=kn(e.field);return e.orientation===U?(0,It.jsx)(Jr,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children}):(0,It.jsx)(eo,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children})}function ro(e){if(!e.field.type)return null;let t=On(e.field,e.disabled),n=Xn(e.field),r=Hn(e.field,e.errors),o={...e.field,disabled:t.disabled};return e.children({ariaAttributes:r,commonProps:t,dataAttributes:n,field:o,orientation:e.orientation})}var oo=require("tailwind-merge"),ge=require("react/jsx-runtime");function io(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:r}=Ye(e.style,{orientation:En(e.field)}),o=In(e.field,e.disabled);return(0,ge.jsxs)("div",{className:(0,oo.twMerge)("flex flex-col gap-3",Kn(t)),children:[(0,ge.jsx)(no,{disabled:o,errors:n,field:e.field,orientation:r,children:(0,ge.jsx)(ro,{disabled:o,errors:n,field:e.field,orientation:r,children:e.children})}),(0,ge.jsx)(Zr,{errors:n,name:e.field.name})]})}var lo=require("jotai"),so=require("react/jsx-runtime");function ao(e){return n=>{let r=(0,lo.useAtomValue)(je(n.field.name));return(0,so.jsx)(e,{...n,errors:r?{[n.field.name]:r}:void 0})}}var co=require("jotai"),fo=require("react/jsx-runtime");function uo(e){return n=>{let r=(0,co.useAtomValue)(xr(n.field.name));return r?.hidden??n.field.hidden??!1?null:(0,fo.jsx)(e,{...n,disabled:r?.disabled??n.disabled})}}var mo=uo(ao(io));var go=require("tailwind-merge");var F=require("react/jsx-runtime");function po(e){function t(){e.canRemove&&e.onRemove&&e.onRemove(e.index)}let n=e.canRemove&&e.onRemove!=null&&(0,F.jsx)("button",{"aria-label":`Remove ${e.label} item ${e.index+1}`,className:(0,go.twMerge)("rounded p-1 text-xl text-slate-400","transition-colors duration-150","hover:text-red-500","focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:outline-none","dark:text-slate-500 dark:hover:text-red-400"),onClick:t,type:"button",children:(0,F.jsx)("span",{"aria-hidden":"true",children:"\xD7"})});return e.isMultiField?(0,F.jsxs)("div",{className:"rounded-lg border border-slate-100 p-4 dark:border-slate-900",children:[(0,F.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:[(0,F.jsxs)("span",{className:"text-sm font-medium text-slate-400 dark:text-slate-500",children:[e.label," ",e.index+1]}),n]}),(0,F.jsx)(te,{children:e.children})]}):(0,F.jsxs)("div",{className:"flex items-start gap-2",children:[(0,F.jsx)(te,{children:e.children}),n&&(0,F.jsx)("div",{className:"shrink-0",children:n})]})}var xo=require("tailwind-merge");var yo=require("jotai"),z=require("react");function bo(e,t){let n=e.advanced?.length?.min??1,r=e.advanced?.length?.max??1/0,[o,i]=(0,z.useState)(()=>Jn(e,t)),l=(0,z.useRef)(o.length),a=(0,z.useRef)(o);a.current=o;let s=(0,yo.useSetAtom)(tt),c=(0,z.useCallback)(()=>{i(C=>{if(C.length>=r)return C;let B=l.current++;return[...C,B]})},[r]),u=(0,z.useCallback)(C=>{if(o.length<=n)return;let B=o[C];i(N=>N.length<=n?N:N.filter((h,V)=>V!==C)),s(N=>{let h={...N},V=`${e.name}.`,E=[];for(let A of e.fields)if(q(A))for(let G of A.fields)E.push(G.name);else E.push(A.name);for(let A of E)delete h[`${V}${B}.${A}`];return h})},[e.name,e.fields,o,n,s]),g=o.length<r,x=o.length>n;return[o,c,u,g,x,r]}var $=require("react/jsx-runtime");function ho(e){let[t,n,r,o,i,l]=bo(e.field,e.value),a=Qn(e.field),s=e.field.advanced?.action??"Add item",c=l!==1/0,u=zn(e.field);return(0,$.jsxs)($.Fragment,{children:[t.map((g,x)=>(0,$.jsx)(po,{canRemove:i,index:x,isMultiField:u,label:a,onRemove:r,children:e.children(g)},g)),(0,$.jsxs)("button",{"aria-disabled":!o,"aria-label":c?`${s}, ${t.length} of ${l}`:s,className:(0,xo.twMerge)("flex w-full items-center gap-1.5 rounded py-1","text-sm font-medium text-slate-500","transition-colors duration-150","hover:text-slate-800","focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:ring-offset-2 focus-visible:outline-none","dark:text-slate-400 dark:hover:text-slate-200",!o&&"cursor-not-allowed opacity-50 hover:text-slate-500 dark:hover:text-slate-400"),disabled:!o,onClick:n,type:"button",children:[(0,$.jsx)("span",{"aria-hidden":"true",children:"+"}),s,c&&(0,$.jsxs)("span",{"aria-hidden":"true",className:"ml-auto text-slate-400 tabular-nums dark:text-slate-500",children:[t.length," / ",l]})]})]})}var To=require("react/jsx-runtime");function Ro(e){let t=Array.isArray(e.field.fields)&&e.field.fields.length===0;return(0,To.jsx)(He,{description:e.field.description,empty:t,id:e.field.name,title:e.field.label,children:e.children})}var ot=require("react/jsx-runtime");function So({children:e,field:t,value:n}){return(0,ot.jsx)(Ke,{container:t,fields:t.fields,children:(0,ot.jsx)(Ro,{field:t,children:(0,ot.jsx)(ho,{field:t,value:n,children:e})})})}var Ao=require("tailwind-merge"),wt=require("react/jsx-runtime");function vo(e){let t=Wn(e.column?.advanced?.cols);return(0,wt.jsx)("div",{className:"flex w-full flex-col gap-4",children:(0,wt.jsx)("div",{className:(0,Ao.twMerge)("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children})})}var No=require("react");var Co=require("react/jsx-runtime");function Fo(e){let t=Array.isArray(e.field.fields)?e.field.fields.map(n=>_e(n)?{...n,name:`${e.field.name}.${e.index}.${n.name}`}:q(n)?{...n,fields:n.fields.map(r=>({...r,name:`${e.field.name}.${e.index}.${r.name}`}))}:n):[];return(0,Co.jsx)(Re,{children:e.children,components:e.components,disabled:e.disabled,fields:t,style:e.style,value:e.value})}var J=require("react/jsx-runtime");function Re(e){let{field:t,list:n}=e.components;return Ue(e.fields).map((r,o)=>(0,J.jsxs)(No.Fragment,{children:[q(r)&&(0,J.jsx)(vo,{column:r,children:(0,J.jsx)(Re,{...e,fields:r.fields})}),_e(r)&&(0,J.jsx)(t,{disabled:e.disabled,field:r,style:e.style,children:e.children}),Fn(r)&&(0,J.jsx)(n,{field:r,value:e.value,children:i=>(0,J.jsx)(Fo,{children:e.children,components:e.components,disabled:e.disabled,field:r,index:i,style:e.style,value:e.value})})]},o))}var ko=require("react/jsx-runtime");function Eo(e){return n=>(0,ko.jsx)(Re,{...n,components:e})}var Io=Eo({field:mo,list:So});var Pt=require("jotai");var Te=require("react");function Lo(e,t,n){let{onSuccess:r,preserveValues:o=!1,validation:i=!0,translations:l}=n??{},a=(0,Pt.useSetAtom)(wr),s=(0,Pt.useSetAtom)(Ur),c={data:null,error:null,success:!1},[u,g,x]=(0,Te.useActionState)(async(C,B)=>{let[N,h]=e(),V=er(N,h,l);if(i===!1)return t?await t(B,V):C;let E=pn(B),A=V.safeParse(E);if(!A.success){let k=tr(A.error);return(0,Te.startTransition)(()=>{a(k)}),Lt(E,{description:f("Please correct the errors and try again.",l),details:[],title:f("There were validation errors submitting the form.",l)})}let G=yn(E);if(t)try{let k=await t(G,V);return k.success?(r?.(k.data),o||(0,Te.startTransition)(()=>{s()}),wo(G,o)):Lt(G,k.error)}catch(k){return v.error("Error executing form action:",k),Lt(G,{title:f("An unexpected error occurred submitting the form.",l),details:sl(k,l)})}return wo(A.data,o)},c);return[g,u,x]}function sl(e,t){return e instanceof Error?[e.message]:[f("Unknown error",t)]}function wo(e,t=!1){return{data:t?e:null,error:null,success:!0}}function Lt(e,t){return{data:e,error:t,success:!1}}var oe=require("react");var Po=require("react"),it=require("jotai");function Oo(){let e=(0,it.useSetAtom)(Ir),t=(0,it.useSetAtom)(Yr),n=(0,it.useSetAtom)(Vr);return(0,Po.useCallback)(r=>{let o=Array.isArray(r)?r:[r];e(o),n(o),t(o)},[e,n,t])}function Vo(){let e=Oo(),t=(0,oe.useRef)({}),n=(0,oe.useRef)([]),r=(0,oe.useCallback)((l,a,s)=>{l in t.current||(t.current[l]=a,n.current.push(s))},[]),o=(0,oe.useCallback)(l=>{t.current[l]&&(delete t.current[l],n.current=n.current.filter(a=>a.name!==l),e([l]))},[e]);return[(0,oe.useCallback)(()=>[t.current,n.current],[]),r,o]}var O=require("react/jsx-runtime");function Do(e){let t=e.translations?.[e.lang??""],[n,r,o]=Vo(),[i,l,a]=Lo(n,e.action,{onSuccess:e.onSuccess,validation:e.config.validation.submit,translations:t}),s=e.config.validation.showError&&!l.success&&l.error,c=l.data??e.value;return(0,O.jsxs)(O.Fragment,{children:[s&&Qe(e.config.alert,u=>(0,O.jsx)("div",{className:"mb-4 w-full",children:(0,O.jsx)(u,{description:l.error?.description,details:l.error?.details,title:l.error.title})})),(0,O.jsx)(Sr,{action:i,config:e.config,control:e.children,definition:e.definition,isPending:a,noValidate:!0,readOnly:e.readOnly,sections:e.sections,children:({disabled:u,fields:g})=>(0,O.jsx)(Io,{disabled:u,fields:g,style:e.config.style,value:c,children:x=>(0,O.jsx)(qr,{...x,config:e.config,context:e.context,onMount:r,onUnmount:o,onValueChange:e.onValueChange,translations:t,value:c})})})]})}var Mo=require("jotai"),Ot=require("react/jsx-runtime");function _o(e){return(0,Ot.jsx)(Mo.Provider,{children:(0,Ot.jsx)(Do,{...e})})}
@@ -1 +1 @@
1
- import{jsx as Ke}from"react/jsx-runtime";function je(e){return!e.errors||e.errors.length===0?null:Ke("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)=>Ke("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}var oe="input",Je="input/email",Qe="input/number";var et="textarea",tt="radio",nt="checkbox",rt="select",ot="select/month",it="select/year";var ve="column";var at="label",U="value",ie="options",ke="email",lt="number",st="password",ct="tel",z="text",ut="aria-errormessage",dt="aria-invalid",ft="data-invalid",mt="data-readonly",pt="aria",gt="data",ae="min",le="max",yt="minLength",bt="maxLength",B="$ref";var xt="source",ht="state",se="http://luna.internal",v="vertical",G="horizontal";function d(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function ce(e){return e==null||e===""}function k(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function A(e){return typeof e=="string"}function Tt(e){return d(e)&&"url"in e}var wr=/[^/]+$/;function Rt(e,t=[],n=U){if(Array.isArray(t))return t.find(r=>{let o=Ie(r,n);if(o!==void 0&&`${o}`===e)return r})??{value:e}}function Ie(e,t=U){if(e!=null){if(k(e))return e;if(d(e)){let n=Pr(e,t);if(k(n))return n}}}function Pr(e,t){let n=h(e,t);if(k(n))return n}function St(e,t){if(Array.isArray(e))return e;let n=h(e,t);return Array.isArray(n)?n:null}function h(e,t){if(!t||!d(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(d(r)&&o in r)r=r[o];else return null;return r}function At(e,t={label:at,value:U}){return e.map(n=>{if(d(n)){let r=h(n,t.label),o=h(n,t.value);if(k(r)&&k(o))return{label:`${r}`,value:`${o}`}}return n})}function Ct(e=z){if(e){let t=e.match(wr);if(t){let[n]=t;if(n!==oe)return n.trim().toLowerCase()}}return z}function Et(e){let t={};for(let n of e.keys()){let r=e.getAll(n);t[n]=r.length>1?r:r[0]}return t}var Or=/\[([^\]]+)\]\(([^)]+)\)/g;function T(e,t={}){if(A(e))return Vr(e,t);if(Array.isArray(e))return e.map(n=>T(n,t));if(d(e)){let n={};for(let r in e)n[r]=T(e[r],t);return n}return e}function P(e){return A(e)?/{([^}]+)}/.test(e):Array.isArray(e)?e.some(t=>P(t)):d(e)?Object.values(e).some(t=>P(t)):!1}function Vr(e,t={}){return e.replace(/{([^}]+)}/g,(n,r)=>{let o=r.includes(".")?h(t,r):t[r];return k(o)?String(o):n})}function Ft(e,t){if(!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=Or.exec(e))!==null;){let[a,l,s]=n,c=n.index;o=!0,c>r&&i.push(e.substring(r,c));let u=t?t(c,s,l):a;i.push(u),r=c+a.length}return o?(r<e.length&&i.push(e.substring(r)),i):e}var K={error:(...e)=>{we()&&!Pe()&&ue().error("[Luna Form]",...e)},warn:(...e)=>{we()&&!Pe()&&ue().warn("[Luna Form]",...e)},info:(...e)=>{we()&&!Pe()&&ue().info("[Luna Form]",...e)}},we=()=>typeof ue()<"u",Pe=()=>!0,ue=()=>globalThis.console;function Nt(e=[],t){let n=[],r=[],o=[];e.forEach(i=>{i.action===U&&n.push(i),i.action===xt&&r.push(i),i.action===ht&&o.push(i)}),t({sources:r,states:o,values:n})}function vt(e=null,t=[],n){t.forEach(r=>{let{target:o,source:i}=r;if(!e){n(o,void 0);return}if(Tt(i)){let a=T(i.url,e),l=i.body?T(i.body,e):i.body;n(o,{...i,url:a,body:l})}})}var j={eq:Ur,gt:Xr,gte:Hr,in:Gr,lt:$r,lte:qr,neq:Br,nin:Yr},Dr=/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2})?/,kt=/^(\d{2})[/-](\d{2})[/-](\d{4})(?: (\d{2}):(\d{2})(?::(\d{2}))?)?$/;function Lr(e){return typeof e=="string"&&Dr.test(e)}function Mr(e){return typeof e=="string"&&kt.test(e)}function _r(e){let t=e.match(kt);if(t){let[,n,r,o,i,a,l]=t;return new Date(Number(o),Number(r)-1,Number(n),Number(i??0),Number(a??0),Number(l??0)).getTime()}return NaN}function I(e){return Lr(e)?new Date(e).getTime():Mr(e)?_r(e):Number(e)}function Ur(e,t){return e===t}function Br(e,t){return e!==t}function Gr(e,t){return Array.isArray(t)&&t.includes(String(e))}function Yr(e,t){return Array.isArray(t)&&!t.includes(String(e))}function Xr(e,t){return I(e)>I(t)}function Hr(e,t){return I(e)>=I(t)}function $r(e,t){return I(e)<I(t)}function qr(e,t){return I(e)<=I(t)}function It(e=null,t=[],n){t.forEach(r=>{let{target:o,state:i,when:a}=r;if(!e){n(o);return}let l=Zr(e,a);n(o,l?i:void 0)})}function Zr(e,t){if(t===void 0)return!0;if(A(t))return Oe(e,"value")===t;if(Array.isArray(t)){let n=Oe(e,"value");return t.includes(String(n))}return Wr(e,t)}function Wr(e=null,t){let n=Oe(e,t.field??"value"),{operator:r="eq",value:o}=t,i=j[r];return i?i(n,o):!1}function Oe(e,t){return d(e)?t.includes(".")?h(e,t):e[t]:e}function wt(e=null,t=[],n){t.forEach(r=>{Object.entries(r.value).forEach(([o,i])=>{n(o,e?T(i,e):void 0)})})}var de=e=>R(ot)(e),fe=e=>R(it)(e),y=R(nt),Ve=R(oe),C=R(tt),E=R(rt),De=R(et),Pt=R(z,ke,st,ct),Ot=R(Je,ke),me=R(Qe,lt);function pe(e){return C(e)||y(e)}function Vt(e){return e.type===ve}function Dt(e){return e.type!==ve}function Lt(e){return E(e)||C(e)}function Mt(e){return Ve(e)||De(e)}function J(e){return e!=null&&e!==""}function R(...e){return t=>{let n=A(t.type)?t.type:void 0;return n?e.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function _t(e,t={}){if(E(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&d(n))return[n]}}function Ut(e){return C(e)||y(e)?G:e.advanced?.orientation??v}function Bt(e){return y(e)?e.advanced?.reverse!==!1:!1}function Gt(e,t){let n=e.readonly??!1;return t||n}function Yt(e){if(C(e)||E(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||d(t)&&!(B in t))return t}}var zr=/^\d+$/;function Xt(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function Ht(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 Le(){return new Date().getFullYear()}function Me(e,t){if(typeof e=="number")return e;let n=t??Le(),r=e.trim().toLowerCase();if(r.startsWith("current")){let o=r.match(/^current([+-])(\d+)$/);if(o){let[,i,a]=o,l=parseInt(a,10);if(!isNaN(l))return i==="+"?n+l:n-l}return n}return zr.test(r)?parseInt(r,10):n}var ge=Le();function Kr(e){if(E(e))return jr(e)}function jr(e){if(de(e))return Xt();if(fe(e)){let t=e.advanced?.length?.min??ge,n=e.advanced?.length?.max??ge+5;return Ht(Me(t,ge),Me(n,ge))}}function $t(e,t=!1){let n={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return Ve(e)?{...n,...Jr(e)}:E(e)?{...n,...Qr(e)}:De(e)?{...n,...eo(e)}:n}function Jr(e){let t=Ct(e.type),n={...e,type:t};return{...qt(e),...to(n),...Pt(n)?Zt(n):{},type:t}}function Qr(e){let t=Kr(e);return t?{options:t}:{}}function eo(e){return{...qt(e),...Zt(e)}}function qt(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function to(e){return me(e)?no(e):{}}function Zt(e){return Wt(e,{min:yt,max:bt})}function no(e){return Wt(e,{min:ae,max:le})}function Wt(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 zt(e,t){let n=Yt(e);return n||_t(e,t)}function ro(e,t){let n=d(t)&&e.name in t?t[e.name]:t;return Ie(n,e.advanced?.entity)}function oo(e,t,n){return Lt(e)&&Array.isArray(n)?{...t,[ie]:n}:t}function io(e,t,n){if(e.required&&!J(n)&&E(e)&&e.advanced?.preselected!==!1&&ie in t){let r=t[ie];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function ao(e,t){return E(e)&&Array.isArray(t)?At(t,e.advanced?.options):t}function Kt(e,t,n,r){let o=ro(e,r),i=Array.isArray(n)?ao(e,n):n,a=oo(e,t,i),l=io(e,a,o);return{commonPropsWithOptions:a,defaultValue:l}}function jt(e,t){return y(e)?{checked:J(t)?t:!1}:{value:t??""}}var lo=/^#\/definition\//;function be(e=[],t){let n=ye(e,t);return Array.isArray(n)?n.sort((r,o)=>Jt(r)-Jt(o)):[]}function ye(e,t,n=new Map,r=new WeakSet){if(!so(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=>ye(i,t,n,r));if(B in e&&A(e[B])){let i=e[B].replace(lo,""),a=h(t,i);return a!==null?ye(a,t,n,r):e}let o={};for(let[i,a]of Object.entries(e))o[i]=ye(a,t,n,r);return r.delete(e),n.set(e,o),o}function Qt(e){return Object.entries(e??{})}function Jt(e){return e.order??Number.MAX_VALUE}function so(e){return e!==void 0&&d(e)&&Object.keys(e).length>0}function en(e,t){let n={};for(let[r,o]of Qt(t))n[`${e}-${r}`]=o;return n}function co(e){return en(pt,e)}function uo(e){return en(gt,e)}function tn(e,t){let n=co(e.advanced?.aria);return t&&t.length>0&&(n[dt]="true",n[ut]=`${e.name}-error`),n}function nn(e){return uo(e.advanced?.data)}var rn={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},on={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function an(e,t=2){return rn[e&&e in rn?e:t]}function ln(e){if(e&&e in on)return on[e]}import{z as f}from"zod";function m(e,t){return e?t?t[e]??e:e:""}var fo=[[me,bo],[Ot,mo],[fe,xo],[de,ho],[y,po],[C,go]];function cn(e,t=[],n){let r=f.object(e);return t.length===0?r:Ao(r,t,n)}function un(e){let t={},n=f.flattenError(e).fieldErrors;for(let[r,o]of Object.entries(n))o!==void 0&&(t[r]=o);return t}function dn(e,t){for(let[n,r]of fo)if(n(e))return r(e,t);return yo(e,t)}function mo(e,t){let n=f.string().trim();if(e.required){let r=Y(e,t),o=n.min(1,r).pipe(sn(e,t));return f.preprocess(i=>ce(i)?"":i,o)}return n.pipe(sn(e,t)).or(f.literal("")).nullable()}function po(e,t){let n=f.coerce.boolean();return e.required?(n=n.refine(r=>r===!0,{message:Y(e,t)}),f.preprocess(r=>r===null?!1:r,n)):n.nullable()}function go(e,t){let n=f.coerce.string();return e.required?(n=n.min(1,Y(e,t)),f.preprocess(r=>ce(r)?"":r,n)):n.or(f.literal("")).nullable()}function yo(e,t){let n=f.coerce.string().trim();return n=fn(n,e,t),e.required?(n=mn(n,e,t),f.preprocess(r=>ce(r)?"":r,n)):n.nullable()}function bo(e,t){let n=f.coerce.number().int();return n=fn(n,e,t),e.required?(n=mn(n,e,t),f.preprocess(r=>r===null?void 0:r,n)):n.nullable()}function xo(e,t){return e.required?f.preprocess(To,f.coerce.number({message:Y(e,t)}).int()):f.coerce.number().int().nullable()}function ho(e,t){let n=Y(e,t),r=f.coerce.number().int().min(1,n).max(12,n);return e.required?r:r.nullable()}function To(e){return e===null||e===""?void 0:e}function sn(e,t){let n=e.validation?.email?m(e.validation?.email,t):void 0;return f.email(n)}function fn(e,t,n){return e=Ro(e,t,n),e=So(e,t,n),e}function mn(e,t,n){let r=t.advanced?.length?.min;return r===void 0||r<1?e.min(1,Y(t,n)):e}var Ro=(e,t,n)=>pn(e,t,ae,n),So=(e,t,n)=>pn(e,t,le,n);function pn(e,t,n,r){let o=t.advanced?.length?.[n];if(o!==void 0){let i=t.validation?.length?.[n]?m(t.validation?.length?.[n],r):void 0;return e[n](o,i)}return e}function Ao(e,t=[],n){let r=Eo(t);return r.length===0?e:e.superRefine((o,i)=>{for(let{name:a,rule:l}of r)if(!Co(o,a,l)){let s=m(l.message,n);i.addIssue({code:"custom",message:s,path:[a]})}})}function Co(e,t,n){let r=n.operator??"eq",o=j[r];return o?o(e[t],e[n.field]):!1}function Eo(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 gn(e,t,n,r){let o=[],i=Array.isArray(t)?t:[t];for(let a of i){let l=a.operator??"eq",s=j[l];if(s&&!s(e,n(a.field))&&a.message){let c=m(a.message,r);o.push(c)}}return o}function Y(e,t){return e.validation?.required?m(e.validation?.required,t):void 0}function yn(e,t){if(!t||!No(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||Fo(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 Fo(e){return e==="https"?"443":"80"}function No(e){return/^(https?:)?\/\//.test(e)}function bn(e,t){try{if(!e)return t;if(!t)return e;let n=new URL(e,se);new URL(t,se).searchParams.forEach((i,a)=>{n.searchParams.set(a,i)});let o=n.toString();return e.startsWith("/")||!e.includes("://")?o.replace(se,""):o}catch{return t||e}}function xn(e){return!Array.isArray(e)||e.length===0?null:e.reduce((t,n)=>{let r=bn(t.url,n.url),o=vo(t,n),i=ko(t,n);return{...t,...n,url:r,body:o,headers:i}})}function vo(e,t){return d(t.body)&&d(e?.body)?{...e.body,...t.body}:t.body??e?.body}function ko(e,t){return d(t.headers)&&d(e?.headers)?{...e.headers,...t.headers}:t.headers??e?.headers}function xe(e,t){return{...e,...t}}import{twMerge as Io}from"tailwind-merge";import{jsx as wo}from"react/jsx-runtime";function he(e){let t=e.errors&&e.errors.length>0;return wo("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[ft]:"true"},...e.disabled&&{[mt]:"true"},"data-orientation":e.orientation,className:Io("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 Po}from"tailwind-merge";import{jsx as Oo}from"react/jsx-runtime";function hn(e){return Oo(he,{...e,orientation:v,className:Po("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}import{twMerge as Vo}from"tailwind-merge";import{jsx as Do}from"react/jsx-runtime";function Tn(e){return Do(he,{...e,orientation:G,className:Vo("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 Rn}from"react/jsx-runtime";function Sn(e){let t=pe(e.field),n=y(e.field),r=Bt(e.field);return e.orientation===v?Rn(hn,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children}):Rn(Tn,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children})}function An(e){if(!e.field.type)return null;let t=$t(e.field,e.disabled),n=nn(e.field),r=tn(e.field,e.errors),o={...e.field,disabled:t.disabled};return e.children({ariaAttributes:r,commonProps:t,dataAttributes:n,field:o,orientation:e.orientation})}import{twMerge as Lo}from"tailwind-merge";import{jsx as _e,jsxs as Mo}from"react/jsx-runtime";function Cn(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:r}=xe(e.style,{orientation:Ut(e.field)}),o=Gt(e.field,e.disabled);return Mo("div",{className:Lo("flex flex-col gap-3",ln(t)),children:[_e(Sn,{disabled:o,errors:n,field:e.field,orientation:r,children:_e(An,{disabled:o,errors:n,field:e.field,orientation:r,children:e.children})}),_e(je,{errors:n,name:e.field.name})]})}import{atom as O}from"jotai";import{atomFamily as En}from"jotai-family";import{deepEqual as Ue}from"fast-equals";function _o(e){return En(t=>O(n=>n(e)[t]??void 0,(n,r,o)=>{let i=n(e);if(o!=null){let a=i[t];(!a||!Ue(a,o))&&r(e,{...i,[t]:o})}else if(i[t]){let{[t]:a,...l}=i;r(e,l)}}))}function Uo(e){return O(null,(t,n)=>{let r=t(e);r&&Object.keys(r).length>0&&n(e,{})})}function Bo(e){return O(null,(t,n,r)=>{let i={...t(e)},a=!1;for(let l of r)i[l]&&(delete i[l],a=!0);a&&n(e,i)})}function Go(e){return O(null,(t,n,r)=>{let o=t(e);Ue(o,r)||n(e,r)})}function Fn(e,t={}){let{merge:n,validateTarget:r}=t;return En(o=>O(i=>{let a=i(e)[o];if(a&&n)return n(Object.values(a))},(i,a,l,s)=>{if(r&&!r(l))return;let c=i(e),u={...c[l]??{}};if(s!=null){let g=u[o];(!g||!Ue(g,s))&&(u[o]=s,a(e,{...c,[l]:u}))}else if(u[o])if(delete u[o],Object.keys(u).length===0){let{[l]:g,...N}=c;a(e,N)}else a(e,{...c,[l]:u})}))}function Nn(e){return O(null,(t,n,r)=>{let i={...t(e)},a=!1;for(let l of r)i[l]&&(delete i[l],a=!0);for(let l in i){let s={...i[l]},c=!1;for(let u of r)s[u]&&(delete s[u],c=!0,a=!0);c&&(Object.keys(s).length===0?delete i[l]:i[l]=s)}a&&n(e,i)})}function X(e={}){let t=O(e);return{atom:t,clearAll:Uo(t),clear:Bo(t),bulkReport:Go(t),report:_o(t)}}var Be=X(),vn=Be.clear,kn=Be.bulkReport,Te=Be.report;import{useAtomValue as Yo}from"jotai";import{jsx as Xo}from"react/jsx-runtime";function In(e){return n=>{let r=Yo(Te(n.field.name));return Xo(e,{...n,errors:r?{[n.field.name]:r}:void 0})}}var wn=X(),Pn=wn.atom,On=wn.report;import{useAtomValue as Ho}from"jotai";import{jsx as $o}from"react/jsx-runtime";function Vn(e){return n=>{let r=Ho(On(n.field.name));if(r?.hidden??n.field.hidden??!1)return null;let i=r?.disabled??n.disabled;return $o(e,{...n,disabled:i})}}var Dn=Vn(In(Cn));import{jsx as qo}from"react/jsx-runtime";function Ln(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return qo("div",{"data-slot":"field-control",className:"w-full",children:t})}import{Activity as jo,useState as Jo}from"react";import{jsx as Mn}from"react/jsx-runtime";function _n(e){return Mn("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:Mn("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{jsx as Zo}from"react/jsx-runtime";function H(e){return Zo("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 Wo}from"react/jsx-runtime";function w(e){return Ft(e,(t,n,r)=>Wo("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${t}`))}import{Fragment as zo,jsx as Un,jsxs as Ko}from"react/jsx-runtime";function Bn(e){return Ko(zo,{children:[e.title&&Un("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:w(e.title)}),e.description&&Un("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:w(e.description)})]})}import{jsx as F,jsxs as Re}from"react/jsx-runtime";function Gn(e){let t=e.section.fields||[],[n,r]=Jo(!1),{compact:o}=xe(e.style,{compact:e.section.compact});return!e.section.title&&!e.section.description?F(H,{compact:o,children:e.children}):e.section.advanced?Re("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:[F("legend",{children:Re("button",{type:"button",onClick:()=>r(i=>!i),className:"flex cursor-pointer items-center gap-2 text-base font-medium text-slate-600 dark:text-slate-400",children:[F(_n,{expanded:n}),F("span",{children:w(e.section.title)})]})}),F(jo,{mode:n?"visible":"hidden",children:Re("div",{className:"mt-3 flex flex-col gap-4 border-l-2 border-slate-300 pl-4 dark:border-slate-600","data-slot":"field-set-content",children:[e.section.description&&F("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:w(e.section.description)}),F(H,{compact:o,children:e.children})]})})]}):Re("fieldset",{"data-slot":"field-set","data-empty":t.length===0,className:"flex flex-col data-[empty=false]:gap-6",id:e.section.id?.toString(),children:[F(Bn,{description:e.section.description,title:e.section.title}),F(H,{compact:o,children:e.children})]})}import{Fragment as Qo}from"react";import{jsx as Yn}from"react/jsx-runtime";function Xn(){return Yn("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:Yn("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}import{jsx as Q,jsxs as Hn}from"react/jsx-runtime";function $n(e){let t=be(e.sections,e.definition);return Q("div",{className:"h-full w-full",children:Q("form",{noValidate:e.noValidate,action:e.action,children:Hn(H,{children:[t.map((n,r)=>Hn(Qo,{children:[Q(Gn,{section:n,style:e.config.style,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.separator&&Q(Xn,{})]},r)),e.control&&Q(Ln,{isPending:e.isPending,children:e.control})]})})})}import{jsx as ei}from"react/jsx-runtime";function qn(e){return ei("p",{className:"-mt-2 text-xs leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}import{jsx as ti}from"react/jsx-runtime";function Se(e){let t=w(e.text);return t?ti(qn,{children:t}):null}import{twMerge as ni}from"tailwind-merge";import{jsx as ri,jsxs as oi}from"react/jsx-runtime";function Zn(e){let t=e.style?.showOptionalLabel??!0,n=C(e.field)||y(e.field);return oi("label",{"data-slot":"field-label","data-normal":n,className:ni("flex w-fit items-center gap-2 text-sm leading-snug font-medium select-none","data-[normal=true]:font-normal","group-data-[readonly=true]:cursor-not-allowed group-data-[readonly=true]:opacity-50"),htmlFor:e.field.name,children:[e.children,t&&!e.field.required&&ri("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:m("(Optional)",e.translations)})]})}import{jsx as Wn,jsxs as ii}from"react/jsx-runtime";function zn(e){let t=P(e.field.label)?T(e.field.label,{context:e.context,env:e.config?.env}):e.field.label,n=P(e.field.description)?T(e.field.description,{context:e.context,env:e.config?.env}):e.field.description;return ii("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[Wn(Zn,{field:e.field,style:e.config?.style,translations:e.translations,children:m(t,e.translations)}),e.orientation===G&&Wn(Se,{text:m(n,e.translations)})]})}import{Fragment as ai,jsx as Kn,jsxs as li}from"react/jsx-runtime";function jn(e){return li(ai,{children:[e.field.name&&e.field.label&&Kn(zn,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations}),e.children,e.orientation===v&&e.field.description&&Kn(Se,{text:m(e.field.description,e.translations)})]})}function Ae(e,t){return e?t(e):null}import{useCallback as Fe,useRef as Ge,useTransition as Ai}from"react";import{atom as si}from"jotai";var ci=e=>{let t=xn(e);if(t)return t},ui=e=>e.trim()!=="",Jn=si({}),Qn=Fn(Jn,{merge:ci,validateTarget:ui}),er=Nn(Jn);import{useAtom as mi}from"jotai";import di from"swr";function tr(e=null,t,n=!1){let{data:r,error:o}=di(fi(e,t,n),t.fetcher.provider);if(o&&K.error("Error fetching data source:",o),e){if(Array.isArray(e))return e;if(r)return St(r,e.namespace)}return null}function fi(e=null,t,n=!1){if(e&&!Array.isArray(e)&&!n&&e.url&&!P(e.url)){if(yn(e.url,t.fetcher.remotePatterns))return e;K.warn(`URL blocked by remotePatterns: ${e.url}. Check your luna.config.ts`)}return null}function nr(e,t,n){let r=zt(e,n),[o,i]=mi(Qn(e.name));return[tr(o??r,t,e.disabled),i]}import{useEffect as pi,useEffectEvent as rr,useMemo as gi}from"react";function or(e,t,n,r){let{name:o}=e,i=gi(()=>dn(e,r),[e,r]),a=rr(s=>{s&&t(s,i,e)}),l=rr(s=>{s&&n(s)});return pi(()=>(a(o),()=>{l(o)}),[o]),i}import{useSetAtom as Ye,useStore as Ci}from"jotai";import{useCallback as yi,useEffect as bi,useRef as xi}from"react";function ir(){let e=xi(null);bi(()=>()=>{e.current&&clearTimeout(e.current)},[]);function t(){e.current&&(clearTimeout(e.current),e.current=null)}return yi((r,o)=>{t(),e.current=setTimeout(r,o)},[])}var Ce=X(),ar=Ce.atom,lr=Ce.clearAll,sr=Ce.clear,Ee=Ce.report;import{useAtom as hi}from"jotai";import{useCallback as Ti,useEffect as Ri,useRef as Si}from"react";function cr(e,t){let{name:n}=e,r=Si(!1),[o,i]=hi(Ee(n));Ri(()=>{if(!t||!(n in t))return;let l=t[n];J(l)&&(r.current=!0,i(l))},[n,t,i]);let a=Ti(()=>r.current?(r.current=!1,!0):!1,[]);return{setValue:i,shouldSkipOnChange:a,value:o}}import{jsx as ur}from"react/jsx-runtime";function dr(e){let t=e.field.advanced?.entity,n=Ci(),r=ir(),[,o]=Ai(),{setValue:i,shouldSkipOnChange:a,value:l}=cr(e.field,e.value),s=Ge(l);s.current=l;let c=Ge(e.translations);c.current=e.translations;let u=Mt(e.field),g=pe(e.field),N=Ye(ar),$=Ye(Pn),te=Ye(Te(e.field.name)),[q,V]=nr(e.field,e.config,l),S=or(e.field,e.onMount,e.onUnmount,e.translations),Z=m(e.commonProps.placeholder,e.translations),b={...e.commonProps,placeholder:Z},{commonPropsWithOptions:Cr,defaultValue:Er}=Kt(e.field,b,q,l),We=Ge(null);We.current=p=>{i(p),e.onValueChange&&e.onValueChange({name:e.field.name,value:p})};let Fr=jt(e.field,Er),ne=Fe(p=>{let D=S.safeParse(p).error?.issues.map(W=>W.message)??[],L=e.field.validation?.custom,Ne=L?gn(p,L,W=>n.get(Ee(W)),c.current):[];te([...D,...Ne])},[e.field.validation?.custom,S,te,n]),ze=Fe((p,x)=>{if(u){r(()=>{x({value:p})},500);return}let D=Rt(p,q,t);x(D)},[q,t,u,r]),Nr=Fe(p=>{let x=p.target.value;if(!g&&a()&&(!u||x===s.current))return;We.current?.(x),e.config.validation.change&&ne(x);let D=e.field.event?.change;D&&ze(x,L=>{Nt(D,({sources:Ne,states:W,values:kr})=>{o(()=>{vt(L,Ne,(M,_)=>V(M,_)),It(L,W,(M,_)=>{$(re=>{if(_)return{...re,[M]:_};let{[M]:_i,...Ir}=re;return Ir})}),wt(L,kr,(M,_)=>{N(re=>({...re,[M]:_}))})})})})},[ze,g,u,e.config.validation.change,e.field.event?.change,$,V,N,a,ne]),vr=Fe(p=>{if(!g){let x=p.target.value;e.config.validation.blur&&ne(x)}},[g,e.config.validation.blur,ne]);return Ae(e.config.inputs[e.field.type],p=>ur(jn,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations,children:ur(p,{...Cr,...e.ariaAttributes,...e.dataAttributes,...Fr,onBlur:vr,onChange:Nr})}))}import{twMerge as Ei}from"tailwind-merge";import{jsx as fr}from"react/jsx-runtime";function mr(e){let t=an(e.column?.advanced?.cols);return fr("div",{className:"flex w-full flex-col gap-4",children:fr("div",{className:Ei("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children})})}import{Fragment as Fi}from"react";import{jsx as Xe,jsxs as Ni}from"react/jsx-runtime";function He(e){let{column:t,field:n}=e.components;return be(e.fields).map((r,o)=>Ni(Fi,{children:[Vt(r)&&Xe(t,{column:r,children:Xe(He,{...e,fields:r.fields})}),Dt(r)&&Xe(n,{disabled:e.disabled,field:r,style:e.style,children:e.children})]},o))}import{jsx as vi}from"react/jsx-runtime";function pr(e){return n=>vi(He,{...n,components:{column:mr,field:e}})}import{useSetAtom as gr}from"jotai";import{startTransition as yr,useActionState as ki}from"react";function xr(e,t,n){let{onSuccess:r,preserveValues:o=!1,validation:i=!0}=n??{},a=gr(kn),l=gr(lr),s={data:null,error:null,success:!1},[c,u,g]=ki(async(N,$)=>{let[te,q]=e(),V=cn(te,q,n?.translations);if(i===!1)return t?await t($,V):N;let S=Et($),Z=V.safeParse(S);if(!Z.success){let b=un(Z.error);return yr(()=>{a(b)}),$e(S,{description:"Please correct the errors and try again.",details:[],title:"There were validation errors submitting the form."})}if(t)try{let b=await t(S,V);return b.success?(r?.(b.data),o||yr(()=>{l()}),br(S,o)):$e(S,b.error)}catch(b){return K.error("Error executing form action:",b),$e(S,{title:"An unexpected error occurred submitting the form.",details:Ii(b)})}return br(Z.data,o)},s);return[u,c,g]}function Ii(e){let t=e instanceof Error?e.message:["Unknown error"];return Array.isArray(t)?t:[t]}function br(e,t=!1){return{data:t?e:null,error:null,success:!0}}function $e(e,t){return{data:e,error:t,success:!1}}import{startTransition as Pi,useCallback as Tr,useRef as Ze}from"react";import{useCallback as wi}from"react";import{useSetAtom as qe}from"jotai";function hr(){let e=qe(vn),t=qe(er),n=qe(sr);return wi(r=>{let o=Array.isArray(r)?r:[r];e(o),t(o),n(o)},[e,t,n])}function Rr(){let e=hr(),t=Ze({}),n=Ze([]),r=Ze(new Set),o=Tr((l,s,c)=>{l in t.current||(t.current[l]=s,n.current.push(c))},[]),i=Tr(l=>{t.current[l]&&(delete t.current[l],n.current=n.current.filter(s=>s.name!==l),r.current.add(l),Pi(()=>{r.current.size>0&&(e(Array.from(r.current)),r.current.clear())}))},[e]);function a(){return[t.current,n.current]}return[a,o,i]}import{Fragment as Vi,jsx as ee,jsxs as Di}from"react/jsx-runtime";var Oi=pr(Dn);function Sr(e){let t=e.translations?.[e.lang??""],[n,r,o]=Rr(),[i,a,l]=xr(n,e.action,{onSuccess:e.onSuccess,validation:e.config.validation.submit,translations:t}),s=e.config.validation.showError&&!a.success&&a.error,c=a.data??e.value;return Di(Vi,{children:[s&&Ae(e.config.alert,u=>ee("div",{className:"mb-4 w-full",children:ee(u,{description:a.error?.description,details:a.error?.details,title:a.error.title})})),ee($n,{action:i,config:e.config,control:e.children,definition:e.definition,isPending:l,noValidate:!0,readOnly:e.readOnly,sections:e.sections,children:({disabled:u,fields:g})=>ee(Oi,{disabled:u,fields:g,style:e.config.style,children:N=>ee(dr,{...N,config:e.config,context:e.context,onMount:r,onUnmount:o,onValueChange:e.onValueChange,translations:t,value:c})})})]})}import{Provider as Li}from"jotai";import{jsx as Ar}from"react/jsx-runtime";function Mi(e){return Ar(Li,{children:Ar(Sr,{...e})})}export{Mi as Form};
1
+ import{jsx as co}from"react/jsx-runtime";function ht(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return co("div",{"data-slot":"field-control",className:"w-full",children:t})}import{Activity as mi,useCallback as gi,useState as pi}from"react";import{jsx as Rt}from"react/jsx-runtime";function Tt(e){return Rt("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:Rt("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"})})}var me="input",St="input/email",At="input/number";var vt="textarea",Ft="radio",Ct="checkbox",qe="list";var Nt="select",Et="select/month",kt="select/year";var Q="column",Ze="fields",It="label",h="value",ge="options",We="email",wt="number",Lt="password",Pt="tel",j="text",Ot="aria-errormessage",Vt="aria-invalid",Dt="data-invalid",Mt="data-readonly",_t="aria",$t="data",pe="min",ye="max",Bt="minLength",Gt="maxLength",Z="$ref";var Ut="source",Yt="state",be="http://luna.internal",D="vertical",W="horizontal";var Ht="type";function d(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function xe(e){return e==null||e===""}function M(e){return k(e)||typeof e=="number"||Ke(e)}function k(e){return typeof e=="string"}function Xt(e){return d(e)&&"url"in e}function Ke(e){return typeof e=="boolean"}var uo=/[^/]+$/,fo=/^\d+$/;function Je(e,t=[],n=h){return Array.isArray(t)?t.find(r=>{let o=Qe(r,n);if(o!==void 0&&`${o}`===e)return r})??{value:e}:{value:e}}function Qe(e,t=h){if(e!=null){if(M(e))return e;if(d(e)){let n=mo(e,t);if(M(n))return n}}}function mo(e,t){let n=R(e,t);if(M(n))return n}function qt(e,t){if(Array.isArray(e))return e;let n=R(e,t);return Array.isArray(n)?n:null}function R(e,t){if(!t||!d(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(d(r)&&o in r)r=r[o];else return null;return r}function Zt(e,t={label:It,value:h}){return e.map(n=>{if(d(n)){let r=R(n,t.label),o=R(n,t.value);if(M(r)&&M(o))return{label:`${r}`,value:`${o}`}}return n})}function Wt(e=j){if(e){let t=e.match(uo);if(t){let[n]=t;if(n!==me)return n.trim().toLowerCase()}}return j}function Kt(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 zt(e){let t={};for(let n in e){let r=n.split(".");if(r.length===1){t[n]=e[n];continue}let o=t;for(let l=0;l<r.length-1;l++){let a=r[l],s=r[l+1],c=fo.test(s);a in o||(o[a]=c?[]:{}),o=o[a]}let i=r[r.length-1];o[i]=e[n]}return ze(t),t}function ze(e){for(let t in e){let n=e[t];if(Array.isArray(n)){let r=n.filter(o=>o!==void 0);r.forEach(o=>{o!==null&&typeof o=="object"&&!Array.isArray(o)&&ze(o)}),e[t]=r}else n!==null&&typeof n=="object"&&ze(n)}}var go=/\[([^\]]+)\]\(([^)]+)\)/g;function _(e,t={}){if(k(e))return po(e,t);if(Array.isArray(e))return e.map(n=>_(n,t));if(d(e)){let n={};for(let r in e)n[r]=_(e[r],t);return n}return e}function je(e,t={}){return ee(e)?_(e,t):e}function ee(e){return k(e)?/{([^}]+)}/.test(e):Array.isArray(e)?e.some(t=>ee(t)):d(e)?Object.values(e).some(t=>ee(t)):!1}function po(e,t={}){return e.replace(/{([^}]+)}/g,(n,r)=>{let o=r.includes(".")?R(t,r):t[r];return M(o)?String(o):n})}function Jt(e,t){if(!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=go.exec(e))!==null;){let[l,a,s]=n,c=n.index;o=!0,c>r&&i.push(e.substring(r,c));let u=t?t(c,s,a):l;i.push(u),r=c+l.length}return o?(r<e.length&&i.push(e.substring(r)),i):e}var A={error:(...e)=>{et()&&!tt()&&he().error("[Luna Form]",...e)},warn:(...e)=>{et()&&!tt()&&he().warn("[Luna Form]",...e)},info:(...e)=>{et()&&!tt()&&he().info("[Luna Form]",...e)}},et=()=>typeof he()<"u",tt=()=>!0,he=()=>globalThis.console;function Qt(e=[],t){let n=[],r=[],o=[];for(let i of e)i.action===h&&n.push(i),i.action===Ut&&r.push(i),i.action===Yt&&o.push(i);t({sources:r,states:o,values:n})}function jt(e=null,t=[],n){for(let r of t){let{target:o,source:i}=r;if(!e){n(o,void 0);continue}if(Xt(i)){let l=_(i.url,e),a=i.body?_(i.body,e):i.body;n(o,{...i,url:l,body:a})}}}var te={eq:Ro,gt:vo,gte:Fo,in:So,lt:Co,lte:No,neq:To,nin:Ao},yo=/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2})?/,en=/^(\d{2})[/-](\d{2})[/-](\d{4})(?: (\d{2}):(\d{2})(?::(\d{2}))?)?$/;function bo(e){return typeof e=="string"&&yo.test(e)}function xo(e){return typeof e=="string"&&en.test(e)}function ho(e){let t=e.match(en);if(t){let[,n,r,o,i,l,a]=t;return new Date(Number(o),Number(r)-1,Number(n),Number(i??0),Number(l??0),Number(a??0)).getTime()}return NaN}function $(e){return bo(e)?new Date(e).getTime():xo(e)?ho(e):Number(e)}function Ro(e,t){return e===t}function To(e,t){return e!==t}function So(e,t){return Array.isArray(t)&&t.includes(String(e))}function Ao(e,t){return Array.isArray(t)&&!t.includes(String(e))}function vo(e,t){return $(e)>$(t)}function Fo(e,t){return $(e)>=$(t)}function Co(e,t){return $(e)<$(t)}function No(e,t){return $(e)<=$(t)}function tn(e=null,t=[],n){for(let r of t){let{target:o,state:i,when:l}=r,a=Array.isArray(o)?o:[o];if(!e){n(a);continue}A.info(`Selected value for state event: ${JSON.stringify(e)}, evaluating condition: ${JSON.stringify(l)}`);let s=Eo(e,l);A.info(`Condition evaluated to: ${s}, setting state for targets: ${a.join(", ")}`),n(a,s?i:void 0)}}function Eo(e,t){return t===void 0?!0:k(t)?(A.info(`Evaluating string condition: ${t} against selected value: ${JSON.stringify(e)} using VALUE field`),A.info(`Extracted value for comparison: ${JSON.stringify(K(e,h))}`),A.info(`Comparison result: ${K(e,h)===t}`),K(e,h)===t):Ke(t)?!!K(e,h)===t:Array.isArray(t)?t.includes(String(K(e,h))):ko(e,t)}function ko(e=null,t){let n=K(e,t.field??h),{operator:r="eq",value:o}=t,i=te[r];return i?i(n,o):!1}function K(e,t){return d(e)?R(e,t):e}function nn(e=null,t=[],n){for(let r of t)for(let[o,i]of Object.entries(r.value))n(o,e?_(i,e):void 0)}var Re=e=>I(Et)(e),Te=e=>I(kt)(e),T=I(Ct),nt=I(me),L=I(Ft),P=I(Nt),rt=I(vt),rn=I(j,We,Lt,Pt),on=I(St,We),Se=I(At,wt);function Ae(e){return L(e)||T(e)}function ln(e){return e.type===qe}function B(e){return e.type===Q}function ve(e){return e.type!==Q&&e.type!==qe}function Fe(e){return P(e)||L(e)}function an(e){return nt(e)||rt(e)}function Y(e){return e!=null&&e!==""}function I(...e){return t=>{let n=k(t.type)?t.type:void 0;return n?e.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function sn(e,t={}){if(P(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&d(n))return[n]}}function cn(e){return L(e)||T(e)?W:e.advanced?.orientation??D}function un(e){return T(e)?e.advanced?.reverse!==!1:!1}function dn(e,t){let n=e.readonly??!1;return t||n}function fn(e){if(L(e)||P(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||d(t)&&!(Z in t))return t}}var Io=/^\d+$/;function mn(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function gn(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 ot(){return new Date().getFullYear()}function it(e,t){if(typeof e=="number")return e;let n=t??ot(),r=e.trim().toLowerCase();if(r.startsWith("current")){let o=r.match(/^current([+-])(\d+)$/);if(o){let[,i,l]=o,a=parseInt(l,10);if(!isNaN(a))return i==="+"?n+a:n-a}return n}return Io.test(r)?parseInt(r,10):n}var Ce=ot();function wo(e){if(P(e))return Lo(e)}function Lo(e){if(Re(e))return mn();if(Te(e)){let t=e.advanced?.length?.min??Ce,n=e.advanced?.length?.max??Ce+5;return gn(it(t,Ce),it(n,Ce))}}function pn(e,t=!1){let n={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return nt(e)?{...n,...Po(e)}:P(e)?{...n,...Oo(e)}:rt(e)?{...n,...Vo(e)}:n}function Po(e){let t=Wt(e.type),n={...e,type:t};return{...yn(e),...Do(n),...rn(n)?bn(n):{},type:t}}function Oo(e){let t=wo(e);return t?{options:t}:{}}function Vo(e){return{...yn(e),...bn(e)}}function yn(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function Do(e){return Se(e)?Mo(e):{}}function bn(e){return xn(e,{min:Bt,max:Gt})}function Mo(e){return xn(e,{min:pe,max:ye})}function xn(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 hn(e,t){let n=fn(e);return n||sn(e,t)}function _o(e,t){let n=d(t)&&e.name in t?t[e.name]:t;return Qe(n,e.advanced?.entity)}function $o(e,t,n){return Fe(e)&&Array.isArray(n)?{...t,[ge]:n}:t}function Bo(e,t,n){if(e.required&&!Y(n)&&P(e)&&e.advanced?.preselected!==!1&&ge in t){let r=t[ge];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function Go(e,t){return P(e)&&Array.isArray(t)?Zt(t,e.advanced?.options):t}function Rn(e,t,n,r){let o=_o(e,r),i=Array.isArray(n)?Go(e,n):n,l=$o(e,t,i),a=Bo(e,l,o);return{commonPropsWithOptions:l,defaultValue:a}}function Tn(e,t){return T(e)?{checked:Y(t)?t:!1}:{value:t??""}}var Uo=/^#\/definition\//;function Ee(e=[],t){let n=Ne(e,t);return Array.isArray(n)?n.filter(Ho).sort((r,o)=>Sn(r)-Sn(o)):[]}function Ne(e,t,n=new Map,r=new WeakSet){if(!Yo(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=>Ne(i,t,n,r));if(Z in e&&k(e[Z])){let i=e[Z].replace(Uo,""),l=R(t,i);return l!==null?Ne(l,t,n,r):e}let o={};for(let[i,l]of Object.entries(e))o[i]=Ne(l,t,n,r);return r.delete(e),n.set(e,o),o}function An(e){return Object.entries(e??{})}function Sn(e){return e.order??Number.MAX_VALUE}function Yo(e){return e!==void 0&&d(e)&&Object.keys(e).length>0}function Ho(e){return Ht in e?!0:Array.isArray(e[Ze])?e[Ze].length>0:!0}function vn(e,t){let n={};for(let[r,o]of An(t))n[`${e}-${r}`]=o;return n}function Xo(e){return vn(_t,e)}function qo(e){return vn($t,e)}function Fn(e,t){let n=Xo(e.advanced?.aria);return t&&t.length>0&&(n[Vt]="true",n[Ot]=`${e.name}-error`),n}function Cn(e){return qo(e.advanced?.data)}var Nn={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},En={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function kn(e,t=2){return Nn[e&&e in Nn?e:t]}function In(e){if(e&&e in En)return En[e]}function Zo(e,t){let n=e.advanced?.length?.min??1;if(t){let r=R(t,e.name);if(Array.isArray(r))return Math.max(r.length,n)}return Math.max(n,0)}function wn(e){return!Array.isArray(e.fields)||e.fields.length===0?!1:e.fields.length>1||e.fields[0].type===Q}function Ln(e,t){let n=Zo(e,t);return Array.from({length:n},(r,o)=>o)}function Pn(e){return e.label??e.name}import{z as p}from"zod";function f(e,t){return e?t?t[e]??e:e:""}var Wo=[[Se,jo],[on,Ko],[Te,ei],[Re,ti],[T,zo],[L,Jo]];function Vn(e,t=[],n){let r=p.object(e);return t.length===0?r:ii(r,t,n)}function Dn(e){let t={},n=p.flattenError(e).fieldErrors;for(let[r,o]of Object.entries(n))o!==void 0&&(t[r]=o);return t}function Mn(e,t){for(let[n,r]of Wo)if(n(e))return r(e,t);return Qo(e,t)}function Ko(e,t){let n=p.string().trim();if(e.required){let r=z(e,t),o=n.min(1,r).pipe(On(e,t));return p.preprocess(i=>xe(i)?"":i,o)}return n.pipe(On(e,t)).or(p.literal("")).nullable()}function zo(e,t){let n=p.coerce.boolean();return e.required?(n=n.refine(r=>r===!0,{message:z(e,t)}),p.preprocess(r=>r===null?!1:r,n)):n.nullable()}function Jo(e,t){let n=p.coerce.string();return e.required?(n=n.min(1,z(e,t)),p.preprocess(r=>xe(r)?"":r,n)):n.or(p.literal("")).nullable()}function Qo(e,t){let n=p.coerce.string().trim();return n=_n(n,e,t),e.required?(n=$n(n,e,t),p.preprocess(r=>xe(r)?"":r,n)):n.nullable()}function jo(e,t){let n=p.coerce.number().int();return n=_n(n,e,t),e.required?(n=$n(n,e,t),p.preprocess(r=>r===null?void 0:r,n)):n.nullable()}function ei(e,t){return e.required?p.preprocess(ni,p.coerce.number({message:z(e,t)}).int()):p.coerce.number().int().nullable()}function ti(e,t){let n=z(e,t),r=p.coerce.number().int().min(1,n).max(12,n);return e.required?r:r.nullable()}function ni(e){return e===null||e===""?void 0:e}function On(e,t){let n=e.validation?.email?f(e.validation?.email,t):void 0;return p.email(n)}function _n(e,t,n){return e=ri(e,t,n),e=oi(e,t,n),e}function $n(e,t,n){let r=t.advanced?.length?.min;return r===void 0||r<1?e.min(1,z(t,n)):e}var ri=(e,t,n)=>Bn(e,t,pe,n),oi=(e,t,n)=>Bn(e,t,ye,n);function Bn(e,t,n,r){let o=t.advanced?.length?.[n];if(o!==void 0){let i=t.validation?.length?.[n]?f(t.validation?.length?.[n],r):void 0;return e[n](o,i)}return e}function ii(e,t=[],n){let r=ai(t);return r.length===0?e:e.superRefine((o,i)=>{for(let{name:l,rule:a}of r)if(!li(o,l,a)){let s=f(a.message,n);i.addIssue({code:"custom",message:s,path:[l]})}})}function li(e,t,n){let r=n.operator??"eq",o=te[r];return o?o(e[t],e[n.field]):!1}function ai(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 Gn(e,t,n,r){let o=[],i=Array.isArray(t)?t:[t];for(let l of i){let a=l.operator??"eq",s=te[a];if(s&&!s(e,n(l.field))&&l.message){let c=f(l.message,r);o.push(c)}}return o}function z(e,t){return e.validation?.required?f(e.validation?.required,t):void 0}function Un(e,t){if(!t||!ci(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||si(r);return t.some(l=>!(l.protocol&&l.protocol!==r||l.hostname&&l.hostname!==o||l.port!==void 0&&String(l.port)!==i))}catch{return!1}}function si(e){return e==="https"?"443":"80"}function ci(e){return/^(https?:)?\/\//.test(e)}function Yn(e,t){try{if(!e)return t;if(!t)return e;let n=new URL(e,be);new URL(t,be).searchParams.forEach((i,l)=>{n.searchParams.set(l,i)});let o=n.toString();return e.startsWith("/")||!e.includes("://")?o.replace(be,""):o}catch{return t||e}}function Hn(e){return!Array.isArray(e)||e.length===0?null:e.reduce((t,n)=>{let r=Yn(t.url,n.url),o=ui(t,n),i=di(t,n);return{...t,...n,url:r,body:o,headers:i}})}function ui(e,t){return d(t.body)&&d(e?.body)?{...e.body,...t.body}:t.body??e?.body}function di(e,t){return d(t.headers)&&d(e?.headers)?{...e.headers,...t.headers}:t.headers??e?.headers}function ke(e,t){return{...e,...t}}import{jsx as fi}from"react/jsx-runtime";function G(e){return Jt(e,(t,n,r)=>fi("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${t}`))}import{jsx as ne,jsxs as lt}from"react/jsx-runtime";function Xn(e){let{fields:t=[]}=e.section,[n,r]=pi(!1),o=gi(()=>r(i=>!i),[]);return lt("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:[ne("legend",{children:lt("button",{className:"flex cursor-pointer items-center gap-2 text-base font-medium text-slate-600 dark:text-slate-400",onClick:o,type:"button",children:[ne(Tt,{expanded:n}),ne("span",{children:G(e.section.title)})]})}),ne(mi,{mode:n?"visible":"hidden",children:lt("div",{className:"mt-3 ml-1.5 flex flex-col gap-4 border-l-2 border-slate-300 pl-4 dark:border-slate-600","data-slot":"field-set-content",children:[e.section.description&&ne("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:G(e.section.description)}),e.group]})})]})}import{Fragment as yi,jsx as qn,jsxs as bi}from"react/jsx-runtime";function Zn(e){return bi(yi,{children:[e.title&&qn("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:G(e.title)}),e.description&&qn("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:G(e.description)})]})}import{jsx as xi,jsxs as hi}from"react/jsx-runtime";function Ie(e){return hi("fieldset",{"data-slot":"field-set","data-empty":e.empty,className:"flex flex-col data-[empty=false]:gap-6",id:e.id,children:[xi(Zn,{description:e.description,title:e.title}),e.children]})}import{jsx as Ri}from"react/jsx-runtime";function H(e){return Ri("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 at}from"react/jsx-runtime";function Wn(e){let{fields:t=[]}=e.section,{compact:n}=ke(e.style,{compact:e.section.compact}),r=at(H,{compact:n,children:e.children});return!e.section.title&&!e.section.description?r:e.section.advanced?at(Xn,{section:e.section,group:r}):at(Ie,{description:e.section.description,empty:t.length===0,id:e.section.id?.toString(),title:e.section.title,children:r})}import{useAtomValue as Fi}from"jotai";import{atom as X}from"jotai";import{atomFamily as Kn}from"jotai-family";import{deepEqual as st}from"fast-equals";function Ti(e){return Kn(t=>X(n=>n(e)[t]??void 0,(n,r,o)=>{let i=n(e);if(o!=null){let l=i[t];(!l||!st(l,o))&&r(e,{...i,[t]:o})}else if(i[t]){let{[t]:l,...a}=i;r(e,a)}}))}function Si(e){return X(null,(t,n)=>{let r=t(e);r&&Object.keys(r).length>0&&n(e,{})})}function Ai(e){return X(null,(t,n,r)=>{let i={...t(e)},l=!1;for(let a of r)i[a]&&(delete i[a],l=!0);l&&n(e,i)})}function vi(e){return X(null,(t,n,r)=>{let o=t(e);st(o,r)||n(e,r)})}function zn(e,t={}){let{merge:n,validateTarget:r}=t;return Kn(o=>X(i=>{let l=i(e)[o];if(l&&n)return n(Object.values(l))},(i,l,a,s)=>{if(r&&!r(a))return;let c=i(e),u={...c[a]??{}};if(s!=null){let m=u[o];(!m||!st(m,s))&&(u[o]=s,l(e,{...c,[a]:u}))}else if(u[o])if(delete u[o],Object.keys(u).length===0){let{[a]:m,...b}=c;l(e,b)}else l(e,{...c,[a]:u})}))}function Jn(e){return X(null,(t,n,r)=>{let i={...t(e)},l=!1;for(let a of r)i[a]&&(delete i[a],l=!0);for(let a in i){let s={...i[a]},c=!1;for(let u of r)s[u]&&(delete s[u],c=!0,l=!0);c&&(Object.keys(s).length===0?delete i[a]:i[a]=s)}l&&n(e,i)})}function J(e={}){let t=X(e);return{atom:t,clearAll:Si(t),clear:Ai(t),bulkReport:vi(t),report:Ti(t)}}var Qn=J(),we=Qn.atom,jn=Qn.report;function Ci(e,t){return e.fields.every(n=>er(n,t))}function er(e,t){return t[e.name]?.hidden??e.hidden??!1}function Ni(e,t){return B(e)?Ci(e,t):er(e,t)}function Le(e){let t=Fi(we);return e.container&&(t[e.container.name]?.hidden??e.container.hidden??!1)||e.fields.length===0||e.fields.every(r=>Ni(r,t))?null:e.children}import{jsx as tr}from"react/jsx-runtime";function nr(){return tr("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:tr("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}import{jsx as re,jsxs as rr}from"react/jsx-runtime";function or(e){let t=Ee(e.sections,e.definition);return re("div",{className:"h-full w-full",children:re("form",{noValidate:e.noValidate,action:e.action,children:rr(H,{children:[t.map((n,r)=>rr(Le,{fields:n.fields??[],children:[re(Wn,{section:n,style:e.config.style,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.separator&&re(nr,{})]},r)),e.control&&re(ht,{isPending:e.isPending,children:e.control})]})})})}import{jsx as Ei}from"react/jsx-runtime";function ir(e){return Ei("p",{className:"-mt-2 text-xs leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}import{jsx as ki}from"react/jsx-runtime";function Pe(e){let t=G(e.text);return t?ki(ir,{children:t}):null}import{twMerge as Ii}from"tailwind-merge";import{jsx as wi,jsxs as Li}from"react/jsx-runtime";function lr(e){let t=e.style?.showOptionalLabel??!0,n=L(e.field)||T(e.field);return Li("label",{"data-slot":"field-label","data-normal":n,className:Ii("flex w-fit items-center gap-2 text-sm leading-snug font-medium select-none","data-[normal=true]:font-normal","group-data-[readonly=true]:cursor-not-allowed group-data-[readonly=true]:opacity-50"),htmlFor:e.field.name,children:[e.children,t&&!e.field.required&&wi("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:f("(Optional)",e.translations)})]})}import{jsx as ar,jsxs as Pi}from"react/jsx-runtime";function sr(e){let t={context:e.context,env:e.config?.env},n=je(e.field.label,t),r=je(e.field.description,t);return Pi("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[ar(lr,{field:e.field,style:e.config?.style,translations:e.translations,children:f(n,e.translations)}),e.orientation===W&&ar(Pe,{text:f(r,e.translations)})]})}import{Fragment as Oi,jsx as cr,jsxs as Vi}from"react/jsx-runtime";function ur(e){return Vi(Oi,{children:[e.field.name&&e.field.label&&cr(sr,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations}),e.children,e.orientation===D&&e.field.description&&cr(Pe,{text:f(e.field.description,e.translations)})]})}function Oe(e,t){return e?t(e):null}var ct=J(),dr=ct.clear,fr=ct.bulkReport,Ve=ct.report;import{useCallback as $e,useEffect as ji,useRef as oe,useTransition as el}from"react";import{atom as Di}from"jotai";var Mi=e=>{let t=Hn(e);if(t)return t},_i=e=>e.trim()!=="",mr=Di({}),gr=zn(mr,{merge:Mi,validateTarget:_i}),pr=Jn(mr);import{useAtom as Gi}from"jotai";import $i from"swr";function yr(e=null,t,n=!1){let{data:r,error:o}=$i(Bi(e,t,n),t.fetcher.provider);if(o&&A.error("Error fetching data source:",o),e){if(Array.isArray(e))return e;if(r)return qt(r,e.namespace)}return null}function Bi(e=null,t,n=!1){if(e&&!Array.isArray(e)&&!n&&e.url&&!ee(e.url)){if(Un(e.url,t.fetcher.remotePatterns))return e;A.warn(`URL blocked by remotePatterns: ${e.url}. Check your luna.config.ts`)}return null}function br(e,t,n){let r=hn(e,n),[o,i]=Gi(gr(e.name));return[yr(o??r,t,e.disabled),i]}import{useEffect as Ui,useEffectEvent as xr,useMemo as Yi}from"react";function hr(e,t,n,r){let{name:o}=e,i=Yi(()=>Mn(e,r),[e,r]),l=xr(s=>{s&&t(s,i,e)}),a=xr(s=>{s&&n(s)});return Ui(()=>(l(o),()=>{a(o)}),[o]),i}import{useSetAtom as ut,useStore as tl}from"jotai";import{useCallback as Hi,useEffect as Xi,useRef as qi}from"react";function Rr(){let e=qi(null);return Xi(()=>()=>{e.current&&clearTimeout(e.current)},[]),Hi((n,r)=>{e.current&&(clearTimeout(e.current),e.current=null),e.current=setTimeout(n,r)},[])}var De=J(),Me=De.atom,Tr=De.clearAll,Sr=De.clear,_e=De.report;import{useAtom as Zi}from"jotai";import{useCallback as Wi,useEffect as Ki,useRef as zi,useEffectEvent as Ji}from"react";function Ar(e,t){let{name:n}=e,r=zi(!1),[o,i]=Zi(_e(n)),l=Ji(s=>{let c=Qi(n,s);Y(c)&&(r.current=!0,i(c))});Ki(()=>{t&&l(t)},[t]);let a=Wi(()=>r.current?(r.current=!1,!0):!1,[]);return{setValue:i,shouldSkipOnChange:a,value:o}}function Qi(e,t){if(e in t)return t[e];if(!e.includes("."))return;let n=e.split("."),r=t;for(let o of n){if(r==null)return;if(Array.isArray(r)){let i=Number(o);r=Number.isInteger(i)?r[i]:void 0}else if(typeof r=="object")r=r[o];else return}return r}import{jsx as vr}from"react/jsx-runtime";function Fr(e){let t=e.field.advanced?.entity,n=tl(),r=Rr(),[,o]=el(),{setValue:i,shouldSkipOnChange:l,value:a}=Ar(e.field,e.value),s=oe(!1),c=oe(a);c.current=a;let u=oe(e.translations);u.current=e.translations;let m=an(e.field),b=Ae(e.field),v=ut(Me),O=ut(we),F=ut(Ve(e.field.name)),[x,w]=br(e.field,e.config,a),C=hr(e.field,e.onMount,e.onUnmount,e.translations),S=f(e.commonProps.placeholder,e.translations),V={...e.commonProps,placeholder:S},{commonPropsWithOptions:N,defaultValue:ce}=Rn(e.field,V,x,a),bt=oe(null);bt.current=g=>{i(g),e.onValueChange&&e.onValueChange({name:e.field.name,value:g})};let Ue=oe(null);Ue.current=g=>{let y=e.field.event?.change;y&&Qt(y,({sources:U,states:de,values:Ye})=>{o(()=>{jt(g,U,(E,q)=>w(E,q)),tn(g,de,(E,q)=>{O(fe=>q?E.reduce((He,Xe)=>({...He,[Xe]:q}),fe):E.reduce((He,Xe)=>{let{[Xe]:Ll,...so}=He;return so},fe))}),nn(g,Ye,(E,q)=>{v(fe=>({...fe,[E]:q}))})})})};let io=Tn(e.field,ce),ue=$e(g=>{let U=C.safeParse(g).error?.issues.map(E=>E.message)??[],de=e.field.validation?.custom,Ye=de?Gn(g,de,E=>n.get(_e(E)),u.current):[];F([...U,...Ye])},[e.field.validation?.custom,C,F,n]),xt=$e((g,y)=>{if(m){r(()=>{y({value:g})},500);return}y(Je(g,x,t))},[x,t,m,r]);ji(()=>{if(s.current||!e.value)return;if(!e.field.event?.change){s.current=!0;return}if(!((!Fe(e.field)||!!x&&x.length>0)&&Y(ce)))return;s.current=!0;let y=String(ce),U=m?{value:y}:Je(y,x,t);Ue.current?.(U)},[x,ce,t,m,e.field,e.value]);let lo=$e(g=>{let y=g.target.value;!b&&l()&&(!m||y===c.current)||(bt.current?.(y),e.config.validation.change&&ue(y),e.field.event?.change&&xt(y,U=>{Ue.current?.(U)}))},[xt,b,m,e.config.validation.change,e.field.event?.change,l,ue]),ao=$e(g=>{if(!b){let y=g.target.value;e.config.validation.blur&&ue(y)}},[b,e.config.validation.blur,ue]);return Oe(e.config.inputs[e.field.type],g=>vr(ur,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations,children:vr(g,{...N,...e.ariaAttributes,...e.dataAttributes,...io,onBlur:ao,onChange:lo})}))}import{jsx as Cr}from"react/jsx-runtime";function Nr(e){return!e.errors||e.errors.length===0?null:Cr("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)=>Cr("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}import{twMerge as nl}from"tailwind-merge";import{jsx as rl}from"react/jsx-runtime";function Be(e){let t=e.errors&&e.errors.length>0;return rl("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[Dt]:"true"},...e.disabled&&{[Mt]:"true"},"data-orientation":e.orientation,className:nl("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 ol}from"tailwind-merge";import{jsx as il}from"react/jsx-runtime";function Er(e){return il(Be,{...e,orientation:D,className:ol("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}import{twMerge as ll}from"tailwind-merge";import{jsx as al}from"react/jsx-runtime";function kr(e){return al(Be,{...e,orientation:W,className:ll("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 Ir}from"react/jsx-runtime";function wr(e){let t=Ae(e.field),n=T(e.field),r=un(e.field);return e.orientation===D?Ir(Er,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children}):Ir(kr,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children})}function Lr(e){if(!e.field.type)return null;let t=pn(e.field,e.disabled),n=Cn(e.field),r=Fn(e.field,e.errors),o={...e.field,disabled:t.disabled};return e.children({ariaAttributes:r,commonProps:t,dataAttributes:n,field:o,orientation:e.orientation})}import{twMerge as sl}from"tailwind-merge";import{jsx as dt,jsxs as cl}from"react/jsx-runtime";function Pr(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:r}=ke(e.style,{orientation:cn(e.field)}),o=dn(e.field,e.disabled);return cl("div",{className:sl("flex flex-col gap-3",In(t)),children:[dt(wr,{disabled:o,errors:n,field:e.field,orientation:r,children:dt(Lr,{disabled:o,errors:n,field:e.field,orientation:r,children:e.children})}),dt(Nr,{errors:n,name:e.field.name})]})}import{useAtomValue as ul}from"jotai";import{jsx as dl}from"react/jsx-runtime";function Or(e){return n=>{let r=ul(Ve(n.field.name));return dl(e,{...n,errors:r?{[n.field.name]:r}:void 0})}}import{useAtomValue as fl}from"jotai";import{jsx as ml}from"react/jsx-runtime";function Vr(e){return n=>{let r=fl(jn(n.field.name));return r?.hidden??n.field.hidden??!1?null:ml(e,{...n,disabled:r?.disabled??n.disabled})}}var Dr=Vr(Or(Pr));import{twMerge as gl}from"tailwind-merge";import{jsx as ie,jsxs as Ge}from"react/jsx-runtime";function Mr(e){function t(){e.canRemove&&e.onRemove&&e.onRemove(e.index)}let n=e.canRemove&&e.onRemove!=null&&ie("button",{"aria-label":`Remove ${e.label} item ${e.index+1}`,className:gl("rounded p-1 text-xl text-slate-400","transition-colors duration-150","hover:text-red-500","focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:outline-none","dark:text-slate-500 dark:hover:text-red-400"),onClick:t,type:"button",children:ie("span",{"aria-hidden":"true",children:"\xD7"})});return e.isMultiField?Ge("div",{className:"rounded-lg border border-slate-100 p-4 dark:border-slate-900",children:[Ge("div",{className:"mb-3 flex items-center justify-between",children:[Ge("span",{className:"text-sm font-medium text-slate-400 dark:text-slate-500",children:[e.label," ",e.index+1]}),n]}),ie(H,{children:e.children})]}):Ge("div",{className:"flex items-start gap-2",children:[ie(H,{children:e.children}),n&&ie("div",{className:"shrink-0",children:n})]})}import{twMerge as bl}from"tailwind-merge";import{useSetAtom as pl}from"jotai";import{useCallback as _r,useRef as $r,useState as yl}from"react";function Br(e,t){let n=e.advanced?.length?.min??1,r=e.advanced?.length?.max??1/0,[o,i]=yl(()=>Ln(e,t)),l=$r(o.length),a=$r(o);a.current=o;let s=pl(Me),c=_r(()=>{i(v=>{if(v.length>=r)return v;let O=l.current++;return[...v,O]})},[r]),u=_r(v=>{if(o.length<=n)return;let O=o[v];i(F=>F.length<=n?F:F.filter((x,w)=>w!==v)),s(F=>{let x={...F},w=`${e.name}.`,C=[];for(let S of e.fields)if(B(S))for(let V of S.fields)C.push(V.name);else C.push(S.name);for(let S of C)delete x[`${w}${O}.${S}`];return x})},[e.name,e.fields,o,n,s]),m=o.length<r,b=o.length>n;return[o,c,u,m,b,r]}import{Fragment as xl,jsx as Gr,jsxs as ft}from"react/jsx-runtime";function Ur(e){let[t,n,r,o,i,l]=Br(e.field,e.value),a=Pn(e.field),s=e.field.advanced?.action??"Add item",c=l!==1/0,u=wn(e.field);return ft(xl,{children:[t.map((m,b)=>Gr(Mr,{canRemove:i,index:b,isMultiField:u,label:a,onRemove:r,children:e.children(m)},m)),ft("button",{"aria-disabled":!o,"aria-label":c?`${s}, ${t.length} of ${l}`:s,className:bl("flex w-full items-center gap-1.5 rounded py-1","text-sm font-medium text-slate-500","transition-colors duration-150","hover:text-slate-800","focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:ring-offset-2 focus-visible:outline-none","dark:text-slate-400 dark:hover:text-slate-200",!o&&"cursor-not-allowed opacity-50 hover:text-slate-500 dark:hover:text-slate-400"),disabled:!o,onClick:n,type:"button",children:[Gr("span",{"aria-hidden":"true",children:"+"}),s,c&&ft("span",{"aria-hidden":"true",className:"ml-auto text-slate-400 tabular-nums dark:text-slate-500",children:[t.length," / ",l]})]})]})}import{jsx as hl}from"react/jsx-runtime";function Yr(e){let t=Array.isArray(e.field.fields)&&e.field.fields.length===0;return hl(Ie,{description:e.field.description,empty:t,id:e.field.name,title:e.field.label,children:e.children})}import{jsx as mt}from"react/jsx-runtime";function Hr({children:e,field:t,value:n}){return mt(Le,{container:t,fields:t.fields,children:mt(Yr,{field:t,children:mt(Ur,{field:t,value:n,children:e})})})}import{twMerge as Rl}from"tailwind-merge";import{jsx as Xr}from"react/jsx-runtime";function qr(e){let t=kn(e.column?.advanced?.cols);return Xr("div",{className:"flex w-full flex-col gap-4",children:Xr("div",{className:Rl("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children})})}import{Fragment as Sl}from"react";import{jsx as Tl}from"react/jsx-runtime";function Zr(e){let t=Array.isArray(e.field.fields)?e.field.fields.map(n=>ve(n)?{...n,name:`${e.field.name}.${e.index}.${n.name}`}:B(n)?{...n,fields:n.fields.map(r=>({...r,name:`${e.field.name}.${e.index}.${r.name}`}))}:n):[];return Tl(le,{children:e.children,components:e.components,disabled:e.disabled,fields:t,style:e.style,value:e.value})}import{jsx as ae,jsxs as Al}from"react/jsx-runtime";function le(e){let{field:t,list:n}=e.components;return Ee(e.fields).map((r,o)=>Al(Sl,{children:[B(r)&&ae(qr,{column:r,children:ae(le,{...e,fields:r.fields})}),ve(r)&&ae(t,{disabled:e.disabled,field:r,style:e.style,children:e.children}),ln(r)&&ae(n,{field:r,value:e.value,children:i=>ae(Zr,{children:e.children,components:e.components,disabled:e.disabled,field:r,index:i,style:e.style,value:e.value})})]},o))}import{jsx as vl}from"react/jsx-runtime";function Wr(e){return n=>vl(le,{...n,components:e})}var Kr=Wr({field:Dr,list:Hr});import{useSetAtom as zr}from"jotai";import{startTransition as Jr,useActionState as Fl}from"react";function jr(e,t,n){let{onSuccess:r,preserveValues:o=!1,validation:i=!0,translations:l}=n??{},a=zr(fr),s=zr(Tr),c={data:null,error:null,success:!1},[u,m,b]=Fl(async(v,O)=>{let[F,x]=e(),w=Vn(F,x,l);if(i===!1)return t?await t(O,w):v;let C=Kt(O),S=w.safeParse(C);if(!S.success){let N=Dn(S.error);return Jr(()=>{a(N)}),gt(C,{description:f("Please correct the errors and try again.",l),details:[],title:f("There were validation errors submitting the form.",l)})}let V=zt(C);if(t)try{let N=await t(V,w);return N.success?(r?.(N.data),o||Jr(()=>{s()}),Qr(V,o)):gt(V,N.error)}catch(N){return A.error("Error executing form action:",N),gt(V,{title:f("An unexpected error occurred submitting the form.",l),details:Cl(N,l)})}return Qr(S.data,o)},c);return[m,u,b]}function Cl(e,t){return e instanceof Error?[e.message]:[f("Unknown error",t)]}function Qr(e,t=!1){return{data:t?e:null,error:null,success:!0}}function gt(e,t){return{data:e,error:t,success:!1}}import{useCallback as yt,useRef as to}from"react";import{useCallback as Nl}from"react";import{useSetAtom as pt}from"jotai";function eo(){let e=pt(dr),t=pt(Sr),n=pt(pr);return Nl(r=>{let o=Array.isArray(r)?r:[r];e(o),n(o),t(o)},[e,n,t])}function no(){let e=eo(),t=to({}),n=to([]),r=yt((l,a,s)=>{l in t.current||(t.current[l]=a,n.current.push(s))},[]),o=yt(l=>{t.current[l]&&(delete t.current[l],n.current=n.current.filter(a=>a.name!==l),e([l]))},[e]);return[yt(()=>[t.current,n.current],[]),r,o]}import{Fragment as El,jsx as se,jsxs as kl}from"react/jsx-runtime";function ro(e){let t=e.translations?.[e.lang??""],[n,r,o]=no(),[i,l,a]=jr(n,e.action,{onSuccess:e.onSuccess,validation:e.config.validation.submit,translations:t}),s=e.config.validation.showError&&!l.success&&l.error,c=l.data??e.value;return kl(El,{children:[s&&Oe(e.config.alert,u=>se("div",{className:"mb-4 w-full",children:se(u,{description:l.error?.description,details:l.error?.details,title:l.error.title})})),se(or,{action:i,config:e.config,control:e.children,definition:e.definition,isPending:a,noValidate:!0,readOnly:e.readOnly,sections:e.sections,children:({disabled:u,fields:m})=>se(Kr,{disabled:u,fields:m,style:e.config.style,value:c,children:b=>se(Fr,{...b,config:e.config,context:e.context,onMount:r,onUnmount:o,onValueChange:e.onValueChange,translations:t,value:c})})})]})}import{Provider as Il}from"jotai";import{jsx as oo}from"react/jsx-runtime";function wl(e){return oo(Il,{children:oo(ro,{...e})})}export{wl as Form};
@@ -1 +1 @@
1
- "use strict";var f=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var O=Object.getOwnPropertyNames;var N=Object.prototype.hasOwnProperty;var P=(t,n)=>{for(var r in n)f(t,r,{get:n[r],enumerable:!0})},_=(t,n,r,e)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of O(n))!N.call(t,o)&&o!==r&&f(t,o,{get:()=>n[o],enumerable:!(e=C(n,o))||e.enumerable});return t};var w=t=>_(f({},"__esModule",{value:!0}),t);var rt={};P(rt,{defineCheckbox:()=>J,defineConfig:()=>q,defineCustomInput:()=>nt,defineInput:()=>z,defineRadio:()=>Z,defineSelect:()=>Q,defineTextArea:()=>tt});module.exports=w(rt);var D="input",M="input/email",U="input/number",k="input/password",X="input/tel",v="input/text",m=[D,M,U,k,X,v],h="textarea",A="radio",y="checkbox",V="select",j="select/month",F="select/year",I=[V,j,F];var u="http://luna.internal";function R(t){return t!==null&&Object.prototype.toString.call(t)==="[object Object]"}function i(t){return typeof t=="string"}function a(t){return i(t)?/{([^}]+)}/.test(t):Array.isArray(t)?t.some(n=>a(n)):R(t)?Object.values(t).some(n=>a(n)):!1}var b={error:(...t)=>{l()&&!x()&&p().error("[Luna Form]",...t)},warn:(...t)=>{l()&&!x()&&p().warn("[Luna Form]",...t)},info:(...t)=>{l()&&!x()&&p().info("[Luna Form]",...t)}},l=()=>typeof p()<"u",x=()=>!0,p=()=>globalThis.console;function S(t){try{return t instanceof FormData?null:i(t)?t:JSON.stringify(t)}catch{return b.error("Failed to stringify body:",t),null}}var G=/(^|[\/?=&])(null|undefined)([\/?=&]|$)/;async function L(t){let[n,r]=H(t),e=t.body,o=$(t);if(e&&!d(r)){let g=S(e);g!==null&&(e=g,o=B(o))}let c=n.origin===u?n.toString().replace(u,""):n.toString(),T=await fetch(c,{body:W(r,e),cache:t.cache,headers:o,method:r}),E=await T.json();if(T.ok)return E;throw E}function H(t){let n=t.url?.trim();if(!n||!K(n))throw new Error(`Invalid URL: ${t.url}`);let r=new URL(n,u),e=Y(t);return t.body&&d(e)&&Object.entries(t.body).filter(([,o])=>o!==void 0&&o!=="undefined").forEach(([o,c])=>{r.searchParams.append(o,String(c))}),[r,e]}function B(t){return{...t,"Content-Type":"application/json"}}function K(t){return!i(t)||a(t)?!1:!G.test(t)}function Y(t){return t.method??"GET"}function $(t){return{Accept:"application/json",...t.headers??{}}}function d(t){return t.toUpperCase()==="GET"}function W(t,n){if(!d(t))return n}function q(t){let n={alert:t.alert,env:t.env,fetcher:{provider:L,remotePatterns:t.fetcher?.remotePatterns},inputs:{},style:t.style};return n.validation=t.validation??{blur:!0,change:!0,showError:!0,submit:!0},t.inputs.forEach(({types:r,input:e})=>{(Array.isArray(r)?r:[r]).forEach(c=>{n.inputs[c]=e})}),n}var J=s([y]),z=s(m),Z=s([A]),Q=s(I),tt=s([h]);function nt(t,n){return s(t)(n)}function s(t){return n=>({types:t,input:n})}
1
+ "use strict";var l=Object.defineProperty;var N=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var O=Object.prototype.hasOwnProperty;var P=(t,n)=>{for(var r in n)l(t,r,{get:n[r],enumerable:!0})},w=(t,n,r,e)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of C(n))!O.call(t,o)&&o!==r&&l(t,o,{get:()=>n[o],enumerable:!(e=N(n,o))||e.enumerable});return t};var _=t=>w(l({},"__esModule",{value:!0}),t);var rt={};P(rt,{defineCheckbox:()=>J,defineConfig:()=>q,defineCustomInput:()=>nt,defineInput:()=>z,defineRadio:()=>Z,defineSelect:()=>Q,defineTextArea:()=>tt});module.exports=_(rt);var D="input",M="input/email",U="input/number",k="input/password",v="input/tel",X="input/text",m=[D,M,U,k,v,X],A="textarea",h="radio",y="checkbox";var V="select",j="select/month",B="select/year",I=[V,j,B];var u="http://luna.internal";function R(t){return t!==null&&Object.prototype.toString.call(t)==="[object Object]"}function i(t){return typeof t=="string"}function a(t){return i(t)?/{([^}]+)}/.test(t):Array.isArray(t)?t.some(n=>a(n)):R(t)?Object.values(t).some(n=>a(n)):!1}var b={error:(...t)=>{f()&&!x()&&p().error("[Luna Form]",...t)},warn:(...t)=>{f()&&!x()&&p().warn("[Luna Form]",...t)},info:(...t)=>{f()&&!x()&&p().info("[Luna Form]",...t)}},f=()=>typeof p()<"u",x=()=>!0,p=()=>globalThis.console;function L(t){try{return t instanceof FormData?null:i(t)?t:JSON.stringify(t)}catch{return b.error("Failed to stringify body:",t),null}}var F=/(^|[\/?=&])(null|undefined)([\/?=&]|$)/;async function S(t){let[n,r]=H(t),e=t.body,o=$(t);if(e&&!d(r)){let g=L(e);g!==null&&(e=g,o=G(o))}let c=n.origin===u?n.toString().replace(u,""):n.toString(),T=await fetch(c,{body:W(r,e),cache:t.cache,headers:o,method:r}),E=await T.json();if(T.ok)return E;throw E}function H(t){let n=t.url?.trim();if(!n||!K(n))throw new Error(`Invalid URL: ${t.url}`);let r=new URL(n,u),e=Y(t);return t.body&&d(e)&&Object.entries(t.body).filter(([,o])=>o!==void 0&&o!=="undefined").forEach(([o,c])=>{r.searchParams.append(o,String(c))}),[r,e]}function G(t){return{...t,"Content-Type":"application/json"}}function K(t){return!i(t)||a(t)?!1:!F.test(t)}function Y(t){return t.method??"GET"}function $(t){return{Accept:"application/json",...t.headers??{}}}function d(t){return t.toUpperCase()==="GET"}function W(t,n){if(!d(t))return n}function q(t){let n={alert:t.alert,env:t.env,fetcher:{provider:S,remotePatterns:t.fetcher?.remotePatterns},inputs:{},style:t.style};return n.validation=t.validation??{blur:!0,change:!0,showError:!0,submit:!0},t.inputs.forEach(({types:r,input:e})=>{(Array.isArray(r)?r:[r]).forEach(c=>{n.inputs[c]=e})}),n}var J=s([y]),z=s(m),Z=s([h]),Q=s(I),tt=s([A]);function nt(t,n){return s(t)(n)}function s(t){return n=>({types:t,input:n})}
@@ -1 +1 @@
1
- var L="input",C="input/email",O="input/number",N="input/password",P="input/tel",_="input/text",g=[L,C,O,N,P,_],m="textarea",h="radio",A="checkbox",w="select",D="select/month",M="select/year",y=[w,D,M];var u="http://luna.internal";function I(t){return t!==null&&Object.prototype.toString.call(t)==="[object Object]"}function i(t){return typeof t=="string"}function a(t){return i(t)?/{([^}]+)}/.test(t):Array.isArray(t)?t.some(n=>a(n)):I(t)?Object.values(t).some(n=>a(n)):!1}var R={error:(...t)=>{f()&&!l()&&p().error("[Luna Form]",...t)},warn:(...t)=>{f()&&!l()&&p().warn("[Luna Form]",...t)},info:(...t)=>{f()&&!l()&&p().info("[Luna Form]",...t)}},f=()=>typeof p()<"u",l=()=>!0,p=()=>globalThis.console;function b(t){try{return t instanceof FormData?null:i(t)?t:JSON.stringify(t)}catch{return R.error("Failed to stringify body:",t),null}}var U=/(^|[\/?=&])(null|undefined)([\/?=&]|$)/;async function S(t){let[n,r]=k(t),o=t.body,e=j(t);if(o&&!x(r)){let E=b(o);E!==null&&(o=E,e=X(e))}let c=n.origin===u?n.toString().replace(u,""):n.toString(),d=await fetch(c,{body:F(r,o),cache:t.cache,headers:e,method:r}),T=await d.json();if(d.ok)return T;throw T}function k(t){let n=t.url?.trim();if(!n||!v(n))throw new Error(`Invalid URL: ${t.url}`);let r=new URL(n,u),o=V(t);return t.body&&x(o)&&Object.entries(t.body).filter(([,e])=>e!==void 0&&e!=="undefined").forEach(([e,c])=>{r.searchParams.append(e,String(c))}),[r,o]}function X(t){return{...t,"Content-Type":"application/json"}}function v(t){return!i(t)||a(t)?!1:!U.test(t)}function V(t){return t.method??"GET"}function j(t){return{Accept:"application/json",...t.headers??{}}}function x(t){return t.toUpperCase()==="GET"}function F(t,n){if(!x(t))return n}function ot(t){let n={alert:t.alert,env:t.env,fetcher:{provider:S,remotePatterns:t.fetcher?.remotePatterns},inputs:{},style:t.style};return n.validation=t.validation??{blur:!0,change:!0,showError:!0,submit:!0},t.inputs.forEach(({types:r,input:o})=>{(Array.isArray(r)?r:[r]).forEach(c=>{n.inputs[c]=o})}),n}var et=s([A]),it=s(g),st=s([h]),ct=s(y),ut=s([m]);function at(t,n){return s(t)(n)}function s(t){return n=>({types:t,input:n})}export{et as defineCheckbox,ot as defineConfig,at as defineCustomInput,it as defineInput,st as defineRadio,ct as defineSelect,ut as defineTextArea};
1
+ var S="input",N="input/email",C="input/number",O="input/password",P="input/tel",w="input/text",g=[S,N,C,O,P,w],m="textarea",A="radio",h="checkbox";var _="select",D="select/month",M="select/year",y=[_,D,M];var u="http://luna.internal";function I(t){return t!==null&&Object.prototype.toString.call(t)==="[object Object]"}function i(t){return typeof t=="string"}function a(t){return i(t)?/{([^}]+)}/.test(t):Array.isArray(t)?t.some(n=>a(n)):I(t)?Object.values(t).some(n=>a(n)):!1}var R={error:(...t)=>{l()&&!f()&&p().error("[Luna Form]",...t)},warn:(...t)=>{l()&&!f()&&p().warn("[Luna Form]",...t)},info:(...t)=>{l()&&!f()&&p().info("[Luna Form]",...t)}},l=()=>typeof p()<"u",f=()=>!0,p=()=>globalThis.console;function b(t){try{return t instanceof FormData?null:i(t)?t:JSON.stringify(t)}catch{return R.error("Failed to stringify body:",t),null}}var U=/(^|[\/?=&])(null|undefined)([\/?=&]|$)/;async function L(t){let[n,r]=k(t),o=t.body,e=j(t);if(o&&!x(r)){let E=b(o);E!==null&&(o=E,e=v(e))}let c=n.origin===u?n.toString().replace(u,""):n.toString(),d=await fetch(c,{body:B(r,o),cache:t.cache,headers:e,method:r}),T=await d.json();if(d.ok)return T;throw T}function k(t){let n=t.url?.trim();if(!n||!X(n))throw new Error(`Invalid URL: ${t.url}`);let r=new URL(n,u),o=V(t);return t.body&&x(o)&&Object.entries(t.body).filter(([,e])=>e!==void 0&&e!=="undefined").forEach(([e,c])=>{r.searchParams.append(e,String(c))}),[r,o]}function v(t){return{...t,"Content-Type":"application/json"}}function X(t){return!i(t)||a(t)?!1:!U.test(t)}function V(t){return t.method??"GET"}function j(t){return{Accept:"application/json",...t.headers??{}}}function x(t){return t.toUpperCase()==="GET"}function B(t,n){if(!x(t))return n}function ot(t){let n={alert:t.alert,env:t.env,fetcher:{provider:L,remotePatterns:t.fetcher?.remotePatterns},inputs:{},style:t.style};return n.validation=t.validation??{blur:!0,change:!0,showError:!0,submit:!0},t.inputs.forEach(({types:r,input:o})=>{(Array.isArray(r)?r:[r]).forEach(c=>{n.inputs[c]=o})}),n}var et=s([h]),it=s(g),st=s([A]),ct=s(y),ut=s([m]);function at(t,n){return s(t)(n)}function s(t){return n=>({types:t,input:n})}export{et as defineCheckbox,ot as defineConfig,at as defineCustomInput,it as defineInput,st as defineRadio,ct as defineSelect,ut as defineTextArea};
@@ -1 +1 @@
1
- "use strict";var H=Object.defineProperty;var jt=Object.getOwnPropertyDescriptor;var en=Object.getOwnPropertyNames;var tn=Object.prototype.hasOwnProperty;var nn=(e,t)=>{for(var n in t)H(e,n,{get:t[n],enumerable:!0})},on=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of en(t))!tn.call(e,r)&&r!==n&&H(e,r,{get:()=>t[r],enumerable:!(o=jt(t,r))||o.enumerable});return e};var rn=e=>on(H({},"__esModule",{value:!0}),e);var Fn={};nn(Fn,{Fallback:()=>qt,Form:()=>$});module.exports=rn(Fn);var ae=require("react/jsx-runtime");function le(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return(0,ae.jsx)("div",{"data-slot":"field-control",className:"w-full",children:t})}var G=require("react");var K=require("react/jsx-runtime");function se(e){return(0,K.jsx)("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:(0,K.jsx)("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"})})}var ce=require("react/jsx-runtime");function C(e){return(0,ce.jsx)("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})}var v="input",de="input/email",ue="input/number";var fe="textarea",me="radio",pe="checkbox",ge="select",xe="select/month",be="select/year";var W="column";var ye="label",z="value",L="options",Z="email",Re="number",Te="password",Ae="tel",I="text",he="aria-errormessage",Ce="aria-invalid",Ne="data-invalid",Se="data-readonly",Fe="aria",Ee="data",Ie="min",ke="max",Oe="minLength",Pe="maxLength",N="$ref";var m="vertical",S="horizontal";function l(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function p(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function b(e){return typeof e=="string"}var ln=/[^/]+$/;function we(e,t=z){if(e!=null){if(p(e))return e;if(l(e)){let n=an(e,t);if(p(n))return n}}}function an(e,t){let n=y(e,t);if(p(n))return n}function y(e,t){if(!t||!l(e))return null;let n=t.split(".").filter(r=>r!=="");if(n.length===0)return null;let o=e;for(let r of n)if(l(o)&&r in o)o=o[r];else return null;return o}function ve(e,t={label:ye,value:z}){return e.map(n=>{if(l(n)){let o=y(n,t.label),r=y(n,t.value);if(p(o)&&p(r))return{label:`${o}`,value:`${r}`}}return n})}function Le(e=I){if(e){let t=e.match(ln);if(t){let[n]=t;if(n!==v)return n.trim().toLowerCase()}}return I}var sn=/\[([^\]]+)\]\(([^)]+)\)/g;function k(e,t={}){if(b(e))return cn(e,t);if(Array.isArray(e))return e.map(n=>k(n,t));if(l(e)){let n={};for(let o in e)n[o]=k(e[o],t);return n}return e}function O(e){return b(e)?/{([^}]+)}/.test(e):Array.isArray(e)?e.some(t=>O(t)):l(e)?Object.values(e).some(t=>O(t)):!1}function cn(e,t={}){return e.replace(/{([^}]+)}/g,(n,o)=>{let r=o.includes(".")?y(t,o):t[o];return p(r)?String(r):n})}function De(e,t){if(!e||e.trim().length===0)return null;let n,o=0,r=!1,i=[];for(;(n=sn.exec(e))!==null;){let[s,x,Jt]=n,w=n.index;r=!0,w>o&&i.push(e.substring(o,w));let Qt=t?t(w,Jt,x):s;i.push(Qt),o=w+s.length}return r?(o<e.length&&i.push(e.substring(o)),i):e}var _e=e=>d(xe)(e),Me=e=>d(be)(e),c=d(pe),Ve=d(v),R=d(me),u=d(ge),Ge=d(fe),Xe=d(I,Z,Te,Ae),Yn=d(de,Z),Ye=d(ue,Re);function Be(e){return R(e)||c(e)}function Ue(e){return e.type===W}function $e(e){return e.type!==W}function He(e){return u(e)||R(e)}function q(e){return e!=null&&e!==""}function d(...e){return t=>{let n=b(t.type)?t.type:void 0;return n?e.some(o=>n===o||n?.startsWith(`${o}/`)):!1}}function Ke(e,t={}){if(u(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&l(n))return[n]}}function We(e){return R(e)||c(e)?S:e.advanced?.orientation??m}function ze(e){return c(e)?e.advanced?.reverse!==!1:!1}function Ze(e,t){let n=e.readonly??!1;return t||n}function qe(e){if(R(e)||u(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||l(t)&&!(N in t))return t}}var dn=/^\d+$/;function Je(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function Qe(e,t){return t>=e?Array.from({length:t-e+1},(n,o)=>{let r=e+o;return{value:r.toString(),label:r.toString()}}):[]}function J(){return new Date().getFullYear()}function Q(e,t){if(typeof e=="number")return e;let n=t??J(),o=e.trim().toLowerCase();if(o.startsWith("current")){let r=o.match(/^current([+-])(\d+)$/);if(r){let[,i,s]=r,x=parseInt(s,10);if(!isNaN(x))return i==="+"?n+x:n-x}return n}return dn.test(o)?parseInt(o,10):n}var D=J();function un(e){if(u(e))return fn(e)}function fn(e){if(_e(e))return Je();if(Me(e)){let t=e.advanced?.length?.min??D,n=e.advanced?.length?.max??D+5;return Qe(Q(t,D),Q(n,D))}}function je(e,t=!1){let n={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return Ve(e)?{...n,...mn(e)}:u(e)?{...n,...pn(e)}:Ge(e)?{...n,...gn(e)}:n}function mn(e){let t=Le(e.type),n={...e,type:t};return{...et(e),...xn(n),...Xe(n)?tt(n):{},type:t}}function pn(e){let t=un(e);return t?{options:t}:{}}function gn(e){return{...et(e),...tt(e)}}function et(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function xn(e){return Ye(e)?bn(e):{}}function tt(e){return nt(e,{min:Oe,max:Pe})}function bn(e){return nt(e,{min:Ie,max:ke})}function nt(e,t){let n={},o=e.advanced?.length;return o&&(o.min!==void 0&&(n[t.min]=o.min),o.max!==void 0&&(n[t.max]=o.max)),n}function ot(e,t){let n=qe(e);return n||Ke(e,t)}function yn(e,t){let n=l(t)&&e.name in t?t[e.name]:t;return we(n,e.advanced?.entity)}function Rn(e,t,n){return He(e)&&Array.isArray(n)?{...t,[L]:n}:t}function Tn(e,t,n){if(e.required&&!q(n)&&u(e)&&e.advanced?.preselected!==!1&&L in t){let o=t[L];if(Array.isArray(o)&&o.length===1)return o[0]}return n}function An(e,t){return u(e)&&Array.isArray(t)?ve(t,e.advanced?.options):t}function rt(e,t,n,o){let r=yn(e,o),i=Array.isArray(n)?An(e,n):n,s=Rn(e,t,i),x=Tn(e,s,r);return{commonPropsWithOptions:s,defaultValue:x}}function it(e,t){return c(e)?{defaultChecked:q(t)}:{defaultValue:t}}var hn=/^#\/definition\//;function M(e=[],t){let n=_(e,t);return Array.isArray(n)?n.sort((o,r)=>lt(o)-lt(r)):[]}function _(e,t,n=new Map,o=new WeakSet){if(!Cn(t)||!e||typeof e!="object")return e;if(n.has(e))return n.get(e);if(o.has(e))return e;if(o.add(e),Array.isArray(e))return e.map(i=>_(i,t,n,o));if(N in e&&b(e[N])){let i=e[N].replace(hn,""),s=y(t,i);return s!==null?_(s,t,n,o):e}let r={};for(let[i,s]of Object.entries(e))r[i]=_(s,t,n,o);return o.delete(e),n.set(e,r),r}function at(e){return Object.entries(e??{})}function lt(e){return e.order??Number.MAX_VALUE}function Cn(e){return e!==void 0&&l(e)&&Object.keys(e).length>0}function st(e,t){let n={};for(let[o,r]of at(t))n[`${e}-${o}`]=r;return n}function Nn(e){return st(Fe,e)}function Sn(e){return st(Ee,e)}function ct(e,t){let n=Nn(e.advanced?.aria);return t&&t.length>0&&(n[Ce]="true",n[he]=`${e.name}-error`),n}function dt(e){return Sn(e.advanced?.data)}var ut={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},ft={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function mt(e,t=2){return ut[e&&e in ut?e:t]}function pt(e){if(e&&e in ft)return ft[e]}function T(e,t){return e?t?t[e]??e:e:""}function V(e,t){return{...e,...t}}var gt=require("react/jsx-runtime");function g(e){return De(e,(t,n,o)=>(0,gt.jsx)("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:o},`${n}-${t}`))}var A=require("react/jsx-runtime");function xt(e){return(0,A.jsxs)(A.Fragment,{children:[e.title&&(0,A.jsx)("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:g(e.title)}),e.description&&(0,A.jsx)("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:g(e.description)})]})}var a=require("react/jsx-runtime");function bt(e){let t=e.section.fields||[],[n,o]=(0,G.useState)(!1),{compact:r}=V(e.style,{compact:e.section.compact});return!e.section.title&&!e.section.description?(0,a.jsx)(C,{compact:r,children:e.children}):e.section.advanced?(0,a.jsxs)("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:[(0,a.jsx)("legend",{children:(0,a.jsxs)("button",{type:"button",onClick:()=>o(i=>!i),className:"flex cursor-pointer items-center gap-2 text-base font-medium text-slate-600 dark:text-slate-400",children:[(0,a.jsx)(se,{expanded:n}),(0,a.jsx)("span",{children:g(e.section.title)})]})}),(0,a.jsx)(G.Activity,{mode:n?"visible":"hidden",children:(0,a.jsxs)("div",{className:"mt-3 flex flex-col gap-4 border-l-2 border-slate-300 pl-4 dark:border-slate-600","data-slot":"field-set-content",children:[e.section.description&&(0,a.jsx)("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:g(e.section.description)}),(0,a.jsx)(C,{compact:r,children:e.children})]})})]}):(0,a.jsxs)("fieldset",{"data-slot":"field-set","data-empty":t.length===0,className:"flex flex-col data-[empty=false]:gap-6",id:e.section.id?.toString(),children:[(0,a.jsx)(xt,{description:e.section.description,title:e.section.title}),(0,a.jsx)(C,{compact:r,children:e.children})]})}var Rt=require("react");var j=require("react/jsx-runtime");function yt(){return(0,j.jsx)("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:(0,j.jsx)("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}var f=require("react/jsx-runtime");function Tt(e){let t=M(e.sections,e.definition);return(0,f.jsx)("div",{className:"h-full w-full",children:(0,f.jsx)("form",{noValidate:e.noValidate,action:e.action,children:(0,f.jsxs)(C,{children:[t.map((n,o)=>(0,f.jsxs)(Rt.Fragment,{children:[(0,f.jsx)(bt,{section:n,style:e.config.style,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.separator&&(0,f.jsx)(yt,{})]},o)),e.control&&(0,f.jsx)(le,{isPending:e.isPending,children:e.control})]})})})}var ht=require("react/jsx-runtime");function At(e){return(0,ht.jsx)("p",{className:"-mt-2 text-xs leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}var Ct=require("react/jsx-runtime");function X(e){let t=g(e.text);return t?(0,Ct.jsx)(At,{children:t}):null}var Nt=require("tailwind-merge"),Y=require("react/jsx-runtime");function St(e){let t=e.style?.showOptionalLabel??!0,n=R(e.field)||c(e.field);return(0,Y.jsxs)("label",{"data-slot":"field-label","data-normal":n,className:(0,Nt.twMerge)("flex w-fit items-center gap-2 text-sm leading-snug font-medium select-none","data-[normal=true]:font-normal","group-data-[readonly=true]:cursor-not-allowed group-data-[readonly=true]:opacity-50"),htmlFor:e.field.name,children:[e.children,t&&!e.field.required&&(0,Y.jsx)("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:T("(Optional)",e.translations)})]})}var P=require("react/jsx-runtime");function Ft(e){let t=O(e.field.label)?k(e.field.label,{context:e.context,env:e.config?.env}):e.field.label,n=O(e.field.description)?k(e.field.description,{context:e.context,env:e.config?.env}):e.field.description;return(0,P.jsxs)("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[(0,P.jsx)(St,{field:e.field,style:e.config?.style,translations:e.translations,children:T(t,e.translations)}),e.orientation===S&&(0,P.jsx)(X,{text:T(n,e.translations)})]})}var h=require("react/jsx-runtime");function Et(e){return(0,h.jsxs)(h.Fragment,{children:[e.field.name&&e.field.label&&(0,h.jsx)(Ft,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations}),e.children,e.orientation===m&&e.field.description&&(0,h.jsx)(X,{text:T(e.field.description,e.translations)})]})}function It(e,t){return e?t(e):null}var ee=require("react/jsx-runtime");function kt(e){let t=ot(e.field,e.value),{commonPropsWithOptions:n,defaultValue:o}=rt(e.field,e.commonProps,t,e.value),r=it(e.field,o);return It(e.config.inputs[e.field.type],i=>(0,ee.jsx)(Et,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations,children:(0,ee.jsx)(i,{...e.ariaAttributes,...n,...e.dataAttributes,...r})}))}var te=require("react/jsx-runtime");function Ot(e){return!e.errors||e.errors.length===0?null:(0,te.jsx)("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)=>(0,te.jsx)("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}var Pt=require("tailwind-merge"),wt=require("react/jsx-runtime");function B(e){let t=e.errors&&e.errors.length>0;return(0,wt.jsx)("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[Ne]:"true"},...e.disabled&&{[Se]:"true"},"data-orientation":e.orientation,className:(0,Pt.twMerge)("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})}var vt=require("tailwind-merge"),Dt=require("react/jsx-runtime");function Lt(e){return(0,Dt.jsx)(B,{...e,orientation:m,className:(0,vt.twMerge)("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}var _t=require("tailwind-merge"),Vt=require("react/jsx-runtime");function Mt(e){return(0,Vt.jsx)(B,{...e,orientation:S,className:(0,_t.twMerge)("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})}var ne=require("react/jsx-runtime");function Gt(e){let t=Be(e.field),n=c(e.field),o=ze(e.field);return e.orientation===m?(0,ne.jsx)(Lt,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:o,isClickable:t,children:e.children}):(0,ne.jsx)(Mt,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:o,isClickable:t,children:e.children})}function Xt(e){if(!e.field.type)return null;let t=je(e.field,e.disabled),n=dt(e.field),o=ct(e.field,e.errors),r={...e.field,disabled:t.disabled};return e.children({ariaAttributes:o,commonProps:t,dataAttributes:n,field:r,orientation:e.orientation})}var Yt=require("tailwind-merge"),F=require("react/jsx-runtime");function Bt(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:o}=V(e.style,{orientation:We(e.field)}),r=Ze(e.field,e.disabled);return(0,F.jsxs)("div",{className:(0,Yt.twMerge)("flex flex-col gap-3",pt(t)),children:[(0,F.jsx)(Gt,{disabled:r,errors:n,field:e.field,orientation:o,children:(0,F.jsx)(Xt,{disabled:r,errors:n,field:e.field,orientation:o,children:e.children})}),(0,F.jsx)(Ot,{errors:n,name:e.field.name})]})}var Ut=require("tailwind-merge"),oe=require("react/jsx-runtime");function $t(e){let t=mt(e.column?.advanced?.cols);return(0,oe.jsx)("div",{className:"flex w-full flex-col gap-4",children:(0,oe.jsx)("div",{className:(0,Ut.twMerge)("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children})})}var Ht=require("react"),E=require("react/jsx-runtime");function re(e){let{column:t,field:n}=e.components;return M(e.fields).map((o,r)=>(0,E.jsxs)(Ht.Fragment,{children:[Ue(o)&&(0,E.jsx)(t,{column:o,children:(0,E.jsx)(re,{...e,fields:o.fields})}),$e(o)&&(0,E.jsx)(n,{disabled:e.disabled,field:o,style:e.style,children:e.children})]},r))}var Wt=require("react/jsx-runtime");function Kt(e){return n=>(0,Wt.jsx)(re,{...n,components:{column:$t,field:e}})}var zt=Kt(Bt);var U=require("react/jsx-runtime");function $(e){let t=e.translations?.[e.lang??""];return(0,U.jsx)(Tt,{config:e.config,control:e.children,definition:e.definition,readOnly:e.readOnly,sections:e.sections,children:({disabled:n,fields:o})=>(0,U.jsx)(zt,{disabled:n,fields:o,style:e.config.style,children:r=>(0,U.jsx)(kt,{...r,config:e.config,context:e.context,translations:t,value:e.value})})})}var Zt=require("react");var ie=require("react/jsx-runtime");function qt(e){return(0,ie.jsx)(Zt.Suspense,{fallback:(0,ie.jsx)($,{config:e.config,sections:e.sections,readOnly:!0}),children:e.children})}
1
+ "use strict";var Q=Object.defineProperty;var En=Object.getOwnPropertyDescriptor;var On=Object.getOwnPropertyNames;var Pn=Object.prototype.hasOwnProperty;var wn=(e,t)=>{for(var n in t)Q(e,n,{get:t[n],enumerable:!0})},Mn=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of On(t))!Pn.call(e,o)&&o!==n&&Q(e,o,{get:()=>t[o],enumerable:!(r=En(t,o))||r.enumerable});return e};var Dn=e=>Mn(Q({},"__esModule",{value:!0}),e);var fr={};wn(fr,{Fallback:()=>In,Form:()=>J});module.exports=Dn(fr);var Re=require("react/jsx-runtime");function be(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return(0,Re.jsx)("div",{"data-slot":"field-control",className:"w-full",children:t})}var v=require("react");var j=require("react/jsx-runtime");function Te(e){return(0,j.jsx)("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:(0,j.jsx)("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"})})}var _="input",he="input/email",Ae="input/number";var Fe="textarea",Se="radio",Ne="checkbox",ee="list";var Ce="select",Le="select/month",Ie="select/year";var O="column",te="fields",ve="label",ne="value",V="options",re="email",ke="number",Ee="password",Oe="tel",P="text",Pe="aria-errormessage",we="aria-invalid",Me="data-invalid",De="data-readonly",_e="aria",Ve="data",Be="min",Ge="max",$e="minLength",Ye="maxLength",C="$ref";var y="vertical",L="horizontal";var Ue="type";function a(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function x(e){return b(e)||typeof e=="number"||_n(e)}function b(e){return typeof e=="string"}function _n(e){return typeof e=="boolean"}var Vn=/[^/]+$/;function Xe(e,t=ne){if(e!=null){if(x(e))return e;if(a(e)){let n=Bn(e,t);if(x(n))return n}}}function Bn(e,t){let n=m(e,t);if(x(n))return n}function m(e,t){if(!t||!a(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(a(r)&&o in r)r=r[o];else return null;return r}function He(e,t={label:ve,value:ne}){return e.map(n=>{if(a(n)){let r=m(n,t.label),o=m(n,t.value);if(x(r)&&x(o))return{label:`${r}`,value:`${o}`}}return n})}function Ke(e=P){if(e){let t=e.match(Vn);if(t){let[n]=t;if(n!==_)return n.trim().toLowerCase()}}return P}var Gn=/\[([^\]]+)\]\(([^)]+)\)/g;function oe(e,t={}){if(b(e))return $n(e,t);if(Array.isArray(e))return e.map(n=>oe(n,t));if(a(e)){let n={};for(let r in e)n[r]=oe(e[r],t);return n}return e}function le(e,t={}){return ie(e)?oe(e,t):e}function ie(e){return b(e)?/{([^}]+)}/.test(e):Array.isArray(e)?e.some(t=>ie(t)):a(e)?Object.values(e).some(t=>ie(t)):!1}function $n(e,t={}){return e.replace(/{([^}]+)}/g,(n,r)=>{let o=r.includes(".")?m(t,r):t[r];return x(o)?String(o):n})}function We(e,t){if(!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=Gn.exec(e))!==null;){let[l,s,vn]=n,D=n.index;o=!0,D>r&&i.push(e.substring(r,D));let kn=t?t(D,vn,s):l;i.push(kn),r=D+l.length}return o?(r<e.length&&i.push(e.substring(r)),i):e}var qe=e=>u(Le)(e),ze=e=>u(Ie)(e),c=u(Ne),Ze=u(_),h=u(Se),p=u(Ce),Je=u(Fe),Qe=u(P,re,Ee,Oe),Cr=u(he,re),je=u(Ae,ke);function et(e){return h(e)||c(e)}function tt(e){return e.type===ee}function I(e){return e.type===O}function B(e){return e.type!==O&&e.type!==ee}function nt(e){return p(e)||h(e)}function ae(e){return e!=null&&e!==""}function u(...e){return t=>{let n=b(t.type)?t.type:void 0;return n?e.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function rt(e,t={}){if(p(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&a(n))return[n]}}function ot(e){return h(e)||c(e)?L:e.advanced?.orientation??y}function it(e){return c(e)?e.advanced?.reverse!==!1:!1}function lt(e,t){let n=e.readonly??!1;return t||n}function at(e){if(h(e)||p(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||a(t)&&!(C in t))return t}}var Yn=/^\d+$/;function st(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function dt(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 se(){return new Date().getFullYear()}function de(e,t){if(typeof e=="number")return e;let n=t??se(),r=e.trim().toLowerCase();if(r.startsWith("current")){let o=r.match(/^current([+-])(\d+)$/);if(o){let[,i,l]=o,s=parseInt(l,10);if(!isNaN(s))return i==="+"?n+s:n-s}return n}return Yn.test(r)?parseInt(r,10):n}var G=se();function Un(e){if(p(e))return Xn(e)}function Xn(e){if(qe(e))return st();if(ze(e)){let t=e.advanced?.length?.min??G,n=e.advanced?.length?.max??G+5;return dt(de(t,G),de(n,G))}}function ct(e,t=!1){let n={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return Ze(e)?{...n,...Hn(e)}:p(e)?{...n,...Kn(e)}:Je(e)?{...n,...Wn(e)}:n}function Hn(e){let t=Ke(e.type),n={...e,type:t};return{...ut(e),...qn(n),...Qe(n)?ft(n):{},type:t}}function Kn(e){let t=Un(e);return t?{options:t}:{}}function Wn(e){return{...ut(e),...ft(e)}}function ut(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function qn(e){return je(e)?zn(e):{}}function ft(e){return mt(e,{min:$e,max:Ye})}function zn(e){return mt(e,{min:Be,max:Ge})}function mt(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 pt(e,t){let n=at(e);return n||rt(e,t)}function Zn(e,t){let n=a(t)&&e.name in t?t[e.name]:t;return Xe(n,e.advanced?.entity)}function Jn(e,t,n){return nt(e)&&Array.isArray(n)?{...t,[V]:n}:t}function Qn(e,t,n){if(e.required&&!ae(n)&&p(e)&&e.advanced?.preselected!==!1&&V in t){let r=t[V];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function jn(e,t){return p(e)&&Array.isArray(t)?He(t,e.advanced?.options):t}function gt(e,t,n,r){let o=Zn(e,r),i=Array.isArray(n)?jn(e,n):n,l=Jn(e,t,i),s=Qn(e,l,o);return{commonPropsWithOptions:l,defaultValue:s}}function yt(e,t){return c(e)?{defaultChecked:ae(t)}:{defaultValue:t}}var er=/^#\/definition\//;function Y(e=[],t){let n=$(e,t);return Array.isArray(n)?n.filter(nr).sort((r,o)=>xt(r)-xt(o)):[]}function $(e,t,n=new Map,r=new WeakSet){if(!tr(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=>$(i,t,n,r));if(C in e&&b(e[C])){let i=e[C].replace(er,""),l=m(t,i);return l!==null?$(l,t,n,r):e}let o={};for(let[i,l]of Object.entries(e))o[i]=$(l,t,n,r);return r.delete(e),n.set(e,o),o}function bt(e){return Object.entries(e??{})}function xt(e){return e.order??Number.MAX_VALUE}function tr(e){return e!==void 0&&a(e)&&Object.keys(e).length>0}function nr(e){return Ue in e?!0:Array.isArray(e[te])?e[te].length>0:!0}function Rt(e,t){let n={};for(let[r,o]of bt(t))n[`${e}-${r}`]=o;return n}function rr(e){return Rt(_e,e)}function or(e){return Rt(Ve,e)}function Tt(e,t){let n=rr(e.advanced?.aria);return t&&t.length>0&&(n[we]="true",n[Pe]=`${e.name}-error`),n}function ht(e){return or(e.advanced?.data)}var At={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},Ft={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function St(e,t=2){return At[e&&e in At?e:t]}function Nt(e){if(e&&e in Ft)return Ft[e]}function ir(e,t){let n=e.advanced?.length?.min??1;if(t){let r=m(t,e.name);if(Array.isArray(r))return Math.max(r.length,n)}return Math.max(n,0)}function Ct(e){return!Array.isArray(e.fields)||e.fields.length===0?!1:e.fields.length>1||e.fields[0].type===O}function Lt(e,t){let n=ir(e,t);return Array.from({length:n},(r,o)=>o)}function It(e){return e.label??e.name}function A(e,t){return e?t?t[e]??e:e:""}function U(e,t){return{...e,...t}}var vt=require("react/jsx-runtime");function R(e){return We(e,(t,n,r)=>(0,vt.jsx)("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${t}`))}var f=require("react/jsx-runtime");function kt(e){let{fields:t=[]}=e.section,[n,r]=(0,v.useState)(!1),o=(0,v.useCallback)(()=>r(i=>!i),[]);return(0,f.jsxs)("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:[(0,f.jsx)("legend",{children:(0,f.jsxs)("button",{className:"flex cursor-pointer items-center gap-2 text-base font-medium text-slate-600 dark:text-slate-400",onClick:o,type:"button",children:[(0,f.jsx)(Te,{expanded:n}),(0,f.jsx)("span",{children:R(e.section.title)})]})}),(0,f.jsx)(v.Activity,{mode:n?"visible":"hidden",children:(0,f.jsxs)("div",{className:"mt-3 ml-1.5 flex flex-col gap-4 border-l-2 border-slate-300 pl-4 dark:border-slate-600","data-slot":"field-set-content",children:[e.section.description&&(0,f.jsx)("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:R(e.section.description)}),e.group]})})]})}var F=require("react/jsx-runtime");function Et(e){return(0,F.jsxs)(F.Fragment,{children:[e.title&&(0,F.jsx)("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:R(e.title)}),e.description&&(0,F.jsx)("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:R(e.description)})]})}var H=require("react/jsx-runtime");function X(e){return(0,H.jsxs)("fieldset",{"data-slot":"field-set","data-empty":e.empty,className:"flex flex-col data-[empty=false]:gap-6",id:e.id,children:[(0,H.jsx)(Et,{description:e.description,title:e.title}),e.children]})}var Ot=require("react/jsx-runtime");function S(e){return(0,Ot.jsx)("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})}var K=require("react/jsx-runtime");function Pt(e){let{fields:t=[]}=e.section,{compact:n}=U(e.style,{compact:e.section.compact}),r=(0,K.jsx)(S,{compact:n,children:e.children});return!e.section.title&&!e.section.description?r:e.section.advanced?(0,K.jsx)(kt,{section:e.section,group:r}):(0,K.jsx)(X,{description:e.section.description,empty:t.length===0,id:e.section.id?.toString(),title:e.section.title,children:r})}var Vt=require("jotai");var k=require("jotai"),wt=require("jotai-family"),ce=require("fast-equals");function lr(e){return(0,wt.atomFamily)(t=>(0,k.atom)(n=>n(e)[t]??void 0,(n,r,o)=>{let i=n(e);if(o!=null){let l=i[t];(!l||!(0,ce.deepEqual)(l,o))&&r(e,{...i,[t]:o})}else if(i[t]){let{[t]:l,...s}=i;r(e,s)}}))}function ar(e){return(0,k.atom)(null,(t,n)=>{let r=t(e);r&&Object.keys(r).length>0&&n(e,{})})}function sr(e){return(0,k.atom)(null,(t,n,r)=>{let i={...t(e)},l=!1;for(let s of r)i[s]&&(delete i[s],l=!0);l&&n(e,i)})}function dr(e){return(0,k.atom)(null,(t,n,r)=>{let o=t(e);(0,ce.deepEqual)(o,r)||n(e,r)})}function Mt(e={}){let t=(0,k.atom)(e);return{atom:t,clearAll:ar(t),clear:sr(t),bulkReport:dr(t),report:lr(t)}}var Dt=Mt(),_t=Dt.atom,xo=Dt.report;function cr(e,t){return e.fields.every(n=>Bt(n,t))}function Bt(e,t){return t[e.name]?.hidden??e.hidden??!1}function ur(e,t){return I(e)?cr(e,t):Bt(e,t)}function Gt(e){let t=(0,Vt.useAtomValue)(_t);return e.container&&(t[e.container.name]?.hidden??e.container.hidden??!1)||e.fields.length===0||e.fields.every(r=>ur(r,t))?null:e.children}var ue=require("react/jsx-runtime");function $t(){return(0,ue.jsx)("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:(0,ue.jsx)("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}var g=require("react/jsx-runtime");function Yt(e){let t=Y(e.sections,e.definition);return(0,g.jsx)("div",{className:"h-full w-full",children:(0,g.jsx)("form",{noValidate:e.noValidate,action:e.action,children:(0,g.jsxs)(S,{children:[t.map((n,r)=>(0,g.jsxs)(Gt,{fields:n.fields??[],children:[(0,g.jsx)(Pt,{section:n,style:e.config.style,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.separator&&(0,g.jsx)($t,{})]},r)),e.control&&(0,g.jsx)(be,{isPending:e.isPending,children:e.control})]})})})}var Xt=require("react/jsx-runtime");function Ut(e){return(0,Xt.jsx)("p",{className:"-mt-2 text-xs leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}var Ht=require("react/jsx-runtime");function W(e){let t=R(e.text);return t?(0,Ht.jsx)(Ut,{children:t}):null}var Kt=require("tailwind-merge"),q=require("react/jsx-runtime");function Wt(e){let t=e.style?.showOptionalLabel??!0,n=h(e.field)||c(e.field);return(0,q.jsxs)("label",{"data-slot":"field-label","data-normal":n,className:(0,Kt.twMerge)("flex w-fit items-center gap-2 text-sm leading-snug font-medium select-none","data-[normal=true]:font-normal","group-data-[readonly=true]:cursor-not-allowed group-data-[readonly=true]:opacity-50"),htmlFor:e.field.name,children:[e.children,t&&!e.field.required&&(0,q.jsx)("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:A("(Optional)",e.translations)})]})}var w=require("react/jsx-runtime");function qt(e){let t={context:e.context,env:e.config?.env},n=le(e.field.label,t),r=le(e.field.description,t);return(0,w.jsxs)("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[(0,w.jsx)(Wt,{field:e.field,style:e.config?.style,translations:e.translations,children:A(n,e.translations)}),e.orientation===L&&(0,w.jsx)(W,{text:A(r,e.translations)})]})}var N=require("react/jsx-runtime");function zt(e){return(0,N.jsxs)(N.Fragment,{children:[e.field.name&&e.field.label&&(0,N.jsx)(qt,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations}),e.children,e.orientation===y&&e.field.description&&(0,N.jsx)(W,{text:A(e.field.description,e.translations)})]})}function Zt(e,t){return e?t(e):null}var fe=require("react/jsx-runtime");function Jt(e){let t=pt(e.field,e.value),{commonPropsWithOptions:n,defaultValue:r}=gt(e.field,e.commonProps,t,e.value),o=yt(e.field,r);return Zt(e.config.inputs[e.field.type],i=>(0,fe.jsx)(zt,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations,children:(0,fe.jsx)(i,{...e.ariaAttributes,...n,...e.dataAttributes,...o})}))}var me=require("react/jsx-runtime");function Qt(e){return!e.errors||e.errors.length===0?null:(0,me.jsx)("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)=>(0,me.jsx)("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}var jt=require("tailwind-merge"),en=require("react/jsx-runtime");function z(e){let t=e.errors&&e.errors.length>0;return(0,en.jsx)("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[Me]:"true"},...e.disabled&&{[De]:"true"},"data-orientation":e.orientation,className:(0,jt.twMerge)("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})}var tn=require("tailwind-merge"),rn=require("react/jsx-runtime");function nn(e){return(0,rn.jsx)(z,{...e,orientation:y,className:(0,tn.twMerge)("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}var on=require("tailwind-merge"),an=require("react/jsx-runtime");function ln(e){return(0,an.jsx)(z,{...e,orientation:L,className:(0,on.twMerge)("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})}var pe=require("react/jsx-runtime");function sn(e){let t=et(e.field),n=c(e.field),r=it(e.field);return e.orientation===y?(0,pe.jsx)(nn,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children}):(0,pe.jsx)(ln,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children})}function dn(e){if(!e.field.type)return null;let t=ct(e.field,e.disabled),n=ht(e.field),r=Tt(e.field,e.errors),o={...e.field,disabled:t.disabled};return e.children({ariaAttributes:r,commonProps:t,dataAttributes:n,field:o,orientation:e.orientation})}var cn=require("tailwind-merge"),E=require("react/jsx-runtime");function un(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:r}=U(e.style,{orientation:ot(e.field)}),o=lt(e.field,e.disabled);return(0,E.jsxs)("div",{className:(0,cn.twMerge)("flex flex-col gap-3",Nt(t)),children:[(0,E.jsx)(sn,{disabled:o,errors:n,field:e.field,orientation:r,children:(0,E.jsx)(dn,{disabled:o,errors:n,field:e.field,orientation:r,children:e.children})}),(0,E.jsx)(Qt,{errors:n,name:e.field.name})]})}var fn=require("tailwind-merge");var d=require("react/jsx-runtime");function mn(e){function t(){e.canRemove&&e.onRemove&&e.onRemove(e.index)}let n=e.canRemove&&e.onRemove!=null&&(0,d.jsx)("button",{"aria-label":`Remove ${e.label} item ${e.index+1}`,className:(0,fn.twMerge)("rounded p-1 text-xl text-slate-400","transition-colors duration-150","hover:text-red-500","focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:outline-none","dark:text-slate-500 dark:hover:text-red-400"),onClick:t,type:"button",children:(0,d.jsx)("span",{"aria-hidden":"true",children:"\xD7"})});return e.isMultiField?(0,d.jsxs)("div",{className:"rounded-lg border border-slate-100 p-4 dark:border-slate-900",children:[(0,d.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:[(0,d.jsxs)("span",{className:"text-sm font-medium text-slate-400 dark:text-slate-500",children:[e.label," ",e.index+1]}),n]}),(0,d.jsx)(S,{children:e.children})]}):(0,d.jsxs)("div",{className:"flex items-start gap-2",children:[(0,d.jsx)(S,{children:e.children}),n&&(0,d.jsx)("div",{className:"shrink-0",children:n})]})}var gn=require("react/jsx-runtime");function pn(e){let t=It(e.field),n=Ct(e.field);return Lt(e.field,e.value).map(r=>(0,gn.jsx)(mn,{index:r,isMultiField:n,label:t,children:e.children(r)},r))}var xn=require("react/jsx-runtime");function yn(e){let t=Array.isArray(e.field.fields)&&e.field.fields.length===0;return(0,xn.jsx)(X,{description:e.field.description,empty:t,id:e.field.name,title:e.field.label,children:e.children})}var ge=require("react/jsx-runtime");function bn({children:e,field:t,value:n}){return(0,ge.jsx)(yn,{field:t,children:(0,ge.jsx)(pn,{field:t,value:n,children:e})})}var Rn=require("tailwind-merge"),ye=require("react/jsx-runtime");function Tn(e){let t=St(e.column?.advanced?.cols);return(0,ye.jsx)("div",{className:"flex w-full flex-col gap-4",children:(0,ye.jsx)("div",{className:(0,Rn.twMerge)("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children})})}var Fn=require("react");var An=require("react/jsx-runtime");function hn(e){let t=Array.isArray(e.field.fields)?e.field.fields.map(n=>B(n)?{...n,name:`${e.field.name}.${e.index}.${n.name}`}:I(n)?{...n,fields:n.fields.map(r=>({...r,name:`${e.field.name}.${e.index}.${r.name}`}))}:n):[];return(0,An.jsx)(M,{children:e.children,components:e.components,disabled:e.disabled,fields:t,style:e.style,value:e.value})}var T=require("react/jsx-runtime");function M(e){let{field:t,list:n}=e.components;return Y(e.fields).map((r,o)=>(0,T.jsxs)(Fn.Fragment,{children:[I(r)&&(0,T.jsx)(Tn,{column:r,children:(0,T.jsx)(M,{...e,fields:r.fields})}),B(r)&&(0,T.jsx)(t,{disabled:e.disabled,field:r,style:e.style,children:e.children}),tt(r)&&(0,T.jsx)(n,{field:r,value:e.value,children:i=>(0,T.jsx)(hn,{children:e.children,components:e.components,disabled:e.disabled,field:r,index:i,style:e.style,value:e.value})})]},o))}var Nn=require("react/jsx-runtime");function Sn(e){return n=>(0,Nn.jsx)(M,{...n,components:e})}var Cn=Sn({field:un,list:bn});var Z=require("react/jsx-runtime");function J(e){let t=e.translations?.[e.lang??""];return(0,Z.jsx)(Yt,{config:e.config,control:e.children,definition:e.definition,readOnly:e.readOnly,sections:e.sections,children:({disabled:n,fields:r})=>(0,Z.jsx)(Cn,{disabled:n,fields:r,style:e.config.style,children:o=>(0,Z.jsx)(Jt,{...o,config:e.config,context:e.context,translations:t,value:e.value})})})}var Ln=require("react");var xe=require("react/jsx-runtime");function In(e){return(0,xe.jsx)(Ln.Suspense,{fallback:(0,xe.jsx)(J,{config:e.config,sections:e.sections,readOnly:!0}),children:e.children})}
@@ -1 +1 @@
1
- import{jsx as vt}from"react/jsx-runtime";function z(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return vt("div",{"data-slot":"field-control",className:"w-full",children:t})}import{Activity as rn,useState as ln}from"react";import{jsx as Z}from"react/jsx-runtime";function q(e){return Z("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:Z("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{jsx as Lt}from"react/jsx-runtime";function T(e){return Lt("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})}var I="input",J="input/email",Q="input/number";var j="textarea",ee="radio",te="checkbox",ne="select",oe="select/month",re="select/year";var M="column";var ie="label",V="value",k="options",G="email",le="number",ae="password",se="tel",C="text",ce="aria-errormessage",de="aria-invalid",ue="data-invalid",fe="data-readonly",me="aria",pe="data",ge="min",xe="max",be="minLength",ye="maxLength",A="$ref";var f="vertical",h="horizontal";function l(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function m(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function x(e){return typeof e=="string"}var Dt=/[^/]+$/;function Re(e,t=V){if(e!=null){if(m(e))return e;if(l(e)){let n=_t(e,t);if(m(n))return n}}}function _t(e,t){let n=b(e,t);if(m(n))return n}function b(e,t){if(!t||!l(e))return null;let n=t.split(".").filter(r=>r!=="");if(n.length===0)return null;let o=e;for(let r of n)if(l(o)&&r in o)o=o[r];else return null;return o}function Te(e,t={label:ie,value:V}){return e.map(n=>{if(l(n)){let o=b(n,t.label),r=b(n,t.value);if(m(o)&&m(r))return{label:`${o}`,value:`${r}`}}return n})}function Ae(e=C){if(e){let t=e.match(Dt);if(t){let[n]=t;if(n!==I)return n.trim().toLowerCase()}}return C}var Mt=/\[([^\]]+)\]\(([^)]+)\)/g;function N(e,t={}){if(x(e))return Vt(e,t);if(Array.isArray(e))return e.map(n=>N(n,t));if(l(e)){let n={};for(let o in e)n[o]=N(e[o],t);return n}return e}function S(e){return x(e)?/{([^}]+)}/.test(e):Array.isArray(e)?e.some(t=>S(t)):l(e)?Object.values(e).some(t=>S(t)):!1}function Vt(e,t={}){return e.replace(/{([^}]+)}/g,(n,o)=>{let r=o.includes(".")?b(t,o):t[o];return m(r)?String(r):n})}function he(e,t){if(!e||e.trim().length===0)return null;let n,o=0,r=!1,i=[];for(;(n=Mt.exec(e))!==null;){let[a,g,Pt]=n,E=n.index;r=!0,E>o&&i.push(e.substring(o,E));let wt=t?t(E,Pt,g):a;i.push(wt),o=E+a.length}return r?(o<e.length&&i.push(e.substring(o)),i):e}var Ce=e=>c(oe)(e),Ne=e=>c(re)(e),s=c(te),Se=c(I),y=c(ee),d=c(ne),Fe=c(j),Ee=c(C,G,ae,se),Kn=c(J,G),Ie=c(Q,le);function ke(e){return y(e)||s(e)}function Oe(e){return e.type===M}function Pe(e){return e.type!==M}function we(e){return d(e)||y(e)}function X(e){return e!=null&&e!==""}function c(...e){return t=>{let n=x(t.type)?t.type:void 0;return n?e.some(o=>n===o||n?.startsWith(`${o}/`)):!1}}function ve(e,t={}){if(d(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&l(n))return[n]}}function Le(e){return y(e)||s(e)?h:e.advanced?.orientation??f}function De(e){return s(e)?e.advanced?.reverse!==!1:!1}function _e(e,t){let n=e.readonly??!1;return t||n}function Me(e){if(y(e)||d(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||l(t)&&!(A in t))return t}}var Gt=/^\d+$/;function Ve(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function Ge(e,t){return t>=e?Array.from({length:t-e+1},(n,o)=>{let r=e+o;return{value:r.toString(),label:r.toString()}}):[]}function Y(){return new Date().getFullYear()}function B(e,t){if(typeof e=="number")return e;let n=t??Y(),o=e.trim().toLowerCase();if(o.startsWith("current")){let r=o.match(/^current([+-])(\d+)$/);if(r){let[,i,a]=r,g=parseInt(a,10);if(!isNaN(g))return i==="+"?n+g:n-g}return n}return Gt.test(o)?parseInt(o,10):n}var O=Y();function Xt(e){if(d(e))return Yt(e)}function Yt(e){if(Ce(e))return Ve();if(Ne(e)){let t=e.advanced?.length?.min??O,n=e.advanced?.length?.max??O+5;return Ge(B(t,O),B(n,O))}}function Xe(e,t=!1){let n={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return Se(e)?{...n,...Bt(e)}:d(e)?{...n,...Ut(e)}:Fe(e)?{...n,...$t(e)}:n}function Bt(e){let t=Ae(e.type),n={...e,type:t};return{...Ye(e),...Ht(n),...Ee(n)?Be(n):{},type:t}}function Ut(e){let t=Xt(e);return t?{options:t}:{}}function $t(e){return{...Ye(e),...Be(e)}}function Ye(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function Ht(e){return Ie(e)?Kt(e):{}}function Be(e){return Ue(e,{min:be,max:ye})}function Kt(e){return Ue(e,{min:ge,max:xe})}function Ue(e,t){let n={},o=e.advanced?.length;return o&&(o.min!==void 0&&(n[t.min]=o.min),o.max!==void 0&&(n[t.max]=o.max)),n}function $e(e,t){let n=Me(e);return n||ve(e,t)}function Wt(e,t){let n=l(t)&&e.name in t?t[e.name]:t;return Re(n,e.advanced?.entity)}function zt(e,t,n){return we(e)&&Array.isArray(n)?{...t,[k]:n}:t}function Zt(e,t,n){if(e.required&&!X(n)&&d(e)&&e.advanced?.preselected!==!1&&k in t){let o=t[k];if(Array.isArray(o)&&o.length===1)return o[0]}return n}function qt(e,t){return d(e)&&Array.isArray(t)?Te(t,e.advanced?.options):t}function He(e,t,n,o){let r=Wt(e,o),i=Array.isArray(n)?qt(e,n):n,a=zt(e,t,i),g=Zt(e,a,r);return{commonPropsWithOptions:a,defaultValue:g}}function Ke(e,t){return s(e)?{defaultChecked:X(t)}:{defaultValue:t}}var Jt=/^#\/definition\//;function w(e=[],t){let n=P(e,t);return Array.isArray(n)?n.sort((o,r)=>We(o)-We(r)):[]}function P(e,t,n=new Map,o=new WeakSet){if(!Qt(t)||!e||typeof e!="object")return e;if(n.has(e))return n.get(e);if(o.has(e))return e;if(o.add(e),Array.isArray(e))return e.map(i=>P(i,t,n,o));if(A in e&&x(e[A])){let i=e[A].replace(Jt,""),a=b(t,i);return a!==null?P(a,t,n,o):e}let r={};for(let[i,a]of Object.entries(e))r[i]=P(a,t,n,o);return o.delete(e),n.set(e,r),r}function ze(e){return Object.entries(e??{})}function We(e){return e.order??Number.MAX_VALUE}function Qt(e){return e!==void 0&&l(e)&&Object.keys(e).length>0}function Ze(e,t){let n={};for(let[o,r]of ze(t))n[`${e}-${o}`]=r;return n}function jt(e){return Ze(me,e)}function en(e){return Ze(pe,e)}function qe(e,t){let n=jt(e.advanced?.aria);return t&&t.length>0&&(n[de]="true",n[ce]=`${e.name}-error`),n}function Je(e){return en(e.advanced?.data)}var Qe={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},je={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function et(e,t=2){return Qe[e&&e in Qe?e:t]}function tt(e){if(e&&e in je)return je[e]}function R(e,t){return e?t?t[e]??e:e:""}function v(e,t){return{...e,...t}}import{jsx as tn}from"react/jsx-runtime";function p(e){return he(e,(t,n,o)=>tn("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:o},`${n}-${t}`))}import{Fragment as nn,jsx as nt,jsxs as on}from"react/jsx-runtime";function ot(e){return on(nn,{children:[e.title&&nt("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:p(e.title)}),e.description&&nt("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:p(e.description)})]})}import{jsx as u,jsxs as L}from"react/jsx-runtime";function rt(e){let t=e.section.fields||[],[n,o]=ln(!1),{compact:r}=v(e.style,{compact:e.section.compact});return!e.section.title&&!e.section.description?u(T,{compact:r,children:e.children}):e.section.advanced?L("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:[u("legend",{children:L("button",{type:"button",onClick:()=>o(i=>!i),className:"flex cursor-pointer items-center gap-2 text-base font-medium text-slate-600 dark:text-slate-400",children:[u(q,{expanded:n}),u("span",{children:p(e.section.title)})]})}),u(rn,{mode:n?"visible":"hidden",children:L("div",{className:"mt-3 flex flex-col gap-4 border-l-2 border-slate-300 pl-4 dark:border-slate-600","data-slot":"field-set-content",children:[e.section.description&&u("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:p(e.section.description)}),u(T,{compact:r,children:e.children})]})})]}):L("fieldset",{"data-slot":"field-set","data-empty":t.length===0,className:"flex flex-col data-[empty=false]:gap-6",id:e.section.id?.toString(),children:[u(ot,{description:e.section.description,title:e.section.title}),u(T,{compact:r,children:e.children})]})}import{Fragment as an}from"react";import{jsx as it}from"react/jsx-runtime";function lt(){return it("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:it("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}import{jsx as F,jsxs as at}from"react/jsx-runtime";function st(e){let t=w(e.sections,e.definition);return F("div",{className:"h-full w-full",children:F("form",{noValidate:e.noValidate,action:e.action,children:at(T,{children:[t.map((n,o)=>at(an,{children:[F(rt,{section:n,style:e.config.style,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.separator&&F(lt,{})]},o)),e.control&&F(z,{isPending:e.isPending,children:e.control})]})})})}import{jsx as sn}from"react/jsx-runtime";function ct(e){return sn("p",{className:"-mt-2 text-xs leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}import{jsx as cn}from"react/jsx-runtime";function D(e){let t=p(e.text);return t?cn(ct,{children:t}):null}import{twMerge as dn}from"tailwind-merge";import{jsx as un,jsxs as fn}from"react/jsx-runtime";function dt(e){let t=e.style?.showOptionalLabel??!0,n=y(e.field)||s(e.field);return fn("label",{"data-slot":"field-label","data-normal":n,className:dn("flex w-fit items-center gap-2 text-sm leading-snug font-medium select-none","data-[normal=true]:font-normal","group-data-[readonly=true]:cursor-not-allowed group-data-[readonly=true]:opacity-50"),htmlFor:e.field.name,children:[e.children,t&&!e.field.required&&un("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:R("(Optional)",e.translations)})]})}import{jsx as ut,jsxs as mn}from"react/jsx-runtime";function ft(e){let t=S(e.field.label)?N(e.field.label,{context:e.context,env:e.config?.env}):e.field.label,n=S(e.field.description)?N(e.field.description,{context:e.context,env:e.config?.env}):e.field.description;return mn("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[ut(dt,{field:e.field,style:e.config?.style,translations:e.translations,children:R(t,e.translations)}),e.orientation===h&&ut(D,{text:R(n,e.translations)})]})}import{Fragment as pn,jsx as mt,jsxs as gn}from"react/jsx-runtime";function pt(e){return gn(pn,{children:[e.field.name&&e.field.label&&mt(ft,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations}),e.children,e.orientation===f&&e.field.description&&mt(D,{text:R(e.field.description,e.translations)})]})}function gt(e,t){return e?t(e):null}import{jsx as xt}from"react/jsx-runtime";function bt(e){let t=$e(e.field,e.value),{commonPropsWithOptions:n,defaultValue:o}=He(e.field,e.commonProps,t,e.value),r=Ke(e.field,o);return gt(e.config.inputs[e.field.type],i=>xt(pt,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations,children:xt(i,{...e.ariaAttributes,...n,...e.dataAttributes,...r})}))}import{jsx as yt}from"react/jsx-runtime";function Rt(e){return!e.errors||e.errors.length===0?null:yt("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)=>yt("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}import{twMerge as xn}from"tailwind-merge";import{jsx as bn}from"react/jsx-runtime";function _(e){let t=e.errors&&e.errors.length>0;return bn("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[ue]:"true"},...e.disabled&&{[fe]:"true"},"data-orientation":e.orientation,className:xn("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 yn}from"tailwind-merge";import{jsx as Rn}from"react/jsx-runtime";function Tt(e){return Rn(_,{...e,orientation:f,className:yn("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}import{twMerge as Tn}from"tailwind-merge";import{jsx as An}from"react/jsx-runtime";function At(e){return An(_,{...e,orientation:h,className:Tn("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 ht}from"react/jsx-runtime";function Ct(e){let t=ke(e.field),n=s(e.field),o=De(e.field);return e.orientation===f?ht(Tt,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:o,isClickable:t,children:e.children}):ht(At,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:o,isClickable:t,children:e.children})}function Nt(e){if(!e.field.type)return null;let t=Xe(e.field,e.disabled),n=Je(e.field),o=qe(e.field,e.errors),r={...e.field,disabled:t.disabled};return e.children({ariaAttributes:o,commonProps:t,dataAttributes:n,field:r,orientation:e.orientation})}import{twMerge as hn}from"tailwind-merge";import{jsx as U,jsxs as Cn}from"react/jsx-runtime";function St(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:o}=v(e.style,{orientation:Le(e.field)}),r=_e(e.field,e.disabled);return Cn("div",{className:hn("flex flex-col gap-3",tt(t)),children:[U(Ct,{disabled:r,errors:n,field:e.field,orientation:o,children:U(Nt,{disabled:r,errors:n,field:e.field,orientation:o,children:e.children})}),U(Rt,{errors:n,name:e.field.name})]})}import{twMerge as Nn}from"tailwind-merge";import{jsx as Ft}from"react/jsx-runtime";function Et(e){let t=et(e.column?.advanced?.cols);return Ft("div",{className:"flex w-full flex-col gap-4",children:Ft("div",{className:Nn("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children})})}import{Fragment as Sn}from"react";import{jsx as $,jsxs as Fn}from"react/jsx-runtime";function H(e){let{column:t,field:n}=e.components;return w(e.fields).map((o,r)=>Fn(Sn,{children:[Oe(o)&&$(t,{column:o,children:$(H,{...e,fields:o.fields})}),Pe(o)&&$(n,{disabled:e.disabled,field:o,style:e.style,children:e.children})]},r))}import{jsx as En}from"react/jsx-runtime";function It(e){return n=>En(H,{...n,components:{column:Et,field:e}})}var kt=It(St);import{jsx as K}from"react/jsx-runtime";function W(e){let t=e.translations?.[e.lang??""];return K(st,{config:e.config,control:e.children,definition:e.definition,readOnly:e.readOnly,sections:e.sections,children:({disabled:n,fields:o})=>K(kt,{disabled:n,fields:o,style:e.config.style,children:r=>K(bt,{...r,config:e.config,context:e.context,translations:t,value:e.value})})})}import{Suspense as In}from"react";import{jsx as Ot}from"react/jsx-runtime";function kn(e){return Ot(In,{fallback:Ot(W,{config:e.config,sections:e.sections,readOnly:!0}),children:e.children})}export{kn as Fallback,W as Form};
1
+ import{jsx as ln}from"react/jsx-runtime";function oe(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return ln("div",{"data-slot":"field-control",className:"w-full",children:t})}import{Activity as En,useCallback as On,useState as Pn}from"react";import{jsx as ie}from"react/jsx-runtime";function le(e){return ie("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:ie("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"})})}var O="input",ae="input/email",se="input/number";var de="textarea",ce="radio",ue="checkbox",U="list";var fe="select",me="select/month",pe="select/year";var F="column",X="fields",ge="label",H="value",P="options",K="email",ye="number",xe="password",be="tel",S="text",Re="aria-errormessage",Te="aria-invalid",he="data-invalid",Ae="data-readonly",Fe="aria",Se="data",Ne="min",Ce="max",Le="minLength",Ie="maxLength",T="$ref";var m="vertical",h="horizontal";var ve="type";function a(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function p(e){return g(e)||typeof e=="number"||an(e)}function g(e){return typeof e=="string"}function an(e){return typeof e=="boolean"}var sn=/[^/]+$/;function ke(e,t=H){if(e!=null){if(p(e))return e;if(a(e)){let n=dn(e,t);if(p(n))return n}}}function dn(e,t){let n=u(e,t);if(p(n))return n}function u(e,t){if(!t||!a(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(a(r)&&o in r)r=r[o];else return null;return r}function Ee(e,t={label:ge,value:H}){return e.map(n=>{if(a(n)){let r=u(n,t.label),o=u(n,t.value);if(p(r)&&p(o))return{label:`${r}`,value:`${o}`}}return n})}function Oe(e=S){if(e){let t=e.match(sn);if(t){let[n]=t;if(n!==O)return n.trim().toLowerCase()}}return S}var cn=/\[([^\]]+)\]\(([^)]+)\)/g;function W(e,t={}){if(g(e))return un(e,t);if(Array.isArray(e))return e.map(n=>W(n,t));if(a(e)){let n={};for(let r in e)n[r]=W(e[r],t);return n}return e}function z(e,t={}){return q(e)?W(e,t):e}function q(e){return g(e)?/{([^}]+)}/.test(e):Array.isArray(e)?e.some(t=>q(t)):a(e)?Object.values(e).some(t=>q(t)):!1}function un(e,t={}){return e.replace(/{([^}]+)}/g,(n,r)=>{let o=r.includes(".")?u(t,r):t[r];return p(o)?String(o):n})}function Pe(e,t){if(!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=cn.exec(e))!==null;){let[l,s,rn]=n,E=n.index;o=!0,E>r&&i.push(e.substring(r,E));let on=t?t(E,rn,s):l;i.push(on),r=E+l.length}return o?(r<e.length&&i.push(e.substring(r)),i):e}var we=e=>c(me)(e),Me=e=>c(pe)(e),d=c(ue),De=c(O),x=c(ce),f=c(fe),_e=c(de),Ve=c(S,K,xe,be),Pr=c(ae,K),Be=c(se,ye);function Ge(e){return x(e)||d(e)}function $e(e){return e.type===U}function A(e){return e.type===F}function w(e){return e.type!==F&&e.type!==U}function Ye(e){return f(e)||x(e)}function Z(e){return e!=null&&e!==""}function c(...e){return t=>{let n=g(t.type)?t.type:void 0;return n?e.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function Ue(e,t={}){if(f(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&a(n))return[n]}}function Xe(e){return x(e)||d(e)?h:e.advanced?.orientation??m}function He(e){return d(e)?e.advanced?.reverse!==!1:!1}function Ke(e,t){let n=e.readonly??!1;return t||n}function We(e){if(x(e)||f(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||a(t)&&!(T in t))return t}}var fn=/^\d+$/;function qe(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function ze(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 J(){return new Date().getFullYear()}function Q(e,t){if(typeof e=="number")return e;let n=t??J(),r=e.trim().toLowerCase();if(r.startsWith("current")){let o=r.match(/^current([+-])(\d+)$/);if(o){let[,i,l]=o,s=parseInt(l,10);if(!isNaN(s))return i==="+"?n+s:n-s}return n}return fn.test(r)?parseInt(r,10):n}var M=J();function mn(e){if(f(e))return pn(e)}function pn(e){if(we(e))return qe();if(Me(e)){let t=e.advanced?.length?.min??M,n=e.advanced?.length?.max??M+5;return ze(Q(t,M),Q(n,M))}}function Ze(e,t=!1){let n={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return De(e)?{...n,...gn(e)}:f(e)?{...n,...yn(e)}:_e(e)?{...n,...xn(e)}:n}function gn(e){let t=Oe(e.type),n={...e,type:t};return{...Je(e),...bn(n),...Ve(n)?Qe(n):{},type:t}}function yn(e){let t=mn(e);return t?{options:t}:{}}function xn(e){return{...Je(e),...Qe(e)}}function Je(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function bn(e){return Be(e)?Rn(e):{}}function Qe(e){return je(e,{min:Le,max:Ie})}function Rn(e){return je(e,{min:Ne,max:Ce})}function je(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 et(e,t){let n=We(e);return n||Ue(e,t)}function Tn(e,t){let n=a(t)&&e.name in t?t[e.name]:t;return ke(n,e.advanced?.entity)}function hn(e,t,n){return Ye(e)&&Array.isArray(n)?{...t,[P]:n}:t}function An(e,t,n){if(e.required&&!Z(n)&&f(e)&&e.advanced?.preselected!==!1&&P in t){let r=t[P];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function Fn(e,t){return f(e)&&Array.isArray(t)?Ee(t,e.advanced?.options):t}function tt(e,t,n,r){let o=Tn(e,r),i=Array.isArray(n)?Fn(e,n):n,l=hn(e,t,i),s=An(e,l,o);return{commonPropsWithOptions:l,defaultValue:s}}function nt(e,t){return d(e)?{defaultChecked:Z(t)}:{defaultValue:t}}var Sn=/^#\/definition\//;function _(e=[],t){let n=D(e,t);return Array.isArray(n)?n.filter(Cn).sort((r,o)=>rt(r)-rt(o)):[]}function D(e,t,n=new Map,r=new WeakSet){if(!Nn(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=>D(i,t,n,r));if(T in e&&g(e[T])){let i=e[T].replace(Sn,""),l=u(t,i);return l!==null?D(l,t,n,r):e}let o={};for(let[i,l]of Object.entries(e))o[i]=D(l,t,n,r);return r.delete(e),n.set(e,o),o}function ot(e){return Object.entries(e??{})}function rt(e){return e.order??Number.MAX_VALUE}function Nn(e){return e!==void 0&&a(e)&&Object.keys(e).length>0}function Cn(e){return ve in e?!0:Array.isArray(e[X])?e[X].length>0:!0}function it(e,t){let n={};for(let[r,o]of ot(t))n[`${e}-${r}`]=o;return n}function Ln(e){return it(Fe,e)}function In(e){return it(Se,e)}function lt(e,t){let n=Ln(e.advanced?.aria);return t&&t.length>0&&(n[Te]="true",n[Re]=`${e.name}-error`),n}function at(e){return In(e.advanced?.data)}var st={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},dt={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function ct(e,t=2){return st[e&&e in st?e:t]}function ut(e){if(e&&e in dt)return dt[e]}function vn(e,t){let n=e.advanced?.length?.min??1;if(t){let r=u(t,e.name);if(Array.isArray(r))return Math.max(r.length,n)}return Math.max(n,0)}function ft(e){return!Array.isArray(e.fields)||e.fields.length===0?!1:e.fields.length>1||e.fields[0].type===F}function mt(e,t){let n=vn(e,t);return Array.from({length:n},(r,o)=>o)}function pt(e){return e.label??e.name}function b(e,t){return e?t?t[e]??e:e:""}function V(e,t){return{...e,...t}}import{jsx as kn}from"react/jsx-runtime";function y(e){return Pe(e,(t,n,r)=>kn("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${t}`))}import{jsx as N,jsxs as j}from"react/jsx-runtime";function gt(e){let{fields:t=[]}=e.section,[n,r]=Pn(!1),o=On(()=>r(i=>!i),[]);return j("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:[N("legend",{children:j("button",{className:"flex cursor-pointer items-center gap-2 text-base font-medium text-slate-600 dark:text-slate-400",onClick:o,type:"button",children:[N(le,{expanded:n}),N("span",{children:y(e.section.title)})]})}),N(En,{mode:n?"visible":"hidden",children:j("div",{className:"mt-3 ml-1.5 flex flex-col gap-4 border-l-2 border-slate-300 pl-4 dark:border-slate-600","data-slot":"field-set-content",children:[e.section.description&&N("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:y(e.section.description)}),e.group]})})]})}import{Fragment as wn,jsx as yt,jsxs as Mn}from"react/jsx-runtime";function xt(e){return Mn(wn,{children:[e.title&&yt("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:y(e.title)}),e.description&&yt("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:y(e.description)})]})}import{jsx as Dn,jsxs as _n}from"react/jsx-runtime";function B(e){return _n("fieldset",{"data-slot":"field-set","data-empty":e.empty,className:"flex flex-col data-[empty=false]:gap-6",id:e.id,children:[Dn(xt,{description:e.description,title:e.title}),e.children]})}import{jsx as Vn}from"react/jsx-runtime";function R(e){return Vn("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 ee}from"react/jsx-runtime";function bt(e){let{fields:t=[]}=e.section,{compact:n}=V(e.style,{compact:e.section.compact}),r=ee(R,{compact:n,children:e.children});return!e.section.title&&!e.section.description?r:e.section.advanced?ee(gt,{section:e.section,group:r}):ee(B,{description:e.section.description,empty:t.length===0,id:e.section.id?.toString(),title:e.section.title,children:r})}import{useAtomValue as Xn}from"jotai";import{atom as C}from"jotai";import{atomFamily as Bn}from"jotai-family";import{deepEqual as Rt}from"fast-equals";function Gn(e){return Bn(t=>C(n=>n(e)[t]??void 0,(n,r,o)=>{let i=n(e);if(o!=null){let l=i[t];(!l||!Rt(l,o))&&r(e,{...i,[t]:o})}else if(i[t]){let{[t]:l,...s}=i;r(e,s)}}))}function $n(e){return C(null,(t,n)=>{let r=t(e);r&&Object.keys(r).length>0&&n(e,{})})}function Yn(e){return C(null,(t,n,r)=>{let i={...t(e)},l=!1;for(let s of r)i[s]&&(delete i[s],l=!0);l&&n(e,i)})}function Un(e){return C(null,(t,n,r)=>{let o=t(e);Rt(o,r)||n(e,r)})}function Tt(e={}){let t=C(e);return{atom:t,clearAll:$n(t),clear:Yn(t),bulkReport:Un(t),report:Gn(t)}}var ht=Tt(),At=ht.atom,wo=ht.report;function Hn(e,t){return e.fields.every(n=>Ft(n,t))}function Ft(e,t){return t[e.name]?.hidden??e.hidden??!1}function Kn(e,t){return A(e)?Hn(e,t):Ft(e,t)}function St(e){let t=Xn(At);return e.container&&(t[e.container.name]?.hidden??e.container.hidden??!1)||e.fields.length===0||e.fields.every(r=>Kn(r,t))?null:e.children}import{jsx as Nt}from"react/jsx-runtime";function Ct(){return Nt("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:Nt("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}import{jsx as L,jsxs as Lt}from"react/jsx-runtime";function It(e){let t=_(e.sections,e.definition);return L("div",{className:"h-full w-full",children:L("form",{noValidate:e.noValidate,action:e.action,children:Lt(R,{children:[t.map((n,r)=>Lt(St,{fields:n.fields??[],children:[L(bt,{section:n,style:e.config.style,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.separator&&L(Ct,{})]},r)),e.control&&L(oe,{isPending:e.isPending,children:e.control})]})})})}import{jsx as Wn}from"react/jsx-runtime";function vt(e){return Wn("p",{className:"-mt-2 text-xs leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}import{jsx as qn}from"react/jsx-runtime";function G(e){let t=y(e.text);return t?qn(vt,{children:t}):null}import{twMerge as zn}from"tailwind-merge";import{jsx as Zn,jsxs as Jn}from"react/jsx-runtime";function kt(e){let t=e.style?.showOptionalLabel??!0,n=x(e.field)||d(e.field);return Jn("label",{"data-slot":"field-label","data-normal":n,className:zn("flex w-fit items-center gap-2 text-sm leading-snug font-medium select-none","data-[normal=true]:font-normal","group-data-[readonly=true]:cursor-not-allowed group-data-[readonly=true]:opacity-50"),htmlFor:e.field.name,children:[e.children,t&&!e.field.required&&Zn("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:b("(Optional)",e.translations)})]})}import{jsx as Et,jsxs as Qn}from"react/jsx-runtime";function Ot(e){let t={context:e.context,env:e.config?.env},n=z(e.field.label,t),r=z(e.field.description,t);return Qn("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[Et(kt,{field:e.field,style:e.config?.style,translations:e.translations,children:b(n,e.translations)}),e.orientation===h&&Et(G,{text:b(r,e.translations)})]})}import{Fragment as jn,jsx as Pt,jsxs as er}from"react/jsx-runtime";function wt(e){return er(jn,{children:[e.field.name&&e.field.label&&Pt(Ot,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations}),e.children,e.orientation===m&&e.field.description&&Pt(G,{text:b(e.field.description,e.translations)})]})}function Mt(e,t){return e?t(e):null}import{jsx as Dt}from"react/jsx-runtime";function _t(e){let t=et(e.field,e.value),{commonPropsWithOptions:n,defaultValue:r}=tt(e.field,e.commonProps,t,e.value),o=nt(e.field,r);return Mt(e.config.inputs[e.field.type],i=>Dt(wt,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations,children:Dt(i,{...e.ariaAttributes,...n,...e.dataAttributes,...o})}))}import{jsx as Vt}from"react/jsx-runtime";function Bt(e){return!e.errors||e.errors.length===0?null:Vt("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)=>Vt("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}import{twMerge as tr}from"tailwind-merge";import{jsx as nr}from"react/jsx-runtime";function $(e){let t=e.errors&&e.errors.length>0;return nr("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[he]:"true"},...e.disabled&&{[Ae]:"true"},"data-orientation":e.orientation,className:tr("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 rr}from"tailwind-merge";import{jsx as or}from"react/jsx-runtime";function Gt(e){return or($,{...e,orientation:m,className:rr("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}import{twMerge as ir}from"tailwind-merge";import{jsx as lr}from"react/jsx-runtime";function $t(e){return lr($,{...e,orientation:h,className:ir("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 Yt}from"react/jsx-runtime";function Ut(e){let t=Ge(e.field),n=d(e.field),r=He(e.field);return e.orientation===m?Yt(Gt,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children}):Yt($t,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children})}function Xt(e){if(!e.field.type)return null;let t=Ze(e.field,e.disabled),n=at(e.field),r=lt(e.field,e.errors),o={...e.field,disabled:t.disabled};return e.children({ariaAttributes:r,commonProps:t,dataAttributes:n,field:o,orientation:e.orientation})}import{twMerge as ar}from"tailwind-merge";import{jsx as te,jsxs as sr}from"react/jsx-runtime";function Ht(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:r}=V(e.style,{orientation:Xe(e.field)}),o=Ke(e.field,e.disabled);return sr("div",{className:ar("flex flex-col gap-3",ut(t)),children:[te(Ut,{disabled:o,errors:n,field:e.field,orientation:r,children:te(Xt,{disabled:o,errors:n,field:e.field,orientation:r,children:e.children})}),te(Bt,{errors:n,name:e.field.name})]})}import{twMerge as dr}from"tailwind-merge";import{jsx as I,jsxs as Y}from"react/jsx-runtime";function Kt(e){function t(){e.canRemove&&e.onRemove&&e.onRemove(e.index)}let n=e.canRemove&&e.onRemove!=null&&I("button",{"aria-label":`Remove ${e.label} item ${e.index+1}`,className:dr("rounded p-1 text-xl text-slate-400","transition-colors duration-150","hover:text-red-500","focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:outline-none","dark:text-slate-500 dark:hover:text-red-400"),onClick:t,type:"button",children:I("span",{"aria-hidden":"true",children:"\xD7"})});return e.isMultiField?Y("div",{className:"rounded-lg border border-slate-100 p-4 dark:border-slate-900",children:[Y("div",{className:"mb-3 flex items-center justify-between",children:[Y("span",{className:"text-sm font-medium text-slate-400 dark:text-slate-500",children:[e.label," ",e.index+1]}),n]}),I(R,{children:e.children})]}):Y("div",{className:"flex items-start gap-2",children:[I(R,{children:e.children}),n&&I("div",{className:"shrink-0",children:n})]})}import{jsx as cr}from"react/jsx-runtime";function Wt(e){let t=pt(e.field),n=ft(e.field);return mt(e.field,e.value).map(r=>cr(Kt,{index:r,isMultiField:n,label:t,children:e.children(r)},r))}import{jsx as ur}from"react/jsx-runtime";function qt(e){let t=Array.isArray(e.field.fields)&&e.field.fields.length===0;return ur(B,{description:e.field.description,empty:t,id:e.field.name,title:e.field.label,children:e.children})}import{jsx as zt}from"react/jsx-runtime";function Zt({children:e,field:t,value:n}){return zt(qt,{field:t,children:zt(Wt,{field:t,value:n,children:e})})}import{twMerge as fr}from"tailwind-merge";import{jsx as Jt}from"react/jsx-runtime";function Qt(e){let t=ct(e.column?.advanced?.cols);return Jt("div",{className:"flex w-full flex-col gap-4",children:Jt("div",{className:fr("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children})})}import{Fragment as pr}from"react";import{jsx as mr}from"react/jsx-runtime";function jt(e){let t=Array.isArray(e.field.fields)?e.field.fields.map(n=>w(n)?{...n,name:`${e.field.name}.${e.index}.${n.name}`}:A(n)?{...n,fields:n.fields.map(r=>({...r,name:`${e.field.name}.${e.index}.${r.name}`}))}:n):[];return mr(v,{children:e.children,components:e.components,disabled:e.disabled,fields:t,style:e.style,value:e.value})}import{jsx as k,jsxs as gr}from"react/jsx-runtime";function v(e){let{field:t,list:n}=e.components;return _(e.fields).map((r,o)=>gr(pr,{children:[A(r)&&k(Qt,{column:r,children:k(v,{...e,fields:r.fields})}),w(r)&&k(t,{disabled:e.disabled,field:r,style:e.style,children:e.children}),$e(r)&&k(n,{field:r,value:e.value,children:i=>k(jt,{children:e.children,components:e.components,disabled:e.disabled,field:r,index:i,style:e.style,value:e.value})})]},o))}import{jsx as yr}from"react/jsx-runtime";function en(e){return n=>yr(v,{...n,components:e})}var tn=en({field:Ht,list:Zt});import{jsx as ne}from"react/jsx-runtime";function re(e){let t=e.translations?.[e.lang??""];return ne(It,{config:e.config,control:e.children,definition:e.definition,readOnly:e.readOnly,sections:e.sections,children:({disabled:n,fields:r})=>ne(tn,{disabled:n,fields:r,style:e.config.style,children:o=>ne(_t,{...o,config:e.config,context:e.context,translations:t,value:e.value})})})}import{Suspense as xr}from"react";import{jsx as nn}from"react/jsx-runtime";function br(e){return nn(xr,{fallback:nn(re,{config:e.config,sections:e.sections,readOnly:!0}),children:e.children})}export{br as Fallback,re as Form};
@@ -1,2 +1,2 @@
1
1
  import type { FieldState, Nullable, StateEvent } from '../type';
2
- export declare function handleStateEvent<T>(selected: Nullable<T> | undefined, events: StateEvent[] | undefined, setState: (name: string, state?: FieldState) => void): void;
2
+ export declare function handleStateEvent<T>(selected: Nullable<T> | undefined, events: StateEvent[] | undefined, setState: (name: string[], state?: FieldState) => void): void;
@@ -13,6 +13,7 @@ export * from './util/date';
13
13
  export * from './util/extract';
14
14
  export * from './util/is-input';
15
15
  export * from './util/is-type';
16
+ export * from './util/list';
16
17
  export * from './util/logger';
17
18
  export * from './util/prepare';
18
19
  export * from './util/schema';
@@ -35,7 +35,18 @@ export type Option = {
35
35
  label: string;
36
36
  value: string;
37
37
  };
38
- export type Fields = Array<Field | Column>;
38
+ export type List = {
39
+ advanced?: {
40
+ action?: string;
41
+ length?: Length<number>;
42
+ };
43
+ description?: string;
44
+ fields: Array<Field | Column>;
45
+ label?: string;
46
+ name: string;
47
+ type: 'list' | (string & {});
48
+ } & Base;
49
+ export type Fields = Array<Field | Column | List>;
39
50
  export type Base = Orderable & Hideable;
40
51
  export type CommonProps = {
41
52
  disabled?: boolean;
@@ -87,7 +98,7 @@ export type ValueEvent = ActionEvent<'value'> & {
87
98
  };
88
99
  export type StateEvent = ActionEvent<'state'> & {
89
100
  state: FieldState;
90
- target: string;
101
+ target: string | string[];
91
102
  when?: string | string[] | Condition;
92
103
  };
93
104
  export type ChangeEvent = Array<SourceEvent | ValueEvent | StateEvent>;
@@ -173,3 +184,6 @@ export type Style = {
173
184
  orientation?: Orientation;
174
185
  showOptionalLabel?: boolean;
175
186
  };
187
+ export type Filterable = Base & {
188
+ fields?: Filterable[];
189
+ };
@@ -8,6 +8,8 @@ export declare const INPUTS: string[];
8
8
  export declare const TEXTAREA = "textarea";
9
9
  export declare const RADIO = "radio";
10
10
  export declare const CHECKBOX = "checkbox";
11
+ export declare const LIST = "list";
12
+ export declare const DATA_TABLE = "data-table";
11
13
  export declare const SELECT = "select";
12
14
  export declare const SELECT_MONTH = "select/month";
13
15
  export declare const SELECT_YEAR = "select/year";
@@ -39,3 +41,5 @@ export declare const STATE = "state";
39
41
  export declare const COMMON_URL = "http://luna.internal";
40
42
  export declare const VERTICAL = "vertical";
41
43
  export declare const HORIZONTAL = "horizontal";
44
+ export declare const HIDDEN = "hidden";
45
+ export declare const TYPE = "type";
@@ -1,7 +1,7 @@
1
1
  import type { Nullable, Option, Value } from '../type';
2
2
  export declare function getEntity<T>(selected: string, collection?: Nullable<T[]>, entity?: string): NonNullable<T> | {
3
3
  value: string;
4
- } | undefined;
4
+ };
5
5
  export declare function getCurrentValue<T>(value: T, entity?: string): Value | undefined;
6
6
  export declare function getValue<T>(value: Record<string, T>, namespace?: string): T | undefined;
7
7
  export declare function getArray<T>(value: Record<string, T> | T[], namespace?: string): Nullable<T[]>;
@@ -12,3 +12,4 @@ export declare function toOptions<T>(data: T[], options?: Option): (T | {
12
12
  })[];
13
13
  export declare function getType(value?: string): string;
14
14
  export declare function getFormData(formData: FormData): Record<string, unknown>;
15
+ export declare function unflatten(data: Record<string, unknown>): Record<string, unknown>;
@@ -1,4 +1,4 @@
1
- import type { Column, Field, Input, Nullable, Select } from '../type';
1
+ import type { Column, Field, Input, List, Nullable, Select } from '../type';
2
2
  export declare const isSelectMonth: (field: Field) => boolean;
3
3
  export declare const isSelectYear: (field: Field) => boolean;
4
4
  export declare const isCheckbox: (field: Field) => field is Input;
@@ -10,8 +10,9 @@ export declare const isText: (field: Field) => field is Input;
10
10
  export declare const isEmail: (field: Field) => field is Input;
11
11
  export declare const isNumber: (field: Field) => field is Input;
12
12
  export declare function isClickable(field: Field): boolean;
13
- export declare function isColumn(slot: Field | Column): slot is Column;
14
- export declare function isField(slot: Field | Column): slot is Field;
13
+ export declare function isList(slot: Field | Column | List): slot is List;
14
+ export declare function isColumn(slot: Field | Column | List): slot is Column;
15
+ export declare function isField(slot: Field | Column | List): slot is Field;
15
16
  export declare function isOptions(field: Field): field is Input;
16
17
  export declare function isTextable(field: Field): boolean;
17
18
  export declare function isValidValue<T>(value?: Nullable<T>): boolean;
@@ -4,3 +4,4 @@ export declare function isEmpty(value: unknown): boolean;
4
4
  export declare function isValue(value: unknown): value is Value;
5
5
  export declare function isString(value: unknown): value is string;
6
6
  export declare function isDataSource(value: unknown): value is DataSource;
7
+ export declare function isBoolean(value: unknown): value is boolean;
@@ -0,0 +1,4 @@
1
+ import type { List, Nullable } from '../type';
2
+ export declare function isMultiFieldList(list: List): boolean;
3
+ export declare function getInitialList(list: List, value?: Nullable<Record<string, unknown>>): number[];
4
+ export declare function getLabel(list: List): string;
@@ -1,4 +1,4 @@
1
- import type { Base, Definition, Nullable } from '../type';
2
- export declare function prepare<T extends Base>(base?: readonly T[], definition?: Definition): any[];
1
+ import type { Definition, Filterable, Nullable } from '../type';
2
+ export declare function prepare<T extends Filterable>(base?: readonly T[], definition?: Definition): any[];
3
3
  export declare function resolveRefs(base: unknown, definition?: Definition, cache?: Map<object, unknown>, visited?: WeakSet<object>): unknown;
4
4
  export declare function entries<T>(values?: Nullable<Record<string, T>>): [key: string, value: T][];
@@ -3,5 +3,6 @@
3
3
  * Supports nested objects using dot notation (e.g., {user.id}).
4
4
  */
5
5
  export declare function interpolate<T>(template: T, values?: Record<string, unknown>): T;
6
+ export declare function interpolateIfNeeded<T>(template: T, values?: Record<string, unknown>): T;
6
7
  export declare function isInterpolated(template: unknown): boolean;
7
8
  export declare function formatMarkdown<K>(text?: string, callback?: (index: number, url: string, text?: string) => K): (string | K)[] | string | null;
@@ -0,0 +1,2 @@
1
+ import type { ListProps } from '../../../component/field/field-list';
2
+ export declare function FieldList(props: ListProps): import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,4 @@
1
- export declare function withErrors<P extends {
1
+ export declare function withError<P extends {
2
2
  errors?: Record<string, string[]>;
3
3
  field: {
4
4
  name: string;
@@ -1,4 +1,4 @@
1
- export declare function withFieldState<P extends {
1
+ export declare function withState<P extends {
2
2
  disabled?: boolean;
3
3
  field: {
4
4
  name: string;
@@ -0,0 +1,2 @@
1
+ import type { ListProps } from '../../../component/field/field-list';
2
+ export declare function ListGuard({ children, field, value }: ListProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import type { Field, Fields, List } from '@luna-form/core';
2
+ export declare function VisibilityGuard(props: Readonly<{
3
+ children: React.ReactNode;
4
+ container?: Field | List;
5
+ fields: Fields;
6
+ }>): import("react").ReactNode;
@@ -0,0 +1,7 @@
1
+ export declare const Slot: (props: Readonly<{
2
+ children: import("../../../type").Children;
3
+ disabled?: boolean;
4
+ fields?: import("@luna-form/core").Fields;
5
+ style?: import("@luna-form/core").Style;
6
+ value?: import("@luna-form/core").Nullable<Record<string, unknown>>;
7
+ }>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { type List, type Nullable } from '@luna-form/core';
2
+ export declare function useFieldList(field: List, value?: Nullable<Record<string, unknown>>): readonly [number[], () => void, (index: number) => void, boolean, boolean, number];
@@ -1,6 +1,5 @@
1
1
  import { type Column } from '@luna-form/core';
2
- export type ColumnProps = Readonly<{
2
+ export declare function Column(props: Readonly<{
3
3
  children?: React.ReactNode;
4
4
  column?: Column;
5
- }>;
6
- export declare function Column(props: ColumnProps): import("react/jsx-runtime").JSX.Element;
5
+ }>): import("react/jsx-runtime").JSX.Element;
@@ -1,11 +1,13 @@
1
1
  import { type Orientation } from '@luna-form/core';
2
- export declare function FieldBase(props: Readonly<{
2
+ export type FieldLayoutProps = {
3
3
  children: React.ReactNode;
4
- className?: string;
5
4
  disabled?: boolean;
6
5
  errors?: string[];
7
6
  isCheckbox?: boolean;
8
7
  isReversed?: boolean;
9
8
  isClickable?: boolean;
9
+ };
10
+ export declare function FieldBase(props: Readonly<FieldLayoutProps & {
11
+ className?: string;
10
12
  orientation: Orientation;
11
13
  }>): import("react/jsx-runtime").JSX.Element;
@@ -1,8 +1,2 @@
1
- export declare function FieldHorizontal(props: Readonly<{
2
- children: React.ReactNode;
3
- disabled?: boolean;
4
- errors?: string[];
5
- isCheckbox?: boolean;
6
- isReversed?: boolean;
7
- isClickable?: boolean;
8
- }>): import("react/jsx-runtime").JSX.Element;
1
+ import { type FieldLayoutProps } from './field-base';
2
+ export declare function FieldHorizontal(props: Readonly<FieldLayoutProps>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ export declare function FieldListItem(props: Readonly<{
2
+ canRemove?: boolean;
3
+ children: React.ReactNode;
4
+ index: number;
5
+ isMultiField: boolean;
6
+ label: string;
7
+ onRemove?: (index: number) => void;
8
+ }>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { type List, type Nullable } from '@luna-form/core';
2
+ export type ListProps = Readonly<{
3
+ children: (index: number) => React.ReactNode;
4
+ field: List;
5
+ value?: Nullable<Record<string, unknown>>;
6
+ }>;
7
+ export declare function FieldList(props: ListProps): import("react/jsx-runtime").JSX.Element[];
@@ -0,0 +1,5 @@
1
+ import type { Section } from '@luna-form/core';
2
+ export declare function FieldSetAdvanced(props: Readonly<{
3
+ section: Section;
4
+ group: React.ReactNode;
5
+ }>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ export declare function FieldSetBase(props: Readonly<{
2
+ children?: React.ReactNode;
3
+ description?: string;
4
+ empty?: boolean;
5
+ id?: string;
6
+ title?: string;
7
+ }>): import("react/jsx-runtime").JSX.Element;
@@ -1,8 +1,2 @@
1
- export declare function FieldVertical(props: Readonly<{
2
- children: React.ReactNode;
3
- disabled?: boolean;
4
- errors?: string[];
5
- isCheckbox?: boolean;
6
- isReversed?: boolean;
7
- isClickable?: boolean;
8
- }>): import("react/jsx-runtime").JSX.Element;
1
+ import { type FieldLayoutProps } from './field-base';
2
+ export declare function FieldVertical(props: Readonly<FieldLayoutProps>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import type { List } from '@luna-form/core';
2
+ export declare function List(props: Readonly<{
3
+ children: React.ReactNode;
4
+ field: List;
5
+ }>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import type { ListProps } from '../field/field-list';
2
+ export declare function ListSlot({ children, field, value }: ListProps): import("react/jsx-runtime").JSX.Element;
@@ -1,14 +1,16 @@
1
- import { type Fields, type Style } from '@luna-form/core';
1
+ import { type Fields, type Nullable, type Style } from '@luna-form/core';
2
2
  import type { Children } from '../../type';
3
- import type { ColumnProps } from '../column';
4
3
  import type { FieldProps } from '../field/field';
5
- export declare function SlotBase<T extends {
6
- column: React.ComponentType<ColumnProps>;
4
+ import type { ListProps } from '../field/field-list';
5
+ export type SlotComponents = {
7
6
  field: React.ComponentType<FieldProps>;
8
- }>(props: Readonly<{
7
+ list: React.ComponentType<ListProps>;
8
+ };
9
+ export declare function SlotBase(props: Readonly<{
9
10
  children: Children;
10
- components: T;
11
+ components: SlotComponents;
11
12
  disabled?: boolean;
12
13
  fields?: Fields;
13
14
  style?: Style;
15
+ value?: Nullable<Record<string, unknown>>;
14
16
  }>): import("react/jsx-runtime").JSX.Element[];
@@ -1,9 +1,10 @@
1
1
  import type { Children } from '../../type';
2
- import type { FieldProps } from '../field/field';
3
- import type { Fields, Style } from '@luna-form/core';
4
- export declare function createSlot(Field: React.ComponentType<FieldProps>): (props: Readonly<{
2
+ import type { Fields, Nullable, Style } from '@luna-form/core';
3
+ import type { SlotComponents } from './slot-base';
4
+ export declare function createSlot(components: SlotComponents): (props: Readonly<{
5
5
  children: Children;
6
6
  disabled?: boolean;
7
7
  fields?: Fields;
8
8
  style?: Style;
9
+ value?: Nullable<Record<string, unknown>>;
9
10
  }>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,12 @@
1
+ import { type List, type Nullable, type Style } from '@luna-form/core';
2
+ import { type SlotComponents } from './slot-base';
3
+ import type { Children } from '../../type';
4
+ export declare function SlotList(props: Readonly<{
5
+ children: Children;
6
+ components: SlotComponents;
7
+ disabled?: boolean;
8
+ field: List;
9
+ index: number;
10
+ style?: Style;
11
+ value?: Nullable<Record<string, unknown>>;
12
+ }>): import("react/jsx-runtime").JSX.Element;
@@ -3,4 +3,5 @@ export declare const Slot: (props: Readonly<{
3
3
  disabled?: boolean;
4
4
  fields?: import("@luna-form/core").Fields;
5
5
  style?: import("@luna-form/core").Style;
6
+ value?: import("@luna-form/core").Nullable<Record<string, unknown>>;
6
7
  }>) => import("react/jsx-runtime").JSX.Element;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-luna-form",
3
- "version": "0.0.26",
3
+ "version": "0.0.28",
4
4
  "description": "A React library for building forms based on JSON",
5
5
  "main": "./dist/client/cjs/index.js",
6
6
  "module": "./dist/client/esm/index.js",
@@ -21,8 +21,8 @@
21
21
  "fast-equals": "^6.0.0",
22
22
  "jotai": "^2.0.0",
23
23
  "jotai-family": "^1.0.0",
24
- "react": "^18.2.0 || ^19.0.0",
25
- "react-dom": "^18.2.0 || ^19.0.0",
24
+ "react": "^19.0.0",
25
+ "react-dom": "^19.0.0",
26
26
  "swr": "^2.0.0",
27
27
  "tailwind-merge": "^3.4.0",
28
28
  "zod": "^4.0.0"
@@ -32,8 +32,8 @@
32
32
  "@types/react-dom": "19.2.3",
33
33
  "eslint-plugin-react": "7.37.5",
34
34
  "eslint-plugin-react-hooks": "7.0.1",
35
- "eslint-plugin-react-refresh": "0.5.0",
36
- "@luna-form/core": "0.0.26"
35
+ "eslint-plugin-react-refresh": "0.5.2",
36
+ "@luna-form/core": "0.0.28"
37
37
  },
38
38
  "license": "Apache-2.0",
39
39
  "repository": {
@@ -1,3 +0,0 @@
1
- import { type Field } from '@luna-form/core';
2
- export declare function buildAriaAttributes(field: Field, errors?: string[]): Record<string, string | number | boolean>;
3
- export declare function buildDataAttributes(field: Field): Record<string, string | number | boolean>;
@@ -1,2 +0,0 @@
1
- import { type CommonProps, type Field } from '@luna-form/core';
2
- export declare function buildCommon(field: Field, disabled?: boolean): CommonProps;
@@ -1,5 +0,0 @@
1
- import { type Field } from '@luna-form/core';
2
- export declare function buildOptionSelect(field: Field): {
3
- value: string;
4
- label: string;
5
- }[] | undefined;