react-luna-form 0.0.8 → 0.0.9

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 So=Object.create;var j=Object.defineProperty;var Eo=Object.getOwnPropertyDescriptor;var No=Object.getOwnPropertyNames;var Fo=Object.getPrototypeOf,Io=Object.prototype.hasOwnProperty;var Co=(e,t)=>{for(var r in t)j(e,r,{get:t[r],enumerable:!0})},Ge=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of No(t))!Io.call(e,n)&&n!==r&&j(e,n,{get:()=>t[n],enumerable:!(o=Eo(t,n))||o.enumerable});return e};var vo=(e,t,r)=>(r=e!=null?So(Fo(e)):{},Ge(t||!e||!e.__esModule?j(r,"default",{value:e,enumerable:!0}):r,e)),Po=e=>Ge(j({},"__esModule",{value:!0}),e);var mn={};Co(mn,{Form:()=>To});module.exports=Po(mn);var y=require("react/jsx-runtime");function Xe(e){let t=Array.isArray(e.details)?e.details:e.details?Object.values(e.details).flat():null;return(0,y.jsxs)("div",{"data-slot":"alert",role:"alert",className:"relative grid w-full grid-cols-[0_1fr] items-start gap-y-0.5 rounded-lg border bg-transparent px-4 py-3 text-sm text-red-500 has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] has-[>svg]:gap-x-3 *:data-[slot=alert-description]:text-red-500/90 [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",children:[(0,y.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,y.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,y.jsx)("line",{x1:"12",x2:"12",y1:"8",y2:"12"}),(0,y.jsx)("line",{x1:"12",x2:"12.01",y1:"16",y2:"16"})]}),(0,y.jsx)("div",{"data-slot":"alert-title",className:"col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",children:e.title}),(0,y.jsxs)("div",{"data-slot":"alert-description",className:"col-start-2 grid justify-items-start gap-1 text-sm",children:[e.description&&(0,y.jsx)("p",{children:e.description}),t&&(0,y.jsx)("ul",{className:"list-inside list-disc text-sm",children:t.map((r,o)=>(0,y.jsx)("li",{children:r},o))})]})]})}var He=require("react/jsx-runtime");function Ye(e){return(0,He.jsx)("div",{"data-slot":"field-control",className:"w-full",children:e.children})}var qe=require("react/jsx-runtime");function q(e){return(0,qe.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 J="input",$e="input/email",Ke="input/number";var We="textarea",ze="radio",Ze="checkbox",je="select",Je="select/month",Qe="select/year";var Ne="column";var et="label",L="value",Q="options",Fe="email",tt="number",rt="password",ot="tel",$="text",nt="aria-errormessage",it="aria-invalid",lt="data-invalid",at="data-readonly",st="aria",ct="data",ee="min",te="max",ut="minLength",dt="maxLength",M="$ref",mt="source";var re="http://luna.internal",E="vertical",_="horizontal";function s(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function oe(e){return e==null||e===""}function N(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function P(e){return typeof e=="string"}function ft(e){return s(e)&&"url"in e}var ko=/[^/]+$/;function pt(e,t=[],r=L){if(Array.isArray(t))return t.find(o=>{let n=Ie(o,r);if(n!==void 0&&`${n}`===e)return o})??{value:e}}function Ie(e,t=L){if(e!=null){if(N(e))return e;if(s(e)){let r=Oo(e,t);if(N(r))return r}}}function Oo(e,t){let r=F(e,t);if(N(r))return r}function gt(e,t){if(Array.isArray(e))return e;let r=F(e,t);return Array.isArray(r)?r:null}function F(e,t){if(!t||!s(e))return null;let r=t.split(".").filter(n=>n!=="");if(r.length===0)return null;let o=e;for(let n of r)if(s(o)&&n in o)o=o[n];else return null;return o}function yt(e,t={label:et,value:L}){return e.map(r=>{if(s(r)){let o=F(r,t.label),n=F(r,t.value);if(N(o)&&N(n))return{label:`${o}`,value:`${n}`}}return r})}function xt(e=$){if(e){let t=e.match(ko);if(t){let[r]=t;if(r!==J)return r.trim().toLowerCase()}}return $}function bt(e){let t={};for(let r of e.keys()){let o=e.getAll(r);t[r]=o.length>1?o:o[0]}return t}var wo=/\[([^\]]+)\]\(([^)]+)\)/g;function k(e,t={}){if(P(e))return Do(e,t);if(Array.isArray(e))return e.map(r=>k(r,t));if(s(e)){let r={};for(let o in e)r[o]=k(e[o],t);return r}return e}function ne(e){return P(e)?/{([^}]+)}/.test(e):Array.isArray(e)?e.some(t=>ne(t)):s(e)?Object.values(e).some(t=>ne(t)):!1}function Do(e,t={}){return e.replace(/{([^}]+)}/g,(r,o)=>{let n=o.includes(".")?F(t,o):t[o];return N(n)?String(n):r})}function Tt(e,t){if(!e||e.trim().length===0)return null;let r,o=0,n=!1,i=[];for(;(r=wo.exec(e))!==null;){let[l,a,u]=r,d=r.index;n=!0,d>o&&i.push(e.substring(o,d));let m=t?t(d,u,a):l;i.push(m),o=d+l.length}return n?(o<e.length&&i.push(e.substring(o)),i):e}var ie=e=>T(Je)(e),le=e=>T(Qe)(e),h=T(Ze),Ce=T(J),R=T(ze),x=T(je),ve=T(We),ht=T($,Fe,rt,ot),Rt=T($e,Fe),ae=T(Ke,tt);function At(e){return R(e)||h(e)}function St(e){return e.type===Ne}function Et(e){return e.type!==Ne}function Nt(e){return x(e)||R(e)}function Ft(e){return Ce(e)||ve(e)}function Pe(e){return e!=null&&e!==""}function T(...e){return t=>{let r=P(t.type)?t.type:void 0;return r?e.some(o=>r===o||r?.startsWith(`${o}/`)):!1}}function It(e,t={}){if(x(e)&&e.disabled){let r=e.name?t?.[e.name]:void 0;if(r&&s(r))return[r]}}function se(e){return R(e)||h(e)?_:e.advanced?.orientation??E}function Ct(e,t){let r=e.readonly??!1;return t||r}function vt(e){if(R(e)||x(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||s(t)&&!(M in t))return t}}function Pt(e,t){let r=vt(e);return r||It(e,t)}function Vo(e,t){let r=s(t)&&e.name in t?t[e.name]:t;return Ie(r,e.advanced?.entity)}function Lo(e,t,r){return Nt(e)&&Array.isArray(r)?{...t,[Q]:r}:t}function Mo(e,t,r){if(e.required&&!Pe(r)&&x(e)&&e.advanced?.preselected!==!1&&Q in t){let o=t[Q];if(Array.isArray(o)&&o.length===1)return o[0]}return r}function _o(e,t){return x(e)&&Array.isArray(t)?yt(t,e.advanced?.options):t}function kt(e,t,r,o){let n=Vo(e,o),i=Array.isArray(r)?_o(e,r):r,l=Lo(e,t,i),a=Mo(e,l,n);return{commonPropsWithOptions:l,defaultValue:a}}function Ot(e,t){return h(e)?{checked:Pe(t)}:{value:t??""}}var Bo=/^#\/definition\//;function ue(e=[],t){let r=ce(e,t);return Array.isArray(r)?r.filter(o=>o.hidden!==!0).sort((o,n)=>wt(o)-wt(n)):[]}function ce(e,t,r=new Map,o=new WeakSet){if(!Uo(t)||!e||typeof e!="object")return e;if(r.has(e))return r.get(e);if(o.has(e))return e;if(o.add(e),Array.isArray(e))return e.map(i=>ce(i,t,r,o));if(M in e&&P(e[M])){let i=e[M].replace(Bo,""),l=F(t,i);return l!==null?ce(l,t,r,o):e}let n={};for(let[i,l]of Object.entries(e))n[i]=ce(l,t,r,o);return o.delete(e),r.set(e,n),n}function Dt(e){return Object.entries(e??{})}function wt(e){return e.order??Number.MAX_VALUE}function Uo(e){return e!==void 0&&s(e)&&Object.keys(e).length>0}function Vt(e,t){let r={};for(let[o,n]of Dt(t))r[`${e}-${o}`]=n;return r}function Lt(e){return Vt(st,e)}function Mt(e){return Vt(ct,e)}var _t={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 Ut(e,t=2){return _t[e&&e in _t?e:t]}function Gt(e){if(e&&e in Bt)return Bt[e]}var Go=/^\d+$/;function Xt(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function Yt(e,t){return t>=e?Array.from({length:t-e+1},(r,o)=>{let n=e+o;return{value:n.toString(),label:n.toString()}}):[]}function ke(){return new Date().getFullYear()}function Oe(e,t){if(typeof e=="number")return e;let r=t??ke(),o=e.trim().toLowerCase();if(o.startsWith("current")){let n=o.match(/^current([+-])(\d+)$/);if(n){let[,i,l]=n,a=parseInt(l,10);if(!isNaN(a))return i==="+"?r+a:r-a}return r}return Go.test(o)?parseInt(o,10):r}var c=require("zod");var Xo=[[ae,Ko],[Rt,Yo],[le,Wo],[ie,zo],[h,Ho],[R,qo]];function Ht(e){return c.z.object(e)}function qt(e){let t={},r=c.z.flattenError(e).fieldErrors;for(let[o,n]of Object.entries(r))n!==void 0&&(t[o]=n);return t}function $t(e){for(let[t,r]of Xo)if(t(e))return r(e);return $o(e)}function Yo(e){let t=c.z.string().trim();if(e.required){let r=t.min(1,e.validation?.required).pipe(c.z.email(e.validation?.email));return c.z.preprocess(o=>oe(o)?"":o,r)}return t.pipe(c.z.email(e.validation?.email)).or(c.z.literal("")).nullable()}function Ho(e){let t=c.z.coerce.boolean();return e.required?(t=t.refine(r=>r===!0,{message:e.validation?.required}),c.z.preprocess(r=>r===null?!1:r,t)):t.nullable()}function qo(e){let t=c.z.coerce.string();return e.required?(t=t.min(1,e.validation?.required),c.z.preprocess(r=>oe(r)?"":r,t)):t.or(c.z.literal("")).nullable()}function $o(e){let t=c.z.coerce.string().trim();return t=Kt(t,e),e.required?(t=Wt(t,e),c.z.preprocess(r=>oe(r)?"":r,t)):t.nullable()}function Ko(e){let t=c.z.coerce.number().int();return t=Kt(t,e),e.required?(t=Wt(t,e),c.z.preprocess(r=>r===null?void 0:r,t)):t.nullable()}function Wo(e){if(e.required){let t=c.z.coerce.number({message:e.validation?.required}).int();return c.z.preprocess(Zo,t)}return c.z.coerce.number().int().nullable()}function zo(e){let t=c.z.coerce.number().int().min(1,e.validation?.required).max(12,e.validation?.required);return e.required?t:t.nullable()}function Zo(e){return e===null||e===""?void 0:e}function Kt(e,t){return e=jo(e,t),e=Jo(e,t),e}function Wt(e,t){let r=t.advanced?.length?.min;return r===void 0||r<1?e.min(1,t.validation?.required):e}var jo=(e,t)=>zt(e,t,ee),Jo=(e,t)=>zt(e,t,te);function zt(e,t,r){let o=t.advanced?.length?.[r];return o!==void 0?e[r](o,t.validation?.length?.[r]):e}function Zt(e,t){if(!t||!en(e))return!0;if(t.length===0)return!1;try{let r=new URL(e),o=r.protocol.replace(":",""),n=r.hostname,i=r.port||Qo(o);return t.some(l=>!(l.protocol&&l.protocol!==o||l.hostname&&l.hostname!==n||l.port!==void 0&&String(l.port)!==i))}catch{return!1}}function Qo(e){return e==="https"?"443":"80"}function en(e){return/^(https?:)?\/\//.test(e)}function jt(e,t){try{if(!e)return t;if(!t)return e;let r=new URL(e,re);new URL(t,re).searchParams.forEach((i,l)=>{r.searchParams.set(l,i)});let n=r.toString();return e.startsWith("/")||!e.includes("://")?n.replace(re,""):n}catch{return t||e}}function Jt(e){return!Array.isArray(e)||e.length===0?null:e.reduce((t,r)=>{let o=jt(t.url,r.url),n=tn(t,r),i=rn(t,r);return{...t,...r,url:o,body:n,headers:i}})}function tn(e,t){return s(t.body)&&s(e?.body)?{...e.body,...t.body}:t.body??e?.body}function rn(e,t){return s(t.headers)&&s(e?.headers)?{...e.headers,...t.headers}:t.headers??e?.headers}function Qt(e=[],t){let r=[],o=[];e.forEach(n=>{n.action===L&&r.push(n),n.action===mt&&o.push(n)}),t({sources:o,values:r})}function er(e=null,t=[],r){t.forEach(o=>{let{target:n,source:i}=o;if(!e){r(n,void 0);return}if(ft(i)){let l=k(i.url,e),a=i.body?k(i.body,e):i.body;r(n,{...i,url:l,body:a})}})}function tr(e=null,t=[],r){t.forEach(o=>{Object.entries(o.value).forEach(([n,i])=>{r(n,e?k(i,e):void 0)})})}var rr=require("react/jsx-runtime");function K(e){return Tt(e,(t,r,o)=>(0,rr.jsx)("a",{className:"underline",href:r,rel:"noopener noreferrer",target:"_blank",children:o},`${r}-${t}`))}var O=require("react/jsx-runtime");function or(e){return(0,O.jsxs)(O.Fragment,{children:[(0,O.jsx)("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:K(e.title)}),(0,O.jsx)("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:K(e.description)})]})}var B=require("react/jsx-runtime");function nr(e){if(!e.section.title&&!e.section.description)return(0,B.jsx)(q,{compact:e.section.compact,children:e.children});let t=e.section.fields||[];return(0,B.jsxs)("fieldset",{"data-slot":"field-set","data-empty":t.length===0,className:"flex flex-col data-[empty=false]:gap-6",children:[(0,B.jsx)(or,{description:e.section.description,title:e.section.title}),(0,B.jsx)(q,{compact:e.section.compact,children:e.children})]})}var lr=require("react");var we=require("react/jsx-runtime");function ir(){return(0,we.jsx)("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:(0,we.jsx)("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}var A=require("react/jsx-runtime");function ar(e){let t=ue(e.sections,e.definition);return(0,A.jsx)("div",{className:"h-full w-full",children:(0,A.jsx)("form",{noValidate:e.noValidate,action:e.action,children:(0,A.jsxs)(q,{children:[t.map((r,o)=>(0,A.jsxs)(lr.Fragment,{children:[(0,A.jsx)(nr,{section:r,children:e.children({disabled:e.readOnly,fields:r.fields})}),r.separator&&(0,A.jsx)(ir,{})]},o)),e.control&&(0,A.jsx)(Ye,{children:e.control})]})})})}var cr=require("react/jsx-runtime");function sr(e){return(0,cr.jsx)("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}var ur=require("react/jsx-runtime");function de(e){let t=K(e.text);return t?(0,ur.jsx)(sr,{children:t}):null}var dr=require("tailwind-merge"),me=require("react/jsx-runtime");function mr(e){let t=R(e.field)||h(e.field);return(0,me.jsxs)("label",{"data-slot":"field-label","data-normal":t,className:(0,dr.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,me.jsx)("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:"(Optional)"})]})}var W=require("react/jsx-runtime");function fr(e){return(0,W.jsxs)("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[(0,W.jsx)(mr,{field:e.field,children:e.field.label}),e.orientation===_&&(0,W.jsx)(de,{text:e.field.description})]})}var w=require("react/jsx-runtime");function pr(e){let t=se(e.field);return(0,w.jsxs)(w.Fragment,{children:[e.field.name&&e.field.label&&(0,w.jsx)(fr,{field:e.field,orientation:t}),e.children,t===E&&e.field.description&&(0,w.jsx)(de,{text:e.field.description})]})}function gr(e,t){return e?t(e):null}var Tr=require("jotai");var D=require("jotai"),De=require("jotai-family"),fe=require("fast-equals");function pe(e){return(0,De.atomFamily)(t=>(0,D.atom)(r=>r(e)[t]??void 0,(r,o,n)=>{let i=r(e);if(n!=null){let l=i[t];(!l||!(0,fe.deepEqual)(l,n))&&o(e,{...i,[t]:n})}else if(i[t]){let{[t]:l,...a}=i;o(e,a)}}))}function yr(e){return(0,D.atom)(null,(t,r)=>{let o=t(e);o&&Object.keys(o).length>0&&r(e,{})})}function ge(e){return(0,D.atom)(null,(t,r,o)=>{let i={...t(e)},l=!1;for(let a of o)i[a]&&(delete i[a],l=!0);l&&r(e,i)})}function ye(e){return(0,D.atom)(null,(t,r,o)=>{let n=t(e);(0,fe.deepEqual)(n,o)||r(e,o)})}function xr(e,t={}){let{merge:r,validateTarget:o}=t;return(0,De.atomFamily)(n=>(0,D.atom)(i=>{let l=i(e)[n];if(l&&r)return r(Object.values(l))},(i,l,a,u)=>{if(o&&!o(a))return;let d=i(e),m={...d[a]??{}};if(u!=null){let v=m[n];(!v||!(0,fe.deepEqual)(v,u))&&(m[n]=u,l(e,{...d,[a]:m}))}else if(m[n])if(delete m[n],Object.keys(m).length===0){let{[a]:v,...Y}=d;l(e,Y)}else l(e,{...d,[a]:m})}))}function br(e){return(0,D.atom)(null,(t,r,o)=>{let i={...t(e)},l=!1;for(let a of o)i[a]&&(delete i[a],l=!0);for(let a in i){let u={...i[a]},d=!1;for(let m of o)u[m]&&(delete u[m],d=!0,l=!0);d&&(Object.keys(u).length===0?delete i[a]:i[a]=u)}l&&r(e,i)})}var z=(0,Tr.atom)({}),hr=ge(z),Rr=ye(z),Ar=pe(z);var Sr=require("jotai");var I=(0,Sr.atom)({}),Er=yr(I),Nr=ge(I),Xi=ye(I),Fr=pe(I);var Mr=require("react"),Z=require("jotai");var Ir=require("jotai");var Cr=(0,Ir.atom)({}),vr=xr(Cr,{merge:e=>{let t=Jt(e);if(t)return t},validateTarget:e=>e.trim()!==""}),Pr=br(Cr);var wr=require("jotai");var kr=vo(require("swr"),1);function Or(e=null,t,r=!1){let{data:o,error:n}=(0,kr.default)(on(e,t,r),t.fetcher.provider);if(n&&console.error("Error fetching data source:",n),e){if(Array.isArray(e))return[e];if(o)return[gt(o,e.namespace)]}return[null]}function on(e=null,t,r=!1){if(e&&!Array.isArray(e)&&!r&&e.url&&!ne(e.url)){if(Zt(e.url,t.fetcher.remotePatterns))return e;console.warn(`URL blocked by remotePatterns: ${e.url}. Check your luna.config.ts`)}return null}function Dr(e,t,r){let o=Pt(e,r),[n,i]=(0,wr.useAtom)(vr(e.name)),l=n??o,[a]=Or(l,t,e.disabled);return[a,i]}var V=require("react");function Vr(e,t,r){let o=(0,V.useMemo)(()=>$t(e),[e]),n=(0,V.useEffectEvent)(l=>{l&&t(l,o)}),i=(0,V.useEffectEvent)(l=>{l&&r(l)});return(0,V.useEffect)(()=>(n(e.name),()=>{i(e.name)}),[e.name]),[o]}var xe=require("react");function Lr(){let e=(0,xe.useRef)(null);(0,xe.useEffect)(()=>{let o=e.current;return()=>{o&&clearTimeout(o)}},[]);function t(){e.current&&(clearTimeout(e.current),e.current=null)}function r(o,n){t(),e.current=setTimeout(o,n)}return[r,t]}var Ve=require("react/jsx-runtime");function _r(e){let t=(0,Z.useSetAtom)(Ar(e.field.name)),[r,o]=(0,Z.useAtom)(Fr(e.field.name)),n=(0,Z.useSetAtom)(I),[i]=Vr(e.field,e.onMount,e.onUnmount),[l,a]=Dr(e.field,e.config,r),{commonPropsWithOptions:u,defaultValue:d}=kt(e.field,e.commonProps,l,r),m=Ot(e.field,d),[v]=Lr();function Y(p,f){if(Ft(e.field)){v(()=>{f({value:p})},500);return}let b=pt(p,l,e.field.advanced?.entity);f(b)}function Re(p){let f=p.target.value;o(f),e.config.validation.change&&H(f);let b=e.field.event?.change;b&&Y(f,g=>{Qt(b,({sources:ho,values:Ro})=>{(0,Mr.startTransition)(()=>{er(g,ho,(Se,Ee)=>a(Se,Ee)),tr(g,Ro,(Se,Ee)=>{n(Ao=>({...Ao,[Se]:Ee}))})})})})}function Ae(p){if(At(e.field))return;let f=p.target.value;e.config.validation.blur&&H(f)}function H(p){let b=i.safeParse(p).error?.issues.map(g=>g.message)??[];t(b)}return gr(e.config.inputs[e.field.type],p=>(0,Ve.jsx)(pr,{field:e.field,children:(0,Ve.jsx)(p,{...u,...e.ariaAttributes,...e.dataAttributes,...m,onBlur:Ae,onChange:Re})}))}var Br=require("tailwind-merge"),Le=require("react/jsx-runtime");function Ur(e){let t=Ut(e.column?.advanced?.cols);return(0,Le.jsx)("div",{className:"flex w-full flex-col gap-4",children:(0,Le.jsx)("div",{className:(0,Br.twMerge)("grid grid-cols-1 gap-8 sm:gap-4",t),children:e.children})})}var Me=require("react/jsx-runtime");function Gr(e){return!e.errors||e.errors.length===0?null:(0,Me.jsx)("ul",{className:"text-sm text-red-600 dark:text-red-500",id:e.name?`${e.name}-error`:void 0,children:e.errors?.map((t,r)=>(0,Me.jsx)("li",{children:t},e.name?`${e.name}-error-${r}`:r))})}var Xr=require("tailwind-merge"),Yr=require("react/jsx-runtime");function be(e){let t=e.errors&&e.errors.length>0;return(0,Yr.jsx)("div",{"data-slot":"field",...t&&{[lt]:"true"},...e.disabled&&{[at]:"true"},"data-orientation":e.orientation,className:(0,Xr.twMerge)("group flex w-full flex-col items-center data-[invalid=true]:text-red-600 data-[invalid=true]:dark:text-red-500","has-[>[role=checkbox],[role=radiogroup]]:items-start","has-[>[role=checkbox]]:flex-row-reverse","has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radiogroup]]:mt-px",Gt(e.cols),e.className),children:e.children})}var qr=require("react/jsx-runtime");function Hr(e){return(0,qr.jsx)(be,{...e,orientation:E,className:"gap-3 has-[>[data-slot=field-content]]:items-start [&>*:not([role=checkbox]):not([role=radiogroup])]:w-full",children:e.children})}var Kr=require("react/jsx-runtime");function $r(e){return(0,Kr.jsx)(be,{...e,orientation:_,className:"gap-2 md:flex-row md:gap-4 has-[>[role=radiogroup]]:md:flex-col [&:not(:has(>[role=checkbox],[role=radiogroup]))]:md:justify-between [&>*:not([role=checkbox]):not([role=radiogroup]):not([data-slot=field-content])]:w-full [&>*:not([role=checkbox]):not([role=radiogroup]):not([data-slot=field-content])]:md:w-1/2 [&>*:not([role=checkbox]):not([role=radiogroup]):not([data-slot=field-content])]:xl:w-2/5 [&>[data-slot=field-content]]:min-w-0 [&>[data-slot=field-content]]:flex-grow [&>[data-slot=field-content]]:self-start",children:e.children})}var _e=require("react/jsx-runtime");function Wr(e){return e.orientation===E?(0,_e.jsx)(Hr,{cols:e.cols,disabled:e.disabled,errors:e.errors,children:e.children}):(0,_e.jsx)($r,{cols:e.cols,disabled:e.disabled,errors:e.errors,children:e.children})}var Te=ke();function zr(e){if(x(e))return nn(e)}function nn(e){if(ie(e))return Xt();if(le(e)){let t=e.advanced?.length?.min??Te,r=e.advanced?.length?.max??Te+5;return Yt(Oe(t,Te),Oe(r,Te))}}function Zr(e,t=!1){let r={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return Ce(e)?{...r,...ln(e)}:x(e)?{...r,...an(e)}:ve(e)?{...r,...sn(e)}:r}function ln(e){let t=xt(e.type),r={...e,type:t};return{...jr(e),...cn(r),...ht(r)?Jr(r):{},type:t}}function an(e){let t=zr(e);return t?{options:t}:{}}function sn(e){return{...jr(e),...Jr(e)}}function jr(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function cn(e){return ae(e)?un(e):{}}function Jr(e){return Qr(e,{min:ut,max:dt})}function un(e){return Qr(e,{min:ee,max:te})}function Qr(e,t){let r={},o=e.advanced?.length;return o&&(o.min!==void 0&&(r[t.min]=o.min),o.max!==void 0&&(r[t.max]=o.max)),r}function eo(e,t){let r=Lt(e.advanced?.aria);return t&&t.length>0&&(r[it]="true",r[nt]=`${e.name}-error`),r}function to(e){return Mt(e.advanced?.data)}function ro(e){if(!e.field.type)return null;let t=Zr(e.field,e.disabled),r=to(e.field),o=eo(e.field,e.errors),n={...e.field,disabled:t.disabled};return e.children({ariaAttributes:o,commonProps:t,dataAttributes:r,field:n})}var U=require("react/jsx-runtime");function oo(e){let t=e.field.advanced?.cols,r=e.field.name?e.errors?.[e.field.name]:void 0,o=se(e.field),n=Ct(e.field,e.disabled);return(0,U.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,U.jsx)(Wr,{cols:t,disabled:n,errors:r,orientation:o,children:(0,U.jsx)(ro,{disabled:n,errors:r,field:e.field,children:e.children})}),(0,U.jsx)(Gr,{errors:r,name:e.field.name})]})}var no=require("jotai"),lo=require("react/jsx-runtime");function io(e){return r=>{let o=(0,no.useAtomValue)(z);return(0,lo.jsx)(e,{...r,errors:o})}}var ao=io(oo);var so=require("react"),G=require("react/jsx-runtime");function Be(e){let t=ue(e.fields),{column:r,field:o}=e.components;return t.map((n,i)=>(0,G.jsxs)(so.Fragment,{children:[St(n)&&(0,G.jsx)(r,{column:n,children:(0,G.jsx)(Be,{...e,fields:n.fields})}),Et(n)&&(0,G.jsx)(o,{disabled:e.disabled,field:n,children:e.children})]},i))}var uo=require("react/jsx-runtime"),co=e=>(0,uo.jsx)(Be,{...e,components:{column:Ur,field:ao}});var Ue=require("jotai");var X=require("react");function po(e,t,r){let{onError:o,onSuccess:n,preserveValues:i=!1,validation:l=!0,value:a=null}=r??{},u=(0,Ue.useSetAtom)(Rr),d=(0,Ue.useSetAtom)(Er),m={data:a,error:null,success:!1},[v,Y,Re]=(0,X.useActionState)(async(Ae,H)=>{let p=Ht(e());if(l===!1)return t?await t(H,p):Ae;let f=bt(H),b=p.safeParse(f);if(!b.success){let g=qt(b.error);return(0,X.startTransition)(()=>{u(g)}),fo(f,{details:g,title:"There were validation errors submitting the form."})}if(t)try{let g=await t(f,p);return g.success?(n?.(g.data),i||(0,X.startTransition)(()=>{d()})):g.error&&(0,X.startTransition)(()=>{o?.(g.error)}),mo(f,i)}catch(g){return fo(f,{title:"An unexpected error occurred submitting the form.",details:dn(g)})}return mo(b.data,i)},m);return[Y,v,Re]}function dn(e){let t=e instanceof Error?e.message:["Unknown error"];return Array.isArray(t)?t:[t]}function mo(e,t=!1){return{data:t?e:null,error:null,success:!0}}function fo(e,t){return{data:e,error:t,success:!1}}var bo=require("jotai/utils");var C=require("react");var go=require("react"),he=require("jotai");function yo(){let e=(0,he.useSetAtom)(hr),t=(0,he.useSetAtom)(Pr),r=(0,he.useSetAtom)(Nr);return(0,go.useCallback)(o=>{let n=Array.isArray(o)?o:[o];e(n),t(n),r(n)},[e,t,r])}function xo(){let e=yo(),t=(0,C.useRef)({}),r=(0,C.useRef)(new Set),o=(0,C.useCallback)((l,a)=>{l in t.current||(t.current[l]=a)},[]),n=(0,C.useCallback)(l=>{t.current[l]&&(delete t.current[l],r.current.add(l),(0,C.startTransition)(()=>{r.current.size>0&&(e(Array.from(r.current)),r.current.clear())}))},[e]);function i(){return t.current}return[i,o,n]}var S=require("react/jsx-runtime");function To(e){let[t,r,o]=xo(),[n,i]=po(t,e.action,{onError:e.onError,onSuccess:e.onSuccess,validation:e.config.validation.submit,value:e.value});return(0,bo.useHydrateAtoms)([[I,e.value??{}]]),(0,S.jsx)(ar,{action:n,config:e.config,control:e.children,definition:e.definition,noValidate:!0,readOnly:e.readOnly,sections:e.sections,children:({disabled:l,fields:a})=>(0,S.jsxs)(S.Fragment,{children:[!i.success&&i.error&&(0,S.jsx)(Xe,{title:i.error.title,description:i.error.description,details:i.error.details}),(0,S.jsx)(co,{disabled:l,fields:a,children:u=>(0,S.jsx)(_r,{...u,config:e.config,onMount:r,onUnmount:o,value:i.data})})]})})}
1
+ "use strict";var Ao=Object.create;var z=Object.defineProperty;var So=Object.getOwnPropertyDescriptor;var Eo=Object.getOwnPropertyNames;var No=Object.getPrototypeOf,Fo=Object.prototype.hasOwnProperty;var Io=(e,t)=>{for(var r in t)z(e,r,{get:t[r],enumerable:!0})},Ge=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Eo(t))!Fo.call(e,n)&&n!==r&&z(e,n,{get:()=>t[n],enumerable:!(o=So(t,n))||o.enumerable});return e};var Co=(e,t,r)=>(r=e!=null?Ao(No(e)):{},Ge(t||!e||!e.__esModule?z(r,"default",{value:e,enumerable:!0}):r,e)),vo=e=>Ge(z({},"__esModule",{value:!0}),e);var dn={};Io(dn,{Form:()=>To});module.exports=vo(dn);var Ye=require("react/jsx-runtime");function Xe(e){return(0,Ye.jsx)("div",{"data-slot":"field-control",className:"w-full",children:e.children})}var He=require("react/jsx-runtime");function H(e){return(0,He.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 j="input",qe="input/email",$e="input/number";var Ke="textarea",We="radio",Ze="checkbox",ze="select",je="select/month",Je="select/year";var Ne="column";var Qe="label",V="value",J="options",Fe="email",et="number",tt="password",rt="tel",q="text",ot="aria-errormessage",nt="aria-invalid",it="data-invalid",lt="data-readonly",at="aria",ct="data",Q="min",ee="max",ut="minLength",st="maxLength",L="$ref",dt="source";var te="http://luna.internal",S="vertical",M="horizontal";function c(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function re(e){return e==null||e===""}function E(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function v(e){return typeof e=="string"}function mt(e){return c(e)&&"url"in e}var Po=/[^/]+$/;function ft(e,t=[],r=V){if(Array.isArray(t))return t.find(o=>{let n=Ie(o,r);if(n!==void 0&&`${n}`===e)return o})??{value:e}}function Ie(e,t=V){if(e!=null){if(E(e))return e;if(c(e)){let r=Oo(e,t);if(E(r))return r}}}function Oo(e,t){let r=N(e,t);if(E(r))return r}function pt(e,t){if(Array.isArray(e))return e;let r=N(e,t);return Array.isArray(r)?r:null}function N(e,t){if(!t||!c(e))return null;let r=t.split(".").filter(n=>n!=="");if(r.length===0)return null;let o=e;for(let n of r)if(c(o)&&n in o)o=o[n];else return null;return o}function gt(e,t={label:Qe,value:V}){return e.map(r=>{if(c(r)){let o=N(r,t.label),n=N(r,t.value);if(E(o)&&E(n))return{label:`${o}`,value:`${n}`}}return r})}function yt(e=q){if(e){let t=e.match(Po);if(t){let[r]=t;if(r!==j)return r.trim().toLowerCase()}}return q}function xt(e){let t={};for(let r of e.keys()){let o=e.getAll(r);t[r]=o.length>1?o:o[0]}return t}var ko=/\[([^\]]+)\]\(([^)]+)\)/g;function P(e,t={}){if(v(e))return wo(e,t);if(Array.isArray(e))return e.map(r=>P(r,t));if(c(e)){let r={};for(let o in e)r[o]=P(e[o],t);return r}return e}function oe(e){return v(e)?/{([^}]+)}/.test(e):Array.isArray(e)?e.some(t=>oe(t)):c(e)?Object.values(e).some(t=>oe(t)):!1}function wo(e,t={}){return e.replace(/{([^}]+)}/g,(r,o)=>{let n=o.includes(".")?N(t,o):t[o];return E(n)?String(n):r})}function Tt(e,t){if(!e||e.trim().length===0)return null;let r,o=0,n=!1,i=[];for(;(r=ko.exec(e))!==null;){let[l,a,m]=r,s=r.index;n=!0,s>o&&i.push(e.substring(o,s));let d=t?t(s,m,a):l;i.push(d),o=s+l.length}return n?(o<e.length&&i.push(e.substring(o)),i):e}var ne=e=>T(je)(e),ie=e=>T(Je)(e),b=T(Ze),Ce=T(j),h=T(We),y=T(ze),ve=T(Ke),bt=T(q,Fe,tt,rt),ht=T(qe,Fe),le=T($e,et);function Rt(e){return h(e)||b(e)}function At(e){return e.type===Ne}function St(e){return e.type!==Ne}function Et(e){return y(e)||h(e)}function Nt(e){return Ce(e)||ve(e)}function Pe(e){return e!=null&&e!==""}function T(...e){return t=>{let r=v(t.type)?t.type:void 0;return r?e.some(o=>r===o||r?.startsWith(`${o}/`)):!1}}function Ft(e,t={}){if(y(e)&&e.disabled){let r=e.name?t?.[e.name]:void 0;if(r&&c(r))return[r]}}function ae(e){return h(e)||b(e)?M:e.advanced?.orientation??S}function It(e,t){let r=e.readonly??!1;return t||r}function Ct(e){if(h(e)||y(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||c(t)&&!(L in t))return t}}function vt(e,t){let r=Ct(e);return r||Ft(e,t)}function Do(e,t){let r=c(t)&&e.name in t?t[e.name]:t;return Ie(r,e.advanced?.entity)}function Vo(e,t,r){return Et(e)&&Array.isArray(r)?{...t,[J]:r}:t}function Lo(e,t,r){if(e.required&&!Pe(r)&&y(e)&&e.advanced?.preselected!==!1&&J in t){let o=t[J];if(Array.isArray(o)&&o.length===1)return o[0]}return r}function Mo(e,t){return y(e)&&Array.isArray(t)?gt(t,e.advanced?.options):t}function Pt(e,t,r,o){let n=Do(e,o),i=Array.isArray(r)?Mo(e,r):r,l=Vo(e,t,i),a=Lo(e,l,n);return{commonPropsWithOptions:l,defaultValue:a}}function Ot(e,t){return b(e)?{checked:Pe(t)}:{value:t??""}}var _o=/^#\/definition\//;function ue(e=[],t){let r=ce(e,t);return Array.isArray(r)?r.filter(o=>o.hidden!==!0).sort((o,n)=>kt(o)-kt(n)):[]}function ce(e,t,r=new Map,o=new WeakSet){if(!Bo(t)||!e||typeof e!="object")return e;if(r.has(e))return r.get(e);if(o.has(e))return e;if(o.add(e),Array.isArray(e))return e.map(i=>ce(i,t,r,o));if(L in e&&v(e[L])){let i=e[L].replace(_o,""),l=N(t,i);return l!==null?ce(l,t,r,o):e}let n={};for(let[i,l]of Object.entries(e))n[i]=ce(l,t,r,o);return o.delete(e),r.set(e,n),n}function wt(e){return Object.entries(e??{})}function kt(e){return e.order??Number.MAX_VALUE}function Bo(e){return e!==void 0&&c(e)&&Object.keys(e).length>0}function Dt(e,t){let r={};for(let[o,n]of wt(t))r[`${e}-${o}`]=n;return r}function Vt(e){return Dt(at,e)}function Lt(e){return Dt(ct,e)}var Mt={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},_t={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function Bt(e,t=2){return Mt[e&&e in Mt?e:t]}function Ut(e){if(e&&e in _t)return _t[e]}var Uo=/^\d+$/;function Gt(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function Xt(e,t){return t>=e?Array.from({length:t-e+1},(r,o)=>{let n=e+o;return{value:n.toString(),label:n.toString()}}):[]}function Oe(){return new Date().getFullYear()}function ke(e,t){if(typeof e=="number")return e;let r=t??Oe(),o=e.trim().toLowerCase();if(o.startsWith("current")){let n=o.match(/^current([+-])(\d+)$/);if(n){let[,i,l]=n,a=parseInt(l,10);if(!isNaN(a))return i==="+"?r+a:r-a}return r}return Uo.test(o)?parseInt(o,10):r}var u=require("zod");var Go=[[le,$o],[ht,Xo],[ie,Ko],[ne,Wo],[b,Yo],[h,Ho]];function Yt(e){return u.z.object(e)}function Ht(e){let t={},r=u.z.flattenError(e).fieldErrors;for(let[o,n]of Object.entries(r))n!==void 0&&(t[o]=n);return t}function qt(e){for(let[t,r]of Go)if(t(e))return r(e);return qo(e)}function Xo(e){let t=u.z.string().trim();if(e.required){let r=t.min(1,e.validation?.required).pipe(u.z.email(e.validation?.email));return u.z.preprocess(o=>re(o)?"":o,r)}return t.pipe(u.z.email(e.validation?.email)).or(u.z.literal("")).nullable()}function Yo(e){let t=u.z.coerce.boolean();return e.required?(t=t.refine(r=>r===!0,{message:e.validation?.required}),u.z.preprocess(r=>r===null?!1:r,t)):t.nullable()}function Ho(e){let t=u.z.coerce.string();return e.required?(t=t.min(1,e.validation?.required),u.z.preprocess(r=>re(r)?"":r,t)):t.or(u.z.literal("")).nullable()}function qo(e){let t=u.z.coerce.string().trim();return t=$t(t,e),e.required?(t=Kt(t,e),u.z.preprocess(r=>re(r)?"":r,t)):t.nullable()}function $o(e){let t=u.z.coerce.number().int();return t=$t(t,e),e.required?(t=Kt(t,e),u.z.preprocess(r=>r===null?void 0:r,t)):t.nullable()}function Ko(e){if(e.required){let t=u.z.coerce.number({message:e.validation?.required}).int();return u.z.preprocess(Zo,t)}return u.z.coerce.number().int().nullable()}function Wo(e){let t=u.z.coerce.number().int().min(1,e.validation?.required).max(12,e.validation?.required);return e.required?t:t.nullable()}function Zo(e){return e===null||e===""?void 0:e}function $t(e,t){return e=zo(e,t),e=jo(e,t),e}function Kt(e,t){let r=t.advanced?.length?.min;return r===void 0||r<1?e.min(1,t.validation?.required):e}var zo=(e,t)=>Wt(e,t,Q),jo=(e,t)=>Wt(e,t,ee);function Wt(e,t,r){let o=t.advanced?.length?.[r];return o!==void 0?e[r](o,t.validation?.length?.[r]):e}function Zt(e,t){if(!t||!Qo(e))return!0;if(t.length===0)return!1;try{let r=new URL(e),o=r.protocol.replace(":",""),n=r.hostname,i=r.port||Jo(o);return t.some(l=>!(l.protocol&&l.protocol!==o||l.hostname&&l.hostname!==n||l.port!==void 0&&String(l.port)!==i))}catch{return!1}}function Jo(e){return e==="https"?"443":"80"}function Qo(e){return/^(https?:)?\/\//.test(e)}function zt(e,t){try{if(!e)return t;if(!t)return e;let r=new URL(e,te);new URL(t,te).searchParams.forEach((i,l)=>{r.searchParams.set(l,i)});let n=r.toString();return e.startsWith("/")||!e.includes("://")?n.replace(te,""):n}catch{return t||e}}function jt(e){return!Array.isArray(e)||e.length===0?null:e.reduce((t,r)=>{let o=zt(t.url,r.url),n=en(t,r),i=tn(t,r);return{...t,...r,url:o,body:n,headers:i}})}function en(e,t){return c(t.body)&&c(e?.body)?{...e.body,...t.body}:t.body??e?.body}function tn(e,t){return c(t.headers)&&c(e?.headers)?{...e.headers,...t.headers}:t.headers??e?.headers}function Jt(e=[],t){let r=[],o=[];e.forEach(n=>{n.action===V&&r.push(n),n.action===dt&&o.push(n)}),t({sources:o,values:r})}function Qt(e=null,t=[],r){t.forEach(o=>{let{target:n,source:i}=o;if(!e){r(n,void 0);return}if(mt(i)){let l=P(i.url,e),a=i.body?P(i.body,e):i.body;r(n,{...i,url:l,body:a})}})}function er(e=null,t=[],r){t.forEach(o=>{Object.entries(o.value).forEach(([n,i])=>{r(n,e?P(i,e):void 0)})})}var tr=require("react/jsx-runtime");function $(e){return Tt(e,(t,r,o)=>(0,tr.jsx)("a",{className:"underline",href:r,rel:"noopener noreferrer",target:"_blank",children:o},`${r}-${t}`))}var O=require("react/jsx-runtime");function rr(e){return(0,O.jsxs)(O.Fragment,{children:[(0,O.jsx)("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:$(e.title)}),(0,O.jsx)("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:$(e.description)})]})}function se(e,t){return{...e,...t}}var _=require("react/jsx-runtime");function or(e){let t=e.section.fields||[],{compact:r}=se(e.style,{compact:e.section.compact});return!e.section.title&&!e.section.description?(0,_.jsx)(H,{compact:r,children:e.children}):(0,_.jsxs)("fieldset",{"data-slot":"field-set","data-empty":t.length===0,className:"flex flex-col data-[empty=false]:gap-6",children:[(0,_.jsx)(rr,{description:e.section.description,title:e.section.title}),(0,_.jsx)(H,{compact:r,children:e.children})]})}var ir=require("react");var we=require("react/jsx-runtime");function nr(){return(0,we.jsx)("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:(0,we.jsx)("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}var R=require("react/jsx-runtime");function lr(e){let t=ue(e.sections,e.definition);return(0,R.jsx)("div",{className:"h-full w-full",children:(0,R.jsx)("form",{noValidate:e.noValidate,action:e.action,children:(0,R.jsxs)(H,{children:[t.map((r,o)=>(0,R.jsxs)(ir.Fragment,{children:[(0,R.jsx)(or,{section:r,style:e.config.style,children:e.children({disabled:e.readOnly,fields:r.fields})}),r.separator&&(0,R.jsx)(nr,{})]},o)),e.control&&(0,R.jsx)(Xe,{children:e.control})]})})})}var cr=require("react/jsx-runtime");function ar(e){return(0,cr.jsx)("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}var ur=require("react/jsx-runtime");function de(e){let t=$(e.text);return t?(0,ur.jsx)(ar,{children:t}):null}var sr=require("tailwind-merge"),me=require("react/jsx-runtime");function dr(e){let t=h(e.field)||b(e.field);return(0,me.jsxs)("label",{"data-slot":"field-label","data-normal":t,className:(0,sr.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,me.jsx)("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:"(Optional)"})]})}var K=require("react/jsx-runtime");function mr(e){return(0,K.jsxs)("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[(0,K.jsx)(dr,{field:e.field,children:e.field.label}),e.orientation===M&&(0,K.jsx)(de,{text:e.field.description})]})}var k=require("react/jsx-runtime");function fr(e){let t=ae(e.field);return(0,k.jsxs)(k.Fragment,{children:[e.field.name&&e.field.label&&(0,k.jsx)(mr,{field:e.field,orientation:t}),e.children,t===S&&e.field.description&&(0,k.jsx)(de,{text:e.field.description})]})}function pr(e,t){return e?t(e):null}var Tr=require("jotai");var w=require("jotai"),De=require("jotai-family"),fe=require("fast-equals");function pe(e){return(0,De.atomFamily)(t=>(0,w.atom)(r=>r(e)[t]??void 0,(r,o,n)=>{let i=r(e);if(n!=null){let l=i[t];(!l||!(0,fe.deepEqual)(l,n))&&o(e,{...i,[t]:n})}else if(i[t]){let{[t]:l,...a}=i;o(e,a)}}))}function gr(e){return(0,w.atom)(null,(t,r)=>{let o=t(e);o&&Object.keys(o).length>0&&r(e,{})})}function ge(e){return(0,w.atom)(null,(t,r,o)=>{let i={...t(e)},l=!1;for(let a of o)i[a]&&(delete i[a],l=!0);l&&r(e,i)})}function ye(e){return(0,w.atom)(null,(t,r,o)=>{let n=t(e);(0,fe.deepEqual)(n,o)||r(e,o)})}function yr(e,t={}){let{merge:r,validateTarget:o}=t;return(0,De.atomFamily)(n=>(0,w.atom)(i=>{let l=i(e)[n];if(l&&r)return r(Object.values(l))},(i,l,a,m)=>{if(o&&!o(a))return;let s=i(e),d={...s[a]??{}};if(m!=null){let C=d[n];(!C||!(0,fe.deepEqual)(C,m))&&(d[n]=m,l(e,{...s,[a]:d}))}else if(d[n])if(delete d[n],Object.keys(d).length===0){let{[a]:C,...X}=s;l(e,X)}else l(e,{...s,[a]:d})}))}function xr(e){return(0,w.atom)(null,(t,r,o)=>{let i={...t(e)},l=!1;for(let a of o)i[a]&&(delete i[a],l=!0);for(let a in i){let m={...i[a]},s=!1;for(let d of o)m[d]&&(delete m[d],s=!0,l=!0);s&&(Object.keys(m).length===0?delete i[a]:i[a]=m)}l&&r(e,i)})}var W=(0,Tr.atom)({}),br=ge(W),hr=ye(W),Rr=pe(W);var Ar=require("jotai");var F=(0,Ar.atom)({}),Sr=gr(F),Er=ge(F),Xi=ye(F),Nr=pe(F);var Lr=require("react"),Z=require("jotai");var Fr=require("jotai");var Ir=(0,Fr.atom)({}),Cr=yr(Ir,{merge:e=>{let t=jt(e);if(t)return t},validateTarget:e=>e.trim()!==""}),vr=xr(Ir);var kr=require("jotai");var Pr=Co(require("swr"),1);function Or(e=null,t,r=!1){let{data:o,error:n}=(0,Pr.default)(rn(e,t,r),t.fetcher.provider);if(n&&console.error("Error fetching data source:",n),e){if(Array.isArray(e))return[e];if(o)return[pt(o,e.namespace)]}return[null]}function rn(e=null,t,r=!1){if(e&&!Array.isArray(e)&&!r&&e.url&&!oe(e.url)){if(Zt(e.url,t.fetcher.remotePatterns))return e;console.warn(`URL blocked by remotePatterns: ${e.url}. Check your luna.config.ts`)}return null}function wr(e,t,r){let o=vt(e,r),[n,i]=(0,kr.useAtom)(Cr(e.name)),l=n??o,[a]=Or(l,t,e.disabled);return[a,i]}var D=require("react");function Dr(e,t,r){let o=(0,D.useMemo)(()=>qt(e),[e]),n=(0,D.useEffectEvent)(l=>{l&&t(l,o)}),i=(0,D.useEffectEvent)(l=>{l&&r(l)});return(0,D.useEffect)(()=>(n(e.name),()=>{i(e.name)}),[e.name]),[o]}var xe=require("react");function Vr(){let e=(0,xe.useRef)(null);(0,xe.useEffect)(()=>{let o=e.current;return()=>{o&&clearTimeout(o)}},[]);function t(){e.current&&(clearTimeout(e.current),e.current=null)}function r(o,n){t(),e.current=setTimeout(o,n)}return[r,t]}var Ve=require("react/jsx-runtime");function Mr(e){let t=(0,Z.useSetAtom)(Rr(e.field.name)),[r,o]=(0,Z.useAtom)(Nr(e.field.name)),n=(0,Z.useSetAtom)(F),[i]=Dr(e.field,e.onMount,e.onUnmount),[l,a]=wr(e.field,e.config,r),{commonPropsWithOptions:m,defaultValue:s}=Pt(e.field,e.commonProps,l,r),d=Ot(e.field,s),[C]=Vr();function X(p,f){if(Nt(e.field)){C(()=>{f({value:p})},500);return}let x=ft(p,l,e.field.advanced?.entity);f(x)}function Re(p){let f=p.target.value;o(f),e.config.validation.change&&Y(f);let x=e.field.event?.change;x&&X(f,g=>{Jt(x,({sources:bo,values:ho})=>{(0,Lr.startTransition)(()=>{Qt(g,bo,(Se,Ee)=>a(Se,Ee)),er(g,ho,(Se,Ee)=>{n(Ro=>({...Ro,[Se]:Ee}))})})})})}function Ae(p){if(Rt(e.field))return;let f=p.target.value;e.config.validation.blur&&Y(f)}function Y(p){let x=i.safeParse(p).error?.issues.map(g=>g.message)??[];t(x)}return pr(e.config.inputs[e.field.type],p=>(0,Ve.jsx)(fr,{field:e.field,children:(0,Ve.jsx)(p,{...m,...e.ariaAttributes,...e.dataAttributes,...d,onBlur:Ae,onChange:Re})}))}var _r=require("tailwind-merge"),Le=require("react/jsx-runtime");function Br(e){let t=Bt(e.column?.advanced?.cols);return(0,Le.jsx)("div",{className:"flex w-full flex-col gap-4",children:(0,Le.jsx)("div",{className:(0,_r.twMerge)("grid grid-cols-1 gap-8 sm:gap-4",t),children:e.children})})}var Me=require("react/jsx-runtime");function Ur(e){return!e.errors||e.errors.length===0?null:(0,Me.jsx)("ul",{className:"text-sm text-red-600 dark:text-red-500",id:e.name?`${e.name}-error`:void 0,children:e.errors?.map((t,r)=>(0,Me.jsx)("li",{children:t},e.name?`${e.name}-error-${r}`:r))})}var Gr=require("tailwind-merge"),Xr=require("react/jsx-runtime");function Te(e){let t=e.errors&&e.errors.length>0;return(0,Xr.jsx)("div",{"data-slot":"field",...t&&{[it]:"true"},...e.disabled&&{[lt]:"true"},"data-orientation":e.orientation,className:(0,Gr.twMerge)("group flex w-full flex-col items-center data-[invalid=true]:text-red-600 data-[invalid=true]:dark:text-red-500","has-[>[role=checkbox],[role=radiogroup]]:items-start","has-[>[role=checkbox]]:flex-row-reverse","has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radiogroup]]:mt-px",Ut(e.cols),e.className),children:e.children})}var Hr=require("react/jsx-runtime");function Yr(e){return(0,Hr.jsx)(Te,{...e,orientation:S,className:"gap-3 has-[>[data-slot=field-content]]:items-start [&>*:not([role=checkbox]):not([role=radiogroup])]:w-full",children:e.children})}var $r=require("react/jsx-runtime");function qr(e){return(0,$r.jsx)(Te,{...e,orientation:M,className:"gap-2 md:flex-row md:gap-4 has-[>[role=radiogroup]]:md:flex-col [&:not(:has(>[role=checkbox],[role=radiogroup]))]:md:justify-between [&>*:not([role=checkbox]):not([role=radiogroup]):not([data-slot=field-content])]:w-full [&>*:not([role=checkbox]):not([role=radiogroup]):not([data-slot=field-content])]:md:w-1/2 [&>*:not([role=checkbox]):not([role=radiogroup]):not([data-slot=field-content])]:xl:w-2/5 [&>[data-slot=field-content]]:min-w-0 [&>[data-slot=field-content]]:flex-grow [&>[data-slot=field-content]]:self-start",children:e.children})}var _e=require("react/jsx-runtime");function Kr(e){return e.orientation===S?(0,_e.jsx)(Yr,{cols:e.cols,disabled:e.disabled,errors:e.errors,children:e.children}):(0,_e.jsx)(qr,{cols:e.cols,disabled:e.disabled,errors:e.errors,children:e.children})}var be=Oe();function Wr(e){if(y(e))return on(e)}function on(e){if(ne(e))return Gt();if(ie(e)){let t=e.advanced?.length?.min??be,r=e.advanced?.length?.max??be+5;return Xt(ke(t,be),ke(r,be))}}function Zr(e,t=!1){let r={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return Ce(e)?{...r,...nn(e)}:y(e)?{...r,...ln(e)}:ve(e)?{...r,...an(e)}:r}function nn(e){let t=yt(e.type),r={...e,type:t};return{...zr(e),...cn(r),...bt(r)?jr(r):{},type:t}}function ln(e){let t=Wr(e);return t?{options:t}:{}}function an(e){return{...zr(e),...jr(e)}}function zr(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function cn(e){return le(e)?un(e):{}}function jr(e){return Jr(e,{min:ut,max:st})}function un(e){return Jr(e,{min:Q,max:ee})}function Jr(e,t){let r={},o=e.advanced?.length;return o&&(o.min!==void 0&&(r[t.min]=o.min),o.max!==void 0&&(r[t.max]=o.max)),r}function Qr(e,t){let r=Vt(e.advanced?.aria);return t&&t.length>0&&(r[nt]="true",r[ot]=`${e.name}-error`),r}function eo(e){return Lt(e.advanced?.data)}function to(e){if(!e.field.type)return null;let t=Zr(e.field,e.disabled),r=eo(e.field),o=Qr(e.field,e.errors),n={...e.field,disabled:t.disabled};return e.children({ariaAttributes:o,commonProps:t,dataAttributes:r,field:n})}var B=require("react/jsx-runtime");function ro(e){let t=e.field.advanced?.cols,r=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:o}=se(e.style,{orientation:ae(e.field)}),n=It(e.field,e.disabled);return(0,B.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,B.jsx)(Kr,{cols:t,disabled:n,errors:r,orientation:o,children:(0,B.jsx)(to,{disabled:n,errors:r,field:e.field,children:e.children})}),(0,B.jsx)(Ur,{errors:r,name:e.field.name})]})}var oo=require("jotai"),io=require("react/jsx-runtime");function no(e){return r=>{let o=(0,oo.useAtomValue)(W);return(0,io.jsx)(e,{...r,errors:o})}}var lo=no(ro);var ao=require("react"),U=require("react/jsx-runtime");function Be(e){let t=ue(e.fields),{column:r,field:o}=e.components;return t.map((n,i)=>(0,U.jsxs)(ao.Fragment,{children:[At(n)&&(0,U.jsx)(r,{column:n,children:(0,U.jsx)(Be,{...e,fields:n.fields})}),St(n)&&(0,U.jsx)(o,{disabled:e.disabled,field:n,style:e.style,children:e.children})]},i))}var uo=require("react/jsx-runtime"),co=e=>(0,uo.jsx)(Be,{...e,components:{column:Br,field:lo}});var Ue=require("jotai");var G=require("react");function fo(e,t,r){let{onError:o,onSuccess:n,preserveValues:i=!1,validation:l=!0,value:a=null}=r??{},m=(0,Ue.useSetAtom)(hr),s=(0,Ue.useSetAtom)(Sr),d={data:a,error:null,success:!1},[C,X,Re]=(0,G.useActionState)(async(Ae,Y)=>{let p=Yt(e());if(l===!1)return t?await t(Y,p):Ae;let f=xt(Y),x=p.safeParse(f);if(!x.success){let g=Ht(x.error);return(0,G.startTransition)(()=>{m(g)}),mo(f,{details:g,title:"There were validation errors submitting the form."})}if(t)try{let g=await t(f,p);return g.success?(n?.(g.data),i||(0,G.startTransition)(()=>{s()})):g.error&&(0,G.startTransition)(()=>{o?.(g.error)}),so(f,i)}catch(g){return mo(f,{title:"An unexpected error occurred submitting the form.",details:sn(g)})}return so(x.data,i)},d);return[X,C,Re]}function sn(e){let t=e instanceof Error?e.message:["Unknown error"];return Array.isArray(t)?t:[t]}function so(e,t=!1){return{data:t?e:null,error:null,success:!0}}function mo(e,t){return{data:e,error:t,success:!1}}var xo=require("jotai/utils");var I=require("react");var po=require("react"),he=require("jotai");function go(){let e=(0,he.useSetAtom)(br),t=(0,he.useSetAtom)(vr),r=(0,he.useSetAtom)(Er);return(0,po.useCallback)(o=>{let n=Array.isArray(o)?o:[o];e(n),t(n),r(n)},[e,t,r])}function yo(){let e=go(),t=(0,I.useRef)({}),r=(0,I.useRef)(new Set),o=(0,I.useCallback)((l,a)=>{l in t.current||(t.current[l]=a)},[]),n=(0,I.useCallback)(l=>{t.current[l]&&(delete t.current[l],r.current.add(l),(0,I.startTransition)(()=>{r.current.size>0&&(e(Array.from(r.current)),r.current.clear())}))},[e]);function i(){return t.current}return[i,o,n]}var A=require("react/jsx-runtime");function To(e){let[t,r,o]=yo(),[n,i]=fo(t,e.action,{onError:e.onError,onSuccess:e.onSuccess,validation:e.config.validation.submit,value:e.value});(0,xo.useHydrateAtoms)([[F,e.value??{}]]);let l=e.config.alert??(()=>null),a=e.config.validation.showError&&!i.success&&i.error;return(0,A.jsx)(lr,{action:n,config:e.config,control:e.children,definition:e.definition,noValidate:!0,readOnly:e.readOnly,sections:e.sections,children:({disabled:m,fields:s})=>(0,A.jsxs)(A.Fragment,{children:[a&&(0,A.jsx)(l,{title:i.error.title,description:i.error?.description,details:i.error?.details}),(0,A.jsx)(co,{disabled:m,fields:s,style:e.config.style,children:d=>(0,A.jsx)(Mr,{...d,config:e.config,onMount:r,onUnmount:o,value:i.data})})]})})}
@@ -1 +1 @@
1
- import{jsx as F,jsxs as ue}from"react/jsx-runtime";function Fe(e){let t=Array.isArray(e.details)?e.details:e.details?Object.values(e.details).flat():null;return ue("div",{"data-slot":"alert",role:"alert",className:"relative grid w-full grid-cols-[0_1fr] items-start gap-y-0.5 rounded-lg border bg-transparent px-4 py-3 text-sm text-red-500 has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] has-[>svg]:gap-x-3 *:data-[slot=alert-description]:text-red-500/90 [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",children:[ue("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[F("circle",{cx:"12",cy:"12",r:"10"}),F("line",{x1:"12",x2:"12",y1:"8",y2:"12"}),F("line",{x1:"12",x2:"12.01",y1:"16",y2:"16"})]}),F("div",{"data-slot":"alert-title",className:"col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",children:e.title}),ue("div",{"data-slot":"alert-description",className:"col-start-2 grid justify-items-start gap-1 text-sm",children:[e.description&&F("p",{children:e.description}),t&&F("ul",{className:"list-inside list-disc text-sm",children:t.map((r,o)=>F("li",{children:r},o))})]})]})}import{jsx as Zr}from"react/jsx-runtime";function Ie(e){return Zr("div",{"data-slot":"field-control",className:"w-full",children:e.children})}import{jsx as jr}from"react/jsx-runtime";function V(e){return jr("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 U="input",Ce="input/email",ve="input/number";var Pe="textarea",ke="radio",Oe="checkbox",we="select",De="select/month",Ve="select/year";var de="column";var Le="label",v="value",G="options",me="email",Me="number",_e="password",Be="tel",L="text",Ue="aria-errormessage",Ge="aria-invalid",Xe="data-invalid",Ye="data-readonly",He="aria",qe="data",X="min",Y="max",$e="minLength",Ke="maxLength",P="$ref",We="source";var H="http://luna.internal",R="vertical",k="horizontal";function s(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function q(e){return e==null||e===""}function A(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function I(e){return typeof e=="string"}function ze(e){return s(e)&&"url"in e}var Jr=/[^/]+$/;function Ze(e,t=[],r=v){if(Array.isArray(t))return t.find(o=>{let n=fe(o,r);if(n!==void 0&&`${n}`===e)return o})??{value:e}}function fe(e,t=v){if(e!=null){if(A(e))return e;if(s(e)){let r=Qr(e,t);if(A(r))return r}}}function Qr(e,t){let r=S(e,t);if(A(r))return r}function je(e,t){if(Array.isArray(e))return e;let r=S(e,t);return Array.isArray(r)?r:null}function S(e,t){if(!t||!s(e))return null;let r=t.split(".").filter(n=>n!=="");if(r.length===0)return null;let o=e;for(let n of r)if(s(o)&&n in o)o=o[n];else return null;return o}function Je(e,t={label:Le,value:v}){return e.map(r=>{if(s(r)){let o=S(r,t.label),n=S(r,t.value);if(A(o)&&A(n))return{label:`${o}`,value:`${n}`}}return r})}function Qe(e=L){if(e){let t=e.match(Jr);if(t){let[r]=t;if(r!==U)return r.trim().toLowerCase()}}return L}function et(e){let t={};for(let r of e.keys()){let o=e.getAll(r);t[r]=o.length>1?o:o[0]}return t}var eo=/\[([^\]]+)\]\(([^)]+)\)/g;function C(e,t={}){if(I(e))return to(e,t);if(Array.isArray(e))return e.map(r=>C(r,t));if(s(e)){let r={};for(let o in e)r[o]=C(e[o],t);return r}return e}function $(e){return I(e)?/{([^}]+)}/.test(e):Array.isArray(e)?e.some(t=>$(t)):s(e)?Object.values(e).some(t=>$(t)):!1}function to(e,t={}){return e.replace(/{([^}]+)}/g,(r,o)=>{let n=o.includes(".")?S(t,o):t[o];return A(n)?String(n):r})}function tt(e,t){if(!e||e.trim().length===0)return null;let r,o=0,n=!1,i=[];for(;(r=eo.exec(e))!==null;){let[l,a,u]=r,d=r.index;n=!0,d>o&&i.push(e.substring(o,d));let m=t?t(d,u,a):l;i.push(m),o=d+l.length}return n?(o<e.length&&i.push(e.substring(o)),i):e}var K=e=>b(De)(e),W=e=>b(Ve)(e),T=b(Oe),pe=b(U),h=b(ke),y=b(we),ge=b(Pe),rt=b(L,me,_e,Be),ot=b(Ce,me),z=b(ve,Me);function nt(e){return h(e)||T(e)}function it(e){return e.type===de}function lt(e){return e.type!==de}function at(e){return y(e)||h(e)}function st(e){return pe(e)||ge(e)}function ye(e){return e!=null&&e!==""}function b(...e){return t=>{let r=I(t.type)?t.type:void 0;return r?e.some(o=>r===o||r?.startsWith(`${o}/`)):!1}}function ct(e,t={}){if(y(e)&&e.disabled){let r=e.name?t?.[e.name]:void 0;if(r&&s(r))return[r]}}function Z(e){return h(e)||T(e)?k:e.advanced?.orientation??R}function ut(e,t){let r=e.readonly??!1;return t||r}function dt(e){if(h(e)||y(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||s(t)&&!(P in t))return t}}function mt(e,t){let r=dt(e);return r||ct(e,t)}function ro(e,t){let r=s(t)&&e.name in t?t[e.name]:t;return fe(r,e.advanced?.entity)}function oo(e,t,r){return at(e)&&Array.isArray(r)?{...t,[G]:r}:t}function no(e,t,r){if(e.required&&!ye(r)&&y(e)&&e.advanced?.preselected!==!1&&G in t){let o=t[G];if(Array.isArray(o)&&o.length===1)return o[0]}return r}function io(e,t){return y(e)&&Array.isArray(t)?Je(t,e.advanced?.options):t}function ft(e,t,r,o){let n=ro(e,o),i=Array.isArray(r)?io(e,r):r,l=oo(e,t,i),a=no(e,l,n);return{commonPropsWithOptions:l,defaultValue:a}}function pt(e,t){return T(e)?{checked:ye(t)}:{value:t??""}}var lo=/^#\/definition\//;function J(e=[],t){let r=j(e,t);return Array.isArray(r)?r.filter(o=>o.hidden!==!0).sort((o,n)=>gt(o)-gt(n)):[]}function j(e,t,r=new Map,o=new WeakSet){if(!ao(t)||!e||typeof e!="object")return e;if(r.has(e))return r.get(e);if(o.has(e))return e;if(o.add(e),Array.isArray(e))return e.map(i=>j(i,t,r,o));if(P in e&&I(e[P])){let i=e[P].replace(lo,""),l=S(t,i);return l!==null?j(l,t,r,o):e}let n={};for(let[i,l]of Object.entries(e))n[i]=j(l,t,r,o);return o.delete(e),r.set(e,n),n}function yt(e){return Object.entries(e??{})}function gt(e){return e.order??Number.MAX_VALUE}function ao(e){return e!==void 0&&s(e)&&Object.keys(e).length>0}function xt(e,t){let r={};for(let[o,n]of yt(t))r[`${e}-${o}`]=n;return r}function bt(e){return xt(He,e)}function Tt(e){return xt(qe,e)}var ht={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},Rt={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function At(e,t=2){return ht[e&&e in ht?e:t]}function St(e){if(e&&e in Rt)return Rt[e]}var so=/^\d+$/;function Et(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function Nt(e,t){return t>=e?Array.from({length:t-e+1},(r,o)=>{let n=e+o;return{value:n.toString(),label:n.toString()}}):[]}function xe(){return new Date().getFullYear()}function be(e,t){if(typeof e=="number")return e;let r=t??xe(),o=e.trim().toLowerCase();if(o.startsWith("current")){let n=o.match(/^current([+-])(\d+)$/);if(n){let[,i,l]=n,a=parseInt(l,10);if(!isNaN(a))return i==="+"?r+a:r-a}return r}return so.test(o)?parseInt(o,10):r}import{z as c}from"zod";var co=[[z,go],[ot,uo],[W,yo],[K,xo],[T,mo],[h,fo]];function Ft(e){return c.object(e)}function It(e){let t={},r=c.flattenError(e).fieldErrors;for(let[o,n]of Object.entries(r))n!==void 0&&(t[o]=n);return t}function Ct(e){for(let[t,r]of co)if(t(e))return r(e);return po(e)}function uo(e){let t=c.string().trim();if(e.required){let r=t.min(1,e.validation?.required).pipe(c.email(e.validation?.email));return c.preprocess(o=>q(o)?"":o,r)}return t.pipe(c.email(e.validation?.email)).or(c.literal("")).nullable()}function mo(e){let t=c.coerce.boolean();return e.required?(t=t.refine(r=>r===!0,{message:e.validation?.required}),c.preprocess(r=>r===null?!1:r,t)):t.nullable()}function fo(e){let t=c.coerce.string();return e.required?(t=t.min(1,e.validation?.required),c.preprocess(r=>q(r)?"":r,t)):t.or(c.literal("")).nullable()}function po(e){let t=c.coerce.string().trim();return t=vt(t,e),e.required?(t=Pt(t,e),c.preprocess(r=>q(r)?"":r,t)):t.nullable()}function go(e){let t=c.coerce.number().int();return t=vt(t,e),e.required?(t=Pt(t,e),c.preprocess(r=>r===null?void 0:r,t)):t.nullable()}function yo(e){if(e.required){let t=c.coerce.number({message:e.validation?.required}).int();return c.preprocess(bo,t)}return c.coerce.number().int().nullable()}function xo(e){let t=c.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 vt(e,t){return e=To(e,t),e=ho(e,t),e}function Pt(e,t){let r=t.advanced?.length?.min;return r===void 0||r<1?e.min(1,t.validation?.required):e}var To=(e,t)=>kt(e,t,X),ho=(e,t)=>kt(e,t,Y);function kt(e,t,r){let o=t.advanced?.length?.[r];return o!==void 0?e[r](o,t.validation?.length?.[r]):e}function Ot(e,t){if(!t||!Ao(e))return!0;if(t.length===0)return!1;try{let r=new URL(e),o=r.protocol.replace(":",""),n=r.hostname,i=r.port||Ro(o);return t.some(l=>!(l.protocol&&l.protocol!==o||l.hostname&&l.hostname!==n||l.port!==void 0&&String(l.port)!==i))}catch{return!1}}function Ro(e){return e==="https"?"443":"80"}function Ao(e){return/^(https?:)?\/\//.test(e)}function wt(e,t){try{if(!e)return t;if(!t)return e;let r=new URL(e,H);new URL(t,H).searchParams.forEach((i,l)=>{r.searchParams.set(l,i)});let n=r.toString();return e.startsWith("/")||!e.includes("://")?n.replace(H,""):n}catch{return t||e}}function Dt(e){return!Array.isArray(e)||e.length===0?null:e.reduce((t,r)=>{let o=wt(t.url,r.url),n=So(t,r),i=Eo(t,r);return{...t,...r,url:o,body:n,headers:i}})}function So(e,t){return s(t.body)&&s(e?.body)?{...e.body,...t.body}:t.body??e?.body}function Eo(e,t){return s(t.headers)&&s(e?.headers)?{...e.headers,...t.headers}:t.headers??e?.headers}function Vt(e=[],t){let r=[],o=[];e.forEach(n=>{n.action===v&&r.push(n),n.action===We&&o.push(n)}),t({sources:o,values:r})}function Lt(e=null,t=[],r){t.forEach(o=>{let{target:n,source:i}=o;if(!e){r(n,void 0);return}if(ze(i)){let l=C(i.url,e),a=i.body?C(i.body,e):i.body;r(n,{...i,url:l,body:a})}})}function Mt(e=null,t=[],r){t.forEach(o=>{Object.entries(o.value).forEach(([n,i])=>{r(n,e?C(i,e):void 0)})})}import{jsx as No}from"react/jsx-runtime";function M(e){return tt(e,(t,r,o)=>No("a",{className:"underline",href:r,rel:"noopener noreferrer",target:"_blank",children:o},`${r}-${t}`))}import{Fragment as Fo,jsx as _t,jsxs as Io}from"react/jsx-runtime";function Bt(e){return Io(Fo,{children:[_t("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:M(e.title)}),_t("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:M(e.description)})]})}import{jsx as Te,jsxs as Co}from"react/jsx-runtime";function Ut(e){if(!e.section.title&&!e.section.description)return Te(V,{compact:e.section.compact,children:e.children});let t=e.section.fields||[];return Co("fieldset",{"data-slot":"field-set","data-empty":t.length===0,className:"flex flex-col data-[empty=false]:gap-6",children:[Te(Bt,{description:e.section.description,title:e.section.title}),Te(V,{compact:e.section.compact,children:e.children})]})}import{Fragment as vo}from"react";import{jsx as Gt}from"react/jsx-runtime";function Xt(){return Gt("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:Gt("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}import{jsx as _,jsxs as Yt}from"react/jsx-runtime";function Ht(e){let t=J(e.sections,e.definition);return _("div",{className:"h-full w-full",children:_("form",{noValidate:e.noValidate,action:e.action,children:Yt(V,{children:[t.map((r,o)=>Yt(vo,{children:[_(Ut,{section:r,children:e.children({disabled:e.readOnly,fields:r.fields})}),r.separator&&_(Xt,{})]},o)),e.control&&_(Ie,{children:e.control})]})})})}import{jsx as Po}from"react/jsx-runtime";function qt(e){return Po("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}import{jsx as ko}from"react/jsx-runtime";function Q(e){let t=M(e.text);return t?ko(qt,{children:t}):null}import{twMerge as Oo}from"tailwind-merge";import{jsx as wo,jsxs as Do}from"react/jsx-runtime";function $t(e){let t=h(e.field)||T(e.field);return Do("label",{"data-slot":"field-label","data-normal":t,className:Oo("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&&wo("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:"(Optional)"})]})}import{jsx as Kt,jsxs as Vo}from"react/jsx-runtime";function Wt(e){return Vo("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[Kt($t,{field:e.field,children:e.field.label}),e.orientation===k&&Kt(Q,{text:e.field.description})]})}import{Fragment as Lo,jsx as zt,jsxs as Mo}from"react/jsx-runtime";function Zt(e){let t=Z(e.field);return Mo(Lo,{children:[e.field.name&&e.field.label&&zt(Wt,{field:e.field,orientation:t}),e.children,t===R&&e.field.description&&zt(Q,{text:e.field.description})]})}function jt(e,t){return e?t(e):null}import{atom as _o}from"jotai";import{atom as O}from"jotai";import{atomFamily as Jt}from"jotai-family";import{deepEqual as he}from"fast-equals";function ee(e){return Jt(t=>O(r=>r(e)[t]??void 0,(r,o,n)=>{let i=r(e);if(n!=null){let l=i[t];(!l||!he(l,n))&&o(e,{...i,[t]:n})}else if(i[t]){let{[t]:l,...a}=i;o(e,a)}}))}function Qt(e){return O(null,(t,r)=>{let o=t(e);o&&Object.keys(o).length>0&&r(e,{})})}function te(e){return O(null,(t,r,o)=>{let i={...t(e)},l=!1;for(let a of o)i[a]&&(delete i[a],l=!0);l&&r(e,i)})}function re(e){return O(null,(t,r,o)=>{let n=t(e);he(n,o)||r(e,o)})}function er(e,t={}){let{merge:r,validateTarget:o}=t;return Jt(n=>O(i=>{let l=i(e)[n];if(l&&r)return r(Object.values(l))},(i,l,a,u)=>{if(o&&!o(a))return;let d=i(e),m={...d[a]??{}};if(u!=null){let N=m[n];(!N||!he(N,u))&&(m[n]=u,l(e,{...d,[a]:m}))}else if(m[n])if(delete m[n],Object.keys(m).length===0){let{[a]:N,...w}=d;l(e,w)}else l(e,{...d,[a]:m})}))}function tr(e){return O(null,(t,r,o)=>{let i={...t(e)},l=!1;for(let a of o)i[a]&&(delete i[a],l=!0);for(let a in i){let u={...i[a]},d=!1;for(let m of o)u[m]&&(delete u[m],d=!0,l=!0);d&&(Object.keys(u).length===0?delete i[a]:i[a]=u)}l&&r(e,i)})}var B=_o({}),rr=te(B),or=re(B),nr=ee(B);import{atom as Bo}from"jotai";var E=Bo({}),ir=Qt(E),lr=te(E),xl=re(E),ar=ee(E);import{startTransition as Wo}from"react";import{useAtom as zo,useSetAtom as yr}from"jotai";import{atom as Uo}from"jotai";var sr=Uo({}),cr=er(sr,{merge:e=>{let t=Dt(e);if(t)return t},validateTarget:e=>e.trim()!==""}),ur=tr(sr);import{useAtom as Yo}from"jotai";import Go from"swr";function dr(e=null,t,r=!1){let{data:o,error:n}=Go(Xo(e,t,r),t.fetcher.provider);if(n&&console.error("Error fetching data source:",n),e){if(Array.isArray(e))return[e];if(o)return[je(o,e.namespace)]}return[null]}function Xo(e=null,t,r=!1){if(e&&!Array.isArray(e)&&!r&&e.url&&!$(e.url)){if(Ot(e.url,t.fetcher.remotePatterns))return e;console.warn(`URL blocked by remotePatterns: ${e.url}. Check your luna.config.ts`)}return null}function mr(e,t,r){let o=mt(e,r),[n,i]=Yo(cr(e.name)),l=n??o,[a]=dr(l,t,e.disabled);return[a,i]}import{useEffect as Ho,useEffectEvent as fr,useMemo as qo}from"react";function pr(e,t,r){let o=qo(()=>Ct(e),[e]),n=fr(l=>{l&&t(l,o)}),i=fr(l=>{l&&r(l)});return Ho(()=>(n(e.name),()=>{i(e.name)}),[e.name]),[o]}import{useEffect as $o,useRef as Ko}from"react";function gr(){let e=Ko(null);$o(()=>{let o=e.current;return()=>{o&&clearTimeout(o)}},[]);function t(){e.current&&(clearTimeout(e.current),e.current=null)}function r(o,n){t(),e.current=setTimeout(o,n)}return[r,t]}import{jsx as xr}from"react/jsx-runtime";function br(e){let t=yr(nr(e.field.name)),[r,o]=zo(ar(e.field.name)),n=yr(E),[i]=pr(e.field,e.onMount,e.onUnmount),[l,a]=mr(e.field,e.config,r),{commonPropsWithOptions:u,defaultValue:d}=ft(e.field,e.commonProps,l,r),m=pt(e.field,d),[N]=gr();function w(p,f){if(st(e.field)){N(()=>{f({value:p})},500);return}let x=Ze(p,l,e.field.advanced?.entity);f(x)}function le(p){let f=p.target.value;o(f),e.config.validation.change&&D(f);let x=e.field.event?.change;x&&w(f,g=>{Vt(x,({sources:Kr,values:Wr})=>{Wo(()=>{Lt(g,Kr,(se,ce)=>a(se,ce)),Mt(g,Wr,(se,ce)=>{n(zr=>({...zr,[se]:ce}))})})})})}function ae(p){if(nt(e.field))return;let f=p.target.value;e.config.validation.blur&&D(f)}function D(p){let x=i.safeParse(p).error?.issues.map(g=>g.message)??[];t(x)}return jt(e.config.inputs[e.field.type],p=>xr(Zt,{field:e.field,children:xr(p,{...u,...e.ariaAttributes,...e.dataAttributes,...m,onBlur:ae,onChange:le})}))}import{twMerge as Zo}from"tailwind-merge";import{jsx as Tr}from"react/jsx-runtime";function hr(e){let t=At(e.column?.advanced?.cols);return Tr("div",{className:"flex w-full flex-col gap-4",children:Tr("div",{className:Zo("grid grid-cols-1 gap-8 sm:gap-4",t),children:e.children})})}import{jsx as Rr}from"react/jsx-runtime";function Ar(e){return!e.errors||e.errors.length===0?null:Rr("ul",{className:"text-sm text-red-600 dark:text-red-500",id:e.name?`${e.name}-error`:void 0,children:e.errors?.map((t,r)=>Rr("li",{children:t},e.name?`${e.name}-error-${r}`:r))})}import{twMerge as jo}from"tailwind-merge";import{jsx as Jo}from"react/jsx-runtime";function oe(e){let t=e.errors&&e.errors.length>0;return Jo("div",{"data-slot":"field",...t&&{[Xe]:"true"},...e.disabled&&{[Ye]:"true"},"data-orientation":e.orientation,className:jo("group flex w-full flex-col items-center data-[invalid=true]:text-red-600 data-[invalid=true]:dark:text-red-500","has-[>[role=checkbox],[role=radiogroup]]:items-start","has-[>[role=checkbox]]:flex-row-reverse","has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radiogroup]]:mt-px",St(e.cols),e.className),children:e.children})}import{jsx as Qo}from"react/jsx-runtime";function Sr(e){return Qo(oe,{...e,orientation:R,className:"gap-3 has-[>[data-slot=field-content]]:items-start [&>*:not([role=checkbox]):not([role=radiogroup])]:w-full",children:e.children})}import{jsx as en}from"react/jsx-runtime";function Er(e){return en(oe,{...e,orientation:k,className:"gap-2 md:flex-row md:gap-4 has-[>[role=radiogroup]]:md:flex-col [&:not(:has(>[role=checkbox],[role=radiogroup]))]:md:justify-between [&>*:not([role=checkbox]):not([role=radiogroup]):not([data-slot=field-content])]:w-full [&>*:not([role=checkbox]):not([role=radiogroup]):not([data-slot=field-content])]:md:w-1/2 [&>*:not([role=checkbox]):not([role=radiogroup]):not([data-slot=field-content])]:xl:w-2/5 [&>[data-slot=field-content]]:min-w-0 [&>[data-slot=field-content]]:flex-grow [&>[data-slot=field-content]]:self-start",children:e.children})}import{jsx as Nr}from"react/jsx-runtime";function Fr(e){return e.orientation===R?Nr(Sr,{cols:e.cols,disabled:e.disabled,errors:e.errors,children:e.children}):Nr(Er,{cols:e.cols,disabled:e.disabled,errors:e.errors,children:e.children})}var ne=xe();function Ir(e){if(y(e))return tn(e)}function tn(e){if(K(e))return Et();if(W(e)){let t=e.advanced?.length?.min??ne,r=e.advanced?.length?.max??ne+5;return Nt(be(t,ne),be(r,ne))}}function Cr(e,t=!1){let r={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return pe(e)?{...r,...rn(e)}:y(e)?{...r,...on(e)}:ge(e)?{...r,...nn(e)}:r}function rn(e){let t=Qe(e.type),r={...e,type:t};return{...vr(e),...ln(r),...rt(r)?Pr(r):{},type:t}}function on(e){let t=Ir(e);return t?{options:t}:{}}function nn(e){return{...vr(e),...Pr(e)}}function vr(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function ln(e){return z(e)?an(e):{}}function Pr(e){return kr(e,{min:$e,max:Ke})}function an(e){return kr(e,{min:X,max:Y})}function kr(e,t){let r={},o=e.advanced?.length;return o&&(o.min!==void 0&&(r[t.min]=o.min),o.max!==void 0&&(r[t.max]=o.max)),r}function Or(e,t){let r=bt(e.advanced?.aria);return t&&t.length>0&&(r[Ge]="true",r[Ue]=`${e.name}-error`),r}function wr(e){return Tt(e.advanced?.data)}function Dr(e){if(!e.field.type)return null;let t=Cr(e.field,e.disabled),r=wr(e.field),o=Or(e.field,e.errors),n={...e.field,disabled:t.disabled};return e.children({ariaAttributes:o,commonProps:t,dataAttributes:r,field:n})}import{jsx as Re,jsxs as sn}from"react/jsx-runtime";function Vr(e){let t=e.field.advanced?.cols,r=e.field.name?e.errors?.[e.field.name]:void 0,o=Z(e.field),n=ut(e.field,e.disabled);return sn("div",{className:"flex flex-col gap-3",children:[Re(Fr,{cols:t,disabled:n,errors:r,orientation:o,children:Re(Dr,{disabled:n,errors:r,field:e.field,children:e.children})}),Re(Ar,{errors:r,name:e.field.name})]})}import{useAtomValue as cn}from"jotai";import{jsx as un}from"react/jsx-runtime";function Lr(e){return r=>{let o=cn(B);return un(e,{...r,errors:o})}}var Mr=Lr(Vr);import{Fragment as dn}from"react";import{jsx as Ae,jsxs as mn}from"react/jsx-runtime";function Se(e){let t=J(e.fields),{column:r,field:o}=e.components;return t.map((n,i)=>mn(dn,{children:[it(n)&&Ae(r,{column:n,children:Ae(Se,{...e,fields:n.fields})}),lt(n)&&Ae(o,{disabled:e.disabled,field:n,children:e.children})]},i))}import{jsx as fn}from"react/jsx-runtime";var _r=e=>fn(Se,{...e,components:{column:hr,field:Mr}});import{useSetAtom as Br}from"jotai";import{startTransition as Ee,useActionState as pn}from"react";function Xr(e,t,r){let{onError:o,onSuccess:n,preserveValues:i=!1,validation:l=!0,value:a=null}=r??{},u=Br(or),d=Br(ir),m={data:a,error:null,success:!1},[N,w,le]=pn(async(ae,D)=>{let p=Ft(e());if(l===!1)return t?await t(D,p):ae;let f=et(D),x=p.safeParse(f);if(!x.success){let g=It(x.error);return Ee(()=>{u(g)}),Gr(f,{details:g,title:"There were validation errors submitting the form."})}if(t)try{let g=await t(f,p);return g.success?(n?.(g.data),i||Ee(()=>{d()})):g.error&&Ee(()=>{o?.(g.error)}),Ur(f,i)}catch(g){return Gr(f,{title:"An unexpected error occurred submitting the form.",details:gn(g)})}return Ur(x.data,i)},m);return[w,N,le]}function gn(e){let t=e instanceof Error?e.message:["Unknown error"];return Array.isArray(t)?t:[t]}function Ur(e,t=!1){return{data:t?e:null,error:null,success:!0}}function Gr(e,t){return{data:e,error:t,success:!1}}import{useHydrateAtoms as bn}from"jotai/utils";import{startTransition as xn,useCallback as Hr,useRef as qr}from"react";import{useCallback as yn}from"react";import{useSetAtom as Ne}from"jotai";function Yr(){let e=Ne(rr),t=Ne(ur),r=Ne(lr);return yn(o=>{let n=Array.isArray(o)?o:[o];e(n),t(n),r(n)},[e,t,r])}function $r(){let e=Yr(),t=qr({}),r=qr(new Set),o=Hr((l,a)=>{l in t.current||(t.current[l]=a)},[]),n=Hr(l=>{t.current[l]&&(delete t.current[l],r.current.add(l),xn(()=>{r.current.size>0&&(e(Array.from(r.current)),r.current.clear())}))},[e]);function i(){return t.current}return[i,o,n]}import{Fragment as hn,jsx as ie,jsxs as Rn}from"react/jsx-runtime";function Tn(e){let[t,r,o]=$r(),[n,i]=Xr(t,e.action,{onError:e.onError,onSuccess:e.onSuccess,validation:e.config.validation.submit,value:e.value});return bn([[E,e.value??{}]]),ie(Ht,{action:n,config:e.config,control:e.children,definition:e.definition,noValidate:!0,readOnly:e.readOnly,sections:e.sections,children:({disabled:l,fields:a})=>Rn(hn,{children:[!i.success&&i.error&&ie(Fe,{title:i.error.title,description:i.error.description,details:i.error.details}),ie(_r,{disabled:l,fields:a,children:u=>ie(br,{...u,config:e.config,onMount:r,onUnmount:o,value:i.data})})]})})}export{Tn as Form};
1
+ import{jsx as Wr}from"react/jsx-runtime";function Ne(e){return Wr("div",{"data-slot":"field-control",className:"w-full",children:e.children})}import{jsx as Zr}from"react/jsx-runtime";function D(e){return Zr("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 B="input",Fe="input/email",Ie="input/number";var Ce="textarea",ve="radio",Pe="checkbox",Oe="select",ke="select/month",we="select/year";var se="column";var De="label",C="value",U="options",de="email",Ve="number",Le="password",Me="tel",V="text",_e="aria-errormessage",Be="aria-invalid",Ue="data-invalid",Ge="data-readonly",Xe="aria",Ye="data",G="min",X="max",He="minLength",qe="maxLength",v="$ref",$e="source";var Y="http://luna.internal",R="vertical",P="horizontal";function c(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function H(e){return e==null||e===""}function A(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function F(e){return typeof e=="string"}function Ke(e){return c(e)&&"url"in e}var zr=/[^/]+$/;function We(e,t=[],r=C){if(Array.isArray(t))return t.find(o=>{let n=me(o,r);if(n!==void 0&&`${n}`===e)return o})??{value:e}}function me(e,t=C){if(e!=null){if(A(e))return e;if(c(e)){let r=jr(e,t);if(A(r))return r}}}function jr(e,t){let r=S(e,t);if(A(r))return r}function Ze(e,t){if(Array.isArray(e))return e;let r=S(e,t);return Array.isArray(r)?r:null}function S(e,t){if(!t||!c(e))return null;let r=t.split(".").filter(n=>n!=="");if(r.length===0)return null;let o=e;for(let n of r)if(c(o)&&n in o)o=o[n];else return null;return o}function ze(e,t={label:De,value:C}){return e.map(r=>{if(c(r)){let o=S(r,t.label),n=S(r,t.value);if(A(o)&&A(n))return{label:`${o}`,value:`${n}`}}return r})}function je(e=V){if(e){let t=e.match(zr);if(t){let[r]=t;if(r!==B)return r.trim().toLowerCase()}}return V}function Je(e){let t={};for(let r of e.keys()){let o=e.getAll(r);t[r]=o.length>1?o:o[0]}return t}var Jr=/\[([^\]]+)\]\(([^)]+)\)/g;function I(e,t={}){if(F(e))return Qr(e,t);if(Array.isArray(e))return e.map(r=>I(r,t));if(c(e)){let r={};for(let o in e)r[o]=I(e[o],t);return r}return e}function q(e){return F(e)?/{([^}]+)}/.test(e):Array.isArray(e)?e.some(t=>q(t)):c(e)?Object.values(e).some(t=>q(t)):!1}function Qr(e,t={}){return e.replace(/{([^}]+)}/g,(r,o)=>{let n=o.includes(".")?S(t,o):t[o];return A(n)?String(n):r})}function Qe(e,t){if(!e||e.trim().length===0)return null;let r,o=0,n=!1,i=[];for(;(r=Jr.exec(e))!==null;){let[l,a,m]=r,s=r.index;n=!0,s>o&&i.push(e.substring(o,s));let d=t?t(s,m,a):l;i.push(d),o=s+l.length}return n?(o<e.length&&i.push(e.substring(o)),i):e}var $=e=>T(ke)(e),K=e=>T(we)(e),b=T(Pe),fe=T(B),h=T(ve),y=T(Oe),pe=T(Ce),et=T(V,de,Le,Me),tt=T(Fe,de),W=T(Ie,Ve);function rt(e){return h(e)||b(e)}function ot(e){return e.type===se}function nt(e){return e.type!==se}function it(e){return y(e)||h(e)}function lt(e){return fe(e)||pe(e)}function ge(e){return e!=null&&e!==""}function T(...e){return t=>{let r=F(t.type)?t.type:void 0;return r?e.some(o=>r===o||r?.startsWith(`${o}/`)):!1}}function at(e,t={}){if(y(e)&&e.disabled){let r=e.name?t?.[e.name]:void 0;if(r&&c(r))return[r]}}function Z(e){return h(e)||b(e)?P:e.advanced?.orientation??R}function ct(e,t){let r=e.readonly??!1;return t||r}function ut(e){if(h(e)||y(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||c(t)&&!(v in t))return t}}function st(e,t){let r=ut(e);return r||at(e,t)}function eo(e,t){let r=c(t)&&e.name in t?t[e.name]:t;return me(r,e.advanced?.entity)}function to(e,t,r){return it(e)&&Array.isArray(r)?{...t,[U]:r}:t}function ro(e,t,r){if(e.required&&!ge(r)&&y(e)&&e.advanced?.preselected!==!1&&U in t){let o=t[U];if(Array.isArray(o)&&o.length===1)return o[0]}return r}function oo(e,t){return y(e)&&Array.isArray(t)?ze(t,e.advanced?.options):t}function dt(e,t,r,o){let n=eo(e,o),i=Array.isArray(r)?oo(e,r):r,l=to(e,t,i),a=ro(e,l,n);return{commonPropsWithOptions:l,defaultValue:a}}function mt(e,t){return b(e)?{checked:ge(t)}:{value:t??""}}var no=/^#\/definition\//;function j(e=[],t){let r=z(e,t);return Array.isArray(r)?r.filter(o=>o.hidden!==!0).sort((o,n)=>ft(o)-ft(n)):[]}function z(e,t,r=new Map,o=new WeakSet){if(!io(t)||!e||typeof e!="object")return e;if(r.has(e))return r.get(e);if(o.has(e))return e;if(o.add(e),Array.isArray(e))return e.map(i=>z(i,t,r,o));if(v in e&&F(e[v])){let i=e[v].replace(no,""),l=S(t,i);return l!==null?z(l,t,r,o):e}let n={};for(let[i,l]of Object.entries(e))n[i]=z(l,t,r,o);return o.delete(e),r.set(e,n),n}function pt(e){return Object.entries(e??{})}function ft(e){return e.order??Number.MAX_VALUE}function io(e){return e!==void 0&&c(e)&&Object.keys(e).length>0}function gt(e,t){let r={};for(let[o,n]of pt(t))r[`${e}-${o}`]=n;return r}function yt(e){return gt(Xe,e)}function xt(e){return gt(Ye,e)}var Tt={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 ht(e,t=2){return Tt[e&&e in Tt?e:t]}function Rt(e){if(e&&e in bt)return bt[e]}var lo=/^\d+$/;function At(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function St(e,t){return t>=e?Array.from({length:t-e+1},(r,o)=>{let n=e+o;return{value:n.toString(),label:n.toString()}}):[]}function ye(){return new Date().getFullYear()}function xe(e,t){if(typeof e=="number")return e;let r=t??ye(),o=e.trim().toLowerCase();if(o.startsWith("current")){let n=o.match(/^current([+-])(\d+)$/);if(n){let[,i,l]=n,a=parseInt(l,10);if(!isNaN(a))return i==="+"?r+a:r-a}return r}return lo.test(o)?parseInt(o,10):r}import{z as u}from"zod";var ao=[[W,fo],[tt,co],[K,po],[$,go],[b,uo],[h,so]];function Et(e){return u.object(e)}function Nt(e){let t={},r=u.flattenError(e).fieldErrors;for(let[o,n]of Object.entries(r))n!==void 0&&(t[o]=n);return t}function Ft(e){for(let[t,r]of ao)if(t(e))return r(e);return mo(e)}function co(e){let t=u.string().trim();if(e.required){let r=t.min(1,e.validation?.required).pipe(u.email(e.validation?.email));return u.preprocess(o=>H(o)?"":o,r)}return t.pipe(u.email(e.validation?.email)).or(u.literal("")).nullable()}function uo(e){let t=u.coerce.boolean();return e.required?(t=t.refine(r=>r===!0,{message:e.validation?.required}),u.preprocess(r=>r===null?!1:r,t)):t.nullable()}function so(e){let t=u.coerce.string();return e.required?(t=t.min(1,e.validation?.required),u.preprocess(r=>H(r)?"":r,t)):t.or(u.literal("")).nullable()}function mo(e){let t=u.coerce.string().trim();return t=It(t,e),e.required?(t=Ct(t,e),u.preprocess(r=>H(r)?"":r,t)):t.nullable()}function fo(e){let t=u.coerce.number().int();return t=It(t,e),e.required?(t=Ct(t,e),u.preprocess(r=>r===null?void 0:r,t)):t.nullable()}function po(e){if(e.required){let t=u.coerce.number({message:e.validation?.required}).int();return u.preprocess(yo,t)}return u.coerce.number().int().nullable()}function go(e){let t=u.coerce.number().int().min(1,e.validation?.required).max(12,e.validation?.required);return e.required?t:t.nullable()}function yo(e){return e===null||e===""?void 0:e}function It(e,t){return e=xo(e,t),e=To(e,t),e}function Ct(e,t){let r=t.advanced?.length?.min;return r===void 0||r<1?e.min(1,t.validation?.required):e}var xo=(e,t)=>vt(e,t,G),To=(e,t)=>vt(e,t,X);function vt(e,t,r){let o=t.advanced?.length?.[r];return o!==void 0?e[r](o,t.validation?.length?.[r]):e}function Pt(e,t){if(!t||!ho(e))return!0;if(t.length===0)return!1;try{let r=new URL(e),o=r.protocol.replace(":",""),n=r.hostname,i=r.port||bo(o);return t.some(l=>!(l.protocol&&l.protocol!==o||l.hostname&&l.hostname!==n||l.port!==void 0&&String(l.port)!==i))}catch{return!1}}function bo(e){return e==="https"?"443":"80"}function ho(e){return/^(https?:)?\/\//.test(e)}function Ot(e,t){try{if(!e)return t;if(!t)return e;let r=new URL(e,Y);new URL(t,Y).searchParams.forEach((i,l)=>{r.searchParams.set(l,i)});let n=r.toString();return e.startsWith("/")||!e.includes("://")?n.replace(Y,""):n}catch{return t||e}}function kt(e){return!Array.isArray(e)||e.length===0?null:e.reduce((t,r)=>{let o=Ot(t.url,r.url),n=Ro(t,r),i=Ao(t,r);return{...t,...r,url:o,body:n,headers:i}})}function Ro(e,t){return c(t.body)&&c(e?.body)?{...e.body,...t.body}:t.body??e?.body}function Ao(e,t){return c(t.headers)&&c(e?.headers)?{...e.headers,...t.headers}:t.headers??e?.headers}function wt(e=[],t){let r=[],o=[];e.forEach(n=>{n.action===C&&r.push(n),n.action===$e&&o.push(n)}),t({sources:o,values:r})}function Dt(e=null,t=[],r){t.forEach(o=>{let{target:n,source:i}=o;if(!e){r(n,void 0);return}if(Ke(i)){let l=I(i.url,e),a=i.body?I(i.body,e):i.body;r(n,{...i,url:l,body:a})}})}function Vt(e=null,t=[],r){t.forEach(o=>{Object.entries(o.value).forEach(([n,i])=>{r(n,e?I(i,e):void 0)})})}import{jsx as So}from"react/jsx-runtime";function L(e){return Qe(e,(t,r,o)=>So("a",{className:"underline",href:r,rel:"noopener noreferrer",target:"_blank",children:o},`${r}-${t}`))}import{Fragment as Eo,jsx as Lt,jsxs as No}from"react/jsx-runtime";function Mt(e){return No(Eo,{children:[Lt("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:L(e.title)}),Lt("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:L(e.description)})]})}function J(e,t){return{...e,...t}}import{jsx as Te,jsxs as Fo}from"react/jsx-runtime";function _t(e){let t=e.section.fields||[],{compact:r}=J(e.style,{compact:e.section.compact});return!e.section.title&&!e.section.description?Te(D,{compact:r,children:e.children}):Fo("fieldset",{"data-slot":"field-set","data-empty":t.length===0,className:"flex flex-col data-[empty=false]:gap-6",children:[Te(Mt,{description:e.section.description,title:e.section.title}),Te(D,{compact:r,children:e.children})]})}import{Fragment as Io}from"react";import{jsx as Bt}from"react/jsx-runtime";function Ut(){return Bt("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:Bt("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}import{jsx as M,jsxs as Gt}from"react/jsx-runtime";function Xt(e){let t=j(e.sections,e.definition);return M("div",{className:"h-full w-full",children:M("form",{noValidate:e.noValidate,action:e.action,children:Gt(D,{children:[t.map((r,o)=>Gt(Io,{children:[M(_t,{section:r,style:e.config.style,children:e.children({disabled:e.readOnly,fields:r.fields})}),r.separator&&M(Ut,{})]},o)),e.control&&M(Ne,{children:e.control})]})})})}import{jsx as Co}from"react/jsx-runtime";function Yt(e){return Co("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}import{jsx as vo}from"react/jsx-runtime";function Q(e){let t=L(e.text);return t?vo(Yt,{children:t}):null}import{twMerge as Po}from"tailwind-merge";import{jsx as Oo,jsxs as ko}from"react/jsx-runtime";function Ht(e){let t=h(e.field)||b(e.field);return ko("label",{"data-slot":"field-label","data-normal":t,className:Po("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&&Oo("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:"(Optional)"})]})}import{jsx as qt,jsxs as wo}from"react/jsx-runtime";function $t(e){return wo("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[qt(Ht,{field:e.field,children:e.field.label}),e.orientation===P&&qt(Q,{text:e.field.description})]})}import{Fragment as Do,jsx as Kt,jsxs as Vo}from"react/jsx-runtime";function Wt(e){let t=Z(e.field);return Vo(Do,{children:[e.field.name&&e.field.label&&Kt($t,{field:e.field,orientation:t}),e.children,t===R&&e.field.description&&Kt(Q,{text:e.field.description})]})}function Zt(e,t){return e?t(e):null}import{atom as Lo}from"jotai";import{atom as O}from"jotai";import{atomFamily as zt}from"jotai-family";import{deepEqual as be}from"fast-equals";function ee(e){return zt(t=>O(r=>r(e)[t]??void 0,(r,o,n)=>{let i=r(e);if(n!=null){let l=i[t];(!l||!be(l,n))&&o(e,{...i,[t]:n})}else if(i[t]){let{[t]:l,...a}=i;o(e,a)}}))}function jt(e){return O(null,(t,r)=>{let o=t(e);o&&Object.keys(o).length>0&&r(e,{})})}function te(e){return O(null,(t,r,o)=>{let i={...t(e)},l=!1;for(let a of o)i[a]&&(delete i[a],l=!0);l&&r(e,i)})}function re(e){return O(null,(t,r,o)=>{let n=t(e);be(n,o)||r(e,o)})}function Jt(e,t={}){let{merge:r,validateTarget:o}=t;return zt(n=>O(i=>{let l=i(e)[n];if(l&&r)return r(Object.values(l))},(i,l,a,m)=>{if(o&&!o(a))return;let s=i(e),d={...s[a]??{}};if(m!=null){let N=d[n];(!N||!be(N,m))&&(d[n]=m,l(e,{...s,[a]:d}))}else if(d[n])if(delete d[n],Object.keys(d).length===0){let{[a]:N,...k}=s;l(e,k)}else l(e,{...s,[a]:d})}))}function Qt(e){return O(null,(t,r,o)=>{let i={...t(e)},l=!1;for(let a of o)i[a]&&(delete i[a],l=!0);for(let a in i){let m={...i[a]},s=!1;for(let d of o)m[d]&&(delete m[d],s=!0,l=!0);s&&(Object.keys(m).length===0?delete i[a]:i[a]=m)}l&&r(e,i)})}var _=Lo({}),er=te(_),tr=re(_),rr=ee(_);import{atom as Mo}from"jotai";var E=Mo({}),or=jt(E),nr=te(E),gl=re(E),ir=ee(E);import{startTransition as $o}from"react";import{useAtom as Ko,useSetAtom as pr}from"jotai";import{atom as _o}from"jotai";var lr=_o({}),ar=Jt(lr,{merge:e=>{let t=kt(e);if(t)return t},validateTarget:e=>e.trim()!==""}),cr=Qt(lr);import{useAtom as Go}from"jotai";import Bo from"swr";function ur(e=null,t,r=!1){let{data:o,error:n}=Bo(Uo(e,t,r),t.fetcher.provider);if(n&&console.error("Error fetching data source:",n),e){if(Array.isArray(e))return[e];if(o)return[Ze(o,e.namespace)]}return[null]}function Uo(e=null,t,r=!1){if(e&&!Array.isArray(e)&&!r&&e.url&&!q(e.url)){if(Pt(e.url,t.fetcher.remotePatterns))return e;console.warn(`URL blocked by remotePatterns: ${e.url}. Check your luna.config.ts`)}return null}function sr(e,t,r){let o=st(e,r),[n,i]=Go(ar(e.name)),l=n??o,[a]=ur(l,t,e.disabled);return[a,i]}import{useEffect as Xo,useEffectEvent as dr,useMemo as Yo}from"react";function mr(e,t,r){let o=Yo(()=>Ft(e),[e]),n=dr(l=>{l&&t(l,o)}),i=dr(l=>{l&&r(l)});return Xo(()=>(n(e.name),()=>{i(e.name)}),[e.name]),[o]}import{useEffect as Ho,useRef as qo}from"react";function fr(){let e=qo(null);Ho(()=>{let o=e.current;return()=>{o&&clearTimeout(o)}},[]);function t(){e.current&&(clearTimeout(e.current),e.current=null)}function r(o,n){t(),e.current=setTimeout(o,n)}return[r,t]}import{jsx as gr}from"react/jsx-runtime";function yr(e){let t=pr(rr(e.field.name)),[r,o]=Ko(ir(e.field.name)),n=pr(E),[i]=mr(e.field,e.onMount,e.onUnmount),[l,a]=sr(e.field,e.config,r),{commonPropsWithOptions:m,defaultValue:s}=dt(e.field,e.commonProps,l,r),d=mt(e.field,s),[N]=fr();function k(p,f){if(lt(e.field)){N(()=>{f({value:p})},500);return}let x=We(p,l,e.field.advanced?.entity);f(x)}function le(p){let f=p.target.value;o(f),e.config.validation.change&&w(f);let x=e.field.event?.change;x&&k(f,g=>{wt(x,({sources:qr,values:$r})=>{$o(()=>{Dt(g,qr,(ce,ue)=>a(ce,ue)),Vt(g,$r,(ce,ue)=>{n(Kr=>({...Kr,[ce]:ue}))})})})})}function ae(p){if(rt(e.field))return;let f=p.target.value;e.config.validation.blur&&w(f)}function w(p){let x=i.safeParse(p).error?.issues.map(g=>g.message)??[];t(x)}return Zt(e.config.inputs[e.field.type],p=>gr(Wt,{field:e.field,children:gr(p,{...m,...e.ariaAttributes,...e.dataAttributes,...d,onBlur:ae,onChange:le})}))}import{twMerge as Wo}from"tailwind-merge";import{jsx as xr}from"react/jsx-runtime";function Tr(e){let t=ht(e.column?.advanced?.cols);return xr("div",{className:"flex w-full flex-col gap-4",children:xr("div",{className:Wo("grid grid-cols-1 gap-8 sm:gap-4",t),children:e.children})})}import{jsx as br}from"react/jsx-runtime";function hr(e){return!e.errors||e.errors.length===0?null:br("ul",{className:"text-sm text-red-600 dark:text-red-500",id:e.name?`${e.name}-error`:void 0,children:e.errors?.map((t,r)=>br("li",{children:t},e.name?`${e.name}-error-${r}`:r))})}import{twMerge as Zo}from"tailwind-merge";import{jsx as zo}from"react/jsx-runtime";function oe(e){let t=e.errors&&e.errors.length>0;return zo("div",{"data-slot":"field",...t&&{[Ue]:"true"},...e.disabled&&{[Ge]:"true"},"data-orientation":e.orientation,className:Zo("group flex w-full flex-col items-center data-[invalid=true]:text-red-600 data-[invalid=true]:dark:text-red-500","has-[>[role=checkbox],[role=radiogroup]]:items-start","has-[>[role=checkbox]]:flex-row-reverse","has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radiogroup]]:mt-px",Rt(e.cols),e.className),children:e.children})}import{jsx as jo}from"react/jsx-runtime";function Rr(e){return jo(oe,{...e,orientation:R,className:"gap-3 has-[>[data-slot=field-content]]:items-start [&>*:not([role=checkbox]):not([role=radiogroup])]:w-full",children:e.children})}import{jsx as Jo}from"react/jsx-runtime";function Ar(e){return Jo(oe,{...e,orientation:P,className:"gap-2 md:flex-row md:gap-4 has-[>[role=radiogroup]]:md:flex-col [&:not(:has(>[role=checkbox],[role=radiogroup]))]:md:justify-between [&>*:not([role=checkbox]):not([role=radiogroup]):not([data-slot=field-content])]:w-full [&>*:not([role=checkbox]):not([role=radiogroup]):not([data-slot=field-content])]:md:w-1/2 [&>*:not([role=checkbox]):not([role=radiogroup]):not([data-slot=field-content])]:xl:w-2/5 [&>[data-slot=field-content]]:min-w-0 [&>[data-slot=field-content]]:flex-grow [&>[data-slot=field-content]]:self-start",children:e.children})}import{jsx as Sr}from"react/jsx-runtime";function Er(e){return e.orientation===R?Sr(Rr,{cols:e.cols,disabled:e.disabled,errors:e.errors,children:e.children}):Sr(Ar,{cols:e.cols,disabled:e.disabled,errors:e.errors,children:e.children})}var ne=ye();function Nr(e){if(y(e))return Qo(e)}function Qo(e){if($(e))return At();if(K(e)){let t=e.advanced?.length?.min??ne,r=e.advanced?.length?.max??ne+5;return St(xe(t,ne),xe(r,ne))}}function Fr(e,t=!1){let r={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return fe(e)?{...r,...en(e)}:y(e)?{...r,...tn(e)}:pe(e)?{...r,...rn(e)}:r}function en(e){let t=je(e.type),r={...e,type:t};return{...Ir(e),...on(r),...et(r)?Cr(r):{},type:t}}function tn(e){let t=Nr(e);return t?{options:t}:{}}function rn(e){return{...Ir(e),...Cr(e)}}function Ir(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function on(e){return W(e)?nn(e):{}}function Cr(e){return vr(e,{min:He,max:qe})}function nn(e){return vr(e,{min:G,max:X})}function vr(e,t){let r={},o=e.advanced?.length;return o&&(o.min!==void 0&&(r[t.min]=o.min),o.max!==void 0&&(r[t.max]=o.max)),r}function Pr(e,t){let r=yt(e.advanced?.aria);return t&&t.length>0&&(r[Be]="true",r[_e]=`${e.name}-error`),r}function Or(e){return xt(e.advanced?.data)}function kr(e){if(!e.field.type)return null;let t=Fr(e.field,e.disabled),r=Or(e.field),o=Pr(e.field,e.errors),n={...e.field,disabled:t.disabled};return e.children({ariaAttributes:o,commonProps:t,dataAttributes:r,field:n})}import{jsx as he,jsxs as ln}from"react/jsx-runtime";function wr(e){let t=e.field.advanced?.cols,r=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:o}=J(e.style,{orientation:Z(e.field)}),n=ct(e.field,e.disabled);return ln("div",{className:"flex flex-col gap-3",children:[he(Er,{cols:t,disabled:n,errors:r,orientation:o,children:he(kr,{disabled:n,errors:r,field:e.field,children:e.children})}),he(hr,{errors:r,name:e.field.name})]})}import{useAtomValue as an}from"jotai";import{jsx as cn}from"react/jsx-runtime";function Dr(e){return r=>{let o=an(_);return cn(e,{...r,errors:o})}}var Vr=Dr(wr);import{Fragment as un}from"react";import{jsx as Re,jsxs as sn}from"react/jsx-runtime";function Ae(e){let t=j(e.fields),{column:r,field:o}=e.components;return t.map((n,i)=>sn(un,{children:[ot(n)&&Re(r,{column:n,children:Re(Ae,{...e,fields:n.fields})}),nt(n)&&Re(o,{disabled:e.disabled,field:n,style:e.style,children:e.children})]},i))}import{jsx as dn}from"react/jsx-runtime";var Lr=e=>dn(Ae,{...e,components:{column:Tr,field:Vr}});import{useSetAtom as Mr}from"jotai";import{startTransition as Se,useActionState as mn}from"react";function Ur(e,t,r){let{onError:o,onSuccess:n,preserveValues:i=!1,validation:l=!0,value:a=null}=r??{},m=Mr(tr),s=Mr(or),d={data:a,error:null,success:!1},[N,k,le]=mn(async(ae,w)=>{let p=Et(e());if(l===!1)return t?await t(w,p):ae;let f=Je(w),x=p.safeParse(f);if(!x.success){let g=Nt(x.error);return Se(()=>{m(g)}),Br(f,{details:g,title:"There were validation errors submitting the form."})}if(t)try{let g=await t(f,p);return g.success?(n?.(g.data),i||Se(()=>{s()})):g.error&&Se(()=>{o?.(g.error)}),_r(f,i)}catch(g){return Br(f,{title:"An unexpected error occurred submitting the form.",details:fn(g)})}return _r(x.data,i)},d);return[k,N,le]}function fn(e){let t=e instanceof Error?e.message:["Unknown error"];return Array.isArray(t)?t:[t]}function _r(e,t=!1){return{data:t?e:null,error:null,success:!0}}function Br(e,t){return{data:e,error:t,success:!1}}import{useHydrateAtoms as yn}from"jotai/utils";import{startTransition as gn,useCallback as Xr,useRef as Yr}from"react";import{useCallback as pn}from"react";import{useSetAtom as Ee}from"jotai";function Gr(){let e=Ee(er),t=Ee(cr),r=Ee(nr);return pn(o=>{let n=Array.isArray(o)?o:[o];e(n),t(n),r(n)},[e,t,r])}function Hr(){let e=Gr(),t=Yr({}),r=Yr(new Set),o=Xr((l,a)=>{l in t.current||(t.current[l]=a)},[]),n=Xr(l=>{t.current[l]&&(delete t.current[l],r.current.add(l),gn(()=>{r.current.size>0&&(e(Array.from(r.current)),r.current.clear())}))},[e]);function i(){return t.current}return[i,o,n]}import{Fragment as Tn,jsx as ie,jsxs as bn}from"react/jsx-runtime";function xn(e){let[t,r,o]=Hr(),[n,i]=Ur(t,e.action,{onError:e.onError,onSuccess:e.onSuccess,validation:e.config.validation.submit,value:e.value});yn([[E,e.value??{}]]);let l=e.config.alert??(()=>null),a=e.config.validation.showError&&!i.success&&i.error;return ie(Xt,{action:n,config:e.config,control:e.children,definition:e.definition,noValidate:!0,readOnly:e.readOnly,sections:e.sections,children:({disabled:m,fields:s})=>bn(Tn,{children:[a&&ie(l,{title:i.error.title,description:i.error?.description,details:i.error?.details}),ie(Lr,{disabled:m,fields:s,style:e.config.style,children:d=>ie(yr,{...d,config:e.config,onMount:r,onUnmount:o,value:i.data})})]})})}export{xn as Form};
@@ -1 +1 @@
1
- "use strict";var a=Object.defineProperty;var R=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var S=Object.prototype.hasOwnProperty;var L=(t,n)=>{for(var r in n)a(t,r,{get:n[r],enumerable:!0})},O=(t,n,r,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let e of b(n))!S.call(t,e)&&e!==r&&a(t,e,{get:()=>n[e],enumerable:!(o=R(n,e))||o.enumerable});return t};var C=t=>O(a({},"__esModule",{value:!0}),t);var Z={};L(Z,{defineCheckbox:()=>F,defineConfig:()=>Y,defineCustomInput:()=>z,defineInput:()=>$,defineRadio:()=>W,defineSelect:()=>q,defineTextArea:()=>J});module.exports=C(Z);var N="input",_="input/email",P="input/number",D="input/password",M="input/tel",w="input/text",T=[N,_,P,D,M,w],E="textarea",g="radio",m="checkbox",U="select",k="select/month",X="select/year",h=[U,k,X];var u="http://luna.internal";function A(t){return t!==null&&Object.prototype.toString.call(t)==="[object Object]"}function i(t){return typeof t=="string"}function p(t){return i(t)?/{([^}]+)}/.test(t):Array.isArray(t)?t.some(n=>p(n)):A(t)?Object.values(t).some(n=>p(n)):!1}function y(t){try{return t instanceof FormData?null:i(t)?t:JSON.stringify(t)}catch{return null}}var j=/(^|[\/?=&])(null|undefined)([\/?=&]|$)/;async function I(t){let[n,r]=V(t),o=t.body,e=B(t);if(o&&!f(r)){let d=y(o);d!==null&&(o=d,e=v(e))}let s=n.origin===u?n.toString().replace(u,""):n.toString(),l=await fetch(s,{body:K(r,o),cache:t.cache,headers:e,method:r}),x=await l.json();if(l.ok)return x;throw x}function V(t){let n=t.url?.trim();if(!n||!G(n))throw new Error(`Invalid URL: ${t.url}`);let r=new URL(n,u),o=H(t);return t.body&&f(o)&&Object.entries(t.body).filter(([,e])=>e!==void 0&&e!=="undefined").forEach(([e,s])=>{r.searchParams.append(e,String(s))}),[r,o]}function v(t){return{...t,"Content-Type":"application/json"}}function G(t){return!i(t)||p(t)?!1:!j.test(t)}function H(t){return t.method??"GET"}function B(t){return{Accept:"application/json",...t.headers??{}}}function f(t){return t.toUpperCase()==="GET"}function K(t,n){if(!f(t))return n}function Y(t){let n={env:t.env,fetcher:{provider:I,remotePatterns:t.fetcher?.remotePatterns},inputs:{},style:t.style};return n.validation=t.validation??{blur:!0,change:!0,submit:!0},t.inputs.forEach(({types:r,input:o})=>{(Array.isArray(r)?r:[r]).forEach(s=>{n.inputs[s]=o})}),n}function c(t){return n=>({types:t,input:n})}var F=c([m]),$=c(T),W=c([g]),q=c(h),J=c([E]);function z(t,n){return{types:t,input:n}}
1
+ "use strict";var p=Object.defineProperty;var R=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var S=Object.prototype.hasOwnProperty;var L=(t,n)=>{for(var r in n)p(t,r,{get:n[r],enumerable:!0})},C=(t,n,r,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let e of b(n))!S.call(t,e)&&e!==r&&p(t,e,{get:()=>n[e],enumerable:!(o=R(n,e))||o.enumerable});return t};var O=t=>C(p({},"__esModule",{value:!0}),t);var Z={};L(Z,{defineCheckbox:()=>F,defineConfig:()=>Y,defineCustomInput:()=>z,defineInput:()=>$,defineRadio:()=>W,defineSelect:()=>q,defineTextArea:()=>J});module.exports=O(Z);var P="input",N="input/email",_="input/number",D="input/password",w="input/tel",M="input/text",T=[P,N,_,D,w,M],E="textarea",g="radio",m="checkbox",U="select",k="select/month",X="select/year",h=[U,k,X];var u="http://luna.internal";function A(t){return t!==null&&Object.prototype.toString.call(t)==="[object Object]"}function i(t){return typeof t=="string"}function a(t){return i(t)?/{([^}]+)}/.test(t):Array.isArray(t)?t.some(n=>a(n)):A(t)?Object.values(t).some(n=>a(n)):!1}function y(t){try{return t instanceof FormData?null:i(t)?t:JSON.stringify(t)}catch{return null}}var j=/(^|[\/?=&])(null|undefined)([\/?=&]|$)/;async function I(t){let[n,r]=V(t),o=t.body,e=B(t);if(o&&!f(r)){let d=y(o);d!==null&&(o=d,e=v(e))}let s=n.origin===u?n.toString().replace(u,""):n.toString(),l=await fetch(s,{body:K(r,o),cache:t.cache,headers:e,method:r}),x=await l.json();if(l.ok)return x;throw x}function V(t){let n=t.url?.trim();if(!n||!G(n))throw new Error(`Invalid URL: ${t.url}`);let r=new URL(n,u),o=H(t);return t.body&&f(o)&&Object.entries(t.body).filter(([,e])=>e!==void 0&&e!=="undefined").forEach(([e,s])=>{r.searchParams.append(e,String(s))}),[r,o]}function v(t){return{...t,"Content-Type":"application/json"}}function G(t){return!i(t)||a(t)?!1:!j.test(t)}function H(t){return t.method??"GET"}function B(t){return{Accept:"application/json",...t.headers??{}}}function f(t){return t.toUpperCase()==="GET"}function K(t,n){if(!f(t))return n}function Y(t){let n={alert:t.alert,env:t.env,fetcher:{provider:I,remotePatterns:t.fetcher?.remotePatterns},inputs:{},style:t.style};return n.validation=t.validation??{blur:!0,change:!0,showError:!0,submit:!0},t.inputs.forEach(({types:r,input:o})=>{(Array.isArray(r)?r:[r]).forEach(s=>{n.inputs[s]=o})}),n}function c(t){return n=>({types:t,input:n})}var F=c([m]),$=c(T),W=c([g]),q=c(h),J=c([E]);function z(t,n){return{types:t,input:n}}
@@ -1 +1 @@
1
- var I="input",R="input/email",b="input/number",S="input/password",L="input/tel",O="input/text",d=[I,R,b,S,L,O],T="textarea",E="radio",g="checkbox",C="select",N="select/month",_="select/year",m=[C,N,_];var u="http://luna.internal";function h(t){return t!==null&&Object.prototype.toString.call(t)==="[object Object]"}function i(t){return typeof t=="string"}function p(t){return i(t)?/{([^}]+)}/.test(t):Array.isArray(t)?t.some(n=>p(n)):h(t)?Object.values(t).some(n=>p(n)):!1}function A(t){try{return t instanceof FormData?null:i(t)?t:JSON.stringify(t)}catch{return null}}var P=/(^|[\/?=&])(null|undefined)([\/?=&]|$)/;async function y(t){let[n,r]=D(t),e=t.body,o=k(t);if(e&&!a(r)){let x=A(e);x!==null&&(e=x,o=M(o))}let s=n.origin===u?n.toString().replace(u,""):n.toString(),f=await fetch(s,{body:X(r,e),cache:t.cache,headers:o,method:r}),l=await f.json();if(f.ok)return l;throw l}function D(t){let n=t.url?.trim();if(!n||!w(n))throw new Error(`Invalid URL: ${t.url}`);let r=new URL(n,u),e=U(t);return t.body&&a(e)&&Object.entries(t.body).filter(([,o])=>o!==void 0&&o!=="undefined").forEach(([o,s])=>{r.searchParams.append(o,String(s))}),[r,e]}function M(t){return{...t,"Content-Type":"application/json"}}function w(t){return!i(t)||p(t)?!1:!P.test(t)}function U(t){return t.method??"GET"}function k(t){return{Accept:"application/json",...t.headers??{}}}function a(t){return t.toUpperCase()==="GET"}function X(t,n){if(!a(t))return n}function z(t){let n={env:t.env,fetcher:{provider:y,remotePatterns:t.fetcher?.remotePatterns},inputs:{},style:t.style};return n.validation=t.validation??{blur:!0,change:!0,submit:!0},t.inputs.forEach(({types:r,input:e})=>{(Array.isArray(r)?r:[r]).forEach(s=>{n.inputs[s]=e})}),n}function c(t){return n=>({types:t,input:n})}var Z=c([g]),Q=c(d),tt=c([E]),nt=c(m),rt=c([T]);function et(t,n){return{types:t,input:n}}export{Z as defineCheckbox,z as defineConfig,et as defineCustomInput,Q as defineInput,tt as defineRadio,nt as defineSelect,rt as defineTextArea};
1
+ var I="input",R="input/email",b="input/number",S="input/password",L="input/tel",C="input/text",d=[I,R,b,S,L,C],T="textarea",E="radio",g="checkbox",O="select",P="select/month",N="select/year",m=[O,P,N];var u="http://luna.internal";function h(t){return t!==null&&Object.prototype.toString.call(t)==="[object Object]"}function i(t){return typeof t=="string"}function a(t){return i(t)?/{([^}]+)}/.test(t):Array.isArray(t)?t.some(n=>a(n)):h(t)?Object.values(t).some(n=>a(n)):!1}function A(t){try{return t instanceof FormData?null:i(t)?t:JSON.stringify(t)}catch{return null}}var _=/(^|[\/?=&])(null|undefined)([\/?=&]|$)/;async function y(t){let[n,r]=D(t),e=t.body,o=k(t);if(e&&!p(r)){let x=A(e);x!==null&&(e=x,o=w(o))}let s=n.origin===u?n.toString().replace(u,""):n.toString(),f=await fetch(s,{body:X(r,e),cache:t.cache,headers:o,method:r}),l=await f.json();if(f.ok)return l;throw l}function D(t){let n=t.url?.trim();if(!n||!M(n))throw new Error(`Invalid URL: ${t.url}`);let r=new URL(n,u),e=U(t);return t.body&&p(e)&&Object.entries(t.body).filter(([,o])=>o!==void 0&&o!=="undefined").forEach(([o,s])=>{r.searchParams.append(o,String(s))}),[r,e]}function w(t){return{...t,"Content-Type":"application/json"}}function M(t){return!i(t)||a(t)?!1:!_.test(t)}function U(t){return t.method??"GET"}function k(t){return{Accept:"application/json",...t.headers??{}}}function p(t){return t.toUpperCase()==="GET"}function X(t,n){if(!p(t))return n}function z(t){let n={alert:t.alert,env:t.env,fetcher:{provider:y,remotePatterns:t.fetcher?.remotePatterns},inputs:{},style:t.style};return n.validation=t.validation??{blur:!0,change:!0,showError:!0,submit:!0},t.inputs.forEach(({types:r,input:e})=>{(Array.isArray(r)?r:[r]).forEach(s=>{n.inputs[s]=e})}),n}function c(t){return n=>({types:t,input:n})}var Z=c([g]),Q=c(d),tt=c([E]),nt=c(m),rt=c([T]);function et(t,n){return{types:t,input:n}}export{Z as defineCheckbox,z as defineConfig,et as defineCustomInput,Q as defineInput,tt as defineRadio,nt as defineSelect,rt as defineTextArea};
@@ -1 +1 @@
1
- "use strict";var Y=Object.defineProperty;var Ut=Object.getOwnPropertyDescriptor;var $t=Object.getOwnPropertyNames;var Ht=Object.prototype.hasOwnProperty;var Kt=(e,t)=>{for(var r in t)Y(e,r,{get:t[r],enumerable:!0})},Wt=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of $t(t))!Ht.call(e,o)&&o!==r&&Y(e,o,{get:()=>t[o],enumerable:!(n=Ut(t,o))||n.enumerable});return e};var qt=e=>Wt(Y({},"__esModule",{value:!0}),e);var dr={};Kt(dr,{Fallback:()=>Bt,Form:()=>X});module.exports=qt(dr);var re=require("react/jsx-runtime");function te(e){return(0,re.jsx)("div",{"data-slot":"field-control",className:"w-full",children:e.children})}var ne=require("react/jsx-runtime");function F(e){return(0,ne.jsx)("div",{"data-slot":"field-group","data-compact":e.compact,className:"flex w-full flex-col gap-8 data-[compact=true]:gap-3",children:e.children})}var k="input",oe="input/email",ie="input/number";var le="textarea",ae="radio",ce="checkbox",se="select",ue="select/month",de="select/year";var U="column";var fe="label",$="value",L="options",H="email",me="number",pe="password",ge="tel",E="text",xe="aria-errormessage",be="aria-invalid",ye="data-invalid",Re="data-readonly",Te="aria",Ae="data",he="min",Ne="max",Fe="minLength",Ee="maxLength",g="$ref";var d="vertical",x="horizontal";function a(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function b(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function w(e){return typeof e=="string"}var zt=/[^/]+$/;function Ce(e,t=$){if(e!=null){if(b(e))return e;if(a(e)){let r=Zt(e,t);if(b(r))return r}}}function Zt(e,t){let r=C(e,t);if(b(r))return r}function C(e,t){if(!t||!a(e))return null;let r=t.split(".").filter(o=>o!=="");if(r.length===0)return null;let n=e;for(let o of r)if(a(n)&&o in n)n=n[o];else return null;return n}function Ie(e,t={label:fe,value:$}){return e.map(r=>{if(a(r)){let n=C(r,t.label),o=C(r,t.value);if(b(n)&&b(o))return{label:`${n}`,value:`${o}`}}return r})}function Se(e=E){if(e){let t=e.match(zt);if(t){let[r]=t;if(r!==k)return r.trim().toLowerCase()}}return E}var Jt=/\[([^\]]+)\]\(([^)]+)\)/g;function Oe(e,t){if(!e||e.trim().length===0)return null;let r,n=0,o=!1,i=[];for(;(r=Jt.exec(e))!==null;){let[l,f,Xt]=r,P=r.index;o=!0,P>n&&i.push(e.substring(n,P));let Yt=t?t(P,Xt,f):l;i.push(Yt),n=P+l.length}return o?(n<e.length&&i.push(e.substring(n)),i):e}var Pe=e=>s(ue)(e),ke=e=>s(de)(e),y=s(ce),Le=s(k),R=s(ae),c=s(se),we=s(le),De=s(E,H,pe,ge),Nr=s(oe,H),_e=s(ie,me);function Me(e){return e.type===U}function Ve(e){return e.type!==U}function ve(e){return c(e)||R(e)}function K(e){return e!=null&&e!==""}function s(...e){return t=>{let r=w(t.type)?t.type:void 0;return r?e.some(n=>r===n||r?.startsWith(`${n}/`)):!1}}function Ge(e,t={}){if(c(e)&&e.disabled){let r=e.name?t?.[e.name]:void 0;if(r&&a(r))return[r]}}function D(e){return R(e)||y(e)?x:e.advanced?.orientation??d}function Be(e,t){let r=e.readonly??!1;return t||r}function Xe(e){if(R(e)||c(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||a(t)&&!(g in t))return t}}function Ye(e,t){let r=Xe(e);return r||Ge(e,t)}function Qt(e,t){let r=a(t)&&e.name in t?t[e.name]:t;return Ce(r,e.advanced?.entity)}function jt(e,t,r){return ve(e)&&Array.isArray(r)?{...t,[L]:r}:t}function er(e,t,r){if(e.required&&!K(r)&&c(e)&&e.advanced?.preselected!==!1&&L in t){let n=t[L];if(Array.isArray(n)&&n.length===1)return n[0]}return r}function tr(e,t){return c(e)&&Array.isArray(t)?Ie(t,e.advanced?.options):t}function Ue(e,t,r,n){let o=Qt(e,n),i=Array.isArray(r)?tr(e,r):r,l=jt(e,t,i),f=er(e,l,o);return{commonPropsWithOptions:l,defaultValue:f}}function $e(e,t){return y(e)?{defaultChecked:K(t)}:{defaultValue:t}}var rr=/^#\/definition\//;function M(e=[],t){let r=_(e,t);return Array.isArray(r)?r.filter(n=>n.hidden!==!0).sort((n,o)=>He(n)-He(o)):[]}function _(e,t,r=new Map,n=new WeakSet){if(!nr(t)||!e||typeof e!="object")return e;if(r.has(e))return r.get(e);if(n.has(e))return e;if(n.add(e),Array.isArray(e))return e.map(i=>_(i,t,r,n));if(g in e&&w(e[g])){let i=e[g].replace(rr,""),l=C(t,i);return l!==null?_(l,t,r,n):e}let o={};for(let[i,l]of Object.entries(e))o[i]=_(l,t,r,n);return n.delete(e),r.set(e,o),o}function Ke(e){return Object.entries(e??{})}function He(e){return e.order??Number.MAX_VALUE}function nr(e){return e!==void 0&&a(e)&&Object.keys(e).length>0}function We(e,t){let r={};for(let[n,o]of Ke(t))r[`${e}-${n}`]=o;return r}function qe(e){return We(Te,e)}function ze(e){return We(Ae,e)}var Ze={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},Je={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function Qe(e,t=2){return Ze[e&&e in Ze?e:t]}function je(e){if(e&&e in Je)return Je[e]}var or=/^\d+$/;function et(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function tt(e,t){return t>=e?Array.from({length:t-e+1},(r,n)=>{let o=e+n;return{value:o.toString(),label:o.toString()}}):[]}function W(){return new Date().getFullYear()}function q(e,t){if(typeof e=="number")return e;let r=t??W(),n=e.trim().toLowerCase();if(n.startsWith("current")){let o=n.match(/^current([+-])(\d+)$/);if(o){let[,i,l]=o,f=parseInt(l,10);if(!isNaN(f))return i==="+"?r+f:r-f}return r}return or.test(n)?parseInt(n,10):r}var rt=require("react/jsx-runtime");function I(e){return Oe(e,(t,r,n)=>(0,rt.jsx)("a",{className:"underline",href:r,rel:"noopener noreferrer",target:"_blank",children:n},`${r}-${t}`))}var m=require("react/jsx-runtime");function nt(e){return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:I(e.title)}),(0,m.jsx)("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:I(e.description)})]})}var T=require("react/jsx-runtime");function ot(e){if(!e.section.title&&!e.section.description)return(0,T.jsx)(F,{compact:e.section.compact,children:e.children});let t=e.section.fields||[];return(0,T.jsxs)("fieldset",{"data-slot":"field-set","data-empty":t.length===0,className:"flex flex-col data-[empty=false]:gap-6",children:[(0,T.jsx)(nt,{description:e.section.description,title:e.section.title}),(0,T.jsx)(F,{compact:e.section.compact,children:e.children})]})}var lt=require("react");var z=require("react/jsx-runtime");function it(){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 at(e){let t=M(e.sections,e.definition);return(0,u.jsx)("div",{className:"h-full w-full",children:(0,u.jsx)("form",{noValidate:e.noValidate,action:e.action,children:(0,u.jsxs)(F,{children:[t.map((r,n)=>(0,u.jsxs)(lt.Fragment,{children:[(0,u.jsx)(ot,{section:r,children:e.children({disabled:e.readOnly,fields:r.fields})}),r.separator&&(0,u.jsx)(it,{})]},n)),e.control&&(0,u.jsx)(te,{children:e.control})]})})})}var st=require("react/jsx-runtime");function ct(e){return(0,st.jsx)("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}var ut=require("react/jsx-runtime");function A(e){let t=I(e.text);return t?(0,ut.jsx)(ct,{children:t}):null}var dt=require("tailwind-merge"),V=require("react/jsx-runtime");function ft(e){let t=R(e.field)||y(e.field);return(0,V.jsxs)("label",{"data-slot":"field-label","data-normal":t,className:(0,dt.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 S=require("react/jsx-runtime");function mt(e){return(0,S.jsxs)("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[(0,S.jsx)(ft,{field:e.field,children:e.field.label}),e.orientation===x&&(0,S.jsx)(A,{text:e.field.description})]})}var p=require("react/jsx-runtime");function pt(e){let t=D(e.field);return(0,p.jsxs)(p.Fragment,{children:[e.field.name&&e.field.label&&(0,p.jsx)(mt,{field:e.field,orientation:t}),e.children,t===d&&e.field.description&&(0,p.jsx)(A,{text:e.field.description})]})}function gt(e,t){return e?t(e):null}var O=require("react/jsx-runtime");function xt(e){let t=Ye(e.field,e.value),{commonPropsWithOptions:r,defaultValue:n}=Ue(e.field,e.commonProps,t,e.value),o=$e(e.field,n);return gt(e.config.inputs[e.field.type],i=>(0,O.jsxs)(pt,{field:e.field,children:[(0,O.jsx)(i,{...e.ariaAttributes,...r,...e.dataAttributes,...o}),(0,O.jsx)(A,{text:e.field.description})]}))}var bt=require("tailwind-merge"),Z=require("react/jsx-runtime");function yt(e){let t=Qe(e.column?.advanced?.cols);return(0,Z.jsx)("div",{className:"flex w-full flex-col gap-4",children:(0,Z.jsx)("div",{className:(0,bt.twMerge)("grid grid-cols-1 gap-8 sm:gap-4",t),children:e.children})})}var J=require("react/jsx-runtime");function Rt(e){return!e.errors||e.errors.length===0?null:(0,J.jsx)("ul",{className:"text-sm text-red-600 dark:text-red-500",id:e.name?`${e.name}-error`:void 0,children:e.errors?.map((t,r)=>(0,J.jsx)("li",{children:t},e.name?`${e.name}-error-${r}`:r))})}var Tt=require("tailwind-merge"),At=require("react/jsx-runtime");function v(e){let t=e.errors&&e.errors.length>0;return(0,At.jsx)("div",{"data-slot":"field",...t&&{[ye]:"true"},...e.disabled&&{[Re]:"true"},"data-orientation":e.orientation,className:(0,Tt.twMerge)("group flex w-full flex-col items-center data-[invalid=true]:text-red-600 data-[invalid=true]:dark:text-red-500","has-[>[role=checkbox],[role=radiogroup]]:items-start","has-[>[role=checkbox]]:flex-row-reverse","has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radiogroup]]:mt-px",je(e.cols),e.className),children:e.children})}var Nt=require("react/jsx-runtime");function ht(e){return(0,Nt.jsx)(v,{...e,orientation:d,className:"gap-3 has-[>[data-slot=field-content]]:items-start [&>*:not([role=checkbox]):not([role=radiogroup])]:w-full",children:e.children})}var Et=require("react/jsx-runtime");function Ft(e){return(0,Et.jsx)(v,{...e,orientation:x,className:"gap-2 md:flex-row md:gap-4 has-[>[role=radiogroup]]:md:flex-col [&:not(:has(>[role=checkbox],[role=radiogroup]))]:md:justify-between [&>*:not([role=checkbox]):not([role=radiogroup]):not([data-slot=field-content])]:w-full [&>*:not([role=checkbox]):not([role=radiogroup]):not([data-slot=field-content])]:md:w-1/2 [&>*:not([role=checkbox]):not([role=radiogroup]):not([data-slot=field-content])]:xl:w-2/5 [&>[data-slot=field-content]]:min-w-0 [&>[data-slot=field-content]]:flex-grow [&>[data-slot=field-content]]:self-start",children:e.children})}var Q=require("react/jsx-runtime");function Ct(e){return e.orientation===d?(0,Q.jsx)(ht,{cols:e.cols,disabled:e.disabled,errors:e.errors,children:e.children}):(0,Q.jsx)(Ft,{cols:e.cols,disabled:e.disabled,errors:e.errors,children:e.children})}var G=W();function It(e){if(c(e))return ir(e)}function ir(e){if(Pe(e))return et();if(ke(e)){let t=e.advanced?.length?.min??G,r=e.advanced?.length?.max??G+5;return tt(q(t,G),q(r,G))}}function St(e,t=!1){let r={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return Le(e)?{...r,...lr(e)}:c(e)?{...r,...ar(e)}:we(e)?{...r,...cr(e)}:r}function lr(e){let t=Se(e.type),r={...e,type:t};return{...Ot(e),...sr(r),...De(r)?Pt(r):{},type:t}}function ar(e){let t=It(e);return t?{options:t}:{}}function cr(e){return{...Ot(e),...Pt(e)}}function Ot(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function sr(e){return _e(e)?ur(e):{}}function Pt(e){return kt(e,{min:Fe,max:Ee})}function ur(e){return kt(e,{min:he,max:Ne})}function kt(e,t){let r={},n=e.advanced?.length;return n&&(n.min!==void 0&&(r[t.min]=n.min),n.max!==void 0&&(r[t.max]=n.max)),r}function Lt(e,t){let r=qe(e.advanced?.aria);return t&&t.length>0&&(r[be]="true",r[xe]=`${e.name}-error`),r}function wt(e){return ze(e.advanced?.data)}function Dt(e){if(!e.field.type)return null;let t=St(e.field,e.disabled),r=wt(e.field),n=Lt(e.field,e.errors),o={...e.field,disabled:t.disabled};return e.children({ariaAttributes:n,commonProps:t,dataAttributes:r,field:o})}var h=require("react/jsx-runtime");function _t(e){let t=e.field.advanced?.cols,r=e.field.name?e.errors?.[e.field.name]:void 0,n=D(e.field),o=Be(e.field,e.disabled);return(0,h.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,h.jsx)(Ct,{cols:t,disabled:o,errors:r,orientation:n,children:(0,h.jsx)(Dt,{disabled:o,errors:r,field:e.field,children:e.children})}),(0,h.jsx)(Rt,{errors:r,name:e.field.name})]})}var Mt=require("react"),N=require("react/jsx-runtime");function j(e){let t=M(e.fields),{column:r,field:n}=e.components;return t.map((o,i)=>(0,N.jsxs)(Mt.Fragment,{children:[Me(o)&&(0,N.jsx)(r,{column:o,children:(0,N.jsx)(j,{...e,fields:o.fields})}),Ve(o)&&(0,N.jsx)(n,{disabled:e.disabled,field:o,children:e.children})]},i))}var vt=require("react/jsx-runtime"),Vt=e=>(0,vt.jsx)(j,{...e,components:{column:yt,field:_t}});var B=require("react/jsx-runtime");function X(e){return(0,B.jsx)(at,{config:e.config,control:e.children,definition:e.definition,readOnly:e.readOnly,sections:e.sections,children:({disabled:t,fields:r})=>(0,B.jsx)(Vt,{disabled:t,fields:r,children:n=>(0,B.jsx)(xt,{...n,config:e.config,source:e.source,value:e.value})})})}var Gt=require("react");var ee=require("react/jsx-runtime");function Bt(e){return(0,ee.jsx)(Gt.Suspense,{fallback:(0,ee.jsx)(X,{config:e.config,sections:e.sections,readOnly:!0}),children:e.children})}
1
+ "use strict";var U=Object.defineProperty;var $t=Object.getOwnPropertyDescriptor;var Ht=Object.getOwnPropertyNames;var Kt=Object.prototype.hasOwnProperty;var Wt=(e,t)=>{for(var r in t)U(e,r,{get:t[r],enumerable:!0})},qt=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Ht(t))!Kt.call(e,o)&&o!==r&&U(e,o,{get:()=>t[o],enumerable:!(n=$t(t,o))||n.enumerable});return e};var zt=e=>qt(U({},"__esModule",{value:!0}),e);var fr={};Wt(fr,{Fallback:()=>Xt,Form:()=>Y});module.exports=zt(fr);var ne=require("react/jsx-runtime");function re(e){return(0,ne.jsx)("div",{"data-slot":"field-control",className:"w-full",children:e.children})}var oe=require("react/jsx-runtime");function F(e){return(0,oe.jsx)("div",{"data-slot":"field-group","data-compact":e.compact,className:"flex w-full flex-col gap-8 data-[compact=true]:gap-3",children:e.children})}var k="input",ie="input/email",le="input/number";var ae="textarea",ce="radio",se="checkbox",ue="select",de="select/month",fe="select/year";var $="column";var me="label",H="value",L="options",K="email",pe="number",ge="password",ye="tel",S="text",xe="aria-errormessage",be="aria-invalid",Re="data-invalid",Te="data-readonly",Ae="aria",he="data",Ne="min",Fe="max",Se="minLength",Ee="maxLength",g="$ref";var d="vertical",y="horizontal";function a(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function x(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function w(e){return typeof e=="string"}var Zt=/[^/]+$/;function Ce(e,t=H){if(e!=null){if(x(e))return e;if(a(e)){let r=Jt(e,t);if(x(r))return r}}}function Jt(e,t){let r=E(e,t);if(x(r))return r}function E(e,t){if(!t||!a(e))return null;let r=t.split(".").filter(o=>o!=="");if(r.length===0)return null;let n=e;for(let o of r)if(a(n)&&o in n)n=n[o];else return null;return n}function Ie(e,t={label:me,value:H}){return e.map(r=>{if(a(r)){let n=E(r,t.label),o=E(r,t.value);if(x(n)&&x(o))return{label:`${n}`,value:`${o}`}}return r})}function Oe(e=S){if(e){let t=e.match(Zt);if(t){let[r]=t;if(r!==k)return r.trim().toLowerCase()}}return S}var Qt=/\[([^\]]+)\]\(([^)]+)\)/g;function Pe(e,t){if(!e||e.trim().length===0)return null;let r,n=0,o=!1,i=[];for(;(r=Qt.exec(e))!==null;){let[l,f,Yt]=r,P=r.index;o=!0,P>n&&i.push(e.substring(n,P));let Ut=t?t(P,Yt,f):l;i.push(Ut),n=P+l.length}return o?(n<e.length&&i.push(e.substring(n)),i):e}var ke=e=>s(de)(e),Le=e=>s(fe)(e),b=s(se),we=s(k),R=s(ce),c=s(ue),De=s(ae),_e=s(S,K,ge,ye),Fr=s(ie,K),Me=s(le,pe);function Ve(e){return e.type===$}function ve(e){return e.type!==$}function Ge(e){return c(e)||R(e)}function W(e){return e!=null&&e!==""}function s(...e){return t=>{let r=w(t.type)?t.type:void 0;return r?e.some(n=>r===n||r?.startsWith(`${n}/`)):!1}}function Be(e,t={}){if(c(e)&&e.disabled){let r=e.name?t?.[e.name]:void 0;if(r&&a(r))return[r]}}function D(e){return R(e)||b(e)?y:e.advanced?.orientation??d}function Xe(e,t){let r=e.readonly??!1;return t||r}function Ye(e){if(R(e)||c(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||a(t)&&!(g in t))return t}}function Ue(e,t){let r=Ye(e);return r||Be(e,t)}function jt(e,t){let r=a(t)&&e.name in t?t[e.name]:t;return Ce(r,e.advanced?.entity)}function er(e,t,r){return Ge(e)&&Array.isArray(r)?{...t,[L]:r}:t}function tr(e,t,r){if(e.required&&!W(r)&&c(e)&&e.advanced?.preselected!==!1&&L in t){let n=t[L];if(Array.isArray(n)&&n.length===1)return n[0]}return r}function rr(e,t){return c(e)&&Array.isArray(t)?Ie(t,e.advanced?.options):t}function $e(e,t,r,n){let o=jt(e,n),i=Array.isArray(r)?rr(e,r):r,l=er(e,t,i),f=tr(e,l,o);return{commonPropsWithOptions:l,defaultValue:f}}function He(e,t){return b(e)?{defaultChecked:W(t)}:{defaultValue:t}}var nr=/^#\/definition\//;function M(e=[],t){let r=_(e,t);return Array.isArray(r)?r.filter(n=>n.hidden!==!0).sort((n,o)=>Ke(n)-Ke(o)):[]}function _(e,t,r=new Map,n=new WeakSet){if(!or(t)||!e||typeof e!="object")return e;if(r.has(e))return r.get(e);if(n.has(e))return e;if(n.add(e),Array.isArray(e))return e.map(i=>_(i,t,r,n));if(g in e&&w(e[g])){let i=e[g].replace(nr,""),l=E(t,i);return l!==null?_(l,t,r,n):e}let o={};for(let[i,l]of Object.entries(e))o[i]=_(l,t,r,n);return n.delete(e),r.set(e,o),o}function We(e){return Object.entries(e??{})}function Ke(e){return e.order??Number.MAX_VALUE}function or(e){return e!==void 0&&a(e)&&Object.keys(e).length>0}function qe(e,t){let r={};for(let[n,o]of We(t))r[`${e}-${n}`]=o;return r}function ze(e){return qe(Ae,e)}function Ze(e){return qe(he,e)}var Je={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},Qe={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function je(e,t=2){return Je[e&&e in Je?e:t]}function et(e){if(e&&e in Qe)return Qe[e]}var ir=/^\d+$/;function tt(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function rt(e,t){return t>=e?Array.from({length:t-e+1},(r,n)=>{let o=e+n;return{value:o.toString(),label:o.toString()}}):[]}function q(){return new Date().getFullYear()}function z(e,t){if(typeof e=="number")return e;let r=t??q(),n=e.trim().toLowerCase();if(n.startsWith("current")){let o=n.match(/^current([+-])(\d+)$/);if(o){let[,i,l]=o,f=parseInt(l,10);if(!isNaN(f))return i==="+"?r+f:r-f}return r}return ir.test(n)?parseInt(n,10):r}var nt=require("react/jsx-runtime");function C(e){return Pe(e,(t,r,n)=>(0,nt.jsx)("a",{className:"underline",href:r,rel:"noopener noreferrer",target:"_blank",children:n},`${r}-${t}`))}var m=require("react/jsx-runtime");function ot(e){return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:C(e.title)}),(0,m.jsx)("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:C(e.description)})]})}function V(e,t){return{...e,...t}}var T=require("react/jsx-runtime");function it(e){let t=e.section.fields||[],{compact:r}=V(e.style,{compact:e.section.compact});return!e.section.title&&!e.section.description?(0,T.jsx)(F,{compact:r,children:e.children}):(0,T.jsxs)("fieldset",{"data-slot":"field-set","data-empty":t.length===0,className:"flex flex-col data-[empty=false]:gap-6",children:[(0,T.jsx)(ot,{description:e.section.description,title:e.section.title}),(0,T.jsx)(F,{compact:r,children:e.children})]})}var at=require("react");var Z=require("react/jsx-runtime");function lt(){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 ct(e){let t=M(e.sections,e.definition);return(0,u.jsx)("div",{className:"h-full w-full",children:(0,u.jsx)("form",{noValidate:e.noValidate,action:e.action,children:(0,u.jsxs)(F,{children:[t.map((r,n)=>(0,u.jsxs)(at.Fragment,{children:[(0,u.jsx)(it,{section:r,style:e.config.style,children:e.children({disabled:e.readOnly,fields:r.fields})}),r.separator&&(0,u.jsx)(lt,{})]},n)),e.control&&(0,u.jsx)(re,{children:e.control})]})})})}var ut=require("react/jsx-runtime");function st(e){return(0,ut.jsx)("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}var dt=require("react/jsx-runtime");function A(e){let t=C(e.text);return t?(0,dt.jsx)(st,{children:t}):null}var ft=require("tailwind-merge"),v=require("react/jsx-runtime");function mt(e){let t=R(e.field)||b(e.field);return(0,v.jsxs)("label",{"data-slot":"field-label","data-normal":t,className:(0,ft.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 I=require("react/jsx-runtime");function pt(e){return(0,I.jsxs)("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[(0,I.jsx)(mt,{field:e.field,children:e.field.label}),e.orientation===y&&(0,I.jsx)(A,{text:e.field.description})]})}var p=require("react/jsx-runtime");function gt(e){let t=D(e.field);return(0,p.jsxs)(p.Fragment,{children:[e.field.name&&e.field.label&&(0,p.jsx)(pt,{field:e.field,orientation:t}),e.children,t===d&&e.field.description&&(0,p.jsx)(A,{text:e.field.description})]})}function yt(e,t){return e?t(e):null}var O=require("react/jsx-runtime");function xt(e){let t=Ue(e.field,e.value),{commonPropsWithOptions:r,defaultValue:n}=$e(e.field,e.commonProps,t,e.value),o=He(e.field,n);return yt(e.config.inputs[e.field.type],i=>(0,O.jsxs)(gt,{field:e.field,children:[(0,O.jsx)(i,{...e.ariaAttributes,...r,...e.dataAttributes,...o}),(0,O.jsx)(A,{text:e.field.description})]}))}var bt=require("tailwind-merge"),J=require("react/jsx-runtime");function Rt(e){let t=je(e.column?.advanced?.cols);return(0,J.jsx)("div",{className:"flex w-full flex-col gap-4",children:(0,J.jsx)("div",{className:(0,bt.twMerge)("grid grid-cols-1 gap-8 sm:gap-4",t),children:e.children})})}var Q=require("react/jsx-runtime");function Tt(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,r)=>(0,Q.jsx)("li",{children:t},e.name?`${e.name}-error-${r}`:r))})}var At=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",...t&&{[Re]:"true"},...e.disabled&&{[Te]:"true"},"data-orientation":e.orientation,className:(0,At.twMerge)("group flex w-full flex-col items-center data-[invalid=true]:text-red-600 data-[invalid=true]:dark:text-red-500","has-[>[role=checkbox],[role=radiogroup]]:items-start","has-[>[role=checkbox]]:flex-row-reverse","has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radiogroup]]:mt-px",et(e.cols),e.className),children:e.children})}var Ft=require("react/jsx-runtime");function Nt(e){return(0,Ft.jsx)(G,{...e,orientation:d,className:"gap-3 has-[>[data-slot=field-content]]:items-start [&>*:not([role=checkbox]):not([role=radiogroup])]:w-full",children:e.children})}var Et=require("react/jsx-runtime");function St(e){return(0,Et.jsx)(G,{...e,orientation:y,className:"gap-2 md:flex-row md:gap-4 has-[>[role=radiogroup]]:md:flex-col [&:not(:has(>[role=checkbox],[role=radiogroup]))]:md:justify-between [&>*:not([role=checkbox]):not([role=radiogroup]):not([data-slot=field-content])]:w-full [&>*:not([role=checkbox]):not([role=radiogroup]):not([data-slot=field-content])]:md:w-1/2 [&>*:not([role=checkbox]):not([role=radiogroup]):not([data-slot=field-content])]:xl:w-2/5 [&>[data-slot=field-content]]:min-w-0 [&>[data-slot=field-content]]:flex-grow [&>[data-slot=field-content]]:self-start",children:e.children})}var j=require("react/jsx-runtime");function Ct(e){return e.orientation===d?(0,j.jsx)(Nt,{cols:e.cols,disabled:e.disabled,errors:e.errors,children:e.children}):(0,j.jsx)(St,{cols:e.cols,disabled:e.disabled,errors:e.errors,children:e.children})}var B=q();function It(e){if(c(e))return lr(e)}function lr(e){if(ke(e))return tt();if(Le(e)){let t=e.advanced?.length?.min??B,r=e.advanced?.length?.max??B+5;return rt(z(t,B),z(r,B))}}function Ot(e,t=!1){let r={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return we(e)?{...r,...ar(e)}:c(e)?{...r,...cr(e)}:De(e)?{...r,...sr(e)}:r}function ar(e){let t=Oe(e.type),r={...e,type:t};return{...Pt(e),...ur(r),..._e(r)?kt(r):{},type:t}}function cr(e){let t=It(e);return t?{options:t}:{}}function sr(e){return{...Pt(e),...kt(e)}}function Pt(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function ur(e){return Me(e)?dr(e):{}}function kt(e){return Lt(e,{min:Se,max:Ee})}function dr(e){return Lt(e,{min:Ne,max:Fe})}function Lt(e,t){let r={},n=e.advanced?.length;return n&&(n.min!==void 0&&(r[t.min]=n.min),n.max!==void 0&&(r[t.max]=n.max)),r}function wt(e,t){let r=ze(e.advanced?.aria);return t&&t.length>0&&(r[be]="true",r[xe]=`${e.name}-error`),r}function Dt(e){return Ze(e.advanced?.data)}function _t(e){if(!e.field.type)return null;let t=Ot(e.field,e.disabled),r=Dt(e.field),n=wt(e.field,e.errors),o={...e.field,disabled:t.disabled};return e.children({ariaAttributes:n,commonProps:t,dataAttributes:r,field:o})}var h=require("react/jsx-runtime");function Mt(e){let t=e.field.advanced?.cols,r=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:n}=V(e.style,{orientation:D(e.field)}),o=Xe(e.field,e.disabled);return(0,h.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,h.jsx)(Ct,{cols:t,disabled:o,errors:r,orientation:n,children:(0,h.jsx)(_t,{disabled:o,errors:r,field:e.field,children:e.children})}),(0,h.jsx)(Tt,{errors:r,name:e.field.name})]})}var Vt=require("react"),N=require("react/jsx-runtime");function ee(e){let t=M(e.fields),{column:r,field:n}=e.components;return t.map((o,i)=>(0,N.jsxs)(Vt.Fragment,{children:[Ve(o)&&(0,N.jsx)(r,{column:o,children:(0,N.jsx)(ee,{...e,fields:o.fields})}),ve(o)&&(0,N.jsx)(n,{disabled:e.disabled,field:o,style:e.style,children:e.children})]},i))}var Gt=require("react/jsx-runtime"),vt=e=>(0,Gt.jsx)(ee,{...e,components:{column:Rt,field:Mt}});var X=require("react/jsx-runtime");function Y(e){return(0,X.jsx)(ct,{config:e.config,control:e.children,definition:e.definition,readOnly:e.readOnly,sections:e.sections,children:({disabled:t,fields:r})=>(0,X.jsx)(vt,{disabled:t,fields:r,style:e.config.style,children:n=>(0,X.jsx)(xt,{...n,config:e.config,source:e.source,value:e.value})})})}var Bt=require("react");var te=require("react/jsx-runtime");function Xt(e){return(0,te.jsx)(Bt.Suspense,{fallback:(0,te.jsx)(Y,{config:e.config,sections:e.sections,readOnly:!0}),children:e.children})}
@@ -1 +1 @@
1
- import{jsx as Ct}from"react/jsx-runtime";function $(e){return Ct("div",{"data-slot":"field-control",className:"w-full",children:e.children})}import{jsx as It}from"react/jsx-runtime";function y(e){return It("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 F="input",H="input/email",K="input/number";var W="textarea",q="radio",z="checkbox",Z="select",J="select/month",Q="select/year";var L="column";var j="label",w="value",E="options",D="email",ee="number",te="password",re="tel",R="text",ne="aria-errormessage",oe="aria-invalid",ie="data-invalid",le="data-readonly",ae="aria",ce="data",se="min",ue="max",de="minLength",fe="maxLength",f="$ref";var u="vertical",m="horizontal";function a(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function p(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function C(e){return typeof e=="string"}var St=/[^/]+$/;function me(e,t=w){if(e!=null){if(p(e))return e;if(a(e)){let r=Ot(e,t);if(p(r))return r}}}function Ot(e,t){let r=T(e,t);if(p(r))return r}function T(e,t){if(!t||!a(e))return null;let r=t.split(".").filter(o=>o!=="");if(r.length===0)return null;let n=e;for(let o of r)if(a(n)&&o in n)n=n[o];else return null;return n}function pe(e,t={label:j,value:w}){return e.map(r=>{if(a(r)){let n=T(r,t.label),o=T(r,t.value);if(p(n)&&p(o))return{label:`${n}`,value:`${o}`}}return r})}function ge(e=R){if(e){let t=e.match(St);if(t){let[r]=t;if(r!==F)return r.trim().toLowerCase()}}return R}var Pt=/\[([^\]]+)\]\(([^)]+)\)/g;function xe(e,t){if(!e||e.trim().length===0)return null;let r,n=0,o=!1,i=[];for(;(r=Pt.exec(e))!==null;){let[l,d,Ft]=r,N=r.index;o=!0,N>n&&i.push(e.substring(n,N));let Et=t?t(N,Ft,d):l;i.push(Et),n=N+l.length}return o?(n<e.length&&i.push(e.substring(n)),i):e}var be=e=>s(J)(e),ye=e=>s(Q)(e),g=s(z),Re=s(F),x=s(q),c=s(Z),Te=s(W),Ae=s(R,D,te,re),Ir=s(H,D),he=s(K,ee);function Ne(e){return e.type===L}function Fe(e){return e.type!==L}function Ee(e){return c(e)||x(e)}function _(e){return e!=null&&e!==""}function s(...e){return t=>{let r=C(t.type)?t.type:void 0;return r?e.some(n=>r===n||r?.startsWith(`${n}/`)):!1}}function Ce(e,t={}){if(c(e)&&e.disabled){let r=e.name?t?.[e.name]:void 0;if(r&&a(r))return[r]}}function I(e){return x(e)||g(e)?m:e.advanced?.orientation??u}function Ie(e,t){let r=e.readonly??!1;return t||r}function Se(e){if(x(e)||c(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||a(t)&&!(f in t))return t}}function Oe(e,t){let r=Se(e);return r||Ce(e,t)}function kt(e,t){let r=a(t)&&e.name in t?t[e.name]:t;return me(r,e.advanced?.entity)}function Lt(e,t,r){return Ee(e)&&Array.isArray(r)?{...t,[E]:r}:t}function wt(e,t,r){if(e.required&&!_(r)&&c(e)&&e.advanced?.preselected!==!1&&E in t){let n=t[E];if(Array.isArray(n)&&n.length===1)return n[0]}return r}function Dt(e,t){return c(e)&&Array.isArray(t)?pe(t,e.advanced?.options):t}function Pe(e,t,r,n){let o=kt(e,n),i=Array.isArray(r)?Dt(e,r):r,l=Lt(e,t,i),d=wt(e,l,o);return{commonPropsWithOptions:l,defaultValue:d}}function ke(e,t){return g(e)?{defaultChecked:_(t)}:{defaultValue:t}}var _t=/^#\/definition\//;function O(e=[],t){let r=S(e,t);return Array.isArray(r)?r.filter(n=>n.hidden!==!0).sort((n,o)=>Le(n)-Le(o)):[]}function S(e,t,r=new Map,n=new WeakSet){if(!Mt(t)||!e||typeof e!="object")return e;if(r.has(e))return r.get(e);if(n.has(e))return e;if(n.add(e),Array.isArray(e))return e.map(i=>S(i,t,r,n));if(f in e&&C(e[f])){let i=e[f].replace(_t,""),l=T(t,i);return l!==null?S(l,t,r,n):e}let o={};for(let[i,l]of Object.entries(e))o[i]=S(l,t,r,n);return n.delete(e),r.set(e,o),o}function we(e){return Object.entries(e??{})}function Le(e){return e.order??Number.MAX_VALUE}function Mt(e){return e!==void 0&&a(e)&&Object.keys(e).length>0}function De(e,t){let r={};for(let[n,o]of we(t))r[`${e}-${n}`]=o;return r}function _e(e){return De(ae,e)}function Me(e){return De(ce,e)}var Ve={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},ve={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function Ge(e,t=2){return Ve[e&&e in Ve?e:t]}function Be(e){if(e&&e in ve)return ve[e]}var Vt=/^\d+$/;function Xe(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function Ye(e,t){return t>=e?Array.from({length:t-e+1},(r,n)=>{let o=e+n;return{value:o.toString(),label:o.toString()}}):[]}function M(){return new Date().getFullYear()}function V(e,t){if(typeof e=="number")return e;let r=t??M(),n=e.trim().toLowerCase();if(n.startsWith("current")){let o=n.match(/^current([+-])(\d+)$/);if(o){let[,i,l]=o,d=parseInt(l,10);if(!isNaN(d))return i==="+"?r+d:r-d}return r}return Vt.test(n)?parseInt(n,10):r}import{jsx as vt}from"react/jsx-runtime";function A(e){return xe(e,(t,r,n)=>vt("a",{className:"underline",href:r,rel:"noopener noreferrer",target:"_blank",children:n},`${r}-${t}`))}import{Fragment as Gt,jsx as Ue,jsxs as Bt}from"react/jsx-runtime";function $e(e){return Bt(Gt,{children:[Ue("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:A(e.title)}),Ue("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:A(e.description)})]})}import{jsx as v,jsxs as Xt}from"react/jsx-runtime";function He(e){if(!e.section.title&&!e.section.description)return v(y,{compact:e.section.compact,children:e.children});let t=e.section.fields||[];return Xt("fieldset",{"data-slot":"field-set","data-empty":t.length===0,className:"flex flex-col data-[empty=false]:gap-6",children:[v($e,{description:e.section.description,title:e.section.title}),v(y,{compact:e.section.compact,children:e.children})]})}import{Fragment as Yt}from"react";import{jsx as Ke}from"react/jsx-runtime";function We(){return Ke("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:Ke("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}import{jsx as h,jsxs as qe}from"react/jsx-runtime";function ze(e){let t=O(e.sections,e.definition);return h("div",{className:"h-full w-full",children:h("form",{noValidate:e.noValidate,action:e.action,children:qe(y,{children:[t.map((r,n)=>qe(Yt,{children:[h(He,{section:r,children:e.children({disabled:e.readOnly,fields:r.fields})}),r.separator&&h(We,{})]},n)),e.control&&h($,{children:e.control})]})})})}import{jsx as Ut}from"react/jsx-runtime";function Ze(e){return Ut("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}import{jsx as $t}from"react/jsx-runtime";function b(e){let t=A(e.text);return t?$t(Ze,{children:t}):null}import{twMerge as Ht}from"tailwind-merge";import{jsx as Kt,jsxs as Wt}from"react/jsx-runtime";function Je(e){let t=x(e.field)||g(e.field);return Wt("label",{"data-slot":"field-label","data-normal":t,className:Ht("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&&Kt("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:"(Optional)"})]})}import{jsx as Qe,jsxs as qt}from"react/jsx-runtime";function je(e){return qt("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[Qe(Je,{field:e.field,children:e.field.label}),e.orientation===m&&Qe(b,{text:e.field.description})]})}import{Fragment as zt,jsx as et,jsxs as Zt}from"react/jsx-runtime";function tt(e){let t=I(e.field);return Zt(zt,{children:[e.field.name&&e.field.label&&et(je,{field:e.field,orientation:t}),e.children,t===u&&e.field.description&&et(b,{text:e.field.description})]})}function rt(e,t){return e?t(e):null}import{jsx as nt,jsxs as Jt}from"react/jsx-runtime";function ot(e){let t=Oe(e.field,e.value),{commonPropsWithOptions:r,defaultValue:n}=Pe(e.field,e.commonProps,t,e.value),o=ke(e.field,n);return rt(e.config.inputs[e.field.type],i=>Jt(tt,{field:e.field,children:[nt(i,{...e.ariaAttributes,...r,...e.dataAttributes,...o}),nt(b,{text:e.field.description})]}))}import{twMerge as Qt}from"tailwind-merge";import{jsx as it}from"react/jsx-runtime";function lt(e){let t=Ge(e.column?.advanced?.cols);return it("div",{className:"flex w-full flex-col gap-4",children:it("div",{className:Qt("grid grid-cols-1 gap-8 sm:gap-4",t),children:e.children})})}import{jsx as at}from"react/jsx-runtime";function ct(e){return!e.errors||e.errors.length===0?null:at("ul",{className:"text-sm text-red-600 dark:text-red-500",id:e.name?`${e.name}-error`:void 0,children:e.errors?.map((t,r)=>at("li",{children:t},e.name?`${e.name}-error-${r}`:r))})}import{twMerge as jt}from"tailwind-merge";import{jsx as er}from"react/jsx-runtime";function P(e){let t=e.errors&&e.errors.length>0;return er("div",{"data-slot":"field",...t&&{[ie]:"true"},...e.disabled&&{[le]:"true"},"data-orientation":e.orientation,className:jt("group flex w-full flex-col items-center data-[invalid=true]:text-red-600 data-[invalid=true]:dark:text-red-500","has-[>[role=checkbox],[role=radiogroup]]:items-start","has-[>[role=checkbox]]:flex-row-reverse","has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radiogroup]]:mt-px",Be(e.cols),e.className),children:e.children})}import{jsx as tr}from"react/jsx-runtime";function st(e){return tr(P,{...e,orientation:u,className:"gap-3 has-[>[data-slot=field-content]]:items-start [&>*:not([role=checkbox]):not([role=radiogroup])]:w-full",children:e.children})}import{jsx as rr}from"react/jsx-runtime";function ut(e){return rr(P,{...e,orientation:m,className:"gap-2 md:flex-row md:gap-4 has-[>[role=radiogroup]]:md:flex-col [&:not(:has(>[role=checkbox],[role=radiogroup]))]:md:justify-between [&>*:not([role=checkbox]):not([role=radiogroup]):not([data-slot=field-content])]:w-full [&>*:not([role=checkbox]):not([role=radiogroup]):not([data-slot=field-content])]:md:w-1/2 [&>*:not([role=checkbox]):not([role=radiogroup]):not([data-slot=field-content])]:xl:w-2/5 [&>[data-slot=field-content]]:min-w-0 [&>[data-slot=field-content]]:flex-grow [&>[data-slot=field-content]]:self-start",children:e.children})}import{jsx as dt}from"react/jsx-runtime";function ft(e){return e.orientation===u?dt(st,{cols:e.cols,disabled:e.disabled,errors:e.errors,children:e.children}):dt(ut,{cols:e.cols,disabled:e.disabled,errors:e.errors,children:e.children})}var k=M();function mt(e){if(c(e))return nr(e)}function nr(e){if(be(e))return Xe();if(ye(e)){let t=e.advanced?.length?.min??k,r=e.advanced?.length?.max??k+5;return Ye(V(t,k),V(r,k))}}function pt(e,t=!1){let r={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return Re(e)?{...r,...or(e)}:c(e)?{...r,...ir(e)}:Te(e)?{...r,...lr(e)}:r}function or(e){let t=ge(e.type),r={...e,type:t};return{...gt(e),...ar(r),...Ae(r)?xt(r):{},type:t}}function ir(e){let t=mt(e);return t?{options:t}:{}}function lr(e){return{...gt(e),...xt(e)}}function gt(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function ar(e){return he(e)?cr(e):{}}function xt(e){return bt(e,{min:de,max:fe})}function cr(e){return bt(e,{min:se,max:ue})}function bt(e,t){let r={},n=e.advanced?.length;return n&&(n.min!==void 0&&(r[t.min]=n.min),n.max!==void 0&&(r[t.max]=n.max)),r}function yt(e,t){let r=_e(e.advanced?.aria);return t&&t.length>0&&(r[oe]="true",r[ne]=`${e.name}-error`),r}function Rt(e){return Me(e.advanced?.data)}function Tt(e){if(!e.field.type)return null;let t=pt(e.field,e.disabled),r=Rt(e.field),n=yt(e.field,e.errors),o={...e.field,disabled:t.disabled};return e.children({ariaAttributes:n,commonProps:t,dataAttributes:r,field:o})}import{jsx as G,jsxs as sr}from"react/jsx-runtime";function At(e){let t=e.field.advanced?.cols,r=e.field.name?e.errors?.[e.field.name]:void 0,n=I(e.field),o=Ie(e.field,e.disabled);return sr("div",{className:"flex flex-col gap-3",children:[G(ft,{cols:t,disabled:o,errors:r,orientation:n,children:G(Tt,{disabled:o,errors:r,field:e.field,children:e.children})}),G(ct,{errors:r,name:e.field.name})]})}import{Fragment as ur}from"react";import{jsx as B,jsxs as dr}from"react/jsx-runtime";function X(e){let t=O(e.fields),{column:r,field:n}=e.components;return t.map((o,i)=>dr(ur,{children:[Ne(o)&&B(r,{column:o,children:B(X,{...e,fields:o.fields})}),Fe(o)&&B(n,{disabled:e.disabled,field:o,children:e.children})]},i))}import{jsx as fr}from"react/jsx-runtime";var ht=e=>fr(X,{...e,components:{column:lt,field:At}});import{jsx as Y}from"react/jsx-runtime";function U(e){return Y(ze,{config:e.config,control:e.children,definition:e.definition,readOnly:e.readOnly,sections:e.sections,children:({disabled:t,fields:r})=>Y(ht,{disabled:t,fields:r,children:n=>Y(ot,{...n,config:e.config,source:e.source,value:e.value})})})}import{Suspense as mr}from"react";import{jsx as Nt}from"react/jsx-runtime";function pr(e){return Nt(mr,{fallback:Nt(U,{config:e.config,sections:e.sections,readOnly:!0}),children:e.children})}export{pr as Fallback,U as Form};
1
+ import{jsx as Ct}from"react/jsx-runtime";function H(e){return Ct("div",{"data-slot":"field-control",className:"w-full",children:e.children})}import{jsx as It}from"react/jsx-runtime";function b(e){return It("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 F="input",K="input/email",W="input/number";var q="textarea",z="radio",Z="checkbox",J="select",Q="select/month",j="select/year";var w="column";var ee="label",D="value",S="options",_="email",te="number",re="password",ne="tel",R="text",oe="aria-errormessage",ie="aria-invalid",le="data-invalid",ae="data-readonly",ce="aria",se="data",ue="min",de="max",fe="minLength",me="maxLength",f="$ref";var u="vertical",m="horizontal";function a(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function p(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function E(e){return typeof e=="string"}var Ot=/[^/]+$/;function pe(e,t=D){if(e!=null){if(p(e))return e;if(a(e)){let r=Pt(e,t);if(p(r))return r}}}function Pt(e,t){let r=T(e,t);if(p(r))return r}function T(e,t){if(!t||!a(e))return null;let r=t.split(".").filter(o=>o!=="");if(r.length===0)return null;let n=e;for(let o of r)if(a(n)&&o in n)n=n[o];else return null;return n}function ge(e,t={label:ee,value:D}){return e.map(r=>{if(a(r)){let n=T(r,t.label),o=T(r,t.value);if(p(n)&&p(o))return{label:`${n}`,value:`${o}`}}return r})}function ye(e=R){if(e){let t=e.match(Ot);if(t){let[r]=t;if(r!==F)return r.trim().toLowerCase()}}return R}var kt=/\[([^\]]+)\]\(([^)]+)\)/g;function xe(e,t){if(!e||e.trim().length===0)return null;let r,n=0,o=!1,i=[];for(;(r=kt.exec(e))!==null;){let[l,d,St]=r,N=r.index;o=!0,N>n&&i.push(e.substring(n,N));let Et=t?t(N,St,d):l;i.push(Et),n=N+l.length}return o?(n<e.length&&i.push(e.substring(n)),i):e}var be=e=>s(Q)(e),Re=e=>s(j)(e),g=s(Z),Te=s(F),y=s(z),c=s(J),Ae=s(q),he=s(R,_,re,ne),Ir=s(K,_),Ne=s(W,te);function Fe(e){return e.type===w}function Se(e){return e.type!==w}function Ee(e){return c(e)||y(e)}function M(e){return e!=null&&e!==""}function s(...e){return t=>{let r=E(t.type)?t.type:void 0;return r?e.some(n=>r===n||r?.startsWith(`${n}/`)):!1}}function Ce(e,t={}){if(c(e)&&e.disabled){let r=e.name?t?.[e.name]:void 0;if(r&&a(r))return[r]}}function C(e){return y(e)||g(e)?m:e.advanced?.orientation??u}function Ie(e,t){let r=e.readonly??!1;return t||r}function Oe(e){if(y(e)||c(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||a(t)&&!(f in t))return t}}function Pe(e,t){let r=Oe(e);return r||Ce(e,t)}function Lt(e,t){let r=a(t)&&e.name in t?t[e.name]:t;return pe(r,e.advanced?.entity)}function wt(e,t,r){return Ee(e)&&Array.isArray(r)?{...t,[S]:r}:t}function Dt(e,t,r){if(e.required&&!M(r)&&c(e)&&e.advanced?.preselected!==!1&&S in t){let n=t[S];if(Array.isArray(n)&&n.length===1)return n[0]}return r}function _t(e,t){return c(e)&&Array.isArray(t)?ge(t,e.advanced?.options):t}function ke(e,t,r,n){let o=Lt(e,n),i=Array.isArray(r)?_t(e,r):r,l=wt(e,t,i),d=Dt(e,l,o);return{commonPropsWithOptions:l,defaultValue:d}}function Le(e,t){return g(e)?{defaultChecked:M(t)}:{defaultValue:t}}var Mt=/^#\/definition\//;function O(e=[],t){let r=I(e,t);return Array.isArray(r)?r.filter(n=>n.hidden!==!0).sort((n,o)=>we(n)-we(o)):[]}function I(e,t,r=new Map,n=new WeakSet){if(!Vt(t)||!e||typeof e!="object")return e;if(r.has(e))return r.get(e);if(n.has(e))return e;if(n.add(e),Array.isArray(e))return e.map(i=>I(i,t,r,n));if(f in e&&E(e[f])){let i=e[f].replace(Mt,""),l=T(t,i);return l!==null?I(l,t,r,n):e}let o={};for(let[i,l]of Object.entries(e))o[i]=I(l,t,r,n);return n.delete(e),r.set(e,o),o}function De(e){return Object.entries(e??{})}function we(e){return e.order??Number.MAX_VALUE}function Vt(e){return e!==void 0&&a(e)&&Object.keys(e).length>0}function _e(e,t){let r={};for(let[n,o]of De(t))r[`${e}-${n}`]=o;return r}function Me(e){return _e(ce,e)}function Ve(e){return _e(se,e)}var ve={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},Ge={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function Be(e,t=2){return ve[e&&e in ve?e:t]}function Xe(e){if(e&&e in Ge)return Ge[e]}var vt=/^\d+$/;function Ye(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function Ue(e,t){return t>=e?Array.from({length:t-e+1},(r,n)=>{let o=e+n;return{value:o.toString(),label:o.toString()}}):[]}function V(){return new Date().getFullYear()}function v(e,t){if(typeof e=="number")return e;let r=t??V(),n=e.trim().toLowerCase();if(n.startsWith("current")){let o=n.match(/^current([+-])(\d+)$/);if(o){let[,i,l]=o,d=parseInt(l,10);if(!isNaN(d))return i==="+"?r+d:r-d}return r}return vt.test(n)?parseInt(n,10):r}import{jsx as Gt}from"react/jsx-runtime";function A(e){return xe(e,(t,r,n)=>Gt("a",{className:"underline",href:r,rel:"noopener noreferrer",target:"_blank",children:n},`${r}-${t}`))}import{Fragment as Bt,jsx as $e,jsxs as Xt}from"react/jsx-runtime";function He(e){return Xt(Bt,{children:[$e("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:A(e.title)}),$e("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:A(e.description)})]})}function P(e,t){return{...e,...t}}import{jsx as G,jsxs as Yt}from"react/jsx-runtime";function Ke(e){let t=e.section.fields||[],{compact:r}=P(e.style,{compact:e.section.compact});return!e.section.title&&!e.section.description?G(b,{compact:r,children:e.children}):Yt("fieldset",{"data-slot":"field-set","data-empty":t.length===0,className:"flex flex-col data-[empty=false]:gap-6",children:[G(He,{description:e.section.description,title:e.section.title}),G(b,{compact:r,children:e.children})]})}import{Fragment as Ut}from"react";import{jsx as We}from"react/jsx-runtime";function qe(){return We("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:We("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}import{jsx as h,jsxs as ze}from"react/jsx-runtime";function Ze(e){let t=O(e.sections,e.definition);return h("div",{className:"h-full w-full",children:h("form",{noValidate:e.noValidate,action:e.action,children:ze(b,{children:[t.map((r,n)=>ze(Ut,{children:[h(Ke,{section:r,style:e.config.style,children:e.children({disabled:e.readOnly,fields:r.fields})}),r.separator&&h(qe,{})]},n)),e.control&&h(H,{children:e.control})]})})})}import{jsx as $t}from"react/jsx-runtime";function Je(e){return $t("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}import{jsx as Ht}from"react/jsx-runtime";function x(e){let t=A(e.text);return t?Ht(Je,{children:t}):null}import{twMerge as Kt}from"tailwind-merge";import{jsx as Wt,jsxs as qt}from"react/jsx-runtime";function Qe(e){let t=y(e.field)||g(e.field);return qt("label",{"data-slot":"field-label","data-normal":t,className:Kt("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&&Wt("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:"(Optional)"})]})}import{jsx as je,jsxs as zt}from"react/jsx-runtime";function et(e){return zt("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[je(Qe,{field:e.field,children:e.field.label}),e.orientation===m&&je(x,{text:e.field.description})]})}import{Fragment as Zt,jsx as tt,jsxs as Jt}from"react/jsx-runtime";function rt(e){let t=C(e.field);return Jt(Zt,{children:[e.field.name&&e.field.label&&tt(et,{field:e.field,orientation:t}),e.children,t===u&&e.field.description&&tt(x,{text:e.field.description})]})}function nt(e,t){return e?t(e):null}import{jsx as ot,jsxs as Qt}from"react/jsx-runtime";function it(e){let t=Pe(e.field,e.value),{commonPropsWithOptions:r,defaultValue:n}=ke(e.field,e.commonProps,t,e.value),o=Le(e.field,n);return nt(e.config.inputs[e.field.type],i=>Qt(rt,{field:e.field,children:[ot(i,{...e.ariaAttributes,...r,...e.dataAttributes,...o}),ot(x,{text:e.field.description})]}))}import{twMerge as jt}from"tailwind-merge";import{jsx as lt}from"react/jsx-runtime";function at(e){let t=Be(e.column?.advanced?.cols);return lt("div",{className:"flex w-full flex-col gap-4",children:lt("div",{className:jt("grid grid-cols-1 gap-8 sm:gap-4",t),children:e.children})})}import{jsx as ct}from"react/jsx-runtime";function st(e){return!e.errors||e.errors.length===0?null:ct("ul",{className:"text-sm text-red-600 dark:text-red-500",id:e.name?`${e.name}-error`:void 0,children:e.errors?.map((t,r)=>ct("li",{children:t},e.name?`${e.name}-error-${r}`:r))})}import{twMerge as er}from"tailwind-merge";import{jsx as tr}from"react/jsx-runtime";function k(e){let t=e.errors&&e.errors.length>0;return tr("div",{"data-slot":"field",...t&&{[le]:"true"},...e.disabled&&{[ae]:"true"},"data-orientation":e.orientation,className:er("group flex w-full flex-col items-center data-[invalid=true]:text-red-600 data-[invalid=true]:dark:text-red-500","has-[>[role=checkbox],[role=radiogroup]]:items-start","has-[>[role=checkbox]]:flex-row-reverse","has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radiogroup]]:mt-px",Xe(e.cols),e.className),children:e.children})}import{jsx as rr}from"react/jsx-runtime";function ut(e){return rr(k,{...e,orientation:u,className:"gap-3 has-[>[data-slot=field-content]]:items-start [&>*:not([role=checkbox]):not([role=radiogroup])]:w-full",children:e.children})}import{jsx as nr}from"react/jsx-runtime";function dt(e){return nr(k,{...e,orientation:m,className:"gap-2 md:flex-row md:gap-4 has-[>[role=radiogroup]]:md:flex-col [&:not(:has(>[role=checkbox],[role=radiogroup]))]:md:justify-between [&>*:not([role=checkbox]):not([role=radiogroup]):not([data-slot=field-content])]:w-full [&>*:not([role=checkbox]):not([role=radiogroup]):not([data-slot=field-content])]:md:w-1/2 [&>*:not([role=checkbox]):not([role=radiogroup]):not([data-slot=field-content])]:xl:w-2/5 [&>[data-slot=field-content]]:min-w-0 [&>[data-slot=field-content]]:flex-grow [&>[data-slot=field-content]]:self-start",children:e.children})}import{jsx as ft}from"react/jsx-runtime";function mt(e){return e.orientation===u?ft(ut,{cols:e.cols,disabled:e.disabled,errors:e.errors,children:e.children}):ft(dt,{cols:e.cols,disabled:e.disabled,errors:e.errors,children:e.children})}var L=V();function pt(e){if(c(e))return or(e)}function or(e){if(be(e))return Ye();if(Re(e)){let t=e.advanced?.length?.min??L,r=e.advanced?.length?.max??L+5;return Ue(v(t,L),v(r,L))}}function gt(e,t=!1){let r={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return Te(e)?{...r,...ir(e)}:c(e)?{...r,...lr(e)}:Ae(e)?{...r,...ar(e)}:r}function ir(e){let t=ye(e.type),r={...e,type:t};return{...yt(e),...cr(r),...he(r)?xt(r):{},type:t}}function lr(e){let t=pt(e);return t?{options:t}:{}}function ar(e){return{...yt(e),...xt(e)}}function yt(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function cr(e){return Ne(e)?sr(e):{}}function xt(e){return bt(e,{min:fe,max:me})}function sr(e){return bt(e,{min:ue,max:de})}function bt(e,t){let r={},n=e.advanced?.length;return n&&(n.min!==void 0&&(r[t.min]=n.min),n.max!==void 0&&(r[t.max]=n.max)),r}function Rt(e,t){let r=Me(e.advanced?.aria);return t&&t.length>0&&(r[ie]="true",r[oe]=`${e.name}-error`),r}function Tt(e){return Ve(e.advanced?.data)}function At(e){if(!e.field.type)return null;let t=gt(e.field,e.disabled),r=Tt(e.field),n=Rt(e.field,e.errors),o={...e.field,disabled:t.disabled};return e.children({ariaAttributes:n,commonProps:t,dataAttributes:r,field:o})}import{jsx as B,jsxs as ur}from"react/jsx-runtime";function ht(e){let t=e.field.advanced?.cols,r=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:n}=P(e.style,{orientation:C(e.field)}),o=Ie(e.field,e.disabled);return ur("div",{className:"flex flex-col gap-3",children:[B(mt,{cols:t,disabled:o,errors:r,orientation:n,children:B(At,{disabled:o,errors:r,field:e.field,children:e.children})}),B(st,{errors:r,name:e.field.name})]})}import{Fragment as dr}from"react";import{jsx as X,jsxs as fr}from"react/jsx-runtime";function Y(e){let t=O(e.fields),{column:r,field:n}=e.components;return t.map((o,i)=>fr(dr,{children:[Fe(o)&&X(r,{column:o,children:X(Y,{...e,fields:o.fields})}),Se(o)&&X(n,{disabled:e.disabled,field:o,style:e.style,children:e.children})]},i))}import{jsx as mr}from"react/jsx-runtime";var Nt=e=>mr(Y,{...e,components:{column:at,field:ht}});import{jsx as U}from"react/jsx-runtime";function $(e){return U(Ze,{config:e.config,control:e.children,definition:e.definition,readOnly:e.readOnly,sections:e.sections,children:({disabled:t,fields:r})=>U(Nt,{disabled:t,fields:r,style:e.config.style,children:n=>U(it,{...n,config:e.config,source:e.source,value:e.value})})})}import{Suspense as pr}from"react";import{jsx as Ft}from"react/jsx-runtime";function gr(e){return Ft(pr,{fallback:Ft($,{config:e.config,sections:e.sections,readOnly:!0}),children:e.children})}export{gr as Fallback,$ as Form};
@@ -134,13 +134,15 @@ export type BaseConfig<T> = {
134
134
  inputs: {
135
135
  [key: string]: T;
136
136
  };
137
- style?: {
138
- compact?: boolean;
139
- orientation?: Orientation;
140
- };
137
+ style?: Style;
141
138
  validation: {
142
139
  blur?: boolean;
143
140
  change?: boolean;
141
+ showError?: boolean;
144
142
  submit?: boolean;
145
143
  };
146
144
  };
