react-luna-form 0.0.13 → 0.0.14
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/helper/input.d.ts +1 -1
- package/dist/types/luna-core/src/index.d.ts +1 -0
- package/dist/types/luna-core/src/util/style.d.ts +5 -0
- package/dist/types/luna-react/src/client/component/form-content.d.ts +13 -0
- package/dist/types/luna-react/src/client/component/form.d.ts +3 -3
- package/dist/types/luna-react/src/client/component/hydrate.d.ts +5 -0
- package/dist/types/luna-react/src/client/component/wrapper/with-error.d.ts +3 -0
- package/dist/types/luna-react/src/client/hook/use-form-action.d.ts +0 -1
- package/dist/types/luna-react/src/client/hook/use-value.d.ts +6 -0
- package/dist/types/luna-react/src/client/lib/store-helper.d.ts +15 -0
- package/dist/types/luna-react/src/component/control.d.ts +3 -1
- package/dist/types/luna-react/src/component/field/field-base.d.ts +2 -0
- package/dist/types/luna-react/src/component/field/field-group.d.ts +3 -2
- package/dist/types/luna-react/src/component/field/field-horizontal.d.ts +2 -0
- package/dist/types/luna-react/src/component/field/field-set.d.ts +1 -1
- package/dist/types/luna-react/src/component/field/field-vertical.d.ts +2 -0
- package/dist/types/luna-react/src/component/form.d.ts +3 -2
- package/dist/types/luna-react/src/lib/util/style.d.ts +5 -0
- package/dist/types/luna-react/src/type.d.ts +3 -0
- package/package.json +3 -2
package/dist/client/cjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var Ao=Object.create;var j=Object.defineProperty;var So=Object.getOwnPropertyDescriptor;var Eo=Object.getOwnPropertyNames;var Fo=Object.getPrototypeOf,No=Object.prototype.hasOwnProperty;var Io=(e,t)=>{for(var r in t)j(e,r,{get:t[r],enumerable:!0})},Ye=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Eo(t))!No.call(e,n)&&n!==r&&j(e,n,{get:()=>t[n],enumerable:!(o=So(t,n))||o.enumerable});return e};var Co=(e,t,r)=>(r=e!=null?Ao(Fo(e)):{},Ye(t||!e||!e.__esModule?j(r,"default",{value:e,enumerable:!0}):r,e)),vo=e=>Ye(j({},"__esModule",{value:!0}),e);var dn={};Io(dn,{Form:()=>To});module.exports=vo(dn);var qe=require("react/jsx-runtime");function He(e){return(0,qe.jsx)("div",{"data-slot":"field-control",className:"w-full",children:e.children})}var $e=require("react/jsx-runtime");function X(e){return(0,$e.jsx)("div",{"data-slot":"field-group","data-compact":e.compact,className:"flex w-full flex-col gap-8 data-[compact=true]:gap-3",children:e.children})}var J="input",We="input/email",Ze="input/number";var Ke="textarea",ze="radio",je="checkbox",Je="select",Qe="select/month",et="select/year";var Ne="column";var tt="label",V="value",Q="options",Ie="email",rt="number",ot="password",nt="tel",Y="text",it="aria-errormessage",lt="aria-invalid",at="data-invalid",ct="data-readonly",ut="aria",st="data",ee="min",te="max",dt="minLength",mt="maxLength",L="$ref",ft="source";var re="http://luna.internal",A="vertical",M="horizontal";function c(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function oe(e){return e==null||e===""}function S(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function C(e){return typeof e=="string"}function pt(e){return c(e)&&"url"in e}var Po=/[^/]+$/;function gt(e,t=[],r=V){if(Array.isArray(t))return t.find(o=>{let n=Ce(o,r);if(n!==void 0&&`${n}`===e)return o})??{value:e}}function Ce(e,t=V){if(e!=null){if(S(e))return e;if(c(e)){let r=ko(e,t);if(S(r))return r}}}function ko(e,t){let r=E(e,t);if(S(r))return r}function yt(e,t){if(Array.isArray(e))return e;let r=E(e,t);return Array.isArray(r)?r:null}function E(e,t){if(!t||!c(e))return null;let r=t.split(".").filter(n=>n!=="");if(r.length===0)return null;let o=e;for(let n of r)if(c(o)&&n in o)o=o[n];else return null;return o}function xt(e,t={label:tt,value:V}){return e.map(r=>{if(c(r)){let o=E(r,t.label),n=E(r,t.value);if(S(o)&&S(n))return{label:`${o}`,value:`${n}`}}return r})}function Tt(e=Y){if(e){let t=e.match(Po);if(t){let[r]=t;if(r!==J)return r.trim().toLowerCase()}}return Y}function bt(e){let t={};for(let r of e.keys()){let o=e.getAll(r);t[r]=o.length>1?o:o[0]}return t}var Oo=/\[([^\]]+)\]\(([^)]+)\)/g;function v(e,t={}){if(C(e))return wo(e,t);if(Array.isArray(e))return e.map(r=>v(r,t));if(c(e)){let r={};for(let o in e)r[o]=v(e[o],t);return r}return e}function ne(e){return C(e)?/{([^}]+)}/.test(e):Array.isArray(e)?e.some(t=>ne(t)):c(e)?Object.values(e).some(t=>ne(t)):!1}function wo(e,t={}){return e.replace(/{([^}]+)}/g,(r,o)=>{let n=o.includes(".")?E(t,o):t[o];return S(n)?String(n):r})}function ht(e,t){if(!e||e.trim().length===0)return null;let r,o=0,n=!1,i=[];for(;(r=Oo.exec(e))!==null;){let[l,a,d]=r,s=r.index;n=!0,s>o&&i.push(e.substring(o,s));let f=t?t(s,d,a):l;i.push(f),o=s+l.length}return n?(o<e.length&&i.push(e.substring(o)),i):e}var ie=e=>x(Qe)(e),le=e=>x(et)(e),T=x(je),ve=x(J),b=x(ze),y=x(Je),Pe=x(Ke),Rt=x(Y,Ie,ot,nt),At=x(We,Ie),ae=x(Ze,rt);function St(e){return b(e)||T(e)}function Et(e){return e.type===Ne}function Ft(e){return e.type!==Ne}function Nt(e){return y(e)||b(e)}function It(e){return ve(e)||Pe(e)}function ke(e){return e!=null&&e!==""}function x(...e){return t=>{let r=C(t.type)?t.type:void 0;return r?e.some(o=>r===o||r?.startsWith(`${o}/`)):!1}}function Ct(e,t={}){if(y(e)&&e.disabled){let r=e.name?t?.[e.name]:void 0;if(r&&c(r))return[r]}}function ce(e){return b(e)||T(e)?M:e.advanced?.orientation??A}function vt(e,t){let r=e.readonly??!1;return t||r}function Pt(e){if(b(e)||y(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||c(t)&&!(L in t))return t}}function kt(e,t){let r=Pt(e);return r||Ct(e,t)}function Do(e,t){let r=c(t)&&e.name in t?t[e.name]:t;return Ce(r,e.advanced?.entity)}function Vo(e,t,r){return Nt(e)&&Array.isArray(r)?{...t,[Q]:r}:t}function Lo(e,t,r){if(e.required&&!ke(r)&&y(e)&&e.advanced?.preselected!==!1&&Q in t){let o=t[Q];if(Array.isArray(o)&&o.length===1)return o[0]}return r}function Mo(e,t){return y(e)&&Array.isArray(t)?xt(t,e.advanced?.options):t}function Ot(e,t,r,o){let n=Do(e,o),i=Array.isArray(r)?Mo(e,r):r,l=Vo(e,t,i),a=Lo(e,l,n);return{commonPropsWithOptions:l,defaultValue:a}}function wt(e,t){return T(e)?{checked:ke(t)}:{value:t??""}}var _o=/^#\/definition\//;function se(e=[],t){let r=ue(e,t);return Array.isArray(r)?r.filter(o=>o.hidden!==!0).sort((o,n)=>Dt(o)-Dt(n)):[]}function ue(e,t,r=new Map,o=new WeakSet){if(!Bo(t)||!e||typeof e!="object")return e;if(r.has(e))return r.get(e);if(o.has(e))return e;if(o.add(e),Array.isArray(e))return e.map(i=>ue(i,t,r,o));if(L in e&&C(e[L])){let i=e[L].replace(_o,""),l=E(t,i);return l!==null?ue(l,t,r,o):e}let n={};for(let[i,l]of Object.entries(e))n[i]=ue(l,t,r,o);return o.delete(e),r.set(e,n),n}function Vt(e){return Object.entries(e??{})}function Dt(e){return e.order??Number.MAX_VALUE}function Bo(e){return e!==void 0&&c(e)&&Object.keys(e).length>0}function Lt(e,t){let r={};for(let[o,n]of Vt(t))r[`${e}-${o}`]=n;return r}function Mt(e){return Lt(ut,e)}function _t(e){return Lt(st,e)}var Bt={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},Ut={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function Gt(e,t=2){return Bt[e&&e in Bt?e:t]}function Xt(e){if(e&&e in Ut)return Ut[e]}var Uo=/^\d+$/;function Yt(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function Ht(e,t){return t>=e?Array.from({length:t-e+1},(r,o)=>{let n=e+o;return{value:n.toString(),label:n.toString()}}):[]}function Oe(){return new Date().getFullYear()}function we(e,t){if(typeof e=="number")return e;let r=t??Oe(),o=e.trim().toLowerCase();if(o.startsWith("current")){let n=o.match(/^current([+-])(\d+)$/);if(n){let[,i,l]=n,a=parseInt(l,10);if(!isNaN(a))return i==="+"?r+a:r-a}return r}return Uo.test(o)?parseInt(o,10):r}var u=require("zod");var Go=[[ae,$o],[At,Xo],[le,Wo],[ie,Zo],[T,Yo],[b,Ho]];function qt(e){return u.z.object(e)}function $t(e){let t={},r=u.z.flattenError(e).fieldErrors;for(let[o,n]of Object.entries(r))n!==void 0&&(t[o]=n);return t}function Wt(e){for(let[t,r]of Go)if(t(e))return r(e);return qo(e)}function Xo(e){let t=u.z.string().trim();if(e.required){let r=t.min(1,e.validation?.required).pipe(u.z.email(e.validation?.email));return u.z.preprocess(o=>oe(o)?"":o,r)}return t.pipe(u.z.email(e.validation?.email)).or(u.z.literal("")).nullable()}function Yo(e){let t=u.z.coerce.boolean();return e.required?(t=t.refine(r=>r===!0,{message:e.validation?.required}),u.z.preprocess(r=>r===null?!1:r,t)):t.nullable()}function Ho(e){let t=u.z.coerce.string();return e.required?(t=t.min(1,e.validation?.required),u.z.preprocess(r=>oe(r)?"":r,t)):t.or(u.z.literal("")).nullable()}function qo(e){let t=u.z.coerce.string().trim();return t=Zt(t,e),e.required?(t=Kt(t,e),u.z.preprocess(r=>oe(r)?"":r,t)):t.nullable()}function $o(e){let t=u.z.coerce.number().int();return t=Zt(t,e),e.required?(t=Kt(t,e),u.z.preprocess(r=>r===null?void 0:r,t)):t.nullable()}function Wo(e){if(e.required){let t=u.z.coerce.number({message:e.validation?.required}).int();return u.z.preprocess(Ko,t)}return u.z.coerce.number().int().nullable()}function Zo(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 Ko(e){return e===null||e===""?void 0:e}function Zt(e,t){return e=zo(e,t),e=jo(e,t),e}function Kt(e,t){let r=t.advanced?.length?.min;return r===void 0||r<1?e.min(1,t.validation?.required):e}var zo=(e,t)=>zt(e,t,ee),jo=(e,t)=>zt(e,t,te);function zt(e,t,r){let o=t.advanced?.length?.[r];return o!==void 0?e[r](o,t.validation?.length?.[r]):e}function jt(e,t){if(!t||!Qo(e))return!0;if(t.length===0)return!1;try{let r=new URL(e),o=r.protocol.replace(":",""),n=r.hostname,i=r.port||Jo(o);return t.some(l=>!(l.protocol&&l.protocol!==o||l.hostname&&l.hostname!==n||l.port!==void 0&&String(l.port)!==i))}catch{return!1}}function Jo(e){return e==="https"?"443":"80"}function Qo(e){return/^(https?:)?\/\//.test(e)}function Jt(e,t){try{if(!e)return t;if(!t)return e;let r=new URL(e,re);new URL(t,re).searchParams.forEach((i,l)=>{r.searchParams.set(l,i)});let n=r.toString();return e.startsWith("/")||!e.includes("://")?n.replace(re,""):n}catch{return t||e}}function Qt(e){return!Array.isArray(e)||e.length===0?null:e.reduce((t,r)=>{let o=Jt(t.url,r.url),n=en(t,r),i=tn(t,r);return{...t,...r,url:o,body:n,headers:i}})}function en(e,t){return c(t.body)&&c(e?.body)?{...e.body,...t.body}:t.body??e?.body}function tn(e,t){return c(t.headers)&&c(e?.headers)?{...e.headers,...t.headers}:t.headers??e?.headers}function er(e=[],t){let r=[],o=[];e.forEach(n=>{n.action===V&&r.push(n),n.action===ft&&o.push(n)}),t({sources:o,values:r})}function tr(e=null,t=[],r){t.forEach(o=>{let{target:n,source:i}=o;if(!e){r(n,void 0);return}if(pt(i)){let l=v(i.url,e),a=i.body?v(i.body,e):i.body;r(n,{...i,url:l,body:a})}})}function rr(e=null,t=[],r){t.forEach(o=>{Object.entries(o.value).forEach(([n,i])=>{r(n,e?v(i,e):void 0)})})}var or=require("react/jsx-runtime");function H(e){return ht(e,(t,r,o)=>(0,or.jsx)("a",{className:"underline",href:r,rel:"noopener noreferrer",target:"_blank",children:o},`${r}-${t}`))}var P=require("react/jsx-runtime");function nr(e){return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:H(e.title)}),(0,P.jsx)("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:H(e.description)})]})}function de(e,t){return{...e,...t}}var _=require("react/jsx-runtime");function ir(e){let t=e.section.fields||[],{compact:r}=de(e.style,{compact:e.section.compact});return!e.section.title&&!e.section.description?(0,_.jsx)(X,{compact:r,children:e.children}):(0,_.jsxs)("fieldset",{"data-slot":"field-set","data-empty":t.length===0,className:"flex flex-col data-[empty=false]:gap-6",children:[(0,_.jsx)(nr,{description:e.section.description,title:e.section.title}),(0,_.jsx)(X,{compact:r,children:e.children})]})}var ar=require("react");var De=require("react/jsx-runtime");function lr(){return(0,De.jsx)("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:(0,De.jsx)("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}var h=require("react/jsx-runtime");function cr(e){let t=se(e.sections,e.definition);return(0,h.jsx)("div",{className:"h-full w-full",children:(0,h.jsx)("form",{noValidate:e.noValidate,action:e.action,children:(0,h.jsxs)(X,{children:[t.map((r,o)=>(0,h.jsxs)(ar.Fragment,{children:[(0,h.jsx)(ir,{section:r,style:e.config.style,children:e.children({disabled:e.readOnly,fields:r.fields})}),r.separator&&(0,h.jsx)(lr,{})]},o)),e.control&&(0,h.jsx)(He,{children:e.control})]})})})}var sr=require("react/jsx-runtime");function ur(e){return(0,sr.jsx)("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}var dr=require("react/jsx-runtime");function me(e){let t=H(e.text);return t?(0,dr.jsx)(ur,{children:t}):null}var mr=require("tailwind-merge"),fe=require("react/jsx-runtime");function fr(e){let t=b(e.field)||T(e.field);return(0,fe.jsxs)("label",{"data-slot":"field-label","data-normal":t,className:(0,mr.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,fe.jsx)("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:"(Optional)"})]})}var q=require("react/jsx-runtime");function pr(e){return(0,q.jsxs)("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[(0,q.jsx)(fr,{field:e.field,children:e.field.label}),e.orientation===M&&(0,q.jsx)(me,{text:e.field.description})]})}var k=require("react/jsx-runtime");function gr(e){let t=ce(e.field);return(0,k.jsxs)(k.Fragment,{children:[e.field.name&&e.field.label&&(0,k.jsx)(pr,{field:e.field,orientation:t}),e.children,t===A&&e.field.description&&(0,k.jsx)(me,{text:e.field.description})]})}function pe(e,t){return e?t(e):null}var br=require("jotai");var O=require("jotai"),Ve=require("jotai-family"),ge=require("fast-equals");function ye(e){return(0,Ve.atomFamily)(t=>(0,O.atom)(r=>r(e)[t]??void 0,(r,o,n)=>{let i=r(e);if(n!=null){let l=i[t];(!l||!(0,ge.deepEqual)(l,n))&&o(e,{...i,[t]:n})}else if(i[t]){let{[t]:l,...a}=i;o(e,a)}}))}function yr(e){return(0,O.atom)(null,(t,r)=>{let o=t(e);o&&Object.keys(o).length>0&&r(e,{})})}function xe(e){return(0,O.atom)(null,(t,r,o)=>{let i={...t(e)},l=!1;for(let a of o)i[a]&&(delete i[a],l=!0);l&&r(e,i)})}function Te(e){return(0,O.atom)(null,(t,r,o)=>{let n=t(e);(0,ge.deepEqual)(n,o)||r(e,o)})}function xr(e,t={}){let{merge:r,validateTarget:o}=t;return(0,Ve.atomFamily)(n=>(0,O.atom)(i=>{let l=i(e)[n];if(l&&r)return r(Object.values(l))},(i,l,a,d)=>{if(o&&!o(a))return;let s=i(e),f={...s[a]??{}};if(d!=null){let I=f[n];(!I||!(0,ge.deepEqual)(I,d))&&(f[n]=d,l(e,{...s,[a]:f}))}else if(f[n])if(delete f[n],Object.keys(f).length===0){let{[a]:I,...G}=s;l(e,G)}else l(e,{...s,[a]:f})}))}function Tr(e){return(0,O.atom)(null,(t,r,o)=>{let i={...t(e)},l=!1;for(let a of o)i[a]&&(delete i[a],l=!0);for(let a in i){let d={...i[a]},s=!1;for(let f of o)d[f]&&(delete d[f],s=!0,l=!0);s&&(Object.keys(d).length===0?delete i[a]:i[a]=d)}l&&r(e,i)})}var $=(0,br.atom)({}),hr=xe($),Rr=Te($),Ar=ye($);var Sr=require("jotai");var F=(0,Sr.atom)({}),Er=yr(F),Fr=xe(F),Xi=Te(F),Nr=ye(F);var Mr=require("react"),W=require("jotai");var Ir=require("jotai");var Cr=(0,Ir.atom)({}),vr=xr(Cr,{merge:e=>{let t=Qt(e);if(t)return t},validateTarget:e=>e.trim()!==""}),Pr=Tr(Cr);var wr=require("jotai");var kr=Co(require("swr"),1);function Or(e=null,t,r=!1){let{data:o,error:n}=(0,kr.default)(rn(e,t,r),t.fetcher.provider);if(n&&console.error("Error fetching data source:",n),e){if(Array.isArray(e))return[e];if(o)return[yt(o,e.namespace)]}return[null]}function rn(e=null,t,r=!1){if(e&&!Array.isArray(e)&&!r&&e.url&&!ne(e.url)){if(jt(e.url,t.fetcher.remotePatterns))return e;console.warn(`URL blocked by remotePatterns: ${e.url}. Check your luna.config.ts`)}return null}function Dr(e,t,r){let o=kt(e,r),[n,i]=(0,wr.useAtom)(vr(e.name)),l=n??o,[a]=Or(l,t,e.disabled);return[a,i]}var w=require("react");function Vr(e,t,r){let o=(0,w.useMemo)(()=>Wt(e),[e]),n=(0,w.useEffectEvent)(l=>{l&&t(l,o)}),i=(0,w.useEffectEvent)(l=>{l&&r(l)});return(0,w.useEffect)(()=>(n(e.name),()=>{i(e.name)}),[e.name]),[o]}var be=require("react");function Lr(){let e=(0,be.useRef)(null);(0,be.useEffect)(()=>{let o=e.current;return()=>{o&&clearTimeout(o)}},[]);function t(){e.current&&(clearTimeout(e.current),e.current=null)}function r(o,n){t(),e.current=setTimeout(o,n)}return[r,t]}var Le=require("react/jsx-runtime");function _r(e){let t=(0,W.useSetAtom)(Ar(e.field.name)),[r,o]=(0,W.useAtom)(Nr(e.field.name)),n=(0,W.useSetAtom)(F),[i]=Vr(e.field,e.onMount,e.onUnmount),[l,a]=Dr(e.field,e.config,r),{commonPropsWithOptions:d,defaultValue:s}=Ot(e.field,e.commonProps,l,r),f=wt(e.field,s),[I]=Lr();function G(m,g){if(It(e.field)){I(()=>{g({value:m})},500);return}let p=gt(m,l,e.field.advanced?.entity);g(p)}function Se(m){let g=m.target.value;o(g),e.config.validation.change&&D(g);let p=e.field.event?.change;p&&G(g,z=>{er(p,({sources:bo,values:ho})=>{(0,Mr.startTransition)(()=>{tr(z,bo,(Ee,Fe)=>a(Ee,Fe)),rr(z,ho,(Ee,Fe)=>{n(Ro=>({...Ro,[Ee]:Fe}))})})})})}function K(m){if(St(e.field))return;let g=m.target.value;e.config.validation.blur&&D(g)}function D(m){let p=i.safeParse(m).error?.issues.map(z=>z.message)??[];t(p)}return pe(e.config.inputs[e.field.type],m=>(0,Le.jsx)(gr,{field:e.field,children:(0,Le.jsx)(m,{...d,...e.ariaAttributes,...e.dataAttributes,...f,onBlur:K,onChange:Se})}))}var Br=require("tailwind-merge"),Me=require("react/jsx-runtime");function Ur(e){let t=Gt(e.column?.advanced?.cols);return(0,Me.jsx)("div",{className:"flex w-full flex-col gap-4",children:(0,Me.jsx)("div",{className:(0,Br.twMerge)("grid grid-cols-1 gap-8 sm:gap-4",t),children:e.children})})}var _e=require("react/jsx-runtime");function Gr(e){return!e.errors||e.errors.length===0?null:(0,_e.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,_e.jsx)("li",{children:t},e.name?`${e.name}-error-${r}`:r))})}var Xr=require("tailwind-merge"),Yr=require("react/jsx-runtime");function he(e){let t=e.errors&&e.errors.length>0;return(0,Yr.jsx)("div",{"data-slot":"field",...t&&{[at]:"true"},...e.disabled&&{[ct]:"true"},"data-orientation":e.orientation,className:(0,Xr.twMerge)("group flex w-full flex-col items-center data-[invalid=true]:text-red-600 data-[invalid=true]:dark:text-red-500","has-[>[role=checkbox],[role=radiogroup]]:items-start","has-[>[role=checkbox]]:flex-row-reverse","has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radiogroup]]:mt-px",Xt(e.cols),e.className),children:e.children})}var qr=require("react/jsx-runtime");function Hr(e){return(0,qr.jsx)(he,{...e,orientation:A,className:"gap-3 has-[>[data-slot=field-content]]:items-start [&>*:not([role=checkbox]):not([role=radiogroup])]:w-full",children:e.children})}var Wr=require("react/jsx-runtime");function $r(e){return(0,Wr.jsx)(he,{...e,orientation:M,className:"gap-2 md:flex-row md:gap-4 has-[>[role=radiogroup]]:md:flex-col [&:not(:has(>[role=checkbox],[role=radiogroup]))]:md:justify-between [&>*:not([role=checkbox]):not([role=radiogroup]):not([data-slot=field-content])]:w-full [&>*:not([role=checkbox]):not([role=radiogroup]):not([data-slot=field-content])]:md:w-1/2 [&>*:not([role=checkbox]):not([role=radiogroup]):not([data-slot=field-content])]:xl:w-2/5 [&>[data-slot=field-content]]:min-w-0 [&>[data-slot=field-content]]:flex-grow [&>[data-slot=field-content]]:self-start",children:e.children})}var Be=require("react/jsx-runtime");function Zr(e){return e.orientation===A?(0,Be.jsx)(Hr,{cols:e.cols,disabled:e.disabled,errors:e.errors,children:e.children}):(0,Be.jsx)($r,{cols:e.cols,disabled:e.disabled,errors:e.errors,children:e.children})}var Re=Oe();function Kr(e){if(y(e))return on(e)}function on(e){if(ie(e))return Yt();if(le(e)){let t=e.advanced?.length?.min??Re,r=e.advanced?.length?.max??Re+5;return Ht(we(t,Re),we(r,Re))}}function zr(e,t=!1){let r={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return ve(e)?{...r,...nn(e)}:y(e)?{...r,...ln(e)}:Pe(e)?{...r,...an(e)}:r}function nn(e){let t=Tt(e.type),r={...e,type:t};return{...jr(e),...cn(r),...Rt(r)?Jr(r):{},type:t}}function ln(e){let t=Kr(e);return t?{options:t}:{}}function an(e){return{...jr(e),...Jr(e)}}function jr(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function cn(e){return ae(e)?un(e):{}}function Jr(e){return Qr(e,{min:dt,max:mt})}function un(e){return Qr(e,{min:ee,max:te})}function Qr(e,t){let r={},o=e.advanced?.length;return o&&(o.min!==void 0&&(r[t.min]=o.min),o.max!==void 0&&(r[t.max]=o.max)),r}function eo(e,t){let r=Mt(e.advanced?.aria);return t&&t.length>0&&(r[lt]="true",r[it]=`${e.name}-error`),r}function to(e){return _t(e.advanced?.data)}function ro(e){if(!e.field.type)return null;let t=zr(e.field,e.disabled),r=to(e.field),o=eo(e.field,e.errors),n={...e.field,disabled:t.disabled};return e.children({ariaAttributes:o,commonProps:t,dataAttributes:r,field:n})}var B=require("react/jsx-runtime");function oo(e){let t=e.field.advanced?.cols,r=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:o}=de(e.style,{orientation:ce(e.field)}),n=vt(e.field,e.disabled);return(0,B.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,B.jsx)(Zr,{cols:t,disabled:n,errors:r,orientation:o,children:(0,B.jsx)(ro,{disabled:n,errors:r,field:e.field,children:e.children})}),(0,B.jsx)(Gr,{errors:r,name:e.field.name})]})}var no=require("jotai"),lo=require("react/jsx-runtime");function io(e){return r=>{let o=(0,no.useAtomValue)($);return(0,lo.jsx)(e,{...r,errors:o})}}var ao=io(oo);var co=require("react"),U=require("react/jsx-runtime");function Ue(e){let t=se(e.fields),{column:r,field:o}=e.components;return t.map((n,i)=>(0,U.jsxs)(co.Fragment,{children:[Et(n)&&(0,U.jsx)(r,{column:n,children:(0,U.jsx)(Ue,{...e,fields:n.fields})}),Ft(n)&&(0,U.jsx)(o,{disabled:e.disabled,field:n,style:e.style,children:e.children})]},i))}var so=require("react/jsx-runtime"),uo=e=>(0,so.jsx)(Ue,{...e,components:{column:Ur,field:ao}});var Xe=require("jotai");var Z=require("react");function fo(e,t,r){let{onSuccess:o,preserveValues:n=!1,validation:i=!0,value:l=null}=r??{},a=(0,Xe.useSetAtom)(Rr),d=(0,Xe.useSetAtom)(Er),s={data:l,error:null,success:!1},[f,I,G]=(0,Z.useActionState)(async(Se,K)=>{let D=qt(e());if(i===!1)return t?await t(K,D):Se;let m=bt(K),g=D.safeParse(m);if(!g.success){let p=$t(g.error);return(0,Z.startTransition)(()=>{a(p)}),Ge(m,{details:p,title:"There were validation errors submitting the form."})}if(t)try{let p=await t(m,D);return p.success?(o?.(p.data),n||(0,Z.startTransition)(()=>{d()}),mo(m,n)):Ge(m,p.error)}catch(p){return console.log("Error submitting form action:",p),Ge(m,{title:"An unexpected error occurred submitting the form.",details:sn(p)})}return mo(g.data,n)},s);return[I,f,G]}function sn(e){let t=e instanceof Error?e.message:["Unknown error"];return Array.isArray(t)?t:[t]}function mo(e,t=!1){return{data:t?e:null,error:null,success:!0}}function Ge(e,t){return{data:e,error:t,success:!1}}var xo=require("jotai/utils");var N=require("react");var po=require("react"),Ae=require("jotai");function go(){let e=(0,Ae.useSetAtom)(hr),t=(0,Ae.useSetAtom)(Pr),r=(0,Ae.useSetAtom)(Fr);return(0,po.useCallback)(o=>{let n=Array.isArray(o)?o:[o];e(n),t(n),r(n)},[e,t,r])}function yo(){let e=go(),t=(0,N.useRef)({}),r=(0,N.useRef)(new Set),o=(0,N.useCallback)((l,a)=>{l in t.current||(t.current[l]=a)},[]),n=(0,N.useCallback)(l=>{t.current[l]&&(delete t.current[l],r.current.add(l),(0,N.startTransition)(()=>{r.current.size>0&&(e(Array.from(r.current)),r.current.clear())}))},[e]);function i(){return t.current}return[i,o,n]}var R=require("react/jsx-runtime");function To(e){let[t,r,o]=yo(),[n,i]=fo(t,e.action,{onSuccess:e.onSuccess,validation:e.config.validation.submit,value:e.value});(0,xo.useHydrateAtoms)([[F,e.value??{}]]);let l=e.config.validation.showError&&!i.success&&i.error;return(0,R.jsx)(cr,{action:n,config:e.config,control:e.children,definition:e.definition,noValidate:!0,readOnly:e.readOnly,sections:e.sections,children:({disabled:a,fields:d})=>(0,R.jsxs)(R.Fragment,{children:[l&&pe(e.config.alert,s=>(0,R.jsx)(s,{title:i.error.title,description:i.error?.description,details:i.error?.details})),(0,R.jsx)(uo,{disabled:a,fields:d,style:e.config.style,children:s=>(0,R.jsx)(_r,{...s,config:e.config,onMount:r,onUnmount:o,value:i.data})})]})})}
|
|
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})})}
|
package/dist/client/esm/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as Zr}from"react/jsx-runtime";function Ne(e){return Zr("div",{"data-slot":"field-control",className:"w-full",children:e.children})}import{jsx as Kr}from"react/jsx-runtime";function w(e){return Kr("div",{"data-slot":"field-group","data-compact":e.compact,className:"flex w-full flex-col gap-8 data-[compact=true]:gap-3",children:e.children})}var U="input",Ie="input/email",Ce="input/number";var ve="textarea",Pe="radio",ke="checkbox",Oe="select",we="select/month",De="select/year";var de="column";var Ve="label",C="value",G="options",me="email",Le="number",Me="password",_e="tel",D="text",Be="aria-errormessage",Ue="aria-invalid",Ge="data-invalid",Xe="data-readonly",Ye="aria",He="data",X="min",Y="max",qe="minLength",$e="maxLength",v="$ref",We="source";var H="http://luna.internal",h="vertical",P="horizontal";function c(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function q(e){return e==null||e===""}function R(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function F(e){return typeof e=="string"}function Ze(e){return c(e)&&"url"in e}var zr=/[^/]+$/;function Ke(e,t=[],r=C){if(Array.isArray(t))return t.find(o=>{let n=fe(o,r);if(n!==void 0&&`${n}`===e)return o})??{value:e}}function fe(e,t=C){if(e!=null){if(R(e))return e;if(c(e)){let r=jr(e,t);if(R(r))return r}}}function jr(e,t){let r=A(e,t);if(R(r))return r}function ze(e,t){if(Array.isArray(e))return e;let r=A(e,t);return Array.isArray(r)?r:null}function A(e,t){if(!t||!c(e))return null;let r=t.split(".").filter(n=>n!=="");if(r.length===0)return null;let o=e;for(let n of r)if(c(o)&&n in o)o=o[n];else return null;return o}function je(e,t={label:Ve,value:C}){return e.map(r=>{if(c(r)){let o=A(r,t.label),n=A(r,t.value);if(R(o)&&R(n))return{label:`${o}`,value:`${n}`}}return r})}function Je(e=D){if(e){let t=e.match(zr);if(t){let[r]=t;if(r!==U)return r.trim().toLowerCase()}}return D}function Qe(e){let t={};for(let r of e.keys()){let o=e.getAll(r);t[r]=o.length>1?o:o[0]}return t}var Jr=/\[([^\]]+)\]\(([^)]+)\)/g;function N(e,t={}){if(F(e))return Qr(e,t);if(Array.isArray(e))return e.map(r=>N(r,t));if(c(e)){let r={};for(let o in e)r[o]=N(e[o],t);return r}return e}function $(e){return F(e)?/{([^}]+)}/.test(e):Array.isArray(e)?e.some(t=>$(t)):c(e)?Object.values(e).some(t=>$(t)):!1}function Qr(e,t={}){return e.replace(/{([^}]+)}/g,(r,o)=>{let n=o.includes(".")?A(t,o):t[o];return R(n)?String(n):r})}function et(e,t){if(!e||e.trim().length===0)return null;let r,o=0,n=!1,i=[];for(;(r=Jr.exec(e))!==null;){let[l,a,d]=r,u=r.index;n=!0,u>o&&i.push(e.substring(o,u));let f=t?t(u,d,a):l;i.push(f),o=u+l.length}return n?(o<e.length&&i.push(e.substring(o)),i):e}var W=e=>x(we)(e),Z=e=>x(De)(e),T=x(ke),pe=x(U),b=x(Pe),y=x(Oe),ge=x(ve),tt=x(D,me,Me,_e),rt=x(Ie,me),K=x(Ce,Le);function ot(e){return b(e)||T(e)}function nt(e){return e.type===de}function it(e){return e.type!==de}function lt(e){return y(e)||b(e)}function at(e){return pe(e)||ge(e)}function ye(e){return e!=null&&e!==""}function x(...e){return t=>{let r=F(t.type)?t.type:void 0;return r?e.some(o=>r===o||r?.startsWith(`${o}/`)):!1}}function ct(e,t={}){if(y(e)&&e.disabled){let r=e.name?t?.[e.name]:void 0;if(r&&c(r))return[r]}}function z(e){return b(e)||T(e)?P:e.advanced?.orientation??h}function ut(e,t){let r=e.readonly??!1;return t||r}function st(e){if(b(e)||y(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||c(t)&&!(v in t))return t}}function dt(e,t){let r=st(e);return r||ct(e,t)}function eo(e,t){let r=c(t)&&e.name in t?t[e.name]:t;return fe(r,e.advanced?.entity)}function to(e,t,r){return lt(e)&&Array.isArray(r)?{...t,[G]:r}:t}function ro(e,t,r){if(e.required&&!ye(r)&&y(e)&&e.advanced?.preselected!==!1&&G in t){let o=t[G];if(Array.isArray(o)&&o.length===1)return o[0]}return r}function oo(e,t){return y(e)&&Array.isArray(t)?je(t,e.advanced?.options):t}function mt(e,t,r,o){let n=eo(e,o),i=Array.isArray(r)?oo(e,r):r,l=to(e,t,i),a=ro(e,l,n);return{commonPropsWithOptions:l,defaultValue:a}}function ft(e,t){return T(e)?{checked:ye(t)}:{value:t??""}}var no=/^#\/definition\//;function J(e=[],t){let r=j(e,t);return Array.isArray(r)?r.filter(o=>o.hidden!==!0).sort((o,n)=>pt(o)-pt(n)):[]}function j(e,t,r=new Map,o=new WeakSet){if(!io(t)||!e||typeof e!="object")return e;if(r.has(e))return r.get(e);if(o.has(e))return e;if(o.add(e),Array.isArray(e))return e.map(i=>j(i,t,r,o));if(v in e&&F(e[v])){let i=e[v].replace(no,""),l=A(t,i);return l!==null?j(l,t,r,o):e}let n={};for(let[i,l]of Object.entries(e))n[i]=j(l,t,r,o);return o.delete(e),r.set(e,n),n}function gt(e){return Object.entries(e??{})}function pt(e){return e.order??Number.MAX_VALUE}function io(e){return e!==void 0&&c(e)&&Object.keys(e).length>0}function yt(e,t){let r={};for(let[o,n]of gt(t))r[`${e}-${o}`]=n;return r}function xt(e){return yt(Ye,e)}function Tt(e){return yt(He,e)}var bt={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 Rt(e,t=2){return bt[e&&e in bt?e:t]}function At(e){if(e&&e in ht)return ht[e]}var lo=/^\d+$/;function St(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function Et(e,t){return t>=e?Array.from({length:t-e+1},(r,o)=>{let n=e+o;return{value:n.toString(),label:n.toString()}}):[]}function xe(){return new Date().getFullYear()}function Te(e,t){if(typeof e=="number")return e;let r=t??xe(),o=e.trim().toLowerCase();if(o.startsWith("current")){let n=o.match(/^current([+-])(\d+)$/);if(n){let[,i,l]=n,a=parseInt(l,10);if(!isNaN(a))return i==="+"?r+a:r-a}return r}return lo.test(o)?parseInt(o,10):r}import{z as s}from"zod";var ao=[[K,fo],[rt,co],[Z,po],[W,go],[T,uo],[b,so]];function Ft(e){return s.object(e)}function Nt(e){let t={},r=s.flattenError(e).fieldErrors;for(let[o,n]of Object.entries(r))n!==void 0&&(t[o]=n);return t}function It(e){for(let[t,r]of ao)if(t(e))return r(e);return mo(e)}function co(e){let t=s.string().trim();if(e.required){let r=t.min(1,e.validation?.required).pipe(s.email(e.validation?.email));return s.preprocess(o=>q(o)?"":o,r)}return t.pipe(s.email(e.validation?.email)).or(s.literal("")).nullable()}function uo(e){let t=s.coerce.boolean();return e.required?(t=t.refine(r=>r===!0,{message:e.validation?.required}),s.preprocess(r=>r===null?!1:r,t)):t.nullable()}function so(e){let t=s.coerce.string();return e.required?(t=t.min(1,e.validation?.required),s.preprocess(r=>q(r)?"":r,t)):t.or(s.literal("")).nullable()}function mo(e){let t=s.coerce.string().trim();return t=Ct(t,e),e.required?(t=vt(t,e),s.preprocess(r=>q(r)?"":r,t)):t.nullable()}function fo(e){let t=s.coerce.number().int();return t=Ct(t,e),e.required?(t=vt(t,e),s.preprocess(r=>r===null?void 0:r,t)):t.nullable()}function po(e){if(e.required){let t=s.coerce.number({message:e.validation?.required}).int();return s.preprocess(yo,t)}return s.coerce.number().int().nullable()}function go(e){let t=s.coerce.number().int().min(1,e.validation?.required).max(12,e.validation?.required);return e.required?t:t.nullable()}function yo(e){return e===null||e===""?void 0:e}function Ct(e,t){return e=xo(e,t),e=To(e,t),e}function vt(e,t){let r=t.advanced?.length?.min;return r===void 0||r<1?e.min(1,t.validation?.required):e}var xo=(e,t)=>Pt(e,t,X),To=(e,t)=>Pt(e,t,Y);function Pt(e,t,r){let o=t.advanced?.length?.[r];return o!==void 0?e[r](o,t.validation?.length?.[r]):e}function kt(e,t){if(!t||!ho(e))return!0;if(t.length===0)return!1;try{let r=new URL(e),o=r.protocol.replace(":",""),n=r.hostname,i=r.port||bo(o);return t.some(l=>!(l.protocol&&l.protocol!==o||l.hostname&&l.hostname!==n||l.port!==void 0&&String(l.port)!==i))}catch{return!1}}function bo(e){return e==="https"?"443":"80"}function ho(e){return/^(https?:)?\/\//.test(e)}function Ot(e,t){try{if(!e)return t;if(!t)return e;let r=new URL(e,H);new URL(t,H).searchParams.forEach((i,l)=>{r.searchParams.set(l,i)});let n=r.toString();return e.startsWith("/")||!e.includes("://")?n.replace(H,""):n}catch{return t||e}}function wt(e){return!Array.isArray(e)||e.length===0?null:e.reduce((t,r)=>{let o=Ot(t.url,r.url),n=Ro(t,r),i=Ao(t,r);return{...t,...r,url:o,body:n,headers:i}})}function Ro(e,t){return c(t.body)&&c(e?.body)?{...e.body,...t.body}:t.body??e?.body}function Ao(e,t){return c(t.headers)&&c(e?.headers)?{...e.headers,...t.headers}:t.headers??e?.headers}function Dt(e=[],t){let r=[],o=[];e.forEach(n=>{n.action===C&&r.push(n),n.action===We&&o.push(n)}),t({sources:o,values:r})}function Vt(e=null,t=[],r){t.forEach(o=>{let{target:n,source:i}=o;if(!e){r(n,void 0);return}if(Ze(i)){let l=N(i.url,e),a=i.body?N(i.body,e):i.body;r(n,{...i,url:l,body:a})}})}function Lt(e=null,t=[],r){t.forEach(o=>{Object.entries(o.value).forEach(([n,i])=>{r(n,e?N(i,e):void 0)})})}import{jsx as So}from"react/jsx-runtime";function V(e){return et(e,(t,r,o)=>So("a",{className:"underline",href:r,rel:"noopener noreferrer",target:"_blank",children:o},`${r}-${t}`))}import{Fragment as Eo,jsx as Mt,jsxs as Fo}from"react/jsx-runtime";function _t(e){return Fo(Eo,{children:[Mt("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:V(e.title)}),Mt("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:V(e.description)})]})}function Q(e,t){return{...e,...t}}import{jsx as be,jsxs as No}from"react/jsx-runtime";function Bt(e){let t=e.section.fields||[],{compact:r}=Q(e.style,{compact:e.section.compact});return!e.section.title&&!e.section.description?be(w,{compact:r,children:e.children}):No("fieldset",{"data-slot":"field-set","data-empty":t.length===0,className:"flex flex-col data-[empty=false]:gap-6",children:[be(_t,{description:e.section.description,title:e.section.title}),be(w,{compact:r,children:e.children})]})}import{Fragment as Io}from"react";import{jsx as Ut}from"react/jsx-runtime";function Gt(){return Ut("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:Ut("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}import{jsx as L,jsxs as Xt}from"react/jsx-runtime";function Yt(e){let t=J(e.sections,e.definition);return L("div",{className:"h-full w-full",children:L("form",{noValidate:e.noValidate,action:e.action,children:Xt(w,{children:[t.map((r,o)=>Xt(Io,{children:[L(Bt,{section:r,style:e.config.style,children:e.children({disabled:e.readOnly,fields:r.fields})}),r.separator&&L(Gt,{})]},o)),e.control&&L(Ne,{children:e.control})]})})})}import{jsx as Co}from"react/jsx-runtime";function Ht(e){return Co("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}import{jsx as vo}from"react/jsx-runtime";function ee(e){let t=V(e.text);return t?vo(Ht,{children:t}):null}import{twMerge as Po}from"tailwind-merge";import{jsx as ko,jsxs as Oo}from"react/jsx-runtime";function qt(e){let t=b(e.field)||T(e.field);return Oo("label",{"data-slot":"field-label","data-normal":t,className:Po("flex w-fit items-center gap-2 text-sm leading-snug font-medium select-none","data-[normal=true]:font-normal","group-data-[readonly=true]:cursor-not-allowed group-data-[readonly=true]:opacity-50"),htmlFor:e.field.name,children:[e.children,!e.field.required&&ko("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:"(Optional)"})]})}import{jsx as $t,jsxs as wo}from"react/jsx-runtime";function Wt(e){return wo("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[$t(qt,{field:e.field,children:e.field.label}),e.orientation===P&&$t(ee,{text:e.field.description})]})}import{Fragment as Do,jsx as Zt,jsxs as Vo}from"react/jsx-runtime";function Kt(e){let t=z(e.field);return Vo(Do,{children:[e.field.name&&e.field.label&&Zt(Wt,{field:e.field,orientation:t}),e.children,t===h&&e.field.description&&Zt(ee,{text:e.field.description})]})}function te(e,t){return e?t(e):null}import{atom as Lo}from"jotai";import{atom as k}from"jotai";import{atomFamily as zt}from"jotai-family";import{deepEqual as he}from"fast-equals";function re(e){return zt(t=>k(r=>r(e)[t]??void 0,(r,o,n)=>{let i=r(e);if(n!=null){let l=i[t];(!l||!he(l,n))&&o(e,{...i,[t]:n})}else if(i[t]){let{[t]:l,...a}=i;o(e,a)}}))}function jt(e){return k(null,(t,r)=>{let o=t(e);o&&Object.keys(o).length>0&&r(e,{})})}function oe(e){return k(null,(t,r,o)=>{let i={...t(e)},l=!1;for(let a of o)i[a]&&(delete i[a],l=!0);l&&r(e,i)})}function ne(e){return k(null,(t,r,o)=>{let n=t(e);he(n,o)||r(e,o)})}function Jt(e,t={}){let{merge:r,validateTarget:o}=t;return zt(n=>k(i=>{let l=i(e)[n];if(l&&r)return r(Object.values(l))},(i,l,a,d)=>{if(o&&!o(a))return;let u=i(e),f={...u[a]??{}};if(d!=null){let E=f[n];(!E||!he(E,d))&&(f[n]=d,l(e,{...u,[a]:f}))}else if(f[n])if(delete f[n],Object.keys(f).length===0){let{[a]:E,...O}=u;l(e,O)}else l(e,{...u,[a]:f})}))}function Qt(e){return k(null,(t,r,o)=>{let i={...t(e)},l=!1;for(let a of o)i[a]&&(delete i[a],l=!0);for(let a in i){let d={...i[a]},u=!1;for(let f of o)d[f]&&(delete d[f],u=!0,l=!0);u&&(Object.keys(d).length===0?delete i[a]:i[a]=d)}l&&r(e,i)})}var M=Lo({}),er=oe(M),tr=ne(M),rr=re(M);import{atom as Mo}from"jotai";var S=Mo({}),or=jt(S),nr=oe(S),gl=ne(S),ir=re(S);import{startTransition as $o}from"react";import{useAtom as Wo,useSetAtom as pr}from"jotai";import{atom as _o}from"jotai";var lr=_o({}),ar=Jt(lr,{merge:e=>{let t=wt(e);if(t)return t},validateTarget:e=>e.trim()!==""}),cr=Qt(lr);import{useAtom as Go}from"jotai";import Bo from"swr";function ur(e=null,t,r=!1){let{data:o,error:n}=Bo(Uo(e,t,r),t.fetcher.provider);if(n&&console.error("Error fetching data source:",n),e){if(Array.isArray(e))return[e];if(o)return[ze(o,e.namespace)]}return[null]}function Uo(e=null,t,r=!1){if(e&&!Array.isArray(e)&&!r&&e.url&&!$(e.url)){if(kt(e.url,t.fetcher.remotePatterns))return e;console.warn(`URL blocked by remotePatterns: ${e.url}. Check your luna.config.ts`)}return null}function sr(e,t,r){let o=dt(e,r),[n,i]=Go(ar(e.name)),l=n??o,[a]=ur(l,t,e.disabled);return[a,i]}import{useEffect as Xo,useEffectEvent as dr,useMemo as Yo}from"react";function mr(e,t,r){let o=Yo(()=>It(e),[e]),n=dr(l=>{l&&t(l,o)}),i=dr(l=>{l&&r(l)});return Xo(()=>(n(e.name),()=>{i(e.name)}),[e.name]),[o]}import{useEffect as Ho,useRef as qo}from"react";function fr(){let e=qo(null);Ho(()=>{let o=e.current;return()=>{o&&clearTimeout(o)}},[]);function t(){e.current&&(clearTimeout(e.current),e.current=null)}function r(o,n){t(),e.current=setTimeout(o,n)}return[r,t]}import{jsx as gr}from"react/jsx-runtime";function yr(e){let t=pr(rr(e.field.name)),[r,o]=Wo(ir(e.field.name)),n=pr(S),[i]=mr(e.field,e.onMount,e.onUnmount),[l,a]=sr(e.field,e.config,r),{commonPropsWithOptions:d,defaultValue:u}=mt(e.field,e.commonProps,l,r),f=ft(e.field,u),[E]=fr();function O(m,g){if(at(e.field)){E(()=>{g({value:m})},500);return}let p=Ke(m,l,e.field.advanced?.entity);g(p)}function ce(m){let g=m.target.value;o(g),e.config.validation.change&&I(g);let p=e.field.event?.change;p&&O(g,B=>{Dt(p,({sources:qr,values:$r})=>{$o(()=>{Vt(B,qr,(ue,se)=>a(ue,se)),Lt(B,$r,(ue,se)=>{n(Wr=>({...Wr,[ue]:se}))})})})})}function _(m){if(ot(e.field))return;let g=m.target.value;e.config.validation.blur&&I(g)}function I(m){let p=i.safeParse(m).error?.issues.map(B=>B.message)??[];t(p)}return te(e.config.inputs[e.field.type],m=>gr(Kt,{field:e.field,children:gr(m,{...d,...e.ariaAttributes,...e.dataAttributes,...f,onBlur:_,onChange:ce})}))}import{twMerge as Zo}from"tailwind-merge";import{jsx as xr}from"react/jsx-runtime";function Tr(e){let t=Rt(e.column?.advanced?.cols);return xr("div",{className:"flex w-full flex-col gap-4",children:xr("div",{className:Zo("grid grid-cols-1 gap-8 sm:gap-4",t),children:e.children})})}import{jsx as br}from"react/jsx-runtime";function hr(e){return!e.errors||e.errors.length===0?null:br("ul",{className:"text-sm text-red-600 dark:text-red-500",id:e.name?`${e.name}-error`:void 0,children:e.errors?.map((t,r)=>br("li",{children:t},e.name?`${e.name}-error-${r}`:r))})}import{twMerge as Ko}from"tailwind-merge";import{jsx as zo}from"react/jsx-runtime";function ie(e){let t=e.errors&&e.errors.length>0;return zo("div",{"data-slot":"field",...t&&{[Ge]:"true"},...e.disabled&&{[Xe]:"true"},"data-orientation":e.orientation,className:Ko("group flex w-full flex-col items-center data-[invalid=true]:text-red-600 data-[invalid=true]:dark:text-red-500","has-[>[role=checkbox],[role=radiogroup]]:items-start","has-[>[role=checkbox]]:flex-row-reverse","has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radiogroup]]:mt-px",At(e.cols),e.className),children:e.children})}import{jsx as jo}from"react/jsx-runtime";function Rr(e){return jo(ie,{...e,orientation:h,className:"gap-3 has-[>[data-slot=field-content]]:items-start [&>*:not([role=checkbox]):not([role=radiogroup])]:w-full",children:e.children})}import{jsx as Jo}from"react/jsx-runtime";function Ar(e){return Jo(ie,{...e,orientation:P,className:"gap-2 md:flex-row md:gap-4 has-[>[role=radiogroup]]:md:flex-col [&:not(:has(>[role=checkbox],[role=radiogroup]))]:md:justify-between [&>*:not([role=checkbox]):not([role=radiogroup]):not([data-slot=field-content])]:w-full [&>*:not([role=checkbox]):not([role=radiogroup]):not([data-slot=field-content])]:md:w-1/2 [&>*:not([role=checkbox]):not([role=radiogroup]):not([data-slot=field-content])]:xl:w-2/5 [&>[data-slot=field-content]]:min-w-0 [&>[data-slot=field-content]]:flex-grow [&>[data-slot=field-content]]:self-start",children:e.children})}import{jsx as Sr}from"react/jsx-runtime";function Er(e){return e.orientation===h?Sr(Rr,{cols:e.cols,disabled:e.disabled,errors:e.errors,children:e.children}):Sr(Ar,{cols:e.cols,disabled:e.disabled,errors:e.errors,children:e.children})}var le=xe();function Fr(e){if(y(e))return Qo(e)}function Qo(e){if(W(e))return St();if(Z(e)){let t=e.advanced?.length?.min??le,r=e.advanced?.length?.max??le+5;return Et(Te(t,le),Te(r,le))}}function Nr(e,t=!1){let r={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return pe(e)?{...r,...en(e)}:y(e)?{...r,...tn(e)}:ge(e)?{...r,...rn(e)}:r}function en(e){let t=Je(e.type),r={...e,type:t};return{...Ir(e),...on(r),...tt(r)?Cr(r):{},type:t}}function tn(e){let t=Fr(e);return t?{options:t}:{}}function rn(e){return{...Ir(e),...Cr(e)}}function Ir(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function on(e){return K(e)?nn(e):{}}function Cr(e){return vr(e,{min:qe,max:$e})}function nn(e){return vr(e,{min:X,max:Y})}function vr(e,t){let r={},o=e.advanced?.length;return o&&(o.min!==void 0&&(r[t.min]=o.min),o.max!==void 0&&(r[t.max]=o.max)),r}function Pr(e,t){let r=xt(e.advanced?.aria);return t&&t.length>0&&(r[Ue]="true",r[Be]=`${e.name}-error`),r}function kr(e){return Tt(e.advanced?.data)}function Or(e){if(!e.field.type)return null;let t=Nr(e.field,e.disabled),r=kr(e.field),o=Pr(e.field,e.errors),n={...e.field,disabled:t.disabled};return e.children({ariaAttributes:o,commonProps:t,dataAttributes:r,field:n})}import{jsx as Re,jsxs as ln}from"react/jsx-runtime";function wr(e){let t=e.field.advanced?.cols,r=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:o}=Q(e.style,{orientation:z(e.field)}),n=ut(e.field,e.disabled);return ln("div",{className:"flex flex-col gap-3",children:[Re(Er,{cols:t,disabled:n,errors:r,orientation:o,children:Re(Or,{disabled:n,errors:r,field:e.field,children:e.children})}),Re(hr,{errors:r,name:e.field.name})]})}import{useAtomValue as an}from"jotai";import{jsx as cn}from"react/jsx-runtime";function Dr(e){return r=>{let o=an(M);return cn(e,{...r,errors:o})}}var Vr=Dr(wr);import{Fragment as un}from"react";import{jsx as Ae,jsxs as sn}from"react/jsx-runtime";function Se(e){let t=J(e.fields),{column:r,field:o}=e.components;return t.map((n,i)=>sn(un,{children:[nt(n)&&Ae(r,{column:n,children:Ae(Se,{...e,fields:n.fields})}),it(n)&&Ae(o,{disabled:e.disabled,field:n,style:e.style,children:e.children})]},i))}import{jsx as dn}from"react/jsx-runtime";var Lr=e=>dn(Se,{...e,components:{column:Tr,field:Vr}});import{useSetAtom as Mr}from"jotai";import{startTransition as _r,useActionState as mn}from"react";function Ur(e,t,r){let{onSuccess:o,preserveValues:n=!1,validation:i=!0,value:l=null}=r??{},a=Mr(tr),d=Mr(or),u={data:l,error:null,success:!1},[f,E,O]=mn(async(ce,_)=>{let I=Ft(e());if(i===!1)return t?await t(_,I):ce;let m=Qe(_),g=I.safeParse(m);if(!g.success){let p=Nt(g.error);return _r(()=>{a(p)}),Ee(m,{details:p,title:"There were validation errors submitting the form."})}if(t)try{let p=await t(m,I);return p.success?(o?.(p.data),n||_r(()=>{d()}),Br(m,n)):Ee(m,p.error)}catch(p){return console.log("Error submitting form action:",p),Ee(m,{title:"An unexpected error occurred submitting the form.",details:fn(p)})}return Br(g.data,n)},u);return[E,f,O]}function fn(e){let t=e instanceof Error?e.message:["Unknown error"];return Array.isArray(t)?t:[t]}function Br(e,t=!1){return{data:t?e:null,error:null,success:!0}}function Ee(e,t){return{data:e,error:t,success:!1}}import{useHydrateAtoms as yn}from"jotai/utils";import{startTransition as gn,useCallback as Xr,useRef as Yr}from"react";import{useCallback as pn}from"react";import{useSetAtom as Fe}from"jotai";function Gr(){let e=Fe(er),t=Fe(cr),r=Fe(nr);return pn(o=>{let n=Array.isArray(o)?o:[o];e(n),t(n),r(n)},[e,t,r])}function Hr(){let e=Gr(),t=Yr({}),r=Yr(new Set),o=Xr((l,a)=>{l in t.current||(t.current[l]=a)},[]),n=Xr(l=>{t.current[l]&&(delete t.current[l],r.current.add(l),gn(()=>{r.current.size>0&&(e(Array.from(r.current)),r.current.clear())}))},[e]);function i(){return t.current}return[i,o,n]}import{Fragment as Tn,jsx as ae,jsxs as bn}from"react/jsx-runtime";function xn(e){let[t,r,o]=Hr(),[n,i]=Ur(t,e.action,{onSuccess:e.onSuccess,validation:e.config.validation.submit,value:e.value});yn([[S,e.value??{}]]);let l=e.config.validation.showError&&!i.success&&i.error;return ae(Yt,{action:n,config:e.config,control:e.children,definition:e.definition,noValidate:!0,readOnly:e.readOnly,sections:e.sections,children:({disabled:a,fields:d})=>bn(Tn,{children:[l&&te(e.config.alert,u=>ae(u,{title:i.error.title,description:i.error?.description,details:i.error?.details})),ae(Lr,{disabled:a,fields:d,style:e.config.style,children:u=>ae(yr,{...u,config:e.config,onMount:r,onUnmount:o,value:i.data})})]})})}export{xn as Form};
|
|
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};
|
package/dist/server/cjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var U=Object.defineProperty;var $t=Object.getOwnPropertyDescriptor;var Ht=Object.getOwnPropertyNames;var Kt=Object.prototype.hasOwnProperty;var Wt=(e,t)=>{for(var r in t)U(e,r,{get:t[r],enumerable:!0})},qt=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Ht(t))!Kt.call(e,o)&&o!==r&&U(e,o,{get:()=>t[o],enumerable:!(n=$t(t,o))||n.enumerable});return e};var zt=e=>qt(U({},"__esModule",{value:!0}),e);var fr={};Wt(fr,{Fallback:()=>Xt,Form:()=>Y});module.exports=zt(fr);var ne=require("react/jsx-runtime");function re(e){return(0,ne.jsx)("div",{"data-slot":"field-control",className:"w-full",children:e.children})}var oe=require("react/jsx-runtime");function F(e){return(0,oe.jsx)("div",{"data-slot":"field-group","data-compact":e.compact,className:"flex w-full flex-col gap-8 data-[compact=true]:gap-3",children:e.children})}var k="input",ie="input/email",le="input/number";var ae="textarea",ce="radio",se="checkbox",ue="select",de="select/month",fe="select/year";var $="column";var me="label",H="value",L="options",K="email",pe="number",ge="password",ye="tel",S="text",xe="aria-errormessage",be="aria-invalid",Re="data-invalid",Te="data-readonly",Ae="aria",he="data",Ne="min",Fe="max",Se="minLength",Ee="maxLength",g="$ref";var d="vertical",y="horizontal";function a(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function x(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function w(e){return typeof e=="string"}var Zt=/[^/]+$/;function Ce(e,t=H){if(e!=null){if(x(e))return e;if(a(e)){let r=Jt(e,t);if(x(r))return r}}}function Jt(e,t){let r=E(e,t);if(x(r))return r}function E(e,t){if(!t||!a(e))return null;let r=t.split(".").filter(o=>o!=="");if(r.length===0)return null;let n=e;for(let o of r)if(a(n)&&o in n)n=n[o];else return null;return n}function Ie(e,t={label:me,value:H}){return e.map(r=>{if(a(r)){let n=E(r,t.label),o=E(r,t.value);if(x(n)&&x(o))return{label:`${n}`,value:`${o}`}}return r})}function Oe(e=S){if(e){let t=e.match(Zt);if(t){let[r]=t;if(r!==k)return r.trim().toLowerCase()}}return S}var Qt=/\[([^\]]+)\]\(([^)]+)\)/g;function Pe(e,t){if(!e||e.trim().length===0)return null;let r,n=0,o=!1,i=[];for(;(r=Qt.exec(e))!==null;){let[l,f,Yt]=r,P=r.index;o=!0,P>n&&i.push(e.substring(n,P));let Ut=t?t(P,Yt,f):l;i.push(Ut),n=P+l.length}return o?(n<e.length&&i.push(e.substring(n)),i):e}var ke=e=>s(de)(e),Le=e=>s(fe)(e),b=s(se),we=s(k),R=s(ce),c=s(ue),De=s(ae),_e=s(S,K,ge,ye),Fr=s(ie,K),Me=s(le,pe);function Ve(e){return e.type===$}function ve(e){return e.type!==$}function Ge(e){return c(e)||R(e)}function W(e){return e!=null&&e!==""}function s(...e){return t=>{let r=w(t.type)?t.type:void 0;return r?e.some(n=>r===n||r?.startsWith(`${n}/`)):!1}}function Be(e,t={}){if(c(e)&&e.disabled){let r=e.name?t?.[e.name]:void 0;if(r&&a(r))return[r]}}function D(e){return R(e)||b(e)?y:e.advanced?.orientation??d}function Xe(e,t){let r=e.readonly??!1;return t||r}function Ye(e){if(R(e)||c(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||a(t)&&!(g in t))return t}}function Ue(e,t){let r=Ye(e);return r||Be(e,t)}function jt(e,t){let r=a(t)&&e.name in t?t[e.name]:t;return Ce(r,e.advanced?.entity)}function er(e,t,r){return Ge(e)&&Array.isArray(r)?{...t,[L]:r}:t}function tr(e,t,r){if(e.required&&!W(r)&&c(e)&&e.advanced?.preselected!==!1&&L in t){let n=t[L];if(Array.isArray(n)&&n.length===1)return n[0]}return r}function rr(e,t){return c(e)&&Array.isArray(t)?Ie(t,e.advanced?.options):t}function $e(e,t,r,n){let o=jt(e,n),i=Array.isArray(r)?rr(e,r):r,l=er(e,t,i),f=tr(e,l,o);return{commonPropsWithOptions:l,defaultValue:f}}function He(e,t){return b(e)?{defaultChecked:W(t)}:{defaultValue:t}}var nr=/^#\/definition\//;function M(e=[],t){let r=_(e,t);return Array.isArray(r)?r.filter(n=>n.hidden!==!0).sort((n,o)=>Ke(n)-Ke(o)):[]}function _(e,t,r=new Map,n=new WeakSet){if(!or(t)||!e||typeof e!="object")return e;if(r.has(e))return r.get(e);if(n.has(e))return e;if(n.add(e),Array.isArray(e))return e.map(i=>_(i,t,r,n));if(g in e&&w(e[g])){let i=e[g].replace(nr,""),l=E(t,i);return l!==null?_(l,t,r,n):e}let o={};for(let[i,l]of Object.entries(e))o[i]=_(l,t,r,n);return n.delete(e),r.set(e,o),o}function We(e){return Object.entries(e??{})}function Ke(e){return e.order??Number.MAX_VALUE}function or(e){return e!==void 0&&a(e)&&Object.keys(e).length>0}function qe(e,t){let r={};for(let[n,o]of We(t))r[`${e}-${n}`]=o;return r}function ze(e){return qe(Ae,e)}function Ze(e){return qe(he,e)}var Je={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},Qe={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function je(e,t=2){return Je[e&&e in Je?e:t]}function et(e){if(e&&e in Qe)return Qe[e]}var ir=/^\d+$/;function tt(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function rt(e,t){return t>=e?Array.from({length:t-e+1},(r,n)=>{let o=e+n;return{value:o.toString(),label:o.toString()}}):[]}function q(){return new Date().getFullYear()}function z(e,t){if(typeof e=="number")return e;let r=t??q(),n=e.trim().toLowerCase();if(n.startsWith("current")){let o=n.match(/^current([+-])(\d+)$/);if(o){let[,i,l]=o,f=parseInt(l,10);if(!isNaN(f))return i==="+"?r+f:r-f}return r}return ir.test(n)?parseInt(n,10):r}var nt=require("react/jsx-runtime");function C(e){return Pe(e,(t,r,n)=>(0,nt.jsx)("a",{className:"underline",href:r,rel:"noopener noreferrer",target:"_blank",children:n},`${r}-${t}`))}var m=require("react/jsx-runtime");function ot(e){return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:C(e.title)}),(0,m.jsx)("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:C(e.description)})]})}function V(e,t){return{...e,...t}}var T=require("react/jsx-runtime");function it(e){let t=e.section.fields||[],{compact:r}=V(e.style,{compact:e.section.compact});return!e.section.title&&!e.section.description?(0,T.jsx)(F,{compact:r,children:e.children}):(0,T.jsxs)("fieldset",{"data-slot":"field-set","data-empty":t.length===0,className:"flex flex-col data-[empty=false]:gap-6",children:[(0,T.jsx)(ot,{description:e.section.description,title:e.section.title}),(0,T.jsx)(F,{compact:r,children:e.children})]})}var at=require("react");var Z=require("react/jsx-runtime");function lt(){return(0,Z.jsx)("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:(0,Z.jsx)("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}var u=require("react/jsx-runtime");function ct(e){let t=M(e.sections,e.definition);return(0,u.jsx)("div",{className:"h-full w-full",children:(0,u.jsx)("form",{noValidate:e.noValidate,action:e.action,children:(0,u.jsxs)(F,{children:[t.map((r,n)=>(0,u.jsxs)(at.Fragment,{children:[(0,u.jsx)(it,{section:r,style:e.config.style,children:e.children({disabled:e.readOnly,fields:r.fields})}),r.separator&&(0,u.jsx)(lt,{})]},n)),e.control&&(0,u.jsx)(re,{children:e.control})]})})})}var ut=require("react/jsx-runtime");function st(e){return(0,ut.jsx)("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}var dt=require("react/jsx-runtime");function A(e){let t=C(e.text);return t?(0,dt.jsx)(st,{children:t}):null}var ft=require("tailwind-merge"),v=require("react/jsx-runtime");function mt(e){let t=R(e.field)||b(e.field);return(0,v.jsxs)("label",{"data-slot":"field-label","data-normal":t,className:(0,ft.twMerge)("flex w-fit items-center gap-2 text-sm leading-snug font-medium select-none","data-[normal=true]:font-normal","group-data-[readonly=true]:cursor-not-allowed group-data-[readonly=true]:opacity-50"),htmlFor:e.field.name,children:[e.children,!e.field.required&&(0,v.jsx)("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:"(Optional)"})]})}var I=require("react/jsx-runtime");function pt(e){return(0,I.jsxs)("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[(0,I.jsx)(mt,{field:e.field,children:e.field.label}),e.orientation===y&&(0,I.jsx)(A,{text:e.field.description})]})}var p=require("react/jsx-runtime");function gt(e){let t=D(e.field);return(0,p.jsxs)(p.Fragment,{children:[e.field.name&&e.field.label&&(0,p.jsx)(pt,{field:e.field,orientation:t}),e.children,t===d&&e.field.description&&(0,p.jsx)(A,{text:e.field.description})]})}function yt(e,t){return e?t(e):null}var O=require("react/jsx-runtime");function xt(e){let t=Ue(e.field,e.value),{commonPropsWithOptions:r,defaultValue:n}=$e(e.field,e.commonProps,t,e.value),o=He(e.field,n);return yt(e.config.inputs[e.field.type],i=>(0,O.jsxs)(gt,{field:e.field,children:[(0,O.jsx)(i,{...e.ariaAttributes,...r,...e.dataAttributes,...o}),(0,O.jsx)(A,{text:e.field.description})]}))}var bt=require("tailwind-merge"),J=require("react/jsx-runtime");function Rt(e){let t=je(e.column?.advanced?.cols);return(0,J.jsx)("div",{className:"flex w-full flex-col gap-4",children:(0,J.jsx)("div",{className:(0,bt.twMerge)("grid grid-cols-1 gap-8 sm:gap-4",t),children:e.children})})}var Q=require("react/jsx-runtime");function Tt(e){return!e.errors||e.errors.length===0?null:(0,Q.jsx)("ul",{className:"text-sm text-red-600 dark:text-red-500",id:e.name?`${e.name}-error`:void 0,children:e.errors?.map((t,r)=>(0,Q.jsx)("li",{children:t},e.name?`${e.name}-error-${r}`:r))})}var At=require("tailwind-merge"),ht=require("react/jsx-runtime");function G(e){let t=e.errors&&e.errors.length>0;return(0,ht.jsx)("div",{"data-slot":"field",...t&&{[Re]:"true"},...e.disabled&&{[Te]:"true"},"data-orientation":e.orientation,className:(0,At.twMerge)("group flex w-full flex-col items-center data-[invalid=true]:text-red-600 data-[invalid=true]:dark:text-red-500","has-[>[role=checkbox],[role=radiogroup]]:items-start","has-[>[role=checkbox]]:flex-row-reverse","has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radiogroup]]:mt-px",et(e.cols),e.className),children:e.children})}var Ft=require("react/jsx-runtime");function Nt(e){return(0,Ft.jsx)(G,{...e,orientation:d,className:"gap-3 has-[>[data-slot=field-content]]:items-start [&>*:not([role=checkbox]):not([role=radiogroup])]:w-full",children:e.children})}var Et=require("react/jsx-runtime");function St(e){return(0,Et.jsx)(G,{...e,orientation:y,className:"gap-2 md:flex-row md:gap-4 has-[>[role=radiogroup]]:md:flex-col [&:not(:has(>[role=checkbox],[role=radiogroup]))]:md:justify-between [&>*:not([role=checkbox]):not([role=radiogroup]):not([data-slot=field-content])]:w-full [&>*:not([role=checkbox]):not([role=radiogroup]):not([data-slot=field-content])]:md:w-1/2 [&>*:not([role=checkbox]):not([role=radiogroup]):not([data-slot=field-content])]:xl:w-2/5 [&>[data-slot=field-content]]:min-w-0 [&>[data-slot=field-content]]:flex-grow [&>[data-slot=field-content]]:self-start",children:e.children})}var j=require("react/jsx-runtime");function Ct(e){return e.orientation===d?(0,j.jsx)(Nt,{cols:e.cols,disabled:e.disabled,errors:e.errors,children:e.children}):(0,j.jsx)(St,{cols:e.cols,disabled:e.disabled,errors:e.errors,children:e.children})}var B=q();function It(e){if(c(e))return lr(e)}function lr(e){if(ke(e))return tt();if(Le(e)){let t=e.advanced?.length?.min??B,r=e.advanced?.length?.max??B+5;return rt(z(t,B),z(r,B))}}function Ot(e,t=!1){let r={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return we(e)?{...r,...ar(e)}:c(e)?{...r,...cr(e)}:De(e)?{...r,...sr(e)}:r}function ar(e){let t=Oe(e.type),r={...e,type:t};return{...Pt(e),...ur(r),..._e(r)?kt(r):{},type:t}}function cr(e){let t=It(e);return t?{options:t}:{}}function sr(e){return{...Pt(e),...kt(e)}}function Pt(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function ur(e){return Me(e)?dr(e):{}}function kt(e){return Lt(e,{min:Se,max:Ee})}function dr(e){return Lt(e,{min:Ne,max:Fe})}function Lt(e,t){let r={},n=e.advanced?.length;return n&&(n.min!==void 0&&(r[t.min]=n.min),n.max!==void 0&&(r[t.max]=n.max)),r}function wt(e,t){let r=ze(e.advanced?.aria);return t&&t.length>0&&(r[be]="true",r[xe]=`${e.name}-error`),r}function Dt(e){return Ze(e.advanced?.data)}function _t(e){if(!e.field.type)return null;let t=Ot(e.field,e.disabled),r=Dt(e.field),n=wt(e.field,e.errors),o={...e.field,disabled:t.disabled};return e.children({ariaAttributes:n,commonProps:t,dataAttributes:r,field:o})}var h=require("react/jsx-runtime");function Mt(e){let t=e.field.advanced?.cols,r=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:n}=V(e.style,{orientation:D(e.field)}),o=Xe(e.field,e.disabled);return(0,h.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,h.jsx)(Ct,{cols:t,disabled:o,errors:r,orientation:n,children:(0,h.jsx)(_t,{disabled:o,errors:r,field:e.field,children:e.children})}),(0,h.jsx)(Tt,{errors:r,name:e.field.name})]})}var Vt=require("react"),N=require("react/jsx-runtime");function ee(e){let t=M(e.fields),{column:r,field:n}=e.components;return t.map((o,i)=>(0,N.jsxs)(Vt.Fragment,{children:[Ve(o)&&(0,N.jsx)(r,{column:o,children:(0,N.jsx)(ee,{...e,fields:o.fields})}),ve(o)&&(0,N.jsx)(n,{disabled:e.disabled,field:o,style:e.style,children:e.children})]},i))}var Gt=require("react/jsx-runtime"),vt=e=>(0,Gt.jsx)(ee,{...e,components:{column:Rt,field:Mt}});var X=require("react/jsx-runtime");function Y(e){return(0,X.jsx)(ct,{config:e.config,control:e.children,definition:e.definition,readOnly:e.readOnly,sections:e.sections,children:({disabled:t,fields:r})=>(0,X.jsx)(vt,{disabled:t,fields:r,style:e.config.style,children:n=>(0,X.jsx)(xt,{...n,config:e.config,source:e.source,value:e.value})})})}var Bt=require("react");var te=require("react/jsx-runtime");function Xt(e){return(0,te.jsx)(Bt.Suspense,{fallback:(0,te.jsx)(Y,{config:e.config,sections:e.sections,readOnly:!0}),children:e.children})}
|
|
1
|
+
"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})}
|
package/dist/server/esm/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as Ct}from"react/jsx-runtime";function H(e){return Ct("div",{"data-slot":"field-control",className:"w-full",children:e.children})}import{jsx as It}from"react/jsx-runtime";function b(e){return It("div",{"data-slot":"field-group","data-compact":e.compact,className:"flex w-full flex-col gap-8 data-[compact=true]:gap-3",children:e.children})}var F="input",K="input/email",W="input/number";var q="textarea",z="radio",Z="checkbox",J="select",Q="select/month",j="select/year";var w="column";var ee="label",D="value",S="options",_="email",te="number",re="password",ne="tel",R="text",oe="aria-errormessage",ie="aria-invalid",le="data-invalid",ae="data-readonly",ce="aria",se="data",ue="min",de="max",fe="minLength",me="maxLength",f="$ref";var u="vertical",m="horizontal";function a(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function p(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function E(e){return typeof e=="string"}var Ot=/[^/]+$/;function pe(e,t=D){if(e!=null){if(p(e))return e;if(a(e)){let r=Pt(e,t);if(p(r))return r}}}function Pt(e,t){let r=T(e,t);if(p(r))return r}function T(e,t){if(!t||!a(e))return null;let r=t.split(".").filter(o=>o!=="");if(r.length===0)return null;let n=e;for(let o of r)if(a(n)&&o in n)n=n[o];else return null;return n}function ge(e,t={label:ee,value:D}){return e.map(r=>{if(a(r)){let n=T(r,t.label),o=T(r,t.value);if(p(n)&&p(o))return{label:`${n}`,value:`${o}`}}return r})}function ye(e=R){if(e){let t=e.match(Ot);if(t){let[r]=t;if(r!==F)return r.trim().toLowerCase()}}return R}var kt=/\[([^\]]+)\]\(([^)]+)\)/g;function xe(e,t){if(!e||e.trim().length===0)return null;let r,n=0,o=!1,i=[];for(;(r=kt.exec(e))!==null;){let[l,d,St]=r,N=r.index;o=!0,N>n&&i.push(e.substring(n,N));let Et=t?t(N,St,d):l;i.push(Et),n=N+l.length}return o?(n<e.length&&i.push(e.substring(n)),i):e}var be=e=>s(Q)(e),Re=e=>s(j)(e),g=s(Z),Te=s(F),y=s(z),c=s(J),Ae=s(q),he=s(R,_,re,ne),Ir=s(K,_),Ne=s(W,te);function Fe(e){return e.type===w}function Se(e){return e.type!==w}function Ee(e){return c(e)||y(e)}function M(e){return e!=null&&e!==""}function s(...e){return t=>{let r=E(t.type)?t.type:void 0;return r?e.some(n=>r===n||r?.startsWith(`${n}/`)):!1}}function Ce(e,t={}){if(c(e)&&e.disabled){let r=e.name?t?.[e.name]:void 0;if(r&&a(r))return[r]}}function C(e){return y(e)||g(e)?m:e.advanced?.orientation??u}function Ie(e,t){let r=e.readonly??!1;return t||r}function Oe(e){if(y(e)||c(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||a(t)&&!(f in t))return t}}function Pe(e,t){let r=Oe(e);return r||Ce(e,t)}function Lt(e,t){let r=a(t)&&e.name in t?t[e.name]:t;return pe(r,e.advanced?.entity)}function wt(e,t,r){return Ee(e)&&Array.isArray(r)?{...t,[S]:r}:t}function Dt(e,t,r){if(e.required&&!M(r)&&c(e)&&e.advanced?.preselected!==!1&&S in t){let n=t[S];if(Array.isArray(n)&&n.length===1)return n[0]}return r}function _t(e,t){return c(e)&&Array.isArray(t)?ge(t,e.advanced?.options):t}function ke(e,t,r,n){let o=Lt(e,n),i=Array.isArray(r)?_t(e,r):r,l=wt(e,t,i),d=Dt(e,l,o);return{commonPropsWithOptions:l,defaultValue:d}}function Le(e,t){return g(e)?{defaultChecked:M(t)}:{defaultValue:t}}var Mt=/^#\/definition\//;function O(e=[],t){let r=I(e,t);return Array.isArray(r)?r.filter(n=>n.hidden!==!0).sort((n,o)=>we(n)-we(o)):[]}function I(e,t,r=new Map,n=new WeakSet){if(!Vt(t)||!e||typeof e!="object")return e;if(r.has(e))return r.get(e);if(n.has(e))return e;if(n.add(e),Array.isArray(e))return e.map(i=>I(i,t,r,n));if(f in e&&E(e[f])){let i=e[f].replace(Mt,""),l=T(t,i);return l!==null?I(l,t,r,n):e}let o={};for(let[i,l]of Object.entries(e))o[i]=I(l,t,r,n);return n.delete(e),r.set(e,o),o}function De(e){return Object.entries(e??{})}function we(e){return e.order??Number.MAX_VALUE}function Vt(e){return e!==void 0&&a(e)&&Object.keys(e).length>0}function _e(e,t){let r={};for(let[n,o]of De(t))r[`${e}-${n}`]=o;return r}function Me(e){return _e(ce,e)}function Ve(e){return _e(se,e)}var ve={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},Ge={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function Be(e,t=2){return ve[e&&e in ve?e:t]}function Xe(e){if(e&&e in Ge)return Ge[e]}var vt=/^\d+$/;function Ye(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function Ue(e,t){return t>=e?Array.from({length:t-e+1},(r,n)=>{let o=e+n;return{value:o.toString(),label:o.toString()}}):[]}function V(){return new Date().getFullYear()}function v(e,t){if(typeof e=="number")return e;let r=t??V(),n=e.trim().toLowerCase();if(n.startsWith("current")){let o=n.match(/^current([+-])(\d+)$/);if(o){let[,i,l]=o,d=parseInt(l,10);if(!isNaN(d))return i==="+"?r+d:r-d}return r}return vt.test(n)?parseInt(n,10):r}import{jsx as Gt}from"react/jsx-runtime";function A(e){return xe(e,(t,r,n)=>Gt("a",{className:"underline",href:r,rel:"noopener noreferrer",target:"_blank",children:n},`${r}-${t}`))}import{Fragment as Bt,jsx as $e,jsxs as Xt}from"react/jsx-runtime";function He(e){return Xt(Bt,{children:[$e("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:A(e.title)}),$e("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:A(e.description)})]})}function P(e,t){return{...e,...t}}import{jsx as G,jsxs as Yt}from"react/jsx-runtime";function Ke(e){let t=e.section.fields||[],{compact:r}=P(e.style,{compact:e.section.compact});return!e.section.title&&!e.section.description?G(b,{compact:r,children:e.children}):Yt("fieldset",{"data-slot":"field-set","data-empty":t.length===0,className:"flex flex-col data-[empty=false]:gap-6",children:[G(He,{description:e.section.description,title:e.section.title}),G(b,{compact:r,children:e.children})]})}import{Fragment as Ut}from"react";import{jsx as We}from"react/jsx-runtime";function qe(){return We("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:We("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}import{jsx as h,jsxs as ze}from"react/jsx-runtime";function Ze(e){let t=O(e.sections,e.definition);return h("div",{className:"h-full w-full",children:h("form",{noValidate:e.noValidate,action:e.action,children:ze(b,{children:[t.map((r,n)=>ze(Ut,{children:[h(Ke,{section:r,style:e.config.style,children:e.children({disabled:e.readOnly,fields:r.fields})}),r.separator&&h(qe,{})]},n)),e.control&&h(H,{children:e.control})]})})})}import{jsx as $t}from"react/jsx-runtime";function Je(e){return $t("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}import{jsx as Ht}from"react/jsx-runtime";function x(e){let t=A(e.text);return t?Ht(Je,{children:t}):null}import{twMerge as Kt}from"tailwind-merge";import{jsx as Wt,jsxs as qt}from"react/jsx-runtime";function Qe(e){let t=y(e.field)||g(e.field);return qt("label",{"data-slot":"field-label","data-normal":t,className:Kt("flex w-fit items-center gap-2 text-sm leading-snug font-medium select-none","data-[normal=true]:font-normal","group-data-[readonly=true]:cursor-not-allowed group-data-[readonly=true]:opacity-50"),htmlFor:e.field.name,children:[e.children,!e.field.required&&Wt("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:"(Optional)"})]})}import{jsx as je,jsxs as zt}from"react/jsx-runtime";function et(e){return zt("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[je(Qe,{field:e.field,children:e.field.label}),e.orientation===m&&je(x,{text:e.field.description})]})}import{Fragment as Zt,jsx as tt,jsxs as Jt}from"react/jsx-runtime";function rt(e){let t=C(e.field);return Jt(Zt,{children:[e.field.name&&e.field.label&&tt(et,{field:e.field,orientation:t}),e.children,t===u&&e.field.description&&tt(x,{text:e.field.description})]})}function nt(e,t){return e?t(e):null}import{jsx as ot,jsxs as Qt}from"react/jsx-runtime";function it(e){let t=Pe(e.field,e.value),{commonPropsWithOptions:r,defaultValue:n}=ke(e.field,e.commonProps,t,e.value),o=Le(e.field,n);return nt(e.config.inputs[e.field.type],i=>Qt(rt,{field:e.field,children:[ot(i,{...e.ariaAttributes,...r,...e.dataAttributes,...o}),ot(x,{text:e.field.description})]}))}import{twMerge as jt}from"tailwind-merge";import{jsx as lt}from"react/jsx-runtime";function at(e){let t=Be(e.column?.advanced?.cols);return lt("div",{className:"flex w-full flex-col gap-4",children:lt("div",{className:jt("grid grid-cols-1 gap-8 sm:gap-4",t),children:e.children})})}import{jsx as ct}from"react/jsx-runtime";function st(e){return!e.errors||e.errors.length===0?null:ct("ul",{className:"text-sm text-red-600 dark:text-red-500",id:e.name?`${e.name}-error`:void 0,children:e.errors?.map((t,r)=>ct("li",{children:t},e.name?`${e.name}-error-${r}`:r))})}import{twMerge as er}from"tailwind-merge";import{jsx as tr}from"react/jsx-runtime";function k(e){let t=e.errors&&e.errors.length>0;return tr("div",{"data-slot":"field",...t&&{[le]:"true"},...e.disabled&&{[ae]:"true"},"data-orientation":e.orientation,className:er("group flex w-full flex-col items-center data-[invalid=true]:text-red-600 data-[invalid=true]:dark:text-red-500","has-[>[role=checkbox],[role=radiogroup]]:items-start","has-[>[role=checkbox]]:flex-row-reverse","has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radiogroup]]:mt-px",Xe(e.cols),e.className),children:e.children})}import{jsx as rr}from"react/jsx-runtime";function ut(e){return rr(k,{...e,orientation:u,className:"gap-3 has-[>[data-slot=field-content]]:items-start [&>*:not([role=checkbox]):not([role=radiogroup])]:w-full",children:e.children})}import{jsx as nr}from"react/jsx-runtime";function dt(e){return nr(k,{...e,orientation:m,className:"gap-2 md:flex-row md:gap-4 has-[>[role=radiogroup]]:md:flex-col [&:not(:has(>[role=checkbox],[role=radiogroup]))]:md:justify-between [&>*:not([role=checkbox]):not([role=radiogroup]):not([data-slot=field-content])]:w-full [&>*:not([role=checkbox]):not([role=radiogroup]):not([data-slot=field-content])]:md:w-1/2 [&>*:not([role=checkbox]):not([role=radiogroup]):not([data-slot=field-content])]:xl:w-2/5 [&>[data-slot=field-content]]:min-w-0 [&>[data-slot=field-content]]:flex-grow [&>[data-slot=field-content]]:self-start",children:e.children})}import{jsx as ft}from"react/jsx-runtime";function mt(e){return e.orientation===u?ft(ut,{cols:e.cols,disabled:e.disabled,errors:e.errors,children:e.children}):ft(dt,{cols:e.cols,disabled:e.disabled,errors:e.errors,children:e.children})}var L=V();function pt(e){if(c(e))return or(e)}function or(e){if(be(e))return Ye();if(Re(e)){let t=e.advanced?.length?.min??L,r=e.advanced?.length?.max??L+5;return Ue(v(t,L),v(r,L))}}function gt(e,t=!1){let r={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return Te(e)?{...r,...ir(e)}:c(e)?{...r,...lr(e)}:Ae(e)?{...r,...ar(e)}:r}function ir(e){let t=ye(e.type),r={...e,type:t};return{...yt(e),...cr(r),...he(r)?xt(r):{},type:t}}function lr(e){let t=pt(e);return t?{options:t}:{}}function ar(e){return{...yt(e),...xt(e)}}function yt(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function cr(e){return Ne(e)?sr(e):{}}function xt(e){return bt(e,{min:fe,max:me})}function sr(e){return bt(e,{min:ue,max:de})}function bt(e,t){let r={},n=e.advanced?.length;return n&&(n.min!==void 0&&(r[t.min]=n.min),n.max!==void 0&&(r[t.max]=n.max)),r}function Rt(e,t){let r=Me(e.advanced?.aria);return t&&t.length>0&&(r[ie]="true",r[oe]=`${e.name}-error`),r}function Tt(e){return Ve(e.advanced?.data)}function At(e){if(!e.field.type)return null;let t=gt(e.field,e.disabled),r=Tt(e.field),n=Rt(e.field,e.errors),o={...e.field,disabled:t.disabled};return e.children({ariaAttributes:n,commonProps:t,dataAttributes:r,field:o})}import{jsx as B,jsxs as ur}from"react/jsx-runtime";function ht(e){let t=e.field.advanced?.cols,r=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:n}=P(e.style,{orientation:C(e.field)}),o=Ie(e.field,e.disabled);return ur("div",{className:"flex flex-col gap-3",children:[B(mt,{cols:t,disabled:o,errors:r,orientation:n,children:B(At,{disabled:o,errors:r,field:e.field,children:e.children})}),B(st,{errors:r,name:e.field.name})]})}import{Fragment as dr}from"react";import{jsx as X,jsxs as fr}from"react/jsx-runtime";function Y(e){let t=O(e.fields),{column:r,field:n}=e.components;return t.map((o,i)=>fr(dr,{children:[Fe(o)&&X(r,{column:o,children:X(Y,{...e,fields:o.fields})}),Se(o)&&X(n,{disabled:e.disabled,field:o,style:e.style,children:e.children})]},i))}import{jsx as mr}from"react/jsx-runtime";var Nt=e=>mr(Y,{...e,components:{column:at,field:ht}});import{jsx as U}from"react/jsx-runtime";function $(e){return U(Ze,{config:e.config,control:e.children,definition:e.definition,readOnly:e.readOnly,sections:e.sections,children:({disabled:t,fields:r})=>U(Nt,{disabled:t,fields:r,style:e.config.style,children:n=>U(it,{...n,config:e.config,source:e.source,value:e.value})})})}import{Suspense as pr}from"react";import{jsx as Ft}from"react/jsx-runtime";function gr(e){return Ft(pr,{fallback:Ft($,{config:e.config,sections:e.sections,readOnly:!0}),children:e.children})}export{gr as Fallback,$ as Form};
|
|
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};
|
|
@@ -26,7 +26,7 @@ export declare function prepareInputProps<T, K>(field: Field, commonProps: Commo
|
|
|
26
26
|
defaultValue: any;
|
|
27
27
|
};
|
|
28
28
|
export declare function prepareInputValue<T>(field: Field, value?: Nullable<T>): {
|
|
29
|
-
checked: boolean;
|
|
29
|
+
checked: boolean | Nullable<T> | undefined;
|
|
30
30
|
value?: undefined;
|
|
31
31
|
} | {
|
|
32
32
|
value: string | NonNullable<T>;
|
|
@@ -11,6 +11,7 @@ export * from './util/is-input';
|
|
|
11
11
|
export * from './util/is-type';
|
|
12
12
|
export * from './util/prepare';
|
|
13
13
|
export * from './util/schema';
|
|
14
|
+
export * from './util/style';
|
|
14
15
|
export * from './util/source';
|
|
15
16
|
export * from './util/string';
|
|
16
17
|
export * from './util/url';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type FormState } from '../hook/use-form-action';
|
|
2
|
+
import type { Config, Control } from '../../type';
|
|
3
|
+
import type { Definition, Nullable, Sections, ZodSchema } from '@luna-form/core';
|
|
4
|
+
export declare function FormContent<T extends Record<string, unknown> = Record<string, unknown>, F = Record<string, unknown>>(props: Readonly<{
|
|
5
|
+
action?: (formData: F, schema?: ZodSchema) => Promise<FormState<T>>;
|
|
6
|
+
children?: Control;
|
|
7
|
+
config: Config;
|
|
8
|
+
definition?: Definition;
|
|
9
|
+
onSuccess?: (data: T) => void;
|
|
10
|
+
readOnly?: boolean;
|
|
11
|
+
sections: Sections;
|
|
12
|
+
value?: Nullable<T>;
|
|
13
|
+
}>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { Config, Control } from '../../type';
|
|
2
2
|
import type { Definition, Nullable, Sections, ZodSchema } from '@luna-form/core';
|
|
3
|
-
import type {
|
|
3
|
+
import type { FormState } from '../hook/use-form-action';
|
|
4
4
|
export declare function Form<T extends Record<string, unknown> = Record<string, unknown>, F = Record<string, unknown>>(props: Readonly<{
|
|
5
5
|
action?: (formData: F, schema?: ZodSchema) => Promise<FormState<T>>;
|
|
6
|
-
children?:
|
|
6
|
+
children?: Control;
|
|
7
7
|
config: Config;
|
|
8
8
|
definition?: Definition;
|
|
9
9
|
onSuccess?: (data: T) => void;
|
|
@@ -8,6 +8,5 @@ export type FormActionOptions<T> = {
|
|
|
8
8
|
onSuccess?: (data: T) => void;
|
|
9
9
|
preserveValues?: boolean;
|
|
10
10
|
validation?: boolean;
|
|
11
|
-
value?: Nullable<T>;
|
|
12
11
|
};
|
|
13
12
|
export declare function useFormState<T, F = Record<string, unknown>>(getSchema: () => Schemas, action?: (formData: F, schema?: ZodSchema) => Promise<FormState<T>>, options?: FormActionOptions<T>): readonly [(payload: FormData) => void, FormState<T>, boolean];
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type Field, type Nullable } from '@luna-form/core';
|
|
2
|
+
export declare function useValue(field: Field, currentValue?: Nullable<Record<string, unknown>>): {
|
|
3
|
+
readonly value: {} | undefined;
|
|
4
|
+
readonly setValue: (newValue: unknown) => void;
|
|
5
|
+
readonly skipNextOnChangeRef: import("react").RefObject<boolean>;
|
|
6
|
+
};
|
|
@@ -18,4 +18,19 @@ export declare function createNestedRecordAtomFamily<TInner, TRecord extends Rec
|
|
|
18
18
|
export declare function createNestedClearAtom<TInner>(baseAtom: PrimitiveAtom<Record<string, Record<string, TInner>>>): import("jotai").WritableAtom<null, [contributorNames: string[]], void> & {
|
|
19
19
|
init: null;
|
|
20
20
|
};
|
|
21
|
+
export declare function createAtomStore<T>(initialValue?: Record<string, T>): {
|
|
22
|
+
atom: PrimitiveAtom<Record<string, T>> & {
|
|
23
|
+
init: Record<string, T>;
|
|
24
|
+
};
|
|
25
|
+
clearAll: import("jotai").WritableAtom<null, [], void> & {
|
|
26
|
+
init: null;
|
|
27
|
+
};
|
|
28
|
+
clear: import("jotai").WritableAtom<null, [names: string[]], void> & {
|
|
29
|
+
init: null;
|
|
30
|
+
};
|
|
31
|
+
bulkReport: import("jotai").WritableAtom<null, [newValue: Record<string, T>], void> & {
|
|
32
|
+
init: null;
|
|
33
|
+
};
|
|
34
|
+
report: import("jotai-family").AtomFamily<string, import("jotai").WritableAtom<NonNullable<T> | undefined, [newValue: T | undefined], void>>;
|
|
35
|
+
};
|
|
21
36
|
export {};
|
|
@@ -5,6 +5,8 @@ export type FieldBaseProps = Readonly<{
|
|
|
5
5
|
cols?: number;
|
|
6
6
|
disabled?: boolean;
|
|
7
7
|
errors?: string[];
|
|
8
|
+
isCheckbox?: boolean;
|
|
9
|
+
isClickable?: boolean;
|
|
8
10
|
orientation: Orientation;
|
|
9
11
|
}>;
|
|
10
12
|
export declare function FieldBase(props: FieldBaseProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { type Orientation } from '@luna-form/core';
|
|
1
|
+
import { type Field, type Orientation } from '@luna-form/core';
|
|
2
2
|
export declare function FieldGroup(props: Readonly<{
|
|
3
3
|
children: React.ReactNode;
|
|
4
4
|
cols?: number;
|
|
5
|
+
disabled?: boolean;
|
|
5
6
|
errors?: string[];
|
|
7
|
+
field: Field;
|
|
6
8
|
orientation?: Orientation;
|
|
7
|
-
disabled?: boolean;
|
|
8
9
|
}>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { type Definition, type Sections } from '@luna-form/core';
|
|
2
|
-
import type { Config, Slot } from '../type';
|
|
2
|
+
import type { Config, Control, Slot } from '../type';
|
|
3
3
|
export declare function Form(props: Readonly<{
|
|
4
4
|
action?: (formData: FormData) => void;
|
|
5
5
|
children: Slot;
|
|
6
6
|
config: Config;
|
|
7
|
-
control?:
|
|
7
|
+
control?: Control;
|
|
8
8
|
definition?: Definition;
|
|
9
|
+
isPending?: boolean;
|
|
9
10
|
noValidate?: boolean;
|
|
10
11
|
readOnly?: boolean;
|
|
11
12
|
sections: Sections;
|
|
@@ -3,6 +3,9 @@ export type Slot = (props: {
|
|
|
3
3
|
disabled?: boolean;
|
|
4
4
|
fields?: Fields;
|
|
5
5
|
}) => React.ReactNode;
|
|
6
|
+
export type Control = ((props: {
|
|
7
|
+
isPending?: boolean;
|
|
8
|
+
}) => React.ReactNode) | React.ReactNode;
|
|
6
9
|
export type Children = (props: {
|
|
7
10
|
ariaAttributes?: AriaAttributes;
|
|
8
11
|
commonProps: CommonProps;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-luna-form",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.14",
|
|
4
4
|
"description": "A React library for building forms based on JSON",
|
|
5
5
|
"main": "./dist/client/cjs/index.js",
|
|
6
6
|
"module": "./dist/client/esm/index.js",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"eslint-plugin-react": "7.37.5",
|
|
33
33
|
"eslint-plugin-react-hooks": "7.0.1",
|
|
34
34
|
"eslint-plugin-react-refresh": "0.4.26",
|
|
35
|
-
"@luna-form/core": "0.0.
|
|
35
|
+
"@luna-form/core": "0.0.14"
|
|
36
36
|
},
|
|
37
37
|
"license": "Apache-2.0",
|
|
38
38
|
"repository": {
|
|
@@ -63,6 +63,7 @@
|
|
|
63
63
|
},
|
|
64
64
|
"scripts": {
|
|
65
65
|
"build": "node esbuild.mjs && pnpm run types",
|
|
66
|
+
"dev": "node esbuild.mjs --watch",
|
|
66
67
|
"lint": "eslint . --cache",
|
|
67
68
|
"prettier:check": "prettier --check .",
|
|
68
69
|
"prettier:fix": "prettier --write .",
|