react-luna-form 0.0.31 → 0.0.32

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 Ho=Object.create;var Fe=Object.defineProperty;var Yo=Object.getOwnPropertyDescriptor;var Xo=Object.getOwnPropertyNames;var qo=Object.getPrototypeOf,Zo=Object.prototype.hasOwnProperty;var Ko=(e,t)=>{for(var n in t)Fe(e,n,{get:t[n],enumerable:!0})},_t=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Xo(t))!Zo.call(e,o)&&o!==n&&Fe(e,o,{get:()=>t[o],enumerable:!(r=Yo(t,o))||r.enumerable});return e};var Wo=(e,t,n)=>(n=e!=null?Ho(qo(e)):{},_t(t||!e||!e.__esModule?Fe(n,"default",{value:e,enumerable:!0}):n,e)),zo=e=>_t(Fe({},"__esModule",{value:!0}),e);var ul={};Ko(ul,{Form:()=>Bo});module.exports=zo(ul);var Gt=require("react/jsx-runtime");function Bt(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return(0,Gt.jsx)("div",{"data-slot":"field-control",className:"w-full",children:t})}var se=require("react");var dt=require("react/jsx-runtime");function $t(e){return(0,dt.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:`size-4 transition-transform duration-200 ${e.expanded?"rotate-90":""}`,children:(0,dt.jsx)("path",{fillRule:"evenodd",d:"M8.22 5.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L11.94 10 8.22 6.28a.75.75 0 0 1 0-1.06Z",clipRule:"evenodd"})})}var Ce="input",Ut="input/email",Ht="input/number";var Yt="textarea",Xt="radio",qt="checkbox",ft="list";var Zt="select",Kt="select/month",Wt="select/year";var me="column",mt="fields",zt="label",A="value",Ne="options",gt="email",Jt="number",Qt="password",jt="tel",ge="text",en="aria-errormessage",tn="aria-invalid",nn="data-invalid",rn="data-readonly",on="aria",ln="data",Ee="min",ke="max",an="minLength",sn="maxLength",ie="$ref";var cn="source",un="state",Ie="http://luna.internal",U="vertical",le="horizontal";var dn="type";function d(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function we(e){return e==null||e===""}function H(e){return v(e)||typeof e=="number"||pt(e)}function v(e){return typeof e=="string"}function fn(e){return d(e)&&"url"in e}function pt(e){return typeof e=="boolean"}var Jo=/^\d+$/;function bt(e,t=[],n=A){return Array.isArray(t)?t.find(r=>{let o=xt(r,n);if(o!==void 0&&`${o}`===e)return r})??{value:e}:{value:e}}function xt(e,t=A){if(e!=null){if(H(e))return e;if(d(e)){let n=Qo(e,t);if(H(n))return n}}}function Qo(e,t){let n=R(e,t);if(H(n))return n}function mn(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 gn(e,t={label:zt,value:A}){return e.map(n=>{if(d(n)){let r=R(n,t.label),o=R(n,t.value);if(H(r)&&H(o))return{label:`${r}`,value:`${o}`}}return n})}function pn(e=ge){if(e){let t=e.lastIndexOf("/"),n=t===-1?e:e.slice(t+1);if(n&&n!==Ce)return n.trim().toLowerCase()}return ge}function yn(e){let t={};for(let n of e.keys()){let r=e.getAll(n);t[n]=r.length>1?r:r[0]}return t}function bn(e){let t={};for(let n in e){let r=n.split(".");if(r.length===1){t[n]=e[n];continue}let o=t;for(let l=0;l<r.length-1;l++){let a=r[l],s=r[l+1],c=Jo.test(s);a in o||(o[a]=c?[]:{}),o=o[a]}let i=r[r.length-1];o[i]=e[n]}return yt(t),t}function yt(e){for(let t in e){let n=e[t];if(Array.isArray(n)){let r=n.filter(o=>o!==void 0);r.forEach(o=>{o!==null&&typeof o=="object"&&!Array.isArray(o)&&yt(o)}),e[t]=r}else n!==null&&typeof n=="object"&&yt(n)}}var jo=/\[([^\]]{1,500})\]\(([^)]{1,2000})\)/g;function Y(e,t={}){if(v(e))return ei(e,t);if(Array.isArray(e))return e.map(n=>Y(n,t));if(d(e)){let n={};for(let r in e)n[r]=Y(e[r],t);return n}return e}function ht(e,t={}){return pe(e)?Y(e,t):e}function pe(e){return v(e)?/{([^}]{1,200})}/.test(e):Array.isArray(e)?e.some(t=>pe(t)):d(e)?Object.values(e).some(t=>pe(t)):!1}function ei(e,t={}){return e.replace(/{([^}]{1,200})}/g,(n,r)=>{let o=r.includes(".")?R(t,r):t[r];return H(o)?String(o):n})}function xn(e,t){if(!v(e)||!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=jo.exec(e))!==null;){let[l,a,s]=n,c=n.index;o=!0,c>r&&i.push(e.substring(r,c));let u=t?t(c,s,a):l;i.push(u),r=c+l.length}return o?(r<e.length&&i.push(e.substring(r)),i):e}var ye={error:(...e)=>{Rt()&&!Tt()&&Le().error("[Luna Form]",...e)},warn:(...e)=>{Rt()&&!Tt()&&Le().warn("[Luna Form]",...e)},info:(...e)=>{Rt()&&!Tt()&&Le().info("[Luna Form]",...e)}},Rt=()=>typeof Le()<"u",Tt=()=>!0,Le=()=>globalThis.console;function hn(e=[],t){let n=[],r=[],o=[];for(let i of e)i.action===A&&n.push(i),i.action===cn&&r.push(i),i.action===un&&o.push(i);t({sources:r,states:o,values:n})}function Rn(e=null,t=[],n){for(let r of t){let{target:o,source:i}=r;if(!e){n(o,void 0);continue}if(fn(i)){let l=Y(i.url,e),a=i.body?Y(i.body,e):i.body;n(o,{...i,url:l,body:a})}}}var be={eq:ii,gt:ci,gte:ui,in:ai,lt:di,lte:fi,neq:li,nin:si},ti=/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2})?/,Tn=/^(\d{2})[/-](\d{2})[/-](\d{4})(?: (\d{2}):(\d{2})(?::(\d{2}))?)?$/;function ni(e){return typeof e=="string"&&ti.test(e)}function ri(e){return typeof e=="string"&&Tn.test(e)}function oi(e){let t=e.match(Tn);if(t){let[,n,r,o,i,l,a]=t;return new Date(Number(o),Number(r)-1,Number(n),Number(i??0),Number(l??0),Number(a??0)).getTime()}return NaN}function X(e){return ni(e)?new Date(e).getTime():ri(e)?oi(e):Number(e)}function ii(e,t){return e===t}function li(e,t){return e!==t}function ai(e,t){return Array.isArray(t)&&t.includes(String(e))}function si(e,t){return Array.isArray(t)&&!t.includes(String(e))}function ci(e,t){return X(e)>X(t)}function ui(e,t){return X(e)>=X(t)}function di(e,t){return X(e)<X(t)}function fi(e,t){return X(e)<=X(t)}function Sn(e=null,t=[],n){for(let r of t){let{target:o,state:i,when:l}=r,a=Array.isArray(o)?o:[o];if(!e){n(a);continue}let s=mi(e,l);n(a,s?i:void 0)}}function mi(e,t){return t===void 0?!0:v(t)?Pe(e,A)===t:pt(t)?!!Pe(e,A)===t:Array.isArray(t)?t.includes(String(Pe(e,A))):gi(e,t)}function gi(e=null,t){let n=Pe(e,t.field??A),{operator:r="eq",value:o}=t,i=be[r];return i?i(n,o):!1}function Pe(e,t){return d(e)?R(e,t):e}function An(e=null,t=[],n){for(let r of t)for(let[o,i]of Object.entries(r.value))n(o,e?Y(i,e):void 0)}var Oe=e=>w(Kt)(e),Ve=e=>w(Wt)(e),T=w(qt),St=w(Ce),D=w(Xt),M=w(Zt),At=w(Yt),vn=w(ge,gt,Qt,jt),Fn=w(Ut,gt),De=w(Ht,Jt);function Me(e){return D(e)||T(e)}function Cn(e){return e.type===ft}function q(e){return e.type===me}function _e(e){return e.type!==me&&e.type!==ft}function Be(e){return M(e)||D(e)}function Nn(e){return St(e)||At(e)}function Q(e){return e!=null&&e!==""}function w(...e){return t=>{let n=v(t.type)?t.type:void 0;return n?e.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function En(e,t={}){if(M(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&d(n))return[n]}}function kn(e){return D(e)||T(e)?le:e.advanced?.orientation??U}function In(e){return T(e)?e.advanced?.reverse!==!1:!1}function wn(e,t){let n=e.readonly??!1;return t||n}function Ln(e){if(D(e)||M(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||d(t)&&!(ie in t))return t}}var pi=/^\d+$/;function Pn(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function On(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 vt(){return new Date().getFullYear()}function Ft(e,t){if(typeof e=="number")return e;let n=t??vt(),r=e.trim().toLowerCase();if(r.startsWith("current")){let o=r.match(/^current([+-])(\d+)$/);if(o){let[,i,l]=o,a=parseInt(l,10);if(!isNaN(a))return i==="+"?n+a:n-a}return n}return pi.test(r)?parseInt(r,10):n}var Ge=vt();function yi(e){if(M(e))return bi(e)}function bi(e){if(Oe(e))return Pn();if(Ve(e)){let t=e.advanced?.length?.min??Ge,n=e.advanced?.length?.max??Ge+5;return On(Ft(t,Ge),Ft(n,Ge))}}function Vn(e,t=!1){let n={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return St(e)?{...n,...xi(e)}:M(e)?{...n,...hi(e)}:At(e)?{...n,...Ri(e)}:n}function xi(e){let t=pn(e.type),n={...e,type:t};return{...Dn(e),...Ti(n),...vn(n)?Mn(n):{},type:t}}function hi(e){let t=yi(e);return t?{options:t}:{}}function Ri(e){return{...Dn(e),...Mn(e)}}function Dn(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function Ti(e){return De(e)?Si(e):{}}function Mn(e){return _n(e,{min:an,max:sn})}function Si(e){return _n(e,{min:Ee,max:ke})}function _n(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 Bn(e,t){let n=Ln(e);return n||En(e,t)}function Ai(e,t){let n=d(t)&&e.name in t?t[e.name]:t;return xt(n,e.advanced?.entity)}function vi(e,t,n){return Be(e)&&Array.isArray(n)?{...t,[Ne]:n}:t}function Fi(e,t,n){if(e.required&&!Q(n)&&M(e)&&e.advanced?.preselected!==!1&&Ne in t){let r=t[Ne];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function Ci(e,t){return M(e)&&Array.isArray(t)?gn(t,e.advanced?.options):t}function Gn(e,t,n,r){let o=Ai(e,r),i=Array.isArray(n)?Ci(e,n):n,l=vi(e,t,i),a=Fi(e,l,o);return{commonPropsWithOptions:l,defaultValue:a}}function $n(e,t){return T(e)?{checked:Q(t)?t:!1}:{value:t??""}}var Ni=/^#\/definition\//;function Ue(e=[],t){let n=$e(e,t);return Array.isArray(n)?n.filter(ki).sort((r,o)=>Un(r)-Un(o)):[]}function $e(e,t,n=new Map,r=new WeakSet){if(!Ei(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=>$e(i,t,n,r));if(ie in e&&v(e[ie])){let i=e[ie].replace(Ni,""),l=R(t,i);return l!==null?$e(l,t,n,r):e}let o={};for(let[i,l]of Object.entries(e))o[i]=$e(l,t,n,r);return r.delete(e),n.set(e,o),o}function Hn(e){return Object.entries(e??{})}function Un(e){return e.order??Number.MAX_VALUE}function Ei(e){return e!==void 0&&d(e)&&Object.keys(e).length>0}function ki(e){return dn in e?!0:Array.isArray(e[mt])?e[mt].length>0:!0}function Yn(e,t){let n={};for(let[r,o]of Hn(t))n[`${e}-${r}`]=o;return n}function Ii(e){return Yn(on,e)}function wi(e){return Yn(ln,e)}function Xn(e,t){let n=Ii(e.advanced?.aria);return t&&t.length>0&&(n[tn]="true",n[en]=`${e.name}-error`),n}function qn(e){return wi(e.advanced?.data)}var Zn={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},Kn={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function Wn(e,t=2){return Zn[e&&e in Zn?e:t]}function zn(e){if(e&&e in Kn)return Kn[e]}function Li(e,t){let n=e.advanced?.length?.min??1;if(t){let r=R(t,e.name);if(Array.isArray(r))return Math.max(r.length,n)}return Math.max(n,0)}function Jn(e){return!Array.isArray(e.fields)||e.fields.length===0?!1:e.fields.length>1||e.fields[0].type===me}function Qn(e,t){let n=Li(e,t);return Array.from({length:n},(r,o)=>o)}function jn(e){return e.label??e.name}var m=require("zod");function f(e,t){return e?t?t[e]??e:e:""}var Pi=[[De,_i],[Fn,Oi],[Ve,Bi],[Oe,Gi],[T,Vi],[D,Di]];function tr(e,t=[],n){let r=m.z.object(e);return t.length===0?r:Yi(r,t,n)}function nr(e){let t={},n=m.z.flattenError(e).fieldErrors;for(let[r,o]of Object.entries(n))o!==void 0&&(t[r]=o);return t}function rr(e,t){for(let[n,r]of Pi)if(n(e))return r(e,t);return Mi(e,t)}function Oi(e,t){let n=m.z.string().trim();if(e.required){let r=ae(e,t),o=n.min(1,r).pipe(er(e,t));return m.z.preprocess(i=>we(i)?"":i,o)}return n.pipe(er(e,t)).or(m.z.literal("")).nullable()}function Vi(e,t){let n=m.z.coerce.boolean();return e.required?(n=n.refine(r=>r===!0,{message:ae(e,t)}),m.z.preprocess(r=>r===null?!1:r,n)):n.nullable()}function Di(e,t){let n=m.z.coerce.string();return e.required?(n=n.min(1,ae(e,t)),m.z.preprocess(r=>we(r)?"":r,n)):n.or(m.z.literal("")).nullable()}function Mi(e,t){let n=m.z.coerce.string().trim();return n=or(n,e,t),e.required?(n=ir(n,e,t),m.z.preprocess(r=>we(r)?"":r,n)):n.nullable()}function _i(e,t){let n=m.z.coerce.number().int();return n=or(n,e,t),e.required?(n=ir(n,e,t),m.z.preprocess(r=>r===null?void 0:r,n)):n.nullable()}function Bi(e,t){return e.required?m.z.preprocess($i,m.z.coerce.number({message:ae(e,t)}).int()):m.z.coerce.number().int().nullable()}function Gi(e,t){let n=ae(e,t),r=m.z.coerce.number().int().min(1,n).max(12,n);return e.required?r:r.nullable()}function $i(e){return e===null||e===""?void 0:e}function er(e,t){let n=e.validation?.email?f(e.validation?.email,t):void 0;return m.z.email(n)}function or(e,t,n){return e=Ui(e,t,n),e=Hi(e,t,n),e}function ir(e,t,n){let r=t.advanced?.length?.min;return r===void 0||r<1?e.min(1,ae(t,n)):e}var Ui=(e,t,n)=>lr(e,t,Ee,n),Hi=(e,t,n)=>lr(e,t,ke,n);function lr(e,t,n,r){let o=t.advanced?.length?.[n];if(o!==void 0){let i=t.validation?.length?.[n]?f(t.validation?.length?.[n],r):void 0;return e[n](o,i)}return e}function Yi(e,t=[],n){let r=qi(t);return r.length===0?e:e.superRefine((o,i)=>{for(let{name:l,rule:a}of r)if(!Xi(o,l,a)){let s=f(a.message,n);i.addIssue({code:"custom",message:s,path:[l]})}})}function Xi(e,t,n){let r=n.operator??"eq",o=be[r];return o?o(e[t],e[n.field]):!1}function qi(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 ar(e,t,n,r){let o=[],i=Array.isArray(t)?t:[t];for(let l of i){let a=l.operator??"eq",s=be[a];if(s&&!s(e,n(l.field))&&l.message){let c=f(l.message,r);o.push(c)}}return o}function ae(e,t){return e.validation?.required?f(e.validation?.required,t):void 0}function sr(e,t){if(!t||!Ki(e))return!0;if(t.length===0)return!1;try{let n=new URL(e),r=n.protocol.replace(":",""),o=n.hostname,i=n.port||Zi(r);return t.some(l=>!(l.protocol&&l.protocol!==r||l.hostname&&l.hostname!==o||l.port!==void 0&&String(l.port)!==i))}catch{return!1}}function Zi(e){return e==="https"?"443":"80"}function Ki(e){return/^(https?:)?\/\//.test(e)}function cr(e,t){try{if(!e)return t;if(!t)return e;let n=new URL(e,Ie);new URL(t,Ie).searchParams.forEach((i,l)=>{n.searchParams.set(l,i)});let o=n.toString();return e.startsWith("/")||!e.includes("://")?o.replace(Ie,""):o}catch{return t||e}}function ur(e){return!Array.isArray(e)||e.length===0?null:e.reduce((t,n)=>{let r=cr(t.url,n.url),o=Wi(t,n),i=zi(t,n);return{...t,...n,url:r,body:o,headers:i}})}function Wi(e,t){return d(t.body)&&d(e?.body)?{...e.body,...t.body}:t.body??e?.body}function zi(e,t){return d(t.headers)&&d(e?.headers)?{...e.headers,...t.headers}:t.headers??e?.headers}function He(e,t){return{...e,...t}}var dr=require("react/jsx-runtime");function Z(e){return xn(e,(t,n,r)=>(0,dr.jsx)("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${t}`))}var L=require("react/jsx-runtime");function fr(e){let{fields:t=[]}=e.section,[n,r]=(0,se.useState)(!1),o=(0,se.useCallback)(()=>r(i=>!i),[]);return(0,L.jsxs)("fieldset",{"data-slot":"field-set","data-advanced":"true","data-expanded":n,"data-empty":t.length===0,className:"flex flex-col",id:e.section.id?.toString(),children:[(0,L.jsx)("legend",{children:(0,L.jsxs)("button",{className:"flex cursor-pointer items-center gap-2 text-base font-medium text-slate-600 dark:text-slate-400",onClick:o,type:"button",children:[(0,L.jsx)($t,{expanded:n}),(0,L.jsx)("span",{children:Z(e.section.title)})]})}),(0,L.jsx)(se.Activity,{mode:n?"visible":"hidden",children:(0,L.jsxs)("div",{className:"mt-3 ml-1.5 flex flex-col gap-4 border-l-2 border-slate-300 pl-4 dark:border-slate-600","data-slot":"field-set-content",children:[e.section.description&&(0,L.jsx)("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:Z(e.section.description)}),e.group]})})]})}var j=require("react/jsx-runtime");function mr(e){return(0,j.jsxs)(j.Fragment,{children:[e.title&&(0,j.jsx)("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:Z(e.title)}),e.description&&(0,j.jsx)("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:Z(e.description)})]})}var Xe=require("react/jsx-runtime");function Ye(e){return(0,Xe.jsxs)("fieldset",{"data-slot":"field-set","data-empty":e.empty,className:"flex flex-col data-[empty=false]:gap-6",id:e.id,children:[(0,Xe.jsx)(mr,{description:e.description,title:e.title}),e.children]})}var gr=require("react/jsx-runtime");function ee(e){return(0,gr.jsx)("div",{"data-slot":"field-group","data-compact":e.compact,className:"flex w-full flex-col gap-8 data-[compact=true]:gap-3",children:e.children})}var qe=require("react/jsx-runtime");function pr(e){let{fields:t=[]}=e.section,{compact:n}=He(e.style,{compact:e.section.compact}),r=(0,qe.jsx)(ee,{compact:n,children:e.children});return!e.section.title&&!e.section.description?r:e.section.advanced?(0,qe.jsx)(fr,{section:e.section,group:r}):(0,qe.jsx)(Ye,{description:e.section.description,empty:t.length===0,id:e.section.id?.toString(),title:e.section.title,children:r})}var Rr=require("jotai");var K=require("jotai"),Ct=require("jotai-family"),Ze=require("fast-equals");function Ke(e,t){let{[t]:n,...r}=e;return r}function Ji(e){return(0,Ct.atomFamily)(t=>(0,K.atom)(n=>n(e)[t]??void 0,(n,r,o)=>{let i=n(e);if(o!=null){let l=i[t];(!l||!(0,Ze.deepEqual)(l,o))&&r(e,{...i,[t]:o})}else i[t]&&r(e,Ke(i,t))}))}function Qi(e){return(0,K.atom)(null,(t,n)=>{let r=t(e);r&&Object.keys(r).length>0&&n(e,{})})}function ji(e){return(0,K.atom)(null,(t,n,r)=>{let i={...t(e)},l=!1;for(let a of r)i[a]&&(delete i[a],l=!0);l&&n(e,i)})}function el(e){return(0,K.atom)(null,(t,n,r)=>{let o=t(e);(0,Ze.deepEqual)(o,r)||n(e,r)})}function yr(e,t={}){let{merge:n,validateTarget:r}=t;return(0,Ct.atomFamily)(o=>(0,K.atom)(i=>{let l=i(e)[o];if(l&&n)return n(Object.values(l))},(i,l,a,s)=>{if(r&&!r(a))return;let c=i(e),u={...c[a]??{}};if(s!=null){let y=u[o];(!y||!(0,Ze.deepEqual)(y,s))&&(u[o]=s,l(e,{...c,[a]:u}))}else u[o]&&(delete u[o],Object.keys(u).length===0?l(e,Ke(c,a)):l(e,{...c,[a]:u}))}))}function br(e){return(0,K.atom)(null,(t,n,r)=>{let i={...t(e)},l=!1;for(let a of r)i[a]&&(delete i[a],l=!0);for(let a in i){let s={...i[a]},c=!1;for(let u of r)s[u]&&(delete s[u],c=!0,l=!0);c&&(Object.keys(s).length===0?delete i[a]:i[a]=s)}l&&n(e,i)})}function ce(e={}){let t=(0,K.atom)(e);return{atom:t,clearAll:Qi(t),clear:ji(t),bulkReport:el(t),report:Ji(t)}}var xr=ce(),We=xr.atom,hr=xr.report;function tl(e,t){return e.fields.every(n=>Tr(n,t))}function Tr(e,t){return t[e.name]?.hidden??e.hidden??!1}function nl(e,t){return q(e)?tl(e,t):Tr(e,t)}function ze(e){let t=(0,Rr.useAtomValue)(We);return e.container&&(t[e.container.name]?.hidden??e.container.hidden??!1)||e.fields.length===0||e.fields.every(r=>nl(r,t))?null:e.children}var Nt=require("react/jsx-runtime");function Sr(){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 _=require("react/jsx-runtime");function Ar(e){let t=Ue(e.sections,e.definition);return(0,_.jsx)("div",{className:"h-full w-full",children:(0,_.jsx)("form",{noValidate:e.noValidate,action:e.action,children:(0,_.jsxs)(ee,{children:[t.map((n,r)=>(0,_.jsxs)(ze,{fields:n.fields??[],children:[(0,_.jsx)(pr,{section:n,style:e.config.style,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.separator&&(0,_.jsx)(Sr,{})]},r)),e.control&&(0,_.jsx)(Bt,{isPending:e.isPending,children:e.control})]})})})}var Fr=require("react/jsx-runtime");function vr(e){return(0,Fr.jsx)("p",{className:"-mt-2 text-xs leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}var Cr=require("react/jsx-runtime");function Je(e){let t=Z(e.text);return t?(0,Cr.jsx)(vr,{children:t}):null}var Nr=require("tailwind-merge"),Qe=require("react/jsx-runtime");function Er(e){let t=e.style?.showOptionalLabel??!0,n=D(e.field)||T(e.field);return(0,Qe.jsxs)("label",{"data-slot":"field-label","data-normal":n,className:(0,Nr.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,Qe.jsx)("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:f("(Optional)",e.translations)})]})}var xe=require("react/jsx-runtime");function kr(e){let t={context:e.context,env:e.config?.env},n=ht(e.field.label,t),r=ht(e.field.description,t);return(0,xe.jsxs)("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[(0,xe.jsx)(Er,{field:e.field,style:e.config?.style,translations:e.translations,children:f(n,e.translations)}),e.orientation===le&&(0,xe.jsx)(Je,{text:f(r,e.translations)})]})}var te=require("react/jsx-runtime");function Ir(e){return(0,te.jsxs)(te.Fragment,{children:[e.field.name&&e.field.label&&(0,te.jsx)(kr,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations}),e.children,e.orientation===U&&e.field.description&&(0,te.jsx)(Je,{text:f(e.field.description,e.translations)})]})}function je(e,t){return e?t(e):null}var Et=ce(),wr=Et.clear,Lr=Et.bulkReport,et=Et.report;var tt=ce(),nt=tt.atom,Pr=tt.clearAll,Or=tt.clear,rt=tt.report;var b=require("react");var Vr=require("jotai");var rl=e=>{let t=ur(e);if(t)return t},ol=e=>e.trim()!=="",Dr=(0,Vr.atom)({}),Mr=yr(Dr,{merge:rl,validateTarget:ol}),_r=br(Dr);var $r=require("jotai");var Br=Wo(require("swr"),1);function Gr(e=null,t,n=!1){let{data:r,error:o}=(0,Br.default)(il(e,t,n),t.fetcher.provider);if(o&&ye.error("Error fetching data source:",o),e){if(Array.isArray(e))return e;if(r)return mn(r,e.namespace)}return null}function il(e=null,t,n=!1){if(e&&!Array.isArray(e)&&!n&&e.url&&!pe(e.url)){if(sr(e.url,t.fetcher.remotePatterns))return e;ye.warn(`URL blocked by remotePatterns: ${e.url}. Check your luna.config.ts`)}return null}function Ur(e,t,n){let r=Bn(e,n),[o,i]=(0,$r.useAtom)(Mr(e.name));return[Gr(o??r,t,e.disabled),i]}var ne=require("react");function Hr(e,t,n,r){let{name:o}=e,i=(0,ne.useMemo)(()=>rr(e,r),[e,r]),l=(0,ne.useEffectEvent)(s=>{s&&t(s,i,e)}),a=(0,ne.useEffectEvent)(s=>{s&&n(s)});return(0,ne.useEffect)(()=>(l(o),()=>{a(o)}),[o]),i}var de=require("jotai");var ue=require("react");function Yr(){let e=(0,ue.useRef)(null);return(0,ue.useEffect)(()=>()=>{e.current&&clearTimeout(e.current)},[]),(0,ue.useCallback)((n,r)=>{e.current&&(clearTimeout(e.current),e.current=null),e.current=setTimeout(n,r)},[])}var Xr=require("fast-equals");var qr=require("jotai"),W=require("react");function Zr(e,t){let{name:n}=e,r=(0,W.useRef)(!1),[o,i]=(0,qr.useAtom)(rt(n)),l=(0,W.useEffectEvent)(s=>{let c=ll(n,s);Q(c)&&((0,Xr.deepEqual)(o,c)||(r.current=!0),i(c))});(0,W.useEffect)(()=>{t&&l(t)},[t]);let a=(0,W.useCallback)(()=>r.current?(r.current=!1,!0):!1,[]);return{setValue:i,shouldSkipOnChange:a,value:o}}function ll(e,t){if(e in t)return t[e];if(!e.includes("."))return;let n=e.split("."),r=t;for(let o of n){if(r==null)return;if(Array.isArray(r)){let i=Number(o);r=Number.isInteger(i)?r[i]:void 0}else if(typeof r=="object")r=r[o];else return}return r}var kt=require("react/jsx-runtime");function Kr(e){let t=e.field.advanced?.entity,n=(0,de.useStore)(),r=Yr(),[,o]=(0,b.useTransition)(),{setValue:i,shouldSkipOnChange:l,value:a}=Zr(e.field,e.value),s=(0,b.useRef)(!1),c=(0,b.useRef)(a);c.current=a;let u=(0,b.useRef)(e.translations);u.current=e.translations;let y=Nn(e.field),h=Me(e.field),C=(0,de.useSetAtom)(nt),G=(0,de.useSetAtom)(We),N=(0,de.useSetAtom)(et(e.field.name)),[x,V]=Ur(e.field,e.config,a),E=Hr(e.field,e.onMount,e.onUnmount,e.translations),S=f(e.commonProps.placeholder,e.translations),$={...e.commonProps,placeholder:S},{commonPropsWithOptions:k,defaultValue:Te}=Gn(e.field,$,x,a),Dt=(0,b.useRef)(null);Dt.current=g=>{if(i(g),e.onValueChange){let p=e.dataAttributes??{};e.onValueChange({data:Object.keys(p).length>0?p:void 0,name:e.field.name,type:e.field.type,value:g})}};let at=(0,b.useRef)(null);at.current=g=>{let p=e.field.event?.change;p&&hn(p,({sources:J,states:Ae,values:st})=>{o(()=>{Rn(g,J,(I,oe)=>V(I,oe)),Sn(g,Ae,(I,oe)=>{G(ve=>oe?I.reduce((ct,ut)=>({...ct,[ut]:oe}),ve):I.reduce((ct,ut)=>Ke(ct,ut),ve))}),An(g,st,(I,oe)=>{C(ve=>({...ve,[I]:oe}))})})})};let Go=$n(e.field,Te),Se=(0,b.useCallback)(g=>{let J=E.safeParse(g).error?.issues.map(I=>I.message)??[],Ae=e.field.validation?.custom,st=Ae?ar(g,Ae,I=>n.get(rt(I)),u.current):[];N([...J,...st])},[e.field.validation?.custom,E,N,n]),Mt=(0,b.useCallback)((g,p)=>{if(y){r(()=>{p({value:g})},300);return}p(bt(g,x,t))},[x,t,y,r]);(0,b.useEffect)(()=>{if(s.current||!e.value)return;if(!e.field.event?.change){s.current=!0;return}if(!((!Be(e.field)||!!x&&x.length>0)&&Q(Te)))return;s.current=!0;let p=String(Te),J=y?{value:p}:bt(p,x,t);at.current?.(J)},[x,Te,t,y,e.field,e.value]);let $o=(0,b.useCallback)(g=>{let p=g.target.value;!h&&l()&&(!y||p===c.current)||(Dt.current?.(p),e.config.validation.change&&Se(p),e.field.event?.change&&Mt(p,J=>{at.current?.(J)}))},[Mt,h,e.config.validation.change,e.field.event?.change,l,Se]),Uo=(0,b.useCallback)(g=>{if(!h){let p=g.target.value;e.config.validation.blur&&Se(p)}},[h,e.config.validation.blur,Se]);return je(e.config.inputs[e.field.type],g=>(0,kt.jsx)(Ir,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations,children:(0,kt.jsx)(g,{...k,...e.ariaAttributes,...e.dataAttributes,...Go,onBlur:Uo,onChange:$o})}))}var It=require("react/jsx-runtime");function Wr(e){return!e.errors||e.errors.length===0?null:(0,It.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,It.jsx)("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}var zr=require("tailwind-merge"),Jr=require("react/jsx-runtime");function ot(e){let t=e.errors&&e.errors.length>0;return(0,Jr.jsx)("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[nn]:"true"},...e.disabled&&{[rn]:"true"},"data-orientation":e.orientation,className:(0,zr.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 Qr=require("tailwind-merge"),eo=require("react/jsx-runtime");function jr(e){return(0,eo.jsx)(ot,{...e,orientation:U,className:(0,Qr.twMerge)("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}var to=require("tailwind-merge"),ro=require("react/jsx-runtime");function no(e){return(0,ro.jsx)(ot,{...e,orientation:le,className:(0,to.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 wt=require("react/jsx-runtime");function oo(e){let t=Me(e.field),n=T(e.field),r=In(e.field);return e.orientation===U?(0,wt.jsx)(jr,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children}):(0,wt.jsx)(no,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children})}function io(e){if(!e.field.type)return null;let t=Vn(e.field,e.disabled),n=qn(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 lo=require("tailwind-merge"),fe=require("react/jsx-runtime");function ao(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:r}=He(e.style,{orientation:kn(e.field)}),o=wn(e.field,e.disabled);return(0,fe.jsxs)("div",{className:(0,lo.twMerge)("flex flex-col gap-3",zn(t)),children:[(0,fe.jsx)(oo,{disabled:o,errors:n,field:e.field,orientation:r,children:(0,fe.jsx)(io,{disabled:o,errors:n,field:e.field,orientation:r,children:e.children})}),(0,fe.jsx)(Wr,{errors:n,name:e.field.name})]})}var so=require("jotai"),mo=require("react/jsx-runtime");function co(e){return(t,n)=>o=>{let i=(0,so.useAtomValue)(e(o.field.name)),l=n(i,o);return l===null?null:(0,mo.jsx)(t,{...o,...l})}}var al=co(et);function uo(e){return al(e,(t,n)=>({errors:t?{[n.field.name]:t}:void 0}))}var sl=co(hr);function fo(e){return sl(e,(t,n)=>t?.hidden??n.field.hidden??!1?null:{disabled:t?.disabled??n.disabled})}var go=fo(uo(ao));var po=require("tailwind-merge");var F=require("react/jsx-runtime");function yo(e){function t(){e.canRemove&&e.onRemove&&e.onRemove(e.index)}let n=e.canRemove&&e.onRemove!=null&&(0,F.jsx)("button",{"aria-label":`Remove ${e.label} item ${e.index+1}`,className:(0,po.twMerge)("rounded p-1 text-xl text-slate-400","transition-colors duration-150","hover:text-red-500","focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:outline-none","dark:text-slate-500 dark:hover:text-red-400"),onClick:t,type:"button",children:(0,F.jsx)("span",{"aria-hidden":"true",children:"\xD7"})});return e.isMultiField?(0,F.jsxs)("div",{className:"rounded-lg border border-slate-100 p-4 dark:border-slate-900",children:[(0,F.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:[(0,F.jsxs)("span",{className:"text-sm font-medium text-slate-400 dark:text-slate-500",children:[e.label," ",e.index+1]}),n]}),(0,F.jsx)(ee,{children:e.children})]}):(0,F.jsxs)("div",{className:"flex items-start gap-2",children:[(0,F.jsx)(ee,{children:e.children}),n&&(0,F.jsx)("div",{className:"shrink-0",children:n})]})}var ho=require("tailwind-merge");var bo=require("jotai"),P=require("react");function xo(e,t){let n=e.advanced?.length?.min??1,r=e.advanced?.length?.max??1/0,[o,i]=(0,P.useState)(()=>Qn(e,t)),l=(0,P.useRef)(o.length),a=(0,P.useRef)(o);(0,P.useLayoutEffect)(()=>{a.current=o});let s=(0,bo.useSetAtom)(nt),c=(0,P.useCallback)(()=>{i(C=>{if(C.length>=r)return C;let G=l.current++;return[...C,G]})},[r]),u=(0,P.useCallback)(C=>{if(a.current.length<=n)return;let G=a.current[C];i(N=>N.length<=n?N:N.filter((x,V)=>V!==C)),s(N=>{let x={...N},V=`${e.name}.`,E=[];for(let S of e.fields)if(q(S))for(let $ of S.fields)E.push($.name);else E.push(S.name);for(let S of E)delete x[`${V}${G}.${S}`];return x})},[e.name,e.fields,n,s]),y=o.length<r,h=o.length>n;return[o,c,u,y,h,r]}var B=require("react/jsx-runtime");function Ro(e){let[t,n,r,o,i,l]=xo(e.field,e.value),a=jn(e.field),s=e.field.advanced?.action??"Add item",c=l!==1/0,u=Jn(e.field);return(0,B.jsxs)(B.Fragment,{children:[t.map((y,h)=>(0,B.jsx)(yo,{canRemove:i,index:h,isMultiField:u,label:a,onRemove:r,children:e.children(y)},y)),(0,B.jsxs)("button",{"aria-disabled":!o,"aria-label":c?`${s}, ${t.length} of ${l}`:s,className:(0,ho.twMerge)("flex w-full items-center gap-1.5 rounded py-1","text-sm font-medium text-slate-500","transition-colors duration-150","hover:text-slate-800","focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:ring-offset-2 focus-visible:outline-none","dark:text-slate-400 dark:hover:text-slate-200",!o&&"cursor-not-allowed opacity-50 hover:text-slate-500 dark:hover:text-slate-400"),disabled:!o,onClick:n,type:"button",children:[(0,B.jsx)("span",{"aria-hidden":"true",children:"+"}),s,c&&(0,B.jsxs)("span",{"aria-hidden":"true",className:"ml-auto text-slate-400 tabular-nums dark:text-slate-500",children:[t.length," / ",l]})]})]})}var So=require("react/jsx-runtime");function To(e){let t=Array.isArray(e.field.fields)&&e.field.fields.length===0;return(0,So.jsx)(Ye,{description:e.field.description,empty:t,id:e.field.name,title:e.field.label,children:e.children})}var it=require("react/jsx-runtime");function Ao({children:e,field:t,value:n}){return(0,it.jsx)(ze,{container:t,fields:t.fields,children:(0,it.jsx)(To,{field:t,children:(0,it.jsx)(Ro,{field:t,value:n,children:e})})})}var vo=require("tailwind-merge"),Lt=require("react/jsx-runtime");function Fo(e){let t=Wn(e.column?.advanced?.cols);return(0,Lt.jsx)("div",{className:"flex w-full flex-col gap-4",children:(0,Lt.jsx)("div",{className:(0,vo.twMerge)("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children})})}var Eo=require("react");var No=require("react/jsx-runtime");function Co(e){let t=Array.isArray(e.field.fields)?e.field.fields.map(n=>_e(n)?{...n,name:`${e.field.name}.${e.index}.${n.name}`}:q(n)?{...n,fields:n.fields.map(r=>({...r,name:`${e.field.name}.${e.index}.${r.name}`}))}:n):[];return(0,No.jsx)(he,{children:e.children,components:e.components,disabled:e.disabled,fields:t,style:e.style,value:e.value})}var z=require("react/jsx-runtime");function he(e){let{field:t,list:n}=e.components;return Ue(e.fields).map((r,o)=>(0,z.jsxs)(Eo.Fragment,{children:[q(r)&&(0,z.jsx)(Fo,{column:r,children:(0,z.jsx)(he,{...e,fields:r.fields})}),_e(r)&&(0,z.jsx)(t,{disabled:e.disabled,field:r,style:e.style,children:e.children}),Cn(r)&&(0,z.jsx)(n,{field:r,value:e.value,children:i=>(0,z.jsx)(Co,{children:e.children,components:e.components,disabled:e.disabled,field:r,index:i,style:e.style,value:e.value})})]},o))}var Io=require("react/jsx-runtime");function ko(e){return n=>(0,Io.jsx)(he,{...n,components:e})}var wo=ko({field:go,list:Ao});var Ot=require("jotai");var Re=require("react");function Po(e,t,n){let{onSuccess:r,preserveValues:o=!1,validation:i=!0,translations:l}=n??{},a=(0,Ot.useSetAtom)(Lr),s=(0,Ot.useSetAtom)(Pr),c={data:null,error:null,success:!1},[u,y,h]=(0,Re.useActionState)(async(C,G)=>{let[N,x]=e(),V=tr(N,x,l);if(i===!1)return t?await t(G,V):C;let E=yn(G),S=V.safeParse(E);if(!S.success){let k=nr(S.error);return(0,Re.startTransition)(()=>{a(k)}),Pt(E,{description:f("Please correct the errors and try again.",l),details:[],title:f("There were validation errors submitting the form.",l)})}let $=bn(E);if(t)try{let k=await t($,V);return k.success?(r?.(k.data),o||(0,Re.startTransition)(()=>{s()}),Lo($,o)):Pt($,k.error)}catch(k){return ye.error("Error executing form action:",k),Pt($,{title:f("An unexpected error occurred submitting the form.",l),details:cl(k,l)})}return Lo(S.data,o)},c);return[y,u,h]}function cl(e,t){return e instanceof Error?[e.message]:[f("Unknown error",t)]}function Lo(e,t=!1){return{data:t?e:null,error:null,success:!0}}function Pt(e,t){return{data:e,error:t,success:!1}}var re=require("react");var Oo=require("react"),lt=require("jotai");function Vo(){let e=(0,lt.useSetAtom)(wr),t=(0,lt.useSetAtom)(Or),n=(0,lt.useSetAtom)(_r);return(0,Oo.useCallback)(r=>{let o=Array.isArray(r)?r:[r];e(o),n(o),t(o)},[e,n,t])}function Do(){let e=Vo(),t=(0,re.useRef)({}),n=(0,re.useRef)([]),r=(0,re.useCallback)((l,a,s)=>{l in t.current||(t.current[l]=a,n.current.push(s))},[]),o=(0,re.useCallback)(l=>{t.current[l]&&(delete t.current[l],n.current=n.current.filter(a=>a.name!==l),e([l]))},[e]);return[(0,re.useCallback)(()=>[t.current,n.current],[]),r,o]}var O=require("react/jsx-runtime");function Mo(e){let t=e.translations?.[e.lang??""],[n,r,o]=Do(),[i,l,a]=Po(n,e.action,{onSuccess:e.onSuccess,validation:e.config.validation.submit,translations:t}),s=e.config.validation.showError&&!l.success&&l.error,c=l.data??e.value;return(0,O.jsxs)(O.Fragment,{children:[s&&je(e.config.alert,u=>(0,O.jsx)("div",{className:"mb-4 w-full",children:(0,O.jsx)(u,{description:l.error?.description,details:l.error?.details,title:l.error.title})})),(0,O.jsx)(Ar,{action:i,config:e.config,control:e.children,definition:e.definition,isPending:a,noValidate:!0,readOnly:e.readOnly,sections:e.sections,children:({disabled:u,fields:y})=>(0,O.jsx)(wo,{disabled:u,fields:y,style:e.config.style,value:c,children:h=>(0,O.jsx)(Kr,{...h,config:e.config,context:e.context,onMount:r,onUnmount:o,onValueChange:e.onValueChange,translations:t,value:c})})})]})}var _o=require("jotai"),Vt=require("react/jsx-runtime");function Bo(e){return(0,Vt.jsx)(_o.Provider,{children:(0,Vt.jsx)(Mo,{...e})})}
1
+ "use strict";var $o=Object.create;var Ae=Object.defineProperty;var Uo=Object.getOwnPropertyDescriptor;var zo=Object.getOwnPropertyNames;var Yo=Object.getPrototypeOf,Xo=Object.prototype.hasOwnProperty;var Ho=(e,t)=>{for(var n in t)Ae(e,n,{get:t[n],enumerable:!0})},Ot=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of zo(t))!Xo.call(e,o)&&o!==n&&Ae(e,o,{get:()=>t[o],enumerable:!(r=Uo(t,o))||r.enumerable});return e};var qo=(e,t,n)=>(n=e!=null?$o(Yo(e)):{},Ot(t||!e||!e.__esModule?Ae(n,"default",{value:e,enumerable:!0}):n,e)),Ko=e=>Ot(Ae({},"__esModule",{value:!0}),e);var sl={};Ho(sl,{Form:()=>Mo});module.exports=Ko(sl);var _t=require("react/jsx-runtime");function Mt(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return(0,_t.jsx)("div",{"data-slot":"field-control",className:"w-full",children:t})}var le=require("react");var ut=require("react/jsx-runtime");function Bt(e){return(0,ut.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:`size-4 transition-transform duration-200 ${e.expanded?"rotate-90":""}`,children:(0,ut.jsx)("path",{fillRule:"evenodd",d:"M8.22 5.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L11.94 10 8.22 6.28a.75.75 0 0 1 0-1.06Z",clipRule:"evenodd"})})}var ve="input",Gt="input/email",$t="input/number";var Ut="textarea",zt="radio",Yt="checkbox",dt="list";var Xt="select",Ht="select/month",qt="select/year";var de="column",ft="fields",Kt="label",A="value",Fe="options",mt="email",Zt="number",Wt="password",Jt="tel",fe="text",Qt="aria-errormessage",jt="aria-invalid",en="data-invalid",tn="data-readonly",nn="aria",rn="data",Ce="min",Ne="max",on="minLength",ln="maxLength",oe="$ref";var an="source",sn="state",ke="http://luna.internal";var cn="type";function d(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function Ee(e){return e==null||e===""}function U(e){return v(e)||typeof e=="number"||gt(e)}function v(e){return typeof e=="string"}function un(e){return d(e)&&"url"in e}function gt(e){return typeof e=="boolean"}var Zo=/^\d+$/;function yt(e,t=[],n=A){return Array.isArray(t)?t.find(r=>{let o=bt(r,n);if(o!==void 0&&`${o}`===e)return r})??{value:e}:{value:e}}function bt(e,t=A){if(e!=null){if(U(e))return e;if(d(e)){let n=Wo(e,t);if(U(n))return n}}}function Wo(e,t){let n=R(e,t);if(U(n))return n}function dn(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 fn(e,t={label:Kt,value:A}){return e.map(n=>{if(d(n)){let r=R(n,t.label),o=R(n,t.value);if(U(r)&&U(o))return{label:`${r}`,value:`${o}`}}return n})}function mn(e=fe){if(e){let t=e.lastIndexOf("/"),n=t===-1?e:e.slice(t+1);if(n&&n!==ve)return n.trim().toLowerCase()}return fe}function gn(e){let t={};for(let n of e.keys()){let r=e.getAll(n);t[n]=r.length>1?r:r[0]}return t}function pn(e){let t={};for(let n in e){let r=n.split(".");if(r.length===1){t[n]=e[n];continue}let o=t;for(let l=0;l<r.length-1;l++){let a=r[l],s=r[l+1],c=Zo.test(s);a in o||(o[a]=c?[]:{}),o=o[a]}let i=r[r.length-1];o[i]=e[n]}return pt(t),t}function pt(e){for(let t in e){let n=e[t];if(Array.isArray(n)){let r=n.filter(o=>o!==void 0);r.forEach(o=>{o!==null&&typeof o=="object"&&!Array.isArray(o)&&pt(o)}),e[t]=r}else n!==null&&typeof n=="object"&&pt(n)}}var Jo=/\[([^\]]{1,500})\]\(([^)]{1,2000})\)/g;function z(e,t={}){if(v(e))return Qo(e,t);if(Array.isArray(e))return e.map(n=>z(n,t));if(d(e)){let n={};for(let r in e)n[r]=z(e[r],t);return n}return e}function we(e,t={}){return me(e)?z(e,t):e}function me(e){return v(e)?/{([^}]{1,200})}/.test(e):Array.isArray(e)?e.some(t=>me(t)):d(e)?Object.values(e).some(t=>me(t)):!1}function Qo(e,t={}){return e.replace(/{([^}]{1,200})}/g,(n,r)=>{let o=r.includes(".")?R(t,r):t[r];return U(o)?String(o):n})}function yn(e,t){if(!v(e)||!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=Jo.exec(e))!==null;){let[l,a,s]=n,c=n.index;o=!0,c>r&&i.push(e.substring(r,c));let u=t?t(c,s,a):l;i.push(u),r=c+l.length}return o?(r<e.length&&i.push(e.substring(r)),i):e}var ge={error:(...e)=>{xt()&&!ht()&&Ie().error("[Luna Form]",...e)},warn:(...e)=>{xt()&&!ht()&&Ie().warn("[Luna Form]",...e)},info:(...e)=>{xt()&&!ht()&&Ie().info("[Luna Form]",...e)}},xt=()=>typeof Ie()<"u",ht=()=>!0,Ie=()=>globalThis.console;function bn(e=[],t){let n=[],r=[],o=[];for(let i of e)i.action===A&&n.push(i),i.action===an&&r.push(i),i.action===sn&&o.push(i);t({sources:r,states:o,values:n})}function xn(e=null,t=[],n){for(let r of t){let{target:o,source:i}=r;if(!e){n(o,void 0);continue}if(un(i)){let l=z(i.url,e),a=i.body?z(i.body,e):i.body;n(o,{...i,url:l,body:a})}}}var pe={eq:ri,gt:ai,gte:si,in:ii,lt:ci,lte:ui,neq:oi,nin:li},jo=/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2})?/,hn=/^(\d{2})[/-](\d{2})[/-](\d{4})(?: (\d{2}):(\d{2})(?::(\d{2}))?)?$/;function ei(e){return typeof e=="string"&&jo.test(e)}function ti(e){return typeof e=="string"&&hn.test(e)}function ni(e){let t=e.match(hn);if(t){let[,n,r,o,i,l,a]=t;return new Date(Number(o),Number(r)-1,Number(n),Number(i??0),Number(l??0),Number(a??0)).getTime()}return NaN}function Y(e){return ei(e)?new Date(e).getTime():ti(e)?ni(e):Number(e)}function ri(e,t){return e===t}function oi(e,t){return e!==t}function ii(e,t){return Array.isArray(t)&&t.includes(String(e))}function li(e,t){return Array.isArray(t)&&!t.includes(String(e))}function ai(e,t){return Y(e)>Y(t)}function si(e,t){return Y(e)>=Y(t)}function ci(e,t){return Y(e)<Y(t)}function ui(e,t){return Y(e)<=Y(t)}function Rn(e=null,t=[],n){for(let r of t){let{target:o,state:i,when:l}=r,a=Array.isArray(o)?o:[o];if(!e){n(a);continue}let s=di(e,l);n(a,s?i:void 0)}}function di(e,t){return t===void 0?!0:v(t)?Le(e,A)===t:gt(t)?!!Le(e,A)===t:Array.isArray(t)?t.includes(String(Le(e,A))):fi(e,t)}function fi(e=null,t){let n=Le(e,t.field??A),{operator:r="eq",value:o}=t,i=pe[r];return i?i(n,o):!1}function Le(e,t){return d(e)?R(e,t):e}function Tn(e=null,t=[],n){for(let r of t)for(let[o,i]of Object.entries(r.value))n(o,e?z(i,e):void 0)}var Pe=e=>I(Ht)(e),Ve=e=>I(qt)(e),T=I(Yt),Rt=I(ve),O=I(zt),M=I(Xt),Tt=I(Ut),Sn=I(fe,mt,Wt,Jt),An=I(Gt,mt),De=I($t,Zt);function Oe(e){return O(e)||T(e)}function vn(e){return e.type===dt}function X(e){return e.type===de}function Me(e){return e.type!==de&&e.type!==dt}function _e(e){return M(e)||O(e)}function Fn(e){return Rt(e)||Tt(e)}function J(e){return e!=null&&e!==""}function I(...e){return t=>{let n=v(t.type)?t.type:void 0;return n?e.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function Cn(e,t={}){if(M(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&d(n))return[n]}}function Nn(e){return O(e)||T(e)?!0:e.advanced?.horizontal??!1}function kn(e){return T(e)?e.advanced?.reverse!==!1:!1}function En(e,t){let n=e.readonly??!1;return t||n}function wn(e){if(O(e)||M(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||d(t)&&!(oe in t))return t}}var mi=/^\d+$/;function In(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function Ln(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 St(){return new Date().getFullYear()}function At(e,t){if(typeof e=="number")return e;let n=t??St(),r=e.trim().toLowerCase();if(r.startsWith("current")){let o=r.match(/^current([+-])(\d+)$/);if(o){let[,i,l]=o,a=parseInt(l,10);if(!isNaN(a))return i==="+"?n+a:n-a}return n}return mi.test(r)?parseInt(r,10):n}var Be=St();function gi(e){if(M(e))return pi(e)}function pi(e){if(Pe(e))return In();if(Ve(e)){let t=e.advanced?.length?.min??Be,n=e.advanced?.length?.max??Be+5;return Ln(At(t,Be),At(n,Be))}}function Pn(e,t=!1){let n={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return Rt(e)?{...n,...yi(e)}:M(e)?{...n,...bi(e)}:Tt(e)?{...n,...xi(e)}:n}function yi(e){let t=mn(e.type),n={...e,type:t};return{...Vn(e),...hi(n),...Sn(n)?Dn(n):{},type:t}}function bi(e){let t=gi(e);return t?{options:t}:{}}function xi(e){return{...Vn(e),...Dn(e)}}function Vn(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function hi(e){return De(e)?Ri(e):{}}function Dn(e){return On(e,{min:on,max:ln})}function Ri(e){return On(e,{min:Ce,max:Ne})}function On(e,t){let n={},r=e.advanced?.length;return r&&(r.min!==void 0&&(n[t.min]=r.min),r.max!==void 0&&(n[t.max]=r.max)),n}function Mn(e,t){let n=wn(e);return n||Cn(e,t)}function Ti(e,t){let n=d(t)&&e.name in t?t[e.name]:t;return bt(n,e.advanced?.entity)}function Si(e,t,n){return _e(e)&&Array.isArray(n)?{...t,[Fe]:n}:t}function Ai(e,t,n){if(e.required&&!J(n)&&M(e)&&e.advanced?.preselected!==!1&&Fe in t){let r=t[Fe];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function vi(e,t){return M(e)&&Array.isArray(t)?fn(t,e.advanced?.options):t}function _n(e,t,n,r){let o=Ti(e,r),i=Array.isArray(n)?vi(e,n):n,l=Si(e,t,i),a=Ai(e,l,o);return{commonPropsWithOptions:l,defaultValue:a}}function Bn(e,t){return T(e)?{checked:J(t)?t:!1}:{value:t??""}}var Fi=/^#\/definition\//;function $e(e=[],t){let n=Ge(e,t);return Array.isArray(n)?n.filter(Ni).sort((r,o)=>Gn(r)-Gn(o)):[]}function Ge(e,t,n=new Map,r=new WeakSet){if(!Ci(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(oe in e&&v(e[oe])){let i=e[oe].replace(Fi,""),l=R(t,i);return l!==null?Ge(l,t,n,r):e}let o={};for(let[i,l]of Object.entries(e))o[i]=Ge(l,t,n,r);return r.delete(e),n.set(e,o),o}function $n(e){return Object.entries(e??{})}function Gn(e){return e.order??Number.MAX_VALUE}function Ci(e){return e!==void 0&&d(e)&&Object.keys(e).length>0}function Ni(e){return cn in e?!0:Array.isArray(e[ft])?e[ft].length>0:!0}function Un(e,t){let n={};for(let[r,o]of $n(t))n[`${e}-${r}`]=o;return n}function ki(e){return Un(nn,e)}function Ei(e){return Un(rn,e)}function zn(e,t){let n=ki(e.advanced?.aria);return t&&t.length>0&&(n[jt]="true",n[Qt]=`${e.name}-error`),n}function Yn(e){return Ei(e.advanced?.data)}var Xn={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},Hn={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function qn(e,t=2){return Xn[e&&e in Xn?e:t]}function Kn(e){if(e&&e in Hn)return Hn[e]}function wi(e,t){let n=e.advanced?.length?.min??1;if(t){let r=R(t,e.name);if(Array.isArray(r))return Math.max(r.length,n)}return Math.max(n,0)}function Zn(e){return!Array.isArray(e.fields)||e.fields.length===0?!1:e.fields.length>1||e.fields[0].type===de}function Wn(e,t){let n=wi(e,t);return Array.from({length:n},(r,o)=>o)}function Jn(e){return e.label??e.name}var f=require("zod");function p(e,t){return e?t?t[e]??e:e:""}var Ii=[[De,Oi],[An,Li],[Ve,Mi],[Pe,_i],[T,Pi],[O,Vi]];function jn(e,t=[],n){let r=f.z.object(e);return t.length===0?r:Ui(r,t,n)}function er(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 tr(e,t){for(let[n,r]of Ii)if(n(e))return r(e,t);return Di(e,t)}function Li(e,t){let n=f.z.string().trim();if(e.required){let r=ie(e,t),o=n.min(1,r).pipe(Qn(e,t));return f.z.preprocess(i=>Ee(i)?"":i,o)}return n.pipe(Qn(e,t)).or(f.z.literal("")).nullable()}function Pi(e,t){let n=f.z.coerce.boolean();return e.required?(n=n.refine(r=>r===!0,{message:ie(e,t)}),f.z.preprocess(r=>r===null?!1:r,n)):n.nullable()}function Vi(e,t){let n=f.z.coerce.string();return e.required?(n=n.min(1,ie(e,t)),f.z.preprocess(r=>Ee(r)?"":r,n)):n.or(f.z.literal("")).nullable()}function Di(e,t){let n=f.z.coerce.string().trim();return n=nr(n,e,t),e.required?(n=rr(n,e,t),f.z.preprocess(r=>Ee(r)?"":r,n)):n.nullable()}function Oi(e,t){let n=f.z.coerce.number().int();return n=nr(n,e,t),e.required?(n=rr(n,e,t),f.z.preprocess(r=>r===null?void 0:r,n)):n.nullable()}function Mi(e,t){return e.required?f.z.preprocess(Bi,f.z.coerce.number({message:ie(e,t)}).int()):f.z.coerce.number().int().nullable()}function _i(e,t){let n=ie(e,t),r=f.z.coerce.number().int().min(1,n).max(12,n);return e.required?r:r.nullable()}function Bi(e){return e===null||e===""?void 0:e}function Qn(e,t){let n=e.validation?.email?p(e.validation?.email,t):void 0;return f.z.email(n)}function nr(e,t,n){return e=Gi(e,t,n),e=$i(e,t,n),e}function rr(e,t,n){let r=t.advanced?.length?.min;return r===void 0||r<1?e.min(1,ie(t,n)):e}var Gi=(e,t,n)=>or(e,t,Ce,n),$i=(e,t,n)=>or(e,t,Ne,n);function or(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 Ui(e,t=[],n){let r=Yi(t);return r.length===0?e:e.superRefine((o,i)=>{for(let{name:l,rule:a}of r)if(!zi(o,l,a)){let s=p(a.message,n);i.addIssue({code:"custom",message:s,path:[l]})}})}function zi(e,t,n){let r=n.operator??"eq",o=pe[r];return o?o(e[t],e[n.field]):!1}function Yi(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 ir(e,t,n,r){let o=[],i=Array.isArray(t)?t:[t];for(let l of i){let a=l.operator??"eq",s=pe[a];if(s&&!s(e,n(l.field))&&l.message){let c=p(l.message,r);o.push(c)}}return o}function ie(e,t){return e.validation?.required?p(e.validation?.required,t):void 0}function lr(e,t){if(!t||!Hi(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||Xi(r);return t.some(l=>!(l.protocol&&l.protocol!==r||l.hostname&&l.hostname!==o||l.port!==void 0&&String(l.port)!==i))}catch{return!1}}function Xi(e){return e==="https"?"443":"80"}function Hi(e){return/^(https?:)?\/\//.test(e)}function ar(e,t){try{if(!e)return t;if(!t)return e;let n=new URL(e,ke);new URL(t,ke).searchParams.forEach((i,l)=>{n.searchParams.set(l,i)});let o=n.toString();return e.startsWith("/")||!e.includes("://")?o.replace(ke,""):o}catch{return t||e}}function sr(e){return!Array.isArray(e)||e.length===0?null:e.reduce((t,n)=>{let r=ar(t.url,n.url),o=qi(t,n),i=Ki(t,n);return{...t,...n,url:r,body:o,headers:i}})}function qi(e,t){return d(t.body)&&d(e?.body)?{...e.body,...t.body}:t.body??e?.body}function Ki(e,t){return d(t.headers)&&d(e?.headers)?{...e.headers,...t.headers}:t.headers??e?.headers}function Ue(e,t){return{...e,...t}}var cr=require("react/jsx-runtime");function H(e){return yn(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){let{fields:t=[]}=e.section,[n,r]=(0,le.useState)(!1),o=(0,le.useCallback)(()=>r(i=>!i),[]);return(0,L.jsxs)("fieldset",{"data-slot":"field-set","data-advanced":"true","data-expanded":n,"data-empty":t.length===0,className:"flex flex-col",id:e.section.id?.toString(),children:[(0,L.jsx)("legend",{children:(0,L.jsxs)("button",{className:"flex cursor-pointer items-center gap-2 text-base font-medium text-slate-600 dark:text-slate-400",onClick:o,type:"button",children:[(0,L.jsx)(Bt,{expanded:n}),(0,L.jsx)("span",{children:H(e.section.title)})]})}),(0,L.jsx)(le.Activity,{mode:n?"visible":"hidden",children:(0,L.jsxs)("div",{className:"mt-3 ml-1.5 flex flex-col gap-4 border-l-2 border-slate-300 pl-4 dark:border-slate-600","data-slot":"field-set-content",children:[e.section.description&&(0,L.jsx)("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:H(e.section.description)}),e.group]})})]})}var Q=require("react/jsx-runtime");function dr(e){return(0,Q.jsxs)(Q.Fragment,{children:[e.title&&(0,Q.jsx)("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:H(e.title)}),e.description&&(0,Q.jsx)("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:H(e.description)})]})}var Ye=require("react/jsx-runtime");function ze(e){return(0,Ye.jsxs)("fieldset",{"data-slot":"field-set","data-empty":e.empty,className:"flex flex-col data-[empty=false]:gap-6",id:e.id,children:[(0,Ye.jsx)(dr,{description:e.description,title:e.title}),e.children]})}var fr=require("react/jsx-runtime");function j(e){return(0,fr.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 Xe=require("react/jsx-runtime");function mr(e){let{fields:t=[]}=e.section,{compact:n}=Ue(e.style,{compact:e.section.compact}),r=(0,Xe.jsx)(j,{compact:n,children:e.children});return!e.section.title&&!e.section.description?r:e.section.advanced?(0,Xe.jsx)(ur,{section:e.section,group:r}):(0,Xe.jsx)(ze,{description:e.section.description,empty:t.length===0,id:e.section.id?.toString(),title:e.section.title,children:r})}var xr=require("jotai");var q=require("jotai"),vt=require("jotai-family"),He=require("fast-equals");function qe(e,t){let{[t]:n,...r}=e;return r}function Zi(e){return(0,vt.atomFamily)(t=>(0,q.atom)(n=>n(e)[t]??void 0,(n,r,o)=>{let i=n(e);if(o!=null){let l=i[t];(!l||!(0,He.deepEqual)(l,o))&&r(e,{...i,[t]:o})}else i[t]&&r(e,qe(i,t))}))}function Wi(e){return(0,q.atom)(null,(t,n)=>{let r=t(e);r&&Object.keys(r).length>0&&n(e,{})})}function Ji(e){return(0,q.atom)(null,(t,n,r)=>{let i={...t(e)},l=!1;for(let a of r)i[a]&&(delete i[a],l=!0);l&&n(e,i)})}function Qi(e){return(0,q.atom)(null,(t,n,r)=>{let o=t(e);(0,He.deepEqual)(o,r)||n(e,r)})}function gr(e,t={}){let{merge:n,validateTarget:r}=t;return(0,vt.atomFamily)(o=>(0,q.atom)(i=>{let l=i(e)[o];if(l&&n)return n(Object.values(l))},(i,l,a,s)=>{if(r&&!r(a))return;let c=i(e),u={...c[a]??{}};if(s!=null){let y=u[o];(!y||!(0,He.deepEqual)(y,s))&&(u[o]=s,l(e,{...c,[a]:u}))}else u[o]&&(delete u[o],Object.keys(u).length===0?l(e,qe(c,a)):l(e,{...c,[a]:u}))}))}function pr(e){return(0,q.atom)(null,(t,n,r)=>{let i={...t(e)},l=!1;for(let a of r)i[a]&&(delete i[a],l=!0);for(let a in i){let s={...i[a]},c=!1;for(let u of r)s[u]&&(delete s[u],c=!0,l=!0);c&&(Object.keys(s).length===0?delete i[a]:i[a]=s)}l&&n(e,i)})}function ae(e={}){let t=(0,q.atom)(e);return{atom:t,clearAll:Wi(t),clear:Ji(t),bulkReport:Qi(t),report:Zi(t)}}var yr=ae(),Ke=yr.atom,br=yr.report;function ji(e,t){return e.fields.every(n=>hr(n,t))}function hr(e,t){return t[e.name]?.hidden??e.hidden??!1}function el(e,t){return X(e)?ji(e,t):hr(e,t)}function Ze(e){let t=(0,xr.useAtomValue)(Ke);return e.container&&(t[e.container.name]?.hidden??e.container.hidden??!1)||e.fields.length===0||e.fields.every(r=>el(r,t))?null:e.children}var Ft=require("react/jsx-runtime");function Rr(){return(0,Ft.jsx)("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:(0,Ft.jsx)("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}var _=require("react/jsx-runtime");function Tr(e){let t=$e(e.sections,e.definition);return(0,_.jsx)("div",{className:"h-full w-full",children:(0,_.jsx)("form",{noValidate:e.noValidate,action:e.action,children:(0,_.jsxs)(j,{children:[t.map((n,r)=>(0,_.jsxs)(Ze,{fields:n.fields??[],children:[(0,_.jsx)(mr,{section:n,style:e.config.style,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.separator&&(0,_.jsx)(Rr,{})]},r)),e.control&&(0,_.jsx)(Mt,{isPending:e.isPending,children:e.control})]})})})}var Ar=require("react/jsx-runtime");function Sr(e){return(0,Ar.jsx)("p",{className:"-mt-2 text-xs leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}var vr=require("react/jsx-runtime");function We(e){let t={context:e.context,env:e.config?.env},n=p(we(e.text,t),e.translations),r=H(n);return r?(0,vr.jsx)(Sr,{children:r}):null}var Fr=require("tailwind-merge"),Je=require("react/jsx-runtime");function Cr(e){let t=e.style?.showOptionalLabel??!0,n=O(e.field)||T(e.field);return(0,Je.jsxs)("label",{"data-slot":"field-label","data-normal":n,className:(0,Fr.twMerge)("flex w-fit items-center gap-2 text-sm leading-snug font-medium select-none","data-[normal=true]:font-normal","group-data-[readonly=true]:cursor-not-allowed group-data-[readonly=true]:opacity-50"),htmlFor:e.field.name,children:[e.children,t&&!e.field.required&&(0,Je.jsx)("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:p("(Optional)",e.translations)})]})}var ye=require("react/jsx-runtime");function Nr(e){let t={context:e.context,env:e.config?.env},n=we(e.field.label,t);return(0,ye.jsxs)("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[(0,ye.jsx)(Cr,{field:e.field,style:e.config?.style,translations:e.translations,children:p(n,e.translations)}),e.horizontal===!0&&(0,ye.jsx)(We,{config:e.config,context:e.context,text:e.field.description,translations:e.translations})]})}var ee=require("react/jsx-runtime");function kr(e){return(0,ee.jsxs)(ee.Fragment,{children:[e.field.name&&e.field.label&&(0,ee.jsx)(Nr,{config:e.config,context:e.context,field:e.field,horizontal:e.horizontal,translations:e.translations}),e.children,e.horizontal===!1&&(0,ee.jsx)(We,{config:e.config,context:e.context,text:e.field.description,translations:e.translations})]})}function Qe(e,t){return e?t(e):null}var Ct=ae(),Er=Ct.clear,wr=Ct.bulkReport,je=Ct.report;var et=ae(),tt=et.atom,Ir=et.clearAll,Lr=et.clear,nt=et.report;var b=require("react");var Pr=require("jotai");var tl=e=>{let t=sr(e);if(t)return t},nl=e=>e.trim()!=="",Vr=(0,Pr.atom)({}),Dr=gr(Vr,{merge:tl,validateTarget:nl}),Or=pr(Vr);var Br=require("jotai");var Mr=qo(require("swr"),1);function _r(e=null,t,n=!1){let{data:r,error:o}=(0,Mr.default)(rl(e,t,n),t.fetcher.provider);if(o&&ge.error("Error fetching data source:",o),e){if(Array.isArray(e))return e;if(r)return dn(r,e.namespace)}return null}function rl(e=null,t,n=!1){if(e&&!Array.isArray(e)&&!n&&e.url&&!me(e.url)){if(lr(e.url,t.fetcher.remotePatterns))return e;ge.warn(`URL blocked by remotePatterns: ${e.url}. Check your luna.config.ts`)}return null}function Gr(e,t,n){let r=Mn(e,n),[o,i]=(0,Br.useAtom)(Dr(e.name));return[_r(o??r,t,e.disabled),i]}var te=require("react");function $r(e,t,n,r){let{name:o}=e,i=(0,te.useMemo)(()=>tr(e,r),[e,r]),l=(0,te.useEffectEvent)(s=>{s&&t(s,i,e)}),a=(0,te.useEffectEvent)(s=>{s&&n(s)});return(0,te.useEffect)(()=>(l(o),()=>{a(o)}),[o]),i}var ce=require("jotai");var se=require("react");function Ur(){let e=(0,se.useRef)(null);return(0,se.useEffect)(()=>()=>{e.current&&clearTimeout(e.current)},[]),(0,se.useCallback)((n,r)=>{e.current&&(clearTimeout(e.current),e.current=null),e.current=setTimeout(n,r)},[])}var zr=require("fast-equals");var Yr=require("jotai"),K=require("react");function Xr(e,t){let{name:n}=e,r=(0,K.useRef)(!1),[o,i]=(0,Yr.useAtom)(nt(n)),l=(0,K.useEffectEvent)(s=>{let c=ol(n,s);J(c)&&((0,zr.deepEqual)(o,c)||(r.current=!0),i(c))});(0,K.useEffect)(()=>{t&&l(t)},[t]);let a=(0,K.useCallback)(()=>r.current?(r.current=!1,!0):!1,[]);return{setValue:i,shouldSkipOnChange:a,value:o}}function ol(e,t){if(e in t)return t[e];if(!e.includes("."))return;let n=e.split("."),r=t;for(let o of n){if(r==null)return;if(Array.isArray(r)){let i=Number(o);r=Number.isInteger(i)?r[i]:void 0}else if(typeof r=="object")r=r[o];else return}return r}var Nt=require("react/jsx-runtime");function Hr(e){let t=e.field.advanced?.entity,n=(0,ce.useStore)(),r=Ur(),[,o]=(0,b.useTransition)(),{setValue:i,shouldSkipOnChange:l,value:a}=Xr(e.field,e.value),s=(0,b.useRef)(!1),c=(0,b.useRef)(a);c.current=a;let u=(0,b.useRef)(e.translations);u.current=e.translations;let y=Fn(e.field),h=Oe(e.field),C=(0,ce.useSetAtom)(tt),G=(0,ce.useSetAtom)(Ke),N=(0,ce.useSetAtom)(je(e.field.name)),[x,D]=Gr(e.field,e.config,a),k=$r(e.field,e.onMount,e.onUnmount,e.translations),S=p(e.commonProps.placeholder,e.translations),$={...e.commonProps,placeholder:S},{commonPropsWithOptions:E,defaultValue:he}=_n(e.field,$,x,a),Vt=(0,b.useRef)(null);Vt.current=m=>{if(i(m),e.onValueChange){let g=e.dataAttributes??{};e.onValueChange({data:Object.keys(g).length>0?g:void 0,name:e.field.name,type:e.field.type,value:m})}};let lt=(0,b.useRef)(null);lt.current=m=>{let g=e.field.event?.change;g&&bn(g,({sources:W,states:Te,values:at})=>{o(()=>{xn(m,W,(w,re)=>D(w,re)),Rn(m,Te,(w,re)=>{G(Se=>re?w.reduce((st,ct)=>({...st,[ct]:re}),Se):w.reduce((st,ct)=>qe(st,ct),Se))}),Tn(m,at,(w,re)=>{C(Se=>({...Se,[w]:re}))})})})};let _o=Bn(e.field,he),Re=(0,b.useCallback)(m=>{let W=k.safeParse(m).error?.issues.map(w=>w.message)??[],Te=e.field.validation?.custom,at=Te?ir(m,Te,w=>n.get(nt(w)),u.current):[];N([...W,...at])},[e.field.validation?.custom,k,N,n]),Dt=(0,b.useCallback)((m,g)=>{if(y){r(()=>{g({value:m})},300);return}g(yt(m,x,t))},[x,t,y,r]);(0,b.useEffect)(()=>{if(s.current||!e.value)return;if(!e.field.event?.change){s.current=!0;return}if(!((!_e(e.field)||!!x&&x.length>0)&&J(he)))return;s.current=!0;let g=String(he),W=y?{value:g}:yt(g,x,t);lt.current?.(W)},[x,he,t,y,e.field,e.value]);let Bo=(0,b.useCallback)(m=>{let g=m.target.value;!h&&l()&&(!y||g===c.current)||(Vt.current?.(g),e.config.validation.change&&Re(g),e.field.event?.change&&Dt(g,W=>{lt.current?.(W)}))},[Dt,h,y,e.config.validation.change,e.field.event?.change,l,Re]),Go=(0,b.useCallback)(m=>{if(!h){let g=m.target.value;e.config.validation.blur&&Re(g)}},[h,e.config.validation.blur,Re]);return Qe(e.config.inputs[e.field.type],m=>(0,Nt.jsx)(kr,{config:e.config,context:e.context,field:e.field,horizontal:e.horizontal,translations:e.translations,children:(0,Nt.jsx)(m,{...E,...e.ariaAttributes,...e.dataAttributes,..._o,onBlur:Go,onChange:Bo})}))}var kt=require("react/jsx-runtime");function qr(e){return!e.errors||e.errors.length===0?null:(0,kt.jsx)("ul",{className:"text-sm text-red-600 dark:text-red-500",id:e.name?`${e.name}-error`:void 0,children:e.errors?.map((t,n)=>(0,kt.jsx)("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}var Kr=require("tailwind-merge"),Zr=require("react/jsx-runtime");function rt(e){let t=e.errors&&e.errors.length>0;return(0,Zr.jsx)("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[en]:"true"},...e.disabled&&{[tn]:"true"},"data-orientation":e.orientation,className:(0,Kr.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 Wr=require("tailwind-merge"),Qr=require("react/jsx-runtime");function Jr(e){return(0,Qr.jsx)(rt,{...e,orientation:"vertical",className:(0,Wr.twMerge)("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}var jr=require("tailwind-merge"),to=require("react/jsx-runtime");function eo(e){return(0,to.jsx)(rt,{...e,orientation:"horizontal",className:(0,jr.twMerge)("gap-2 md:flex-row md:gap-4","[&>[data-slot=field-content]]:min-w-0 [&>[data-slot=field-content]]:flex-grow [&>[data-slot=field-content]]:self-start","[&_[role=checkbox]]:mt-[1.5px]",e.isClickable&&"md:flex-col",!e.isClickable&&["md:justify-between","[&>*:not([data-slot=field-content])]:w-full","[&>*:not([data-slot=field-content])]:md:w-1/2","[&>*:not([data-slot=field-content])]:xl:w-2/5"]),children:e.children})}var Et=require("react/jsx-runtime");function no(e){let t=Oe(e.field),n=T(e.field),r=kn(e.field);return e.horizontal?(0,Et.jsx)(eo,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children}):(0,Et.jsx)(Jr,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children})}function ro(e){if(!e.field.type)return null;let t=Pn(e.field,e.disabled),n=Yn(e.field),r=zn(e.field,e.errors),o={...e.field,disabled:t.disabled};return e.children({ariaAttributes:r,commonProps:t,dataAttributes:n,field:o,horizontal:e.horizontal})}var oo=require("tailwind-merge"),ue=require("react/jsx-runtime");function io(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{horizontal:r}=Ue(e.style,{horizontal:Nn(e.field)}),o=En(e.field,e.disabled);return(0,ue.jsxs)("div",{className:(0,oo.twMerge)("flex flex-col gap-3",Kn(t)),children:[(0,ue.jsx)(no,{disabled:o,errors:n,field:e.field,horizontal:r,children:(0,ue.jsx)(ro,{disabled:o,errors:n,field:e.field,horizontal:r,children:e.children})}),(0,ue.jsx)(qr,{errors:n,name:e.field.name})]})}var lo=require("jotai"),uo=require("react/jsx-runtime");function ao(e){return(t,n)=>o=>{let i=(0,lo.useAtomValue)(e(o.field.name)),l=n(i,o);return l===null?null:(0,uo.jsx)(t,{...o,...l})}}var il=ao(je);function so(e){return il(e,(t,n)=>({errors:t?{[n.field.name]:t}:void 0}))}var ll=ao(br);function co(e){return ll(e,(t,n)=>t?.hidden??n.field.hidden??!1?null:{disabled:t?.disabled??n.disabled})}var fo=co(so(io));var mo=require("tailwind-merge");var F=require("react/jsx-runtime");function go(e){function t(){e.canRemove&&e.onRemove&&e.onRemove(e.index)}let n=e.canRemove&&e.onRemove!=null&&(0,F.jsx)("button",{"aria-label":`Remove ${e.label} item ${e.index+1}`,className:(0,mo.twMerge)("rounded p-1 text-xl text-slate-400","transition-colors duration-150","hover:text-red-500","focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:outline-none","dark:text-slate-500 dark:hover:text-red-400"),onClick:t,type:"button",children:(0,F.jsx)("span",{"aria-hidden":"true",children:"\xD7"})});return e.isMultiField?(0,F.jsxs)("div",{className:"rounded-lg border border-slate-100 p-4 dark:border-slate-900",children:[(0,F.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:[(0,F.jsxs)("span",{className:"text-sm font-medium text-slate-400 dark:text-slate-500",children:[e.label," ",e.index+1]}),n]}),(0,F.jsx)(j,{children:e.children})]}):(0,F.jsxs)("div",{className:"flex items-start gap-2",children:[(0,F.jsx)(j,{children:e.children}),n&&(0,F.jsx)("div",{className:"shrink-0",children:n})]})}var bo=require("tailwind-merge");var po=require("jotai"),P=require("react");function yo(e,t){let n=e.advanced?.length?.min??1,r=e.advanced?.length?.max??1/0,[o,i]=(0,P.useState)(()=>Wn(e,t)),l=(0,P.useRef)(o.length),a=(0,P.useRef)(o);(0,P.useLayoutEffect)(()=>{a.current=o});let s=(0,po.useSetAtom)(tt),c=(0,P.useCallback)(()=>{i(C=>{if(C.length>=r)return C;let G=l.current++;return[...C,G]})},[r]),u=(0,P.useCallback)(C=>{if(a.current.length<=n)return;let G=a.current[C];i(N=>N.length<=n?N:N.filter((x,D)=>D!==C)),s(N=>{let x={...N},D=`${e.name}.`,k=[];for(let S of e.fields)if(X(S))for(let $ of S.fields)k.push($.name);else k.push(S.name);for(let S of k)delete x[`${D}${G}.${S}`];return x})},[e.name,e.fields,n,s]),y=o.length<r,h=o.length>n;return[o,c,u,y,h,r]}var B=require("react/jsx-runtime");function xo(e){let[t,n,r,o,i,l]=yo(e.field,e.value),a=Jn(e.field),s=e.field.advanced?.action??"Add item",c=l!==1/0,u=Zn(e.field);return(0,B.jsxs)(B.Fragment,{children:[t.map((y,h)=>(0,B.jsx)(go,{canRemove:i,index:h,isMultiField:u,label:a,onRemove:r,children:e.children(y)},y)),(0,B.jsxs)("button",{"aria-disabled":!o,"aria-label":c?`${s}, ${t.length} of ${l}`:s,className:(0,bo.twMerge)("flex w-full items-center gap-1.5 rounded py-1","text-sm font-medium text-slate-500","transition-colors duration-150","hover:text-slate-800","focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:ring-offset-2 focus-visible:outline-none","dark:text-slate-400 dark:hover:text-slate-200",!o&&"cursor-not-allowed opacity-50 hover:text-slate-500 dark:hover:text-slate-400"),disabled:!o,onClick:n,type:"button",children:[(0,B.jsx)("span",{"aria-hidden":"true",children:"+"}),s,c&&(0,B.jsxs)("span",{"aria-hidden":"true",className:"ml-auto text-slate-400 tabular-nums dark:text-slate-500",children:[t.length," / ",l]})]})]})}var Ro=require("react/jsx-runtime");function ho(e){let t=Array.isArray(e.field.fields)&&e.field.fields.length===0;return(0,Ro.jsx)(ze,{description:e.field.description,empty:t,id:e.field.name,title:e.field.label,children:e.children})}var ot=require("react/jsx-runtime");function To({children:e,field:t,value:n}){return(0,ot.jsx)(Ze,{container:t,fields:t.fields,children:(0,ot.jsx)(ho,{field:t,children:(0,ot.jsx)(xo,{field:t,value:n,children:e})})})}var So=require("tailwind-merge"),wt=require("react/jsx-runtime");function Ao(e){let t=qn(e.column?.advanced?.cols);return(0,wt.jsx)("div",{className:"flex w-full flex-col gap-4",children:(0,wt.jsx)("div",{className:(0,So.twMerge)("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children})})}var Co=require("react");var Fo=require("react/jsx-runtime");function vo(e){let t=Array.isArray(e.field.fields)?e.field.fields.map(n=>Me(n)?{...n,name:`${e.field.name}.${e.index}.${n.name}`}:X(n)?{...n,fields:n.fields.map(r=>({...r,name:`${e.field.name}.${e.index}.${r.name}`}))}:n):[];return(0,Fo.jsx)(be,{children:e.children,components:e.components,disabled:e.disabled,fields:t,style:e.style,value:e.value})}var Z=require("react/jsx-runtime");function be(e){let{field:t,list:n}=e.components;return $e(e.fields).map((r,o)=>(0,Z.jsxs)(Co.Fragment,{children:[X(r)&&(0,Z.jsx)(Ao,{column:r,children:(0,Z.jsx)(be,{...e,fields:r.fields})}),Me(r)&&(0,Z.jsx)(t,{disabled:e.disabled,field:r,style:e.style,children:e.children}),vn(r)&&(0,Z.jsx)(n,{field:r,value:e.value,children:i=>(0,Z.jsx)(vo,{children:e.children,components:e.components,disabled:e.disabled,field:r,index:i,style:e.style,value:e.value})})]},o))}var ko=require("react/jsx-runtime");function No(e){return n=>(0,ko.jsx)(be,{...n,components:e})}var Eo=No({field:fo,list:To});var Lt=require("jotai");var xe=require("react");function Io(e,t,n){let{onSuccess:r,preserveValues:o=!1,validation:i=!0,translations:l}=n??{},a=(0,Lt.useSetAtom)(wr),s=(0,Lt.useSetAtom)(Ir),c={data:null,error:null,success:!1},[u,y,h]=(0,xe.useActionState)(async(C,G)=>{let[N,x]=e(),D=jn(N,x,l);if(i===!1)return t?await t(G,D):C;let k=gn(G),S=D.safeParse(k);if(!S.success){let E=er(S.error);return(0,xe.startTransition)(()=>{a(E)}),It(k,{description:p("Please correct the errors and try again.",l),details:[],title:p("There were validation errors submitting the form.",l)})}let $=pn(k);if(t)try{let E=await t($,D);return E.success?(r?.(E.data),o||(0,xe.startTransition)(()=>{s()}),wo($,o)):It($,E.error)}catch(E){return ge.error("Error executing form action:",E),It($,{title:p("An unexpected error occurred submitting the form.",l),details:al(E,l)})}return wo(S.data,o)},c);return[y,u,h]}function al(e,t){return e instanceof Error?[e.message]:[p("Unknown error",t)]}function wo(e,t=!1){return{data:t?e:null,error:null,success:!0}}function It(e,t){return{data:e,error:t,success:!1}}var ne=require("react");var Lo=require("react"),it=require("jotai");function Po(){let e=(0,it.useSetAtom)(Er),t=(0,it.useSetAtom)(Lr),n=(0,it.useSetAtom)(Or);return(0,Lo.useCallback)(r=>{let o=Array.isArray(r)?r:[r];e(o),n(o),t(o)},[e,n,t])}function Vo(){let e=Po(),t=(0,ne.useRef)({}),n=(0,ne.useRef)([]),r=(0,ne.useCallback)((l,a,s)=>{l in t.current||(t.current[l]=a,n.current.push(s))},[]),o=(0,ne.useCallback)(l=>{t.current[l]&&(delete t.current[l],n.current=n.current.filter(a=>a.name!==l),e([l]))},[e]);return[(0,ne.useCallback)(()=>[t.current,n.current],[]),r,o]}var V=require("react/jsx-runtime");function Do(e){let t=e.translations?.[e.lang??""],[n,r,o]=Vo(),[i,l,a]=Io(n,e.action,{onSuccess:e.onSuccess,validation:e.config.validation.submit,translations:t}),s=e.config.validation.showError&&!l.success&&l.error,c=l.data??e.value;return(0,V.jsxs)(V.Fragment,{children:[s&&Qe(e.config.alert,u=>(0,V.jsx)("div",{className:"mb-4 w-full",children:(0,V.jsx)(u,{description:l.error?.description,details:l.error?.details,title:l.error.title})})),(0,V.jsx)(Tr,{action:i,config:e.config,control:e.children,definition:e.definition,isPending:a,noValidate:!0,readOnly:e.readOnly,sections:e.sections,children:({disabled:u,fields:y})=>(0,V.jsx)(Eo,{disabled:u,fields:y,style:e.config.style,value:c,children:h=>(0,V.jsx)(Hr,{...h,config:e.config,context:e.context,onMount:r,onUnmount:o,onValueChange:e.onValueChange,translations:t,value:c})})})]})}var Oo=require("jotai"),Pt=require("react/jsx-runtime");function Mo(e){return(0,Pt.jsx)(Oo.Provider,{children:(0,Pt.jsx)(Do,{...e})})}
@@ -1 +1 @@
1
- import{jsx as uo}from"react/jsx-runtime";function Rt(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return uo("div",{"data-slot":"field-control",className:"w-full",children:t})}import{Activity as mi,useCallback as gi,useState as pi}from"react";import{jsx as Tt}from"react/jsx-runtime";function St(e){return Tt("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:`size-4 transition-transform duration-200 ${e.expanded?"rotate-90":""}`,children:Tt("path",{fillRule:"evenodd",d:"M8.22 5.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L11.94 10 8.22 6.28a.75.75 0 0 1 0-1.06Z",clipRule:"evenodd"})})}var fe="input",At="input/email",vt="input/number";var Ft="textarea",Ct="radio",Nt="checkbox",Ze="list";var Et="select",kt="select/month",It="select/year";var z="column",Ke="fields",wt="label",S="value",me="options",We="email",Lt="number",Pt="password",Ot="tel",J="text",Vt="aria-errormessage",Dt="aria-invalid",Mt="data-invalid",_t="data-readonly",Bt="aria",Gt="data",ge="min",pe="max",$t="minLength",Ut="maxLength",q="$ref";var Ht="source",Yt="state",ye="http://luna.internal",V="vertical",Z="horizontal";var Xt="type";function d(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function be(e){return e==null||e===""}function D(e){return A(e)||typeof e=="number"||ze(e)}function A(e){return typeof e=="string"}function qt(e){return d(e)&&"url"in e}function ze(e){return typeof e=="boolean"}var fo=/^\d+$/;function Qe(e,t=[],n=S){return Array.isArray(t)?t.find(r=>{let o=je(r,n);if(o!==void 0&&`${o}`===e)return r})??{value:e}:{value:e}}function je(e,t=S){if(e!=null){if(D(e))return e;if(d(e)){let n=mo(e,t);if(D(n))return n}}}function mo(e,t){let n=h(e,t);if(D(n))return n}function Zt(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 Kt(e,t={label:wt,value:S}){return e.map(n=>{if(d(n)){let r=h(n,t.label),o=h(n,t.value);if(D(r)&&D(o))return{label:`${r}`,value:`${o}`}}return n})}function Wt(e=J){if(e){let t=e.lastIndexOf("/"),n=t===-1?e:e.slice(t+1);if(n&&n!==fe)return n.trim().toLowerCase()}return J}function zt(e){let t={};for(let n of e.keys()){let r=e.getAll(n);t[n]=r.length>1?r:r[0]}return t}function Jt(e){let t={};for(let n in e){let r=n.split(".");if(r.length===1){t[n]=e[n];continue}let o=t;for(let l=0;l<r.length-1;l++){let a=r[l],s=r[l+1],c=fo.test(s);a in o||(o[a]=c?[]:{}),o=o[a]}let i=r[r.length-1];o[i]=e[n]}return Je(t),t}function Je(e){for(let t in e){let n=e[t];if(Array.isArray(n)){let r=n.filter(o=>o!==void 0);r.forEach(o=>{o!==null&&typeof o=="object"&&!Array.isArray(o)&&Je(o)}),e[t]=r}else n!==null&&typeof n=="object"&&Je(n)}}var go=/\[([^\]]{1,500})\]\(([^)]{1,2000})\)/g;function M(e,t={}){if(A(e))return po(e,t);if(Array.isArray(e))return e.map(n=>M(n,t));if(d(e)){let n={};for(let r in e)n[r]=M(e[r],t);return n}return e}function et(e,t={}){return Q(e)?M(e,t):e}function Q(e){return A(e)?/{([^}]{1,200})}/.test(e):Array.isArray(e)?e.some(t=>Q(t)):d(e)?Object.values(e).some(t=>Q(t)):!1}function po(e,t={}){return e.replace(/{([^}]{1,200})}/g,(n,r)=>{let o=r.includes(".")?h(t,r):t[r];return D(o)?String(o):n})}function Qt(e,t){if(!A(e)||!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=go.exec(e))!==null;){let[l,a,s]=n,c=n.index;o=!0,c>r&&i.push(e.substring(r,c));let u=t?t(c,s,a):l;i.push(u),r=c+l.length}return o?(r<e.length&&i.push(e.substring(r)),i):e}var j={error:(...e)=>{tt()&&!nt()&&xe().error("[Luna Form]",...e)},warn:(...e)=>{tt()&&!nt()&&xe().warn("[Luna Form]",...e)},info:(...e)=>{tt()&&!nt()&&xe().info("[Luna Form]",...e)}},tt=()=>typeof xe()<"u",nt=()=>!0,xe=()=>globalThis.console;function jt(e=[],t){let n=[],r=[],o=[];for(let i of e)i.action===S&&n.push(i),i.action===Ht&&r.push(i),i.action===Yt&&o.push(i);t({sources:r,states:o,values:n})}function en(e=null,t=[],n){for(let r of t){let{target:o,source:i}=r;if(!e){n(o,void 0);continue}if(qt(i)){let l=M(i.url,e),a=i.body?M(i.body,e):i.body;n(o,{...i,url:l,body:a})}}}var ee={eq:Ro,gt:vo,gte:Fo,in:So,lt:Co,lte:No,neq:To,nin:Ao},yo=/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2})?/,tn=/^(\d{2})[/-](\d{2})[/-](\d{4})(?: (\d{2}):(\d{2})(?::(\d{2}))?)?$/;function bo(e){return typeof e=="string"&&yo.test(e)}function xo(e){return typeof e=="string"&&tn.test(e)}function ho(e){let t=e.match(tn);if(t){let[,n,r,o,i,l,a]=t;return new Date(Number(o),Number(r)-1,Number(n),Number(i??0),Number(l??0),Number(a??0)).getTime()}return NaN}function _(e){return bo(e)?new Date(e).getTime():xo(e)?ho(e):Number(e)}function Ro(e,t){return e===t}function To(e,t){return e!==t}function So(e,t){return Array.isArray(t)&&t.includes(String(e))}function Ao(e,t){return Array.isArray(t)&&!t.includes(String(e))}function vo(e,t){return _(e)>_(t)}function Fo(e,t){return _(e)>=_(t)}function Co(e,t){return _(e)<_(t)}function No(e,t){return _(e)<=_(t)}function nn(e=null,t=[],n){for(let r of t){let{target:o,state:i,when:l}=r,a=Array.isArray(o)?o:[o];if(!e){n(a);continue}let s=Eo(e,l);n(a,s?i:void 0)}}function Eo(e,t){return t===void 0?!0:A(t)?he(e,S)===t:ze(t)?!!he(e,S)===t:Array.isArray(t)?t.includes(String(he(e,S))):ko(e,t)}function ko(e=null,t){let n=he(e,t.field??S),{operator:r="eq",value:o}=t,i=ee[r];return i?i(n,o):!1}function he(e,t){return d(e)?h(e,t):e}function rn(e=null,t=[],n){for(let r of t)for(let[o,i]of Object.entries(r.value))n(o,e?M(i,e):void 0)}var Re=e=>k(kt)(e),Te=e=>k(It)(e),R=k(Nt),rt=k(fe),w=k(Ct),L=k(Et),ot=k(Ft),on=k(J,We,Pt,Ot),ln=k(At,We),Se=k(vt,Lt);function Ae(e){return w(e)||R(e)}function an(e){return e.type===Ze}function B(e){return e.type===z}function ve(e){return e.type!==z&&e.type!==Ze}function Fe(e){return L(e)||w(e)}function sn(e){return rt(e)||ot(e)}function U(e){return e!=null&&e!==""}function k(...e){return t=>{let n=A(t.type)?t.type:void 0;return n?e.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function cn(e,t={}){if(L(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&d(n))return[n]}}function un(e){return w(e)||R(e)?Z:e.advanced?.orientation??V}function dn(e){return R(e)?e.advanced?.reverse!==!1:!1}function fn(e,t){let n=e.readonly??!1;return t||n}function mn(e){if(w(e)||L(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||d(t)&&!(q in t))return t}}var Io=/^\d+$/;function gn(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function pn(e,t){return t>=e?Array.from({length:t-e+1},(n,r)=>{let o=e+r;return{value:o.toString(),label:o.toString()}}):[]}function it(){return new Date().getFullYear()}function lt(e,t){if(typeof e=="number")return e;let n=t??it(),r=e.trim().toLowerCase();if(r.startsWith("current")){let o=r.match(/^current([+-])(\d+)$/);if(o){let[,i,l]=o,a=parseInt(l,10);if(!isNaN(a))return i==="+"?n+a:n-a}return n}return Io.test(r)?parseInt(r,10):n}var Ce=it();function wo(e){if(L(e))return Lo(e)}function Lo(e){if(Re(e))return gn();if(Te(e)){let t=e.advanced?.length?.min??Ce,n=e.advanced?.length?.max??Ce+5;return pn(lt(t,Ce),lt(n,Ce))}}function yn(e,t=!1){let n={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return rt(e)?{...n,...Po(e)}:L(e)?{...n,...Oo(e)}:ot(e)?{...n,...Vo(e)}:n}function Po(e){let t=Wt(e.type),n={...e,type:t};return{...bn(e),...Do(n),...on(n)?xn(n):{},type:t}}function Oo(e){let t=wo(e);return t?{options:t}:{}}function Vo(e){return{...bn(e),...xn(e)}}function bn(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function Do(e){return Se(e)?Mo(e):{}}function xn(e){return hn(e,{min:$t,max:Ut})}function Mo(e){return hn(e,{min:ge,max:pe})}function hn(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 Rn(e,t){let n=mn(e);return n||cn(e,t)}function _o(e,t){let n=d(t)&&e.name in t?t[e.name]:t;return je(n,e.advanced?.entity)}function Bo(e,t,n){return Fe(e)&&Array.isArray(n)?{...t,[me]:n}:t}function Go(e,t,n){if(e.required&&!U(n)&&L(e)&&e.advanced?.preselected!==!1&&me in t){let r=t[me];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function $o(e,t){return L(e)&&Array.isArray(t)?Kt(t,e.advanced?.options):t}function Tn(e,t,n,r){let o=_o(e,r),i=Array.isArray(n)?$o(e,n):n,l=Bo(e,t,i),a=Go(e,l,o);return{commonPropsWithOptions:l,defaultValue:a}}function Sn(e,t){return R(e)?{checked:U(t)?t:!1}:{value:t??""}}var Uo=/^#\/definition\//;function Ee(e=[],t){let n=Ne(e,t);return Array.isArray(n)?n.filter(Yo).sort((r,o)=>An(r)-An(o)):[]}function Ne(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=>Ne(i,t,n,r));if(q in e&&A(e[q])){let i=e[q].replace(Uo,""),l=h(t,i);return l!==null?Ne(l,t,n,r):e}let o={};for(let[i,l]of Object.entries(e))o[i]=Ne(l,t,n,r);return r.delete(e),n.set(e,o),o}function vn(e){return Object.entries(e??{})}function An(e){return e.order??Number.MAX_VALUE}function Ho(e){return e!==void 0&&d(e)&&Object.keys(e).length>0}function Yo(e){return Xt in e?!0:Array.isArray(e[Ke])?e[Ke].length>0:!0}function Fn(e,t){let n={};for(let[r,o]of vn(t))n[`${e}-${r}`]=o;return n}function Xo(e){return Fn(Bt,e)}function qo(e){return Fn(Gt,e)}function Cn(e,t){let n=Xo(e.advanced?.aria);return t&&t.length>0&&(n[Dt]="true",n[Vt]=`${e.name}-error`),n}function Nn(e){return qo(e.advanced?.data)}var En={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},kn={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function In(e,t=2){return En[e&&e in En?e:t]}function wn(e){if(e&&e in kn)return kn[e]}function Zo(e,t){let n=e.advanced?.length?.min??1;if(t){let r=h(t,e.name);if(Array.isArray(r))return Math.max(r.length,n)}return Math.max(n,0)}function Ln(e){return!Array.isArray(e.fields)||e.fields.length===0?!1:e.fields.length>1||e.fields[0].type===z}function Pn(e,t){let n=Zo(e,t);return Array.from({length:n},(r,o)=>o)}function On(e){return e.label??e.name}import{z as p}from"zod";function f(e,t){return e?t?t[e]??e:e:""}var Ko=[[Se,jo],[ln,Wo],[Te,ei],[Re,ti],[R,zo],[w,Jo]];function Dn(e,t=[],n){let r=p.object(e);return t.length===0?r:ii(r,t,n)}function Mn(e){let t={},n=p.flattenError(e).fieldErrors;for(let[r,o]of Object.entries(n))o!==void 0&&(t[r]=o);return t}function _n(e,t){for(let[n,r]of Ko)if(n(e))return r(e,t);return Qo(e,t)}function Wo(e,t){let n=p.string().trim();if(e.required){let r=K(e,t),o=n.min(1,r).pipe(Vn(e,t));return p.preprocess(i=>be(i)?"":i,o)}return n.pipe(Vn(e,t)).or(p.literal("")).nullable()}function zo(e,t){let n=p.coerce.boolean();return e.required?(n=n.refine(r=>r===!0,{message:K(e,t)}),p.preprocess(r=>r===null?!1:r,n)):n.nullable()}function Jo(e,t){let n=p.coerce.string();return e.required?(n=n.min(1,K(e,t)),p.preprocess(r=>be(r)?"":r,n)):n.or(p.literal("")).nullable()}function Qo(e,t){let n=p.coerce.string().trim();return n=Bn(n,e,t),e.required?(n=Gn(n,e,t),p.preprocess(r=>be(r)?"":r,n)):n.nullable()}function jo(e,t){let n=p.coerce.number().int();return n=Bn(n,e,t),e.required?(n=Gn(n,e,t),p.preprocess(r=>r===null?void 0:r,n)):n.nullable()}function ei(e,t){return e.required?p.preprocess(ni,p.coerce.number({message:K(e,t)}).int()):p.coerce.number().int().nullable()}function ti(e,t){let n=K(e,t),r=p.coerce.number().int().min(1,n).max(12,n);return e.required?r:r.nullable()}function ni(e){return e===null||e===""?void 0:e}function Vn(e,t){let n=e.validation?.email?f(e.validation?.email,t):void 0;return p.email(n)}function Bn(e,t,n){return e=ri(e,t,n),e=oi(e,t,n),e}function Gn(e,t,n){let r=t.advanced?.length?.min;return r===void 0||r<1?e.min(1,K(t,n)):e}var ri=(e,t,n)=>$n(e,t,ge,n),oi=(e,t,n)=>$n(e,t,pe,n);function $n(e,t,n,r){let o=t.advanced?.length?.[n];if(o!==void 0){let i=t.validation?.length?.[n]?f(t.validation?.length?.[n],r):void 0;return e[n](o,i)}return e}function ii(e,t=[],n){let r=ai(t);return r.length===0?e:e.superRefine((o,i)=>{for(let{name:l,rule:a}of r)if(!li(o,l,a)){let s=f(a.message,n);i.addIssue({code:"custom",message:s,path:[l]})}})}function li(e,t,n){let r=n.operator??"eq",o=ee[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 Un(e,t,n,r){let o=[],i=Array.isArray(t)?t:[t];for(let l of i){let a=l.operator??"eq",s=ee[a];if(s&&!s(e,n(l.field))&&l.message){let c=f(l.message,r);o.push(c)}}return o}function K(e,t){return e.validation?.required?f(e.validation?.required,t):void 0}function Hn(e,t){if(!t||!ci(e))return!0;if(t.length===0)return!1;try{let n=new URL(e),r=n.protocol.replace(":",""),o=n.hostname,i=n.port||si(r);return t.some(l=>!(l.protocol&&l.protocol!==r||l.hostname&&l.hostname!==o||l.port!==void 0&&String(l.port)!==i))}catch{return!1}}function si(e){return e==="https"?"443":"80"}function ci(e){return/^(https?:)?\/\//.test(e)}function Yn(e,t){try{if(!e)return t;if(!t)return e;let n=new URL(e,ye);new URL(t,ye).searchParams.forEach((i,l)=>{n.searchParams.set(l,i)});let o=n.toString();return e.startsWith("/")||!e.includes("://")?o.replace(ye,""):o}catch{return t||e}}function Xn(e){return!Array.isArray(e)||e.length===0?null:e.reduce((t,n)=>{let r=Yn(t.url,n.url),o=ui(t,n),i=di(t,n);return{...t,...n,url:r,body:o,headers:i}})}function ui(e,t){return d(t.body)&&d(e?.body)?{...e.body,...t.body}:t.body??e?.body}function di(e,t){return d(t.headers)&&d(e?.headers)?{...e.headers,...t.headers}:t.headers??e?.headers}function ke(e,t){return{...e,...t}}import{jsx as fi}from"react/jsx-runtime";function G(e){return Qt(e,(t,n,r)=>fi("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${t}`))}import{jsx as te,jsxs as at}from"react/jsx-runtime";function qn(e){let{fields:t=[]}=e.section,[n,r]=pi(!1),o=gi(()=>r(i=>!i),[]);return at("fieldset",{"data-slot":"field-set","data-advanced":"true","data-expanded":n,"data-empty":t.length===0,className:"flex flex-col",id:e.section.id?.toString(),children:[te("legend",{children:at("button",{className:"flex cursor-pointer items-center gap-2 text-base font-medium text-slate-600 dark:text-slate-400",onClick:o,type:"button",children:[te(St,{expanded:n}),te("span",{children:G(e.section.title)})]})}),te(mi,{mode:n?"visible":"hidden",children:at("div",{className:"mt-3 ml-1.5 flex flex-col gap-4 border-l-2 border-slate-300 pl-4 dark:border-slate-600","data-slot":"field-set-content",children:[e.section.description&&te("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:G(e.section.description)}),e.group]})})]})}import{Fragment as yi,jsx as Zn,jsxs as bi}from"react/jsx-runtime";function Kn(e){return bi(yi,{children:[e.title&&Zn("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:G(e.title)}),e.description&&Zn("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:G(e.description)})]})}import{jsx as xi,jsxs as hi}from"react/jsx-runtime";function Ie(e){return hi("fieldset",{"data-slot":"field-set","data-empty":e.empty,className:"flex flex-col data-[empty=false]:gap-6",id:e.id,children:[xi(Kn,{description:e.description,title:e.title}),e.children]})}import{jsx as Ri}from"react/jsx-runtime";function H(e){return Ri("div",{"data-slot":"field-group","data-compact":e.compact,className:"flex w-full flex-col gap-8 data-[compact=true]:gap-3",children:e.children})}import{jsx as st}from"react/jsx-runtime";function Wn(e){let{fields:t=[]}=e.section,{compact:n}=ke(e.style,{compact:e.section.compact}),r=st(H,{compact:n,children:e.children});return!e.section.title&&!e.section.description?r:e.section.advanced?st(qn,{section:e.section,group:r}):st(Ie,{description:e.section.description,empty:t.length===0,id:e.section.id?.toString(),title:e.section.title,children:r})}import{useAtomValue as Fi}from"jotai";import{atom as Y}from"jotai";import{atomFamily as zn}from"jotai-family";import{deepEqual as ct}from"fast-equals";function we(e,t){let{[t]:n,...r}=e;return r}function Ti(e){return zn(t=>Y(n=>n(e)[t]??void 0,(n,r,o)=>{let i=n(e);if(o!=null){let l=i[t];(!l||!ct(l,o))&&r(e,{...i,[t]:o})}else i[t]&&r(e,we(i,t))}))}function Si(e){return Y(null,(t,n)=>{let r=t(e);r&&Object.keys(r).length>0&&n(e,{})})}function Ai(e){return Y(null,(t,n,r)=>{let i={...t(e)},l=!1;for(let a of r)i[a]&&(delete i[a],l=!0);l&&n(e,i)})}function vi(e){return Y(null,(t,n,r)=>{let o=t(e);ct(o,r)||n(e,r)})}function Jn(e,t={}){let{merge:n,validateTarget:r}=t;return zn(o=>Y(i=>{let l=i(e)[o];if(l&&n)return n(Object.values(l))},(i,l,a,s)=>{if(r&&!r(a))return;let c=i(e),u={...c[a]??{}};if(s!=null){let y=u[o];(!y||!ct(y,s))&&(u[o]=s,l(e,{...c,[a]:u}))}else u[o]&&(delete u[o],Object.keys(u).length===0?l(e,we(c,a)):l(e,{...c,[a]:u}))}))}function Qn(e){return Y(null,(t,n,r)=>{let i={...t(e)},l=!1;for(let a of r)i[a]&&(delete i[a],l=!0);for(let a in i){let s={...i[a]},c=!1;for(let u of r)s[u]&&(delete s[u],c=!0,l=!0);c&&(Object.keys(s).length===0?delete i[a]:i[a]=s)}l&&n(e,i)})}function W(e={}){let t=Y(e);return{atom:t,clearAll:Si(t),clear:Ai(t),bulkReport:vi(t),report:Ti(t)}}var jn=W(),Le=jn.atom,er=jn.report;function Ci(e,t){return e.fields.every(n=>tr(n,t))}function tr(e,t){return t[e.name]?.hidden??e.hidden??!1}function Ni(e,t){return B(e)?Ci(e,t):tr(e,t)}function Pe(e){let t=Fi(Le);return e.container&&(t[e.container.name]?.hidden??e.container.hidden??!1)||e.fields.length===0||e.fields.every(r=>Ni(r,t))?null:e.children}import{jsx as nr}from"react/jsx-runtime";function rr(){return nr("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:nr("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}import{jsx as ne,jsxs as or}from"react/jsx-runtime";function ir(e){let t=Ee(e.sections,e.definition);return ne("div",{className:"h-full w-full",children:ne("form",{noValidate:e.noValidate,action:e.action,children:or(H,{children:[t.map((n,r)=>or(Pe,{fields:n.fields??[],children:[ne(Wn,{section:n,style:e.config.style,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.separator&&ne(rr,{})]},r)),e.control&&ne(Rt,{isPending:e.isPending,children:e.control})]})})})}import{jsx as Ei}from"react/jsx-runtime";function lr(e){return Ei("p",{className:"-mt-2 text-xs leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}import{jsx as ki}from"react/jsx-runtime";function Oe(e){let t=G(e.text);return t?ki(lr,{children:t}):null}import{twMerge as Ii}from"tailwind-merge";import{jsx as wi,jsxs as Li}from"react/jsx-runtime";function ar(e){let t=e.style?.showOptionalLabel??!0,n=w(e.field)||R(e.field);return Li("label",{"data-slot":"field-label","data-normal":n,className:Ii("flex w-fit items-center gap-2 text-sm leading-snug font-medium select-none","data-[normal=true]:font-normal","group-data-[readonly=true]:cursor-not-allowed group-data-[readonly=true]:opacity-50"),htmlFor:e.field.name,children:[e.children,t&&!e.field.required&&wi("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:f("(Optional)",e.translations)})]})}import{jsx as sr,jsxs as Pi}from"react/jsx-runtime";function cr(e){let t={context:e.context,env:e.config?.env},n=et(e.field.label,t),r=et(e.field.description,t);return Pi("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[sr(ar,{field:e.field,style:e.config?.style,translations:e.translations,children:f(n,e.translations)}),e.orientation===Z&&sr(Oe,{text:f(r,e.translations)})]})}import{Fragment as Oi,jsx as ur,jsxs as Vi}from"react/jsx-runtime";function dr(e){return Vi(Oi,{children:[e.field.name&&e.field.label&&ur(cr,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations}),e.children,e.orientation===V&&e.field.description&&ur(Oe,{text:f(e.field.description,e.translations)})]})}function Ve(e,t){return e?t(e):null}var ut=W(),fr=ut.clear,mr=ut.bulkReport,De=ut.report;var Me=W(),_e=Me.atom,gr=Me.clearAll,pr=Me.clear,Be=Me.report;import{useCallback as Ge,useEffect as el,useRef as re,useTransition as tl}from"react";import{atom as Di}from"jotai";var Mi=e=>{let t=Xn(e);if(t)return t},_i=e=>e.trim()!=="",yr=Di({}),br=Jn(yr,{merge:Mi,validateTarget:_i}),xr=Qn(yr);import{useAtom as $i}from"jotai";import Bi from"swr";function hr(e=null,t,n=!1){let{data:r,error:o}=Bi(Gi(e,t,n),t.fetcher.provider);if(o&&j.error("Error fetching data source:",o),e){if(Array.isArray(e))return e;if(r)return Zt(r,e.namespace)}return null}function Gi(e=null,t,n=!1){if(e&&!Array.isArray(e)&&!n&&e.url&&!Q(e.url)){if(Hn(e.url,t.fetcher.remotePatterns))return e;j.warn(`URL blocked by remotePatterns: ${e.url}. Check your luna.config.ts`)}return null}function Rr(e,t,n){let r=Rn(e,n),[o,i]=$i(br(e.name));return[hr(o??r,t,e.disabled),i]}import{useEffect as Ui,useEffectEvent as Tr,useMemo as Hi}from"react";function Sr(e,t,n,r){let{name:o}=e,i=Hi(()=>_n(e,r),[e,r]),l=Tr(s=>{s&&t(s,i,e)}),a=Tr(s=>{s&&n(s)});return Ui(()=>(l(o),()=>{a(o)}),[o]),i}import{useSetAtom as dt,useStore as nl}from"jotai";import{useCallback as Yi,useEffect as Xi,useRef as qi}from"react";function Ar(){let e=qi(null);return Xi(()=>()=>{e.current&&clearTimeout(e.current)},[]),Yi((n,r)=>{e.current&&(clearTimeout(e.current),e.current=null),e.current=setTimeout(n,r)},[])}import{deepEqual as Zi}from"fast-equals";import{useAtom as Ki}from"jotai";import{useCallback as Wi,useEffect as zi,useRef as Ji,useEffectEvent as Qi}from"react";function vr(e,t){let{name:n}=e,r=Ji(!1),[o,i]=Ki(Be(n)),l=Qi(s=>{let c=ji(n,s);U(c)&&(Zi(o,c)||(r.current=!0),i(c))});zi(()=>{t&&l(t)},[t]);let a=Wi(()=>r.current?(r.current=!1,!0):!1,[]);return{setValue:i,shouldSkipOnChange:a,value:o}}function ji(e,t){if(e in t)return t[e];if(!e.includes("."))return;let n=e.split("."),r=t;for(let o of n){if(r==null)return;if(Array.isArray(r)){let i=Number(o);r=Number.isInteger(i)?r[i]:void 0}else if(typeof r=="object")r=r[o];else return}return r}import{jsx as Fr}from"react/jsx-runtime";function Cr(e){let t=e.field.advanced?.entity,n=nl(),r=Ar(),[,o]=tl(),{setValue:i,shouldSkipOnChange:l,value:a}=vr(e.field,e.value),s=re(!1),c=re(a);c.current=a;let u=re(e.translations);u.current=e.translations;let y=sn(e.field),x=Ae(e.field),v=dt(_e),P=dt(Le),F=dt(De(e.field.name)),[b,I]=Rr(e.field,e.config,a),C=Sr(e.field,e.onMount,e.onUnmount,e.translations),T=f(e.commonProps.placeholder,e.translations),O={...e.commonProps,placeholder:T},{commonPropsWithOptions:N,defaultValue:se}=Tn(e.field,O,b,a),xt=re(null);xt.current=m=>{if(i(m),e.onValueChange){let g=e.dataAttributes??{};e.onValueChange({data:Object.keys(g).length>0?g:void 0,name:e.field.name,type:e.field.type,value:m})}};let He=re(null);He.current=m=>{let g=e.field.event?.change;g&&jt(g,({sources:$,states:ue,values:Ye})=>{o(()=>{en(m,$,(E,X)=>I(E,X)),nn(m,ue,(E,X)=>{P(de=>X?E.reduce((Xe,qe)=>({...Xe,[qe]:X}),de):E.reduce((Xe,qe)=>we(Xe,qe),de))}),rn(m,Ye,(E,X)=>{v(de=>({...de,[E]:X}))})})})};let ao=Sn(e.field,se),ce=Ge(m=>{let $=C.safeParse(m).error?.issues.map(E=>E.message)??[],ue=e.field.validation?.custom,Ye=ue?Un(m,ue,E=>n.get(Be(E)),u.current):[];F([...$,...Ye])},[e.field.validation?.custom,C,F,n]),ht=Ge((m,g)=>{if(y){r(()=>{g({value:m})},300);return}g(Qe(m,b,t))},[b,t,y,r]);el(()=>{if(s.current||!e.value)return;if(!e.field.event?.change){s.current=!0;return}if(!((!Fe(e.field)||!!b&&b.length>0)&&U(se)))return;s.current=!0;let g=String(se),$=y?{value:g}:Qe(g,b,t);He.current?.($)},[b,se,t,y,e.field,e.value]);let so=Ge(m=>{let g=m.target.value;!x&&l()&&(!y||g===c.current)||(xt.current?.(g),e.config.validation.change&&ce(g),e.field.event?.change&&ht(g,$=>{He.current?.($)}))},[ht,x,e.config.validation.change,e.field.event?.change,l,ce]),co=Ge(m=>{if(!x){let g=m.target.value;e.config.validation.blur&&ce(g)}},[x,e.config.validation.blur,ce]);return Ve(e.config.inputs[e.field.type],m=>Fr(dr,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations,children:Fr(m,{...N,...e.ariaAttributes,...e.dataAttributes,...ao,onBlur:co,onChange:so})}))}import{jsx as Nr}from"react/jsx-runtime";function Er(e){return!e.errors||e.errors.length===0?null:Nr("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)=>Nr("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}import{twMerge as rl}from"tailwind-merge";import{jsx as ol}from"react/jsx-runtime";function $e(e){let t=e.errors&&e.errors.length>0;return ol("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[Mt]:"true"},...e.disabled&&{[_t]:"true"},"data-orientation":e.orientation,className:rl("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 il}from"tailwind-merge";import{jsx as ll}from"react/jsx-runtime";function kr(e){return ll($e,{...e,orientation:V,className:il("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}import{twMerge as al}from"tailwind-merge";import{jsx as sl}from"react/jsx-runtime";function Ir(e){return sl($e,{...e,orientation:Z,className:al("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 wr}from"react/jsx-runtime";function Lr(e){let t=Ae(e.field),n=R(e.field),r=dn(e.field);return e.orientation===V?wr(kr,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children}):wr(Ir,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children})}function Pr(e){if(!e.field.type)return null;let t=yn(e.field,e.disabled),n=Nn(e.field),r=Cn(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 cl}from"tailwind-merge";import{jsx as ft,jsxs as ul}from"react/jsx-runtime";function Or(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:r}=ke(e.style,{orientation:un(e.field)}),o=fn(e.field,e.disabled);return ul("div",{className:cl("flex flex-col gap-3",wn(t)),children:[ft(Lr,{disabled:o,errors:n,field:e.field,orientation:r,children:ft(Pr,{disabled:o,errors:n,field:e.field,orientation:r,children:e.children})}),ft(Er,{errors:n,name:e.field.name})]})}import{useAtomValue as dl}from"jotai";import{jsx as gl}from"react/jsx-runtime";function Vr(e){return(t,n)=>o=>{let i=dl(e(o.field.name)),l=n(i,o);return l===null?null:gl(t,{...o,...l})}}var fl=Vr(De);function Dr(e){return fl(e,(t,n)=>({errors:t?{[n.field.name]:t}:void 0}))}var ml=Vr(er);function Mr(e){return ml(e,(t,n)=>t?.hidden??n.field.hidden??!1?null:{disabled:t?.disabled??n.disabled})}var _r=Mr(Dr(Or));import{twMerge as pl}from"tailwind-merge";import{jsx as oe,jsxs as Ue}from"react/jsx-runtime";function Br(e){function t(){e.canRemove&&e.onRemove&&e.onRemove(e.index)}let n=e.canRemove&&e.onRemove!=null&&oe("button",{"aria-label":`Remove ${e.label} item ${e.index+1}`,className:pl("rounded p-1 text-xl text-slate-400","transition-colors duration-150","hover:text-red-500","focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:outline-none","dark:text-slate-500 dark:hover:text-red-400"),onClick:t,type:"button",children:oe("span",{"aria-hidden":"true",children:"\xD7"})});return e.isMultiField?Ue("div",{className:"rounded-lg border border-slate-100 p-4 dark:border-slate-900",children:[Ue("div",{className:"mb-3 flex items-center justify-between",children:[Ue("span",{className:"text-sm font-medium text-slate-400 dark:text-slate-500",children:[e.label," ",e.index+1]}),n]}),oe(H,{children:e.children})]}):Ue("div",{className:"flex items-start gap-2",children:[oe(H,{children:e.children}),n&&oe("div",{className:"shrink-0",children:n})]})}import{twMerge as hl}from"tailwind-merge";import{useSetAtom as yl}from"jotai";import{useCallback as Gr,useLayoutEffect as bl,useRef as $r,useState as xl}from"react";function Ur(e,t){let n=e.advanced?.length?.min??1,r=e.advanced?.length?.max??1/0,[o,i]=xl(()=>Pn(e,t)),l=$r(o.length),a=$r(o);bl(()=>{a.current=o});let s=yl(_e),c=Gr(()=>{i(v=>{if(v.length>=r)return v;let P=l.current++;return[...v,P]})},[r]),u=Gr(v=>{if(a.current.length<=n)return;let P=a.current[v];i(F=>F.length<=n?F:F.filter((b,I)=>I!==v)),s(F=>{let b={...F},I=`${e.name}.`,C=[];for(let T of e.fields)if(B(T))for(let O of T.fields)C.push(O.name);else C.push(T.name);for(let T of C)delete b[`${I}${P}.${T}`];return b})},[e.name,e.fields,n,s]),y=o.length<r,x=o.length>n;return[o,c,u,y,x,r]}import{Fragment as Rl,jsx as Hr,jsxs as mt}from"react/jsx-runtime";function Yr(e){let[t,n,r,o,i,l]=Ur(e.field,e.value),a=On(e.field),s=e.field.advanced?.action??"Add item",c=l!==1/0,u=Ln(e.field);return mt(Rl,{children:[t.map((y,x)=>Hr(Br,{canRemove:i,index:x,isMultiField:u,label:a,onRemove:r,children:e.children(y)},y)),mt("button",{"aria-disabled":!o,"aria-label":c?`${s}, ${t.length} of ${l}`:s,className:hl("flex w-full items-center gap-1.5 rounded py-1","text-sm font-medium text-slate-500","transition-colors duration-150","hover:text-slate-800","focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:ring-offset-2 focus-visible:outline-none","dark:text-slate-400 dark:hover:text-slate-200",!o&&"cursor-not-allowed opacity-50 hover:text-slate-500 dark:hover:text-slate-400"),disabled:!o,onClick:n,type:"button",children:[Hr("span",{"aria-hidden":"true",children:"+"}),s,c&&mt("span",{"aria-hidden":"true",className:"ml-auto text-slate-400 tabular-nums dark:text-slate-500",children:[t.length," / ",l]})]})]})}import{jsx as Tl}from"react/jsx-runtime";function Xr(e){let t=Array.isArray(e.field.fields)&&e.field.fields.length===0;return Tl(Ie,{description:e.field.description,empty:t,id:e.field.name,title:e.field.label,children:e.children})}import{jsx as gt}from"react/jsx-runtime";function qr({children:e,field:t,value:n}){return gt(Pe,{container:t,fields:t.fields,children:gt(Xr,{field:t,children:gt(Yr,{field:t,value:n,children:e})})})}import{twMerge as Sl}from"tailwind-merge";import{jsx as Zr}from"react/jsx-runtime";function Kr(e){let t=In(e.column?.advanced?.cols);return Zr("div",{className:"flex w-full flex-col gap-4",children:Zr("div",{className:Sl("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children})})}import{Fragment as vl}from"react";import{jsx as Al}from"react/jsx-runtime";function Wr(e){let t=Array.isArray(e.field.fields)?e.field.fields.map(n=>ve(n)?{...n,name:`${e.field.name}.${e.index}.${n.name}`}:B(n)?{...n,fields:n.fields.map(r=>({...r,name:`${e.field.name}.${e.index}.${r.name}`}))}:n):[];return Al(ie,{children:e.children,components:e.components,disabled:e.disabled,fields:t,style:e.style,value:e.value})}import{jsx as le,jsxs as Fl}from"react/jsx-runtime";function ie(e){let{field:t,list:n}=e.components;return Ee(e.fields).map((r,o)=>Fl(vl,{children:[B(r)&&le(Kr,{column:r,children:le(ie,{...e,fields:r.fields})}),ve(r)&&le(t,{disabled:e.disabled,field:r,style:e.style,children:e.children}),an(r)&&le(n,{field:r,value:e.value,children:i=>le(Wr,{children:e.children,components:e.components,disabled:e.disabled,field:r,index:i,style:e.style,value:e.value})})]},o))}import{jsx as Cl}from"react/jsx-runtime";function zr(e){return n=>Cl(ie,{...n,components:e})}var Jr=zr({field:_r,list:qr});import{useSetAtom as Qr}from"jotai";import{startTransition as jr,useActionState as Nl}from"react";function to(e,t,n){let{onSuccess:r,preserveValues:o=!1,validation:i=!0,translations:l}=n??{},a=Qr(mr),s=Qr(gr),c={data:null,error:null,success:!1},[u,y,x]=Nl(async(v,P)=>{let[F,b]=e(),I=Dn(F,b,l);if(i===!1)return t?await t(P,I):v;let C=zt(P),T=I.safeParse(C);if(!T.success){let N=Mn(T.error);return jr(()=>{a(N)}),pt(C,{description:f("Please correct the errors and try again.",l),details:[],title:f("There were validation errors submitting the form.",l)})}let O=Jt(C);if(t)try{let N=await t(O,I);return N.success?(r?.(N.data),o||jr(()=>{s()}),eo(O,o)):pt(O,N.error)}catch(N){return j.error("Error executing form action:",N),pt(O,{title:f("An unexpected error occurred submitting the form.",l),details:El(N,l)})}return eo(T.data,o)},c);return[y,u,x]}function El(e,t){return e instanceof Error?[e.message]:[f("Unknown error",t)]}function eo(e,t=!1){return{data:t?e:null,error:null,success:!0}}function pt(e,t){return{data:e,error:t,success:!1}}import{useCallback as bt,useRef as ro}from"react";import{useCallback as kl}from"react";import{useSetAtom as yt}from"jotai";function no(){let e=yt(fr),t=yt(pr),n=yt(xr);return kl(r=>{let o=Array.isArray(r)?r:[r];e(o),n(o),t(o)},[e,n,t])}function oo(){let e=no(),t=ro({}),n=ro([]),r=bt((l,a,s)=>{l in t.current||(t.current[l]=a,n.current.push(s))},[]),o=bt(l=>{t.current[l]&&(delete t.current[l],n.current=n.current.filter(a=>a.name!==l),e([l]))},[e]);return[bt(()=>[t.current,n.current],[]),r,o]}import{Fragment as Il,jsx as ae,jsxs as wl}from"react/jsx-runtime";function io(e){let t=e.translations?.[e.lang??""],[n,r,o]=oo(),[i,l,a]=to(n,e.action,{onSuccess:e.onSuccess,validation:e.config.validation.submit,translations:t}),s=e.config.validation.showError&&!l.success&&l.error,c=l.data??e.value;return wl(Il,{children:[s&&Ve(e.config.alert,u=>ae("div",{className:"mb-4 w-full",children:ae(u,{description:l.error?.description,details:l.error?.details,title:l.error.title})})),ae(ir,{action:i,config:e.config,control:e.children,definition:e.definition,isPending:a,noValidate:!0,readOnly:e.readOnly,sections:e.sections,children:({disabled:u,fields:y})=>ae(Jr,{disabled:u,fields:y,style:e.config.style,value:c,children:x=>ae(Cr,{...x,config:e.config,context:e.context,onMount:r,onUnmount:o,onValueChange:e.onValueChange,translations:t,value:c})})})]})}import{Provider as Ll}from"jotai";import{jsx as lo}from"react/jsx-runtime";function Pl(e){return lo(Ll,{children:lo(io,{...e})})}export{Pl as Form};
1
+ import{jsx as so}from"react/jsx-runtime";function xt(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return so("div",{"data-slot":"field-control",className:"w-full",children:t})}import{Activity as di,useCallback as fi,useState as mi}from"react";import{jsx as ht}from"react/jsx-runtime";function Rt(e){return ht("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:`size-4 transition-transform duration-200 ${e.expanded?"rotate-90":""}`,children:ht("path",{fillRule:"evenodd",d:"M8.22 5.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L11.94 10 8.22 6.28a.75.75 0 0 1 0-1.06Z",clipRule:"evenodd"})})}var ue="input",Tt="input/email",St="input/number";var At="textarea",vt="radio",Ft="checkbox",He="list";var Ct="select",Nt="select/month",kt="select/year";var K="column",qe="fields",Et="label",S="value",de="options",Ke="email",wt="number",It="password",Lt="tel",Z="text",Pt="aria-errormessage",Vt="aria-invalid",Dt="data-invalid",Ot="data-readonly",Mt="aria",_t="data",fe="min",me="max",Bt="minLength",Gt="maxLength",X="$ref";var $t="source",Ut="state",ge="http://luna.internal";var zt="type";function d(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function pe(e){return e==null||e===""}function D(e){return A(e)||typeof e=="number"||Ze(e)}function A(e){return typeof e=="string"}function Yt(e){return d(e)&&"url"in e}function Ze(e){return typeof e=="boolean"}var co=/^\d+$/;function Je(e,t=[],n=S){return Array.isArray(t)?t.find(r=>{let o=Qe(r,n);if(o!==void 0&&`${o}`===e)return r})??{value:e}:{value:e}}function Qe(e,t=S){if(e!=null){if(D(e))return e;if(d(e)){let n=uo(e,t);if(D(n))return n}}}function uo(e,t){let n=h(e,t);if(D(n))return n}function Xt(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 Ht(e,t={label:Et,value:S}){return e.map(n=>{if(d(n)){let r=h(n,t.label),o=h(n,t.value);if(D(r)&&D(o))return{label:`${r}`,value:`${o}`}}return n})}function qt(e=Z){if(e){let t=e.lastIndexOf("/"),n=t===-1?e:e.slice(t+1);if(n&&n!==ue)return n.trim().toLowerCase()}return Z}function Kt(e){let t={};for(let n of e.keys()){let r=e.getAll(n);t[n]=r.length>1?r:r[0]}return t}function Zt(e){let t={};for(let n in e){let r=n.split(".");if(r.length===1){t[n]=e[n];continue}let o=t;for(let l=0;l<r.length-1;l++){let a=r[l],s=r[l+1],c=co.test(s);a in o||(o[a]=c?[]:{}),o=o[a]}let i=r[r.length-1];o[i]=e[n]}return We(t),t}function We(e){for(let t in e){let n=e[t];if(Array.isArray(n)){let r=n.filter(o=>o!==void 0);r.forEach(o=>{o!==null&&typeof o=="object"&&!Array.isArray(o)&&We(o)}),e[t]=r}else n!==null&&typeof n=="object"&&We(n)}}var fo=/\[([^\]]{1,500})\]\(([^)]{1,2000})\)/g;function O(e,t={}){if(A(e))return mo(e,t);if(Array.isArray(e))return e.map(n=>O(n,t));if(d(e)){let n={};for(let r in e)n[r]=O(e[r],t);return n}return e}function ye(e,t={}){return W(e)?O(e,t):e}function W(e){return A(e)?/{([^}]{1,200})}/.test(e):Array.isArray(e)?e.some(t=>W(t)):d(e)?Object.values(e).some(t=>W(t)):!1}function mo(e,t={}){return e.replace(/{([^}]{1,200})}/g,(n,r)=>{let o=r.includes(".")?h(t,r):t[r];return D(o)?String(o):n})}function Wt(e,t){if(!A(e)||!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=fo.exec(e))!==null;){let[l,a,s]=n,c=n.index;o=!0,c>r&&i.push(e.substring(r,c));let u=t?t(c,s,a):l;i.push(u),r=c+l.length}return o?(r<e.length&&i.push(e.substring(r)),i):e}var J={error:(...e)=>{je()&&!et()&&be().error("[Luna Form]",...e)},warn:(...e)=>{je()&&!et()&&be().warn("[Luna Form]",...e)},info:(...e)=>{je()&&!et()&&be().info("[Luna Form]",...e)}},je=()=>typeof be()<"u",et=()=>!0,be=()=>globalThis.console;function Jt(e=[],t){let n=[],r=[],o=[];for(let i of e)i.action===S&&n.push(i),i.action===$t&&r.push(i),i.action===Ut&&o.push(i);t({sources:r,states:o,values:n})}function Qt(e=null,t=[],n){for(let r of t){let{target:o,source:i}=r;if(!e){n(o,void 0);continue}if(Yt(i)){let l=O(i.url,e),a=i.body?O(i.body,e):i.body;n(o,{...i,url:l,body:a})}}}var Q={eq:xo,gt:So,gte:Ao,in:Ro,lt:vo,lte:Fo,neq:ho,nin:To},go=/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2})?/,jt=/^(\d{2})[/-](\d{2})[/-](\d{4})(?: (\d{2}):(\d{2})(?::(\d{2}))?)?$/;function po(e){return typeof e=="string"&&go.test(e)}function yo(e){return typeof e=="string"&&jt.test(e)}function bo(e){let t=e.match(jt);if(t){let[,n,r,o,i,l,a]=t;return new Date(Number(o),Number(r)-1,Number(n),Number(i??0),Number(l??0),Number(a??0)).getTime()}return NaN}function M(e){return po(e)?new Date(e).getTime():yo(e)?bo(e):Number(e)}function xo(e,t){return e===t}function ho(e,t){return e!==t}function Ro(e,t){return Array.isArray(t)&&t.includes(String(e))}function To(e,t){return Array.isArray(t)&&!t.includes(String(e))}function So(e,t){return M(e)>M(t)}function Ao(e,t){return M(e)>=M(t)}function vo(e,t){return M(e)<M(t)}function Fo(e,t){return M(e)<=M(t)}function en(e=null,t=[],n){for(let r of t){let{target:o,state:i,when:l}=r,a=Array.isArray(o)?o:[o];if(!e){n(a);continue}let s=Co(e,l);n(a,s?i:void 0)}}function Co(e,t){return t===void 0?!0:A(t)?xe(e,S)===t:Ze(t)?!!xe(e,S)===t:Array.isArray(t)?t.includes(String(xe(e,S))):No(e,t)}function No(e=null,t){let n=xe(e,t.field??S),{operator:r="eq",value:o}=t,i=Q[r];return i?i(n,o):!1}function xe(e,t){return d(e)?h(e,t):e}function tn(e=null,t=[],n){for(let r of t)for(let[o,i]of Object.entries(r.value))n(o,e?O(i,e):void 0)}var he=e=>E(Nt)(e),Re=e=>E(kt)(e),R=E(Ft),tt=E(ue),I=E(vt),L=E(Ct),nt=E(At),nn=E(Z,Ke,It,Lt),rn=E(Tt,Ke),Te=E(St,wt);function Se(e){return I(e)||R(e)}function on(e){return e.type===He}function _(e){return e.type===K}function Ae(e){return e.type!==K&&e.type!==He}function ve(e){return L(e)||I(e)}function ln(e){return tt(e)||nt(e)}function $(e){return e!=null&&e!==""}function E(...e){return t=>{let n=A(t.type)?t.type:void 0;return n?e.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function an(e,t={}){if(L(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&d(n))return[n]}}function sn(e){return I(e)||R(e)?!0:e.advanced?.horizontal??!1}function cn(e){return R(e)?e.advanced?.reverse!==!1:!1}function un(e,t){let n=e.readonly??!1;return t||n}function dn(e){if(I(e)||L(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||d(t)&&!(X in t))return t}}var ko=/^\d+$/;function fn(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function mn(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 rt(){return new Date().getFullYear()}function ot(e,t){if(typeof e=="number")return e;let n=t??rt(),r=e.trim().toLowerCase();if(r.startsWith("current")){let o=r.match(/^current([+-])(\d+)$/);if(o){let[,i,l]=o,a=parseInt(l,10);if(!isNaN(a))return i==="+"?n+a:n-a}return n}return ko.test(r)?parseInt(r,10):n}var Fe=rt();function Eo(e){if(L(e))return wo(e)}function wo(e){if(he(e))return fn();if(Re(e)){let t=e.advanced?.length?.min??Fe,n=e.advanced?.length?.max??Fe+5;return mn(ot(t,Fe),ot(n,Fe))}}function gn(e,t=!1){let n={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return tt(e)?{...n,...Io(e)}:L(e)?{...n,...Lo(e)}:nt(e)?{...n,...Po(e)}:n}function Io(e){let t=qt(e.type),n={...e,type:t};return{...pn(e),...Vo(n),...nn(n)?yn(n):{},type:t}}function Lo(e){let t=Eo(e);return t?{options:t}:{}}function Po(e){return{...pn(e),...yn(e)}}function pn(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function Vo(e){return Te(e)?Do(e):{}}function yn(e){return bn(e,{min:Bt,max:Gt})}function Do(e){return bn(e,{min:fe,max:me})}function bn(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=dn(e);return n||an(e,t)}function Oo(e,t){let n=d(t)&&e.name in t?t[e.name]:t;return Qe(n,e.advanced?.entity)}function Mo(e,t,n){return ve(e)&&Array.isArray(n)?{...t,[de]:n}:t}function _o(e,t,n){if(e.required&&!$(n)&&L(e)&&e.advanced?.preselected!==!1&&de in t){let r=t[de];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function Bo(e,t){return L(e)&&Array.isArray(t)?Ht(t,e.advanced?.options):t}function hn(e,t,n,r){let o=Oo(e,r),i=Array.isArray(n)?Bo(e,n):n,l=Mo(e,t,i),a=_o(e,l,o);return{commonPropsWithOptions:l,defaultValue:a}}function Rn(e,t){return R(e)?{checked:$(t)?t:!1}:{value:t??""}}var Go=/^#\/definition\//;function Ne(e=[],t){let n=Ce(e,t);return Array.isArray(n)?n.filter(Uo).sort((r,o)=>Tn(r)-Tn(o)):[]}function Ce(e,t,n=new Map,r=new WeakSet){if(!$o(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=>Ce(i,t,n,r));if(X in e&&A(e[X])){let i=e[X].replace(Go,""),l=h(t,i);return l!==null?Ce(l,t,n,r):e}let o={};for(let[i,l]of Object.entries(e))o[i]=Ce(l,t,n,r);return r.delete(e),n.set(e,o),o}function Sn(e){return Object.entries(e??{})}function Tn(e){return e.order??Number.MAX_VALUE}function $o(e){return e!==void 0&&d(e)&&Object.keys(e).length>0}function Uo(e){return zt in e?!0:Array.isArray(e[qe])?e[qe].length>0:!0}function An(e,t){let n={};for(let[r,o]of Sn(t))n[`${e}-${r}`]=o;return n}function zo(e){return An(Mt,e)}function Yo(e){return An(_t,e)}function vn(e,t){let n=zo(e.advanced?.aria);return t&&t.length>0&&(n[Vt]="true",n[Pt]=`${e.name}-error`),n}function Fn(e){return Yo(e.advanced?.data)}var Cn={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},Nn={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function kn(e,t=2){return Cn[e&&e in Cn?e:t]}function En(e){if(e&&e in Nn)return Nn[e]}function Xo(e,t){let n=e.advanced?.length?.min??1;if(t){let r=h(t,e.name);if(Array.isArray(r))return Math.max(r.length,n)}return Math.max(n,0)}function wn(e){return!Array.isArray(e.fields)||e.fields.length===0?!1:e.fields.length>1||e.fields[0].type===K}function In(e,t){let n=Xo(e,t);return Array.from({length:n},(r,o)=>o)}function Ln(e){return e.label??e.name}import{z as p}from"zod";function g(e,t){return e?t?t[e]??e:e:""}var Ho=[[Te,Jo],[rn,qo],[Re,Qo],[he,jo],[R,Ko],[I,Zo]];function Vn(e,t=[],n){let r=p.object(e);return t.length===0?r:ri(r,t,n)}function Dn(e){let t={},n=p.flattenError(e).fieldErrors;for(let[r,o]of Object.entries(n))o!==void 0&&(t[r]=o);return t}function On(e,t){for(let[n,r]of Ho)if(n(e))return r(e,t);return Wo(e,t)}function qo(e,t){let n=p.string().trim();if(e.required){let r=H(e,t),o=n.min(1,r).pipe(Pn(e,t));return p.preprocess(i=>pe(i)?"":i,o)}return n.pipe(Pn(e,t)).or(p.literal("")).nullable()}function Ko(e,t){let n=p.coerce.boolean();return e.required?(n=n.refine(r=>r===!0,{message:H(e,t)}),p.preprocess(r=>r===null?!1:r,n)):n.nullable()}function Zo(e,t){let n=p.coerce.string();return e.required?(n=n.min(1,H(e,t)),p.preprocess(r=>pe(r)?"":r,n)):n.or(p.literal("")).nullable()}function Wo(e,t){let n=p.coerce.string().trim();return n=Mn(n,e,t),e.required?(n=_n(n,e,t),p.preprocess(r=>pe(r)?"":r,n)):n.nullable()}function Jo(e,t){let n=p.coerce.number().int();return n=Mn(n,e,t),e.required?(n=_n(n,e,t),p.preprocess(r=>r===null?void 0:r,n)):n.nullable()}function Qo(e,t){return e.required?p.preprocess(ei,p.coerce.number({message:H(e,t)}).int()):p.coerce.number().int().nullable()}function jo(e,t){let n=H(e,t),r=p.coerce.number().int().min(1,n).max(12,n);return e.required?r:r.nullable()}function ei(e){return e===null||e===""?void 0:e}function Pn(e,t){let n=e.validation?.email?g(e.validation?.email,t):void 0;return p.email(n)}function Mn(e,t,n){return e=ti(e,t,n),e=ni(e,t,n),e}function _n(e,t,n){let r=t.advanced?.length?.min;return r===void 0||r<1?e.min(1,H(t,n)):e}var ti=(e,t,n)=>Bn(e,t,fe,n),ni=(e,t,n)=>Bn(e,t,me,n);function Bn(e,t,n,r){let o=t.advanced?.length?.[n];if(o!==void 0){let i=t.validation?.length?.[n]?g(t.validation?.length?.[n],r):void 0;return e[n](o,i)}return e}function ri(e,t=[],n){let r=ii(t);return r.length===0?e:e.superRefine((o,i)=>{for(let{name:l,rule:a}of r)if(!oi(o,l,a)){let s=g(a.message,n);i.addIssue({code:"custom",message:s,path:[l]})}})}function oi(e,t,n){let r=n.operator??"eq",o=Q[r];return o?o(e[t],e[n.field]):!1}function ii(e){let t=[];for(let n of e){let r=n.validation?.custom;if(!r)continue;let o=Array.isArray(r)?r:[r];for(let i of o)t.push({name:n.name,rule:i})}return t}function Gn(e,t,n,r){let o=[],i=Array.isArray(t)?t:[t];for(let l of i){let a=l.operator??"eq",s=Q[a];if(s&&!s(e,n(l.field))&&l.message){let c=g(l.message,r);o.push(c)}}return o}function H(e,t){return e.validation?.required?g(e.validation?.required,t):void 0}function $n(e,t){if(!t||!ai(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(l=>!(l.protocol&&l.protocol!==r||l.hostname&&l.hostname!==o||l.port!==void 0&&String(l.port)!==i))}catch{return!1}}function li(e){return e==="https"?"443":"80"}function ai(e){return/^(https?:)?\/\//.test(e)}function Un(e,t){try{if(!e)return t;if(!t)return e;let n=new URL(e,ge);new URL(t,ge).searchParams.forEach((i,l)=>{n.searchParams.set(l,i)});let o=n.toString();return e.startsWith("/")||!e.includes("://")?o.replace(ge,""):o}catch{return t||e}}function zn(e){return!Array.isArray(e)||e.length===0?null:e.reduce((t,n)=>{let r=Un(t.url,n.url),o=si(t,n),i=ci(t,n);return{...t,...n,url:r,body:o,headers:i}})}function si(e,t){return d(t.body)&&d(e?.body)?{...e.body,...t.body}:t.body??e?.body}function ci(e,t){return d(t.headers)&&d(e?.headers)?{...e.headers,...t.headers}:t.headers??e?.headers}function ke(e,t){return{...e,...t}}import{jsx as ui}from"react/jsx-runtime";function B(e){return Wt(e,(t,n,r)=>ui("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${t}`))}import{jsx as j,jsxs as it}from"react/jsx-runtime";function Yn(e){let{fields:t=[]}=e.section,[n,r]=mi(!1),o=fi(()=>r(i=>!i),[]);return it("fieldset",{"data-slot":"field-set","data-advanced":"true","data-expanded":n,"data-empty":t.length===0,className:"flex flex-col",id:e.section.id?.toString(),children:[j("legend",{children:it("button",{className:"flex cursor-pointer items-center gap-2 text-base font-medium text-slate-600 dark:text-slate-400",onClick:o,type:"button",children:[j(Rt,{expanded:n}),j("span",{children:B(e.section.title)})]})}),j(di,{mode:n?"visible":"hidden",children:it("div",{className:"mt-3 ml-1.5 flex flex-col gap-4 border-l-2 border-slate-300 pl-4 dark:border-slate-600","data-slot":"field-set-content",children:[e.section.description&&j("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:B(e.section.description)}),e.group]})})]})}import{Fragment as gi,jsx as Xn,jsxs as pi}from"react/jsx-runtime";function Hn(e){return pi(gi,{children:[e.title&&Xn("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:B(e.title)}),e.description&&Xn("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:B(e.description)})]})}import{jsx as yi,jsxs as bi}from"react/jsx-runtime";function Ee(e){return bi("fieldset",{"data-slot":"field-set","data-empty":e.empty,className:"flex flex-col data-[empty=false]:gap-6",id:e.id,children:[yi(Hn,{description:e.description,title:e.title}),e.children]})}import{jsx as xi}from"react/jsx-runtime";function U(e){return xi("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 lt}from"react/jsx-runtime";function qn(e){let{fields:t=[]}=e.section,{compact:n}=ke(e.style,{compact:e.section.compact}),r=lt(U,{compact:n,children:e.children});return!e.section.title&&!e.section.description?r:e.section.advanced?lt(Yn,{section:e.section,group:r}):lt(Ee,{description:e.section.description,empty:t.length===0,id:e.section.id?.toString(),title:e.section.title,children:r})}import{useAtomValue as Ai}from"jotai";import{atom as z}from"jotai";import{atomFamily as Kn}from"jotai-family";import{deepEqual as at}from"fast-equals";function we(e,t){let{[t]:n,...r}=e;return r}function hi(e){return Kn(t=>z(n=>n(e)[t]??void 0,(n,r,o)=>{let i=n(e);if(o!=null){let l=i[t];(!l||!at(l,o))&&r(e,{...i,[t]:o})}else i[t]&&r(e,we(i,t))}))}function Ri(e){return z(null,(t,n)=>{let r=t(e);r&&Object.keys(r).length>0&&n(e,{})})}function Ti(e){return z(null,(t,n,r)=>{let i={...t(e)},l=!1;for(let a of r)i[a]&&(delete i[a],l=!0);l&&n(e,i)})}function Si(e){return z(null,(t,n,r)=>{let o=t(e);at(o,r)||n(e,r)})}function Zn(e,t={}){let{merge:n,validateTarget:r}=t;return Kn(o=>z(i=>{let l=i(e)[o];if(l&&n)return n(Object.values(l))},(i,l,a,s)=>{if(r&&!r(a))return;let c=i(e),u={...c[a]??{}};if(s!=null){let y=u[o];(!y||!at(y,s))&&(u[o]=s,l(e,{...c,[a]:u}))}else u[o]&&(delete u[o],Object.keys(u).length===0?l(e,we(c,a)):l(e,{...c,[a]:u}))}))}function Wn(e){return z(null,(t,n,r)=>{let i={...t(e)},l=!1;for(let a of r)i[a]&&(delete i[a],l=!0);for(let a in i){let s={...i[a]},c=!1;for(let u of r)s[u]&&(delete s[u],c=!0,l=!0);c&&(Object.keys(s).length===0?delete i[a]:i[a]=s)}l&&n(e,i)})}function q(e={}){let t=z(e);return{atom:t,clearAll:Ri(t),clear:Ti(t),bulkReport:Si(t),report:hi(t)}}var Jn=q(),Ie=Jn.atom,Qn=Jn.report;function vi(e,t){return e.fields.every(n=>jn(n,t))}function jn(e,t){return t[e.name]?.hidden??e.hidden??!1}function Fi(e,t){return _(e)?vi(e,t):jn(e,t)}function Le(e){let t=Ai(Ie);return e.container&&(t[e.container.name]?.hidden??e.container.hidden??!1)||e.fields.length===0||e.fields.every(r=>Fi(r,t))?null:e.children}import{jsx as er}from"react/jsx-runtime";function tr(){return er("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:er("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}import{jsx as ee,jsxs as nr}from"react/jsx-runtime";function rr(e){let t=Ne(e.sections,e.definition);return ee("div",{className:"h-full w-full",children:ee("form",{noValidate:e.noValidate,action:e.action,children:nr(U,{children:[t.map((n,r)=>nr(Le,{fields:n.fields??[],children:[ee(qn,{section:n,style:e.config.style,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.separator&&ee(tr,{})]},r)),e.control&&ee(xt,{isPending:e.isPending,children:e.control})]})})})}import{jsx as Ci}from"react/jsx-runtime";function or(e){return Ci("p",{className:"-mt-2 text-xs leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}import{jsx as Ni}from"react/jsx-runtime";function Pe(e){let t={context:e.context,env:e.config?.env},n=g(ye(e.text,t),e.translations),r=B(n);return r?Ni(or,{children:r}):null}import{twMerge as ki}from"tailwind-merge";import{jsx as Ei,jsxs as wi}from"react/jsx-runtime";function ir(e){let t=e.style?.showOptionalLabel??!0,n=I(e.field)||R(e.field);return wi("label",{"data-slot":"field-label","data-normal":n,className:ki("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&&Ei("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:g("(Optional)",e.translations)})]})}import{jsx as lr,jsxs as Ii}from"react/jsx-runtime";function ar(e){let t={context:e.context,env:e.config?.env},n=ye(e.field.label,t);return Ii("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[lr(ir,{field:e.field,style:e.config?.style,translations:e.translations,children:g(n,e.translations)}),e.horizontal===!0&&lr(Pe,{config:e.config,context:e.context,text:e.field.description,translations:e.translations})]})}import{Fragment as Li,jsx as sr,jsxs as Pi}from"react/jsx-runtime";function cr(e){return Pi(Li,{children:[e.field.name&&e.field.label&&sr(ar,{config:e.config,context:e.context,field:e.field,horizontal:e.horizontal,translations:e.translations}),e.children,e.horizontal===!1&&sr(Pe,{config:e.config,context:e.context,text:e.field.description,translations:e.translations})]})}function Ve(e,t){return e?t(e):null}var st=q(),ur=st.clear,dr=st.bulkReport,De=st.report;var Oe=q(),Me=Oe.atom,fr=Oe.clearAll,mr=Oe.clear,_e=Oe.report;import{useCallback as Be,useEffect as Qi,useRef as te,useTransition as ji}from"react";import{atom as Vi}from"jotai";var Di=e=>{let t=zn(e);if(t)return t},Oi=e=>e.trim()!=="",gr=Vi({}),pr=Zn(gr,{merge:Di,validateTarget:Oi}),yr=Wn(gr);import{useAtom as Bi}from"jotai";import Mi from"swr";function br(e=null,t,n=!1){let{data:r,error:o}=Mi(_i(e,t,n),t.fetcher.provider);if(o&&J.error("Error fetching data source:",o),e){if(Array.isArray(e))return e;if(r)return Xt(r,e.namespace)}return null}function _i(e=null,t,n=!1){if(e&&!Array.isArray(e)&&!n&&e.url&&!W(e.url)){if($n(e.url,t.fetcher.remotePatterns))return e;J.warn(`URL blocked by remotePatterns: ${e.url}. Check your luna.config.ts`)}return null}function xr(e,t,n){let r=xn(e,n),[o,i]=Bi(pr(e.name));return[br(o??r,t,e.disabled),i]}import{useEffect as Gi,useEffectEvent as hr,useMemo as $i}from"react";function Rr(e,t,n,r){let{name:o}=e,i=$i(()=>On(e,r),[e,r]),l=hr(s=>{s&&t(s,i,e)}),a=hr(s=>{s&&n(s)});return Gi(()=>(l(o),()=>{a(o)}),[o]),i}import{useSetAtom as ct,useStore as el}from"jotai";import{useCallback as Ui,useEffect as zi,useRef as Yi}from"react";function Tr(){let e=Yi(null);return zi(()=>()=>{e.current&&clearTimeout(e.current)},[]),Ui((n,r)=>{e.current&&(clearTimeout(e.current),e.current=null),e.current=setTimeout(n,r)},[])}import{deepEqual as Xi}from"fast-equals";import{useAtom as Hi}from"jotai";import{useCallback as qi,useEffect as Ki,useRef as Zi,useEffectEvent as Wi}from"react";function Sr(e,t){let{name:n}=e,r=Zi(!1),[o,i]=Hi(_e(n)),l=Wi(s=>{let c=Ji(n,s);$(c)&&(Xi(o,c)||(r.current=!0),i(c))});Ki(()=>{t&&l(t)},[t]);let a=qi(()=>r.current?(r.current=!1,!0):!1,[]);return{setValue:i,shouldSkipOnChange:a,value:o}}function Ji(e,t){if(e in t)return t[e];if(!e.includes("."))return;let n=e.split("."),r=t;for(let o of n){if(r==null)return;if(Array.isArray(r)){let i=Number(o);r=Number.isInteger(i)?r[i]:void 0}else if(typeof r=="object")r=r[o];else return}return r}import{jsx as Ar}from"react/jsx-runtime";function vr(e){let t=e.field.advanced?.entity,n=el(),r=Tr(),[,o]=ji(),{setValue:i,shouldSkipOnChange:l,value:a}=Sr(e.field,e.value),s=te(!1),c=te(a);c.current=a;let u=te(e.translations);u.current=e.translations;let y=ln(e.field),x=Se(e.field),v=ct(Me),P=ct(Ie),F=ct(De(e.field.name)),[b,w]=xr(e.field,e.config,a),C=Rr(e.field,e.onMount,e.onUnmount,e.translations),T=g(e.commonProps.placeholder,e.translations),V={...e.commonProps,placeholder:T},{commonPropsWithOptions:N,defaultValue:le}=hn(e.field,V,b,a),yt=te(null);yt.current=f=>{if(i(f),e.onValueChange){let m=e.dataAttributes??{};e.onValueChange({data:Object.keys(m).length>0?m:void 0,name:e.field.name,type:e.field.type,value:f})}};let Ue=te(null);Ue.current=f=>{let m=e.field.event?.change;m&&Jt(m,({sources:G,states:se,values:ze})=>{o(()=>{Qt(f,G,(k,Y)=>w(k,Y)),en(f,se,(k,Y)=>{P(ce=>Y?k.reduce((Ye,Xe)=>({...Ye,[Xe]:Y}),ce):k.reduce((Ye,Xe)=>we(Ye,Xe),ce))}),tn(f,ze,(k,Y)=>{v(ce=>({...ce,[k]:Y}))})})})};let io=Rn(e.field,le),ae=Be(f=>{let G=C.safeParse(f).error?.issues.map(k=>k.message)??[],se=e.field.validation?.custom,ze=se?Gn(f,se,k=>n.get(_e(k)),u.current):[];F([...G,...ze])},[e.field.validation?.custom,C,F,n]),bt=Be((f,m)=>{if(y){r(()=>{m({value:f})},300);return}m(Je(f,b,t))},[b,t,y,r]);Qi(()=>{if(s.current||!e.value)return;if(!e.field.event?.change){s.current=!0;return}if(!((!ve(e.field)||!!b&&b.length>0)&&$(le)))return;s.current=!0;let m=String(le),G=y?{value:m}:Je(m,b,t);Ue.current?.(G)},[b,le,t,y,e.field,e.value]);let lo=Be(f=>{let m=f.target.value;!x&&l()&&(!y||m===c.current)||(yt.current?.(m),e.config.validation.change&&ae(m),e.field.event?.change&&bt(m,G=>{Ue.current?.(G)}))},[bt,x,y,e.config.validation.change,e.field.event?.change,l,ae]),ao=Be(f=>{if(!x){let m=f.target.value;e.config.validation.blur&&ae(m)}},[x,e.config.validation.blur,ae]);return Ve(e.config.inputs[e.field.type],f=>Ar(cr,{config:e.config,context:e.context,field:e.field,horizontal:e.horizontal,translations:e.translations,children:Ar(f,{...N,...e.ariaAttributes,...e.dataAttributes,...io,onBlur:ao,onChange:lo})}))}import{jsx as Fr}from"react/jsx-runtime";function Cr(e){return!e.errors||e.errors.length===0?null:Fr("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)=>Fr("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}import{twMerge as tl}from"tailwind-merge";import{jsx as nl}from"react/jsx-runtime";function Ge(e){let t=e.errors&&e.errors.length>0;return nl("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[Dt]:"true"},...e.disabled&&{[Ot]:"true"},"data-orientation":e.orientation,className:tl("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 rl}from"tailwind-merge";import{jsx as ol}from"react/jsx-runtime";function Nr(e){return ol(Ge,{...e,orientation:"vertical",className:rl("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}import{twMerge as il}from"tailwind-merge";import{jsx as ll}from"react/jsx-runtime";function kr(e){return ll(Ge,{...e,orientation:"horizontal",className:il("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 Er}from"react/jsx-runtime";function wr(e){let t=Se(e.field),n=R(e.field),r=cn(e.field);return e.horizontal?Er(kr,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children}):Er(Nr,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children})}function Ir(e){if(!e.field.type)return null;let t=gn(e.field,e.disabled),n=Fn(e.field),r=vn(e.field,e.errors),o={...e.field,disabled:t.disabled};return e.children({ariaAttributes:r,commonProps:t,dataAttributes:n,field:o,horizontal:e.horizontal})}import{twMerge as al}from"tailwind-merge";import{jsx as ut,jsxs as sl}from"react/jsx-runtime";function Lr(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{horizontal:r}=ke(e.style,{horizontal:sn(e.field)}),o=un(e.field,e.disabled);return sl("div",{className:al("flex flex-col gap-3",En(t)),children:[ut(wr,{disabled:o,errors:n,field:e.field,horizontal:r,children:ut(Ir,{disabled:o,errors:n,field:e.field,horizontal:r,children:e.children})}),ut(Cr,{errors:n,name:e.field.name})]})}import{useAtomValue as cl}from"jotai";import{jsx as fl}from"react/jsx-runtime";function Pr(e){return(t,n)=>o=>{let i=cl(e(o.field.name)),l=n(i,o);return l===null?null:fl(t,{...o,...l})}}var ul=Pr(De);function Vr(e){return ul(e,(t,n)=>({errors:t?{[n.field.name]:t}:void 0}))}var dl=Pr(Qn);function Dr(e){return dl(e,(t,n)=>t?.hidden??n.field.hidden??!1?null:{disabled:t?.disabled??n.disabled})}var Or=Dr(Vr(Lr));import{twMerge as ml}from"tailwind-merge";import{jsx as ne,jsxs as $e}from"react/jsx-runtime";function Mr(e){function t(){e.canRemove&&e.onRemove&&e.onRemove(e.index)}let n=e.canRemove&&e.onRemove!=null&&ne("button",{"aria-label":`Remove ${e.label} item ${e.index+1}`,className:ml("rounded p-1 text-xl text-slate-400","transition-colors duration-150","hover:text-red-500","focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:outline-none","dark:text-slate-500 dark:hover:text-red-400"),onClick:t,type:"button",children:ne("span",{"aria-hidden":"true",children:"\xD7"})});return e.isMultiField?$e("div",{className:"rounded-lg border border-slate-100 p-4 dark:border-slate-900",children:[$e("div",{className:"mb-3 flex items-center justify-between",children:[$e("span",{className:"text-sm font-medium text-slate-400 dark:text-slate-500",children:[e.label," ",e.index+1]}),n]}),ne(U,{children:e.children})]}):$e("div",{className:"flex items-start gap-2",children:[ne(U,{children:e.children}),n&&ne("div",{className:"shrink-0",children:n})]})}import{twMerge as bl}from"tailwind-merge";import{useSetAtom as gl}from"jotai";import{useCallback as _r,useLayoutEffect as pl,useRef as Br,useState as yl}from"react";function Gr(e,t){let n=e.advanced?.length?.min??1,r=e.advanced?.length?.max??1/0,[o,i]=yl(()=>In(e,t)),l=Br(o.length),a=Br(o);pl(()=>{a.current=o});let s=gl(Me),c=_r(()=>{i(v=>{if(v.length>=r)return v;let P=l.current++;return[...v,P]})},[r]),u=_r(v=>{if(a.current.length<=n)return;let P=a.current[v];i(F=>F.length<=n?F:F.filter((b,w)=>w!==v)),s(F=>{let b={...F},w=`${e.name}.`,C=[];for(let T of e.fields)if(_(T))for(let V of T.fields)C.push(V.name);else C.push(T.name);for(let T of C)delete b[`${w}${P}.${T}`];return b})},[e.name,e.fields,n,s]),y=o.length<r,x=o.length>n;return[o,c,u,y,x,r]}import{Fragment as xl,jsx as $r,jsxs as dt}from"react/jsx-runtime";function Ur(e){let[t,n,r,o,i,l]=Gr(e.field,e.value),a=Ln(e.field),s=e.field.advanced?.action??"Add item",c=l!==1/0,u=wn(e.field);return dt(xl,{children:[t.map((y,x)=>$r(Mr,{canRemove:i,index:x,isMultiField:u,label:a,onRemove:r,children:e.children(y)},y)),dt("button",{"aria-disabled":!o,"aria-label":c?`${s}, ${t.length} of ${l}`:s,className:bl("flex w-full items-center gap-1.5 rounded py-1","text-sm font-medium text-slate-500","transition-colors duration-150","hover:text-slate-800","focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:ring-offset-2 focus-visible:outline-none","dark:text-slate-400 dark:hover:text-slate-200",!o&&"cursor-not-allowed opacity-50 hover:text-slate-500 dark:hover:text-slate-400"),disabled:!o,onClick:n,type:"button",children:[$r("span",{"aria-hidden":"true",children:"+"}),s,c&&dt("span",{"aria-hidden":"true",className:"ml-auto text-slate-400 tabular-nums dark:text-slate-500",children:[t.length," / ",l]})]})]})}import{jsx as hl}from"react/jsx-runtime";function zr(e){let t=Array.isArray(e.field.fields)&&e.field.fields.length===0;return hl(Ee,{description:e.field.description,empty:t,id:e.field.name,title:e.field.label,children:e.children})}import{jsx as ft}from"react/jsx-runtime";function Yr({children:e,field:t,value:n}){return ft(Le,{container:t,fields:t.fields,children:ft(zr,{field:t,children:ft(Ur,{field:t,value:n,children:e})})})}import{twMerge as Rl}from"tailwind-merge";import{jsx as Xr}from"react/jsx-runtime";function Hr(e){let t=kn(e.column?.advanced?.cols);return Xr("div",{className:"flex w-full flex-col gap-4",children:Xr("div",{className:Rl("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children})})}import{Fragment as Sl}from"react";import{jsx as Tl}from"react/jsx-runtime";function qr(e){let t=Array.isArray(e.field.fields)?e.field.fields.map(n=>Ae(n)?{...n,name:`${e.field.name}.${e.index}.${n.name}`}:_(n)?{...n,fields:n.fields.map(r=>({...r,name:`${e.field.name}.${e.index}.${r.name}`}))}:n):[];return Tl(re,{children:e.children,components:e.components,disabled:e.disabled,fields:t,style:e.style,value:e.value})}import{jsx as oe,jsxs as Al}from"react/jsx-runtime";function re(e){let{field:t,list:n}=e.components;return Ne(e.fields).map((r,o)=>Al(Sl,{children:[_(r)&&oe(Hr,{column:r,children:oe(re,{...e,fields:r.fields})}),Ae(r)&&oe(t,{disabled:e.disabled,field:r,style:e.style,children:e.children}),on(r)&&oe(n,{field:r,value:e.value,children:i=>oe(qr,{children:e.children,components:e.components,disabled:e.disabled,field:r,index:i,style:e.style,value:e.value})})]},o))}import{jsx as vl}from"react/jsx-runtime";function Kr(e){return n=>vl(re,{...n,components:e})}var Zr=Kr({field:Or,list:Yr});import{useSetAtom as Wr}from"jotai";import{startTransition as Jr,useActionState as Fl}from"react";function jr(e,t,n){let{onSuccess:r,preserveValues:o=!1,validation:i=!0,translations:l}=n??{},a=Wr(dr),s=Wr(fr),c={data:null,error:null,success:!1},[u,y,x]=Fl(async(v,P)=>{let[F,b]=e(),w=Vn(F,b,l);if(i===!1)return t?await t(P,w):v;let C=Kt(P),T=w.safeParse(C);if(!T.success){let N=Dn(T.error);return Jr(()=>{a(N)}),mt(C,{description:g("Please correct the errors and try again.",l),details:[],title:g("There were validation errors submitting the form.",l)})}let V=Zt(C);if(t)try{let N=await t(V,w);return N.success?(r?.(N.data),o||Jr(()=>{s()}),Qr(V,o)):mt(V,N.error)}catch(N){return J.error("Error executing form action:",N),mt(V,{title:g("An unexpected error occurred submitting the form.",l),details:Cl(N,l)})}return Qr(T.data,o)},c);return[y,u,x]}function Cl(e,t){return e instanceof Error?[e.message]:[g("Unknown error",t)]}function Qr(e,t=!1){return{data:t?e:null,error:null,success:!0}}function mt(e,t){return{data:e,error:t,success:!1}}import{useCallback as pt,useRef as to}from"react";import{useCallback as Nl}from"react";import{useSetAtom as gt}from"jotai";function eo(){let e=gt(ur),t=gt(mr),n=gt(yr);return Nl(r=>{let o=Array.isArray(r)?r:[r];e(o),n(o),t(o)},[e,n,t])}function no(){let e=eo(),t=to({}),n=to([]),r=pt((l,a,s)=>{l in t.current||(t.current[l]=a,n.current.push(s))},[]),o=pt(l=>{t.current[l]&&(delete t.current[l],n.current=n.current.filter(a=>a.name!==l),e([l]))},[e]);return[pt(()=>[t.current,n.current],[]),r,o]}import{Fragment as kl,jsx as ie,jsxs as El}from"react/jsx-runtime";function ro(e){let t=e.translations?.[e.lang??""],[n,r,o]=no(),[i,l,a]=jr(n,e.action,{onSuccess:e.onSuccess,validation:e.config.validation.submit,translations:t}),s=e.config.validation.showError&&!l.success&&l.error,c=l.data??e.value;return El(kl,{children:[s&&Ve(e.config.alert,u=>ie("div",{className:"mb-4 w-full",children:ie(u,{description:l.error?.description,details:l.error?.details,title:l.error.title})})),ie(rr,{action:i,config:e.config,control:e.children,definition:e.definition,isPending:a,noValidate:!0,readOnly:e.readOnly,sections:e.sections,children:({disabled:u,fields:y})=>ie(Zr,{disabled:u,fields:y,style:e.config.style,value:c,children:x=>ie(vr,{...x,config:e.config,context:e.context,onMount:r,onUnmount:o,onValueChange:e.onValueChange,translations:t,value:c})})})]})}import{Provider as wl}from"jotai";import{jsx as oo}from"react/jsx-runtime";function Il(e){return oo(wl,{children:oo(ro,{...e})})}export{Il as Form};
@@ -1 +1 @@
1
- "use strict";var l=Object.defineProperty;var N=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var O=Object.prototype.hasOwnProperty;var P=(t,n)=>{for(var r in n)l(t,r,{get:n[r],enumerable:!0})},w=(t,n,r,e)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of C(n))!O.call(t,o)&&o!==r&&l(t,o,{get:()=>n[o],enumerable:!(e=N(n,o))||e.enumerable});return t};var _=t=>w(l({},"__esModule",{value:!0}),t);var rt={};P(rt,{defineCheckbox:()=>J,defineConfig:()=>q,defineCustomInput:()=>nt,defineInput:()=>z,defineRadio:()=>Z,defineSelect:()=>Q,defineTextArea:()=>tt});module.exports=_(rt);var D="input",M="input/email",U="input/number",k="input/password",v="input/tel",X="input/text",m=[D,M,U,k,v,X],A="textarea",h="radio",y="checkbox";var V="select",j="select/month",B="select/year",I=[V,j,B];var u="http://luna.internal";function R(t){return t!==null&&Object.prototype.toString.call(t)==="[object Object]"}function i(t){return typeof t=="string"}function a(t){return i(t)?/{([^}]{1,200})}/.test(t):Array.isArray(t)?t.some(n=>a(n)):R(t)?Object.values(t).some(n=>a(n)):!1}var b={error:(...t)=>{f()&&!d()&&p().error("[Luna Form]",...t)},warn:(...t)=>{f()&&!d()&&p().warn("[Luna Form]",...t)},info:(...t)=>{f()&&!d()&&p().info("[Luna Form]",...t)}},f=()=>typeof p()<"u",d=()=>!0,p=()=>globalThis.console;function L(t){try{return t instanceof FormData?null:i(t)?t:JSON.stringify(t)}catch{return b.error("Failed to stringify body:",t),null}}var F=/(^|[\/?=&])(null|undefined)([\/?=&]|$)/;async function S(t){let[n,r]=H(t),e=t.body,o=$(t);if(e&&!x(r)){let g=L(e);g!==null&&(e=g,o=G(o))}let c=n.origin===u?n.toString().replace(u,""):n.toString(),T=await fetch(c,{body:W(r,e),cache:t.cache,headers:o,method:r}),E=await T.json();if(T.ok)return E;throw E}function H(t){let n=t.url?.trim();if(!n||!K(n))throw new Error(`Invalid URL: ${t.url}`);let r=new URL(n,u),e=Y(t);return t.body&&x(e)&&Object.entries(t.body).filter(([,o])=>o!==void 0&&o!=="undefined").forEach(([o,c])=>{r.searchParams.append(o,String(c))}),[r,e]}function G(t){return{...t,"Content-Type":"application/json"}}function K(t){return!i(t)||a(t)?!1:!F.test(t)}function Y(t){return t.method??"GET"}function $(t){return{Accept:"application/json",...t.headers??{}}}function x(t){return t.toUpperCase()==="GET"}function W(t,n){if(!x(t))return n}function q(t){let n={alert:t.alert,env:t.env,fetcher:{provider:S,remotePatterns:t.fetcher?.remotePatterns},inputs:{},style:t.style};return n.validation=t.validation??{blur:!0,change:!0,showError:!0,submit:!0},t.inputs.forEach(({types:r,input:e})=>{(Array.isArray(r)?r:[r]).forEach(c=>{n.inputs[c]=e})}),n}var J=s([y]),z=s(m),Z=s([h]),Q=s(I),tt=s([A]);function nt(t,n){return s(t)(n)}function s(t){return n=>({types:t,input:n})}
1
+ "use strict";var l=Object.defineProperty;var N=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var w=Object.prototype.hasOwnProperty;var C=(n,t)=>{for(var r in t)l(n,r,{get:t[r],enumerable:!0})},_=(n,t,r,e)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of P(t))!w.call(n,o)&&o!==r&&l(n,o,{get:()=>t[o],enumerable:!(e=N(t,o))||e.enumerable});return n};var D=n=>_(l({},"__esModule",{value:!0}),n);var rn={};C(rn,{defineCheckbox:()=>J,defineConfig:()=>q,defineCustomInput:()=>tn,defineInput:()=>z,defineRadio:()=>Q,defineSelect:()=>Z,defineTextArea:()=>nn});module.exports=D(rn);var O="input",M="input/email",U="input/number",k="input/password",X="input/tel",v="input/text",m=[O,M,U,k,X,v],h="textarea",A="radio",y="checkbox";var j="select",B="select/month",F="select/year",I=[j,B,F];var u="http://luna.internal";function R(n){return n!==null&&Object.prototype.toString.call(n)==="[object Object]"}function i(n){return typeof n=="string"}function a(n){return i(n)?/{([^}]{1,200})}/.test(n):Array.isArray(n)?n.some(t=>a(t)):R(n)?Object.values(n).some(t=>a(t)):!1}var b={error:(...n)=>{f()&&!d()&&p().error("[Luna Form]",...n)},warn:(...n)=>{f()&&!d()&&p().warn("[Luna Form]",...n)},info:(...n)=>{f()&&!d()&&p().info("[Luna Form]",...n)}},f=()=>typeof p()<"u",d=()=>!0,p=()=>globalThis.console;function S(n){try{return n instanceof FormData?null:i(n)?n:JSON.stringify(n)}catch{return b.error("Failed to stringify body:",n),null}}var V=/(^|[\/?=&])(null|undefined)([\/?=&]|$)/;async function L(n){let[t,r]=G(n),e=n.body,o=$(n);if(e&&!x(r)){let g=S(e);g!==null&&(e=g,o=H(o))}let c=t.origin===u?t.toString().replace(u,""):t.toString(),T=await fetch(c,{body:W(r,e),cache:n.cache,headers:o,method:r}),E=await T.json();if(T.ok)return E;throw E}function G(n){let t=n.url?.trim();if(!t||!K(t))throw new Error(`Invalid URL: ${n.url}`);let r=new URL(t,u),e=Y(n);return n.body&&x(e)&&Object.entries(n.body).filter(([,o])=>o!==void 0&&o!=="undefined").forEach(([o,c])=>{r.searchParams.append(o,String(c))}),[r,e]}function H(n){return{...n,"Content-Type":"application/json"}}function K(n){return!i(n)||a(n)?!1:!V.test(n)}function Y(n){return n.method??"GET"}function $(n){return{Accept:"application/json",...n.headers??{}}}function x(n){return n.toUpperCase()==="GET"}function W(n,t){if(!x(n))return t}function q(n){let t={alert:n.alert,env:n.env,fetcher:{provider:L,remotePatterns:n.fetcher?.remotePatterns},inputs:{},style:n.style};return t.validation=n.validation??{blur:!0,change:!0,showError:!0,submit:!0},n.inputs.forEach(({types:r,input:e})=>{(Array.isArray(r)?r:[r]).forEach(c=>{t.inputs[c]=e})}),t}var J=s([y]),z=s(m),Q=s([A]),Z=s(I),nn=s([h]);function tn(n,t){return s(n)(t)}function s(n){return t=>({types:n,input:t})}
@@ -1 +1 @@
1
- var S="input",N="input/email",C="input/number",O="input/password",P="input/tel",w="input/text",g=[S,N,C,O,P,w],m="textarea",A="radio",h="checkbox";var _="select",D="select/month",M="select/year",y=[_,D,M];var u="http://luna.internal";function I(t){return t!==null&&Object.prototype.toString.call(t)==="[object Object]"}function i(t){return typeof t=="string"}function a(t){return i(t)?/{([^}]{1,200})}/.test(t):Array.isArray(t)?t.some(n=>a(n)):I(t)?Object.values(t).some(n=>a(n)):!1}var R={error:(...t)=>{l()&&!f()&&p().error("[Luna Form]",...t)},warn:(...t)=>{l()&&!f()&&p().warn("[Luna Form]",...t)},info:(...t)=>{l()&&!f()&&p().info("[Luna Form]",...t)}},l=()=>typeof p()<"u",f=()=>!0,p=()=>globalThis.console;function b(t){try{return t instanceof FormData?null:i(t)?t:JSON.stringify(t)}catch{return R.error("Failed to stringify body:",t),null}}var U=/(^|[\/?=&])(null|undefined)([\/?=&]|$)/;async function L(t){let[n,r]=k(t),o=t.body,e=j(t);if(o&&!d(r)){let E=b(o);E!==null&&(o=E,e=v(e))}let c=n.origin===u?n.toString().replace(u,""):n.toString(),x=await fetch(c,{body:B(r,o),cache:t.cache,headers:e,method:r}),T=await x.json();if(x.ok)return T;throw T}function k(t){let n=t.url?.trim();if(!n||!X(n))throw new Error(`Invalid URL: ${t.url}`);let r=new URL(n,u),o=V(t);return t.body&&d(o)&&Object.entries(t.body).filter(([,e])=>e!==void 0&&e!=="undefined").forEach(([e,c])=>{r.searchParams.append(e,String(c))}),[r,o]}function v(t){return{...t,"Content-Type":"application/json"}}function X(t){return!i(t)||a(t)?!1:!U.test(t)}function V(t){return t.method??"GET"}function j(t){return{Accept:"application/json",...t.headers??{}}}function d(t){return t.toUpperCase()==="GET"}function B(t,n){if(!d(t))return n}function ot(t){let n={alert:t.alert,env:t.env,fetcher:{provider:L,remotePatterns:t.fetcher?.remotePatterns},inputs:{},style:t.style};return n.validation=t.validation??{blur:!0,change:!0,showError:!0,submit:!0},t.inputs.forEach(({types:r,input:o})=>{(Array.isArray(r)?r:[r]).forEach(c=>{n.inputs[c]=o})}),n}var et=s([h]),it=s(g),st=s([A]),ct=s(y),ut=s([m]);function at(t,n){return s(t)(n)}function s(t){return n=>({types:t,input:n})}export{et as defineCheckbox,ot as defineConfig,at as defineCustomInput,it as defineInput,st as defineRadio,ct as defineSelect,ut as defineTextArea};
1
+ var L="input",N="input/email",P="input/number",w="input/password",C="input/tel",_="input/text",g=[L,N,P,w,C,_],m="textarea",h="radio",A="checkbox";var D="select",O="select/month",M="select/year",y=[D,O,M];var u="http://luna.internal";function I(n){return n!==null&&Object.prototype.toString.call(n)==="[object Object]"}function i(n){return typeof n=="string"}function a(n){return i(n)?/{([^}]{1,200})}/.test(n):Array.isArray(n)?n.some(t=>a(t)):I(n)?Object.values(n).some(t=>a(t)):!1}var R={error:(...n)=>{l()&&!f()&&p().error("[Luna Form]",...n)},warn:(...n)=>{l()&&!f()&&p().warn("[Luna Form]",...n)},info:(...n)=>{l()&&!f()&&p().info("[Luna Form]",...n)}},l=()=>typeof p()<"u",f=()=>!0,p=()=>globalThis.console;function b(n){try{return n instanceof FormData?null:i(n)?n:JSON.stringify(n)}catch{return R.error("Failed to stringify body:",n),null}}var U=/(^|[\/?=&])(null|undefined)([\/?=&]|$)/;async function S(n){let[t,r]=k(n),o=n.body,e=B(n);if(o&&!d(r)){let E=b(o);E!==null&&(o=E,e=X(e))}let c=t.origin===u?t.toString().replace(u,""):t.toString(),x=await fetch(c,{body:F(r,o),cache:n.cache,headers:e,method:r}),T=await x.json();if(x.ok)return T;throw T}function k(n){let t=n.url?.trim();if(!t||!v(t))throw new Error(`Invalid URL: ${n.url}`);let r=new URL(t,u),o=j(n);return n.body&&d(o)&&Object.entries(n.body).filter(([,e])=>e!==void 0&&e!=="undefined").forEach(([e,c])=>{r.searchParams.append(e,String(c))}),[r,o]}function X(n){return{...n,"Content-Type":"application/json"}}function v(n){return!i(n)||a(n)?!1:!U.test(n)}function j(n){return n.method??"GET"}function B(n){return{Accept:"application/json",...n.headers??{}}}function d(n){return n.toUpperCase()==="GET"}function F(n,t){if(!d(n))return t}function on(n){let t={alert:n.alert,env:n.env,fetcher:{provider:S,remotePatterns:n.fetcher?.remotePatterns},inputs:{},style:n.style};return t.validation=n.validation??{blur:!0,change:!0,showError:!0,submit:!0},n.inputs.forEach(({types:r,input:o})=>{(Array.isArray(r)?r:[r]).forEach(c=>{t.inputs[c]=o})}),t}var en=s([A]),sn=s(g),cn=s([h]),un=s(y),an=s([m]);function pn(n,t){return s(n)(t)}function s(n){return t=>({types:n,input:t})}export{en as defineCheckbox,on as defineConfig,pn as defineCustomInput,sn as defineInput,cn as defineRadio,un as defineSelect,an as defineTextArea};
@@ -1 +1 @@
1
- "use strict";var Q=Object.defineProperty;var En=Object.getOwnPropertyDescriptor;var On=Object.getOwnPropertyNames;var wn=Object.prototype.hasOwnProperty;var Pn=(e,t)=>{for(var n in t)Q(e,n,{get:t[n],enumerable:!0})},Mn=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of On(t))!wn.call(e,o)&&o!==n&&Q(e,o,{get:()=>t[o],enumerable:!(r=En(t,o))||r.enumerable});return e};var Dn=e=>Mn(Q({},"__esModule",{value:!0}),e);var fr={};Pn(fr,{Fallback:()=>Ln,Form:()=>J});module.exports=Dn(fr);var Re=require("react/jsx-runtime");function be(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return(0,Re.jsx)("div",{"data-slot":"field-control",className:"w-full",children:t})}var k=require("react");var j=require("react/jsx-runtime");function Te(e){return(0,j.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:`size-4 transition-transform duration-200 ${e.expanded?"rotate-90":""}`,children:(0,j.jsx)("path",{fillRule:"evenodd",d:"M8.22 5.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L11.94 10 8.22 6.28a.75.75 0 0 1 0-1.06Z",clipRule:"evenodd"})})}var _="input",he="input/email",Ae="input/number";var Fe="textarea",Se="radio",Ne="checkbox",ee="list";var Ce="select",Ie="select/month",Le="select/year";var O="column",te="fields",ke="label",ne="value",V="options",re="email",ve="number",Ee="password",Oe="tel",w="text",we="aria-errormessage",Pe="aria-invalid",Me="data-invalid",De="data-readonly",_e="aria",Ve="data",Be="min",Ge="max",$e="minLength",Ue="maxLength",C="$ref";var x="vertical",I="horizontal";var Ye="type";function a(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function b(e){return m(e)||typeof e=="number"||_n(e)}function m(e){return typeof e=="string"}function _n(e){return typeof e=="boolean"}function He(e,t=ne){if(e!=null){if(b(e))return e;if(a(e)){let n=Vn(e,t);if(b(n))return n}}}function Vn(e,t){let n=p(e,t);if(b(n))return n}function p(e,t){if(!t||!a(e))return null;let n=t.split(".").filter(o=>o!=="");if(n.length===0)return null;let r=e;for(let o of n)if(a(r)&&o in r)r=r[o];else return null;return r}function Xe(e,t={label:ke,value:ne}){return e.map(n=>{if(a(n)){let r=p(n,t.label),o=p(n,t.value);if(b(r)&&b(o))return{label:`${r}`,value:`${o}`}}return n})}function Ke(e=w){if(e){let t=e.lastIndexOf("/"),n=t===-1?e:e.slice(t+1);if(n&&n!==_)return n.trim().toLowerCase()}return w}var Bn=/\[([^\]]{1,500})\]\(([^)]{1,2000})\)/g;function oe(e,t={}){if(m(e))return Gn(e,t);if(Array.isArray(e))return e.map(n=>oe(n,t));if(a(e)){let n={};for(let r in e)n[r]=oe(e[r],t);return n}return e}function le(e,t={}){return ie(e)?oe(e,t):e}function ie(e){return m(e)?/{([^}]{1,200})}/.test(e):Array.isArray(e)?e.some(t=>ie(t)):a(e)?Object.values(e).some(t=>ie(t)):!1}function Gn(e,t={}){return e.replace(/{([^}]{1,200})}/g,(n,r)=>{let o=r.includes(".")?p(t,r):t[r];return b(o)?String(o):n})}function We(e,t){if(!m(e)||!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=Bn.exec(e))!==null;){let[l,d,kn]=n,D=n.index;o=!0,D>r&&i.push(e.substring(r,D));let vn=t?t(D,kn,d):l;i.push(vn),r=D+l.length}return o?(r<e.length&&i.push(e.substring(r)),i):e}var qe=e=>u(Ie)(e),ze=e=>u(Le)(e),c=u(Ne),Ze=u(_),h=u(Se),g=u(Ce),Je=u(Fe),Qe=u(w,re,Ee,Oe),Cr=u(he,re),je=u(Ae,ve);function et(e){return h(e)||c(e)}function tt(e){return e.type===ee}function L(e){return e.type===O}function B(e){return e.type!==O&&e.type!==ee}function nt(e){return g(e)||h(e)}function ae(e){return e!=null&&e!==""}function u(...e){return t=>{let n=m(t.type)?t.type:void 0;return n?e.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function rt(e,t={}){if(g(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&a(n))return[n]}}function ot(e){return h(e)||c(e)?I:e.advanced?.orientation??x}function it(e){return c(e)?e.advanced?.reverse!==!1:!1}function lt(e,t){let n=e.readonly??!1;return t||n}function at(e){if(h(e)||g(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||a(t)&&!(C in t))return t}}var $n=/^\d+$/;function st(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function dt(e,t){return t>=e?Array.from({length:t-e+1},(n,r)=>{let o=e+r;return{value:o.toString(),label:o.toString()}}):[]}function se(){return new Date().getFullYear()}function de(e,t){if(typeof e=="number")return e;let n=t??se(),r=e.trim().toLowerCase();if(r.startsWith("current")){let o=r.match(/^current([+-])(\d+)$/);if(o){let[,i,l]=o,d=parseInt(l,10);if(!isNaN(d))return i==="+"?n+d:n-d}return n}return $n.test(r)?parseInt(r,10):n}var G=se();function Un(e){if(g(e))return Yn(e)}function Yn(e){if(qe(e))return st();if(ze(e)){let t=e.advanced?.length?.min??G,n=e.advanced?.length?.max??G+5;return dt(de(t,G),de(n,G))}}function ct(e,t=!1){let n={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return Ze(e)?{...n,...Hn(e)}:g(e)?{...n,...Xn(e)}:Je(e)?{...n,...Kn(e)}:n}function Hn(e){let t=Ke(e.type),n={...e,type:t};return{...ut(e),...Wn(n),...Qe(n)?ft(n):{},type:t}}function Xn(e){let t=Un(e);return t?{options:t}:{}}function Kn(e){return{...ut(e),...ft(e)}}function ut(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function Wn(e){return je(e)?qn(e):{}}function ft(e){return mt(e,{min:$e,max:Ue})}function qn(e){return mt(e,{min:Be,max:Ge})}function mt(e,t){let n={},r=e.advanced?.length;return r&&(r.min!==void 0&&(n[t.min]=r.min),r.max!==void 0&&(n[t.max]=r.max)),n}function pt(e,t){let n=at(e);return n||rt(e,t)}function zn(e,t){let n=a(t)&&e.name in t?t[e.name]:t;return He(n,e.advanced?.entity)}function Zn(e,t,n){return nt(e)&&Array.isArray(n)?{...t,[V]:n}:t}function Jn(e,t,n){if(e.required&&!ae(n)&&g(e)&&e.advanced?.preselected!==!1&&V in t){let r=t[V];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function Qn(e,t){return g(e)&&Array.isArray(t)?Xe(t,e.advanced?.options):t}function gt(e,t,n,r){let o=zn(e,r),i=Array.isArray(n)?Qn(e,n):n,l=Zn(e,t,i),d=Jn(e,l,o);return{commonPropsWithOptions:l,defaultValue:d}}function yt(e,t){return c(e)?{defaultChecked:ae(t)}:{defaultValue:t}}var jn=/^#\/definition\//;function U(e=[],t){let n=$(e,t);return Array.isArray(n)?n.filter(tr).sort((r,o)=>xt(r)-xt(o)):[]}function $(e,t,n=new Map,r=new WeakSet){if(!er(t)||!e||typeof e!="object")return e;if(n.has(e))return n.get(e);if(r.has(e))return e;if(r.add(e),Array.isArray(e))return e.map(i=>$(i,t,n,r));if(C in e&&m(e[C])){let i=e[C].replace(jn,""),l=p(t,i);return l!==null?$(l,t,n,r):e}let o={};for(let[i,l]of Object.entries(e))o[i]=$(l,t,n,r);return r.delete(e),n.set(e,o),o}function bt(e){return Object.entries(e??{})}function xt(e){return e.order??Number.MAX_VALUE}function er(e){return e!==void 0&&a(e)&&Object.keys(e).length>0}function tr(e){return Ye in e?!0:Array.isArray(e[te])?e[te].length>0:!0}function Rt(e,t){let n={};for(let[r,o]of bt(t))n[`${e}-${r}`]=o;return n}function nr(e){return Rt(_e,e)}function rr(e){return Rt(Ve,e)}function Tt(e,t){let n=nr(e.advanced?.aria);return t&&t.length>0&&(n[Pe]="true",n[we]=`${e.name}-error`),n}function ht(e){return rr(e.advanced?.data)}var At={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},Ft={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function St(e,t=2){return At[e&&e in At?e:t]}function Nt(e){if(e&&e in Ft)return Ft[e]}function or(e,t){let n=e.advanced?.length?.min??1;if(t){let r=p(t,e.name);if(Array.isArray(r))return Math.max(r.length,n)}return Math.max(n,0)}function Ct(e){return!Array.isArray(e.fields)||e.fields.length===0?!1:e.fields.length>1||e.fields[0].type===O}function It(e,t){let n=or(e,t);return Array.from({length:n},(r,o)=>o)}function Lt(e){return e.label??e.name}function A(e,t){return e?t?t[e]??e:e:""}function Y(e,t){return{...e,...t}}var kt=require("react/jsx-runtime");function R(e){return We(e,(t,n,r)=>(0,kt.jsx)("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${t}`))}var f=require("react/jsx-runtime");function vt(e){let{fields:t=[]}=e.section,[n,r]=(0,k.useState)(!1),o=(0,k.useCallback)(()=>r(i=>!i),[]);return(0,f.jsxs)("fieldset",{"data-slot":"field-set","data-advanced":"true","data-expanded":n,"data-empty":t.length===0,className:"flex flex-col",id:e.section.id?.toString(),children:[(0,f.jsx)("legend",{children:(0,f.jsxs)("button",{className:"flex cursor-pointer items-center gap-2 text-base font-medium text-slate-600 dark:text-slate-400",onClick:o,type:"button",children:[(0,f.jsx)(Te,{expanded:n}),(0,f.jsx)("span",{children:R(e.section.title)})]})}),(0,f.jsx)(k.Activity,{mode:n?"visible":"hidden",children:(0,f.jsxs)("div",{className:"mt-3 ml-1.5 flex flex-col gap-4 border-l-2 border-slate-300 pl-4 dark:border-slate-600","data-slot":"field-set-content",children:[e.section.description&&(0,f.jsx)("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:R(e.section.description)}),e.group]})})]})}var F=require("react/jsx-runtime");function Et(e){return(0,F.jsxs)(F.Fragment,{children:[e.title&&(0,F.jsx)("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:R(e.title)}),e.description&&(0,F.jsx)("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:R(e.description)})]})}var X=require("react/jsx-runtime");function H(e){return(0,X.jsxs)("fieldset",{"data-slot":"field-set","data-empty":e.empty,className:"flex flex-col data-[empty=false]:gap-6",id:e.id,children:[(0,X.jsx)(Et,{description:e.description,title:e.title}),e.children]})}var Ot=require("react/jsx-runtime");function S(e){return(0,Ot.jsx)("div",{"data-slot":"field-group","data-compact":e.compact,className:"flex w-full flex-col gap-8 data-[compact=true]:gap-3",children:e.children})}var K=require("react/jsx-runtime");function wt(e){let{fields:t=[]}=e.section,{compact:n}=Y(e.style,{compact:e.section.compact}),r=(0,K.jsx)(S,{compact:n,children:e.children});return!e.section.title&&!e.section.description?r:e.section.advanced?(0,K.jsx)(vt,{section:e.section,group:r}):(0,K.jsx)(H,{description:e.section.description,empty:t.length===0,id:e.section.id?.toString(),title:e.section.title,children:r})}var Vt=require("jotai");var v=require("jotai"),Pt=require("jotai-family"),ce=require("fast-equals");function ir(e,t){let{[t]:n,...r}=e;return r}function lr(e){return(0,Pt.atomFamily)(t=>(0,v.atom)(n=>n(e)[t]??void 0,(n,r,o)=>{let i=n(e);if(o!=null){let l=i[t];(!l||!(0,ce.deepEqual)(l,o))&&r(e,{...i,[t]:o})}else i[t]&&r(e,ir(i,t))}))}function ar(e){return(0,v.atom)(null,(t,n)=>{let r=t(e);r&&Object.keys(r).length>0&&n(e,{})})}function sr(e){return(0,v.atom)(null,(t,n,r)=>{let i={...t(e)},l=!1;for(let d of r)i[d]&&(delete i[d],l=!0);l&&n(e,i)})}function dr(e){return(0,v.atom)(null,(t,n,r)=>{let o=t(e);(0,ce.deepEqual)(o,r)||n(e,r)})}function Mt(e={}){let t=(0,v.atom)(e);return{atom:t,clearAll:ar(t),clear:sr(t),bulkReport:dr(t),report:lr(t)}}var Dt=Mt(),_t=Dt.atom,xo=Dt.report;function cr(e,t){return e.fields.every(n=>Bt(n,t))}function Bt(e,t){return t[e.name]?.hidden??e.hidden??!1}function ur(e,t){return L(e)?cr(e,t):Bt(e,t)}function Gt(e){let t=(0,Vt.useAtomValue)(_t);return e.container&&(t[e.container.name]?.hidden??e.container.hidden??!1)||e.fields.length===0||e.fields.every(r=>ur(r,t))?null:e.children}var ue=require("react/jsx-runtime");function $t(){return(0,ue.jsx)("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:(0,ue.jsx)("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}var y=require("react/jsx-runtime");function Ut(e){let t=U(e.sections,e.definition);return(0,y.jsx)("div",{className:"h-full w-full",children:(0,y.jsx)("form",{noValidate:e.noValidate,action:e.action,children:(0,y.jsxs)(S,{children:[t.map((n,r)=>(0,y.jsxs)(Gt,{fields:n.fields??[],children:[(0,y.jsx)(wt,{section:n,style:e.config.style,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.separator&&(0,y.jsx)($t,{})]},r)),e.control&&(0,y.jsx)(be,{isPending:e.isPending,children:e.control})]})})})}var Ht=require("react/jsx-runtime");function Yt(e){return(0,Ht.jsx)("p",{className:"-mt-2 text-xs leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}var Xt=require("react/jsx-runtime");function W(e){let t=R(e.text);return t?(0,Xt.jsx)(Yt,{children:t}):null}var Kt=require("tailwind-merge"),q=require("react/jsx-runtime");function Wt(e){let t=e.style?.showOptionalLabel??!0,n=h(e.field)||c(e.field);return(0,q.jsxs)("label",{"data-slot":"field-label","data-normal":n,className:(0,Kt.twMerge)("flex w-fit items-center gap-2 text-sm leading-snug font-medium select-none","data-[normal=true]:font-normal","group-data-[readonly=true]:cursor-not-allowed group-data-[readonly=true]:opacity-50"),htmlFor:e.field.name,children:[e.children,t&&!e.field.required&&(0,q.jsx)("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:A("(Optional)",e.translations)})]})}var P=require("react/jsx-runtime");function qt(e){let t={context:e.context,env:e.config?.env},n=le(e.field.label,t),r=le(e.field.description,t);return(0,P.jsxs)("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[(0,P.jsx)(Wt,{field:e.field,style:e.config?.style,translations:e.translations,children:A(n,e.translations)}),e.orientation===I&&(0,P.jsx)(W,{text:A(r,e.translations)})]})}var N=require("react/jsx-runtime");function zt(e){return(0,N.jsxs)(N.Fragment,{children:[e.field.name&&e.field.label&&(0,N.jsx)(qt,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations}),e.children,e.orientation===x&&e.field.description&&(0,N.jsx)(W,{text:A(e.field.description,e.translations)})]})}function Zt(e,t){return e?t(e):null}var fe=require("react/jsx-runtime");function Jt(e){let t=pt(e.field,e.value),{commonPropsWithOptions:n,defaultValue:r}=gt(e.field,e.commonProps,t,e.value),o=yt(e.field,r);return Zt(e.config.inputs[e.field.type],i=>(0,fe.jsx)(zt,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations,children:(0,fe.jsx)(i,{...e.ariaAttributes,...n,...e.dataAttributes,...o})}))}var me=require("react/jsx-runtime");function Qt(e){return!e.errors||e.errors.length===0?null:(0,me.jsx)("ul",{className:"text-sm text-red-600 dark:text-red-500",id:e.name?`${e.name}-error`:void 0,children:e.errors?.map((t,n)=>(0,me.jsx)("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}var jt=require("tailwind-merge"),en=require("react/jsx-runtime");function z(e){let t=e.errors&&e.errors.length>0;return(0,en.jsx)("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[Me]:"true"},...e.disabled&&{[De]:"true"},"data-orientation":e.orientation,className:(0,jt.twMerge)("group flex w-full flex-col items-center data-[invalid=true]:text-red-600 data-[invalid=true]:dark:text-red-500","data-[clickable=true]:items-start",e.isCheckbox&&(e.isReversed?"flex-row-reverse!":"flex-row!"),"data-[clickable=true]:has-[>[data-slot=field-content]]:[&>:first-child]:mt-px",e.className),children:e.children})}var tn=require("tailwind-merge"),rn=require("react/jsx-runtime");function nn(e){return(0,rn.jsx)(z,{...e,orientation:x,className:(0,tn.twMerge)("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}var on=require("tailwind-merge"),an=require("react/jsx-runtime");function ln(e){return(0,an.jsx)(z,{...e,orientation:I,className:(0,on.twMerge)("gap-2 md:flex-row md:gap-4","[&>[data-slot=field-content]]:min-w-0 [&>[data-slot=field-content]]:flex-grow [&>[data-slot=field-content]]:self-start","[&_[role=checkbox]]:mt-[1.5px]",e.isClickable&&"md:flex-col",!e.isClickable&&["md:justify-between","[&>*:not([data-slot=field-content])]:w-full","[&>*:not([data-slot=field-content])]:md:w-1/2","[&>*:not([data-slot=field-content])]:xl:w-2/5"]),children:e.children})}var pe=require("react/jsx-runtime");function sn(e){let t=et(e.field),n=c(e.field),r=it(e.field);return e.orientation===x?(0,pe.jsx)(nn,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children}):(0,pe.jsx)(ln,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children})}function dn(e){if(!e.field.type)return null;let t=ct(e.field,e.disabled),n=ht(e.field),r=Tt(e.field,e.errors),o={...e.field,disabled:t.disabled};return e.children({ariaAttributes:r,commonProps:t,dataAttributes:n,field:o,orientation:e.orientation})}var cn=require("tailwind-merge"),E=require("react/jsx-runtime");function un(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:r}=Y(e.style,{orientation:ot(e.field)}),o=lt(e.field,e.disabled);return(0,E.jsxs)("div",{className:(0,cn.twMerge)("flex flex-col gap-3",Nt(t)),children:[(0,E.jsx)(sn,{disabled:o,errors:n,field:e.field,orientation:r,children:(0,E.jsx)(dn,{disabled:o,errors:n,field:e.field,orientation:r,children:e.children})}),(0,E.jsx)(Qt,{errors:n,name:e.field.name})]})}var fn=require("tailwind-merge");var s=require("react/jsx-runtime");function mn(e){function t(){e.canRemove&&e.onRemove&&e.onRemove(e.index)}let n=e.canRemove&&e.onRemove!=null&&(0,s.jsx)("button",{"aria-label":`Remove ${e.label} item ${e.index+1}`,className:(0,fn.twMerge)("rounded p-1 text-xl text-slate-400","transition-colors duration-150","hover:text-red-500","focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:outline-none","dark:text-slate-500 dark:hover:text-red-400"),onClick:t,type:"button",children:(0,s.jsx)("span",{"aria-hidden":"true",children:"\xD7"})});return e.isMultiField?(0,s.jsxs)("div",{className:"rounded-lg border border-slate-100 p-4 dark:border-slate-900",children:[(0,s.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:[(0,s.jsxs)("span",{className:"text-sm font-medium text-slate-400 dark:text-slate-500",children:[e.label," ",e.index+1]}),n]}),(0,s.jsx)(S,{children:e.children})]}):(0,s.jsxs)("div",{className:"flex items-start gap-2",children:[(0,s.jsx)(S,{children:e.children}),n&&(0,s.jsx)("div",{className:"shrink-0",children:n})]})}var gn=require("react/jsx-runtime");function pn(e){let t=Lt(e.field),n=Ct(e.field);return It(e.field,e.value).map(r=>(0,gn.jsx)(mn,{index:r,isMultiField:n,label:t,children:e.children(r)},r))}var xn=require("react/jsx-runtime");function yn(e){let t=Array.isArray(e.field.fields)&&e.field.fields.length===0;return(0,xn.jsx)(H,{description:e.field.description,empty:t,id:e.field.name,title:e.field.label,children:e.children})}var ge=require("react/jsx-runtime");function bn({children:e,field:t,value:n}){return(0,ge.jsx)(yn,{field:t,children:(0,ge.jsx)(pn,{field:t,value:n,children:e})})}var Rn=require("tailwind-merge"),ye=require("react/jsx-runtime");function Tn(e){let t=St(e.column?.advanced?.cols);return(0,ye.jsx)("div",{className:"flex w-full flex-col gap-4",children:(0,ye.jsx)("div",{className:(0,Rn.twMerge)("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children})})}var Fn=require("react");var An=require("react/jsx-runtime");function hn(e){let t=Array.isArray(e.field.fields)?e.field.fields.map(n=>B(n)?{...n,name:`${e.field.name}.${e.index}.${n.name}`}:L(n)?{...n,fields:n.fields.map(r=>({...r,name:`${e.field.name}.${e.index}.${r.name}`}))}:n):[];return(0,An.jsx)(M,{children:e.children,components:e.components,disabled:e.disabled,fields:t,style:e.style,value:e.value})}var T=require("react/jsx-runtime");function M(e){let{field:t,list:n}=e.components;return U(e.fields).map((r,o)=>(0,T.jsxs)(Fn.Fragment,{children:[L(r)&&(0,T.jsx)(Tn,{column:r,children:(0,T.jsx)(M,{...e,fields:r.fields})}),B(r)&&(0,T.jsx)(t,{disabled:e.disabled,field:r,style:e.style,children:e.children}),tt(r)&&(0,T.jsx)(n,{field:r,value:e.value,children:i=>(0,T.jsx)(hn,{children:e.children,components:e.components,disabled:e.disabled,field:r,index:i,style:e.style,value:e.value})})]},o))}var Nn=require("react/jsx-runtime");function Sn(e){return n=>(0,Nn.jsx)(M,{...n,components:e})}var Cn=Sn({field:un,list:bn});var Z=require("react/jsx-runtime");function J(e){let t=e.translations?.[e.lang??""];return(0,Z.jsx)(Ut,{config:e.config,control:e.children,definition:e.definition,readOnly:e.readOnly,sections:e.sections,children:({disabled:n,fields:r})=>(0,Z.jsx)(Cn,{disabled:n,fields:r,style:e.config.style,children:o=>(0,Z.jsx)(Jt,{...o,config:e.config,context:e.context,translations:t,value:e.value})})})}var In=require("react");var xe=require("react/jsx-runtime");function Ln(e){return(0,xe.jsx)(In.Suspense,{fallback:(0,xe.jsx)(J,{config:e.config,sections:e.sections,readOnly:!0}),children:e.children})}
1
+ "use strict";var J=Object.defineProperty;var In=Object.getOwnPropertyDescriptor;var Ln=Object.getOwnPropertyNames;var En=Object.prototype.hasOwnProperty;var wn=(e,t)=>{for(var n in t)J(e,n,{get:t[n],enumerable:!0})},Pn=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Ln(t))!En.call(e,o)&&o!==n&&J(e,o,{get:()=>t[o],enumerable:!(r=In(t,o))||r.enumerable});return e};var On=e=>Pn(J({},"__esModule",{value:!0}),e);var cr={};wn(cr,{Fallback:()=>Cn,Form:()=>Z});module.exports=On(cr);var xe=require("react/jsx-runtime");function ye(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return(0,xe.jsx)("div",{"data-slot":"field-control",className:"w-full",children:t})}var v=require("react");var Q=require("react/jsx-runtime");function be(e){return(0,Q.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:`size-4 transition-transform duration-200 ${e.expanded?"rotate-90":""}`,children:(0,Q.jsx)("path",{fillRule:"evenodd",d:"M8.22 5.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L11.94 10 8.22 6.28a.75.75 0 0 1 0-1.06Z",clipRule:"evenodd"})})}var M="input",Re="input/email",he="input/number";var Te="textarea",Ae="radio",Fe="checkbox",j="list";var Se="select",Ne="select/month",Ce="select/year";var L="column",ee="fields",ve="label",te="value",D="options",ne="email",ke="number",Ie="password",Le="tel",E="text",Ee="aria-errormessage",we="aria-invalid",Pe="data-invalid",Oe="data-readonly",Me="aria",De="data",_e="min",Ve="max",Be="minLength",Ge="maxLength",S="$ref";var $e="type";function a(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function x(e){return m(e)||typeof e=="number"||Mn(e)}function m(e){return typeof e=="string"}function Mn(e){return typeof e=="boolean"}function ze(e,t=te){if(e!=null){if(x(e))return e;if(a(e)){let n=Dn(e,t);if(x(n))return n}}}function Dn(e,t){let n=g(e,t);if(x(n))return n}function g(e,t){if(!t||!a(e))return null;let n=t.split(".").filter(o=>o!=="");if(n.length===0)return null;let r=e;for(let o of n)if(a(r)&&o in r)r=r[o];else return null;return r}function Ue(e,t={label:ve,value:te}){return e.map(n=>{if(a(n)){let r=g(n,t.label),o=g(n,t.value);if(x(r)&&x(o))return{label:`${r}`,value:`${o}`}}return n})}function Ye(e=E){if(e){let t=e.lastIndexOf("/"),n=t===-1?e:e.slice(t+1);if(n&&n!==M)return n.trim().toLowerCase()}return E}var _n=/\[([^\]]{1,500})\]\(([^)]{1,2000})\)/g;function re(e,t={}){if(m(e))return Vn(e,t);if(Array.isArray(e))return e.map(n=>re(n,t));if(a(e)){let n={};for(let r in e)n[r]=re(e[r],t);return n}return e}function _(e,t={}){return oe(e)?re(e,t):e}function oe(e){return m(e)?/{([^}]{1,200})}/.test(e):Array.isArray(e)?e.some(t=>oe(t)):a(e)?Object.values(e).some(t=>oe(t)):!1}function Vn(e,t={}){return e.replace(/{([^}]{1,200})}/g,(n,r)=>{let o=r.includes(".")?g(t,r):t[r];return x(o)?String(o):n})}function Xe(e,t){if(!m(e)||!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=_n.exec(e))!==null;){let[l,d,vn]=n,O=n.index;o=!0,O>r&&i.push(e.substring(r,O));let kn=t?t(O,vn,d):l;i.push(kn),r=O+l.length}return o?(r<e.length&&i.push(e.substring(r)),i):e}var He=e=>u(Ne)(e),Ke=e=>u(Ce)(e),c=u(Fe),We=u(M),h=u(Ae),p=u(Se),qe=u(Te),Ze=u(E,ne,Ie,Le),Sr=u(Re,ne),Je=u(he,ke);function Qe(e){return h(e)||c(e)}function je(e){return e.type===j}function N(e){return e.type===L}function V(e){return e.type!==L&&e.type!==j}function et(e){return p(e)||h(e)}function ie(e){return e!=null&&e!==""}function u(...e){return t=>{let n=m(t.type)?t.type:void 0;return n?e.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function tt(e,t={}){if(p(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&a(n))return[n]}}function nt(e){return h(e)||c(e)?!0:e.advanced?.horizontal??!1}function rt(e){return c(e)?e.advanced?.reverse!==!1:!1}function ot(e,t){let n=e.readonly??!1;return t||n}function it(e){if(h(e)||p(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||a(t)&&!(S in t))return t}}var Bn=/^\d+$/;function lt(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function at(e,t){return t>=e?Array.from({length:t-e+1},(n,r)=>{let o=e+r;return{value:o.toString(),label:o.toString()}}):[]}function le(){return new Date().getFullYear()}function ae(e,t){if(typeof e=="number")return e;let n=t??le(),r=e.trim().toLowerCase();if(r.startsWith("current")){let o=r.match(/^current([+-])(\d+)$/);if(o){let[,i,l]=o,d=parseInt(l,10);if(!isNaN(d))return i==="+"?n+d:n-d}return n}return Bn.test(r)?parseInt(r,10):n}var B=le();function Gn(e){if(p(e))return $n(e)}function $n(e){if(He(e))return lt();if(Ke(e)){let t=e.advanced?.length?.min??B,n=e.advanced?.length?.max??B+5;return at(ae(t,B),ae(n,B))}}function st(e,t=!1){let n={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return We(e)?{...n,...zn(e)}:p(e)?{...n,...Un(e)}:qe(e)?{...n,...Yn(e)}:n}function zn(e){let t=Ye(e.type),n={...e,type:t};return{...dt(e),...Xn(n),...Ze(n)?ct(n):{},type:t}}function Un(e){let t=Gn(e);return t?{options:t}:{}}function Yn(e){return{...dt(e),...ct(e)}}function dt(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function Xn(e){return Je(e)?Hn(e):{}}function ct(e){return ut(e,{min:Be,max:Ge})}function Hn(e){return ut(e,{min:_e,max:Ve})}function ut(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 ft(e,t){let n=it(e);return n||tt(e,t)}function Kn(e,t){let n=a(t)&&e.name in t?t[e.name]:t;return ze(n,e.advanced?.entity)}function Wn(e,t,n){return et(e)&&Array.isArray(n)?{...t,[D]:n}:t}function qn(e,t,n){if(e.required&&!ie(n)&&p(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 Zn(e,t){return p(e)&&Array.isArray(t)?Ue(t,e.advanced?.options):t}function mt(e,t,n,r){let o=Kn(e,r),i=Array.isArray(n)?Zn(e,n):n,l=Wn(e,t,i),d=qn(e,l,o);return{commonPropsWithOptions:l,defaultValue:d}}function gt(e,t){return c(e)?{defaultChecked:ie(t)}:{defaultValue:t}}var Jn=/^#\/definition\//;function $(e=[],t){let n=G(e,t);return Array.isArray(n)?n.filter(jn).sort((r,o)=>pt(r)-pt(o)):[]}function G(e,t,n=new Map,r=new WeakSet){if(!Qn(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=>G(i,t,n,r));if(S in e&&m(e[S])){let i=e[S].replace(Jn,""),l=g(t,i);return l!==null?G(l,t,n,r):e}let o={};for(let[i,l]of Object.entries(e))o[i]=G(l,t,n,r);return r.delete(e),n.set(e,o),o}function yt(e){return Object.entries(e??{})}function pt(e){return e.order??Number.MAX_VALUE}function Qn(e){return e!==void 0&&a(e)&&Object.keys(e).length>0}function jn(e){return $e in e?!0:Array.isArray(e[ee])?e[ee].length>0:!0}function xt(e,t){let n={};for(let[r,o]of yt(t))n[`${e}-${r}`]=o;return n}function er(e){return xt(Me,e)}function tr(e){return xt(De,e)}function bt(e,t){let n=er(e.advanced?.aria);return t&&t.length>0&&(n[we]="true",n[Ee]=`${e.name}-error`),n}function Rt(e){return tr(e.advanced?.data)}var ht={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},Tt={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function At(e,t=2){return ht[e&&e in ht?e:t]}function Ft(e){if(e&&e in Tt)return Tt[e]}function nr(e,t){let n=e.advanced?.length?.min??1;if(t){let r=g(t,e.name);if(Array.isArray(r))return Math.max(r.length,n)}return Math.max(n,0)}function St(e){return!Array.isArray(e.fields)||e.fields.length===0?!1:e.fields.length>1||e.fields[0].type===L}function Nt(e,t){let n=nr(e,t);return Array.from({length:n},(r,o)=>o)}function Ct(e){return e.label??e.name}function C(e,t){return e?t?t[e]??e:e:""}function z(e,t){return{...e,...t}}var vt=require("react/jsx-runtime");function b(e){return Xe(e,(t,n,r)=>(0,vt.jsx)("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${t}`))}var f=require("react/jsx-runtime");function kt(e){let{fields:t=[]}=e.section,[n,r]=(0,v.useState)(!1),o=(0,v.useCallback)(()=>r(i=>!i),[]);return(0,f.jsxs)("fieldset",{"data-slot":"field-set","data-advanced":"true","data-expanded":n,"data-empty":t.length===0,className:"flex flex-col",id:e.section.id?.toString(),children:[(0,f.jsx)("legend",{children:(0,f.jsxs)("button",{className:"flex cursor-pointer items-center gap-2 text-base font-medium text-slate-600 dark:text-slate-400",onClick:o,type:"button",children:[(0,f.jsx)(be,{expanded:n}),(0,f.jsx)("span",{children:b(e.section.title)})]})}),(0,f.jsx)(v.Activity,{mode:n?"visible":"hidden",children:(0,f.jsxs)("div",{className:"mt-3 ml-1.5 flex flex-col gap-4 border-l-2 border-slate-300 pl-4 dark:border-slate-600","data-slot":"field-set-content",children:[e.section.description&&(0,f.jsx)("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:b(e.section.description)}),e.group]})})]})}var T=require("react/jsx-runtime");function It(e){return(0,T.jsxs)(T.Fragment,{children:[e.title&&(0,T.jsx)("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:b(e.title)}),e.description&&(0,T.jsx)("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:b(e.description)})]})}var Y=require("react/jsx-runtime");function U(e){return(0,Y.jsxs)("fieldset",{"data-slot":"field-set","data-empty":e.empty,className:"flex flex-col data-[empty=false]:gap-6",id:e.id,children:[(0,Y.jsx)(It,{description:e.description,title:e.title}),e.children]})}var Lt=require("react/jsx-runtime");function A(e){return(0,Lt.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 X=require("react/jsx-runtime");function Et(e){let{fields:t=[]}=e.section,{compact:n}=z(e.style,{compact:e.section.compact}),r=(0,X.jsx)(A,{compact:n,children:e.children});return!e.section.title&&!e.section.description?r:e.section.advanced?(0,X.jsx)(kt,{section:e.section,group:r}):(0,X.jsx)(U,{description:e.section.description,empty:t.length===0,id:e.section.id?.toString(),title:e.section.title,children:r})}var Dt=require("jotai");var k=require("jotai"),wt=require("jotai-family"),se=require("fast-equals");function rr(e,t){let{[t]:n,...r}=e;return r}function or(e){return(0,wt.atomFamily)(t=>(0,k.atom)(n=>n(e)[t]??void 0,(n,r,o)=>{let i=n(e);if(o!=null){let l=i[t];(!l||!(0,se.deepEqual)(l,o))&&r(e,{...i,[t]:o})}else i[t]&&r(e,rr(i,t))}))}function ir(e){return(0,k.atom)(null,(t,n)=>{let r=t(e);r&&Object.keys(r).length>0&&n(e,{})})}function lr(e){return(0,k.atom)(null,(t,n,r)=>{let i={...t(e)},l=!1;for(let d of r)i[d]&&(delete i[d],l=!0);l&&n(e,i)})}function ar(e){return(0,k.atom)(null,(t,n,r)=>{let o=t(e);(0,se.deepEqual)(o,r)||n(e,r)})}function Pt(e={}){let t=(0,k.atom)(e);return{atom:t,clearAll:ir(t),clear:lr(t),bulkReport:ar(t),report:or(t)}}var Ot=Pt(),Mt=Ot.atom,po=Ot.report;function sr(e,t){return e.fields.every(n=>_t(n,t))}function _t(e,t){return t[e.name]?.hidden??e.hidden??!1}function dr(e,t){return N(e)?sr(e,t):_t(e,t)}function Vt(e){let t=(0,Dt.useAtomValue)(Mt);return e.container&&(t[e.container.name]?.hidden??e.container.hidden??!1)||e.fields.length===0||e.fields.every(r=>dr(r,t))?null:e.children}var de=require("react/jsx-runtime");function Bt(){return(0,de.jsx)("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:(0,de.jsx)("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}var y=require("react/jsx-runtime");function Gt(e){let t=$(e.sections,e.definition);return(0,y.jsx)("div",{className:"h-full w-full",children:(0,y.jsx)("form",{noValidate:e.noValidate,action:e.action,children:(0,y.jsxs)(A,{children:[t.map((n,r)=>(0,y.jsxs)(Vt,{fields:n.fields??[],children:[(0,y.jsx)(Et,{section:n,style:e.config.style,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.separator&&(0,y.jsx)(Bt,{})]},r)),e.control&&(0,y.jsx)(ye,{isPending:e.isPending,children:e.control})]})})})}var zt=require("react/jsx-runtime");function $t(e){return(0,zt.jsx)("p",{className:"-mt-2 text-xs leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}var Ut=require("react/jsx-runtime");function H(e){let t={context:e.context,env:e.config?.env},n=C(_(e.text,t),e.translations),r=b(n);return r?(0,Ut.jsx)($t,{children:r}):null}var Yt=require("tailwind-merge"),K=require("react/jsx-runtime");function Xt(e){let t=e.style?.showOptionalLabel??!0,n=h(e.field)||c(e.field);return(0,K.jsxs)("label",{"data-slot":"field-label","data-normal":n,className:(0,Yt.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,K.jsx)("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:C("(Optional)",e.translations)})]})}var w=require("react/jsx-runtime");function Ht(e){let t={context:e.context,env:e.config?.env},n=_(e.field.label,t);return(0,w.jsxs)("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[(0,w.jsx)(Xt,{field:e.field,style:e.config?.style,translations:e.translations,children:C(n,e.translations)}),e.horizontal===!0&&(0,w.jsx)(H,{config:e.config,context:e.context,text:e.field.description,translations:e.translations})]})}var F=require("react/jsx-runtime");function Kt(e){return(0,F.jsxs)(F.Fragment,{children:[e.field.name&&e.field.label&&(0,F.jsx)(Ht,{config:e.config,context:e.context,field:e.field,horizontal:e.horizontal,translations:e.translations}),e.children,e.horizontal===!1&&(0,F.jsx)(H,{config:e.config,context:e.context,text:e.field.description,translations:e.translations})]})}function Wt(e,t){return e?t(e):null}var ce=require("react/jsx-runtime");function qt(e){let t=ft(e.field,e.value),{commonPropsWithOptions:n,defaultValue:r}=mt(e.field,e.commonProps,t,e.value),o=gt(e.field,r);return Wt(e.config.inputs[e.field.type],i=>(0,ce.jsx)(Kt,{config:e.config,context:e.context,field:e.field,horizontal:e.horizontal,translations:e.translations,children:(0,ce.jsx)(i,{...e.ariaAttributes,...n,...e.dataAttributes,...o})}))}var ue=require("react/jsx-runtime");function Zt(e){return!e.errors||e.errors.length===0?null:(0,ue.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,ue.jsx)("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}var Jt=require("tailwind-merge"),Qt=require("react/jsx-runtime");function W(e){let t=e.errors&&e.errors.length>0;return(0,Qt.jsx)("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[Pe]:"true"},...e.disabled&&{[Oe]:"true"},"data-orientation":e.orientation,className:(0,Jt.twMerge)("group flex w-full flex-col items-center data-[invalid=true]:text-red-600 data-[invalid=true]:dark:text-red-500","data-[clickable=true]:items-start",e.isCheckbox&&(e.isReversed?"flex-row-reverse!":"flex-row!"),"data-[clickable=true]:has-[>[data-slot=field-content]]:[&>:first-child]:mt-px",e.className),children:e.children})}var jt=require("tailwind-merge"),tn=require("react/jsx-runtime");function en(e){return(0,tn.jsx)(W,{...e,orientation:"vertical",className:(0,jt.twMerge)("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}var nn=require("tailwind-merge"),on=require("react/jsx-runtime");function rn(e){return(0,on.jsx)(W,{...e,orientation:"horizontal",className:(0,nn.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 fe=require("react/jsx-runtime");function ln(e){let t=Qe(e.field),n=c(e.field),r=rt(e.field);return e.horizontal?(0,fe.jsx)(rn,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children}):(0,fe.jsx)(en,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children})}function an(e){if(!e.field.type)return null;let t=st(e.field,e.disabled),n=Rt(e.field),r=bt(e.field,e.errors),o={...e.field,disabled:t.disabled};return e.children({ariaAttributes:r,commonProps:t,dataAttributes:n,field:o,horizontal:e.horizontal})}var sn=require("tailwind-merge"),I=require("react/jsx-runtime");function dn(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{horizontal:r}=z(e.style,{horizontal:nt(e.field)}),o=ot(e.field,e.disabled);return(0,I.jsxs)("div",{className:(0,sn.twMerge)("flex flex-col gap-3",Ft(t)),children:[(0,I.jsx)(ln,{disabled:o,errors:n,field:e.field,horizontal:r,children:(0,I.jsx)(an,{disabled:o,errors:n,field:e.field,horizontal:r,children:e.children})}),(0,I.jsx)(Zt,{errors:n,name:e.field.name})]})}var cn=require("tailwind-merge");var s=require("react/jsx-runtime");function un(e){function t(){e.canRemove&&e.onRemove&&e.onRemove(e.index)}let n=e.canRemove&&e.onRemove!=null&&(0,s.jsx)("button",{"aria-label":`Remove ${e.label} item ${e.index+1}`,className:(0,cn.twMerge)("rounded p-1 text-xl text-slate-400","transition-colors duration-150","hover:text-red-500","focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:outline-none","dark:text-slate-500 dark:hover:text-red-400"),onClick:t,type:"button",children:(0,s.jsx)("span",{"aria-hidden":"true",children:"\xD7"})});return e.isMultiField?(0,s.jsxs)("div",{className:"rounded-lg border border-slate-100 p-4 dark:border-slate-900",children:[(0,s.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:[(0,s.jsxs)("span",{className:"text-sm font-medium text-slate-400 dark:text-slate-500",children:[e.label," ",e.index+1]}),n]}),(0,s.jsx)(A,{children:e.children})]}):(0,s.jsxs)("div",{className:"flex items-start gap-2",children:[(0,s.jsx)(A,{children:e.children}),n&&(0,s.jsx)("div",{className:"shrink-0",children:n})]})}var mn=require("react/jsx-runtime");function fn(e){let t=Ct(e.field),n=St(e.field);return Nt(e.field,e.value).map(r=>(0,mn.jsx)(un,{index:r,isMultiField:n,label:t,children:e.children(r)},r))}var pn=require("react/jsx-runtime");function gn(e){let t=Array.isArray(e.field.fields)&&e.field.fields.length===0;return(0,pn.jsx)(U,{description:e.field.description,empty:t,id:e.field.name,title:e.field.label,children:e.children})}var me=require("react/jsx-runtime");function yn({children:e,field:t,value:n}){return(0,me.jsx)(gn,{field:t,children:(0,me.jsx)(fn,{field:t,value:n,children:e})})}var xn=require("tailwind-merge"),ge=require("react/jsx-runtime");function bn(e){let t=At(e.column?.advanced?.cols);return(0,ge.jsx)("div",{className:"flex w-full flex-col gap-4",children:(0,ge.jsx)("div",{className:(0,xn.twMerge)("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children})})}var Tn=require("react");var hn=require("react/jsx-runtime");function Rn(e){let t=Array.isArray(e.field.fields)?e.field.fields.map(n=>V(n)?{...n,name:`${e.field.name}.${e.index}.${n.name}`}:N(n)?{...n,fields:n.fields.map(r=>({...r,name:`${e.field.name}.${e.index}.${r.name}`}))}:n):[];return(0,hn.jsx)(P,{children:e.children,components:e.components,disabled:e.disabled,fields:t,style:e.style,value:e.value})}var R=require("react/jsx-runtime");function P(e){let{field:t,list:n}=e.components;return $(e.fields).map((r,o)=>(0,R.jsxs)(Tn.Fragment,{children:[N(r)&&(0,R.jsx)(bn,{column:r,children:(0,R.jsx)(P,{...e,fields:r.fields})}),V(r)&&(0,R.jsx)(t,{disabled:e.disabled,field:r,style:e.style,children:e.children}),je(r)&&(0,R.jsx)(n,{field:r,value:e.value,children:i=>(0,R.jsx)(Rn,{children:e.children,components:e.components,disabled:e.disabled,field:r,index:i,style:e.style,value:e.value})})]},o))}var Fn=require("react/jsx-runtime");function An(e){return n=>(0,Fn.jsx)(P,{...n,components:e})}var Sn=An({field:dn,list:yn});var q=require("react/jsx-runtime");function Z(e){let t=e.translations?.[e.lang??""];return(0,q.jsx)(Gt,{config:e.config,control:e.children,definition:e.definition,readOnly:e.readOnly,sections:e.sections,children:({disabled:n,fields:r})=>(0,q.jsx)(Sn,{disabled:n,fields:r,style:e.config.style,children:o=>(0,q.jsx)(qt,{...o,config:e.config,context:e.context,translations:t,value:e.value})})})}var Nn=require("react");var pe=require("react/jsx-runtime");function Cn(e){return(0,pe.jsx)(Nn.Suspense,{fallback:(0,pe.jsx)(Z,{config:e.config,sections:e.sections,readOnly:!0}),children:e.children})}
@@ -1 +1 @@
1
- import{jsx as ln}from"react/jsx-runtime";function oe(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return ln("div",{"data-slot":"field-control",className:"w-full",children:t})}import{Activity as vn,useCallback as En,useState as On}from"react";import{jsx as ie}from"react/jsx-runtime";function le(e){return ie("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:`size-4 transition-transform duration-200 ${e.expanded?"rotate-90":""}`,children:ie("path",{fillRule:"evenodd",d:"M8.22 5.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L11.94 10 8.22 6.28a.75.75 0 0 1 0-1.06Z",clipRule:"evenodd"})})}var O="input",ae="input/email",se="input/number";var de="textarea",ce="radio",ue="checkbox",Y="list";var fe="select",me="select/month",pe="select/year";var F="column",H="fields",ge="label",X="value",w="options",K="email",ye="number",xe="password",be="tel",S="text",Re="aria-errormessage",Te="aria-invalid",he="data-invalid",Ae="data-readonly",Fe="aria",Se="data",Ne="min",Ce="max",Ie="minLength",Le="maxLength",T="$ref";var p="vertical",h="horizontal";var ke="type";function a(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function g(e){return u(e)||typeof e=="number"||an(e)}function u(e){return typeof e=="string"}function an(e){return typeof e=="boolean"}function ve(e,t=X){if(e!=null){if(g(e))return e;if(a(e)){let n=sn(e,t);if(g(n))return n}}}function sn(e,t){let n=f(e,t);if(g(n))return n}function f(e,t){if(!t||!a(e))return null;let n=t.split(".").filter(o=>o!=="");if(n.length===0)return null;let r=e;for(let o of n)if(a(r)&&o in r)r=r[o];else return null;return r}function Ee(e,t={label:ge,value:X}){return e.map(n=>{if(a(n)){let r=f(n,t.label),o=f(n,t.value);if(g(r)&&g(o))return{label:`${r}`,value:`${o}`}}return n})}function Oe(e=S){if(e){let t=e.lastIndexOf("/"),n=t===-1?e:e.slice(t+1);if(n&&n!==O)return n.trim().toLowerCase()}return S}var dn=/\[([^\]]{1,500})\]\(([^)]{1,2000})\)/g;function W(e,t={}){if(u(e))return cn(e,t);if(Array.isArray(e))return e.map(n=>W(n,t));if(a(e)){let n={};for(let r in e)n[r]=W(e[r],t);return n}return e}function z(e,t={}){return q(e)?W(e,t):e}function q(e){return u(e)?/{([^}]{1,200})}/.test(e):Array.isArray(e)?e.some(t=>q(t)):a(e)?Object.values(e).some(t=>q(t)):!1}function cn(e,t={}){return e.replace(/{([^}]{1,200})}/g,(n,r)=>{let o=r.includes(".")?f(t,r):t[r];return g(o)?String(o):n})}function we(e,t){if(!u(e)||!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=dn.exec(e))!==null;){let[l,s,rn]=n,E=n.index;o=!0,E>r&&i.push(e.substring(r,E));let on=t?t(E,rn,s):l;i.push(on),r=E+l.length}return o?(r<e.length&&i.push(e.substring(r)),i):e}var Pe=e=>c(me)(e),Me=e=>c(pe)(e),d=c(ue),De=c(O),x=c(ce),m=c(fe),_e=c(de),Ve=c(S,K,xe,be),wr=c(ae,K),Be=c(se,ye);function Ge(e){return x(e)||d(e)}function $e(e){return e.type===Y}function A(e){return e.type===F}function P(e){return e.type!==F&&e.type!==Y}function Ue(e){return m(e)||x(e)}function Z(e){return e!=null&&e!==""}function c(...e){return t=>{let n=u(t.type)?t.type:void 0;return n?e.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function Ye(e,t={}){if(m(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&a(n))return[n]}}function He(e){return x(e)||d(e)?h:e.advanced?.orientation??p}function Xe(e){return d(e)?e.advanced?.reverse!==!1:!1}function Ke(e,t){let n=e.readonly??!1;return t||n}function We(e){if(x(e)||m(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||a(t)&&!(T in t))return t}}var un=/^\d+$/;function qe(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function ze(e,t){return t>=e?Array.from({length:t-e+1},(n,r)=>{let o=e+r;return{value:o.toString(),label:o.toString()}}):[]}function J(){return new Date().getFullYear()}function Q(e,t){if(typeof e=="number")return e;let n=t??J(),r=e.trim().toLowerCase();if(r.startsWith("current")){let o=r.match(/^current([+-])(\d+)$/);if(o){let[,i,l]=o,s=parseInt(l,10);if(!isNaN(s))return i==="+"?n+s:n-s}return n}return un.test(r)?parseInt(r,10):n}var M=J();function fn(e){if(m(e))return mn(e)}function mn(e){if(Pe(e))return qe();if(Me(e)){let t=e.advanced?.length?.min??M,n=e.advanced?.length?.max??M+5;return ze(Q(t,M),Q(n,M))}}function Ze(e,t=!1){let n={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return De(e)?{...n,...pn(e)}:m(e)?{...n,...gn(e)}:_e(e)?{...n,...yn(e)}:n}function pn(e){let t=Oe(e.type),n={...e,type:t};return{...Je(e),...xn(n),...Ve(n)?Qe(n):{},type:t}}function gn(e){let t=fn(e);return t?{options:t}:{}}function yn(e){return{...Je(e),...Qe(e)}}function Je(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function xn(e){return Be(e)?bn(e):{}}function Qe(e){return je(e,{min:Ie,max:Le})}function bn(e){return je(e,{min:Ne,max:Ce})}function je(e,t){let n={},r=e.advanced?.length;return r&&(r.min!==void 0&&(n[t.min]=r.min),r.max!==void 0&&(n[t.max]=r.max)),n}function et(e,t){let n=We(e);return n||Ye(e,t)}function Rn(e,t){let n=a(t)&&e.name in t?t[e.name]:t;return ve(n,e.advanced?.entity)}function Tn(e,t,n){return Ue(e)&&Array.isArray(n)?{...t,[w]:n}:t}function hn(e,t,n){if(e.required&&!Z(n)&&m(e)&&e.advanced?.preselected!==!1&&w in t){let r=t[w];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function An(e,t){return m(e)&&Array.isArray(t)?Ee(t,e.advanced?.options):t}function tt(e,t,n,r){let o=Rn(e,r),i=Array.isArray(n)?An(e,n):n,l=Tn(e,t,i),s=hn(e,l,o);return{commonPropsWithOptions:l,defaultValue:s}}function nt(e,t){return d(e)?{defaultChecked:Z(t)}:{defaultValue:t}}var Fn=/^#\/definition\//;function _(e=[],t){let n=D(e,t);return Array.isArray(n)?n.filter(Nn).sort((r,o)=>rt(r)-rt(o)):[]}function D(e,t,n=new Map,r=new WeakSet){if(!Sn(t)||!e||typeof e!="object")return e;if(n.has(e))return n.get(e);if(r.has(e))return e;if(r.add(e),Array.isArray(e))return e.map(i=>D(i,t,n,r));if(T in e&&u(e[T])){let i=e[T].replace(Fn,""),l=f(t,i);return l!==null?D(l,t,n,r):e}let o={};for(let[i,l]of Object.entries(e))o[i]=D(l,t,n,r);return r.delete(e),n.set(e,o),o}function ot(e){return Object.entries(e??{})}function rt(e){return e.order??Number.MAX_VALUE}function Sn(e){return e!==void 0&&a(e)&&Object.keys(e).length>0}function Nn(e){return ke in e?!0:Array.isArray(e[H])?e[H].length>0:!0}function it(e,t){let n={};for(let[r,o]of ot(t))n[`${e}-${r}`]=o;return n}function Cn(e){return it(Fe,e)}function In(e){return it(Se,e)}function lt(e,t){let n=Cn(e.advanced?.aria);return t&&t.length>0&&(n[Te]="true",n[Re]=`${e.name}-error`),n}function at(e){return In(e.advanced?.data)}var st={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},dt={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function ct(e,t=2){return st[e&&e in st?e:t]}function ut(e){if(e&&e in dt)return dt[e]}function Ln(e,t){let n=e.advanced?.length?.min??1;if(t){let r=f(t,e.name);if(Array.isArray(r))return Math.max(r.length,n)}return Math.max(n,0)}function ft(e){return!Array.isArray(e.fields)||e.fields.length===0?!1:e.fields.length>1||e.fields[0].type===F}function mt(e,t){let n=Ln(e,t);return Array.from({length:n},(r,o)=>o)}function pt(e){return e.label??e.name}function b(e,t){return e?t?t[e]??e:e:""}function V(e,t){return{...e,...t}}import{jsx as kn}from"react/jsx-runtime";function y(e){return we(e,(t,n,r)=>kn("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${t}`))}import{jsx as N,jsxs as j}from"react/jsx-runtime";function gt(e){let{fields:t=[]}=e.section,[n,r]=On(!1),o=En(()=>r(i=>!i),[]);return j("fieldset",{"data-slot":"field-set","data-advanced":"true","data-expanded":n,"data-empty":t.length===0,className:"flex flex-col",id:e.section.id?.toString(),children:[N("legend",{children:j("button",{className:"flex cursor-pointer items-center gap-2 text-base font-medium text-slate-600 dark:text-slate-400",onClick:o,type:"button",children:[N(le,{expanded:n}),N("span",{children:y(e.section.title)})]})}),N(vn,{mode:n?"visible":"hidden",children:j("div",{className:"mt-3 ml-1.5 flex flex-col gap-4 border-l-2 border-slate-300 pl-4 dark:border-slate-600","data-slot":"field-set-content",children:[e.section.description&&N("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:y(e.section.description)}),e.group]})})]})}import{Fragment as wn,jsx as yt,jsxs as Pn}from"react/jsx-runtime";function xt(e){return Pn(wn,{children:[e.title&&yt("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:y(e.title)}),e.description&&yt("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:y(e.description)})]})}import{jsx as Mn,jsxs as Dn}from"react/jsx-runtime";function B(e){return Dn("fieldset",{"data-slot":"field-set","data-empty":e.empty,className:"flex flex-col data-[empty=false]:gap-6",id:e.id,children:[Mn(xt,{description:e.description,title:e.title}),e.children]})}import{jsx as _n}from"react/jsx-runtime";function R(e){return _n("div",{"data-slot":"field-group","data-compact":e.compact,className:"flex w-full flex-col gap-8 data-[compact=true]:gap-3",children:e.children})}import{jsx as ee}from"react/jsx-runtime";function bt(e){let{fields:t=[]}=e.section,{compact:n}=V(e.style,{compact:e.section.compact}),r=ee(R,{compact:n,children:e.children});return!e.section.title&&!e.section.description?r:e.section.advanced?ee(gt,{section:e.section,group:r}):ee(B,{description:e.section.description,empty:t.length===0,id:e.section.id?.toString(),title:e.section.title,children:r})}import{useAtomValue as Hn}from"jotai";import{atom as C}from"jotai";import{atomFamily as Vn}from"jotai-family";import{deepEqual as Rt}from"fast-equals";function Bn(e,t){let{[t]:n,...r}=e;return r}function Gn(e){return Vn(t=>C(n=>n(e)[t]??void 0,(n,r,o)=>{let i=n(e);if(o!=null){let l=i[t];(!l||!Rt(l,o))&&r(e,{...i,[t]:o})}else i[t]&&r(e,Bn(i,t))}))}function $n(e){return C(null,(t,n)=>{let r=t(e);r&&Object.keys(r).length>0&&n(e,{})})}function Un(e){return C(null,(t,n,r)=>{let i={...t(e)},l=!1;for(let s of r)i[s]&&(delete i[s],l=!0);l&&n(e,i)})}function Yn(e){return C(null,(t,n,r)=>{let o=t(e);Rt(o,r)||n(e,r)})}function Tt(e={}){let t=C(e);return{atom:t,clearAll:$n(t),clear:Un(t),bulkReport:Yn(t),report:Gn(t)}}var ht=Tt(),At=ht.atom,Po=ht.report;function Xn(e,t){return e.fields.every(n=>Ft(n,t))}function Ft(e,t){return t[e.name]?.hidden??e.hidden??!1}function Kn(e,t){return A(e)?Xn(e,t):Ft(e,t)}function St(e){let t=Hn(At);return e.container&&(t[e.container.name]?.hidden??e.container.hidden??!1)||e.fields.length===0||e.fields.every(r=>Kn(r,t))?null:e.children}import{jsx as Nt}from"react/jsx-runtime";function Ct(){return Nt("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:Nt("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}import{jsx as I,jsxs as It}from"react/jsx-runtime";function Lt(e){let t=_(e.sections,e.definition);return I("div",{className:"h-full w-full",children:I("form",{noValidate:e.noValidate,action:e.action,children:It(R,{children:[t.map((n,r)=>It(St,{fields:n.fields??[],children:[I(bt,{section:n,style:e.config.style,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.separator&&I(Ct,{})]},r)),e.control&&I(oe,{isPending:e.isPending,children:e.control})]})})})}import{jsx as Wn}from"react/jsx-runtime";function kt(e){return Wn("p",{className:"-mt-2 text-xs leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}import{jsx as qn}from"react/jsx-runtime";function G(e){let t=y(e.text);return t?qn(kt,{children:t}):null}import{twMerge as zn}from"tailwind-merge";import{jsx as Zn,jsxs as Jn}from"react/jsx-runtime";function vt(e){let t=e.style?.showOptionalLabel??!0,n=x(e.field)||d(e.field);return Jn("label",{"data-slot":"field-label","data-normal":n,className:zn("flex w-fit items-center gap-2 text-sm leading-snug font-medium select-none","data-[normal=true]:font-normal","group-data-[readonly=true]:cursor-not-allowed group-data-[readonly=true]:opacity-50"),htmlFor:e.field.name,children:[e.children,t&&!e.field.required&&Zn("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:b("(Optional)",e.translations)})]})}import{jsx as Et,jsxs as Qn}from"react/jsx-runtime";function Ot(e){let t={context:e.context,env:e.config?.env},n=z(e.field.label,t),r=z(e.field.description,t);return Qn("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[Et(vt,{field:e.field,style:e.config?.style,translations:e.translations,children:b(n,e.translations)}),e.orientation===h&&Et(G,{text:b(r,e.translations)})]})}import{Fragment as jn,jsx as wt,jsxs as er}from"react/jsx-runtime";function Pt(e){return er(jn,{children:[e.field.name&&e.field.label&&wt(Ot,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations}),e.children,e.orientation===p&&e.field.description&&wt(G,{text:b(e.field.description,e.translations)})]})}function Mt(e,t){return e?t(e):null}import{jsx as Dt}from"react/jsx-runtime";function _t(e){let t=et(e.field,e.value),{commonPropsWithOptions:n,defaultValue:r}=tt(e.field,e.commonProps,t,e.value),o=nt(e.field,r);return Mt(e.config.inputs[e.field.type],i=>Dt(Pt,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations,children:Dt(i,{...e.ariaAttributes,...n,...e.dataAttributes,...o})}))}import{jsx as Vt}from"react/jsx-runtime";function Bt(e){return!e.errors||e.errors.length===0?null:Vt("ul",{className:"text-sm text-red-600 dark:text-red-500",id:e.name?`${e.name}-error`:void 0,children:e.errors?.map((t,n)=>Vt("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}import{twMerge as tr}from"tailwind-merge";import{jsx as nr}from"react/jsx-runtime";function $(e){let t=e.errors&&e.errors.length>0;return nr("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[he]:"true"},...e.disabled&&{[Ae]:"true"},"data-orientation":e.orientation,className:tr("group flex w-full flex-col items-center data-[invalid=true]:text-red-600 data-[invalid=true]:dark:text-red-500","data-[clickable=true]:items-start",e.isCheckbox&&(e.isReversed?"flex-row-reverse!":"flex-row!"),"data-[clickable=true]:has-[>[data-slot=field-content]]:[&>:first-child]:mt-px",e.className),children:e.children})}import{twMerge as rr}from"tailwind-merge";import{jsx as or}from"react/jsx-runtime";function Gt(e){return or($,{...e,orientation:p,className:rr("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}import{twMerge as ir}from"tailwind-merge";import{jsx as lr}from"react/jsx-runtime";function $t(e){return lr($,{...e,orientation:h,className:ir("gap-2 md:flex-row md:gap-4","[&>[data-slot=field-content]]:min-w-0 [&>[data-slot=field-content]]:flex-grow [&>[data-slot=field-content]]:self-start","[&_[role=checkbox]]:mt-[1.5px]",e.isClickable&&"md:flex-col",!e.isClickable&&["md:justify-between","[&>*:not([data-slot=field-content])]:w-full","[&>*:not([data-slot=field-content])]:md:w-1/2","[&>*:not([data-slot=field-content])]:xl:w-2/5"]),children:e.children})}import{jsx as Ut}from"react/jsx-runtime";function Yt(e){let t=Ge(e.field),n=d(e.field),r=Xe(e.field);return e.orientation===p?Ut(Gt,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children}):Ut($t,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children})}function Ht(e){if(!e.field.type)return null;let t=Ze(e.field,e.disabled),n=at(e.field),r=lt(e.field,e.errors),o={...e.field,disabled:t.disabled};return e.children({ariaAttributes:r,commonProps:t,dataAttributes:n,field:o,orientation:e.orientation})}import{twMerge as ar}from"tailwind-merge";import{jsx as te,jsxs as sr}from"react/jsx-runtime";function Xt(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:r}=V(e.style,{orientation:He(e.field)}),o=Ke(e.field,e.disabled);return sr("div",{className:ar("flex flex-col gap-3",ut(t)),children:[te(Yt,{disabled:o,errors:n,field:e.field,orientation:r,children:te(Ht,{disabled:o,errors:n,field:e.field,orientation:r,children:e.children})}),te(Bt,{errors:n,name:e.field.name})]})}import{twMerge as dr}from"tailwind-merge";import{jsx as L,jsxs as U}from"react/jsx-runtime";function Kt(e){function t(){e.canRemove&&e.onRemove&&e.onRemove(e.index)}let n=e.canRemove&&e.onRemove!=null&&L("button",{"aria-label":`Remove ${e.label} item ${e.index+1}`,className:dr("rounded p-1 text-xl text-slate-400","transition-colors duration-150","hover:text-red-500","focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:outline-none","dark:text-slate-500 dark:hover:text-red-400"),onClick:t,type:"button",children:L("span",{"aria-hidden":"true",children:"\xD7"})});return e.isMultiField?U("div",{className:"rounded-lg border border-slate-100 p-4 dark:border-slate-900",children:[U("div",{className:"mb-3 flex items-center justify-between",children:[U("span",{className:"text-sm font-medium text-slate-400 dark:text-slate-500",children:[e.label," ",e.index+1]}),n]}),L(R,{children:e.children})]}):U("div",{className:"flex items-start gap-2",children:[L(R,{children:e.children}),n&&L("div",{className:"shrink-0",children:n})]})}import{jsx as cr}from"react/jsx-runtime";function Wt(e){let t=pt(e.field),n=ft(e.field);return mt(e.field,e.value).map(r=>cr(Kt,{index:r,isMultiField:n,label:t,children:e.children(r)},r))}import{jsx as ur}from"react/jsx-runtime";function qt(e){let t=Array.isArray(e.field.fields)&&e.field.fields.length===0;return ur(B,{description:e.field.description,empty:t,id:e.field.name,title:e.field.label,children:e.children})}import{jsx as zt}from"react/jsx-runtime";function Zt({children:e,field:t,value:n}){return zt(qt,{field:t,children:zt(Wt,{field:t,value:n,children:e})})}import{twMerge as fr}from"tailwind-merge";import{jsx as Jt}from"react/jsx-runtime";function Qt(e){let t=ct(e.column?.advanced?.cols);return Jt("div",{className:"flex w-full flex-col gap-4",children:Jt("div",{className:fr("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children})})}import{Fragment as pr}from"react";import{jsx as mr}from"react/jsx-runtime";function jt(e){let t=Array.isArray(e.field.fields)?e.field.fields.map(n=>P(n)?{...n,name:`${e.field.name}.${e.index}.${n.name}`}:A(n)?{...n,fields:n.fields.map(r=>({...r,name:`${e.field.name}.${e.index}.${r.name}`}))}:n):[];return mr(k,{children:e.children,components:e.components,disabled:e.disabled,fields:t,style:e.style,value:e.value})}import{jsx as v,jsxs as gr}from"react/jsx-runtime";function k(e){let{field:t,list:n}=e.components;return _(e.fields).map((r,o)=>gr(pr,{children:[A(r)&&v(Qt,{column:r,children:v(k,{...e,fields:r.fields})}),P(r)&&v(t,{disabled:e.disabled,field:r,style:e.style,children:e.children}),$e(r)&&v(n,{field:r,value:e.value,children:i=>v(jt,{children:e.children,components:e.components,disabled:e.disabled,field:r,index:i,style:e.style,value:e.value})})]},o))}import{jsx as yr}from"react/jsx-runtime";function en(e){return n=>yr(k,{...n,components:e})}var tn=en({field:Xt,list:Zt});import{jsx as ne}from"react/jsx-runtime";function re(e){let t=e.translations?.[e.lang??""];return ne(Lt,{config:e.config,control:e.children,definition:e.definition,readOnly:e.readOnly,sections:e.sections,children:({disabled:n,fields:r})=>ne(tn,{disabled:n,fields:r,style:e.config.style,children:o=>ne(_t,{...o,config:e.config,context:e.context,translations:t,value:e.value})})})}import{Suspense as xr}from"react";import{jsx as nn}from"react/jsx-runtime";function br(e){return nn(xr,{fallback:nn(re,{config:e.config,sections:e.sections,readOnly:!0}),children:e.children})}export{br as Fallback,re as Form};
1
+ import{jsx as rn}from"react/jsx-runtime";function ne(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return rn("div",{"data-slot":"field-control",className:"w-full",children:t})}import{Activity as kn,useCallback as In,useState as Ln}from"react";import{jsx as re}from"react/jsx-runtime";function oe(e){return re("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:`size-4 transition-transform duration-200 ${e.expanded?"rotate-90":""}`,children:re("path",{fillRule:"evenodd",d:"M8.22 5.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L11.94 10 8.22 6.28a.75.75 0 0 1 0-1.06Z",clipRule:"evenodd"})})}var L="input",ie="input/email",le="input/number";var ae="textarea",se="radio",de="checkbox",z="list";var ce="select",ue="select/month",fe="select/year";var T="column",U="fields",me="label",Y="value",E="options",X="email",ge="number",pe="password",ye="tel",A="text",xe="aria-errormessage",be="aria-invalid",Re="data-invalid",he="data-readonly",Te="aria",Ae="data",Fe="min",Se="max",Ne="minLength",Ce="maxLength",b="$ref";var ve="type";function a(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function g(e){return u(e)||typeof e=="number"||on(e)}function u(e){return typeof e=="string"}function on(e){return typeof e=="boolean"}function ke(e,t=Y){if(e!=null){if(g(e))return e;if(a(e)){let n=ln(e,t);if(g(n))return n}}}function ln(e,t){let n=f(e,t);if(g(n))return n}function f(e,t){if(!t||!a(e))return null;let n=t.split(".").filter(o=>o!=="");if(n.length===0)return null;let r=e;for(let o of n)if(a(r)&&o in r)r=r[o];else return null;return r}function Ie(e,t={label:me,value:Y}){return e.map(n=>{if(a(n)){let r=f(n,t.label),o=f(n,t.value);if(g(r)&&g(o))return{label:`${r}`,value:`${o}`}}return n})}function Le(e=A){if(e){let t=e.lastIndexOf("/"),n=t===-1?e:e.slice(t+1);if(n&&n!==L)return n.trim().toLowerCase()}return A}var an=/\[([^\]]{1,500})\]\(([^)]{1,2000})\)/g;function H(e,t={}){if(u(e))return sn(e,t);if(Array.isArray(e))return e.map(n=>H(n,t));if(a(e)){let n={};for(let r in e)n[r]=H(e[r],t);return n}return e}function w(e,t={}){return K(e)?H(e,t):e}function K(e){return u(e)?/{([^}]{1,200})}/.test(e):Array.isArray(e)?e.some(t=>K(t)):a(e)?Object.values(e).some(t=>K(t)):!1}function sn(e,t={}){return e.replace(/{([^}]{1,200})}/g,(n,r)=>{let o=r.includes(".")?f(t,r):t[r];return g(o)?String(o):n})}function Ee(e,t){if(!u(e)||!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=an.exec(e))!==null;){let[l,s,tn]=n,I=n.index;o=!0,I>r&&i.push(e.substring(r,I));let nn=t?t(I,tn,s):l;i.push(nn),r=I+l.length}return o?(r<e.length&&i.push(e.substring(r)),i):e}var we=e=>c(ue)(e),Pe=e=>c(fe)(e),d=c(de),Oe=c(L),y=c(se),m=c(ce),Me=c(ae),De=c(A,X,pe,ye),Er=c(ie,X),_e=c(le,ge);function Ve(e){return y(e)||d(e)}function Be(e){return e.type===z}function R(e){return e.type===T}function P(e){return e.type!==T&&e.type!==z}function Ge(e){return m(e)||y(e)}function W(e){return e!=null&&e!==""}function c(...e){return t=>{let n=u(t.type)?t.type:void 0;return n?e.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function $e(e,t={}){if(m(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&a(n))return[n]}}function ze(e){return y(e)||d(e)?!0:e.advanced?.horizontal??!1}function Ue(e){return d(e)?e.advanced?.reverse!==!1:!1}function Ye(e,t){let n=e.readonly??!1;return t||n}function Xe(e){if(y(e)||m(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||a(t)&&!(b in t))return t}}var dn=/^\d+$/;function He(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function Ke(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 q(){return new Date().getFullYear()}function Z(e,t){if(typeof e=="number")return e;let n=t??q(),r=e.trim().toLowerCase();if(r.startsWith("current")){let o=r.match(/^current([+-])(\d+)$/);if(o){let[,i,l]=o,s=parseInt(l,10);if(!isNaN(s))return i==="+"?n+s:n-s}return n}return dn.test(r)?parseInt(r,10):n}var O=q();function cn(e){if(m(e))return un(e)}function un(e){if(we(e))return He();if(Pe(e)){let t=e.advanced?.length?.min??O,n=e.advanced?.length?.max??O+5;return Ke(Z(t,O),Z(n,O))}}function We(e,t=!1){let n={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return Oe(e)?{...n,...fn(e)}:m(e)?{...n,...mn(e)}:Me(e)?{...n,...gn(e)}:n}function fn(e){let t=Le(e.type),n={...e,type:t};return{...qe(e),...pn(n),...De(n)?Ze(n):{},type:t}}function mn(e){let t=cn(e);return t?{options:t}:{}}function gn(e){return{...qe(e),...Ze(e)}}function qe(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function pn(e){return _e(e)?yn(e):{}}function Ze(e){return Je(e,{min:Ne,max:Ce})}function yn(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 Qe(e,t){let n=Xe(e);return n||$e(e,t)}function xn(e,t){let n=a(t)&&e.name in t?t[e.name]:t;return ke(n,e.advanced?.entity)}function bn(e,t,n){return Ge(e)&&Array.isArray(n)?{...t,[E]:n}:t}function Rn(e,t,n){if(e.required&&!W(n)&&m(e)&&e.advanced?.preselected!==!1&&E in t){let r=t[E];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function hn(e,t){return m(e)&&Array.isArray(t)?Ie(t,e.advanced?.options):t}function je(e,t,n,r){let o=xn(e,r),i=Array.isArray(n)?hn(e,n):n,l=bn(e,t,i),s=Rn(e,l,o);return{commonPropsWithOptions:l,defaultValue:s}}function et(e,t){return d(e)?{defaultChecked:W(t)}:{defaultValue:t}}var Tn=/^#\/definition\//;function D(e=[],t){let n=M(e,t);return Array.isArray(n)?n.filter(Fn).sort((r,o)=>tt(r)-tt(o)):[]}function M(e,t,n=new Map,r=new WeakSet){if(!An(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=>M(i,t,n,r));if(b in e&&u(e[b])){let i=e[b].replace(Tn,""),l=f(t,i);return l!==null?M(l,t,n,r):e}let o={};for(let[i,l]of Object.entries(e))o[i]=M(l,t,n,r);return r.delete(e),n.set(e,o),o}function nt(e){return Object.entries(e??{})}function tt(e){return e.order??Number.MAX_VALUE}function An(e){return e!==void 0&&a(e)&&Object.keys(e).length>0}function Fn(e){return ve in e?!0:Array.isArray(e[U])?e[U].length>0:!0}function rt(e,t){let n={};for(let[r,o]of nt(t))n[`${e}-${r}`]=o;return n}function Sn(e){return rt(Te,e)}function Nn(e){return rt(Ae,e)}function ot(e,t){let n=Sn(e.advanced?.aria);return t&&t.length>0&&(n[be]="true",n[xe]=`${e.name}-error`),n}function it(e){return Nn(e.advanced?.data)}var lt={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},at={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function st(e,t=2){return lt[e&&e in lt?e:t]}function dt(e){if(e&&e in at)return at[e]}function Cn(e,t){let n=e.advanced?.length?.min??1;if(t){let r=f(t,e.name);if(Array.isArray(r))return Math.max(r.length,n)}return Math.max(n,0)}function ct(e){return!Array.isArray(e.fields)||e.fields.length===0?!1:e.fields.length>1||e.fields[0].type===T}function ut(e,t){let n=Cn(e,t);return Array.from({length:n},(r,o)=>o)}function ft(e){return e.label??e.name}function h(e,t){return e?t?t[e]??e:e:""}function _(e,t){return{...e,...t}}import{jsx as vn}from"react/jsx-runtime";function p(e){return Ee(e,(t,n,r)=>vn("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${t}`))}import{jsx as F,jsxs as J}from"react/jsx-runtime";function mt(e){let{fields:t=[]}=e.section,[n,r]=Ln(!1),o=In(()=>r(i=>!i),[]);return J("fieldset",{"data-slot":"field-set","data-advanced":"true","data-expanded":n,"data-empty":t.length===0,className:"flex flex-col",id:e.section.id?.toString(),children:[F("legend",{children:J("button",{className:"flex cursor-pointer items-center gap-2 text-base font-medium text-slate-600 dark:text-slate-400",onClick:o,type:"button",children:[F(oe,{expanded:n}),F("span",{children:p(e.section.title)})]})}),F(kn,{mode:n?"visible":"hidden",children:J("div",{className:"mt-3 ml-1.5 flex flex-col gap-4 border-l-2 border-slate-300 pl-4 dark:border-slate-600","data-slot":"field-set-content",children:[e.section.description&&F("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:p(e.section.description)}),e.group]})})]})}import{Fragment as En,jsx as gt,jsxs as wn}from"react/jsx-runtime";function pt(e){return wn(En,{children:[e.title&&gt("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:p(e.title)}),e.description&&gt("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:p(e.description)})]})}import{jsx as Pn,jsxs as On}from"react/jsx-runtime";function V(e){return On("fieldset",{"data-slot":"field-set","data-empty":e.empty,className:"flex flex-col data-[empty=false]:gap-6",id:e.id,children:[Pn(pt,{description:e.description,title:e.title}),e.children]})}import{jsx as Mn}from"react/jsx-runtime";function x(e){return Mn("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 Q}from"react/jsx-runtime";function yt(e){let{fields:t=[]}=e.section,{compact:n}=_(e.style,{compact:e.section.compact}),r=Q(x,{compact:n,children:e.children});return!e.section.title&&!e.section.description?r:e.section.advanced?Q(mt,{section:e.section,group:r}):Q(V,{description:e.section.description,empty:t.length===0,id:e.section.id?.toString(),title:e.section.title,children:r})}import{useAtomValue as zn}from"jotai";import{atom as S}from"jotai";import{atomFamily as Dn}from"jotai-family";import{deepEqual as xt}from"fast-equals";function _n(e,t){let{[t]:n,...r}=e;return r}function Vn(e){return Dn(t=>S(n=>n(e)[t]??void 0,(n,r,o)=>{let i=n(e);if(o!=null){let l=i[t];(!l||!xt(l,o))&&r(e,{...i,[t]:o})}else i[t]&&r(e,_n(i,t))}))}function Bn(e){return S(null,(t,n)=>{let r=t(e);r&&Object.keys(r).length>0&&n(e,{})})}function Gn(e){return S(null,(t,n,r)=>{let i={...t(e)},l=!1;for(let s of r)i[s]&&(delete i[s],l=!0);l&&n(e,i)})}function $n(e){return S(null,(t,n,r)=>{let o=t(e);xt(o,r)||n(e,r)})}function bt(e={}){let t=S(e);return{atom:t,clearAll:Bn(t),clear:Gn(t),bulkReport:$n(t),report:Vn(t)}}var Rt=bt(),ht=Rt.atom,wo=Rt.report;function Un(e,t){return e.fields.every(n=>Tt(n,t))}function Tt(e,t){return t[e.name]?.hidden??e.hidden??!1}function Yn(e,t){return R(e)?Un(e,t):Tt(e,t)}function At(e){let t=zn(ht);return e.container&&(t[e.container.name]?.hidden??e.container.hidden??!1)||e.fields.length===0||e.fields.every(r=>Yn(r,t))?null:e.children}import{jsx as Ft}from"react/jsx-runtime";function St(){return Ft("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:Ft("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 Nt}from"react/jsx-runtime";function Ct(e){let t=D(e.sections,e.definition);return N("div",{className:"h-full w-full",children:N("form",{noValidate:e.noValidate,action:e.action,children:Nt(x,{children:[t.map((n,r)=>Nt(At,{fields:n.fields??[],children:[N(yt,{section:n,style:e.config.style,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.separator&&N(St,{})]},r)),e.control&&N(ne,{isPending:e.isPending,children:e.control})]})})})}import{jsx as Xn}from"react/jsx-runtime";function vt(e){return Xn("p",{className:"-mt-2 text-xs leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}import{jsx as Hn}from"react/jsx-runtime";function B(e){let t={context:e.context,env:e.config?.env},n=h(w(e.text,t),e.translations),r=p(n);return r?Hn(vt,{children:r}):null}import{twMerge as Kn}from"tailwind-merge";import{jsx as Wn,jsxs as qn}from"react/jsx-runtime";function kt(e){let t=e.style?.showOptionalLabel??!0,n=y(e.field)||d(e.field);return qn("label",{"data-slot":"field-label","data-normal":n,className:Kn("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&&Wn("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:h("(Optional)",e.translations)})]})}import{jsx as It,jsxs as Zn}from"react/jsx-runtime";function Lt(e){let t={context:e.context,env:e.config?.env},n=w(e.field.label,t);return Zn("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[It(kt,{field:e.field,style:e.config?.style,translations:e.translations,children:h(n,e.translations)}),e.horizontal===!0&&It(B,{config:e.config,context:e.context,text:e.field.description,translations:e.translations})]})}import{Fragment as Jn,jsx as Et,jsxs as Qn}from"react/jsx-runtime";function wt(e){return Qn(Jn,{children:[e.field.name&&e.field.label&&Et(Lt,{config:e.config,context:e.context,field:e.field,horizontal:e.horizontal,translations:e.translations}),e.children,e.horizontal===!1&&Et(B,{config:e.config,context:e.context,text:e.field.description,translations:e.translations})]})}function Pt(e,t){return e?t(e):null}import{jsx as Ot}from"react/jsx-runtime";function Mt(e){let t=Qe(e.field,e.value),{commonPropsWithOptions:n,defaultValue:r}=je(e.field,e.commonProps,t,e.value),o=et(e.field,r);return Pt(e.config.inputs[e.field.type],i=>Ot(wt,{config:e.config,context:e.context,field:e.field,horizontal:e.horizontal,translations:e.translations,children:Ot(i,{...e.ariaAttributes,...n,...e.dataAttributes,...o})}))}import{jsx as Dt}from"react/jsx-runtime";function _t(e){return!e.errors||e.errors.length===0?null:Dt("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)=>Dt("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}import{twMerge as jn}from"tailwind-merge";import{jsx as er}from"react/jsx-runtime";function G(e){let t=e.errors&&e.errors.length>0;return er("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[Re]:"true"},...e.disabled&&{[he]:"true"},"data-orientation":e.orientation,className:jn("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 tr}from"tailwind-merge";import{jsx as nr}from"react/jsx-runtime";function Vt(e){return nr(G,{...e,orientation:"vertical",className:tr("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}import{twMerge as rr}from"tailwind-merge";import{jsx as or}from"react/jsx-runtime";function Bt(e){return or(G,{...e,orientation:"horizontal",className:rr("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 Gt}from"react/jsx-runtime";function $t(e){let t=Ve(e.field),n=d(e.field),r=Ue(e.field);return e.horizontal?Gt(Bt,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children}):Gt(Vt,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children})}function zt(e){if(!e.field.type)return null;let t=We(e.field,e.disabled),n=it(e.field),r=ot(e.field,e.errors),o={...e.field,disabled:t.disabled};return e.children({ariaAttributes:r,commonProps:t,dataAttributes:n,field:o,horizontal:e.horizontal})}import{twMerge as ir}from"tailwind-merge";import{jsx as j,jsxs as lr}from"react/jsx-runtime";function Ut(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{horizontal:r}=_(e.style,{horizontal:ze(e.field)}),o=Ye(e.field,e.disabled);return lr("div",{className:ir("flex flex-col gap-3",dt(t)),children:[j($t,{disabled:o,errors:n,field:e.field,horizontal:r,children:j(zt,{disabled:o,errors:n,field:e.field,horizontal:r,children:e.children})}),j(_t,{errors:n,name:e.field.name})]})}import{twMerge as ar}from"tailwind-merge";import{jsx as C,jsxs as $}from"react/jsx-runtime";function Yt(e){function t(){e.canRemove&&e.onRemove&&e.onRemove(e.index)}let n=e.canRemove&&e.onRemove!=null&&C("button",{"aria-label":`Remove ${e.label} item ${e.index+1}`,className:ar("rounded p-1 text-xl text-slate-400","transition-colors duration-150","hover:text-red-500","focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:outline-none","dark:text-slate-500 dark:hover:text-red-400"),onClick:t,type:"button",children:C("span",{"aria-hidden":"true",children:"\xD7"})});return e.isMultiField?$("div",{className:"rounded-lg border border-slate-100 p-4 dark:border-slate-900",children:[$("div",{className:"mb-3 flex items-center justify-between",children:[$("span",{className:"text-sm font-medium text-slate-400 dark:text-slate-500",children:[e.label," ",e.index+1]}),n]}),C(x,{children:e.children})]}):$("div",{className:"flex items-start gap-2",children:[C(x,{children:e.children}),n&&C("div",{className:"shrink-0",children:n})]})}import{jsx as sr}from"react/jsx-runtime";function Xt(e){let t=ft(e.field),n=ct(e.field);return ut(e.field,e.value).map(r=>sr(Yt,{index:r,isMultiField:n,label:t,children:e.children(r)},r))}import{jsx as dr}from"react/jsx-runtime";function Ht(e){let t=Array.isArray(e.field.fields)&&e.field.fields.length===0;return dr(V,{description:e.field.description,empty:t,id:e.field.name,title:e.field.label,children:e.children})}import{jsx as Kt}from"react/jsx-runtime";function Wt({children:e,field:t,value:n}){return Kt(Ht,{field:t,children:Kt(Xt,{field:t,value:n,children:e})})}import{twMerge as cr}from"tailwind-merge";import{jsx as qt}from"react/jsx-runtime";function Zt(e){let t=st(e.column?.advanced?.cols);return qt("div",{className:"flex w-full flex-col gap-4",children:qt("div",{className:cr("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children})})}import{Fragment as fr}from"react";import{jsx as ur}from"react/jsx-runtime";function Jt(e){let t=Array.isArray(e.field.fields)?e.field.fields.map(n=>P(n)?{...n,name:`${e.field.name}.${e.index}.${n.name}`}:R(n)?{...n,fields:n.fields.map(r=>({...r,name:`${e.field.name}.${e.index}.${r.name}`}))}:n):[];return ur(v,{children:e.children,components:e.components,disabled:e.disabled,fields:t,style:e.style,value:e.value})}import{jsx as k,jsxs as mr}from"react/jsx-runtime";function v(e){let{field:t,list:n}=e.components;return D(e.fields).map((r,o)=>mr(fr,{children:[R(r)&&k(Zt,{column:r,children:k(v,{...e,fields:r.fields})}),P(r)&&k(t,{disabled:e.disabled,field:r,style:e.style,children:e.children}),Be(r)&&k(n,{field:r,value:e.value,children:i=>k(Jt,{children:e.children,components:e.components,disabled:e.disabled,field:r,index:i,style:e.style,value:e.value})})]},o))}import{jsx as gr}from"react/jsx-runtime";function Qt(e){return n=>gr(v,{...n,components:e})}var jt=Qt({field:Ut,list:Wt});import{jsx as ee}from"react/jsx-runtime";function te(e){let t=e.translations?.[e.lang??""];return ee(Ct,{config:e.config,control:e.children,definition:e.definition,readOnly:e.readOnly,sections:e.sections,children:({disabled:n,fields:r})=>ee(jt,{disabled:n,fields:r,style:e.config.style,children:o=>ee(Mt,{...o,config:e.config,context:e.context,translations:t,value:e.value})})})}import{Suspense as pr}from"react";import{jsx as en}from"react/jsx-runtime";function yr(e){return en(pr,{fallback:en(te,{config:e.config,sections:e.sections,readOnly:!0}),children:e.children})}export{yr as Fallback,te as Form};
@@ -102,7 +102,6 @@ export type StateEvent = ActionEvent<'state'> & {
102
102
  when?: string | string[] | Condition;
103
103
  };
104
104
  export type ChangeEvent = Array<SourceEvent | ValueEvent | StateEvent>;
105
- export type Orientation = 'horizontal' | 'vertical';
106
105
  export type Validation = {
107
106
  custom?: CustomValidation | Array<CustomValidation>;
108
107
  email?: string;
@@ -116,7 +115,7 @@ export type Field = CommonProps & {
116
115
  cols?: number;
117
116
  data?: DataAttributes;
118
117
  entity?: string;
119
- orientation?: Orientation;
118
+ horizontal?: boolean;
120
119
  reverse?: boolean;
121
120
  };
122
121
  event?: {
@@ -181,7 +180,7 @@ export type BaseConfig<T> = {
181
180
  };
182
181
  export type Style = {
183
182
  compact?: boolean;
184
- orientation?: Orientation;
183
+ horizontal?: boolean;
185
184
  showOptionalLabel?: boolean;
186
185
  };
187
186
  export type Filterable = Base & {
@@ -1,6 +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
- export declare function buildOrientation(field: Field): import("..").Orientation;
3
+ export declare function buildOrientation(field: Field): boolean;
4
4
  export declare function buildReverse(field: Field): boolean;
5
5
  export declare function buildDisabled(field: Field, disabled?: boolean): boolean;
6
6
  export declare function buildSource(field: Field): import("..").DataSource | unknown[] | undefined;
@@ -39,7 +39,5 @@ export declare const SET = "set";
39
39
  export declare const SOURCE = "source";
40
40
  export declare const STATE = "state";
41
41
  export declare const COMMON_URL = "http://luna.internal";
42
- export declare const VERTICAL = "vertical";
43
- export declare const HORIZONTAL = "horizontal";
44
42
  export declare const HIDDEN = "hidden";
45
43
  export declare const TYPE = "type";
@@ -1,6 +1,6 @@
1
1
  import type { Style } from '../type';
2
2
  export declare function mergeStyle(globalStyle?: Style, localStyle?: Style): {
3
3
  compact?: boolean;
4
- orientation?: import("..").Orientation;
4
+ horizontal?: boolean;
5
5
  showOptionalLabel?: boolean;
6
6
  };
@@ -1,4 +1,4 @@
1
- import { type AriaAttributes, type CommonProps, type DataAttributes, type Field, type Nullable, type Orientation, type Schema } from '@luna-form/core';
1
+ import { type AriaAttributes, type CommonProps, type DataAttributes, type Field, type Nullable, type Schema } from '@luna-form/core';
2
2
  import type { Config, InputChange } from '../../type';
3
3
  export declare function Input(props: Readonly<{
4
4
  ariaAttributes?: AriaAttributes;
@@ -7,10 +7,10 @@ export declare function Input(props: Readonly<{
7
7
  context?: Record<string, unknown>;
8
8
  dataAttributes?: DataAttributes;
9
9
  field: Field;
10
+ horizontal?: boolean;
10
11
  onMount: (name: string, schema: Schema, field: Field) => void;
11
12
  onUnmount: (name: string) => void;
12
13
  onValueChange?: (input: InputChange) => void;
13
- orientation?: Orientation;
14
14
  translations?: Record<string, string>;
15
15
  value?: Nullable<Record<string, unknown>>;
16
16
  }>): import("react").ReactNode;
@@ -1,4 +1,3 @@
1
- import { type Orientation } from '@luna-form/core';
2
1
  export type FieldLayoutProps = {
3
2
  children: React.ReactNode;
4
3
  disabled?: boolean;
@@ -9,5 +8,5 @@ export type FieldLayoutProps = {
9
8
  };
10
9
  export declare function FieldBase(props: Readonly<FieldLayoutProps & {
11
10
  className?: string;
12
- orientation: Orientation;
11
+ orientation: 'horizontal' | 'vertical';
13
12
  }>): import("react/jsx-runtime").JSX.Element;
@@ -1,8 +1,8 @@
1
- import { type Field, type Orientation } from '@luna-form/core';
1
+ import { type Field } from '@luna-form/core';
2
2
  export declare function FieldGroup(props: Readonly<{
3
3
  children: React.ReactNode;
4
4
  disabled?: boolean;
5
5
  errors?: string[];
6
6
  field: Field;
7
- orientation?: Orientation;
7
+ horizontal?: boolean;
8
8
  }>): import("react/jsx-runtime").JSX.Element;
@@ -1,3 +1,7 @@
1
+ import type { Config } from '../type';
1
2
  export declare function FormattedDescription(props: Readonly<{
3
+ config?: Config;
4
+ context?: Record<string, unknown>;
2
5
  text?: string;
6
+ translations?: Record<string, string>;
3
7
  }>): import("react/jsx-runtime").JSX.Element | null;
@@ -1,9 +1,9 @@
1
- import { type Field, type Orientation } from '@luna-form/core';
1
+ import { type Field } from '@luna-form/core';
2
2
  import type { Children } from '../../type';
3
3
  export declare function InputBase(props: Readonly<{
4
4
  children: Children;
5
5
  disabled?: boolean;
6
6
  errors?: string[];
7
7
  field: Field;
8
- orientation?: Orientation;
8
+ horizontal?: boolean;
9
9
  }>): import("react").ReactNode;
@@ -1,10 +1,10 @@
1
- import { type Field, type Orientation } from '@luna-form/core';
2
1
  import type { Config } from '../type';
2
+ import type { Field } from '@luna-form/core';
3
3
  export declare function InputGroup(props: Readonly<{
4
4
  children: React.ReactNode;
5
5
  config?: Config;
6
6
  context?: Record<string, unknown>;
7
7
  field: Field;
8
+ horizontal?: boolean;
8
9
  translations?: Record<string, string>;
9
- orientation?: Orientation;
10
10
  }>): import("react/jsx-runtime").JSX.Element;
@@ -1,9 +1,9 @@
1
- import { type Field, type Orientation } from '@luna-form/core';
1
+ import { type Field } from '@luna-form/core';
2
2
  import type { Config } from '../type';
3
3
  export declare function InputLabel(props: Readonly<{
4
4
  config?: Config;
5
5
  context?: Record<string, unknown>;
6
6
  field: Field;
7
- orientation?: Orientation;
7
+ horizontal?: boolean;
8
8
  translations?: Record<string, string>;
9
9
  }>): import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,4 @@
1
- import { type Environment, type Orientation, type Protocol } from '@luna-form/core';
1
+ import { type Environment, type Protocol } from '@luna-form/core';
2
2
  import type { AlertProps, Config, InputConfig } from '../type';
3
3
  export declare function defineConfig<T extends React.ElementType>(options: Readonly<{
4
4
  alert?: React.ComponentType<AlertProps>;
@@ -13,7 +13,7 @@ export declare function defineConfig<T extends React.ElementType>(options: Reado
13
13
  inputs: Array<InputConfig<T>>;
14
14
  style?: {
15
15
  compact?: boolean;
16
- orientation?: Orientation;
16
+ horizontal?: boolean;
17
17
  showOptionalLabel?: boolean;
18
18
  };
19
19
  validation?: {
@@ -1,4 +1,4 @@
1
- import { type AriaAttributes, type CommonProps, type DataAttributes, type Field, type Orientation } from '@luna-form/core';
1
+ import { type AriaAttributes, type CommonProps, type DataAttributes, type Field } from '@luna-form/core';
2
2
  import type { Config } from '../../type';
3
3
  export declare function Input(props: Readonly<{
4
4
  ariaAttributes?: AriaAttributes;
@@ -7,7 +7,7 @@ export declare function Input(props: Readonly<{
7
7
  context?: Record<string, unknown>;
8
8
  dataAttributes?: DataAttributes;
9
9
  field: Field;
10
- orientation?: Orientation;
10
+ horizontal?: boolean;
11
11
  translations?: Record<string, string>;
12
12
  value?: Record<string, unknown>;
13
13
  }>): import("react").ReactNode;
@@ -1,4 +1,4 @@
1
- import type { AriaAttributes, BaseConfig, CommonProps, DataAttributes, Field, Fields, FormStateError, Orientation } from '@luna-form/core';
1
+ import type { AriaAttributes, BaseConfig, CommonProps, DataAttributes, Field, Fields, FormStateError } from '@luna-form/core';
2
2
  export type Slot = (props: {
3
3
  disabled?: boolean;
4
4
  fields?: Fields;
@@ -11,7 +11,7 @@ export type Children = (props: {
11
11
  commonProps: CommonProps;
12
12
  dataAttributes?: DataAttributes;
13
13
  field: Field;
14
- orientation?: Orientation;
14
+ horizontal?: boolean;
15
15
  }) => React.ReactNode;
16
16
  export type InputConfig<T extends React.ElementType> = {
17
17
  types: string | string[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-luna-form",
3
- "version": "0.0.31",
3
+ "version": "0.0.32",
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",
@@ -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.2",
36
- "@luna-form/core": "0.0.31"
36
+ "@luna-form/core": "0.0.32"
37
37
  },
38
38
  "license": "Apache-2.0",
39
39
  "repository": {