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