react-luna-form 0.0.7 → 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 Ro=Object.create;var Z=Object.defineProperty;var Ao=Object.getOwnPropertyDescriptor;var So=Object.getOwnPropertyNames;var Eo=Object.getPrototypeOf,No=Object.prototype.hasOwnProperty;var Fo=(e,t)=>{for(var r in t)Z(e,r,{get:t[r],enumerable:!0})},Ue=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of So(t))!No.call(e,n)&&n!==r&&Z(e,n,{get:()=>t[n],enumerable:!(o=Ao(t,n))||o.enumerable});return e};var Io=(e,t,r)=>(r=e!=null?Ro(Eo(e)):{},Ue(t||!e||!e.__esModule?Z(r,"default",{value:e,enumerable:!0}):r,e)),Co=e=>Ue(Z({},"__esModule",{value:!0}),e);var sn={};Fo(sn,{Form:()=>xo});module.exports=Co(sn);var Xe=require("react/jsx-runtime");function Ge(e){return(0,Xe.jsx)("div",{"data-slot":"field-control",className:"w-full",children:e.children})}var Ye=require("react/jsx-runtime");function Y(e){return(0,Ye.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 z="input",He="input/email",qe="input/number";var $e="textarea",Ke="radio",We="checkbox",Ze="select",ze="select/month",je="select/year";var Ee="column";var Je="label",D="value",j="options",Ne="email",Qe="number",et="password",tt="tel",H="text",rt="aria-errormessage",ot="aria-invalid",nt="data-invalid",it="data-readonly",lt="aria",at="data",J="min",Q="max",ct="minLength",ut="maxLength",V="$ref",st="source";var ee="http://luna.internal",A="vertical",L="horizontal";function c(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function te(e){return e==null||e===""}function S(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function C(e){return typeof e=="string"}function dt(e){return c(e)&&"url"in e}var vo=/[^/]+$/;function mt(e,t=[],r=D){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=D){if(e!=null){if(S(e))return e;if(c(e)){let r=Po(e,t);if(S(r))return r}}}function Po(e,t){let r=E(e,t);if(S(r))return r}function ft(e,t){if(Array.isArray(e))return e;let r=E(e,t);return Array.isArray(r)?r:null}function E(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 pt(e,t={label:Je,value:D}){return e.map(r=>{if(c(r)){let o=E(r,t.label),n=E(r,t.value);if(S(o)&&S(n))return{label:`${o}`,value:`${n}`}}return r})}function gt(e=H){if(e){let t=e.match(vo);if(t){let[r]=t;if(r!==z)return r.trim().toLowerCase()}}return H}function yt(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 Oo=/\[([^\]]+)\]\(([^)]+)\)/g;function v(e,t={}){if(C(e))return ko(e,t);if(Array.isArray(e))return e.map(r=>v(r,t));if(c(e)){let r={};for(let o in e)r[o]=v(e[o],t);return r}return e}function re(e){return C(e)?/{([^}]+)}/.test(e):Array.isArray(e)?e.some(t=>re(t)):c(e)?Object.values(e).some(t=>re(t)):!1}function ko(e,t={}){return e.replace(/{([^}]+)}/g,(r,o)=>{let n=o.includes(".")?E(t,o):t[o];return S(n)?String(n):r})}function xt(e,t){if(!e||e.trim().length===0)return null;let r,o=0,n=!1,i=[];for(;(r=Oo.exec(e))!==null;){let[l,a,s]=r,d=r.index;n=!0,d>o&&i.push(e.substring(o,d));let m=t?t(d,s,a):l;i.push(m),o=d+l.length}return n?(o<e.length&&i.push(e.substring(o)),i):e}var oe=e=>T(ze)(e),ne=e=>T(je)(e),b=T(We),Ie=T(z),h=T(Ke),y=T(Ze),Ce=T($e),Tt=T(H,Ne,et,tt),bt=T(He,Ne),ie=T(qe,Qe);function ht(e){return h(e)||b(e)}function Rt(e){return e.type===Ee}function At(e){return e.type!==Ee}function St(e){return y(e)||h(e)}function Et(e){return Ie(e)||Ce(e)}function ve(e){return e!=null&&e!==""}function T(...e){return t=>{let r=C(t.type)?t.type:void 0;return r?e.some(o=>r===o||r?.startsWith(`${o}/`)):!1}}function Nt(e,t={}){if(y(e)&&e.disabled){let r=e.name?t?.[e.name]:void 0;if(r&&c(r))return[r]}}function le(e){return h(e)||b(e)?L:e.advanced?.orientation??A}function Ft(e,t){let r=e.readonly??!1;return t||r}function It(e){if(h(e)||y(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||c(t)&&!(V in t))return t}}function Ct(e,t){let r=It(e);return r||Nt(e,t)}function wo(e,t){let r=c(t)&&e.name in t?t[e.name]:t;return Fe(r,e.advanced?.entity)}function Do(e,t,r){return St(e)&&Array.isArray(r)?{...t,[j]:r}:t}function Vo(e,t,r){if(e.required&&!ve(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 Lo(e,t){return y(e)&&Array.isArray(t)?pt(t,e.advanced?.options):t}function vt(e,t,r,o){let n=wo(e,o),i=Array.isArray(r)?Lo(e,r):r,l=Do(e,t,i),a=Vo(e,l,n);return{commonPropsWithOptions:l,defaultValue:a}}function Pt(e,t){return b(e)?{checked:ve(t)}:{value:t??""}}var Mo=/^#\/definition\//;function ce(e=[],t){let r=ae(e,t);return Array.isArray(r)?r.filter(o=>o.hidden!==!0).sort((o,n)=>Ot(o)-Ot(n)):[]}function ae(e,t,r=new Map,o=new WeakSet){if(!_o(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=>ae(i,t,r,o));if(V in e&&C(e[V])){let i=e[V].replace(Mo,""),l=E(t,i);return l!==null?ae(l,t,r,o):e}let n={};for(let[i,l]of Object.entries(e))n[i]=ae(l,t,r,o);return o.delete(e),r.set(e,n),n}function kt(e){return Object.entries(e??{})}function Ot(e){return e.order??Number.MAX_VALUE}function _o(e){return e!==void 0&&c(e)&&Object.keys(e).length>0}function wt(e,t){let r={};for(let[o,n]of kt(t))r[`${e}-${o}`]=n;return r}function Dt(e){return wt(lt,e)}function Vt(e){return wt(at,e)}var Lt={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},Mt={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function _t(e,t=2){return Lt[e&&e in Lt?e:t]}function Bt(e){if(e&&e in Mt)return Mt[e]}var Bo=/^\d+$/;function Ut(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function Gt(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 Pe(){return new Date().getFullYear()}function Oe(e,t){if(typeof e=="number")return e;let r=t??Pe(),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 Bo.test(o)?parseInt(o,10):r}var u=require("zod");var Uo=[[ie,qo],[bt,Go],[ne,$o],[oe,Ko],[b,Xo],[h,Yo]];function Xt(e){return u.z.object(e)}function Yt(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 Ht(e){for(let[t,r]of Uo)if(t(e))return r(e);return Ho(e)}function Go(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=>te(o)?"":o,r)}return t.pipe(u.z.email(e.validation?.email)).or(u.z.literal("")).nullable()}function Xo(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 Yo(e){let t=u.z.coerce.string();return e.required?(t=t.min(1,e.validation?.required),u.z.preprocess(r=>te(r)?"":r,t)):t.or(u.z.literal("")).nullable()}function Ho(e){let t=u.z.coerce.string().trim();return t=qt(t,e),e.required?(t=$t(t,e),u.z.preprocess(r=>te(r)?"":r,t)):t.nullable()}function qo(e){let t=u.z.coerce.number().int();return t=qt(t,e),e.required?(t=$t(t,e),u.z.preprocess(r=>r===null?void 0:r,t)):t.nullable()}function $o(e){if(e.required){let t=u.z.coerce.number({message:e.validation?.required}).int();return u.z.preprocess(Wo,t)}return u.z.coerce.number().int().nullable()}function Ko(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 Wo(e){return e===null||e===""?void 0:e}function qt(e,t){return e=Zo(e,t),e=zo(e,t),e}function $t(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)=>Kt(e,t,J),zo=(e,t)=>Kt(e,t,Q);function Kt(e,t,r){let o=t.advanced?.length?.[r];return o!==void 0?e[r](o,t.validation?.length?.[r]):e}function Wt(e,t){if(!t||!Jo(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 Jo(e){return/^(https?:)?\/\//.test(e)}function Zt(e,t){try{if(!e)return t;if(!t)return e;let r=new URL(e,ee);new URL(t,ee).searchParams.forEach((i,l)=>{r.searchParams.set(l,i)});let n=r.toString();return e.startsWith("/")||!e.includes("://")?n.replace(ee,""):n}catch{return t||e}}function zt(e){return!Array.isArray(e)||e.length===0?null:e.reduce((t,r)=>{let o=Zt(t.url,r.url),n=Qo(t,r),i=en(t,r);return{...t,...r,url:o,body:n,headers:i}})}function Qo(e,t){return c(t.body)&&c(e?.body)?{...e.body,...t.body}:t.body??e?.body}function en(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===D&&r.push(n),n.action===st&&o.push(n)}),t({sources:o,values:r})}function Jt(e=null,t=[],r){t.forEach(o=>{let{target:n,source:i}=o;if(!e){r(n,void 0);return}if(dt(i)){let l=v(i.url,e),a=i.body?v(i.body,e):i.body;r(n,{...i,url:l,body:a})}})}function Qt(e=null,t=[],r){t.forEach(o=>{Object.entries(o.value).forEach(([n,i])=>{r(n,e?v(i,e):void 0)})})}var er=require("react/jsx-runtime");function q(e){return xt(e,(t,r,o)=>(0,er.jsx)("a",{className:"underline",href:r,rel:"noopener noreferrer",target:"_blank",children:o},`${r}-${t}`))}var P=require("react/jsx-runtime");function tr(e){return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:q(e.title)}),(0,P.jsx)("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:q(e.description)})]})}var M=require("react/jsx-runtime");function rr(e){if(!e.section.title&&!e.section.description)return(0,M.jsx)(Y,{compact:e.section.compact,children:e.children});let t=e.section.fields||[];return(0,M.jsxs)("fieldset",{"data-slot":"field-set","data-empty":t.length===0,className:"flex flex-col data-[empty=false]:gap-6",children:[(0,M.jsx)(tr,{description:e.section.description,title:e.section.title}),(0,M.jsx)(Y,{compact:e.section.compact,children:e.children})]})}var nr=require("react");var ke=require("react/jsx-runtime");function or(){return(0,ke.jsx)("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:(0,ke.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 ir(e){let t=ce(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)(Y,{children:[t.map((r,o)=>(0,R.jsxs)(nr.Fragment,{children:[(0,R.jsx)(rr,{section:r,children:e.children({disabled:e.readOnly,fields:r.fields})}),r.separator&&(0,R.jsx)(or,{})]},o)),e.control&&(0,R.jsx)(Ge,{children:e.control})]})})})}var ar=require("react/jsx-runtime");function lr(e){return(0,ar.jsx)("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}var cr=require("react/jsx-runtime");function ue(e){let t=q(e.text);return t?(0,cr.jsx)(lr,{children:t}):null}var ur=require("tailwind-merge"),se=require("react/jsx-runtime");function sr(e){let t=h(e.field)||b(e.field);return(0,se.jsxs)("label",{"data-slot":"field-label","data-normal":t,className:(0,ur.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,se.jsx)("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:"(Optional)"})]})}var $=require("react/jsx-runtime");function dr(e){return(0,$.jsxs)("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[(0,$.jsx)(sr,{field:e.field,children:e.field.label}),e.orientation===L&&(0,$.jsx)(ue,{text:e.field.description})]})}var O=require("react/jsx-runtime");function mr(e){let t=le(e.field);return(0,O.jsxs)(O.Fragment,{children:[e.field.name&&e.field.label&&(0,O.jsx)(dr,{field:e.field,orientation:t}),e.children,t===A&&e.field.description&&(0,O.jsx)(ue,{text:e.field.description})]})}function fr(e,t){return e?t(e):null}var xr=require("jotai");var k=require("jotai"),we=require("jotai-family"),de=require("fast-equals");function me(e){return(0,we.atomFamily)(t=>(0,k.atom)(r=>r(e)[t]??void 0,(r,o,n)=>{let i=r(e);if(n!=null){let l=i[t];(!l||!(0,de.deepEqual)(l,n))&&o(e,{...i,[t]:n})}else if(i[t]){let{[t]:l,...a}=i;o(e,a)}}))}function pr(e){return(0,k.atom)(null,(t,r)=>{let o=t(e);o&&Object.keys(o).length>0&&r(e,{})})}function fe(e){return(0,k.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 pe(e){return(0,k.atom)(null,(t,r,o)=>{let n=t(e);(0,de.deepEqual)(n,o)||r(e,o)})}function gr(e,t={}){let{merge:r,validateTarget:o}=t;return(0,we.atomFamily)(n=>(0,k.atom)(i=>{let l=i(e)[n];if(l&&r)return r(Object.values(l))},(i,l,a,s)=>{if(o&&!o(a))return;let d=i(e),m={...d[a]??{}};if(s!=null){let I=m[n];(!I||!(0,de.deepEqual)(I,s))&&(m[n]=s,l(e,{...d,[a]:m}))}else if(m[n])if(delete m[n],Object.keys(m).length===0){let{[a]:I,...G}=d;l(e,G)}else l(e,{...d,[a]:m})}))}function yr(e){return(0,k.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 s={...i[a]},d=!1;for(let m of o)s[m]&&(delete s[m],d=!0,l=!0);d&&(Object.keys(s).length===0?delete i[a]:i[a]=s)}l&&r(e,i)})}var K=(0,xr.atom)({}),Tr=fe(K),br=pe(K),hr=me(K);var Rr=require("jotai");var N=(0,Rr.atom)({}),Ar=pr(N),Sr=fe(N),Bi=pe(N),Er=me(N);var Vr=require("react"),W=require("jotai");var Nr=require("jotai");var Fr=(0,Nr.atom)({}),Ir=gr(Fr,{merge:e=>{let t=zt(e);if(t)return t},validateTarget:e=>e.trim()!==""}),Cr=yr(Fr);var Or=require("jotai");var vr=Io(require("swr"),1);function Pr(e=null,t,r=!1){let{data:o,error:n}=(0,vr.default)(tn(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[ft(o,e.namespace)]}return[null]}function tn(e=null,t,r=!1){if(e&&!Array.isArray(e)&&!r&&e.url&&!re(e.url)){if(Wt(e.url,t.fetcher.remotePatterns))return e;console.warn(`URL blocked by remotePatterns: ${e.url}. Check your luna.config.ts`)}return null}function kr(e,t,r){let o=Ct(e,r),[n,i]=(0,Or.useAtom)(Ir(e.name)),l=n??o,[a]=Pr(l,t,e.disabled);return[a,i]}var w=require("react");function wr(e,t,r){let o=(0,w.useMemo)(()=>Ht(e),[e]),n=(0,w.useEffectEvent)(l=>{l&&t(l,o)}),i=(0,w.useEffectEvent)(l=>{l&&r(l)});return(0,w.useEffect)(()=>(n(e.name),()=>{i(e.name)}),[e.name]),[o]}var ge=require("react");function Dr(){let e=(0,ge.useRef)(null);(0,ge.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 De=require("react/jsx-runtime");function Lr(e){let t=(0,W.useSetAtom)(hr(e.field.name)),[r,o]=(0,W.useAtom)(Er(e.field.name)),n=(0,W.useSetAtom)(N),[i]=wr(e.field,e.onMount,e.onUnmount),[l,a]=kr(e.field,e.config,r),{commonPropsWithOptions:s,defaultValue:d}=vt(e.field,e.commonProps,l,r),m=Pt(e.field,d),[I]=Dr();function G(p,f){if(Et(e.field)){I(()=>{f({value:p})},500);return}let x=mt(p,l,e.field.advanced?.entity);f(x)}function he(p){let f=p.target.value;o(f),e.config.validation.change&&X(f);let x=e.field.event?.change;x&&G(f,g=>{jt(x,({sources:To,values:bo})=>{(0,Vr.startTransition)(()=>{Jt(g,To,(Ae,Se)=>a(Ae,Se)),Qt(g,bo,(Ae,Se)=>{n(ho=>({...ho,[Ae]:Se}))})})})})}function Re(p){if(ht(e.field))return;let f=p.target.value;e.config.validation.blur&&X(f)}function X(p){let x=i.safeParse(p).error?.issues.map(g=>g.message)??[];t(x)}return fr(e.config.inputs[e.field.type],p=>(0,De.jsx)(mr,{field:e.field,children:(0,De.jsx)(p,{...s,...e.ariaAttributes,...e.dataAttributes,...m,onBlur:Re,onChange:he})}))}var Mr=require("tailwind-merge"),Ve=require("react/jsx-runtime");function _r(e){let t=_t(e.column?.advanced?.cols);return(0,Ve.jsx)("div",{className:"flex w-full flex-col gap-4",children:(0,Ve.jsx)("div",{className:(0,Mr.twMerge)("grid grid-cols-1 gap-8 sm:gap-4",t),children:e.children})})}var Le=require("react/jsx-runtime");function Br(e){return!e.errors||e.errors.length===0?null:(0,Le.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,Le.jsx)("li",{children:t},e.name?`${e.name}-error-${r}`:r))})}var Ur=require("tailwind-merge"),Gr=require("react/jsx-runtime");function ye(e){let t=e.errors&&e.errors.length>0;return(0,Gr.jsx)("div",{"data-slot":"field",...t&&{[nt]:"true"},...e.disabled&&{[it]:"true"},"data-orientation":e.orientation,className:(0,Ur.twMerge)("group flex w-full flex-col items-center data-[invalid=true]:text-red-600 data-[invalid=true]:dark:text-red-500","has-[>[role=checkbox],[role=radiogroup]]:items-start","has-[>[role=checkbox]]:flex-row-reverse","has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radiogroup]]:mt-px",Bt(e.cols),e.className),children:e.children})}var Yr=require("react/jsx-runtime");function Xr(e){return(0,Yr.jsx)(ye,{...e,orientation:A,className:"gap-3 has-[>[data-slot=field-content]]:items-start [&>*:not([role=checkbox]):not([role=radiogroup])]:w-full",children:e.children})}var qr=require("react/jsx-runtime");function Hr(e){return(0,qr.jsx)(ye,{...e,orientation:L,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 Me=require("react/jsx-runtime");function $r(e){return e.orientation===A?(0,Me.jsx)(Xr,{cols:e.cols,disabled:e.disabled,errors:e.errors,children:e.children}):(0,Me.jsx)(Hr,{cols:e.cols,disabled:e.disabled,errors:e.errors,children:e.children})}var xe=Pe();function Kr(e){if(y(e))return rn(e)}function rn(e){if(oe(e))return Ut();if(ne(e)){let t=e.advanced?.length?.min??xe,r=e.advanced?.length?.max??xe+5;return Gt(Oe(t,xe),Oe(r,xe))}}function Wr(e,t=!1){let r={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return Ie(e)?{...r,...on(e)}:y(e)?{...r,...nn(e)}:Ce(e)?{...r,...ln(e)}:r}function on(e){let t=gt(e.type),r={...e,type:t};return{...Zr(e),...an(r),...Tt(r)?zr(r):{},type:t}}function nn(e){let t=Kr(e);return t?{options:t}:{}}function ln(e){return{...Zr(e),...zr(e)}}function Zr(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function an(e){return ie(e)?cn(e):{}}function zr(e){return jr(e,{min:ct,max:ut})}function cn(e){return jr(e,{min:J,max:Q})}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 Jr(e,t){let r=Dt(e.advanced?.aria);return t&&t.length>0&&(r[ot]="true",r[rt]=`${e.name}-error`),r}function Qr(e){return Vt(e.advanced?.data)}function eo(e){if(!e.field.type)return null;let t=Wr(e.field,e.disabled),r=Qr(e.field),o=Jr(e.field,e.errors),n={...e.field,disabled:t.disabled};return e.children({ariaAttributes:o,commonProps:t,dataAttributes:r,field:n})}var _=require("react/jsx-runtime");function to(e){let t=e.field.advanced?.cols,r=e.field.name?e.errors?.[e.field.name]:void 0,o=le(e.field),n=Ft(e.field,e.disabled);return(0,_.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,_.jsx)($r,{cols:t,disabled:n,errors:r,orientation:o,children:(0,_.jsx)(eo,{disabled:n,errors:r,field:e.field,children:e.children})}),(0,_.jsx)(Br,{errors:r,name:e.field.name})]})}var ro=require("jotai"),no=require("react/jsx-runtime");function oo(e){return r=>{let o=(0,ro.useAtomValue)(K);return(0,no.jsx)(e,{...r,errors:o})}}var io=oo(to);var lo=require("react"),B=require("react/jsx-runtime");function _e(e){let t=ce(e.fields),{column:r,field:o}=e.components;return t.map((n,i)=>(0,B.jsxs)(lo.Fragment,{children:[Rt(n)&&(0,B.jsx)(r,{column:n,children:(0,B.jsx)(_e,{...e,fields:n.fields})}),At(n)&&(0,B.jsx)(o,{disabled:e.disabled,field:n,children:e.children})]},i))}var co=require("react/jsx-runtime"),ao=e=>(0,co.jsx)(_e,{...e,components:{column:_r,field:io}});var Be=require("jotai");var U=require("react");function mo(e,t,r){let{onError:o,onSuccess:n,preserveValues:i=!1,validation:l=!0,value:a=null}=r??{},s=(0,Be.useSetAtom)(br),d=(0,Be.useSetAtom)(Ar),m={data:a,error:null,success:!1},[I,G,he]=(0,U.useActionState)(async(Re,X)=>{let p=Xt(e());if(l===!1)return t?await t(X,p):Re;let f=yt(X),x=p.safeParse(f);if(!x.success){let g=Yt(x.error);return(0,U.startTransition)(()=>{s(g)}),so(f,{detail: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,U.startTransition)(()=>{d()})):g.error&&(0,U.startTransition)(()=>{o?.(g.error)}),uo(f,i)}catch(g){return so(f,{title:"An unexpected error occurred submitting the form.",detail:un(g)})}return uo(x.data,i)},m);return[G,I,he]}function un(e){let t=e instanceof Error?e.message:["Unknown error"];return Array.isArray(t)?t:[t]}function uo(e,t=!1){return{data:t?e:null,error:null,success:!0}}function so(e,t){return{data:e,error:t,success:!1}}var yo=require("jotai/utils");var F=require("react");var fo=require("react"),Te=require("jotai");function po(){let e=(0,Te.useSetAtom)(Tr),t=(0,Te.useSetAtom)(Cr),r=(0,Te.useSetAtom)(Sr);return(0,fo.useCallback)(o=>{let n=Array.isArray(o)?o:[o];e(n),t(n),r(n)},[e,t,r])}function go(){let e=po(),t=(0,F.useRef)({}),r=(0,F.useRef)(new Set),o=(0,F.useCallback)((l,a)=>{l in t.current||(t.current[l]=a)},[]),n=(0,F.useCallback)(l=>{t.current[l]&&(delete t.current[l],r.current.add(l),(0,F.startTransition)(()=>{r.current.size>0&&(e(Array.from(r.current)),r.current.clear())}))},[e]);function i(){return t.current}return[i,o,n]}var be=require("react/jsx-runtime");function xo(e){let[t,r,o]=go(),[n,i]=mo(t,e.action,{onError:e.onError,onSuccess:e.onSuccess,validation:e.config.validation.submit,value:e.value});return(0,yo.useHydrateAtoms)([[N,e.value??{}]]),(0,be.jsx)(ir,{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,be.jsx)(ao,{disabled:l,fields:a,children:s=>(0,be.jsx)(Lr,{...s,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 Kr}from"react/jsx-runtime";function Ee(e){return Kr("div",{"data-slot":"field-control",className:"w-full",children:e.children})}import{jsx as Wr}from"react/jsx-runtime";function D(e){return Wr("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",Ne="input/email",Fe="input/number";var Ie="textarea",Ce="radio",ve="checkbox",Pe="select",Oe="select/month",ke="select/year";var ce="column";var we="label",C="value",U="options",ue="email",De="number",Ve="password",Le="tel",V="text",Me="aria-errormessage",_e="aria-invalid",Be="data-invalid",Ue="data-readonly",Ge="aria",Xe="data",G="min",X="max",Ye="minLength",He="maxLength",v="$ref",qe="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 $e(e){return c(e)&&"url"in e}var Zr=/[^/]+$/;function Ke(e,t=[],r=C){if(Array.isArray(t))return t.find(o=>{let n=se(o,r);if(n!==void 0&&`${n}`===e)return o})??{value:e}}function se(e,t=C){if(e!=null){if(A(e))return e;if(c(e)){let r=zr(e,t);if(A(r))return r}}}function zr(e,t){let r=S(e,t);if(A(r))return r}function We(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:we,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 ze(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 Jr(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 Jr(e,t={}){return e.replace(/{([^}]+)}/g,(r,o)=>{let n=o.includes(".")?S(t,o):t[o];return A(n)?String(n):r})}function Je(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,s]=r,d=r.index;n=!0,d>o&&i.push(e.substring(o,d));let m=t?t(d,s,a):l;i.push(m),o=d+l.length}return n?(o<e.length&&i.push(e.substring(o)),i):e}var $=e=>T(Oe)(e),K=e=>T(ke)(e),b=T(ve),de=T(B),h=T(Ce),y=T(Pe),me=T(Ie),Qe=T(V,ue,Ve,Le),et=T(Ne,ue),W=T(Fe,De);function tt(e){return h(e)||b(e)}function rt(e){return e.type===ce}function ot(e){return e.type!==ce}function nt(e){return y(e)||h(e)}function it(e){return de(e)||me(e)}function fe(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 lt(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 at(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)&&!(v in t))return t}}function ut(e,t){let r=ct(e);return r||lt(e,t)}function Qr(e,t){let r=c(t)&&e.name in t?t[e.name]:t;return se(r,e.advanced?.entity)}function eo(e,t,r){return nt(e)&&Array.isArray(r)?{...t,[U]:r}:t}function to(e,t,r){if(e.required&&!fe(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 ro(e,t){return y(e)&&Array.isArray(t)?Ze(t,e.advanced?.options):t}function st(e,t,r,o){let n=Qr(e,o),i=Array.isArray(r)?ro(e,r):r,l=eo(e,t,i),a=to(e,l,n);return{commonPropsWithOptions:l,defaultValue:a}}function dt(e,t){return b(e)?{checked:fe(t)}:{value:t??""}}var oo=/^#\/definition\//;function j(e=[],t){let r=z(e,t);return Array.isArray(r)?r.filter(o=>o.hidden!==!0).sort((o,n)=>mt(o)-mt(n)):[]}function z(e,t,r=new Map,o=new WeakSet){if(!no(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(oo,""),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 ft(e){return Object.entries(e??{})}function mt(e){return e.order??Number.MAX_VALUE}function no(e){return e!==void 0&&c(e)&&Object.keys(e).length>0}function pt(e,t){let r={};for(let[o,n]of ft(t))r[`${e}-${o}`]=n;return r}function gt(e){return pt(Ge,e)}function yt(e){return pt(Xe,e)}var xt={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},Tt={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function bt(e,t=2){return xt[e&&e in xt?e:t]}function ht(e){if(e&&e in Tt)return Tt[e]}var io=/^\d+$/;function Rt(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function At(e,t){return t>=e?Array.from({length:t-e+1},(r,o)=>{let n=e+o;return{value:n.toString(),label:n.toString()}}):[]}function pe(){return new Date().getFullYear()}function ge(e,t){if(typeof e=="number")return e;let r=t??pe(),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 io.test(o)?parseInt(o,10):r}import{z as u}from"zod";var lo=[[W,mo],[et,ao],[K,fo],[$,po],[b,co],[h,uo]];function St(e){return u.object(e)}function Et(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 Nt(e){for(let[t,r]of lo)if(t(e))return r(e);return so(e)}function ao(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 co(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 uo(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 so(e){let t=u.coerce.string().trim();return t=Ft(t,e),e.required?(t=It(t,e),u.preprocess(r=>H(r)?"":r,t)):t.nullable()}function mo(e){let t=u.coerce.number().int();return t=Ft(t,e),e.required?(t=It(t,e),u.preprocess(r=>r===null?void 0:r,t)):t.nullable()}function fo(e){if(e.required){let t=u.coerce.number({message:e.validation?.required}).int();return u.preprocess(go,t)}return u.coerce.number().int().nullable()}function po(e){let t=u.coerce.number().int().min(1,e.validation?.required).max(12,e.validation?.required);return e.required?t:t.nullable()}function go(e){return e===null||e===""?void 0:e}function Ft(e,t){return e=yo(e,t),e=xo(e,t),e}function It(e,t){let r=t.advanced?.length?.min;return r===void 0||r<1?e.min(1,t.validation?.required):e}var yo=(e,t)=>Ct(e,t,G),xo=(e,t)=>Ct(e,t,X);function Ct(e,t,r){let o=t.advanced?.length?.[r];return o!==void 0?e[r](o,t.validation?.length?.[r]):e}function vt(e,t){if(!t||!bo(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||To(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 To(e){return e==="https"?"443":"80"}function bo(e){return/^(https?:)?\/\//.test(e)}function Pt(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 Ot(e){return!Array.isArray(e)||e.length===0?null:e.reduce((t,r)=>{let o=Pt(t.url,r.url),n=ho(t,r),i=Ro(t,r);return{...t,...r,url:o,body:n,headers:i}})}function ho(e,t){return c(t.body)&&c(e?.body)?{...e.body,...t.body}:t.body??e?.body}function Ro(e,t){return c(t.headers)&&c(e?.headers)?{...e.headers,...t.headers}:t.headers??e?.headers}function kt(e=[],t){let r=[],o=[];e.forEach(n=>{n.action===C&&r.push(n),n.action===qe&&o.push(n)}),t({sources:o,values:r})}function wt(e=null,t=[],r){t.forEach(o=>{let{target:n,source:i}=o;if(!e){r(n,void 0);return}if($e(i)){let l=I(i.url,e),a=i.body?I(i.body,e):i.body;r(n,{...i,url:l,body:a})}})}function Dt(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 Ao}from"react/jsx-runtime";function L(e){return Je(e,(t,r,o)=>Ao("a",{className:"underline",href:r,rel:"noopener noreferrer",target:"_blank",children:o},`${r}-${t}`))}import{Fragment as So,jsx as Vt,jsxs as Eo}from"react/jsx-runtime";function Lt(e){return Eo(So,{children:[Vt("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:L(e.title)}),Vt("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:L(e.description)})]})}import{jsx as ye,jsxs as No}from"react/jsx-runtime";function Mt(e){if(!e.section.title&&!e.section.description)return ye(D,{compact:e.section.compact,children:e.children});let t=e.section.fields||[];return No("fieldset",{"data-slot":"field-set","data-empty":t.length===0,className:"flex flex-col data-[empty=false]:gap-6",children:[ye(Lt,{description:e.section.description,title:e.section.title}),ye(D,{compact:e.section.compact,children:e.children})]})}import{Fragment as Fo}from"react";import{jsx as _t}from"react/jsx-runtime";function Bt(){return _t("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:_t("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 Ut}from"react/jsx-runtime";function Gt(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:Ut(D,{children:[t.map((r,o)=>Ut(Fo,{children:[M(Mt,{section:r,children:e.children({disabled:e.readOnly,fields:r.fields})}),r.separator&&M(Bt,{})]},o)),e.control&&M(Ee,{children:e.control})]})})})}import{jsx as Io}from"react/jsx-runtime";function Xt(e){return Io("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}import{jsx as Co}from"react/jsx-runtime";function J(e){let t=L(e.text);return t?Co(Xt,{children:t}):null}import{twMerge as vo}from"tailwind-merge";import{jsx as Po,jsxs as Oo}from"react/jsx-runtime";function Yt(e){let t=h(e.field)||b(e.field);return Oo("label",{"data-slot":"field-label","data-normal":t,className:vo("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&&Po("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:"(Optional)"})]})}import{jsx as Ht,jsxs as ko}from"react/jsx-runtime";function qt(e){return ko("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[Ht(Yt,{field:e.field,children:e.field.label}),e.orientation===P&&Ht(J,{text:e.field.description})]})}import{Fragment as wo,jsx as $t,jsxs as Do}from"react/jsx-runtime";function Kt(e){let t=Z(e.field);return Do(wo,{children:[e.field.name&&e.field.label&&$t(qt,{field:e.field,orientation:t}),e.children,t===R&&e.field.description&&$t(J,{text:e.field.description})]})}function Wt(e,t){return e?t(e):null}import{atom as Vo}from"jotai";import{atom as O}from"jotai";import{atomFamily as Zt}from"jotai-family";import{deepEqual as xe}from"fast-equals";function Q(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||!xe(l,n))&&o(e,{...i,[t]:n})}else if(i[t]){let{[t]:l,...a}=i;o(e,a)}}))}function zt(e){return O(null,(t,r)=>{let o=t(e);o&&Object.keys(o).length>0&&r(e,{})})}function ee(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 te(e){return O(null,(t,r,o)=>{let n=t(e);xe(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,s)=>{if(o&&!o(a))return;let d=i(e),m={...d[a]??{}};if(s!=null){let N=m[n];(!N||!xe(N,s))&&(m[n]=s,l(e,{...d,[a]:m}))}else if(m[n])if(delete m[n],Object.keys(m).length===0){let{[a]:N,...k}=d;l(e,k)}else l(e,{...d,[a]:m})}))}function Jt(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 s={...i[a]},d=!1;for(let m of o)s[m]&&(delete s[m],d=!0,l=!0);d&&(Object.keys(s).length===0?delete i[a]:i[a]=s)}l&&r(e,i)})}var _=Vo({}),Qt=ee(_),er=te(_),tr=Q(_);import{atom as Lo}from"jotai";var E=Lo({}),rr=zt(E),or=ee(E),sl=te(E),nr=Q(E);import{startTransition as qo}from"react";import{useAtom as $o,useSetAtom as fr}from"jotai";import{atom as Mo}from"jotai";var ir=Mo({}),lr=jt(ir,{merge:e=>{let t=Ot(e);if(t)return t},validateTarget:e=>e.trim()!==""}),ar=Jt(ir);import{useAtom as Uo}from"jotai";import _o from"swr";function cr(e=null,t,r=!1){let{data:o,error:n}=_o(Bo(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[We(o,e.namespace)]}return[null]}function Bo(e=null,t,r=!1){if(e&&!Array.isArray(e)&&!r&&e.url&&!q(e.url)){if(vt(e.url,t.fetcher.remotePatterns))return e;console.warn(`URL blocked by remotePatterns: ${e.url}. Check your luna.config.ts`)}return null}function ur(e,t,r){let o=ut(e,r),[n,i]=Uo(lr(e.name)),l=n??o,[a]=cr(l,t,e.disabled);return[a,i]}import{useEffect as Go,useEffectEvent as sr,useMemo as Xo}from"react";function dr(e,t,r){let o=Xo(()=>Nt(e),[e]),n=sr(l=>{l&&t(l,o)}),i=sr(l=>{l&&r(l)});return Go(()=>(n(e.name),()=>{i(e.name)}),[e.name]),[o]}import{useEffect as Yo,useRef as Ho}from"react";function mr(){let e=Ho(null);Yo(()=>{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 pr}from"react/jsx-runtime";function gr(e){let t=fr(tr(e.field.name)),[r,o]=$o(nr(e.field.name)),n=fr(E),[i]=dr(e.field,e.onMount,e.onUnmount),[l,a]=ur(e.field,e.config,r),{commonPropsWithOptions:s,defaultValue:d}=st(e.field,e.commonProps,l,r),m=dt(e.field,d),[N]=mr();function k(p,f){if(it(e.field)){N(()=>{f({value:p})},500);return}let x=Ke(p,l,e.field.advanced?.entity);f(x)}function ne(p){let f=p.target.value;o(f),e.config.validation.change&&w(f);let x=e.field.event?.change;x&&k(f,g=>{kt(x,({sources:Hr,values:qr})=>{qo(()=>{wt(g,Hr,(le,ae)=>a(le,ae)),Dt(g,qr,(le,ae)=>{n($r=>({...$r,[le]:ae}))})})})})}function ie(p){if(tt(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 Wt(e.config.inputs[e.field.type],p=>pr(Kt,{field:e.field,children:pr(p,{...s,...e.ariaAttributes,...e.dataAttributes,...m,onBlur:ie,onChange:ne})}))}import{twMerge as Ko}from"tailwind-merge";import{jsx as yr}from"react/jsx-runtime";function xr(e){let t=bt(e.column?.advanced?.cols);return yr("div",{className:"flex w-full flex-col gap-4",children:yr("div",{className:Ko("grid grid-cols-1 gap-8 sm:gap-4",t),children:e.children})})}import{jsx as Tr}from"react/jsx-runtime";function br(e){return!e.errors||e.errors.length===0?null:Tr("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)=>Tr("li",{children:t},e.name?`${e.name}-error-${r}`:r))})}import{twMerge as Wo}from"tailwind-merge";import{jsx as Zo}from"react/jsx-runtime";function re(e){let t=e.errors&&e.errors.length>0;return Zo("div",{"data-slot":"field",...t&&{[Be]:"true"},...e.disabled&&{[Ue]:"true"},"data-orientation":e.orientation,className:Wo("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",ht(e.cols),e.className),children:e.children})}import{jsx as zo}from"react/jsx-runtime";function hr(e){return zo(re,{...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 Rr(e){return jo(re,{...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 Ar}from"react/jsx-runtime";function Sr(e){return e.orientation===R?Ar(hr,{cols:e.cols,disabled:e.disabled,errors:e.errors,children:e.children}):Ar(Rr,{cols:e.cols,disabled:e.disabled,errors:e.errors,children:e.children})}var oe=pe();function Er(e){if(y(e))return Jo(e)}function Jo(e){if($(e))return Rt();if(K(e)){let t=e.advanced?.length?.min??oe,r=e.advanced?.length?.max??oe+5;return At(ge(t,oe),ge(r,oe))}}function Nr(e,t=!1){let r={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return de(e)?{...r,...Qo(e)}:y(e)?{...r,...en(e)}:me(e)?{...r,...tn(e)}:r}function Qo(e){let t=ze(e.type),r={...e,type:t};return{...Fr(e),...rn(r),...Qe(r)?Ir(r):{},type:t}}function en(e){let t=Er(e);return t?{options:t}:{}}function tn(e){return{...Fr(e),...Ir(e)}}function Fr(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function rn(e){return W(e)?on(e):{}}function Ir(e){return Cr(e,{min:Ye,max:He})}function on(e){return Cr(e,{min:G,max:X})}function Cr(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 vr(e,t){let r=gt(e.advanced?.aria);return t&&t.length>0&&(r[_e]="true",r[Me]=`${e.name}-error`),r}function Pr(e){return yt(e.advanced?.data)}function Or(e){if(!e.field.type)return null;let t=Nr(e.field,e.disabled),r=Pr(e.field),o=vr(e.field,e.errors),n={...e.field,disabled:t.disabled};return e.children({ariaAttributes:o,commonProps:t,dataAttributes:r,field:n})}import{jsx as Te,jsxs as nn}from"react/jsx-runtime";function kr(e){let t=e.field.advanced?.cols,r=e.field.name?e.errors?.[e.field.name]:void 0,o=Z(e.field),n=at(e.field,e.disabled);return nn("div",{className:"flex flex-col gap-3",children:[Te(Sr,{cols:t,disabled:n,errors:r,orientation:o,children:Te(Or,{disabled:n,errors:r,field:e.field,children:e.children})}),Te(br,{errors:r,name:e.field.name})]})}import{useAtomValue as ln}from"jotai";import{jsx as an}from"react/jsx-runtime";function wr(e){return r=>{let o=ln(_);return an(e,{...r,errors:o})}}var Dr=wr(kr);import{Fragment as cn}from"react";import{jsx as be,jsxs as un}from"react/jsx-runtime";function he(e){let t=j(e.fields),{column:r,field:o}=e.components;return t.map((n,i)=>un(cn,{children:[rt(n)&&be(r,{column:n,children:be(he,{...e,fields:n.fields})}),ot(n)&&be(o,{disabled:e.disabled,field:n,children:e.children})]},i))}import{jsx as sn}from"react/jsx-runtime";var Vr=e=>sn(he,{...e,components:{column:xr,field:Dr}});import{useSetAtom as Lr}from"jotai";import{startTransition as Re,useActionState as dn}from"react";function Br(e,t,r){let{onError:o,onSuccess:n,preserveValues:i=!1,validation:l=!0,value:a=null}=r??{},s=Lr(er),d=Lr(rr),m={data:a,error:null,success:!1},[N,k,ne]=dn(async(ie,w)=>{let p=St(e());if(l===!1)return t?await t(w,p):ie;let f=je(w),x=p.safeParse(f);if(!x.success){let g=Et(x.error);return Re(()=>{s(g)}),_r(f,{detail: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||Re(()=>{d()})):g.error&&Re(()=>{o?.(g.error)}),Mr(f,i)}catch(g){return _r(f,{title:"An unexpected error occurred submitting the form.",detail:mn(g)})}return Mr(x.data,i)},m);return[k,N,ne]}function mn(e){let t=e instanceof Error?e.message:["Unknown error"];return Array.isArray(t)?t:[t]}function Mr(e,t=!1){return{data:t?e:null,error:null,success:!0}}function _r(e,t){return{data:e,error:t,success:!1}}import{useHydrateAtoms as gn}from"jotai/utils";import{startTransition as pn,useCallback as Gr,useRef as Xr}from"react";import{useCallback as fn}from"react";import{useSetAtom as Ae}from"jotai";function Ur(){let e=Ae(Qt),t=Ae(ar),r=Ae(or);return fn(o=>{let n=Array.isArray(o)?o:[o];e(n),t(n),r(n)},[e,t,r])}function Yr(){let e=Ur(),t=Xr({}),r=Xr(new Set),o=Gr((l,a)=>{l in t.current||(t.current[l]=a)},[]),n=Gr(l=>{t.current[l]&&(delete t.current[l],r.current.add(l),pn(()=>{r.current.size>0&&(e(Array.from(r.current)),r.current.clear())}))},[e]);function i(){return t.current}return[i,o,n]}import{jsx as Se}from"react/jsx-runtime";function yn(e){let[t,r,o]=Yr(),[n,i]=Br(t,e.action,{onError:e.onError,onSuccess:e.onSuccess,validation:e.config.validation.submit,value:e.value});return gn([[E,e.value??{}]]),Se(Gt,{action:n,config:e.config,control:e.children,definition:e.definition,noValidate:!0,readOnly:e.readOnly,sections:e.sections,children:({disabled:l,fields:a})=>Se(Vr,{disabled:l,fields:a,children:s=>Se(gr,{...s,config:e.config,onMount:r,onUnmount:o,value:i.data})})})}export{yn 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};
@@ -122,7 +122,8 @@ export type RemotePattern = {
122
122
  };
123
123
  export type FormStateError = {
124
124
  title: string;
125
- detail?: Nullable<Record<string, string[]> | string[]>;
125
+ description?: string;
126
+ details?: Nullable<Record<string, string[]> | string[]>;
126
127
  };
127
128
  export type BaseConfig<T> = {
128
129
  env?: Environment;
@@ -133,13 +134,15 @@ export type BaseConfig<T> = {
133
134
  inputs: {
134
135
  [key: string]: T;
135
136
  };
136
- style?: {
137
- compact?: boolean;
138
- orientation?: Orientation;
139
- };
137
+ style?: Style;
140
138
  validation: {
141
139
  blur?: boolean;
142
140
  change?: boolean;
141
+ showError?: boolean;
143
142
  submit?: boolean;
144
143
  };
145
144
  };
145
+ export type Style = {
146
+ compact?: boolean;
147
+ orientation?: Orientation;
148
+ };
@@ -2,7 +2,7 @@ import { type FormState } from '../hook/use-form-action';
2
2
  import type { Definition, FormStateError, Nullable, Sections, ZodSchema } from '@luna-form/core';
3
3
  import type { Config } from '../../type';
4
4
  export declare function Form<T extends Record<string, unknown> = Record<string, unknown>>(props: Readonly<{
5
- action?: (formData: unknown, schema?: ZodSchema) => Promise<FormState<T>>;
5
+ action?: <K>(formData: K, schema?: ZodSchema) => Promise<FormState<T>>;
6
6
  children?: React.ReactNode;
7
7
  config: Config;
8
8
  definition?: Definition;
@@ -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;
@@ -0,0 +1,6 @@
1
+ import type { Nullable } from '@luna-form/core';
2
+ export declare function Alert(props: Readonly<{
3
+ title: string;
4
+ description?: string;
5
+ details?: Nullable<Record<string, string[]> | string[]>;
6
+ }>): 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.7",
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.7"
35
+ "@luna-form/core": "0.0.9"
36
36
  },
37
37
  "license": "Apache-2.0",
38
38
  "repository": {