145
+ export type Style = {
146
+ compact?: boolean;
147
+ orientation?: Orientation;
148
+ };
@@ -1,7 +1,8 @@
1
1
  import type { Children } from '../../type';
2
- import type { Fields } from '@luna-form/core';
2
+ import type { Fields, Style } from '@luna-form/core';
3
3
  export declare const Slot: (props: Readonly<{
4
4
  children: Children;
5
5
  disabled?: boolean;
6
6
  fields?: Fields;
7
+ style?: Style;
7
8
  }>) => import("react/jsx-runtime").JSX.Element;
@@ -3,4 +3,5 @@ export declare const Field: (props: Readonly<Omit<Readonly<{
3
3
  disabled?: boolean;
4
4
  errors?: Record<string, string[]>;
5
5
  field: import("@luna-form/core").Field;
6
+ style?: import("@luna-form/core").Style;
6
7
  }>, "errors">>) => import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,6 @@
1
- import type { Section } from '@luna-form/core';
1
+ import type { Section, Style } from '@luna-form/core';
2
2
  export declare function FieldSet(props: Readonly<{
3
3
  children?: React.ReactNode;
4
4
  section: Section;
5
+ style?: Style;
5
6
  }>): import("react/jsx-runtime").JSX.Element;
@@ -1,9 +1,10 @@
1
- import { type Field } from '@luna-form/core';
1
+ import { type Field, type Style } from '@luna-form/core';
2
2
  import type { Children } from '../../type';
