react-luna-form 0.0.18 → 0.0.19

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