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