3
3
  export type FieldProps = Readonly<{
4
4
  children: Children;
5
5
  disabled?: boolean;
6
6
  errors?: Record<string, string[]>;
7
7
  field: Field;
8
+ style?: Style;
8
9
  }>;
9
10
  export declare function Field(props: FieldProps): import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,4 @@
1
- import { type Fields } from '@luna-form/core';
1
+ import { type Fields, type Style } from '@luna-form/core';
2
2
  import type { Children } from '../../type';
3
3
  import type { ColumnProps } from '../column';
4
4
  import type { FieldProps } from '../field/field';
@@ -7,7 +7,8 @@ export declare function SlotBase<T extends {
7
7
  field: React.ComponentType<FieldProps>;
8
8
  }>(props: Readonly<{
9
9
  children: Children;
10
+ components: T;
10
11
  disabled?: boolean;
11
12
  fields?: Fields;
12
- components: T;
13
+ style?: Style;
13
14
  }>): import("react/jsx-runtime").JSX.Element[];
@@ -1,7 +1,8 @@
1
1
  import type { Children } from '../../type';
2
- import type { Fields } from '@luna-form/core';
2
+ import type { Fields, Style } from '@luna-form/core';
3
3
  export declare const Slot: (props: Readonly<{
4
4
  children: Children;
5
5
  disabled?: boolean;
6
6
  fields?: Fields;
7
+ style?: Style;
7
8
  }>) => import("react/jsx-runtime").JSX.Element;
