react-luna-form 0.0.14 → 0.0.16
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.
- package/dist/client/cjs/index.js +1 -1
- package/dist/client/esm/index.js +1 -1
- package/dist/server/cjs/index.js +1 -1
- package/dist/server/esm/index.js +1 -1
- package/dist/types/luna-core/src/type.d.ts +1 -0
- package/package.json +5 -4
- package/dist/types/luna-react/src/client/component/hydrate.d.ts +0 -5
- package/dist/types/luna-react/src/component/alert.d.ts +0 -6
- package/dist/types/luna-react/src/lib/use-style.d.ts +0 -5
- package/dist/types/luna-react/src/lib/util/style.d.ts +0 -5
package/dist/client/cjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var Nn=Object.create;var ee=Object.defineProperty;var In=Object.getOwnPropertyDescriptor;var kn=Object.getOwnPropertyNames;var vn=Object.getPrototypeOf,Pn=Object.prototype.hasOwnProperty;var On=(e,t)=>{for(var r in t)ee(e,r,{get:t[r],enumerable:!0})},We=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of kn(t))!Pn.call(e,o)&&o!==r&&ee(e,o,{get:()=>t[o],enumerable:!(n=In(t,o))||n.enumerable});return e};var wn=(e,t,r)=>(r=e!=null?Nn(vn(e)):{},We(t||!e||!e.__esModule?ee(r,"default",{value:e,enumerable:!0}):r,e)),Dn=e=>We(ee({},"__esModule",{value:!0}),e);var ho={};On(ho,{Form:()=>An});module.exports=Dn(ho);var ze=require("react/jsx-runtime");function Ke(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return(0,ze.jsx)("div",{"data-slot":"field-control",className:"w-full",children:t})}var je=require("react/jsx-runtime");function q(e){return(0,je.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 te="input",Je="input/email",Qe="input/number";var et="textarea",tt="radio",rt="checkbox",nt="select",ot="select/month",it="select/year";var ve="column";var lt="label",M="value",re="options",Pe="email",at="number",ct="password",st="tel",$="text",ut="aria-errormessage",dt="aria-invalid",mt="data-invalid",ft="data-readonly",pt="aria",gt="data",ne="min",oe="max",yt="minLength",bt="maxLength",_="$ref",xt="source";var ie="http://luna.internal",C="vertical",U="horizontal";function s(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function le(e){return e==null||e===""}function F(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function v(e){return typeof e=="string"}function Tt(e){return s(e)&&"url"in e}var Vn=/[^/]+$/;function ht(e,t=[],r=M){if(Array.isArray(t))return t.find(n=>{let o=Oe(n,r);if(o!==void 0&&`${o}`===e)return n})??{value:e}}function Oe(e,t=M){if(e!=null){if(F(e))return e;if(s(e)){let r=Ln(e,t);if(F(r))return r}}}function Ln(e,t){let r=N(e,t);if(F(r))return r}function Rt(e,t){if(Array.isArray(e))return e;let r=N(e,t);return Array.isArray(r)?r:null}function N(e,t){if(!t||!s(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(s(n)&&o in n)n=n[o];else return null;return n}function St(e,t={label:lt,value:M}){return e.map(r=>{if(s(r)){let n=N(r,t.label),o=N(r,t.value);if(F(n)&&F(o))return{label:`${n}`,value:`${o}`}}return r})}function At(e=$){if(e){let t=e.match(Vn);if(t){let[r]=t;if(r!==te)return r.trim().toLowerCase()}}return $}function Et(e){let t={};for(let r of e.keys()){let n=e.getAll(r);t[r]=n.length>1?n:n[0]}return t}var Mn=/\[([^\]]+)\]\(([^)]+)\)/g;function P(e,t={}){if(v(e))return _n(e,t);if(Array.isArray(e))return e.map(r=>P(r,t));if(s(e)){let r={};for(let n in e)r[n]=P(e[n],t);return r}return e}function ae(e){return v(e)?/{([^}]+)}/.test(e):Array.isArray(e)?e.some(t=>ae(t)):s(e)?Object.values(e).some(t=>ae(t)):!1}function _n(e,t={}){return e.replace(/{([^}]+)}/g,(r,n)=>{let o=n.includes(".")?N(t,n):t[n];return F(o)?String(o):r})}function Ct(e,t){if(!e||e.trim().length===0)return null;let r,n=0,o=!1,i=[];for(;(r=Mn.exec(e))!==null;){let[l,a,m]=r,c=r.index;o=!0,c>n&&i.push(e.substring(n,c));let d=t?t(c,m,a):l;i.push(d),n=c+l.length}return o?(n<e.length&&i.push(e.substring(n)),i):e}var ce=e=>y(ot)(e),se=e=>y(it)(e),f=y(rt),we=y(te),S=y(tt),p=y(nt),De=y(et),Ft=y($,Pe,ct,st),Nt=y(Je,Pe),ue=y(Qe,at);function de(e){return S(e)||f(e)}function It(e){return e.type===ve}function kt(e){return e.type!==ve}function vt(e){return p(e)||S(e)}function Pt(e){return we(e)||De(e)}function Z(e){return e!=null&&e!==""}function y(...e){return t=>{let r=v(t.type)?t.type:void 0;return r?e.some(n=>r===n||r?.startsWith(`${n}/`)):!1}}function Ot(e,t={}){if(p(e)&&e.disabled){let r=e.name?t?.[e.name]:void 0;if(r&&s(r))return[r]}}function me(e){return S(e)||f(e)?U:e.advanced?.orientation??C}function wt(e,t){let r=e.readonly??!1;return t||r}function Dt(e){if(S(e)||p(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||s(t)&&!(_ in t))return t}}function Vt(e,t){let r=Dt(e);return r||Ot(e,t)}function Un(e,t){let r=s(t)&&e.name in t?t[e.name]:t;return Oe(r,e.advanced?.entity)}function Bn(e,t,r){return vt(e)&&Array.isArray(r)?{...t,[re]:r}:t}function Gn(e,t,r){if(e.required&&!Z(r)&&p(e)&&e.advanced?.preselected!==!1&&re in t){let n=t[re];if(Array.isArray(n)&&n.length===1)return n[0]}return r}function Xn(e,t){return p(e)&&Array.isArray(t)?St(t,e.advanced?.options):t}function Lt(e,t,r,n){let o=Un(e,n),i=Array.isArray(r)?Xn(e,r):r,l=Bn(e,t,i),a=Gn(e,l,o);return{commonPropsWithOptions:l,defaultValue:a}}function Mt(e,t){return f(e)?{checked:Z(t)?t:!1}:{value:t??""}}var Yn=/^#\/definition\//;function pe(e=[],t){let r=fe(e,t);return Array.isArray(r)?r.filter(n=>n.hidden!==!0).sort((n,o)=>_t(n)-_t(o)):[]}function fe(e,t,r=new Map,n=new WeakSet){if(!Hn(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=>fe(i,t,r,n));if(_ in e&&v(e[_])){let i=e[_].replace(Yn,""),l=N(t,i);return l!==null?fe(l,t,r,n):e}let o={};for(let[i,l]of Object.entries(e))o[i]=fe(l,t,r,n);return n.delete(e),r.set(e,o),o}function Ut(e){return Object.entries(e??{})}function _t(e){return e.order??Number.MAX_VALUE}function Hn(e){return e!==void 0&&s(e)&&Object.keys(e).length>0}function Bt(e,t){let r={};for(let[n,o]of Ut(t))r[`${e}-${n}`]=o;return r}function Gt(e){return Bt(pt,e)}function Xt(e){return Bt(gt,e)}var Yt={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},Ht={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function qt(e,t=2){return Yt[e&&e in Yt?e:t]}function $t(e){if(e&&e in Ht)return Ht[e]}var qn=/^\d+$/;function Zt(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function Wt(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 Ve(){return new Date().getFullYear()}function Le(e,t){if(typeof e=="number")return e;let r=t??Ve(),n=e.trim().toLowerCase();if(n.startsWith("current")){let o=n.match(/^current([+-])(\d+)$/);if(o){let[,i,l]=o,a=parseInt(l,10);if(!isNaN(a))return i==="+"?r+a:r-a}return r}return qn.test(n)?parseInt(n,10):r}var u=require("zod");var $n=[[ue,jn],[Nt,Zn],[se,Jn],[ce,Qn],[f,Wn],[S,Kn]];function Kt(e){return u.z.object(e)}function zt(e){let t={},r=u.z.flattenError(e).fieldErrors;for(let[n,o]of Object.entries(r))o!==void 0&&(t[n]=o);return t}function jt(e){for(let[t,r]of $n)if(t(e))return r(e);return zn(e)}function Zn(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(n=>le(n)?"":n,r)}return t.pipe(u.z.email(e.validation?.email)).or(u.z.literal("")).nullable()}function Wn(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 Kn(e){let t=u.z.coerce.string();return e.required?(t=t.min(1,e.validation?.required),u.z.preprocess(r=>le(r)?"":r,t)):t.or(u.z.literal("")).nullable()}function zn(e){let t=u.z.coerce.string().trim();return t=Jt(t,e),e.required?(t=Qt(t,e),u.z.preprocess(r=>le(r)?"":r,t)):t.nullable()}function jn(e){let t=u.z.coerce.number().int();return t=Jt(t,e),e.required?(t=Qt(t,e),u.z.preprocess(r=>r===null?void 0:r,t)):t.nullable()}function Jn(e){if(e.required){let t=u.z.coerce.number({message:e.validation?.required}).int();return u.z.preprocess(eo,t)}return u.z.coerce.number().int().nullable()}function Qn(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 eo(e){return e===null||e===""?void 0:e}function Jt(e,t){return e=to(e,t),e=ro(e,t),e}function Qt(e,t){let r=t.advanced?.length?.min;return r===void 0||r<1?e.min(1,t.validation?.required):e}var to=(e,t)=>er(e,t,ne),ro=(e,t)=>er(e,t,oe);function er(e,t,r){let n=t.advanced?.length?.[r];return n!==void 0?e[r](n,t.validation?.length?.[r]):e}function ge(e,t){return{...e,...t}}function tr(e,t){if(!t||!oo(e))return!0;if(t.length===0)return!1;try{let r=new URL(e),n=r.protocol.replace(":",""),o=r.hostname,i=r.port||no(n);return t.some(l=>!(l.protocol&&l.protocol!==n||l.hostname&&l.hostname!==o||l.port!==void 0&&String(l.port)!==i))}catch{return!1}}function no(e){return e==="https"?"443":"80"}function oo(e){return/^(https?:)?\/\//.test(e)}function rr(e,t){try{if(!e)return t;if(!t)return e;let r=new URL(e,ie);new URL(t,ie).searchParams.forEach((i,l)=>{r.searchParams.set(l,i)});let o=r.toString();return e.startsWith("/")||!e.includes("://")?o.replace(ie,""):o}catch{return t||e}}function nr(e){return!Array.isArray(e)||e.length===0?null:e.reduce((t,r)=>{let n=rr(t.url,r.url),o=io(t,r),i=lo(t,r);return{...t,...r,url:n,body:o,headers:i}})}function io(e,t){return s(t.body)&&s(e?.body)?{...e.body,...t.body}:t.body??e?.body}function lo(e,t){return s(t.headers)&&s(e?.headers)?{...e.headers,...t.headers}:t.headers??e?.headers}function or(e=[],t){let r=[],n=[];e.forEach(o=>{o.action===M&&r.push(o),o.action===xt&&n.push(o)}),t({sources:n,values:r})}function ir(e=null,t=[],r){t.forEach(n=>{let{target:o,source:i}=n;if(!e){r(o,void 0);return}if(Tt(i)){let l=P(i.url,e),a=i.body?P(i.body,e):i.body;r(o,{...i,url:l,body:a})}})}function lr(e=null,t=[],r){t.forEach(n=>{Object.entries(n.value).forEach(([o,i])=>{r(o,e?P(i,e):void 0)})})}var ar=require("react/jsx-runtime");function W(e){return Ct(e,(t,r,n)=>(0,ar.jsx)("a",{className:"underline",href:r,rel:"noopener noreferrer",target:"_blank",children:n},`${r}-${t}`))}var O=require("react/jsx-runtime");function cr(e){return(0,O.jsxs)(O.Fragment,{children:[e.title&&(0,O.jsx)("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:W(e.title)}),e.description&&(0,O.jsx)("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:W(e.description)})]})}var B=require("react/jsx-runtime");function sr(e){let t=e.section.fields||[],{compact:r}=ge(e.style,{compact:e.section.compact});return!e.section.title&&!e.section.description?(0,B.jsx)(q,{compact:r,children:e.children}):(0,B.jsxs)("fieldset",{"data-slot":"field-set","data-empty":t.length===0,className:"flex flex-col data-[empty=false]:gap-6",children:[(0,B.jsx)(cr,{description:e.section.description,title:e.section.title}),(0,B.jsx)(q,{compact:r,children:e.children})]})}var dr=require("react");var Me=require("react/jsx-runtime");function ur(){return(0,Me.jsx)("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:(0,Me.jsx)("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}var A=require("react/jsx-runtime");function mr(e){let t=pe(e.sections,e.definition);return(0,A.jsx)("div",{className:"h-full w-full",children:(0,A.jsx)("form",{noValidate:e.noValidate,action:e.action,children:(0,A.jsxs)(q,{children:[t.map((r,n)=>(0,A.jsxs)(dr.Fragment,{children:[(0,A.jsx)(sr,{section:r,style:e.config.style,children:e.children({disabled:e.readOnly,fields:r.fields})}),r.separator&&(0,A.jsx)(ur,{})]},n)),e.control&&(0,A.jsx)(Ke,{isPending:e.isPending,children:e.control})]})})})}var pr=require("react/jsx-runtime");function fr(e){return(0,pr.jsx)("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}var gr=require("react/jsx-runtime");function ye(e){let t=W(e.text);return t?(0,gr.jsx)(fr,{children:t}):null}var yr=require("tailwind-merge"),be=require("react/jsx-runtime");function br(e){let t=S(e.field)||f(e.field);return(0,be.jsxs)("label",{"data-slot":"field-label","data-normal":t,className:(0,yr.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,be.jsx)("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:"(Optional)"})]})}var K=require("react/jsx-runtime");function xr(e){return(0,K.jsxs)("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[(0,K.jsx)(br,{field:e.field,children:e.field.label}),e.orientation===U&&(0,K.jsx)(ye,{text:e.field.description})]})}var w=require("react/jsx-runtime");function Tr(e){let t=me(e.field);return(0,w.jsxs)(w.Fragment,{children:[e.field.name&&e.field.label&&(0,w.jsx)(xr,{field:e.field,orientation:t}),e.children,t===C&&e.field.description&&(0,w.jsx)(ye,{text:e.field.description})]})}function xe(e,t){return e?t(e):null}var I=require("jotai"),_e=require("jotai-family"),Te=require("fast-equals");function ao(e){return(0,_e.atomFamily)(t=>(0,I.atom)(r=>r(e)[t]??void 0,(r,n,o)=>{let i=r(e);if(o!=null){let l=i[t];(!l||!(0,Te.deepEqual)(l,o))&&n(e,{...i,[t]:o})}else if(i[t]){let{[t]:l,...a}=i;n(e,a)}}))}function co(e){return(0,I.atom)(null,(t,r)=>{let n=t(e);n&&Object.keys(n).length>0&&r(e,{})})}function so(e){return(0,I.atom)(null,(t,r,n)=>{let i={...t(e)},l=!1;for(let a of n)i[a]&&(delete i[a],l=!0);l&&r(e,i)})}function uo(e){return(0,I.atom)(null,(t,r,n)=>{let o=t(e);(0,Te.deepEqual)(o,n)||r(e,n)})}function hr(e,t={}){let{merge:r,validateTarget:n}=t;return(0,_e.atomFamily)(o=>(0,I.atom)(i=>{let l=i(e)[o];if(l&&r)return r(Object.values(l))},(i,l,a,m)=>{if(n&&!n(a))return;let c=i(e),d={...c[a]??{}};if(m!=null){let x=d[o];(!x||!(0,Te.deepEqual)(x,m))&&(d[o]=m,l(e,{...c,[a]:d}))}else if(d[o])if(delete d[o],Object.keys(d).length===0){let{[a]:x,...Y}=c;l(e,Y)}else l(e,{...c,[a]:d})}))}function Rr(e){return(0,I.atom)(null,(t,r,n)=>{let i={...t(e)},l=!1;for(let a of n)i[a]&&(delete i[a],l=!0);for(let a in i){let m={...i[a]},c=!1;for(let d of n)m[d]&&(delete m[d],c=!0,l=!0);c&&(Object.keys(m).length===0?delete i[a]:i[a]=m)}l&&r(e,i)})}function he(e={}){let t=(0,I.atom)(e);return{atom:t,clearAll:co(t),clear:so(t),bulkReport:uo(t),report:ao(t)}}var Re=he(),Ki=Re.atom,Sr=Re.clear,Ar=Re.bulkReport,Se=Re.report;var V=require("react");var Er=require("jotai");var Cr=(0,Er.atom)({}),Fr=hr(Cr,{merge:e=>{let t=nr(e);if(t)return t},validateTarget:e=>e.trim()!==""}),Nr=Rr(Cr);var vr=require("jotai");var Ir=wn(require("swr"),1);function kr(e=null,t,r=!1){let{data:n,error:o}=(0,Ir.default)(mo(e,t,r),t.fetcher.provider);if(o&&console.error("Error fetching data source:",o),e){if(Array.isArray(e))return[e];if(n)return[Rt(n,e.namespace)]}return[null]}function mo(e=null,t,r=!1){if(e&&!Array.isArray(e)&&!r&&e.url&&!ae(e.url)){if(tr(e.url,t.fetcher.remotePatterns))return e;console.warn(`URL blocked by remotePatterns: ${e.url}. Check your luna.config.ts`)}return null}function Pr(e,t,r){let n=Vt(e,r),[o,i]=(0,vr.useAtom)(Fr(e.name)),l=o??n,[a]=kr(l,t,e.disabled);return[a,i]}var D=require("react");function Or(e,t,r){let n=(0,D.useMemo)(()=>jt(e),[e]),o=(0,D.useEffectEvent)(l=>{l&&t(l,n)}),i=(0,D.useEffectEvent)(l=>{l&&r(l)});return(0,D.useEffect)(()=>(o(e.name),()=>{i(e.name)}),[e.name]),[n]}var Ue=require("jotai");var Ae=require("react");function wr(){let e=(0,Ae.useRef)(null);(0,Ae.useEffect)(()=>{let n=e.current;return()=>{n&&clearTimeout(n)}},[]);function t(){e.current&&(clearTimeout(e.current),e.current=null)}function r(n,o){t(),e.current=setTimeout(n,o)}return[r,t]}var z=he(),Dr=z.atom,Vr=z.clearAll,Lr=z.clear,ul=z.bulkReport,Mr=z.report;var _r=require("jotai"),Ee=require("react");function Ur(e,t){let r=(0,Ee.useRef)(!1),[n,o]=(0,_r.useAtom)(Mr(e.name));return(0,Ee.useEffect)(()=>{if(!t||!(e.name in t))return;let i=t[e.name];Z(i)&&(r.current=!0,o(i))},[e.name,t,o]),{value:n,setValue:o,skipNextOnChangeRef:r}}var Be=require("react/jsx-runtime");function Br(e){let[t]=wr(),[,r]=(0,V.useTransition)(),{skipNextOnChangeRef:n,value:o,setValue:i}=Ur(e.field,e.value),l=(0,Ue.useSetAtom)(Dr),a=(0,Ue.useSetAtom)(Se(e.field.name)),[m]=Or(e.field,e.onMount,e.onUnmount),[c,d]=Pr(e.field,e.config,o),{commonPropsWithOptions:x,defaultValue:Y}=Lt(e.field,e.commonProps,c,o),J=Mt(e.field,Y),E=(0,V.useCallback)(g=>{let L=m.safeParse(g).error?.issues.map(Q=>Q.message)??[];a(L)},[a,m]),T=(0,V.useCallback)((g,R)=>{if(Pt(e.field)){t(()=>{R({value:g})},500);return}let L=ht(g,c,e.field.advanced?.entity);R(L)},[t,e.field,c]),H=(0,V.useCallback)(g=>{if(n.current){n.current=!1;return}let R=g.target.value;i(R),e.config.validation.change&&E(R);let L=e.field.event?.change;L&&T(R,Q=>{or(L,({sources:En,values:Cn})=>{r(()=>{ir(Q,En,(Ie,ke)=>d(Ie,ke)),lr(Q,Cn,(Ie,ke)=>{l(Fn=>({...Fn,[Ie]:ke}))})})})})},[T,e.config.validation.change,e.field,d,i,l,n,E]),h=(0,V.useCallback)(g=>{if(de(e.field))return;let R=g.target.value;e.config.validation.blur&&E(R)},[e.field,e.config.validation.blur,E]);return xe(e.config.inputs[e.field.type],g=>(0,Be.jsx)(Tr,{field:e.field,children:(0,Be.jsx)(g,{...x,...e.ariaAttributes,...e.dataAttributes,...J,onBlur:h,onChange:H})}))}var Gr=require("tailwind-merge"),Ge=require("react/jsx-runtime");function Xr(e){let t=qt(e.column?.advanced?.cols);return(0,Ge.jsx)("div",{className:"flex w-full flex-col gap-4",children:(0,Ge.jsx)("div",{className:(0,Gr.twMerge)("grid grid-cols-1 gap-8 sm:gap-4",t),children:e.children})})}var Xe=require("react/jsx-runtime");function Yr(e){return!e.errors||e.errors.length===0?null:(0,Xe.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,Xe.jsx)("li",{children:t},e.name?`${e.name}-error-${r}`:r))})}var Hr=require("tailwind-merge"),qr=require("react/jsx-runtime");function Ce(e){let t=e.errors&&e.errors.length>0;return(0,qr.jsx)("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[mt]:"true"},...e.disabled&&{[ft]:"true"},"data-orientation":e.orientation,className:(0,Hr.twMerge)("group flex w-full flex-col items-center data-[invalid=true]:text-red-600 data-[invalid=true]:dark:text-red-500","data-[clickable=true]:items-start",e.isCheckbox&&"flex-row-reverse!","data-[clickable=true]:has-[>[data-slot=field-content]]:[&>:first-child]:mt-px",$t(e.cols),e.className),children:e.children})}var $r=require("tailwind-merge"),Wr=require("react/jsx-runtime");function Zr(e){return(0,Wr.jsx)(Ce,{...e,orientation:C,className:(0,$r.twMerge)("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}var Kr=require("tailwind-merge"),jr=require("react/jsx-runtime");function zr(e){return(0,jr.jsx)(Ce,{...e,orientation:U,className:(0,Kr.twMerge)("gap-2 md:flex-row md:gap-4","[&>[data-slot=field-content]]:min-w-0 [&>[data-slot=field-content]]:flex-grow [&>[data-slot=field-content]]:self-start","[&_[role=checkbox]]:mt-[1.5px]",e.isClickable&&"md:flex-col",!e.isClickable&&["md:justify-between","[&>*:not([data-slot=field-content])]:w-full","[&>*:not([data-slot=field-content])]:md:w-1/2","[&>*:not([data-slot=field-content])]:xl:w-2/5"]),children:e.children})}var Ye=require("react/jsx-runtime");function Jr(e){let t=de(e.field),r=f(e.field);return e.orientation===C?(0,Ye.jsx)(Zr,{cols:e.cols,disabled:e.disabled,errors:e.errors,isCheckbox:r,isClickable:t,children:e.children}):(0,Ye.jsx)(zr,{cols:e.cols,disabled:e.disabled,errors:e.errors,isCheckbox:r,isClickable:t,children:e.children})}var Fe=Ve();function Qr(e){if(p(e))return fo(e)}function fo(e){if(ce(e))return Zt();if(se(e)){let t=e.advanced?.length?.min??Fe,r=e.advanced?.length?.max??Fe+5;return Wt(Le(t,Fe),Le(r,Fe))}}function en(e,t=!1){let r={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return we(e)?{...r,...po(e)}:p(e)?{...r,...go(e)}:De(e)?{...r,...yo(e)}:r}function po(e){let t=At(e.type),r={...e,type:t};return{...tn(e),...bo(r),...Ft(r)?rn(r):{},type:t}}function go(e){let t=Qr(e);return t?{options:t}:{}}function yo(e){return{...tn(e),...rn(e)}}function tn(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function bo(e){return ue(e)?xo(e):{}}function rn(e){return nn(e,{min:yt,max:bt})}function xo(e){return nn(e,{min:ne,max:oe})}function nn(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 on(e,t){let r=Gt(e.advanced?.aria);return t&&t.length>0&&(r[dt]="true",r[ut]=`${e.name}-error`),r}function ln(e){return Xt(e.advanced?.data)}function an(e){if(!e.field.type)return null;let t=en(e.field,e.disabled),r=ln(e.field),n=on(e.field,e.errors),o={...e.field,disabled:t.disabled};return e.children({ariaAttributes:n,commonProps:t,dataAttributes:r,field:o})}var G=require("react/jsx-runtime");function cn(e){let t=e.field.advanced?.cols,r=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:n}=ge(e.style,{orientation:me(e.field)}),o=wt(e.field,e.disabled);return(0,G.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,G.jsx)(Jr,{cols:t,disabled:o,errors:r,field:e.field,orientation:n,children:(0,G.jsx)(an,{disabled:o,errors:r,field:e.field,children:e.children})}),(0,G.jsx)(Yr,{errors:r,name:e.field.name})]})}var sn=require("jotai"),dn=require("react/jsx-runtime");function un(e){return r=>{let n=(0,sn.useAtomValue)(Se(r.field.name));return(0,dn.jsx)(e,{...r,errors:n?{[r.field.name]:n}:void 0})}}var mn=un(cn);var fn=require("react"),X=require("react/jsx-runtime");function He(e){let t=pe(e.fields),{column:r,field:n}=e.components;return t.map((o,i)=>(0,X.jsxs)(fn.Fragment,{children:[It(o)&&(0,X.jsx)(r,{column:o,children:(0,X.jsx)(He,{...e,fields:o.fields})}),kt(o)&&(0,X.jsx)(n,{disabled:e.disabled,field:o,style:e.style,children:e.children})]},i))}var gn=require("react/jsx-runtime"),pn=e=>(0,gn.jsx)(He,{...e,components:{column:Xr,field:mn}});var $e=require("jotai");var j=require("react");function bn(e,t,r){let{onSuccess:n,preserveValues:o=!1,validation:i=!0}=r??{},l=(0,$e.useSetAtom)(Ar),a=(0,$e.useSetAtom)(Vr),m={data:null,error:null,success:!1},[c,d,x]=(0,j.useActionState)(async(Y,J)=>{let E=Kt(e());if(i===!1)return t?await t(J,E):Y;let T=Et(J),H=E.safeParse(T);if(!H.success){let h=zt(H.error);return(0,j.startTransition)(()=>{l(h)}),qe(T,{description:"Please correct the errors and try again.",details:[],title:"There were validation errors submitting the form."})}if(t)try{let h=await t(T,E);return h.success?(n?.(h.data),o||(0,j.startTransition)(()=>{a()}),yn(T,o)):qe(T,h.error)}catch(h){return qe(T,{title:"An unexpected error occurred submitting the form.",details:To(h)})}return yn(H.data,o)},m);return[d,c,x]}function To(e){let t=e instanceof Error?e.message:["Unknown error"];return Array.isArray(t)?t:[t]}function yn(e,t=!1){return{data:t?e:null,error:null,success:!0}}function qe(e,t){return{data:e,error:t,success:!1}}var k=require("react");var xn=require("react"),Ne=require("jotai");function Tn(){let e=(0,Ne.useSetAtom)(Sr),t=(0,Ne.useSetAtom)(Nr),r=(0,Ne.useSetAtom)(Lr);return(0,xn.useCallback)(n=>{let o=Array.isArray(n)?n:[n];e(o),t(o),r(o)},[e,t,r])}function hn(){let e=Tn(),t=(0,k.useRef)({}),r=(0,k.useRef)(new Set),n=(0,k.useCallback)((l,a)=>{l in t.current||(t.current[l]=a)},[]),o=(0,k.useCallback)(l=>{t.current[l]&&(delete t.current[l],r.current.add(l),(0,k.startTransition)(()=>{r.current.size>0&&(e(Array.from(r.current)),r.current.clear())}))},[e]);function i(){return t.current}return[i,n,o]}var b=require("react/jsx-runtime");function Rn(e){let[t,r,n]=hn(),[o,i,l]=bn(t,e.action,{onSuccess:e.onSuccess,validation:e.config.validation.submit}),a=e.config.validation.showError&&!i.success&&i.error,m=i.data??e.value;return(0,b.jsxs)(b.Fragment,{children:[a&&xe(e.config.alert,c=>(0,b.jsx)("div",{className:"mb-4 w-full",children:(0,b.jsx)(c,{description:i.error?.description,details:i.error?.details,title:i.error.title})})),(0,b.jsx)(mr,{action:o,config:e.config,control:e.children,definition:e.definition,isPending:l,noValidate:!0,readOnly:e.readOnly,sections:e.sections,children:({disabled:c,fields:d})=>(0,b.jsx)(pn,{disabled:c,fields:d,style:e.config.style,children:x=>(0,b.jsx)(Br,{...x,config:e.config,onMount:r,onUnmount:n,value:m})})})]})}var Sn=require("jotai"),Ze=require("react/jsx-runtime");function An(e){return(0,Ze.jsx)(Sn.Provider,{children:(0,Ze.jsx)(Rn,{...e})})}
|
|
1
|
+
"use strict";var Nn=Object.create;var ee=Object.defineProperty;var In=Object.getOwnPropertyDescriptor;var kn=Object.getOwnPropertyNames;var vn=Object.getPrototypeOf,Pn=Object.prototype.hasOwnProperty;var On=(e,t)=>{for(var r in t)ee(e,r,{get:t[r],enumerable:!0})},Ke=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of kn(t))!Pn.call(e,o)&&o!==r&&ee(e,o,{get:()=>t[o],enumerable:!(n=In(t,o))||n.enumerable});return e};var wn=(e,t,r)=>(r=e!=null?Nn(vn(e)):{},Ke(t||!e||!e.__esModule?ee(r,"default",{value:e,enumerable:!0}):r,e)),Dn=e=>Ke(ee({},"__esModule",{value:!0}),e);var ho={};On(ho,{Form:()=>An});module.exports=Dn(ho);var je=require("react/jsx-runtime");function ze(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return(0,je.jsx)("div",{"data-slot":"field-control",className:"w-full",children:t})}var Je=require("react/jsx-runtime");function q(e){return(0,Je.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 te="input",Qe="input/email",et="input/number";var tt="textarea",rt="radio",nt="checkbox",ot="select",it="select/month",lt="select/year";var ve="column";var at="label",M="value",re="options",Pe="email",ct="number",st="password",ut="tel",$="text",dt="aria-errormessage",mt="aria-invalid",ft="data-invalid",pt="data-readonly",gt="aria",yt="data",ne="min",oe="max",bt="minLength",xt="maxLength",_="$ref",Tt="source";var ie="http://luna.internal",C="vertical",U="horizontal";function s(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function le(e){return e==null||e===""}function F(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function v(e){return typeof e=="string"}function ht(e){return s(e)&&"url"in e}var Vn=/[^/]+$/;function Rt(e,t=[],r=M){if(Array.isArray(t))return t.find(n=>{let o=Oe(n,r);if(o!==void 0&&`${o}`===e)return n})??{value:e}}function Oe(e,t=M){if(e!=null){if(F(e))return e;if(s(e)){let r=Ln(e,t);if(F(r))return r}}}function Ln(e,t){let r=N(e,t);if(F(r))return r}function St(e,t){if(Array.isArray(e))return e;let r=N(e,t);return Array.isArray(r)?r:null}function N(e,t){if(!t||!s(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(s(n)&&o in n)n=n[o];else return null;return n}function At(e,t={label:at,value:M}){return e.map(r=>{if(s(r)){let n=N(r,t.label),o=N(r,t.value);if(F(n)&&F(o))return{label:`${n}`,value:`${o}`}}return r})}function Et(e=$){if(e){let t=e.match(Vn);if(t){let[r]=t;if(r!==te)return r.trim().toLowerCase()}}return $}function Ct(e){let t={};for(let r of e.keys()){let n=e.getAll(r);t[r]=n.length>1?n:n[0]}return t}var Mn=/\[([^\]]+)\]\(([^)]+)\)/g;function P(e,t={}){if(v(e))return _n(e,t);if(Array.isArray(e))return e.map(r=>P(r,t));if(s(e)){let r={};for(let n in e)r[n]=P(e[n],t);return r}return e}function ae(e){return v(e)?/{([^}]+)}/.test(e):Array.isArray(e)?e.some(t=>ae(t)):s(e)?Object.values(e).some(t=>ae(t)):!1}function _n(e,t={}){return e.replace(/{([^}]+)}/g,(r,n)=>{let o=n.includes(".")?N(t,n):t[n];return F(o)?String(o):r})}function Ft(e,t){if(!e||e.trim().length===0)return null;let r,n=0,o=!1,i=[];for(;(r=Mn.exec(e))!==null;){let[l,a,m]=r,c=r.index;o=!0,c>n&&i.push(e.substring(n,c));let d=t?t(c,m,a):l;i.push(d),n=c+l.length}return o?(n<e.length&&i.push(e.substring(n)),i):e}var ce=e=>b(it)(e),se=e=>b(lt)(e),f=b(nt),we=b(te),S=b(rt),p=b(ot),De=b(tt),Nt=b($,Pe,st,ut),It=b(Qe,Pe),ue=b(et,ct);function de(e){return S(e)||f(e)}function kt(e){return e.type===ve}function vt(e){return e.type!==ve}function Pt(e){return p(e)||S(e)}function Ve(e){return we(e)||De(e)}function Z(e){return e!=null&&e!==""}function b(...e){return t=>{let r=v(t.type)?t.type:void 0;return r?e.some(n=>r===n||r?.startsWith(`${n}/`)):!1}}function Ot(e,t={}){if(p(e)&&e.disabled){let r=e.name?t?.[e.name]:void 0;if(r&&s(r))return[r]}}function me(e){return S(e)||f(e)?U:e.advanced?.orientation??C}function wt(e,t){let r=e.readonly??!1;return t||r}function Dt(e){if(S(e)||p(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||s(t)&&!(_ in t))return t}}function Vt(e,t){let r=Dt(e);return r||Ot(e,t)}function Un(e,t){let r=s(t)&&e.name in t?t[e.name]:t;return Oe(r,e.advanced?.entity)}function Bn(e,t,r){return Pt(e)&&Array.isArray(r)?{...t,[re]:r}:t}function Gn(e,t,r){if(e.required&&!Z(r)&&p(e)&&e.advanced?.preselected!==!1&&re in t){let n=t[re];if(Array.isArray(n)&&n.length===1)return n[0]}return r}function Xn(e,t){return p(e)&&Array.isArray(t)?At(t,e.advanced?.options):t}function Lt(e,t,r,n){let o=Un(e,n),i=Array.isArray(r)?Xn(e,r):r,l=Bn(e,t,i),a=Gn(e,l,o);return{commonPropsWithOptions:l,defaultValue:a}}function Mt(e,t){return f(e)?{checked:Z(t)?t:!1}:{value:t??""}}var Yn=/^#\/definition\//;function pe(e=[],t){let r=fe(e,t);return Array.isArray(r)?r.filter(n=>n.hidden!==!0).sort((n,o)=>_t(n)-_t(o)):[]}function fe(e,t,r=new Map,n=new WeakSet){if(!Hn(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=>fe(i,t,r,n));if(_ in e&&v(e[_])){let i=e[_].replace(Yn,""),l=N(t,i);return l!==null?fe(l,t,r,n):e}let o={};for(let[i,l]of Object.entries(e))o[i]=fe(l,t,r,n);return n.delete(e),r.set(e,o),o}function Ut(e){return Object.entries(e??{})}function _t(e){return e.order??Number.MAX_VALUE}function Hn(e){return e!==void 0&&s(e)&&Object.keys(e).length>0}function Bt(e,t){let r={};for(let[n,o]of Ut(t))r[`${e}-${n}`]=o;return r}function Gt(e){return Bt(gt,e)}function Xt(e){return Bt(yt,e)}var Yt={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},Ht={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function qt(e,t=2){return Yt[e&&e in Yt?e:t]}function $t(e){if(e&&e in Ht)return Ht[e]}var qn=/^\d+$/;function Zt(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function Wt(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 Le(){return new Date().getFullYear()}function Me(e,t){if(typeof e=="number")return e;let r=t??Le(),n=e.trim().toLowerCase();if(n.startsWith("current")){let o=n.match(/^current([+-])(\d+)$/);if(o){let[,i,l]=o,a=parseInt(l,10);if(!isNaN(a))return i==="+"?r+a:r-a}return r}return qn.test(n)?parseInt(n,10):r}var u=require("zod");var $n=[[ue,jn],[It,Zn],[se,Jn],[ce,Qn],[f,Wn],[S,Kn]];function Kt(e){return u.z.object(e)}function zt(e){let t={},r=u.z.flattenError(e).fieldErrors;for(let[n,o]of Object.entries(r))o!==void 0&&(t[n]=o);return t}function jt(e){for(let[t,r]of $n)if(t(e))return r(e);return zn(e)}function Zn(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(n=>le(n)?"":n,r)}return t.pipe(u.z.email(e.validation?.email)).or(u.z.literal("")).nullable()}function Wn(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 Kn(e){let t=u.z.coerce.string();return e.required?(t=t.min(1,e.validation?.required),u.z.preprocess(r=>le(r)?"":r,t)):t.or(u.z.literal("")).nullable()}function zn(e){let t=u.z.coerce.string().trim();return t=Jt(t,e),e.required?(t=Qt(t,e),u.z.preprocess(r=>le(r)?"":r,t)):t.nullable()}function jn(e){let t=u.z.coerce.number().int();return t=Jt(t,e),e.required?(t=Qt(t,e),u.z.preprocess(r=>r===null?void 0:r,t)):t.nullable()}function Jn(e){if(e.required){let t=u.z.coerce.number({message:e.validation?.required}).int();return u.z.preprocess(eo,t)}return u.z.coerce.number().int().nullable()}function Qn(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 eo(e){return e===null||e===""?void 0:e}function Jt(e,t){return e=to(e,t),e=ro(e,t),e}function Qt(e,t){let r=t.advanced?.length?.min;return r===void 0||r<1?e.min(1,t.validation?.required):e}var to=(e,t)=>er(e,t,ne),ro=(e,t)=>er(e,t,oe);function er(e,t,r){let n=t.advanced?.length?.[r];return n!==void 0?e[r](n,t.validation?.length?.[r]):e}function ge(e,t){return{...e,...t}}function tr(e,t){if(!t||!oo(e))return!0;if(t.length===0)return!1;try{let r=new URL(e),n=r.protocol.replace(":",""),o=r.hostname,i=r.port||no(n);return t.some(l=>!(l.protocol&&l.protocol!==n||l.hostname&&l.hostname!==o||l.port!==void 0&&String(l.port)!==i))}catch{return!1}}function no(e){return e==="https"?"443":"80"}function oo(e){return/^(https?:)?\/\//.test(e)}function rr(e,t){try{if(!e)return t;if(!t)return e;let r=new URL(e,ie);new URL(t,ie).searchParams.forEach((i,l)=>{r.searchParams.set(l,i)});let o=r.toString();return e.startsWith("/")||!e.includes("://")?o.replace(ie,""):o}catch{return t||e}}function nr(e){return!Array.isArray(e)||e.length===0?null:e.reduce((t,r)=>{let n=rr(t.url,r.url),o=io(t,r),i=lo(t,r);return{...t,...r,url:n,body:o,headers:i}})}function io(e,t){return s(t.body)&&s(e?.body)?{...e.body,...t.body}:t.body??e?.body}function lo(e,t){return s(t.headers)&&s(e?.headers)?{...e.headers,...t.headers}:t.headers??e?.headers}function or(e=[],t){let r=[],n=[];e.forEach(o=>{o.action===M&&r.push(o),o.action===Tt&&n.push(o)}),t({sources:n,values:r})}function ir(e=null,t=[],r){t.forEach(n=>{let{target:o,source:i}=n;if(!e){r(o,void 0);return}if(ht(i)){let l=P(i.url,e),a=i.body?P(i.body,e):i.body;r(o,{...i,url:l,body:a})}})}function lr(e=null,t=[],r){t.forEach(n=>{Object.entries(n.value).forEach(([o,i])=>{r(o,e?P(i,e):void 0)})})}var ar=require("react/jsx-runtime");function W(e){return Ft(e,(t,r,n)=>(0,ar.jsx)("a",{className:"underline",href:r,rel:"noopener noreferrer",target:"_blank",children:n},`${r}-${t}`))}var O=require("react/jsx-runtime");function cr(e){return(0,O.jsxs)(O.Fragment,{children:[e.title&&(0,O.jsx)("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:W(e.title)}),e.description&&(0,O.jsx)("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:W(e.description)})]})}var B=require("react/jsx-runtime");function sr(e){let t=e.section.fields||[],{compact:r}=ge(e.style,{compact:e.section.compact});return!e.section.title&&!e.section.description?(0,B.jsx)(q,{compact:r,children:e.children}):(0,B.jsxs)("fieldset",{"data-slot":"field-set","data-empty":t.length===0,className:"flex flex-col data-[empty=false]:gap-6",id:e.section.id?.toString(),children:[(0,B.jsx)(cr,{description:e.section.description,title:e.section.title}),(0,B.jsx)(q,{compact:r,children:e.children})]})}var dr=require("react");var _e=require("react/jsx-runtime");function ur(){return(0,_e.jsx)("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:(0,_e.jsx)("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}var A=require("react/jsx-runtime");function mr(e){let t=pe(e.sections,e.definition);return(0,A.jsx)("div",{className:"h-full w-full",children:(0,A.jsx)("form",{noValidate:e.noValidate,action:e.action,children:(0,A.jsxs)(q,{children:[t.map((r,n)=>(0,A.jsxs)(dr.Fragment,{children:[(0,A.jsx)(sr,{section:r,style:e.config.style,children:e.children({disabled:e.readOnly,fields:r.fields})}),r.separator&&(0,A.jsx)(ur,{})]},n)),e.control&&(0,A.jsx)(ze,{isPending:e.isPending,children:e.control})]})})})}var pr=require("react/jsx-runtime");function fr(e){return(0,pr.jsx)("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}var gr=require("react/jsx-runtime");function ye(e){let t=W(e.text);return t?(0,gr.jsx)(fr,{children:t}):null}var yr=require("tailwind-merge"),be=require("react/jsx-runtime");function br(e){let t=S(e.field)||f(e.field);return(0,be.jsxs)("label",{"data-slot":"field-label","data-normal":t,className:(0,yr.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,be.jsx)("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:"(Optional)"})]})}var K=require("react/jsx-runtime");function xr(e){return(0,K.jsxs)("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[(0,K.jsx)(br,{field:e.field,children:e.field.label}),e.orientation===U&&(0,K.jsx)(ye,{text:e.field.description})]})}var w=require("react/jsx-runtime");function Tr(e){let t=me(e.field);return(0,w.jsxs)(w.Fragment,{children:[e.field.name&&e.field.label&&(0,w.jsx)(xr,{field:e.field,orientation:t}),e.children,t===C&&e.field.description&&(0,w.jsx)(ye,{text:e.field.description})]})}function xe(e,t){return e?t(e):null}var I=require("jotai"),Ue=require("jotai-family"),Te=require("fast-equals");function ao(e){return(0,Ue.atomFamily)(t=>(0,I.atom)(r=>r(e)[t]??void 0,(r,n,o)=>{let i=r(e);if(o!=null){let l=i[t];(!l||!(0,Te.deepEqual)(l,o))&&n(e,{...i,[t]:o})}else if(i[t]){let{[t]:l,...a}=i;n(e,a)}}))}function co(e){return(0,I.atom)(null,(t,r)=>{let n=t(e);n&&Object.keys(n).length>0&&r(e,{})})}function so(e){return(0,I.atom)(null,(t,r,n)=>{let i={...t(e)},l=!1;for(let a of n)i[a]&&(delete i[a],l=!0);l&&r(e,i)})}function uo(e){return(0,I.atom)(null,(t,r,n)=>{let o=t(e);(0,Te.deepEqual)(o,n)||r(e,n)})}function hr(e,t={}){let{merge:r,validateTarget:n}=t;return(0,Ue.atomFamily)(o=>(0,I.atom)(i=>{let l=i(e)[o];if(l&&r)return r(Object.values(l))},(i,l,a,m)=>{if(n&&!n(a))return;let c=i(e),d={...c[a]??{}};if(m!=null){let T=d[o];(!T||!(0,Te.deepEqual)(T,m))&&(d[o]=m,l(e,{...c,[a]:d}))}else if(d[o])if(delete d[o],Object.keys(d).length===0){let{[a]:T,...Y}=c;l(e,Y)}else l(e,{...c,[a]:d})}))}function Rr(e){return(0,I.atom)(null,(t,r,n)=>{let i={...t(e)},l=!1;for(let a of n)i[a]&&(delete i[a],l=!0);for(let a in i){let m={...i[a]},c=!1;for(let d of n)m[d]&&(delete m[d],c=!0,l=!0);c&&(Object.keys(m).length===0?delete i[a]:i[a]=m)}l&&r(e,i)})}function he(e={}){let t=(0,I.atom)(e);return{atom:t,clearAll:co(t),clear:so(t),bulkReport:uo(t),report:ao(t)}}var Re=he(),Ki=Re.atom,Sr=Re.clear,Ar=Re.bulkReport,Se=Re.report;var V=require("react");var Er=require("jotai");var Cr=(0,Er.atom)({}),Fr=hr(Cr,{merge:e=>{let t=nr(e);if(t)return t},validateTarget:e=>e.trim()!==""}),Nr=Rr(Cr);var vr=require("jotai");var Ir=wn(require("swr"),1);function kr(e=null,t,r=!1){let{data:n,error:o}=(0,Ir.default)(mo(e,t,r),t.fetcher.provider);if(o&&console.error("Error fetching data source:",o),e){if(Array.isArray(e))return[e];if(n)return[St(n,e.namespace)]}return[null]}function mo(e=null,t,r=!1){if(e&&!Array.isArray(e)&&!r&&e.url&&!ae(e.url)){if(tr(e.url,t.fetcher.remotePatterns))return e;console.warn(`URL blocked by remotePatterns: ${e.url}. Check your luna.config.ts`)}return null}function Pr(e,t,r){let n=Vt(e,r),[o,i]=(0,vr.useAtom)(Fr(e.name)),l=o??n,[a]=kr(l,t,e.disabled);return[a,i]}var D=require("react");function Or(e,t,r){let n=(0,D.useMemo)(()=>jt(e),[e]),o=(0,D.useEffectEvent)(l=>{l&&t(l,n)}),i=(0,D.useEffectEvent)(l=>{l&&r(l)});return(0,D.useEffect)(()=>(o(e.name),()=>{i(e.name)}),[e.name]),[n]}var Be=require("jotai");var Ae=require("react");function wr(){let e=(0,Ae.useRef)(null);(0,Ae.useEffect)(()=>{let n=e.current;return()=>{n&&clearTimeout(n)}},[]);function t(){e.current&&(clearTimeout(e.current),e.current=null)}function r(n,o){t(),e.current=setTimeout(n,o)}return[r,t]}var z=he(),Dr=z.atom,Vr=z.clearAll,Lr=z.clear,ul=z.bulkReport,Mr=z.report;var _r=require("jotai"),Ee=require("react");function Ur(e,t){let r=(0,Ee.useRef)(!1),[n,o]=(0,_r.useAtom)(Mr(e.name));return(0,Ee.useEffect)(()=>{if(!t||!(e.name in t))return;let i=t[e.name];Z(i)&&(r.current=!0,o(i))},[e.name,t,o]),{value:n,setValue:o,skipNextOnChangeRef:r}}var Ge=require("react/jsx-runtime");function Br(e){let[t]=wr(),[,r]=(0,V.useTransition)(),{skipNextOnChangeRef:n,value:o,setValue:i}=Ur(e.field,e.value),l=(0,Be.useSetAtom)(Dr),a=(0,Be.useSetAtom)(Se(e.field.name)),[m]=Or(e.field,e.onMount,e.onUnmount),[c,d]=Pr(e.field,e.config,o),{commonPropsWithOptions:T,defaultValue:Y}=Lt(e.field,e.commonProps,c,o),J=Mt(e.field,Y),E=(0,V.useCallback)(g=>{let L=m.safeParse(g).error?.issues.map(Q=>Q.message)??[];a(L)},[a,m]),h=(0,V.useCallback)((g,y)=>{if(Ve(e.field)){t(()=>{y({value:g})},500);return}let L=Rt(g,c,e.field.advanced?.entity);y(L)},[t,e.field,c]),H=(0,V.useCallback)(g=>{let y=g.target.value;if(n.current&&(n.current=!1,!Ve(e.field)||y===o))return;i(y),e.config.validation.change&&E(y);let L=e.field.event?.change;L&&h(y,Q=>{or(L,({sources:En,values:Cn})=>{r(()=>{ir(Q,En,(Ie,ke)=>d(Ie,ke)),lr(Q,Cn,(Ie,ke)=>{l(Fn=>({...Fn,[Ie]:ke}))})})})})},[h,e.config.validation.change,e.field,d,i,l,n,E,o]),R=(0,V.useCallback)(g=>{if(de(e.field))return;let y=g.target.value;e.config.validation.blur&&E(y)},[e.field,e.config.validation.blur,E]);return xe(e.config.inputs[e.field.type],g=>(0,Ge.jsx)(Tr,{field:e.field,children:(0,Ge.jsx)(g,{...T,...e.ariaAttributes,...e.dataAttributes,...J,onBlur:R,onChange:H})}))}var Gr=require("tailwind-merge"),Xe=require("react/jsx-runtime");function Xr(e){let t=qt(e.column?.advanced?.cols);return(0,Xe.jsx)("div",{className:"flex w-full flex-col gap-4",children:(0,Xe.jsx)("div",{className:(0,Gr.twMerge)("grid grid-cols-1 gap-8 sm:gap-4",t),children:e.children})})}var Ye=require("react/jsx-runtime");function Yr(e){return!e.errors||e.errors.length===0?null:(0,Ye.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,Ye.jsx)("li",{children:t},e.name?`${e.name}-error-${r}`:r))})}var Hr=require("tailwind-merge"),qr=require("react/jsx-runtime");function Ce(e){let t=e.errors&&e.errors.length>0;return(0,qr.jsx)("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[ft]:"true"},...e.disabled&&{[pt]:"true"},"data-orientation":e.orientation,className:(0,Hr.twMerge)("group flex w-full flex-col items-center data-[invalid=true]:text-red-600 data-[invalid=true]:dark:text-red-500","data-[clickable=true]:items-start",e.isCheckbox&&"flex-row-reverse!","data-[clickable=true]:has-[>[data-slot=field-content]]:[&>:first-child]:mt-px",$t(e.cols),e.className),children:e.children})}var $r=require("tailwind-merge"),Wr=require("react/jsx-runtime");function Zr(e){return(0,Wr.jsx)(Ce,{...e,orientation:C,className:(0,$r.twMerge)("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}var Kr=require("tailwind-merge"),jr=require("react/jsx-runtime");function zr(e){return(0,jr.jsx)(Ce,{...e,orientation:U,className:(0,Kr.twMerge)("gap-2 md:flex-row md:gap-4","[&>[data-slot=field-content]]:min-w-0 [&>[data-slot=field-content]]:flex-grow [&>[data-slot=field-content]]:self-start","[&_[role=checkbox]]:mt-[1.5px]",e.isClickable&&"md:flex-col",!e.isClickable&&["md:justify-between","[&>*:not([data-slot=field-content])]:w-full","[&>*:not([data-slot=field-content])]:md:w-1/2","[&>*:not([data-slot=field-content])]:xl:w-2/5"]),children:e.children})}var He=require("react/jsx-runtime");function Jr(e){let t=de(e.field),r=f(e.field);return e.orientation===C?(0,He.jsx)(Zr,{cols:e.cols,disabled:e.disabled,errors:e.errors,isCheckbox:r,isClickable:t,children:e.children}):(0,He.jsx)(zr,{cols:e.cols,disabled:e.disabled,errors:e.errors,isCheckbox:r,isClickable:t,children:e.children})}var Fe=Le();function Qr(e){if(p(e))return fo(e)}function fo(e){if(ce(e))return Zt();if(se(e)){let t=e.advanced?.length?.min??Fe,r=e.advanced?.length?.max??Fe+5;return Wt(Me(t,Fe),Me(r,Fe))}}function en(e,t=!1){let r={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return we(e)?{...r,...po(e)}:p(e)?{...r,...go(e)}:De(e)?{...r,...yo(e)}:r}function po(e){let t=Et(e.type),r={...e,type:t};return{...tn(e),...bo(r),...Nt(r)?rn(r):{},type:t}}function go(e){let t=Qr(e);return t?{options:t}:{}}function yo(e){return{...tn(e),...rn(e)}}function tn(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function bo(e){return ue(e)?xo(e):{}}function rn(e){return nn(e,{min:bt,max:xt})}function xo(e){return nn(e,{min:ne,max:oe})}function nn(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 on(e,t){let r=Gt(e.advanced?.aria);return t&&t.length>0&&(r[mt]="true",r[dt]=`${e.name}-error`),r}function ln(e){return Xt(e.advanced?.data)}function an(e){if(!e.field.type)return null;let t=en(e.field,e.disabled),r=ln(e.field),n=on(e.field,e.errors),o={...e.field,disabled:t.disabled};return e.children({ariaAttributes:n,commonProps:t,dataAttributes:r,field:o})}var G=require("react/jsx-runtime");function cn(e){let t=e.field.advanced?.cols,r=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:n}=ge(e.style,{orientation:me(e.field)}),o=wt(e.field,e.disabled);return(0,G.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,G.jsx)(Jr,{cols:t,disabled:o,errors:r,field:e.field,orientation:n,children:(0,G.jsx)(an,{disabled:o,errors:r,field:e.field,children:e.children})}),(0,G.jsx)(Yr,{errors:r,name:e.field.name})]})}var sn=require("jotai"),dn=require("react/jsx-runtime");function un(e){return r=>{let n=(0,sn.useAtomValue)(Se(r.field.name));return(0,dn.jsx)(e,{...r,errors:n?{[r.field.name]:n}:void 0})}}var mn=un(cn);var fn=require("react"),X=require("react/jsx-runtime");function qe(e){let t=pe(e.fields),{column:r,field:n}=e.components;return t.map((o,i)=>(0,X.jsxs)(fn.Fragment,{children:[kt(o)&&(0,X.jsx)(r,{column:o,children:(0,X.jsx)(qe,{...e,fields:o.fields})}),vt(o)&&(0,X.jsx)(n,{disabled:e.disabled,field:o,style:e.style,children:e.children})]},i))}var gn=require("react/jsx-runtime"),pn=e=>(0,gn.jsx)(qe,{...e,components:{column:Xr,field:mn}});var Ze=require("jotai");var j=require("react");function bn(e,t,r){let{onSuccess:n,preserveValues:o=!1,validation:i=!0}=r??{},l=(0,Ze.useSetAtom)(Ar),a=(0,Ze.useSetAtom)(Vr),m={data:null,error:null,success:!1},[c,d,T]=(0,j.useActionState)(async(Y,J)=>{let E=Kt(e());if(i===!1)return t?await t(J,E):Y;let h=Ct(J),H=E.safeParse(h);if(!H.success){let R=zt(H.error);return(0,j.startTransition)(()=>{l(R)}),$e(h,{description:"Please correct the errors and try again.",details:[],title:"There were validation errors submitting the form."})}if(t)try{let R=await t(h,E);return R.success?(n?.(R.data),o||(0,j.startTransition)(()=>{a()}),yn(h,o)):$e(h,R.error)}catch(R){return $e(h,{title:"An unexpected error occurred submitting the form.",details:To(R)})}return yn(H.data,o)},m);return[d,c,T]}function To(e){let t=e instanceof Error?e.message:["Unknown error"];return Array.isArray(t)?t:[t]}function yn(e,t=!1){return{data:t?e:null,error:null,success:!0}}function $e(e,t){return{data:e,error:t,success:!1}}var k=require("react");var xn=require("react"),Ne=require("jotai");function Tn(){let e=(0,Ne.useSetAtom)(Sr),t=(0,Ne.useSetAtom)(Nr),r=(0,Ne.useSetAtom)(Lr);return(0,xn.useCallback)(n=>{let o=Array.isArray(n)?n:[n];e(o),t(o),r(o)},[e,t,r])}function hn(){let e=Tn(),t=(0,k.useRef)({}),r=(0,k.useRef)(new Set),n=(0,k.useCallback)((l,a)=>{l in t.current||(t.current[l]=a)},[]),o=(0,k.useCallback)(l=>{t.current[l]&&(delete t.current[l],r.current.add(l),(0,k.startTransition)(()=>{r.current.size>0&&(e(Array.from(r.current)),r.current.clear())}))},[e]);function i(){return t.current}return[i,n,o]}var x=require("react/jsx-runtime");function Rn(e){let[t,r,n]=hn(),[o,i,l]=bn(t,e.action,{onSuccess:e.onSuccess,validation:e.config.validation.submit}),a=e.config.validation.showError&&!i.success&&i.error,m=i.data??e.value;return(0,x.jsxs)(x.Fragment,{children:[a&&xe(e.config.alert,c=>(0,x.jsx)("div",{className:"mb-4 w-full",children:(0,x.jsx)(c,{description:i.error?.description,details:i.error?.details,title:i.error.title})})),(0,x.jsx)(mr,{action:o,config:e.config,control:e.children,definition:e.definition,isPending:l,noValidate:!0,readOnly:e.readOnly,sections:e.sections,children:({disabled:c,fields:d})=>(0,x.jsx)(pn,{disabled:c,fields:d,style:e.config.style,children:T=>(0,x.jsx)(Br,{...T,config:e.config,onMount:r,onUnmount:n,value:m})})})]})}var Sn=require("jotai"),We=require("react/jsx-runtime");function An(e){return(0,We.jsx)(Sn.Provider,{children:(0,We.jsx)(Rn,{...e})})}
|
package/dist/client/esm/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as Jr}from"react/jsx-runtime";function ke(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return Jr("div",{"data-slot":"field-control",className:"w-full",children:t})}import{jsx as Qr}from"react/jsx-runtime";function V(e){return Qr("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 H="input",ve="input/email",Pe="input/number";var Oe="textarea",we="radio",De="checkbox",Ve="select",Le="select/month",Me="select/year";var ge="column";var _e="label",v="value",q="options",ye="email",Ue="number",Be="password",Ge="tel",L="text",Xe="aria-errormessage",Ye="aria-invalid",He="data-invalid",qe="data-readonly",$e="aria",Ze="data",$="min",Z="max",We="minLength",Ke="maxLength",P="$ref",ze="source";var W="http://luna.internal",A="vertical",O="horizontal";function s(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function K(e){return e==null||e===""}function E(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function F(e){return typeof e=="string"}function je(e){return s(e)&&"url"in e}var en=/[^/]+$/;function Je(e,t=[],r=v){if(Array.isArray(t))return t.find(n=>{let o=be(n,r);if(o!==void 0&&`${o}`===e)return n})??{value:e}}function be(e,t=v){if(e!=null){if(E(e))return e;if(s(e)){let r=tn(e,t);if(E(r))return r}}}function tn(e,t){let r=C(e,t);if(E(r))return r}function Qe(e,t){if(Array.isArray(e))return e;let r=C(e,t);return Array.isArray(r)?r:null}function C(e,t){if(!t||!s(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(s(n)&&o in n)n=n[o];else return null;return n}function et(e,t={label:_e,value:v}){return e.map(r=>{if(s(r)){let n=C(r,t.label),o=C(r,t.value);if(E(n)&&E(o))return{label:`${n}`,value:`${o}`}}return r})}function tt(e=L){if(e){let t=e.match(en);if(t){let[r]=t;if(r!==H)return r.trim().toLowerCase()}}return L}function rt(e){let t={};for(let r of e.keys()){let n=e.getAll(r);t[r]=n.length>1?n:n[0]}return t}var rn=/\[([^\]]+)\]\(([^)]+)\)/g;function N(e,t={}){if(F(e))return nn(e,t);if(Array.isArray(e))return e.map(r=>N(r,t));if(s(e)){let r={};for(let n in e)r[n]=N(e[n],t);return r}return e}function z(e){return F(e)?/{([^}]+)}/.test(e):Array.isArray(e)?e.some(t=>z(t)):s(e)?Object.values(e).some(t=>z(t)):!1}function nn(e,t={}){return e.replace(/{([^}]+)}/g,(r,n)=>{let o=n.includes(".")?C(t,n):t[n];return E(o)?String(o):r})}function nt(e,t){if(!e||e.trim().length===0)return null;let r,n=0,o=!1,i=[];for(;(r=rn.exec(e))!==null;){let[l,a,m]=r,c=r.index;o=!0,c>n&&i.push(e.substring(n,c));let d=t?t(c,m,a):l;i.push(d),n=c+l.length}return o?(n<e.length&&i.push(e.substring(n)),i):e}var j=e=>y(Le)(e),J=e=>y(Me)(e),f=y(De),xe=y(H),R=y(we),p=y(Ve),Te=y(Oe),ot=y(L,ye,Be,Ge),it=y(ve,ye),Q=y(Pe,Ue);function ee(e){return R(e)||f(e)}function lt(e){return e.type===ge}function at(e){return e.type!==ge}function ct(e){return p(e)||R(e)}function st(e){return xe(e)||Te(e)}function M(e){return e!=null&&e!==""}function y(...e){return t=>{let r=F(t.type)?t.type:void 0;return r?e.some(n=>r===n||r?.startsWith(`${n}/`)):!1}}function ut(e,t={}){if(p(e)&&e.disabled){let r=e.name?t?.[e.name]:void 0;if(r&&s(r))return[r]}}function te(e){return R(e)||f(e)?O:e.advanced?.orientation??A}function dt(e,t){let r=e.readonly??!1;return t||r}function mt(e){if(R(e)||p(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||s(t)&&!(P in t))return t}}function ft(e,t){let r=mt(e);return r||ut(e,t)}function on(e,t){let r=s(t)&&e.name in t?t[e.name]:t;return be(r,e.advanced?.entity)}function ln(e,t,r){return ct(e)&&Array.isArray(r)?{...t,[q]:r}:t}function an(e,t,r){if(e.required&&!M(r)&&p(e)&&e.advanced?.preselected!==!1&&q in t){let n=t[q];if(Array.isArray(n)&&n.length===1)return n[0]}return r}function cn(e,t){return p(e)&&Array.isArray(t)?et(t,e.advanced?.options):t}function pt(e,t,r,n){let o=on(e,n),i=Array.isArray(r)?cn(e,r):r,l=ln(e,t,i),a=an(e,l,o);return{commonPropsWithOptions:l,defaultValue:a}}function gt(e,t){return f(e)?{checked:M(t)?t:!1}:{value:t??""}}var sn=/^#\/definition\//;function ne(e=[],t){let r=re(e,t);return Array.isArray(r)?r.filter(n=>n.hidden!==!0).sort((n,o)=>yt(n)-yt(o)):[]}function re(e,t,r=new Map,n=new WeakSet){if(!un(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=>re(i,t,r,n));if(P in e&&F(e[P])){let i=e[P].replace(sn,""),l=C(t,i);return l!==null?re(l,t,r,n):e}let o={};for(let[i,l]of Object.entries(e))o[i]=re(l,t,r,n);return n.delete(e),r.set(e,o),o}function bt(e){return Object.entries(e??{})}function yt(e){return e.order??Number.MAX_VALUE}function un(e){return e!==void 0&&s(e)&&Object.keys(e).length>0}function xt(e,t){let r={};for(let[n,o]of bt(t))r[`${e}-${n}`]=o;return r}function Tt(e){return xt($e,e)}function ht(e){return xt(Ze,e)}var Rt={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},St={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function At(e,t=2){return Rt[e&&e in Rt?e:t]}function Et(e){if(e&&e in St)return St[e]}var dn=/^\d+$/;function Ct(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function Ft(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 he(){return new Date().getFullYear()}function Re(e,t){if(typeof e=="number")return e;let r=t??he(),n=e.trim().toLowerCase();if(n.startsWith("current")){let o=n.match(/^current([+-])(\d+)$/);if(o){let[,i,l]=o,a=parseInt(l,10);if(!isNaN(a))return i==="+"?r+a:r-a}return r}return dn.test(n)?parseInt(n,10):r}import{z as u}from"zod";var mn=[[Q,bn],[it,fn],[J,xn],[j,Tn],[f,pn],[R,gn]];function Nt(e){return u.object(e)}function It(e){let t={},r=u.flattenError(e).fieldErrors;for(let[n,o]of Object.entries(r))o!==void 0&&(t[n]=o);return t}function kt(e){for(let[t,r]of mn)if(t(e))return r(e);return yn(e)}function fn(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(n=>K(n)?"":n,r)}return t.pipe(u.email(e.validation?.email)).or(u.literal("")).nullable()}function pn(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 gn(e){let t=u.coerce.string();return e.required?(t=t.min(1,e.validation?.required),u.preprocess(r=>K(r)?"":r,t)):t.or(u.literal("")).nullable()}function yn(e){let t=u.coerce.string().trim();return t=vt(t,e),e.required?(t=Pt(t,e),u.preprocess(r=>K(r)?"":r,t)):t.nullable()}function bn(e){let t=u.coerce.number().int();return t=vt(t,e),e.required?(t=Pt(t,e),u.preprocess(r=>r===null?void 0:r,t)):t.nullable()}function xn(e){if(e.required){let t=u.coerce.number({message:e.validation?.required}).int();return u.preprocess(hn,t)}return u.coerce.number().int().nullable()}function Tn(e){let t=u.coerce.number().int().min(1,e.validation?.required).max(12,e.validation?.required);return e.required?t:t.nullable()}function hn(e){return e===null||e===""?void 0:e}function vt(e,t){return e=Rn(e,t),e=Sn(e,t),e}function Pt(e,t){let r=t.advanced?.length?.min;return r===void 0||r<1?e.min(1,t.validation?.required):e}var Rn=(e,t)=>Ot(e,t,$),Sn=(e,t)=>Ot(e,t,Z);function Ot(e,t,r){let n=t.advanced?.length?.[r];return n!==void 0?e[r](n,t.validation?.length?.[r]):e}function oe(e,t){return{...e,...t}}function wt(e,t){if(!t||!En(e))return!0;if(t.length===0)return!1;try{let r=new URL(e),n=r.protocol.replace(":",""),o=r.hostname,i=r.port||An(n);return t.some(l=>!(l.protocol&&l.protocol!==n||l.hostname&&l.hostname!==o||l.port!==void 0&&String(l.port)!==i))}catch{return!1}}function An(e){return e==="https"?"443":"80"}function En(e){return/^(https?:)?\/\//.test(e)}function Dt(e,t){try{if(!e)return t;if(!t)return e;let r=new URL(e,W);new URL(t,W).searchParams.forEach((i,l)=>{r.searchParams.set(l,i)});let o=r.toString();return e.startsWith("/")||!e.includes("://")?o.replace(W,""):o}catch{return t||e}}function Vt(e){return!Array.isArray(e)||e.length===0?null:e.reduce((t,r)=>{let n=Dt(t.url,r.url),o=Cn(t,r),i=Fn(t,r);return{...t,...r,url:n,body:o,headers:i}})}function Cn(e,t){return s(t.body)&&s(e?.body)?{...e.body,...t.body}:t.body??e?.body}function Fn(e,t){return s(t.headers)&&s(e?.headers)?{...e.headers,...t.headers}:t.headers??e?.headers}function Lt(e=[],t){let r=[],n=[];e.forEach(o=>{o.action===v&&r.push(o),o.action===ze&&n.push(o)}),t({sources:n,values:r})}function Mt(e=null,t=[],r){t.forEach(n=>{let{target:o,source:i}=n;if(!e){r(o,void 0);return}if(je(i)){let l=N(i.url,e),a=i.body?N(i.body,e):i.body;r(o,{...i,url:l,body:a})}})}function _t(e=null,t=[],r){t.forEach(n=>{Object.entries(n.value).forEach(([o,i])=>{r(o,e?N(i,e):void 0)})})}import{jsx as Nn}from"react/jsx-runtime";function _(e){return nt(e,(t,r,n)=>Nn("a",{className:"underline",href:r,rel:"noopener noreferrer",target:"_blank",children:n},`${r}-${t}`))}import{Fragment as In,jsx as Ut,jsxs as kn}from"react/jsx-runtime";function Bt(e){return kn(In,{children:[e.title&&Ut("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:_(e.title)}),e.description&&Ut("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:_(e.description)})]})}import{jsx as Se,jsxs as vn}from"react/jsx-runtime";function Gt(e){let t=e.section.fields||[],{compact:r}=oe(e.style,{compact:e.section.compact});return!e.section.title&&!e.section.description?Se(V,{compact:r,children:e.children}):vn("fieldset",{"data-slot":"field-set","data-empty":t.length===0,className:"flex flex-col data-[empty=false]:gap-6",children:[Se(Bt,{description:e.section.description,title:e.section.title}),Se(V,{compact:r,children:e.children})]})}import{Fragment as Pn}from"react";import{jsx as Xt}from"react/jsx-runtime";function Yt(){return Xt("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:Xt("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}import{jsx as U,jsxs as Ht}from"react/jsx-runtime";function qt(e){let t=ne(e.sections,e.definition);return U("div",{className:"h-full w-full",children:U("form",{noValidate:e.noValidate,action:e.action,children:Ht(V,{children:[t.map((r,n)=>Ht(Pn,{children:[U(Gt,{section:r,style:e.config.style,children:e.children({disabled:e.readOnly,fields:r.fields})}),r.separator&&U(Yt,{})]},n)),e.control&&U(ke,{isPending:e.isPending,children:e.control})]})})})}import{jsx as On}from"react/jsx-runtime";function $t(e){return On("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}import{jsx as wn}from"react/jsx-runtime";function ie(e){let t=_(e.text);return t?wn($t,{children:t}):null}import{twMerge as Dn}from"tailwind-merge";import{jsx as Vn,jsxs as Ln}from"react/jsx-runtime";function Zt(e){let t=R(e.field)||f(e.field);return Ln("label",{"data-slot":"field-label","data-normal":t,className:Dn("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&&Vn("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:"(Optional)"})]})}import{jsx as Wt,jsxs as Mn}from"react/jsx-runtime";function Kt(e){return Mn("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[Wt(Zt,{field:e.field,children:e.field.label}),e.orientation===O&&Wt(ie,{text:e.field.description})]})}import{Fragment as _n,jsx as zt,jsxs as Un}from"react/jsx-runtime";function jt(e){let t=te(e.field);return Un(_n,{children:[e.field.name&&e.field.label&&zt(Kt,{field:e.field,orientation:t}),e.children,t===A&&e.field.description&&zt(ie,{text:e.field.description})]})}function le(e,t){return e?t(e):null}import{atom as I}from"jotai";import{atomFamily as Jt}from"jotai-family";import{deepEqual as Ae}from"fast-equals";function Bn(e){return Jt(t=>I(r=>r(e)[t]??void 0,(r,n,o)=>{let i=r(e);if(o!=null){let l=i[t];(!l||!Ae(l,o))&&n(e,{...i,[t]:o})}else if(i[t]){let{[t]:l,...a}=i;n(e,a)}}))}function Gn(e){return I(null,(t,r)=>{let n=t(e);n&&Object.keys(n).length>0&&r(e,{})})}function Xn(e){return I(null,(t,r,n)=>{let i={...t(e)},l=!1;for(let a of n)i[a]&&(delete i[a],l=!0);l&&r(e,i)})}function Yn(e){return I(null,(t,r,n)=>{let o=t(e);Ae(o,n)||r(e,n)})}function Qt(e,t={}){let{merge:r,validateTarget:n}=t;return Jt(o=>I(i=>{let l=i(e)[o];if(l&&r)return r(Object.values(l))},(i,l,a,m)=>{if(n&&!n(a))return;let c=i(e),d={...c[a]??{}};if(m!=null){let b=d[o];(!b||!Ae(b,m))&&(d[o]=m,l(e,{...c,[a]:d}))}else if(d[o])if(delete d[o],Object.keys(d).length===0){let{[a]:b,...w}=c;l(e,w)}else l(e,{...c,[a]:d})}))}function er(e){return I(null,(t,r,n)=>{let i={...t(e)},l=!1;for(let a of n)i[a]&&(delete i[a],l=!0);for(let a in i){let m={...i[a]},c=!1;for(let d of n)m[d]&&(delete m[d],c=!0,l=!0);c&&(Object.keys(m).length===0?delete i[a]:i[a]=m)}l&&r(e,i)})}function ae(e={}){let t=I(e);return{atom:t,clearAll:Gn(t),clear:Xn(t),bulkReport:Yn(t),report:Bn(t)}}var ce=ae(),Rl=ce.atom,tr=ce.clear,rr=ce.bulkReport,se=ce.report;import{useCallback as ue,useTransition as to}from"react";import{atom as Hn}from"jotai";var nr=Hn({}),or=Qt(nr,{merge:e=>{let t=Vt(e);if(t)return t},validateTarget:e=>e.trim()!==""}),ir=er(nr);import{useAtom as Zn}from"jotai";import qn from"swr";function lr(e=null,t,r=!1){let{data:n,error:o}=qn($n(e,t,r),t.fetcher.provider);if(o&&console.error("Error fetching data source:",o),e){if(Array.isArray(e))return[e];if(n)return[Qe(n,e.namespace)]}return[null]}function $n(e=null,t,r=!1){if(e&&!Array.isArray(e)&&!r&&e.url&&!z(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 ar(e,t,r){let n=ft(e,r),[o,i]=Zn(or(e.name)),l=o??n,[a]=lr(l,t,e.disabled);return[a,i]}import{useEffect as Wn,useEffectEvent as cr,useMemo as Kn}from"react";function sr(e,t,r){let n=Kn(()=>kt(e),[e]),o=cr(l=>{l&&t(l,n)}),i=cr(l=>{l&&r(l)});return Wn(()=>(o(e.name),()=>{i(e.name)}),[e.name]),[n]}import{useSetAtom as yr}from"jotai";import{useEffect as zn,useRef as jn}from"react";function ur(){let e=jn(null);zn(()=>{let n=e.current;return()=>{n&&clearTimeout(n)}},[]);function t(){e.current&&(clearTimeout(e.current),e.current=null)}function r(n,o){t(),e.current=setTimeout(n,o)}return[r,t]}var B=ae(),dr=B.atom,mr=B.clearAll,fr=B.clear,Gl=B.bulkReport,pr=B.report;import{useAtom as Jn}from"jotai";import{useEffect as Qn,useRef as eo}from"react";function gr(e,t){let r=eo(!1),[n,o]=Jn(pr(e.name));return Qn(()=>{if(!t||!(e.name in t))return;let i=t[e.name];M(i)&&(r.current=!0,o(i))},[e.name,t,o]),{value:n,setValue:o,skipNextOnChangeRef:r}}import{jsx as br}from"react/jsx-runtime";function xr(e){let[t]=ur(),[,r]=to(),{skipNextOnChangeRef:n,value:o,setValue:i}=gr(e.field,e.value),l=yr(dr),a=yr(se(e.field.name)),[m]=sr(e.field,e.onMount,e.onUnmount),[c,d]=ar(e.field,e.config,o),{commonPropsWithOptions:b,defaultValue:w}=pt(e.field,e.commonProps,c,o),X=gt(e.field,w),S=ue(g=>{let k=m.safeParse(g).error?.issues.map(Y=>Y.message)??[];a(k)},[a,m]),x=ue((g,h)=>{if(st(e.field)){t(()=>{h({value:g})},500);return}let k=Je(g,c,e.field.advanced?.entity);h(k)},[t,e.field,c]),D=ue(g=>{if(n.current){n.current=!1;return}let h=g.target.value;i(h),e.config.validation.change&&S(h);let k=e.field.event?.change;k&&x(h,Y=>{Lt(k,({sources:Kr,values:zr})=>{r(()=>{Mt(Y,Kr,(fe,pe)=>d(fe,pe)),_t(Y,zr,(fe,pe)=>{l(jr=>({...jr,[fe]:pe}))})})})})},[x,e.config.validation.change,e.field,d,i,l,n,S]),T=ue(g=>{if(ee(e.field))return;let h=g.target.value;e.config.validation.blur&&S(h)},[e.field,e.config.validation.blur,S]);return le(e.config.inputs[e.field.type],g=>br(jt,{field:e.field,children:br(g,{...b,...e.ariaAttributes,...e.dataAttributes,...X,onBlur:T,onChange:D})}))}import{twMerge as ro}from"tailwind-merge";import{jsx as Tr}from"react/jsx-runtime";function hr(e){let t=At(e.column?.advanced?.cols);return Tr("div",{className:"flex w-full flex-col gap-4",children:Tr("div",{className:ro("grid grid-cols-1 gap-8 sm:gap-4",t),children:e.children})})}import{jsx as Rr}from"react/jsx-runtime";function Sr(e){return!e.errors||e.errors.length===0?null:Rr("ul",{className:"text-sm text-red-600 dark:text-red-500",id:e.name?`${e.name}-error`:void 0,children:e.errors?.map((t,r)=>Rr("li",{children:t},e.name?`${e.name}-error-${r}`:r))})}import{twMerge as no}from"tailwind-merge";import{jsx as oo}from"react/jsx-runtime";function de(e){let t=e.errors&&e.errors.length>0;return oo("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[He]:"true"},...e.disabled&&{[qe]:"true"},"data-orientation":e.orientation,className:no("group flex w-full flex-col items-center data-[invalid=true]:text-red-600 data-[invalid=true]:dark:text-red-500","data-[clickable=true]:items-start",e.isCheckbox&&"flex-row-reverse!","data-[clickable=true]:has-[>[data-slot=field-content]]:[&>:first-child]:mt-px",Et(e.cols),e.className),children:e.children})}import{twMerge as io}from"tailwind-merge";import{jsx as lo}from"react/jsx-runtime";function Ar(e){return lo(de,{...e,orientation:A,className:io("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}import{twMerge as ao}from"tailwind-merge";import{jsx as co}from"react/jsx-runtime";function Er(e){return co(de,{...e,orientation:O,className:ao("gap-2 md:flex-row md:gap-4","[&>[data-slot=field-content]]:min-w-0 [&>[data-slot=field-content]]:flex-grow [&>[data-slot=field-content]]:self-start","[&_[role=checkbox]]:mt-[1.5px]",e.isClickable&&"md:flex-col",!e.isClickable&&["md:justify-between","[&>*:not([data-slot=field-content])]:w-full","[&>*:not([data-slot=field-content])]:md:w-1/2","[&>*:not([data-slot=field-content])]:xl:w-2/5"]),children:e.children})}import{jsx as Cr}from"react/jsx-runtime";function Fr(e){let t=ee(e.field),r=f(e.field);return e.orientation===A?Cr(Ar,{cols:e.cols,disabled:e.disabled,errors:e.errors,isCheckbox:r,isClickable:t,children:e.children}):Cr(Er,{cols:e.cols,disabled:e.disabled,errors:e.errors,isCheckbox:r,isClickable:t,children:e.children})}var me=he();function Nr(e){if(p(e))return so(e)}function so(e){if(j(e))return Ct();if(J(e)){let t=e.advanced?.length?.min??me,r=e.advanced?.length?.max??me+5;return Ft(Re(t,me),Re(r,me))}}function Ir(e,t=!1){let r={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return xe(e)?{...r,...uo(e)}:p(e)?{...r,...mo(e)}:Te(e)?{...r,...fo(e)}:r}function uo(e){let t=tt(e.type),r={...e,type:t};return{...kr(e),...po(r),...ot(r)?vr(r):{},type:t}}function mo(e){let t=Nr(e);return t?{options:t}:{}}function fo(e){return{...kr(e),...vr(e)}}function kr(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function po(e){return Q(e)?go(e):{}}function vr(e){return Pr(e,{min:We,max:Ke})}function go(e){return Pr(e,{min:$,max:Z})}function Pr(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 Or(e,t){let r=Tt(e.advanced?.aria);return t&&t.length>0&&(r[Ye]="true",r[Xe]=`${e.name}-error`),r}function wr(e){return ht(e.advanced?.data)}function Dr(e){if(!e.field.type)return null;let t=Ir(e.field,e.disabled),r=wr(e.field),n=Or(e.field,e.errors),o={...e.field,disabled:t.disabled};return e.children({ariaAttributes:n,commonProps:t,dataAttributes:r,field:o})}import{jsx as Ee,jsxs as yo}from"react/jsx-runtime";function Vr(e){let t=e.field.advanced?.cols,r=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:n}=oe(e.style,{orientation:te(e.field)}),o=dt(e.field,e.disabled);return yo("div",{className:"flex flex-col gap-3",children:[Ee(Fr,{cols:t,disabled:o,errors:r,field:e.field,orientation:n,children:Ee(Dr,{disabled:o,errors:r,field:e.field,children:e.children})}),Ee(Sr,{errors:r,name:e.field.name})]})}import{useAtomValue as bo}from"jotai";import{jsx as xo}from"react/jsx-runtime";function Lr(e){return r=>{let n=bo(se(r.field.name));return xo(e,{...r,errors:n?{[r.field.name]:n}:void 0})}}var Mr=Lr(Vr);import{Fragment as To}from"react";import{jsx as Ce,jsxs as ho}from"react/jsx-runtime";function Fe(e){let t=ne(e.fields),{column:r,field:n}=e.components;return t.map((o,i)=>ho(To,{children:[lt(o)&&Ce(r,{column:o,children:Ce(Fe,{...e,fields:o.fields})}),at(o)&&Ce(n,{disabled:e.disabled,field:o,style:e.style,children:e.children})]},i))}import{jsx as Ro}from"react/jsx-runtime";var _r=e=>Ro(Fe,{...e,components:{column:hr,field:Mr}});import{useSetAtom as Ur}from"jotai";import{startTransition as Br,useActionState as So}from"react";function Xr(e,t,r){let{onSuccess:n,preserveValues:o=!1,validation:i=!0}=r??{},l=Ur(rr),a=Ur(mr),m={data:null,error:null,success:!1},[c,d,b]=So(async(w,X)=>{let S=Nt(e());if(i===!1)return t?await t(X,S):w;let x=rt(X),D=S.safeParse(x);if(!D.success){let T=It(D.error);return Br(()=>{l(T)}),Ne(x,{description:"Please correct the errors and try again.",details:[],title:"There were validation errors submitting the form."})}if(t)try{let T=await t(x,S);return T.success?(n?.(T.data),o||Br(()=>{a()}),Gr(x,o)):Ne(x,T.error)}catch(T){return Ne(x,{title:"An unexpected error occurred submitting the form.",details:Ao(T)})}return Gr(D.data,o)},m);return[d,c,b]}function Ao(e){let t=e instanceof Error?e.message:["Unknown error"];return Array.isArray(t)?t:[t]}function Gr(e,t=!1){return{data:t?e:null,error:null,success:!0}}function Ne(e,t){return{data:e,error:t,success:!1}}import{startTransition as Co,useCallback as Hr,useRef as qr}from"react";import{useCallback as Eo}from"react";import{useSetAtom as Ie}from"jotai";function Yr(){let e=Ie(tr),t=Ie(ir),r=Ie(fr);return Eo(n=>{let o=Array.isArray(n)?n:[n];e(o),t(o),r(o)},[e,t,r])}function $r(){let e=Yr(),t=qr({}),r=qr(new Set),n=Hr((l,a)=>{l in t.current||(t.current[l]=a)},[]),o=Hr(l=>{t.current[l]&&(delete t.current[l],r.current.add(l),Co(()=>{r.current.size>0&&(e(Array.from(r.current)),r.current.clear())}))},[e]);function i(){return t.current}return[i,n,o]}import{Fragment as Fo,jsx as G,jsxs as No}from"react/jsx-runtime";function Zr(e){let[t,r,n]=$r(),[o,i,l]=Xr(t,e.action,{onSuccess:e.onSuccess,validation:e.config.validation.submit}),a=e.config.validation.showError&&!i.success&&i.error,m=i.data??e.value;return No(Fo,{children:[a&&le(e.config.alert,c=>G("div",{className:"mb-4 w-full",children:G(c,{description:i.error?.description,details:i.error?.details,title:i.error.title})})),G(qt,{action:o,config:e.config,control:e.children,definition:e.definition,isPending:l,noValidate:!0,readOnly:e.readOnly,sections:e.sections,children:({disabled:c,fields:d})=>G(_r,{disabled:c,fields:d,style:e.config.style,children:b=>G(xr,{...b,config:e.config,onMount:r,onUnmount:n,value:m})})})]})}import{Provider as Io}from"jotai";import{jsx as Wr}from"react/jsx-runtime";function ko(e){return Wr(Io,{children:Wr(Zr,{...e})})}export{ko as Form};
|
|
1
|
+
import{jsx as Jr}from"react/jsx-runtime";function ve(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return Jr("div",{"data-slot":"field-control",className:"w-full",children:t})}import{jsx as Qr}from"react/jsx-runtime";function V(e){return Qr("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 H="input",Pe="input/email",Oe="input/number";var we="textarea",De="radio",Ve="checkbox",Le="select",Me="select/month",_e="select/year";var ge="column";var Ue="label",v="value",q="options",ye="email",Be="number",Ge="password",Xe="tel",L="text",Ye="aria-errormessage",He="aria-invalid",qe="data-invalid",$e="data-readonly",Ze="aria",We="data",$="min",Z="max",Ke="minLength",ze="maxLength",P="$ref",je="source";var W="http://luna.internal",A="vertical",O="horizontal";function s(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function K(e){return e==null||e===""}function E(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function F(e){return typeof e=="string"}function Je(e){return s(e)&&"url"in e}var en=/[^/]+$/;function Qe(e,t=[],r=v){if(Array.isArray(t))return t.find(n=>{let o=be(n,r);if(o!==void 0&&`${o}`===e)return n})??{value:e}}function be(e,t=v){if(e!=null){if(E(e))return e;if(s(e)){let r=tn(e,t);if(E(r))return r}}}function tn(e,t){let r=C(e,t);if(E(r))return r}function et(e,t){if(Array.isArray(e))return e;let r=C(e,t);return Array.isArray(r)?r:null}function C(e,t){if(!t||!s(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(s(n)&&o in n)n=n[o];else return null;return n}function tt(e,t={label:Ue,value:v}){return e.map(r=>{if(s(r)){let n=C(r,t.label),o=C(r,t.value);if(E(n)&&E(o))return{label:`${n}`,value:`${o}`}}return r})}function rt(e=L){if(e){let t=e.match(en);if(t){let[r]=t;if(r!==H)return r.trim().toLowerCase()}}return L}function nt(e){let t={};for(let r of e.keys()){let n=e.getAll(r);t[r]=n.length>1?n:n[0]}return t}var rn=/\[([^\]]+)\]\(([^)]+)\)/g;function N(e,t={}){if(F(e))return nn(e,t);if(Array.isArray(e))return e.map(r=>N(r,t));if(s(e)){let r={};for(let n in e)r[n]=N(e[n],t);return r}return e}function z(e){return F(e)?/{([^}]+)}/.test(e):Array.isArray(e)?e.some(t=>z(t)):s(e)?Object.values(e).some(t=>z(t)):!1}function nn(e,t={}){return e.replace(/{([^}]+)}/g,(r,n)=>{let o=n.includes(".")?C(t,n):t[n];return E(o)?String(o):r})}function ot(e,t){if(!e||e.trim().length===0)return null;let r,n=0,o=!1,i=[];for(;(r=rn.exec(e))!==null;){let[l,a,m]=r,c=r.index;o=!0,c>n&&i.push(e.substring(n,c));let d=t?t(c,m,a):l;i.push(d),n=c+l.length}return o?(n<e.length&&i.push(e.substring(n)),i):e}var j=e=>b(Me)(e),J=e=>b(_e)(e),f=b(Ve),xe=b(H),R=b(De),p=b(Le),Te=b(we),it=b(L,ye,Ge,Xe),lt=b(Pe,ye),Q=b(Oe,Be);function ee(e){return R(e)||f(e)}function at(e){return e.type===ge}function ct(e){return e.type!==ge}function st(e){return p(e)||R(e)}function he(e){return xe(e)||Te(e)}function M(e){return e!=null&&e!==""}function b(...e){return t=>{let r=F(t.type)?t.type:void 0;return r?e.some(n=>r===n||r?.startsWith(`${n}/`)):!1}}function ut(e,t={}){if(p(e)&&e.disabled){let r=e.name?t?.[e.name]:void 0;if(r&&s(r))return[r]}}function te(e){return R(e)||f(e)?O:e.advanced?.orientation??A}function dt(e,t){let r=e.readonly??!1;return t||r}function mt(e){if(R(e)||p(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||s(t)&&!(P in t))return t}}function ft(e,t){let r=mt(e);return r||ut(e,t)}function on(e,t){let r=s(t)&&e.name in t?t[e.name]:t;return be(r,e.advanced?.entity)}function ln(e,t,r){return st(e)&&Array.isArray(r)?{...t,[q]:r}:t}function an(e,t,r){if(e.required&&!M(r)&&p(e)&&e.advanced?.preselected!==!1&&q in t){let n=t[q];if(Array.isArray(n)&&n.length===1)return n[0]}return r}function cn(e,t){return p(e)&&Array.isArray(t)?tt(t,e.advanced?.options):t}function pt(e,t,r,n){let o=on(e,n),i=Array.isArray(r)?cn(e,r):r,l=ln(e,t,i),a=an(e,l,o);return{commonPropsWithOptions:l,defaultValue:a}}function gt(e,t){return f(e)?{checked:M(t)?t:!1}:{value:t??""}}var sn=/^#\/definition\//;function ne(e=[],t){let r=re(e,t);return Array.isArray(r)?r.filter(n=>n.hidden!==!0).sort((n,o)=>yt(n)-yt(o)):[]}function re(e,t,r=new Map,n=new WeakSet){if(!un(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=>re(i,t,r,n));if(P in e&&F(e[P])){let i=e[P].replace(sn,""),l=C(t,i);return l!==null?re(l,t,r,n):e}let o={};for(let[i,l]of Object.entries(e))o[i]=re(l,t,r,n);return n.delete(e),r.set(e,o),o}function bt(e){return Object.entries(e??{})}function yt(e){return e.order??Number.MAX_VALUE}function un(e){return e!==void 0&&s(e)&&Object.keys(e).length>0}function xt(e,t){let r={};for(let[n,o]of bt(t))r[`${e}-${n}`]=o;return r}function Tt(e){return xt(Ze,e)}function ht(e){return xt(We,e)}var Rt={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},St={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function At(e,t=2){return Rt[e&&e in Rt?e:t]}function Et(e){if(e&&e in St)return St[e]}var dn=/^\d+$/;function Ct(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function Ft(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 Re(){return new Date().getFullYear()}function Se(e,t){if(typeof e=="number")return e;let r=t??Re(),n=e.trim().toLowerCase();if(n.startsWith("current")){let o=n.match(/^current([+-])(\d+)$/);if(o){let[,i,l]=o,a=parseInt(l,10);if(!isNaN(a))return i==="+"?r+a:r-a}return r}return dn.test(n)?parseInt(n,10):r}import{z as u}from"zod";var mn=[[Q,bn],[lt,fn],[J,xn],[j,Tn],[f,pn],[R,gn]];function Nt(e){return u.object(e)}function It(e){let t={},r=u.flattenError(e).fieldErrors;for(let[n,o]of Object.entries(r))o!==void 0&&(t[n]=o);return t}function kt(e){for(let[t,r]of mn)if(t(e))return r(e);return yn(e)}function fn(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(n=>K(n)?"":n,r)}return t.pipe(u.email(e.validation?.email)).or(u.literal("")).nullable()}function pn(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 gn(e){let t=u.coerce.string();return e.required?(t=t.min(1,e.validation?.required),u.preprocess(r=>K(r)?"":r,t)):t.or(u.literal("")).nullable()}function yn(e){let t=u.coerce.string().trim();return t=vt(t,e),e.required?(t=Pt(t,e),u.preprocess(r=>K(r)?"":r,t)):t.nullable()}function bn(e){let t=u.coerce.number().int();return t=vt(t,e),e.required?(t=Pt(t,e),u.preprocess(r=>r===null?void 0:r,t)):t.nullable()}function xn(e){if(e.required){let t=u.coerce.number({message:e.validation?.required}).int();return u.preprocess(hn,t)}return u.coerce.number().int().nullable()}function Tn(e){let t=u.coerce.number().int().min(1,e.validation?.required).max(12,e.validation?.required);return e.required?t:t.nullable()}function hn(e){return e===null||e===""?void 0:e}function vt(e,t){return e=Rn(e,t),e=Sn(e,t),e}function Pt(e,t){let r=t.advanced?.length?.min;return r===void 0||r<1?e.min(1,t.validation?.required):e}var Rn=(e,t)=>Ot(e,t,$),Sn=(e,t)=>Ot(e,t,Z);function Ot(e,t,r){let n=t.advanced?.length?.[r];return n!==void 0?e[r](n,t.validation?.length?.[r]):e}function oe(e,t){return{...e,...t}}function wt(e,t){if(!t||!En(e))return!0;if(t.length===0)return!1;try{let r=new URL(e),n=r.protocol.replace(":",""),o=r.hostname,i=r.port||An(n);return t.some(l=>!(l.protocol&&l.protocol!==n||l.hostname&&l.hostname!==o||l.port!==void 0&&String(l.port)!==i))}catch{return!1}}function An(e){return e==="https"?"443":"80"}function En(e){return/^(https?:)?\/\//.test(e)}function Dt(e,t){try{if(!e)return t;if(!t)return e;let r=new URL(e,W);new URL(t,W).searchParams.forEach((i,l)=>{r.searchParams.set(l,i)});let o=r.toString();return e.startsWith("/")||!e.includes("://")?o.replace(W,""):o}catch{return t||e}}function Vt(e){return!Array.isArray(e)||e.length===0?null:e.reduce((t,r)=>{let n=Dt(t.url,r.url),o=Cn(t,r),i=Fn(t,r);return{...t,...r,url:n,body:o,headers:i}})}function Cn(e,t){return s(t.body)&&s(e?.body)?{...e.body,...t.body}:t.body??e?.body}function Fn(e,t){return s(t.headers)&&s(e?.headers)?{...e.headers,...t.headers}:t.headers??e?.headers}function Lt(e=[],t){let r=[],n=[];e.forEach(o=>{o.action===v&&r.push(o),o.action===je&&n.push(o)}),t({sources:n,values:r})}function Mt(e=null,t=[],r){t.forEach(n=>{let{target:o,source:i}=n;if(!e){r(o,void 0);return}if(Je(i)){let l=N(i.url,e),a=i.body?N(i.body,e):i.body;r(o,{...i,url:l,body:a})}})}function _t(e=null,t=[],r){t.forEach(n=>{Object.entries(n.value).forEach(([o,i])=>{r(o,e?N(i,e):void 0)})})}import{jsx as Nn}from"react/jsx-runtime";function _(e){return ot(e,(t,r,n)=>Nn("a",{className:"underline",href:r,rel:"noopener noreferrer",target:"_blank",children:n},`${r}-${t}`))}import{Fragment as In,jsx as Ut,jsxs as kn}from"react/jsx-runtime";function Bt(e){return kn(In,{children:[e.title&&Ut("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:_(e.title)}),e.description&&Ut("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:_(e.description)})]})}import{jsx as Ae,jsxs as vn}from"react/jsx-runtime";function Gt(e){let t=e.section.fields||[],{compact:r}=oe(e.style,{compact:e.section.compact});return!e.section.title&&!e.section.description?Ae(V,{compact:r,children:e.children}):vn("fieldset",{"data-slot":"field-set","data-empty":t.length===0,className:"flex flex-col data-[empty=false]:gap-6",id:e.section.id?.toString(),children:[Ae(Bt,{description:e.section.description,title:e.section.title}),Ae(V,{compact:r,children:e.children})]})}import{Fragment as Pn}from"react";import{jsx as Xt}from"react/jsx-runtime";function Yt(){return Xt("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:Xt("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}import{jsx as U,jsxs as Ht}from"react/jsx-runtime";function qt(e){let t=ne(e.sections,e.definition);return U("div",{className:"h-full w-full",children:U("form",{noValidate:e.noValidate,action:e.action,children:Ht(V,{children:[t.map((r,n)=>Ht(Pn,{children:[U(Gt,{section:r,style:e.config.style,children:e.children({disabled:e.readOnly,fields:r.fields})}),r.separator&&U(Yt,{})]},n)),e.control&&U(ve,{isPending:e.isPending,children:e.control})]})})})}import{jsx as On}from"react/jsx-runtime";function $t(e){return On("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}import{jsx as wn}from"react/jsx-runtime";function ie(e){let t=_(e.text);return t?wn($t,{children:t}):null}import{twMerge as Dn}from"tailwind-merge";import{jsx as Vn,jsxs as Ln}from"react/jsx-runtime";function Zt(e){let t=R(e.field)||f(e.field);return Ln("label",{"data-slot":"field-label","data-normal":t,className:Dn("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&&Vn("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:"(Optional)"})]})}import{jsx as Wt,jsxs as Mn}from"react/jsx-runtime";function Kt(e){return Mn("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[Wt(Zt,{field:e.field,children:e.field.label}),e.orientation===O&&Wt(ie,{text:e.field.description})]})}import{Fragment as _n,jsx as zt,jsxs as Un}from"react/jsx-runtime";function jt(e){let t=te(e.field);return Un(_n,{children:[e.field.name&&e.field.label&&zt(Kt,{field:e.field,orientation:t}),e.children,t===A&&e.field.description&&zt(ie,{text:e.field.description})]})}function le(e,t){return e?t(e):null}import{atom as I}from"jotai";import{atomFamily as Jt}from"jotai-family";import{deepEqual as Ee}from"fast-equals";function Bn(e){return Jt(t=>I(r=>r(e)[t]??void 0,(r,n,o)=>{let i=r(e);if(o!=null){let l=i[t];(!l||!Ee(l,o))&&n(e,{...i,[t]:o})}else if(i[t]){let{[t]:l,...a}=i;n(e,a)}}))}function Gn(e){return I(null,(t,r)=>{let n=t(e);n&&Object.keys(n).length>0&&r(e,{})})}function Xn(e){return I(null,(t,r,n)=>{let i={...t(e)},l=!1;for(let a of n)i[a]&&(delete i[a],l=!0);l&&r(e,i)})}function Yn(e){return I(null,(t,r,n)=>{let o=t(e);Ee(o,n)||r(e,n)})}function Qt(e,t={}){let{merge:r,validateTarget:n}=t;return Jt(o=>I(i=>{let l=i(e)[o];if(l&&r)return r(Object.values(l))},(i,l,a,m)=>{if(n&&!n(a))return;let c=i(e),d={...c[a]??{}};if(m!=null){let x=d[o];(!x||!Ee(x,m))&&(d[o]=m,l(e,{...c,[a]:d}))}else if(d[o])if(delete d[o],Object.keys(d).length===0){let{[a]:x,...w}=c;l(e,w)}else l(e,{...c,[a]:d})}))}function er(e){return I(null,(t,r,n)=>{let i={...t(e)},l=!1;for(let a of n)i[a]&&(delete i[a],l=!0);for(let a in i){let m={...i[a]},c=!1;for(let d of n)m[d]&&(delete m[d],c=!0,l=!0);c&&(Object.keys(m).length===0?delete i[a]:i[a]=m)}l&&r(e,i)})}function ae(e={}){let t=I(e);return{atom:t,clearAll:Gn(t),clear:Xn(t),bulkReport:Yn(t),report:Bn(t)}}var ce=ae(),Rl=ce.atom,tr=ce.clear,rr=ce.bulkReport,se=ce.report;import{useCallback as ue,useTransition as to}from"react";import{atom as Hn}from"jotai";var nr=Hn({}),or=Qt(nr,{merge:e=>{let t=Vt(e);if(t)return t},validateTarget:e=>e.trim()!==""}),ir=er(nr);import{useAtom as Zn}from"jotai";import qn from"swr";function lr(e=null,t,r=!1){let{data:n,error:o}=qn($n(e,t,r),t.fetcher.provider);if(o&&console.error("Error fetching data source:",o),e){if(Array.isArray(e))return[e];if(n)return[et(n,e.namespace)]}return[null]}function $n(e=null,t,r=!1){if(e&&!Array.isArray(e)&&!r&&e.url&&!z(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 ar(e,t,r){let n=ft(e,r),[o,i]=Zn(or(e.name)),l=o??n,[a]=lr(l,t,e.disabled);return[a,i]}import{useEffect as Wn,useEffectEvent as cr,useMemo as Kn}from"react";function sr(e,t,r){let n=Kn(()=>kt(e),[e]),o=cr(l=>{l&&t(l,n)}),i=cr(l=>{l&&r(l)});return Wn(()=>(o(e.name),()=>{i(e.name)}),[e.name]),[n]}import{useSetAtom as yr}from"jotai";import{useEffect as zn,useRef as jn}from"react";function ur(){let e=jn(null);zn(()=>{let n=e.current;return()=>{n&&clearTimeout(n)}},[]);function t(){e.current&&(clearTimeout(e.current),e.current=null)}function r(n,o){t(),e.current=setTimeout(n,o)}return[r,t]}var B=ae(),dr=B.atom,mr=B.clearAll,fr=B.clear,Gl=B.bulkReport,pr=B.report;import{useAtom as Jn}from"jotai";import{useEffect as Qn,useRef as eo}from"react";function gr(e,t){let r=eo(!1),[n,o]=Jn(pr(e.name));return Qn(()=>{if(!t||!(e.name in t))return;let i=t[e.name];M(i)&&(r.current=!0,o(i))},[e.name,t,o]),{value:n,setValue:o,skipNextOnChangeRef:r}}import{jsx as br}from"react/jsx-runtime";function xr(e){let[t]=ur(),[,r]=to(),{skipNextOnChangeRef:n,value:o,setValue:i}=gr(e.field,e.value),l=yr(dr),a=yr(se(e.field.name)),[m]=sr(e.field,e.onMount,e.onUnmount),[c,d]=ar(e.field,e.config,o),{commonPropsWithOptions:x,defaultValue:w}=pt(e.field,e.commonProps,c,o),X=gt(e.field,w),S=ue(g=>{let k=m.safeParse(g).error?.issues.map(Y=>Y.message)??[];a(k)},[a,m]),T=ue((g,y)=>{if(he(e.field)){t(()=>{y({value:g})},500);return}let k=Qe(g,c,e.field.advanced?.entity);y(k)},[t,e.field,c]),D=ue(g=>{let y=g.target.value;if(n.current&&(n.current=!1,!he(e.field)||y===o))return;i(y),e.config.validation.change&&S(y);let k=e.field.event?.change;k&&T(y,Y=>{Lt(k,({sources:Kr,values:zr})=>{r(()=>{Mt(Y,Kr,(fe,pe)=>d(fe,pe)),_t(Y,zr,(fe,pe)=>{l(jr=>({...jr,[fe]:pe}))})})})})},[T,e.config.validation.change,e.field,d,i,l,n,S,o]),h=ue(g=>{if(ee(e.field))return;let y=g.target.value;e.config.validation.blur&&S(y)},[e.field,e.config.validation.blur,S]);return le(e.config.inputs[e.field.type],g=>br(jt,{field:e.field,children:br(g,{...x,...e.ariaAttributes,...e.dataAttributes,...X,onBlur:h,onChange:D})}))}import{twMerge as ro}from"tailwind-merge";import{jsx as Tr}from"react/jsx-runtime";function hr(e){let t=At(e.column?.advanced?.cols);return Tr("div",{className:"flex w-full flex-col gap-4",children:Tr("div",{className:ro("grid grid-cols-1 gap-8 sm:gap-4",t),children:e.children})})}import{jsx as Rr}from"react/jsx-runtime";function Sr(e){return!e.errors||e.errors.length===0?null:Rr("ul",{className:"text-sm text-red-600 dark:text-red-500",id:e.name?`${e.name}-error`:void 0,children:e.errors?.map((t,r)=>Rr("li",{children:t},e.name?`${e.name}-error-${r}`:r))})}import{twMerge as no}from"tailwind-merge";import{jsx as oo}from"react/jsx-runtime";function de(e){let t=e.errors&&e.errors.length>0;return oo("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[qe]:"true"},...e.disabled&&{[$e]:"true"},"data-orientation":e.orientation,className:no("group flex w-full flex-col items-center data-[invalid=true]:text-red-600 data-[invalid=true]:dark:text-red-500","data-[clickable=true]:items-start",e.isCheckbox&&"flex-row-reverse!","data-[clickable=true]:has-[>[data-slot=field-content]]:[&>:first-child]:mt-px",Et(e.cols),e.className),children:e.children})}import{twMerge as io}from"tailwind-merge";import{jsx as lo}from"react/jsx-runtime";function Ar(e){return lo(de,{...e,orientation:A,className:io("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}import{twMerge as ao}from"tailwind-merge";import{jsx as co}from"react/jsx-runtime";function Er(e){return co(de,{...e,orientation:O,className:ao("gap-2 md:flex-row md:gap-4","[&>[data-slot=field-content]]:min-w-0 [&>[data-slot=field-content]]:flex-grow [&>[data-slot=field-content]]:self-start","[&_[role=checkbox]]:mt-[1.5px]",e.isClickable&&"md:flex-col",!e.isClickable&&["md:justify-between","[&>*:not([data-slot=field-content])]:w-full","[&>*:not([data-slot=field-content])]:md:w-1/2","[&>*:not([data-slot=field-content])]:xl:w-2/5"]),children:e.children})}import{jsx as Cr}from"react/jsx-runtime";function Fr(e){let t=ee(e.field),r=f(e.field);return e.orientation===A?Cr(Ar,{cols:e.cols,disabled:e.disabled,errors:e.errors,isCheckbox:r,isClickable:t,children:e.children}):Cr(Er,{cols:e.cols,disabled:e.disabled,errors:e.errors,isCheckbox:r,isClickable:t,children:e.children})}var me=Re();function Nr(e){if(p(e))return so(e)}function so(e){if(j(e))return Ct();if(J(e)){let t=e.advanced?.length?.min??me,r=e.advanced?.length?.max??me+5;return Ft(Se(t,me),Se(r,me))}}function Ir(e,t=!1){let r={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return xe(e)?{...r,...uo(e)}:p(e)?{...r,...mo(e)}:Te(e)?{...r,...fo(e)}:r}function uo(e){let t=rt(e.type),r={...e,type:t};return{...kr(e),...po(r),...it(r)?vr(r):{},type:t}}function mo(e){let t=Nr(e);return t?{options:t}:{}}function fo(e){return{...kr(e),...vr(e)}}function kr(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function po(e){return Q(e)?go(e):{}}function vr(e){return Pr(e,{min:Ke,max:ze})}function go(e){return Pr(e,{min:$,max:Z})}function Pr(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 Or(e,t){let r=Tt(e.advanced?.aria);return t&&t.length>0&&(r[He]="true",r[Ye]=`${e.name}-error`),r}function wr(e){return ht(e.advanced?.data)}function Dr(e){if(!e.field.type)return null;let t=Ir(e.field,e.disabled),r=wr(e.field),n=Or(e.field,e.errors),o={...e.field,disabled:t.disabled};return e.children({ariaAttributes:n,commonProps:t,dataAttributes:r,field:o})}import{jsx as Ce,jsxs as yo}from"react/jsx-runtime";function Vr(e){let t=e.field.advanced?.cols,r=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:n}=oe(e.style,{orientation:te(e.field)}),o=dt(e.field,e.disabled);return yo("div",{className:"flex flex-col gap-3",children:[Ce(Fr,{cols:t,disabled:o,errors:r,field:e.field,orientation:n,children:Ce(Dr,{disabled:o,errors:r,field:e.field,children:e.children})}),Ce(Sr,{errors:r,name:e.field.name})]})}import{useAtomValue as bo}from"jotai";import{jsx as xo}from"react/jsx-runtime";function Lr(e){return r=>{let n=bo(se(r.field.name));return xo(e,{...r,errors:n?{[r.field.name]:n}:void 0})}}var Mr=Lr(Vr);import{Fragment as To}from"react";import{jsx as Fe,jsxs as ho}from"react/jsx-runtime";function Ne(e){let t=ne(e.fields),{column:r,field:n}=e.components;return t.map((o,i)=>ho(To,{children:[at(o)&&Fe(r,{column:o,children:Fe(Ne,{...e,fields:o.fields})}),ct(o)&&Fe(n,{disabled:e.disabled,field:o,style:e.style,children:e.children})]},i))}import{jsx as Ro}from"react/jsx-runtime";var _r=e=>Ro(Ne,{...e,components:{column:hr,field:Mr}});import{useSetAtom as Ur}from"jotai";import{startTransition as Br,useActionState as So}from"react";function Xr(e,t,r){let{onSuccess:n,preserveValues:o=!1,validation:i=!0}=r??{},l=Ur(rr),a=Ur(mr),m={data:null,error:null,success:!1},[c,d,x]=So(async(w,X)=>{let S=Nt(e());if(i===!1)return t?await t(X,S):w;let T=nt(X),D=S.safeParse(T);if(!D.success){let h=It(D.error);return Br(()=>{l(h)}),Ie(T,{description:"Please correct the errors and try again.",details:[],title:"There were validation errors submitting the form."})}if(t)try{let h=await t(T,S);return h.success?(n?.(h.data),o||Br(()=>{a()}),Gr(T,o)):Ie(T,h.error)}catch(h){return Ie(T,{title:"An unexpected error occurred submitting the form.",details:Ao(h)})}return Gr(D.data,o)},m);return[d,c,x]}function Ao(e){let t=e instanceof Error?e.message:["Unknown error"];return Array.isArray(t)?t:[t]}function Gr(e,t=!1){return{data:t?e:null,error:null,success:!0}}function Ie(e,t){return{data:e,error:t,success:!1}}import{startTransition as Co,useCallback as Hr,useRef as qr}from"react";import{useCallback as Eo}from"react";import{useSetAtom as ke}from"jotai";function Yr(){let e=ke(tr),t=ke(ir),r=ke(fr);return Eo(n=>{let o=Array.isArray(n)?n:[n];e(o),t(o),r(o)},[e,t,r])}function $r(){let e=Yr(),t=qr({}),r=qr(new Set),n=Hr((l,a)=>{l in t.current||(t.current[l]=a)},[]),o=Hr(l=>{t.current[l]&&(delete t.current[l],r.current.add(l),Co(()=>{r.current.size>0&&(e(Array.from(r.current)),r.current.clear())}))},[e]);function i(){return t.current}return[i,n,o]}import{Fragment as Fo,jsx as G,jsxs as No}from"react/jsx-runtime";function Zr(e){let[t,r,n]=$r(),[o,i,l]=Xr(t,e.action,{onSuccess:e.onSuccess,validation:e.config.validation.submit}),a=e.config.validation.showError&&!i.success&&i.error,m=i.data??e.value;return No(Fo,{children:[a&&le(e.config.alert,c=>G("div",{className:"mb-4 w-full",children:G(c,{description:i.error?.description,details:i.error?.details,title:i.error.title})})),G(qt,{action:o,config:e.config,control:e.children,definition:e.definition,isPending:l,noValidate:!0,readOnly:e.readOnly,sections:e.sections,children:({disabled:c,fields:d})=>G(_r,{disabled:c,fields:d,style:e.config.style,children:x=>G(xr,{...x,config:e.config,onMount:r,onUnmount:n,value:m})})})]})}import{Provider as Io}from"jotai";import{jsx as Wr}from"react/jsx-runtime";function ko(e){return Wr(Io,{children:Wr(Zr,{...e})})}export{ko as Form};
|
package/dist/server/cjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var U=Object.defineProperty;var Wt=Object.getOwnPropertyDescriptor;var qt=Object.getOwnPropertyNames;var zt=Object.prototype.hasOwnProperty;var Zt=(e,t)=>{for(var n in t)U(e,n,{get:t[n],enumerable:!0})},Jt=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of qt(t))!zt.call(e,o)&&o!==n&&U(e,o,{get:()=>t[o],enumerable:!(r=Wt(t,o))||r.enumerable});return e};var Qt=e=>Jt(U({},"__esModule",{value:!0}),e);var bn={};Zt(bn,{Fallback:()=>$t,Form:()=>Y});module.exports=Qt(bn);var re=require("react/jsx-runtime");function ne(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return(0,re.jsx)("div",{"data-slot":"field-control",className:"w-full",children:t})}var oe=require("react/jsx-runtime");function F(e){return(0,oe.jsx)("div",{"data-slot":"field-group","data-compact":e.compact,className:"flex w-full flex-col gap-8 data-[compact=true]:gap-3",children:e.children})}var O="input",ie="input/email",le="input/number";var ae="textarea",ce="radio",se="checkbox",de="select",ue="select/month",fe="select/year";var $="column";var me="label",H="value",L="options",K="email",pe="number",ge="password",be="tel",N="text",ye="aria-errormessage",xe="aria-invalid",Re="data-invalid",Te="data-readonly",Ae="aria",he="data",Ce="min",Fe="max",Ne="minLength",Se="maxLength",y="$ref";var f="vertical",x="horizontal";function a(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function R(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function w(e){return typeof e=="string"}var jt=/[^/]+$/;function Ee(e,t=H){if(e!=null){if(R(e))return e;if(a(e)){let n=en(e,t);if(R(n))return n}}}function en(e,t){let n=S(e,t);if(R(n))return n}function S(e,t){if(!t||!a(e))return null;let n=t.split(".").filter(o=>o!=="");if(n.length===0)return null;let r=e;for(let o of n)if(a(r)&&o in r)r=r[o];else return null;return r}function Ie(e,t={label:me,value:H}){return e.map(n=>{if(a(n)){let r=S(n,t.label),o=S(n,t.value);if(R(r)&&R(o))return{label:`${r}`,value:`${o}`}}return n})}function ke(e=N){if(e){let t=e.match(jt);if(t){let[n]=t;if(n!==O)return n.trim().toLowerCase()}}return N}var tn=/\[([^\]]+)\]\(([^)]+)\)/g;function Pe(e,t){if(!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=tn.exec(e))!==null;){let[l,m,Ht]=n,P=n.index;o=!0,P>r&&i.push(e.substring(r,P));let Kt=t?t(P,Ht,m):l;i.push(Kt),r=P+l.length}return o?(r<e.length&&i.push(e.substring(r)),i):e}var Oe=e=>s(ue)(e),Le=e=>s(fe)(e),d=s(se),we=s(O),p=s(ce),c=s(de),De=s(ae),_e=s(N,K,ge,be),In=s(ie,K),Me=s(le,pe);function Ve(e){return p(e)||d(e)}function ve(e){return e.type===$}function Ge(e){return e.type!==$}function Be(e){return c(e)||p(e)}function W(e){return e!=null&&e!==""}function s(...e){return t=>{let n=w(t.type)?t.type:void 0;return n?e.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function Xe(e,t={}){if(c(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&a(n))return[n]}}function D(e){return p(e)||d(e)?x:e.advanced?.orientation??f}function Ye(e,t){let n=e.readonly??!1;return t||n}function Ue(e){if(p(e)||c(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||a(t)&&!(y in t))return t}}function $e(e,t){let n=Ue(e);return n||Xe(e,t)}function nn(e,t){let n=a(t)&&e.name in t?t[e.name]:t;return Ee(n,e.advanced?.entity)}function rn(e,t,n){return Be(e)&&Array.isArray(n)?{...t,[L]:n}:t}function on(e,t,n){if(e.required&&!W(n)&&c(e)&&e.advanced?.preselected!==!1&&L in t){let r=t[L];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function ln(e,t){return c(e)&&Array.isArray(t)?Ie(t,e.advanced?.options):t}function He(e,t,n,r){let o=nn(e,r),i=Array.isArray(n)?ln(e,n):n,l=rn(e,t,i),m=on(e,l,o);return{commonPropsWithOptions:l,defaultValue:m}}function Ke(e,t){return d(e)?{defaultChecked:W(t)}:{defaultValue:t}}var an=/^#\/definition\//;function M(e=[],t){let n=_(e,t);return Array.isArray(n)?n.filter(r=>r.hidden!==!0).sort((r,o)=>We(r)-We(o)):[]}function _(e,t,n=new Map,r=new WeakSet){if(!cn(t)||!e||typeof e!="object")return e;if(n.has(e))return n.get(e);if(r.has(e))return e;if(r.add(e),Array.isArray(e))return e.map(i=>_(i,t,n,r));if(y in e&&w(e[y])){let i=e[y].replace(an,""),l=S(t,i);return l!==null?_(l,t,n,r):e}let o={};for(let[i,l]of Object.entries(e))o[i]=_(l,t,n,r);return r.delete(e),n.set(e,o),o}function qe(e){return Object.entries(e??{})}function We(e){return e.order??Number.MAX_VALUE}function cn(e){return e!==void 0&&a(e)&&Object.keys(e).length>0}function ze(e,t){let n={};for(let[r,o]of qe(t))n[`${e}-${r}`]=o;return n}function Ze(e){return ze(Ae,e)}function Je(e){return ze(he,e)}var Qe={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 et(e,t=2){return Qe[e&&e in Qe?e:t]}function tt(e){if(e&&e in je)return je[e]}var sn=/^\d+$/;function nt(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function rt(e,t){return t>=e?Array.from({length:t-e+1},(n,r)=>{let o=e+r;return{value:o.toString(),label:o.toString()}}):[]}function q(){return new Date().getFullYear()}function z(e,t){if(typeof e=="number")return e;let n=t??q(),r=e.trim().toLowerCase();if(r.startsWith("current")){let o=r.match(/^current([+-])(\d+)$/);if(o){let[,i,l]=o,m=parseInt(l,10);if(!isNaN(m))return i==="+"?n+m:n-m}return n}return sn.test(r)?parseInt(r,10):n}function V(e,t){return{...e,...t}}var ot=require("react/jsx-runtime");function E(e){return Pe(e,(t,n,r)=>(0,ot.jsx)("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${t}`))}var g=require("react/jsx-runtime");function it(e){return(0,g.jsxs)(g.Fragment,{children:[e.title&&(0,g.jsx)("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:E(e.title)}),e.description&&(0,g.jsx)("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:E(e.description)})]})}var T=require("react/jsx-runtime");function lt(e){let t=e.section.fields||[],{compact:n}=V(e.style,{compact:e.section.compact});return!e.section.title&&!e.section.description?(0,T.jsx)(F,{compact:n,children:e.children}):(0,T.jsxs)("fieldset",{"data-slot":"field-set","data-empty":t.length===0,className:"flex flex-col data-[empty=false]:gap-6",children:[(0,T.jsx)(it,{description:e.section.description,title:e.section.title}),(0,T.jsx)(F,{compact:n,children:e.children})]})}var ct=require("react");var Z=require("react/jsx-runtime");function at(){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 st(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((n,r)=>(0,u.jsxs)(ct.Fragment,{children:[(0,u.jsx)(lt,{section:n,style:e.config.style,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.separator&&(0,u.jsx)(at,{})]},r)),e.control&&(0,u.jsx)(ne,{isPending:e.isPending,children:e.control})]})})})}var ut=require("react/jsx-runtime");function dt(e){return(0,ut.jsx)("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}var ft=require("react/jsx-runtime");function A(e){let t=E(e.text);return t?(0,ft.jsx)(dt,{children:t}):null}var mt=require("tailwind-merge"),v=require("react/jsx-runtime");function pt(e){let t=p(e.field)||d(e.field);return(0,v.jsxs)("label",{"data-slot":"field-label","data-normal":t,className:(0,mt.twMerge)("flex w-fit items-center gap-2 text-sm leading-snug font-medium select-none","data-[normal=true]:font-normal","group-data-[readonly=true]:cursor-not-allowed group-data-[readonly=true]:opacity-50"),htmlFor:e.field.name,children:[e.children,!e.field.required&&(0,v.jsx)("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:"(Optional)"})]})}var I=require("react/jsx-runtime");function gt(e){return(0,I.jsxs)("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[(0,I.jsx)(pt,{field:e.field,children:e.field.label}),e.orientation===x&&(0,I.jsx)(A,{text:e.field.description})]})}var b=require("react/jsx-runtime");function bt(e){let t=D(e.field);return(0,b.jsxs)(b.Fragment,{children:[e.field.name&&e.field.label&&(0,b.jsx)(gt,{field:e.field,orientation:t}),e.children,t===f&&e.field.description&&(0,b.jsx)(A,{text:e.field.description})]})}function yt(e,t){return e?t(e):null}var k=require("react/jsx-runtime");function xt(e){let t=$e(e.field,e.value),{commonPropsWithOptions:n,defaultValue:r}=He(e.field,e.commonProps,t,e.value),o=Ke(e.field,r);return yt(e.config.inputs[e.field.type],i=>(0,k.jsxs)(bt,{field:e.field,children:[(0,k.jsx)(i,{...e.ariaAttributes,...n,...e.dataAttributes,...o}),(0,k.jsx)(A,{text:e.field.description})]}))}var Rt=require("tailwind-merge"),J=require("react/jsx-runtime");function Tt(e){let t=et(e.column?.advanced?.cols);return(0,J.jsx)("div",{className:"flex w-full flex-col gap-4",children:(0,J.jsx)("div",{className:(0,Rt.twMerge)("grid grid-cols-1 gap-8 sm:gap-4",t),children:e.children})})}var Q=require("react/jsx-runtime");function At(e){return!e.errors||e.errors.length===0?null:(0,Q.jsx)("ul",{className:"text-sm text-red-600 dark:text-red-500",id:e.name?`${e.name}-error`:void 0,children:e.errors?.map((t,n)=>(0,Q.jsx)("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}var ht=require("tailwind-merge"),Ct=require("react/jsx-runtime");function G(e){let t=e.errors&&e.errors.length>0;return(0,Ct.jsx)("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[Re]:"true"},...e.disabled&&{[Te]:"true"},"data-orientation":e.orientation,className:(0,ht.twMerge)("group flex w-full flex-col items-center data-[invalid=true]:text-red-600 data-[invalid=true]:dark:text-red-500","data-[clickable=true]:items-start",e.isCheckbox&&"flex-row-reverse!","data-[clickable=true]:has-[>[data-slot=field-content]]:[&>:first-child]:mt-px",tt(e.cols),e.className),children:e.children})}var Ft=require("tailwind-merge"),St=require("react/jsx-runtime");function Nt(e){return(0,St.jsx)(G,{...e,orientation:f,className:(0,Ft.twMerge)("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}var Et=require("tailwind-merge"),kt=require("react/jsx-runtime");function It(e){return(0,kt.jsx)(G,{...e,orientation:x,className:(0,Et.twMerge)("gap-2 md:flex-row md:gap-4","[&>[data-slot=field-content]]:min-w-0 [&>[data-slot=field-content]]:flex-grow [&>[data-slot=field-content]]:self-start","[&_[role=checkbox]]:mt-[1.5px]",e.isClickable&&"md:flex-col",!e.isClickable&&["md:justify-between","[&>*:not([data-slot=field-content])]:w-full","[&>*:not([data-slot=field-content])]:md:w-1/2","[&>*:not([data-slot=field-content])]:xl:w-2/5"]),children:e.children})}var j=require("react/jsx-runtime");function Pt(e){let t=Ve(e.field),n=d(e.field);return e.orientation===f?(0,j.jsx)(Nt,{cols:e.cols,disabled:e.disabled,errors:e.errors,isCheckbox:n,isClickable:t,children:e.children}):(0,j.jsx)(It,{cols:e.cols,disabled:e.disabled,errors:e.errors,isCheckbox:n,isClickable:t,children:e.children})}var B=q();function Ot(e){if(c(e))return dn(e)}function dn(e){if(Oe(e))return nt();if(Le(e)){let t=e.advanced?.length?.min??B,n=e.advanced?.length?.max??B+5;return rt(z(t,B),z(n,B))}}function Lt(e,t=!1){let n={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return we(e)?{...n,...un(e)}:c(e)?{...n,...fn(e)}:De(e)?{...n,...mn(e)}:n}function un(e){let t=ke(e.type),n={...e,type:t};return{...wt(e),...pn(n),..._e(n)?Dt(n):{},type:t}}function fn(e){let t=Ot(e);return t?{options:t}:{}}function mn(e){return{...wt(e),...Dt(e)}}function wt(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function pn(e){return Me(e)?gn(e):{}}function Dt(e){return _t(e,{min:Ne,max:Se})}function gn(e){return _t(e,{min:Ce,max:Fe})}function _t(e,t){let n={},r=e.advanced?.length;return r&&(r.min!==void 0&&(n[t.min]=r.min),r.max!==void 0&&(n[t.max]=r.max)),n}function Mt(e,t){let n=Ze(e.advanced?.aria);return t&&t.length>0&&(n[xe]="true",n[ye]=`${e.name}-error`),n}function Vt(e){return Je(e.advanced?.data)}function vt(e){if(!e.field.type)return null;let t=Lt(e.field,e.disabled),n=Vt(e.field),r=Mt(e.field,e.errors),o={...e.field,disabled:t.disabled};return e.children({ariaAttributes:r,commonProps:t,dataAttributes:n,field:o})}var h=require("react/jsx-runtime");function Gt(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:r}=V(e.style,{orientation:D(e.field)}),o=Ye(e.field,e.disabled);return(0,h.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,h.jsx)(Pt,{cols:t,disabled:o,errors:n,field:e.field,orientation:r,children:(0,h.jsx)(vt,{disabled:o,errors:n,field:e.field,children:e.children})}),(0,h.jsx)(At,{errors:n,name:e.field.name})]})}var Bt=require("react"),C=require("react/jsx-runtime");function ee(e){let t=M(e.fields),{column:n,field:r}=e.components;return t.map((o,i)=>(0,C.jsxs)(Bt.Fragment,{children:[ve(o)&&(0,C.jsx)(n,{column:o,children:(0,C.jsx)(ee,{...e,fields:o.fields})}),Ge(o)&&(0,C.jsx)(r,{disabled:e.disabled,field:o,style:e.style,children:e.children})]},i))}var Yt=require("react/jsx-runtime"),Xt=e=>(0,Yt.jsx)(ee,{...e,components:{column:Tt,field:Gt}});var X=require("react/jsx-runtime");function Y(e){return(0,X.jsx)(st,{config:e.config,control:e.children,definition:e.definition,readOnly:e.readOnly,sections:e.sections,children:({disabled:t,fields:n})=>(0,X.jsx)(Xt,{disabled:t,fields:n,style:e.config.style,children:r=>(0,X.jsx)(xt,{...r,config:e.config,source:e.source,value:e.value})})})}var Ut=require("react");var te=require("react/jsx-runtime");function $t(e){return(0,te.jsx)(Ut.Suspense,{fallback:(0,te.jsx)(Y,{config:e.config,sections:e.sections,readOnly:!0}),children:e.children})}
|
|
1
|
+
"use strict";var U=Object.defineProperty;var Wt=Object.getOwnPropertyDescriptor;var qt=Object.getOwnPropertyNames;var zt=Object.prototype.hasOwnProperty;var Zt=(e,t)=>{for(var n in t)U(e,n,{get:t[n],enumerable:!0})},Jt=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of qt(t))!zt.call(e,o)&&o!==n&&U(e,o,{get:()=>t[o],enumerable:!(r=Wt(t,o))||r.enumerable});return e};var Qt=e=>Jt(U({},"__esModule",{value:!0}),e);var bn={};Zt(bn,{Fallback:()=>$t,Form:()=>Y});module.exports=Qt(bn);var re=require("react/jsx-runtime");function ne(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return(0,re.jsx)("div",{"data-slot":"field-control",className:"w-full",children:t})}var oe=require("react/jsx-runtime");function F(e){return(0,oe.jsx)("div",{"data-slot":"field-group","data-compact":e.compact,className:"flex w-full flex-col gap-8 data-[compact=true]:gap-3",children:e.children})}var O="input",ie="input/email",le="input/number";var ae="textarea",ce="radio",se="checkbox",de="select",ue="select/month",fe="select/year";var $="column";var me="label",H="value",L="options",K="email",pe="number",ge="password",be="tel",N="text",ye="aria-errormessage",xe="aria-invalid",Re="data-invalid",Te="data-readonly",Ae="aria",he="data",Ce="min",Fe="max",Ne="minLength",Se="maxLength",y="$ref";var f="vertical",x="horizontal";function a(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function R(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function w(e){return typeof e=="string"}var jt=/[^/]+$/;function Ee(e,t=H){if(e!=null){if(R(e))return e;if(a(e)){let n=en(e,t);if(R(n))return n}}}function en(e,t){let n=S(e,t);if(R(n))return n}function S(e,t){if(!t||!a(e))return null;let n=t.split(".").filter(o=>o!=="");if(n.length===0)return null;let r=e;for(let o of n)if(a(r)&&o in r)r=r[o];else return null;return r}function Ie(e,t={label:me,value:H}){return e.map(n=>{if(a(n)){let r=S(n,t.label),o=S(n,t.value);if(R(r)&&R(o))return{label:`${r}`,value:`${o}`}}return n})}function ke(e=N){if(e){let t=e.match(jt);if(t){let[n]=t;if(n!==O)return n.trim().toLowerCase()}}return N}var tn=/\[([^\]]+)\]\(([^)]+)\)/g;function Pe(e,t){if(!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=tn.exec(e))!==null;){let[l,m,Ht]=n,P=n.index;o=!0,P>r&&i.push(e.substring(r,P));let Kt=t?t(P,Ht,m):l;i.push(Kt),r=P+l.length}return o?(r<e.length&&i.push(e.substring(r)),i):e}var Oe=e=>s(ue)(e),Le=e=>s(fe)(e),d=s(se),we=s(O),p=s(ce),c=s(de),De=s(ae),_e=s(N,K,ge,be),In=s(ie,K),Me=s(le,pe);function Ve(e){return p(e)||d(e)}function ve(e){return e.type===$}function Ge(e){return e.type!==$}function Be(e){return c(e)||p(e)}function W(e){return e!=null&&e!==""}function s(...e){return t=>{let n=w(t.type)?t.type:void 0;return n?e.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function Xe(e,t={}){if(c(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&a(n))return[n]}}function D(e){return p(e)||d(e)?x:e.advanced?.orientation??f}function Ye(e,t){let n=e.readonly??!1;return t||n}function Ue(e){if(p(e)||c(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||a(t)&&!(y in t))return t}}function $e(e,t){let n=Ue(e);return n||Xe(e,t)}function nn(e,t){let n=a(t)&&e.name in t?t[e.name]:t;return Ee(n,e.advanced?.entity)}function rn(e,t,n){return Be(e)&&Array.isArray(n)?{...t,[L]:n}:t}function on(e,t,n){if(e.required&&!W(n)&&c(e)&&e.advanced?.preselected!==!1&&L in t){let r=t[L];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function ln(e,t){return c(e)&&Array.isArray(t)?Ie(t,e.advanced?.options):t}function He(e,t,n,r){let o=nn(e,r),i=Array.isArray(n)?ln(e,n):n,l=rn(e,t,i),m=on(e,l,o);return{commonPropsWithOptions:l,defaultValue:m}}function Ke(e,t){return d(e)?{defaultChecked:W(t)}:{defaultValue:t}}var an=/^#\/definition\//;function M(e=[],t){let n=_(e,t);return Array.isArray(n)?n.filter(r=>r.hidden!==!0).sort((r,o)=>We(r)-We(o)):[]}function _(e,t,n=new Map,r=new WeakSet){if(!cn(t)||!e||typeof e!="object")return e;if(n.has(e))return n.get(e);if(r.has(e))return e;if(r.add(e),Array.isArray(e))return e.map(i=>_(i,t,n,r));if(y in e&&w(e[y])){let i=e[y].replace(an,""),l=S(t,i);return l!==null?_(l,t,n,r):e}let o={};for(let[i,l]of Object.entries(e))o[i]=_(l,t,n,r);return r.delete(e),n.set(e,o),o}function qe(e){return Object.entries(e??{})}function We(e){return e.order??Number.MAX_VALUE}function cn(e){return e!==void 0&&a(e)&&Object.keys(e).length>0}function ze(e,t){let n={};for(let[r,o]of qe(t))n[`${e}-${r}`]=o;return n}function Ze(e){return ze(Ae,e)}function Je(e){return ze(he,e)}var Qe={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 et(e,t=2){return Qe[e&&e in Qe?e:t]}function tt(e){if(e&&e in je)return je[e]}var sn=/^\d+$/;function nt(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function rt(e,t){return t>=e?Array.from({length:t-e+1},(n,r)=>{let o=e+r;return{value:o.toString(),label:o.toString()}}):[]}function q(){return new Date().getFullYear()}function z(e,t){if(typeof e=="number")return e;let n=t??q(),r=e.trim().toLowerCase();if(r.startsWith("current")){let o=r.match(/^current([+-])(\d+)$/);if(o){let[,i,l]=o,m=parseInt(l,10);if(!isNaN(m))return i==="+"?n+m:n-m}return n}return sn.test(r)?parseInt(r,10):n}function V(e,t){return{...e,...t}}var ot=require("react/jsx-runtime");function E(e){return Pe(e,(t,n,r)=>(0,ot.jsx)("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${t}`))}var g=require("react/jsx-runtime");function it(e){return(0,g.jsxs)(g.Fragment,{children:[e.title&&(0,g.jsx)("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:E(e.title)}),e.description&&(0,g.jsx)("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:E(e.description)})]})}var T=require("react/jsx-runtime");function lt(e){let t=e.section.fields||[],{compact:n}=V(e.style,{compact:e.section.compact});return!e.section.title&&!e.section.description?(0,T.jsx)(F,{compact:n,children:e.children}):(0,T.jsxs)("fieldset",{"data-slot":"field-set","data-empty":t.length===0,className:"flex flex-col data-[empty=false]:gap-6",id:e.section.id?.toString(),children:[(0,T.jsx)(it,{description:e.section.description,title:e.section.title}),(0,T.jsx)(F,{compact:n,children:e.children})]})}var ct=require("react");var Z=require("react/jsx-runtime");function at(){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 st(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((n,r)=>(0,u.jsxs)(ct.Fragment,{children:[(0,u.jsx)(lt,{section:n,style:e.config.style,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.separator&&(0,u.jsx)(at,{})]},r)),e.control&&(0,u.jsx)(ne,{isPending:e.isPending,children:e.control})]})})})}var ut=require("react/jsx-runtime");function dt(e){return(0,ut.jsx)("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}var ft=require("react/jsx-runtime");function A(e){let t=E(e.text);return t?(0,ft.jsx)(dt,{children:t}):null}var mt=require("tailwind-merge"),v=require("react/jsx-runtime");function pt(e){let t=p(e.field)||d(e.field);return(0,v.jsxs)("label",{"data-slot":"field-label","data-normal":t,className:(0,mt.twMerge)("flex w-fit items-center gap-2 text-sm leading-snug font-medium select-none","data-[normal=true]:font-normal","group-data-[readonly=true]:cursor-not-allowed group-data-[readonly=true]:opacity-50"),htmlFor:e.field.name,children:[e.children,!e.field.required&&(0,v.jsx)("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:"(Optional)"})]})}var I=require("react/jsx-runtime");function gt(e){return(0,I.jsxs)("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[(0,I.jsx)(pt,{field:e.field,children:e.field.label}),e.orientation===x&&(0,I.jsx)(A,{text:e.field.description})]})}var b=require("react/jsx-runtime");function bt(e){let t=D(e.field);return(0,b.jsxs)(b.Fragment,{children:[e.field.name&&e.field.label&&(0,b.jsx)(gt,{field:e.field,orientation:t}),e.children,t===f&&e.field.description&&(0,b.jsx)(A,{text:e.field.description})]})}function yt(e,t){return e?t(e):null}var k=require("react/jsx-runtime");function xt(e){let t=$e(e.field,e.value),{commonPropsWithOptions:n,defaultValue:r}=He(e.field,e.commonProps,t,e.value),o=Ke(e.field,r);return yt(e.config.inputs[e.field.type],i=>(0,k.jsxs)(bt,{field:e.field,children:[(0,k.jsx)(i,{...e.ariaAttributes,...n,...e.dataAttributes,...o}),(0,k.jsx)(A,{text:e.field.description})]}))}var Rt=require("tailwind-merge"),J=require("react/jsx-runtime");function Tt(e){let t=et(e.column?.advanced?.cols);return(0,J.jsx)("div",{className:"flex w-full flex-col gap-4",children:(0,J.jsx)("div",{className:(0,Rt.twMerge)("grid grid-cols-1 gap-8 sm:gap-4",t),children:e.children})})}var Q=require("react/jsx-runtime");function At(e){return!e.errors||e.errors.length===0?null:(0,Q.jsx)("ul",{className:"text-sm text-red-600 dark:text-red-500",id:e.name?`${e.name}-error`:void 0,children:e.errors?.map((t,n)=>(0,Q.jsx)("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}var ht=require("tailwind-merge"),Ct=require("react/jsx-runtime");function G(e){let t=e.errors&&e.errors.length>0;return(0,Ct.jsx)("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[Re]:"true"},...e.disabled&&{[Te]:"true"},"data-orientation":e.orientation,className:(0,ht.twMerge)("group flex w-full flex-col items-center data-[invalid=true]:text-red-600 data-[invalid=true]:dark:text-red-500","data-[clickable=true]:items-start",e.isCheckbox&&"flex-row-reverse!","data-[clickable=true]:has-[>[data-slot=field-content]]:[&>:first-child]:mt-px",tt(e.cols),e.className),children:e.children})}var Ft=require("tailwind-merge"),St=require("react/jsx-runtime");function Nt(e){return(0,St.jsx)(G,{...e,orientation:f,className:(0,Ft.twMerge)("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}var Et=require("tailwind-merge"),kt=require("react/jsx-runtime");function It(e){return(0,kt.jsx)(G,{...e,orientation:x,className:(0,Et.twMerge)("gap-2 md:flex-row md:gap-4","[&>[data-slot=field-content]]:min-w-0 [&>[data-slot=field-content]]:flex-grow [&>[data-slot=field-content]]:self-start","[&_[role=checkbox]]:mt-[1.5px]",e.isClickable&&"md:flex-col",!e.isClickable&&["md:justify-between","[&>*:not([data-slot=field-content])]:w-full","[&>*:not([data-slot=field-content])]:md:w-1/2","[&>*:not([data-slot=field-content])]:xl:w-2/5"]),children:e.children})}var j=require("react/jsx-runtime");function Pt(e){let t=Ve(e.field),n=d(e.field);return e.orientation===f?(0,j.jsx)(Nt,{cols:e.cols,disabled:e.disabled,errors:e.errors,isCheckbox:n,isClickable:t,children:e.children}):(0,j.jsx)(It,{cols:e.cols,disabled:e.disabled,errors:e.errors,isCheckbox:n,isClickable:t,children:e.children})}var B=q();function Ot(e){if(c(e))return dn(e)}function dn(e){if(Oe(e))return nt();if(Le(e)){let t=e.advanced?.length?.min??B,n=e.advanced?.length?.max??B+5;return rt(z(t,B),z(n,B))}}function Lt(e,t=!1){let n={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return we(e)?{...n,...un(e)}:c(e)?{...n,...fn(e)}:De(e)?{...n,...mn(e)}:n}function un(e){let t=ke(e.type),n={...e,type:t};return{...wt(e),...pn(n),..._e(n)?Dt(n):{},type:t}}function fn(e){let t=Ot(e);return t?{options:t}:{}}function mn(e){return{...wt(e),...Dt(e)}}function wt(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function pn(e){return Me(e)?gn(e):{}}function Dt(e){return _t(e,{min:Ne,max:Se})}function gn(e){return _t(e,{min:Ce,max:Fe})}function _t(e,t){let n={},r=e.advanced?.length;return r&&(r.min!==void 0&&(n[t.min]=r.min),r.max!==void 0&&(n[t.max]=r.max)),n}function Mt(e,t){let n=Ze(e.advanced?.aria);return t&&t.length>0&&(n[xe]="true",n[ye]=`${e.name}-error`),n}function Vt(e){return Je(e.advanced?.data)}function vt(e){if(!e.field.type)return null;let t=Lt(e.field,e.disabled),n=Vt(e.field),r=Mt(e.field,e.errors),o={...e.field,disabled:t.disabled};return e.children({ariaAttributes:r,commonProps:t,dataAttributes:n,field:o})}var h=require("react/jsx-runtime");function Gt(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:r}=V(e.style,{orientation:D(e.field)}),o=Ye(e.field,e.disabled);return(0,h.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,h.jsx)(Pt,{cols:t,disabled:o,errors:n,field:e.field,orientation:r,children:(0,h.jsx)(vt,{disabled:o,errors:n,field:e.field,children:e.children})}),(0,h.jsx)(At,{errors:n,name:e.field.name})]})}var Bt=require("react"),C=require("react/jsx-runtime");function ee(e){let t=M(e.fields),{column:n,field:r}=e.components;return t.map((o,i)=>(0,C.jsxs)(Bt.Fragment,{children:[ve(o)&&(0,C.jsx)(n,{column:o,children:(0,C.jsx)(ee,{...e,fields:o.fields})}),Ge(o)&&(0,C.jsx)(r,{disabled:e.disabled,field:o,style:e.style,children:e.children})]},i))}var Yt=require("react/jsx-runtime"),Xt=e=>(0,Yt.jsx)(ee,{...e,components:{column:Tt,field:Gt}});var X=require("react/jsx-runtime");function Y(e){return(0,X.jsx)(st,{config:e.config,control:e.children,definition:e.definition,readOnly:e.readOnly,sections:e.sections,children:({disabled:t,fields:n})=>(0,X.jsx)(Xt,{disabled:t,fields:n,style:e.config.style,children:r=>(0,X.jsx)(xt,{...r,config:e.config,source:e.source,value:e.value})})})}var Ut=require("react");var te=require("react/jsx-runtime");function $t(e){return(0,te.jsx)(Ut.Suspense,{fallback:(0,te.jsx)(Y,{config:e.config,sections:e.sections,readOnly:!0}),children:e.children})}
|
package/dist/server/esm/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as It}from"react/jsx-runtime";function H(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return It("div",{"data-slot":"field-control",className:"w-full",children:t})}import{jsx as kt}from"react/jsx-runtime";function x(e){return kt("div",{"data-slot":"field-group","data-compact":e.compact,className:"flex w-full flex-col gap-8 data-[compact=true]:gap-3",children:e.children})}var F="input",K="input/email",W="input/number";var q="textarea",z="radio",Z="checkbox",J="select",Q="select/month",j="select/year";var w="column";var ee="label",D="value",N="options",_="email",te="number",ne="password",re="tel",R="text",oe="aria-errormessage",ie="aria-invalid",le="data-invalid",ae="data-readonly",ce="aria",se="data",de="min",ue="max",fe="minLength",me="maxLength",p="$ref";var u="vertical",g="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 S(e){return typeof e=="string"}var Pt=/[^/]+$/;function pe(e,t=D){if(e!=null){if(b(e))return e;if(a(e)){let n=Ot(e,t);if(b(n))return n}}}function Ot(e,t){let n=T(e,t);if(b(n))return n}function T(e,t){if(!t||!a(e))return null;let n=t.split(".").filter(o=>o!=="");if(n.length===0)return null;let r=e;for(let o of n)if(a(r)&&o in r)r=r[o];else return null;return r}function ge(e,t={label:ee,value:D}){return e.map(n=>{if(a(n)){let r=T(n,t.label),o=T(n,t.value);if(b(r)&&b(o))return{label:`${r}`,value:`${o}`}}return n})}function be(e=R){if(e){let t=e.match(Pt);if(t){let[n]=t;if(n!==F)return n.trim().toLowerCase()}}return R}var Lt=/\[([^\]]+)\]\(([^)]+)\)/g;function ye(e,t){if(!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=Lt.exec(e))!==null;){let[l,f,St]=n,C=n.index;o=!0,C>r&&i.push(e.substring(r,C));let Et=t?t(C,St,f):l;i.push(Et),r=C+l.length}return o?(r<e.length&&i.push(e.substring(r)),i):e}var xe=e=>s(Q)(e),Re=e=>s(j)(e),d=s(Z),Te=s(F),m=s(z),c=s(J),Ae=s(q),he=s(R,_,ne,re),Ln=s(K,_),Ce=s(W,te);function Fe(e){return m(e)||d(e)}function Ne(e){return e.type===w}function Se(e){return e.type!==w}function Ee(e){return c(e)||m(e)}function M(e){return e!=null&&e!==""}function s(...e){return t=>{let n=S(t.type)?t.type:void 0;return n?e.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function Ie(e,t={}){if(c(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&a(n))return[n]}}function E(e){return m(e)||d(e)?g:e.advanced?.orientation??u}function ke(e,t){let n=e.readonly??!1;return t||n}function Pe(e){if(m(e)||c(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||a(t)&&!(p in t))return t}}function Oe(e,t){let n=Pe(e);return n||Ie(e,t)}function wt(e,t){let n=a(t)&&e.name in t?t[e.name]:t;return pe(n,e.advanced?.entity)}function Dt(e,t,n){return Ee(e)&&Array.isArray(n)?{...t,[N]:n}:t}function _t(e,t,n){if(e.required&&!M(n)&&c(e)&&e.advanced?.preselected!==!1&&N in t){let r=t[N];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function Mt(e,t){return c(e)&&Array.isArray(t)?ge(t,e.advanced?.options):t}function Le(e,t,n,r){let o=wt(e,r),i=Array.isArray(n)?Mt(e,n):n,l=Dt(e,t,i),f=_t(e,l,o);return{commonPropsWithOptions:l,defaultValue:f}}function we(e,t){return d(e)?{defaultChecked:M(t)}:{defaultValue:t}}var Vt=/^#\/definition\//;function k(e=[],t){let n=I(e,t);return Array.isArray(n)?n.filter(r=>r.hidden!==!0).sort((r,o)=>De(r)-De(o)):[]}function I(e,t,n=new Map,r=new WeakSet){if(!vt(t)||!e||typeof e!="object")return e;if(n.has(e))return n.get(e);if(r.has(e))return e;if(r.add(e),Array.isArray(e))return e.map(i=>I(i,t,n,r));if(p in e&&S(e[p])){let i=e[p].replace(Vt,""),l=T(t,i);return l!==null?I(l,t,n,r):e}let o={};for(let[i,l]of Object.entries(e))o[i]=I(l,t,n,r);return r.delete(e),n.set(e,o),o}function _e(e){return Object.entries(e??{})}function De(e){return e.order??Number.MAX_VALUE}function vt(e){return e!==void 0&&a(e)&&Object.keys(e).length>0}function Me(e,t){let n={};for(let[r,o]of _e(t))n[`${e}-${r}`]=o;return n}function Ve(e){return Me(ce,e)}function ve(e){return Me(se,e)}var Ge={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},Be={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function Xe(e,t=2){return Ge[e&&e in Ge?e:t]}function Ye(e){if(e&&e in Be)return Be[e]}var Gt=/^\d+$/;function Ue(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function $e(e,t){return t>=e?Array.from({length:t-e+1},(n,r)=>{let o=e+r;return{value:o.toString(),label:o.toString()}}):[]}function V(){return new Date().getFullYear()}function v(e,t){if(typeof e=="number")return e;let n=t??V(),r=e.trim().toLowerCase();if(r.startsWith("current")){let o=r.match(/^current([+-])(\d+)$/);if(o){let[,i,l]=o,f=parseInt(l,10);if(!isNaN(f))return i==="+"?n+f:n-f}return n}return Gt.test(r)?parseInt(r,10):n}function P(e,t){return{...e,...t}}import{jsx as Bt}from"react/jsx-runtime";function A(e){return ye(e,(t,n,r)=>Bt("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${t}`))}import{Fragment as Xt,jsx as He,jsxs as Yt}from"react/jsx-runtime";function Ke(e){return Yt(Xt,{children:[e.title&&He("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:A(e.title)}),e.description&&He("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:A(e.description)})]})}import{jsx as G,jsxs as Ut}from"react/jsx-runtime";function We(e){let t=e.section.fields||[],{compact:n}=P(e.style,{compact:e.section.compact});return!e.section.title&&!e.section.description?G(x,{compact:n,children:e.children}):Ut("fieldset",{"data-slot":"field-set","data-empty":t.length===0,className:"flex flex-col data-[empty=false]:gap-6",children:[G(Ke,{description:e.section.description,title:e.section.title}),G(x,{compact:n,children:e.children})]})}import{Fragment as $t}from"react";import{jsx as qe}from"react/jsx-runtime";function ze(){return qe("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:qe("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}import{jsx as h,jsxs as Ze}from"react/jsx-runtime";function Je(e){let t=k(e.sections,e.definition);return h("div",{className:"h-full w-full",children:h("form",{noValidate:e.noValidate,action:e.action,children:Ze(x,{children:[t.map((n,r)=>Ze($t,{children:[h(We,{section:n,style:e.config.style,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.separator&&h(ze,{})]},r)),e.control&&h(H,{isPending:e.isPending,children:e.control})]})})})}import{jsx as Ht}from"react/jsx-runtime";function Qe(e){return Ht("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}import{jsx as Kt}from"react/jsx-runtime";function y(e){let t=A(e.text);return t?Kt(Qe,{children:t}):null}import{twMerge as Wt}from"tailwind-merge";import{jsx as qt,jsxs as zt}from"react/jsx-runtime";function je(e){let t=m(e.field)||d(e.field);return zt("label",{"data-slot":"field-label","data-normal":t,className:Wt("flex w-fit items-center gap-2 text-sm leading-snug font-medium select-none","data-[normal=true]:font-normal","group-data-[readonly=true]:cursor-not-allowed group-data-[readonly=true]:opacity-50"),htmlFor:e.field.name,children:[e.children,!e.field.required&&qt("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:"(Optional)"})]})}import{jsx as et,jsxs as Zt}from"react/jsx-runtime";function tt(e){return Zt("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[et(je,{field:e.field,children:e.field.label}),e.orientation===g&&et(y,{text:e.field.description})]})}import{Fragment as Jt,jsx as nt,jsxs as Qt}from"react/jsx-runtime";function rt(e){let t=E(e.field);return Qt(Jt,{children:[e.field.name&&e.field.label&&nt(tt,{field:e.field,orientation:t}),e.children,t===u&&e.field.description&&nt(y,{text:e.field.description})]})}function ot(e,t){return e?t(e):null}import{jsx as it,jsxs as jt}from"react/jsx-runtime";function lt(e){let t=Oe(e.field,e.value),{commonPropsWithOptions:n,defaultValue:r}=Le(e.field,e.commonProps,t,e.value),o=we(e.field,r);return ot(e.config.inputs[e.field.type],i=>jt(rt,{field:e.field,children:[it(i,{...e.ariaAttributes,...n,...e.dataAttributes,...o}),it(y,{text:e.field.description})]}))}import{twMerge as en}from"tailwind-merge";import{jsx as at}from"react/jsx-runtime";function ct(e){let t=Xe(e.column?.advanced?.cols);return at("div",{className:"flex w-full flex-col gap-4",children:at("div",{className:en("grid grid-cols-1 gap-8 sm:gap-4",t),children:e.children})})}import{jsx as st}from"react/jsx-runtime";function dt(e){return!e.errors||e.errors.length===0?null:st("ul",{className:"text-sm text-red-600 dark:text-red-500",id:e.name?`${e.name}-error`:void 0,children:e.errors?.map((t,n)=>st("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}import{twMerge as tn}from"tailwind-merge";import{jsx as nn}from"react/jsx-runtime";function O(e){let t=e.errors&&e.errors.length>0;return nn("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[le]:"true"},...e.disabled&&{[ae]:"true"},"data-orientation":e.orientation,className:tn("group flex w-full flex-col items-center data-[invalid=true]:text-red-600 data-[invalid=true]:dark:text-red-500","data-[clickable=true]:items-start",e.isCheckbox&&"flex-row-reverse!","data-[clickable=true]:has-[>[data-slot=field-content]]:[&>:first-child]:mt-px",Ye(e.cols),e.className),children:e.children})}import{twMerge as rn}from"tailwind-merge";import{jsx as on}from"react/jsx-runtime";function ut(e){return on(O,{...e,orientation:u,className:rn("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}import{twMerge as ln}from"tailwind-merge";import{jsx as an}from"react/jsx-runtime";function ft(e){return an(O,{...e,orientation:g,className:ln("gap-2 md:flex-row md:gap-4","[&>[data-slot=field-content]]:min-w-0 [&>[data-slot=field-content]]:flex-grow [&>[data-slot=field-content]]:self-start","[&_[role=checkbox]]:mt-[1.5px]",e.isClickable&&"md:flex-col",!e.isClickable&&["md:justify-between","[&>*:not([data-slot=field-content])]:w-full","[&>*:not([data-slot=field-content])]:md:w-1/2","[&>*:not([data-slot=field-content])]:xl:w-2/5"]),children:e.children})}import{jsx as mt}from"react/jsx-runtime";function pt(e){let t=Fe(e.field),n=d(e.field);return e.orientation===u?mt(ut,{cols:e.cols,disabled:e.disabled,errors:e.errors,isCheckbox:n,isClickable:t,children:e.children}):mt(ft,{cols:e.cols,disabled:e.disabled,errors:e.errors,isCheckbox:n,isClickable:t,children:e.children})}var L=V();function gt(e){if(c(e))return cn(e)}function cn(e){if(xe(e))return Ue();if(Re(e)){let t=e.advanced?.length?.min??L,n=e.advanced?.length?.max??L+5;return $e(v(t,L),v(n,L))}}function bt(e,t=!1){let n={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return Te(e)?{...n,...sn(e)}:c(e)?{...n,...dn(e)}:Ae(e)?{...n,...un(e)}:n}function sn(e){let t=be(e.type),n={...e,type:t};return{...yt(e),...fn(n),...he(n)?xt(n):{},type:t}}function dn(e){let t=gt(e);return t?{options:t}:{}}function un(e){return{...yt(e),...xt(e)}}function yt(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function fn(e){return Ce(e)?mn(e):{}}function xt(e){return Rt(e,{min:fe,max:me})}function mn(e){return Rt(e,{min:de,max:ue})}function Rt(e,t){let n={},r=e.advanced?.length;return r&&(r.min!==void 0&&(n[t.min]=r.min),r.max!==void 0&&(n[t.max]=r.max)),n}function Tt(e,t){let n=Ve(e.advanced?.aria);return t&&t.length>0&&(n[ie]="true",n[oe]=`${e.name}-error`),n}function At(e){return ve(e.advanced?.data)}function ht(e){if(!e.field.type)return null;let t=bt(e.field,e.disabled),n=At(e.field),r=Tt(e.field,e.errors),o={...e.field,disabled:t.disabled};return e.children({ariaAttributes:r,commonProps:t,dataAttributes:n,field:o})}import{jsx as B,jsxs as pn}from"react/jsx-runtime";function Ct(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:r}=P(e.style,{orientation:E(e.field)}),o=ke(e.field,e.disabled);return pn("div",{className:"flex flex-col gap-3",children:[B(pt,{cols:t,disabled:o,errors:n,field:e.field,orientation:r,children:B(ht,{disabled:o,errors:n,field:e.field,children:e.children})}),B(dt,{errors:n,name:e.field.name})]})}import{Fragment as gn}from"react";import{jsx as X,jsxs as bn}from"react/jsx-runtime";function Y(e){let t=k(e.fields),{column:n,field:r}=e.components;return t.map((o,i)=>bn(gn,{children:[Ne(o)&&X(n,{column:o,children:X(Y,{...e,fields:o.fields})}),Se(o)&&X(r,{disabled:e.disabled,field:o,style:e.style,children:e.children})]},i))}import{jsx as yn}from"react/jsx-runtime";var Ft=e=>yn(Y,{...e,components:{column:ct,field:Ct}});import{jsx as U}from"react/jsx-runtime";function $(e){return U(Je,{config:e.config,control:e.children,definition:e.definition,readOnly:e.readOnly,sections:e.sections,children:({disabled:t,fields:n})=>U(Ft,{disabled:t,fields:n,style:e.config.style,children:r=>U(lt,{...r,config:e.config,source:e.source,value:e.value})})})}import{Suspense as xn}from"react";import{jsx as Nt}from"react/jsx-runtime";function Rn(e){return Nt(xn,{fallback:Nt($,{config:e.config,sections:e.sections,readOnly:!0}),children:e.children})}export{Rn as Fallback,$ as Form};
|
|
1
|
+
import{jsx as It}from"react/jsx-runtime";function H(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return It("div",{"data-slot":"field-control",className:"w-full",children:t})}import{jsx as kt}from"react/jsx-runtime";function x(e){return kt("div",{"data-slot":"field-group","data-compact":e.compact,className:"flex w-full flex-col gap-8 data-[compact=true]:gap-3",children:e.children})}var F="input",K="input/email",W="input/number";var q="textarea",z="radio",Z="checkbox",J="select",Q="select/month",j="select/year";var w="column";var ee="label",D="value",N="options",_="email",te="number",ne="password",re="tel",R="text",oe="aria-errormessage",ie="aria-invalid",le="data-invalid",ae="data-readonly",ce="aria",se="data",de="min",ue="max",fe="minLength",me="maxLength",p="$ref";var u="vertical",g="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 S(e){return typeof e=="string"}var Pt=/[^/]+$/;function pe(e,t=D){if(e!=null){if(b(e))return e;if(a(e)){let n=Ot(e,t);if(b(n))return n}}}function Ot(e,t){let n=T(e,t);if(b(n))return n}function T(e,t){if(!t||!a(e))return null;let n=t.split(".").filter(o=>o!=="");if(n.length===0)return null;let r=e;for(let o of n)if(a(r)&&o in r)r=r[o];else return null;return r}function ge(e,t={label:ee,value:D}){return e.map(n=>{if(a(n)){let r=T(n,t.label),o=T(n,t.value);if(b(r)&&b(o))return{label:`${r}`,value:`${o}`}}return n})}function be(e=R){if(e){let t=e.match(Pt);if(t){let[n]=t;if(n!==F)return n.trim().toLowerCase()}}return R}var Lt=/\[([^\]]+)\]\(([^)]+)\)/g;function ye(e,t){if(!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=Lt.exec(e))!==null;){let[l,f,St]=n,C=n.index;o=!0,C>r&&i.push(e.substring(r,C));let Et=t?t(C,St,f):l;i.push(Et),r=C+l.length}return o?(r<e.length&&i.push(e.substring(r)),i):e}var xe=e=>s(Q)(e),Re=e=>s(j)(e),d=s(Z),Te=s(F),m=s(z),c=s(J),Ae=s(q),he=s(R,_,ne,re),Ln=s(K,_),Ce=s(W,te);function Fe(e){return m(e)||d(e)}function Ne(e){return e.type===w}function Se(e){return e.type!==w}function Ee(e){return c(e)||m(e)}function M(e){return e!=null&&e!==""}function s(...e){return t=>{let n=S(t.type)?t.type:void 0;return n?e.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function Ie(e,t={}){if(c(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&a(n))return[n]}}function E(e){return m(e)||d(e)?g:e.advanced?.orientation??u}function ke(e,t){let n=e.readonly??!1;return t||n}function Pe(e){if(m(e)||c(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||a(t)&&!(p in t))return t}}function Oe(e,t){let n=Pe(e);return n||Ie(e,t)}function wt(e,t){let n=a(t)&&e.name in t?t[e.name]:t;return pe(n,e.advanced?.entity)}function Dt(e,t,n){return Ee(e)&&Array.isArray(n)?{...t,[N]:n}:t}function _t(e,t,n){if(e.required&&!M(n)&&c(e)&&e.advanced?.preselected!==!1&&N in t){let r=t[N];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function Mt(e,t){return c(e)&&Array.isArray(t)?ge(t,e.advanced?.options):t}function Le(e,t,n,r){let o=wt(e,r),i=Array.isArray(n)?Mt(e,n):n,l=Dt(e,t,i),f=_t(e,l,o);return{commonPropsWithOptions:l,defaultValue:f}}function we(e,t){return d(e)?{defaultChecked:M(t)}:{defaultValue:t}}var Vt=/^#\/definition\//;function k(e=[],t){let n=I(e,t);return Array.isArray(n)?n.filter(r=>r.hidden!==!0).sort((r,o)=>De(r)-De(o)):[]}function I(e,t,n=new Map,r=new WeakSet){if(!vt(t)||!e||typeof e!="object")return e;if(n.has(e))return n.get(e);if(r.has(e))return e;if(r.add(e),Array.isArray(e))return e.map(i=>I(i,t,n,r));if(p in e&&S(e[p])){let i=e[p].replace(Vt,""),l=T(t,i);return l!==null?I(l,t,n,r):e}let o={};for(let[i,l]of Object.entries(e))o[i]=I(l,t,n,r);return r.delete(e),n.set(e,o),o}function _e(e){return Object.entries(e??{})}function De(e){return e.order??Number.MAX_VALUE}function vt(e){return e!==void 0&&a(e)&&Object.keys(e).length>0}function Me(e,t){let n={};for(let[r,o]of _e(t))n[`${e}-${r}`]=o;return n}function Ve(e){return Me(ce,e)}function ve(e){return Me(se,e)}var Ge={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},Be={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function Xe(e,t=2){return Ge[e&&e in Ge?e:t]}function Ye(e){if(e&&e in Be)return Be[e]}var Gt=/^\d+$/;function Ue(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function $e(e,t){return t>=e?Array.from({length:t-e+1},(n,r)=>{let o=e+r;return{value:o.toString(),label:o.toString()}}):[]}function V(){return new Date().getFullYear()}function v(e,t){if(typeof e=="number")return e;let n=t??V(),r=e.trim().toLowerCase();if(r.startsWith("current")){let o=r.match(/^current([+-])(\d+)$/);if(o){let[,i,l]=o,f=parseInt(l,10);if(!isNaN(f))return i==="+"?n+f:n-f}return n}return Gt.test(r)?parseInt(r,10):n}function P(e,t){return{...e,...t}}import{jsx as Bt}from"react/jsx-runtime";function A(e){return ye(e,(t,n,r)=>Bt("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${t}`))}import{Fragment as Xt,jsx as He,jsxs as Yt}from"react/jsx-runtime";function Ke(e){return Yt(Xt,{children:[e.title&&He("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:A(e.title)}),e.description&&He("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:A(e.description)})]})}import{jsx as G,jsxs as Ut}from"react/jsx-runtime";function We(e){let t=e.section.fields||[],{compact:n}=P(e.style,{compact:e.section.compact});return!e.section.title&&!e.section.description?G(x,{compact:n,children:e.children}):Ut("fieldset",{"data-slot":"field-set","data-empty":t.length===0,className:"flex flex-col data-[empty=false]:gap-6",id:e.section.id?.toString(),children:[G(Ke,{description:e.section.description,title:e.section.title}),G(x,{compact:n,children:e.children})]})}import{Fragment as $t}from"react";import{jsx as qe}from"react/jsx-runtime";function ze(){return qe("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:qe("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}import{jsx as h,jsxs as Ze}from"react/jsx-runtime";function Je(e){let t=k(e.sections,e.definition);return h("div",{className:"h-full w-full",children:h("form",{noValidate:e.noValidate,action:e.action,children:Ze(x,{children:[t.map((n,r)=>Ze($t,{children:[h(We,{section:n,style:e.config.style,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.separator&&h(ze,{})]},r)),e.control&&h(H,{isPending:e.isPending,children:e.control})]})})})}import{jsx as Ht}from"react/jsx-runtime";function Qe(e){return Ht("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}import{jsx as Kt}from"react/jsx-runtime";function y(e){let t=A(e.text);return t?Kt(Qe,{children:t}):null}import{twMerge as Wt}from"tailwind-merge";import{jsx as qt,jsxs as zt}from"react/jsx-runtime";function je(e){let t=m(e.field)||d(e.field);return zt("label",{"data-slot":"field-label","data-normal":t,className:Wt("flex w-fit items-center gap-2 text-sm leading-snug font-medium select-none","data-[normal=true]:font-normal","group-data-[readonly=true]:cursor-not-allowed group-data-[readonly=true]:opacity-50"),htmlFor:e.field.name,children:[e.children,!e.field.required&&qt("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:"(Optional)"})]})}import{jsx as et,jsxs as Zt}from"react/jsx-runtime";function tt(e){return Zt("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[et(je,{field:e.field,children:e.field.label}),e.orientation===g&&et(y,{text:e.field.description})]})}import{Fragment as Jt,jsx as nt,jsxs as Qt}from"react/jsx-runtime";function rt(e){let t=E(e.field);return Qt(Jt,{children:[e.field.name&&e.field.label&&nt(tt,{field:e.field,orientation:t}),e.children,t===u&&e.field.description&&nt(y,{text:e.field.description})]})}function ot(e,t){return e?t(e):null}import{jsx as it,jsxs as jt}from"react/jsx-runtime";function lt(e){let t=Oe(e.field,e.value),{commonPropsWithOptions:n,defaultValue:r}=Le(e.field,e.commonProps,t,e.value),o=we(e.field,r);return ot(e.config.inputs[e.field.type],i=>jt(rt,{field:e.field,children:[it(i,{...e.ariaAttributes,...n,...e.dataAttributes,...o}),it(y,{text:e.field.description})]}))}import{twMerge as en}from"tailwind-merge";import{jsx as at}from"react/jsx-runtime";function ct(e){let t=Xe(e.column?.advanced?.cols);return at("div",{className:"flex w-full flex-col gap-4",children:at("div",{className:en("grid grid-cols-1 gap-8 sm:gap-4",t),children:e.children})})}import{jsx as st}from"react/jsx-runtime";function dt(e){return!e.errors||e.errors.length===0?null:st("ul",{className:"text-sm text-red-600 dark:text-red-500",id:e.name?`${e.name}-error`:void 0,children:e.errors?.map((t,n)=>st("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}import{twMerge as tn}from"tailwind-merge";import{jsx as nn}from"react/jsx-runtime";function O(e){let t=e.errors&&e.errors.length>0;return nn("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[le]:"true"},...e.disabled&&{[ae]:"true"},"data-orientation":e.orientation,className:tn("group flex w-full flex-col items-center data-[invalid=true]:text-red-600 data-[invalid=true]:dark:text-red-500","data-[clickable=true]:items-start",e.isCheckbox&&"flex-row-reverse!","data-[clickable=true]:has-[>[data-slot=field-content]]:[&>:first-child]:mt-px",Ye(e.cols),e.className),children:e.children})}import{twMerge as rn}from"tailwind-merge";import{jsx as on}from"react/jsx-runtime";function ut(e){return on(O,{...e,orientation:u,className:rn("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}import{twMerge as ln}from"tailwind-merge";import{jsx as an}from"react/jsx-runtime";function ft(e){return an(O,{...e,orientation:g,className:ln("gap-2 md:flex-row md:gap-4","[&>[data-slot=field-content]]:min-w-0 [&>[data-slot=field-content]]:flex-grow [&>[data-slot=field-content]]:self-start","[&_[role=checkbox]]:mt-[1.5px]",e.isClickable&&"md:flex-col",!e.isClickable&&["md:justify-between","[&>*:not([data-slot=field-content])]:w-full","[&>*:not([data-slot=field-content])]:md:w-1/2","[&>*:not([data-slot=field-content])]:xl:w-2/5"]),children:e.children})}import{jsx as mt}from"react/jsx-runtime";function pt(e){let t=Fe(e.field),n=d(e.field);return e.orientation===u?mt(ut,{cols:e.cols,disabled:e.disabled,errors:e.errors,isCheckbox:n,isClickable:t,children:e.children}):mt(ft,{cols:e.cols,disabled:e.disabled,errors:e.errors,isCheckbox:n,isClickable:t,children:e.children})}var L=V();function gt(e){if(c(e))return cn(e)}function cn(e){if(xe(e))return Ue();if(Re(e)){let t=e.advanced?.length?.min??L,n=e.advanced?.length?.max??L+5;return $e(v(t,L),v(n,L))}}function bt(e,t=!1){let n={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return Te(e)?{...n,...sn(e)}:c(e)?{...n,...dn(e)}:Ae(e)?{...n,...un(e)}:n}function sn(e){let t=be(e.type),n={...e,type:t};return{...yt(e),...fn(n),...he(n)?xt(n):{},type:t}}function dn(e){let t=gt(e);return t?{options:t}:{}}function un(e){return{...yt(e),...xt(e)}}function yt(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function fn(e){return Ce(e)?mn(e):{}}function xt(e){return Rt(e,{min:fe,max:me})}function mn(e){return Rt(e,{min:de,max:ue})}function Rt(e,t){let n={},r=e.advanced?.length;return r&&(r.min!==void 0&&(n[t.min]=r.min),r.max!==void 0&&(n[t.max]=r.max)),n}function Tt(e,t){let n=Ve(e.advanced?.aria);return t&&t.length>0&&(n[ie]="true",n[oe]=`${e.name}-error`),n}function At(e){return ve(e.advanced?.data)}function ht(e){if(!e.field.type)return null;let t=bt(e.field,e.disabled),n=At(e.field),r=Tt(e.field,e.errors),o={...e.field,disabled:t.disabled};return e.children({ariaAttributes:r,commonProps:t,dataAttributes:n,field:o})}import{jsx as B,jsxs as pn}from"react/jsx-runtime";function Ct(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:r}=P(e.style,{orientation:E(e.field)}),o=ke(e.field,e.disabled);return pn("div",{className:"flex flex-col gap-3",children:[B(pt,{cols:t,disabled:o,errors:n,field:e.field,orientation:r,children:B(ht,{disabled:o,errors:n,field:e.field,children:e.children})}),B(dt,{errors:n,name:e.field.name})]})}import{Fragment as gn}from"react";import{jsx as X,jsxs as bn}from"react/jsx-runtime";function Y(e){let t=k(e.fields),{column:n,field:r}=e.components;return t.map((o,i)=>bn(gn,{children:[Ne(o)&&X(n,{column:o,children:X(Y,{...e,fields:o.fields})}),Se(o)&&X(r,{disabled:e.disabled,field:o,style:e.style,children:e.children})]},i))}import{jsx as yn}from"react/jsx-runtime";var Ft=e=>yn(Y,{...e,components:{column:ct,field:Ct}});import{jsx as U}from"react/jsx-runtime";function $(e){return U(Je,{config:e.config,control:e.children,definition:e.definition,readOnly:e.readOnly,sections:e.sections,children:({disabled:t,fields:n})=>U(Ft,{disabled:t,fields:n,style:e.config.style,children:r=>U(lt,{...r,config:e.config,source:e.source,value:e.value})})})}import{Suspense as xn}from"react";import{jsx as Nt}from"react/jsx-runtime";function Rn(e){return Nt(xn,{fallback:Nt($,{config:e.config,sections:e.sections,readOnly:!0}),children:e.children})}export{Rn as Fallback,$ as Form};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-luna-form",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.16",
|
|
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",
|
|
@@ -8,8 +8,9 @@
|
|
|
8
8
|
"type": "module",
|
|
9
9
|
"sideEffects": false,
|
|
10
10
|
"keywords": [
|
|
11
|
+
"event",
|
|
11
12
|
"forms",
|
|
12
|
-
"json
|
|
13
|
+
"json",
|
|
13
14
|
"react",
|
|
14
15
|
"validation"
|
|
15
16
|
],
|
|
@@ -27,12 +28,12 @@
|
|
|
27
28
|
"zod": "^4.0.0"
|
|
28
29
|
},
|
|
29
30
|
"devDependencies": {
|
|
30
|
-
"@types/react": "19.2.
|
|
31
|
+
"@types/react": "19.2.9",
|
|
31
32
|
"@types/react-dom": "19.2.3",
|
|
32
33
|
"eslint-plugin-react": "7.37.5",
|
|
33
34
|
"eslint-plugin-react-hooks": "7.0.1",
|
|
34
35
|
"eslint-plugin-react-refresh": "0.4.26",
|
|
35
|
-
"@luna-form/core": "0.0.
|
|
36
|
+
"@luna-form/core": "0.0.16"
|
|
36
37
|
},
|
|
37
38
|
"license": "Apache-2.0",
|
|
38
39
|
"repository": {
|