react-luna-form 0.0.31 → 0.0.33
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/config/cjs/index.js +1 -1
- package/dist/config/esm/index.js +1 -1
- package/dist/server/cjs/index.js +1 -1
- package/dist/server/esm/index.js +1 -1
- package/dist/types/client/component/field/field-list.d.ts +2 -0
- package/dist/types/client/component/field/field-with-state.d.ts +13 -0
- package/dist/types/client/component/field/field.d.ts +7 -0
- package/dist/types/client/component/form-content.d.ts +20 -0
- package/dist/types/client/component/form.d.ts +20 -0
- package/dist/types/client/component/guard/list-guard.d.ts +2 -0
- package/dist/types/client/component/guard/visibility-guard.d.ts +6 -0
- package/dist/types/client/component/input.d.ts +16 -0
- package/dist/types/client/component/slot/slot.d.ts +7 -0
- package/dist/types/client/hook/use-data-source.d.ts +3 -0
- package/dist/types/client/hook/use-fetch.d.ts +3 -0
- package/dist/types/client/hook/use-field-list.d.ts +2 -0
- package/dist/types/client/hook/use-form-action.d.ts +13 -0
- package/dist/types/client/hook/use-input.d.ts +2 -0
- package/dist/types/client/hook/use-schema.d.ts +2 -0
- package/dist/types/client/hook/use-store.d.ts +1 -0
- package/dist/types/client/hook/use-timeout.d.ts +1 -0
- package/dist/types/client/hook/use-value.d.ts +6 -0
- package/dist/types/client/index.d.ts +3 -0
- package/dist/types/client/lib/error-store.d.ts +7 -0
- package/dist/types/client/lib/source-store.d.ts +5 -0
- package/dist/types/client/lib/state-store.d.ts +5 -0
- package/dist/types/client/lib/store-helper.d.ts +26 -0
- package/dist/types/client/lib/value-store.d.ts +10 -0
- package/dist/types/component/chevron-icon.d.ts +3 -0
- package/dist/types/component/column.d.ts +5 -0
- package/dist/types/component/control.d.ts +5 -0
- package/dist/types/component/description.d.ts +3 -0
- package/dist/types/component/field/field-base.d.ts +12 -0
- package/dist/types/component/field/field-error.d.ts +5 -0
- package/dist/types/component/field/field-group.d.ts +8 -0
- package/dist/types/component/field/field-horizontal.d.ts +2 -0
- package/dist/types/component/field/field-list-item.d.ts +8 -0
- package/dist/types/component/field/field-list.d.ts +7 -0
- package/dist/types/component/field/field-set-advanced.d.ts +5 -0
- package/dist/types/component/field/field-set-base.d.ts +7 -0
- package/dist/types/component/field/field-set.d.ts +6 -0
- package/dist/types/component/field/field-vertical.d.ts +2 -0
- package/dist/types/component/field/field.d.ts +10 -0
- package/dist/types/component/form.d.ts +13 -0
- package/dist/types/component/formatted-description.d.ts +7 -0
- package/dist/types/component/group.d.ts +4 -0
- package/dist/types/component/input/input-base.d.ts +9 -0
- package/dist/types/component/input-group.d.ts +10 -0
- package/dist/types/component/input-label.d.ts +9 -0
- package/dist/types/component/label.d.ts +7 -0
- package/dist/types/component/legend.d.ts +4 -0
- package/dist/types/component/list.d.ts +5 -0
- package/dist/types/component/separator.d.ts +1 -0
- package/dist/types/component/slot/list-slot.d.ts +2 -0
- package/dist/types/component/slot/slot-base.d.ts +16 -0
- package/dist/types/component/slot/slot-create.d.ts +10 -0
- package/dist/types/component/slot/slot-list.d.ts +12 -0
- package/dist/types/component/slot/slot.d.ts +7 -0
- package/dist/types/config/index.d.ts +31 -0
- package/dist/types/lib/render-If-exists.d.ts +1 -0
- package/dist/types/lib/string.d.ts +1 -0
- package/dist/types/luna-core/src/helper/input.d.ts +1 -0
- package/dist/types/luna-core/src/type.d.ts +3 -3
- package/dist/types/luna-core/src/util/build.d.ts +1 -1
- package/dist/types/luna-core/src/util/constant.d.ts +1 -2
- package/dist/types/luna-core/src/util/extract.d.ts +1 -0
- package/dist/types/luna-core/src/util/is-input.d.ts +1 -1
- package/dist/types/luna-core/src/util/style.d.ts +1 -1
- package/dist/types/luna-react/src/client/component/input.d.ts +2 -2
- package/dist/types/luna-react/src/component/field/field-base.d.ts +1 -2
- package/dist/types/luna-react/src/component/field/field-group.d.ts +2 -2
- package/dist/types/luna-react/src/component/formatted-description.d.ts +4 -0
- package/dist/types/luna-react/src/component/input/input-base.d.ts +2 -2
- package/dist/types/luna-react/src/component/input-group.d.ts +2 -2
- package/dist/types/luna-react/src/component/input-label.d.ts +2 -2
- package/dist/types/luna-react/src/config/index.d.ts +2 -2
- package/dist/types/luna-react/src/server/component/input.d.ts +2 -2
- package/dist/types/luna-react/src/type.d.ts +2 -2
- package/dist/types/server/component/fallback.d.ts +7 -0
- package/dist/types/server/component/form.d.ts +13 -0
- package/dist/types/server/component/input.d.ts +13 -0
- package/dist/types/server/index.d.ts +4 -0
- package/dist/types/type.d.ts +29 -0
- package/package.json +2 -2
package/dist/client/cjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var Ho=Object.create;var Fe=Object.defineProperty;var Yo=Object.getOwnPropertyDescriptor;var Xo=Object.getOwnPropertyNames;var qo=Object.getPrototypeOf,Zo=Object.prototype.hasOwnProperty;var Ko=(e,t)=>{for(var n in t)Fe(e,n,{get:t[n],enumerable:!0})},_t=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Xo(t))!Zo.call(e,o)&&o!==n&&Fe(e,o,{get:()=>t[o],enumerable:!(r=Yo(t,o))||r.enumerable});return e};var Wo=(e,t,n)=>(n=e!=null?Ho(qo(e)):{},_t(t||!e||!e.__esModule?Fe(n,"default",{value:e,enumerable:!0}):n,e)),zo=e=>_t(Fe({},"__esModule",{value:!0}),e);var ul={};Ko(ul,{Form:()=>Bo});module.exports=zo(ul);var Gt=require("react/jsx-runtime");function Bt(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return(0,Gt.jsx)("div",{"data-slot":"field-control",className:"w-full",children:t})}var se=require("react");var dt=require("react/jsx-runtime");function $t(e){return(0,dt.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:`size-4 transition-transform duration-200 ${e.expanded?"rotate-90":""}`,children:(0,dt.jsx)("path",{fillRule:"evenodd",d:"M8.22 5.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L11.94 10 8.22 6.28a.75.75 0 0 1 0-1.06Z",clipRule:"evenodd"})})}var Ce="input",Ut="input/email",Ht="input/number";var Yt="textarea",Xt="radio",qt="checkbox",ft="list";var Zt="select",Kt="select/month",Wt="select/year";var me="column",mt="fields",zt="label",A="value",Ne="options",gt="email",Jt="number",Qt="password",jt="tel",ge="text",en="aria-errormessage",tn="aria-invalid",nn="data-invalid",rn="data-readonly",on="aria",ln="data",Ee="min",ke="max",an="minLength",sn="maxLength",ie="$ref";var cn="source",un="state",Ie="http://luna.internal",U="vertical",le="horizontal";var dn="type";function d(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function we(e){return e==null||e===""}function H(e){return v(e)||typeof e=="number"||pt(e)}function v(e){return typeof e=="string"}function fn(e){return d(e)&&"url"in e}function pt(e){return typeof e=="boolean"}var Jo=/^\d+$/;function bt(e,t=[],n=A){return Array.isArray(t)?t.find(r=>{let o=xt(r,n);if(o!==void 0&&`${o}`===e)return r})??{value:e}:{value:e}}function xt(e,t=A){if(e!=null){if(H(e))return e;if(d(e)){let n=Qo(e,t);if(H(n))return n}}}function Qo(e,t){let n=R(e,t);if(H(n))return n}function mn(e,t){if(Array.isArray(e))return e;let n=R(e,t);return Array.isArray(n)?n:null}function R(e,t){if(!t||!d(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(d(r)&&o in r)r=r[o];else return null;return r}function gn(e,t={label:zt,value:A}){return e.map(n=>{if(d(n)){let r=R(n,t.label),o=R(n,t.value);if(H(r)&&H(o))return{label:`${r}`,value:`${o}`}}return n})}function pn(e=ge){if(e){let t=e.lastIndexOf("/"),n=t===-1?e:e.slice(t+1);if(n&&n!==Ce)return n.trim().toLowerCase()}return ge}function yn(e){let t={};for(let n of e.keys()){let r=e.getAll(n);t[n]=r.length>1?r:r[0]}return t}function bn(e){let t={};for(let n in e){let r=n.split(".");if(r.length===1){t[n]=e[n];continue}let o=t;for(let l=0;l<r.length-1;l++){let a=r[l],s=r[l+1],c=Jo.test(s);a in o||(o[a]=c?[]:{}),o=o[a]}let i=r[r.length-1];o[i]=e[n]}return yt(t),t}function yt(e){for(let t in e){let n=e[t];if(Array.isArray(n)){let r=n.filter(o=>o!==void 0);r.forEach(o=>{o!==null&&typeof o=="object"&&!Array.isArray(o)&&yt(o)}),e[t]=r}else n!==null&&typeof n=="object"&&yt(n)}}var jo=/\[([^\]]{1,500})\]\(([^)]{1,2000})\)/g;function Y(e,t={}){if(v(e))return ei(e,t);if(Array.isArray(e))return e.map(n=>Y(n,t));if(d(e)){let n={};for(let r in e)n[r]=Y(e[r],t);return n}return e}function ht(e,t={}){return pe(e)?Y(e,t):e}function pe(e){return v(e)?/{([^}]{1,200})}/.test(e):Array.isArray(e)?e.some(t=>pe(t)):d(e)?Object.values(e).some(t=>pe(t)):!1}function ei(e,t={}){return e.replace(/{([^}]{1,200})}/g,(n,r)=>{let o=r.includes(".")?R(t,r):t[r];return H(o)?String(o):n})}function xn(e,t){if(!v(e)||!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=jo.exec(e))!==null;){let[l,a,s]=n,c=n.index;o=!0,c>r&&i.push(e.substring(r,c));let u=t?t(c,s,a):l;i.push(u),r=c+l.length}return o?(r<e.length&&i.push(e.substring(r)),i):e}var ye={error:(...e)=>{Rt()&&!Tt()&&Le().error("[Luna Form]",...e)},warn:(...e)=>{Rt()&&!Tt()&&Le().warn("[Luna Form]",...e)},info:(...e)=>{Rt()&&!Tt()&&Le().info("[Luna Form]",...e)}},Rt=()=>typeof Le()<"u",Tt=()=>!0,Le=()=>globalThis.console;function hn(e=[],t){let n=[],r=[],o=[];for(let i of e)i.action===A&&n.push(i),i.action===cn&&r.push(i),i.action===un&&o.push(i);t({sources:r,states:o,values:n})}function Rn(e=null,t=[],n){for(let r of t){let{target:o,source:i}=r;if(!e){n(o,void 0);continue}if(fn(i)){let l=Y(i.url,e),a=i.body?Y(i.body,e):i.body;n(o,{...i,url:l,body:a})}}}var be={eq:ii,gt:ci,gte:ui,in:ai,lt:di,lte:fi,neq:li,nin:si},ti=/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2})?/,Tn=/^(\d{2})[/-](\d{2})[/-](\d{4})(?: (\d{2}):(\d{2})(?::(\d{2}))?)?$/;function ni(e){return typeof e=="string"&&ti.test(e)}function ri(e){return typeof e=="string"&&Tn.test(e)}function oi(e){let t=e.match(Tn);if(t){let[,n,r,o,i,l,a]=t;return new Date(Number(o),Number(r)-1,Number(n),Number(i??0),Number(l??0),Number(a??0)).getTime()}return NaN}function X(e){return ni(e)?new Date(e).getTime():ri(e)?oi(e):Number(e)}function ii(e,t){return e===t}function li(e,t){return e!==t}function ai(e,t){return Array.isArray(t)&&t.includes(String(e))}function si(e,t){return Array.isArray(t)&&!t.includes(String(e))}function ci(e,t){return X(e)>X(t)}function ui(e,t){return X(e)>=X(t)}function di(e,t){return X(e)<X(t)}function fi(e,t){return X(e)<=X(t)}function Sn(e=null,t=[],n){for(let r of t){let{target:o,state:i,when:l}=r,a=Array.isArray(o)?o:[o];if(!e){n(a);continue}let s=mi(e,l);n(a,s?i:void 0)}}function mi(e,t){return t===void 0?!0:v(t)?Pe(e,A)===t:pt(t)?!!Pe(e,A)===t:Array.isArray(t)?t.includes(String(Pe(e,A))):gi(e,t)}function gi(e=null,t){let n=Pe(e,t.field??A),{operator:r="eq",value:o}=t,i=be[r];return i?i(n,o):!1}function Pe(e,t){return d(e)?R(e,t):e}function An(e=null,t=[],n){for(let r of t)for(let[o,i]of Object.entries(r.value))n(o,e?Y(i,e):void 0)}var Oe=e=>w(Kt)(e),Ve=e=>w(Wt)(e),T=w(qt),St=w(Ce),D=w(Xt),M=w(Zt),At=w(Yt),vn=w(ge,gt,Qt,jt),Fn=w(Ut,gt),De=w(Ht,Jt);function Me(e){return D(e)||T(e)}function Cn(e){return e.type===ft}function q(e){return e.type===me}function _e(e){return e.type!==me&&e.type!==ft}function Be(e){return M(e)||D(e)}function Nn(e){return St(e)||At(e)}function Q(e){return e!=null&&e!==""}function w(...e){return t=>{let n=v(t.type)?t.type:void 0;return n?e.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function En(e,t={}){if(M(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&d(n))return[n]}}function kn(e){return D(e)||T(e)?le:e.advanced?.orientation??U}function In(e){return T(e)?e.advanced?.reverse!==!1:!1}function wn(e,t){let n=e.readonly??!1;return t||n}function Ln(e){if(D(e)||M(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||d(t)&&!(ie in t))return t}}var pi=/^\d+$/;function Pn(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function On(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 vt(){return new Date().getFullYear()}function Ft(e,t){if(typeof e=="number")return e;let n=t??vt(),r=e.trim().toLowerCase();if(r.startsWith("current")){let o=r.match(/^current([+-])(\d+)$/);if(o){let[,i,l]=o,a=parseInt(l,10);if(!isNaN(a))return i==="+"?n+a:n-a}return n}return pi.test(r)?parseInt(r,10):n}var Ge=vt();function yi(e){if(M(e))return bi(e)}function bi(e){if(Oe(e))return Pn();if(Ve(e)){let t=e.advanced?.length?.min??Ge,n=e.advanced?.length?.max??Ge+5;return On(Ft(t,Ge),Ft(n,Ge))}}function Vn(e,t=!1){let n={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return St(e)?{...n,...xi(e)}:M(e)?{...n,...hi(e)}:At(e)?{...n,...Ri(e)}:n}function xi(e){let t=pn(e.type),n={...e,type:t};return{...Dn(e),...Ti(n),...vn(n)?Mn(n):{},type:t}}function hi(e){let t=yi(e);return t?{options:t}:{}}function Ri(e){return{...Dn(e),...Mn(e)}}function Dn(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function Ti(e){return De(e)?Si(e):{}}function Mn(e){return _n(e,{min:an,max:sn})}function Si(e){return _n(e,{min:Ee,max:ke})}function _n(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 Bn(e,t){let n=Ln(e);return n||En(e,t)}function Ai(e,t){let n=d(t)&&e.name in t?t[e.name]:t;return xt(n,e.advanced?.entity)}function vi(e,t,n){return Be(e)&&Array.isArray(n)?{...t,[Ne]:n}:t}function Fi(e,t,n){if(e.required&&!Q(n)&&M(e)&&e.advanced?.preselected!==!1&&Ne in t){let r=t[Ne];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function Ci(e,t){return M(e)&&Array.isArray(t)?gn(t,e.advanced?.options):t}function Gn(e,t,n,r){let o=Ai(e,r),i=Array.isArray(n)?Ci(e,n):n,l=vi(e,t,i),a=Fi(e,l,o);return{commonPropsWithOptions:l,defaultValue:a}}function $n(e,t){return T(e)?{checked:Q(t)?t:!1}:{value:t??""}}var Ni=/^#\/definition\//;function Ue(e=[],t){let n=$e(e,t);return Array.isArray(n)?n.filter(ki).sort((r,o)=>Un(r)-Un(o)):[]}function $e(e,t,n=new Map,r=new WeakSet){if(!Ei(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=>$e(i,t,n,r));if(ie in e&&v(e[ie])){let i=e[ie].replace(Ni,""),l=R(t,i);return l!==null?$e(l,t,n,r):e}let o={};for(let[i,l]of Object.entries(e))o[i]=$e(l,t,n,r);return r.delete(e),n.set(e,o),o}function Hn(e){return Object.entries(e??{})}function Un(e){return e.order??Number.MAX_VALUE}function Ei(e){return e!==void 0&&d(e)&&Object.keys(e).length>0}function ki(e){return dn in e?!0:Array.isArray(e[mt])?e[mt].length>0:!0}function Yn(e,t){let n={};for(let[r,o]of Hn(t))n[`${e}-${r}`]=o;return n}function Ii(e){return Yn(on,e)}function wi(e){return Yn(ln,e)}function Xn(e,t){let n=Ii(e.advanced?.aria);return t&&t.length>0&&(n[tn]="true",n[en]=`${e.name}-error`),n}function qn(e){return wi(e.advanced?.data)}var Zn={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},Kn={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function Wn(e,t=2){return Zn[e&&e in Zn?e:t]}function zn(e){if(e&&e in Kn)return Kn[e]}function Li(e,t){let n=e.advanced?.length?.min??1;if(t){let r=R(t,e.name);if(Array.isArray(r))return Math.max(r.length,n)}return Math.max(n,0)}function Jn(e){return!Array.isArray(e.fields)||e.fields.length===0?!1:e.fields.length>1||e.fields[0].type===me}function Qn(e,t){let n=Li(e,t);return Array.from({length:n},(r,o)=>o)}function jn(e){return e.label??e.name}var m=require("zod");function f(e,t){return e?t?t[e]??e:e:""}var Pi=[[De,_i],[Fn,Oi],[Ve,Bi],[Oe,Gi],[T,Vi],[D,Di]];function tr(e,t=[],n){let r=m.z.object(e);return t.length===0?r:Yi(r,t,n)}function nr(e){let t={},n=m.z.flattenError(e).fieldErrors;for(let[r,o]of Object.entries(n))o!==void 0&&(t[r]=o);return t}function rr(e,t){for(let[n,r]of Pi)if(n(e))return r(e,t);return Mi(e,t)}function Oi(e,t){let n=m.z.string().trim();if(e.required){let r=ae(e,t),o=n.min(1,r).pipe(er(e,t));return m.z.preprocess(i=>we(i)?"":i,o)}return n.pipe(er(e,t)).or(m.z.literal("")).nullable()}function Vi(e,t){let n=m.z.coerce.boolean();return e.required?(n=n.refine(r=>r===!0,{message:ae(e,t)}),m.z.preprocess(r=>r===null?!1:r,n)):n.nullable()}function Di(e,t){let n=m.z.coerce.string();return e.required?(n=n.min(1,ae(e,t)),m.z.preprocess(r=>we(r)?"":r,n)):n.or(m.z.literal("")).nullable()}function Mi(e,t){let n=m.z.coerce.string().trim();return n=or(n,e,t),e.required?(n=ir(n,e,t),m.z.preprocess(r=>we(r)?"":r,n)):n.nullable()}function _i(e,t){let n=m.z.coerce.number().int();return n=or(n,e,t),e.required?(n=ir(n,e,t),m.z.preprocess(r=>r===null?void 0:r,n)):n.nullable()}function Bi(e,t){return e.required?m.z.preprocess($i,m.z.coerce.number({message:ae(e,t)}).int()):m.z.coerce.number().int().nullable()}function Gi(e,t){let n=ae(e,t),r=m.z.coerce.number().int().min(1,n).max(12,n);return e.required?r:r.nullable()}function $i(e){return e===null||e===""?void 0:e}function er(e,t){let n=e.validation?.email?f(e.validation?.email,t):void 0;return m.z.email(n)}function or(e,t,n){return e=Ui(e,t,n),e=Hi(e,t,n),e}function ir(e,t,n){let r=t.advanced?.length?.min;return r===void 0||r<1?e.min(1,ae(t,n)):e}var Ui=(e,t,n)=>lr(e,t,Ee,n),Hi=(e,t,n)=>lr(e,t,ke,n);function lr(e,t,n,r){let o=t.advanced?.length?.[n];if(o!==void 0){let i=t.validation?.length?.[n]?f(t.validation?.length?.[n],r):void 0;return e[n](o,i)}return e}function Yi(e,t=[],n){let r=qi(t);return r.length===0?e:e.superRefine((o,i)=>{for(let{name:l,rule:a}of r)if(!Xi(o,l,a)){let s=f(a.message,n);i.addIssue({code:"custom",message:s,path:[l]})}})}function Xi(e,t,n){let r=n.operator??"eq",o=be[r];return o?o(e[t],e[n.field]):!1}function qi(e){let t=[];for(let n of e){let r=n.validation?.custom;if(!r)continue;let o=Array.isArray(r)?r:[r];for(let i of o)t.push({name:n.name,rule:i})}return t}function ar(e,t,n,r){let o=[],i=Array.isArray(t)?t:[t];for(let l of i){let a=l.operator??"eq",s=be[a];if(s&&!s(e,n(l.field))&&l.message){let c=f(l.message,r);o.push(c)}}return o}function ae(e,t){return e.validation?.required?f(e.validation?.required,t):void 0}function sr(e,t){if(!t||!Ki(e))return!0;if(t.length===0)return!1;try{let n=new URL(e),r=n.protocol.replace(":",""),o=n.hostname,i=n.port||Zi(r);return t.some(l=>!(l.protocol&&l.protocol!==r||l.hostname&&l.hostname!==o||l.port!==void 0&&String(l.port)!==i))}catch{return!1}}function Zi(e){return e==="https"?"443":"80"}function Ki(e){return/^(https?:)?\/\//.test(e)}function cr(e,t){try{if(!e)return t;if(!t)return e;let n=new URL(e,Ie);new URL(t,Ie).searchParams.forEach((i,l)=>{n.searchParams.set(l,i)});let o=n.toString();return e.startsWith("/")||!e.includes("://")?o.replace(Ie,""):o}catch{return t||e}}function ur(e){return!Array.isArray(e)||e.length===0?null:e.reduce((t,n)=>{let r=cr(t.url,n.url),o=Wi(t,n),i=zi(t,n);return{...t,...n,url:r,body:o,headers:i}})}function Wi(e,t){return d(t.body)&&d(e?.body)?{...e.body,...t.body}:t.body??e?.body}function zi(e,t){return d(t.headers)&&d(e?.headers)?{...e.headers,...t.headers}:t.headers??e?.headers}function He(e,t){return{...e,...t}}var dr=require("react/jsx-runtime");function Z(e){return xn(e,(t,n,r)=>(0,dr.jsx)("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${t}`))}var L=require("react/jsx-runtime");function fr(e){let{fields:t=[]}=e.section,[n,r]=(0,se.useState)(!1),o=(0,se.useCallback)(()=>r(i=>!i),[]);return(0,L.jsxs)("fieldset",{"data-slot":"field-set","data-advanced":"true","data-expanded":n,"data-empty":t.length===0,className:"flex flex-col",id:e.section.id?.toString(),children:[(0,L.jsx)("legend",{children:(0,L.jsxs)("button",{className:"flex cursor-pointer items-center gap-2 text-base font-medium text-slate-600 dark:text-slate-400",onClick:o,type:"button",children:[(0,L.jsx)($t,{expanded:n}),(0,L.jsx)("span",{children:Z(e.section.title)})]})}),(0,L.jsx)(se.Activity,{mode:n?"visible":"hidden",children:(0,L.jsxs)("div",{className:"mt-3 ml-1.5 flex flex-col gap-4 border-l-2 border-slate-300 pl-4 dark:border-slate-600","data-slot":"field-set-content",children:[e.section.description&&(0,L.jsx)("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:Z(e.section.description)}),e.group]})})]})}var j=require("react/jsx-runtime");function mr(e){return(0,j.jsxs)(j.Fragment,{children:[e.title&&(0,j.jsx)("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:Z(e.title)}),e.description&&(0,j.jsx)("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:Z(e.description)})]})}var Xe=require("react/jsx-runtime");function Ye(e){return(0,Xe.jsxs)("fieldset",{"data-slot":"field-set","data-empty":e.empty,className:"flex flex-col data-[empty=false]:gap-6",id:e.id,children:[(0,Xe.jsx)(mr,{description:e.description,title:e.title}),e.children]})}var gr=require("react/jsx-runtime");function ee(e){return(0,gr.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 qe=require("react/jsx-runtime");function pr(e){let{fields:t=[]}=e.section,{compact:n}=He(e.style,{compact:e.section.compact}),r=(0,qe.jsx)(ee,{compact:n,children:e.children});return!e.section.title&&!e.section.description?r:e.section.advanced?(0,qe.jsx)(fr,{section:e.section,group:r}):(0,qe.jsx)(Ye,{description:e.section.description,empty:t.length===0,id:e.section.id?.toString(),title:e.section.title,children:r})}var Rr=require("jotai");var K=require("jotai"),Ct=require("jotai-family"),Ze=require("fast-equals");function Ke(e,t){let{[t]:n,...r}=e;return r}function Ji(e){return(0,Ct.atomFamily)(t=>(0,K.atom)(n=>n(e)[t]??void 0,(n,r,o)=>{let i=n(e);if(o!=null){let l=i[t];(!l||!(0,Ze.deepEqual)(l,o))&&r(e,{...i,[t]:o})}else i[t]&&r(e,Ke(i,t))}))}function Qi(e){return(0,K.atom)(null,(t,n)=>{let r=t(e);r&&Object.keys(r).length>0&&n(e,{})})}function ji(e){return(0,K.atom)(null,(t,n,r)=>{let i={...t(e)},l=!1;for(let a of r)i[a]&&(delete i[a],l=!0);l&&n(e,i)})}function el(e){return(0,K.atom)(null,(t,n,r)=>{let o=t(e);(0,Ze.deepEqual)(o,r)||n(e,r)})}function yr(e,t={}){let{merge:n,validateTarget:r}=t;return(0,Ct.atomFamily)(o=>(0,K.atom)(i=>{let l=i(e)[o];if(l&&n)return n(Object.values(l))},(i,l,a,s)=>{if(r&&!r(a))return;let c=i(e),u={...c[a]??{}};if(s!=null){let y=u[o];(!y||!(0,Ze.deepEqual)(y,s))&&(u[o]=s,l(e,{...c,[a]:u}))}else u[o]&&(delete u[o],Object.keys(u).length===0?l(e,Ke(c,a)):l(e,{...c,[a]:u}))}))}function br(e){return(0,K.atom)(null,(t,n,r)=>{let i={...t(e)},l=!1;for(let a of r)i[a]&&(delete i[a],l=!0);for(let a in i){let s={...i[a]},c=!1;for(let u of r)s[u]&&(delete s[u],c=!0,l=!0);c&&(Object.keys(s).length===0?delete i[a]:i[a]=s)}l&&n(e,i)})}function ce(e={}){let t=(0,K.atom)(e);return{atom:t,clearAll:Qi(t),clear:ji(t),bulkReport:el(t),report:Ji(t)}}var xr=ce(),We=xr.atom,hr=xr.report;function tl(e,t){return e.fields.every(n=>Tr(n,t))}function Tr(e,t){return t[e.name]?.hidden??e.hidden??!1}function nl(e,t){return q(e)?tl(e,t):Tr(e,t)}function ze(e){let t=(0,Rr.useAtomValue)(We);return e.container&&(t[e.container.name]?.hidden??e.container.hidden??!1)||e.fields.length===0||e.fields.every(r=>nl(r,t))?null:e.children}var Nt=require("react/jsx-runtime");function Sr(){return(0,Nt.jsx)("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:(0,Nt.jsx)("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}var _=require("react/jsx-runtime");function Ar(e){let t=Ue(e.sections,e.definition);return(0,_.jsx)("div",{className:"h-full w-full",children:(0,_.jsx)("form",{noValidate:e.noValidate,action:e.action,children:(0,_.jsxs)(ee,{children:[t.map((n,r)=>(0,_.jsxs)(ze,{fields:n.fields??[],children:[(0,_.jsx)(pr,{section:n,style:e.config.style,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.separator&&(0,_.jsx)(Sr,{})]},r)),e.control&&(0,_.jsx)(Bt,{isPending:e.isPending,children:e.control})]})})})}var Fr=require("react/jsx-runtime");function vr(e){return(0,Fr.jsx)("p",{className:"-mt-2 text-xs leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}var Cr=require("react/jsx-runtime");function Je(e){let t=Z(e.text);return t?(0,Cr.jsx)(vr,{children:t}):null}var Nr=require("tailwind-merge"),Qe=require("react/jsx-runtime");function Er(e){let t=e.style?.showOptionalLabel??!0,n=D(e.field)||T(e.field);return(0,Qe.jsxs)("label",{"data-slot":"field-label","data-normal":n,className:(0,Nr.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,t&&!e.field.required&&(0,Qe.jsx)("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:f("(Optional)",e.translations)})]})}var xe=require("react/jsx-runtime");function kr(e){let t={context:e.context,env:e.config?.env},n=ht(e.field.label,t),r=ht(e.field.description,t);return(0,xe.jsxs)("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[(0,xe.jsx)(Er,{field:e.field,style:e.config?.style,translations:e.translations,children:f(n,e.translations)}),e.orientation===le&&(0,xe.jsx)(Je,{text:f(r,e.translations)})]})}var te=require("react/jsx-runtime");function Ir(e){return(0,te.jsxs)(te.Fragment,{children:[e.field.name&&e.field.label&&(0,te.jsx)(kr,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations}),e.children,e.orientation===U&&e.field.description&&(0,te.jsx)(Je,{text:f(e.field.description,e.translations)})]})}function je(e,t){return e?t(e):null}var Et=ce(),wr=Et.clear,Lr=Et.bulkReport,et=Et.report;var tt=ce(),nt=tt.atom,Pr=tt.clearAll,Or=tt.clear,rt=tt.report;var b=require("react");var Vr=require("jotai");var rl=e=>{let t=ur(e);if(t)return t},ol=e=>e.trim()!=="",Dr=(0,Vr.atom)({}),Mr=yr(Dr,{merge:rl,validateTarget:ol}),_r=br(Dr);var $r=require("jotai");var Br=Wo(require("swr"),1);function Gr(e=null,t,n=!1){let{data:r,error:o}=(0,Br.default)(il(e,t,n),t.fetcher.provider);if(o&&ye.error("Error fetching data source:",o),e){if(Array.isArray(e))return e;if(r)return mn(r,e.namespace)}return null}function il(e=null,t,n=!1){if(e&&!Array.isArray(e)&&!n&&e.url&&!pe(e.url)){if(sr(e.url,t.fetcher.remotePatterns))return e;ye.warn(`URL blocked by remotePatterns: ${e.url}. Check your luna.config.ts`)}return null}function Ur(e,t,n){let r=Bn(e,n),[o,i]=(0,$r.useAtom)(Mr(e.name));return[Gr(o??r,t,e.disabled),i]}var ne=require("react");function Hr(e,t,n,r){let{name:o}=e,i=(0,ne.useMemo)(()=>rr(e,r),[e,r]),l=(0,ne.useEffectEvent)(s=>{s&&t(s,i,e)}),a=(0,ne.useEffectEvent)(s=>{s&&n(s)});return(0,ne.useEffect)(()=>(l(o),()=>{a(o)}),[o]),i}var de=require("jotai");var ue=require("react");function Yr(){let e=(0,ue.useRef)(null);return(0,ue.useEffect)(()=>()=>{e.current&&clearTimeout(e.current)},[]),(0,ue.useCallback)((n,r)=>{e.current&&(clearTimeout(e.current),e.current=null),e.current=setTimeout(n,r)},[])}var Xr=require("fast-equals");var qr=require("jotai"),W=require("react");function Zr(e,t){let{name:n}=e,r=(0,W.useRef)(!1),[o,i]=(0,qr.useAtom)(rt(n)),l=(0,W.useEffectEvent)(s=>{let c=ll(n,s);Q(c)&&((0,Xr.deepEqual)(o,c)||(r.current=!0),i(c))});(0,W.useEffect)(()=>{t&&l(t)},[t]);let a=(0,W.useCallback)(()=>r.current?(r.current=!1,!0):!1,[]);return{setValue:i,shouldSkipOnChange:a,value:o}}function ll(e,t){if(e in t)return t[e];if(!e.includes("."))return;let n=e.split("."),r=t;for(let o of n){if(r==null)return;if(Array.isArray(r)){let i=Number(o);r=Number.isInteger(i)?r[i]:void 0}else if(typeof r=="object")r=r[o];else return}return r}var kt=require("react/jsx-runtime");function Kr(e){let t=e.field.advanced?.entity,n=(0,de.useStore)(),r=Yr(),[,o]=(0,b.useTransition)(),{setValue:i,shouldSkipOnChange:l,value:a}=Zr(e.field,e.value),s=(0,b.useRef)(!1),c=(0,b.useRef)(a);c.current=a;let u=(0,b.useRef)(e.translations);u.current=e.translations;let y=Nn(e.field),h=Me(e.field),C=(0,de.useSetAtom)(nt),G=(0,de.useSetAtom)(We),N=(0,de.useSetAtom)(et(e.field.name)),[x,V]=Ur(e.field,e.config,a),E=Hr(e.field,e.onMount,e.onUnmount,e.translations),S=f(e.commonProps.placeholder,e.translations),$={...e.commonProps,placeholder:S},{commonPropsWithOptions:k,defaultValue:Te}=Gn(e.field,$,x,a),Dt=(0,b.useRef)(null);Dt.current=g=>{if(i(g),e.onValueChange){let p=e.dataAttributes??{};e.onValueChange({data:Object.keys(p).length>0?p:void 0,name:e.field.name,type:e.field.type,value:g})}};let at=(0,b.useRef)(null);at.current=g=>{let p=e.field.event?.change;p&&hn(p,({sources:J,states:Ae,values:st})=>{o(()=>{Rn(g,J,(I,oe)=>V(I,oe)),Sn(g,Ae,(I,oe)=>{G(ve=>oe?I.reduce((ct,ut)=>({...ct,[ut]:oe}),ve):I.reduce((ct,ut)=>Ke(ct,ut),ve))}),An(g,st,(I,oe)=>{C(ve=>({...ve,[I]:oe}))})})})};let Go=$n(e.field,Te),Se=(0,b.useCallback)(g=>{let J=E.safeParse(g).error?.issues.map(I=>I.message)??[],Ae=e.field.validation?.custom,st=Ae?ar(g,Ae,I=>n.get(rt(I)),u.current):[];N([...J,...st])},[e.field.validation?.custom,E,N,n]),Mt=(0,b.useCallback)((g,p)=>{if(y){r(()=>{p({value:g})},300);return}p(bt(g,x,t))},[x,t,y,r]);(0,b.useEffect)(()=>{if(s.current||!e.value)return;if(!e.field.event?.change){s.current=!0;return}if(!((!Be(e.field)||!!x&&x.length>0)&&Q(Te)))return;s.current=!0;let p=String(Te),J=y?{value:p}:bt(p,x,t);at.current?.(J)},[x,Te,t,y,e.field,e.value]);let $o=(0,b.useCallback)(g=>{let p=g.target.value;!h&&l()&&(!y||p===c.current)||(Dt.current?.(p),e.config.validation.change&&Se(p),e.field.event?.change&&Mt(p,J=>{at.current?.(J)}))},[Mt,h,e.config.validation.change,e.field.event?.change,l,Se]),Uo=(0,b.useCallback)(g=>{if(!h){let p=g.target.value;e.config.validation.blur&&Se(p)}},[h,e.config.validation.blur,Se]);return je(e.config.inputs[e.field.type],g=>(0,kt.jsx)(Ir,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations,children:(0,kt.jsx)(g,{...k,...e.ariaAttributes,...e.dataAttributes,...Go,onBlur:Uo,onChange:$o})}))}var It=require("react/jsx-runtime");function Wr(e){return!e.errors||e.errors.length===0?null:(0,It.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,It.jsx)("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}var zr=require("tailwind-merge"),Jr=require("react/jsx-runtime");function ot(e){let t=e.errors&&e.errors.length>0;return(0,Jr.jsx)("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[nn]:"true"},...e.disabled&&{[rn]:"true"},"data-orientation":e.orientation,className:(0,zr.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&&(e.isReversed?"flex-row-reverse!":"flex-row!"),"data-[clickable=true]:has-[>[data-slot=field-content]]:[&>:first-child]:mt-px",e.className),children:e.children})}var Qr=require("tailwind-merge"),eo=require("react/jsx-runtime");function jr(e){return(0,eo.jsx)(ot,{...e,orientation:U,className:(0,Qr.twMerge)("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}var to=require("tailwind-merge"),ro=require("react/jsx-runtime");function no(e){return(0,ro.jsx)(ot,{...e,orientation:le,className:(0,to.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 wt=require("react/jsx-runtime");function oo(e){let t=Me(e.field),n=T(e.field),r=In(e.field);return e.orientation===U?(0,wt.jsx)(jr,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children}):(0,wt.jsx)(no,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children})}function io(e){if(!e.field.type)return null;let t=Vn(e.field,e.disabled),n=qn(e.field),r=Xn(e.field,e.errors),o={...e.field,disabled:t.disabled};return e.children({ariaAttributes:r,commonProps:t,dataAttributes:n,field:o,orientation:e.orientation})}var lo=require("tailwind-merge"),fe=require("react/jsx-runtime");function ao(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:r}=He(e.style,{orientation:kn(e.field)}),o=wn(e.field,e.disabled);return(0,fe.jsxs)("div",{className:(0,lo.twMerge)("flex flex-col gap-3",zn(t)),children:[(0,fe.jsx)(oo,{disabled:o,errors:n,field:e.field,orientation:r,children:(0,fe.jsx)(io,{disabled:o,errors:n,field:e.field,orientation:r,children:e.children})}),(0,fe.jsx)(Wr,{errors:n,name:e.field.name})]})}var so=require("jotai"),mo=require("react/jsx-runtime");function co(e){return(t,n)=>o=>{let i=(0,so.useAtomValue)(e(o.field.name)),l=n(i,o);return l===null?null:(0,mo.jsx)(t,{...o,...l})}}var al=co(et);function uo(e){return al(e,(t,n)=>({errors:t?{[n.field.name]:t}:void 0}))}var sl=co(hr);function fo(e){return sl(e,(t,n)=>t?.hidden??n.field.hidden??!1?null:{disabled:t?.disabled??n.disabled})}var go=fo(uo(ao));var po=require("tailwind-merge");var F=require("react/jsx-runtime");function yo(e){function t(){e.canRemove&&e.onRemove&&e.onRemove(e.index)}let n=e.canRemove&&e.onRemove!=null&&(0,F.jsx)("button",{"aria-label":`Remove ${e.label} item ${e.index+1}`,className:(0,po.twMerge)("rounded p-1 text-xl text-slate-400","transition-colors duration-150","hover:text-red-500","focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:outline-none","dark:text-slate-500 dark:hover:text-red-400"),onClick:t,type:"button",children:(0,F.jsx)("span",{"aria-hidden":"true",children:"\xD7"})});return e.isMultiField?(0,F.jsxs)("div",{className:"rounded-lg border border-slate-100 p-4 dark:border-slate-900",children:[(0,F.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:[(0,F.jsxs)("span",{className:"text-sm font-medium text-slate-400 dark:text-slate-500",children:[e.label," ",e.index+1]}),n]}),(0,F.jsx)(ee,{children:e.children})]}):(0,F.jsxs)("div",{className:"flex items-start gap-2",children:[(0,F.jsx)(ee,{children:e.children}),n&&(0,F.jsx)("div",{className:"shrink-0",children:n})]})}var ho=require("tailwind-merge");var bo=require("jotai"),P=require("react");function xo(e,t){let n=e.advanced?.length?.min??1,r=e.advanced?.length?.max??1/0,[o,i]=(0,P.useState)(()=>Qn(e,t)),l=(0,P.useRef)(o.length),a=(0,P.useRef)(o);(0,P.useLayoutEffect)(()=>{a.current=o});let s=(0,bo.useSetAtom)(nt),c=(0,P.useCallback)(()=>{i(C=>{if(C.length>=r)return C;let G=l.current++;return[...C,G]})},[r]),u=(0,P.useCallback)(C=>{if(a.current.length<=n)return;let G=a.current[C];i(N=>N.length<=n?N:N.filter((x,V)=>V!==C)),s(N=>{let x={...N},V=`${e.name}.`,E=[];for(let S of e.fields)if(q(S))for(let $ of S.fields)E.push($.name);else E.push(S.name);for(let S of E)delete x[`${V}${G}.${S}`];return x})},[e.name,e.fields,n,s]),y=o.length<r,h=o.length>n;return[o,c,u,y,h,r]}var B=require("react/jsx-runtime");function Ro(e){let[t,n,r,o,i,l]=xo(e.field,e.value),a=jn(e.field),s=e.field.advanced?.action??"Add item",c=l!==1/0,u=Jn(e.field);return(0,B.jsxs)(B.Fragment,{children:[t.map((y,h)=>(0,B.jsx)(yo,{canRemove:i,index:h,isMultiField:u,label:a,onRemove:r,children:e.children(y)},y)),(0,B.jsxs)("button",{"aria-disabled":!o,"aria-label":c?`${s}, ${t.length} of ${l}`:s,className:(0,ho.twMerge)("flex w-full items-center gap-1.5 rounded py-1","text-sm font-medium text-slate-500","transition-colors duration-150","hover:text-slate-800","focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:ring-offset-2 focus-visible:outline-none","dark:text-slate-400 dark:hover:text-slate-200",!o&&"cursor-not-allowed opacity-50 hover:text-slate-500 dark:hover:text-slate-400"),disabled:!o,onClick:n,type:"button",children:[(0,B.jsx)("span",{"aria-hidden":"true",children:"+"}),s,c&&(0,B.jsxs)("span",{"aria-hidden":"true",className:"ml-auto text-slate-400 tabular-nums dark:text-slate-500",children:[t.length," / ",l]})]})]})}var So=require("react/jsx-runtime");function To(e){let t=Array.isArray(e.field.fields)&&e.field.fields.length===0;return(0,So.jsx)(Ye,{description:e.field.description,empty:t,id:e.field.name,title:e.field.label,children:e.children})}var it=require("react/jsx-runtime");function Ao({children:e,field:t,value:n}){return(0,it.jsx)(ze,{container:t,fields:t.fields,children:(0,it.jsx)(To,{field:t,children:(0,it.jsx)(Ro,{field:t,value:n,children:e})})})}var vo=require("tailwind-merge"),Lt=require("react/jsx-runtime");function Fo(e){let t=Wn(e.column?.advanced?.cols);return(0,Lt.jsx)("div",{className:"flex w-full flex-col gap-4",children:(0,Lt.jsx)("div",{className:(0,vo.twMerge)("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children})})}var Eo=require("react");var No=require("react/jsx-runtime");function Co(e){let t=Array.isArray(e.field.fields)?e.field.fields.map(n=>_e(n)?{...n,name:`${e.field.name}.${e.index}.${n.name}`}:q(n)?{...n,fields:n.fields.map(r=>({...r,name:`${e.field.name}.${e.index}.${r.name}`}))}:n):[];return(0,No.jsx)(he,{children:e.children,components:e.components,disabled:e.disabled,fields:t,style:e.style,value:e.value})}var z=require("react/jsx-runtime");function he(e){let{field:t,list:n}=e.components;return Ue(e.fields).map((r,o)=>(0,z.jsxs)(Eo.Fragment,{children:[q(r)&&(0,z.jsx)(Fo,{column:r,children:(0,z.jsx)(he,{...e,fields:r.fields})}),_e(r)&&(0,z.jsx)(t,{disabled:e.disabled,field:r,style:e.style,children:e.children}),Cn(r)&&(0,z.jsx)(n,{field:r,value:e.value,children:i=>(0,z.jsx)(Co,{children:e.children,components:e.components,disabled:e.disabled,field:r,index:i,style:e.style,value:e.value})})]},o))}var Io=require("react/jsx-runtime");function ko(e){return n=>(0,Io.jsx)(he,{...n,components:e})}var wo=ko({field:go,list:Ao});var Ot=require("jotai");var Re=require("react");function Po(e,t,n){let{onSuccess:r,preserveValues:o=!1,validation:i=!0,translations:l}=n??{},a=(0,Ot.useSetAtom)(Lr),s=(0,Ot.useSetAtom)(Pr),c={data:null,error:null,success:!1},[u,y,h]=(0,Re.useActionState)(async(C,G)=>{let[N,x]=e(),V=tr(N,x,l);if(i===!1)return t?await t(G,V):C;let E=yn(G),S=V.safeParse(E);if(!S.success){let k=nr(S.error);return(0,Re.startTransition)(()=>{a(k)}),Pt(E,{description:f("Please correct the errors and try again.",l),details:[],title:f("There were validation errors submitting the form.",l)})}let $=bn(E);if(t)try{let k=await t($,V);return k.success?(r?.(k.data),o||(0,Re.startTransition)(()=>{s()}),Lo($,o)):Pt($,k.error)}catch(k){return ye.error("Error executing form action:",k),Pt($,{title:f("An unexpected error occurred submitting the form.",l),details:cl(k,l)})}return Lo(S.data,o)},c);return[y,u,h]}function cl(e,t){return e instanceof Error?[e.message]:[f("Unknown error",t)]}function Lo(e,t=!1){return{data:t?e:null,error:null,success:!0}}function Pt(e,t){return{data:e,error:t,success:!1}}var re=require("react");var Oo=require("react"),lt=require("jotai");function Vo(){let e=(0,lt.useSetAtom)(wr),t=(0,lt.useSetAtom)(Or),n=(0,lt.useSetAtom)(_r);return(0,Oo.useCallback)(r=>{let o=Array.isArray(r)?r:[r];e(o),n(o),t(o)},[e,n,t])}function Do(){let e=Vo(),t=(0,re.useRef)({}),n=(0,re.useRef)([]),r=(0,re.useCallback)((l,a,s)=>{l in t.current||(t.current[l]=a,n.current.push(s))},[]),o=(0,re.useCallback)(l=>{t.current[l]&&(delete t.current[l],n.current=n.current.filter(a=>a.name!==l),e([l]))},[e]);return[(0,re.useCallback)(()=>[t.current,n.current],[]),r,o]}var O=require("react/jsx-runtime");function Mo(e){let t=e.translations?.[e.lang??""],[n,r,o]=Do(),[i,l,a]=Po(n,e.action,{onSuccess:e.onSuccess,validation:e.config.validation.submit,translations:t}),s=e.config.validation.showError&&!l.success&&l.error,c=l.data??e.value;return(0,O.jsxs)(O.Fragment,{children:[s&&je(e.config.alert,u=>(0,O.jsx)("div",{className:"mb-4 w-full",children:(0,O.jsx)(u,{description:l.error?.description,details:l.error?.details,title:l.error.title})})),(0,O.jsx)(Ar,{action:i,config:e.config,control:e.children,definition:e.definition,isPending:a,noValidate:!0,readOnly:e.readOnly,sections:e.sections,children:({disabled:u,fields:y})=>(0,O.jsx)(wo,{disabled:u,fields:y,style:e.config.style,value:c,children:h=>(0,O.jsx)(Kr,{...h,config:e.config,context:e.context,onMount:r,onUnmount:o,onValueChange:e.onValueChange,translations:t,value:c})})})]})}var _o=require("jotai"),Vt=require("react/jsx-runtime");function Bo(e){return(0,Vt.jsx)(_o.Provider,{children:(0,Vt.jsx)(Mo,{...e})})}
|
|
1
|
+
"use strict";var Uo=Object.create;var ve=Object.defineProperty;var zo=Object.getOwnPropertyDescriptor;var Yo=Object.getOwnPropertyNames;var Xo=Object.getPrototypeOf,Ho=Object.prototype.hasOwnProperty;var qo=(e,t)=>{for(var n in t)ve(e,n,{get:t[n],enumerable:!0})},Ot=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Yo(t))!Ho.call(e,o)&&o!==n&&ve(e,o,{get:()=>t[o],enumerable:!(r=zo(t,o))||r.enumerable});return e};var Ko=(e,t,n)=>(n=e!=null?Uo(Xo(e)):{},Ot(t||!e||!e.__esModule?ve(n,"default",{value:e,enumerable:!0}):n,e)),Zo=e=>Ot(ve({},"__esModule",{value:!0}),e);var cl={};qo(cl,{Form:()=>_o});module.exports=Zo(cl);var _t=require("react/jsx-runtime");function Mt(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return(0,_t.jsx)("div",{"data-slot":"field-control",className:"w-full",children:t})}var le=require("react");var ut=require("react/jsx-runtime");function Bt(e){return(0,ut.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:`size-4 transition-transform duration-200 ${e.expanded?"rotate-90":""}`,children:(0,ut.jsx)("path",{fillRule:"evenodd",d:"M8.22 5.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L11.94 10 8.22 6.28a.75.75 0 0 1 0-1.06Z",clipRule:"evenodd"})})}var Fe="input",Gt="input/email",$t="input/number";var Ut="textarea",zt="radio",Yt="checkbox",dt="list";var Xt="select",Ht="select/month",qt="select/year";var de="column",Kt="description",ft="fields",Zt="label",A="value",Ce="options",mt="email",Wt="number",Jt="password",Qt="tel",fe="text",jt="aria-errormessage",en="aria-invalid",tn="data-invalid",nn="data-readonly",rn="aria",on="data",Ne="min",ke="max",ln="minLength",an="maxLength",oe="$ref";var sn="source",cn="state",Ee="http://luna.internal";var un="type";function d(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function we(e){return e==null||e===""}function O(e){return v(e)||typeof e=="number"||gt(e)}function v(e){return typeof e=="string"}function dn(e){return d(e)&&"url"in e}function gt(e){return typeof e=="boolean"}var Wo=/^\d+$/;function yt(e,t=[],n=A){return Array.isArray(t)?t.find(r=>{let o=bt(r,n);if(o!==void 0&&`${o}`===e)return r})??{value:e}:{value:e}}function bt(e,t=A){if(e!=null){if(O(e))return e;if(d(e)){let n=Jo(e,t);if(O(n))return n}}}function Jo(e,t){let n=h(e,t);if(O(n))return n}function fn(e,t){if(Array.isArray(e))return e;let n=h(e,t);return Array.isArray(n)?n:null}function h(e,t){if(!t||!d(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(d(r)&&o in r)r=r[o];else return null;return r}function mn(e,t={description:Kt,label:Zt,value:A}){return e.map(n=>{if(d(n)){let r=h(n,t.label),o=h(n,t.value);if(O(r)&&O(o)){let i=h(n,t.description);return{label:`${r}`,value:`${o}`,...O(i)&&{description:`${i}`}}}}return n})}function gn(e=fe){if(e){let t=e.lastIndexOf("/"),n=t===-1?e:e.slice(t+1);if(n&&n!==Fe)return n.trim().toLowerCase()}return fe}function pn(e){let t={};for(let n of e.keys()){let r=e.getAll(n);t[n]=r.length>1?r:r[0]}return t}function yn(e){let t={};for(let n in e){let r=n.split(".");if(r.length===1){t[n]=e[n];continue}let o=t;for(let l=0;l<r.length-1;l++){let a=r[l],s=r[l+1],c=Wo.test(s);a in o||(o[a]=c?[]:{}),o=o[a]}let i=r[r.length-1];o[i]=e[n]}return pt(t),t}function pt(e){for(let t in e){let n=e[t];if(Array.isArray(n)){let r=n.filter(o=>o!==void 0);r.forEach(o=>{o!==null&&typeof o=="object"&&!Array.isArray(o)&&pt(o)}),e[t]=r}else n!==null&&typeof n=="object"&&pt(n)}}var Qo=/\[([^\]]{1,500})\]\(([^)]{1,2000})\)/g;function U(e,t={}){if(v(e))return jo(e,t);if(Array.isArray(e))return e.map(n=>U(n,t));if(d(e)){let n={};for(let r in e)n[r]=U(e[r],t);return n}return e}function Ie(e,t={}){return me(e)?U(e,t):e}function me(e){return v(e)?/{([^}]{1,200})}/.test(e):Array.isArray(e)?e.some(t=>me(t)):d(e)?Object.values(e).some(t=>me(t)):!1}function jo(e,t={}){return e.replace(/{([^}]{1,200})}/g,(n,r)=>{let o=r.includes(".")?h(t,r):t[r];return O(o)?String(o):n})}function bn(e,t){if(!v(e)||!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=Qo.exec(e))!==null;){let[l,a,s]=n,c=n.index;o=!0,c>r&&i.push(e.substring(r,c));let u=t?t(c,s,a):l;i.push(u),r=c+l.length}return o?(r<e.length&&i.push(e.substring(r)),i):e}var ge={error:(...e)=>{xt()&&!ht()&&Pe().error("[Luna Form]",...e)},warn:(...e)=>{xt()&&!ht()&&Pe().warn("[Luna Form]",...e)},info:(...e)=>{xt()&&!ht()&&Pe().info("[Luna Form]",...e)}},xt=()=>typeof Pe()<"u",ht=()=>!0,Pe=()=>globalThis.console;function xn(e=[],t){let n=[],r=[],o=[];for(let i of e)i.action===A&&n.push(i),i.action===sn&&r.push(i),i.action===cn&&o.push(i);t({sources:r,states:o,values:n})}function hn(e=null,t=[],n){for(let r of t){let{target:o,source:i}=r;if(!e){n(o,void 0);continue}if(dn(i)){let l=U(i.url,e),a=i.body?U(i.body,e):i.body;n(o,{...i,url:l,body:a})}}}var pe={eq:oi,gt:si,gte:ci,in:li,lt:ui,lte:di,neq:ii,nin:ai},ei=/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2})?/,Rn=/^(\d{2})[/-](\d{2})[/-](\d{4})(?: (\d{2}):(\d{2})(?::(\d{2}))?)?$/;function ti(e){return typeof e=="string"&&ei.test(e)}function ni(e){return typeof e=="string"&&Rn.test(e)}function ri(e){let t=e.match(Rn);if(t){let[,n,r,o,i,l,a]=t;return new Date(Number(o),Number(r)-1,Number(n),Number(i??0),Number(l??0),Number(a??0)).getTime()}return NaN}function z(e){return ti(e)?new Date(e).getTime():ni(e)?ri(e):Number(e)}function oi(e,t){return e===t}function ii(e,t){return e!==t}function li(e,t){return Array.isArray(t)&&t.includes(String(e))}function ai(e,t){return Array.isArray(t)&&!t.includes(String(e))}function si(e,t){return z(e)>z(t)}function ci(e,t){return z(e)>=z(t)}function ui(e,t){return z(e)<z(t)}function di(e,t){return z(e)<=z(t)}function Tn(e=null,t=[],n){for(let r of t){let{target:o,state:i,when:l}=r,a=Array.isArray(o)?o:[o];if(!e){n(a);continue}let s=fi(e,l);n(a,s?i:void 0)}}function fi(e,t){return t===void 0?!0:v(t)?Le(e,A)===t:gt(t)?!!Le(e,A)===t:Array.isArray(t)?t.includes(String(Le(e,A))):mi(e,t)}function mi(e=null,t){let n=Le(e,t.field??A),{operator:r="eq",value:o}=t,i=pe[r];return i?i(n,o):!1}function Le(e,t){return d(e)?h(e,t):e}function Sn(e=null,t=[],n){for(let r of t)for(let[o,i]of Object.entries(r.value))n(o,e?U(i,e):void 0)}var Ve=e=>I(Ht)(e),De=e=>I(qt)(e),T=I(Yt),Rt=I(Fe),M=I(zt),Y=I(Xt),Tt=I(Ut),An=I(fe,mt,Jt,Qt),vn=I(Gt,mt),Oe=I($t,Wt);function Me(e){return M(e)||T(e)}function Fn(e){return e.type===dt}function X(e){return e.type===de}function _e(e){return e.type!==de&&e.type!==dt}function ye(e){return Y(e)||M(e)}function Cn(e){return Rt(e)||Tt(e)}function J(e){return e!=null&&e!==""}function I(...e){return t=>{let n=v(t.type)?t.type:void 0;return n?e.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function Nn(e,t={}){if(Y(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&d(n))return[n]}}function kn(e){return M(e)||T(e)?!0:e.advanced?.horizontal??!1}function En(e){return T(e)?e.advanced?.reverse!==!1:!1}function wn(e,t){let n=e.readonly??!1;return t||n}function In(e){if(M(e)||Y(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||d(t)&&!(oe in t))return t}}var gi=/^\d+$/;function Pn(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function Ln(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 St(){return new Date().getFullYear()}function At(e,t){if(typeof e=="number")return e;let n=t??St(),r=e.trim().toLowerCase();if(r.startsWith("current")){let o=r.match(/^current([+-])(\d+)$/);if(o){let[,i,l]=o,a=parseInt(l,10);if(!isNaN(a))return i==="+"?n+a:n-a}return n}return gi.test(r)?parseInt(r,10):n}var Be=St();function pi(e){if(Y(e))return yi(e)}function yi(e){if(Ve(e))return Pn();if(De(e)){let t=e.advanced?.length?.min??Be,n=e.advanced?.length?.max??Be+5;return Ln(At(t,Be),At(n,Be))}}function Vn(e,t=!1){let n={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return Rt(e)?{...n,...bi(e)}:Y(e)?{...n,...xi(e)}:Tt(e)?{...n,...hi(e)}:n}function bi(e){let t=gn(e.type),n={...e,type:t};return{...Dn(e),...Ri(n),...An(n)?On(n):{},type:t}}function xi(e){let t=pi(e);return t?{options:t}:{}}function hi(e){return{...Dn(e),...On(e)}}function Dn(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function Ri(e){return Oe(e)?Ti(e):{}}function On(e){return Mn(e,{min:ln,max:an})}function Ti(e){return Mn(e,{min:Ne,max:ke})}function Mn(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 _n(e,t){let n=In(e);return n||Nn(e,t)}function Si(e,t){let n=d(t)&&e.name in t?t[e.name]:t;return bt(n,e.advanced?.entity)}function Ai(e,t,n){return ye(e)&&Array.isArray(n)?{...t,[Ce]:n}:t}function vi(e,t,n){if(e.required&&!J(n)&&Y(e)&&e.advanced?.preselected!==!1&&Ce in t){let r=t[Ce];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function Fi(e,t){return ye(e)&&Array.isArray(t)?mn(t,e.advanced?.options):t}function Bn(e,t,n,r){let o=Si(e,r),i=Array.isArray(n)?Fi(e,n):n,l=Ai(e,t,i),a=vi(e,l,o);return{commonPropsWithOptions:l,defaultValue:a}}function Gn(e,t){return T(e)?{checked:J(t)?t:!1}:{value:t??""}}var Ci=/^#\/definition\//;function $e(e=[],t){let n=Ge(e,t);return Array.isArray(n)?n.filter(ki).sort((r,o)=>$n(r)-$n(o)):[]}function Ge(e,t,n=new Map,r=new WeakSet){if(!Ni(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=>Ge(i,t,n,r));if(oe in e&&v(e[oe])){let i=e[oe].replace(Ci,""),l=h(t,i);return l!==null?Ge(l,t,n,r):e}let o={};for(let[i,l]of Object.entries(e))o[i]=Ge(l,t,n,r);return r.delete(e),n.set(e,o),o}function Un(e){return Object.entries(e??{})}function $n(e){return e.order??Number.MAX_VALUE}function Ni(e){return e!==void 0&&d(e)&&Object.keys(e).length>0}function ki(e){return un in e?!0:Array.isArray(e[ft])?e[ft].length>0:!0}function zn(e,t){let n={};for(let[r,o]of Un(t))n[`${e}-${r}`]=o;return n}function Ei(e){return zn(rn,e)}function wi(e){return zn(on,e)}function Yn(e,t){let n=Ei(e.advanced?.aria);return t&&t.length>0&&(n[en]="true",n[jt]=`${e.name}-error`),n}function Xn(e){return wi(e.advanced?.data)}var Hn={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},qn={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function Kn(e,t=2){return Hn[e&&e in Hn?e:t]}function Zn(e){if(e&&e in qn)return qn[e]}function Ii(e,t){let n=e.advanced?.length?.min??1;if(t){let r=h(t,e.name);if(Array.isArray(r))return Math.max(r.length,n)}return Math.max(n,0)}function Wn(e){return!Array.isArray(e.fields)||e.fields.length===0?!1:e.fields.length>1||e.fields[0].type===de}function Jn(e,t){let n=Ii(e,t);return Array.from({length:n},(r,o)=>o)}function Qn(e){return e.label??e.name}var f=require("zod");function p(e,t){return e?t?t[e]??e:e:""}var Pi=[[Oe,Mi],[vn,Li],[De,_i],[Ve,Bi],[T,Vi],[M,Di]];function er(e,t=[],n){let r=f.z.object(e);return t.length===0?r:zi(r,t,n)}function tr(e){let t={},n=f.z.flattenError(e).fieldErrors;for(let[r,o]of Object.entries(n))o!==void 0&&(t[r]=o);return t}function nr(e,t){for(let[n,r]of Pi)if(n(e))return r(e,t);return Oi(e,t)}function Li(e,t){let n=f.z.string().trim();if(e.required){let r=ie(e,t),o=n.min(1,r).pipe(jn(e,t));return f.z.preprocess(i=>we(i)?"":i,o)}return n.pipe(jn(e,t)).or(f.z.literal("")).nullable()}function Vi(e,t){let n=f.z.coerce.boolean();return e.required?(n=n.refine(r=>r===!0,{message:ie(e,t)}),f.z.preprocess(r=>r===null?!1:r,n)):n.nullable()}function Di(e,t){let n=f.z.coerce.string();return e.required?(n=n.min(1,ie(e,t)),f.z.preprocess(r=>we(r)?"":r,n)):n.or(f.z.literal("")).nullable()}function Oi(e,t){let n=f.z.coerce.string().trim();return n=rr(n,e,t),e.required?(n=or(n,e,t),f.z.preprocess(r=>we(r)?"":r,n)):n.nullable()}function Mi(e,t){let n=f.z.coerce.number().int();return n=rr(n,e,t),e.required?(n=or(n,e,t),f.z.preprocess(r=>r===null?void 0:r,n)):n.nullable()}function _i(e,t){return e.required?f.z.preprocess(Gi,f.z.coerce.number({message:ie(e,t)}).int()):f.z.coerce.number().int().nullable()}function Bi(e,t){let n=ie(e,t),r=f.z.coerce.number().int().min(1,n).max(12,n);return e.required?r:r.nullable()}function Gi(e){return e===null||e===""?void 0:e}function jn(e,t){let n=e.validation?.email?p(e.validation?.email,t):void 0;return f.z.email(n)}function rr(e,t,n){return e=$i(e,t,n),e=Ui(e,t,n),e}function or(e,t,n){let r=t.advanced?.length?.min;return r===void 0||r<1?e.min(1,ie(t,n)):e}var $i=(e,t,n)=>ir(e,t,Ne,n),Ui=(e,t,n)=>ir(e,t,ke,n);function ir(e,t,n,r){let o=t.advanced?.length?.[n];if(o!==void 0){let i=t.validation?.length?.[n]?p(t.validation?.length?.[n],r):void 0;return e[n](o,i)}return e}function zi(e,t=[],n){let r=Xi(t);return r.length===0?e:e.superRefine((o,i)=>{for(let{name:l,rule:a}of r)if(!Yi(o,l,a)){let s=p(a.message,n);i.addIssue({code:"custom",message:s,path:[l]})}})}function Yi(e,t,n){let r=n.operator??"eq",o=pe[r];return o?o(e[t],e[n.field]):!1}function Xi(e){let t=[];for(let n of e){let r=n.validation?.custom;if(!r)continue;let o=Array.isArray(r)?r:[r];for(let i of o)t.push({name:n.name,rule:i})}return t}function lr(e,t,n,r){let o=[],i=Array.isArray(t)?t:[t];for(let l of i){let a=l.operator??"eq",s=pe[a];if(s&&!s(e,n(l.field))&&l.message){let c=p(l.message,r);o.push(c)}}return o}function ie(e,t){return e.validation?.required?p(e.validation?.required,t):void 0}function ar(e,t){if(!t||!qi(e))return!0;if(t.length===0)return!1;try{let n=new URL(e),r=n.protocol.replace(":",""),o=n.hostname,i=n.port||Hi(r);return t.some(l=>!(l.protocol&&l.protocol!==r||l.hostname&&l.hostname!==o||l.port!==void 0&&String(l.port)!==i))}catch{return!1}}function Hi(e){return e==="https"?"443":"80"}function qi(e){return/^(https?:)?\/\//.test(e)}function sr(e,t){try{if(!e)return t;if(!t)return e;let n=new URL(e,Ee);new URL(t,Ee).searchParams.forEach((i,l)=>{n.searchParams.set(l,i)});let o=n.toString();return e.startsWith("/")||!e.includes("://")?o.replace(Ee,""):o}catch{return t||e}}function cr(e){return!Array.isArray(e)||e.length===0?null:e.reduce((t,n)=>{let r=sr(t.url,n.url),o=Ki(t,n),i=Zi(t,n);return{...t,...n,url:r,body:o,headers:i}})}function Ki(e,t){return d(t.body)&&d(e?.body)?{...e.body,...t.body}:t.body??e?.body}function Zi(e,t){return d(t.headers)&&d(e?.headers)?{...e.headers,...t.headers}:t.headers??e?.headers}function Ue(e,t){return{...e,...t}}var ur=require("react/jsx-runtime");function H(e){return bn(e,(t,n,r)=>(0,ur.jsx)("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${t}`))}var P=require("react/jsx-runtime");function dr(e){let{fields:t=[]}=e.section,[n,r]=(0,le.useState)(!1),o=(0,le.useCallback)(()=>r(i=>!i),[]);return(0,P.jsxs)("fieldset",{"data-slot":"field-set","data-advanced":"true","data-expanded":n,"data-empty":t.length===0,className:"flex flex-col",id:e.section.id?.toString(),children:[(0,P.jsx)("legend",{children:(0,P.jsxs)("button",{className:"flex cursor-pointer items-center gap-2 text-base font-medium text-slate-600 dark:text-slate-400",onClick:o,type:"button",children:[(0,P.jsx)(Bt,{expanded:n}),(0,P.jsx)("span",{children:H(e.section.title)})]})}),(0,P.jsx)(le.Activity,{mode:n?"visible":"hidden",children:(0,P.jsxs)("div",{className:"mt-3 ml-1.5 flex flex-col gap-4 border-l-2 border-slate-300 pl-4 dark:border-slate-600","data-slot":"field-set-content",children:[e.section.description&&(0,P.jsx)("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:H(e.section.description)}),e.group]})})]})}var Q=require("react/jsx-runtime");function fr(e){return(0,Q.jsxs)(Q.Fragment,{children:[e.title&&(0,Q.jsx)("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:H(e.title)}),e.description&&(0,Q.jsx)("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:H(e.description)})]})}var Ye=require("react/jsx-runtime");function ze(e){return(0,Ye.jsxs)("fieldset",{"data-slot":"field-set","data-empty":e.empty,className:"flex flex-col data-[empty=false]:gap-6",id:e.id,children:[(0,Ye.jsx)(fr,{description:e.description,title:e.title}),e.children]})}var mr=require("react/jsx-runtime");function j(e){return(0,mr.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 Xe=require("react/jsx-runtime");function gr(e){let{fields:t=[]}=e.section,{compact:n}=Ue(e.style,{compact:e.section.compact}),r=(0,Xe.jsx)(j,{compact:n,children:e.children});return!e.section.title&&!e.section.description?r:e.section.advanced?(0,Xe.jsx)(dr,{section:e.section,group:r}):(0,Xe.jsx)(ze,{description:e.section.description,empty:t.length===0,id:e.section.id?.toString(),title:e.section.title,children:r})}var hr=require("jotai");var q=require("jotai"),vt=require("jotai-family"),He=require("fast-equals");function qe(e,t){let{[t]:n,...r}=e;return r}function Wi(e){return(0,vt.atomFamily)(t=>(0,q.atom)(n=>n(e)[t]??void 0,(n,r,o)=>{let i=n(e);if(o!=null){let l=i[t];(!l||!(0,He.deepEqual)(l,o))&&r(e,{...i,[t]:o})}else i[t]&&r(e,qe(i,t))}))}function Ji(e){return(0,q.atom)(null,(t,n)=>{let r=t(e);r&&Object.keys(r).length>0&&n(e,{})})}function Qi(e){return(0,q.atom)(null,(t,n,r)=>{let i={...t(e)},l=!1;for(let a of r)i[a]&&(delete i[a],l=!0);l&&n(e,i)})}function ji(e){return(0,q.atom)(null,(t,n,r)=>{let o=t(e);(0,He.deepEqual)(o,r)||n(e,r)})}function pr(e,t={}){let{merge:n,validateTarget:r}=t;return(0,vt.atomFamily)(o=>(0,q.atom)(i=>{let l=i(e)[o];if(l&&n)return n(Object.values(l))},(i,l,a,s)=>{if(r&&!r(a))return;let c=i(e),u={...c[a]??{}};if(s!=null){let y=u[o];(!y||!(0,He.deepEqual)(y,s))&&(u[o]=s,l(e,{...c,[a]:u}))}else u[o]&&(delete u[o],Object.keys(u).length===0?l(e,qe(c,a)):l(e,{...c,[a]:u}))}))}function yr(e){return(0,q.atom)(null,(t,n,r)=>{let i={...t(e)},l=!1;for(let a of r)i[a]&&(delete i[a],l=!0);for(let a in i){let s={...i[a]},c=!1;for(let u of r)s[u]&&(delete s[u],c=!0,l=!0);c&&(Object.keys(s).length===0?delete i[a]:i[a]=s)}l&&n(e,i)})}function ae(e={}){let t=(0,q.atom)(e);return{atom:t,clearAll:Ji(t),clear:Qi(t),bulkReport:ji(t),report:Wi(t)}}var br=ae(),Ke=br.atom,xr=br.report;function el(e,t){return e.fields.every(n=>Rr(n,t))}function Rr(e,t){return t[e.name]?.hidden??e.hidden??!1}function tl(e,t){return X(e)?el(e,t):Rr(e,t)}function Ze(e){let t=(0,hr.useAtomValue)(Ke);return e.container&&(t[e.container.name]?.hidden??e.container.hidden??!1)||e.fields.length===0||e.fields.every(r=>tl(r,t))?null:e.children}var Ft=require("react/jsx-runtime");function Tr(){return(0,Ft.jsx)("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:(0,Ft.jsx)("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}var _=require("react/jsx-runtime");function Sr(e){let t=$e(e.sections,e.definition);return(0,_.jsx)("div",{className:"h-full w-full",children:(0,_.jsx)("form",{noValidate:e.noValidate,action:e.action,children:(0,_.jsxs)(j,{children:[t.map((n,r)=>(0,_.jsxs)(Ze,{fields:n.fields??[],children:[(0,_.jsx)(gr,{section:n,style:e.config.style,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.separator&&(0,_.jsx)(Tr,{})]},r)),e.control&&(0,_.jsx)(Mt,{isPending:e.isPending,children:e.control})]})})})}var vr=require("react/jsx-runtime");function Ar(e){return(0,vr.jsx)("p",{className:"-mt-2 text-xs leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}var Fr=require("react/jsx-runtime");function We(e){let t={context:e.context,env:e.config?.env},n=p(Ie(e.text,t),e.translations),r=H(n);return r?(0,Fr.jsx)(Ar,{children:r}):null}var Cr=require("tailwind-merge"),Je=require("react/jsx-runtime");function Nr(e){let t=e.style?.showOptionalLabel??!0,n=M(e.field)||T(e.field);return(0,Je.jsxs)("label",{"data-slot":"field-label","data-normal":n,className:(0,Cr.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,t&&!e.field.required&&(0,Je.jsx)("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:p("(Optional)",e.translations)})]})}var be=require("react/jsx-runtime");function kr(e){let t={context:e.context,env:e.config?.env},n=Ie(e.field.label,t);return(0,be.jsxs)("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[(0,be.jsx)(Nr,{field:e.field,style:e.config?.style,translations:e.translations,children:p(n,e.translations)}),e.horizontal===!0&&(0,be.jsx)(We,{config:e.config,context:e.context,text:e.field.description,translations:e.translations})]})}var ee=require("react/jsx-runtime");function Er(e){return(0,ee.jsxs)(ee.Fragment,{children:[e.field.name&&e.field.label&&(0,ee.jsx)(kr,{config:e.config,context:e.context,field:e.field,horizontal:e.horizontal,translations:e.translations}),e.children,e.horizontal===!1&&(0,ee.jsx)(We,{config:e.config,context:e.context,text:e.field.description,translations:e.translations})]})}function Qe(e,t){return e?t(e):null}var Ct=ae(),wr=Ct.clear,Ir=Ct.bulkReport,je=Ct.report;var et=ae(),tt=et.atom,Pr=et.clearAll,Lr=et.clear,nt=et.report;var b=require("react");var Vr=require("jotai");var nl=e=>{let t=cr(e);if(t)return t},rl=e=>e.trim()!=="",Dr=(0,Vr.atom)({}),Or=pr(Dr,{merge:nl,validateTarget:rl}),Mr=yr(Dr);var Gr=require("jotai");var _r=Ko(require("swr"),1);function Br(e=null,t,n=!1){let{data:r,error:o}=(0,_r.default)(ol(e,t,n),t.fetcher.provider);if(o&&ge.error("Error fetching data source:",o),e){if(Array.isArray(e))return e;if(r)return fn(r,e.namespace)}return null}function ol(e=null,t,n=!1){if(e&&!Array.isArray(e)&&!n&&e.url&&!me(e.url)){if(ar(e.url,t.fetcher.remotePatterns))return e;ge.warn(`URL blocked by remotePatterns: ${e.url}. Check your luna.config.ts`)}return null}function $r(e,t,n){let r=_n(e,n),[o,i]=(0,Gr.useAtom)(Or(e.name));return[Br(o??r,t,e.disabled),i]}var te=require("react");function Ur(e,t,n,r){let{name:o}=e,i=(0,te.useMemo)(()=>nr(e,r),[e,r]),l=(0,te.useEffectEvent)(s=>{s&&t(s,i,e)}),a=(0,te.useEffectEvent)(s=>{s&&n(s)});return(0,te.useEffect)(()=>(l(o),()=>{a(o)}),[o]),i}var ce=require("jotai");var se=require("react");function zr(){let e=(0,se.useRef)(null);return(0,se.useEffect)(()=>()=>{e.current&&clearTimeout(e.current)},[]),(0,se.useCallback)((n,r)=>{e.current&&(clearTimeout(e.current),e.current=null),e.current=setTimeout(n,r)},[])}var Yr=require("fast-equals");var Xr=require("jotai"),K=require("react");function Hr(e,t){let{name:n}=e,r=(0,K.useRef)(!1),[o,i]=(0,Xr.useAtom)(nt(n)),l=(0,K.useEffectEvent)(s=>{let c=il(n,s);J(c)&&((0,Yr.deepEqual)(o,c)||(r.current=!0),i(c))});(0,K.useEffect)(()=>{t&&l(t)},[t]);let a=(0,K.useCallback)(()=>r.current?(r.current=!1,!0):!1,[]);return{setValue:i,shouldSkipOnChange:a,value:o}}function il(e,t){if(e in t)return t[e];if(!e.includes("."))return;let n=e.split("."),r=t;for(let o of n){if(r==null)return;if(Array.isArray(r)){let i=Number(o);r=Number.isInteger(i)?r[i]:void 0}else if(typeof r=="object")r=r[o];else return}return r}var Nt=require("react/jsx-runtime");function qr(e){let t=e.field.advanced?.entity,n=(0,ce.useStore)(),r=zr(),[,o]=(0,b.useTransition)(),{setValue:i,shouldSkipOnChange:l,value:a}=Hr(e.field,e.value),s=(0,b.useRef)(!1),c=(0,b.useRef)(a);c.current=a;let u=(0,b.useRef)(e.translations);u.current=e.translations;let y=Cn(e.field),R=Me(e.field),C=(0,ce.useSetAtom)(tt),G=(0,ce.useSetAtom)(Ke),N=(0,ce.useSetAtom)(je(e.field.name)),[x,D]=$r(e.field,e.config,a),k=Ur(e.field,e.onMount,e.onUnmount,e.translations),S=p(e.commonProps.placeholder,e.translations),$={...e.commonProps,placeholder:S},{commonPropsWithOptions:E,defaultValue:Re}=Bn(e.field,$,x,a),Vt=(0,b.useRef)(null);Vt.current=m=>{if(i(m),e.onValueChange){let g=e.dataAttributes??{};e.onValueChange({data:Object.keys(g).length>0?g:void 0,name:e.field.name,type:e.field.type,value:m})}};let lt=(0,b.useRef)(null);lt.current=m=>{let g=e.field.event?.change;g&&xn(g,({sources:W,states:Se,values:at})=>{o(()=>{hn(m,W,(w,re)=>D(w,re)),Tn(m,Se,(w,re)=>{G(Ae=>re?w.reduce((st,ct)=>({...st,[ct]:re}),Ae):w.reduce((st,ct)=>qe(st,ct),Ae))}),Sn(m,at,(w,re)=>{C(Ae=>({...Ae,[w]:re}))})})})};let Bo=Gn(e.field,Re),Te=(0,b.useCallback)(m=>{let W=k.safeParse(m).error?.issues.map(w=>w.message)??[],Se=e.field.validation?.custom,at=Se?lr(m,Se,w=>n.get(nt(w)),u.current):[];N([...W,...at])},[e.field.validation?.custom,k,N,n]),Dt=(0,b.useCallback)((m,g)=>{if(y){r(()=>{g({value:m})},300);return}g(yt(m,x,t))},[x,t,y,r]);(0,b.useEffect)(()=>{if(s.current||!e.value)return;if(!e.field.event?.change){s.current=!0;return}if(!((!ye(e.field)||!!x&&x.length>0)&&J(Re)))return;s.current=!0;let g=String(Re),W=y?{value:g}:yt(g,x,t);lt.current?.(W)},[x,Re,t,y,e.field,e.value]);let Go=(0,b.useCallback)(m=>{let g=m.target.value;!R&&l()&&(!y||g===c.current)||(Vt.current?.(g),e.config.validation.change&&Te(g),e.field.event?.change&&Dt(g,W=>{lt.current?.(W)}))},[Dt,R,y,e.config.validation.change,e.field.event?.change,l,Te]),$o=(0,b.useCallback)(m=>{if(!R){let g=m.target.value;e.config.validation.blur&&Te(g)}},[R,e.config.validation.blur,Te]);return Qe(e.config.inputs[e.field.type],m=>(0,Nt.jsx)(Er,{config:e.config,context:e.context,field:e.field,horizontal:e.horizontal,translations:e.translations,children:(0,Nt.jsx)(m,{...E,...e.ariaAttributes,...e.dataAttributes,...Bo,onBlur:$o,onChange:Go})}))}var kt=require("react/jsx-runtime");function Kr(e){return!e.errors||e.errors.length===0?null:(0,kt.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,kt.jsx)("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}var Zr=require("tailwind-merge"),Wr=require("react/jsx-runtime");function rt(e){let t=e.errors&&e.errors.length>0;return(0,Wr.jsx)("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[tn]:"true"},...e.disabled&&{[nn]:"true"},"data-orientation":e.orientation,className:(0,Zr.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&&(e.isReversed?"flex-row-reverse!":"flex-row!"),"data-[clickable=true]:has-[>[data-slot=field-content]]:[&>:first-child]:mt-px",e.className),children:e.children})}var Jr=require("tailwind-merge"),jr=require("react/jsx-runtime");function Qr(e){return(0,jr.jsx)(rt,{...e,orientation:"vertical",className:(0,Jr.twMerge)("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}var eo=require("tailwind-merge"),no=require("react/jsx-runtime");function to(e){return(0,no.jsx)(rt,{...e,orientation:"horizontal",className:(0,eo.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 Et=require("react/jsx-runtime");function ro(e){let t=Me(e.field),n=T(e.field),r=En(e.field);return e.horizontal?(0,Et.jsx)(to,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children}):(0,Et.jsx)(Qr,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children})}function oo(e){if(!e.field.type)return null;let t=Vn(e.field,e.disabled),n=Xn(e.field),r=Yn(e.field,e.errors),o={...e.field,disabled:t.disabled};return e.children({ariaAttributes:r,commonProps:t,dataAttributes:n,field:o,horizontal:e.horizontal})}var io=require("tailwind-merge"),ue=require("react/jsx-runtime");function lo(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{horizontal:r}=Ue(e.style,{horizontal:kn(e.field)}),o=wn(e.field,e.disabled);return(0,ue.jsxs)("div",{className:(0,io.twMerge)("flex flex-col gap-3",Zn(t)),children:[(0,ue.jsx)(ro,{disabled:o,errors:n,field:e.field,horizontal:r,children:(0,ue.jsx)(oo,{disabled:o,errors:n,field:e.field,horizontal:r,children:e.children})}),(0,ue.jsx)(Kr,{errors:n,name:e.field.name})]})}var ao=require("jotai"),fo=require("react/jsx-runtime");function so(e){return(t,n)=>o=>{let i=(0,ao.useAtomValue)(e(o.field.name)),l=n(i,o);return l===null?null:(0,fo.jsx)(t,{...o,...l})}}var ll=so(je);function co(e){return ll(e,(t,n)=>({errors:t?{[n.field.name]:t}:void 0}))}var al=so(xr);function uo(e){return al(e,(t,n)=>t?.hidden??n.field.hidden??!1?null:{disabled:t?.disabled??n.disabled})}var mo=uo(co(lo));var go=require("tailwind-merge");var F=require("react/jsx-runtime");function po(e){function t(){e.canRemove&&e.onRemove&&e.onRemove(e.index)}let n=e.canRemove&&e.onRemove!=null&&(0,F.jsx)("button",{"aria-label":`Remove ${e.label} item ${e.index+1}`,className:(0,go.twMerge)("rounded p-1 text-xl text-slate-400","transition-colors duration-150","hover:text-red-500","focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:outline-none","dark:text-slate-500 dark:hover:text-red-400"),onClick:t,type:"button",children:(0,F.jsx)("span",{"aria-hidden":"true",children:"\xD7"})});return e.isMultiField?(0,F.jsxs)("div",{className:"rounded-lg border border-slate-100 p-4 dark:border-slate-900",children:[(0,F.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:[(0,F.jsxs)("span",{className:"text-sm font-medium text-slate-400 dark:text-slate-500",children:[e.label," ",e.index+1]}),n]}),(0,F.jsx)(j,{children:e.children})]}):(0,F.jsxs)("div",{className:"flex items-start gap-2",children:[(0,F.jsx)(j,{children:e.children}),n&&(0,F.jsx)("div",{className:"shrink-0",children:n})]})}var xo=require("tailwind-merge");var yo=require("jotai"),L=require("react");function bo(e,t){let n=e.advanced?.length?.min??1,r=e.advanced?.length?.max??1/0,[o,i]=(0,L.useState)(()=>Jn(e,t)),l=(0,L.useRef)(o.length),a=(0,L.useRef)(o);(0,L.useLayoutEffect)(()=>{a.current=o});let s=(0,yo.useSetAtom)(tt),c=(0,L.useCallback)(()=>{i(C=>{if(C.length>=r)return C;let G=l.current++;return[...C,G]})},[r]),u=(0,L.useCallback)(C=>{if(a.current.length<=n)return;let G=a.current[C];i(N=>N.length<=n?N:N.filter((x,D)=>D!==C)),s(N=>{let x={...N},D=`${e.name}.`,k=[];for(let S of e.fields)if(X(S))for(let $ of S.fields)k.push($.name);else k.push(S.name);for(let S of k)delete x[`${D}${G}.${S}`];return x})},[e.name,e.fields,n,s]),y=o.length<r,R=o.length>n;return[o,c,u,y,R,r]}var B=require("react/jsx-runtime");function ho(e){let[t,n,r,o,i,l]=bo(e.field,e.value),a=Qn(e.field),s=e.field.advanced?.action??"Add item",c=l!==1/0,u=Wn(e.field);return(0,B.jsxs)(B.Fragment,{children:[t.map((y,R)=>(0,B.jsx)(po,{canRemove:i,index:R,isMultiField:u,label:a,onRemove:r,children:e.children(y)},y)),(0,B.jsxs)("button",{"aria-disabled":!o,"aria-label":c?`${s}, ${t.length} of ${l}`:s,className:(0,xo.twMerge)("flex w-full items-center gap-1.5 rounded py-1","text-sm font-medium text-slate-500","transition-colors duration-150","hover:text-slate-800","focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:ring-offset-2 focus-visible:outline-none","dark:text-slate-400 dark:hover:text-slate-200",!o&&"cursor-not-allowed opacity-50 hover:text-slate-500 dark:hover:text-slate-400"),disabled:!o,onClick:n,type:"button",children:[(0,B.jsx)("span",{"aria-hidden":"true",children:"+"}),s,c&&(0,B.jsxs)("span",{"aria-hidden":"true",className:"ml-auto text-slate-400 tabular-nums dark:text-slate-500",children:[t.length," / ",l]})]})]})}var To=require("react/jsx-runtime");function Ro(e){let t=Array.isArray(e.field.fields)&&e.field.fields.length===0;return(0,To.jsx)(ze,{description:e.field.description,empty:t,id:e.field.name,title:e.field.label,children:e.children})}var ot=require("react/jsx-runtime");function So({children:e,field:t,value:n}){return(0,ot.jsx)(Ze,{container:t,fields:t.fields,children:(0,ot.jsx)(Ro,{field:t,children:(0,ot.jsx)(ho,{field:t,value:n,children:e})})})}var Ao=require("tailwind-merge"),wt=require("react/jsx-runtime");function vo(e){let t=Kn(e.column?.advanced?.cols);return(0,wt.jsx)("div",{className:"flex w-full flex-col gap-4",children:(0,wt.jsx)("div",{className:(0,Ao.twMerge)("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children})})}var No=require("react");var Co=require("react/jsx-runtime");function Fo(e){let t=Array.isArray(e.field.fields)?e.field.fields.map(n=>_e(n)?{...n,name:`${e.field.name}.${e.index}.${n.name}`}:X(n)?{...n,fields:n.fields.map(r=>({...r,name:`${e.field.name}.${e.index}.${r.name}`}))}:n):[];return(0,Co.jsx)(xe,{children:e.children,components:e.components,disabled:e.disabled,fields:t,style:e.style,value:e.value})}var Z=require("react/jsx-runtime");function xe(e){let{field:t,list:n}=e.components;return $e(e.fields).map((r,o)=>(0,Z.jsxs)(No.Fragment,{children:[X(r)&&(0,Z.jsx)(vo,{column:r,children:(0,Z.jsx)(xe,{...e,fields:r.fields})}),_e(r)&&(0,Z.jsx)(t,{disabled:e.disabled,field:r,style:e.style,children:e.children}),Fn(r)&&(0,Z.jsx)(n,{field:r,value:e.value,children:i=>(0,Z.jsx)(Fo,{children:e.children,components:e.components,disabled:e.disabled,field:r,index:i,style:e.style,value:e.value})})]},o))}var Eo=require("react/jsx-runtime");function ko(e){return n=>(0,Eo.jsx)(xe,{...n,components:e})}var wo=ko({field:mo,list:So});var Pt=require("jotai");var he=require("react");function Po(e,t,n){let{onSuccess:r,preserveValues:o=!1,validation:i=!0,translations:l}=n??{},a=(0,Pt.useSetAtom)(Ir),s=(0,Pt.useSetAtom)(Pr),c={data:null,error:null,success:!1},[u,y,R]=(0,he.useActionState)(async(C,G)=>{let[N,x]=e(),D=er(N,x,l);if(i===!1)return t?await t(G,D):C;let k=pn(G),S=D.safeParse(k);if(!S.success){let E=tr(S.error);return(0,he.startTransition)(()=>{a(E)}),It(k,{description:p("Please correct the errors and try again.",l),details:[],title:p("There were validation errors submitting the form.",l)})}let $=yn(k);if(t)try{let E=await t($,D);return E.success?(r?.(E.data),o||(0,he.startTransition)(()=>{s()}),Io($,o)):It($,E.error)}catch(E){return ge.error("Error executing form action:",E),It($,{title:p("An unexpected error occurred submitting the form.",l),details:sl(E,l)})}return Io(S.data,o)},c);return[y,u,R]}function sl(e,t){return e instanceof Error?[e.message]:[p("Unknown error",t)]}function Io(e,t=!1){return{data:t?e:null,error:null,success:!0}}function It(e,t){return{data:e,error:t,success:!1}}var ne=require("react");var Lo=require("react"),it=require("jotai");function Vo(){let e=(0,it.useSetAtom)(wr),t=(0,it.useSetAtom)(Lr),n=(0,it.useSetAtom)(Mr);return(0,Lo.useCallback)(r=>{let o=Array.isArray(r)?r:[r];e(o),n(o),t(o)},[e,n,t])}function Do(){let e=Vo(),t=(0,ne.useRef)({}),n=(0,ne.useRef)([]),r=(0,ne.useCallback)((l,a,s)=>{l in t.current||(t.current[l]=a,n.current.push(s))},[]),o=(0,ne.useCallback)(l=>{t.current[l]&&(delete t.current[l],n.current=n.current.filter(a=>a.name!==l),e([l]))},[e]);return[(0,ne.useCallback)(()=>[t.current,n.current],[]),r,o]}var V=require("react/jsx-runtime");function Oo(e){let t=e.translations?.[e.lang??""],[n,r,o]=Do(),[i,l,a]=Po(n,e.action,{onSuccess:e.onSuccess,validation:e.config.validation.submit,translations:t}),s=e.config.validation.showError&&!l.success&&l.error,c=l.data??e.value;return(0,V.jsxs)(V.Fragment,{children:[s&&Qe(e.config.alert,u=>(0,V.jsx)("div",{className:"mb-4 w-full",children:(0,V.jsx)(u,{description:l.error?.description,details:l.error?.details,title:l.error.title})})),(0,V.jsx)(Sr,{action:i,config:e.config,control:e.children,definition:e.definition,isPending:a,noValidate:!0,readOnly:e.readOnly,sections:e.sections,children:({disabled:u,fields:y})=>(0,V.jsx)(wo,{disabled:u,fields:y,style:e.config.style,value:c,children:R=>(0,V.jsx)(qr,{...R,config:e.config,context:e.context,onMount:r,onUnmount:o,onValueChange:e.onValueChange,translations:t,value:c})})})]})}var Mo=require("jotai"),Lt=require("react/jsx-runtime");function _o(e){return(0,Lt.jsx)(Mo.Provider,{children:(0,Lt.jsx)(Oo,{...e})})}
|
package/dist/client/esm/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as uo}from"react/jsx-runtime";function Rt(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return uo("div",{"data-slot":"field-control",className:"w-full",children:t})}import{Activity as mi,useCallback as gi,useState as pi}from"react";import{jsx as Tt}from"react/jsx-runtime";function St(e){return Tt("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:`size-4 transition-transform duration-200 ${e.expanded?"rotate-90":""}`,children:Tt("path",{fillRule:"evenodd",d:"M8.22 5.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L11.94 10 8.22 6.28a.75.75 0 0 1 0-1.06Z",clipRule:"evenodd"})})}var fe="input",At="input/email",vt="input/number";var Ft="textarea",Ct="radio",Nt="checkbox",Ze="list";var Et="select",kt="select/month",It="select/year";var z="column",Ke="fields",wt="label",S="value",me="options",We="email",Lt="number",Pt="password",Ot="tel",J="text",Vt="aria-errormessage",Dt="aria-invalid",Mt="data-invalid",_t="data-readonly",Bt="aria",Gt="data",ge="min",pe="max",$t="minLength",Ut="maxLength",q="$ref";var Ht="source",Yt="state",ye="http://luna.internal",V="vertical",Z="horizontal";var Xt="type";function d(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function be(e){return e==null||e===""}function D(e){return A(e)||typeof e=="number"||ze(e)}function A(e){return typeof e=="string"}function qt(e){return d(e)&&"url"in e}function ze(e){return typeof e=="boolean"}var fo=/^\d+$/;function Qe(e,t=[],n=S){return Array.isArray(t)?t.find(r=>{let o=je(r,n);if(o!==void 0&&`${o}`===e)return r})??{value:e}:{value:e}}function je(e,t=S){if(e!=null){if(D(e))return e;if(d(e)){let n=mo(e,t);if(D(n))return n}}}function mo(e,t){let n=h(e,t);if(D(n))return n}function Zt(e,t){if(Array.isArray(e))return e;let n=h(e,t);return Array.isArray(n)?n:null}function h(e,t){if(!t||!d(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(d(r)&&o in r)r=r[o];else return null;return r}function Kt(e,t={label:wt,value:S}){return e.map(n=>{if(d(n)){let r=h(n,t.label),o=h(n,t.value);if(D(r)&&D(o))return{label:`${r}`,value:`${o}`}}return n})}function Wt(e=J){if(e){let t=e.lastIndexOf("/"),n=t===-1?e:e.slice(t+1);if(n&&n!==fe)return n.trim().toLowerCase()}return J}function zt(e){let t={};for(let n of e.keys()){let r=e.getAll(n);t[n]=r.length>1?r:r[0]}return t}function Jt(e){let t={};for(let n in e){let r=n.split(".");if(r.length===1){t[n]=e[n];continue}let o=t;for(let l=0;l<r.length-1;l++){let a=r[l],s=r[l+1],c=fo.test(s);a in o||(o[a]=c?[]:{}),o=o[a]}let i=r[r.length-1];o[i]=e[n]}return Je(t),t}function Je(e){for(let t in e){let n=e[t];if(Array.isArray(n)){let r=n.filter(o=>o!==void 0);r.forEach(o=>{o!==null&&typeof o=="object"&&!Array.isArray(o)&&Je(o)}),e[t]=r}else n!==null&&typeof n=="object"&&Je(n)}}var go=/\[([^\]]{1,500})\]\(([^)]{1,2000})\)/g;function M(e,t={}){if(A(e))return po(e,t);if(Array.isArray(e))return e.map(n=>M(n,t));if(d(e)){let n={};for(let r in e)n[r]=M(e[r],t);return n}return e}function et(e,t={}){return Q(e)?M(e,t):e}function Q(e){return A(e)?/{([^}]{1,200})}/.test(e):Array.isArray(e)?e.some(t=>Q(t)):d(e)?Object.values(e).some(t=>Q(t)):!1}function po(e,t={}){return e.replace(/{([^}]{1,200})}/g,(n,r)=>{let o=r.includes(".")?h(t,r):t[r];return D(o)?String(o):n})}function Qt(e,t){if(!A(e)||!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=go.exec(e))!==null;){let[l,a,s]=n,c=n.index;o=!0,c>r&&i.push(e.substring(r,c));let u=t?t(c,s,a):l;i.push(u),r=c+l.length}return o?(r<e.length&&i.push(e.substring(r)),i):e}var j={error:(...e)=>{tt()&&!nt()&&xe().error("[Luna Form]",...e)},warn:(...e)=>{tt()&&!nt()&&xe().warn("[Luna Form]",...e)},info:(...e)=>{tt()&&!nt()&&xe().info("[Luna Form]",...e)}},tt=()=>typeof xe()<"u",nt=()=>!0,xe=()=>globalThis.console;function jt(e=[],t){let n=[],r=[],o=[];for(let i of e)i.action===S&&n.push(i),i.action===Ht&&r.push(i),i.action===Yt&&o.push(i);t({sources:r,states:o,values:n})}function en(e=null,t=[],n){for(let r of t){let{target:o,source:i}=r;if(!e){n(o,void 0);continue}if(qt(i)){let l=M(i.url,e),a=i.body?M(i.body,e):i.body;n(o,{...i,url:l,body:a})}}}var ee={eq:Ro,gt:vo,gte:Fo,in:So,lt:Co,lte:No,neq:To,nin:Ao},yo=/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2})?/,tn=/^(\d{2})[/-](\d{2})[/-](\d{4})(?: (\d{2}):(\d{2})(?::(\d{2}))?)?$/;function bo(e){return typeof e=="string"&&yo.test(e)}function xo(e){return typeof e=="string"&&tn.test(e)}function ho(e){let t=e.match(tn);if(t){let[,n,r,o,i,l,a]=t;return new Date(Number(o),Number(r)-1,Number(n),Number(i??0),Number(l??0),Number(a??0)).getTime()}return NaN}function _(e){return bo(e)?new Date(e).getTime():xo(e)?ho(e):Number(e)}function Ro(e,t){return e===t}function To(e,t){return e!==t}function So(e,t){return Array.isArray(t)&&t.includes(String(e))}function Ao(e,t){return Array.isArray(t)&&!t.includes(String(e))}function vo(e,t){return _(e)>_(t)}function Fo(e,t){return _(e)>=_(t)}function Co(e,t){return _(e)<_(t)}function No(e,t){return _(e)<=_(t)}function nn(e=null,t=[],n){for(let r of t){let{target:o,state:i,when:l}=r,a=Array.isArray(o)?o:[o];if(!e){n(a);continue}let s=Eo(e,l);n(a,s?i:void 0)}}function Eo(e,t){return t===void 0?!0:A(t)?he(e,S)===t:ze(t)?!!he(e,S)===t:Array.isArray(t)?t.includes(String(he(e,S))):ko(e,t)}function ko(e=null,t){let n=he(e,t.field??S),{operator:r="eq",value:o}=t,i=ee[r];return i?i(n,o):!1}function he(e,t){return d(e)?h(e,t):e}function rn(e=null,t=[],n){for(let r of t)for(let[o,i]of Object.entries(r.value))n(o,e?M(i,e):void 0)}var Re=e=>k(kt)(e),Te=e=>k(It)(e),R=k(Nt),rt=k(fe),w=k(Ct),L=k(Et),ot=k(Ft),on=k(J,We,Pt,Ot),ln=k(At,We),Se=k(vt,Lt);function Ae(e){return w(e)||R(e)}function an(e){return e.type===Ze}function B(e){return e.type===z}function ve(e){return e.type!==z&&e.type!==Ze}function Fe(e){return L(e)||w(e)}function sn(e){return rt(e)||ot(e)}function U(e){return e!=null&&e!==""}function k(...e){return t=>{let n=A(t.type)?t.type:void 0;return n?e.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function cn(e,t={}){if(L(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&d(n))return[n]}}function un(e){return w(e)||R(e)?Z:e.advanced?.orientation??V}function dn(e){return R(e)?e.advanced?.reverse!==!1:!1}function fn(e,t){let n=e.readonly??!1;return t||n}function mn(e){if(w(e)||L(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||d(t)&&!(q in t))return t}}var Io=/^\d+$/;function gn(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function pn(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 it(){return new Date().getFullYear()}function lt(e,t){if(typeof e=="number")return e;let n=t??it(),r=e.trim().toLowerCase();if(r.startsWith("current")){let o=r.match(/^current([+-])(\d+)$/);if(o){let[,i,l]=o,a=parseInt(l,10);if(!isNaN(a))return i==="+"?n+a:n-a}return n}return Io.test(r)?parseInt(r,10):n}var Ce=it();function wo(e){if(L(e))return Lo(e)}function Lo(e){if(Re(e))return gn();if(Te(e)){let t=e.advanced?.length?.min??Ce,n=e.advanced?.length?.max??Ce+5;return pn(lt(t,Ce),lt(n,Ce))}}function yn(e,t=!1){let n={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return rt(e)?{...n,...Po(e)}:L(e)?{...n,...Oo(e)}:ot(e)?{...n,...Vo(e)}:n}function Po(e){let t=Wt(e.type),n={...e,type:t};return{...bn(e),...Do(n),...on(n)?xn(n):{},type:t}}function Oo(e){let t=wo(e);return t?{options:t}:{}}function Vo(e){return{...bn(e),...xn(e)}}function bn(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function Do(e){return Se(e)?Mo(e):{}}function xn(e){return hn(e,{min:$t,max:Ut})}function Mo(e){return hn(e,{min:ge,max:pe})}function hn(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 Rn(e,t){let n=mn(e);return n||cn(e,t)}function _o(e,t){let n=d(t)&&e.name in t?t[e.name]:t;return je(n,e.advanced?.entity)}function Bo(e,t,n){return Fe(e)&&Array.isArray(n)?{...t,[me]:n}:t}function Go(e,t,n){if(e.required&&!U(n)&&L(e)&&e.advanced?.preselected!==!1&&me in t){let r=t[me];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function $o(e,t){return L(e)&&Array.isArray(t)?Kt(t,e.advanced?.options):t}function Tn(e,t,n,r){let o=_o(e,r),i=Array.isArray(n)?$o(e,n):n,l=Bo(e,t,i),a=Go(e,l,o);return{commonPropsWithOptions:l,defaultValue:a}}function Sn(e,t){return R(e)?{checked:U(t)?t:!1}:{value:t??""}}var Uo=/^#\/definition\//;function Ee(e=[],t){let n=Ne(e,t);return Array.isArray(n)?n.filter(Yo).sort((r,o)=>An(r)-An(o)):[]}function Ne(e,t,n=new Map,r=new WeakSet){if(!Ho(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=>Ne(i,t,n,r));if(q in e&&A(e[q])){let i=e[q].replace(Uo,""),l=h(t,i);return l!==null?Ne(l,t,n,r):e}let o={};for(let[i,l]of Object.entries(e))o[i]=Ne(l,t,n,r);return r.delete(e),n.set(e,o),o}function vn(e){return Object.entries(e??{})}function An(e){return e.order??Number.MAX_VALUE}function Ho(e){return e!==void 0&&d(e)&&Object.keys(e).length>0}function Yo(e){return Xt in e?!0:Array.isArray(e[Ke])?e[Ke].length>0:!0}function Fn(e,t){let n={};for(let[r,o]of vn(t))n[`${e}-${r}`]=o;return n}function Xo(e){return Fn(Bt,e)}function qo(e){return Fn(Gt,e)}function Cn(e,t){let n=Xo(e.advanced?.aria);return t&&t.length>0&&(n[Dt]="true",n[Vt]=`${e.name}-error`),n}function Nn(e){return qo(e.advanced?.data)}var En={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},kn={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function In(e,t=2){return En[e&&e in En?e:t]}function wn(e){if(e&&e in kn)return kn[e]}function Zo(e,t){let n=e.advanced?.length?.min??1;if(t){let r=h(t,e.name);if(Array.isArray(r))return Math.max(r.length,n)}return Math.max(n,0)}function Ln(e){return!Array.isArray(e.fields)||e.fields.length===0?!1:e.fields.length>1||e.fields[0].type===z}function Pn(e,t){let n=Zo(e,t);return Array.from({length:n},(r,o)=>o)}function On(e){return e.label??e.name}import{z as p}from"zod";function f(e,t){return e?t?t[e]??e:e:""}var Ko=[[Se,jo],[ln,Wo],[Te,ei],[Re,ti],[R,zo],[w,Jo]];function Dn(e,t=[],n){let r=p.object(e);return t.length===0?r:ii(r,t,n)}function Mn(e){let t={},n=p.flattenError(e).fieldErrors;for(let[r,o]of Object.entries(n))o!==void 0&&(t[r]=o);return t}function _n(e,t){for(let[n,r]of Ko)if(n(e))return r(e,t);return Qo(e,t)}function Wo(e,t){let n=p.string().trim();if(e.required){let r=K(e,t),o=n.min(1,r).pipe(Vn(e,t));return p.preprocess(i=>be(i)?"":i,o)}return n.pipe(Vn(e,t)).or(p.literal("")).nullable()}function zo(e,t){let n=p.coerce.boolean();return e.required?(n=n.refine(r=>r===!0,{message:K(e,t)}),p.preprocess(r=>r===null?!1:r,n)):n.nullable()}function Jo(e,t){let n=p.coerce.string();return e.required?(n=n.min(1,K(e,t)),p.preprocess(r=>be(r)?"":r,n)):n.or(p.literal("")).nullable()}function Qo(e,t){let n=p.coerce.string().trim();return n=Bn(n,e,t),e.required?(n=Gn(n,e,t),p.preprocess(r=>be(r)?"":r,n)):n.nullable()}function jo(e,t){let n=p.coerce.number().int();return n=Bn(n,e,t),e.required?(n=Gn(n,e,t),p.preprocess(r=>r===null?void 0:r,n)):n.nullable()}function ei(e,t){return e.required?p.preprocess(ni,p.coerce.number({message:K(e,t)}).int()):p.coerce.number().int().nullable()}function ti(e,t){let n=K(e,t),r=p.coerce.number().int().min(1,n).max(12,n);return e.required?r:r.nullable()}function ni(e){return e===null||e===""?void 0:e}function Vn(e,t){let n=e.validation?.email?f(e.validation?.email,t):void 0;return p.email(n)}function Bn(e,t,n){return e=ri(e,t,n),e=oi(e,t,n),e}function Gn(e,t,n){let r=t.advanced?.length?.min;return r===void 0||r<1?e.min(1,K(t,n)):e}var ri=(e,t,n)=>$n(e,t,ge,n),oi=(e,t,n)=>$n(e,t,pe,n);function $n(e,t,n,r){let o=t.advanced?.length?.[n];if(o!==void 0){let i=t.validation?.length?.[n]?f(t.validation?.length?.[n],r):void 0;return e[n](o,i)}return e}function ii(e,t=[],n){let r=ai(t);return r.length===0?e:e.superRefine((o,i)=>{for(let{name:l,rule:a}of r)if(!li(o,l,a)){let s=f(a.message,n);i.addIssue({code:"custom",message:s,path:[l]})}})}function li(e,t,n){let r=n.operator??"eq",o=ee[r];return o?o(e[t],e[n.field]):!1}function ai(e){let t=[];for(let n of e){let r=n.validation?.custom;if(!r)continue;let o=Array.isArray(r)?r:[r];for(let i of o)t.push({name:n.name,rule:i})}return t}function Un(e,t,n,r){let o=[],i=Array.isArray(t)?t:[t];for(let l of i){let a=l.operator??"eq",s=ee[a];if(s&&!s(e,n(l.field))&&l.message){let c=f(l.message,r);o.push(c)}}return o}function K(e,t){return e.validation?.required?f(e.validation?.required,t):void 0}function Hn(e,t){if(!t||!ci(e))return!0;if(t.length===0)return!1;try{let n=new URL(e),r=n.protocol.replace(":",""),o=n.hostname,i=n.port||si(r);return t.some(l=>!(l.protocol&&l.protocol!==r||l.hostname&&l.hostname!==o||l.port!==void 0&&String(l.port)!==i))}catch{return!1}}function si(e){return e==="https"?"443":"80"}function ci(e){return/^(https?:)?\/\//.test(e)}function Yn(e,t){try{if(!e)return t;if(!t)return e;let n=new URL(e,ye);new URL(t,ye).searchParams.forEach((i,l)=>{n.searchParams.set(l,i)});let o=n.toString();return e.startsWith("/")||!e.includes("://")?o.replace(ye,""):o}catch{return t||e}}function Xn(e){return!Array.isArray(e)||e.length===0?null:e.reduce((t,n)=>{let r=Yn(t.url,n.url),o=ui(t,n),i=di(t,n);return{...t,...n,url:r,body:o,headers:i}})}function ui(e,t){return d(t.body)&&d(e?.body)?{...e.body,...t.body}:t.body??e?.body}function di(e,t){return d(t.headers)&&d(e?.headers)?{...e.headers,...t.headers}:t.headers??e?.headers}function ke(e,t){return{...e,...t}}import{jsx as fi}from"react/jsx-runtime";function G(e){return Qt(e,(t,n,r)=>fi("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${t}`))}import{jsx as te,jsxs as at}from"react/jsx-runtime";function qn(e){let{fields:t=[]}=e.section,[n,r]=pi(!1),o=gi(()=>r(i=>!i),[]);return at("fieldset",{"data-slot":"field-set","data-advanced":"true","data-expanded":n,"data-empty":t.length===0,className:"flex flex-col",id:e.section.id?.toString(),children:[te("legend",{children:at("button",{className:"flex cursor-pointer items-center gap-2 text-base font-medium text-slate-600 dark:text-slate-400",onClick:o,type:"button",children:[te(St,{expanded:n}),te("span",{children:G(e.section.title)})]})}),te(mi,{mode:n?"visible":"hidden",children:at("div",{className:"mt-3 ml-1.5 flex flex-col gap-4 border-l-2 border-slate-300 pl-4 dark:border-slate-600","data-slot":"field-set-content",children:[e.section.description&&te("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:G(e.section.description)}),e.group]})})]})}import{Fragment as yi,jsx as Zn,jsxs as bi}from"react/jsx-runtime";function Kn(e){return bi(yi,{children:[e.title&&Zn("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:G(e.title)}),e.description&&Zn("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:G(e.description)})]})}import{jsx as xi,jsxs as hi}from"react/jsx-runtime";function Ie(e){return hi("fieldset",{"data-slot":"field-set","data-empty":e.empty,className:"flex flex-col data-[empty=false]:gap-6",id:e.id,children:[xi(Kn,{description:e.description,title:e.title}),e.children]})}import{jsx as Ri}from"react/jsx-runtime";function H(e){return Ri("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})}import{jsx as st}from"react/jsx-runtime";function Wn(e){let{fields:t=[]}=e.section,{compact:n}=ke(e.style,{compact:e.section.compact}),r=st(H,{compact:n,children:e.children});return!e.section.title&&!e.section.description?r:e.section.advanced?st(qn,{section:e.section,group:r}):st(Ie,{description:e.section.description,empty:t.length===0,id:e.section.id?.toString(),title:e.section.title,children:r})}import{useAtomValue as Fi}from"jotai";import{atom as Y}from"jotai";import{atomFamily as zn}from"jotai-family";import{deepEqual as ct}from"fast-equals";function we(e,t){let{[t]:n,...r}=e;return r}function Ti(e){return zn(t=>Y(n=>n(e)[t]??void 0,(n,r,o)=>{let i=n(e);if(o!=null){let l=i[t];(!l||!ct(l,o))&&r(e,{...i,[t]:o})}else i[t]&&r(e,we(i,t))}))}function Si(e){return Y(null,(t,n)=>{let r=t(e);r&&Object.keys(r).length>0&&n(e,{})})}function Ai(e){return Y(null,(t,n,r)=>{let i={...t(e)},l=!1;for(let a of r)i[a]&&(delete i[a],l=!0);l&&n(e,i)})}function vi(e){return Y(null,(t,n,r)=>{let o=t(e);ct(o,r)||n(e,r)})}function Jn(e,t={}){let{merge:n,validateTarget:r}=t;return zn(o=>Y(i=>{let l=i(e)[o];if(l&&n)return n(Object.values(l))},(i,l,a,s)=>{if(r&&!r(a))return;let c=i(e),u={...c[a]??{}};if(s!=null){let y=u[o];(!y||!ct(y,s))&&(u[o]=s,l(e,{...c,[a]:u}))}else u[o]&&(delete u[o],Object.keys(u).length===0?l(e,we(c,a)):l(e,{...c,[a]:u}))}))}function Qn(e){return Y(null,(t,n,r)=>{let i={...t(e)},l=!1;for(let a of r)i[a]&&(delete i[a],l=!0);for(let a in i){let s={...i[a]},c=!1;for(let u of r)s[u]&&(delete s[u],c=!0,l=!0);c&&(Object.keys(s).length===0?delete i[a]:i[a]=s)}l&&n(e,i)})}function W(e={}){let t=Y(e);return{atom:t,clearAll:Si(t),clear:Ai(t),bulkReport:vi(t),report:Ti(t)}}var jn=W(),Le=jn.atom,er=jn.report;function Ci(e,t){return e.fields.every(n=>tr(n,t))}function tr(e,t){return t[e.name]?.hidden??e.hidden??!1}function Ni(e,t){return B(e)?Ci(e,t):tr(e,t)}function Pe(e){let t=Fi(Le);return e.container&&(t[e.container.name]?.hidden??e.container.hidden??!1)||e.fields.length===0||e.fields.every(r=>Ni(r,t))?null:e.children}import{jsx as nr}from"react/jsx-runtime";function rr(){return nr("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:nr("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}import{jsx as ne,jsxs as or}from"react/jsx-runtime";function ir(e){let t=Ee(e.sections,e.definition);return ne("div",{className:"h-full w-full",children:ne("form",{noValidate:e.noValidate,action:e.action,children:or(H,{children:[t.map((n,r)=>or(Pe,{fields:n.fields??[],children:[ne(Wn,{section:n,style:e.config.style,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.separator&&ne(rr,{})]},r)),e.control&&ne(Rt,{isPending:e.isPending,children:e.control})]})})})}import{jsx as Ei}from"react/jsx-runtime";function lr(e){return Ei("p",{className:"-mt-2 text-xs leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}import{jsx as ki}from"react/jsx-runtime";function Oe(e){let t=G(e.text);return t?ki(lr,{children:t}):null}import{twMerge as Ii}from"tailwind-merge";import{jsx as wi,jsxs as Li}from"react/jsx-runtime";function ar(e){let t=e.style?.showOptionalLabel??!0,n=w(e.field)||R(e.field);return Li("label",{"data-slot":"field-label","data-normal":n,className:Ii("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,t&&!e.field.required&&wi("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:f("(Optional)",e.translations)})]})}import{jsx as sr,jsxs as Pi}from"react/jsx-runtime";function cr(e){let t={context:e.context,env:e.config?.env},n=et(e.field.label,t),r=et(e.field.description,t);return Pi("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[sr(ar,{field:e.field,style:e.config?.style,translations:e.translations,children:f(n,e.translations)}),e.orientation===Z&&sr(Oe,{text:f(r,e.translations)})]})}import{Fragment as Oi,jsx as ur,jsxs as Vi}from"react/jsx-runtime";function dr(e){return Vi(Oi,{children:[e.field.name&&e.field.label&&ur(cr,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations}),e.children,e.orientation===V&&e.field.description&&ur(Oe,{text:f(e.field.description,e.translations)})]})}function Ve(e,t){return e?t(e):null}var ut=W(),fr=ut.clear,mr=ut.bulkReport,De=ut.report;var Me=W(),_e=Me.atom,gr=Me.clearAll,pr=Me.clear,Be=Me.report;import{useCallback as Ge,useEffect as el,useRef as re,useTransition as tl}from"react";import{atom as Di}from"jotai";var Mi=e=>{let t=Xn(e);if(t)return t},_i=e=>e.trim()!=="",yr=Di({}),br=Jn(yr,{merge:Mi,validateTarget:_i}),xr=Qn(yr);import{useAtom as $i}from"jotai";import Bi from"swr";function hr(e=null,t,n=!1){let{data:r,error:o}=Bi(Gi(e,t,n),t.fetcher.provider);if(o&&j.error("Error fetching data source:",o),e){if(Array.isArray(e))return e;if(r)return Zt(r,e.namespace)}return null}function Gi(e=null,t,n=!1){if(e&&!Array.isArray(e)&&!n&&e.url&&!Q(e.url)){if(Hn(e.url,t.fetcher.remotePatterns))return e;j.warn(`URL blocked by remotePatterns: ${e.url}. Check your luna.config.ts`)}return null}function Rr(e,t,n){let r=Rn(e,n),[o,i]=$i(br(e.name));return[hr(o??r,t,e.disabled),i]}import{useEffect as Ui,useEffectEvent as Tr,useMemo as Hi}from"react";function Sr(e,t,n,r){let{name:o}=e,i=Hi(()=>_n(e,r),[e,r]),l=Tr(s=>{s&&t(s,i,e)}),a=Tr(s=>{s&&n(s)});return Ui(()=>(l(o),()=>{a(o)}),[o]),i}import{useSetAtom as dt,useStore as nl}from"jotai";import{useCallback as Yi,useEffect as Xi,useRef as qi}from"react";function Ar(){let e=qi(null);return Xi(()=>()=>{e.current&&clearTimeout(e.current)},[]),Yi((n,r)=>{e.current&&(clearTimeout(e.current),e.current=null),e.current=setTimeout(n,r)},[])}import{deepEqual as Zi}from"fast-equals";import{useAtom as Ki}from"jotai";import{useCallback as Wi,useEffect as zi,useRef as Ji,useEffectEvent as Qi}from"react";function vr(e,t){let{name:n}=e,r=Ji(!1),[o,i]=Ki(Be(n)),l=Qi(s=>{let c=ji(n,s);U(c)&&(Zi(o,c)||(r.current=!0),i(c))});zi(()=>{t&&l(t)},[t]);let a=Wi(()=>r.current?(r.current=!1,!0):!1,[]);return{setValue:i,shouldSkipOnChange:a,value:o}}function ji(e,t){if(e in t)return t[e];if(!e.includes("."))return;let n=e.split("."),r=t;for(let o of n){if(r==null)return;if(Array.isArray(r)){let i=Number(o);r=Number.isInteger(i)?r[i]:void 0}else if(typeof r=="object")r=r[o];else return}return r}import{jsx as Fr}from"react/jsx-runtime";function Cr(e){let t=e.field.advanced?.entity,n=nl(),r=Ar(),[,o]=tl(),{setValue:i,shouldSkipOnChange:l,value:a}=vr(e.field,e.value),s=re(!1),c=re(a);c.current=a;let u=re(e.translations);u.current=e.translations;let y=sn(e.field),x=Ae(e.field),v=dt(_e),P=dt(Le),F=dt(De(e.field.name)),[b,I]=Rr(e.field,e.config,a),C=Sr(e.field,e.onMount,e.onUnmount,e.translations),T=f(e.commonProps.placeholder,e.translations),O={...e.commonProps,placeholder:T},{commonPropsWithOptions:N,defaultValue:se}=Tn(e.field,O,b,a),xt=re(null);xt.current=m=>{if(i(m),e.onValueChange){let g=e.dataAttributes??{};e.onValueChange({data:Object.keys(g).length>0?g:void 0,name:e.field.name,type:e.field.type,value:m})}};let He=re(null);He.current=m=>{let g=e.field.event?.change;g&&jt(g,({sources:$,states:ue,values:Ye})=>{o(()=>{en(m,$,(E,X)=>I(E,X)),nn(m,ue,(E,X)=>{P(de=>X?E.reduce((Xe,qe)=>({...Xe,[qe]:X}),de):E.reduce((Xe,qe)=>we(Xe,qe),de))}),rn(m,Ye,(E,X)=>{v(de=>({...de,[E]:X}))})})})};let ao=Sn(e.field,se),ce=Ge(m=>{let $=C.safeParse(m).error?.issues.map(E=>E.message)??[],ue=e.field.validation?.custom,Ye=ue?Un(m,ue,E=>n.get(Be(E)),u.current):[];F([...$,...Ye])},[e.field.validation?.custom,C,F,n]),ht=Ge((m,g)=>{if(y){r(()=>{g({value:m})},300);return}g(Qe(m,b,t))},[b,t,y,r]);el(()=>{if(s.current||!e.value)return;if(!e.field.event?.change){s.current=!0;return}if(!((!Fe(e.field)||!!b&&b.length>0)&&U(se)))return;s.current=!0;let g=String(se),$=y?{value:g}:Qe(g,b,t);He.current?.($)},[b,se,t,y,e.field,e.value]);let so=Ge(m=>{let g=m.target.value;!x&&l()&&(!y||g===c.current)||(xt.current?.(g),e.config.validation.change&&ce(g),e.field.event?.change&&ht(g,$=>{He.current?.($)}))},[ht,x,e.config.validation.change,e.field.event?.change,l,ce]),co=Ge(m=>{if(!x){let g=m.target.value;e.config.validation.blur&&ce(g)}},[x,e.config.validation.blur,ce]);return Ve(e.config.inputs[e.field.type],m=>Fr(dr,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations,children:Fr(m,{...N,...e.ariaAttributes,...e.dataAttributes,...ao,onBlur:co,onChange:so})}))}import{jsx as Nr}from"react/jsx-runtime";function Er(e){return!e.errors||e.errors.length===0?null:Nr("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)=>Nr("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}import{twMerge as rl}from"tailwind-merge";import{jsx as ol}from"react/jsx-runtime";function $e(e){let t=e.errors&&e.errors.length>0;return ol("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[Mt]:"true"},...e.disabled&&{[_t]:"true"},"data-orientation":e.orientation,className:rl("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&&(e.isReversed?"flex-row-reverse!":"flex-row!"),"data-[clickable=true]:has-[>[data-slot=field-content]]:[&>:first-child]:mt-px",e.className),children:e.children})}import{twMerge as il}from"tailwind-merge";import{jsx as ll}from"react/jsx-runtime";function kr(e){return ll($e,{...e,orientation:V,className:il("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}import{twMerge as al}from"tailwind-merge";import{jsx as sl}from"react/jsx-runtime";function Ir(e){return sl($e,{...e,orientation:Z,className:al("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 wr}from"react/jsx-runtime";function Lr(e){let t=Ae(e.field),n=R(e.field),r=dn(e.field);return e.orientation===V?wr(kr,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children}):wr(Ir,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children})}function Pr(e){if(!e.field.type)return null;let t=yn(e.field,e.disabled),n=Nn(e.field),r=Cn(e.field,e.errors),o={...e.field,disabled:t.disabled};return e.children({ariaAttributes:r,commonProps:t,dataAttributes:n,field:o,orientation:e.orientation})}import{twMerge as cl}from"tailwind-merge";import{jsx as ft,jsxs as ul}from"react/jsx-runtime";function Or(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:r}=ke(e.style,{orientation:un(e.field)}),o=fn(e.field,e.disabled);return ul("div",{className:cl("flex flex-col gap-3",wn(t)),children:[ft(Lr,{disabled:o,errors:n,field:e.field,orientation:r,children:ft(Pr,{disabled:o,errors:n,field:e.field,orientation:r,children:e.children})}),ft(Er,{errors:n,name:e.field.name})]})}import{useAtomValue as dl}from"jotai";import{jsx as gl}from"react/jsx-runtime";function Vr(e){return(t,n)=>o=>{let i=dl(e(o.field.name)),l=n(i,o);return l===null?null:gl(t,{...o,...l})}}var fl=Vr(De);function Dr(e){return fl(e,(t,n)=>({errors:t?{[n.field.name]:t}:void 0}))}var ml=Vr(er);function Mr(e){return ml(e,(t,n)=>t?.hidden??n.field.hidden??!1?null:{disabled:t?.disabled??n.disabled})}var _r=Mr(Dr(Or));import{twMerge as pl}from"tailwind-merge";import{jsx as oe,jsxs as Ue}from"react/jsx-runtime";function Br(e){function t(){e.canRemove&&e.onRemove&&e.onRemove(e.index)}let n=e.canRemove&&e.onRemove!=null&&oe("button",{"aria-label":`Remove ${e.label} item ${e.index+1}`,className:pl("rounded p-1 text-xl text-slate-400","transition-colors duration-150","hover:text-red-500","focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:outline-none","dark:text-slate-500 dark:hover:text-red-400"),onClick:t,type:"button",children:oe("span",{"aria-hidden":"true",children:"\xD7"})});return e.isMultiField?Ue("div",{className:"rounded-lg border border-slate-100 p-4 dark:border-slate-900",children:[Ue("div",{className:"mb-3 flex items-center justify-between",children:[Ue("span",{className:"text-sm font-medium text-slate-400 dark:text-slate-500",children:[e.label," ",e.index+1]}),n]}),oe(H,{children:e.children})]}):Ue("div",{className:"flex items-start gap-2",children:[oe(H,{children:e.children}),n&&oe("div",{className:"shrink-0",children:n})]})}import{twMerge as hl}from"tailwind-merge";import{useSetAtom as yl}from"jotai";import{useCallback as Gr,useLayoutEffect as bl,useRef as $r,useState as xl}from"react";function Ur(e,t){let n=e.advanced?.length?.min??1,r=e.advanced?.length?.max??1/0,[o,i]=xl(()=>Pn(e,t)),l=$r(o.length),a=$r(o);bl(()=>{a.current=o});let s=yl(_e),c=Gr(()=>{i(v=>{if(v.length>=r)return v;let P=l.current++;return[...v,P]})},[r]),u=Gr(v=>{if(a.current.length<=n)return;let P=a.current[v];i(F=>F.length<=n?F:F.filter((b,I)=>I!==v)),s(F=>{let b={...F},I=`${e.name}.`,C=[];for(let T of e.fields)if(B(T))for(let O of T.fields)C.push(O.name);else C.push(T.name);for(let T of C)delete b[`${I}${P}.${T}`];return b})},[e.name,e.fields,n,s]),y=o.length<r,x=o.length>n;return[o,c,u,y,x,r]}import{Fragment as Rl,jsx as Hr,jsxs as mt}from"react/jsx-runtime";function Yr(e){let[t,n,r,o,i,l]=Ur(e.field,e.value),a=On(e.field),s=e.field.advanced?.action??"Add item",c=l!==1/0,u=Ln(e.field);return mt(Rl,{children:[t.map((y,x)=>Hr(Br,{canRemove:i,index:x,isMultiField:u,label:a,onRemove:r,children:e.children(y)},y)),mt("button",{"aria-disabled":!o,"aria-label":c?`${s}, ${t.length} of ${l}`:s,className:hl("flex w-full items-center gap-1.5 rounded py-1","text-sm font-medium text-slate-500","transition-colors duration-150","hover:text-slate-800","focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:ring-offset-2 focus-visible:outline-none","dark:text-slate-400 dark:hover:text-slate-200",!o&&"cursor-not-allowed opacity-50 hover:text-slate-500 dark:hover:text-slate-400"),disabled:!o,onClick:n,type:"button",children:[Hr("span",{"aria-hidden":"true",children:"+"}),s,c&&mt("span",{"aria-hidden":"true",className:"ml-auto text-slate-400 tabular-nums dark:text-slate-500",children:[t.length," / ",l]})]})]})}import{jsx as Tl}from"react/jsx-runtime";function Xr(e){let t=Array.isArray(e.field.fields)&&e.field.fields.length===0;return Tl(Ie,{description:e.field.description,empty:t,id:e.field.name,title:e.field.label,children:e.children})}import{jsx as gt}from"react/jsx-runtime";function qr({children:e,field:t,value:n}){return gt(Pe,{container:t,fields:t.fields,children:gt(Xr,{field:t,children:gt(Yr,{field:t,value:n,children:e})})})}import{twMerge as Sl}from"tailwind-merge";import{jsx as Zr}from"react/jsx-runtime";function Kr(e){let t=In(e.column?.advanced?.cols);return Zr("div",{className:"flex w-full flex-col gap-4",children:Zr("div",{className:Sl("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children})})}import{Fragment as vl}from"react";import{jsx as Al}from"react/jsx-runtime";function Wr(e){let t=Array.isArray(e.field.fields)?e.field.fields.map(n=>ve(n)?{...n,name:`${e.field.name}.${e.index}.${n.name}`}:B(n)?{...n,fields:n.fields.map(r=>({...r,name:`${e.field.name}.${e.index}.${r.name}`}))}:n):[];return Al(ie,{children:e.children,components:e.components,disabled:e.disabled,fields:t,style:e.style,value:e.value})}import{jsx as le,jsxs as Fl}from"react/jsx-runtime";function ie(e){let{field:t,list:n}=e.components;return Ee(e.fields).map((r,o)=>Fl(vl,{children:[B(r)&&le(Kr,{column:r,children:le(ie,{...e,fields:r.fields})}),ve(r)&&le(t,{disabled:e.disabled,field:r,style:e.style,children:e.children}),an(r)&&le(n,{field:r,value:e.value,children:i=>le(Wr,{children:e.children,components:e.components,disabled:e.disabled,field:r,index:i,style:e.style,value:e.value})})]},o))}import{jsx as Cl}from"react/jsx-runtime";function zr(e){return n=>Cl(ie,{...n,components:e})}var Jr=zr({field:_r,list:qr});import{useSetAtom as Qr}from"jotai";import{startTransition as jr,useActionState as Nl}from"react";function to(e,t,n){let{onSuccess:r,preserveValues:o=!1,validation:i=!0,translations:l}=n??{},a=Qr(mr),s=Qr(gr),c={data:null,error:null,success:!1},[u,y,x]=Nl(async(v,P)=>{let[F,b]=e(),I=Dn(F,b,l);if(i===!1)return t?await t(P,I):v;let C=zt(P),T=I.safeParse(C);if(!T.success){let N=Mn(T.error);return jr(()=>{a(N)}),pt(C,{description:f("Please correct the errors and try again.",l),details:[],title:f("There were validation errors submitting the form.",l)})}let O=Jt(C);if(t)try{let N=await t(O,I);return N.success?(r?.(N.data),o||jr(()=>{s()}),eo(O,o)):pt(O,N.error)}catch(N){return j.error("Error executing form action:",N),pt(O,{title:f("An unexpected error occurred submitting the form.",l),details:El(N,l)})}return eo(T.data,o)},c);return[y,u,x]}function El(e,t){return e instanceof Error?[e.message]:[f("Unknown error",t)]}function eo(e,t=!1){return{data:t?e:null,error:null,success:!0}}function pt(e,t){return{data:e,error:t,success:!1}}import{useCallback as bt,useRef as ro}from"react";import{useCallback as kl}from"react";import{useSetAtom as yt}from"jotai";function no(){let e=yt(fr),t=yt(pr),n=yt(xr);return kl(r=>{let o=Array.isArray(r)?r:[r];e(o),n(o),t(o)},[e,n,t])}function oo(){let e=no(),t=ro({}),n=ro([]),r=bt((l,a,s)=>{l in t.current||(t.current[l]=a,n.current.push(s))},[]),o=bt(l=>{t.current[l]&&(delete t.current[l],n.current=n.current.filter(a=>a.name!==l),e([l]))},[e]);return[bt(()=>[t.current,n.current],[]),r,o]}import{Fragment as Il,jsx as ae,jsxs as wl}from"react/jsx-runtime";function io(e){let t=e.translations?.[e.lang??""],[n,r,o]=oo(),[i,l,a]=to(n,e.action,{onSuccess:e.onSuccess,validation:e.config.validation.submit,translations:t}),s=e.config.validation.showError&&!l.success&&l.error,c=l.data??e.value;return wl(Il,{children:[s&&Ve(e.config.alert,u=>ae("div",{className:"mb-4 w-full",children:ae(u,{description:l.error?.description,details:l.error?.details,title:l.error.title})})),ae(ir,{action:i,config:e.config,control:e.children,definition:e.definition,isPending:a,noValidate:!0,readOnly:e.readOnly,sections:e.sections,children:({disabled:u,fields:y})=>ae(Jr,{disabled:u,fields:y,style:e.config.style,value:c,children:x=>ae(Cr,{...x,config:e.config,context:e.context,onMount:r,onUnmount:o,onValueChange:e.onValueChange,translations:t,value:c})})})]})}import{Provider as Ll}from"jotai";import{jsx as lo}from"react/jsx-runtime";function Pl(e){return lo(Ll,{children:lo(io,{...e})})}export{Pl as Form};
|
|
1
|
+
import{jsx as co}from"react/jsx-runtime";function xt(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return co("div",{"data-slot":"field-control",className:"w-full",children:t})}import{Activity as fi,useCallback as mi,useState as gi}from"react";import{jsx as ht}from"react/jsx-runtime";function Rt(e){return ht("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:`size-4 transition-transform duration-200 ${e.expanded?"rotate-90":""}`,children:ht("path",{fillRule:"evenodd",d:"M8.22 5.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L11.94 10 8.22 6.28a.75.75 0 0 1 0-1.06Z",clipRule:"evenodd"})})}var de="input",Tt="input/email",St="input/number";var At="textarea",vt="radio",Ft="checkbox",He="list";var Ct="select",Nt="select/month",kt="select/year";var K="column",Et="description",qe="fields",wt="label",S="value",fe="options",Ke="email",It="number",Pt="password",Lt="tel",Z="text",Vt="aria-errormessage",Dt="aria-invalid",Ot="data-invalid",Mt="data-readonly",_t="aria",Bt="data",me="min",ge="max",Gt="minLength",$t="maxLength",X="$ref";var Ut="source",zt="state",pe="http://luna.internal";var Yt="type";function d(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function ye(e){return e==null||e===""}function I(e){return A(e)||typeof e=="number"||Ze(e)}function A(e){return typeof e=="string"}function Xt(e){return d(e)&&"url"in e}function Ze(e){return typeof e=="boolean"}var uo=/^\d+$/;function Je(e,t=[],n=S){return Array.isArray(t)?t.find(r=>{let o=Qe(r,n);if(o!==void 0&&`${o}`===e)return r})??{value:e}:{value:e}}function Qe(e,t=S){if(e!=null){if(I(e))return e;if(d(e)){let n=fo(e,t);if(I(n))return n}}}function fo(e,t){let n=x(e,t);if(I(n))return n}function Ht(e,t){if(Array.isArray(e))return e;let n=x(e,t);return Array.isArray(n)?n:null}function x(e,t){if(!t||!d(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(d(r)&&o in r)r=r[o];else return null;return r}function qt(e,t={description:Et,label:wt,value:S}){return e.map(n=>{if(d(n)){let r=x(n,t.label),o=x(n,t.value);if(I(r)&&I(o)){let i=x(n,t.description);return{label:`${r}`,value:`${o}`,...I(i)&&{description:`${i}`}}}}return n})}function Kt(e=Z){if(e){let t=e.lastIndexOf("/"),n=t===-1?e:e.slice(t+1);if(n&&n!==de)return n.trim().toLowerCase()}return Z}function Zt(e){let t={};for(let n of e.keys()){let r=e.getAll(n);t[n]=r.length>1?r:r[0]}return t}function Wt(e){let t={};for(let n in e){let r=n.split(".");if(r.length===1){t[n]=e[n];continue}let o=t;for(let l=0;l<r.length-1;l++){let a=r[l],s=r[l+1],c=uo.test(s);a in o||(o[a]=c?[]:{}),o=o[a]}let i=r[r.length-1];o[i]=e[n]}return We(t),t}function We(e){for(let t in e){let n=e[t];if(Array.isArray(n)){let r=n.filter(o=>o!==void 0);r.forEach(o=>{o!==null&&typeof o=="object"&&!Array.isArray(o)&&We(o)}),e[t]=r}else n!==null&&typeof n=="object"&&We(n)}}var mo=/\[([^\]]{1,500})\]\(([^)]{1,2000})\)/g;function D(e,t={}){if(A(e))return go(e,t);if(Array.isArray(e))return e.map(n=>D(n,t));if(d(e)){let n={};for(let r in e)n[r]=D(e[r],t);return n}return e}function be(e,t={}){return W(e)?D(e,t):e}function W(e){return A(e)?/{([^}]{1,200})}/.test(e):Array.isArray(e)?e.some(t=>W(t)):d(e)?Object.values(e).some(t=>W(t)):!1}function go(e,t={}){return e.replace(/{([^}]{1,200})}/g,(n,r)=>{let o=r.includes(".")?x(t,r):t[r];return I(o)?String(o):n})}function Jt(e,t){if(!A(e)||!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=mo.exec(e))!==null;){let[l,a,s]=n,c=n.index;o=!0,c>r&&i.push(e.substring(r,c));let u=t?t(c,s,a):l;i.push(u),r=c+l.length}return o?(r<e.length&&i.push(e.substring(r)),i):e}var J={error:(...e)=>{je()&&!et()&&xe().error("[Luna Form]",...e)},warn:(...e)=>{je()&&!et()&&xe().warn("[Luna Form]",...e)},info:(...e)=>{je()&&!et()&&xe().info("[Luna Form]",...e)}},je=()=>typeof xe()<"u",et=()=>!0,xe=()=>globalThis.console;function Qt(e=[],t){let n=[],r=[],o=[];for(let i of e)i.action===S&&n.push(i),i.action===Ut&&r.push(i),i.action===zt&&o.push(i);t({sources:r,states:o,values:n})}function jt(e=null,t=[],n){for(let r of t){let{target:o,source:i}=r;if(!e){n(o,void 0);continue}if(Xt(i)){let l=D(i.url,e),a=i.body?D(i.body,e):i.body;n(o,{...i,url:l,body:a})}}}var Q={eq:ho,gt:Ao,gte:vo,in:To,lt:Fo,lte:Co,neq:Ro,nin:So},po=/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2})?/,en=/^(\d{2})[/-](\d{2})[/-](\d{4})(?: (\d{2}):(\d{2})(?::(\d{2}))?)?$/;function yo(e){return typeof e=="string"&&po.test(e)}function bo(e){return typeof e=="string"&&en.test(e)}function xo(e){let t=e.match(en);if(t){let[,n,r,o,i,l,a]=t;return new Date(Number(o),Number(r)-1,Number(n),Number(i??0),Number(l??0),Number(a??0)).getTime()}return NaN}function O(e){return yo(e)?new Date(e).getTime():bo(e)?xo(e):Number(e)}function ho(e,t){return e===t}function Ro(e,t){return e!==t}function To(e,t){return Array.isArray(t)&&t.includes(String(e))}function So(e,t){return Array.isArray(t)&&!t.includes(String(e))}function Ao(e,t){return O(e)>O(t)}function vo(e,t){return O(e)>=O(t)}function Fo(e,t){return O(e)<O(t)}function Co(e,t){return O(e)<=O(t)}function tn(e=null,t=[],n){for(let r of t){let{target:o,state:i,when:l}=r,a=Array.isArray(o)?o:[o];if(!e){n(a);continue}let s=No(e,l);n(a,s?i:void 0)}}function No(e,t){return t===void 0?!0:A(t)?he(e,S)===t:Ze(t)?!!he(e,S)===t:Array.isArray(t)?t.includes(String(he(e,S))):ko(e,t)}function ko(e=null,t){let n=he(e,t.field??S),{operator:r="eq",value:o}=t,i=Q[r];return i?i(n,o):!1}function he(e,t){return d(e)?x(e,t):e}function nn(e=null,t=[],n){for(let r of t)for(let[o,i]of Object.entries(r.value))n(o,e?D(i,e):void 0)}var Re=e=>E(Nt)(e),Te=e=>E(kt)(e),R=E(Ft),tt=E(de),P=E(vt),M=E(Ct),nt=E(At),rn=E(Z,Ke,Pt,Lt),on=E(Tt,Ke),Se=E(St,It);function Ae(e){return P(e)||R(e)}function ln(e){return e.type===He}function _(e){return e.type===K}function ve(e){return e.type!==K&&e.type!==He}function j(e){return M(e)||P(e)}function an(e){return tt(e)||nt(e)}function $(e){return e!=null&&e!==""}function E(...e){return t=>{let n=A(t.type)?t.type:void 0;return n?e.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function sn(e,t={}){if(M(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&d(n))return[n]}}function cn(e){return P(e)||R(e)?!0:e.advanced?.horizontal??!1}function un(e){return R(e)?e.advanced?.reverse!==!1:!1}function dn(e,t){let n=e.readonly??!1;return t||n}function fn(e){if(P(e)||M(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||d(t)&&!(X in t))return t}}var Eo=/^\d+$/;function mn(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function gn(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 rt(){return new Date().getFullYear()}function ot(e,t){if(typeof e=="number")return e;let n=t??rt(),r=e.trim().toLowerCase();if(r.startsWith("current")){let o=r.match(/^current([+-])(\d+)$/);if(o){let[,i,l]=o,a=parseInt(l,10);if(!isNaN(a))return i==="+"?n+a:n-a}return n}return Eo.test(r)?parseInt(r,10):n}var Fe=rt();function wo(e){if(M(e))return Io(e)}function Io(e){if(Re(e))return mn();if(Te(e)){let t=e.advanced?.length?.min??Fe,n=e.advanced?.length?.max??Fe+5;return gn(ot(t,Fe),ot(n,Fe))}}function pn(e,t=!1){let n={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return tt(e)?{...n,...Po(e)}:M(e)?{...n,...Lo(e)}:nt(e)?{...n,...Vo(e)}:n}function Po(e){let t=Kt(e.type),n={...e,type:t};return{...yn(e),...Do(n),...rn(n)?bn(n):{},type:t}}function Lo(e){let t=wo(e);return t?{options:t}:{}}function Vo(e){return{...yn(e),...bn(e)}}function yn(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function Do(e){return Se(e)?Oo(e):{}}function bn(e){return xn(e,{min:Gt,max:$t})}function Oo(e){return xn(e,{min:me,max:ge})}function xn(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 hn(e,t){let n=fn(e);return n||sn(e,t)}function Mo(e,t){let n=d(t)&&e.name in t?t[e.name]:t;return Qe(n,e.advanced?.entity)}function _o(e,t,n){return j(e)&&Array.isArray(n)?{...t,[fe]:n}:t}function Bo(e,t,n){if(e.required&&!$(n)&&M(e)&&e.advanced?.preselected!==!1&&fe in t){let r=t[fe];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function Go(e,t){return j(e)&&Array.isArray(t)?qt(t,e.advanced?.options):t}function Rn(e,t,n,r){let o=Mo(e,r),i=Array.isArray(n)?Go(e,n):n,l=_o(e,t,i),a=Bo(e,l,o);return{commonPropsWithOptions:l,defaultValue:a}}function Tn(e,t){return R(e)?{checked:$(t)?t:!1}:{value:t??""}}var $o=/^#\/definition\//;function Ne(e=[],t){let n=Ce(e,t);return Array.isArray(n)?n.filter(zo).sort((r,o)=>Sn(r)-Sn(o)):[]}function Ce(e,t,n=new Map,r=new WeakSet){if(!Uo(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=>Ce(i,t,n,r));if(X in e&&A(e[X])){let i=e[X].replace($o,""),l=x(t,i);return l!==null?Ce(l,t,n,r):e}let o={};for(let[i,l]of Object.entries(e))o[i]=Ce(l,t,n,r);return r.delete(e),n.set(e,o),o}function An(e){return Object.entries(e??{})}function Sn(e){return e.order??Number.MAX_VALUE}function Uo(e){return e!==void 0&&d(e)&&Object.keys(e).length>0}function zo(e){return Yt in e?!0:Array.isArray(e[qe])?e[qe].length>0:!0}function vn(e,t){let n={};for(let[r,o]of An(t))n[`${e}-${r}`]=o;return n}function Yo(e){return vn(_t,e)}function Xo(e){return vn(Bt,e)}function Fn(e,t){let n=Yo(e.advanced?.aria);return t&&t.length>0&&(n[Dt]="true",n[Vt]=`${e.name}-error`),n}function Cn(e){return Xo(e.advanced?.data)}var Nn={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},kn={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function En(e,t=2){return Nn[e&&e in Nn?e:t]}function wn(e){if(e&&e in kn)return kn[e]}function Ho(e,t){let n=e.advanced?.length?.min??1;if(t){let r=x(t,e.name);if(Array.isArray(r))return Math.max(r.length,n)}return Math.max(n,0)}function In(e){return!Array.isArray(e.fields)||e.fields.length===0?!1:e.fields.length>1||e.fields[0].type===K}function Pn(e,t){let n=Ho(e,t);return Array.from({length:n},(r,o)=>o)}function Ln(e){return e.label??e.name}import{z as p}from"zod";function g(e,t){return e?t?t[e]??e:e:""}var qo=[[Se,Qo],[on,Ko],[Te,jo],[Re,ei],[R,Zo],[P,Wo]];function Dn(e,t=[],n){let r=p.object(e);return t.length===0?r:oi(r,t,n)}function On(e){let t={},n=p.flattenError(e).fieldErrors;for(let[r,o]of Object.entries(n))o!==void 0&&(t[r]=o);return t}function Mn(e,t){for(let[n,r]of qo)if(n(e))return r(e,t);return Jo(e,t)}function Ko(e,t){let n=p.string().trim();if(e.required){let r=H(e,t),o=n.min(1,r).pipe(Vn(e,t));return p.preprocess(i=>ye(i)?"":i,o)}return n.pipe(Vn(e,t)).or(p.literal("")).nullable()}function Zo(e,t){let n=p.coerce.boolean();return e.required?(n=n.refine(r=>r===!0,{message:H(e,t)}),p.preprocess(r=>r===null?!1:r,n)):n.nullable()}function Wo(e,t){let n=p.coerce.string();return e.required?(n=n.min(1,H(e,t)),p.preprocess(r=>ye(r)?"":r,n)):n.or(p.literal("")).nullable()}function Jo(e,t){let n=p.coerce.string().trim();return n=_n(n,e,t),e.required?(n=Bn(n,e,t),p.preprocess(r=>ye(r)?"":r,n)):n.nullable()}function Qo(e,t){let n=p.coerce.number().int();return n=_n(n,e,t),e.required?(n=Bn(n,e,t),p.preprocess(r=>r===null?void 0:r,n)):n.nullable()}function jo(e,t){return e.required?p.preprocess(ti,p.coerce.number({message:H(e,t)}).int()):p.coerce.number().int().nullable()}function ei(e,t){let n=H(e,t),r=p.coerce.number().int().min(1,n).max(12,n);return e.required?r:r.nullable()}function ti(e){return e===null||e===""?void 0:e}function Vn(e,t){let n=e.validation?.email?g(e.validation?.email,t):void 0;return p.email(n)}function _n(e,t,n){return e=ni(e,t,n),e=ri(e,t,n),e}function Bn(e,t,n){let r=t.advanced?.length?.min;return r===void 0||r<1?e.min(1,H(t,n)):e}var ni=(e,t,n)=>Gn(e,t,me,n),ri=(e,t,n)=>Gn(e,t,ge,n);function Gn(e,t,n,r){let o=t.advanced?.length?.[n];if(o!==void 0){let i=t.validation?.length?.[n]?g(t.validation?.length?.[n],r):void 0;return e[n](o,i)}return e}function oi(e,t=[],n){let r=li(t);return r.length===0?e:e.superRefine((o,i)=>{for(let{name:l,rule:a}of r)if(!ii(o,l,a)){let s=g(a.message,n);i.addIssue({code:"custom",message:s,path:[l]})}})}function ii(e,t,n){let r=n.operator??"eq",o=Q[r];return o?o(e[t],e[n.field]):!1}function li(e){let t=[];for(let n of e){let r=n.validation?.custom;if(!r)continue;let o=Array.isArray(r)?r:[r];for(let i of o)t.push({name:n.name,rule:i})}return t}function $n(e,t,n,r){let o=[],i=Array.isArray(t)?t:[t];for(let l of i){let a=l.operator??"eq",s=Q[a];if(s&&!s(e,n(l.field))&&l.message){let c=g(l.message,r);o.push(c)}}return o}function H(e,t){return e.validation?.required?g(e.validation?.required,t):void 0}function Un(e,t){if(!t||!si(e))return!0;if(t.length===0)return!1;try{let n=new URL(e),r=n.protocol.replace(":",""),o=n.hostname,i=n.port||ai(r);return t.some(l=>!(l.protocol&&l.protocol!==r||l.hostname&&l.hostname!==o||l.port!==void 0&&String(l.port)!==i))}catch{return!1}}function ai(e){return e==="https"?"443":"80"}function si(e){return/^(https?:)?\/\//.test(e)}function zn(e,t){try{if(!e)return t;if(!t)return e;let n=new URL(e,pe);new URL(t,pe).searchParams.forEach((i,l)=>{n.searchParams.set(l,i)});let o=n.toString();return e.startsWith("/")||!e.includes("://")?o.replace(pe,""):o}catch{return t||e}}function Yn(e){return!Array.isArray(e)||e.length===0?null:e.reduce((t,n)=>{let r=zn(t.url,n.url),o=ci(t,n),i=ui(t,n);return{...t,...n,url:r,body:o,headers:i}})}function ci(e,t){return d(t.body)&&d(e?.body)?{...e.body,...t.body}:t.body??e?.body}function ui(e,t){return d(t.headers)&&d(e?.headers)?{...e.headers,...t.headers}:t.headers??e?.headers}function ke(e,t){return{...e,...t}}import{jsx as di}from"react/jsx-runtime";function B(e){return Jt(e,(t,n,r)=>di("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${t}`))}import{jsx as ee,jsxs as it}from"react/jsx-runtime";function Xn(e){let{fields:t=[]}=e.section,[n,r]=gi(!1),o=mi(()=>r(i=>!i),[]);return it("fieldset",{"data-slot":"field-set","data-advanced":"true","data-expanded":n,"data-empty":t.length===0,className:"flex flex-col",id:e.section.id?.toString(),children:[ee("legend",{children:it("button",{className:"flex cursor-pointer items-center gap-2 text-base font-medium text-slate-600 dark:text-slate-400",onClick:o,type:"button",children:[ee(Rt,{expanded:n}),ee("span",{children:B(e.section.title)})]})}),ee(fi,{mode:n?"visible":"hidden",children:it("div",{className:"mt-3 ml-1.5 flex flex-col gap-4 border-l-2 border-slate-300 pl-4 dark:border-slate-600","data-slot":"field-set-content",children:[e.section.description&&ee("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:B(e.section.description)}),e.group]})})]})}import{Fragment as pi,jsx as Hn,jsxs as yi}from"react/jsx-runtime";function qn(e){return yi(pi,{children:[e.title&&Hn("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:B(e.title)}),e.description&&Hn("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:B(e.description)})]})}import{jsx as bi,jsxs as xi}from"react/jsx-runtime";function Ee(e){return xi("fieldset",{"data-slot":"field-set","data-empty":e.empty,className:"flex flex-col data-[empty=false]:gap-6",id:e.id,children:[bi(qn,{description:e.description,title:e.title}),e.children]})}import{jsx as hi}from"react/jsx-runtime";function U(e){return hi("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})}import{jsx as lt}from"react/jsx-runtime";function Kn(e){let{fields:t=[]}=e.section,{compact:n}=ke(e.style,{compact:e.section.compact}),r=lt(U,{compact:n,children:e.children});return!e.section.title&&!e.section.description?r:e.section.advanced?lt(Xn,{section:e.section,group:r}):lt(Ee,{description:e.section.description,empty:t.length===0,id:e.section.id?.toString(),title:e.section.title,children:r})}import{useAtomValue as vi}from"jotai";import{atom as z}from"jotai";import{atomFamily as Zn}from"jotai-family";import{deepEqual as at}from"fast-equals";function we(e,t){let{[t]:n,...r}=e;return r}function Ri(e){return Zn(t=>z(n=>n(e)[t]??void 0,(n,r,o)=>{let i=n(e);if(o!=null){let l=i[t];(!l||!at(l,o))&&r(e,{...i,[t]:o})}else i[t]&&r(e,we(i,t))}))}function Ti(e){return z(null,(t,n)=>{let r=t(e);r&&Object.keys(r).length>0&&n(e,{})})}function Si(e){return z(null,(t,n,r)=>{let i={...t(e)},l=!1;for(let a of r)i[a]&&(delete i[a],l=!0);l&&n(e,i)})}function Ai(e){return z(null,(t,n,r)=>{let o=t(e);at(o,r)||n(e,r)})}function Wn(e,t={}){let{merge:n,validateTarget:r}=t;return Zn(o=>z(i=>{let l=i(e)[o];if(l&&n)return n(Object.values(l))},(i,l,a,s)=>{if(r&&!r(a))return;let c=i(e),u={...c[a]??{}};if(s!=null){let y=u[o];(!y||!at(y,s))&&(u[o]=s,l(e,{...c,[a]:u}))}else u[o]&&(delete u[o],Object.keys(u).length===0?l(e,we(c,a)):l(e,{...c,[a]:u}))}))}function Jn(e){return z(null,(t,n,r)=>{let i={...t(e)},l=!1;for(let a of r)i[a]&&(delete i[a],l=!0);for(let a in i){let s={...i[a]},c=!1;for(let u of r)s[u]&&(delete s[u],c=!0,l=!0);c&&(Object.keys(s).length===0?delete i[a]:i[a]=s)}l&&n(e,i)})}function q(e={}){let t=z(e);return{atom:t,clearAll:Ti(t),clear:Si(t),bulkReport:Ai(t),report:Ri(t)}}var Qn=q(),Ie=Qn.atom,jn=Qn.report;function Fi(e,t){return e.fields.every(n=>er(n,t))}function er(e,t){return t[e.name]?.hidden??e.hidden??!1}function Ci(e,t){return _(e)?Fi(e,t):er(e,t)}function Pe(e){let t=vi(Ie);return e.container&&(t[e.container.name]?.hidden??e.container.hidden??!1)||e.fields.length===0||e.fields.every(r=>Ci(r,t))?null:e.children}import{jsx as tr}from"react/jsx-runtime";function nr(){return tr("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:tr("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}import{jsx as te,jsxs as rr}from"react/jsx-runtime";function or(e){let t=Ne(e.sections,e.definition);return te("div",{className:"h-full w-full",children:te("form",{noValidate:e.noValidate,action:e.action,children:rr(U,{children:[t.map((n,r)=>rr(Pe,{fields:n.fields??[],children:[te(Kn,{section:n,style:e.config.style,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.separator&&te(nr,{})]},r)),e.control&&te(xt,{isPending:e.isPending,children:e.control})]})})})}import{jsx as Ni}from"react/jsx-runtime";function ir(e){return Ni("p",{className:"-mt-2 text-xs leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}import{jsx as ki}from"react/jsx-runtime";function Le(e){let t={context:e.context,env:e.config?.env},n=g(be(e.text,t),e.translations),r=B(n);return r?ki(ir,{children:r}):null}import{twMerge as Ei}from"tailwind-merge";import{jsx as wi,jsxs as Ii}from"react/jsx-runtime";function lr(e){let t=e.style?.showOptionalLabel??!0,n=P(e.field)||R(e.field);return Ii("label",{"data-slot":"field-label","data-normal":n,className:Ei("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,t&&!e.field.required&&wi("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:g("(Optional)",e.translations)})]})}import{jsx as ar,jsxs as Pi}from"react/jsx-runtime";function sr(e){let t={context:e.context,env:e.config?.env},n=be(e.field.label,t);return Pi("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[ar(lr,{field:e.field,style:e.config?.style,translations:e.translations,children:g(n,e.translations)}),e.horizontal===!0&&ar(Le,{config:e.config,context:e.context,text:e.field.description,translations:e.translations})]})}import{Fragment as Li,jsx as cr,jsxs as Vi}from"react/jsx-runtime";function ur(e){return Vi(Li,{children:[e.field.name&&e.field.label&&cr(sr,{config:e.config,context:e.context,field:e.field,horizontal:e.horizontal,translations:e.translations}),e.children,e.horizontal===!1&&cr(Le,{config:e.config,context:e.context,text:e.field.description,translations:e.translations})]})}function Ve(e,t){return e?t(e):null}var st=q(),dr=st.clear,fr=st.bulkReport,De=st.report;var Oe=q(),Me=Oe.atom,mr=Oe.clearAll,gr=Oe.clear,_e=Oe.report;import{useCallback as Be,useEffect as ji,useRef as ne,useTransition as el}from"react";import{atom as Di}from"jotai";var Oi=e=>{let t=Yn(e);if(t)return t},Mi=e=>e.trim()!=="",pr=Di({}),yr=Wn(pr,{merge:Oi,validateTarget:Mi}),br=Jn(pr);import{useAtom as Gi}from"jotai";import _i from"swr";function xr(e=null,t,n=!1){let{data:r,error:o}=_i(Bi(e,t,n),t.fetcher.provider);if(o&&J.error("Error fetching data source:",o),e){if(Array.isArray(e))return e;if(r)return Ht(r,e.namespace)}return null}function Bi(e=null,t,n=!1){if(e&&!Array.isArray(e)&&!n&&e.url&&!W(e.url)){if(Un(e.url,t.fetcher.remotePatterns))return e;J.warn(`URL blocked by remotePatterns: ${e.url}. Check your luna.config.ts`)}return null}function hr(e,t,n){let r=hn(e,n),[o,i]=Gi(yr(e.name));return[xr(o??r,t,e.disabled),i]}import{useEffect as $i,useEffectEvent as Rr,useMemo as Ui}from"react";function Tr(e,t,n,r){let{name:o}=e,i=Ui(()=>Mn(e,r),[e,r]),l=Rr(s=>{s&&t(s,i,e)}),a=Rr(s=>{s&&n(s)});return $i(()=>(l(o),()=>{a(o)}),[o]),i}import{useSetAtom as ct,useStore as tl}from"jotai";import{useCallback as zi,useEffect as Yi,useRef as Xi}from"react";function Sr(){let e=Xi(null);return Yi(()=>()=>{e.current&&clearTimeout(e.current)},[]),zi((n,r)=>{e.current&&(clearTimeout(e.current),e.current=null),e.current=setTimeout(n,r)},[])}import{deepEqual as Hi}from"fast-equals";import{useAtom as qi}from"jotai";import{useCallback as Ki,useEffect as Zi,useRef as Wi,useEffectEvent as Ji}from"react";function Ar(e,t){let{name:n}=e,r=Wi(!1),[o,i]=qi(_e(n)),l=Ji(s=>{let c=Qi(n,s);$(c)&&(Hi(o,c)||(r.current=!0),i(c))});Zi(()=>{t&&l(t)},[t]);let a=Ki(()=>r.current?(r.current=!1,!0):!1,[]);return{setValue:i,shouldSkipOnChange:a,value:o}}function Qi(e,t){if(e in t)return t[e];if(!e.includes("."))return;let n=e.split("."),r=t;for(let o of n){if(r==null)return;if(Array.isArray(r)){let i=Number(o);r=Number.isInteger(i)?r[i]:void 0}else if(typeof r=="object")r=r[o];else return}return r}import{jsx as vr}from"react/jsx-runtime";function Fr(e){let t=e.field.advanced?.entity,n=tl(),r=Sr(),[,o]=el(),{setValue:i,shouldSkipOnChange:l,value:a}=Ar(e.field,e.value),s=ne(!1),c=ne(a);c.current=a;let u=ne(e.translations);u.current=e.translations;let y=an(e.field),h=Ae(e.field),v=ct(Me),L=ct(Ie),F=ct(De(e.field.name)),[b,w]=hr(e.field,e.config,a),C=Tr(e.field,e.onMount,e.onUnmount,e.translations),T=g(e.commonProps.placeholder,e.translations),V={...e.commonProps,placeholder:T},{commonPropsWithOptions:N,defaultValue:ae}=Rn(e.field,V,b,a),yt=ne(null);yt.current=f=>{if(i(f),e.onValueChange){let m=e.dataAttributes??{};e.onValueChange({data:Object.keys(m).length>0?m:void 0,name:e.field.name,type:e.field.type,value:f})}};let Ue=ne(null);Ue.current=f=>{let m=e.field.event?.change;m&&Qt(m,({sources:G,states:ce,values:ze})=>{o(()=>{jt(f,G,(k,Y)=>w(k,Y)),tn(f,ce,(k,Y)=>{L(ue=>Y?k.reduce((Ye,Xe)=>({...Ye,[Xe]:Y}),ue):k.reduce((Ye,Xe)=>we(Ye,Xe),ue))}),nn(f,ze,(k,Y)=>{v(ue=>({...ue,[k]:Y}))})})})};let lo=Tn(e.field,ae),se=Be(f=>{let G=C.safeParse(f).error?.issues.map(k=>k.message)??[],ce=e.field.validation?.custom,ze=ce?$n(f,ce,k=>n.get(_e(k)),u.current):[];F([...G,...ze])},[e.field.validation?.custom,C,F,n]),bt=Be((f,m)=>{if(y){r(()=>{m({value:f})},300);return}m(Je(f,b,t))},[b,t,y,r]);ji(()=>{if(s.current||!e.value)return;if(!e.field.event?.change){s.current=!0;return}if(!((!j(e.field)||!!b&&b.length>0)&&$(ae)))return;s.current=!0;let m=String(ae),G=y?{value:m}:Je(m,b,t);Ue.current?.(G)},[b,ae,t,y,e.field,e.value]);let ao=Be(f=>{let m=f.target.value;!h&&l()&&(!y||m===c.current)||(yt.current?.(m),e.config.validation.change&&se(m),e.field.event?.change&&bt(m,G=>{Ue.current?.(G)}))},[bt,h,y,e.config.validation.change,e.field.event?.change,l,se]),so=Be(f=>{if(!h){let m=f.target.value;e.config.validation.blur&&se(m)}},[h,e.config.validation.blur,se]);return Ve(e.config.inputs[e.field.type],f=>vr(ur,{config:e.config,context:e.context,field:e.field,horizontal:e.horizontal,translations:e.translations,children:vr(f,{...N,...e.ariaAttributes,...e.dataAttributes,...lo,onBlur:so,onChange:ao})}))}import{jsx as Cr}from"react/jsx-runtime";function Nr(e){return!e.errors||e.errors.length===0?null:Cr("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)=>Cr("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}import{twMerge as nl}from"tailwind-merge";import{jsx as rl}from"react/jsx-runtime";function Ge(e){let t=e.errors&&e.errors.length>0;return rl("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[Ot]:"true"},...e.disabled&&{[Mt]:"true"},"data-orientation":e.orientation,className:nl("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&&(e.isReversed?"flex-row-reverse!":"flex-row!"),"data-[clickable=true]:has-[>[data-slot=field-content]]:[&>:first-child]:mt-px",e.className),children:e.children})}import{twMerge as ol}from"tailwind-merge";import{jsx as il}from"react/jsx-runtime";function kr(e){return il(Ge,{...e,orientation:"vertical",className:ol("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}import{twMerge as ll}from"tailwind-merge";import{jsx as al}from"react/jsx-runtime";function Er(e){return al(Ge,{...e,orientation:"horizontal",className:ll("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 wr}from"react/jsx-runtime";function Ir(e){let t=Ae(e.field),n=R(e.field),r=un(e.field);return e.horizontal?wr(Er,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children}):wr(kr,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children})}function Pr(e){if(!e.field.type)return null;let t=pn(e.field,e.disabled),n=Cn(e.field),r=Fn(e.field,e.errors),o={...e.field,disabled:t.disabled};return e.children({ariaAttributes:r,commonProps:t,dataAttributes:n,field:o,horizontal:e.horizontal})}import{twMerge as sl}from"tailwind-merge";import{jsx as ut,jsxs as cl}from"react/jsx-runtime";function Lr(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{horizontal:r}=ke(e.style,{horizontal:cn(e.field)}),o=dn(e.field,e.disabled);return cl("div",{className:sl("flex flex-col gap-3",wn(t)),children:[ut(Ir,{disabled:o,errors:n,field:e.field,horizontal:r,children:ut(Pr,{disabled:o,errors:n,field:e.field,horizontal:r,children:e.children})}),ut(Nr,{errors:n,name:e.field.name})]})}import{useAtomValue as ul}from"jotai";import{jsx as ml}from"react/jsx-runtime";function Vr(e){return(t,n)=>o=>{let i=ul(e(o.field.name)),l=n(i,o);return l===null?null:ml(t,{...o,...l})}}var dl=Vr(De);function Dr(e){return dl(e,(t,n)=>({errors:t?{[n.field.name]:t}:void 0}))}var fl=Vr(jn);function Or(e){return fl(e,(t,n)=>t?.hidden??n.field.hidden??!1?null:{disabled:t?.disabled??n.disabled})}var Mr=Or(Dr(Lr));import{twMerge as gl}from"tailwind-merge";import{jsx as re,jsxs as $e}from"react/jsx-runtime";function _r(e){function t(){e.canRemove&&e.onRemove&&e.onRemove(e.index)}let n=e.canRemove&&e.onRemove!=null&&re("button",{"aria-label":`Remove ${e.label} item ${e.index+1}`,className:gl("rounded p-1 text-xl text-slate-400","transition-colors duration-150","hover:text-red-500","focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:outline-none","dark:text-slate-500 dark:hover:text-red-400"),onClick:t,type:"button",children:re("span",{"aria-hidden":"true",children:"\xD7"})});return e.isMultiField?$e("div",{className:"rounded-lg border border-slate-100 p-4 dark:border-slate-900",children:[$e("div",{className:"mb-3 flex items-center justify-between",children:[$e("span",{className:"text-sm font-medium text-slate-400 dark:text-slate-500",children:[e.label," ",e.index+1]}),n]}),re(U,{children:e.children})]}):$e("div",{className:"flex items-start gap-2",children:[re(U,{children:e.children}),n&&re("div",{className:"shrink-0",children:n})]})}import{twMerge as xl}from"tailwind-merge";import{useSetAtom as pl}from"jotai";import{useCallback as Br,useLayoutEffect as yl,useRef as Gr,useState as bl}from"react";function $r(e,t){let n=e.advanced?.length?.min??1,r=e.advanced?.length?.max??1/0,[o,i]=bl(()=>Pn(e,t)),l=Gr(o.length),a=Gr(o);yl(()=>{a.current=o});let s=pl(Me),c=Br(()=>{i(v=>{if(v.length>=r)return v;let L=l.current++;return[...v,L]})},[r]),u=Br(v=>{if(a.current.length<=n)return;let L=a.current[v];i(F=>F.length<=n?F:F.filter((b,w)=>w!==v)),s(F=>{let b={...F},w=`${e.name}.`,C=[];for(let T of e.fields)if(_(T))for(let V of T.fields)C.push(V.name);else C.push(T.name);for(let T of C)delete b[`${w}${L}.${T}`];return b})},[e.name,e.fields,n,s]),y=o.length<r,h=o.length>n;return[o,c,u,y,h,r]}import{Fragment as hl,jsx as Ur,jsxs as dt}from"react/jsx-runtime";function zr(e){let[t,n,r,o,i,l]=$r(e.field,e.value),a=Ln(e.field),s=e.field.advanced?.action??"Add item",c=l!==1/0,u=In(e.field);return dt(hl,{children:[t.map((y,h)=>Ur(_r,{canRemove:i,index:h,isMultiField:u,label:a,onRemove:r,children:e.children(y)},y)),dt("button",{"aria-disabled":!o,"aria-label":c?`${s}, ${t.length} of ${l}`:s,className:xl("flex w-full items-center gap-1.5 rounded py-1","text-sm font-medium text-slate-500","transition-colors duration-150","hover:text-slate-800","focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:ring-offset-2 focus-visible:outline-none","dark:text-slate-400 dark:hover:text-slate-200",!o&&"cursor-not-allowed opacity-50 hover:text-slate-500 dark:hover:text-slate-400"),disabled:!o,onClick:n,type:"button",children:[Ur("span",{"aria-hidden":"true",children:"+"}),s,c&&dt("span",{"aria-hidden":"true",className:"ml-auto text-slate-400 tabular-nums dark:text-slate-500",children:[t.length," / ",l]})]})]})}import{jsx as Rl}from"react/jsx-runtime";function Yr(e){let t=Array.isArray(e.field.fields)&&e.field.fields.length===0;return Rl(Ee,{description:e.field.description,empty:t,id:e.field.name,title:e.field.label,children:e.children})}import{jsx as ft}from"react/jsx-runtime";function Xr({children:e,field:t,value:n}){return ft(Pe,{container:t,fields:t.fields,children:ft(Yr,{field:t,children:ft(zr,{field:t,value:n,children:e})})})}import{twMerge as Tl}from"tailwind-merge";import{jsx as Hr}from"react/jsx-runtime";function qr(e){let t=En(e.column?.advanced?.cols);return Hr("div",{className:"flex w-full flex-col gap-4",children:Hr("div",{className:Tl("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children})})}import{Fragment as Al}from"react";import{jsx as Sl}from"react/jsx-runtime";function Kr(e){let t=Array.isArray(e.field.fields)?e.field.fields.map(n=>ve(n)?{...n,name:`${e.field.name}.${e.index}.${n.name}`}:_(n)?{...n,fields:n.fields.map(r=>({...r,name:`${e.field.name}.${e.index}.${r.name}`}))}:n):[];return Sl(oe,{children:e.children,components:e.components,disabled:e.disabled,fields:t,style:e.style,value:e.value})}import{jsx as ie,jsxs as vl}from"react/jsx-runtime";function oe(e){let{field:t,list:n}=e.components;return Ne(e.fields).map((r,o)=>vl(Al,{children:[_(r)&&ie(qr,{column:r,children:ie(oe,{...e,fields:r.fields})}),ve(r)&&ie(t,{disabled:e.disabled,field:r,style:e.style,children:e.children}),ln(r)&&ie(n,{field:r,value:e.value,children:i=>ie(Kr,{children:e.children,components:e.components,disabled:e.disabled,field:r,index:i,style:e.style,value:e.value})})]},o))}import{jsx as Fl}from"react/jsx-runtime";function Zr(e){return n=>Fl(oe,{...n,components:e})}var Wr=Zr({field:Mr,list:Xr});import{useSetAtom as Jr}from"jotai";import{startTransition as Qr,useActionState as Cl}from"react";function eo(e,t,n){let{onSuccess:r,preserveValues:o=!1,validation:i=!0,translations:l}=n??{},a=Jr(fr),s=Jr(mr),c={data:null,error:null,success:!1},[u,y,h]=Cl(async(v,L)=>{let[F,b]=e(),w=Dn(F,b,l);if(i===!1)return t?await t(L,w):v;let C=Zt(L),T=w.safeParse(C);if(!T.success){let N=On(T.error);return Qr(()=>{a(N)}),mt(C,{description:g("Please correct the errors and try again.",l),details:[],title:g("There were validation errors submitting the form.",l)})}let V=Wt(C);if(t)try{let N=await t(V,w);return N.success?(r?.(N.data),o||Qr(()=>{s()}),jr(V,o)):mt(V,N.error)}catch(N){return J.error("Error executing form action:",N),mt(V,{title:g("An unexpected error occurred submitting the form.",l),details:Nl(N,l)})}return jr(T.data,o)},c);return[y,u,h]}function Nl(e,t){return e instanceof Error?[e.message]:[g("Unknown error",t)]}function jr(e,t=!1){return{data:t?e:null,error:null,success:!0}}function mt(e,t){return{data:e,error:t,success:!1}}import{useCallback as pt,useRef as no}from"react";import{useCallback as kl}from"react";import{useSetAtom as gt}from"jotai";function to(){let e=gt(dr),t=gt(gr),n=gt(br);return kl(r=>{let o=Array.isArray(r)?r:[r];e(o),n(o),t(o)},[e,n,t])}function ro(){let e=to(),t=no({}),n=no([]),r=pt((l,a,s)=>{l in t.current||(t.current[l]=a,n.current.push(s))},[]),o=pt(l=>{t.current[l]&&(delete t.current[l],n.current=n.current.filter(a=>a.name!==l),e([l]))},[e]);return[pt(()=>[t.current,n.current],[]),r,o]}import{Fragment as El,jsx as le,jsxs as wl}from"react/jsx-runtime";function oo(e){let t=e.translations?.[e.lang??""],[n,r,o]=ro(),[i,l,a]=eo(n,e.action,{onSuccess:e.onSuccess,validation:e.config.validation.submit,translations:t}),s=e.config.validation.showError&&!l.success&&l.error,c=l.data??e.value;return wl(El,{children:[s&&Ve(e.config.alert,u=>le("div",{className:"mb-4 w-full",children:le(u,{description:l.error?.description,details:l.error?.details,title:l.error.title})})),le(or,{action:i,config:e.config,control:e.children,definition:e.definition,isPending:a,noValidate:!0,readOnly:e.readOnly,sections:e.sections,children:({disabled:u,fields:y})=>le(Wr,{disabled:u,fields:y,style:e.config.style,value:c,children:h=>le(Fr,{...h,config:e.config,context:e.context,onMount:r,onUnmount:o,onValueChange:e.onValueChange,translations:t,value:c})})})]})}import{Provider as Il}from"jotai";import{jsx as io}from"react/jsx-runtime";function Pl(e){return io(Il,{children:io(oo,{...e})})}export{Pl as Form};
|
package/dist/config/cjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var l=Object.defineProperty;var N=Object.getOwnPropertyDescriptor;var
|
|
1
|
+
"use strict";var l=Object.defineProperty;var N=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var C=Object.prototype.hasOwnProperty;var w=(n,t)=>{for(var r in t)l(n,r,{get:t[r],enumerable:!0})},_=(n,t,r,e)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of P(t))!C.call(n,o)&&o!==r&&l(n,o,{get:()=>t[o],enumerable:!(e=N(t,o))||e.enumerable});return n};var D=n=>_(l({},"__esModule",{value:!0}),n);var rn={};w(rn,{defineCheckbox:()=>J,defineConfig:()=>q,defineCustomInput:()=>tn,defineInput:()=>z,defineRadio:()=>Q,defineSelect:()=>Z,defineTextArea:()=>nn});module.exports=D(rn);var O="input",M="input/email",U="input/number",k="input/password",X="input/tel",v="input/text",m=[O,M,U,k,X,v],h="textarea",A="radio",I="checkbox";var j="select",B="select/month",F="select/year",y=[j,B,F];var u="http://luna.internal";function R(n){return n!==null&&Object.prototype.toString.call(n)==="[object Object]"}function i(n){return typeof n=="string"}function a(n){return i(n)?/{([^}]{1,200})}/.test(n):Array.isArray(n)?n.some(t=>a(t)):R(n)?Object.values(n).some(t=>a(t)):!1}var b={error:(...n)=>{f()&&!d()&&p().error("[Luna Form]",...n)},warn:(...n)=>{f()&&!d()&&p().warn("[Luna Form]",...n)},info:(...n)=>{f()&&!d()&&p().info("[Luna Form]",...n)}},f=()=>typeof p()<"u",d=()=>!0,p=()=>globalThis.console;function S(n){try{return n instanceof FormData?null:i(n)?n:JSON.stringify(n)}catch{return b.error("Failed to stringify body:",n),null}}var V=/(^|[\/?=&])(null|undefined)([\/?=&]|$)/;async function L(n){let[t,r]=G(n),e=n.body,o=$(n);if(e&&!x(r)){let g=S(e);g!==null&&(e=g,o=H(o))}let c=t.origin===u?t.toString().replace(u,""):t.toString(),T=await fetch(c,{body:W(r,e),cache:n.cache,headers:o,method:r}),E=await T.json();if(T.ok)return E;throw E}function G(n){let t=n.url?.trim();if(!t||!K(t))throw new Error(`Invalid URL: ${n.url}`);let r=new URL(t,u),e=Y(n);return n.body&&x(e)&&Object.entries(n.body).filter(([,o])=>o!==void 0&&o!=="undefined").forEach(([o,c])=>{r.searchParams.append(o,String(c))}),[r,e]}function H(n){return{...n,"Content-Type":"application/json"}}function K(n){return!i(n)||a(n)?!1:!V.test(n)}function Y(n){return n.method??"GET"}function $(n){return{Accept:"application/json",...n.headers??{}}}function x(n){return n.toUpperCase()==="GET"}function W(n,t){if(!x(n))return t}function q(n){let t={alert:n.alert,env:n.env,fetcher:{provider:L,remotePatterns:n.fetcher?.remotePatterns},inputs:{},style:n.style};return t.validation=n.validation??{blur:!0,change:!0,showError:!0,submit:!0},n.inputs.forEach(({types:r,input:e})=>{(Array.isArray(r)?r:[r]).forEach(c=>{t.inputs[c]=e})}),t}var J=s([I]),z=s(m),Q=s([A]),Z=s(y),nn=s([h]);function tn(n,t){return s(n)(t)}function s(n){return t=>({types:n,input:t})}
|
package/dist/config/esm/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var
|
|
1
|
+
var L="input",N="input/email",P="input/number",C="input/password",w="input/tel",_="input/text",g=[L,N,P,C,w,_],m="textarea",h="radio",A="checkbox";var D="select",O="select/month",M="select/year",I=[D,O,M];var u="http://luna.internal";function y(n){return n!==null&&Object.prototype.toString.call(n)==="[object Object]"}function i(n){return typeof n=="string"}function a(n){return i(n)?/{([^}]{1,200})}/.test(n):Array.isArray(n)?n.some(t=>a(t)):y(n)?Object.values(n).some(t=>a(t)):!1}var R={error:(...n)=>{l()&&!f()&&p().error("[Luna Form]",...n)},warn:(...n)=>{l()&&!f()&&p().warn("[Luna Form]",...n)},info:(...n)=>{l()&&!f()&&p().info("[Luna Form]",...n)}},l=()=>typeof p()<"u",f=()=>!0,p=()=>globalThis.console;function b(n){try{return n instanceof FormData?null:i(n)?n:JSON.stringify(n)}catch{return R.error("Failed to stringify body:",n),null}}var U=/(^|[\/?=&])(null|undefined)([\/?=&]|$)/;async function S(n){let[t,r]=k(n),o=n.body,e=B(n);if(o&&!d(r)){let E=b(o);E!==null&&(o=E,e=X(e))}let c=t.origin===u?t.toString().replace(u,""):t.toString(),x=await fetch(c,{body:F(r,o),cache:n.cache,headers:e,method:r}),T=await x.json();if(x.ok)return T;throw T}function k(n){let t=n.url?.trim();if(!t||!v(t))throw new Error(`Invalid URL: ${n.url}`);let r=new URL(t,u),o=j(n);return n.body&&d(o)&&Object.entries(n.body).filter(([,e])=>e!==void 0&&e!=="undefined").forEach(([e,c])=>{r.searchParams.append(e,String(c))}),[r,o]}function X(n){return{...n,"Content-Type":"application/json"}}function v(n){return!i(n)||a(n)?!1:!U.test(n)}function j(n){return n.method??"GET"}function B(n){return{Accept:"application/json",...n.headers??{}}}function d(n){return n.toUpperCase()==="GET"}function F(n,t){if(!d(n))return t}function on(n){let t={alert:n.alert,env:n.env,fetcher:{provider:S,remotePatterns:n.fetcher?.remotePatterns},inputs:{},style:n.style};return t.validation=n.validation??{blur:!0,change:!0,showError:!0,submit:!0},n.inputs.forEach(({types:r,input:o})=>{(Array.isArray(r)?r:[r]).forEach(c=>{t.inputs[c]=o})}),t}var en=s([A]),sn=s(g),cn=s([h]),un=s(I),an=s([m]);function pn(n,t){return s(n)(t)}function s(n){return t=>({types:n,input:t})}export{en as defineCheckbox,on as defineConfig,pn as defineCustomInput,sn as defineInput,cn as defineRadio,un as defineSelect,an as defineTextArea};
|
package/dist/server/cjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var Q=Object.defineProperty;var En=Object.getOwnPropertyDescriptor;var On=Object.getOwnPropertyNames;var wn=Object.prototype.hasOwnProperty;var Pn=(e,t)=>{for(var n in t)Q(e,n,{get:t[n],enumerable:!0})},Mn=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of On(t))!wn.call(e,o)&&o!==n&&Q(e,o,{get:()=>t[o],enumerable:!(r=En(t,o))||r.enumerable});return e};var Dn=e=>Mn(Q({},"__esModule",{value:!0}),e);var fr={};Pn(fr,{Fallback:()=>Ln,Form:()=>J});module.exports=Dn(fr);var Re=require("react/jsx-runtime");function be(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 k=require("react");var j=require("react/jsx-runtime");function Te(e){return(0,j.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:`size-4 transition-transform duration-200 ${e.expanded?"rotate-90":""}`,children:(0,j.jsx)("path",{fillRule:"evenodd",d:"M8.22 5.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L11.94 10 8.22 6.28a.75.75 0 0 1 0-1.06Z",clipRule:"evenodd"})})}var _="input",he="input/email",Ae="input/number";var Fe="textarea",Se="radio",Ne="checkbox",ee="list";var Ce="select",Ie="select/month",Le="select/year";var O="column",te="fields",ke="label",ne="value",V="options",re="email",ve="number",Ee="password",Oe="tel",w="text",we="aria-errormessage",Pe="aria-invalid",Me="data-invalid",De="data-readonly",_e="aria",Ve="data",Be="min",Ge="max",$e="minLength",Ue="maxLength",C="$ref";var x="vertical",I="horizontal";var Ye="type";function a(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function b(e){return m(e)||typeof e=="number"||_n(e)}function m(e){return typeof e=="string"}function _n(e){return typeof e=="boolean"}function He(e,t=ne){if(e!=null){if(b(e))return e;if(a(e)){let n=Vn(e,t);if(b(n))return n}}}function Vn(e,t){let n=p(e,t);if(b(n))return n}function p(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 Xe(e,t={label:ke,value:ne}){return e.map(n=>{if(a(n)){let r=p(n,t.label),o=p(n,t.value);if(b(r)&&b(o))return{label:`${r}`,value:`${o}`}}return n})}function Ke(e=w){if(e){let t=e.lastIndexOf("/"),n=t===-1?e:e.slice(t+1);if(n&&n!==_)return n.trim().toLowerCase()}return w}var Bn=/\[([^\]]{1,500})\]\(([^)]{1,2000})\)/g;function oe(e,t={}){if(m(e))return Gn(e,t);if(Array.isArray(e))return e.map(n=>oe(n,t));if(a(e)){let n={};for(let r in e)n[r]=oe(e[r],t);return n}return e}function le(e,t={}){return ie(e)?oe(e,t):e}function ie(e){return m(e)?/{([^}]{1,200})}/.test(e):Array.isArray(e)?e.some(t=>ie(t)):a(e)?Object.values(e).some(t=>ie(t)):!1}function Gn(e,t={}){return e.replace(/{([^}]{1,200})}/g,(n,r)=>{let o=r.includes(".")?p(t,r):t[r];return b(o)?String(o):n})}function We(e,t){if(!m(e)||!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=Bn.exec(e))!==null;){let[l,d,kn]=n,D=n.index;o=!0,D>r&&i.push(e.substring(r,D));let vn=t?t(D,kn,d):l;i.push(vn),r=D+l.length}return o?(r<e.length&&i.push(e.substring(r)),i):e}var qe=e=>u(Ie)(e),ze=e=>u(Le)(e),c=u(Ne),Ze=u(_),h=u(Se),g=u(Ce),Je=u(Fe),Qe=u(w,re,Ee,Oe),Cr=u(he,re),je=u(Ae,ve);function et(e){return h(e)||c(e)}function tt(e){return e.type===ee}function L(e){return e.type===O}function B(e){return e.type!==O&&e.type!==ee}function nt(e){return g(e)||h(e)}function ae(e){return e!=null&&e!==""}function u(...e){return t=>{let n=m(t.type)?t.type:void 0;return n?e.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function rt(e,t={}){if(g(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&a(n))return[n]}}function ot(e){return h(e)||c(e)?I:e.advanced?.orientation??x}function it(e){return c(e)?e.advanced?.reverse!==!1:!1}function lt(e,t){let n=e.readonly??!1;return t||n}function at(e){if(h(e)||g(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||a(t)&&!(C in t))return t}}var $n=/^\d+$/;function st(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function dt(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 se(){return new Date().getFullYear()}function de(e,t){if(typeof e=="number")return e;let n=t??se(),r=e.trim().toLowerCase();if(r.startsWith("current")){let o=r.match(/^current([+-])(\d+)$/);if(o){let[,i,l]=o,d=parseInt(l,10);if(!isNaN(d))return i==="+"?n+d:n-d}return n}return $n.test(r)?parseInt(r,10):n}var G=se();function Un(e){if(g(e))return Yn(e)}function Yn(e){if(qe(e))return st();if(ze(e)){let t=e.advanced?.length?.min??G,n=e.advanced?.length?.max??G+5;return dt(de(t,G),de(n,G))}}function ct(e,t=!1){let n={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return Ze(e)?{...n,...Hn(e)}:g(e)?{...n,...Xn(e)}:Je(e)?{...n,...Kn(e)}:n}function Hn(e){let t=Ke(e.type),n={...e,type:t};return{...ut(e),...Wn(n),...Qe(n)?ft(n):{},type:t}}function Xn(e){let t=Un(e);return t?{options:t}:{}}function Kn(e){return{...ut(e),...ft(e)}}function ut(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function Wn(e){return je(e)?qn(e):{}}function ft(e){return mt(e,{min:$e,max:Ue})}function qn(e){return mt(e,{min:Be,max:Ge})}function mt(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 pt(e,t){let n=at(e);return n||rt(e,t)}function zn(e,t){let n=a(t)&&e.name in t?t[e.name]:t;return He(n,e.advanced?.entity)}function Zn(e,t,n){return nt(e)&&Array.isArray(n)?{...t,[V]:n}:t}function Jn(e,t,n){if(e.required&&!ae(n)&&g(e)&&e.advanced?.preselected!==!1&&V in t){let r=t[V];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function Qn(e,t){return g(e)&&Array.isArray(t)?Xe(t,e.advanced?.options):t}function gt(e,t,n,r){let o=zn(e,r),i=Array.isArray(n)?Qn(e,n):n,l=Zn(e,t,i),d=Jn(e,l,o);return{commonPropsWithOptions:l,defaultValue:d}}function yt(e,t){return c(e)?{defaultChecked:ae(t)}:{defaultValue:t}}var jn=/^#\/definition\//;function U(e=[],t){let n=$(e,t);return Array.isArray(n)?n.filter(tr).sort((r,o)=>xt(r)-xt(o)):[]}function $(e,t,n=new Map,r=new WeakSet){if(!er(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(C in e&&m(e[C])){let i=e[C].replace(jn,""),l=p(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 bt(e){return Object.entries(e??{})}function xt(e){return e.order??Number.MAX_VALUE}function er(e){return e!==void 0&&a(e)&&Object.keys(e).length>0}function tr(e){return Ye in e?!0:Array.isArray(e[te])?e[te].length>0:!0}function Rt(e,t){let n={};for(let[r,o]of bt(t))n[`${e}-${r}`]=o;return n}function nr(e){return Rt(_e,e)}function rr(e){return Rt(Ve,e)}function Tt(e,t){let n=nr(e.advanced?.aria);return t&&t.length>0&&(n[Pe]="true",n[we]=`${e.name}-error`),n}function ht(e){return rr(e.advanced?.data)}var At={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},Ft={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function St(e,t=2){return At[e&&e in At?e:t]}function Nt(e){if(e&&e in Ft)return Ft[e]}function or(e,t){let n=e.advanced?.length?.min??1;if(t){let r=p(t,e.name);if(Array.isArray(r))return Math.max(r.length,n)}return Math.max(n,0)}function Ct(e){return!Array.isArray(e.fields)||e.fields.length===0?!1:e.fields.length>1||e.fields[0].type===O}function It(e,t){let n=or(e,t);return Array.from({length:n},(r,o)=>o)}function Lt(e){return e.label??e.name}function A(e,t){return e?t?t[e]??e:e:""}function Y(e,t){return{...e,...t}}var kt=require("react/jsx-runtime");function R(e){return We(e,(t,n,r)=>(0,kt.jsx)("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${t}`))}var f=require("react/jsx-runtime");function vt(e){let{fields:t=[]}=e.section,[n,r]=(0,k.useState)(!1),o=(0,k.useCallback)(()=>r(i=>!i),[]);return(0,f.jsxs)("fieldset",{"data-slot":"field-set","data-advanced":"true","data-expanded":n,"data-empty":t.length===0,className:"flex flex-col",id:e.section.id?.toString(),children:[(0,f.jsx)("legend",{children:(0,f.jsxs)("button",{className:"flex cursor-pointer items-center gap-2 text-base font-medium text-slate-600 dark:text-slate-400",onClick:o,type:"button",children:[(0,f.jsx)(Te,{expanded:n}),(0,f.jsx)("span",{children:R(e.section.title)})]})}),(0,f.jsx)(k.Activity,{mode:n?"visible":"hidden",children:(0,f.jsxs)("div",{className:"mt-3 ml-1.5 flex flex-col gap-4 border-l-2 border-slate-300 pl-4 dark:border-slate-600","data-slot":"field-set-content",children:[e.section.description&&(0,f.jsx)("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:R(e.section.description)}),e.group]})})]})}var F=require("react/jsx-runtime");function Et(e){return(0,F.jsxs)(F.Fragment,{children:[e.title&&(0,F.jsx)("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:R(e.title)}),e.description&&(0,F.jsx)("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:R(e.description)})]})}var X=require("react/jsx-runtime");function H(e){return(0,X.jsxs)("fieldset",{"data-slot":"field-set","data-empty":e.empty,className:"flex flex-col data-[empty=false]:gap-6",id:e.id,children:[(0,X.jsx)(Et,{description:e.description,title:e.title}),e.children]})}var Ot=require("react/jsx-runtime");function S(e){return(0,Ot.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=require("react/jsx-runtime");function wt(e){let{fields:t=[]}=e.section,{compact:n}=Y(e.style,{compact:e.section.compact}),r=(0,K.jsx)(S,{compact:n,children:e.children});return!e.section.title&&!e.section.description?r:e.section.advanced?(0,K.jsx)(vt,{section:e.section,group:r}):(0,K.jsx)(H,{description:e.section.description,empty:t.length===0,id:e.section.id?.toString(),title:e.section.title,children:r})}var Vt=require("jotai");var v=require("jotai"),Pt=require("jotai-family"),ce=require("fast-equals");function ir(e,t){let{[t]:n,...r}=e;return r}function lr(e){return(0,Pt.atomFamily)(t=>(0,v.atom)(n=>n(e)[t]??void 0,(n,r,o)=>{let i=n(e);if(o!=null){let l=i[t];(!l||!(0,ce.deepEqual)(l,o))&&r(e,{...i,[t]:o})}else i[t]&&r(e,ir(i,t))}))}function ar(e){return(0,v.atom)(null,(t,n)=>{let r=t(e);r&&Object.keys(r).length>0&&n(e,{})})}function sr(e){return(0,v.atom)(null,(t,n,r)=>{let i={...t(e)},l=!1;for(let d of r)i[d]&&(delete i[d],l=!0);l&&n(e,i)})}function dr(e){return(0,v.atom)(null,(t,n,r)=>{let o=t(e);(0,ce.deepEqual)(o,r)||n(e,r)})}function Mt(e={}){let t=(0,v.atom)(e);return{atom:t,clearAll:ar(t),clear:sr(t),bulkReport:dr(t),report:lr(t)}}var Dt=Mt(),_t=Dt.atom,xo=Dt.report;function cr(e,t){return e.fields.every(n=>Bt(n,t))}function Bt(e,t){return t[e.name]?.hidden??e.hidden??!1}function ur(e,t){return L(e)?cr(e,t):Bt(e,t)}function Gt(e){let t=(0,Vt.useAtomValue)(_t);return e.container&&(t[e.container.name]?.hidden??e.container.hidden??!1)||e.fields.length===0||e.fields.every(r=>ur(r,t))?null:e.children}var ue=require("react/jsx-runtime");function $t(){return(0,ue.jsx)("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:(0,ue.jsx)("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}var y=require("react/jsx-runtime");function Ut(e){let t=U(e.sections,e.definition);return(0,y.jsx)("div",{className:"h-full w-full",children:(0,y.jsx)("form",{noValidate:e.noValidate,action:e.action,children:(0,y.jsxs)(S,{children:[t.map((n,r)=>(0,y.jsxs)(Gt,{fields:n.fields??[],children:[(0,y.jsx)(wt,{section:n,style:e.config.style,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.separator&&(0,y.jsx)($t,{})]},r)),e.control&&(0,y.jsx)(be,{isPending:e.isPending,children:e.control})]})})})}var Ht=require("react/jsx-runtime");function Yt(e){return(0,Ht.jsx)("p",{className:"-mt-2 text-xs leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}var Xt=require("react/jsx-runtime");function W(e){let t=R(e.text);return t?(0,Xt.jsx)(Yt,{children:t}):null}var Kt=require("tailwind-merge"),q=require("react/jsx-runtime");function Wt(e){let t=e.style?.showOptionalLabel??!0,n=h(e.field)||c(e.field);return(0,q.jsxs)("label",{"data-slot":"field-label","data-normal":n,className:(0,Kt.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,t&&!e.field.required&&(0,q.jsx)("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:A("(Optional)",e.translations)})]})}var P=require("react/jsx-runtime");function qt(e){let t={context:e.context,env:e.config?.env},n=le(e.field.label,t),r=le(e.field.description,t);return(0,P.jsxs)("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[(0,P.jsx)(Wt,{field:e.field,style:e.config?.style,translations:e.translations,children:A(n,e.translations)}),e.orientation===I&&(0,P.jsx)(W,{text:A(r,e.translations)})]})}var N=require("react/jsx-runtime");function zt(e){return(0,N.jsxs)(N.Fragment,{children:[e.field.name&&e.field.label&&(0,N.jsx)(qt,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations}),e.children,e.orientation===x&&e.field.description&&(0,N.jsx)(W,{text:A(e.field.description,e.translations)})]})}function Zt(e,t){return e?t(e):null}var fe=require("react/jsx-runtime");function Jt(e){let t=pt(e.field,e.value),{commonPropsWithOptions:n,defaultValue:r}=gt(e.field,e.commonProps,t,e.value),o=yt(e.field,r);return Zt(e.config.inputs[e.field.type],i=>(0,fe.jsx)(zt,{config:e.config,context:e.context,field:e.field,orientation:e.orientation,translations:e.translations,children:(0,fe.jsx)(i,{...e.ariaAttributes,...n,...e.dataAttributes,...o})}))}var me=require("react/jsx-runtime");function Qt(e){return!e.errors||e.errors.length===0?null:(0,me.jsx)("ul",{className:"text-sm text-red-600 dark:text-red-500",id:e.name?`${e.name}-error`:void 0,children:e.errors?.map((t,n)=>(0,me.jsx)("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}var jt=require("tailwind-merge"),en=require("react/jsx-runtime");function z(e){let t=e.errors&&e.errors.length>0;return(0,en.jsx)("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[Me]:"true"},...e.disabled&&{[De]:"true"},"data-orientation":e.orientation,className:(0,jt.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&&(e.isReversed?"flex-row-reverse!":"flex-row!"),"data-[clickable=true]:has-[>[data-slot=field-content]]:[&>:first-child]:mt-px",e.className),children:e.children})}var tn=require("tailwind-merge"),rn=require("react/jsx-runtime");function nn(e){return(0,rn.jsx)(z,{...e,orientation:x,className:(0,tn.twMerge)("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}var on=require("tailwind-merge"),an=require("react/jsx-runtime");function ln(e){return(0,an.jsx)(z,{...e,orientation:I,className:(0,on.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 pe=require("react/jsx-runtime");function sn(e){let t=et(e.field),n=c(e.field),r=it(e.field);return e.orientation===x?(0,pe.jsx)(nn,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children}):(0,pe.jsx)(ln,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children})}function dn(e){if(!e.field.type)return null;let t=ct(e.field,e.disabled),n=ht(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,orientation:e.orientation})}var cn=require("tailwind-merge"),E=require("react/jsx-runtime");function un(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{orientation:r}=Y(e.style,{orientation:ot(e.field)}),o=lt(e.field,e.disabled);return(0,E.jsxs)("div",{className:(0,cn.twMerge)("flex flex-col gap-3",Nt(t)),children:[(0,E.jsx)(sn,{disabled:o,errors:n,field:e.field,orientation:r,children:(0,E.jsx)(dn,{disabled:o,errors:n,field:e.field,orientation:r,children:e.children})}),(0,E.jsx)(Qt,{errors:n,name:e.field.name})]})}var fn=require("tailwind-merge");var s=require("react/jsx-runtime");function mn(e){function t(){e.canRemove&&e.onRemove&&e.onRemove(e.index)}let n=e.canRemove&&e.onRemove!=null&&(0,s.jsx)("button",{"aria-label":`Remove ${e.label} item ${e.index+1}`,className:(0,fn.twMerge)("rounded p-1 text-xl text-slate-400","transition-colors duration-150","hover:text-red-500","focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:outline-none","dark:text-slate-500 dark:hover:text-red-400"),onClick:t,type:"button",children:(0,s.jsx)("span",{"aria-hidden":"true",children:"\xD7"})});return e.isMultiField?(0,s.jsxs)("div",{className:"rounded-lg border border-slate-100 p-4 dark:border-slate-900",children:[(0,s.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:[(0,s.jsxs)("span",{className:"text-sm font-medium text-slate-400 dark:text-slate-500",children:[e.label," ",e.index+1]}),n]}),(0,s.jsx)(S,{children:e.children})]}):(0,s.jsxs)("div",{className:"flex items-start gap-2",children:[(0,s.jsx)(S,{children:e.children}),n&&(0,s.jsx)("div",{className:"shrink-0",children:n})]})}var gn=require("react/jsx-runtime");function pn(e){let t=Lt(e.field),n=Ct(e.field);return It(e.field,e.value).map(r=>(0,gn.jsx)(mn,{index:r,isMultiField:n,label:t,children:e.children(r)},r))}var xn=require("react/jsx-runtime");function yn(e){let t=Array.isArray(e.field.fields)&&e.field.fields.length===0;return(0,xn.jsx)(H,{description:e.field.description,empty:t,id:e.field.name,title:e.field.label,children:e.children})}var ge=require("react/jsx-runtime");function bn({children:e,field:t,value:n}){return(0,ge.jsx)(yn,{field:t,children:(0,ge.jsx)(pn,{field:t,value:n,children:e})})}var Rn=require("tailwind-merge"),ye=require("react/jsx-runtime");function Tn(e){let t=St(e.column?.advanced?.cols);return(0,ye.jsx)("div",{className:"flex w-full flex-col gap-4",children:(0,ye.jsx)("div",{className:(0,Rn.twMerge)("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children})})}var Fn=require("react");var An=require("react/jsx-runtime");function hn(e){let t=Array.isArray(e.field.fields)?e.field.fields.map(n=>B(n)?{...n,name:`${e.field.name}.${e.index}.${n.name}`}:L(n)?{...n,fields:n.fields.map(r=>({...r,name:`${e.field.name}.${e.index}.${r.name}`}))}:n):[];return(0,An.jsx)(M,{children:e.children,components:e.components,disabled:e.disabled,fields:t,style:e.style,value:e.value})}var T=require("react/jsx-runtime");function M(e){let{field:t,list:n}=e.components;return U(e.fields).map((r,o)=>(0,T.jsxs)(Fn.Fragment,{children:[L(r)&&(0,T.jsx)(Tn,{column:r,children:(0,T.jsx)(M,{...e,fields:r.fields})}),B(r)&&(0,T.jsx)(t,{disabled:e.disabled,field:r,style:e.style,children:e.children}),tt(r)&&(0,T.jsx)(n,{field:r,value:e.value,children:i=>(0,T.jsx)(hn,{children:e.children,components:e.components,disabled:e.disabled,field:r,index:i,style:e.style,value:e.value})})]},o))}var Nn=require("react/jsx-runtime");function Sn(e){return n=>(0,Nn.jsx)(M,{...n,components:e})}var Cn=Sn({field:un,list:bn});var Z=require("react/jsx-runtime");function J(e){let t=e.translations?.[e.lang??""];return(0,Z.jsx)(Ut,{config:e.config,control:e.children,definition:e.definition,readOnly:e.readOnly,sections:e.sections,children:({disabled:n,fields:r})=>(0,Z.jsx)(Cn,{disabled:n,fields:r,style:e.config.style,children:o=>(0,Z.jsx)(Jt,{...o,config:e.config,context:e.context,translations:t,value:e.value})})})}var In=require("react");var xe=require("react/jsx-runtime");function Ln(e){return(0,xe.jsx)(In.Suspense,{fallback:(0,xe.jsx)(J,{config:e.config,sections:e.sections,readOnly:!0}),children:e.children})}
|
|
1
|
+
"use strict";var J=Object.defineProperty;var Ln=Object.getOwnPropertyDescriptor;var En=Object.getOwnPropertyNames;var wn=Object.prototype.hasOwnProperty;var Pn=(e,t)=>{for(var n in t)J(e,n,{get:t[n],enumerable:!0})},On=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of En(t))!wn.call(e,o)&&o!==n&&J(e,o,{get:()=>t[o],enumerable:!(r=Ln(t,o))||r.enumerable});return e};var Mn=e=>On(J({},"__esModule",{value:!0}),e);var ur={};Pn(ur,{Fallback:()=>In,Form:()=>Z});module.exports=Mn(ur);var be=require("react/jsx-runtime");function xe(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return(0,be.jsx)("div",{"data-slot":"field-control",className:"w-full",children:t})}var I=require("react");var Q=require("react/jsx-runtime");function Re(e){return(0,Q.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:`size-4 transition-transform duration-200 ${e.expanded?"rotate-90":""}`,children:(0,Q.jsx)("path",{fillRule:"evenodd",d:"M8.22 5.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L11.94 10 8.22 6.28a.75.75 0 0 1 0-1.06Z",clipRule:"evenodd"})})}var M="input",he="input/email",Te="input/number";var Ae="textarea",Fe="radio",Se="checkbox",j="list";var Ne="select",Ce="select/month",Ie="select/year";var L="column",ve="description",ee="fields",ke="label",te="value",D="options",ne="email",Le="number",Ee="password",we="tel",E="text",Pe="aria-errormessage",Oe="aria-invalid",Me="data-invalid",De="data-readonly",_e="aria",Ve="data",Be="min",Ge="max",$e="minLength",ze="maxLength",S="$ref";var Ue="type";function a(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function g(e){return p(e)||typeof e=="number"||Dn(e)}function p(e){return typeof e=="string"}function Dn(e){return typeof e=="boolean"}function Ye(e,t=te){if(e!=null){if(g(e))return e;if(a(e)){let n=_n(e,t);if(g(n))return n}}}function _n(e,t){let n=c(e,t);if(g(n))return n}function c(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 Xe(e,t={description:ve,label:ke,value:te}){return e.map(n=>{if(a(n)){let r=c(n,t.label),o=c(n,t.value);if(g(r)&&g(o)){let i=c(n,t.description);return{label:`${r}`,value:`${o}`,...g(i)&&{description:`${i}`}}}}return n})}function He(e=E){if(e){let t=e.lastIndexOf("/"),n=t===-1?e:e.slice(t+1);if(n&&n!==M)return n.trim().toLowerCase()}return E}var Vn=/\[([^\]]{1,500})\]\(([^)]{1,2000})\)/g;function re(e,t={}){if(p(e))return Bn(e,t);if(Array.isArray(e))return e.map(n=>re(n,t));if(a(e)){let n={};for(let r in e)n[r]=re(e[r],t);return n}return e}function _(e,t={}){return oe(e)?re(e,t):e}function oe(e){return p(e)?/{([^}]{1,200})}/.test(e):Array.isArray(e)?e.some(t=>oe(t)):a(e)?Object.values(e).some(t=>oe(t)):!1}function Bn(e,t={}){return e.replace(/{([^}]{1,200})}/g,(n,r)=>{let o=r.includes(".")?c(t,r):t[r];return g(o)?String(o):n})}function Ke(e,t){if(!p(e)||!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=Vn.exec(e))!==null;){let[l,d,vn]=n,O=n.index;o=!0,O>r&&i.push(e.substring(r,O));let kn=t?t(O,vn,d):l;i.push(kn),r=O+l.length}return o?(r<e.length&&i.push(e.substring(r)),i):e}var We=e=>f(Ce)(e),qe=e=>f(Ie)(e),u=f(Se),Ze=f(M),h=f(Fe),x=f(Ne),Je=f(Ae),Qe=f(E,ne,Ee,we),Nr=f(he,ne),je=f(Te,Le);function et(e){return h(e)||u(e)}function tt(e){return e.type===j}function N(e){return e.type===L}function V(e){return e.type!==L&&e.type!==j}function ie(e){return x(e)||h(e)}function le(e){return e!=null&&e!==""}function f(...e){return t=>{let n=p(t.type)?t.type:void 0;return n?e.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function nt(e,t={}){if(x(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&a(n))return[n]}}function rt(e){return h(e)||u(e)?!0:e.advanced?.horizontal??!1}function ot(e){return u(e)?e.advanced?.reverse!==!1:!1}function it(e,t){let n=e.readonly??!1;return t||n}function lt(e){if(h(e)||x(e)&&!e.disabled){let t=e.source;if(Array.isArray(t)||a(t)&&!(S in t))return t}}var Gn=/^\d+$/;function at(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function st(e,t){return t>=e?Array.from({length:t-e+1},(n,r)=>{let o=e+r;return{value:o.toString(),label:o.toString()}}):[]}function ae(){return new Date().getFullYear()}function se(e,t){if(typeof e=="number")return e;let n=t??ae(),r=e.trim().toLowerCase();if(r.startsWith("current")){let o=r.match(/^current([+-])(\d+)$/);if(o){let[,i,l]=o,d=parseInt(l,10);if(!isNaN(d))return i==="+"?n+d:n-d}return n}return Gn.test(r)?parseInt(r,10):n}var B=ae();function $n(e){if(x(e))return zn(e)}function zn(e){if(We(e))return at();if(qe(e)){let t=e.advanced?.length?.min??B,n=e.advanced?.length?.max??B+5;return st(se(t,B),se(n,B))}}function dt(e,t=!1){let n={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return Ze(e)?{...n,...Un(e)}:x(e)?{...n,...Yn(e)}:Je(e)?{...n,...Xn(e)}:n}function Un(e){let t=He(e.type),n={...e,type:t};return{...ct(e),...Hn(n),...Qe(n)?ut(n):{},type:t}}function Yn(e){let t=$n(e);return t?{options:t}:{}}function Xn(e){return{...ct(e),...ut(e)}}function ct(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function Hn(e){return je(e)?Kn(e):{}}function ut(e){return ft(e,{min:$e,max:ze})}function Kn(e){return ft(e,{min:Be,max:Ge})}function ft(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=lt(e);return n||nt(e,t)}function Wn(e,t){let n=a(t)&&e.name in t?t[e.name]:t;return Ye(n,e.advanced?.entity)}function qn(e,t,n){return ie(e)&&Array.isArray(n)?{...t,[D]:n}:t}function Zn(e,t,n){if(e.required&&!le(n)&&x(e)&&e.advanced?.preselected!==!1&&D in t){let r=t[D];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function Jn(e,t){return ie(e)&&Array.isArray(t)?Xe(t,e.advanced?.options):t}function gt(e,t,n,r){let o=Wn(e,r),i=Array.isArray(n)?Jn(e,n):n,l=qn(e,t,i),d=Zn(e,l,o);return{commonPropsWithOptions:l,defaultValue:d}}function pt(e,t){return u(e)?{defaultChecked:le(t)}:{defaultValue:t}}var Qn=/^#\/definition\//;function $(e=[],t){let n=G(e,t);return Array.isArray(n)?n.filter(er).sort((r,o)=>yt(r)-yt(o)):[]}function G(e,t,n=new Map,r=new WeakSet){if(!jn(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=>G(i,t,n,r));if(S in e&&p(e[S])){let i=e[S].replace(Qn,""),l=c(t,i);return l!==null?G(l,t,n,r):e}let o={};for(let[i,l]of Object.entries(e))o[i]=G(l,t,n,r);return r.delete(e),n.set(e,o),o}function xt(e){return Object.entries(e??{})}function yt(e){return e.order??Number.MAX_VALUE}function jn(e){return e!==void 0&&a(e)&&Object.keys(e).length>0}function er(e){return Ue in e?!0:Array.isArray(e[ee])?e[ee].length>0:!0}function bt(e,t){let n={};for(let[r,o]of xt(t))n[`${e}-${r}`]=o;return n}function tr(e){return bt(_e,e)}function nr(e){return bt(Ve,e)}function Rt(e,t){let n=tr(e.advanced?.aria);return t&&t.length>0&&(n[Oe]="true",n[Pe]=`${e.name}-error`),n}function ht(e){return nr(e.advanced?.data)}var Tt={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},At={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function Ft(e,t=2){return Tt[e&&e in Tt?e:t]}function St(e){if(e&&e in At)return At[e]}function rr(e,t){let n=e.advanced?.length?.min??1;if(t){let r=c(t,e.name);if(Array.isArray(r))return Math.max(r.length,n)}return Math.max(n,0)}function Nt(e){return!Array.isArray(e.fields)||e.fields.length===0?!1:e.fields.length>1||e.fields[0].type===L}function Ct(e,t){let n=rr(e,t);return Array.from({length:n},(r,o)=>o)}function It(e){return e.label??e.name}function C(e,t){return e?t?t[e]??e:e:""}function z(e,t){return{...e,...t}}var vt=require("react/jsx-runtime");function b(e){return Ke(e,(t,n,r)=>(0,vt.jsx)("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${t}`))}var m=require("react/jsx-runtime");function kt(e){let{fields:t=[]}=e.section,[n,r]=(0,I.useState)(!1),o=(0,I.useCallback)(()=>r(i=>!i),[]);return(0,m.jsxs)("fieldset",{"data-slot":"field-set","data-advanced":"true","data-expanded":n,"data-empty":t.length===0,className:"flex flex-col",id:e.section.id?.toString(),children:[(0,m.jsx)("legend",{children:(0,m.jsxs)("button",{className:"flex cursor-pointer items-center gap-2 text-base font-medium text-slate-600 dark:text-slate-400",onClick:o,type:"button",children:[(0,m.jsx)(Re,{expanded:n}),(0,m.jsx)("span",{children:b(e.section.title)})]})}),(0,m.jsx)(I.Activity,{mode:n?"visible":"hidden",children:(0,m.jsxs)("div",{className:"mt-3 ml-1.5 flex flex-col gap-4 border-l-2 border-slate-300 pl-4 dark:border-slate-600","data-slot":"field-set-content",children:[e.section.description&&(0,m.jsx)("p",{className:"text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:b(e.section.description)}),e.group]})})]})}var T=require("react/jsx-runtime");function Lt(e){return(0,T.jsxs)(T.Fragment,{children:[e.title&&(0,T.jsx)("legend",{className:"mb-3 font-medium text-slate-800 dark:text-slate-200",children:b(e.title)}),e.description&&(0,T.jsx)("p",{className:"-mt-2 text-sm leading-normal font-normal text-slate-600 dark:text-slate-400",children:b(e.description)})]})}var Y=require("react/jsx-runtime");function U(e){return(0,Y.jsxs)("fieldset",{"data-slot":"field-set","data-empty":e.empty,className:"flex flex-col data-[empty=false]:gap-6",id:e.id,children:[(0,Y.jsx)(Lt,{description:e.description,title:e.title}),e.children]})}var Et=require("react/jsx-runtime");function A(e){return(0,Et.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 X=require("react/jsx-runtime");function wt(e){let{fields:t=[]}=e.section,{compact:n}=z(e.style,{compact:e.section.compact}),r=(0,X.jsx)(A,{compact:n,children:e.children});return!e.section.title&&!e.section.description?r:e.section.advanced?(0,X.jsx)(kt,{section:e.section,group:r}):(0,X.jsx)(U,{description:e.section.description,empty:t.length===0,id:e.section.id?.toString(),title:e.section.title,children:r})}var _t=require("jotai");var v=require("jotai"),Pt=require("jotai-family"),de=require("fast-equals");function or(e,t){let{[t]:n,...r}=e;return r}function ir(e){return(0,Pt.atomFamily)(t=>(0,v.atom)(n=>n(e)[t]??void 0,(n,r,o)=>{let i=n(e);if(o!=null){let l=i[t];(!l||!(0,de.deepEqual)(l,o))&&r(e,{...i,[t]:o})}else i[t]&&r(e,or(i,t))}))}function lr(e){return(0,v.atom)(null,(t,n)=>{let r=t(e);r&&Object.keys(r).length>0&&n(e,{})})}function ar(e){return(0,v.atom)(null,(t,n,r)=>{let i={...t(e)},l=!1;for(let d of r)i[d]&&(delete i[d],l=!0);l&&n(e,i)})}function sr(e){return(0,v.atom)(null,(t,n,r)=>{let o=t(e);(0,de.deepEqual)(o,r)||n(e,r)})}function Ot(e={}){let t=(0,v.atom)(e);return{atom:t,clearAll:lr(t),clear:ar(t),bulkReport:sr(t),report:ir(t)}}var Mt=Ot(),Dt=Mt.atom,yo=Mt.report;function dr(e,t){return e.fields.every(n=>Vt(n,t))}function Vt(e,t){return t[e.name]?.hidden??e.hidden??!1}function cr(e,t){return N(e)?dr(e,t):Vt(e,t)}function Bt(e){let t=(0,_t.useAtomValue)(Dt);return e.container&&(t[e.container.name]?.hidden??e.container.hidden??!1)||e.fields.length===0||e.fields.every(r=>cr(r,t))?null:e.children}var ce=require("react/jsx-runtime");function Gt(){return(0,ce.jsx)("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:(0,ce.jsx)("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-slate-200 dark:bg-slate-800"})})}var y=require("react/jsx-runtime");function $t(e){let t=$(e.sections,e.definition);return(0,y.jsx)("div",{className:"h-full w-full",children:(0,y.jsx)("form",{noValidate:e.noValidate,action:e.action,children:(0,y.jsxs)(A,{children:[t.map((n,r)=>(0,y.jsxs)(Bt,{fields:n.fields??[],children:[(0,y.jsx)(wt,{section:n,style:e.config.style,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.separator&&(0,y.jsx)(Gt,{})]},r)),e.control&&(0,y.jsx)(xe,{isPending:e.isPending,children:e.control})]})})})}var Ut=require("react/jsx-runtime");function zt(e){return(0,Ut.jsx)("p",{className:"-mt-2 text-xs leading-normal font-normal text-slate-600 dark:text-slate-400",children:e.children})}var Yt=require("react/jsx-runtime");function H(e){let t={context:e.context,env:e.config?.env},n=C(_(e.text,t),e.translations),r=b(n);return r?(0,Yt.jsx)(zt,{children:r}):null}var Xt=require("tailwind-merge"),K=require("react/jsx-runtime");function Ht(e){let t=e.style?.showOptionalLabel??!0,n=h(e.field)||u(e.field);return(0,K.jsxs)("label",{"data-slot":"field-label","data-normal":n,className:(0,Xt.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,t&&!e.field.required&&(0,K.jsx)("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:C("(Optional)",e.translations)})]})}var w=require("react/jsx-runtime");function Kt(e){let t={context:e.context,env:e.config?.env},n=_(e.field.label,t);return(0,w.jsxs)("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[(0,w.jsx)(Ht,{field:e.field,style:e.config?.style,translations:e.translations,children:C(n,e.translations)}),e.horizontal===!0&&(0,w.jsx)(H,{config:e.config,context:e.context,text:e.field.description,translations:e.translations})]})}var F=require("react/jsx-runtime");function Wt(e){return(0,F.jsxs)(F.Fragment,{children:[e.field.name&&e.field.label&&(0,F.jsx)(Kt,{config:e.config,context:e.context,field:e.field,horizontal:e.horizontal,translations:e.translations}),e.children,e.horizontal===!1&&(0,F.jsx)(H,{config:e.config,context:e.context,text:e.field.description,translations:e.translations})]})}function qt(e,t){return e?t(e):null}var ue=require("react/jsx-runtime");function Zt(e){let t=mt(e.field,e.value),{commonPropsWithOptions:n,defaultValue:r}=gt(e.field,e.commonProps,t,e.value),o=pt(e.field,r);return qt(e.config.inputs[e.field.type],i=>(0,ue.jsx)(Wt,{config:e.config,context:e.context,field:e.field,horizontal:e.horizontal,translations:e.translations,children:(0,ue.jsx)(i,{...e.ariaAttributes,...n,...e.dataAttributes,...o})}))}var fe=require("react/jsx-runtime");function Jt(e){return!e.errors||e.errors.length===0?null:(0,fe.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,fe.jsx)("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}var Qt=require("tailwind-merge"),jt=require("react/jsx-runtime");function W(e){let t=e.errors&&e.errors.length>0;return(0,jt.jsx)("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[Me]:"true"},...e.disabled&&{[De]:"true"},"data-orientation":e.orientation,className:(0,Qt.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&&(e.isReversed?"flex-row-reverse!":"flex-row!"),"data-[clickable=true]:has-[>[data-slot=field-content]]:[&>:first-child]:mt-px",e.className),children:e.children})}var en=require("tailwind-merge"),nn=require("react/jsx-runtime");function tn(e){return(0,nn.jsx)(W,{...e,orientation:"vertical",className:(0,en.twMerge)("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}var rn=require("tailwind-merge"),ln=require("react/jsx-runtime");function on(e){return(0,ln.jsx)(W,{...e,orientation:"horizontal",className:(0,rn.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 me=require("react/jsx-runtime");function an(e){let t=et(e.field),n=u(e.field),r=ot(e.field);return e.horizontal?(0,me.jsx)(on,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children}):(0,me.jsx)(tn,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children})}function sn(e){if(!e.field.type)return null;let t=dt(e.field,e.disabled),n=ht(e.field),r=Rt(e.field,e.errors),o={...e.field,disabled:t.disabled};return e.children({ariaAttributes:r,commonProps:t,dataAttributes:n,field:o,horizontal:e.horizontal})}var dn=require("tailwind-merge"),k=require("react/jsx-runtime");function cn(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{horizontal:r}=z(e.style,{horizontal:rt(e.field)}),o=it(e.field,e.disabled);return(0,k.jsxs)("div",{className:(0,dn.twMerge)("flex flex-col gap-3",St(t)),children:[(0,k.jsx)(an,{disabled:o,errors:n,field:e.field,horizontal:r,children:(0,k.jsx)(sn,{disabled:o,errors:n,field:e.field,horizontal:r,children:e.children})}),(0,k.jsx)(Jt,{errors:n,name:e.field.name})]})}var un=require("tailwind-merge");var s=require("react/jsx-runtime");function fn(e){function t(){e.canRemove&&e.onRemove&&e.onRemove(e.index)}let n=e.canRemove&&e.onRemove!=null&&(0,s.jsx)("button",{"aria-label":`Remove ${e.label} item ${e.index+1}`,className:(0,un.twMerge)("rounded p-1 text-xl text-slate-400","transition-colors duration-150","hover:text-red-500","focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:outline-none","dark:text-slate-500 dark:hover:text-red-400"),onClick:t,type:"button",children:(0,s.jsx)("span",{"aria-hidden":"true",children:"\xD7"})});return e.isMultiField?(0,s.jsxs)("div",{className:"rounded-lg border border-slate-100 p-4 dark:border-slate-900",children:[(0,s.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:[(0,s.jsxs)("span",{className:"text-sm font-medium text-slate-400 dark:text-slate-500",children:[e.label," ",e.index+1]}),n]}),(0,s.jsx)(A,{children:e.children})]}):(0,s.jsxs)("div",{className:"flex items-start gap-2",children:[(0,s.jsx)(A,{children:e.children}),n&&(0,s.jsx)("div",{className:"shrink-0",children:n})]})}var gn=require("react/jsx-runtime");function mn(e){let t=It(e.field),n=Nt(e.field);return Ct(e.field,e.value).map(r=>(0,gn.jsx)(fn,{index:r,isMultiField:n,label:t,children:e.children(r)},r))}var yn=require("react/jsx-runtime");function pn(e){let t=Array.isArray(e.field.fields)&&e.field.fields.length===0;return(0,yn.jsx)(U,{description:e.field.description,empty:t,id:e.field.name,title:e.field.label,children:e.children})}var ge=require("react/jsx-runtime");function xn({children:e,field:t,value:n}){return(0,ge.jsx)(pn,{field:t,children:(0,ge.jsx)(mn,{field:t,value:n,children:e})})}var bn=require("tailwind-merge"),pe=require("react/jsx-runtime");function Rn(e){let t=Ft(e.column?.advanced?.cols);return(0,pe.jsx)("div",{className:"flex w-full flex-col gap-4",children:(0,pe.jsx)("div",{className:(0,bn.twMerge)("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children})})}var An=require("react");var Tn=require("react/jsx-runtime");function hn(e){let t=Array.isArray(e.field.fields)?e.field.fields.map(n=>V(n)?{...n,name:`${e.field.name}.${e.index}.${n.name}`}:N(n)?{...n,fields:n.fields.map(r=>({...r,name:`${e.field.name}.${e.index}.${r.name}`}))}:n):[];return(0,Tn.jsx)(P,{children:e.children,components:e.components,disabled:e.disabled,fields:t,style:e.style,value:e.value})}var R=require("react/jsx-runtime");function P(e){let{field:t,list:n}=e.components;return $(e.fields).map((r,o)=>(0,R.jsxs)(An.Fragment,{children:[N(r)&&(0,R.jsx)(Rn,{column:r,children:(0,R.jsx)(P,{...e,fields:r.fields})}),V(r)&&(0,R.jsx)(t,{disabled:e.disabled,field:r,style:e.style,children:e.children}),tt(r)&&(0,R.jsx)(n,{field:r,value:e.value,children:i=>(0,R.jsx)(hn,{children:e.children,components:e.components,disabled:e.disabled,field:r,index:i,style:e.style,value:e.value})})]},o))}var Sn=require("react/jsx-runtime");function Fn(e){return n=>(0,Sn.jsx)(P,{...n,components:e})}var Nn=Fn({field:cn,list:xn});var q=require("react/jsx-runtime");function Z(e){let t=e.translations?.[e.lang??""];return(0,q.jsx)($t,{config:e.config,control:e.children,definition:e.definition,readOnly:e.readOnly,sections:e.sections,children:({disabled:n,fields:r})=>(0,q.jsx)(Nn,{disabled:n,fields:r,style:e.config.style,children:o=>(0,q.jsx)(Zt,{...o,config:e.config,context:e.context,translations:t,value:e.value})})})}var Cn=require("react");var ye=require("react/jsx-runtime");function In(e){return(0,ye.jsx)(Cn.Suspense,{fallback:(0,ye.jsx)(Z,{config:e.config,sections:e.sections,readOnly:!0}),children:e.children})}
|