react-luna-form 0.0.5 → 0.0.7

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 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 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 +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 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 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 +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 D(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),De=s(le),we=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=D(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 w(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&&D(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 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=w(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)}:De(e)?{...r,...cr(e)}:r}function lr(e){let t=Se(e.type),r={...e,type:t};return{...Ot(e),...sr(r),...we(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 Dt(e){return ze(e.advanced?.data)}function wt(e){if(!e.field.type)return null;let t=St(e.field,e.disabled),r=Dt(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=w(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)(wt,{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 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 +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",D="value",E="options",w="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=D){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: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 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,w,te,re),Ir=s(H,w),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 Dt(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 wt(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)?wt(e,r):r,l=Lt(e,t,i),d=Dt(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 De(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 we(e,t){let r={};for(let[n,o]of De(t))r[`${e}-${n}`]=o;return r}function _e(e){return we(ae,e)}function Me(e){return we(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 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 $(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};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-luna-form",
3
- "version": "0.0.5",
3
+ "version": "0.0.7",
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.5"
35
+ "@luna-form/core": "0.0.7"
36
36
  },
37
37
  "license": "Apache-2.0",
38
38
  "repository": {
@@ -43,19 +43,19 @@
43
43
  "exports": {
44
44
  "./package.json": "./package.json",
45
45
  ".": {
46
- "types": "./dist/types/client/index.d.ts",
46
+ "types": "./dist/types/luna-react/src/client/index.d.ts",
47
47
  "import": "./dist/client/esm/index.js",
48
48
  "require": "./dist/client/cjs/index.js",
49
49
  "default": "./dist/client/cjs/index.js"
50
50
  },
51
51
  "./server": {
52
- "types": "./dist/types/server/index.d.ts",
52
+ "types": "./dist/types/luna-react/src/server/index.d.ts",
53
53
  "import": "./dist/server/esm/index.js",
54
54
  "require": "./dist/server/cjs/index.js",
55
55
  "default": "./dist/server/cjs/index.js"
56
56
  },
57
57
  "./config": {
58
- "types": "./dist/types/config/index.d.ts",
58
+ "types": "./dist/types/luna-react/src/config/index.d.ts",
59
59
  "import": "./dist/config/esm/index.js",
60
60
  "require": "./dist/config/cjs/index.js",
61
61
  "default": "./dist/config/cjs/index.js"