react-luna-form 0.0.28 → 0.0.29

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 Yo=Object.create;var Ce=Object.defineProperty;var Ho=Object.getOwnPropertyDescriptor;var Xo=Object.getOwnPropertyNames;var qo=Object.getPrototypeOf,Zo=Object.prototype.hasOwnProperty;var Wo=(e,t)=>{for(var n in t)Ce(e,n,{get:t[n],enumerable:!0})},Mt=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Xo(t))!Zo.call(e,o)&&o!==n&&Ce(e,o,{get:()=>t[o],enumerable:!(r=Ho(t,o))||r.enumerable});return e};var Ko=(e,t,n)=>(n=e!=null?Yo(qo(e)):{},Mt(t||!e||!e.__esModule?Ce(n,"default",{value:e,enumerable:!0}):n,e)),zo=e=>Mt(Ce({},"__esModule",{value:!0}),e);var cl={};Wo(cl,{Form:()=>_o});module.exports=zo(cl);var $t=require("react/jsx-runtime");function _t(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return(0,$t.jsx)("div",{"data-slot":"field-control",className:"w-full",children:t})}var ue=require("react");var ut=require("react/jsx-runtime");function Bt(e){return(0,ut.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:`size-4 transition-transform duration-200 ${e.expanded?"rotate-90":""}`,children:(0,ut.jsx)("path",{fillRule:"evenodd",d:"M8.22 5.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L11.94 10 8.22 6.28a.75.75 0 0 1 0-1.06Z",clipRule:"evenodd"})})}var Ne="input",Gt="input/email",Ut="input/number";var Yt="textarea",Ht="radio",Xt="checkbox",dt="list";var qt="select",Zt="select/month",Wt="select/year";var pe="column",ft="fields",Kt="label",R="value",Ee="options",mt="email",zt="number",Jt="password",Qt="tel",ye="text",jt="aria-errormessage",en="aria-invalid",tn="data-invalid",nn="data-readonly",rn="aria",on="data",ke="min",Ie="max",ln="minLength",an="maxLength",le="$ref";var sn="source",cn="state",we="http://luna.internal",U="vertical",ae="horizontal";var un="type";function d(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function Le(e){return e==null||e===""}function Y(e){return w(e)||typeof e=="number"||gt(e)}function w(e){return typeof e=="string"}function dn(e){return d(e)&&"url"in e}function gt(e){return typeof e=="boolean"}var Jo=/[^/]+$/,Qo=/^\d+$/;function yt(e,t=[],n=R){return Array.isArray(t)?t.find(r=>{let o=bt(r,n);if(o!==void 0&&`${o}`===e)return r})??{value:e}:{value:e}}function bt(e,t=R){if(e!=null){if(Y(e))return e;if(d(e)){let n=jo(e,t);if(Y(n))return n}}}function jo(e,t){let n=T(e,t);if(Y(n))return n}function fn(e,t){if(Array.isArray(e))return e;let n=T(e,t);return Array.isArray(n)?n:null}function T(e,t){if(!t||!d(e))return null;let n=t.split(".").filter(o=>o!=="");if(n.length===0)return null;let r=e;for(let o of n)if(d(r)&&o in r)r=r[o];else return null;return r}function mn(e,t={label:Kt,value:R}){return e.map(n=>{if(d(n)){let r=T(n,t.label),o=T(n,t.value);if(Y(r)&&Y(o))return{label:`${r}`,value:`${o}`}}return n})}function gn(e=ye){if(e){let t=e.match(Jo);if(t){let[n]=t;if(n!==Ne)return n.trim().toLowerCase()}}return ye}function pn(e){let t={};for(let n of e.keys()){let r=e.getAll(n);t[n]=r.length>1?r:r[0]}return t}function yn(e){let t={};for(let n in e){let r=n.split(".");if(r.length===1){t[n]=e[n];continue}let o=t;for(let l=0;l<r.length-1;l++){let a=r[l],s=r[l+1],c=Qo.test(s);a in o||(o[a]=c?[]:{}),o=o[a]}let i=r[r.length-1];o[i]=e[n]}return pt(t),t}function pt(e){for(let t in e){let n=e[t];if(Array.isArray(n)){let r=n.filter(o=>o!==void 0);r.forEach(o=>{o!==null&&typeof o=="object"&&!Array.isArray(o)&&pt(o)}),e[t]=r}else n!==null&&typeof n=="object"&&pt(n)}}var ei=/\[([^\]]+)\]\(([^)]+)\)/g;function H(e,t={}){if(w(e))return ti(e,t);if(Array.isArray(e))return e.map(n=>H(n,t));if(d(e)){let n={};for(let r in e)n[r]=H(e[r],t);return n}return e}function xt(e,t={}){return be(e)?H(e,t):e}function be(e){return w(e)?/{([^}]+)}/.test(e):Array.isArray(e)?e.some(t=>be(t)):d(e)?Object.values(e).some(t=>be(t)):!1}function ti(e,t={}){return e.replace(/{([^}]+)}/g,(n,r)=>{let o=r.includes(".")?T(t,r):t[r];return Y(o)?String(o):n})}function bn(e,t){if(!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=ei.exec(e))!==null;){let[l,a,s]=n,c=n.index;o=!0,c>r&&i.push(e.substring(r,c));let u=t?t(c,s,a):l;i.push(u),r=c+l.length}return o?(r<e.length&&i.push(e.substring(r)),i):e}var v={error:(...e)=>{ht()&&!Rt()&&Pe().error("[Luna Form]",...e)},warn:(...e)=>{ht()&&!Rt()&&Pe().warn("[Luna Form]",...e)},info:(...e)=>{ht()&&!Rt()&&Pe().info("[Luna Form]",...e)}},ht=()=>typeof Pe()<"u",Rt=()=>!0,Pe=()=>globalThis.console;function xn(e=[],t){let n=[],r=[],o=[];for(let i of e)i.action===R&&n.push(i),i.action===sn&&r.push(i),i.action===cn&&o.push(i);t({sources:r,states:o,values:n})}function hn(e=null,t=[],n){for(let r of t){let{target:o,source:i}=r;if(!e){n(o,void 0);continue}if(dn(i)){let l=H(i.url,e),a=i.body?H(i.body,e):i.body;n(o,{...i,url:l,body:a})}}}var xe={eq:li,gt:ui,gte:di,in:si,lt:fi,lte:mi,neq:ai,nin:ci},ni=/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2})?/,Rn=/^(\d{2})[/-](\d{2})[/-](\d{4})(?: (\d{2}):(\d{2})(?::(\d{2}))?)?$/;function ri(e){return typeof e=="string"&&ni.test(e)}function oi(e){return typeof e=="string"&&Rn.test(e)}function ii(e){let t=e.match(Rn);if(t){let[,n,r,o,i,l,a]=t;return new Date(Number(o),Number(r)-1,Number(n),Number(i??0),Number(l??0),Number(a??0)).getTime()}return NaN}function X(e){return ri(e)?new Date(e).getTime():oi(e)?ii(e):Number(e)}function li(e,t){return e===t}function ai(e,t){return e!==t}function si(e,t){return Array.isArray(t)&&t.includes(String(e))}function ci(e,t){return Array.isArray(t)&&!t.includes(String(e))}function ui(e,t){return X(e)>X(t)}function di(e,t){return X(e)>=X(t)}function fi(e,t){return X(e)<X(t)}function mi(e,t){return X(e)<=X(t)}function Tn(e=null,t=[],n){for(let r of t){let{target:o,state:i,when:l}=r,a=Array.isArray(o)?o:[o];if(!e){n(a);continue}v.info(`Selected value for state event: ${JSON.stringify(e)}, evaluating condition: ${JSON.stringify(l)}`);let s=gi(e,l);v.info(`Condition evaluated to: ${s}, setting state for targets: ${a.join(", ")}`),n(a,s?i:void 0)}}function gi(e,t){return t===void 0?!0:w(t)?(v.info(`Evaluating string condition: ${t} against selected value: ${JSON.stringify(e)} using VALUE field`),v.info(`Extracted value for comparison: ${JSON.stringify(se(e,R))}`),v.info(`Comparison result: ${se(e,R)===t}`),se(e,R)===t):gt(t)?!!se(e,R)===t:Array.isArray(t)?t.includes(String(se(e,R))):pi(e,t)}function pi(e=null,t){let n=se(e,t.field??R),{operator:r="eq",value:o}=t,i=xe[r];return i?i(n,o):!1}function se(e,t){return d(e)?T(e,t):e}function Sn(e=null,t=[],n){for(let r of t)for(let[o,i]of Object.entries(r.value))n(o,e?H(i,e):void 0)}var Oe=e=>L(Zt)(e),Ve=e=>L(Wt)(e),S=L(Xt),Tt=L(Ne),D=L(Ht),M=L(qt),St=L(Yt),An=L(ye,mt,Jt,Qt),vn=L(Gt,mt),De=L(Ut,zt);function Me(e){return D(e)||S(e)}function Fn(e){return e.type===dt}function q(e){return e.type===pe}function _e(e){return e.type!==pe&&e.type!==dt}function $e(e){return M(e)||D(e)}function Cn(e){return Tt(e)||St(e)}function j(e){return e!=null&&e!==""}function L(...e){return t=>{let n=w(t.type)?t.type:void 0;return n?e.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function Nn(e,t={}){if(M(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&d(n))return[n]}}function En(e){return D(e)||S(e)?ae:e.advanced?.orientation??U}function kn(e){return S(e)?e.advanced?.reverse!==!1:!1}function In(e,t){let n=e.readonly??!1;return t||n}function wn(e){if(D(e)||M(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||d(t)&&!(le in t))return t}}var yi=/^\d+$/;function Ln(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function Pn(e,t){return t>=e?Array.from({length:t-e+1},(n,r)=>{let o=e+r;return{value:o.toString(),label:o.toString()}}):[]}function At(){return new Date().getFullYear()}function vt(e,t){if(typeof e=="number")return e;let n=t??At(),r=e.trim().toLowerCase();if(r.startsWith("current")){let o=r.match(/^current([+-])(\d+)$/);if(o){let[,i,l]=o,a=parseInt(l,10);if(!isNaN(a))return i==="+"?n+a:n-a}return n}return yi.test(r)?parseInt(r,10):n}var Be=At();function bi(e){if(M(e))return xi(e)}function xi(e){if(Oe(e))return Ln();if(Ve(e)){let t=e.advanced?.length?.min??Be,n=e.advanced?.length?.max??Be+5;return Pn(vt(t,Be),vt(n,Be))}}function On(e,t=!1){let n={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return Tt(e)?{...n,...hi(e)}:M(e)?{...n,...Ri(e)}:St(e)?{...n,...Ti(e)}:n}function hi(e){let t=gn(e.type),n={...e,type:t};return{...Vn(e),...Si(n),...An(n)?Dn(n):{},type:t}}function Ri(e){let t=bi(e);return t?{options:t}:{}}function Ti(e){return{...Vn(e),...Dn(e)}}function Vn(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function Si(e){return De(e)?Ai(e):{}}function Dn(e){return Mn(e,{min:ln,max:an})}function Ai(e){return Mn(e,{min:ke,max:Ie})}function Mn(e,t){let n={},r=e.advanced?.length;return r&&(r.min!==void 0&&(n[t.min]=r.min),r.max!==void 0&&(n[t.max]=r.max)),n}function _n(e,t){let n=wn(e);return n||Nn(e,t)}function vi(e,t){let n=d(t)&&e.name in t?t[e.name]:t;return bt(n,e.advanced?.entity)}function Fi(e,t,n){return $e(e)&&Array.isArray(n)?{...t,[Ee]:n}:t}function Ci(e,t,n){if(e.required&&!j(n)&&M(e)&&e.advanced?.preselected!==!1&&Ee in t){let r=t[Ee];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function Ni(e,t){return M(e)&&Array.isArray(t)?mn(t,e.advanced?.options):t}function $n(e,t,n,r){let o=vi(e,r),i=Array.isArray(n)?Ni(e,n):n,l=Fi(e,t,i),a=Ci(e,l,o);return{commonPropsWithOptions:l,defaultValue:a}}function Bn(e,t){return S(e)?{checked:j(t)?t:!1}:{value:t??""}}var Ei=/^#\/definition\//;function Ue(e=[],t){let n=Ge(e,t);return Array.isArray(n)?n.filter(Ii).sort((r,o)=>Gn(r)-Gn(o)):[]}function Ge(e,t,n=new Map,r=new WeakSet){if(!ki(t)||!e||typeof e!="object")return e;if(n.has(e))return n.get(e);if(r.has(e))return e;if(r.add(e),Array.isArray(e))return e.map(i=>Ge(i,t,n,r));if(le in e&&w(e[le])){let i=e[le].replace(Ei,""),l=T(t,i);return l!==null?Ge(l,t,n,r):e}let o={};for(let[i,l]of Object.entries(e))o[i]=Ge(l,t,n,r);return r.delete(e),n.set(e,o),o}function Un(e){return Object.entries(e??{})}function Gn(e){return e.order??Number.MAX_VALUE}function ki(e){return e!==void 0&&d(e)&&Object.keys(e).length>0}function Ii(e){return un in e?!0:Array.isArray(e[ft])?e[ft].length>0:!0}function Yn(e,t){let n={};for(let[r,o]of Un(t))n[`${e}-${r}`]=o;return n}function wi(e){return Yn(rn,e)}function Li(e){return Yn(on,e)}function Hn(e,t){let n=wi(e.advanced?.aria);return t&&t.length>0&&(n[en]="true",n[jt]=`${e.name}-error`),n}function Xn(e){return Li(e.advanced?.data)}var qn={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},Zn={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function Wn(e,t=2){return qn[e&&e in qn?e:t]}function Kn(e){if(e&&e in Zn)return Zn[e]}function Pi(e,t){let n=e.advanced?.length?.min??1;if(t){let r=T(t,e.name);if(Array.isArray(r))return Math.max(r.length,n)}return Math.max(n,0)}function zn(e){return!Array.isArray(e.fields)||e.fields.length===0?!1:e.fields.length>1||e.fields[0].type===pe}function Jn(e,t){let n=Pi(e,t);return Array.from({length:n},(r,o)=>o)}function Qn(e){return e.label??e.name}var m=require("zod");function f(e,t){return e?t?t[e]??e:e:""}var Oi=[[De,$i],[vn,Vi],[Ve,Bi],[Oe,Gi],[S,Di],[D,Mi]];function er(e,t=[],n){let r=m.z.object(e);return t.length===0?r:Xi(r,t,n)}function tr(e){let t={},n=m.z.flattenError(e).fieldErrors;for(let[r,o]of Object.entries(n))o!==void 0&&(t[r]=o);return t}function nr(e,t){for(let[n,r]of Oi)if(n(e))return r(e,t);return _i(e,t)}function Vi(e,t){let n=m.z.string().trim();if(e.required){let r=ce(e,t),o=n.min(1,r).pipe(jn(e,t));return m.z.preprocess(i=>Le(i)?"":i,o)}return n.pipe(jn(e,t)).or(m.z.literal("")).nullable()}function Di(e,t){let n=m.z.coerce.boolean();return e.required?(n=n.refine(r=>r===!0,{message:ce(e,t)}),m.z.preprocess(r=>r===null?!1:r,n)):n.nullable()}function Mi(e,t){let n=m.z.coerce.string();return e.required?(n=n.min(1,ce(e,t)),m.z.preprocess(r=>Le(r)?"":r,n)):n.or(m.z.literal("")).nullable()}function _i(e,t){let n=m.z.coerce.string().trim();return n=rr(n,e,t),e.required?(n=or(n,e,t),m.z.preprocess(r=>Le(r)?"":r,n)):n.nullable()}function $i(e,t){let n=m.z.coerce.number().int();return n=rr(n,e,t),e.required?(n=or(n,e,t),m.z.preprocess(r=>r===null?void 0:r,n)):n.nullable()}function Bi(e,t){return e.required?m.z.preprocess(Ui,m.z.coerce.number({message:ce(e,t)}).int()):m.z.coerce.number().int().nullable()}function Gi(e,t){let n=ce(e,t),r=m.z.coerce.number().int().min(1,n).max(12,n);return e.required?r:r.nullable()}function Ui(e){return e===null||e===""?void 0:e}function jn(e,t){let n=e.validation?.email?f(e.validation?.email,t):void 0;return m.z.email(n)}function rr(e,t,n){return e=Yi(e,t,n),e=Hi(e,t,n),e}function or(e,t,n){let r=t.advanced?.length?.min;return r===void 0||r<1?e.min(1,ce(t,n)):e}var Yi=(e,t,n)=>ir(e,t,ke,n),Hi=(e,t,n)=>ir(e,t,Ie,n);function ir(e,t,n,r){let o=t.advanced?.length?.[n];if(o!==void 0){let i=t.validation?.length?.[n]?f(t.validation?.length?.[n],r):void 0;return e[n](o,i)}return e}function Xi(e,t=[],n){let r=Zi(t);return r.length===0?e:e.superRefine((o,i)=>{for(let{name:l,rule:a}of r)if(!qi(o,l,a)){let s=f(a.message,n);i.addIssue({code:"custom",message:s,path:[l]})}})}function qi(e,t,n){let r=n.operator??"eq",o=xe[r];return o?o(e[t],e[n.field]):!1}function Zi(e){let t=[];for(let n of e){let r=n.validation?.custom;if(!r)continue;let o=Array.isArray(r)?r:[r];for(let i of o)t.push({name:n.name,rule:i})}return t}function lr(e,t,n,r){let o=[],i=Array.isArray(t)?t:[t];for(let l of i){let a=l.operator??"eq",s=xe[a];if(s&&!s(e,n(l.field))&&l.message){let c=f(l.message,r);o.push(c)}}return o}function ce(e,t){return e.validation?.required?f(e.validation?.required,t):void 0}function ar(e,t){if(!t||!Ki(e))return!0;if(t.length===0)return!1;try{let n=new URL(e),r=n.protocol.replace(":",""),o=n.hostname,i=n.port||Wi(r);return t.some(l=>!(l.protocol&&l.protocol!==r||l.hostname&&l.hostname!==o||l.port!==void 0&&String(l.port)!==i))}catch{return!1}}function Wi(e){return e==="https"?"443":"80"}function Ki(e){return/^(https?:)?\/\//.test(e)}function sr(e,t){try{if(!e)return t;if(!t)return e;let n=new URL(e,we);new URL(t,we).searchParams.forEach((i,l)=>{n.searchParams.set(l,i)});let o=n.toString();return e.startsWith("/")||!e.includes("://")?o.replace(we,""):o}catch{return t||e}}function cr(e){return!Array.isArray(e)||e.length===0?null:e.reduce((t,n)=>{let r=sr(t.url,n.url),o=zi(t,n),i=Ji(t,n);return{...t,...n,url:r,body:o,headers:i}})}function zi(e,t){return d(t.body)&&d(e?.body)?{...e.body,...t.body}:t.body??e?.body}function Ji(e,t){return d(t.headers)&&d(e?.headers)?{...e.headers,...t.headers}:t.headers??e?.headers}function Ye(e,t){return{...e,...t}}var ur=require("react/jsx-runtime");function Z(e){return bn(e,(t,n,r)=>(0,ur.jsx)("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${t}`))}var P=require("react/jsx-runtime");function dr(e){let{fields:t=[]}=e.section,[n,r]=(0,ue.useState)(!1),o=(0,ue.useCallback)(()=>r(i=>!i),[]);return(0,P.jsxs)("fieldset",{"data-slot":"field-set","data-advanced":"true","data-expanded":n,"data-empty":t.length===0,className:"flex flex-col",id:e.section.id?.toString(),children:[(0,P.jsx)("legend",{children:(0,P.jsxs)("button",{className:"flex cursor-pointer items-center gap-2 text-base font-medium text-slate-600 dark:text-slate-400",onClick:o,type:"button",children:[(0,P.jsx)(Bt,{expanded:n}),(0,P.jsx)("span",{children:Z(e.section.title)})]})}),(0,P.jsx)(ue.Activity,{mode:n?"visible":"hidden",children:(0,P.jsxs)("div",{className:"mt-3 ml-1.5 flex flex-col gap-4 border-l-2 border-slate-300 pl-4 dark:border-slate-600","data-slot":"field-set-content",children:[e.section.description&&(0,P.jsx)("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:Z(e.section.description)}),e.group]})})]})}var ee=require("react/jsx-runtime");function fr(e){return(0,ee.jsxs)(ee.Fragment,{children:[e.title&&(0,ee.jsx)("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:Z(e.title)}),e.description&&(0,ee.jsx)("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:Z(e.description)})]})}var Xe=require("react/jsx-runtime");function He(e){return(0,Xe.jsxs)("fieldset",{"data-slot":"field-set","data-empty":e.empty,className:"flex flex-col data-[empty=false]:gap-6",id:e.id,children:[(0,Xe.jsx)(fr,{description:e.description,title:e.title}),e.children]})}var mr=require("react/jsx-runtime");function te(e){return(0,mr.jsx)("div",{"data-slot":"field-group","data-compact":e.compact,className:"flex w-full flex-col gap-8 data-[compact=true]:gap-3",children:e.children})}var qe=require("react/jsx-runtime");function gr(e){let{fields:t=[]}=e.section,{compact:n}=Ye(e.style,{compact:e.section.compact}),r=(0,qe.jsx)(te,{compact:n,children:e.children});return!e.section.title&&!e.section.description?r:e.section.advanced?(0,qe.jsx)(dr,{section:e.section,group:r}):(0,qe.jsx)(He,{description:e.section.description,empty:t.length===0,id:e.section.id?.toString(),title:e.section.title,children:r})}var hr=require("jotai");var W=require("jotai"),Ft=require("jotai-family"),Ze=require("fast-equals");function Qi(e){return(0,Ft.atomFamily)(t=>(0,W.atom)(n=>n(e)[t]??void 0,(n,r,o)=>{let i=n(e);if(o!=null){let l=i[t];(!l||!(0,Ze.deepEqual)(l,o))&&r(e,{...i,[t]:o})}else if(i[t]){let{[t]:l,...a}=i;r(e,a)}}))}function ji(e){return(0,W.atom)(null,(t,n)=>{let r=t(e);r&&Object.keys(r).length>0&&n(e,{})})}function el(e){return(0,W.atom)(null,(t,n,r)=>{let i={...t(e)},l=!1;for(let a of r)i[a]&&(delete i[a],l=!0);l&&n(e,i)})}function tl(e){return(0,W.atom)(null,(t,n,r)=>{let o=t(e);(0,Ze.deepEqual)(o,r)||n(e,r)})}function pr(e,t={}){let{merge:n,validateTarget:r}=t;return(0,Ft.atomFamily)(o=>(0,W.atom)(i=>{let l=i(e)[o];if(l&&n)return n(Object.values(l))},(i,l,a,s)=>{if(r&&!r(a))return;let c=i(e),u={...c[a]??{}};if(s!=null){let g=u[o];(!g||!(0,Ze.deepEqual)(g,s))&&(u[o]=s,l(e,{...c,[a]:u}))}else if(u[o])if(delete u[o],Object.keys(u).length===0){let{[a]:g,...x}=c;l(e,x)}else l(e,{...c,[a]:u})}))}function yr(e){return(0,W.atom)(null,(t,n,r)=>{let i={...t(e)},l=!1;for(let a of r)i[a]&&(delete i[a],l=!0);for(let a in i){let s={...i[a]},c=!1;for(let u of r)s[u]&&(delete s[u],c=!0,l=!0);c&&(Object.keys(s).length===0?delete i[a]:i[a]=s)}l&&n(e,i)})}function de(e={}){let t=(0,W.atom)(e);return{atom:t,clearAll:ji(t),clear:el(t),bulkReport:tl(t),report:Qi(t)}}var br=de(),We=br.atom,xr=br.report;function nl(e,t){return e.fields.every(n=>Rr(n,t))}function Rr(e,t){return t[e.name]?.hidden??e.hidden??!1}function rl(e,t){return q(e)?nl(e,t):Rr(e,t)}function Ke(e){let t=(0,hr.useAtomValue)(We);return e.container&&(t[e.container.name]?.hidden??e.container.hidden??!1)||e.fields.length===0||e.fields.every(r=>rl(r,t))?null:e.children}var Ct=require("react/jsx-runtime");function Tr(){return(0,Ct.jsx)("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:(0,Ct.jsx)("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}var _=require("react/jsx-runtime");function Sr(e){let t=Ue(e.sections,e.definition);return(0,_.jsx)("div",{className:"h-full w-full",children:(0,_.jsx)("form",{noValidate:e.noValidate,action:e.action,children:(0,_.jsxs)(te,{children:[t.map((n,r)=>(0,_.jsxs)(Ke,{fields:n.fields??[],children:[(0,_.jsx)(gr,{section:n,style:e.config.style,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.separator&&(0,_.jsx)(Tr,{})]},r)),e.control&&(0,_.jsx)(_t,{isPending:e.isPending,children:e.control})]})})})}var vr=require("react/jsx-runtime");function Ar(e){return(0,vr.jsx)("p",{className:"-mt-2 text-xs leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}var Fr=require("react/jsx-runtime");function ze(e){let t=Z(e.text);return t?(0,Fr.jsx)(Ar,{children:t}):null}var Cr=require("tailwind-merge"),Je=require("react/jsx-runtime");function Nr(e){let t=e.style?.showOptionalLabel??!0,n=D(e.field)||S(e.field);return(0,Je.jsxs)("label",{"data-slot":"field-label","data-normal":n,className:(0,Cr.twMerge)("flex w-fit items-center gap-2 text-sm leading-snug font-medium select-none","data-[normal=true]:font-normal","group-data-[readonly=true]:cursor-not-allowed group-data-[readonly=true]:opacity-50"),htmlFor:e.field.name,children:[e.children,t&&!e.field.required&&(0,Je.jsx)("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:f("(Optional)",e.translations)})]})}var he=require("react/jsx-runtime");function Er(e){let t={context:e.context,env:e.config?.env},n=xt(e.field.label,t),r=xt(e.field.description,t);return(0,he.jsxs)("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[(0,he.jsx)(Nr,{field:e.field,style:e.config?.style,translations:e.translations,children:f(n,e.translations)}),e.orientation===ae&&(0,he.jsx)(ze,{text:f(r,e.translations)})]})}var ne=require("react/jsx-runtime");function kr(e){return(0,ne.jsxs)(ne.Fragment,{children:[e.field.name&&e.field.label&&(0,ne.jsx)(Er,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations}),e.children,e.orientation===U&&e.field.description&&(0,ne.jsx)(ze,{text:f(e.field.description,e.translations)})]})}function Qe(e,t){return e?t(e):null}var Nt=de(),Ir=Nt.clear,wr=Nt.bulkReport,je=Nt.report;var b=require("react");var Lr=require("jotai");var ol=e=>{let t=cr(e);if(t)return t},il=e=>e.trim()!=="",Pr=(0,Lr.atom)({}),Or=pr(Pr,{merge:ol,validateTarget:il}),Vr=yr(Pr);var _r=require("jotai");var Dr=Ko(require("swr"),1);function Mr(e=null,t,n=!1){let{data:r,error:o}=(0,Dr.default)(ll(e,t,n),t.fetcher.provider);if(o&&v.error("Error fetching data source:",o),e){if(Array.isArray(e))return e;if(r)return fn(r,e.namespace)}return null}function ll(e=null,t,n=!1){if(e&&!Array.isArray(e)&&!n&&e.url&&!be(e.url)){if(ar(e.url,t.fetcher.remotePatterns))return e;v.warn(`URL blocked by remotePatterns: ${e.url}. Check your luna.config.ts`)}return null}function $r(e,t,n){let r=_n(e,n),[o,i]=(0,_r.useAtom)(Or(e.name));return[Mr(o??r,t,e.disabled),i]}var re=require("react");function Br(e,t,n,r){let{name:o}=e,i=(0,re.useMemo)(()=>nr(e,r),[e,r]),l=(0,re.useEffectEvent)(s=>{s&&t(s,i,e)}),a=(0,re.useEffectEvent)(s=>{s&&n(s)});return(0,re.useEffect)(()=>(l(o),()=>{a(o)}),[o]),i}var me=require("jotai");var fe=require("react");function Gr(){let e=(0,fe.useRef)(null);return(0,fe.useEffect)(()=>()=>{e.current&&clearTimeout(e.current)},[]),(0,fe.useCallback)((n,r)=>{e.current&&(clearTimeout(e.current),e.current=null),e.current=setTimeout(n,r)},[])}var et=de(),tt=et.atom,Ur=et.clearAll,Yr=et.clear,nt=et.report;var Hr=require("jotai"),K=require("react");function Xr(e,t){let{name:n}=e,r=(0,K.useRef)(!1),[o,i]=(0,Hr.useAtom)(nt(n)),l=(0,K.useEffectEvent)(s=>{let c=al(n,s);j(c)&&(r.current=!0,i(c))});(0,K.useEffect)(()=>{t&&l(t)},[t]);let a=(0,K.useCallback)(()=>r.current?(r.current=!1,!0):!1,[]);return{setValue:i,shouldSkipOnChange:a,value:o}}function al(e,t){if(e in t)return t[e];if(!e.includes("."))return;let n=e.split("."),r=t;for(let o of n){if(r==null)return;if(Array.isArray(r)){let i=Number(o);r=Number.isInteger(i)?r[i]:void 0}else if(typeof r=="object")r=r[o];else return}return r}var Et=require("react/jsx-runtime");function qr(e){let t=e.field.advanced?.entity,n=(0,me.useStore)(),r=Gr(),[,o]=(0,b.useTransition)(),{setValue:i,shouldSkipOnChange:l,value:a}=Xr(e.field,e.value),s=(0,b.useRef)(!1),c=(0,b.useRef)(a);c.current=a;let u=(0,b.useRef)(e.translations);u.current=e.translations;let g=Cn(e.field),x=Me(e.field),C=(0,me.useSetAtom)(tt),B=(0,me.useSetAtom)(We),N=(0,me.useSetAtom)(je(e.field.name)),[h,V]=$r(e.field,e.config,a),E=Br(e.field,e.onMount,e.onUnmount,e.translations),A=f(e.commonProps.placeholder,e.translations),G={...e.commonProps,placeholder:A},{commonPropsWithOptions:k,defaultValue:Se}=$n(e.field,G,h,a),Vt=(0,b.useRef)(null);Vt.current=p=>{i(p),e.onValueChange&&e.onValueChange({name:e.field.name,value:p})};let lt=(0,b.useRef)(null);lt.current=p=>{let y=e.field.event?.change;y&&xn(y,({sources:Q,states:ve,values:at})=>{o(()=>{hn(p,Q,(I,ie)=>V(I,ie)),Tn(p,ve,(I,ie)=>{B(Fe=>ie?I.reduce((st,ct)=>({...st,[ct]:ie}),Fe):I.reduce((st,ct)=>{let{[ct]:ul,...Uo}=st;return Uo},Fe))}),Sn(p,at,(I,ie)=>{C(Fe=>({...Fe,[I]:ie}))})})})};let $o=Bn(e.field,Se),Ae=(0,b.useCallback)(p=>{let Q=E.safeParse(p).error?.issues.map(I=>I.message)??[],ve=e.field.validation?.custom,at=ve?lr(p,ve,I=>n.get(nt(I)),u.current):[];N([...Q,...at])},[e.field.validation?.custom,E,N,n]),Dt=(0,b.useCallback)((p,y)=>{if(g){r(()=>{y({value:p})},500);return}y(yt(p,h,t))},[h,t,g,r]);(0,b.useEffect)(()=>{if(s.current||!e.value)return;if(!e.field.event?.change){s.current=!0;return}if(!((!$e(e.field)||!!h&&h.length>0)&&j(Se)))return;s.current=!0;let y=String(Se),Q=g?{value:y}:yt(y,h,t);lt.current?.(Q)},[h,Se,t,g,e.field,e.value]);let Bo=(0,b.useCallback)(p=>{let y=p.target.value;!x&&l()&&(!g||y===c.current)||(Vt.current?.(y),e.config.validation.change&&Ae(y),e.field.event?.change&&Dt(y,Q=>{lt.current?.(Q)}))},[Dt,x,g,e.config.validation.change,e.field.event?.change,l,Ae]),Go=(0,b.useCallback)(p=>{if(!x){let y=p.target.value;e.config.validation.blur&&Ae(y)}},[x,e.config.validation.blur,Ae]);return Qe(e.config.inputs[e.field.type],p=>(0,Et.jsx)(kr,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations,children:(0,Et.jsx)(p,{...k,...e.ariaAttributes,...e.dataAttributes,...$o,onBlur:Go,onChange:Bo})}))}var kt=require("react/jsx-runtime");function Zr(e){return!e.errors||e.errors.length===0?null:(0,kt.jsx)("ul",{className:"text-sm text-red-600 dark:text-red-500",id:e.name?`${e.name}-error`:void 0,children:e.errors?.map((t,n)=>(0,kt.jsx)("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}var Wr=require("tailwind-merge"),Kr=require("react/jsx-runtime");function rt(e){let t=e.errors&&e.errors.length>0;return(0,Kr.jsx)("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[tn]:"true"},...e.disabled&&{[nn]:"true"},"data-orientation":e.orientation,className:(0,Wr.twMerge)("group flex w-full flex-col items-center data-[invalid=true]:text-red-600 data-[invalid=true]:dark:text-red-500","data-[clickable=true]:items-start",e.isCheckbox&&(e.isReversed?"flex-row-reverse!":"flex-row!"),"data-[clickable=true]:has-[>[data-slot=field-content]]:[&>:first-child]:mt-px",e.className),children:e.children})}var zr=require("tailwind-merge"),Qr=require("react/jsx-runtime");function Jr(e){return(0,Qr.jsx)(rt,{...e,orientation:U,className:(0,zr.twMerge)("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}var jr=require("tailwind-merge"),to=require("react/jsx-runtime");function eo(e){return(0,to.jsx)(rt,{...e,orientation:ae,className:(0,jr.twMerge)("gap-2 md:flex-row md:gap-4","[&>[data-slot=field-content]]:min-w-0 [&>[data-slot=field-content]]:flex-grow [&>[data-slot=field-content]]:self-start","[&_[role=checkbox]]:mt-[1.5px]",e.isClickable&&"md:flex-col",!e.isClickable&&["md:justify-between","[&>*:not([data-slot=field-content])]:w-full","[&>*:not([data-slot=field-content])]:md:w-1/2","[&>*:not([data-slot=field-content])]:xl:w-2/5"]),children:e.children})}var It=require("react/jsx-runtime");function no(e){let t=Me(e.field),n=S(e.field),r=kn(e.field);return e.orientation===U?(0,It.jsx)(Jr,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children}):(0,It.jsx)(eo,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children})}function ro(e){if(!e.field.type)return null;let t=On(e.field,e.disabled),n=Xn(e.field),r=Hn(e.field,e.errors),o={...e.field,disabled:t.disabled};return e.children({ariaAttributes:r,commonProps:t,dataAttributes:n,field:o,orientation:e.orientation})}var oo=require("tailwind-merge"),ge=require("react/jsx-runtime");function io(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:r}=Ye(e.style,{orientation:En(e.field)}),o=In(e.field,e.disabled);return(0,ge.jsxs)("div",{className:(0,oo.twMerge)("flex flex-col gap-3",Kn(t)),children:[(0,ge.jsx)(no,{disabled:o,errors:n,field:e.field,orientation:r,children:(0,ge.jsx)(ro,{disabled:o,errors:n,field:e.field,orientation:r,children:e.children})}),(0,ge.jsx)(Zr,{errors:n,name:e.field.name})]})}var lo=require("jotai"),so=require("react/jsx-runtime");function ao(e){return n=>{let r=(0,lo.useAtomValue)(je(n.field.name));return(0,so.jsx)(e,{...n,errors:r?{[n.field.name]:r}:void 0})}}var co=require("jotai"),fo=require("react/jsx-runtime");function uo(e){return n=>{let r=(0,co.useAtomValue)(xr(n.field.name));return r?.hidden??n.field.hidden??!1?null:(0,fo.jsx)(e,{...n,disabled:r?.disabled??n.disabled})}}var mo=uo(ao(io));var go=require("tailwind-merge");var F=require("react/jsx-runtime");function po(e){function t(){e.canRemove&&e.onRemove&&e.onRemove(e.index)}let n=e.canRemove&&e.onRemove!=null&&(0,F.jsx)("button",{"aria-label":`Remove ${e.label} item ${e.index+1}`,className:(0,go.twMerge)("rounded p-1 text-xl text-slate-400","transition-colors duration-150","hover:text-red-500","focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:outline-none","dark:text-slate-500 dark:hover:text-red-400"),onClick:t,type:"button",children:(0,F.jsx)("span",{"aria-hidden":"true",children:"\xD7"})});return e.isMultiField?(0,F.jsxs)("div",{className:"rounded-lg border border-slate-100 p-4 dark:border-slate-900",children:[(0,F.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:[(0,F.jsxs)("span",{className:"text-sm font-medium text-slate-400 dark:text-slate-500",children:[e.label," ",e.index+1]}),n]}),(0,F.jsx)(te,{children:e.children})]}):(0,F.jsxs)("div",{className:"flex items-start gap-2",children:[(0,F.jsx)(te,{children:e.children}),n&&(0,F.jsx)("div",{className:"shrink-0",children:n})]})}var xo=require("tailwind-merge");var yo=require("jotai"),z=require("react");function bo(e,t){let n=e.advanced?.length?.min??1,r=e.advanced?.length?.max??1/0,[o,i]=(0,z.useState)(()=>Jn(e,t)),l=(0,z.useRef)(o.length),a=(0,z.useRef)(o);a.current=o;let s=(0,yo.useSetAtom)(tt),c=(0,z.useCallback)(()=>{i(C=>{if(C.length>=r)return C;let B=l.current++;return[...C,B]})},[r]),u=(0,z.useCallback)(C=>{if(o.length<=n)return;let B=o[C];i(N=>N.length<=n?N:N.filter((h,V)=>V!==C)),s(N=>{let h={...N},V=`${e.name}.`,E=[];for(let A of e.fields)if(q(A))for(let G of A.fields)E.push(G.name);else E.push(A.name);for(let A of E)delete h[`${V}${B}.${A}`];return h})},[e.name,e.fields,o,n,s]),g=o.length<r,x=o.length>n;return[o,c,u,g,x,r]}var $=require("react/jsx-runtime");function ho(e){let[t,n,r,o,i,l]=bo(e.field,e.value),a=Qn(e.field),s=e.field.advanced?.action??"Add item",c=l!==1/0,u=zn(e.field);return(0,$.jsxs)($.Fragment,{children:[t.map((g,x)=>(0,$.jsx)(po,{canRemove:i,index:x,isMultiField:u,label:a,onRemove:r,children:e.children(g)},g)),(0,$.jsxs)("button",{"aria-disabled":!o,"aria-label":c?`${s}, ${t.length} of ${l}`:s,className:(0,xo.twMerge)("flex w-full items-center gap-1.5 rounded py-1","text-sm font-medium text-slate-500","transition-colors duration-150","hover:text-slate-800","focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:ring-offset-2 focus-visible:outline-none","dark:text-slate-400 dark:hover:text-slate-200",!o&&"cursor-not-allowed opacity-50 hover:text-slate-500 dark:hover:text-slate-400"),disabled:!o,onClick:n,type:"button",children:[(0,$.jsx)("span",{"aria-hidden":"true",children:"+"}),s,c&&(0,$.jsxs)("span",{"aria-hidden":"true",className:"ml-auto text-slate-400 tabular-nums dark:text-slate-500",children:[t.length," / ",l]})]})]})}var To=require("react/jsx-runtime");function Ro(e){let t=Array.isArray(e.field.fields)&&e.field.fields.length===0;return(0,To.jsx)(He,{description:e.field.description,empty:t,id:e.field.name,title:e.field.label,children:e.children})}var ot=require("react/jsx-runtime");function So({children:e,field:t,value:n}){return(0,ot.jsx)(Ke,{container:t,fields:t.fields,children:(0,ot.jsx)(Ro,{field:t,children:(0,ot.jsx)(ho,{field:t,value:n,children:e})})})}var Ao=require("tailwind-merge"),wt=require("react/jsx-runtime");function vo(e){let t=Wn(e.column?.advanced?.cols);return(0,wt.jsx)("div",{className:"flex w-full flex-col gap-4",children:(0,wt.jsx)("div",{className:(0,Ao.twMerge)("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children})})}var No=require("react");var Co=require("react/jsx-runtime");function Fo(e){let t=Array.isArray(e.field.fields)?e.field.fields.map(n=>_e(n)?{...n,name:`${e.field.name}.${e.index}.${n.name}`}:q(n)?{...n,fields:n.fields.map(r=>({...r,name:`${e.field.name}.${e.index}.${r.name}`}))}:n):[];return(0,Co.jsx)(Re,{children:e.children,components:e.components,disabled:e.disabled,fields:t,style:e.style,value:e.value})}var J=require("react/jsx-runtime");function Re(e){let{field:t,list:n}=e.components;return Ue(e.fields).map((r,o)=>(0,J.jsxs)(No.Fragment,{children:[q(r)&&(0,J.jsx)(vo,{column:r,children:(0,J.jsx)(Re,{...e,fields:r.fields})}),_e(r)&&(0,J.jsx)(t,{disabled:e.disabled,field:r,style:e.style,children:e.children}),Fn(r)&&(0,J.jsx)(n,{field:r,value:e.value,children:i=>(0,J.jsx)(Fo,{children:e.children,components:e.components,disabled:e.disabled,field:r,index:i,style:e.style,value:e.value})})]},o))}var ko=require("react/jsx-runtime");function Eo(e){return n=>(0,ko.jsx)(Re,{...n,components:e})}var Io=Eo({field:mo,list:So});var Pt=require("jotai");var Te=require("react");function Lo(e,t,n){let{onSuccess:r,preserveValues:o=!1,validation:i=!0,translations:l}=n??{},a=(0,Pt.useSetAtom)(wr),s=(0,Pt.useSetAtom)(Ur),c={data:null,error:null,success:!1},[u,g,x]=(0,Te.useActionState)(async(C,B)=>{let[N,h]=e(),V=er(N,h,l);if(i===!1)return t?await t(B,V):C;let E=pn(B),A=V.safeParse(E);if(!A.success){let k=tr(A.error);return(0,Te.startTransition)(()=>{a(k)}),Lt(E,{description:f("Please correct the errors and try again.",l),details:[],title:f("There were validation errors submitting the form.",l)})}let G=yn(E);if(t)try{let k=await t(G,V);return k.success?(r?.(k.data),o||(0,Te.startTransition)(()=>{s()}),wo(G,o)):Lt(G,k.error)}catch(k){return v.error("Error executing form action:",k),Lt(G,{title:f("An unexpected error occurred submitting the form.",l),details:sl(k,l)})}return wo(A.data,o)},c);return[g,u,x]}function sl(e,t){return e instanceof Error?[e.message]:[f("Unknown error",t)]}function wo(e,t=!1){return{data:t?e:null,error:null,success:!0}}function Lt(e,t){return{data:e,error:t,success:!1}}var oe=require("react");var Po=require("react"),it=require("jotai");function Oo(){let e=(0,it.useSetAtom)(Ir),t=(0,it.useSetAtom)(Yr),n=(0,it.useSetAtom)(Vr);return(0,Po.useCallback)(r=>{let o=Array.isArray(r)?r:[r];e(o),n(o),t(o)},[e,n,t])}function Vo(){let e=Oo(),t=(0,oe.useRef)({}),n=(0,oe.useRef)([]),r=(0,oe.useCallback)((l,a,s)=>{l in t.current||(t.current[l]=a,n.current.push(s))},[]),o=(0,oe.useCallback)(l=>{t.current[l]&&(delete t.current[l],n.current=n.current.filter(a=>a.name!==l),e([l]))},[e]);return[(0,oe.useCallback)(()=>[t.current,n.current],[]),r,o]}var O=require("react/jsx-runtime");function Do(e){let t=e.translations?.[e.lang??""],[n,r,o]=Vo(),[i,l,a]=Lo(n,e.action,{onSuccess:e.onSuccess,validation:e.config.validation.submit,translations:t}),s=e.config.validation.showError&&!l.success&&l.error,c=l.data??e.value;return(0,O.jsxs)(O.Fragment,{children:[s&&Qe(e.config.alert,u=>(0,O.jsx)("div",{className:"mb-4 w-full",children:(0,O.jsx)(u,{description:l.error?.description,details:l.error?.details,title:l.error.title})})),(0,O.jsx)(Sr,{action:i,config:e.config,control:e.children,definition:e.definition,isPending:a,noValidate:!0,readOnly:e.readOnly,sections:e.sections,children:({disabled:u,fields:g})=>(0,O.jsx)(Io,{disabled:u,fields:g,style:e.config.style,value:c,children:x=>(0,O.jsx)(qr,{...x,config:e.config,context:e.context,onMount:r,onUnmount:o,onValueChange:e.onValueChange,translations:t,value:c})})})]})}var Mo=require("jotai"),Ot=require("react/jsx-runtime");function _o(e){return(0,Ot.jsx)(Mo.Provider,{children:(0,Ot.jsx)(Do,{...e})})}
1
+ "use strict";var Uo=Object.create;var Fe=Object.defineProperty;var Ho=Object.getOwnPropertyDescriptor;var Yo=Object.getOwnPropertyNames;var Xo=Object.getPrototypeOf,qo=Object.prototype.hasOwnProperty;var Zo=(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 Yo(t))!qo.call(e,o)&&o!==n&&Fe(e,o,{get:()=>t[o],enumerable:!(r=Ho(t,o))||r.enumerable});return e};var Ko=(e,t,n)=>(n=e!=null?Uo(Xo(e)):{},_t(t||!e||!e.__esModule?Fe(n,"default",{value:e,enumerable:!0}):n,e)),Wo=e=>_t(Fe({},"__esModule",{value:!0}),e);var cl={};Zo(cl,{Form:()=>_o});module.exports=Wo(cl);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 I(e)||typeof e=="number"||pt(e)}function I(e){return typeof e=="string"}function fn(e){return d(e)&&"url"in e}function pt(e){return typeof e=="boolean"}var zo=/^\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=Jo(e,t);if(H(n))return n}}}function Jo(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=zo.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 Qo=/\[([^\]]{1,500})\]\(([^)]{1,2000})\)/g;function Y(e,t={}){if(I(e))return jo(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 I(e)?/{([^}]{1,200})}/.test(e):Array.isArray(e)?e.some(t=>pe(t)):d(e)?Object.values(e).some(t=>pe(t)):!1}function jo(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(!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=Qo.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:oi,gt:si,gte:ci,in:li,lt:ui,lte:di,neq:ii,nin:ai},ei=/^\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 ti(e){return typeof e=="string"&&ei.test(e)}function ni(e){return typeof e=="string"&&Tn.test(e)}function ri(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 ti(e)?new Date(e).getTime():ni(e)?ri(e):Number(e)}function oi(e,t){return e===t}function ii(e,t){return e!==t}function li(e,t){return Array.isArray(t)&&t.includes(String(e))}function ai(e,t){return Array.isArray(t)&&!t.includes(String(e))}function si(e,t){return X(e)>X(t)}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 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=fi(e,l);n(a,s?i:void 0)}}function fi(e,t){return t===void 0?!0:I(t)?Pe(e,A)===t:pt(t)?!!Pe(e,A)===t:Array.isArray(t)?t.includes(String(Pe(e,A))):mi(e,t)}function mi(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=I(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 gi=/^\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 gi.test(r)?parseInt(r,10):n}var Ge=vt();function pi(e){if(M(e))return yi(e)}function yi(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,...bi(e)}:M(e)?{...n,...xi(e)}:At(e)?{...n,...hi(e)}:n}function bi(e){let t=pn(e.type),n={...e,type:t};return{...Dn(e),...Ri(n),...vn(n)?Mn(n):{},type:t}}function xi(e){let t=pi(e);return t?{options:t}:{}}function hi(e){return{...Dn(e),...Mn(e)}}function Dn(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function Ri(e){return De(e)?Ti(e):{}}function Mn(e){return _n(e,{min:an,max:sn})}function Ti(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 Si(e,t){let n=d(t)&&e.name in t?t[e.name]:t;return xt(n,e.advanced?.entity)}function Ai(e,t,n){return Be(e)&&Array.isArray(n)?{...t,[Ne]:n}:t}function vi(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 Fi(e,t){return M(e)&&Array.isArray(t)?gn(t,e.advanced?.options):t}function Gn(e,t,n,r){let o=Si(e,r),i=Array.isArray(n)?Fi(e,n):n,l=Ai(e,t,i),a=vi(e,l,o);return{commonPropsWithOptions:l,defaultValue:a}}function $n(e,t){return T(e)?{checked:Q(t)?t:!1}:{value:t??""}}var Ci=/^#\/definition\//;function Ue(e=[],t){let n=$e(e,t);return Array.isArray(n)?n.filter(Ei).sort((r,o)=>Un(r)-Un(o)):[]}function $e(e,t,n=new Map,r=new WeakSet){if(!Ni(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&&I(e[ie])){let i=e[ie].replace(Ci,""),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 Ni(e){return e!==void 0&&d(e)&&Object.keys(e).length>0}function Ei(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 ki(e){return Yn(on,e)}function Ii(e){return Yn(ln,e)}function Xn(e,t){let n=ki(e.advanced?.aria);return t&&t.length>0&&(n[tn]="true",n[en]=`${e.name}-error`),n}function qn(e){return Ii(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 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 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=wi(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 Li=[[De,Mi],[Fn,Pi],[Ve,_i],[Oe,Bi],[T,Oi],[D,Vi]];function tr(e,t=[],n){let r=m.z.object(e);return t.length===0?r:Hi(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 Li)if(n(e))return r(e,t);return Di(e,t)}function Pi(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 Oi(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 Vi(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 Di(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 Mi(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 _i(e,t){return e.required?m.z.preprocess(Gi,m.z.coerce.number({message:ae(e,t)}).int()):m.z.coerce.number().int().nullable()}function Bi(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 Gi(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=$i(e,t,n),e=Ui(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 $i=(e,t,n)=>lr(e,t,Ee,n),Ui=(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 Hi(e,t=[],n){let r=Xi(t);return r.length===0?e:e.superRefine((o,i)=>{for(let{name:l,rule:a}of r)if(!Yi(o,l,a)){let s=f(a.message,n);i.addIssue({code:"custom",message:s,path:[l]})}})}function Yi(e,t,n){let r=n.operator??"eq",o=be[r];return o?o(e[t],e[n.field]):!1}function Xi(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||!Zi(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||qi(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 qi(e){return e==="https"?"443":"80"}function Zi(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=Ki(t,n),i=Wi(t,n);return{...t,...n,url:r,body:o,headers:i}})}function Ki(e,t){return d(t.body)&&d(e?.body)?{...e.body,...t.body}:t.body??e?.body}function Wi(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 zi(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 Ji(e){return(0,K.atom)(null,(t,n)=>{let r=t(e);r&&Object.keys(r).length>0&&n(e,{})})}function Qi(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 ji(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 p=u[o];(!p||!(0,Ze.deepEqual)(p,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:Ji(t),clear:Qi(t),bulkReport:ji(t),report:zi(t)}}var xr=ce(),We=xr.atom,hr=xr.report;function el(e,t){return e.fields.every(n=>Tr(n,t))}function Tr(e,t){return t[e.name]?.hidden??e.hidden??!1}function tl(e,t){return q(e)?el(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=>tl(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 nl=e=>{let t=ur(e);if(t)return t},rl=e=>e.trim()!=="",Dr=(0,Vr.atom)({}),Mr=yr(Dr,{merge:nl,validateTarget:rl}),_r=br(Dr);var $r=require("jotai");var Br=Ko(require("swr"),1);function Gr(e=null,t,n=!1){let{data:r,error:o}=(0,Br.default)(ol(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 ol(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("jotai"),W=require("react");function qr(e,t){let{name:n}=e,r=(0,W.useRef)(!1),[o,i]=(0,Xr.useAtom)(rt(n)),l=(0,W.useEffectEvent)(s=>{let c=il(n,s);Q(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 il(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 Zr(e){let t=e.field.advanced?.entity,n=(0,de.useStore)(),r=Yr(),[,o]=(0,b.useTransition)(),{setValue:i,shouldSkipOnChange:l,value:a}=qr(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 p=Nn(e.field),h=Me(e.field),F=(0,de.useSetAtom)(nt),G=(0,de.useSetAtom)(We),C=(0,de.useSetAtom)(et(e.field.name)),[x,V]=Ur(e.field,e.config,a),N=Hr(e.field,e.onMount,e.onUnmount,e.translations),S=f(e.commonProps.placeholder,e.translations),$={...e.commonProps,placeholder:S},{commonPropsWithOptions:E,defaultValue:Te}=Gn(e.field,$,x,a),Dt=(0,b.useRef)(null);Dt.current=g=>{i(g),e.onValueChange&&e.onValueChange({name:e.field.name,value:g})};let at=(0,b.useRef)(null);at.current=g=>{let y=e.field.event?.change;y&&hn(y,({sources:J,states:Ae,values:st})=>{o(()=>{Rn(g,J,(k,oe)=>V(k,oe)),Sn(g,Ae,(k,oe)=>{G(ve=>oe?k.reduce((ct,ut)=>({...ct,[ut]:oe}),ve):k.reduce((ct,ut)=>Ke(ct,ut),ve))}),An(g,st,(k,oe)=>{F(ve=>({...ve,[k]:oe}))})})})};let Bo=$n(e.field,Te),Se=(0,b.useCallback)(g=>{let J=N.safeParse(g).error?.issues.map(k=>k.message)??[],Ae=e.field.validation?.custom,st=Ae?ar(g,Ae,k=>n.get(rt(k)),u.current):[];C([...J,...st])},[e.field.validation?.custom,N,C,n]),Mt=(0,b.useCallback)((g,y)=>{if(p){r(()=>{y({value:g})},500);return}y(bt(g,x,t))},[x,t,p,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 y=String(Te),J=p?{value:y}:bt(y,x,t);at.current?.(J)},[x,Te,t,p,e.field,e.value]);let Go=(0,b.useCallback)(g=>{let y=g.target.value;!h&&l()&&(!p||y===c.current)||(Dt.current?.(y),e.config.validation.change&&Se(y),e.field.event?.change&&Mt(y,J=>{at.current?.(J)}))},[Mt,h,p,e.config.validation.change,e.field.event?.change,l,Se]),$o=(0,b.useCallback)(g=>{if(!h){let y=g.target.value;e.config.validation.blur&&Se(y)}},[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,{...E,...e.ariaAttributes,...e.dataAttributes,...Bo,onBlur:$o,onChange:Go})}))}var It=require("react/jsx-runtime");function Kr(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 Wr=require("tailwind-merge"),zr=require("react/jsx-runtime");function ot(e){let t=e.errors&&e.errors.length>0;return(0,zr.jsx)("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[nn]:"true"},...e.disabled&&{[rn]:"true"},"data-orientation":e.orientation,className:(0,Wr.twMerge)("group flex w-full flex-col items-center data-[invalid=true]:text-red-600 data-[invalid=true]:dark:text-red-500","data-[clickable=true]:items-start",e.isCheckbox&&(e.isReversed?"flex-row-reverse!":"flex-row!"),"data-[clickable=true]:has-[>[data-slot=field-content]]:[&>:first-child]:mt-px",e.className),children:e.children})}var Jr=require("tailwind-merge"),jr=require("react/jsx-runtime");function Qr(e){return(0,jr.jsx)(ot,{...e,orientation:U,className:(0,Jr.twMerge)("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}var eo=require("tailwind-merge"),no=require("react/jsx-runtime");function to(e){return(0,no.jsx)(ot,{...e,orientation:le,className:(0,eo.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 ro(e){let t=Me(e.field),n=T(e.field),r=In(e.field);return e.orientation===U?(0,wt.jsx)(Qr,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children}):(0,wt.jsx)(to,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children})}function oo(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 io=require("tailwind-merge"),fe=require("react/jsx-runtime");function lo(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,io.twMerge)("flex flex-col gap-3",zn(t)),children:[(0,fe.jsx)(ro,{disabled:o,errors:n,field:e.field,orientation:r,children:(0,fe.jsx)(oo,{disabled:o,errors:n,field:e.field,orientation:r,children:e.children})}),(0,fe.jsx)(Kr,{errors:n,name:e.field.name})]})}var ao=require("jotai"),fo=require("react/jsx-runtime");function so(e){return(t,n)=>o=>{let i=(0,ao.useAtomValue)(e(o.field.name)),l=n(i,o);return l===null?null:(0,fo.jsx)(t,{...o,...l})}}var ll=so(et);function co(e){return ll(e,(t,n)=>({errors:t?{[n.field.name]:t}:void 0}))}var al=so(hr);function uo(e){return al(e,(t,n)=>t?.hidden??n.field.hidden??!1?null:{disabled:t?.disabled??n.disabled})}var mo=uo(co(lo));var go=require("tailwind-merge");var v=require("react/jsx-runtime");function po(e){function t(){e.canRemove&&e.onRemove&&e.onRemove(e.index)}let n=e.canRemove&&e.onRemove!=null&&(0,v.jsx)("button",{"aria-label":`Remove ${e.label} item ${e.index+1}`,className:(0,go.twMerge)("rounded p-1 text-xl text-slate-400","transition-colors duration-150","hover:text-red-500","focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:outline-none","dark:text-slate-500 dark:hover:text-red-400"),onClick:t,type:"button",children:(0,v.jsx)("span",{"aria-hidden":"true",children:"\xD7"})});return e.isMultiField?(0,v.jsxs)("div",{className:"rounded-lg border border-slate-100 p-4 dark:border-slate-900",children:[(0,v.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:[(0,v.jsxs)("span",{className:"text-sm font-medium text-slate-400 dark:text-slate-500",children:[e.label," ",e.index+1]}),n]}),(0,v.jsx)(ee,{children:e.children})]}):(0,v.jsxs)("div",{className:"flex items-start gap-2",children:[(0,v.jsx)(ee,{children:e.children}),n&&(0,v.jsx)("div",{className:"shrink-0",children:n})]})}var xo=require("tailwind-merge");var yo=require("jotai"),P=require("react");function bo(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,yo.useSetAtom)(nt),c=(0,P.useCallback)(()=>{i(F=>{if(F.length>=r)return F;let G=l.current++;return[...F,G]})},[r]),u=(0,P.useCallback)(F=>{if(a.current.length<=n)return;let G=a.current[F];i(C=>C.length<=n?C:C.filter((x,V)=>V!==F)),s(C=>{let x={...C},V=`${e.name}.`,N=[];for(let S of e.fields)if(q(S))for(let $ of S.fields)N.push($.name);else N.push(S.name);for(let S of N)delete x[`${V}${G}.${S}`];return x})},[e.name,e.fields,n,s]),p=o.length<r,h=o.length>n;return[o,c,u,p,h,r]}var B=require("react/jsx-runtime");function ho(e){let[t,n,r,o,i,l]=bo(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((p,h)=>(0,B.jsx)(po,{canRemove:i,index:h,isMultiField:u,label:a,onRemove:r,children:e.children(p)},p)),(0,B.jsxs)("button",{"aria-disabled":!o,"aria-label":c?`${s}, ${t.length} of ${l}`:s,className:(0,xo.twMerge)("flex w-full items-center gap-1.5 rounded py-1","text-sm font-medium text-slate-500","transition-colors duration-150","hover:text-slate-800","focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:ring-offset-2 focus-visible:outline-none","dark:text-slate-400 dark:hover:text-slate-200",!o&&"cursor-not-allowed opacity-50 hover:text-slate-500 dark:hover:text-slate-400"),disabled:!o,onClick:n,type:"button",children:[(0,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 To=require("react/jsx-runtime");function Ro(e){let t=Array.isArray(e.field.fields)&&e.field.fields.length===0;return(0,To.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 So({children:e,field:t,value:n}){return(0,it.jsx)(ze,{container:t,fields:t.fields,children:(0,it.jsx)(Ro,{field:t,children:(0,it.jsx)(ho,{field:t,value:n,children:e})})})}var Ao=require("tailwind-merge"),Lt=require("react/jsx-runtime");function vo(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,Ao.twMerge)("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children})})}var No=require("react");var Co=require("react/jsx-runtime");function Fo(e){let t=Array.isArray(e.field.fields)?e.field.fields.map(n=>_e(n)?{...n,name:`${e.field.name}.${e.index}.${n.name}`}:q(n)?{...n,fields:n.fields.map(r=>({...r,name:`${e.field.name}.${e.index}.${r.name}`}))}:n):[];return(0,Co.jsx)(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)(No.Fragment,{children:[q(r)&&(0,z.jsx)(vo,{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)(Fo,{children:e.children,components:e.components,disabled:e.disabled,field:r,index:i,style:e.style,value:e.value})})]},o))}var ko=require("react/jsx-runtime");function Eo(e){return n=>(0,ko.jsx)(he,{...n,components:e})}var Io=Eo({field:mo,list:So});var Ot=require("jotai");var Re=require("react");function Lo(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,p,h]=(0,Re.useActionState)(async(F,G)=>{let[C,x]=e(),V=tr(C,x,l);if(i===!1)return t?await t(G,V):F;let N=yn(G),S=V.safeParse(N);if(!S.success){let E=nr(S.error);return(0,Re.startTransition)(()=>{a(E)}),Pt(N,{description:f("Please correct the errors and try again.",l),details:[],title:f("There were validation errors submitting the form.",l)})}let $=bn(N);if(t)try{let E=await t($,V);return E.success?(r?.(E.data),o||(0,Re.startTransition)(()=>{s()}),wo($,o)):Pt($,E.error)}catch(E){return ye.error("Error executing form action:",E),Pt($,{title:f("An unexpected error occurred submitting the form.",l),details:sl(E,l)})}return wo(S.data,o)},c);return[p,u,h]}function sl(e,t){return e instanceof Error?[e.message]:[f("Unknown error",t)]}function wo(e,t=!1){return{data:t?e:null,error:null,success:!0}}function Pt(e,t){return{data:e,error:t,success:!1}}var re=require("react");var Po=require("react"),lt=require("jotai");function Oo(){let e=(0,lt.useSetAtom)(wr),t=(0,lt.useSetAtom)(Or),n=(0,lt.useSetAtom)(_r);return(0,Po.useCallback)(r=>{let o=Array.isArray(r)?r:[r];e(o),n(o),t(o)},[e,n,t])}function Vo(){let e=Oo(),t=(0,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 Do(e){let t=e.translations?.[e.lang??""],[n,r,o]=Vo(),[i,l,a]=Lo(n,e.action,{onSuccess:e.onSuccess,validation:e.config.validation.submit,translations:t}),s=e.config.validation.showError&&!l.success&&l.error,c=l.data??e.value;return(0,O.jsxs)(O.Fragment,{children:[s&&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:p})=>(0,O.jsx)(Io,{disabled:u,fields:p,style:e.config.style,value:c,children:h=>(0,O.jsx)(Zr,{...h,config:e.config,context:e.context,onMount:r,onUnmount:o,onValueChange:e.onValueChange,translations:t,value:c})})})]})}var Mo=require("jotai"),Vt=require("react/jsx-runtime");function _o(e){return(0,Vt.jsx)(Mo.Provider,{children:(0,Vt.jsx)(Do,{...e})})}
@@ -1 +1 @@
1
- import{jsx as co}from"react/jsx-runtime";function ht(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return co("div",{"data-slot":"field-control",className:"w-full",children:t})}import{Activity as mi,useCallback as gi,useState as pi}from"react";import{jsx as Rt}from"react/jsx-runtime";function Tt(e){return Rt("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:`size-4 transition-transform duration-200 ${e.expanded?"rotate-90":""}`,children:Rt("path",{fillRule:"evenodd",d:"M8.22 5.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L11.94 10 8.22 6.28a.75.75 0 0 1 0-1.06Z",clipRule:"evenodd"})})}var me="input",St="input/email",At="input/number";var vt="textarea",Ft="radio",Ct="checkbox",qe="list";var Nt="select",Et="select/month",kt="select/year";var Q="column",Ze="fields",It="label",h="value",ge="options",We="email",wt="number",Lt="password",Pt="tel",j="text",Ot="aria-errormessage",Vt="aria-invalid",Dt="data-invalid",Mt="data-readonly",_t="aria",$t="data",pe="min",ye="max",Bt="minLength",Gt="maxLength",Z="$ref";var Ut="source",Yt="state",be="http://luna.internal",D="vertical",W="horizontal";var Ht="type";function d(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function xe(e){return e==null||e===""}function M(e){return k(e)||typeof e=="number"||Ke(e)}function k(e){return typeof e=="string"}function Xt(e){return d(e)&&"url"in e}function Ke(e){return typeof e=="boolean"}var uo=/[^/]+$/,fo=/^\d+$/;function Je(e,t=[],n=h){return Array.isArray(t)?t.find(r=>{let o=Qe(r,n);if(o!==void 0&&`${o}`===e)return r})??{value:e}:{value:e}}function Qe(e,t=h){if(e!=null){if(M(e))return e;if(d(e)){let n=mo(e,t);if(M(n))return n}}}function mo(e,t){let n=R(e,t);if(M(n))return n}function qt(e,t){if(Array.isArray(e))return e;let n=R(e,t);return Array.isArray(n)?n:null}function R(e,t){if(!t||!d(e))return null;let n=t.split(".").filter(o=>o!=="");if(n.length===0)return null;let r=e;for(let o of n)if(d(r)&&o in r)r=r[o];else return null;return r}function Zt(e,t={label:It,value:h}){return e.map(n=>{if(d(n)){let r=R(n,t.label),o=R(n,t.value);if(M(r)&&M(o))return{label:`${r}`,value:`${o}`}}return n})}function Wt(e=j){if(e){let t=e.match(uo);if(t){let[n]=t;if(n!==me)return n.trim().toLowerCase()}}return j}function Kt(e){let t={};for(let n of e.keys()){let r=e.getAll(n);t[n]=r.length>1?r:r[0]}return t}function zt(e){let t={};for(let n in e){let r=n.split(".");if(r.length===1){t[n]=e[n];continue}let o=t;for(let l=0;l<r.length-1;l++){let a=r[l],s=r[l+1],c=fo.test(s);a in o||(o[a]=c?[]:{}),o=o[a]}let i=r[r.length-1];o[i]=e[n]}return ze(t),t}function ze(e){for(let t in e){let n=e[t];if(Array.isArray(n)){let r=n.filter(o=>o!==void 0);r.forEach(o=>{o!==null&&typeof o=="object"&&!Array.isArray(o)&&ze(o)}),e[t]=r}else n!==null&&typeof n=="object"&&ze(n)}}var go=/\[([^\]]+)\]\(([^)]+)\)/g;function _(e,t={}){if(k(e))return po(e,t);if(Array.isArray(e))return e.map(n=>_(n,t));if(d(e)){let n={};for(let r in e)n[r]=_(e[r],t);return n}return e}function je(e,t={}){return ee(e)?_(e,t):e}function ee(e){return k(e)?/{([^}]+)}/.test(e):Array.isArray(e)?e.some(t=>ee(t)):d(e)?Object.values(e).some(t=>ee(t)):!1}function po(e,t={}){return e.replace(/{([^}]+)}/g,(n,r)=>{let o=r.includes(".")?R(t,r):t[r];return M(o)?String(o):n})}function Jt(e,t){if(!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=go.exec(e))!==null;){let[l,a,s]=n,c=n.index;o=!0,c>r&&i.push(e.substring(r,c));let u=t?t(c,s,a):l;i.push(u),r=c+l.length}return o?(r<e.length&&i.push(e.substring(r)),i):e}var A={error:(...e)=>{et()&&!tt()&&he().error("[Luna Form]",...e)},warn:(...e)=>{et()&&!tt()&&he().warn("[Luna Form]",...e)},info:(...e)=>{et()&&!tt()&&he().info("[Luna Form]",...e)}},et=()=>typeof he()<"u",tt=()=>!0,he=()=>globalThis.console;function Qt(e=[],t){let n=[],r=[],o=[];for(let i of e)i.action===h&&n.push(i),i.action===Ut&&r.push(i),i.action===Yt&&o.push(i);t({sources:r,states:o,values:n})}function jt(e=null,t=[],n){for(let r of t){let{target:o,source:i}=r;if(!e){n(o,void 0);continue}if(Xt(i)){let l=_(i.url,e),a=i.body?_(i.body,e):i.body;n(o,{...i,url:l,body:a})}}}var te={eq:Ro,gt:vo,gte:Fo,in:So,lt:Co,lte:No,neq:To,nin:Ao},yo=/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2})?/,en=/^(\d{2})[/-](\d{2})[/-](\d{4})(?: (\d{2}):(\d{2})(?::(\d{2}))?)?$/;function bo(e){return typeof e=="string"&&yo.test(e)}function xo(e){return typeof e=="string"&&en.test(e)}function ho(e){let t=e.match(en);if(t){let[,n,r,o,i,l,a]=t;return new Date(Number(o),Number(r)-1,Number(n),Number(i??0),Number(l??0),Number(a??0)).getTime()}return NaN}function $(e){return bo(e)?new Date(e).getTime():xo(e)?ho(e):Number(e)}function Ro(e,t){return e===t}function To(e,t){return e!==t}function So(e,t){return Array.isArray(t)&&t.includes(String(e))}function Ao(e,t){return Array.isArray(t)&&!t.includes(String(e))}function vo(e,t){return $(e)>$(t)}function Fo(e,t){return $(e)>=$(t)}function Co(e,t){return $(e)<$(t)}function No(e,t){return $(e)<=$(t)}function tn(e=null,t=[],n){for(let r of t){let{target:o,state:i,when:l}=r,a=Array.isArray(o)?o:[o];if(!e){n(a);continue}A.info(`Selected value for state event: ${JSON.stringify(e)}, evaluating condition: ${JSON.stringify(l)}`);let s=Eo(e,l);A.info(`Condition evaluated to: ${s}, setting state for targets: ${a.join(", ")}`),n(a,s?i:void 0)}}function Eo(e,t){return t===void 0?!0:k(t)?(A.info(`Evaluating string condition: ${t} against selected value: ${JSON.stringify(e)} using VALUE field`),A.info(`Extracted value for comparison: ${JSON.stringify(K(e,h))}`),A.info(`Comparison result: ${K(e,h)===t}`),K(e,h)===t):Ke(t)?!!K(e,h)===t:Array.isArray(t)?t.includes(String(K(e,h))):ko(e,t)}function ko(e=null,t){let n=K(e,t.field??h),{operator:r="eq",value:o}=t,i=te[r];return i?i(n,o):!1}function K(e,t){return d(e)?R(e,t):e}function nn(e=null,t=[],n){for(let r of t)for(let[o,i]of Object.entries(r.value))n(o,e?_(i,e):void 0)}var Re=e=>I(Et)(e),Te=e=>I(kt)(e),T=I(Ct),nt=I(me),L=I(Ft),P=I(Nt),rt=I(vt),rn=I(j,We,Lt,Pt),on=I(St,We),Se=I(At,wt);function Ae(e){return L(e)||T(e)}function ln(e){return e.type===qe}function B(e){return e.type===Q}function ve(e){return e.type!==Q&&e.type!==qe}function Fe(e){return P(e)||L(e)}function an(e){return nt(e)||rt(e)}function Y(e){return e!=null&&e!==""}function I(...e){return t=>{let n=k(t.type)?t.type:void 0;return n?e.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function sn(e,t={}){if(P(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&d(n))return[n]}}function cn(e){return L(e)||T(e)?W:e.advanced?.orientation??D}function un(e){return T(e)?e.advanced?.reverse!==!1:!1}function dn(e,t){let n=e.readonly??!1;return t||n}function fn(e){if(L(e)||P(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||d(t)&&!(Z in t))return t}}var Io=/^\d+$/;function mn(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function gn(e,t){return t>=e?Array.from({length:t-e+1},(n,r)=>{let o=e+r;return{value:o.toString(),label:o.toString()}}):[]}function ot(){return new Date().getFullYear()}function it(e,t){if(typeof e=="number")return e;let n=t??ot(),r=e.trim().toLowerCase();if(r.startsWith("current")){let o=r.match(/^current([+-])(\d+)$/);if(o){let[,i,l]=o,a=parseInt(l,10);if(!isNaN(a))return i==="+"?n+a:n-a}return n}return Io.test(r)?parseInt(r,10):n}var Ce=ot();function wo(e){if(P(e))return Lo(e)}function Lo(e){if(Re(e))return mn();if(Te(e)){let t=e.advanced?.length?.min??Ce,n=e.advanced?.length?.max??Ce+5;return gn(it(t,Ce),it(n,Ce))}}function pn(e,t=!1){let n={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return nt(e)?{...n,...Po(e)}:P(e)?{...n,...Oo(e)}:rt(e)?{...n,...Vo(e)}:n}function Po(e){let t=Wt(e.type),n={...e,type:t};return{...yn(e),...Do(n),...rn(n)?bn(n):{},type:t}}function Oo(e){let t=wo(e);return t?{options:t}:{}}function Vo(e){return{...yn(e),...bn(e)}}function yn(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function Do(e){return Se(e)?Mo(e):{}}function bn(e){return xn(e,{min:Bt,max:Gt})}function Mo(e){return xn(e,{min:pe,max:ye})}function xn(e,t){let n={},r=e.advanced?.length;return r&&(r.min!==void 0&&(n[t.min]=r.min),r.max!==void 0&&(n[t.max]=r.max)),n}function hn(e,t){let n=fn(e);return n||sn(e,t)}function _o(e,t){let n=d(t)&&e.name in t?t[e.name]:t;return Qe(n,e.advanced?.entity)}function $o(e,t,n){return Fe(e)&&Array.isArray(n)?{...t,[ge]:n}:t}function Bo(e,t,n){if(e.required&&!Y(n)&&P(e)&&e.advanced?.preselected!==!1&&ge in t){let r=t[ge];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function Go(e,t){return P(e)&&Array.isArray(t)?Zt(t,e.advanced?.options):t}function Rn(e,t,n,r){let o=_o(e,r),i=Array.isArray(n)?Go(e,n):n,l=$o(e,t,i),a=Bo(e,l,o);return{commonPropsWithOptions:l,defaultValue:a}}function Tn(e,t){return T(e)?{checked:Y(t)?t:!1}:{value:t??""}}var Uo=/^#\/definition\//;function Ee(e=[],t){let n=Ne(e,t);return Array.isArray(n)?n.filter(Ho).sort((r,o)=>Sn(r)-Sn(o)):[]}function Ne(e,t,n=new Map,r=new WeakSet){if(!Yo(t)||!e||typeof e!="object")return e;if(n.has(e))return n.get(e);if(r.has(e))return e;if(r.add(e),Array.isArray(e))return e.map(i=>Ne(i,t,n,r));if(Z in e&&k(e[Z])){let i=e[Z].replace(Uo,""),l=R(t,i);return l!==null?Ne(l,t,n,r):e}let o={};for(let[i,l]of Object.entries(e))o[i]=Ne(l,t,n,r);return r.delete(e),n.set(e,o),o}function An(e){return Object.entries(e??{})}function Sn(e){return e.order??Number.MAX_VALUE}function Yo(e){return e!==void 0&&d(e)&&Object.keys(e).length>0}function Ho(e){return Ht in e?!0:Array.isArray(e[Ze])?e[Ze].length>0:!0}function vn(e,t){let n={};for(let[r,o]of An(t))n[`${e}-${r}`]=o;return n}function Xo(e){return vn(_t,e)}function qo(e){return vn($t,e)}function Fn(e,t){let n=Xo(e.advanced?.aria);return t&&t.length>0&&(n[Vt]="true",n[Ot]=`${e.name}-error`),n}function Cn(e){return qo(e.advanced?.data)}var Nn={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},En={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function kn(e,t=2){return Nn[e&&e in Nn?e:t]}function In(e){if(e&&e in En)return En[e]}function Zo(e,t){let n=e.advanced?.length?.min??1;if(t){let r=R(t,e.name);if(Array.isArray(r))return Math.max(r.length,n)}return Math.max(n,0)}function wn(e){return!Array.isArray(e.fields)||e.fields.length===0?!1:e.fields.length>1||e.fields[0].type===Q}function Ln(e,t){let n=Zo(e,t);return Array.from({length:n},(r,o)=>o)}function Pn(e){return e.label??e.name}import{z as p}from"zod";function f(e,t){return e?t?t[e]??e:e:""}var Wo=[[Se,jo],[on,Ko],[Te,ei],[Re,ti],[T,zo],[L,Jo]];function Vn(e,t=[],n){let r=p.object(e);return t.length===0?r:ii(r,t,n)}function Dn(e){let t={},n=p.flattenError(e).fieldErrors;for(let[r,o]of Object.entries(n))o!==void 0&&(t[r]=o);return t}function Mn(e,t){for(let[n,r]of Wo)if(n(e))return r(e,t);return Qo(e,t)}function Ko(e,t){let n=p.string().trim();if(e.required){let r=z(e,t),o=n.min(1,r).pipe(On(e,t));return p.preprocess(i=>xe(i)?"":i,o)}return n.pipe(On(e,t)).or(p.literal("")).nullable()}function zo(e,t){let n=p.coerce.boolean();return e.required?(n=n.refine(r=>r===!0,{message:z(e,t)}),p.preprocess(r=>r===null?!1:r,n)):n.nullable()}function Jo(e,t){let n=p.coerce.string();return e.required?(n=n.min(1,z(e,t)),p.preprocess(r=>xe(r)?"":r,n)):n.or(p.literal("")).nullable()}function Qo(e,t){let n=p.coerce.string().trim();return n=_n(n,e,t),e.required?(n=$n(n,e,t),p.preprocess(r=>xe(r)?"":r,n)):n.nullable()}function jo(e,t){let n=p.coerce.number().int();return n=_n(n,e,t),e.required?(n=$n(n,e,t),p.preprocess(r=>r===null?void 0:r,n)):n.nullable()}function ei(e,t){return e.required?p.preprocess(ni,p.coerce.number({message:z(e,t)}).int()):p.coerce.number().int().nullable()}function ti(e,t){let n=z(e,t),r=p.coerce.number().int().min(1,n).max(12,n);return e.required?r:r.nullable()}function ni(e){return e===null||e===""?void 0:e}function On(e,t){let n=e.validation?.email?f(e.validation?.email,t):void 0;return p.email(n)}function _n(e,t,n){return e=ri(e,t,n),e=oi(e,t,n),e}function $n(e,t,n){let r=t.advanced?.length?.min;return r===void 0||r<1?e.min(1,z(t,n)):e}var ri=(e,t,n)=>Bn(e,t,pe,n),oi=(e,t,n)=>Bn(e,t,ye,n);function Bn(e,t,n,r){let o=t.advanced?.length?.[n];if(o!==void 0){let i=t.validation?.length?.[n]?f(t.validation?.length?.[n],r):void 0;return e[n](o,i)}return e}function ii(e,t=[],n){let r=ai(t);return r.length===0?e:e.superRefine((o,i)=>{for(let{name:l,rule:a}of r)if(!li(o,l,a)){let s=f(a.message,n);i.addIssue({code:"custom",message:s,path:[l]})}})}function li(e,t,n){let r=n.operator??"eq",o=te[r];return o?o(e[t],e[n.field]):!1}function ai(e){let t=[];for(let n of e){let r=n.validation?.custom;if(!r)continue;let o=Array.isArray(r)?r:[r];for(let i of o)t.push({name:n.name,rule:i})}return t}function Gn(e,t,n,r){let o=[],i=Array.isArray(t)?t:[t];for(let l of i){let a=l.operator??"eq",s=te[a];if(s&&!s(e,n(l.field))&&l.message){let c=f(l.message,r);o.push(c)}}return o}function z(e,t){return e.validation?.required?f(e.validation?.required,t):void 0}function Un(e,t){if(!t||!ci(e))return!0;if(t.length===0)return!1;try{let n=new URL(e),r=n.protocol.replace(":",""),o=n.hostname,i=n.port||si(r);return t.some(l=>!(l.protocol&&l.protocol!==r||l.hostname&&l.hostname!==o||l.port!==void 0&&String(l.port)!==i))}catch{return!1}}function si(e){return e==="https"?"443":"80"}function ci(e){return/^(https?:)?\/\//.test(e)}function Yn(e,t){try{if(!e)return t;if(!t)return e;let n=new URL(e,be);new URL(t,be).searchParams.forEach((i,l)=>{n.searchParams.set(l,i)});let o=n.toString();return e.startsWith("/")||!e.includes("://")?o.replace(be,""):o}catch{return t||e}}function Hn(e){return!Array.isArray(e)||e.length===0?null:e.reduce((t,n)=>{let r=Yn(t.url,n.url),o=ui(t,n),i=di(t,n);return{...t,...n,url:r,body:o,headers:i}})}function ui(e,t){return d(t.body)&&d(e?.body)?{...e.body,...t.body}:t.body??e?.body}function di(e,t){return d(t.headers)&&d(e?.headers)?{...e.headers,...t.headers}:t.headers??e?.headers}function ke(e,t){return{...e,...t}}import{jsx as fi}from"react/jsx-runtime";function G(e){return Jt(e,(t,n,r)=>fi("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${t}`))}import{jsx as ne,jsxs as lt}from"react/jsx-runtime";function Xn(e){let{fields:t=[]}=e.section,[n,r]=pi(!1),o=gi(()=>r(i=>!i),[]);return lt("fieldset",{"data-slot":"field-set","data-advanced":"true","data-expanded":n,"data-empty":t.length===0,className:"flex flex-col",id:e.section.id?.toString(),children:[ne("legend",{children:lt("button",{className:"flex cursor-pointer items-center gap-2 text-base font-medium text-slate-600 dark:text-slate-400",onClick:o,type:"button",children:[ne(Tt,{expanded:n}),ne("span",{children:G(e.section.title)})]})}),ne(mi,{mode:n?"visible":"hidden",children:lt("div",{className:"mt-3 ml-1.5 flex flex-col gap-4 border-l-2 border-slate-300 pl-4 dark:border-slate-600","data-slot":"field-set-content",children:[e.section.description&&ne("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:G(e.section.description)}),e.group]})})]})}import{Fragment as yi,jsx as qn,jsxs as bi}from"react/jsx-runtime";function Zn(e){return bi(yi,{children:[e.title&&qn("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:G(e.title)}),e.description&&qn("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:G(e.description)})]})}import{jsx as xi,jsxs as hi}from"react/jsx-runtime";function Ie(e){return hi("fieldset",{"data-slot":"field-set","data-empty":e.empty,className:"flex flex-col data-[empty=false]:gap-6",id:e.id,children:[xi(Zn,{description:e.description,title:e.title}),e.children]})}import{jsx as Ri}from"react/jsx-runtime";function H(e){return Ri("div",{"data-slot":"field-group","data-compact":e.compact,className:"flex w-full flex-col gap-8 data-[compact=true]:gap-3",children:e.children})}import{jsx as at}from"react/jsx-runtime";function Wn(e){let{fields:t=[]}=e.section,{compact:n}=ke(e.style,{compact:e.section.compact}),r=at(H,{compact:n,children:e.children});return!e.section.title&&!e.section.description?r:e.section.advanced?at(Xn,{section:e.section,group:r}):at(Ie,{description:e.section.description,empty:t.length===0,id:e.section.id?.toString(),title:e.section.title,children:r})}import{useAtomValue as Fi}from"jotai";import{atom as X}from"jotai";import{atomFamily as Kn}from"jotai-family";import{deepEqual as st}from"fast-equals";function Ti(e){return Kn(t=>X(n=>n(e)[t]??void 0,(n,r,o)=>{let i=n(e);if(o!=null){let l=i[t];(!l||!st(l,o))&&r(e,{...i,[t]:o})}else if(i[t]){let{[t]:l,...a}=i;r(e,a)}}))}function Si(e){return X(null,(t,n)=>{let r=t(e);r&&Object.keys(r).length>0&&n(e,{})})}function Ai(e){return X(null,(t,n,r)=>{let i={...t(e)},l=!1;for(let a of r)i[a]&&(delete i[a],l=!0);l&&n(e,i)})}function vi(e){return X(null,(t,n,r)=>{let o=t(e);st(o,r)||n(e,r)})}function zn(e,t={}){let{merge:n,validateTarget:r}=t;return Kn(o=>X(i=>{let l=i(e)[o];if(l&&n)return n(Object.values(l))},(i,l,a,s)=>{if(r&&!r(a))return;let c=i(e),u={...c[a]??{}};if(s!=null){let m=u[o];(!m||!st(m,s))&&(u[o]=s,l(e,{...c,[a]:u}))}else if(u[o])if(delete u[o],Object.keys(u).length===0){let{[a]:m,...b}=c;l(e,b)}else l(e,{...c,[a]:u})}))}function Jn(e){return X(null,(t,n,r)=>{let i={...t(e)},l=!1;for(let a of r)i[a]&&(delete i[a],l=!0);for(let a in i){let s={...i[a]},c=!1;for(let u of r)s[u]&&(delete s[u],c=!0,l=!0);c&&(Object.keys(s).length===0?delete i[a]:i[a]=s)}l&&n(e,i)})}function J(e={}){let t=X(e);return{atom:t,clearAll:Si(t),clear:Ai(t),bulkReport:vi(t),report:Ti(t)}}var Qn=J(),we=Qn.atom,jn=Qn.report;function Ci(e,t){return e.fields.every(n=>er(n,t))}function er(e,t){return t[e.name]?.hidden??e.hidden??!1}function Ni(e,t){return B(e)?Ci(e,t):er(e,t)}function Le(e){let t=Fi(we);return e.container&&(t[e.container.name]?.hidden??e.container.hidden??!1)||e.fields.length===0||e.fields.every(r=>Ni(r,t))?null:e.children}import{jsx as tr}from"react/jsx-runtime";function nr(){return tr("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:tr("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}import{jsx as re,jsxs as rr}from"react/jsx-runtime";function or(e){let t=Ee(e.sections,e.definition);return re("div",{className:"h-full w-full",children:re("form",{noValidate:e.noValidate,action:e.action,children:rr(H,{children:[t.map((n,r)=>rr(Le,{fields:n.fields??[],children:[re(Wn,{section:n,style:e.config.style,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.separator&&re(nr,{})]},r)),e.control&&re(ht,{isPending:e.isPending,children:e.control})]})})})}import{jsx as Ei}from"react/jsx-runtime";function ir(e){return Ei("p",{className:"-mt-2 text-xs leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}import{jsx as ki}from"react/jsx-runtime";function Pe(e){let t=G(e.text);return t?ki(ir,{children:t}):null}import{twMerge as Ii}from"tailwind-merge";import{jsx as wi,jsxs as Li}from"react/jsx-runtime";function lr(e){let t=e.style?.showOptionalLabel??!0,n=L(e.field)||T(e.field);return Li("label",{"data-slot":"field-label","data-normal":n,className:Ii("flex w-fit items-center gap-2 text-sm leading-snug font-medium select-none","data-[normal=true]:font-normal","group-data-[readonly=true]:cursor-not-allowed group-data-[readonly=true]:opacity-50"),htmlFor:e.field.name,children:[e.children,t&&!e.field.required&&wi("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:f("(Optional)",e.translations)})]})}import{jsx as ar,jsxs as Pi}from"react/jsx-runtime";function sr(e){let t={context:e.context,env:e.config?.env},n=je(e.field.label,t),r=je(e.field.description,t);return Pi("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[ar(lr,{field:e.field,style:e.config?.style,translations:e.translations,children:f(n,e.translations)}),e.orientation===W&&ar(Pe,{text:f(r,e.translations)})]})}import{Fragment as Oi,jsx as cr,jsxs as Vi}from"react/jsx-runtime";function ur(e){return Vi(Oi,{children:[e.field.name&&e.field.label&&cr(sr,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations}),e.children,e.orientation===D&&e.field.description&&cr(Pe,{text:f(e.field.description,e.translations)})]})}function Oe(e,t){return e?t(e):null}var ct=J(),dr=ct.clear,fr=ct.bulkReport,Ve=ct.report;import{useCallback as $e,useEffect as ji,useRef as oe,useTransition as el}from"react";import{atom as Di}from"jotai";var Mi=e=>{let t=Hn(e);if(t)return t},_i=e=>e.trim()!=="",mr=Di({}),gr=zn(mr,{merge:Mi,validateTarget:_i}),pr=Jn(mr);import{useAtom as Gi}from"jotai";import $i from"swr";function yr(e=null,t,n=!1){let{data:r,error:o}=$i(Bi(e,t,n),t.fetcher.provider);if(o&&A.error("Error fetching data source:",o),e){if(Array.isArray(e))return e;if(r)return qt(r,e.namespace)}return null}function Bi(e=null,t,n=!1){if(e&&!Array.isArray(e)&&!n&&e.url&&!ee(e.url)){if(Un(e.url,t.fetcher.remotePatterns))return e;A.warn(`URL blocked by remotePatterns: ${e.url}. Check your luna.config.ts`)}return null}function br(e,t,n){let r=hn(e,n),[o,i]=Gi(gr(e.name));return[yr(o??r,t,e.disabled),i]}import{useEffect as Ui,useEffectEvent as xr,useMemo as Yi}from"react";function hr(e,t,n,r){let{name:o}=e,i=Yi(()=>Mn(e,r),[e,r]),l=xr(s=>{s&&t(s,i,e)}),a=xr(s=>{s&&n(s)});return Ui(()=>(l(o),()=>{a(o)}),[o]),i}import{useSetAtom as ut,useStore as tl}from"jotai";import{useCallback as Hi,useEffect as Xi,useRef as qi}from"react";function Rr(){let e=qi(null);return Xi(()=>()=>{e.current&&clearTimeout(e.current)},[]),Hi((n,r)=>{e.current&&(clearTimeout(e.current),e.current=null),e.current=setTimeout(n,r)},[])}var De=J(),Me=De.atom,Tr=De.clearAll,Sr=De.clear,_e=De.report;import{useAtom as Zi}from"jotai";import{useCallback as Wi,useEffect as Ki,useRef as zi,useEffectEvent as Ji}from"react";function Ar(e,t){let{name:n}=e,r=zi(!1),[o,i]=Zi(_e(n)),l=Ji(s=>{let c=Qi(n,s);Y(c)&&(r.current=!0,i(c))});Ki(()=>{t&&l(t)},[t]);let a=Wi(()=>r.current?(r.current=!1,!0):!1,[]);return{setValue:i,shouldSkipOnChange:a,value:o}}function Qi(e,t){if(e in t)return t[e];if(!e.includes("."))return;let n=e.split("."),r=t;for(let o of n){if(r==null)return;if(Array.isArray(r)){let i=Number(o);r=Number.isInteger(i)?r[i]:void 0}else if(typeof r=="object")r=r[o];else return}return r}import{jsx as vr}from"react/jsx-runtime";function Fr(e){let t=e.field.advanced?.entity,n=tl(),r=Rr(),[,o]=el(),{setValue:i,shouldSkipOnChange:l,value:a}=Ar(e.field,e.value),s=oe(!1),c=oe(a);c.current=a;let u=oe(e.translations);u.current=e.translations;let m=an(e.field),b=Ae(e.field),v=ut(Me),O=ut(we),F=ut(Ve(e.field.name)),[x,w]=br(e.field,e.config,a),C=hr(e.field,e.onMount,e.onUnmount,e.translations),S=f(e.commonProps.placeholder,e.translations),V={...e.commonProps,placeholder:S},{commonPropsWithOptions:N,defaultValue:ce}=Rn(e.field,V,x,a),bt=oe(null);bt.current=g=>{i(g),e.onValueChange&&e.onValueChange({name:e.field.name,value:g})};let Ue=oe(null);Ue.current=g=>{let y=e.field.event?.change;y&&Qt(y,({sources:U,states:de,values:Ye})=>{o(()=>{jt(g,U,(E,q)=>w(E,q)),tn(g,de,(E,q)=>{O(fe=>q?E.reduce((He,Xe)=>({...He,[Xe]:q}),fe):E.reduce((He,Xe)=>{let{[Xe]:Ll,...so}=He;return so},fe))}),nn(g,Ye,(E,q)=>{v(fe=>({...fe,[E]:q}))})})})};let io=Tn(e.field,ce),ue=$e(g=>{let U=C.safeParse(g).error?.issues.map(E=>E.message)??[],de=e.field.validation?.custom,Ye=de?Gn(g,de,E=>n.get(_e(E)),u.current):[];F([...U,...Ye])},[e.field.validation?.custom,C,F,n]),xt=$e((g,y)=>{if(m){r(()=>{y({value:g})},500);return}y(Je(g,x,t))},[x,t,m,r]);ji(()=>{if(s.current||!e.value)return;if(!e.field.event?.change){s.current=!0;return}if(!((!Fe(e.field)||!!x&&x.length>0)&&Y(ce)))return;s.current=!0;let y=String(ce),U=m?{value:y}:Je(y,x,t);Ue.current?.(U)},[x,ce,t,m,e.field,e.value]);let lo=$e(g=>{let y=g.target.value;!b&&l()&&(!m||y===c.current)||(bt.current?.(y),e.config.validation.change&&ue(y),e.field.event?.change&&xt(y,U=>{Ue.current?.(U)}))},[xt,b,m,e.config.validation.change,e.field.event?.change,l,ue]),ao=$e(g=>{if(!b){let y=g.target.value;e.config.validation.blur&&ue(y)}},[b,e.config.validation.blur,ue]);return Oe(e.config.inputs[e.field.type],g=>vr(ur,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations,children:vr(g,{...N,...e.ariaAttributes,...e.dataAttributes,...io,onBlur:ao,onChange:lo})}))}import{jsx as Cr}from"react/jsx-runtime";function Nr(e){return!e.errors||e.errors.length===0?null:Cr("ul",{className:"text-sm text-red-600 dark:text-red-500",id:e.name?`${e.name}-error`:void 0,children:e.errors?.map((t,n)=>Cr("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}import{twMerge as nl}from"tailwind-merge";import{jsx as rl}from"react/jsx-runtime";function Be(e){let t=e.errors&&e.errors.length>0;return rl("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[Dt]:"true"},...e.disabled&&{[Mt]:"true"},"data-orientation":e.orientation,className:nl("group flex w-full flex-col items-center data-[invalid=true]:text-red-600 data-[invalid=true]:dark:text-red-500","data-[clickable=true]:items-start",e.isCheckbox&&(e.isReversed?"flex-row-reverse!":"flex-row!"),"data-[clickable=true]:has-[>[data-slot=field-content]]:[&>:first-child]:mt-px",e.className),children:e.children})}import{twMerge as ol}from"tailwind-merge";import{jsx as il}from"react/jsx-runtime";function Er(e){return il(Be,{...e,orientation:D,className:ol("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}import{twMerge as ll}from"tailwind-merge";import{jsx as al}from"react/jsx-runtime";function kr(e){return al(Be,{...e,orientation:W,className:ll("gap-2 md:flex-row md:gap-4","[&>[data-slot=field-content]]:min-w-0 [&>[data-slot=field-content]]:flex-grow [&>[data-slot=field-content]]:self-start","[&_[role=checkbox]]:mt-[1.5px]",e.isClickable&&"md:flex-col",!e.isClickable&&["md:justify-between","[&>*:not([data-slot=field-content])]:w-full","[&>*:not([data-slot=field-content])]:md:w-1/2","[&>*:not([data-slot=field-content])]:xl:w-2/5"]),children:e.children})}import{jsx as Ir}from"react/jsx-runtime";function wr(e){let t=Ae(e.field),n=T(e.field),r=un(e.field);return e.orientation===D?Ir(Er,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children}):Ir(kr,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children})}function Lr(e){if(!e.field.type)return null;let t=pn(e.field,e.disabled),n=Cn(e.field),r=Fn(e.field,e.errors),o={...e.field,disabled:t.disabled};return e.children({ariaAttributes:r,commonProps:t,dataAttributes:n,field:o,orientation:e.orientation})}import{twMerge as sl}from"tailwind-merge";import{jsx as dt,jsxs as cl}from"react/jsx-runtime";function Pr(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:r}=ke(e.style,{orientation:cn(e.field)}),o=dn(e.field,e.disabled);return cl("div",{className:sl("flex flex-col gap-3",In(t)),children:[dt(wr,{disabled:o,errors:n,field:e.field,orientation:r,children:dt(Lr,{disabled:o,errors:n,field:e.field,orientation:r,children:e.children})}),dt(Nr,{errors:n,name:e.field.name})]})}import{useAtomValue as ul}from"jotai";import{jsx as dl}from"react/jsx-runtime";function Or(e){return n=>{let r=ul(Ve(n.field.name));return dl(e,{...n,errors:r?{[n.field.name]:r}:void 0})}}import{useAtomValue as fl}from"jotai";import{jsx as ml}from"react/jsx-runtime";function Vr(e){return n=>{let r=fl(jn(n.field.name));return r?.hidden??n.field.hidden??!1?null:ml(e,{...n,disabled:r?.disabled??n.disabled})}}var Dr=Vr(Or(Pr));import{twMerge as gl}from"tailwind-merge";import{jsx as ie,jsxs as Ge}from"react/jsx-runtime";function Mr(e){function t(){e.canRemove&&e.onRemove&&e.onRemove(e.index)}let n=e.canRemove&&e.onRemove!=null&&ie("button",{"aria-label":`Remove ${e.label} item ${e.index+1}`,className:gl("rounded p-1 text-xl text-slate-400","transition-colors duration-150","hover:text-red-500","focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:outline-none","dark:text-slate-500 dark:hover:text-red-400"),onClick:t,type:"button",children:ie("span",{"aria-hidden":"true",children:"\xD7"})});return e.isMultiField?Ge("div",{className:"rounded-lg border border-slate-100 p-4 dark:border-slate-900",children:[Ge("div",{className:"mb-3 flex items-center justify-between",children:[Ge("span",{className:"text-sm font-medium text-slate-400 dark:text-slate-500",children:[e.label," ",e.index+1]}),n]}),ie(H,{children:e.children})]}):Ge("div",{className:"flex items-start gap-2",children:[ie(H,{children:e.children}),n&&ie("div",{className:"shrink-0",children:n})]})}import{twMerge as bl}from"tailwind-merge";import{useSetAtom as pl}from"jotai";import{useCallback as _r,useRef as $r,useState as yl}from"react";function Br(e,t){let n=e.advanced?.length?.min??1,r=e.advanced?.length?.max??1/0,[o,i]=yl(()=>Ln(e,t)),l=$r(o.length),a=$r(o);a.current=o;let s=pl(Me),c=_r(()=>{i(v=>{if(v.length>=r)return v;let O=l.current++;return[...v,O]})},[r]),u=_r(v=>{if(o.length<=n)return;let O=o[v];i(F=>F.length<=n?F:F.filter((x,w)=>w!==v)),s(F=>{let x={...F},w=`${e.name}.`,C=[];for(let S of e.fields)if(B(S))for(let V of S.fields)C.push(V.name);else C.push(S.name);for(let S of C)delete x[`${w}${O}.${S}`];return x})},[e.name,e.fields,o,n,s]),m=o.length<r,b=o.length>n;return[o,c,u,m,b,r]}import{Fragment as xl,jsx as Gr,jsxs as ft}from"react/jsx-runtime";function Ur(e){let[t,n,r,o,i,l]=Br(e.field,e.value),a=Pn(e.field),s=e.field.advanced?.action??"Add item",c=l!==1/0,u=wn(e.field);return ft(xl,{children:[t.map((m,b)=>Gr(Mr,{canRemove:i,index:b,isMultiField:u,label:a,onRemove:r,children:e.children(m)},m)),ft("button",{"aria-disabled":!o,"aria-label":c?`${s}, ${t.length} of ${l}`:s,className:bl("flex w-full items-center gap-1.5 rounded py-1","text-sm font-medium text-slate-500","transition-colors duration-150","hover:text-slate-800","focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:ring-offset-2 focus-visible:outline-none","dark:text-slate-400 dark:hover:text-slate-200",!o&&"cursor-not-allowed opacity-50 hover:text-slate-500 dark:hover:text-slate-400"),disabled:!o,onClick:n,type:"button",children:[Gr("span",{"aria-hidden":"true",children:"+"}),s,c&&ft("span",{"aria-hidden":"true",className:"ml-auto text-slate-400 tabular-nums dark:text-slate-500",children:[t.length," / ",l]})]})]})}import{jsx as hl}from"react/jsx-runtime";function Yr(e){let t=Array.isArray(e.field.fields)&&e.field.fields.length===0;return hl(Ie,{description:e.field.description,empty:t,id:e.field.name,title:e.field.label,children:e.children})}import{jsx as mt}from"react/jsx-runtime";function Hr({children:e,field:t,value:n}){return mt(Le,{container:t,fields:t.fields,children:mt(Yr,{field:t,children:mt(Ur,{field:t,value:n,children:e})})})}import{twMerge as Rl}from"tailwind-merge";import{jsx as Xr}from"react/jsx-runtime";function qr(e){let t=kn(e.column?.advanced?.cols);return Xr("div",{className:"flex w-full flex-col gap-4",children:Xr("div",{className:Rl("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children})})}import{Fragment as Sl}from"react";import{jsx as Tl}from"react/jsx-runtime";function Zr(e){let t=Array.isArray(e.field.fields)?e.field.fields.map(n=>ve(n)?{...n,name:`${e.field.name}.${e.index}.${n.name}`}:B(n)?{...n,fields:n.fields.map(r=>({...r,name:`${e.field.name}.${e.index}.${r.name}`}))}:n):[];return Tl(le,{children:e.children,components:e.components,disabled:e.disabled,fields:t,style:e.style,value:e.value})}import{jsx as ae,jsxs as Al}from"react/jsx-runtime";function le(e){let{field:t,list:n}=e.components;return Ee(e.fields).map((r,o)=>Al(Sl,{children:[B(r)&&ae(qr,{column:r,children:ae(le,{...e,fields:r.fields})}),ve(r)&&ae(t,{disabled:e.disabled,field:r,style:e.style,children:e.children}),ln(r)&&ae(n,{field:r,value:e.value,children:i=>ae(Zr,{children:e.children,components:e.components,disabled:e.disabled,field:r,index:i,style:e.style,value:e.value})})]},o))}import{jsx as vl}from"react/jsx-runtime";function Wr(e){return n=>vl(le,{...n,components:e})}var Kr=Wr({field:Dr,list:Hr});import{useSetAtom as zr}from"jotai";import{startTransition as Jr,useActionState as Fl}from"react";function jr(e,t,n){let{onSuccess:r,preserveValues:o=!1,validation:i=!0,translations:l}=n??{},a=zr(fr),s=zr(Tr),c={data:null,error:null,success:!1},[u,m,b]=Fl(async(v,O)=>{let[F,x]=e(),w=Vn(F,x,l);if(i===!1)return t?await t(O,w):v;let C=Kt(O),S=w.safeParse(C);if(!S.success){let N=Dn(S.error);return Jr(()=>{a(N)}),gt(C,{description:f("Please correct the errors and try again.",l),details:[],title:f("There were validation errors submitting the form.",l)})}let V=zt(C);if(t)try{let N=await t(V,w);return N.success?(r?.(N.data),o||Jr(()=>{s()}),Qr(V,o)):gt(V,N.error)}catch(N){return A.error("Error executing form action:",N),gt(V,{title:f("An unexpected error occurred submitting the form.",l),details:Cl(N,l)})}return Qr(S.data,o)},c);return[m,u,b]}function Cl(e,t){return e instanceof Error?[e.message]:[f("Unknown error",t)]}function Qr(e,t=!1){return{data:t?e:null,error:null,success:!0}}function gt(e,t){return{data:e,error:t,success:!1}}import{useCallback as yt,useRef as to}from"react";import{useCallback as Nl}from"react";import{useSetAtom as pt}from"jotai";function eo(){let e=pt(dr),t=pt(Sr),n=pt(pr);return Nl(r=>{let o=Array.isArray(r)?r:[r];e(o),n(o),t(o)},[e,n,t])}function no(){let e=eo(),t=to({}),n=to([]),r=yt((l,a,s)=>{l in t.current||(t.current[l]=a,n.current.push(s))},[]),o=yt(l=>{t.current[l]&&(delete t.current[l],n.current=n.current.filter(a=>a.name!==l),e([l]))},[e]);return[yt(()=>[t.current,n.current],[]),r,o]}import{Fragment as El,jsx as se,jsxs as kl}from"react/jsx-runtime";function ro(e){let t=e.translations?.[e.lang??""],[n,r,o]=no(),[i,l,a]=jr(n,e.action,{onSuccess:e.onSuccess,validation:e.config.validation.submit,translations:t}),s=e.config.validation.showError&&!l.success&&l.error,c=l.data??e.value;return kl(El,{children:[s&&Oe(e.config.alert,u=>se("div",{className:"mb-4 w-full",children:se(u,{description:l.error?.description,details:l.error?.details,title:l.error.title})})),se(or,{action:i,config:e.config,control:e.children,definition:e.definition,isPending:a,noValidate:!0,readOnly:e.readOnly,sections:e.sections,children:({disabled:u,fields:m})=>se(Kr,{disabled:u,fields:m,style:e.config.style,value:c,children:b=>se(Fr,{...b,config:e.config,context:e.context,onMount:r,onUnmount:o,onValueChange:e.onValueChange,translations:t,value:c})})})]})}import{Provider as Il}from"jotai";import{jsx as oo}from"react/jsx-runtime";function wl(e){return oo(Il,{children:oo(ro,{...e})})}export{wl as Form};
1
+ 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 E(e)||typeof e=="number"||ze(e)}function E(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(E(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 E(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(!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:E(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=E(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&&E(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 g}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=g.object(e);return t.length===0?r:ii(r,t,n)}function Mn(e){let t={},n=g.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=g.string().trim();if(e.required){let r=K(e,t),o=n.min(1,r).pipe(Vn(e,t));return g.preprocess(i=>be(i)?"":i,o)}return n.pipe(Vn(e,t)).or(g.literal("")).nullable()}function zo(e,t){let n=g.coerce.boolean();return e.required?(n=n.refine(r=>r===!0,{message:K(e,t)}),g.preprocess(r=>r===null?!1:r,n)):n.nullable()}function Jo(e,t){let n=g.coerce.string();return e.required?(n=n.min(1,K(e,t)),g.preprocess(r=>be(r)?"":r,n)):n.or(g.literal("")).nullable()}function Qo(e,t){let n=g.coerce.string().trim();return n=Bn(n,e,t),e.required?(n=Gn(n,e,t),g.preprocess(r=>be(r)?"":r,n)):n.nullable()}function jo(e,t){let n=g.coerce.number().int();return n=Bn(n,e,t),e.required?(n=Gn(n,e,t),g.preprocess(r=>r===null?void 0:r,n)):n.nullable()}function ei(e,t){return e.required?g.preprocess(ni,g.coerce.number({message:K(e,t)}).int()):g.coerce.number().int().nullable()}function ti(e,t){let n=K(e,t),r=g.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 g.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 p=u[o];(!p||!ct(p,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 ji,useRef as re,useTransition as el}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 tl}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{useAtom as Zi}from"jotai";import{useCallback as Ki,useEffect as Wi,useRef as zi,useEffectEvent as Ji}from"react";function vr(e,t){let{name:n}=e,r=zi(!1),[o,i]=Zi(Be(n)),l=Ji(s=>{let c=Qi(n,s);U(c)&&(r.current=!0,i(c))});Wi(()=>{t&&l(t)},[t]);let a=Ki(()=>r.current?(r.current=!1,!0):!1,[]);return{setValue:i,shouldSkipOnChange:a,value:o}}function Qi(e,t){if(e in t)return t[e];if(!e.includes("."))return;let n=e.split("."),r=t;for(let o of n){if(r==null)return;if(Array.isArray(r)){let i=Number(o);r=Number.isInteger(i)?r[i]:void 0}else if(typeof r=="object")r=r[o];else return}return r}import{jsx as Fr}from"react/jsx-runtime";function Cr(e){let t=e.field.advanced?.entity,n=tl(),r=Ar(),[,o]=el(),{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 p=sn(e.field),x=Ae(e.field),A=dt(_e),P=dt(Le),v=dt(De(e.field.name)),[b,I]=Rr(e.field,e.config,a),F=Sr(e.field,e.onMount,e.onUnmount,e.translations),T=f(e.commonProps.placeholder,e.translations),O={...e.commonProps,placeholder:T},{commonPropsWithOptions:C,defaultValue:se}=Tn(e.field,O,b,a),xt=re(null);xt.current=m=>{i(m),e.onValueChange&&e.onValueChange({name:e.field.name,value:m})};let He=re(null);He.current=m=>{let y=e.field.event?.change;y&&jt(y,({sources:$,states:ue,values:Ye})=>{o(()=>{en(m,$,(N,X)=>I(N,X)),nn(m,ue,(N,X)=>{P(de=>X?N.reduce((Xe,qe)=>({...Xe,[qe]:X}),de):N.reduce((Xe,qe)=>we(Xe,qe),de))}),rn(m,Ye,(N,X)=>{A(de=>({...de,[N]:X}))})})})};let ao=Sn(e.field,se),ce=Ge(m=>{let $=F.safeParse(m).error?.issues.map(N=>N.message)??[],ue=e.field.validation?.custom,Ye=ue?Un(m,ue,N=>n.get(Be(N)),u.current):[];v([...$,...Ye])},[e.field.validation?.custom,F,v,n]),ht=Ge((m,y)=>{if(p){r(()=>{y({value:m})},500);return}y(Qe(m,b,t))},[b,t,p,r]);ji(()=>{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 y=String(se),$=p?{value:y}:Qe(y,b,t);He.current?.($)},[b,se,t,p,e.field,e.value]);let so=Ge(m=>{let y=m.target.value;!x&&l()&&(!p||y===c.current)||(xt.current?.(y),e.config.validation.change&&ce(y),e.field.event?.change&&ht(y,$=>{He.current?.($)}))},[ht,x,p,e.config.validation.change,e.field.event?.change,l,ce]),co=Ge(m=>{if(!x){let y=m.target.value;e.config.validation.blur&&ce(y)}},[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,{...C,...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 nl}from"tailwind-merge";import{jsx as rl}from"react/jsx-runtime";function $e(e){let t=e.errors&&e.errors.length>0;return rl("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[Mt]:"true"},...e.disabled&&{[_t]:"true"},"data-orientation":e.orientation,className:nl("group flex w-full flex-col items-center data-[invalid=true]:text-red-600 data-[invalid=true]:dark:text-red-500","data-[clickable=true]:items-start",e.isCheckbox&&(e.isReversed?"flex-row-reverse!":"flex-row!"),"data-[clickable=true]:has-[>[data-slot=field-content]]:[&>:first-child]:mt-px",e.className),children:e.children})}import{twMerge as ol}from"tailwind-merge";import{jsx as il}from"react/jsx-runtime";function kr(e){return il($e,{...e,orientation:V,className:ol("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}import{twMerge as ll}from"tailwind-merge";import{jsx as al}from"react/jsx-runtime";function Ir(e){return al($e,{...e,orientation:Z,className:ll("gap-2 md:flex-row md:gap-4","[&>[data-slot=field-content]]:min-w-0 [&>[data-slot=field-content]]:flex-grow [&>[data-slot=field-content]]:self-start","[&_[role=checkbox]]:mt-[1.5px]",e.isClickable&&"md:flex-col",!e.isClickable&&["md:justify-between","[&>*:not([data-slot=field-content])]:w-full","[&>*:not([data-slot=field-content])]:md:w-1/2","[&>*:not([data-slot=field-content])]:xl:w-2/5"]),children:e.children})}import{jsx as 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 sl}from"tailwind-merge";import{jsx as ft,jsxs as cl}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 cl("div",{className:sl("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 ul}from"jotai";import{jsx as ml}from"react/jsx-runtime";function Vr(e){return(t,n)=>o=>{let i=ul(e(o.field.name)),l=n(i,o);return l===null?null:ml(t,{...o,...l})}}var dl=Vr(De);function Dr(e){return dl(e,(t,n)=>({errors:t?{[n.field.name]:t}:void 0}))}var fl=Vr(er);function Mr(e){return fl(e,(t,n)=>t?.hidden??n.field.hidden??!1?null:{disabled:t?.disabled??n.disabled})}var _r=Mr(Dr(Or));import{twMerge as gl}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:gl("rounded p-1 text-xl text-slate-400","transition-colors duration-150","hover:text-red-500","focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:outline-none","dark:text-slate-500 dark:hover:text-red-400"),onClick:t,type:"button",children: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 xl}from"tailwind-merge";import{useSetAtom as pl}from"jotai";import{useCallback as Gr,useLayoutEffect as yl,useRef as $r,useState as bl}from"react";function Ur(e,t){let n=e.advanced?.length?.min??1,r=e.advanced?.length?.max??1/0,[o,i]=bl(()=>Pn(e,t)),l=$r(o.length),a=$r(o);yl(()=>{a.current=o});let s=pl(_e),c=Gr(()=>{i(A=>{if(A.length>=r)return A;let P=l.current++;return[...A,P]})},[r]),u=Gr(A=>{if(a.current.length<=n)return;let P=a.current[A];i(v=>v.length<=n?v:v.filter((b,I)=>I!==A)),s(v=>{let b={...v},I=`${e.name}.`,F=[];for(let T of e.fields)if(B(T))for(let O of T.fields)F.push(O.name);else F.push(T.name);for(let T of F)delete b[`${I}${P}.${T}`];return b})},[e.name,e.fields,n,s]),p=o.length<r,x=o.length>n;return[o,c,u,p,x,r]}import{Fragment as hl,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(hl,{children:[t.map((p,x)=>Hr(Br,{canRemove:i,index:x,isMultiField:u,label:a,onRemove:r,children:e.children(p)},p)),mt("button",{"aria-disabled":!o,"aria-label":c?`${s}, ${t.length} of ${l}`:s,className:xl("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 Rl}from"react/jsx-runtime";function Xr(e){let t=Array.isArray(e.field.fields)&&e.field.fields.length===0;return Rl(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 Tl}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:Tl("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children})})}import{Fragment as Al}from"react";import{jsx as Sl}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 Sl(ie,{children:e.children,components:e.components,disabled:e.disabled,fields:t,style:e.style,value:e.value})}import{jsx as le,jsxs as vl}from"react/jsx-runtime";function ie(e){let{field:t,list:n}=e.components;return Ee(e.fields).map((r,o)=>vl(Al,{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 Fl}from"react/jsx-runtime";function zr(e){return n=>Fl(ie,{...n,components:e})}var Jr=zr({field:_r,list:qr});import{useSetAtom as Qr}from"jotai";import{startTransition as jr,useActionState as Cl}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,p,x]=Cl(async(A,P)=>{let[v,b]=e(),I=Dn(v,b,l);if(i===!1)return t?await t(P,I):A;let F=zt(P),T=I.safeParse(F);if(!T.success){let C=Mn(T.error);return jr(()=>{a(C)}),pt(F,{description:f("Please correct the errors and try again.",l),details:[],title:f("There were validation errors submitting the form.",l)})}let O=Jt(F);if(t)try{let C=await t(O,I);return C.success?(r?.(C.data),o||jr(()=>{s()}),eo(O,o)):pt(O,C.error)}catch(C){return j.error("Error executing form action:",C),pt(O,{title:f("An unexpected error occurred submitting the form.",l),details:Nl(C,l)})}return eo(T.data,o)},c);return[p,u,x]}function Nl(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 El}from"react";import{useSetAtom as yt}from"jotai";function no(){let e=yt(fr),t=yt(pr),n=yt(xr);return El(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 kl,jsx as ae,jsxs as Il}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 Il(kl,{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:p})=>ae(Jr,{disabled:u,fields:p,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 wl}from"jotai";import{jsx as lo}from"react/jsx-runtime";function Ll(e){return lo(wl,{children:lo(io,{...e})})}export{Ll 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)?/{([^}]+)}/.test(t):Array.isArray(t)?t.some(n=>a(n)):R(t)?Object.values(t).some(n=>a(n)):!1}var b={error:(...t)=>{f()&&!x()&&p().error("[Luna Form]",...t)},warn:(...t)=>{f()&&!x()&&p().warn("[Luna Form]",...t)},info:(...t)=>{f()&&!x()&&p().info("[Luna Form]",...t)}},f=()=>typeof p()<"u",x=()=>!0,p=()=>globalThis.console;function L(t){try{return t instanceof FormData?null:i(t)?t:JSON.stringify(t)}catch{return b.error("Failed to stringify body:",t),null}}var F=/(^|[\/?=&])(null|undefined)([\/?=&]|$)/;async function S(t){let[n,r]=H(t),e=t.body,o=$(t);if(e&&!d(r)){let g=L(e);g!==null&&(e=g,o=G(o))}let c=n.origin===u?n.toString().replace(u,""):n.toString(),T=await fetch(c,{body:W(r,e),cache:t.cache,headers:o,method:r}),E=await T.json();if(T.ok)return E;throw E}function H(t){let n=t.url?.trim();if(!n||!K(n))throw new Error(`Invalid URL: ${t.url}`);let r=new URL(n,u),e=Y(t);return t.body&&d(e)&&Object.entries(t.body).filter(([,o])=>o!==void 0&&o!=="undefined").forEach(([o,c])=>{r.searchParams.append(o,String(c))}),[r,e]}function G(t){return{...t,"Content-Type":"application/json"}}function K(t){return!i(t)||a(t)?!1:!F.test(t)}function Y(t){return t.method??"GET"}function $(t){return{Accept:"application/json",...t.headers??{}}}function d(t){return t.toUpperCase()==="GET"}function W(t,n){if(!d(t))return n}function q(t){let n={alert:t.alert,env:t.env,fetcher:{provider:S,remotePatterns:t.fetcher?.remotePatterns},inputs:{},style:t.style};return n.validation=t.validation??{blur:!0,change:!0,showError:!0,submit:!0},t.inputs.forEach(({types:r,input:e})=>{(Array.isArray(r)?r:[r]).forEach(c=>{n.inputs[c]=e})}),n}var J=s([y]),z=s(m),Z=s([h]),Q=s(I),tt=s([A]);function nt(t,n){return s(t)(n)}function s(t){return n=>({types:t,input:n})}
1
+ "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()&&!x()&&p().error("[Luna Form]",...t)},warn:(...t)=>{f()&&!x()&&p().warn("[Luna Form]",...t)},info:(...t)=>{f()&&!x()&&p().info("[Luna Form]",...t)}},f=()=>typeof p()<"u",x=()=>!0,p=()=>globalThis.console;function L(t){try{return t instanceof FormData?null:i(t)?t:JSON.stringify(t)}catch{return b.error("Failed to stringify body:",t),null}}var F=/(^|[\/?=&])(null|undefined)([\/?=&]|$)/;async function S(t){let[n,r]=H(t),e=t.body,o=$(t);if(e&&!d(r)){let g=L(e);g!==null&&(e=g,o=G(o))}let c=n.origin===u?n.toString().replace(u,""):n.toString(),T=await fetch(c,{body:W(r,e),cache:t.cache,headers:o,method:r}),E=await T.json();if(T.ok)return E;throw E}function H(t){let n=t.url?.trim();if(!n||!K(n))throw new Error(`Invalid URL: ${t.url}`);let r=new URL(n,u),e=Y(t);return t.body&&d(e)&&Object.entries(t.body).filter(([,o])=>o!==void 0&&o!=="undefined").forEach(([o,c])=>{r.searchParams.append(o,String(c))}),[r,e]}function G(t){return{...t,"Content-Type":"application/json"}}function K(t){return!i(t)||a(t)?!1:!F.test(t)}function Y(t){return t.method??"GET"}function $(t){return{Accept:"application/json",...t.headers??{}}}function d(t){return t.toUpperCase()==="GET"}function W(t,n){if(!d(t))return n}function q(t){let n={alert:t.alert,env:t.env,fetcher:{provider:S,remotePatterns:t.fetcher?.remotePatterns},inputs:{},style:t.style};return n.validation=t.validation??{blur:!0,change:!0,showError:!0,submit:!0},t.inputs.forEach(({types:r,input:e})=>{(Array.isArray(r)?r:[r]).forEach(c=>{n.inputs[c]=e})}),n}var J=s([y]),z=s(m),Z=s([h]),Q=s(I),tt=s([A]);function nt(t,n){return s(t)(n)}function s(t){return n=>({types:t,input:n})}
@@ -1 +1 @@
1
- var S="input",N="input/email",C="input/number",O="input/password",P="input/tel",w="input/text",g=[S,N,C,O,P,w],m="textarea",A="radio",h="checkbox";var _="select",D="select/month",M="select/year",y=[_,D,M];var u="http://luna.internal";function I(t){return t!==null&&Object.prototype.toString.call(t)==="[object Object]"}function i(t){return typeof t=="string"}function a(t){return i(t)?/{([^}]+)}/.test(t):Array.isArray(t)?t.some(n=>a(n)):I(t)?Object.values(t).some(n=>a(n)):!1}var R={error:(...t)=>{l()&&!f()&&p().error("[Luna Form]",...t)},warn:(...t)=>{l()&&!f()&&p().warn("[Luna Form]",...t)},info:(...t)=>{l()&&!f()&&p().info("[Luna Form]",...t)}},l=()=>typeof p()<"u",f=()=>!0,p=()=>globalThis.console;function b(t){try{return t instanceof FormData?null:i(t)?t:JSON.stringify(t)}catch{return R.error("Failed to stringify body:",t),null}}var U=/(^|[\/?=&])(null|undefined)([\/?=&]|$)/;async function L(t){let[n,r]=k(t),o=t.body,e=j(t);if(o&&!x(r)){let E=b(o);E!==null&&(o=E,e=v(e))}let c=n.origin===u?n.toString().replace(u,""):n.toString(),d=await fetch(c,{body:B(r,o),cache:t.cache,headers:e,method:r}),T=await d.json();if(d.ok)return T;throw T}function k(t){let n=t.url?.trim();if(!n||!X(n))throw new Error(`Invalid URL: ${t.url}`);let r=new URL(n,u),o=V(t);return t.body&&x(o)&&Object.entries(t.body).filter(([,e])=>e!==void 0&&e!=="undefined").forEach(([e,c])=>{r.searchParams.append(e,String(c))}),[r,o]}function v(t){return{...t,"Content-Type":"application/json"}}function X(t){return!i(t)||a(t)?!1:!U.test(t)}function V(t){return t.method??"GET"}function j(t){return{Accept:"application/json",...t.headers??{}}}function x(t){return t.toUpperCase()==="GET"}function B(t,n){if(!x(t))return n}function ot(t){let n={alert:t.alert,env:t.env,fetcher:{provider:L,remotePatterns:t.fetcher?.remotePatterns},inputs:{},style:t.style};return n.validation=t.validation??{blur:!0,change:!0,showError:!0,submit:!0},t.inputs.forEach(({types:r,input:o})=>{(Array.isArray(r)?r:[r]).forEach(c=>{n.inputs[c]=o})}),n}var et=s([h]),it=s(g),st=s([A]),ct=s(y),ut=s([m]);function at(t,n){return s(t)(n)}function s(t){return n=>({types:t,input:n})}export{et as defineCheckbox,ot as defineConfig,at as defineCustomInput,it as defineInput,st as defineRadio,ct as defineSelect,ut as defineTextArea};
1
+ 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&&!x(r)){let E=b(o);E!==null&&(o=E,e=v(e))}let c=n.origin===u?n.toString().replace(u,""):n.toString(),d=await fetch(c,{body:B(r,o),cache:t.cache,headers:e,method:r}),T=await d.json();if(d.ok)return T;throw T}function k(t){let n=t.url?.trim();if(!n||!X(n))throw new Error(`Invalid URL: ${t.url}`);let r=new URL(n,u),o=V(t);return t.body&&x(o)&&Object.entries(t.body).filter(([,e])=>e!==void 0&&e!=="undefined").forEach(([e,c])=>{r.searchParams.append(e,String(c))}),[r,o]}function v(t){return{...t,"Content-Type":"application/json"}}function X(t){return!i(t)||a(t)?!1:!U.test(t)}function V(t){return t.method??"GET"}function j(t){return{Accept:"application/json",...t.headers??{}}}function x(t){return t.toUpperCase()==="GET"}function B(t,n){if(!x(t))return n}function ot(t){let n={alert:t.alert,env:t.env,fetcher:{provider:L,remotePatterns:t.fetcher?.remotePatterns},inputs:{},style:t.style};return n.validation=t.validation??{blur:!0,change:!0,showError:!0,submit:!0},t.inputs.forEach(({types:r,input:o})=>{(Array.isArray(r)?r:[r]).forEach(c=>{n.inputs[c]=o})}),n}var et=s([h]),it=s(g),st=s([A]),ct=s(y),ut=s([m]);function at(t,n){return s(t)(n)}function s(t){return n=>({types:t,input:n})}export{et as defineCheckbox,ot as defineConfig,at as defineCustomInput,it as defineInput,st as defineRadio,ct as defineSelect,ut as defineTextArea};
@@ -1 +1 @@
1
- "use strict";var Q=Object.defineProperty;var En=Object.getOwnPropertyDescriptor;var On=Object.getOwnPropertyNames;var Pn=Object.prototype.hasOwnProperty;var wn=(e,t)=>{for(var n in t)Q(e,n,{get:t[n],enumerable:!0})},Mn=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of On(t))!Pn.call(e,o)&&o!==n&&Q(e,o,{get:()=>t[o],enumerable:!(r=En(t,o))||r.enumerable});return e};var Dn=e=>Mn(Q({},"__esModule",{value:!0}),e);var fr={};wn(fr,{Fallback:()=>In,Form:()=>J});module.exports=Dn(fr);var Re=require("react/jsx-runtime");function be(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return(0,Re.jsx)("div",{"data-slot":"field-control",className:"w-full",children:t})}var v=require("react");var j=require("react/jsx-runtime");function Te(e){return(0,j.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:`size-4 transition-transform duration-200 ${e.expanded?"rotate-90":""}`,children:(0,j.jsx)("path",{fillRule:"evenodd",d:"M8.22 5.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L11.94 10 8.22 6.28a.75.75 0 0 1 0-1.06Z",clipRule:"evenodd"})})}var _="input",he="input/email",Ae="input/number";var Fe="textarea",Se="radio",Ne="checkbox",ee="list";var Ce="select",Le="select/month",Ie="select/year";var O="column",te="fields",ve="label",ne="value",V="options",re="email",ke="number",Ee="password",Oe="tel",P="text",Pe="aria-errormessage",we="aria-invalid",Me="data-invalid",De="data-readonly",_e="aria",Ve="data",Be="min",Ge="max",$e="minLength",Ye="maxLength",C="$ref";var y="vertical",L="horizontal";var Ue="type";function a(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function x(e){return b(e)||typeof e=="number"||_n(e)}function b(e){return typeof e=="string"}function _n(e){return typeof e=="boolean"}var Vn=/[^/]+$/;function Xe(e,t=ne){if(e!=null){if(x(e))return e;if(a(e)){let n=Bn(e,t);if(x(n))return n}}}function Bn(e,t){let n=m(e,t);if(x(n))return n}function m(e,t){if(!t||!a(e))return null;let n=t.split(".").filter(o=>o!=="");if(n.length===0)return null;let r=e;for(let o of n)if(a(r)&&o in r)r=r[o];else return null;return r}function He(e,t={label:ve,value:ne}){return e.map(n=>{if(a(n)){let r=m(n,t.label),o=m(n,t.value);if(x(r)&&x(o))return{label:`${r}`,value:`${o}`}}return n})}function Ke(e=P){if(e){let t=e.match(Vn);if(t){let[n]=t;if(n!==_)return n.trim().toLowerCase()}}return P}var Gn=/\[([^\]]+)\]\(([^)]+)\)/g;function oe(e,t={}){if(b(e))return $n(e,t);if(Array.isArray(e))return e.map(n=>oe(n,t));if(a(e)){let n={};for(let r in e)n[r]=oe(e[r],t);return n}return e}function le(e,t={}){return ie(e)?oe(e,t):e}function ie(e){return b(e)?/{([^}]+)}/.test(e):Array.isArray(e)?e.some(t=>ie(t)):a(e)?Object.values(e).some(t=>ie(t)):!1}function $n(e,t={}){return e.replace(/{([^}]+)}/g,(n,r)=>{let o=r.includes(".")?m(t,r):t[r];return x(o)?String(o):n})}function We(e,t){if(!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=Gn.exec(e))!==null;){let[l,s,vn]=n,D=n.index;o=!0,D>r&&i.push(e.substring(r,D));let kn=t?t(D,vn,s):l;i.push(kn),r=D+l.length}return o?(r<e.length&&i.push(e.substring(r)),i):e}var qe=e=>u(Le)(e),ze=e=>u(Ie)(e),c=u(Ne),Ze=u(_),h=u(Se),p=u(Ce),Je=u(Fe),Qe=u(P,re,Ee,Oe),Cr=u(he,re),je=u(Ae,ke);function et(e){return h(e)||c(e)}function tt(e){return e.type===ee}function I(e){return e.type===O}function B(e){return e.type!==O&&e.type!==ee}function nt(e){return p(e)||h(e)}function ae(e){return e!=null&&e!==""}function u(...e){return t=>{let n=b(t.type)?t.type:void 0;return n?e.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function rt(e,t={}){if(p(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&a(n))return[n]}}function ot(e){return h(e)||c(e)?L:e.advanced?.orientation??y}function it(e){return c(e)?e.advanced?.reverse!==!1:!1}function lt(e,t){let n=e.readonly??!1;return t||n}function at(e){if(h(e)||p(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||a(t)&&!(C in t))return t}}var Yn=/^\d+$/;function st(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function dt(e,t){return t>=e?Array.from({length:t-e+1},(n,r)=>{let o=e+r;return{value:o.toString(),label:o.toString()}}):[]}function se(){return new Date().getFullYear()}function de(e,t){if(typeof e=="number")return e;let n=t??se(),r=e.trim().toLowerCase();if(r.startsWith("current")){let o=r.match(/^current([+-])(\d+)$/);if(o){let[,i,l]=o,s=parseInt(l,10);if(!isNaN(s))return i==="+"?n+s:n-s}return n}return Yn.test(r)?parseInt(r,10):n}var G=se();function Un(e){if(p(e))return Xn(e)}function Xn(e){if(qe(e))return st();if(ze(e)){let t=e.advanced?.length?.min??G,n=e.advanced?.length?.max??G+5;return dt(de(t,G),de(n,G))}}function ct(e,t=!1){let n={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return Ze(e)?{...n,...Hn(e)}:p(e)?{...n,...Kn(e)}:Je(e)?{...n,...Wn(e)}:n}function Hn(e){let t=Ke(e.type),n={...e,type:t};return{...ut(e),...qn(n),...Qe(n)?ft(n):{},type:t}}function Kn(e){let t=Un(e);return t?{options:t}:{}}function Wn(e){return{...ut(e),...ft(e)}}function ut(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function qn(e){return je(e)?zn(e):{}}function ft(e){return mt(e,{min:$e,max:Ye})}function zn(e){return mt(e,{min:Be,max:Ge})}function mt(e,t){let n={},r=e.advanced?.length;return r&&(r.min!==void 0&&(n[t.min]=r.min),r.max!==void 0&&(n[t.max]=r.max)),n}function pt(e,t){let n=at(e);return n||rt(e,t)}function Zn(e,t){let n=a(t)&&e.name in t?t[e.name]:t;return Xe(n,e.advanced?.entity)}function Jn(e,t,n){return nt(e)&&Array.isArray(n)?{...t,[V]:n}:t}function Qn(e,t,n){if(e.required&&!ae(n)&&p(e)&&e.advanced?.preselected!==!1&&V in t){let r=t[V];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function jn(e,t){return p(e)&&Array.isArray(t)?He(t,e.advanced?.options):t}function gt(e,t,n,r){let o=Zn(e,r),i=Array.isArray(n)?jn(e,n):n,l=Jn(e,t,i),s=Qn(e,l,o);return{commonPropsWithOptions:l,defaultValue:s}}function yt(e,t){return c(e)?{defaultChecked:ae(t)}:{defaultValue:t}}var er=/^#\/definition\//;function Y(e=[],t){let n=$(e,t);return Array.isArray(n)?n.filter(nr).sort((r,o)=>xt(r)-xt(o)):[]}function $(e,t,n=new Map,r=new WeakSet){if(!tr(t)||!e||typeof e!="object")return e;if(n.has(e))return n.get(e);if(r.has(e))return e;if(r.add(e),Array.isArray(e))return e.map(i=>$(i,t,n,r));if(C in e&&b(e[C])){let i=e[C].replace(er,""),l=m(t,i);return l!==null?$(l,t,n,r):e}let o={};for(let[i,l]of Object.entries(e))o[i]=$(l,t,n,r);return r.delete(e),n.set(e,o),o}function bt(e){return Object.entries(e??{})}function xt(e){return e.order??Number.MAX_VALUE}function tr(e){return e!==void 0&&a(e)&&Object.keys(e).length>0}function nr(e){return Ue in e?!0:Array.isArray(e[te])?e[te].length>0:!0}function Rt(e,t){let n={};for(let[r,o]of bt(t))n[`${e}-${r}`]=o;return n}function rr(e){return Rt(_e,e)}function or(e){return Rt(Ve,e)}function Tt(e,t){let n=rr(e.advanced?.aria);return t&&t.length>0&&(n[we]="true",n[Pe]=`${e.name}-error`),n}function ht(e){return or(e.advanced?.data)}var At={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},Ft={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function St(e,t=2){return At[e&&e in At?e:t]}function Nt(e){if(e&&e in Ft)return Ft[e]}function ir(e,t){let n=e.advanced?.length?.min??1;if(t){let r=m(t,e.name);if(Array.isArray(r))return Math.max(r.length,n)}return Math.max(n,0)}function Ct(e){return!Array.isArray(e.fields)||e.fields.length===0?!1:e.fields.length>1||e.fields[0].type===O}function Lt(e,t){let n=ir(e,t);return Array.from({length:n},(r,o)=>o)}function It(e){return e.label??e.name}function A(e,t){return e?t?t[e]??e:e:""}function U(e,t){return{...e,...t}}var vt=require("react/jsx-runtime");function R(e){return We(e,(t,n,r)=>(0,vt.jsx)("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${t}`))}var f=require("react/jsx-runtime");function kt(e){let{fields:t=[]}=e.section,[n,r]=(0,v.useState)(!1),o=(0,v.useCallback)(()=>r(i=>!i),[]);return(0,f.jsxs)("fieldset",{"data-slot":"field-set","data-advanced":"true","data-expanded":n,"data-empty":t.length===0,className:"flex flex-col",id:e.section.id?.toString(),children:[(0,f.jsx)("legend",{children:(0,f.jsxs)("button",{className:"flex cursor-pointer items-center gap-2 text-base font-medium text-slate-600 dark:text-slate-400",onClick:o,type:"button",children:[(0,f.jsx)(Te,{expanded:n}),(0,f.jsx)("span",{children:R(e.section.title)})]})}),(0,f.jsx)(v.Activity,{mode:n?"visible":"hidden",children:(0,f.jsxs)("div",{className:"mt-3 ml-1.5 flex flex-col gap-4 border-l-2 border-slate-300 pl-4 dark:border-slate-600","data-slot":"field-set-content",children:[e.section.description&&(0,f.jsx)("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:R(e.section.description)}),e.group]})})]})}var F=require("react/jsx-runtime");function Et(e){return(0,F.jsxs)(F.Fragment,{children:[e.title&&(0,F.jsx)("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:R(e.title)}),e.description&&(0,F.jsx)("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:R(e.description)})]})}var H=require("react/jsx-runtime");function X(e){return(0,H.jsxs)("fieldset",{"data-slot":"field-set","data-empty":e.empty,className:"flex flex-col data-[empty=false]:gap-6",id:e.id,children:[(0,H.jsx)(Et,{description:e.description,title:e.title}),e.children]})}var Ot=require("react/jsx-runtime");function S(e){return(0,Ot.jsx)("div",{"data-slot":"field-group","data-compact":e.compact,className:"flex w-full flex-col gap-8 data-[compact=true]:gap-3",children:e.children})}var K=require("react/jsx-runtime");function Pt(e){let{fields:t=[]}=e.section,{compact:n}=U(e.style,{compact:e.section.compact}),r=(0,K.jsx)(S,{compact:n,children:e.children});return!e.section.title&&!e.section.description?r:e.section.advanced?(0,K.jsx)(kt,{section:e.section,group:r}):(0,K.jsx)(X,{description:e.section.description,empty:t.length===0,id:e.section.id?.toString(),title:e.section.title,children:r})}var Vt=require("jotai");var k=require("jotai"),wt=require("jotai-family"),ce=require("fast-equals");function lr(e){return(0,wt.atomFamily)(t=>(0,k.atom)(n=>n(e)[t]??void 0,(n,r,o)=>{let i=n(e);if(o!=null){let l=i[t];(!l||!(0,ce.deepEqual)(l,o))&&r(e,{...i,[t]:o})}else if(i[t]){let{[t]:l,...s}=i;r(e,s)}}))}function ar(e){return(0,k.atom)(null,(t,n)=>{let r=t(e);r&&Object.keys(r).length>0&&n(e,{})})}function sr(e){return(0,k.atom)(null,(t,n,r)=>{let i={...t(e)},l=!1;for(let s of r)i[s]&&(delete i[s],l=!0);l&&n(e,i)})}function dr(e){return(0,k.atom)(null,(t,n,r)=>{let o=t(e);(0,ce.deepEqual)(o,r)||n(e,r)})}function Mt(e={}){let t=(0,k.atom)(e);return{atom:t,clearAll:ar(t),clear:sr(t),bulkReport:dr(t),report:lr(t)}}var Dt=Mt(),_t=Dt.atom,xo=Dt.report;function cr(e,t){return e.fields.every(n=>Bt(n,t))}function Bt(e,t){return t[e.name]?.hidden??e.hidden??!1}function ur(e,t){return I(e)?cr(e,t):Bt(e,t)}function Gt(e){let t=(0,Vt.useAtomValue)(_t);return e.container&&(t[e.container.name]?.hidden??e.container.hidden??!1)||e.fields.length===0||e.fields.every(r=>ur(r,t))?null:e.children}var ue=require("react/jsx-runtime");function $t(){return(0,ue.jsx)("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:(0,ue.jsx)("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}var g=require("react/jsx-runtime");function Yt(e){let t=Y(e.sections,e.definition);return(0,g.jsx)("div",{className:"h-full w-full",children:(0,g.jsx)("form",{noValidate:e.noValidate,action:e.action,children:(0,g.jsxs)(S,{children:[t.map((n,r)=>(0,g.jsxs)(Gt,{fields:n.fields??[],children:[(0,g.jsx)(Pt,{section:n,style:e.config.style,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.separator&&(0,g.jsx)($t,{})]},r)),e.control&&(0,g.jsx)(be,{isPending:e.isPending,children:e.control})]})})})}var Xt=require("react/jsx-runtime");function Ut(e){return(0,Xt.jsx)("p",{className:"-mt-2 text-xs leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}var Ht=require("react/jsx-runtime");function W(e){let t=R(e.text);return t?(0,Ht.jsx)(Ut,{children:t}):null}var Kt=require("tailwind-merge"),q=require("react/jsx-runtime");function Wt(e){let t=e.style?.showOptionalLabel??!0,n=h(e.field)||c(e.field);return(0,q.jsxs)("label",{"data-slot":"field-label","data-normal":n,className:(0,Kt.twMerge)("flex w-fit items-center gap-2 text-sm leading-snug font-medium select-none","data-[normal=true]:font-normal","group-data-[readonly=true]:cursor-not-allowed group-data-[readonly=true]:opacity-50"),htmlFor:e.field.name,children:[e.children,t&&!e.field.required&&(0,q.jsx)("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:A("(Optional)",e.translations)})]})}var w=require("react/jsx-runtime");function qt(e){let t={context:e.context,env:e.config?.env},n=le(e.field.label,t),r=le(e.field.description,t);return(0,w.jsxs)("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[(0,w.jsx)(Wt,{field:e.field,style:e.config?.style,translations:e.translations,children:A(n,e.translations)}),e.orientation===L&&(0,w.jsx)(W,{text:A(r,e.translations)})]})}var N=require("react/jsx-runtime");function zt(e){return(0,N.jsxs)(N.Fragment,{children:[e.field.name&&e.field.label&&(0,N.jsx)(qt,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations}),e.children,e.orientation===y&&e.field.description&&(0,N.jsx)(W,{text:A(e.field.description,e.translations)})]})}function Zt(e,t){return e?t(e):null}var fe=require("react/jsx-runtime");function Jt(e){let t=pt(e.field,e.value),{commonPropsWithOptions:n,defaultValue:r}=gt(e.field,e.commonProps,t,e.value),o=yt(e.field,r);return Zt(e.config.inputs[e.field.type],i=>(0,fe.jsx)(zt,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations,children:(0,fe.jsx)(i,{...e.ariaAttributes,...n,...e.dataAttributes,...o})}))}var me=require("react/jsx-runtime");function Qt(e){return!e.errors||e.errors.length===0?null:(0,me.jsx)("ul",{className:"text-sm text-red-600 dark:text-red-500",id:e.name?`${e.name}-error`:void 0,children:e.errors?.map((t,n)=>(0,me.jsx)("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}var jt=require("tailwind-merge"),en=require("react/jsx-runtime");function z(e){let t=e.errors&&e.errors.length>0;return(0,en.jsx)("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[Me]:"true"},...e.disabled&&{[De]:"true"},"data-orientation":e.orientation,className:(0,jt.twMerge)("group flex w-full flex-col items-center data-[invalid=true]:text-red-600 data-[invalid=true]:dark:text-red-500","data-[clickable=true]:items-start",e.isCheckbox&&(e.isReversed?"flex-row-reverse!":"flex-row!"),"data-[clickable=true]:has-[>[data-slot=field-content]]:[&>:first-child]:mt-px",e.className),children:e.children})}var tn=require("tailwind-merge"),rn=require("react/jsx-runtime");function nn(e){return(0,rn.jsx)(z,{...e,orientation:y,className:(0,tn.twMerge)("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}var on=require("tailwind-merge"),an=require("react/jsx-runtime");function ln(e){return(0,an.jsx)(z,{...e,orientation:L,className:(0,on.twMerge)("gap-2 md:flex-row md:gap-4","[&>[data-slot=field-content]]:min-w-0 [&>[data-slot=field-content]]:flex-grow [&>[data-slot=field-content]]:self-start","[&_[role=checkbox]]:mt-[1.5px]",e.isClickable&&"md:flex-col",!e.isClickable&&["md:justify-between","[&>*:not([data-slot=field-content])]:w-full","[&>*:not([data-slot=field-content])]:md:w-1/2","[&>*:not([data-slot=field-content])]:xl:w-2/5"]),children:e.children})}var pe=require("react/jsx-runtime");function sn(e){let t=et(e.field),n=c(e.field),r=it(e.field);return e.orientation===y?(0,pe.jsx)(nn,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children}):(0,pe.jsx)(ln,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children})}function dn(e){if(!e.field.type)return null;let t=ct(e.field,e.disabled),n=ht(e.field),r=Tt(e.field,e.errors),o={...e.field,disabled:t.disabled};return e.children({ariaAttributes:r,commonProps:t,dataAttributes:n,field:o,orientation:e.orientation})}var cn=require("tailwind-merge"),E=require("react/jsx-runtime");function un(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:r}=U(e.style,{orientation:ot(e.field)}),o=lt(e.field,e.disabled);return(0,E.jsxs)("div",{className:(0,cn.twMerge)("flex flex-col gap-3",Nt(t)),children:[(0,E.jsx)(sn,{disabled:o,errors:n,field:e.field,orientation:r,children:(0,E.jsx)(dn,{disabled:o,errors:n,field:e.field,orientation:r,children:e.children})}),(0,E.jsx)(Qt,{errors:n,name:e.field.name})]})}var fn=require("tailwind-merge");var d=require("react/jsx-runtime");function mn(e){function t(){e.canRemove&&e.onRemove&&e.onRemove(e.index)}let n=e.canRemove&&e.onRemove!=null&&(0,d.jsx)("button",{"aria-label":`Remove ${e.label} item ${e.index+1}`,className:(0,fn.twMerge)("rounded p-1 text-xl text-slate-400","transition-colors duration-150","hover:text-red-500","focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:outline-none","dark:text-slate-500 dark:hover:text-red-400"),onClick:t,type:"button",children:(0,d.jsx)("span",{"aria-hidden":"true",children:"\xD7"})});return e.isMultiField?(0,d.jsxs)("div",{className:"rounded-lg border border-slate-100 p-4 dark:border-slate-900",children:[(0,d.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:[(0,d.jsxs)("span",{className:"text-sm font-medium text-slate-400 dark:text-slate-500",children:[e.label," ",e.index+1]}),n]}),(0,d.jsx)(S,{children:e.children})]}):(0,d.jsxs)("div",{className:"flex items-start gap-2",children:[(0,d.jsx)(S,{children:e.children}),n&&(0,d.jsx)("div",{className:"shrink-0",children:n})]})}var gn=require("react/jsx-runtime");function pn(e){let t=It(e.field),n=Ct(e.field);return Lt(e.field,e.value).map(r=>(0,gn.jsx)(mn,{index:r,isMultiField:n,label:t,children:e.children(r)},r))}var xn=require("react/jsx-runtime");function yn(e){let t=Array.isArray(e.field.fields)&&e.field.fields.length===0;return(0,xn.jsx)(X,{description:e.field.description,empty:t,id:e.field.name,title:e.field.label,children:e.children})}var ge=require("react/jsx-runtime");function bn({children:e,field:t,value:n}){return(0,ge.jsx)(yn,{field:t,children:(0,ge.jsx)(pn,{field:t,value:n,children:e})})}var Rn=require("tailwind-merge"),ye=require("react/jsx-runtime");function Tn(e){let t=St(e.column?.advanced?.cols);return(0,ye.jsx)("div",{className:"flex w-full flex-col gap-4",children:(0,ye.jsx)("div",{className:(0,Rn.twMerge)("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children})})}var Fn=require("react");var An=require("react/jsx-runtime");function hn(e){let t=Array.isArray(e.field.fields)?e.field.fields.map(n=>B(n)?{...n,name:`${e.field.name}.${e.index}.${n.name}`}:I(n)?{...n,fields:n.fields.map(r=>({...r,name:`${e.field.name}.${e.index}.${r.name}`}))}:n):[];return(0,An.jsx)(M,{children:e.children,components:e.components,disabled:e.disabled,fields:t,style:e.style,value:e.value})}var T=require("react/jsx-runtime");function M(e){let{field:t,list:n}=e.components;return Y(e.fields).map((r,o)=>(0,T.jsxs)(Fn.Fragment,{children:[I(r)&&(0,T.jsx)(Tn,{column:r,children:(0,T.jsx)(M,{...e,fields:r.fields})}),B(r)&&(0,T.jsx)(t,{disabled:e.disabled,field:r,style:e.style,children:e.children}),tt(r)&&(0,T.jsx)(n,{field:r,value:e.value,children:i=>(0,T.jsx)(hn,{children:e.children,components:e.components,disabled:e.disabled,field:r,index:i,style:e.style,value:e.value})})]},o))}var Nn=require("react/jsx-runtime");function Sn(e){return n=>(0,Nn.jsx)(M,{...n,components:e})}var Cn=Sn({field:un,list:bn});var Z=require("react/jsx-runtime");function J(e){let t=e.translations?.[e.lang??""];return(0,Z.jsx)(Yt,{config:e.config,control:e.children,definition:e.definition,readOnly:e.readOnly,sections:e.sections,children:({disabled:n,fields:r})=>(0,Z.jsx)(Cn,{disabled:n,fields:r,style:e.config.style,children:o=>(0,Z.jsx)(Jt,{...o,config:e.config,context:e.context,translations:t,value:e.value})})})}var Ln=require("react");var xe=require("react/jsx-runtime");function In(e){return(0,xe.jsx)(Ln.Suspense,{fallback:(0,xe.jsx)(J,{config:e.config,sections:e.sections,readOnly:!0}),children:e.children})}
1
+ "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 y="vertical",I="horizontal";var Ye="type";function a(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function x(e){return b(e)||typeof e=="number"||_n(e)}function b(e){return typeof e=="string"}function _n(e){return typeof e=="boolean"}function He(e,t=ne){if(e!=null){if(x(e))return e;if(a(e)){let n=Vn(e,t);if(x(n))return n}}}function Vn(e,t){let n=m(e,t);if(x(n))return n}function m(e,t){if(!t||!a(e))return null;let n=t.split(".").filter(o=>o!=="");if(n.length===0)return null;let r=e;for(let o of n)if(a(r)&&o in r)r=r[o];else return null;return r}function Xe(e,t={label:ke,value:ne}){return e.map(n=>{if(a(n)){let r=m(n,t.label),o=m(n,t.value);if(x(r)&&x(o))return{label:`${r}`,value:`${o}`}}return n})}function Ke(e=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(b(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 b(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(".")?m(t,r):t[r];return x(o)?String(o):n})}function We(e,t){if(!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=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),p=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 p(e)||h(e)}function ae(e){return e!=null&&e!==""}function u(...e){return t=>{let n=b(t.type)?t.type:void 0;return n?e.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function rt(e,t={}){if(p(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&a(n))return[n]}}function ot(e){return h(e)||c(e)?I:e.advanced?.orientation??y}function it(e){return c(e)?e.advanced?.reverse!==!1:!1}function lt(e,t){let n=e.readonly??!1;return t||n}function at(e){if(h(e)||p(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||a(t)&&!(C in t))return t}}var $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(p(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)}:p(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)&&p(e)&&e.advanced?.preselected!==!1&&V in t){let r=t[V];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function Qn(e,t){return p(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&&b(e[C])){let i=e[C].replace(jn,""),l=m(t,i);return l!==null?$(l,t,n,r):e}let o={};for(let[i,l]of Object.entries(e))o[i]=$(l,t,n,r);return r.delete(e),n.set(e,o),o}function bt(e){return Object.entries(e??{})}function xt(e){return e.order??Number.MAX_VALUE}function 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=m(t,e.name);if(Array.isArray(r))return Math.max(r.length,n)}return Math.max(n,0)}function Ct(e){return!Array.isArray(e.fields)||e.fields.length===0?!1:e.fields.length>1||e.fields[0].type===O}function 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 g=require("react/jsx-runtime");function Ut(e){let t=U(e.sections,e.definition);return(0,g.jsx)("div",{className:"h-full w-full",children:(0,g.jsx)("form",{noValidate:e.noValidate,action:e.action,children:(0,g.jsxs)(S,{children:[t.map((n,r)=>(0,g.jsxs)(Gt,{fields:n.fields??[],children:[(0,g.jsx)(wt,{section:n,style:e.config.style,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.separator&&(0,g.jsx)($t,{})]},r)),e.control&&(0,g.jsx)(be,{isPending:e.isPending,children:e.control})]})})})}var 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===y&&e.field.description&&(0,N.jsx)(W,{text:A(e.field.description,e.translations)})]})}function Zt(e,t){return e?t(e):null}var fe=require("react/jsx-runtime");function Jt(e){let t=pt(e.field,e.value),{commonPropsWithOptions:n,defaultValue:r}=gt(e.field,e.commonProps,t,e.value),o=yt(e.field,r);return Zt(e.config.inputs[e.field.type],i=>(0,fe.jsx)(zt,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations,children:(0,fe.jsx)(i,{...e.ariaAttributes,...n,...e.dataAttributes,...o})}))}var me=require("react/jsx-runtime");function Qt(e){return!e.errors||e.errors.length===0?null:(0,me.jsx)("ul",{className:"text-sm text-red-600 dark:text-red-500",id:e.name?`${e.name}-error`:void 0,children:e.errors?.map((t,n)=>(0,me.jsx)("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}var jt=require("tailwind-merge"),en=require("react/jsx-runtime");function z(e){let t=e.errors&&e.errors.length>0;return(0,en.jsx)("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[Me]:"true"},...e.disabled&&{[De]:"true"},"data-orientation":e.orientation,className:(0,jt.twMerge)("group flex w-full flex-col items-center data-[invalid=true]:text-red-600 data-[invalid=true]:dark:text-red-500","data-[clickable=true]:items-start",e.isCheckbox&&(e.isReversed?"flex-row-reverse!":"flex-row!"),"data-[clickable=true]:has-[>[data-slot=field-content]]:[&>:first-child]:mt-px",e.className),children:e.children})}var tn=require("tailwind-merge"),rn=require("react/jsx-runtime");function nn(e){return(0,rn.jsx)(z,{...e,orientation:y,className:(0,tn.twMerge)("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}var on=require("tailwind-merge"),an=require("react/jsx-runtime");function ln(e){return(0,an.jsx)(z,{...e,orientation: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===y?(0,pe.jsx)(nn,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children}):(0,pe.jsx)(ln,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children})}function dn(e){if(!e.field.type)return null;let t=ct(e.field,e.disabled),n=ht(e.field),r=Tt(e.field,e.errors),o={...e.field,disabled:t.disabled};return e.children({ariaAttributes:r,commonProps:t,dataAttributes:n,field:o,orientation:e.orientation})}var cn=require("tailwind-merge"),E=require("react/jsx-runtime");function un(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:r}=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 +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 En,useCallback as On,useState as Pn}from"react";import{jsx as ie}from"react/jsx-runtime";function le(e){return ie("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:`size-4 transition-transform duration-200 ${e.expanded?"rotate-90":""}`,children:ie("path",{fillRule:"evenodd",d:"M8.22 5.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L11.94 10 8.22 6.28a.75.75 0 0 1 0-1.06Z",clipRule:"evenodd"})})}var O="input",ae="input/email",se="input/number";var de="textarea",ce="radio",ue="checkbox",U="list";var fe="select",me="select/month",pe="select/year";var F="column",X="fields",ge="label",H="value",P="options",K="email",ye="number",xe="password",be="tel",S="text",Re="aria-errormessage",Te="aria-invalid",he="data-invalid",Ae="data-readonly",Fe="aria",Se="data",Ne="min",Ce="max",Le="minLength",Ie="maxLength",T="$ref";var m="vertical",h="horizontal";var ve="type";function a(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function p(e){return g(e)||typeof e=="number"||an(e)}function g(e){return typeof e=="string"}function an(e){return typeof e=="boolean"}var sn=/[^/]+$/;function ke(e,t=H){if(e!=null){if(p(e))return e;if(a(e)){let n=dn(e,t);if(p(n))return n}}}function dn(e,t){let n=u(e,t);if(p(n))return n}function u(e,t){if(!t||!a(e))return null;let n=t.split(".").filter(o=>o!=="");if(n.length===0)return null;let r=e;for(let o of n)if(a(r)&&o in r)r=r[o];else return null;return r}function Ee(e,t={label:ge,value:H}){return e.map(n=>{if(a(n)){let r=u(n,t.label),o=u(n,t.value);if(p(r)&&p(o))return{label:`${r}`,value:`${o}`}}return n})}function Oe(e=S){if(e){let t=e.match(sn);if(t){let[n]=t;if(n!==O)return n.trim().toLowerCase()}}return S}var cn=/\[([^\]]+)\]\(([^)]+)\)/g;function W(e,t={}){if(g(e))return un(e,t);if(Array.isArray(e))return e.map(n=>W(n,t));if(a(e)){let n={};for(let r in e)n[r]=W(e[r],t);return n}return e}function z(e,t={}){return q(e)?W(e,t):e}function q(e){return g(e)?/{([^}]+)}/.test(e):Array.isArray(e)?e.some(t=>q(t)):a(e)?Object.values(e).some(t=>q(t)):!1}function un(e,t={}){return e.replace(/{([^}]+)}/g,(n,r)=>{let o=r.includes(".")?u(t,r):t[r];return p(o)?String(o):n})}function Pe(e,t){if(!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=cn.exec(e))!==null;){let[l,s,rn]=n,E=n.index;o=!0,E>r&&i.push(e.substring(r,E));let on=t?t(E,rn,s):l;i.push(on),r=E+l.length}return o?(r<e.length&&i.push(e.substring(r)),i):e}var we=e=>c(me)(e),Me=e=>c(pe)(e),d=c(ue),De=c(O),x=c(ce),f=c(fe),_e=c(de),Ve=c(S,K,xe,be),Pr=c(ae,K),Be=c(se,ye);function Ge(e){return x(e)||d(e)}function $e(e){return e.type===U}function A(e){return e.type===F}function w(e){return e.type!==F&&e.type!==U}function Ye(e){return f(e)||x(e)}function Z(e){return e!=null&&e!==""}function c(...e){return t=>{let n=g(t.type)?t.type:void 0;return n?e.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function Ue(e,t={}){if(f(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&a(n))return[n]}}function Xe(e){return x(e)||d(e)?h:e.advanced?.orientation??m}function He(e){return d(e)?e.advanced?.reverse!==!1:!1}function Ke(e,t){let n=e.readonly??!1;return t||n}function We(e){if(x(e)||f(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||a(t)&&!(T in t))return t}}var fn=/^\d+$/;function qe(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function ze(e,t){return t>=e?Array.from({length:t-e+1},(n,r)=>{let o=e+r;return{value:o.toString(),label:o.toString()}}):[]}function J(){return new Date().getFullYear()}function Q(e,t){if(typeof e=="number")return e;let n=t??J(),r=e.trim().toLowerCase();if(r.startsWith("current")){let o=r.match(/^current([+-])(\d+)$/);if(o){let[,i,l]=o,s=parseInt(l,10);if(!isNaN(s))return i==="+"?n+s:n-s}return n}return fn.test(r)?parseInt(r,10):n}var M=J();function mn(e){if(f(e))return pn(e)}function pn(e){if(we(e))return qe();if(Me(e)){let t=e.advanced?.length?.min??M,n=e.advanced?.length?.max??M+5;return ze(Q(t,M),Q(n,M))}}function Ze(e,t=!1){let n={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return De(e)?{...n,...gn(e)}:f(e)?{...n,...yn(e)}:_e(e)?{...n,...xn(e)}:n}function gn(e){let t=Oe(e.type),n={...e,type:t};return{...Je(e),...bn(n),...Ve(n)?Qe(n):{},type:t}}function yn(e){let t=mn(e);return t?{options:t}:{}}function xn(e){return{...Je(e),...Qe(e)}}function Je(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function bn(e){return Be(e)?Rn(e):{}}function Qe(e){return je(e,{min:Le,max:Ie})}function Rn(e){return je(e,{min:Ne,max:Ce})}function je(e,t){let n={},r=e.advanced?.length;return r&&(r.min!==void 0&&(n[t.min]=r.min),r.max!==void 0&&(n[t.max]=r.max)),n}function et(e,t){let n=We(e);return n||Ue(e,t)}function Tn(e,t){let n=a(t)&&e.name in t?t[e.name]:t;return ke(n,e.advanced?.entity)}function hn(e,t,n){return Ye(e)&&Array.isArray(n)?{...t,[P]:n}:t}function An(e,t,n){if(e.required&&!Z(n)&&f(e)&&e.advanced?.preselected!==!1&&P in t){let r=t[P];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function Fn(e,t){return f(e)&&Array.isArray(t)?Ee(t,e.advanced?.options):t}function tt(e,t,n,r){let o=Tn(e,r),i=Array.isArray(n)?Fn(e,n):n,l=hn(e,t,i),s=An(e,l,o);return{commonPropsWithOptions:l,defaultValue:s}}function nt(e,t){return d(e)?{defaultChecked:Z(t)}:{defaultValue:t}}var Sn=/^#\/definition\//;function _(e=[],t){let n=D(e,t);return Array.isArray(n)?n.filter(Cn).sort((r,o)=>rt(r)-rt(o)):[]}function D(e,t,n=new Map,r=new WeakSet){if(!Nn(t)||!e||typeof e!="object")return e;if(n.has(e))return n.get(e);if(r.has(e))return e;if(r.add(e),Array.isArray(e))return e.map(i=>D(i,t,n,r));if(T in e&&g(e[T])){let i=e[T].replace(Sn,""),l=u(t,i);return l!==null?D(l,t,n,r):e}let o={};for(let[i,l]of Object.entries(e))o[i]=D(l,t,n,r);return r.delete(e),n.set(e,o),o}function ot(e){return Object.entries(e??{})}function rt(e){return e.order??Number.MAX_VALUE}function Nn(e){return e!==void 0&&a(e)&&Object.keys(e).length>0}function Cn(e){return ve in e?!0:Array.isArray(e[X])?e[X].length>0:!0}function it(e,t){let n={};for(let[r,o]of ot(t))n[`${e}-${r}`]=o;return n}function Ln(e){return it(Fe,e)}function In(e){return it(Se,e)}function lt(e,t){let n=Ln(e.advanced?.aria);return t&&t.length>0&&(n[Te]="true",n[Re]=`${e.name}-error`),n}function at(e){return In(e.advanced?.data)}var st={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},dt={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function ct(e,t=2){return st[e&&e in st?e:t]}function ut(e){if(e&&e in dt)return dt[e]}function vn(e,t){let n=e.advanced?.length?.min??1;if(t){let r=u(t,e.name);if(Array.isArray(r))return Math.max(r.length,n)}return Math.max(n,0)}function ft(e){return!Array.isArray(e.fields)||e.fields.length===0?!1:e.fields.length>1||e.fields[0].type===F}function mt(e,t){let n=vn(e,t);return Array.from({length:n},(r,o)=>o)}function pt(e){return e.label??e.name}function b(e,t){return e?t?t[e]??e:e:""}function V(e,t){return{...e,...t}}import{jsx as kn}from"react/jsx-runtime";function y(e){return Pe(e,(t,n,r)=>kn("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${t}`))}import{jsx as N,jsxs as j}from"react/jsx-runtime";function gt(e){let{fields:t=[]}=e.section,[n,r]=Pn(!1),o=On(()=>r(i=>!i),[]);return j("fieldset",{"data-slot":"field-set","data-advanced":"true","data-expanded":n,"data-empty":t.length===0,className:"flex flex-col",id:e.section.id?.toString(),children:[N("legend",{children:j("button",{className:"flex cursor-pointer items-center gap-2 text-base font-medium text-slate-600 dark:text-slate-400",onClick:o,type:"button",children:[N(le,{expanded:n}),N("span",{children:y(e.section.title)})]})}),N(En,{mode:n?"visible":"hidden",children:j("div",{className:"mt-3 ml-1.5 flex flex-col gap-4 border-l-2 border-slate-300 pl-4 dark:border-slate-600","data-slot":"field-set-content",children:[e.section.description&&N("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:y(e.section.description)}),e.group]})})]})}import{Fragment as wn,jsx as yt,jsxs as Mn}from"react/jsx-runtime";function xt(e){return Mn(wn,{children:[e.title&&yt("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:y(e.title)}),e.description&&yt("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:y(e.description)})]})}import{jsx as Dn,jsxs as _n}from"react/jsx-runtime";function B(e){return _n("fieldset",{"data-slot":"field-set","data-empty":e.empty,className:"flex flex-col data-[empty=false]:gap-6",id:e.id,children:[Dn(xt,{description:e.description,title:e.title}),e.children]})}import{jsx as Vn}from"react/jsx-runtime";function R(e){return Vn("div",{"data-slot":"field-group","data-compact":e.compact,className:"flex w-full flex-col gap-8 data-[compact=true]:gap-3",children:e.children})}import{jsx as ee}from"react/jsx-runtime";function bt(e){let{fields:t=[]}=e.section,{compact:n}=V(e.style,{compact:e.section.compact}),r=ee(R,{compact:n,children:e.children});return!e.section.title&&!e.section.description?r:e.section.advanced?ee(gt,{section:e.section,group:r}):ee(B,{description:e.section.description,empty:t.length===0,id:e.section.id?.toString(),title:e.section.title,children:r})}import{useAtomValue as Xn}from"jotai";import{atom as C}from"jotai";import{atomFamily as Bn}from"jotai-family";import{deepEqual as Rt}from"fast-equals";function Gn(e){return Bn(t=>C(n=>n(e)[t]??void 0,(n,r,o)=>{let i=n(e);if(o!=null){let l=i[t];(!l||!Rt(l,o))&&r(e,{...i,[t]:o})}else if(i[t]){let{[t]:l,...s}=i;r(e,s)}}))}function $n(e){return C(null,(t,n)=>{let r=t(e);r&&Object.keys(r).length>0&&n(e,{})})}function Yn(e){return C(null,(t,n,r)=>{let i={...t(e)},l=!1;for(let s of r)i[s]&&(delete i[s],l=!0);l&&n(e,i)})}function Un(e){return C(null,(t,n,r)=>{let o=t(e);Rt(o,r)||n(e,r)})}function Tt(e={}){let t=C(e);return{atom:t,clearAll:$n(t),clear:Yn(t),bulkReport:Un(t),report:Gn(t)}}var ht=Tt(),At=ht.atom,wo=ht.report;function Hn(e,t){return e.fields.every(n=>Ft(n,t))}function Ft(e,t){return t[e.name]?.hidden??e.hidden??!1}function Kn(e,t){return A(e)?Hn(e,t):Ft(e,t)}function St(e){let t=Xn(At);return e.container&&(t[e.container.name]?.hidden??e.container.hidden??!1)||e.fields.length===0||e.fields.every(r=>Kn(r,t))?null:e.children}import{jsx as Nt}from"react/jsx-runtime";function Ct(){return Nt("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:Nt("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}import{jsx as L,jsxs as Lt}from"react/jsx-runtime";function It(e){let t=_(e.sections,e.definition);return L("div",{className:"h-full w-full",children:L("form",{noValidate:e.noValidate,action:e.action,children:Lt(R,{children:[t.map((n,r)=>Lt(St,{fields:n.fields??[],children:[L(bt,{section:n,style:e.config.style,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.separator&&L(Ct,{})]},r)),e.control&&L(oe,{isPending:e.isPending,children:e.control})]})})})}import{jsx as Wn}from"react/jsx-runtime";function vt(e){return Wn("p",{className:"-mt-2 text-xs leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}import{jsx as qn}from"react/jsx-runtime";function G(e){let t=y(e.text);return t?qn(vt,{children:t}):null}import{twMerge as zn}from"tailwind-merge";import{jsx as Zn,jsxs as Jn}from"react/jsx-runtime";function kt(e){let t=e.style?.showOptionalLabel??!0,n=x(e.field)||d(e.field);return Jn("label",{"data-slot":"field-label","data-normal":n,className:zn("flex w-fit items-center gap-2 text-sm leading-snug font-medium select-none","data-[normal=true]:font-normal","group-data-[readonly=true]:cursor-not-allowed group-data-[readonly=true]:opacity-50"),htmlFor:e.field.name,children:[e.children,t&&!e.field.required&&Zn("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:b("(Optional)",e.translations)})]})}import{jsx as Et,jsxs as Qn}from"react/jsx-runtime";function Ot(e){let t={context:e.context,env:e.config?.env},n=z(e.field.label,t),r=z(e.field.description,t);return Qn("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[Et(kt,{field:e.field,style:e.config?.style,translations:e.translations,children:b(n,e.translations)}),e.orientation===h&&Et(G,{text:b(r,e.translations)})]})}import{Fragment as jn,jsx as Pt,jsxs as er}from"react/jsx-runtime";function wt(e){return er(jn,{children:[e.field.name&&e.field.label&&Pt(Ot,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations}),e.children,e.orientation===m&&e.field.description&&Pt(G,{text:b(e.field.description,e.translations)})]})}function Mt(e,t){return e?t(e):null}import{jsx as Dt}from"react/jsx-runtime";function _t(e){let t=et(e.field,e.value),{commonPropsWithOptions:n,defaultValue:r}=tt(e.field,e.commonProps,t,e.value),o=nt(e.field,r);return Mt(e.config.inputs[e.field.type],i=>Dt(wt,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations,children:Dt(i,{...e.ariaAttributes,...n,...e.dataAttributes,...o})}))}import{jsx as Vt}from"react/jsx-runtime";function Bt(e){return!e.errors||e.errors.length===0?null:Vt("ul",{className:"text-sm text-red-600 dark:text-red-500",id:e.name?`${e.name}-error`:void 0,children:e.errors?.map((t,n)=>Vt("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}import{twMerge as tr}from"tailwind-merge";import{jsx as nr}from"react/jsx-runtime";function $(e){let t=e.errors&&e.errors.length>0;return nr("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[he]:"true"},...e.disabled&&{[Ae]:"true"},"data-orientation":e.orientation,className:tr("group flex w-full flex-col items-center data-[invalid=true]:text-red-600 data-[invalid=true]:dark:text-red-500","data-[clickable=true]:items-start",e.isCheckbox&&(e.isReversed?"flex-row-reverse!":"flex-row!"),"data-[clickable=true]:has-[>[data-slot=field-content]]:[&>:first-child]:mt-px",e.className),children:e.children})}import{twMerge as rr}from"tailwind-merge";import{jsx as or}from"react/jsx-runtime";function Gt(e){return or($,{...e,orientation:m,className:rr("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}import{twMerge as ir}from"tailwind-merge";import{jsx as lr}from"react/jsx-runtime";function $t(e){return lr($,{...e,orientation:h,className:ir("gap-2 md:flex-row md:gap-4","[&>[data-slot=field-content]]:min-w-0 [&>[data-slot=field-content]]:flex-grow [&>[data-slot=field-content]]:self-start","[&_[role=checkbox]]:mt-[1.5px]",e.isClickable&&"md:flex-col",!e.isClickable&&["md:justify-between","[&>*:not([data-slot=field-content])]:w-full","[&>*:not([data-slot=field-content])]:md:w-1/2","[&>*:not([data-slot=field-content])]:xl:w-2/5"]),children:e.children})}import{jsx as Yt}from"react/jsx-runtime";function Ut(e){let t=Ge(e.field),n=d(e.field),r=He(e.field);return e.orientation===m?Yt(Gt,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children}):Yt($t,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children})}function Xt(e){if(!e.field.type)return null;let t=Ze(e.field,e.disabled),n=at(e.field),r=lt(e.field,e.errors),o={...e.field,disabled:t.disabled};return e.children({ariaAttributes:r,commonProps:t,dataAttributes:n,field:o,orientation:e.orientation})}import{twMerge as ar}from"tailwind-merge";import{jsx as te,jsxs as sr}from"react/jsx-runtime";function Ht(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:r}=V(e.style,{orientation:Xe(e.field)}),o=Ke(e.field,e.disabled);return sr("div",{className:ar("flex flex-col gap-3",ut(t)),children:[te(Ut,{disabled:o,errors:n,field:e.field,orientation:r,children:te(Xt,{disabled:o,errors:n,field:e.field,orientation:r,children:e.children})}),te(Bt,{errors:n,name:e.field.name})]})}import{twMerge as dr}from"tailwind-merge";import{jsx as I,jsxs as Y}from"react/jsx-runtime";function Kt(e){function t(){e.canRemove&&e.onRemove&&e.onRemove(e.index)}let n=e.canRemove&&e.onRemove!=null&&I("button",{"aria-label":`Remove ${e.label} item ${e.index+1}`,className:dr("rounded p-1 text-xl text-slate-400","transition-colors duration-150","hover:text-red-500","focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:outline-none","dark:text-slate-500 dark:hover:text-red-400"),onClick:t,type:"button",children:I("span",{"aria-hidden":"true",children:"\xD7"})});return e.isMultiField?Y("div",{className:"rounded-lg border border-slate-100 p-4 dark:border-slate-900",children:[Y("div",{className:"mb-3 flex items-center justify-between",children:[Y("span",{className:"text-sm font-medium text-slate-400 dark:text-slate-500",children:[e.label," ",e.index+1]}),n]}),I(R,{children:e.children})]}):Y("div",{className:"flex items-start gap-2",children:[I(R,{children:e.children}),n&&I("div",{className:"shrink-0",children:n})]})}import{jsx as cr}from"react/jsx-runtime";function Wt(e){let t=pt(e.field),n=ft(e.field);return mt(e.field,e.value).map(r=>cr(Kt,{index:r,isMultiField:n,label:t,children:e.children(r)},r))}import{jsx as ur}from"react/jsx-runtime";function qt(e){let t=Array.isArray(e.field.fields)&&e.field.fields.length===0;return ur(B,{description:e.field.description,empty:t,id:e.field.name,title:e.field.label,children:e.children})}import{jsx as zt}from"react/jsx-runtime";function Zt({children:e,field:t,value:n}){return zt(qt,{field:t,children:zt(Wt,{field:t,value:n,children:e})})}import{twMerge as fr}from"tailwind-merge";import{jsx as Jt}from"react/jsx-runtime";function Qt(e){let t=ct(e.column?.advanced?.cols);return Jt("div",{className:"flex w-full flex-col gap-4",children:Jt("div",{className:fr("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children})})}import{Fragment as pr}from"react";import{jsx as mr}from"react/jsx-runtime";function jt(e){let t=Array.isArray(e.field.fields)?e.field.fields.map(n=>w(n)?{...n,name:`${e.field.name}.${e.index}.${n.name}`}:A(n)?{...n,fields:n.fields.map(r=>({...r,name:`${e.field.name}.${e.index}.${r.name}`}))}:n):[];return mr(v,{children:e.children,components:e.components,disabled:e.disabled,fields:t,style:e.style,value:e.value})}import{jsx as k,jsxs as gr}from"react/jsx-runtime";function v(e){let{field:t,list:n}=e.components;return _(e.fields).map((r,o)=>gr(pr,{children:[A(r)&&k(Qt,{column:r,children:k(v,{...e,fields:r.fields})}),w(r)&&k(t,{disabled:e.disabled,field:r,style:e.style,children:e.children}),$e(r)&&k(n,{field:r,value:e.value,children:i=>k(jt,{children:e.children,components:e.components,disabled:e.disabled,field:r,index:i,style:e.style,value:e.value})})]},o))}import{jsx as yr}from"react/jsx-runtime";function en(e){return n=>yr(v,{...n,components:e})}var tn=en({field:Ht,list:Zt});import{jsx as ne}from"react/jsx-runtime";function re(e){let t=e.translations?.[e.lang??""];return ne(It,{config:e.config,control:e.children,definition:e.definition,readOnly:e.readOnly,sections:e.sections,children:({disabled:n,fields:r})=>ne(tn,{disabled:n,fields:r,style:e.config.style,children:o=>ne(_t,{...o,config:e.config,context:e.context,translations:t,value:e.value})})})}import{Suspense as xr}from"react";import{jsx as nn}from"react/jsx-runtime";function br(e){return nn(xr,{fallback:nn(re,{config:e.config,sections:e.sections,readOnly:!0}),children:e.children})}export{br as Fallback,re as Form};
1
+ 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 m="vertical",h="horizontal";var ke="type";function a(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function p(e){return g(e)||typeof e=="number"||an(e)}function g(e){return typeof e=="string"}function an(e){return typeof e=="boolean"}function ve(e,t=X){if(e!=null){if(p(e))return e;if(a(e)){let n=sn(e,t);if(p(n))return n}}}function sn(e,t){let n=u(e,t);if(p(n))return n}function u(e,t){if(!t||!a(e))return null;let n=t.split(".").filter(o=>o!=="");if(n.length===0)return null;let r=e;for(let o of n)if(a(r)&&o in r)r=r[o];else return null;return r}function Ee(e,t={label:ge,value:X}){return e.map(n=>{if(a(n)){let r=u(n,t.label),o=u(n,t.value);if(p(r)&&p(o))return{label:`${r}`,value:`${o}`}}return n})}function Oe(e=S){if(e){let t=e.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(g(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 g(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(".")?u(t,r):t[r];return p(o)?String(o):n})}function we(e,t){if(!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=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),f=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 f(e)||x(e)}function Z(e){return e!=null&&e!==""}function c(...e){return t=>{let n=g(t.type)?t.type:void 0;return n?e.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function Ye(e,t={}){if(f(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??m}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)||f(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(f(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)}:f(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)&&f(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 f(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&&g(e[T])){let i=e[T].replace(Fn,""),l=u(t,i);return l!==null?D(l,t,n,r):e}let o={};for(let[i,l]of Object.entries(e))o[i]=D(l,t,n,r);return r.delete(e),n.set(e,o),o}function ot(e){return Object.entries(e??{})}function rt(e){return e.order??Number.MAX_VALUE}function 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=u(t,e.name);if(Array.isArray(r))return Math.max(r.length,n)}return Math.max(n,0)}function ft(e){return!Array.isArray(e.fields)||e.fields.length===0?!1:e.fields.length>1||e.fields[0].type===F}function mt(e,t){let n=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===m&&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:m,className:rr("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}import{twMerge as ir}from"tailwind-merge";import{jsx as lr}from"react/jsx-runtime";function $t(e){return lr($,{...e,orientation:h,className:ir("gap-2 md:flex-row md:gap-4","[&>[data-slot=field-content]]:min-w-0 [&>[data-slot=field-content]]:flex-grow [&>[data-slot=field-content]]:self-start","[&_[role=checkbox]]:mt-[1.5px]",e.isClickable&&"md:flex-col",!e.isClickable&&["md:justify-between","[&>*:not([data-slot=field-content])]:w-full","[&>*:not([data-slot=field-content])]:md:w-1/2","[&>*:not([data-slot=field-content])]:xl:w-2/5"]),children:e.children})}import{jsx as Ut}from"react/jsx-runtime";function Yt(e){let t=Ge(e.field),n=d(e.field),r=Xe(e.field);return e.orientation===m?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,3 +1,9 @@
1
+ export declare function withError<P extends {
2
+ errors?: Record<string, string[]>;
3
+ field: {
4
+ name: string;
5
+ };
6
+ }>(Component: React.ComponentType<P>): (props: Readonly<P>) => import("react/jsx-runtime").JSX.Element | null;
1
7
  export declare function withState<P extends {
2
8
  disabled?: boolean;
3
9
  field: {
@@ -3,6 +3,7 @@ interface NestedAtomFamilyOptions<TInner> {
3
3
  merge?: (values: TInner[]) => TInner | undefined;
4
4
  validateTarget?: (target: string) => boolean;
5
5
  }
6
+ export declare function omitKey<T extends Record<string, unknown>>(obj: T, key: string): T;
6
7
  export declare function createNestedRecordAtomFamily<TInner, TRecord extends Record<string, Record<string, TInner>> = Record<string, Record<string, TInner>>>(baseAtom: PrimitiveAtom<TRecord>, options?: NestedAtomFamilyOptions<TInner>): import("jotai-family").AtomFamily<string, import("jotai").WritableAtom<TInner | undefined, [target: string, value: TInner | undefined], void>>;
7
8
  export declare function createNestedClearAtom<TInner>(baseAtom: PrimitiveAtom<Record<string, Record<string, TInner>>>): import("jotai").WritableAtom<null, [contributorNames: string[]], void> & {
8
9
  init: null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-luna-form",
3
- "version": "0.0.28",
3
+ "version": "0.0.29",
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.28"
36
+ "@luna-form/core": "0.0.29"
37
37
  },
38
38
  "license": "Apache-2.0",
39
39
  "repository": {
@@ -1,6 +0,0 @@
1
- export declare function withError<P extends {
2
- errors?: Record<string, string[]>;
3
- field: {
4
- name: string;
5
- };
6
- }>(Component: React.ComponentType<P>): (props: Readonly<P>) => import("react/jsx-runtime").JSX.Element;