react-luna-form 0.0.20 → 0.0.22

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.
@@ -1 +1 @@
1
- "use strict";var io=Object.create;var ye=Object.defineProperty;var ao=Object.getOwnPropertyDescriptor;var lo=Object.getOwnPropertyNames;var so=Object.getPrototypeOf,co=Object.prototype.hasOwnProperty;var uo=(e,t)=>{for(var n in t)ye(e,n,{get:t[n],enumerable:!0})},dt=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of lo(t))!co.call(e,o)&&o!==n&&ye(e,o,{get:()=>t[o],enumerable:!(r=ao(t,o))||r.enumerable});return e};var fo=(e,t,n)=>(n=e!=null?io(so(e)):{},dt(t||!e||!e.__esModule?ye(n,"default",{value:e,enumerable:!0}):n,e)),mo=e=>dt(ye({},"__esModule",{value:!0}),e);var xi={};uo(xi,{Form:()=>jr});module.exports=mo(xi);var Ye=require("react/jsx-runtime");function ft(e){return!e.errors||e.errors.length===0?null:(0,Ye.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,Ye.jsx)("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}var be="input",mt="input/email",pt="input/number";var gt="textarea",yt="radio",bt="checkbox",xt="select",ht="select/month",Tt="select/year";var Xe="column";var Rt="label",H="value",xe="options",He="email",St="number",At="password",Ct="tel",ie="text",Et="aria-errormessage",Ft="aria-invalid",Nt="data-invalid",kt="data-readonly",It="aria",vt="data",he="min",Te="max",wt="minLength",Pt="maxLength",q="$ref";var Ot="source",Dt="state",Re="http://luna.internal",w="vertical",$="horizontal";function d(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function Se(e){return e==null||e===""}function P(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function F(e){return typeof e=="string"}function Vt(e){return d(e)&&"url"in e}var po=/[^/]+$/;function Lt(e,t=[],n=H){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=H){if(e!=null){if(P(e))return e;if(d(e)){let n=go(e,t);if(P(n))return n}}}function go(e,t){let n=R(e,t);if(P(n))return n}function Mt(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 _t(e,t={label:Rt,value:H}){return e.map(n=>{if(d(n)){let r=R(n,t.label),o=R(n,t.value);if(P(r)&&P(o))return{label:`${r}`,value:`${o}`}}return n})}function Ut(e=ie){if(e){let t=e.match(po);if(t){let[n]=t;if(n!==be)return n.trim().toLowerCase()}}return ie}function Bt(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 yo=/\[([^\]]+)\]\(([^)]+)\)/g;function S(e,t={}){if(F(e))return bo(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 V(e){return F(e)?/{([^}]+)}/.test(e):Array.isArray(e)?e.some(t=>V(t)):d(e)?Object.values(e).some(t=>V(t)):!1}function bo(e,t={}){return e.replace(/{([^}]+)}/g,(n,r)=>{let o=r.includes(".")?R(t,r):t[r];return P(o)?String(o):n})}function Gt(e,t){if(!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=yo.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 ae={error:(...e)=>{$e()&&!Ze()&&Ae().error("[Luna Form]",...e)},warn:(...e)=>{$e()&&!Ze()&&Ae().warn("[Luna Form]",...e)},info:(...e)=>{$e()&&!Ze()&&Ae().info("[Luna Form]",...e)}},$e=()=>typeof Ae()<"u",Ze=()=>!0,Ae=()=>globalThis.console;function Yt(e=[],t){let n=[],r=[],o=[];e.forEach(i=>{i.action===H&&n.push(i),i.action===Ot&&r.push(i),i.action===Dt&&o.push(i)}),t({sources:r,states:o,values:n})}function Xt(e=null,t=[],n){t.forEach(r=>{let{target:o,source:i}=r;if(!e){n(o,void 0);return}if(Vt(i)){let a=S(i.url,e),l=i.body?S(i.body,e):i.body;n(o,{...i,url:a,body:l})}})}var le={eq:So,gt:Fo,gte:No,in:Co,lt:ko,lte:Io,neq:Ao,nin:Eo},xo=/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2})?/,Ht=/^(\d{2})[/-](\d{2})[/-](\d{4})(?: (\d{2}):(\d{2})(?::(\d{2}))?)?$/;function ho(e){return typeof e=="string"&&xo.test(e)}function To(e){return typeof e=="string"&&Ht.test(e)}function Ro(e){let t=e.match(Ht);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 O(e){return ho(e)?new Date(e).getTime():To(e)?Ro(e):Number(e)}function So(e,t){return e===t}function Ao(e,t){return e!==t}function Co(e,t){return Array.isArray(t)&&t.includes(String(e))}function Eo(e,t){return Array.isArray(t)&&!t.includes(String(e))}function Fo(e,t){return O(e)>O(t)}function No(e,t){return O(e)>=O(t)}function ko(e,t){return O(e)<O(t)}function Io(e,t){return O(e)<=O(t)}function qt(e=null,t=[],n){t.forEach(r=>{let{target:o,state:i,when:a}=r;if(!e){n(o);return}let l=vo(e,a);n(o,l?i:void 0)})}function vo(e,t){if(t===void 0)return!0;if(F(t))return We(e,"value")===t;if(Array.isArray(t)){let n=We(e,"value");return t.includes(String(n))}return wo(e,t)}function wo(e=null,t){let n=We(e,t.field??"value"),{operator:r="eq",value:o}=t,i=le[r];return i?i(n,o):!1}function We(e,t){return d(e)?t.includes(".")?R(e,t):e[t]:e}function $t(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(ht)(e),Ee=e=>A(Tt)(e),g=A(bt),Ke=A(be),N=A(yt),y=A(xt),ze=A(gt),Zt=A(ie,He,At,Ct),Wt=A(mt,He),Fe=A(pt,St);function Ne(e){return N(e)||g(e)}function Kt(e){return e.type===Xe}function zt(e){return e.type!==Xe}function jt(e){return y(e)||N(e)}function Jt(e){return Ke(e)||ze(e)}function se(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 Qt(e,t={}){if(y(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&d(n))return[n]}}function en(e){return N(e)||g(e)?$:e.advanced?.orientation??w}function tn(e,t){let n=e.readonly??!1;return t||n}function nn(e){if(N(e)||y(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||d(t)&&!(q in t))return t}}function rn(e,t){let n=nn(e);return n||Qt(e,t)}function Po(e,t){let n=d(t)&&e.name in t?t[e.name]:t;return qe(n,e.advanced?.entity)}function Oo(e,t,n){return jt(e)&&Array.isArray(n)?{...t,[xe]:n}:t}function Do(e,t,n){if(e.required&&!se(n)&&y(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 Vo(e,t){return y(e)&&Array.isArray(t)?_t(t,e.advanced?.options):t}function on(e,t,n,r){let o=Po(e,r),i=Array.isArray(n)?Vo(e,n):n,a=Oo(e,t,i),l=Do(e,a,o);return{commonPropsWithOptions:a,defaultValue:l}}function an(e,t){return g(e)?{checked:se(t)?t:!1}:{value:t??""}}var Lo=/^#\/definition\//;function Ie(e=[],t){let n=ke(e,t);return Array.isArray(n)?n.sort((r,o)=>ln(r)-ln(o)):[]}function ke(e,t,n=new Map,r=new WeakSet){if(!Mo(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(q in e&&F(e[q])){let i=e[q].replace(Lo,""),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 sn(e){return Object.entries(e??{})}function ln(e){return e.order??Number.MAX_VALUE}function Mo(e){return e!==void 0&&d(e)&&Object.keys(e).length>0}function cn(e,t){let n={};for(let[r,o]of sn(t))n[`${e}-${r}`]=o;return n}function un(e){return cn(It,e)}function dn(e){return cn(vt,e)}var fn={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},mn={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function pn(e,t=2){return fn[e&&e in fn?e:t]}function gn(e){if(e&&e in mn)return mn[e]}var _o=/^\d+$/;function yn(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function bn(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 Je(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 _o.test(r)?parseInt(r,10):n}var f=require("zod");function p(e,t){return e?t?t[e]??e:e:""}var Uo=[[Fe,Ho],[Wt,Bo],[Ee,qo],[Ce,$o],[g,Go],[N,Yo]];function hn(e,t=[],n){let r=f.z.object(e);return t.length===0?r:zo(r,t,n)}function Tn(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 Rn(e,t){for(let[n,r]of Uo)if(n(e))return r(e,t);return Xo(e,t)}function Bo(e,t){let n=f.z.string().trim();if(e.required){let r=Z(e,t),o=n.min(1,r).pipe(xn(e,t));return f.z.preprocess(i=>Se(i)?"":i,o)}return n.pipe(xn(e,t)).or(f.z.literal("")).nullable()}function Go(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 Yo(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 Xo(e,t){let n=f.z.coerce.string().trim();return n=Sn(n,e,t),e.required?(n=An(n,e,t),f.z.preprocess(r=>Se(r)?"":r,n)):n.nullable()}function Ho(e,t){let n=f.z.coerce.number().int();return n=Sn(n,e,t),e.required?(n=An(n,e,t),f.z.preprocess(r=>r===null?void 0:r,n)):n.nullable()}function qo(e,t){return e.required?f.z.preprocess(Zo,f.z.coerce.number({message:Z(e,t)}).int()):f.z.coerce.number().int().nullable()}function $o(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 Zo(e){return e===null||e===""?void 0:e}function xn(e,t){let n=e.validation?.email?p(e.validation?.email,t):void 0;return f.z.email(n)}function Sn(e,t,n){return e=Wo(e,t,n),e=Ko(e,t,n),e}function An(e,t,n){let r=t.advanced?.length?.min;return r===void 0||r<1?e.min(1,Z(t,n)):e}var Wo=(e,t,n)=>Cn(e,t,he,n),Ko=(e,t,n)=>Cn(e,t,Te,n);function Cn(e,t,n,r){let o=t.advanced?.length?.[n];if(o!==void 0){let i=t.validation?.length?.[n]?p(t.validation?.length?.[n],r):void 0;return e[n](o,i)}return e}function zo(e,t=[],n){let r=Jo(t);return r.length===0?e:e.superRefine((o,i)=>{for(let{name:a,rule:l}of r)if(!jo(o,a,l)){let s=p(l.message,n);i.addIssue({code:"custom",message:s,path:[a]})}})}function jo(e,t,n){let r=n.operator??"eq",o=le[r];return o?o(e[t],e[n.field]):!1}function Jo(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 En(e,t,n,r){let o=[],i=Array.isArray(t)?t:[t];for(let a of i){let l=a.operator??"eq",s=le[l];if(s&&!s(e,n(a.field))&&a.message){let c=p(a.message,r);o.push(c)}}return o}function Z(e,t){return e.validation?.required?p(e.validation?.required,t):void 0}function Fn(e,t){if(!t||!ei(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||Qo(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 Qo(e){return e==="https"?"443":"80"}function ei(e){return/^(https?:)?\/\//.test(e)}function Nn(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 kn(e){return!Array.isArray(e)||e.length===0?null:e.reduce((t,n)=>{let r=Nn(t.url,n.url),o=ti(t,n),i=ni(t,n);return{...t,...n,url:r,body:o,headers:i}})}function ti(e,t){return d(t.body)&&d(e?.body)?{...e.body,...t.body}:t.body??e?.body}function ni(e,t){return d(t.headers)&&d(e?.headers)?{...e.headers,...t.headers}:t.headers??e?.headers}function ve(e,t){return{...e,...t}}var In=require("tailwind-merge"),vn=require("react/jsx-runtime");function we(e){let t=e.errors&&e.errors.length>0;return(0,vn.jsx)("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[Nt]:"true"},...e.disabled&&{[kt]:"true"},"data-orientation":e.orientation,className:(0,In.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&&"flex-row-reverse!","data-[clickable=true]:has-[>[data-slot=field-content]]:[&>:first-child]:mt-px",gn(e.cols),e.className),children:e.children})}var wn=require("tailwind-merge"),On=require("react/jsx-runtime");function Pn(e){return(0,On.jsx)(we,{...e,orientation:w,className:(0,wn.twMerge)("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}var Dn=require("tailwind-merge"),Ln=require("react/jsx-runtime");function Vn(e){return(0,Ln.jsx)(we,{...e,orientation:$,className:(0,Dn.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 Qe=require("react/jsx-runtime");function Mn(e){let t=Ne(e.field),n=g(e.field);return e.orientation===w?(0,Qe.jsx)(Pn,{cols:e.cols,disabled:e.disabled,errors:e.errors,isCheckbox:n,isClickable:t,children:e.children}):(0,Qe.jsx)(Vn,{cols:e.cols,disabled:e.disabled,errors:e.errors,isCheckbox:n,isClickable:t,children:e.children})}var Pe=je();function _n(e){if(y(e))return ri(e)}function ri(e){if(Ce(e))return yn();if(Ee(e)){let t=e.advanced?.length?.min??Pe,n=e.advanced?.length?.max??Pe+5;return bn(Je(t,Pe),Je(n,Pe))}}function Un(e,t=!1){let n={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return Ke(e)?{...n,...oi(e)}:y(e)?{...n,...ii(e)}:ze(e)?{...n,...ai(e)}:n}function oi(e){let t=Ut(e.type),n={...e,type:t};return{...Bn(e),...li(n),...Zt(n)?Gn(n):{},type:t}}function ii(e){let t=_n(e);return t?{options:t}:{}}function ai(e){return{...Bn(e),...Gn(e)}}function Bn(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function li(e){return Fe(e)?si(e):{}}function Gn(e){return Yn(e,{min:wt,max:Pt})}function si(e){return Yn(e,{min:he,max:Te})}function Yn(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 Xn(e,t){let n=un(e.advanced?.aria);return t&&t.length>0&&(n[Ft]="true",n[Et]=`${e.name}-error`),n}function Hn(e){return dn(e.advanced?.data)}function qn(e){if(!e.field.type)return null;let t=Un(e.field,e.disabled),n=Hn(e.field),r=Xn(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 W=require("react/jsx-runtime");function $n(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:r}=ve(e.style,{orientation:en(e.field)}),o=tn(e.field,e.disabled);return(0,W.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,W.jsx)(Mn,{cols:t,disabled:o,errors:n,field:e.field,orientation:r,children:(0,W.jsx)(qn,{disabled:o,errors:n,field:e.field,orientation:r,children:e.children})}),(0,W.jsx)(ft,{errors:n,name:e.field.name})]})}var D=require("jotai"),et=require("jotai-family"),Oe=require("fast-equals");function ci(e){return(0,et.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 ui(e){return(0,D.atom)(null,(t,n)=>{let r=t(e);r&&Object.keys(r).length>0&&n(e,{})})}function di(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 fi(e){return(0,D.atom)(null,(t,n,r)=>{let o=t(e);(0,Oe.deepEqual)(o,r)||n(e,r)})}function Zn(e,t={}){let{merge:n,validateTarget:r}=t;return(0,et.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 x=u[o];(!x||!(0,Oe.deepEqual)(x,s))&&(u[o]=s,a(e,{...c,[l]:u}))}else if(u[o])if(delete u[o],Object.keys(u).length===0){let{[l]:x,...v}=c;a(e,v)}else a(e,{...c,[l]:u})}))}function Wn(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 K(e={}){let t=(0,D.atom)(e);return{atom:t,clearAll:ui(t),clear:di(t),bulkReport:fi(t),report:ci(t)}}var tt=K(),Kn=tt.clear,zn=tt.bulkReport,De=tt.report;var jn=require("jotai"),Qn=require("react/jsx-runtime");function Jn(e){return n=>{let r=(0,jn.useAtomValue)(De(n.field.name));return(0,Qn.jsx)(e,{...n,errors:r?{[n.field.name]:r}:void 0})}}var er=K(),tr=er.atom,nr=er.report;var rr=require("jotai"),ir=require("react/jsx-runtime");function or(e){return n=>{let r=(0,rr.useAtomValue)(nr(n.field.name));if(r?.hidden??n.field.hidden??!1)return null;let i=r?.disabled??n.disabled;return(0,ir.jsx)(e,{...n,disabled:i})}}var ar=or(Jn($n));var sr=require("react/jsx-runtime");function lr(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return(0,sr.jsx)("div",{"data-slot":"field-control",className:"w-full",children:t})}var cr=require("react/jsx-runtime");function ce(e){return(0,cr.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 ur=require("react/jsx-runtime");function ue(e){return Gt(e,(t,n,r)=>(0,ur.jsx)("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${t}`))}var L=require("react/jsx-runtime");function dr(e){return(0,L.jsxs)(L.Fragment,{children:[e.title&&(0,L.jsx)("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:ue(e.title)}),e.description&&(0,L.jsx)("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:ue(e.description)})]})}var z=require("react/jsx-runtime");function fr(e){let t=e.section.fields||[],{compact:n}=ve(e.style,{compact:e.section.compact});return!e.section.title&&!e.section.description?(0,z.jsx)(ce,{compact:n,children:e.children}):(0,z.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,z.jsx)(dr,{description:e.section.description,title:e.section.title}),(0,z.jsx)(ce,{compact:n,children:e.children})]})}var pr=require("react");var nt=require("react/jsx-runtime");function mr(){return(0,nt.jsx)("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:(0,nt.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 gr(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)(ce,{children:[t.map((n,r)=>(0,k.jsxs)(pr.Fragment,{children:[(0,k.jsx)(fr,{section:n,style:e.config.style,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.separator&&(0,k.jsx)(mr,{})]},r)),e.control&&(0,k.jsx)(lr,{isPending:e.isPending,children:e.control})]})})})}var br=require("react/jsx-runtime");function yr(e){return(0,br.jsx)("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}var xr=require("react/jsx-runtime");function Ve(e){let t=ue(e.text);return t?(0,xr.jsx)(yr,{children:t}):null}var hr=require("tailwind-merge"),Le=require("react/jsx-runtime");function Tr(e){let t=N(e.field)||g(e.field);return(0,Le.jsxs)("label",{"data-slot":"field-label","data-normal":t,className:(0,hr.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,!e.field.required&&(0,Le.jsx)("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:"(Optional)"})]})}var de=require("react/jsx-runtime");function Rr(e){let t=V(e.field.label)?S(e.field.label,{context:e.context,env:e.config?.env}):e.field.label,n=V(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)(Tr,{field:e.field,children:p(t,e.translations)}),e.orientation===$&&(0,de.jsx)(Ve,{text:p(n,e.translations)})]})}var M=require("react/jsx-runtime");function Sr(e){return(0,M.jsxs)(M.Fragment,{children:[e.field.name&&e.field.label&&(0,M.jsx)(Rr,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations}),e.children,e.orientation===w&&e.field.description&&(0,M.jsx)(Ve,{text:p(e.field.description,e.translations)})]})}function Me(e,t){return e?t(e):null}var b=require("react");var Ar=require("jotai");var mi=e=>{let t=kn(e);if(t)return t},pi=e=>e.trim()!=="",Cr=(0,Ar.atom)({}),Er=Zn(Cr,{merge:mi,validateTarget:pi}),Fr=Wn(Cr);var Ir=require("jotai");var Nr=fo(require("swr"),1);function kr(e=null,t,n=!1){let{data:r,error:o}=(0,Nr.default)(gi(e,t,n),t.fetcher.provider);if(o&&ae.error("Error fetching data source:",o),e){if(Array.isArray(e))return e;if(r)return Mt(r,e.namespace)}return null}function gi(e=null,t,n=!1){if(e&&!Array.isArray(e)&&!n&&e.url&&!V(e.url)){if(Fn(e.url,t.fetcher.remotePatterns))return e;ae.warn(`URL blocked by remotePatterns: ${e.url}. Check your luna.config.ts`)}return null}function vr(e,t,n){let r=rn(e,n),[o,i]=(0,Ir.useAtom)(Er(e.name));return[kr(o??r,t,e.disabled),i]}var _=require("react");function wr(e,t,n,r){let{name:o}=e,i=(0,_.useMemo)(()=>Rn(e,r),[e,r]),a=(0,_.useEffectEvent)(s=>{s&&t(s,i,e)}),l=(0,_.useEffectEvent)(s=>{s&&n(s)});return(0,_.useEffect)(()=>(a(o),()=>{l(o)}),[o]),i}var Q=require("jotai");var j=require("react");function Pr(){let e=(0,j.useRef)(null);(0,j.useEffect)(()=>()=>{e.current&&clearTimeout(e.current)},[]);function t(){e.current&&(clearTimeout(e.current),e.current=null)}return(0,j.useCallback)((r,o)=>{t(),e.current=setTimeout(r,o)},[])}var _e=K(),Or=_e.atom,Dr=_e.clearAll,Vr=_e.clear,Ue=_e.report;var Lr=require("jotai"),J=require("react");function Mr(e,t){let{name:n}=e,r=(0,J.useRef)(!1),[o,i]=(0,Lr.useAtom)(Ue(n));(0,J.useEffect)(()=>{if(!t||!(n in t))return;let l=t[n];se(l)&&(r.current=!0,i(l))},[n,t,i]);let a=(0,J.useCallback)(()=>r.current?(r.current=!1,!0):!1,[]);return{setValue:i,shouldSkipOnChange:a,value:o}}var rt=require("react/jsx-runtime");function _r(e){let t=e.field.advanced?.entity,n=(0,Q.useStore)(),r=Pr(),[,o]=(0,b.useTransition)(),{setValue:i,shouldSkipOnChange:a,value:l}=Mr(e.field,e.value),s=(0,b.useRef)(l);s.current=l;let c=(0,b.useRef)(e.translations);c.current=e.translations;let u=Jt(e.field),x=Ne(e.field),v=(0,Q.useSetAtom)(Or),te=(0,Q.useSetAtom)(tr),me=(0,Q.useSetAtom)(De(e.field.name)),[ne,U]=vr(e.field,e.config,l),E=wr(e.field,e.onMount,e.onUnmount,e.translations),re=p(e.commonProps.placeholder,e.translations),h={...e.commonProps,placeholder:re},{commonPropsWithOptions:Jr,defaultValue:Qr}=on(e.field,h,ne,l),ct=(0,b.useRef)(null);ct.current=m=>{i(m),e.onValueChange&&e.onValueChange({name:e.field.name,value:m})};let eo=an(e.field,Qr),pe=(0,b.useCallback)(m=>{let B=E.safeParse(m).error?.issues.map(oe=>oe.message)??[],G=e.field.validation?.custom,Ge=G?En(m,G,oe=>n.get(Ue(oe)),c.current):[];me([...B,...Ge])},[e.field.validation?.custom,E,me,n]),ut=(0,b.useCallback)((m,T)=>{if(u){r(()=>{T({value:m})},500);return}let B=Lt(m,ne,t);T(B)},[ne,t,u,r]),to=(0,b.useCallback)(m=>{let T=m.target.value;if(a()&&(!u||T===s.current))return;ct.current?.(T),e.config.validation.change&&pe(T);let B=e.field.event?.change;B&&ut(T,G=>{Yt(B,({sources:Ge,states:oe,values:ro})=>{o(()=>{Xt(G,Ge,(Y,X)=>U(Y,X)),qt(G,oe,(Y,X)=>{te(ge=>{if(X)return{...ge,[Y]:X};let{[Y]:hi,...oo}=ge;return oo})}),$t(G,ro,(Y,X)=>{v(ge=>({...ge,[Y]:X}))})})})})},[ut,u,e.config.validation.change,e.field.event?.change,te,U,v,a,pe]),no=(0,b.useCallback)(m=>{if(!x){let T=m.target.value;e.config.validation.blur&&pe(T)}},[x,e.config.validation.blur,pe]);return Me(e.config.inputs[e.field.type],m=>(0,rt.jsx)(Sr,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations,children:(0,rt.jsx)(m,{...Jr,...e.ariaAttributes,...e.dataAttributes,...eo,onBlur:no,onChange:to})}))}var Ur=require("tailwind-merge"),ot=require("react/jsx-runtime");function Br(e){let t=pn(e.column?.advanced?.cols);return(0,ot.jsx)("div",{className:"flex w-full flex-col gap-4",children:(0,ot.jsx)("div",{className:(0,Ur.twMerge)("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children})})}var Gr=require("react"),ee=require("react/jsx-runtime");function it(e){let{column:t,field:n}=e.components;return Ie(e.fields).map((r,o)=>(0,ee.jsxs)(Gr.Fragment,{children:[Kt(r)&&(0,ee.jsx)(t,{column:r,children:(0,ee.jsx)(it,{...e,fields:r.fields})}),zt(r)&&(0,ee.jsx)(n,{disabled:e.disabled,field:r,style:e.style,children:e.children})]},o))}var Xr=require("react/jsx-runtime");function Yr(e){return n=>(0,Xr.jsx)(it,{...n,components:{column:Br,field:e}})}var lt=require("jotai");var fe=require("react");function qr(e,t,n){let{onSuccess:r,preserveValues:o=!1,validation:i=!0}=n??{},a=(0,lt.useSetAtom)(zn),l=(0,lt.useSetAtom)(Dr),s={data:null,error:null,success:!1},[c,u,x]=(0,fe.useActionState)(async(v,te)=>{let[me,ne]=e(),U=hn(me,ne,n?.translations);if(i===!1)return t?await t(te,U):v;let E=Bt(te),re=U.safeParse(E);if(!re.success){let h=Tn(re.error);return(0,fe.startTransition)(()=>{a(h)}),at(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,U);return h.success?(r?.(h.data),o||(0,fe.startTransition)(()=>{l()}),Hr(E,o)):at(E,h.error)}catch(h){return ae.error("Error executing form action:",h),at(E,{title:"An unexpected error occurred submitting the form.",details:yi(h)})}return Hr(re.data,o)},s);return[u,c,x]}function yi(e){let t=e instanceof Error?e.message:["Unknown error"];return Array.isArray(t)?t:[t]}function Hr(e,t=!1){return{data:t?e:null,error:null,success:!0}}function at(e,t){return{data:e,error:t,success:!1}}var I=require("react");var $r=require("react"),Be=require("jotai");function Zr(){let e=(0,Be.useSetAtom)(Kn),t=(0,Be.useSetAtom)(Fr),n=(0,Be.useSetAtom)(Vr);return(0,$r.useCallback)(r=>{let o=Array.isArray(r)?r:[r];e(o),t(o),n(o)},[e,t,n])}function Wr(){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"),bi=Yr(ar);function Kr(e){let t=e.translations?.[e.lang??""],[n,r,o]=Wr(),[i,a,l]=qr(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&&Me(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)(gr,{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:x})=>(0,C.jsx)(bi,{disabled:u,fields:x,style:e.config.style,children:v=>(0,C.jsx)(_r,{...v,config:e.config,context:e.context,onMount:r,onUnmount:o,onValueChange:e.onValueChange,translations:t,value:c})})})]})}var zr=require("jotai"),st=require("react/jsx-runtime");function jr(e){return(0,st.jsx)(zr.Provider,{children:(0,st.jsx)(Kr,{...e})})}
1
+ "use strict";var oo=Object.create;var ye=Object.defineProperty;var io=Object.getOwnPropertyDescriptor;var ao=Object.getOwnPropertyNames;var lo=Object.getPrototypeOf,so=Object.prototype.hasOwnProperty;var co=(e,t)=>{for(var n in t)ye(e,n,{get:t[n],enumerable:!0})},dt=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of ao(t))!so.call(e,o)&&o!==n&&ye(e,o,{get:()=>t[o],enumerable:!(r=io(t,o))||r.enumerable});return e};var uo=(e,t,n)=>(n=e!=null?oo(lo(e)):{},dt(t||!e||!e.__esModule?ye(n,"default",{value:e,enumerable:!0}):n,e)),fo=e=>dt(ye({},"__esModule",{value:!0}),e);var Ti={};co(Ti,{Form:()=>zr});module.exports=fo(Ti);var Ye=require("react/jsx-runtime");function ft(e){return!e.errors||e.errors.length===0?null:(0,Ye.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,Ye.jsx)("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}var be="input",mt="input/email",pt="input/number";var gt="textarea",yt="radio",bt="checkbox",xt="select",ht="select/month",Tt="select/year";var Xe="column";var Rt="label",H="value",xe="options",He="email",St="number",At="password",Ct="tel",ie="text",Et="aria-errormessage",Ft="aria-invalid",Nt="data-invalid",kt="data-readonly",vt="aria",It="data",he="min",Te="max",wt="minLength",Pt="maxLength",q="$ref";var Ot="source",Vt="state",Re="http://luna.internal",w="vertical",$="horizontal";function d(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function Se(e){return e==null||e===""}function P(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function E(e){return typeof e=="string"}function Dt(e){return d(e)&&"url"in e}var mo=/[^/]+$/;function Lt(e,t=[],n=H){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=H){if(e!=null){if(P(e))return e;if(d(e)){let n=po(e,t);if(P(n))return n}}}function po(e,t){let n=T(e,t);if(P(n))return n}function Mt(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 _t(e,t={label:Rt,value:H}){return e.map(n=>{if(d(n)){let r=T(n,t.label),o=T(n,t.value);if(P(r)&&P(o))return{label:`${r}`,value:`${o}`}}return n})}function Ut(e=ie){if(e){let t=e.match(mo);if(t){let[n]=t;if(n!==be)return n.trim().toLowerCase()}}return ie}function Bt(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 go=/\[([^\]]+)\]\(([^)]+)\)/g;function R(e,t={}){if(E(e))return yo(e,t);if(Array.isArray(e))return e.map(n=>R(n,t));if(d(e)){let n={};for(let r in e)n[r]=R(e[r],t);return n}return e}function D(e){return E(e)?/{([^}]+)}/.test(e):Array.isArray(e)?e.some(t=>D(t)):d(e)?Object.values(e).some(t=>D(t)):!1}function yo(e,t={}){return e.replace(/{([^}]+)}/g,(n,r)=>{let o=r.includes(".")?T(t,r):t[r];return P(o)?String(o):n})}function Gt(e,t){if(!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=go.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 ae={error:(...e)=>{$e()&&!Ze()&&Ae().error("[Luna Form]",...e)},warn:(...e)=>{$e()&&!Ze()&&Ae().warn("[Luna Form]",...e)},info:(...e)=>{$e()&&!Ze()&&Ae().info("[Luna Form]",...e)}},$e=()=>typeof Ae()<"u",Ze=()=>!0,Ae=()=>globalThis.console;function Yt(e=[],t){let n=[],r=[],o=[];e.forEach(i=>{i.action===H&&n.push(i),i.action===Ot&&r.push(i),i.action===Vt&&o.push(i)}),t({sources:r,states:o,values:n})}function Xt(e=null,t=[],n){t.forEach(r=>{let{target:o,source:i}=r;if(!e){n(o,void 0);return}if(Dt(i)){let a=R(i.url,e),l=i.body?R(i.body,e):i.body;n(o,{...i,url:a,body:l})}})}var le={eq:Ro,gt:Eo,gte:Fo,in:Ao,lt:No,lte:ko,neq:So,nin:Co},bo=/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2})?/,Ht=/^(\d{2})[/-](\d{2})[/-](\d{4})(?: (\d{2}):(\d{2})(?::(\d{2}))?)?$/;function xo(e){return typeof e=="string"&&bo.test(e)}function ho(e){return typeof e=="string"&&Ht.test(e)}function To(e){let t=e.match(Ht);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 O(e){return xo(e)?new Date(e).getTime():ho(e)?To(e):Number(e)}function Ro(e,t){return e===t}function So(e,t){return e!==t}function Ao(e,t){return Array.isArray(t)&&t.includes(String(e))}function Co(e,t){return Array.isArray(t)&&!t.includes(String(e))}function Eo(e,t){return O(e)>O(t)}function Fo(e,t){return O(e)>=O(t)}function No(e,t){return O(e)<O(t)}function ko(e,t){return O(e)<=O(t)}function qt(e=null,t=[],n){t.forEach(r=>{let{target:o,state:i,when:a}=r;if(!e){n(o);return}let l=vo(e,a);n(o,l?i:void 0)})}function vo(e,t){if(t===void 0)return!0;if(E(t))return We(e,"value")===t;if(Array.isArray(t)){let n=We(e,"value");return t.includes(String(n))}return Io(e,t)}function Io(e=null,t){let n=We(e,t.field??"value"),{operator:r="eq",value:o}=t,i=le[r];return i?i(n,o):!1}function We(e,t){return d(e)?t.includes(".")?T(e,t):e[t]:e}function $t(e=null,t=[],n){t.forEach(r=>{Object.entries(r.value).forEach(([o,i])=>{n(o,e?R(i,e):void 0)})})}var Ce=e=>S(ht)(e),Ee=e=>S(Tt)(e),g=S(bt),Ke=S(be),F=S(yt),N=S(xt),ze=S(gt),Zt=S(ie,He,At,Ct),Wt=S(mt,He),Fe=S(pt,St);function Ne(e){return F(e)||g(e)}function Kt(e){return e.type===Xe}function zt(e){return e.type!==Xe}function jt(e){return N(e)||F(e)}function Jt(e){return Ke(e)||ze(e)}function se(e){return e!=null&&e!==""}function S(...e){return t=>{let n=E(t.type)?t.type:void 0;return n?e.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function Qt(e,t={}){if(N(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&d(n))return[n]}}function en(e){return F(e)||g(e)?$:e.advanced?.orientation??w}function tn(e){return g(e)?e.advanced?.reverse!==!1:!1}function nn(e,t){let n=e.readonly??!1;return t||n}function rn(e){if(F(e)||N(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||d(t)&&!(q in t))return t}}var wo=/^\d+$/;function on(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function an(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 Je(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 wo.test(r)?parseInt(r,10):n}var ke=je();function Po(e){if(N(e))return Oo(e)}function Oo(e){if(Ce(e))return on();if(Ee(e)){let t=e.advanced?.length?.min??ke,n=e.advanced?.length?.max??ke+5;return an(Je(t,ke),Je(n,ke))}}function ln(e,t=!1){let n={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return Ke(e)?{...n,...Vo(e)}:N(e)?{...n,...Do(e)}:ze(e)?{...n,...Lo(e)}:n}function Vo(e){let t=Ut(e.type),n={...e,type:t};return{...sn(e),...Mo(n),...Zt(n)?cn(n):{},type:t}}function Do(e){let t=Po(e);return t?{options:t}:{}}function Lo(e){return{...sn(e),...cn(e)}}function sn(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function Mo(e){return Fe(e)?_o(e):{}}function cn(e){return un(e,{min:wt,max:Pt})}function _o(e){return un(e,{min:he,max:Te})}function un(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 dn(e,t){let n=rn(e);return n||Qt(e,t)}function Uo(e,t){let n=d(t)&&e.name in t?t[e.name]:t;return qe(n,e.advanced?.entity)}function Bo(e,t,n){return jt(e)&&Array.isArray(n)?{...t,[xe]:n}:t}function Go(e,t,n){if(e.required&&!se(n)&&N(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 Yo(e,t){return N(e)&&Array.isArray(t)?_t(t,e.advanced?.options):t}function fn(e,t,n,r){let o=Uo(e,r),i=Array.isArray(n)?Yo(e,n):n,a=Bo(e,t,i),l=Go(e,a,o);return{commonPropsWithOptions:a,defaultValue:l}}function mn(e,t){return g(e)?{checked:se(t)?t:!1}:{value:t??""}}var Xo=/^#\/definition\//;function Ie(e=[],t){let n=ve(e,t);return Array.isArray(n)?n.sort((r,o)=>pn(r)-pn(o)):[]}function ve(e,t,n=new Map,r=new WeakSet){if(!Ho(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=>ve(i,t,n,r));if(q in e&&E(e[q])){let i=e[q].replace(Xo,""),a=T(t,i);return a!==null?ve(a,t,n,r):e}let o={};for(let[i,a]of Object.entries(e))o[i]=ve(a,t,n,r);return r.delete(e),n.set(e,o),o}function gn(e){return Object.entries(e??{})}function pn(e){return e.order??Number.MAX_VALUE}function Ho(e){return e!==void 0&&d(e)&&Object.keys(e).length>0}function yn(e,t){let n={};for(let[r,o]of gn(t))n[`${e}-${r}`]=o;return n}function qo(e){return yn(vt,e)}function $o(e){return yn(It,e)}function bn(e,t){let n=qo(e.advanced?.aria);return t&&t.length>0&&(n[Ft]="true",n[Et]=`${e.name}-error`),n}function xn(e){return $o(e.advanced?.data)}var hn={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},Tn={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function Rn(e,t=2){return hn[e&&e in hn?e:t]}function Sn(e){if(e&&e in Tn)return Tn[e]}var f=require("zod");function m(e,t){return e?t?t[e]??e:e:""}var Zo=[[Fe,Jo],[Wt,Wo],[Ee,Qo],[Ce,ei],[g,Ko],[F,zo]];function Cn(e,t=[],n){let r=f.z.object(e);return t.length===0?r:oi(r,t,n)}function En(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 Fn(e,t){for(let[n,r]of Zo)if(n(e))return r(e,t);return jo(e,t)}function Wo(e,t){let n=f.z.string().trim();if(e.required){let r=Z(e,t),o=n.min(1,r).pipe(An(e,t));return f.z.preprocess(i=>Se(i)?"":i,o)}return n.pipe(An(e,t)).or(f.z.literal("")).nullable()}function Ko(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 zo(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 jo(e,t){let n=f.z.coerce.string().trim();return n=Nn(n,e,t),e.required?(n=kn(n,e,t),f.z.preprocess(r=>Se(r)?"":r,n)):n.nullable()}function Jo(e,t){let n=f.z.coerce.number().int();return n=Nn(n,e,t),e.required?(n=kn(n,e,t),f.z.preprocess(r=>r===null?void 0:r,n)):n.nullable()}function Qo(e,t){return e.required?f.z.preprocess(ti,f.z.coerce.number({message:Z(e,t)}).int()):f.z.coerce.number().int().nullable()}function ei(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 ti(e){return e===null||e===""?void 0:e}function An(e,t){let n=e.validation?.email?m(e.validation?.email,t):void 0;return f.z.email(n)}function Nn(e,t,n){return e=ni(e,t,n),e=ri(e,t,n),e}function kn(e,t,n){let r=t.advanced?.length?.min;return r===void 0||r<1?e.min(1,Z(t,n)):e}var ni=(e,t,n)=>vn(e,t,he,n),ri=(e,t,n)=>vn(e,t,Te,n);function vn(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 oi(e,t=[],n){let r=ai(t);return r.length===0?e:e.superRefine((o,i)=>{for(let{name:a,rule:l}of r)if(!ii(o,a,l)){let s=m(l.message,n);i.addIssue({code:"custom",message:s,path:[a]})}})}function ii(e,t,n){let r=n.operator??"eq",o=le[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 In(e,t,n,r){let o=[],i=Array.isArray(t)?t:[t];for(let a of i){let l=a.operator??"eq",s=le[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 wn(e,t){if(!t||!si(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||li(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 li(e){return e==="https"?"443":"80"}function si(e){return/^(https?:)?\/\//.test(e)}function Pn(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 On(e){return!Array.isArray(e)||e.length===0?null:e.reduce((t,n)=>{let r=Pn(t.url,n.url),o=ci(t,n),i=ui(t,n);return{...t,...n,url:r,body:o,headers:i}})}function ci(e,t){return d(t.body)&&d(e?.body)?{...e.body,...t.body}:t.body??e?.body}function ui(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 Vn=require("tailwind-merge"),Dn=require("react/jsx-runtime");function Pe(e){let t=e.errors&&e.errors.length>0;return(0,Dn.jsx)("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[Nt]:"true"},...e.disabled&&{[kt]:"true"},"data-orientation":e.orientation,className:(0,Vn.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 Ln=require("tailwind-merge"),_n=require("react/jsx-runtime");function Mn(e){return(0,_n.jsx)(Pe,{...e,orientation:w,className:(0,Ln.twMerge)("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}var Un=require("tailwind-merge"),Gn=require("react/jsx-runtime");function Bn(e){return(0,Gn.jsx)(Pe,{...e,orientation:$,className:(0,Un.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 Qe=require("react/jsx-runtime");function Yn(e){let t=Ne(e.field),n=g(e.field),r=tn(e.field);return e.orientation===w?(0,Qe.jsx)(Mn,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children}):(0,Qe.jsx)(Bn,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children})}function Xn(e){if(!e.field.type)return null;let t=ln(e.field,e.disabled),n=xn(e.field),r=bn(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 Hn=require("tailwind-merge"),W=require("react/jsx-runtime");function qn(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:r}=we(e.style,{orientation:en(e.field)}),o=nn(e.field,e.disabled);return(0,W.jsxs)("div",{className:(0,Hn.twMerge)("flex flex-col gap-3",Sn(t)),children:[(0,W.jsx)(Yn,{disabled:o,errors:n,field:e.field,orientation:r,children:(0,W.jsx)(Xn,{disabled:o,errors:n,field:e.field,orientation:r,children:e.children})}),(0,W.jsx)(ft,{errors:n,name:e.field.name})]})}var V=require("jotai"),et=require("jotai-family"),Oe=require("fast-equals");function di(e){return(0,et.atomFamily)(t=>(0,V.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 fi(e){return(0,V.atom)(null,(t,n)=>{let r=t(e);r&&Object.keys(r).length>0&&n(e,{})})}function mi(e){return(0,V.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 pi(e){return(0,V.atom)(null,(t,n,r)=>{let o=t(e);(0,Oe.deepEqual)(o,r)||n(e,r)})}function $n(e,t={}){let{merge:n,validateTarget:r}=t;return(0,et.atomFamily)(o=>(0,V.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 b=u[o];(!b||!(0,Oe.deepEqual)(b,s))&&(u[o]=s,a(e,{...c,[l]:u}))}else if(u[o])if(delete u[o],Object.keys(u).length===0){let{[l]:b,...I}=c;a(e,I)}else a(e,{...c,[l]:u})}))}function Zn(e){return(0,V.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 K(e={}){let t=(0,V.atom)(e);return{atom:t,clearAll:fi(t),clear:mi(t),bulkReport:pi(t),report:di(t)}}var tt=K(),Wn=tt.clear,Kn=tt.bulkReport,Ve=tt.report;var zn=require("jotai"),Jn=require("react/jsx-runtime");function jn(e){return n=>{let r=(0,zn.useAtomValue)(Ve(n.field.name));return(0,Jn.jsx)(e,{...n,errors:r?{[n.field.name]:r}:void 0})}}var Qn=K(),er=Qn.atom,tr=Qn.report;var nr=require("jotai"),or=require("react/jsx-runtime");function rr(e){return n=>{let r=(0,nr.useAtomValue)(tr(n.field.name));if(r?.hidden??n.field.hidden??!1)return null;let i=r?.disabled??n.disabled;return(0,or.jsx)(e,{...n,disabled:i})}}var ir=rr(jn(qn));var lr=require("react/jsx-runtime");function ar(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return(0,lr.jsx)("div",{"data-slot":"field-control",className:"w-full",children:t})}var sr=require("react/jsx-runtime");function ce(e){return(0,sr.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 cr=require("react/jsx-runtime");function ue(e){return Gt(e,(t,n,r)=>(0,cr.jsx)("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${t}`))}var L=require("react/jsx-runtime");function ur(e){return(0,L.jsxs)(L.Fragment,{children:[e.title&&(0,L.jsx)("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:ue(e.title)}),e.description&&(0,L.jsx)("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:ue(e.description)})]})}var z=require("react/jsx-runtime");function dr(e){let t=e.section.fields||[],{compact:n}=we(e.style,{compact:e.section.compact});return!e.section.title&&!e.section.description?(0,z.jsx)(ce,{compact:n,children:e.children}):(0,z.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,z.jsx)(ur,{description:e.section.description,title:e.section.title}),(0,z.jsx)(ce,{compact:n,children:e.children})]})}var mr=require("react");var nt=require("react/jsx-runtime");function fr(){return(0,nt.jsx)("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:(0,nt.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 pr(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)(ce,{children:[t.map((n,r)=>(0,k.jsxs)(mr.Fragment,{children:[(0,k.jsx)(dr,{section:n,style:e.config.style,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.separator&&(0,k.jsx)(fr,{})]},r)),e.control&&(0,k.jsx)(ar,{isPending:e.isPending,children:e.control})]})})})}var yr=require("react/jsx-runtime");function gr(e){return(0,yr.jsx)("p",{className:"-mt-2 text-xs leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}var br=require("react/jsx-runtime");function De(e){let t=ue(e.text);return t?(0,br.jsx)(gr,{children:t}):null}var xr=require("tailwind-merge"),Le=require("react/jsx-runtime");function hr(e){let t=e.style?.showOptionalLabel??!0,n=F(e.field)||g(e.field);return(0,Le.jsxs)("label",{"data-slot":"field-label","data-normal":n,className:(0,xr.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,Le.jsx)("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:m("(Optional)",e.translations)})]})}var de=require("react/jsx-runtime");function Tr(e){let t=D(e.field.label)?R(e.field.label,{context:e.context,env:e.config?.env}):e.field.label,n=D(e.field.description)?R(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)(hr,{field:e.field,style:e.config?.style,translations:e.translations,children:m(t,e.translations)}),e.orientation===$&&(0,de.jsx)(De,{text:m(n,e.translations)})]})}var M=require("react/jsx-runtime");function Rr(e){return(0,M.jsxs)(M.Fragment,{children:[e.field.name&&e.field.label&&(0,M.jsx)(Tr,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations}),e.children,e.orientation===w&&e.field.description&&(0,M.jsx)(De,{text:m(e.field.description,e.translations)})]})}function Me(e,t){return e?t(e):null}var y=require("react");var Sr=require("jotai");var gi=e=>{let t=On(e);if(t)return t},yi=e=>e.trim()!=="",Ar=(0,Sr.atom)({}),Cr=$n(Ar,{merge:gi,validateTarget:yi}),Er=Zn(Ar);var kr=require("jotai");var Fr=uo(require("swr"),1);function Nr(e=null,t,n=!1){let{data:r,error:o}=(0,Fr.default)(bi(e,t,n),t.fetcher.provider);if(o&&ae.error("Error fetching data source:",o),e){if(Array.isArray(e))return e;if(r)return Mt(r,e.namespace)}return null}function bi(e=null,t,n=!1){if(e&&!Array.isArray(e)&&!n&&e.url&&!D(e.url)){if(wn(e.url,t.fetcher.remotePatterns))return e;ae.warn(`URL blocked by remotePatterns: ${e.url}. Check your luna.config.ts`)}return null}function vr(e,t,n){let r=dn(e,n),[o,i]=(0,kr.useAtom)(Cr(e.name));return[Nr(o??r,t,e.disabled),i]}var _=require("react");function Ir(e,t,n,r){let{name:o}=e,i=(0,_.useMemo)(()=>Fn(e,r),[e,r]),a=(0,_.useEffectEvent)(s=>{s&&t(s,i,e)}),l=(0,_.useEffectEvent)(s=>{s&&n(s)});return(0,_.useEffect)(()=>(a(o),()=>{l(o)}),[o]),i}var Q=require("jotai");var j=require("react");function wr(){let e=(0,j.useRef)(null);(0,j.useEffect)(()=>()=>{e.current&&clearTimeout(e.current)},[]);function t(){e.current&&(clearTimeout(e.current),e.current=null)}return(0,j.useCallback)((r,o)=>{t(),e.current=setTimeout(r,o)},[])}var _e=K(),Pr=_e.atom,Or=_e.clearAll,Vr=_e.clear,Ue=_e.report;var Dr=require("jotai"),J=require("react");function Lr(e,t){let{name:n}=e,r=(0,J.useRef)(!1),[o,i]=(0,Dr.useAtom)(Ue(n));(0,J.useEffect)(()=>{if(!t||!(n in t))return;let l=t[n];se(l)&&(r.current=!0,i(l))},[n,t,i]);let a=(0,J.useCallback)(()=>r.current?(r.current=!1,!0):!1,[]);return{setValue:i,shouldSkipOnChange:a,value:o}}var rt=require("react/jsx-runtime");function Mr(e){let t=e.field.advanced?.entity,n=(0,Q.useStore)(),r=wr(),[,o]=(0,y.useTransition)(),{setValue:i,shouldSkipOnChange:a,value:l}=Lr(e.field,e.value),s=(0,y.useRef)(l);s.current=l;let c=(0,y.useRef)(e.translations);c.current=e.translations;let u=Jt(e.field),b=Ne(e.field),I=(0,Q.useSetAtom)(Pr),te=(0,Q.useSetAtom)(er),me=(0,Q.useSetAtom)(Ve(e.field.name)),[ne,U]=vr(e.field,e.config,l),C=Ir(e.field,e.onMount,e.onUnmount,e.translations),re=m(e.commonProps.placeholder,e.translations),x={...e.commonProps,placeholder:re},{commonPropsWithOptions:jr,defaultValue:Jr}=fn(e.field,x,ne,l),ct=(0,y.useRef)(null);ct.current=p=>{i(p),e.onValueChange&&e.onValueChange({name:e.field.name,value:p})};let Qr=mn(e.field,Jr),pe=(0,y.useCallback)(p=>{let B=C.safeParse(p).error?.issues.map(oe=>oe.message)??[],G=e.field.validation?.custom,Ge=G?In(p,G,oe=>n.get(Ue(oe)),c.current):[];me([...B,...Ge])},[e.field.validation?.custom,C,me,n]),ut=(0,y.useCallback)((p,h)=>{if(u){r(()=>{h({value:p})},500);return}let B=Lt(p,ne,t);h(B)},[ne,t,u,r]),eo=(0,y.useCallback)(p=>{let h=p.target.value;if(a()&&(!u||h===s.current))return;ct.current?.(h),e.config.validation.change&&pe(h);let B=e.field.event?.change;B&&ut(h,G=>{Yt(B,({sources:Ge,states:oe,values:no})=>{o(()=>{Xt(G,Ge,(Y,X)=>U(Y,X)),qt(G,oe,(Y,X)=>{te(ge=>{if(X)return{...ge,[Y]:X};let{[Y]:Ri,...ro}=ge;return ro})}),$t(G,no,(Y,X)=>{I(ge=>({...ge,[Y]:X}))})})})})},[ut,u,e.config.validation.change,e.field.event?.change,te,U,I,a,pe]),to=(0,y.useCallback)(p=>{if(!b){let h=p.target.value;e.config.validation.blur&&pe(h)}},[b,e.config.validation.blur,pe]);return Me(e.config.inputs[e.field.type],p=>(0,rt.jsx)(Rr,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations,children:(0,rt.jsx)(p,{...jr,...e.ariaAttributes,...e.dataAttributes,...Qr,onBlur:to,onChange:eo})}))}var _r=require("tailwind-merge"),ot=require("react/jsx-runtime");function Ur(e){let t=Rn(e.column?.advanced?.cols);return(0,ot.jsx)("div",{className:"flex w-full flex-col gap-4",children:(0,ot.jsx)("div",{className:(0,_r.twMerge)("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children})})}var Br=require("react"),ee=require("react/jsx-runtime");function it(e){let{column:t,field:n}=e.components;return Ie(e.fields).map((r,o)=>(0,ee.jsxs)(Br.Fragment,{children:[Kt(r)&&(0,ee.jsx)(t,{column:r,children:(0,ee.jsx)(it,{...e,fields:r.fields})}),zt(r)&&(0,ee.jsx)(n,{disabled:e.disabled,field:r,style:e.style,children:e.children})]},o))}var Yr=require("react/jsx-runtime");function Gr(e){return n=>(0,Yr.jsx)(it,{...n,components:{column:Ur,field:e}})}var lt=require("jotai");var fe=require("react");function Hr(e,t,n){let{onSuccess:r,preserveValues:o=!1,validation:i=!0}=n??{},a=(0,lt.useSetAtom)(Kn),l=(0,lt.useSetAtom)(Or),s={data:null,error:null,success:!1},[c,u,b]=(0,fe.useActionState)(async(I,te)=>{let[me,ne]=e(),U=Cn(me,ne,n?.translations);if(i===!1)return t?await t(te,U):I;let C=Bt(te),re=U.safeParse(C);if(!re.success){let x=En(re.error);return(0,fe.startTransition)(()=>{a(x)}),at(C,{description:"Please correct the errors and try again.",details:[],title:"There were validation errors submitting the form."})}if(t)try{let x=await t(C,U);return x.success?(r?.(x.data),o||(0,fe.startTransition)(()=>{l()}),Xr(C,o)):at(C,x.error)}catch(x){return ae.error("Error executing form action:",x),at(C,{title:"An unexpected error occurred submitting the form.",details:xi(x)})}return Xr(re.data,o)},s);return[u,c,b]}function xi(e){let t=e instanceof Error?e.message:["Unknown error"];return Array.isArray(t)?t:[t]}function Xr(e,t=!1){return{data:t?e:null,error:null,success:!0}}function at(e,t){return{data:e,error:t,success:!1}}var v=require("react");var qr=require("react"),Be=require("jotai");function $r(){let e=(0,Be.useSetAtom)(Wn),t=(0,Be.useSetAtom)(Er),n=(0,Be.useSetAtom)(Vr);return(0,qr.useCallback)(r=>{let o=Array.isArray(r)?r:[r];e(o),t(o),n(o)},[e,t,n])}function Zr(){let e=$r(),t=(0,v.useRef)({}),n=(0,v.useRef)([]),r=(0,v.useRef)(new Set),o=(0,v.useCallback)((l,s,c)=>{l in t.current||(t.current[l]=s,n.current.push(c))},[]),i=(0,v.useCallback)(l=>{t.current[l]&&(delete t.current[l],n.current=n.current.filter(s=>s.name!==l),r.current.add(l),(0,v.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 A=require("react/jsx-runtime"),hi=Gr(ir);function Wr(e){let t=e.translations?.[e.lang??""],[n,r,o]=Zr(),[i,a,l]=Hr(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,A.jsxs)(A.Fragment,{children:[s&&Me(e.config.alert,u=>(0,A.jsx)("div",{className:"mb-4 w-full",children:(0,A.jsx)(u,{description:a.error?.description,details:a.error?.details,title:a.error.title})})),(0,A.jsx)(pr,{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:b})=>(0,A.jsx)(hi,{disabled:u,fields:b,style:e.config.style,children:I=>(0,A.jsx)(Mr,{...I,config:e.config,context:e.context,onMount:r,onUnmount:o,onValueChange:e.onValueChange,translations:t,value:c})})})]})}var Kr=require("jotai"),st=require("react/jsx-runtime");function zr(e){return(0,st.jsx)(Kr.Provider,{children:(0,st.jsx)(Wr,{...e})})}
@@ -1 +1 @@
1
- import{jsx as Ke}from"react/jsx-runtime";function ze(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 re="input",je="input/email",Je="input/number";var Qe="textarea",et="radio",tt="checkbox",nt="select",rt="select/month",ot="select/year";var Fe="column";var it="label",M="value",oe="options",Ne="email",at="number",lt="password",st="tel",$="text",ct="aria-errormessage",ut="aria-invalid",dt="data-invalid",ft="data-readonly",mt="aria",pt="data",ie="min",ae="max",gt="minLength",yt="maxLength",_="$ref";var bt="source",xt="state",le="http://luna.internal",N="vertical",U="horizontal";function d(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function se(e){return e==null||e===""}function k(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function C(e){return typeof e=="string"}function ht(e){return d(e)&&"url"in e}var vr=/[^/]+$/;function Tt(e,t=[],n=M){if(Array.isArray(t))return t.find(r=>{let o=ke(r,n);if(o!==void 0&&`${o}`===e)return r})??{value:e}}function ke(e,t=M){if(e!=null){if(k(e))return e;if(d(e)){let n=wr(e,t);if(k(n))return n}}}function wr(e,t){let n=T(e,t);if(k(n))return n}function Rt(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 St(e,t={label:it,value:M}){return e.map(n=>{if(d(n)){let r=T(n,t.label),o=T(n,t.value);if(k(r)&&k(o))return{label:`${r}`,value:`${o}`}}return n})}function At(e=$){if(e){let t=e.match(vr);if(t){let[n]=t;if(n!==re)return n.trim().toLowerCase()}}return $}function Ct(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 Pr=/\[([^\]]+)\]\(([^)]+)\)/g;function R(e,t={}){if(C(e))return Or(e,t);if(Array.isArray(e))return e.map(n=>R(n,t));if(d(e)){let n={};for(let r in e)n[r]=R(e[r],t);return n}return e}function v(e){return C(e)?/{([^}]+)}/.test(e):Array.isArray(e)?e.some(t=>v(t)):d(e)?Object.values(e).some(t=>v(t)):!1}function Or(e,t={}){return e.replace(/{([^}]+)}/g,(n,r)=>{let o=r.includes(".")?T(t,r):t[r];return k(o)?String(o):n})}function Et(e,t){if(!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=Pr.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 Z={error:(...e)=>{Ie()&&!ve()&&ce().error("[Luna Form]",...e)},warn:(...e)=>{Ie()&&!ve()&&ce().warn("[Luna Form]",...e)},info:(...e)=>{Ie()&&!ve()&&ce().info("[Luna Form]",...e)}},Ie=()=>typeof ce()<"u",ve=()=>!0,ce=()=>globalThis.console;function Ft(e=[],t){let n=[],r=[],o=[];e.forEach(i=>{i.action===M&&n.push(i),i.action===bt&&r.push(i),i.action===xt&&o.push(i)}),t({sources:r,states:o,values:n})}function Nt(e=null,t=[],n){t.forEach(r=>{let{target:o,source:i}=r;if(!e){n(o,void 0);return}if(ht(i)){let a=R(i.url,e),l=i.body?R(i.body,e):i.body;n(o,{...i,url:a,body:l})}})}var W={eq:_r,gt:Yr,gte:Xr,in:Br,lt:Hr,lte:qr,neq:Ur,nin:Gr},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 Vr(e){return typeof e=="string"&&Dr.test(e)}function Lr(e){return typeof e=="string"&&kt.test(e)}function Mr(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 Vr(e)?new Date(e).getTime():Lr(e)?Mr(e):Number(e)}function _r(e,t){return e===t}function Ur(e,t){return e!==t}function Br(e,t){return Array.isArray(t)&&t.includes(String(e))}function Gr(e,t){return Array.isArray(t)&&!t.includes(String(e))}function Yr(e,t){return I(e)>I(t)}function Xr(e,t){return I(e)>=I(t)}function Hr(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=$r(e,a);n(o,l?i:void 0)})}function $r(e,t){if(t===void 0)return!0;if(C(t))return we(e,"value")===t;if(Array.isArray(t)){let n=we(e,"value");return t.includes(String(n))}return Zr(e,t)}function Zr(e=null,t){let n=we(e,t.field??"value"),{operator:r="eq",value:o}=t,i=W[r];return i?i(n,o):!1}function we(e,t){return d(e)?t.includes(".")?T(e,t):e[t]:e}function vt(e=null,t=[],n){t.forEach(r=>{Object.entries(r.value).forEach(([o,i])=>{n(o,e?R(i,e):void 0)})})}var ue=e=>S(rt)(e),de=e=>S(ot)(e),g=S(tt),Pe=S(re),E=S(et),y=S(nt),Oe=S(Qe),wt=S($,Ne,lt,st),Pt=S(je,Ne),fe=S(Je,at);function me(e){return E(e)||g(e)}function Ot(e){return e.type===Fe}function Dt(e){return e.type!==Fe}function Vt(e){return y(e)||E(e)}function Lt(e){return Pe(e)||Oe(e)}function K(e){return e!=null&&e!==""}function S(...e){return t=>{let n=C(t.type)?t.type:void 0;return n?e.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function Mt(e,t={}){if(y(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&d(n))return[n]}}function _t(e){return E(e)||g(e)?U:e.advanced?.orientation??N}function Ut(e,t){let n=e.readonly??!1;return t||n}function Bt(e){if(E(e)||y(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||d(t)&&!(_ in t))return t}}function Gt(e,t){let n=Bt(e);return n||Mt(e,t)}function Wr(e,t){let n=d(t)&&e.name in t?t[e.name]:t;return ke(n,e.advanced?.entity)}function Kr(e,t,n){return Vt(e)&&Array.isArray(n)?{...t,[oe]:n}:t}function zr(e,t,n){if(e.required&&!K(n)&&y(e)&&e.advanced?.preselected!==!1&&oe in t){let r=t[oe];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function jr(e,t){return y(e)&&Array.isArray(t)?St(t,e.advanced?.options):t}function Yt(e,t,n,r){let o=Wr(e,r),i=Array.isArray(n)?jr(e,n):n,a=Kr(e,t,i),l=zr(e,a,o);return{commonPropsWithOptions:a,defaultValue:l}}function Xt(e,t){return g(e)?{checked:K(t)?t:!1}:{value:t??""}}var Jr=/^#\/definition\//;function ge(e=[],t){let n=pe(e,t);return Array.isArray(n)?n.sort((r,o)=>Ht(r)-Ht(o)):[]}function pe(e,t,n=new Map,r=new WeakSet){if(!Qr(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=>pe(i,t,n,r));if(_ in e&&C(e[_])){let i=e[_].replace(Jr,""),a=T(t,i);return a!==null?pe(a,t,n,r):e}let o={};for(let[i,a]of Object.entries(e))o[i]=pe(a,t,n,r);return r.delete(e),n.set(e,o),o}function qt(e){return Object.entries(e??{})}function Ht(e){return e.order??Number.MAX_VALUE}function Qr(e){return e!==void 0&&d(e)&&Object.keys(e).length>0}function $t(e,t){let n={};for(let[r,o]of qt(t))n[`${e}-${r}`]=o;return n}function Zt(e){return $t(mt,e)}function Wt(e){return $t(pt,e)}var Kt={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},zt={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function jt(e,t=2){return Kt[e&&e in Kt?e:t]}function Jt(e){if(e&&e in zt)return zt[e]}var eo=/^\d+$/;function Qt(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function en(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 De(){return new Date().getFullYear()}function Ve(e,t){if(typeof e=="number")return e;let n=t??De(),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 eo.test(r)?parseInt(r,10):n}import{z as f}from"zod";function p(e,t){return e?t?t[e]??e:e:""}var to=[[fe,ao],[Pt,no],[de,lo],[ue,so],[g,ro],[E,oo]];function nn(e,t=[],n){let r=f.object(e);return t.length===0?r:mo(r,t,n)}function rn(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 on(e,t){for(let[n,r]of to)if(n(e))return r(e,t);return io(e,t)}function no(e,t){let n=f.string().trim();if(e.required){let r=B(e,t),o=n.min(1,r).pipe(tn(e,t));return f.preprocess(i=>se(i)?"":i,o)}return n.pipe(tn(e,t)).or(f.literal("")).nullable()}function ro(e,t){let n=f.coerce.boolean();return e.required?(n=n.refine(r=>r===!0,{message:B(e,t)}),f.preprocess(r=>r===null?!1:r,n)):n.nullable()}function oo(e,t){let n=f.coerce.string();return e.required?(n=n.min(1,B(e,t)),f.preprocess(r=>se(r)?"":r,n)):n.or(f.literal("")).nullable()}function io(e,t){let n=f.coerce.string().trim();return n=an(n,e,t),e.required?(n=ln(n,e,t),f.preprocess(r=>se(r)?"":r,n)):n.nullable()}function ao(e,t){let n=f.coerce.number().int();return n=an(n,e,t),e.required?(n=ln(n,e,t),f.preprocess(r=>r===null?void 0:r,n)):n.nullable()}function lo(e,t){return e.required?f.preprocess(co,f.coerce.number({message:B(e,t)}).int()):f.coerce.number().int().nullable()}function so(e,t){let n=B(e,t),r=f.coerce.number().int().min(1,n).max(12,n);return e.required?r:r.nullable()}function co(e){return e===null||e===""?void 0:e}function tn(e,t){let n=e.validation?.email?p(e.validation?.email,t):void 0;return f.email(n)}function an(e,t,n){return e=uo(e,t,n),e=fo(e,t,n),e}function ln(e,t,n){let r=t.advanced?.length?.min;return r===void 0||r<1?e.min(1,B(t,n)):e}var uo=(e,t,n)=>sn(e,t,ie,n),fo=(e,t,n)=>sn(e,t,ae,n);function sn(e,t,n,r){let o=t.advanced?.length?.[n];if(o!==void 0){let i=t.validation?.length?.[n]?p(t.validation?.length?.[n],r):void 0;return e[n](o,i)}return e}function mo(e,t=[],n){let r=go(t);return r.length===0?e:e.superRefine((o,i)=>{for(let{name:a,rule:l}of r)if(!po(o,a,l)){let s=p(l.message,n);i.addIssue({code:"custom",message:s,path:[a]})}})}function po(e,t,n){let r=n.operator??"eq",o=W[r];return o?o(e[t],e[n.field]):!1}function go(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 cn(e,t,n,r){let o=[],i=Array.isArray(t)?t:[t];for(let a of i){let l=a.operator??"eq",s=W[l];if(s&&!s(e,n(a.field))&&a.message){let c=p(a.message,r);o.push(c)}}return o}function B(e,t){return e.validation?.required?p(e.validation?.required,t):void 0}function un(e,t){if(!t||!bo(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||yo(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 yo(e){return e==="https"?"443":"80"}function bo(e){return/^(https?:)?\/\//.test(e)}function dn(e,t){try{if(!e)return t;if(!t)return e;let n=new URL(e,le);new URL(t,le).searchParams.forEach((i,a)=>{n.searchParams.set(a,i)});let o=n.toString();return e.startsWith("/")||!e.includes("://")?o.replace(le,""):o}catch{return t||e}}function fn(e){return!Array.isArray(e)||e.length===0?null:e.reduce((t,n)=>{let r=dn(t.url,n.url),o=xo(t,n),i=ho(t,n);return{...t,...n,url:r,body:o,headers:i}})}function xo(e,t){return d(t.body)&&d(e?.body)?{...e.body,...t.body}:t.body??e?.body}function ho(e,t){return d(t.headers)&&d(e?.headers)?{...e.headers,...t.headers}:t.headers??e?.headers}function ye(e,t){return{...e,...t}}import{twMerge as To}from"tailwind-merge";import{jsx as Ro}from"react/jsx-runtime";function be(e){let t=e.errors&&e.errors.length>0;return Ro("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[dt]:"true"},...e.disabled&&{[ft]:"true"},"data-orientation":e.orientation,className:To("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&&"flex-row-reverse!","data-[clickable=true]:has-[>[data-slot=field-content]]:[&>:first-child]:mt-px",Jt(e.cols),e.className),children:e.children})}import{twMerge as So}from"tailwind-merge";import{jsx as Ao}from"react/jsx-runtime";function mn(e){return Ao(be,{...e,orientation:N,className:So("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}import{twMerge as Co}from"tailwind-merge";import{jsx as Eo}from"react/jsx-runtime";function pn(e){return Eo(be,{...e,orientation:U,className:Co("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 gn}from"react/jsx-runtime";function yn(e){let t=me(e.field),n=g(e.field);return e.orientation===N?gn(mn,{cols:e.cols,disabled:e.disabled,errors:e.errors,isCheckbox:n,isClickable:t,children:e.children}):gn(pn,{cols:e.cols,disabled:e.disabled,errors:e.errors,isCheckbox:n,isClickable:t,children:e.children})}var xe=De();function bn(e){if(y(e))return Fo(e)}function Fo(e){if(ue(e))return Qt();if(de(e)){let t=e.advanced?.length?.min??xe,n=e.advanced?.length?.max??xe+5;return en(Ve(t,xe),Ve(n,xe))}}function xn(e,t=!1){let n={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return Pe(e)?{...n,...No(e)}:y(e)?{...n,...ko(e)}:Oe(e)?{...n,...Io(e)}:n}function No(e){let t=At(e.type),n={...e,type:t};return{...hn(e),...vo(n),...wt(n)?Tn(n):{},type:t}}function ko(e){let t=bn(e);return t?{options:t}:{}}function Io(e){return{...hn(e),...Tn(e)}}function hn(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function vo(e){return fe(e)?wo(e):{}}function Tn(e){return Rn(e,{min:gt,max:yt})}function wo(e){return Rn(e,{min:ie,max:ae})}function Rn(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 Sn(e,t){let n=Zt(e.advanced?.aria);return t&&t.length>0&&(n[ut]="true",n[ct]=`${e.name}-error`),n}function An(e){return Wt(e.advanced?.data)}function Cn(e){if(!e.field.type)return null;let t=xn(e.field,e.disabled),n=An(e.field),r=Sn(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{jsx as Le,jsxs as Po}from"react/jsx-runtime";function En(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:r}=ye(e.style,{orientation:_t(e.field)}),o=Ut(e.field,e.disabled);return Po("div",{className:"flex flex-col gap-3",children:[Le(yn,{cols:t,disabled:o,errors:n,field:e.field,orientation:r,children:Le(Cn,{disabled:o,errors:n,field:e.field,orientation:r,children:e.children})}),Le(ze,{errors:n,name:e.field.name})]})}import{atom as w}from"jotai";import{atomFamily as Fn}from"jotai-family";import{deepEqual as Me}from"fast-equals";function Oo(e){return Fn(t=>w(n=>n(e)[t]??void 0,(n,r,o)=>{let i=n(e);if(o!=null){let a=i[t];(!a||!Me(a,o))&&r(e,{...i,[t]:o})}else if(i[t]){let{[t]:a,...l}=i;r(e,l)}}))}function Do(e){return w(null,(t,n)=>{let r=t(e);r&&Object.keys(r).length>0&&n(e,{})})}function Vo(e){return w(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 Lo(e){return w(null,(t,n,r)=>{let o=t(e);Me(o,r)||n(e,r)})}function Nn(e,t={}){let{merge:n,validateTarget:r}=t;return Fn(o=>w(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 b=u[o];(!b||!Me(b,s))&&(u[o]=s,a(e,{...c,[l]:u}))}else if(u[o])if(delete u[o],Object.keys(u).length===0){let{[l]:b,...F}=c;a(e,F)}else a(e,{...c,[l]:u})}))}function kn(e){return w(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 G(e={}){let t=w(e);return{atom:t,clearAll:Do(t),clear:Vo(t),bulkReport:Lo(t),report:Oo(t)}}var _e=G(),In=_e.clear,vn=_e.bulkReport,he=_e.report;import{useAtomValue as Mo}from"jotai";import{jsx as _o}from"react/jsx-runtime";function wn(e){return n=>{let r=Mo(he(n.field.name));return _o(e,{...n,errors:r?{[n.field.name]:r}:void 0})}}var Pn=G(),On=Pn.atom,Dn=Pn.report;import{useAtomValue as Uo}from"jotai";import{jsx as Bo}from"react/jsx-runtime";function Vn(e){return n=>{let r=Uo(Dn(n.field.name));if(r?.hidden??n.field.hidden??!1)return null;let i=r?.disabled??n.disabled;return Bo(e,{...n,disabled:i})}}var Ln=Vn(wn(En));import{jsx as Go}from"react/jsx-runtime";function Mn(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return Go("div",{"data-slot":"field-control",className:"w-full",children:t})}import{jsx as Yo}from"react/jsx-runtime";function z(e){return Yo("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 Xo}from"react/jsx-runtime";function j(e){return Et(e,(t,n,r)=>Xo("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${t}`))}import{Fragment as Ho,jsx as _n,jsxs as qo}from"react/jsx-runtime";function Un(e){return qo(Ho,{children:[e.title&&_n("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:j(e.title)}),e.description&&_n("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:j(e.description)})]})}import{jsx as Ue,jsxs as $o}from"react/jsx-runtime";function Bn(e){let t=e.section.fields||[],{compact:n}=ye(e.style,{compact:e.section.compact});return!e.section.title&&!e.section.description?Ue(z,{compact:n,children:e.children}):$o("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:[Ue(Un,{description:e.section.description,title:e.section.title}),Ue(z,{compact:n,children:e.children})]})}import{Fragment as Zo}from"react";import{jsx as Gn}from"react/jsx-runtime";function Yn(){return Gn("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:Gn("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}import{jsx as J,jsxs as Xn}from"react/jsx-runtime";function Hn(e){let t=ge(e.sections,e.definition);return J("div",{className:"h-full w-full",children:J("form",{noValidate:e.noValidate,action:e.action,children:Xn(z,{children:[t.map((n,r)=>Xn(Zo,{children:[J(Bn,{section:n,style:e.config.style,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.separator&&J(Yn,{})]},r)),e.control&&J(Mn,{isPending:e.isPending,children:e.control})]})})})}import{jsx as Wo}from"react/jsx-runtime";function qn(e){return Wo("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}import{jsx as Ko}from"react/jsx-runtime";function Te(e){let t=j(e.text);return t?Ko(qn,{children:t}):null}import{twMerge as zo}from"tailwind-merge";import{jsx as jo,jsxs as Jo}from"react/jsx-runtime";function $n(e){let t=E(e.field)||g(e.field);return Jo("label",{"data-slot":"field-label","data-normal":t,className:zo("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,!e.field.required&&jo("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:"(Optional)"})]})}import{jsx as Zn,jsxs as Qo}from"react/jsx-runtime";function Wn(e){let t=v(e.field.label)?R(e.field.label,{context:e.context,env:e.config?.env}):e.field.label,n=v(e.field.description)?R(e.field.description,{context:e.context,env:e.config?.env}):e.field.description;return Qo("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[Zn($n,{field:e.field,children:p(t,e.translations)}),e.orientation===U&&Zn(Te,{text:p(n,e.translations)})]})}import{Fragment as ei,jsx as Kn,jsxs as ti}from"react/jsx-runtime";function zn(e){return ti(ei,{children:[e.field.name&&e.field.label&&Kn(Wn,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations}),e.children,e.orientation===N&&e.field.description&&Kn(Te,{text:p(e.field.description,e.translations)})]})}function Re(e,t){return e?t(e):null}import{useCallback as Ce,useRef as Be,useTransition as bi}from"react";import{atom as ni}from"jotai";var ri=e=>{let t=fn(e);if(t)return t},oi=e=>e.trim()!=="",jn=ni({}),Jn=Nn(jn,{merge:ri,validateTarget:oi}),Qn=kn(jn);import{useAtom as li}from"jotai";import ii from"swr";function er(e=null,t,n=!1){let{data:r,error:o}=ii(ai(e,t,n),t.fetcher.provider);if(o&&Z.error("Error fetching data source:",o),e){if(Array.isArray(e))return e;if(r)return Rt(r,e.namespace)}return null}function ai(e=null,t,n=!1){if(e&&!Array.isArray(e)&&!n&&e.url&&!v(e.url)){if(un(e.url,t.fetcher.remotePatterns))return e;Z.warn(`URL blocked by remotePatterns: ${e.url}. Check your luna.config.ts`)}return null}function tr(e,t,n){let r=Gt(e,n),[o,i]=li(Jn(e.name));return[er(o??r,t,e.disabled),i]}import{useEffect as si,useEffectEvent as nr,useMemo as ci}from"react";function rr(e,t,n,r){let{name:o}=e,i=ci(()=>on(e,r),[e,r]),a=nr(s=>{s&&t(s,i,e)}),l=nr(s=>{s&&n(s)});return si(()=>(a(o),()=>{l(o)}),[o]),i}import{useSetAtom as Ge,useStore as xi}from"jotai";import{useCallback as ui,useEffect as di,useRef as fi}from"react";function or(){let e=fi(null);di(()=>()=>{e.current&&clearTimeout(e.current)},[]);function t(){e.current&&(clearTimeout(e.current),e.current=null)}return ui((r,o)=>{t(),e.current=setTimeout(r,o)},[])}var Se=G(),ir=Se.atom,ar=Se.clearAll,lr=Se.clear,Ae=Se.report;import{useAtom as mi}from"jotai";import{useCallback as pi,useEffect as gi,useRef as yi}from"react";function sr(e,t){let{name:n}=e,r=yi(!1),[o,i]=mi(Ae(n));gi(()=>{if(!t||!(n in t))return;let l=t[n];K(l)&&(r.current=!0,i(l))},[n,t,i]);let a=pi(()=>r.current?(r.current=!1,!0):!1,[]);return{setValue:i,shouldSkipOnChange:a,value:o}}import{jsx as cr}from"react/jsx-runtime";function ur(e){let t=e.field.advanced?.entity,n=xi(),r=or(),[,o]=bi(),{setValue:i,shouldSkipOnChange:a,value:l}=sr(e.field,e.value),s=Be(l);s.current=l;let c=Be(e.translations);c.current=e.translations;let u=Lt(e.field),b=me(e.field),F=Ge(ir),Y=Ge(On),ee=Ge(he(e.field.name)),[X,P]=tr(e.field,e.config,l),A=rr(e.field,e.onMount,e.onUnmount,e.translations),H=p(e.commonProps.placeholder,e.translations),x={...e.commonProps,placeholder:H},{commonPropsWithOptions:Ar,defaultValue:Cr}=Yt(e.field,x,X,l),Ze=Be(null);Ze.current=m=>{i(m),e.onValueChange&&e.onValueChange({name:e.field.name,value:m})};let Er=Xt(e.field,Cr),te=Ce(m=>{let O=A.safeParse(m).error?.issues.map(q=>q.message)??[],D=e.field.validation?.custom,Ee=D?cn(m,D,q=>n.get(Ae(q)),c.current):[];ee([...O,...Ee])},[e.field.validation?.custom,A,ee,n]),We=Ce((m,h)=>{if(u){r(()=>{h({value:m})},500);return}let O=Tt(m,X,t);h(O)},[X,t,u,r]),Fr=Ce(m=>{let h=m.target.value;if(a()&&(!u||h===s.current))return;Ze.current?.(h),e.config.validation.change&&te(h);let O=e.field.event?.change;O&&We(h,D=>{Ft(O,({sources:Ee,states:q,values:kr})=>{o(()=>{Nt(D,Ee,(V,L)=>P(V,L)),It(D,q,(V,L)=>{Y(ne=>{if(L)return{...ne,[V]:L};let{[V]:Pi,...Ir}=ne;return Ir})}),vt(D,kr,(V,L)=>{F(ne=>({...ne,[V]:L}))})})})})},[We,u,e.config.validation.change,e.field.event?.change,Y,P,F,a,te]),Nr=Ce(m=>{if(!b){let h=m.target.value;e.config.validation.blur&&te(h)}},[b,e.config.validation.blur,te]);return Re(e.config.inputs[e.field.type],m=>cr(zn,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations,children:cr(m,{...Ar,...e.ariaAttributes,...e.dataAttributes,...Er,onBlur:Nr,onChange:Fr})}))}import{twMerge as hi}from"tailwind-merge";import{jsx as dr}from"react/jsx-runtime";function fr(e){let t=jt(e.column?.advanced?.cols);return dr("div",{className:"flex w-full flex-col gap-4",children:dr("div",{className:hi("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children})})}import{Fragment as Ti}from"react";import{jsx as Ye,jsxs as Ri}from"react/jsx-runtime";function Xe(e){let{column:t,field:n}=e.components;return ge(e.fields).map((r,o)=>Ri(Ti,{children:[Ot(r)&&Ye(t,{column:r,children:Ye(Xe,{...e,fields:r.fields})}),Dt(r)&&Ye(n,{disabled:e.disabled,field:r,style:e.style,children:e.children})]},o))}import{jsx as Si}from"react/jsx-runtime";function mr(e){return n=>Si(Xe,{...n,components:{column:fr,field:e}})}import{useSetAtom as pr}from"jotai";import{startTransition as gr,useActionState as Ai}from"react";function br(e,t,n){let{onSuccess:r,preserveValues:o=!1,validation:i=!0}=n??{},a=pr(vn),l=pr(ar),s={data:null,error:null,success:!1},[c,u,b]=Ai(async(F,Y)=>{let[ee,X]=e(),P=nn(ee,X,n?.translations);if(i===!1)return t?await t(Y,P):F;let A=Ct(Y),H=P.safeParse(A);if(!H.success){let x=rn(H.error);return gr(()=>{a(x)}),He(A,{description:"Please correct the errors and try again.",details:[],title:"There were validation errors submitting the form."})}if(t)try{let x=await t(A,P);return x.success?(r?.(x.data),o||gr(()=>{l()}),yr(A,o)):He(A,x.error)}catch(x){return Z.error("Error executing form action:",x),He(A,{title:"An unexpected error occurred submitting the form.",details:Ci(x)})}return yr(H.data,o)},s);return[u,c,b]}function Ci(e){let t=e instanceof Error?e.message:["Unknown error"];return Array.isArray(t)?t:[t]}function yr(e,t=!1){return{data:t?e:null,error:null,success:!0}}function He(e,t){return{data:e,error:t,success:!1}}import{startTransition as Fi,useCallback as hr,useRef as $e}from"react";import{useCallback as Ei}from"react";import{useSetAtom as qe}from"jotai";function xr(){let e=qe(In),t=qe(Qn),n=qe(lr);return Ei(r=>{let o=Array.isArray(r)?r:[r];e(o),t(o),n(o)},[e,t,n])}function Tr(){let e=xr(),t=$e({}),n=$e([]),r=$e(new Set),o=hr((l,s,c)=>{l in t.current||(t.current[l]=s,n.current.push(c))},[]),i=hr(l=>{t.current[l]&&(delete t.current[l],n.current=n.current.filter(s=>s.name!==l),r.current.add(l),Fi(()=>{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 ki,jsx as Q,jsxs as Ii}from"react/jsx-runtime";var Ni=mr(Ln);function Rr(e){let t=e.translations?.[e.lang??""],[n,r,o]=Tr(),[i,a,l]=br(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 Ii(ki,{children:[s&&Re(e.config.alert,u=>Q("div",{className:"mb-4 w-full",children:Q(u,{description:a.error?.description,details:a.error?.details,title:a.error.title})})),Q(Hn,{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:b})=>Q(Ni,{disabled:u,fields:b,style:e.config.style,children:F=>Q(ur,{...F,config:e.config,context:e.context,onMount:r,onUnmount:o,onValueChange:e.onValueChange,translations:t,value:c})})})]})}import{Provider as vi}from"jotai";import{jsx as Sr}from"react/jsx-runtime";function wi(e){return Sr(vi,{children:Sr(Rr,{...e})})}export{wi as Form};
1
+ import{jsx as Ke}from"react/jsx-runtime";function ze(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 re="input",je="input/email",Je="input/number";var Qe="textarea",et="radio",tt="checkbox",nt="select",rt="select/month",ot="select/year";var Fe="column";var it="label",M="value",oe="options",Ne="email",at="number",lt="password",st="tel",$="text",ct="aria-errormessage",ut="aria-invalid",dt="data-invalid",ft="data-readonly",mt="aria",pt="data",ie="min",ae="max",gt="minLength",yt="maxLength",_="$ref";var bt="source",xt="state",le="http://luna.internal",N="vertical",U="horizontal";function d(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function se(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 ht(e){return d(e)&&"url"in e}var kr=/[^/]+$/;function Tt(e,t=[],n=M){if(Array.isArray(t))return t.find(r=>{let o=ke(r,n);if(o!==void 0&&`${o}`===e)return r})??{value:e}}function ke(e,t=M){if(e!=null){if(k(e))return e;if(d(e)){let n=vr(e,t);if(k(n))return n}}}function vr(e,t){let n=h(e,t);if(k(n))return n}function Rt(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 St(e,t={label:it,value:M}){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 At(e=$){if(e){let t=e.match(kr);if(t){let[n]=t;if(n!==re)return n.trim().toLowerCase()}}return $}function Ct(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 Ir=/\[([^\]]+)\]\(([^)]+)\)/g;function T(e,t={}){if(A(e))return wr(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 I(e){return A(e)?/{([^}]+)}/.test(e):Array.isArray(e)?e.some(t=>I(t)):d(e)?Object.values(e).some(t=>I(t)):!1}function wr(e,t={}){return e.replace(/{([^}]+)}/g,(n,r)=>{let o=r.includes(".")?h(t,r):t[r];return k(o)?String(o):n})}function Et(e,t){if(!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=Ir.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 Z={error:(...e)=>{ve()&&!Ie()&&ce().error("[Luna Form]",...e)},warn:(...e)=>{ve()&&!Ie()&&ce().warn("[Luna Form]",...e)},info:(...e)=>{ve()&&!Ie()&&ce().info("[Luna Form]",...e)}},ve=()=>typeof ce()<"u",Ie=()=>!0,ce=()=>globalThis.console;function Ft(e=[],t){let n=[],r=[],o=[];e.forEach(i=>{i.action===M&&n.push(i),i.action===bt&&r.push(i),i.action===xt&&o.push(i)}),t({sources:r,states:o,values:n})}function Nt(e=null,t=[],n){t.forEach(r=>{let{target:o,source:i}=r;if(!e){n(o,void 0);return}if(ht(i)){let a=T(i.url,e),l=i.body?T(i.body,e):i.body;n(o,{...i,url:a,body:l})}})}var W={eq:Lr,gt:Br,gte:Gr,in:_r,lt:Yr,lte:Xr,neq:Mr,nin:Ur},Pr=/^\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 Or(e){return typeof e=="string"&&Pr.test(e)}function Vr(e){return typeof e=="string"&&kt.test(e)}function Dr(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 v(e){return Or(e)?new Date(e).getTime():Vr(e)?Dr(e):Number(e)}function Lr(e,t){return e===t}function Mr(e,t){return e!==t}function _r(e,t){return Array.isArray(t)&&t.includes(String(e))}function Ur(e,t){return Array.isArray(t)&&!t.includes(String(e))}function Br(e,t){return v(e)>v(t)}function Gr(e,t){return v(e)>=v(t)}function Yr(e,t){return v(e)<v(t)}function Xr(e,t){return v(e)<=v(t)}function vt(e=null,t=[],n){t.forEach(r=>{let{target:o,state:i,when:a}=r;if(!e){n(o);return}let l=Hr(e,a);n(o,l?i:void 0)})}function Hr(e,t){if(t===void 0)return!0;if(A(t))return we(e,"value")===t;if(Array.isArray(t)){let n=we(e,"value");return t.includes(String(n))}return qr(e,t)}function qr(e=null,t){let n=we(e,t.field??"value"),{operator:r="eq",value:o}=t,i=W[r];return i?i(n,o):!1}function we(e,t){return d(e)?t.includes(".")?h(e,t):e[t]:e}function It(e=null,t=[],n){t.forEach(r=>{Object.entries(r.value).forEach(([o,i])=>{n(o,e?T(i,e):void 0)})})}var ue=e=>R(rt)(e),de=e=>R(ot)(e),g=R(tt),Pe=R(re),C=R(et),E=R(nt),Oe=R(Qe),wt=R($,Ne,lt,st),Pt=R(je,Ne),fe=R(Je,at);function me(e){return C(e)||g(e)}function Ot(e){return e.type===Fe}function Vt(e){return e.type!==Fe}function Dt(e){return E(e)||C(e)}function Lt(e){return Pe(e)||Oe(e)}function K(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 Mt(e,t={}){if(E(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&d(n))return[n]}}function _t(e){return C(e)||g(e)?U:e.advanced?.orientation??N}function Ut(e){return g(e)?e.advanced?.reverse!==!1:!1}function Bt(e,t){let n=e.readonly??!1;return t||n}function Gt(e){if(C(e)||E(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||d(t)&&!(_ in t))return t}}var $r=/^\d+$/;function Yt(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function Xt(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 Ve(){return new Date().getFullYear()}function De(e,t){if(typeof e=="number")return e;let n=t??Ve(),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 $r.test(r)?parseInt(r,10):n}var pe=Ve();function Zr(e){if(E(e))return Wr(e)}function Wr(e){if(ue(e))return Yt();if(de(e)){let t=e.advanced?.length?.min??pe,n=e.advanced?.length?.max??pe+5;return Xt(De(t,pe),De(n,pe))}}function Ht(e,t=!1){let n={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return Pe(e)?{...n,...Kr(e)}:E(e)?{...n,...zr(e)}:Oe(e)?{...n,...jr(e)}:n}function Kr(e){let t=At(e.type),n={...e,type:t};return{...qt(e),...Jr(n),...wt(n)?$t(n):{},type:t}}function zr(e){let t=Zr(e);return t?{options:t}:{}}function jr(e){return{...qt(e),...$t(e)}}function qt(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function Jr(e){return fe(e)?Qr(e):{}}function $t(e){return Zt(e,{min:gt,max:yt})}function Qr(e){return Zt(e,{min:ie,max:ae})}function Zt(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 Wt(e,t){let n=Gt(e);return n||Mt(e,t)}function eo(e,t){let n=d(t)&&e.name in t?t[e.name]:t;return ke(n,e.advanced?.entity)}function to(e,t,n){return Dt(e)&&Array.isArray(n)?{...t,[oe]:n}:t}function no(e,t,n){if(e.required&&!K(n)&&E(e)&&e.advanced?.preselected!==!1&&oe in t){let r=t[oe];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function ro(e,t){return E(e)&&Array.isArray(t)?St(t,e.advanced?.options):t}function Kt(e,t,n,r){let o=eo(e,r),i=Array.isArray(n)?ro(e,n):n,a=to(e,t,i),l=no(e,a,o);return{commonPropsWithOptions:a,defaultValue:l}}function zt(e,t){return g(e)?{checked:K(t)?t:!1}:{value:t??""}}var oo=/^#\/definition\//;function ye(e=[],t){let n=ge(e,t);return Array.isArray(n)?n.sort((r,o)=>jt(r)-jt(o)):[]}function ge(e,t,n=new Map,r=new WeakSet){if(!io(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(_ in e&&A(e[_])){let i=e[_].replace(oo,""),a=h(t,i);return a!==null?ge(a,t,n,r):e}let o={};for(let[i,a]of Object.entries(e))o[i]=ge(a,t,n,r);return r.delete(e),n.set(e,o),o}function Jt(e){return Object.entries(e??{})}function jt(e){return e.order??Number.MAX_VALUE}function io(e){return e!==void 0&&d(e)&&Object.keys(e).length>0}function Qt(e,t){let n={};for(let[r,o]of Jt(t))n[`${e}-${r}`]=o;return n}function ao(e){return Qt(mt,e)}function lo(e){return Qt(pt,e)}function en(e,t){let n=ao(e.advanced?.aria);return t&&t.length>0&&(n[ut]="true",n[ct]=`${e.name}-error`),n}function tn(e){return lo(e.advanced?.data)}var nn={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},rn={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function on(e,t=2){return nn[e&&e in nn?e:t]}function an(e){if(e&&e in rn)return rn[e]}import{z as f}from"zod";function m(e,t){return e?t?t[e]??e:e:""}var so=[[fe,po],[Pt,co],[de,go],[ue,yo],[g,uo],[C,fo]];function sn(e,t=[],n){let r=f.object(e);return t.length===0?r:To(r,t,n)}function cn(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 un(e,t){for(let[n,r]of so)if(n(e))return r(e,t);return mo(e,t)}function co(e,t){let n=f.string().trim();if(e.required){let r=B(e,t),o=n.min(1,r).pipe(ln(e,t));return f.preprocess(i=>se(i)?"":i,o)}return n.pipe(ln(e,t)).or(f.literal("")).nullable()}function uo(e,t){let n=f.coerce.boolean();return e.required?(n=n.refine(r=>r===!0,{message:B(e,t)}),f.preprocess(r=>r===null?!1:r,n)):n.nullable()}function fo(e,t){let n=f.coerce.string();return e.required?(n=n.min(1,B(e,t)),f.preprocess(r=>se(r)?"":r,n)):n.or(f.literal("")).nullable()}function mo(e,t){let n=f.coerce.string().trim();return n=dn(n,e,t),e.required?(n=fn(n,e,t),f.preprocess(r=>se(r)?"":r,n)):n.nullable()}function po(e,t){let n=f.coerce.number().int();return n=dn(n,e,t),e.required?(n=fn(n,e,t),f.preprocess(r=>r===null?void 0:r,n)):n.nullable()}function go(e,t){return e.required?f.preprocess(bo,f.coerce.number({message:B(e,t)}).int()):f.coerce.number().int().nullable()}function yo(e,t){let n=B(e,t),r=f.coerce.number().int().min(1,n).max(12,n);return e.required?r:r.nullable()}function bo(e){return e===null||e===""?void 0:e}function ln(e,t){let n=e.validation?.email?m(e.validation?.email,t):void 0;return f.email(n)}function dn(e,t,n){return e=xo(e,t,n),e=ho(e,t,n),e}function fn(e,t,n){let r=t.advanced?.length?.min;return r===void 0||r<1?e.min(1,B(t,n)):e}var xo=(e,t,n)=>mn(e,t,ie,n),ho=(e,t,n)=>mn(e,t,ae,n);function mn(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 To(e,t=[],n){let r=So(t);return r.length===0?e:e.superRefine((o,i)=>{for(let{name:a,rule:l}of r)if(!Ro(o,a,l)){let s=m(l.message,n);i.addIssue({code:"custom",message:s,path:[a]})}})}function Ro(e,t,n){let r=n.operator??"eq",o=W[r];return o?o(e[t],e[n.field]):!1}function So(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=W[l];if(s&&!s(e,n(a.field))&&a.message){let c=m(a.message,r);o.push(c)}}return o}function B(e,t){return e.validation?.required?m(e.validation?.required,t):void 0}function gn(e,t){if(!t||!Co(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||Ao(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 Ao(e){return e==="https"?"443":"80"}function Co(e){return/^(https?:)?\/\//.test(e)}function yn(e,t){try{if(!e)return t;if(!t)return e;let n=new URL(e,le);new URL(t,le).searchParams.forEach((i,a)=>{n.searchParams.set(a,i)});let o=n.toString();return e.startsWith("/")||!e.includes("://")?o.replace(le,""):o}catch{return t||e}}function bn(e){return!Array.isArray(e)||e.length===0?null:e.reduce((t,n)=>{let r=yn(t.url,n.url),o=Eo(t,n),i=Fo(t,n);return{...t,...n,url:r,body:o,headers:i}})}function Eo(e,t){return d(t.body)&&d(e?.body)?{...e.body,...t.body}:t.body??e?.body}function Fo(e,t){return d(t.headers)&&d(e?.headers)?{...e.headers,...t.headers}:t.headers??e?.headers}function be(e,t){return{...e,...t}}import{twMerge as No}from"tailwind-merge";import{jsx as ko}from"react/jsx-runtime";function xe(e){let t=e.errors&&e.errors.length>0;return ko("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[dt]:"true"},...e.disabled&&{[ft]:"true"},"data-orientation":e.orientation,className:No("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 vo}from"tailwind-merge";import{jsx as Io}from"react/jsx-runtime";function xn(e){return Io(xe,{...e,orientation:N,className:vo("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}import{twMerge as wo}from"tailwind-merge";import{jsx as Po}from"react/jsx-runtime";function hn(e){return Po(xe,{...e,orientation:U,className:wo("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 Tn}from"react/jsx-runtime";function Rn(e){let t=me(e.field),n=g(e.field),r=Ut(e.field);return e.orientation===N?Tn(xn,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children}):Tn(hn,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children})}function Sn(e){if(!e.field.type)return null;let t=Ht(e.field,e.disabled),n=tn(e.field),r=en(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 Oo}from"tailwind-merge";import{jsx as Le,jsxs as Vo}from"react/jsx-runtime";function An(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:r}=be(e.style,{orientation:_t(e.field)}),o=Bt(e.field,e.disabled);return Vo("div",{className:Oo("flex flex-col gap-3",an(t)),children:[Le(Rn,{disabled:o,errors:n,field:e.field,orientation:r,children:Le(Sn,{disabled:o,errors:n,field:e.field,orientation:r,children:e.children})}),Le(ze,{errors:n,name:e.field.name})]})}import{atom as w}from"jotai";import{atomFamily as Cn}from"jotai-family";import{deepEqual as Me}from"fast-equals";function Do(e){return Cn(t=>w(n=>n(e)[t]??void 0,(n,r,o)=>{let i=n(e);if(o!=null){let a=i[t];(!a||!Me(a,o))&&r(e,{...i,[t]:o})}else if(i[t]){let{[t]:a,...l}=i;r(e,l)}}))}function Lo(e){return w(null,(t,n)=>{let r=t(e);r&&Object.keys(r).length>0&&n(e,{})})}function Mo(e){return w(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 _o(e){return w(null,(t,n,r)=>{let o=t(e);Me(o,r)||n(e,r)})}function En(e,t={}){let{merge:n,validateTarget:r}=t;return Cn(o=>w(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||!Me(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,...F}=c;a(e,F)}else a(e,{...c,[l]:u})}))}function Fn(e){return w(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 G(e={}){let t=w(e);return{atom:t,clearAll:Lo(t),clear:Mo(t),bulkReport:_o(t),report:Do(t)}}var _e=G(),Nn=_e.clear,kn=_e.bulkReport,he=_e.report;import{useAtomValue as Uo}from"jotai";import{jsx as Bo}from"react/jsx-runtime";function vn(e){return n=>{let r=Uo(he(n.field.name));return Bo(e,{...n,errors:r?{[n.field.name]:r}:void 0})}}var In=G(),wn=In.atom,Pn=In.report;import{useAtomValue as Go}from"jotai";import{jsx as Yo}from"react/jsx-runtime";function On(e){return n=>{let r=Go(Pn(n.field.name));if(r?.hidden??n.field.hidden??!1)return null;let i=r?.disabled??n.disabled;return Yo(e,{...n,disabled:i})}}var Vn=On(vn(An));import{jsx as Xo}from"react/jsx-runtime";function Dn(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return Xo("div",{"data-slot":"field-control",className:"w-full",children:t})}import{jsx as Ho}from"react/jsx-runtime";function z(e){return Ho("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 qo}from"react/jsx-runtime";function j(e){return Et(e,(t,n,r)=>qo("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${t}`))}import{Fragment as $o,jsx as Ln,jsxs as Zo}from"react/jsx-runtime";function Mn(e){return Zo($o,{children:[e.title&&Ln("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:j(e.title)}),e.description&&Ln("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:j(e.description)})]})}import{jsx as Ue,jsxs as Wo}from"react/jsx-runtime";function _n(e){let t=e.section.fields||[],{compact:n}=be(e.style,{compact:e.section.compact});return!e.section.title&&!e.section.description?Ue(z,{compact:n,children:e.children}):Wo("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:[Ue(Mn,{description:e.section.description,title:e.section.title}),Ue(z,{compact:n,children:e.children})]})}import{Fragment as Ko}from"react";import{jsx as Un}from"react/jsx-runtime";function Bn(){return Un("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:Un("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}import{jsx as J,jsxs as Gn}from"react/jsx-runtime";function Yn(e){let t=ye(e.sections,e.definition);return J("div",{className:"h-full w-full",children:J("form",{noValidate:e.noValidate,action:e.action,children:Gn(z,{children:[t.map((n,r)=>Gn(Ko,{children:[J(_n,{section:n,style:e.config.style,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.separator&&J(Bn,{})]},r)),e.control&&J(Dn,{isPending:e.isPending,children:e.control})]})})})}import{jsx as zo}from"react/jsx-runtime";function Xn(e){return zo("p",{className:"-mt-2 text-xs leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}import{jsx as jo}from"react/jsx-runtime";function Te(e){let t=j(e.text);return t?jo(Xn,{children:t}):null}import{twMerge as Jo}from"tailwind-merge";import{jsx as Qo,jsxs as ei}from"react/jsx-runtime";function Hn(e){let t=e.style?.showOptionalLabel??!0,n=C(e.field)||g(e.field);return ei("label",{"data-slot":"field-label","data-normal":n,className:Jo("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&&Qo("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:m("(Optional)",e.translations)})]})}import{jsx as qn,jsxs as ti}from"react/jsx-runtime";function $n(e){let t=I(e.field.label)?T(e.field.label,{context:e.context,env:e.config?.env}):e.field.label,n=I(e.field.description)?T(e.field.description,{context:e.context,env:e.config?.env}):e.field.description;return ti("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[qn(Hn,{field:e.field,style:e.config?.style,translations:e.translations,children:m(t,e.translations)}),e.orientation===U&&qn(Te,{text:m(n,e.translations)})]})}import{Fragment as ni,jsx as Zn,jsxs as ri}from"react/jsx-runtime";function Wn(e){return ri(ni,{children:[e.field.name&&e.field.label&&Zn($n,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations}),e.children,e.orientation===N&&e.field.description&&Zn(Te,{text:m(e.field.description,e.translations)})]})}function Re(e,t){return e?t(e):null}import{useCallback as Ce,useRef as Be,useTransition as hi}from"react";import{atom as oi}from"jotai";var ii=e=>{let t=bn(e);if(t)return t},ai=e=>e.trim()!=="",Kn=oi({}),zn=En(Kn,{merge:ii,validateTarget:ai}),jn=Fn(Kn);import{useAtom as ci}from"jotai";import li from"swr";function Jn(e=null,t,n=!1){let{data:r,error:o}=li(si(e,t,n),t.fetcher.provider);if(o&&Z.error("Error fetching data source:",o),e){if(Array.isArray(e))return e;if(r)return Rt(r,e.namespace)}return null}function si(e=null,t,n=!1){if(e&&!Array.isArray(e)&&!n&&e.url&&!I(e.url)){if(gn(e.url,t.fetcher.remotePatterns))return e;Z.warn(`URL blocked by remotePatterns: ${e.url}. Check your luna.config.ts`)}return null}function Qn(e,t,n){let r=Wt(e,n),[o,i]=ci(zn(e.name));return[Jn(o??r,t,e.disabled),i]}import{useEffect as ui,useEffectEvent as er,useMemo as di}from"react";function tr(e,t,n,r){let{name:o}=e,i=di(()=>un(e,r),[e,r]),a=er(s=>{s&&t(s,i,e)}),l=er(s=>{s&&n(s)});return ui(()=>(a(o),()=>{l(o)}),[o]),i}import{useSetAtom as Ge,useStore as Ti}from"jotai";import{useCallback as fi,useEffect as mi,useRef as pi}from"react";function nr(){let e=pi(null);mi(()=>()=>{e.current&&clearTimeout(e.current)},[]);function t(){e.current&&(clearTimeout(e.current),e.current=null)}return fi((r,o)=>{t(),e.current=setTimeout(r,o)},[])}var Se=G(),rr=Se.atom,or=Se.clearAll,ir=Se.clear,Ae=Se.report;import{useAtom as gi}from"jotai";import{useCallback as yi,useEffect as bi,useRef as xi}from"react";function ar(e,t){let{name:n}=e,r=xi(!1),[o,i]=gi(Ae(n));bi(()=>{if(!t||!(n in t))return;let l=t[n];K(l)&&(r.current=!0,i(l))},[n,t,i]);let a=yi(()=>r.current?(r.current=!1,!0):!1,[]);return{setValue:i,shouldSkipOnChange:a,value:o}}import{jsx as lr}from"react/jsx-runtime";function sr(e){let t=e.field.advanced?.entity,n=Ti(),r=nr(),[,o]=hi(),{setValue:i,shouldSkipOnChange:a,value:l}=ar(e.field,e.value),s=Be(l);s.current=l;let c=Be(e.translations);c.current=e.translations;let u=Lt(e.field),y=me(e.field),F=Ge(rr),Y=Ge(wn),ee=Ge(he(e.field.name)),[X,P]=Qn(e.field,e.config,l),S=tr(e.field,e.onMount,e.onUnmount,e.translations),H=m(e.commonProps.placeholder,e.translations),b={...e.commonProps,placeholder:H},{commonPropsWithOptions:Rr,defaultValue:Sr}=Kt(e.field,b,X,l),Ze=Be(null);Ze.current=p=>{i(p),e.onValueChange&&e.onValueChange({name:e.field.name,value:p})};let Ar=zt(e.field,Sr),te=Ce(p=>{let O=S.safeParse(p).error?.issues.map(q=>q.message)??[],V=e.field.validation?.custom,Ee=V?pn(p,V,q=>n.get(Ae(q)),c.current):[];ee([...O,...Ee])},[e.field.validation?.custom,S,ee,n]),We=Ce((p,x)=>{if(u){r(()=>{x({value:p})},500);return}let O=Tt(p,X,t);x(O)},[X,t,u,r]),Cr=Ce(p=>{let x=p.target.value;if(a()&&(!u||x===s.current))return;Ze.current?.(x),e.config.validation.change&&te(x);let O=e.field.event?.change;O&&We(x,V=>{Ft(O,({sources:Ee,states:q,values:Fr})=>{o(()=>{Nt(V,Ee,(D,L)=>P(D,L)),vt(V,q,(D,L)=>{Y(ne=>{if(L)return{...ne,[D]:L};let{[D]:Vi,...Nr}=ne;return Nr})}),It(V,Fr,(D,L)=>{F(ne=>({...ne,[D]:L}))})})})})},[We,u,e.config.validation.change,e.field.event?.change,Y,P,F,a,te]),Er=Ce(p=>{if(!y){let x=p.target.value;e.config.validation.blur&&te(x)}},[y,e.config.validation.blur,te]);return Re(e.config.inputs[e.field.type],p=>lr(Wn,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations,children:lr(p,{...Rr,...e.ariaAttributes,...e.dataAttributes,...Ar,onBlur:Er,onChange:Cr})}))}import{twMerge as Ri}from"tailwind-merge";import{jsx as cr}from"react/jsx-runtime";function ur(e){let t=on(e.column?.advanced?.cols);return cr("div",{className:"flex w-full flex-col gap-4",children:cr("div",{className:Ri("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children})})}import{Fragment as Si}from"react";import{jsx as Ye,jsxs as Ai}from"react/jsx-runtime";function Xe(e){let{column:t,field:n}=e.components;return ye(e.fields).map((r,o)=>Ai(Si,{children:[Ot(r)&&Ye(t,{column:r,children:Ye(Xe,{...e,fields:r.fields})}),Vt(r)&&Ye(n,{disabled:e.disabled,field:r,style:e.style,children:e.children})]},o))}import{jsx as Ci}from"react/jsx-runtime";function dr(e){return n=>Ci(Xe,{...n,components:{column:ur,field:e}})}import{useSetAtom as fr}from"jotai";import{startTransition as mr,useActionState as Ei}from"react";function gr(e,t,n){let{onSuccess:r,preserveValues:o=!1,validation:i=!0}=n??{},a=fr(kn),l=fr(or),s={data:null,error:null,success:!1},[c,u,y]=Ei(async(F,Y)=>{let[ee,X]=e(),P=sn(ee,X,n?.translations);if(i===!1)return t?await t(Y,P):F;let S=Ct(Y),H=P.safeParse(S);if(!H.success){let b=cn(H.error);return mr(()=>{a(b)}),He(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,P);return b.success?(r?.(b.data),o||mr(()=>{l()}),pr(S,o)):He(S,b.error)}catch(b){return Z.error("Error executing form action:",b),He(S,{title:"An unexpected error occurred submitting the form.",details:Fi(b)})}return pr(H.data,o)},s);return[u,c,y]}function Fi(e){let t=e instanceof Error?e.message:["Unknown error"];return Array.isArray(t)?t:[t]}function pr(e,t=!1){return{data:t?e:null,error:null,success:!0}}function He(e,t){return{data:e,error:t,success:!1}}import{startTransition as ki,useCallback as br,useRef as $e}from"react";import{useCallback as Ni}from"react";import{useSetAtom as qe}from"jotai";function yr(){let e=qe(Nn),t=qe(jn),n=qe(ir);return Ni(r=>{let o=Array.isArray(r)?r:[r];e(o),t(o),n(o)},[e,t,n])}function xr(){let e=yr(),t=$e({}),n=$e([]),r=$e(new Set),o=br((l,s,c)=>{l in t.current||(t.current[l]=s,n.current.push(c))},[]),i=br(l=>{t.current[l]&&(delete t.current[l],n.current=n.current.filter(s=>s.name!==l),r.current.add(l),ki(()=>{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 Ii,jsx as Q,jsxs as wi}from"react/jsx-runtime";var vi=dr(Vn);function hr(e){let t=e.translations?.[e.lang??""],[n,r,o]=xr(),[i,a,l]=gr(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 wi(Ii,{children:[s&&Re(e.config.alert,u=>Q("div",{className:"mb-4 w-full",children:Q(u,{description:a.error?.description,details:a.error?.details,title:a.error.title})})),Q(Yn,{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})=>Q(vi,{disabled:u,fields:y,style:e.config.style,children:F=>Q(sr,{...F,config:e.config,context:e.context,onMount:r,onUnmount:o,onValueChange:e.onValueChange,translations:t,value:c})})})]})}import{Provider as Pi}from"jotai";import{jsx as Tr}from"react/jsx-runtime";function Oi(e){return Tr(Pi,{children:Tr(hr,{...e})})}export{Oi as Form};
@@ -1 +1 @@
1
- "use strict";var f=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var O=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 N(n))!O.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 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 +1 @@
1
- var L="input",C="input/email",N="input/number",O="input/password",P="input/tel",_="input/text",g=[L,C,N,O,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 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 +1 @@
1
- "use strict";var $=Object.defineProperty;var Je=Object.getOwnPropertyDescriptor;var Qe=Object.getOwnPropertyNames;var je=Object.prototype.hasOwnProperty;var tn=(t,e)=>{for(var n in e)$(t,n,{get:e[n],enumerable:!0})},en=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Qe(e))!je.call(t,o)&&o!==n&&$(t,o,{get:()=>e[o],enumerable:!(r=Je(e,o))||r.enumerable});return t};var nn=t=>en($({},"__esModule",{value:!0}),t);var An={};tn(An,{Fallback:()=>qe,Form:()=>B});module.exports=nn(An);var it=require("react/jsx-runtime");function ot(t){let e=typeof t.children=="function"?t.children({isPending:t.isPending}):t.children;return(0,it.jsx)("div",{"data-slot":"field-control",className:"w-full",children:e})}var lt=require("react/jsx-runtime");function N(t){return(0,lt.jsx)("div",{"data-slot":"field-group","data-compact":t.compact,className:"flex w-full flex-col gap-8 data-[compact=true]:gap-3",children:t.children})}var L="input",at="input/email",ct="input/number";var st="textarea",dt="radio",ut="checkbox",ft="select",mt="select/month",pt="select/year";var H="column";var gt="label",K="value",D="options",W="email",xt="number",bt="password",yt="tel",S="text",Rt="aria-errormessage",Tt="aria-invalid",At="data-invalid",Ct="data-readonly",ht="aria",Ft="data",Nt="min",St="max",Et="minLength",It="maxLength",T="$ref";var f="vertical",A="horizontal";function l(t){return t!==null&&Object.prototype.toString.call(t)==="[object Object]"}function m(t){return typeof t=="string"||typeof t=="number"||typeof t=="boolean"}function g(t){return typeof t=="string"}var rn=/[^/]+$/;function kt(t,e=K){if(t!=null){if(m(t))return t;if(l(t)){let n=on(t,e);if(m(n))return n}}}function on(t,e){let n=x(t,e);if(m(n))return n}function x(t,e){if(!e||!l(t))return null;let n=e.split(".").filter(o=>o!=="");if(n.length===0)return null;let r=t;for(let o of n)if(l(r)&&o in r)r=r[o];else return null;return r}function Ot(t,e={label:gt,value:K}){return t.map(n=>{if(l(n)){let r=x(n,e.label),o=x(n,e.value);if(m(r)&&m(o))return{label:`${r}`,value:`${o}`}}return n})}function Pt(t=S){if(t){let e=t.match(rn);if(e){let[n]=e;if(n!==L)return n.trim().toLowerCase()}}return S}var ln=/\[([^\]]+)\]\(([^)]+)\)/g;function E(t,e={}){if(g(t))return an(t,e);if(Array.isArray(t))return t.map(n=>E(n,e));if(l(t)){let n={};for(let r in t)n[r]=E(t[r],e);return n}return t}function I(t){return g(t)?/{([^}]+)}/.test(t):Array.isArray(t)?t.some(e=>I(e)):l(t)?Object.values(t).some(e=>I(e)):!1}function an(t,e={}){return t.replace(/{([^}]+)}/g,(n,r)=>{let o=r.includes(".")?x(e,r):e[r];return m(o)?String(o):n})}function wt(t,e){if(!t||t.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=ln.exec(t))!==null;){let[a,p,ze]=n,w=n.index;o=!0,w>r&&i.push(t.substring(r,w));let Ze=e?e(w,ze,p):a;i.push(Ze),r=w+a.length}return o?(r<t.length&&i.push(t.substring(r)),i):t}var Lt=t=>s(mt)(t),Dt=t=>s(pt)(t),d=s(ut),_t=s(L),b=s(dt),c=s(ft),Mt=s(st),Vt=s(S,W,bt,yt),_n=s(at,W),vt=s(ct,xt);function Gt(t){return b(t)||d(t)}function Xt(t){return t.type===H}function Yt(t){return t.type!==H}function Ut(t){return c(t)||b(t)}function q(t){return t!=null&&t!==""}function s(...t){return e=>{let n=g(e.type)?e.type:void 0;return n?t.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function Bt(t,e={}){if(c(t)&&t.disabled){let n=t.name?e?.[t.name]:void 0;if(n&&l(n))return[n]}}function $t(t){return b(t)||d(t)?A:t.advanced?.orientation??f}function Ht(t,e){let n=t.readonly??!1;return e||n}function Kt(t){if(b(t)||c(t)&&!t.disabled){let e=t.source;if(Array.isArray(e)||l(e)&&!(T in e))return e}}function Wt(t,e){let n=Kt(t);return n||Bt(t,e)}function cn(t,e){let n=l(e)&&t.name in e?e[t.name]:e;return kt(n,t.advanced?.entity)}function sn(t,e,n){return Ut(t)&&Array.isArray(n)?{...e,[D]:n}:e}function dn(t,e,n){if(t.required&&!q(n)&&c(t)&&t.advanced?.preselected!==!1&&D in e){let r=e[D];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function un(t,e){return c(t)&&Array.isArray(e)?Ot(e,t.advanced?.options):e}function qt(t,e,n,r){let o=cn(t,r),i=Array.isArray(n)?un(t,n):n,a=sn(t,e,i),p=dn(t,a,o);return{commonPropsWithOptions:a,defaultValue:p}}function zt(t,e){return d(t)?{defaultChecked:q(e)}:{defaultValue:e}}var fn=/^#\/definition\//;function M(t=[],e){let n=_(t,e);return Array.isArray(n)?n.sort((r,o)=>Zt(r)-Zt(o)):[]}function _(t,e,n=new Map,r=new WeakSet){if(!mn(e)||!t||typeof t!="object")return t;if(n.has(t))return n.get(t);if(r.has(t))return t;if(r.add(t),Array.isArray(t))return t.map(i=>_(i,e,n,r));if(T in t&&g(t[T])){let i=t[T].replace(fn,""),a=x(e,i);return a!==null?_(a,e,n,r):t}let o={};for(let[i,a]of Object.entries(t))o[i]=_(a,e,n,r);return r.delete(t),n.set(t,o),o}function Jt(t){return Object.entries(t??{})}function Zt(t){return t.order??Number.MAX_VALUE}function mn(t){return t!==void 0&&l(t)&&Object.keys(t).length>0}function Qt(t,e){let n={};for(let[r,o]of Jt(e))n[`${t}-${r}`]=o;return n}function jt(t){return Qt(ht,t)}function te(t){return Qt(Ft,t)}var ee={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},ne={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function re(t,e=2){return ee[t&&t in ee?t:e]}function oe(t){if(t&&t in ne)return ne[t]}var pn=/^\d+$/;function ie(){return Array.from({length:12},(t,e)=>({value:(e+1).toString(),label:new Date(0,e).toLocaleString("default",{month:"long"})}))}function le(t,e){return e>=t?Array.from({length:e-t+1},(n,r)=>{let o=t+r;return{value:o.toString(),label:o.toString()}}):[]}function z(){return new Date().getFullYear()}function Z(t,e){if(typeof t=="number")return t;let n=e??z(),r=t.trim().toLowerCase();if(r.startsWith("current")){let o=r.match(/^current([+-])(\d+)$/);if(o){let[,i,a]=o,p=parseInt(a,10);if(!isNaN(p))return i==="+"?n+p:n-p}return n}return pn.test(r)?parseInt(r,10):n}function k(t,e){return t?e?e[t]??t:t:""}function V(t,e){return{...t,...e}}var ae=require("react/jsx-runtime");function O(t){return wt(t,(e,n,r)=>(0,ae.jsx)("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${e}`))}var y=require("react/jsx-runtime");function ce(t){return(0,y.jsxs)(y.Fragment,{children:[t.title&&(0,y.jsx)("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:O(t.title)}),t.description&&(0,y.jsx)("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:O(t.description)})]})}var C=require("react/jsx-runtime");function se(t){let e=t.section.fields||[],{compact:n}=V(t.style,{compact:t.section.compact});return!t.section.title&&!t.section.description?(0,C.jsx)(N,{compact:n,children:t.children}):(0,C.jsxs)("fieldset",{"data-slot":"field-set","data-empty":e.length===0,className:"flex flex-col data-[empty=false]:gap-6",id:t.section.id?.toString(),children:[(0,C.jsx)(ce,{description:t.section.description,title:t.section.title}),(0,C.jsx)(N,{compact:n,children:t.children})]})}var ue=require("react");var J=require("react/jsx-runtime");function de(){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 u=require("react/jsx-runtime");function fe(t){let e=M(t.sections,t.definition);return(0,u.jsx)("div",{className:"h-full w-full",children:(0,u.jsx)("form",{noValidate:t.noValidate,action:t.action,children:(0,u.jsxs)(N,{children:[e.map((n,r)=>(0,u.jsxs)(ue.Fragment,{children:[(0,u.jsx)(se,{section:n,style:t.config.style,children:t.children({disabled:t.readOnly,fields:n.fields})}),n.separator&&(0,u.jsx)(de,{})]},r)),t.control&&(0,u.jsx)(ot,{isPending:t.isPending,children:t.control})]})})})}var pe=require("react/jsx-runtime");function me(t){return(0,pe.jsx)("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:t.children})}var ge=require("react/jsx-runtime");function v(t){let e=O(t.text);return e?(0,ge.jsx)(me,{children:e}):null}var xe=require("tailwind-merge"),G=require("react/jsx-runtime");function be(t){let e=b(t.field)||d(t.field);return(0,G.jsxs)("label",{"data-slot":"field-label","data-normal":e,className:(0,xe.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:t.field.name,children:[t.children,!t.field.required&&(0,G.jsx)("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:"(Optional)"})]})}var P=require("react/jsx-runtime");function ye(t){let e=I(t.field.label)?E(t.field.label,{context:t.context,env:t.config?.env}):t.field.label,n=I(t.field.description)?E(t.field.description,{context:t.context,env:t.config?.env}):t.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)(be,{field:t.field,children:k(e,t.translations)}),t.orientation===A&&(0,P.jsx)(v,{text:k(n,t.translations)})]})}var R=require("react/jsx-runtime");function Re(t){return(0,R.jsxs)(R.Fragment,{children:[t.field.name&&t.field.label&&(0,R.jsx)(ye,{config:t.config,context:t.context,field:t.field,orientation:t.orientation,translations:t.translations}),t.children,t.orientation===f&&t.field.description&&(0,R.jsx)(v,{text:k(t.field.description,t.translations)})]})}function Te(t,e){return t?e(t):null}var Q=require("react/jsx-runtime");function Ae(t){let e=Wt(t.field,t.value),{commonPropsWithOptions:n,defaultValue:r}=qt(t.field,t.commonProps,e,t.value),o=zt(t.field,r);return Te(t.config.inputs[t.field.type],i=>(0,Q.jsx)(Re,{config:t.config,context:t.context,field:t.field,orientation:t.orientation,translations:t.translations,children:(0,Q.jsx)(i,{...t.ariaAttributes,...n,...t.dataAttributes,...o})}))}var j=require("react/jsx-runtime");function Ce(t){return!t.errors||t.errors.length===0?null:(0,j.jsx)("ul",{className:"text-sm text-red-600 dark:text-red-500",id:t.name?`${t.name}-error`:void 0,children:t.errors?.map((e,n)=>(0,j.jsx)("li",{children:e},t.name?`${t.name}-error-${n}`:n))})}var he=require("tailwind-merge"),Fe=require("react/jsx-runtime");function X(t){let e=t.errors&&t.errors.length>0;return(0,Fe.jsx)("div",{"data-slot":"field","data-clickable":t.isClickable?"true":"false",...e&&{[At]:"true"},...t.disabled&&{[Ct]:"true"},"data-orientation":t.orientation,className:(0,he.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",t.isCheckbox&&"flex-row-reverse!","data-[clickable=true]:has-[>[data-slot=field-content]]:[&>:first-child]:mt-px",oe(t.cols),t.className),children:t.children})}var Ne=require("tailwind-merge"),Ee=require("react/jsx-runtime");function Se(t){return(0,Ee.jsx)(X,{...t,orientation:f,className:(0,Ne.twMerge)("gap-3 has-[>[data-slot=field-content]]:items-start",!t.isClickable&&"[&>*]:w-full"),children:t.children})}var Ie=require("tailwind-merge"),Oe=require("react/jsx-runtime");function ke(t){return(0,Oe.jsx)(X,{...t,orientation:A,className:(0,Ie.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]",t.isClickable&&"md:flex-col",!t.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:t.children})}var tt=require("react/jsx-runtime");function Pe(t){let e=Gt(t.field),n=d(t.field);return t.orientation===f?(0,tt.jsx)(Se,{cols:t.cols,disabled:t.disabled,errors:t.errors,isCheckbox:n,isClickable:e,children:t.children}):(0,tt.jsx)(ke,{cols:t.cols,disabled:t.disabled,errors:t.errors,isCheckbox:n,isClickable:e,children:t.children})}var Y=z();function we(t){if(c(t))return gn(t)}function gn(t){if(Lt(t))return ie();if(Dt(t)){let e=t.advanced?.length?.min??Y,n=t.advanced?.length?.max??Y+5;return le(Z(e,Y),Z(n,Y))}}function Le(t,e=!1){let n={disabled:e,id:t.name,name:t.name,placeholder:t.placeholder,required:t.required};return _t(t)?{...n,...xn(t)}:c(t)?{...n,...bn(t)}:Mt(t)?{...n,...yn(t)}:n}function xn(t){let e=Pt(t.type),n={...t,type:e};return{...De(t),...Rn(n),...Vt(n)?_e(n):{},type:e}}function bn(t){let e=we(t);return e?{options:e}:{}}function yn(t){return{...De(t),..._e(t)}}function De(t){let e=t.advanced?.autocomplete;return e?{autoComplete:e}:{}}function Rn(t){return vt(t)?Tn(t):{}}function _e(t){return Me(t,{min:Et,max:It})}function Tn(t){return Me(t,{min:Nt,max:St})}function Me(t,e){let n={},r=t.advanced?.length;return r&&(r.min!==void 0&&(n[e.min]=r.min),r.max!==void 0&&(n[e.max]=r.max)),n}function Ve(t,e){let n=jt(t.advanced?.aria);return e&&e.length>0&&(n[Tt]="true",n[Rt]=`${t.name}-error`),n}function ve(t){return te(t.advanced?.data)}function Ge(t){if(!t.field.type)return null;let e=Le(t.field,t.disabled),n=ve(t.field),r=Ve(t.field,t.errors),o={...t.field,disabled:e.disabled};return t.children({ariaAttributes:r,commonProps:e,dataAttributes:n,field:o,orientation:t.orientation})}var h=require("react/jsx-runtime");function Xe(t){let e=t.field.advanced?.cols,n=t.field.name?t.errors?.[t.field.name]:void 0,{orientation:r}=V(t.style,{orientation:$t(t.field)}),o=Ht(t.field,t.disabled);return(0,h.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,h.jsx)(Pe,{cols:e,disabled:o,errors:n,field:t.field,orientation:r,children:(0,h.jsx)(Ge,{disabled:o,errors:n,field:t.field,orientation:r,children:t.children})}),(0,h.jsx)(Ce,{errors:n,name:t.field.name})]})}var Ye=require("tailwind-merge"),et=require("react/jsx-runtime");function Ue(t){let e=re(t.column?.advanced?.cols);return(0,et.jsx)("div",{className:"flex w-full flex-col gap-4",children:(0,et.jsx)("div",{className:(0,Ye.twMerge)("grid grid-cols-1 gap-3 sm:gap-4",e),children:t.children})})}var Be=require("react"),F=require("react/jsx-runtime");function nt(t){let{column:e,field:n}=t.components;return M(t.fields).map((r,o)=>(0,F.jsxs)(Be.Fragment,{children:[Xt(r)&&(0,F.jsx)(e,{column:r,children:(0,F.jsx)(nt,{...t,fields:r.fields})}),Yt(r)&&(0,F.jsx)(n,{disabled:t.disabled,field:r,style:t.style,children:t.children})]},o))}var He=require("react/jsx-runtime");function $e(t){return n=>(0,He.jsx)(nt,{...n,components:{column:Ue,field:t}})}var Ke=$e(Xe);var U=require("react/jsx-runtime");function B(t){let e=t.translations?.[t.lang??""];return(0,U.jsx)(fe,{config:t.config,control:t.children,definition:t.definition,readOnly:t.readOnly,sections:t.sections,children:({disabled:n,fields:r})=>(0,U.jsx)(Ke,{disabled:n,fields:r,style:t.config.style,children:o=>(0,U.jsx)(Ae,{...o,config:t.config,context:t.context,translations:e,value:t.value})})})}var We=require("react");var rt=require("react/jsx-runtime");function qe(t){return(0,rt.jsx)(We.Suspense,{fallback:(0,rt.jsx)(B,{config:t.config,sections:t.sections,readOnly:!0}),children:t.children})}
1
+ "use strict";var $=Object.defineProperty;var Zt=Object.getOwnPropertyDescriptor;var Jt=Object.getOwnPropertyNames;var Qt=Object.prototype.hasOwnProperty;var jt=(e,t)=>{for(var n in t)$(e,n,{get:t[n],enumerable:!0})},en=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Jt(t))!Qt.call(e,o)&&o!==n&&$(e,o,{get:()=>t[o],enumerable:!(r=Zt(t,o))||r.enumerable});return e};var tn=e=>en($({},"__esModule",{value:!0}),e);var hn={};jt(hn,{Fallback:()=>Wt,Form:()=>B});module.exports=tn(hn);var ie=require("react/jsx-runtime");function oe(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return(0,ie.jsx)("div",{"data-slot":"field-control",className:"w-full",children:t})}var le=require("react/jsx-runtime");function S(e){return(0,le.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 L="input",ae="input/email",se="input/number";var ce="textarea",de="radio",ue="checkbox",fe="select",me="select/month",pe="select/year";var H="column";var ge="label",K="value",D="options",W="email",xe="number",ye="password",be="tel",E="text",Re="aria-errormessage",Te="aria-invalid",Ae="data-invalid",Ce="data-readonly",he="aria",Ne="data",Fe="min",Se="max",Ee="minLength",Ie="maxLength",A="$ref";var f="vertical",C="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 g(e){return typeof e=="string"}var nn=/[^/]+$/;function Oe(e,t=K){if(e!=null){if(m(e))return e;if(l(e)){let n=rn(e,t);if(m(n))return n}}}function rn(e,t){let n=x(e,t);if(m(n))return n}function x(e,t){if(!t||!l(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(l(r)&&o in r)r=r[o];else return null;return r}function ke(e,t={label:ge,value:K}){return e.map(n=>{if(l(n)){let r=x(n,t.label),o=x(n,t.value);if(m(r)&&m(o))return{label:`${r}`,value:`${o}`}}return n})}function Pe(e=E){if(e){let t=e.match(nn);if(t){let[n]=t;if(n!==L)return n.trim().toLowerCase()}}return E}var on=/\[([^\]]+)\]\(([^)]+)\)/g;function I(e,t={}){if(g(e))return ln(e,t);if(Array.isArray(e))return e.map(n=>I(n,t));if(l(e)){let n={};for(let r in e)n[r]=I(e[r],t);return n}return e}function O(e){return g(e)?/{([^}]+)}/.test(e):Array.isArray(e)?e.some(t=>O(t)):l(e)?Object.values(e).some(t=>O(t)):!1}function ln(e,t={}){return e.replace(/{([^}]+)}/g,(n,r)=>{let o=r.includes(".")?x(t,r):t[r];return m(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=on.exec(e))!==null;){let[a,p,qt]=n,w=n.index;o=!0,w>r&&i.push(e.substring(r,w));let zt=t?t(w,qt,p):a;i.push(zt),r=w+a.length}return o?(r<e.length&&i.push(e.substring(r)),i):e}var Le=e=>c(me)(e),De=e=>c(pe)(e),s=c(ue),_e=c(L),y=c(de),d=c(fe),ve=c(ce),Me=c(E,W,ye,be),Mn=c(ae,W),Ve=c(se,xe);function Ge(e){return y(e)||s(e)}function Xe(e){return e.type===H}function Ye(e){return e.type!==H}function Ue(e){return d(e)||y(e)}function q(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 Be(e,t={}){if(d(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&l(n))return[n]}}function $e(e){return y(e)||s(e)?C:e.advanced?.orientation??f}function He(e){return s(e)?e.advanced?.reverse!==!1:!1}function Ke(e,t){let n=e.readonly??!1;return t||n}function We(e){if(y(e)||d(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||l(t)&&!(A in t))return t}}var an=/^\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 z(){return new Date().getFullYear()}function Z(e,t){if(typeof e=="number")return e;let n=t??z(),r=e.trim().toLowerCase();if(r.startsWith("current")){let o=r.match(/^current([+-])(\d+)$/);if(o){let[,i,a]=o,p=parseInt(a,10);if(!isNaN(p))return i==="+"?n+p:n-p}return n}return an.test(r)?parseInt(r,10):n}var _=z();function sn(e){if(d(e))return cn(e)}function cn(e){if(Le(e))return qe();if(De(e)){let t=e.advanced?.length?.min??_,n=e.advanced?.length?.max??_+5;return ze(Z(t,_),Z(n,_))}}function Ze(e,t=!1){let n={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return _e(e)?{...n,...dn(e)}:d(e)?{...n,...un(e)}:ve(e)?{...n,...fn(e)}:n}function dn(e){let t=Pe(e.type),n={...e,type:t};return{...Je(e),...mn(n),...Me(n)?Qe(n):{},type:t}}function un(e){let t=sn(e);return t?{options:t}:{}}function fn(e){return{...Je(e),...Qe(e)}}function Je(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function mn(e){return Ve(e)?pn(e):{}}function Qe(e){return je(e,{min:Ee,max:Ie})}function pn(e){return je(e,{min:Fe,max:Se})}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||Be(e,t)}function gn(e,t){let n=l(t)&&e.name in t?t[e.name]:t;return Oe(n,e.advanced?.entity)}function xn(e,t,n){return Ue(e)&&Array.isArray(n)?{...t,[D]:n}:t}function yn(e,t,n){if(e.required&&!q(n)&&d(e)&&e.advanced?.preselected!==!1&&D in t){let r=t[D];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function bn(e,t){return d(e)&&Array.isArray(t)?ke(t,e.advanced?.options):t}function tt(e,t,n,r){let o=gn(e,r),i=Array.isArray(n)?bn(e,n):n,a=xn(e,t,i),p=yn(e,a,o);return{commonPropsWithOptions:a,defaultValue:p}}function nt(e,t){return s(e)?{defaultChecked:q(t)}:{defaultValue:t}}var Rn=/^#\/definition\//;function M(e=[],t){let n=v(e,t);return Array.isArray(n)?n.sort((r,o)=>rt(r)-rt(o)):[]}function v(e,t,n=new Map,r=new WeakSet){if(!Tn(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=>v(i,t,n,r));if(A in e&&g(e[A])){let i=e[A].replace(Rn,""),a=x(t,i);return a!==null?v(a,t,n,r):e}let o={};for(let[i,a]of Object.entries(e))o[i]=v(a,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 Tn(e){return e!==void 0&&l(e)&&Object.keys(e).length>0}function it(e,t){let n={};for(let[r,o]of ot(t))n[`${e}-${r}`]=o;return n}function An(e){return it(he,e)}function Cn(e){return it(Ne,e)}function lt(e,t){let n=An(e.advanced?.aria);return t&&t.length>0&&(n[Te]="true",n[Re]=`${e.name}-error`),n}function at(e){return Cn(e.advanced?.data)}var st={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},ct={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function dt(e,t=2){return st[e&&e in st?e:t]}function ut(e){if(e&&e in ct)return ct[e]}function b(e,t){return e?t?t[e]??e:e:""}function V(e,t){return{...e,...t}}var ft=require("react/jsx-runtime");function k(e){return we(e,(t,n,r)=>(0,ft.jsx)("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${t}`))}var R=require("react/jsx-runtime");function mt(e){return(0,R.jsxs)(R.Fragment,{children:[e.title&&(0,R.jsx)("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:k(e.title)}),e.description&&(0,R.jsx)("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:k(e.description)})]})}var h=require("react/jsx-runtime");function pt(e){let t=e.section.fields||[],{compact:n}=V(e.style,{compact:e.section.compact});return!e.section.title&&!e.section.description?(0,h.jsx)(S,{compact:n,children:e.children}):(0,h.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,h.jsx)(mt,{description:e.section.description,title:e.section.title}),(0,h.jsx)(S,{compact:n,children:e.children})]})}var xt=require("react");var J=require("react/jsx-runtime");function gt(){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 u=require("react/jsx-runtime");function yt(e){let t=M(e.sections,e.definition);return(0,u.jsx)("div",{className:"h-full w-full",children:(0,u.jsx)("form",{noValidate:e.noValidate,action:e.action,children:(0,u.jsxs)(S,{children:[t.map((n,r)=>(0,u.jsxs)(xt.Fragment,{children:[(0,u.jsx)(pt,{section:n,style:e.config.style,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.separator&&(0,u.jsx)(gt,{})]},r)),e.control&&(0,u.jsx)(oe,{isPending:e.isPending,children:e.control})]})})})}var Rt=require("react/jsx-runtime");function bt(e){return(0,Rt.jsx)("p",{className:"-mt-2 text-xs leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}var Tt=require("react/jsx-runtime");function G(e){let t=k(e.text);return t?(0,Tt.jsx)(bt,{children:t}):null}var At=require("tailwind-merge"),X=require("react/jsx-runtime");function Ct(e){let t=e.style?.showOptionalLabel??!0,n=y(e.field)||s(e.field);return(0,X.jsxs)("label",{"data-slot":"field-label","data-normal":n,className:(0,At.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,X.jsx)("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:b("(Optional)",e.translations)})]})}var P=require("react/jsx-runtime");function ht(e){let t=O(e.field.label)?I(e.field.label,{context:e.context,env:e.config?.env}):e.field.label,n=O(e.field.description)?I(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)(Ct,{field:e.field,style:e.config?.style,translations:e.translations,children:b(t,e.translations)}),e.orientation===C&&(0,P.jsx)(G,{text:b(n,e.translations)})]})}var T=require("react/jsx-runtime");function Nt(e){return(0,T.jsxs)(T.Fragment,{children:[e.field.name&&e.field.label&&(0,T.jsx)(ht,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations}),e.children,e.orientation===f&&e.field.description&&(0,T.jsx)(G,{text:b(e.field.description,e.translations)})]})}function Ft(e,t){return e?t(e):null}var Q=require("react/jsx-runtime");function St(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 Ft(e.config.inputs[e.field.type],i=>(0,Q.jsx)(Nt,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations,children:(0,Q.jsx)(i,{...e.ariaAttributes,...n,...e.dataAttributes,...o})}))}var j=require("react/jsx-runtime");function Et(e){return!e.errors||e.errors.length===0?null:(0,j.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,j.jsx)("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}var It=require("tailwind-merge"),Ot=require("react/jsx-runtime");function Y(e){let t=e.errors&&e.errors.length>0;return(0,Ot.jsx)("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[Ae]:"true"},...e.disabled&&{[Ce]:"true"},"data-orientation":e.orientation,className:(0,It.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 kt=require("tailwind-merge"),wt=require("react/jsx-runtime");function Pt(e){return(0,wt.jsx)(Y,{...e,orientation:f,className:(0,kt.twMerge)("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}var Lt=require("tailwind-merge"),_t=require("react/jsx-runtime");function Dt(e){return(0,_t.jsx)(Y,{...e,orientation:C,className:(0,Lt.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 ee=require("react/jsx-runtime");function vt(e){let t=Ge(e.field),n=s(e.field),r=He(e.field);return e.orientation===f?(0,ee.jsx)(Pt,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children}):(0,ee.jsx)(Dt,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children})}function Mt(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})}var Vt=require("tailwind-merge"),N=require("react/jsx-runtime");function Gt(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:r}=V(e.style,{orientation:$e(e.field)}),o=Ke(e.field,e.disabled);return(0,N.jsxs)("div",{className:(0,Vt.twMerge)("flex flex-col gap-3",ut(t)),children:[(0,N.jsx)(vt,{disabled:o,errors:n,field:e.field,orientation:r,children:(0,N.jsx)(Mt,{disabled:o,errors:n,field:e.field,orientation:r,children:e.children})}),(0,N.jsx)(Et,{errors:n,name:e.field.name})]})}var Xt=require("tailwind-merge"),te=require("react/jsx-runtime");function Yt(e){let t=dt(e.column?.advanced?.cols);return(0,te.jsx)("div",{className:"flex w-full flex-col gap-4",children:(0,te.jsx)("div",{className:(0,Xt.twMerge)("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children})})}var Ut=require("react"),F=require("react/jsx-runtime");function ne(e){let{column:t,field:n}=e.components;return M(e.fields).map((r,o)=>(0,F.jsxs)(Ut.Fragment,{children:[Xe(r)&&(0,F.jsx)(t,{column:r,children:(0,F.jsx)(ne,{...e,fields:r.fields})}),Ye(r)&&(0,F.jsx)(n,{disabled:e.disabled,field:r,style:e.style,children:e.children})]},o))}var $t=require("react/jsx-runtime");function Bt(e){return n=>(0,$t.jsx)(ne,{...n,components:{column:Yt,field:e}})}var Ht=Bt(Gt);var U=require("react/jsx-runtime");function B(e){let t=e.translations?.[e.lang??""];return(0,U.jsx)(yt,{config:e.config,control:e.children,definition:e.definition,readOnly:e.readOnly,sections:e.sections,children:({disabled:n,fields:r})=>(0,U.jsx)(Ht,{disabled:n,fields:r,style:e.config.style,children:o=>(0,U.jsx)(St,{...o,config:e.config,context:e.context,translations:t,value:e.value})})})}var Kt=require("react");var re=require("react/jsx-runtime");function Wt(e){return(0,re.jsx)(Kt.Suspense,{fallback:(0,re.jsx)(B,{config:e.config,sections:e.sections,readOnly:!0}),children:e.children})}
@@ -1 +1 @@
1
- import{jsx as we}from"react/jsx-runtime";function W(t){let e=typeof t.children=="function"?t.children({isPending:t.isPending}):t.children;return we("div",{"data-slot":"field-control",className:"w-full",children:e})}import{jsx as Le}from"react/jsx-runtime";function R(t){return Le("div",{"data-slot":"field-group","data-compact":t.compact,className:"flex w-full flex-col gap-8 data-[compact=true]:gap-3",children:t.children})}var E="input",q="input/email",z="input/number";var Z="textarea",J="radio",Q="checkbox",j="select",tt="select/month",et="select/year";var _="column";var nt="label",M="value",I="options",V="email",rt="number",ot="password",it="tel",T="text",lt="aria-errormessage",at="aria-invalid",ct="data-invalid",st="data-readonly",dt="aria",ut="data",ft="min",mt="max",pt="minLength",gt="maxLength",b="$ref";var u="vertical",y="horizontal";function l(t){return t!==null&&Object.prototype.toString.call(t)==="[object Object]"}function f(t){return typeof t=="string"||typeof t=="number"||typeof t=="boolean"}function p(t){return typeof t=="string"}var De=/[^/]+$/;function xt(t,e=M){if(t!=null){if(f(t))return t;if(l(t)){let n=_e(t,e);if(f(n))return n}}}function _e(t,e){let n=g(t,e);if(f(n))return n}function g(t,e){if(!e||!l(t))return null;let n=e.split(".").filter(o=>o!=="");if(n.length===0)return null;let r=t;for(let o of n)if(l(r)&&o in r)r=r[o];else return null;return r}function bt(t,e={label:nt,value:M}){return t.map(n=>{if(l(n)){let r=g(n,e.label),o=g(n,e.value);if(f(r)&&f(o))return{label:`${r}`,value:`${o}`}}return n})}function yt(t=T){if(t){let e=t.match(De);if(e){let[n]=e;if(n!==E)return n.trim().toLowerCase()}}return T}var Me=/\[([^\]]+)\]\(([^)]+)\)/g;function A(t,e={}){if(p(t))return Ve(t,e);if(Array.isArray(t))return t.map(n=>A(n,e));if(l(t)){let n={};for(let r in t)n[r]=A(t[r],e);return n}return t}function C(t){return p(t)?/{([^}]+)}/.test(t):Array.isArray(t)?t.some(e=>C(e)):l(t)?Object.values(t).some(e=>C(e)):!1}function Ve(t,e={}){return t.replace(/{([^}]+)}/g,(n,r)=>{let o=r.includes(".")?g(e,r):e[r];return f(o)?String(o):n})}function Rt(t,e){if(!t||t.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=Me.exec(t))!==null;){let[a,m,Oe]=n,S=n.index;o=!0,S>r&&i.push(t.substring(r,S));let Pe=e?e(S,Oe,m):a;i.push(Pe),r=S+a.length}return o?(r<t.length&&i.push(t.substring(r)),i):t}var Tt=t=>s(tt)(t),At=t=>s(et)(t),d=s(Q),Ct=s(E),x=s(J),c=s(j),ht=s(Z),Ft=s(T,V,ot,it),vn=s(q,V),Nt=s(z,rt);function St(t){return x(t)||d(t)}function Et(t){return t.type===_}function It(t){return t.type!==_}function kt(t){return c(t)||x(t)}function v(t){return t!=null&&t!==""}function s(...t){return e=>{let n=p(e.type)?e.type:void 0;return n?t.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function Ot(t,e={}){if(c(t)&&t.disabled){let n=t.name?e?.[t.name]:void 0;if(n&&l(n))return[n]}}function Pt(t){return x(t)||d(t)?y:t.advanced?.orientation??u}function wt(t,e){let n=t.readonly??!1;return e||n}function Lt(t){if(x(t)||c(t)&&!t.disabled){let e=t.source;if(Array.isArray(e)||l(e)&&!(b in e))return e}}function Dt(t,e){let n=Lt(t);return n||Ot(t,e)}function ve(t,e){let n=l(e)&&t.name in e?e[t.name]:e;return xt(n,t.advanced?.entity)}function Ge(t,e,n){return kt(t)&&Array.isArray(n)?{...e,[I]:n}:e}function Xe(t,e,n){if(t.required&&!v(n)&&c(t)&&t.advanced?.preselected!==!1&&I in e){let r=e[I];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function Ye(t,e){return c(t)&&Array.isArray(e)?bt(e,t.advanced?.options):e}function _t(t,e,n,r){let o=ve(t,r),i=Array.isArray(n)?Ye(t,n):n,a=Ge(t,e,i),m=Xe(t,a,o);return{commonPropsWithOptions:a,defaultValue:m}}function Mt(t,e){return d(t)?{defaultChecked:v(e)}:{defaultValue:e}}var Ue=/^#\/definition\//;function O(t=[],e){let n=k(t,e);return Array.isArray(n)?n.sort((r,o)=>Vt(r)-Vt(o)):[]}function k(t,e,n=new Map,r=new WeakSet){if(!Be(e)||!t||typeof t!="object")return t;if(n.has(t))return n.get(t);if(r.has(t))return t;if(r.add(t),Array.isArray(t))return t.map(i=>k(i,e,n,r));if(b in t&&p(t[b])){let i=t[b].replace(Ue,""),a=g(e,i);return a!==null?k(a,e,n,r):t}let o={};for(let[i,a]of Object.entries(t))o[i]=k(a,e,n,r);return r.delete(t),n.set(t,o),o}function vt(t){return Object.entries(t??{})}function Vt(t){return t.order??Number.MAX_VALUE}function Be(t){return t!==void 0&&l(t)&&Object.keys(t).length>0}function Gt(t,e){let n={};for(let[r,o]of vt(e))n[`${t}-${r}`]=o;return n}function Xt(t){return Gt(dt,t)}function Yt(t){return Gt(ut,t)}var Ut={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},Bt={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function $t(t,e=2){return Ut[t&&t in Ut?t:e]}function Ht(t){if(t&&t in Bt)return Bt[t]}var $e=/^\d+$/;function Kt(){return Array.from({length:12},(t,e)=>({value:(e+1).toString(),label:new Date(0,e).toLocaleString("default",{month:"long"})}))}function Wt(t,e){return e>=t?Array.from({length:e-t+1},(n,r)=>{let o=t+r;return{value:o.toString(),label:o.toString()}}):[]}function G(){return new Date().getFullYear()}function X(t,e){if(typeof t=="number")return t;let n=e??G(),r=t.trim().toLowerCase();if(r.startsWith("current")){let o=r.match(/^current([+-])(\d+)$/);if(o){let[,i,a]=o,m=parseInt(a,10);if(!isNaN(m))return i==="+"?n+m:n-m}return n}return $e.test(r)?parseInt(r,10):n}function h(t,e){return t?e?e[t]??t:t:""}function P(t,e){return{...t,...e}}import{jsx as He}from"react/jsx-runtime";function F(t){return Rt(t,(e,n,r)=>He("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${e}`))}import{Fragment as Ke,jsx as qt,jsxs as We}from"react/jsx-runtime";function zt(t){return We(Ke,{children:[t.title&&qt("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:F(t.title)}),t.description&&qt("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:F(t.description)})]})}import{jsx as Y,jsxs as qe}from"react/jsx-runtime";function Zt(t){let e=t.section.fields||[],{compact:n}=P(t.style,{compact:t.section.compact});return!t.section.title&&!t.section.description?Y(R,{compact:n,children:t.children}):qe("fieldset",{"data-slot":"field-set","data-empty":e.length===0,className:"flex flex-col data-[empty=false]:gap-6",id:t.section.id?.toString(),children:[Y(zt,{description:t.section.description,title:t.section.title}),Y(R,{compact:n,children:t.children})]})}import{Fragment as ze}from"react";import{jsx as Jt}from"react/jsx-runtime";function Qt(){return Jt("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:Jt("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}import{jsx as N,jsxs as jt}from"react/jsx-runtime";function te(t){let e=O(t.sections,t.definition);return N("div",{className:"h-full w-full",children:N("form",{noValidate:t.noValidate,action:t.action,children:jt(R,{children:[e.map((n,r)=>jt(ze,{children:[N(Zt,{section:n,style:t.config.style,children:t.children({disabled:t.readOnly,fields:n.fields})}),n.separator&&N(Qt,{})]},r)),t.control&&N(W,{isPending:t.isPending,children:t.control})]})})})}import{jsx as Ze}from"react/jsx-runtime";function ee(t){return Ze("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:t.children})}import{jsx as Je}from"react/jsx-runtime";function w(t){let e=F(t.text);return e?Je(ee,{children:e}):null}import{twMerge as Qe}from"tailwind-merge";import{jsx as je,jsxs as tn}from"react/jsx-runtime";function ne(t){let e=x(t.field)||d(t.field);return tn("label",{"data-slot":"field-label","data-normal":e,className:Qe("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:t.field.name,children:[t.children,!t.field.required&&je("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:"(Optional)"})]})}import{jsx as re,jsxs as en}from"react/jsx-runtime";function oe(t){let e=C(t.field.label)?A(t.field.label,{context:t.context,env:t.config?.env}):t.field.label,n=C(t.field.description)?A(t.field.description,{context:t.context,env:t.config?.env}):t.field.description;return en("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[re(ne,{field:t.field,children:h(e,t.translations)}),t.orientation===y&&re(w,{text:h(n,t.translations)})]})}import{Fragment as nn,jsx as ie,jsxs as rn}from"react/jsx-runtime";function le(t){return rn(nn,{children:[t.field.name&&t.field.label&&ie(oe,{config:t.config,context:t.context,field:t.field,orientation:t.orientation,translations:t.translations}),t.children,t.orientation===u&&t.field.description&&ie(w,{text:h(t.field.description,t.translations)})]})}function ae(t,e){return t?e(t):null}import{jsx as ce}from"react/jsx-runtime";function se(t){let e=Dt(t.field,t.value),{commonPropsWithOptions:n,defaultValue:r}=_t(t.field,t.commonProps,e,t.value),o=Mt(t.field,r);return ae(t.config.inputs[t.field.type],i=>ce(le,{config:t.config,context:t.context,field:t.field,orientation:t.orientation,translations:t.translations,children:ce(i,{...t.ariaAttributes,...n,...t.dataAttributes,...o})}))}import{jsx as de}from"react/jsx-runtime";function ue(t){return!t.errors||t.errors.length===0?null:de("ul",{className:"text-sm text-red-600 dark:text-red-500",id:t.name?`${t.name}-error`:void 0,children:t.errors?.map((e,n)=>de("li",{children:e},t.name?`${t.name}-error-${n}`:n))})}import{twMerge as on}from"tailwind-merge";import{jsx as ln}from"react/jsx-runtime";function L(t){let e=t.errors&&t.errors.length>0;return ln("div",{"data-slot":"field","data-clickable":t.isClickable?"true":"false",...e&&{[ct]:"true"},...t.disabled&&{[st]:"true"},"data-orientation":t.orientation,className:on("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",t.isCheckbox&&"flex-row-reverse!","data-[clickable=true]:has-[>[data-slot=field-content]]:[&>:first-child]:mt-px",Ht(t.cols),t.className),children:t.children})}import{twMerge as an}from"tailwind-merge";import{jsx as cn}from"react/jsx-runtime";function fe(t){return cn(L,{...t,orientation:u,className:an("gap-3 has-[>[data-slot=field-content]]:items-start",!t.isClickable&&"[&>*]:w-full"),children:t.children})}import{twMerge as sn}from"tailwind-merge";import{jsx as dn}from"react/jsx-runtime";function me(t){return dn(L,{...t,orientation:y,className:sn("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]",t.isClickable&&"md:flex-col",!t.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:t.children})}import{jsx as pe}from"react/jsx-runtime";function ge(t){let e=St(t.field),n=d(t.field);return t.orientation===u?pe(fe,{cols:t.cols,disabled:t.disabled,errors:t.errors,isCheckbox:n,isClickable:e,children:t.children}):pe(me,{cols:t.cols,disabled:t.disabled,errors:t.errors,isCheckbox:n,isClickable:e,children:t.children})}var D=G();function xe(t){if(c(t))return un(t)}function un(t){if(Tt(t))return Kt();if(At(t)){let e=t.advanced?.length?.min??D,n=t.advanced?.length?.max??D+5;return Wt(X(e,D),X(n,D))}}function be(t,e=!1){let n={disabled:e,id:t.name,name:t.name,placeholder:t.placeholder,required:t.required};return Ct(t)?{...n,...fn(t)}:c(t)?{...n,...mn(t)}:ht(t)?{...n,...pn(t)}:n}function fn(t){let e=yt(t.type),n={...t,type:e};return{...ye(t),...gn(n),...Ft(n)?Re(n):{},type:e}}function mn(t){let e=xe(t);return e?{options:e}:{}}function pn(t){return{...ye(t),...Re(t)}}function ye(t){let e=t.advanced?.autocomplete;return e?{autoComplete:e}:{}}function gn(t){return Nt(t)?xn(t):{}}function Re(t){return Te(t,{min:pt,max:gt})}function xn(t){return Te(t,{min:ft,max:mt})}function Te(t,e){let n={},r=t.advanced?.length;return r&&(r.min!==void 0&&(n[e.min]=r.min),r.max!==void 0&&(n[e.max]=r.max)),n}function Ae(t,e){let n=Xt(t.advanced?.aria);return e&&e.length>0&&(n[at]="true",n[lt]=`${t.name}-error`),n}function Ce(t){return Yt(t.advanced?.data)}function he(t){if(!t.field.type)return null;let e=be(t.field,t.disabled),n=Ce(t.field),r=Ae(t.field,t.errors),o={...t.field,disabled:e.disabled};return t.children({ariaAttributes:r,commonProps:e,dataAttributes:n,field:o,orientation:t.orientation})}import{jsx as U,jsxs as bn}from"react/jsx-runtime";function Fe(t){let e=t.field.advanced?.cols,n=t.field.name?t.errors?.[t.field.name]:void 0,{orientation:r}=P(t.style,{orientation:Pt(t.field)}),o=wt(t.field,t.disabled);return bn("div",{className:"flex flex-col gap-3",children:[U(ge,{cols:e,disabled:o,errors:n,field:t.field,orientation:r,children:U(he,{disabled:o,errors:n,field:t.field,orientation:r,children:t.children})}),U(ue,{errors:n,name:t.field.name})]})}import{twMerge as yn}from"tailwind-merge";import{jsx as Ne}from"react/jsx-runtime";function Se(t){let e=$t(t.column?.advanced?.cols);return Ne("div",{className:"flex w-full flex-col gap-4",children:Ne("div",{className:yn("grid grid-cols-1 gap-3 sm:gap-4",e),children:t.children})})}import{Fragment as Rn}from"react";import{jsx as B,jsxs as Tn}from"react/jsx-runtime";function $(t){let{column:e,field:n}=t.components;return O(t.fields).map((r,o)=>Tn(Rn,{children:[Et(r)&&B(e,{column:r,children:B($,{...t,fields:r.fields})}),It(r)&&B(n,{disabled:t.disabled,field:r,style:t.style,children:t.children})]},o))}import{jsx as An}from"react/jsx-runtime";function Ee(t){return n=>An($,{...n,components:{column:Se,field:t}})}var Ie=Ee(Fe);import{jsx as H}from"react/jsx-runtime";function K(t){let e=t.translations?.[t.lang??""];return H(te,{config:t.config,control:t.children,definition:t.definition,readOnly:t.readOnly,sections:t.sections,children:({disabled:n,fields:r})=>H(Ie,{disabled:n,fields:r,style:t.config.style,children:o=>H(se,{...o,config:t.config,context:t.context,translations:e,value:t.value})})})}import{Suspense as Cn}from"react";import{jsx as ke}from"react/jsx-runtime";function hn(t){return ke(Cn,{fallback:ke(K,{config:t.config,sections:t.sections,readOnly:!0}),children:t.children})}export{hn as Fallback,K as Form};
1
+ import{jsx as kt}from"react/jsx-runtime";function W(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return kt("div",{"data-slot":"field-control",className:"w-full",children:t})}import{jsx as Pt}from"react/jsx-runtime";function T(e){return Pt("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 E="input",q="input/email",z="input/number";var Z="textarea",J="radio",Q="checkbox",j="select",ee="select/month",te="select/year";var _="column";var ne="label",v="value",I="options",M="email",re="number",oe="password",ie="tel",A="text",le="aria-errormessage",ae="aria-invalid",se="data-invalid",ce="data-readonly",de="aria",ue="data",fe="min",me="max",pe="minLength",ge="maxLength",b="$ref";var u="vertical",R="horizontal";function l(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function f(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function p(e){return typeof e=="string"}var wt=/[^/]+$/;function xe(e,t=v){if(e!=null){if(f(e))return e;if(l(e)){let n=Lt(e,t);if(f(n))return n}}}function Lt(e,t){let n=g(e,t);if(f(n))return n}function g(e,t){if(!t||!l(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(l(r)&&o in r)r=r[o];else return null;return r}function ye(e,t={label:ne,value:v}){return e.map(n=>{if(l(n)){let r=g(n,t.label),o=g(n,t.value);if(f(r)&&f(o))return{label:`${r}`,value:`${o}`}}return n})}function be(e=A){if(e){let t=e.match(wt);if(t){let[n]=t;if(n!==E)return n.trim().toLowerCase()}}return A}var Dt=/\[([^\]]+)\]\(([^)]+)\)/g;function C(e,t={}){if(p(e))return _t(e,t);if(Array.isArray(e))return e.map(n=>C(n,t));if(l(e)){let n={};for(let r in e)n[r]=C(e[r],t);return n}return e}function h(e){return p(e)?/{([^}]+)}/.test(e):Array.isArray(e)?e.some(t=>h(t)):l(e)?Object.values(e).some(t=>h(t)):!1}function _t(e,t={}){return e.replace(/{([^}]+)}/g,(n,r)=>{let o=r.includes(".")?g(t,r):t[r];return f(o)?String(o):n})}function Re(e,t){if(!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=Dt.exec(e))!==null;){let[a,m,It]=n,S=n.index;o=!0,S>r&&i.push(e.substring(r,S));let Ot=t?t(S,It,m):a;i.push(Ot),r=S+a.length}return o?(r<e.length&&i.push(e.substring(r)),i):e}var Te=e=>c(ee)(e),Ae=e=>c(te)(e),s=c(Q),Ce=c(E),x=c(J),d=c(j),he=c(Z),Ne=c(A,M,oe,ie),Xn=c(q,M),Fe=c(z,re);function Se(e){return x(e)||s(e)}function Ee(e){return e.type===_}function Ie(e){return e.type!==_}function Oe(e){return d(e)||x(e)}function V(e){return e!=null&&e!==""}function c(...e){return t=>{let n=p(t.type)?t.type:void 0;return n?e.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function ke(e,t={}){if(d(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&l(n))return[n]}}function Pe(e){return x(e)||s(e)?R:e.advanced?.orientation??u}function we(e){return s(e)?e.advanced?.reverse!==!1:!1}function Le(e,t){let n=e.readonly??!1;return t||n}function De(e){if(x(e)||d(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||l(t)&&!(b in t))return t}}var vt=/^\d+$/;function _e(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function ve(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 G(){return new Date().getFullYear()}function X(e,t){if(typeof e=="number")return e;let n=t??G(),r=e.trim().toLowerCase();if(r.startsWith("current")){let o=r.match(/^current([+-])(\d+)$/);if(o){let[,i,a]=o,m=parseInt(a,10);if(!isNaN(m))return i==="+"?n+m:n-m}return n}return vt.test(r)?parseInt(r,10):n}var O=G();function Mt(e){if(d(e))return Vt(e)}function Vt(e){if(Te(e))return _e();if(Ae(e)){let t=e.advanced?.length?.min??O,n=e.advanced?.length?.max??O+5;return ve(X(t,O),X(n,O))}}function Me(e,t=!1){let n={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return Ce(e)?{...n,...Gt(e)}:d(e)?{...n,...Xt(e)}:he(e)?{...n,...Yt(e)}:n}function Gt(e){let t=be(e.type),n={...e,type:t};return{...Ve(e),...Ut(n),...Ne(n)?Ge(n):{},type:t}}function Xt(e){let t=Mt(e);return t?{options:t}:{}}function Yt(e){return{...Ve(e),...Ge(e)}}function Ve(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function Ut(e){return Fe(e)?Bt(e):{}}function Ge(e){return Xe(e,{min:pe,max:ge})}function Bt(e){return Xe(e,{min:fe,max:me})}function Xe(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 Ye(e,t){let n=De(e);return n||ke(e,t)}function $t(e,t){let n=l(t)&&e.name in t?t[e.name]:t;return xe(n,e.advanced?.entity)}function Ht(e,t,n){return Oe(e)&&Array.isArray(n)?{...t,[I]:n}:t}function Kt(e,t,n){if(e.required&&!V(n)&&d(e)&&e.advanced?.preselected!==!1&&I in t){let r=t[I];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function Wt(e,t){return d(e)&&Array.isArray(t)?ye(t,e.advanced?.options):t}function Ue(e,t,n,r){let o=$t(e,r),i=Array.isArray(n)?Wt(e,n):n,a=Ht(e,t,i),m=Kt(e,a,o);return{commonPropsWithOptions:a,defaultValue:m}}function Be(e,t){return s(e)?{defaultChecked:V(t)}:{defaultValue:t}}var qt=/^#\/definition\//;function P(e=[],t){let n=k(e,t);return Array.isArray(n)?n.sort((r,o)=>$e(r)-$e(o)):[]}function k(e,t,n=new Map,r=new WeakSet){if(!zt(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=>k(i,t,n,r));if(b in e&&p(e[b])){let i=e[b].replace(qt,""),a=g(t,i);return a!==null?k(a,t,n,r):e}let o={};for(let[i,a]of Object.entries(e))o[i]=k(a,t,n,r);return r.delete(e),n.set(e,o),o}function He(e){return Object.entries(e??{})}function $e(e){return e.order??Number.MAX_VALUE}function zt(e){return e!==void 0&&l(e)&&Object.keys(e).length>0}function Ke(e,t){let n={};for(let[r,o]of He(t))n[`${e}-${r}`]=o;return n}function Zt(e){return Ke(de,e)}function Jt(e){return Ke(ue,e)}function We(e,t){let n=Zt(e.advanced?.aria);return t&&t.length>0&&(n[ae]="true",n[le]=`${e.name}-error`),n}function qe(e){return Jt(e.advanced?.data)}var ze={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},Ze={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function Je(e,t=2){return ze[e&&e in ze?e:t]}function Qe(e){if(e&&e in Ze)return Ze[e]}function y(e,t){return e?t?t[e]??e:e:""}function w(e,t){return{...e,...t}}import{jsx as Qt}from"react/jsx-runtime";function N(e){return Re(e,(t,n,r)=>Qt("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${t}`))}import{Fragment as jt,jsx as je,jsxs as en}from"react/jsx-runtime";function et(e){return en(jt,{children:[e.title&&je("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:N(e.title)}),e.description&&je("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:N(e.description)})]})}import{jsx as Y,jsxs as tn}from"react/jsx-runtime";function tt(e){let t=e.section.fields||[],{compact:n}=w(e.style,{compact:e.section.compact});return!e.section.title&&!e.section.description?Y(T,{compact:n,children:e.children}):tn("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:[Y(et,{description:e.section.description,title:e.section.title}),Y(T,{compact:n,children:e.children})]})}import{Fragment as nn}from"react";import{jsx as nt}from"react/jsx-runtime";function rt(){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 F,jsxs as ot}from"react/jsx-runtime";function it(e){let t=P(e.sections,e.definition);return F("div",{className:"h-full w-full",children:F("form",{noValidate:e.noValidate,action:e.action,children:ot(T,{children:[t.map((n,r)=>ot(nn,{children:[F(tt,{section:n,style:e.config.style,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.separator&&F(rt,{})]},r)),e.control&&F(W,{isPending:e.isPending,children:e.control})]})})})}import{jsx as rn}from"react/jsx-runtime";function lt(e){return rn("p",{className:"-mt-2 text-xs leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}import{jsx as on}from"react/jsx-runtime";function L(e){let t=N(e.text);return t?on(lt,{children:t}):null}import{twMerge as ln}from"tailwind-merge";import{jsx as an,jsxs as sn}from"react/jsx-runtime";function at(e){let t=e.style?.showOptionalLabel??!0,n=x(e.field)||s(e.field);return sn("label",{"data-slot":"field-label","data-normal":n,className:ln("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&&an("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:y("(Optional)",e.translations)})]})}import{jsx as st,jsxs as cn}from"react/jsx-runtime";function ct(e){let t=h(e.field.label)?C(e.field.label,{context:e.context,env:e.config?.env}):e.field.label,n=h(e.field.description)?C(e.field.description,{context:e.context,env:e.config?.env}):e.field.description;return cn("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[st(at,{field:e.field,style:e.config?.style,translations:e.translations,children:y(t,e.translations)}),e.orientation===R&&st(L,{text:y(n,e.translations)})]})}import{Fragment as dn,jsx as dt,jsxs as un}from"react/jsx-runtime";function ut(e){return un(dn,{children:[e.field.name&&e.field.label&&dt(ct,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations}),e.children,e.orientation===u&&e.field.description&&dt(L,{text:y(e.field.description,e.translations)})]})}function ft(e,t){return e?t(e):null}import{jsx as mt}from"react/jsx-runtime";function pt(e){let t=Ye(e.field,e.value),{commonPropsWithOptions:n,defaultValue:r}=Ue(e.field,e.commonProps,t,e.value),o=Be(e.field,r);return ft(e.config.inputs[e.field.type],i=>mt(ut,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations,children:mt(i,{...e.ariaAttributes,...n,...e.dataAttributes,...o})}))}import{jsx as gt}from"react/jsx-runtime";function xt(e){return!e.errors||e.errors.length===0?null:gt("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)=>gt("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}import{twMerge as fn}from"tailwind-merge";import{jsx as mn}from"react/jsx-runtime";function D(e){let t=e.errors&&e.errors.length>0;return mn("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[se]:"true"},...e.disabled&&{[ce]:"true"},"data-orientation":e.orientation,className:fn("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 pn}from"tailwind-merge";import{jsx as gn}from"react/jsx-runtime";function yt(e){return gn(D,{...e,orientation:u,className:pn("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}import{twMerge as xn}from"tailwind-merge";import{jsx as yn}from"react/jsx-runtime";function bt(e){return yn(D,{...e,orientation:R,className:xn("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 Rt}from"react/jsx-runtime";function Tt(e){let t=Se(e.field),n=s(e.field),r=we(e.field);return e.orientation===u?Rt(yt,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children}):Rt(bt,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children})}function At(e){if(!e.field.type)return null;let t=Me(e.field,e.disabled),n=qe(e.field),r=We(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 bn}from"tailwind-merge";import{jsx as U,jsxs as Rn}from"react/jsx-runtime";function Ct(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:r}=w(e.style,{orientation:Pe(e.field)}),o=Le(e.field,e.disabled);return Rn("div",{className:bn("flex flex-col gap-3",Qe(t)),children:[U(Tt,{disabled:o,errors:n,field:e.field,orientation:r,children:U(At,{disabled:o,errors:n,field:e.field,orientation:r,children:e.children})}),U(xt,{errors:n,name:e.field.name})]})}import{twMerge as Tn}from"tailwind-merge";import{jsx as ht}from"react/jsx-runtime";function Nt(e){let t=Je(e.column?.advanced?.cols);return ht("div",{className:"flex w-full flex-col gap-4",children:ht("div",{className:Tn("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children})})}import{Fragment as An}from"react";import{jsx as B,jsxs as Cn}from"react/jsx-runtime";function $(e){let{column:t,field:n}=e.components;return P(e.fields).map((r,o)=>Cn(An,{children:[Ee(r)&&B(t,{column:r,children:B($,{...e,fields:r.fields})}),Ie(r)&&B(n,{disabled:e.disabled,field:r,style:e.style,children:e.children})]},o))}import{jsx as hn}from"react/jsx-runtime";function Ft(e){return n=>hn($,{...n,components:{column:Nt,field:e}})}var St=Ft(Ct);import{jsx as H}from"react/jsx-runtime";function K(e){let t=e.translations?.[e.lang??""];return H(it,{config:e.config,control:e.children,definition:e.definition,readOnly:e.readOnly,sections:e.sections,children:({disabled:n,fields:r})=>H(St,{disabled:n,fields:r,style:e.config.style,children:o=>H(pt,{...o,config:e.config,context:e.context,translations:t,value:e.value})})})}import{Suspense as Nn}from"react";import{jsx as Et}from"react/jsx-runtime";function Fn(e){return Et(Nn,{fallback:Et(K,{config:e.config,sections:e.sections,readOnly:!0}),children:e.children})}export{Fn as Fallback,K as Form};
@@ -1,4 +1,9 @@
1
1
  import type { CommonProps, DataSource, Field, Nullable, Value } from '../type';
2
+ export declare function buildOptionSelect(field: Field): {
3
+ value: string;
4
+ label: string;
5
+ }[] | undefined;
6
+ export declare function buildCommon(field: Field, disabled?: boolean): CommonProps;
2
7
  export declare function resolveSource(field: Field, value?: Nullable<Record<string, unknown>>): DataSource | unknown[] | undefined;
3
8
  export declare function getInputValue<K>(field: Field, value?: Nullable<K>): Value | undefined;
4
9
  export declare function mergeOptionsProps(field: Field, commonProps: CommonProps, options?: Nullable<DataSource | unknown[]>): CommonProps | {
@@ -105,6 +105,7 @@ export type Field = CommonProps & {
105
105
  data?: DataAttributes;
106
106
  entity?: string;
107
107
  orientation?: Orientation;
108
+ reverse?: boolean;
108
109
  };
109
110
  event?: {
110
111
  change?: ChangeEvent;
@@ -169,4 +170,5 @@ export type BaseConfig<T> = {
169
170
  export type Style = {
170
171
  compact?: boolean;
171
172
  orientation?: Orientation;
173
+ showOptionalLabel?: boolean;
172
174
  };
@@ -1,3 +1,6 @@
1
+ import type { Field } from '../type';
1
2
  export declare function getPrefixedAttributes(prefix: string, record?: Record<string, string | number | boolean>): Record<string, string | number | boolean>;
2
3
  export declare function getAriaAttributes(record?: Record<string, string | number | boolean>): Record<string, string | number | boolean>;
3
4
  export declare function getDataAttributes(record?: Record<string, string | number | boolean>): Record<string, string | number | boolean>;
5
+ export declare function buildAriaAttributes(field: Field, errors?: string[]): Record<string, string | number | boolean>;
6
+ export declare function buildDataAttributes(field: Field): Record<string, string | number | boolean>;
@@ -1,5 +1,6 @@
1
1
  import type { Field, Nullable } from '../type';
2
2
  export declare function buildOptions(field: Field, values?: Nullable<Record<string, unknown>>): Record<string, unknown>[] | undefined;
3
3
  export declare function buildOrientation(field: Field): import("..").Orientation;
4
+ export declare function buildReverse(field: Field): boolean;
4
5
  export declare function buildDisabled(field: Field, disabled?: boolean): boolean;
5
6
  export declare function buildSource(field: Field): import("..").DataSource | unknown[] | undefined;
@@ -2,4 +2,5 @@ import type { Style } from '../type';
2
2
  export declare function mergeStyle(globalStyle?: Style, localStyle?: Style): {
3
3
  compact?: boolean;
4
4
  orientation?: import("..").Orientation;
5
+ showOptionalLabel?: boolean;
5
6
  };
@@ -2,10 +2,10 @@ import { type Orientation } from '@luna-form/core';
2
2
  export declare function FieldBase(props: Readonly<{
3
3
  children: React.ReactNode;
4
4
  className?: string;
5
- cols?: number;
6
5
  disabled?: boolean;
7
6
  errors?: string[];
8
7
  isCheckbox?: boolean;
8
+ isReversed?: boolean;
9
9
  isClickable?: boolean;
10
10
  orientation: Orientation;
11
11
  }>): import("react/jsx-runtime").JSX.Element;
@@ -1,7 +1,6 @@
1
1
  import { type Field, type Orientation } from '@luna-form/core';
2
2
  export declare function FieldGroup(props: Readonly<{
3
3
  children: React.ReactNode;
4
- cols?: number;
5
4
  disabled?: boolean;
6
5
  errors?: string[];
7
6
  field: Field;
@@ -1,8 +1,8 @@
1
1
  export declare function FieldHorizontal(props: Readonly<{
2
2
  children: React.ReactNode;
3
- cols?: number;
4
3
  disabled?: boolean;
5
4
  errors?: string[];
6
5
  isCheckbox?: boolean;
6
+ isReversed?: boolean;
7
7
  isClickable?: boolean;
8
8
  }>): import("react/jsx-runtime").JSX.Element;
@@ -1,8 +1,8 @@
1
1
  export declare function FieldVertical(props: Readonly<{
2
2
  children: React.ReactNode;
3
- cols?: number;
4
3
  disabled?: boolean;
5
4
  errors?: string[];
6
5
  isCheckbox?: boolean;
6
+ isReversed?: boolean;
7
7
  isClickable?: boolean;
8
8
  }>): import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,5 @@
1
+ import { type Field, type Orientation } from '@luna-form/core';
1
2
  import type { Children } from '../../type';
2
- import type { Field, Orientation } from '@luna-form/core';
3
3
  export declare function InputBase(props: Readonly<{
4
4
  children: Children;
5
5
  disabled?: boolean;
@@ -1,5 +1,7 @@
1
- import { type Field } from '@luna-form/core';
1
+ import { type Field, type Style } from '@luna-form/core';
2
2
  export declare function Label(props: Readonly<{
3
3
  children?: React.ReactNode;
4
4
  field: Field;
5
+ style?: Style;
6
+ translations?: Record<string, string>;
5
7
  }>): import("react/jsx-runtime").JSX.Element;
@@ -14,6 +14,7 @@ export declare function defineConfig<T extends React.ElementType>(options: Reado
14
14
  style?: {
15
15
  compact?: boolean;
16
16
  orientation?: Orientation;
17
+ showOptionalLabel?: boolean;
17
18
  };
18
19
  validation?: {
19
20
  blur?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-luna-form",
3
- "version": "0.0.20",
3
+ "version": "0.0.22",
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",
@@ -23,7 +23,7 @@
23
23
  "jotai-family": "^1.0.0",
24
24
  "react": "^18.2.0 || ^19.0.0",
25
25
  "react-dom": "^18.2.0 || ^19.0.0",
26
- "swr": "^2.3.0",
26
+ "swr": "^2.0.0",
27
27
  "tailwind-merge": "^3.4.0",
28
28
  "zod": "^4.0.0"
29
29
  },
@@ -33,7 +33,7 @@
33
33
  "eslint-plugin-react": "7.37.5",
34
34
  "eslint-plugin-react-hooks": "7.0.1",
35
35
  "eslint-plugin-react-refresh": "0.5.0",
36
- "@luna-form/core": "0.0.20"
36
+ "@luna-form/core": "0.0.22"
37
37
  },
38
38
  "license": "Apache-2.0",
39
39
  "repository": {