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