@@ -1,6 +1,7 @@
1
1
  import { type Environment, type Orientation, type Protocol } from '@luna-form/core';
2
- import type { Config, InputConfig } from '../type';
2
+ import type { AlertProps, Config, InputConfig } from '../type';
3
3
  export declare function defineConfig<T extends React.ElementType>(options: Readonly<{
4
+ alert?: React.ComponentType<AlertProps>;
4
5
  env?: Environment;
5
6
  fetcher?: {
6
7
  remotePatterns?: Array<{
@@ -17,6 +18,7 @@ export declare function defineConfig<T extends React.ElementType>(options: Reado
17
18
  validation?: {
18
19
  blur?: boolean;
19
20
  change?: boolean;
21
+ showError?: boolean;
20
22
  submit?: boolean;
21
23
  };
22
24
  }>): Config;
@@ -0,0 +1,5 @@
1
+ import type { Style } from '@luna-form/core';
2
+ export declare function useStyle(globalStyle?: Style, localStyle?: Style): {
3
+ compact?: boolean;
4
+ orientation?: import("@luna-form/core").Orientation;
5
+ };
@@ -1,4 +1,4 @@
1
- import type { AriaAttributes, CommonProps, DataAttributes, Field, Fields, BaseConfig } from '@luna-form/core';
1
+ import type { AriaAttributes, BaseConfig, CommonProps, DataAttributes, Field, Fields, FormStateError } from '@luna-form/core';
2
2
  export type Slot = (props: {
3
3
  disabled?: boolean;
4
4
  fields?: Fields;
@@ -13,4 +13,7 @@ export type InputConfig<T extends React.ElementType> = {
13
13
  types: string | string[];
14
14
  input: React.ComponentProps<T>;
15
15
  };
16
- export type Config = BaseConfig<React.ComponentProps<React.ElementType>>;
16
+ export type AlertProps = Readonly<FormStateError>;
17
+ export type Config = BaseConfig<React.ComponentProps<React.ElementType>> & {
18
+ alert?: React.ComponentType<AlertProps>;
19
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-luna-form",
3
- "version": "0.0.8",
3
+ "version": "0.0.9",
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",
@@ -32,7 +32,7 @@
32
32
  "eslint-plugin-react": "7.37.5",
33
33
  "eslint-plugin-react-hooks": "7.0.1",
34
34
  "eslint-plugin-react-refresh": "0.4.26",
35
- "@luna-form/core": "0.0.8"
35
+ "@luna-form/core": "0.0.9"
36
36
  },
37
37
  "license": "Apache-2.0",
38
38
  "repository": {