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