react-luna-form 0.0.77 → 0.0.79
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/schema/cjs/index.js +1 -1
- package/dist/schema/esm/index.js +1 -1
- package/dist/server/cjs/index.js +1 -1
- package/dist/server/esm/index.js +1 -1
- package/dist/types/luna-core/type.d.ts +22 -0
- package/dist/types/luna-core/util/string.d.ts +27 -0
- package/dist/types/luna-core/util/translate.d.ts +1 -1
- package/dist/types/luna-react/src/client/index.d.ts +1 -0
- package/dist/types/luna-react/src/client/lib/list-store.d.ts +8 -0
- package/dist/types/luna-react/src/client/lib/resolve-value.d.ts +5 -0
- package/dist/types/luna-react/src/client/lib/with-declared-fields.d.ts +25 -0
- package/package.json +3 -3
package/dist/client/esm/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as fa}from"react/jsx-runtime";function kn(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return fa("div",{"data-slot":"field-control",className:"w-full",children:t})}import{jsx as Nn}from"react/jsx-runtime";function Re(e){return Nn("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:Nn("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"})})}import{Activity as ga}from"react";import{createContext as ma}from"react";var Xe=ma(!1);import{jsx as In}from"react/jsx-runtime";function Ie({children:e,visible:t}){return In(ga,{mode:t?"visible":"hidden",children:In(Xe,{value:!0,children:e})})}var je="input",En="input/date",Pn="input/email",Ln="input/number";var Vn="input/time";var Dn="textarea",On="radio",Mn="checkbox",Zt="list";var zn="select",_n="select/active",$n="select/day",Bn="select/month",Un="select/timezone",Gn="select/year";var Hn="chips",Yn="chips/day",Zn="chips/month",Ee="column",qn="description",qt="fields",Wn="label",H="value",Je="options",Wt="email",Kn="number",Xn="password",jn="tel",Pe="text",Jn="aria-errormessage",Qn="aria-invalid",er="data-invalid",tr="data-readonly",nr="aria",rr="data",Qe="max",or="maxLength",et="min",ir="minLength",Te="$ref";var ar="source",sr="state",tt="http://luna.internal";var lr="type",ur={Africa:"Africa",America:"Americas",Asia:"Asia / Pacific",Atlantic:"Atlantic",Australia:"Asia / Pacific",Europe:"Europe",Indian:"Asia / Pacific",Pacific:"Asia / Pacific"};import{format as pa,formatDistanceToNow as dr,formatDuration as ya,intervalToDuration as ba,isValid as nt,parseISO as xa}from"date-fns";import{enUS as fr,es as Xt}from"date-fns/locale";function f(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function z(e){return e==null||e===""}function K(e){return p(e)||typeof e=="number"||Kt(e)}function p(e){return typeof e=="string"}function cr(e){return f(e)&&"url"in e}function Kt(e){return typeof e=="boolean"}var mr={en:fr,"en-US":fr,es:Xt,"es-ES":Xt,"es-MX":Xt},ha={short:"M/d/yy",medium:"MMM d, yyyy",long:"MMMM d, yyyy",full:"EEEE, MMMM d, yyyy"},Sa={ms:1,s:1e3,min:6e4,h:36e5,d:864e5};function gr(e){if(e)return mr[e]??mr[e.split("-")[0]]}function rt(e){if(typeof e=="number"&&!Number.isNaN(e))return e;if(p(e)&&e.trim()!==""){let t=Number(e);return Number.isNaN(t)?null:t}return null}function pr(e,t,n){let r=Sa[t];if(r===void 0)return String(e);let o=e*r,i=ba({start:0,end:o});return ya(i,{locale:n})}function yr(e){if(e instanceof Date)return nt(e)?e:null;if(p(e)){let t=xa(e);if(nt(t))return t;let n=new Date(e);return nt(n)?n:null}if(typeof e=="number"){let t=new Date(e);return nt(t)?t:null}return null}var va={currency:(e,t,n)=>{let r=rt(e);if(r===null)return String(e);let o=t[0]??"USD";return new Intl.NumberFormat(n.locale,{style:"currency",currency:o}).format(r)},percent:(e,t,n)=>{let r=rt(e);return r===null?String(e):new Intl.NumberFormat(n.locale,{style:"percent"}).format(r)},number:(e,t,n)=>{let r=rt(e);return r===null?String(e):new Intl.NumberFormat(n.locale).format(r)},date:(e,t,n)=>{let r=yr(e);if(!r)return String(e);let o=t[0]??"short",i=gr(n.locale);if(o==="relative")return dr(r,{addSuffix:!0,locale:i});let a=ha[o]??o;return pa(r,a,{locale:i})},duration:(e,t,n)=>{let r=gr(n.locale);if(typeof e=="number")return pr(e,t[0]??"ms",r);if(p(e)){let i=rt(e);if(i!==null)return pr(i,t[0]??"ms",r)}let o=yr(e);return o?dr(o,{addSuffix:!0,locale:r}):String(e)}};function br(e,t,n){let r=t.split(":").map(s=>s.trim()).filter(s=>s.length>0);if(r.length===0)return;let[o,...i]=r,a=va[o];if(a)return a(e,i,n)}var Ra=/^\d+$/;function Jt(e,t=[],n=H){return Array.isArray(t)?t.find(r=>{let o=Qt(r,n);if(o!==void 0&&`${o}`===e)return r})??{value:e}:{value:e}}function Qt(e,t=H){if(e!=null){if(Array.isArray(e)&&e.every(K)||K(e))return e;if(f(e)){let n=Ta(e,t);if(K(n))return n}}}function Ta(e,t){let n=D(e,t);if(K(n))return n}function xr(e,t){if(Array.isArray(e))return e;let n=D(e,t);return Array.isArray(n)?n:null}function D(e,t){if(!t||!f(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(f(r)&&o in r)r=r[o];else if(Array.isArray(r)){let i=Number(o);if(!Number.isInteger(i)||i<0||i>=r.length)return null;r=r[i]}else return null;return r}function en(e,t={description:qn,label:Wn,value:H}){return e.map(n=>{if(f(n)){let r=D(n,t.label),o=D(n,t.value);if(K(r)&&K(o)){let i=D(n,t.description);return{label:`${r}`,value:`${o}`,...K(i)&&{description:`${i}`}}}}return n})}function hr(e=Pe){let t=e.lastIndexOf("/"),n=t===-1?e:e.slice(t+1);return n&&n!==je?n.trim().toLowerCase():Pe}function Sr(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 vr(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 s=r[a],l=r[a+1],u=Ra.test(l);s in o||(o[s]=u?[]:{}),o=o[s]}let i=r[r.length-1];o[i]=e[n]}return jt(t),t}function jt(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)f(o)&&jt(o);e[t]=r}else f(n)&&jt(n)}}var Aa=/\[([^\]]{1,500})\]\(([^)]{1,2000})\)/g;function X(e,t={},n={}){if(p(e))return Ca(e,t,n);if(Array.isArray(e))return e.map(r=>X(r,t,n));if(f(e)){let r={};for(let o in e)r[o]=X(e[o],t,n);return r}return e}function Le(e,t={},n={}){return be(e)?X(e,t,n):e}function be(e){return p(e)?/{([^}]{1,200})}/.test(e):Array.isArray(e)?e.some(t=>be(t)):f(e)?Object.values(e).some(t=>be(t)):!1}function Ca(e,t={},n={}){return e.replace(/{([^}]{1,200})}/g,(r,o)=>{let i=String(o).split("|").map(c=>c.trim()),[a,...s]=i;if(!a)return r;let l=a.includes(".")?D(t,a):t[a];if(s.length===0)return K(l)?String(l):r;if(l==null)return r;let u=l;for(let c of s){let m=br(u,c,{locale:n.locale});if(m===void 0)return r;u=m}return String(u)})}function Rr(e,t){if(!p(e)||!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=Aa.exec(e))!==null;){let[a,s,l]=n,u=n.index;o=!0,u>r&&i.push(e.substring(r,u));let c=t?t(u,l,s):a;i.push(c),r=u+a.length}return o?(r<e.length&&i.push(e.substring(r)),i):e}var Ve={error:(...e)=>{tn()&&!nn()&&ot().error("[Luna Form]",...e)},warn:(...e)=>{tn()&&!nn()&&ot().warn("[Luna Form]",...e)},info:(...e)=>{tn()&&!nn()&&ot().info("[Luna Form]",...e)}},tn=()=>typeof ot()<"u",nn=()=>!0,ot=()=>globalThis.console;function Tr(e=[],t){let n=[],r=[],o=[];for(let i of e)i.action===H&&n.push(i),i.action===ar&&r.push(i),i.action===sr&&o.push(i);t({sources:r,states:o,values:n})}function Ar(e=null,t=[],n){for(let r of t){let{target:o,source:i}=r;if(!e){n(o,void 0);continue}if(cr(i)){let a=X(i.url,e),s=i.body?X(i.body,e):i.body;n(o,{...i,url:a,body:s})}}}var xe={eq:Ia,gt:Va,gte:Da,in:Pa,lt:Oa,lte:Ma,neq:Ea,nin:La,contains:za,exists:wr,empty:_a,truthy:$a},wa=/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2})?/,Cr=/^(\d{2})[/-](\d{2})[/-](\d{4})(?: (\d{2}):(\d{2})(?::(\d{2}))?)?$/;function Fa(e){return typeof e=="string"&&wa.test(e)}function ka(e){return typeof e=="string"&&Cr.test(e)}function Na(e){let t=e.match(Cr);if(t){let[,n,r,o,i,a,s]=t;return new Date(Number(o),Number(r)-1,Number(n),Number(i??0),Number(a??0),Number(s??0)).getTime()}return NaN}function se(e){return Fa(e)?new Date(e).getTime():ka(e)?Na(e):Number(e)}function Ia(e,t){return e===t}function Ea(e,t){return e!==t}function Pa(e,t){return Array.isArray(t)&&t.includes(String(e))}function La(e,t){return Array.isArray(t)&&!t.includes(String(e))}function Va(e,t){return se(e)>se(t)}function Da(e,t){return se(e)>=se(t)}function Oa(e,t){return se(e)<se(t)}function Ma(e,t){return se(e)<=se(t)}function za(e,t){return typeof e=="string"?e.includes(String(t)):Array.isArray(e)?e.map(String).includes(String(t)):!1}function wr(e){return Array.isArray(e)?e.length>0:e!=null&&e!==""}function _a(e){return!wr(e)}function $a(e){return Array.isArray(e)?e.length>0:!!e}function Ae(e,t){if(t===void 0)return!0;if(p(t)){let n=it(e,H);return Array.isArray(n)?n.length===1&&n[0]===t:n===t}if(Kt(t)){let n=it(e,H);return(Array.isArray(n)?n.length>0:!!n)===t}if(Array.isArray(t)){let n=it(e,H);return Array.isArray(n)?n.some(r=>t.includes(String(r))):t.includes(String(n))}return Ba(e,t)}function Ba(e=null,t){let n=it(e,t.field??H),{operator:r="eq",value:o}=t,i=xe[r];return i?i(n,o):!1}function it(e,t){return f(e)?D(e,t):e}function Fr(e=null,t=[],n){for(let r of t){let{target:o,state:i,when:a}=r,s=Array.isArray(o)?o:[o];if(!e){n(s);continue}let l=Ae(e,a);n(s,l?i:void 0)}}function kr(e=null,t=[],n){for(let r of t)for(let[o,i]of Object.entries(r.value))n(o,e?X(i,e):void 0,{onlyIfTargetEmpty:r.onlyIfTargetEmpty??!1})}var De=e=>k(_n)(e),Nr=e=>k($n)(e),at=e=>k(Bn)(e),st=e=>k(Gn)(e),Ir=e=>k(Un)(e),lt=e=>k(Yn)(e),ut=e=>k(Zn)(e),Y=k(En),re=k(Vn),B=k(Mn),j=k(Hn),oe=k(On),le=k(je),J=k(zn),rn=k(Dn),Er=k(Pe,Wt,Xn,jn),Pr=k(Pn,Wt),ct=k(Ln,Kn);function dt(e){return oe(e)||B(e)}function Oe(e){return e.type===Zt}function Z(e){return e.type===Ee}function ft(e){return e.type!==Ee&&e.type!==Zt}function Ce(e){return J(e)||oe(e)||j(e)}function Lr(e){return le(e)||rn(e)}function R(e){return e!=null&&e!==""}function k(...e){return t=>{let n=p(t.type)?t.type:void 0;return n?e.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function Vr(e,t={}){if(J(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&f(n))return[n]}}function Dr(e){return oe(e)||B(e)?!0:e.advanced?.horizontal??!1}function Or(e){return B(e)?e.advanced?.reverse!==!1:!1}function Mr(e,t){let n=e.readonly??!1;return t||n}function mt(e){if(Ua(e)){let t=e.source;if(Array.isArray(t)||f(t)&&!(Te in t))return t}}function zr(e){return Array.isArray(mt(e))}function Ua(e){return oe(e)||j(e)||J(e)&&!e.disabled}import{isValid as gt,parse as pt,format as yt}from"date-fns";var Ga=/^\d+$/,bt=new Date(2e3,0,1),Ha=()=>"supportedValuesOf"in Intl?Intl.supportedValuesOf("timeZone"):[],on="default";function Br(e){if(!e)return on;try{return Intl.getCanonicalLocales(e)[0]??on}catch{return on}}function an(e){let t=Br(e);return Array.from({length:12},(n,r)=>({value:(r+1).toString(),label:new Date(0,r).toLocaleString(t,{month:"long"})}))}function sn(e){let t=Br(e);return Array.from({length:7},(n,r)=>({value:r.toString(),label:new Date(2e3,0,2+r).toLocaleString(t,{weekday:"long"})}))}function Ur(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 ln(){return new Date().getFullYear()}function Ya(){return Intl.DateTimeFormat().resolvedOptions().timeZone}function Za(e){let t=e.indexOf("/"),n=t===-1?e:e.slice(0,t);return ur[n]??"Other"}function qa(e,t){return(e.find(r=>r.type==="timeZoneName")?.value??t).replace(/\s+(?:Standard|Daylight(?: Saving)?|Summer|Winter)\s+Time$/,"")}function _r(e,t){let n=new Intl.DateTimeFormat("en",{timeZone:e,timeZoneName:"longOffset"}).formatToParts(t),r=new Intl.DateTimeFormat("en",{timeZone:e,timeZoneName:"long"}).formatToParts(t),i=(n.find(s=>s.type==="timeZoneName")?.value??"GMT+00:00").replace("GMT","UTC"),a=qa(r,e);return{offset:i,longName:a}}function $r(e){return e.slice(e.lastIndexOf("/")+1).replace(/_/g," ")}function Gr(){let e=new Date,t=Ya(),n=new Map,r=$r(t),{offset:o,longName:i}=_r(t,e),a={value:t,label:`${r} - ${i} (${o})`};for(let l of Ha()){if(l===t)continue;let u=$r(l),{offset:c,longName:m}=_r(l,e),g={value:l,label:`${u} - ${m} (${c})`},h=Za(l);if(h==="Other")continue;let y=n.get(h);y?y.push(g):n.set(h,[g])}for(let l of n.values())l.sort((u,c)=>u.label.localeCompare(c.label));let s=Array.from(n.entries()).sort(([l],[u])=>l.localeCompare(u)).map(([l,u])=>({label:l,items:u}));return[{label:"Suggested",items:[a]},...s]}function un(e,t){if(typeof e=="number")return e;let n=t??ln(),r=e.trim().toLowerCase();if(r.startsWith("current")){let o=r.match(/^current([+-])(\d+)$/);if(o){let[,i,a]=o,s=parseInt(a,10);if(!isNaN(s))return i==="+"?n+s:n-s}return n}return Ga.test(r)?parseInt(r,10):n}function xt(e,t){if(!e)return"";try{let n=pt(e,t,bt);return gt(n)?yt(n,"yyyy-MM-dd"):""}catch{return""}}function Hr(e,t){if(!e)return"";try{let n=pt(e,t,bt);return gt(n)?yt(n,"HH:mm:ss"):""}catch{return""}}function Yr(e,t="HH:mm"){if(!e)return"";try{let n=e.split(":").length===3?"HH:mm:ss":"HH:mm",r=pt(e,n,bt);return gt(r)?yt(r,t):""}catch{return""}}function ht(e,t="MMMM d, yyyy"){if(!e)return"";try{let n=pt(e,"yyyy-MM-dd",bt);return gt(n)?yt(n,t):""}catch{return""}}function he(e){return e.advanced?.format??"HH:mm"}function ie(e){return e.advanced?.format??"MMMM d, yyyy"}var Wa={es:{"(Optional)":"(Opcional)","Add item":"A\xF1adir elemento","Collapse {label} {index}":"Contraer {label} {index}","Expand {label} {index}":"Expandir {label} {index}","Remove {label} item {index}":"Eliminar {label} {index}","Unknown error":"Error desconocido",No:"No",Yes:"S\xED"}};function ue(e,t){return S(e,t)}function qr(e,t){let n=t?.[e??""],r=e?Wa[Ka(e)]:void 0;return r?n?{...r,...n}:r:n}function Ka(e){return e.toLowerCase().split(/[-_]/)[0]}function S(e,t){return e?t?t[e]??e:e:""}function Q(e,t){return e?S(e,t):void 0}function Me(e,t){if(!t)return e;let n=!1,r=e.map(o=>{let i=Xa(o,t);return i!==o&&(n=!0),i});return n?r:e}function Xa(e,t){if(!f(e))return e;let n=Zr(e.label,t),r=e.items;if(Array.isArray(r)){let i=Me(r,t);return i===r&&n===e.label?e:{...e,...n!==void 0&&{label:n},items:i}}let o=Zr(e.description,t);return n===e.label&&o===e.description?e:{...e,...n!==void 0&&{label:n},...o!==void 0&&{description:o}}}function Zr(e,t){return p(e)?S(e,t):e}var St=ln();function Kr(e,t){if(j(e))return ja(e,t?.lang)}function ja(e,t){if(lt(e))return sn(t);if(ut(e))return an(t)}function Xr(e,t){if(J(e))return Ja(e,t)}function Ja(e,t){let{lang:n,translations:r}=t??{};if(Nr(e))return sn(n);if(at(e))return an(n);if(st(e)){let o=e.advanced?.length?.min??St,i=e.advanced?.length?.max??St+5;return Ur(un(o,St),un(i,St))}if(Ir(e))return Gr();if(De(e))return Me([{value:"true",label:"Yes"},{value:"false",label:"No"}],r)}function jr(e,t=!1,n){let r={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return le(e)?{...r,...Qa(e)}:J(e)?{...r,...Jr(Xr(e,n))}:rn(e)?{...r,...ts(e)}:j(e)?{...r,...es(e,n)}:r}function Qa(e){let t=hr(e.type),n={...e,type:t};return{...rs(e),...Qr(e),...ns(n),...Er(n)?eo(n):{},type:t}}function Jr(e){return e?{options:e}:{}}function es(e,t){let n=Jr(Kr(e,t)),r=e.advanced?.multiple??!0;return{...n,multiple:r}}function ts(e){return{...Qr(e),...eo(e)}}function Qr(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function ns(e){return ct(e)?os(e):{}}function rs(e){if(re(e)){let t=he(e);return{step:t==="HH:mm:ss"||t==="hh:mm:ss a"?"1":"60"}}return{}}function eo(e){return to(e,{min:ir,max:or})}function os(e){return to(e,{min:et,max:Qe})}function to(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 no(e,t){let n=mt(e);return n||Vr(e,t)}function is(e,t){let n=f(t)&&e.name in t?t[e.name]:t,r=Qt(n,e.advanced?.entity),o=R(r)?r:e.defaultValue;return re(e)&&R(o)?as(e,o):Y(e)&&R(o)?cs(e,o):o}function as(e,t){let n=he(e);return p(t)?Hr(t,n):t}function ss(e,t,n){return Ce(e)&&Array.isArray(n)?{...t,[Je]:n}:t}function ls(e,t,n){if(e.required&&!R(n)&&J(e)&&e.advanced?.preselected!==!1&&Je in t){let r=t[Je];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function us(e,t,n){if(Ce(e)&&Array.isArray(t)){let r=en(t,e.advanced?.options);return zr(e)?Me(r,n):r}return t}function ro(e,t,n,r,o){let i=is(e,r),a=Array.isArray(n)?us(e,n,o):n,s=ss(e,t,a),l=ls(e,s,i);return{commonPropsWithOptions:s,defaultValue:l}}function oo(e,t){return B(e)?{checked:R(t)?t:!1}:j(e)?{value:Array.isArray(t)?t:[]}:Y(e)&&p(t)&&R(t)?{value:ht(t,ie(e))}:De(e)?{value:R(t)?String(t):""}:{value:t??""}}function cs(e,t){let n=ie(e);return p(t)?xt(t,n):t}function io(e,t){let n=e??t;return n?{"data-format":n}:{}}function Wr(e){let t=[];for(let n of e){if(typeof n=="string"){t.push(n);continue}f(n)&&"value"in n&&"label"in n&&p(n.value)&&p(n.label)&&t.push({label:n.label,value:n.value})}return t}function ao(e,t){if(!Ce(e))return;let n=j(e)?Kr(e,t):Xr(e,t);if(Array.isArray(n)){let o=Wr(n);return o.length>0?o:void 0}let r=mt(e);if(Array.isArray(r)){let o=en(r,e.advanced?.options),i=Wr(Me(o,t?.translations));return i.length>0?i:void 0}}function so(e,t){let n=String(e);for(let r of t)if(typeof r=="string"){if(r===n)return r}else if(r.value===n)return r.label;return n}var ds=/^#\/definition\//;function Rt(e=[],t){let n=vt(e,t);return Array.isArray(n)?n.filter(ms).sort((r,o)=>lo(r)-lo(o)):[]}function vt(e,t,n=new Map,r=new WeakSet){if(!fs(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=>vt(i,t,n,r));if(Te in e&&p(e[Te])){let i=e[Te].replace(ds,""),a=D(t,i);return a!==null?vt(a,t,n,r):e}let o={};for(let[i,a]of Object.entries(e))o[i]=vt(a,t,n,r);return r.delete(e),n.set(e,o),o}function uo(e){return Object.entries(e??{})}function lo(e){return e.order??Number.MAX_VALUE}function fs(e){return e!==void 0&&f(e)&&Object.keys(e).length>0}function ms(e){return lr in e?!0:Array.isArray(e[qt])?e[qt].length>0:!0}function co(e,t){let n={};for(let[r,o]of uo(t))n[`${e}-${r}`]=o;return n}function gs(e){return co(nr,e)}function ps(e){return co(rr,e)}function fo(e,t){let n=gs(e.advanced?.aria);return t&&t.length>0&&(n[Qn]="true",n[Jn]=`${e.name}-error`),n}function mo(e){return ps(e.advanced?.data)}var go={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},po={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function yo(e,t=2){return go[e&&e in go?e:t]}function bo(e){if(e&&e in po)return po[e]}function ys(e,t){let n=e.advanced?.length?.min??1;if(t){let r=D(t,e.name);if(Array.isArray(r))return Math.max(r.length,n)}return Math.max(n,0)}function xo(e){return!Array.isArray(e.fields)||e.fields.length===0?!1:e.fields.length>1||e.fields[0].type===Ee}function ho(e,t){let n=ys(e,t);return Array.from({length:n},(r,o)=>o)}function So(e){return e.advanced?.title??e.label??e.name}function vo(e){let t={};for(let n of e)if(Z(n))for(let r of n.fields)t[r.name]=r;else t[n.name]=n;return t}function Tt(e,t){if(!e.includes("/"))return e;let[n,r]=e.split("/"),o=new RegExp(`(^|.*\\.)(${n}\\.\\d+\\.)`),i=t.match(o);return i?`${i[0]}${r}`:r}import{z as A}from"zod";var bs=[[B,Ro],[Pr,xs],[ct,vs],[oe,hs],[De,Ro],[at,Ts],[st,Rs],[j,cn],[lt,cn],[ut,cn]];function Co(e,t=[],n){let r=A.object(e);if(t.length===0)return r;let o=Fs(r,t,n);return Is(o,t,n)}function wo(e){let t={},n=A.flattenError(e).fieldErrors;for(let[r,o]of Object.entries(n))o!==void 0&&(t[r]=o);return t}function Fo(e,t){for(let[n,r]of bs)if(n(e))return r(e,t);return Ss(e,t)}function xs(e,t){let n=A.string().trim();if(e.required){let r=ce(e,t),o=n.min(1,r).pipe(To(e,t));return A.preprocess(i=>z(i)?"":i,o)}return n.pipe(To(e,t)).or(A.literal("")).nullable()}function Ro(e,t){let n=A.preprocess(r=>{if(typeof r=="string"){if(r==="true")return!0;if(r==="false")return!1}return r},A.coerce.boolean());return e.required?(B(e)?n=n.refine(r=>r===!0,{message:ce(e,t)}):n=n.refine(r=>typeof r=="boolean",{message:ce(e,t)}),A.preprocess(r=>r===null?!1:r,n)):n.nullable()}function hs(e,t){let n=A.coerce.string();return e.required?(n=n.min(1,ce(e,t)),A.preprocess(r=>z(r)?"":r,n)):n.or(A.literal("")).nullable()}function Ss(e,t){let n=A.coerce.string().trim();return n=ko(n,e,t),e.required?(n=No(n,e,t),A.preprocess(r=>z(r)?"":r,n)):n.nullable()}function vs(e,t){let n=A.coerce.number().int();return n=ko(n,e,t),e.required?(n=No(n,e,t),A.preprocess(r=>r===null?void 0:r,n)):n.nullable()}function Rs(e,t){return e.required?A.preprocess(As,A.coerce.number({message:ce(e,t)}).int()):A.coerce.number().int().nullable()}function Ts(e,t){let n=ce(e,t),r=A.coerce.number().int().min(1,n).max(12,n);return e.required?r:r.nullable()}function As(e){return e===null||e===""?void 0:e}function To(e,t){let n=e.validation?.email?S(e.validation?.email,t):void 0;return A.email(n)}function ko(e,t,n){return e=Cs(e,t,n),e=ws(e,t,n),e}function No(e,t,n){let r=t.advanced?.length?.min;return r===void 0||r<1?e.min(1,ce(t,n)):e}var Cs=(e,t,n)=>Io(e,t,et,n),ws=(e,t,n)=>Io(e,t,Qe,n);function Io(e,t,n,r){let o=t.advanced?.length?.[n];if(o!==void 0){let i=t.validation?.length?.[n]?S(t.validation?.length?.[n],r):void 0;return e[n](o,i)}return e}function Fs(e,t=[],n){let r=Ns(t);return r.length===0?e:e.superRefine((o,i)=>{for(let{name:a,rule:s}of r)if(!ks(o,a,s)){let l=S(s.message,n);i.addIssue({code:"custom",message:l,path:[a]})}})}function ks(e,t,n){let r=n.operator??"eq",o=xe[r];return o?o(At(e,t),At(e,n.field)):!1}function Ns(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 Eo(e,t,n,r){let o=[],i=Array.isArray(t)?t:[t];for(let a of i){let s=a.operator??"eq",l=xe[s];if(l&&!l(e,n(a.field))&&a.message){let u=S(a.message,r);o.push(u)}}return o}function ce(e,t){return e.validation?.required?S(e.validation?.required,t):void 0}function cn(e,t){let n=A.array(A.string());return e.required&&(n=n.min(1,ce(e,t))),A.preprocess(r=>z(r)?[]:Array.isArray(r)?r.map(String):[String(r)],n)}function Is(e,t=[],n){let r=t.filter(Es);return r.length===0?e:e.superRefine((o,i)=>{let a=f(o)?o:{};for(let s of r)for(let l of Ps(a,s,n))i.addIssue({code:"custom",path:l.path,message:l.message})})}function Es(e){let t=e.validation;return t!==void 0&&(t.requiredWhen!==void 0||t.pattern!==void 0||t.rules!==void 0)}function Ps(e,t,n){let r=[],o=At(e,t.name),i=t.validation?.requiredWhen;if(i){let l=(Array.isArray(i)?i:[i]).find(u=>ze(e,u));l&&!dn(o)&&r.push({path:[t.name],message:Q(l.message??t.validation?.required,n)})}let a=t.validation?.pattern;a&&!Po(a,o)&&r.push({path:[t.name],message:Q(a.message,n)});for(let s of t.validation?.rules??[])Ls(e,s.when)&&!Vs(s,o)&&r.push({path:[t.name],message:Q(s.message,n)});return r}function ze(e,t){let n=xe[t.operator??"eq"];return n?n(At(e,t.field),t.value):!1}function At(e,t){return t in e?e[t]:D(e,t)??void 0}function Ls(e,t){if(!t)return!0;if(Array.isArray(t))return t.every(o=>ze(e,o));if("field"in t)return ze(e,t);let n=t.all?t.all.every(o=>ze(e,o)):!0,r=t.any?t.any.some(o=>ze(e,o)):!0;return n&&r}function Vs(e,t){switch(e.assert){case"required":return dn(t);case"minItems":return Array.isArray(t)&&t.length>=Number(e.value);case"maxItems":return Array.isArray(t)&&t.length<=Number(e.value);case"min":return Ao(t)>=Number(e.value);case"max":return Ao(t)<=Number(e.value);case"oneOf":return Array.isArray(e.value)&&e.value.map(String).includes(String(t));case"pattern":return Os(e.value)?Po(e.value,t):!0;default:return!0}}function Po(e,t){return!dn(t)||typeof t!="string"||e.allowInterpolation&&(be(t)||Ds(t))?!0:new RegExp(e.regex,e.flags).test(t)}function Ds(e){return p(e)&&e.trimStart().startsWith("@")}function dn(e){return p(e)?e.trim().length>0:xe.exists(e,void 0)}function Ao(e){return typeof e=="number"?e:p(e)||Array.isArray(e)?e.length:0}function Os(e){return f(e)&&"regex"in e}function Lo(e,t){if(!t||!zs(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||Ms(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 Ms(e){return e==="https"?"443":"80"}function zs(e){return/^(https?:)?\/\//.test(e)}function Vo(e,t){try{if(!e)return t;if(!t)return e;let n=new URL(e,tt);new URL(t,tt).searchParams.forEach((i,a)=>{n.searchParams.set(a,i)});let o=n.toString();return e.startsWith("/")||!e.includes("://")?o.replace(tt,""):o}catch{return t||e}}function Do(e){return!Array.isArray(e)||e.length===0?null:e.reduce((t,n)=>{let r=Vo(t.url,n.url),o=_s(t,n),i=$s(t,n);return{...t,...n,url:r,body:o,headers:i}})}function _s(e,t){return f(t.body)&&f(e?.body)?{...e.body,...t.body}:t.body??e?.body}function $s(e,t){return f(t.headers)&&f(e?.headers)?{...e.headers,...t.headers}:t.headers??e?.headers}function Ct(e,t){return{...e,...t}}var Bs={uppercase:e=>e.toUpperCase(),lowercase:e=>e.toLowerCase(),"remove-space":e=>e.replace(/\s+/g,""),"remove-accent":e=>e.normalize("NFD").replace(/[\u0300-\u036f]/g,"")};function _e(e,t){return!t||!p(e)||z(e)?e:(Array.isArray(t)?t:[t]).reduce((r,o)=>{let i=Bs[o];return i?i(r):r},e)}import{jsx as Us}from"react/jsx-runtime";function ae(e){return Rr(e,(t,n,r)=>Us("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${t}`))}import{useCallback as Gs,useState as Hs}from"react";import{jsx as $e,jsxs as fn}from"react/jsx-runtime";function Oo(e){let{fields:t=[]}=e.section,[n,r]=Hs(!1),o=Gs(()=>r(i=>!i),[]);return fn("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:[$e("legend",{children:fn("button",{className:"flex cursor-pointer items-center gap-2 text-base font-medium text-zinc-600 dark:text-zinc-400",onClick:o,type:"button",children:[$e(Re,{expanded:n}),$e("span",{children:ae(e.title)})]})}),$e(Ie,{visible:n,children:fn("div",{className:"mt-3 ml-1.5 flex flex-col gap-4 border-l-2 border-zinc-300 pl-4 dark:border-zinc-600","data-slot":"field-set-content",children:[e.description&&$e("p",{className:"text-sm leading-normal font-normal text-zinc-600 dark:text-zinc-400",children:ae(e.description)}),e.group]})})]})}import{jsx as wt,jsxs as Mo}from"react/jsx-runtime";function zo(e){let t=Mo("div",{className:"flex flex-col",children:[e.title&&wt("legend",{className:"mb-3 font-medium text-zinc-800 dark:text-zinc-200",children:ae(e.title)}),e.description&&wt("p",{className:"-mt-2 text-sm leading-normal font-normal text-zinc-600 dark:text-zinc-400",children:ae(e.description)})]});return e.step?Mo("div",{className:"flex flex-row items-start gap-4",children:[wt("div",{className:"bg-primary text-primary-foreground flex size-6 shrink-0 items-center justify-center rounded-full",children:wt("span",{className:"text-sm font-bold",children:e.step})}),t]}):t}import{jsx as _o,jsxs as Ys}from"react/jsx-runtime";function Ft(e){return Ys("fieldset",{className:"flex w-full min-w-0 flex-col data-[empty=false]:gap-6","data-empty":e.empty,"data-slot":"field-set",id:e.id,children:[_o(zo,{description:e.description,step:e.step,title:e.title}),_o("div",{className:"w-full min-w-0",children:e.children})]})}import{jsx as Zs}from"react/jsx-runtime";function de(e){return Zs("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 mn}from"react/jsx-runtime";function $o(e){let{fields:t=[]}=e.section,n=e.advanced?.step?e.step:void 0,{compact:r}=Ct(e.style,{compact:e.section.advanced?.compact}),o=mn(de,{compact:r,children:e.children});if(!e.section.title&&!e.section.description)return o;let i=Q(e.section.title,e.translations),a=Q(e.section.description,e.translations);return e.section.advanced?.collapsible?mn(Oo,{description:a,group:o,section:e.section,title:i}):mn(Ft,{description:a,empty:t.length===0,id:e.section.id?.toString(),step:n,title:i,children:o})}import{jsx as Bo}from"react/jsx-runtime";function Uo(){return Bo("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:Bo("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-zinc-200 dark:bg-zinc-800"})})}import{useAtomValue as js}from"jotai";import{atom as Se}from"jotai";import{atomFamily as Go}from"jotai-family";import{deepEqual as gn}from"fast-equals";function kt(e,t){let{[t]:n,...r}=e;return r}function qs(e){return Go(t=>Se(n=>n(e)[t]??void 0,(n,r,o)=>{let i=n(e);if(o!=null){let a=i[t];gn(a,o)||r(e,{...i,[t]:o})}else t in i&&r(e,kt(i,t))}))}function Ws(e){return Se(null,(t,n)=>{let r=t(e);r&&Object.keys(r).length>0&&n(e,{})})}function Ks(e){return Se(null,(t,n,r)=>{let i={...t(e)},a=!1;for(let s of r)s in i&&(delete i[s],a=!0);a&&n(e,i)})}function Xs(e){return Se(null,(t,n,r)=>{let o=t(e);gn(o,r)||n(e,r)})}function Ho(e,t={}){let{merge:n,validateTarget:r}=t;return Go(o=>Se(i=>{let a=i(e)[o];if(a&&n)return n(Object.values(a))},(i,a,s,l)=>{if(r&&!r(s))return;let u=i(e),c={...u[s]??{}};if(l!=null){let m=c[o];(!m||!gn(m,l))&&(c[o]=l,a(e,{...u,[s]:c}))}else o in c&&(delete c[o],Object.keys(c).length===0?a(e,kt(u,s)):a(e,{...u,[s]:c}))}))}function Yo(e){return Se(null,(t,n,r)=>{let i={...t(e)},a=!1;for(let s of r)s in i&&(delete i[s],a=!0);for(let s in i){let l={...i[s]},u=!1;for(let c of r)c in l&&(delete l[c],u=!0,a=!0);u&&(Object.keys(l).length===0?delete i[s]:i[s]=l)}a&&n(e,i)})}function we(e={}){let t=Se(e);return{atom:t,clearAll:Ws(t),clear:Ks(t),bulkReport:Xs(t),report:qs(t)}}var Zo=we(),Nt=Zo.atom,It=Zo.report;function Js(e,t){return e.fields.every(n=>qo(n,t))}function qo(e,t){return t[e.name]?.hidden??e.hidden??!1}function Qs(e,t){return Z(e)?Js(e,t):qo(e,t)}function Et(e){let t=js(Nt);return e.container&&(t[e.container.name]?.hidden??e.container.hidden??!1)||e.fields.length===0||e.fields.every(r=>Qs(r,t))?null:e.children}import{jsx as Be,jsxs as Wo}from"react/jsx-runtime";function Ko(e){let t=Rt(e.sections,e.definition);return Be("div",{className:"h-full w-full",children:Be("form",{noValidate:e.noValidate,action:e.action,children:Wo(de,{children:[t.map((n,r)=>Wo(Et,{fields:n.fields??[],children:[Be($o,{advanced:e.advanced,section:n,step:r+1,style:e.config.style,translations:e.translations,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.advanced?.separator&&Be(Uo,{})]},`key-${n.id}-${r}`)),e.control&&Be(kn,{isPending:e.isPending,children:e.control})]})})})}import{jsx as el}from"react/jsx-runtime";function Xo(e){return el("p",{className:"-mt-2 text-xs leading-normal font-normal text-zinc-600 dark:text-zinc-400 [[data-slot=column]_&]:md:line-clamp-2",title:e.title,children:e.children})}import{useState as tl}from"react";import{jsx as jo,jsxs as Jo}from"react/jsx-runtime";function Pt(e){let t={context:e.context,env:e.config?.env,value:e.value},r={locale:e.config?.env?.locale},[o,i]=tl(()=>f(e.text)&&"collapsed"in e.text?!e.text.collapsed:!0),a=()=>i(c=>!c),s=f(e.text)&&p(e.text.title)?ae(S(Le(e.text.title,t,r),e.translations)):void 0,l=S(Le(p(e.text)?e.text:e.text?.message,t,r),e.translations),u=ae(l);return u?Jo("div",{className:"flex flex-col gap-2",children:[s&&Jo("button",{className:"flex items-center gap-1 text-left text-xs font-medium text-zinc-700 hover:text-zinc-900 dark:text-zinc-300 dark:hover:text-zinc-100",onClick:a,type:"button",children:[s,jo(Re,{expanded:o})]}),o&&jo(Xo,{title:l,children:u})]}):null}import{atom as Qo}from"jotai";var Lt=we(),q=Lt.atom,ei=Lt.clearAll,ti=Lt.clear,fe=Lt.report,pn=Qo({}),yn=Qo(null);import{useAtomValue as ni}from"jotai";import{jsx as nl}from"react/jsx-runtime";function Vt(e){let t=ni(fe(e.field.name)),r=ni(It(e.field.name))?.description??e.field.description;return nl(Pt,{config:e.config,context:e.context,text:r,translations:e.translations,value:t})}import{twMerge as rl}from"tailwind-merge";import{jsx as ri,jsxs as ol}from"react/jsx-runtime";function oi(e){let t=e.style?.showOptionalLabel??!0,n=oe(e.field)||B(e.field);return ol("label",{"data-slot":"field-label","data-normal":n,className:rl("flex w-fit items-center text-sm leading-snug font-medium select-none","data-[normal=true]:font-normal [[data-slot=column]_&]:md:w-full","group-data-[readonly=true]:cursor-not-allowed group-data-[readonly=true]:opacity-50"),htmlFor:e.field.name,title:p(e.children)?e.children:void 0,children:[ri("span",{className:"[[data-slot=column]_&]:md:truncate",children:e.children}),t&&!e.field.required&&ri("span",{className:"ml-2 flex-shrink-0 text-sm text-zinc-600 dark:text-zinc-400",children:ue("(Optional)",e.translations)})]})}import{jsx as ii,jsxs as il}from"react/jsx-runtime";function ai(e){let t={context:e.context,env:e.config?.env},n=Le(e.field.label,t);return il("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[ii(oi,{field:e.field,style:e.config?.style,translations:e.translations,children:S(n,e.translations)}),e.horizontal===!0&&ii(Vt,{config:e.config,context:e.context,field:e.field,translations:e.translations})]})}import{Fragment as al,jsx as si,jsxs as sl}from"react/jsx-runtime";function li(e){return sl(al,{children:[e.field.name&&e.field.label&&si(ai,{config:e.config,context:e.context,field:e.field,horizontal:e.horizontal,translations:e.translations}),e.children,e.horizontal===!1&&si(Vt,{config:e.config,context:e.context,field:e.field,translations:e.translations})]})}function Dt(e,t){return e?t(e):null}function U(e,t){if(!Array.isArray(t)&&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(f(r))r=r[o];else return}return r}import{useCallback as wl,useEffect as Fl,useRef as kl}from"react";import{createContext as ll}from"react";var ul=e=>e,me=ll(ul);var bn=we(),ui=bn.clear,ci=bn.bulkReport,Ot=bn.report;import{use as yl,useCallback as gi,useRef as Ue,useTransition as bl}from"react";import{use as cl,useEffect as dl,useEffectEvent as di,useMemo as fl}from"react";function fi(e,t,n,r){let{name:o}=e,i=fl(()=>Fo(e,r),[e,r]),a=cl(Xe),s=di(u=>{u&&t(u,i,e)}),l=di(u=>{u&&n(u,{keepValue:a})});return dl(()=>(s(o),()=>{l(o)}),[o]),i}import{useSetAtom as Ge,useStore as xl}from"jotai";import{useCallback as ml,useEffect as gl,useRef as pl}from"react";function mi(){let e=pl(null);return gl(()=>()=>{e.current&&clearTimeout(e.current)},[]),ml((n,r)=>{e.current&&(clearTimeout(e.current),e.current=null),e.current=setTimeout(n,r)},[])}function hl(e){return document.activeElement?.getAttribute("name")===e}function pi(e,t){let n=xl(),r=e.field.advanced?.entity,o=mi(),[,i]=bl(),a=yl(me),{setValue:s,shouldSkipOnChange:l,value:u,setSource:c}=t,m=Ue(u);m.current=u;let g=Ue(e.translations);g.current=e.translations;let h=dt(e.field),y=Ge(q),N=Ge(Nt),C=Ge(Ot(e.field.name)),P=Ge(pn),O=Ge(yn),M=fi(e.field,e.onMount,e.onUnmount,e.translations),_=S(e.commonProps.placeholder,e.translations),L={...e.commonProps,placeholder:_};function F(d){let[,x]=e.getSchema();return x.find(w=>w.name===d)}function Ne(d){let x=F(d);if(x&&le(x)){let w=x.advanced?.transform;if(w)return w}}function b(d,x){if(y(w=>({...w,[d]:x})),P(w=>({...w,[d]:x})),e.onValueChange){let w=F(d);w&&e.onValueChange({name:a(d),type:w.type,value:x})}}let v=Ue(null);v.current=d=>{let x=le(e.field)?_e(d,e.field.advanced?.transform):d;s(x),e.onValueChange&&e.onValueChange({name:a(e.field.name),type:e.field.type,value:x})};let T=Ue(null);T.current=d=>{let x=e.field.event?.change;x&&Tr(x,({sources:w,states:We,values:Yt})=>{i(()=>{Ar(d,w,(ee,te)=>{c(Tt(ee,e.field.name),te)}),Fr(d,We,(ee,te)=>{let ve=ee.map($=>Tt($,e.field.name));N($=>te?ve.reduce((W,pe)=>({...W,[pe]:te}),$):ve.reduce((W,pe)=>kt(W,pe),$));let ne=te?.hidden===!0?ve:te===void 0?ve.filter($=>F($)?.hidden===!0):[];ne.length>0&&y($=>{let W=!1,pe={...$};for(let ye of Object.keys($))ne.some(Ke=>ye===Ke||ye.startsWith(`${Ke}.`))&&(delete pe[ye],W=!0);return W?pe:$})})}),kr(d,Yt,(ee,te,ve)=>{let ne=Tt(ee,e.field.name),$=Ne(ne),W=$?_e(te,$):te,ye=n.get(q)[ne];if(ve.onlyIfTargetEmpty&&!z(ye)){let Ke=n.get(pn)[ne];if(!Object.is(Ke,ye))return}if(W!==ye){if(hl(ne)){O({target:ne,value:W});return}b(ne,W)}})})};let I=gi(d=>{let w=M.safeParse(d).error?.issues.map(ee=>ee.message)??[],We=e.field.validation?.custom,Yt=We?Eo(d,We,ee=>n.get(fe(ee)),g.current):[];C([...w,...Yt])},[e.field.validation?.custom,M,C,n]),V=Ue(null);V.current=()=>{let d=n.get(yn);d?.target===e.field.name&&(O(null),z(n.get(q)[d.target])&&b(d.target,d.value))};let E=gi(d=>{if(!h){let x=d.target.value;e.config.validation.blur&&I(x)}V.current?.()},[h,e.config.validation.blur,I]);return{applyChangeEventsRef:T,commonProps:L,entity:r,hasClickable:h,onBlur:E,onValueChangeRef:v,setTimeoutRef:o,shouldSkipOnChange:l,validated:I,valueRef:m}}import{deepEqual as Sl}from"fast-equals";import{useAtom as vl}from"jotai";import{use as Rl,useCallback as Tl,useEffect as Al,useRef as Cl,useEffectEvent as yi}from"react";function bi(e,t){let{name:n}=e,r=Cl(!1),[o,i]=vl(fe(n)),a=Rl(me),s=yi((c,m=!1)=>{let g=le(e)?_e(c,e.advanced?.transform):c;!m&&!Sl(o,g)&&(r.current=!0),i(g)}),l=yi(c=>{let m=U(a(n),c);R(m)?s(m):R(e.defaultValue)&&s(e.defaultValue,!0)});Al(()=>{if(t){l(t);return}R(e.defaultValue)&&s(e.defaultValue,!0)},[t,e.defaultValue]);let u=Tl(()=>r.current?(r.current=!1,!0):!1,[]);return{setValue:i,shouldSkipOnChange:u,value:o}}import{jsx as xi}from"react/jsx-runtime";function hi(e){let{useSource:t,useExtraProps:n,getValue:r,shouldSkipChange:o,dispatchChange:i,buildInitialSelected:a,isInitialReady:s}=e.strategies,{setValue:l,shouldSkipOnChange:u,value:c}=bi(e.field,e.value),{data:m,setSource:g,isStaticSource:h}=t(e.field,e.config,c),{applyChangeEventsRef:y,commonProps:N,entity:C,hasClickable:P,onBlur:O,onValueChangeRef:M,setTimeoutRef:_,validated:L,valueRef:F}=pi(e,{setValue:l,shouldSkipOnChange:u,value:c,setSource:g}),Ne=n?.(e.field),b=kl(!1),{commonPropsWithOptions:v,defaultValue:T}=ro(e.field,N,m,c,h?e.translations:void 0),I=oo(e.field,T);Fl(()=>{let E=!!e.value||R(e.field.defaultValue);if(b.current||!E)return;if(!e.field.event?.change){b.current=!0;return}let d=e.value?U(e.field.name,e.value):void 0,x=R(d)?d:e.field.defaultValue;if(!R(x)||!s(e.field,x,m))return;b.current=!0;let w=a(x,m,C);y.current?.(w)},[y,a,m,C,s,e.field,e.value]);let V=wl(E=>{let d=r(E,e.field);o({field:e.field,shouldSkipOnChange:u,hasClickable:P,inputValue:d,valueRef:F})||(M.current?.(d),e.config.validation.change&&L(d),e.field.event?.change&&i({applyChangeEventsRef:y,data:m,entity:C,inputValue:d,setTimeoutRef:_}))},[y,m,i,C,r,P,M,e.config.validation.change,e.field,_,o,u,L,F]);return Dt(e.config.inputs[e.field.type],E=>xi(li,{config:e.config,context:e.context,field:e.field,horizontal:e.horizontal,translations:e.translations,children:xi(E,{...v,...e.ariaAttributes,...e.dataAttributes,...Ne,...I,onBlur:O,onChange:V})}))}import{jsx as Nl}from"react/jsx-runtime";function Fe(e){return function(n){return Nl(hi,{...n,strategies:e})}}function Si(e){let t=Y(e)?ie(e):null,n=re(e)?he(e):null;return{dateFormat:t,timeFormat:n}}import{atom as Il}from"jotai";var El=e=>{let t=Do(e);if(t)return t},Pl=e=>e.trim()!=="",vi=Il({}),Mt=Ho(vi,{merge:El,validateTarget:Pl}),Ri=Yo(vi);import{useSetAtom as Ll}from"jotai";function zt(e){return{data:null,setSource:Ll(Mt(e.name))}}var Ti=Fe({useSource:zt,useExtraProps:e=>{let{dateFormat:t,timeFormat:n}=Si(e);return io(t,n)},getValue:(e,t)=>{let n=e.target.value,r=re(t)?he(t):null;if(r!==null)return Yr(n,r);let o=Y(t)?ie(t):null;return o!==null&&ht(n,o)||n},shouldSkipChange:({shouldSkipOnChange:e,inputValue:t,valueRef:n})=>e()&&t===n.current,dispatchChange:({applyChangeEventsRef:e,inputValue:t,setTimeoutRef:n})=>{n(()=>{e.current?.({value:t})},300)},buildInitialSelected:e=>({value:String(e)}),isInitialReady:(e,t)=>R(t)});import{deepEqual as Ml}from"fast-equals";import{useAtom as Ol}from"jotai";import Vl from"swr";function Ai(e=null,t,n=!1){let{data:r,error:o}=Vl(Dl(e,t,n),t.fetcher.provider);if(o&&Ve.error("Error fetching data source:",o),e){if(Array.isArray(e))return e;if(r)return xr(r,e.namespace)}return null}function Dl(e=null,t,n=!1){if(e&&!Array.isArray(e)&&!n&&e.url&&!be(e.url)){if(Lo(e.url,t.fetcher.remotePatterns))return e;Ve.warn(`URL blocked by remotePatterns: ${e.url}. Check your luna.config.ts`)}return null}function Ci(e,t,n){let r=no(e,n),[o,i]=Ol(Mt(e.name)),a=o??r,s=Ai(a,t,e.disabled),l=Array.isArray(a);return[s,i,l]}function zl(e,t,n){let[r,o,i]=Ci(e,t,n);return{data:r,setSource:o,isStaticSource:i}}function _l(e,t){return J(e)&&t===""}var wi=Fe({useSource:zl,getValue:e=>e.target.value,shouldSkipChange:({field:e,shouldSkipOnChange:t,hasClickable:n,inputValue:r,valueRef:o})=>_l(e,r)||!n&&t()&&(!r||Ml(r,o.current)),dispatchChange:({applyChangeEventsRef:e,data:t,entity:n,inputValue:r})=>{e.current?.(Jt(r,t,n))},buildInitialSelected:(e,t,n)=>Jt(String(e),t,n),isInitialReady:(e,t,n)=>(!Ce(e)||!!n&&n.length>0)&&R(t)});var Fi=Fe({useSource:zt,getValue:e=>e.target.value,shouldSkipChange:({shouldSkipOnChange:e,inputValue:t,valueRef:n})=>e()&&t===n.current,dispatchChange:({applyChangeEventsRef:e,inputValue:t,setTimeoutRef:n})=>{n(()=>{e.current?.({value:t})},300)},buildInitialSelected:e=>({value:String(e)}),isInitialReady:(e,t)=>R(t)});import{jsx as xn}from"react/jsx-runtime";function ki(e){return Y(e.field)||re(e.field)?xn(Ti,{...e}):Lr(e.field)?xn(Fi,{...e}):xn(wi,{...e})}import{jsx as Ni}from"react/jsx-runtime";function Ii(e){return!e.errors||e.errors.length===0?null:Ni("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)=>Ni("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}import{twMerge as $l}from"tailwind-merge";import{jsx as Bl}from"react/jsx-runtime";function _t(e){let t=e.errors&&e.errors.length>0;return Bl("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[er]:"true"},...e.disabled&&{[tr]:"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 Ul}from"tailwind-merge";import{jsx as Gl}from"react/jsx-runtime";function Ei(e){return Gl(_t,{...e,orientation:"vertical",className:Ul("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}import{twMerge as Hl}from"tailwind-merge";import{jsx as Yl}from"react/jsx-runtime";function Pi(e){return Yl(_t,{...e,orientation:"horizontal",className:Hl("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 Li}from"react/jsx-runtime";function Vi(e){let t=dt(e.field),n=B(e.field),r=Or(e.field);return e.horizontal?Li(Pi,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children}):Li(Ei,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children})}function Di(e){if(!e.field.type)return null;let t=jr(e.field,e.disabled,{lang:e.lang,translations:e.translations}),n=mo(e.field),r=fo(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 Zl}from"tailwind-merge";import{jsx as hn,jsxs as ql}from"react/jsx-runtime";function Oi(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{horizontal:r}=Ct(e.style,{horizontal:Dr(e.field)}),o=Mr(e.field,e.disabled);return ql("div",{className:Zl("flex flex-col gap-3",bo(t)),children:[hn(Vi,{disabled:o,errors:n,field:e.field,horizontal:r,children:hn(Di,{disabled:o,errors:n,field:e.field,horizontal:r,lang:e.lang,translations:e.translations,children:e.children})}),hn(Ii,{errors:n,name:e.field.name})]})}import{useAtomValue as Wl}from"jotai";import{jsx as jl}from"react/jsx-runtime";function Mi(e){return(t,n)=>o=>{let i=Wl(e(o.field.name)),a=n(i,o);return a===null?null:jl(t,{...o,...a})}}var Kl=Mi(Ot);function zi(e){return Kl(e,(t,n)=>({errors:t?{[n.field.name]:t}:void 0}))}var Xl=Mi(It);function _i(e){return Xl(e,(t,n)=>t?.hidden??n.field.hidden??!1?null:{disabled:t?.disabled??n.disabled})}var $i=_i(zi(Oi));import{twMerge as Sn}from"tailwind-merge";import{useState as Jl}from"react";import{Fragment as Ql,jsx as G,jsxs as ge}from"react/jsx-runtime";function Bi(e){let t=e.isMultiField||e.collapsed!=null,[n,r]=Jl(t?!e.collapsed:!0);function o(){e.canRemove&&e.onRemove&&e.onRemove(e.index)}function i(){r(c=>!c)}let a=c=>X(ue(c,e.translations),{index:e.index+1,label:e.label}),s=e.canRemove&&e.onRemove!=null&&G("button",{"aria-label":a("Remove {label} item {index}"),className:Sn("flex size-6 items-center justify-center rounded text-xl leading-none text-zinc-400","transition-colors duration-150","hover:text-red-500","focus-visible:ring-2 focus-visible:ring-zinc-400 focus-visible:outline-none","dark:text-zinc-500 dark:hover:text-red-400"),onClick:o,type:"button",children:G("span",{"aria-hidden":"true",className:"leading-none",children:"\xD7"})}),l=ge("div",{className:"flex min-w-0 flex-col font-medium text-zinc-700 dark:text-zinc-400",children:[G("span",{className:"text-base",children:e.previewLabel??ge(Ql,{children:[e.label," ",e.index+1]})}),!n&&e.previewTags&&G("div",{className:"flex items-center gap-2 overflow-hidden text-xs font-normal text-ellipsis whitespace-nowrap text-zinc-500 dark:text-zinc-500",children:e.previewTags})]}),u=ge("div",{className:Sn("flex items-center justify-between gap-2",e.isMultiField&&n&&"mb-3"),children:[t?ge("div",{className:"flex min-w-0 grow items-center gap-2",children:[ge("button",{"aria-expanded":n,"aria-label":a(n?"Collapse {label} {index}":"Expand {label} {index}"),className:Sn("group flex grow items-center gap-2 rounded p-1 text-left text-zinc-400","focus-visible:ring-2 focus-visible:ring-zinc-400 focus-visible:outline-none","dark:text-zinc-500"),onClick:i,type:"button",children:[G(Re,{expanded:n}),l]}),!n&&e.previewBadge&&G("div",{className:"ml-auto shrink-0",children:e.previewBadge})]}):l,s]});return e.isMultiField?ge("div",{"data-slot":"list-item-card",className:"box-border w-full min-w-0 rounded-lg border border-zinc-100 p-4 dark:border-zinc-900",children:[u,G(Ie,{visible:n,children:G(de,{children:e.children})})]}):t?ge("div",{className:"box-border flex w-full min-w-0 flex-col gap-2",children:[u,G(Ie,{visible:n,children:G(de,{children:e.children})})]}):ge("div",{className:"box-border flex w-full min-w-0 items-start gap-2",children:[G("div",{className:"flex min-w-0 grow flex-col",children:G(de,{children:e.children})}),s&&G("div",{className:"shrink-0",children:s})]})}import{Fragment as tu}from"react";import{twMerge as Ui}from"tailwind-merge";import{useAtomValue as eu}from"jotai";function $t(e,t){return eu(fe(e))??t}import{jsx as He,jsxs as Gi}from"react/jsx-runtime";function Hi({className:e,initialValue:t,name:n,options:r,separator:o,staticLabel:i}){let a=$t(n??"",t);if(i===void 0&&r){let u=(Array.isArray(a)?a:a==null||a===""?[]:[a]).filter(c=>c!=null&&c!=="").map(c=>so(c,r));return u.length===0?null:He("div",{className:"flex items-center gap-1.5 overflow-hidden",children:u.map((c,m)=>Gi(tu,{children:[(o||m>0)&&He("span",{"aria-hidden":"true",className:"text-xs text-zinc-300 select-none dark:text-zinc-600",children:"\xB7"}),He("span",{"aria-label":c,className:Ui("max-w-[150px] overflow-hidden text-xs text-ellipsis whitespace-nowrap",e),title:c,children:c})]},`${m}:${c}`))})}if(i===void 0&&(z(a)||f(a)||Array.isArray(a)))return null;let s=i??String(a);return Gi("div",{className:"flex items-center gap-1.5 overflow-hidden",children:[o&&He("span",{"aria-hidden":"true",className:"text-xs text-zinc-300 select-none dark:text-zinc-600",children:"\xB7"}),He("span",{"aria-label":s,className:Ui("max-w-[150px] overflow-hidden text-xs text-ellipsis whitespace-nowrap",e),title:s,children:s})]})}import{useAtomValue as nu}from"jotai";import{useMemo as ru}from"react";function Bt(e,t){let n=nu(q);return ru(()=>{let r=`${e}.`,o={},i=!1;for(let s in n)s.startsWith(r)&&(o[s.slice(r.length)]=n[s],i=!0);let a=t?U(e,t):void 0;return i?f(a)?{...a,...o}:o:a},[n,e,t])}import{useMemo as vn}from"react";import{jsx as Yi}from"react/jsx-runtime";function ou(e){return typeof e=="string"?{field:e}:e}function Rn({className:e,fields:t,label:n="Preview",lang:r,name:o,previews:i,translations:a,value:s}){let l=vn(()=>(Array.isArray(i)?i:[i]).map(ou),[i]),u=vn(()=>t?vo(t):void 0,[t]),c=Bt(o,s),m=vn(()=>{let g=[];for(let[h,y]of l.entries()){if(y.when!==void 0&&!Ae(c,y.when))continue;if(y.label!==void 0){g.push({key:y.field??`label:${y.label}:${h}`,staticLabel:S(y.label,a)});continue}if(y.field===void 0)continue;let N=`${o}.${y.field}`,C=s!=null?U(N,s):void 0,P=u?.[y.field],O=P?ao(P,{lang:r,translations:a}):void 0;g.push({key:`${h}:${y.field}`,initialValue:C,options:O,previewName:N})}return g},[l,c,r,o,s,a,u]);return m.length===0?null:Yi("div",{"aria-label":n,className:"flex items-center gap-1.5 overflow-hidden",children:m.map((g,h)=>Yi(Hi,{className:e,initialValue:"initialValue"in g?g.initialValue:void 0,name:"previewName"in g?g.previewName:void 0,options:"options"in g?g.options:void 0,separator:h>0,staticLabel:"staticLabel"in g?g.staticLabel:void 0},g.key))})}import{Fragment as iu,jsx as au}from"react/jsx-runtime";function Zi({children:e,initialValue:t,name:n}){let r=$t(n,t),i=z(r)||f(r)||Array.isArray(r)?"":String(r);return au(iu,{children:e(i)})}import{jsx as Ut}from"react/jsx-runtime";function qi({canRemove:e,children:t,field:n,index:r,isMultiField:o,itemKey:i,label:a,lang:s,onRemove:l,previewBadge:u,previewLabel:c,previewTags:m,translations:g,value:h}){let y=`${n.name}.${i}`,N=`${a} ${r+1}`,C=Bt(y,h);return Ut(Bi,{canRemove:e,collapsed:n.advanced?.collapsed,index:r,isMultiField:o,label:a,onRemove:l,previewLabel:su({fallbackLabel:N,liveItemValue:C,name:y,previewLabel:c,translations:g,value:h}),previewBadge:u?Ut(Rn,{className:"bg-primary text-primary-foreground rounded-md px-1.5 py-0.5 leading-none font-bold uppercase",fields:n.fields,lang:s,name:y,previews:u,translations:g,value:h}):void 0,previewTags:m?Ut(Rn,{fields:n.fields,lang:s,name:y,previews:m,translations:g,value:h}):void 0,translations:g,children:t})}function su({fallbackLabel:e,liveItemValue:t,name:n,previewLabel:r,translations:o,value:i}){if(r===void 0)return;let a=p(r)?{field:r}:r;if(a.when!==void 0&&!Ae(t,a.when))return;if(a.label!==void 0)return S(a.label,o);if(a.field===void 0)return;let s=`${n}.${a.field}`;return Ut(Zi,{initialValue:i?U(s,i):void 0,name:s,children:l=>l||e})}import{twMerge as pu}from"tailwind-merge";import{useSetAtom as lu,useStore as uu}from"jotai";import{use as cu,useCallback as ke,useEffect as du,useEffectEvent as fu,useMemo as mu,useRef as Gt,useState as gu}from"react";function Wi(e,t,n){let r=e.advanced?.length?.min??1,o=e.advanced?.length?.max??1/0,[i,a]=gu(()=>ho(e,t)),s=Gt(i),l=Gt(i.length);s.current=i;let u=uu(),c=lu(q),m=Gt(n);m.current=n;let g=Gt(t),h=mu(()=>{let b=[];for(let v of e.fields)if(Z(v))for(let T of v.fields)b.push(T.name);else b.push(v.name);return b},[e.fields]),y=ke((b,v)=>{let T=Number(b);return Number.isNaN(T)?!1:Number.isInteger(T)&&v>=0&&String(v)!==b},[]),N=cu(me),C=ke(b=>{let v=`${e.name}.`;if(b.startsWith(v)){let T=b.slice(v.length),I=T.indexOf("."),V=I===-1?T:T.slice(0,I),E=Number(V),d=s.current.indexOf(E);y(V,d)&&(b=`${v}${d}${I===-1?"":T.slice(I)}`)}return N(b)},[e.name,y,N]),P=fu(()=>{let b=g.current;if(!b)return;let v=`${e.name}.`,T={...u.get(q)},I=!1;for(let V of i)for(let E of h){let d=`${v}${V}.${E}`;if(d in T)continue;let x=U(d,b);R(x)&&(T[d]=x,I=!0)}I&&c(T)});du(()=>{P()},[]);let O=ke((b,v)=>{let T=`${e.name}.`,I=g.current;return b.map(V=>{let E={};for(let d of h){let x=`${T}${V}.${d}`,w=v[x];E[d]=w!==void 0?w:I?U(x,I):void 0}return E})},[e.name,h]),M=ke((b,v)=>{m.current?.({name:C(e.name),value:O(b,v)})},[O,e.name,C]),_=ke(()=>{if(s.current.length>=o)return;let b=l.current++,v=[...s.current,b];a(v),M(v,u.get(q))},[M,o,u]),L=ke(b=>{if(s.current.length<=r)return;let v=s.current[b],T=s.current.filter((d,x)=>x!==b),V={...u.get(q)},E=`${e.name}.`;for(let d of h)delete V[`${E}${v}.${d}`];a(T),c(V),M(T,V)},[M,e.name,h,r,c,u]),F=i.length<o,Ne=i.length>r;return[i,_,L,F,Ne,o,C]}import{jsx as Tn,jsxs as Ht}from"react/jsx-runtime";var yu="flex h-9 w-full items-center gap-2 rounded-md border border-dashed border-zinc-200 px-4 text-sm font-medium text-zinc-500 transition-none hover:border-zinc-300 hover:text-zinc-800 focus-visible:ring-2 focus-visible:ring-zinc-400 focus-visible:ring-offset-2 focus-visible:outline-none dark:border-zinc-800 dark:text-zinc-400 dark:hover:border-zinc-700 dark:hover:text-zinc-200";function Ki(e){let{field:t,lang:n,onValueChange:r,translations:o,value:i,children:a}=e,[s,l,u,c,m,g,h]=Wi(t,i,r),y=S(So(t),o),N=t.advanced?.action?S(t.advanced.action,o):ue("Add item",o),C=g!==1/0,P=xo(t),{label:O,tags:M,badge:_}=t.advanced?.preview??{};return Tn(me.Provider,{value:h,children:Ht("div",{className:"flex w-full flex-col gap-4",children:[s.map((L,F)=>Tn(qi,{canRemove:m,field:t,index:F,isMultiField:P,itemKey:L,label:y,lang:n,onRemove:u,previewBadge:_,previewLabel:O,previewTags:M,translations:o,value:i,children:a(L)},L)),Ht("button",{"aria-disabled":!c,"aria-label":C?`${N}, ${s.length} of ${g}`:N,className:pu(yu,C?"justify-between":"justify-center",!c&&"cursor-not-allowed opacity-50 hover:border-zinc-200 hover:text-zinc-500 dark:hover:border-zinc-800 dark:hover:text-zinc-400"),disabled:!c,onClick:l,type:"button",children:[Ht("span",{className:"flex items-center gap-2",children:[Tn("span",{"aria-hidden":"true",className:"text-base leading-none",children:"+"}),N]}),C&&Ht("span",{"aria-hidden":"true",className:"text-zinc-400 tabular-nums dark:text-zinc-500",children:[s.length," / ",g]})]})]})})}import{jsx as bu}from"react/jsx-runtime";function Xi(e){let t=Array.isArray(e.field.fields)&&e.field.fields.length===0,n=Q(e.field.label,e.translations),r=Q(e.field.description,e.translations);return bu(Ft,{description:r,empty:t,id:e.field.name,title:n,children:e.children})}import{jsx as An}from"react/jsx-runtime";function ji({children:e,field:t,lang:n,onValueChange:r,translations:o,value:i}){return An(Et,{container:t,fields:t.fields,children:An(Xi,{field:t,translations:o,children:An(Ki,{field:t,lang:n,onValueChange:r,translations:o,value:i,children:e})})})}import{twMerge as xu}from"tailwind-merge";import{jsx as Ji,jsxs as hu}from"react/jsx-runtime";function Qi(e){let t=yo(e.column?.advanced?.cols);return hu("div",{className:"flex w-full flex-col gap-4",children:[Ji("div",{"data-slot":"column",className:xu("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children}),e.column?.description&&Ji(Pt,{config:e.config,context:e.context,text:e.column.description,translations:e.translations})]})}import{Fragment as vu}from"react";import{jsx as Su}from"react/jsx-runtime";function ea(e){let t=Array.isArray(e.field.fields)?e.field.fields.map(n=>ft(n)||Oe(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 Su(Ye,{components:e.components,config:e.config,context:e.context,disabled:e.disabled,fields:t,lang:e.lang,onValueChange:e.onValueChange,style:e.style,translations:e.translations,value:e.value,children:e.children})}import{jsx as Ze,jsxs as Ru}from"react/jsx-runtime";function Ye(e){let{field:t,list:n}=e.components;return Rt(e.fields).map((r,o)=>Ru(vu,{children:[Z(r)&&Ze(Qi,{column:r,config:e.config,context:e.context,translations:e.translations,children:Ze(Ye,{...e,fields:r.fields})}),ft(r)&&Ze(t,{disabled:e.disabled,field:r,lang:e.lang,style:e.style,translations:e.translations,children:e.children}),Oe(r)&&Ze(n,{field:r,lang:e.lang,onValueChange:e.onValueChange,translations:e.translations,value:e.value,children:i=>Ze(ea,{components:e.components,config:e.config,context:e.context,disabled:e.disabled,field:r,index:i,lang:e.lang,onValueChange:e.onValueChange,style:e.style,translations:e.translations,value:e.value,children:e.children})})]},o))}import{jsx as Tu}from"react/jsx-runtime";function ta(e){return n=>Tu(Ye,{...n,components:e})}var na=ta({field:$i,list:ji});import{useSetAtom as ra}from"jotai";import{startTransition as oa,useActionState as Au}from"react";function aa(e,t,n){let{onSuccess:r,preserveValues:o=!1,validation:i=!0,translations:a}=n??{},s=ra(ci),l=ra(ei),u={data:null,error:null,success:!1},[c,m,g]=Au(async(h,y)=>{let[N,C]=e(),P=Co(N,C,a);if(i===!1)return t?await t(y,P):h;let O=Sr(y),M=wu(O,C),_=P.safeParse(M);if(!_.success){let F=wo(_.error);return oa(()=>{s(F)}),Cn(O,{description:S("Please correct the errors and try again.",a),details:[],title:S("There were validation errors submitting the form.",a)})}let L=vr(_.data);if(t)try{let F=await t(L,P);return F.success?(r?.(F.data),o||oa(()=>{l()}),ia(L,o)):Cn(L,F.error)}catch(F){return Ve.error("Error executing form action:",F),Cn(L,{title:S("An unexpected error occurred submitting the form.",a),details:Cu(F,a)})}return ia(_.data,o)},u);return[m,c,g]}function Cu(e,t){return e instanceof Error?[e.message]:[ue("Unknown error",t)]}function ia(e,t=!1){return{data:t?e:null,error:null,success:!0}}function Cn(e,t){return{data:e,error:t,success:!1}}function wu(e,t){let n={...e};for(let r of t)if(Y(r)&&typeof n[r.name]=="string"&&n[r.name]){let o=xt(n[r.name],ie(r));o&&(n[r.name]=o)}return n}import{useMemo as ku}from"react";import{useCallback as Fn,useRef as la}from"react";import{useCallback as Fu}from"react";import{useSetAtom as wn}from"jotai";function sa(){let e=wn(ui),t=wn(ti),n=wn(Ri);return Fu((r,o)=>{let i=Array.isArray(r)?r:[r];e(i),n(i),o?.keepValue||t(i)},[e,n,t])}function ua(){let e=sa(),t=la({}),n=la([]),r=Fn((a,s,l)=>{a in t.current||(t.current[a]=s,n.current.push(l))},[]),o=Fn((a,s)=>{t.current[a]&&(delete t.current[a],n.current=n.current.filter(l=>l.name!==a),e([a],{keepValue:s?.keepValue}))},[e]);return[Fn(()=>[t.current,n.current],[]),r,o]}import{Fragment as Nu,jsx as qe,jsxs as Iu}from"react/jsx-runtime";function ca(e){let t=ku(()=>qr(e.lang,e.translations),[e.lang,e.translations]),[n,r,o]=ua(),[i,a,s]=aa(n,e.action,{onSuccess:e.onSuccess,validation:e.config.validation.submit,translations:t}),l=e.config.validation.showError&&!a.success&&a.error,u=a.data??e.value;return Iu(Nu,{children:[l&&Dt(e.config.alert,c=>qe("div",{className:"mb-4 w-full",children:qe(c,{description:a.error?.description,details:a.error?.details,title:a.error.title})})),qe(Ko,{action:i,advanced:e.advanced,config:e.config,control:e.children,definition:e.definition,isPending:s,noValidate:!0,readOnly:e.readOnly,sections:e.sections,translations:t,children:({disabled:c,fields:m})=>qe(na,{config:e.config,context:e.context,disabled:c,fields:m,lang:e.lang,onValueChange:e.onValueChange,style:e.config.style,translations:t,value:u,children:g=>qe(ki,{...g,config:e.config,context:e.context,getSchema:n,onMount:r,onUnmount:o,onValueChange:e.onValueChange,translations:t,value:u})})})]})}import{Provider as Eu}from"jotai";import{jsx as da}from"react/jsx-runtime";function Pu(e){return da(Eu,{children:da(ca,{...e})})}export{Pu as Form};
|
|
1
|
+
import{jsx as ka}from"react/jsx-runtime";function Pn(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return ka("div",{"data-slot":"field-control",className:"w-full",children:t})}import{jsx as Vn}from"react/jsx-runtime";function ke(e){return Vn("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:Vn("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"})})}import{Activity as Ia}from"react";import{createContext as Na}from"react";var tt=Na(!1);import{jsx as Dn}from"react/jsx-runtime";function De({children:e,visible:t}){return Dn(Ia,{mode:t?"visible":"hidden",children:Dn(tt,{value:!0,children:e})})}var nt="input",On="input/date",Mn="input/email",zn="input/number";var _n="input/time";var Bn="textarea",$n="radio",Gn="checkbox",Xt="list";var Un="select",Hn="select/active",Yn="select/day",qn="select/month",Zn="select/timezone",Wn="select/year";var Kn="chips",Xn="chips/day",jn="chips/month",Oe="column",Jn="description",jt="fields",Qn="label",Y="value",rt="options",Jt="email",er="number",tr="password",nr="tel",Me="text",rr="aria-errormessage",or="aria-invalid",ir="data-invalid",ar="data-readonly",sr="aria",lr="data",ot="max",ur="maxLength",it="min",cr="minLength",Ne="$ref";var dr="source",fr="state",at="http://luna.internal";var mr="type",gr={Africa:"Africa",America:"Americas",Asia:"Asia / Pacific",Atlantic:"Atlantic",Australia:"Asia / Pacific",Europe:"Europe",Indian:"Asia / Pacific",Pacific:"Asia / Pacific"};import{format as Ea,formatDistanceToNow as yr,formatDuration as La,intervalToDuration as Pa,isValid as st,parseISO as Va}from"date-fns";import{enUS as xr,es as en}from"date-fns/locale";function d(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function z(e){return e==null||e===""}function j(e){return y(e)||typeof e=="number"||Qt(e)}function y(e){return typeof e=="string"}function pr(e){return d(e)&&"url"in e}function Qt(e){return typeof e=="boolean"}var br={en:xr,"en-US":xr,es:en,"es-ES":en,"es-MX":en},Da={short:"M/d/yy",medium:"MMM d, yyyy",long:"MMMM d, yyyy",full:"EEEE, MMMM d, yyyy"},Oa={ms:1,s:1e3,min:6e4,h:36e5,d:864e5};function hr(e){if(e)return br[e]??br[e.split("-")[0]]}function lt(e){if(typeof e=="number"&&!Number.isNaN(e))return e;if(y(e)&&e.trim()!==""){let t=Number(e);return Number.isNaN(t)?null:t}return null}function Rr(e,t,n){let r=Oa[t];if(r===void 0)return String(e);let o=e*r,i=Pa({start:0,end:o});return La(i,{locale:n})}function vr(e){if(e instanceof Date)return st(e)?e:null;if(y(e)){let t=Va(e);if(st(t))return t;let n=new Date(e);return st(n)?n:null}if(typeof e=="number"){let t=new Date(e);return st(t)?t:null}return null}var Ma={currency:(e,t,n)=>{let r=lt(e);if(r===null)return String(e);let o=t[0]??"USD";return new Intl.NumberFormat(n.locale,{style:"currency",currency:o}).format(r)},percent:(e,t,n)=>{let r=lt(e);return r===null?String(e):new Intl.NumberFormat(n.locale,{style:"percent"}).format(r)},number:(e,t,n)=>{let r=lt(e);return r===null?String(e):new Intl.NumberFormat(n.locale).format(r)},date:(e,t,n)=>{let r=vr(e);if(!r)return String(e);let o=t[0]??"short",i=hr(n.locale);if(o==="relative")return yr(r,{addSuffix:!0,locale:i});let a=Da[o]??o;return Ea(r,a,{locale:i})},duration:(e,t,n)=>{let r=hr(n.locale);if(typeof e=="number")return Rr(e,t[0]??"ms",r);if(y(e)){let i=lt(e);if(i!==null)return Rr(i,t[0]??"ms",r)}let o=vr(e);return o?yr(o,{addSuffix:!0,locale:r}):String(e)}};function Sr(e,t,n){let r=t.split(":").map(s=>s.trim()).filter(s=>s.length>0);if(r.length===0)return;let[o,...i]=r,a=Ma[o];if(a)return a(e,i,n)}var za=/^\d+$/;function nn(e,t=[],n=Y){return Array.isArray(t)?t.find(r=>{let o=rn(r,n);if(o!==void 0&&`${o}`===e)return r})??{value:e}:{value:e}}function rn(e,t=Y){if(e!=null){if(Array.isArray(e)&&e.every(j)||j(e))return e;if(d(e)){let n=_a(e,t);if(j(n))return n}}}function _a(e,t){let n=V(e,t);if(j(n))return n}function Tr(e,t){if(Array.isArray(e))return e;let n=V(e,t);return Array.isArray(n)?n:null}function V(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 if(Array.isArray(r)){let i=Number(o);if(!Number.isInteger(i)||i<0||i>=r.length)return null;r=r[i]}else return null;return r}function on(e,t={description:Jn,label:Qn,value:Y}){return e.map(n=>{if(d(n)){let r=V(n,t.label),o=V(n,t.value);if(j(r)&&j(o)){let i=V(n,t.description);return{label:`${r}`,value:`${o}`,...j(i)&&{description:`${i}`}}}}return n})}function Ar(e=Me){let t=e.lastIndexOf("/"),n=t===-1?e:e.slice(t+1);return n&&n!==nt?n.trim().toLowerCase():Me}function wr(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 Cr(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 s=r[a],l=r[a+1],u=za.test(l);s in o||(o[s]=u?[]:{}),o=o[s]}let i=r[r.length-1];o[i]=e[n]}return tn(t),t}function tn(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)&&tn(o);e[t]=r}else d(n)&&tn(n)}}var Ba=/\[([^\]]{1,500})\]\(([^)]{1,2000})\)/g,$a=/{([^}]{1,200})}/,Ga=/{([^}]{1,200})}/g,Ua=/^{([^}|]{1,200})}$/;function re(e,t={},n={}){if(y(e))return Ya(e,t,n);if(Array.isArray(e))return e.map(r=>re(r,t,n));if(d(e)){let r={};for(let o in e)r[o]=re(e[o],t,n);return r}return e}function Fr(e,t={},n={}){if(y(e)){let r=Ha(e,t);if(r!==void 0)return r}return re(e,t,n)}function ze(e,t={},n={}){return he(e)?re(e,t,n):e}function he(e){return y(e)?$a.test(e):Array.isArray(e)?e.some(t=>he(t)):d(e)?Object.values(e).some(t=>he(t)):!1}function kr(e,t){return t.includes(".")?V(e,t):e[t]}function Ha(e,t){let n=Ua.exec(e);if(!n)return;let r=n[1].trim();if(!r)return;let o=kr(t,r);if(d(o)||Array.isArray(o))return o}function Ya(e,t={},n={}){return e.replace(Ga,(r,o)=>{let i=String(o).split("|").map(c=>c.trim()),[a,...s]=i;if(!a)return r;let l=kr(t,a);if(s.length===0)return j(l)?String(l):r;if(l==null)return r;let u=l;for(let c of s){let g=Sr(u,c,{locale:n.locale});if(g===void 0)return r;u=g}return String(u)})}function Nr(e,t){if(!y(e)||!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=Ba.exec(e))!==null;){let[a,s,l]=n,u=n.index;o=!0,u>r&&i.push(e.substring(r,u));let c=t?t(u,l,s):a;i.push(c),r=u+a.length}return o?(r<e.length&&i.push(e.substring(r)),i):e}var _e={error:(...e)=>{an()&&!sn()&&ut().error("[Luna Form]",...e)},warn:(...e)=>{an()&&!sn()&&ut().warn("[Luna Form]",...e)},info:(...e)=>{an()&&!sn()&&ut().info("[Luna Form]",...e)}},an=()=>typeof ut()<"u",sn=()=>!0,ut=()=>globalThis.console;function Ir(e=[],t){let n=[],r=[],o=[];for(let i of e)i.action===Y&&n.push(i),i.action===dr&&r.push(i),i.action===fr&&o.push(i);t({sources:r,states:o,values:n})}function Er(e=null,t=[],n){for(let r of t){let{target:o,source:i}=r;if(!e){n(o,void 0);continue}if(pr(i)){let a=re(i.url,e),s=i.body?re(i.body,e):i.body;n(o,{...i,url:a,body:s})}}}var Re={eq:Xa,gt:es,gte:ts,in:Ja,lt:ns,lte:rs,neq:ja,nin:Qa,contains:os,exists:Pr,empty:is,truthy:as},qa=/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2})?/,Lr=/^(\d{2})[/-](\d{2})[/-](\d{4})(?: (\d{2}):(\d{2})(?::(\d{2}))?)?$/;function Za(e){return typeof e=="string"&&qa.test(e)}function Wa(e){return typeof e=="string"&&Lr.test(e)}function Ka(e){let t=e.match(Lr);if(t){let[,n,r,o,i,a,s]=t;return new Date(Number(o),Number(r)-1,Number(n),Number(i??0),Number(a??0),Number(s??0)).getTime()}return NaN}function ce(e){return Za(e)?new Date(e).getTime():Wa(e)?Ka(e):Number(e)}function Xa(e,t){return e===t}function ja(e,t){return e!==t}function Ja(e,t){return Array.isArray(t)&&t.includes(String(e))}function Qa(e,t){return Array.isArray(t)&&!t.includes(String(e))}function es(e,t){return ce(e)>ce(t)}function ts(e,t){return ce(e)>=ce(t)}function ns(e,t){return ce(e)<ce(t)}function rs(e,t){return ce(e)<=ce(t)}function os(e,t){return typeof e=="string"?e.includes(String(t)):Array.isArray(e)?e.map(String).includes(String(t)):!1}function Pr(e){return Array.isArray(e)?e.length>0:e!=null&&e!==""}function is(e){return!Pr(e)}function as(e){return Array.isArray(e)?e.length>0:!!e}function Ie(e,t){if(t===void 0)return!0;if(y(t)){let n=ct(e,Y);return Array.isArray(n)?n.length===1&&n[0]===t:n===t}if(Qt(t)){let n=ct(e,Y);return(Array.isArray(n)?n.length>0:!!n)===t}if(Array.isArray(t)){let n=ct(e,Y);return Array.isArray(n)?n.some(r=>t.includes(String(r))):t.includes(String(n))}return ss(e,t)}function ss(e=null,t){let n=ct(e,t.field??Y),{operator:r="eq",value:o}=t,i=Re[r];return i?i(n,o):!1}function ct(e,t){return d(e)?V(e,t):e}function Vr(e=null,t=[],n){for(let r of t){let{target:o,state:i,when:a}=r,s=Array.isArray(o)?o:[o];if(!e){n(s);continue}let l=Ie(e,a);n(s,l?i:void 0)}}function Dr(e=null,t=[],n){for(let r of t)for(let[o,i]of Object.entries(r.value))n(o,e?Fr(i,e):void 0,{onlyIfTargetEmpty:r.onlyIfTargetEmpty??!1})}var Be=e=>N(Hn)(e),Or=e=>N(Yn)(e),dt=e=>N(qn)(e),ft=e=>N(Wn)(e),Mr=e=>N(Zn)(e),mt=e=>N(Xn)(e),gt=e=>N(jn)(e),q=N(On),oe=N(_n),B=N(Gn),J=N(Kn),ie=N($n),de=N(nt),Q=N(Un),ln=N(Bn),zr=N(Me,Jt,tr,nr),_r=N(Mn,Jt),pt=N(zn,er);function yt(e){return ie(e)||B(e)}function $e(e){return e.type===Xt}function Z(e){return e.type===Oe}function xt(e){return e.type!==Oe&&e.type!==Xt}function Ee(e){return Q(e)||ie(e)||J(e)}function Br(e){return de(e)||ln(e)}function T(e){return e!=null&&e!==""}function N(...e){return t=>{let n=y(t.type)?t.type:void 0;return n?e.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function $r(e,t={}){if(Q(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&d(n))return[n]}}function Gr(e){return ie(e)||B(e)?!0:e.advanced?.horizontal??!1}function Ur(e){return B(e)?e.advanced?.reverse!==!1:!1}function Hr(e,t){let n=e.readonly??!1;return t||n}function bt(e){if(ls(e)){let t=e.source;if(Array.isArray(t)||d(t)&&!(Ne in t))return t}}function Yr(e){return Array.isArray(bt(e))}function ls(e){return ie(e)||J(e)||Q(e)&&!e.disabled}import{isValid as ht,parse as Rt,format as vt}from"date-fns";var us=/^\d+$/,St=new Date(2e3,0,1),cs=()=>"supportedValuesOf"in Intl?Intl.supportedValuesOf("timeZone"):[],un="default";function Wr(e){if(!e)return un;try{return Intl.getCanonicalLocales(e)[0]??un}catch{return un}}function cn(e){let t=Wr(e);return Array.from({length:12},(n,r)=>({value:(r+1).toString(),label:new Date(0,r).toLocaleString(t,{month:"long"})}))}function dn(e){let t=Wr(e);return Array.from({length:7},(n,r)=>({value:r.toString(),label:new Date(2e3,0,2+r).toLocaleString(t,{weekday:"long"})}))}function Kr(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 fn(){return new Date().getFullYear()}function ds(){return Intl.DateTimeFormat().resolvedOptions().timeZone}function fs(e){let t=e.indexOf("/"),n=t===-1?e:e.slice(0,t);return gr[n]??"Other"}function ms(e,t){return(e.find(r=>r.type==="timeZoneName")?.value??t).replace(/\s+(?:Standard|Daylight(?: Saving)?|Summer|Winter)\s+Time$/,"")}function qr(e,t){let n=new Intl.DateTimeFormat("en",{timeZone:e,timeZoneName:"longOffset"}).formatToParts(t),r=new Intl.DateTimeFormat("en",{timeZone:e,timeZoneName:"long"}).formatToParts(t),i=(n.find(s=>s.type==="timeZoneName")?.value??"GMT+00:00").replace("GMT","UTC"),a=ms(r,e);return{offset:i,longName:a}}function Zr(e){return e.slice(e.lastIndexOf("/")+1).replace(/_/g," ")}function Xr(){let e=new Date,t=ds(),n=new Map,r=Zr(t),{offset:o,longName:i}=qr(t,e),a={value:t,label:`${r} - ${i} (${o})`};for(let l of cs()){if(l===t)continue;let u=Zr(l),{offset:c,longName:g}=qr(l,e),f={value:l,label:`${u} - ${g} (${c})`},v=fs(l);if(v==="Other")continue;let h=n.get(v);h?h.push(f):n.set(v,[f])}for(let l of n.values())l.sort((u,c)=>u.label.localeCompare(c.label));let s=Array.from(n.entries()).sort(([l],[u])=>l.localeCompare(u)).map(([l,u])=>({label:l,items:u}));return[{label:"Suggested",items:[a]},...s]}function mn(e,t){if(typeof e=="number")return e;let n=t??fn(),r=e.trim().toLowerCase();if(r.startsWith("current")){let o=r.match(/^current([+-])(\d+)$/);if(o){let[,i,a]=o,s=parseInt(a,10);if(!isNaN(s))return i==="+"?n+s:n-s}return n}return us.test(r)?parseInt(r,10):n}function Tt(e,t){if(!e)return"";try{let n=Rt(e,t,St);return ht(n)?vt(n,"yyyy-MM-dd"):""}catch{return""}}function jr(e,t){if(!e)return"";try{let n=Rt(e,t,St);return ht(n)?vt(n,"HH:mm:ss"):""}catch{return""}}function Jr(e,t="HH:mm"){if(!e)return"";try{let n=e.split(":").length===3?"HH:mm:ss":"HH:mm",r=Rt(e,n,St);return ht(r)?vt(r,t):""}catch{return""}}function At(e,t="MMMM d, yyyy"){if(!e)return"";try{let n=Rt(e,"yyyy-MM-dd",St);return ht(n)?vt(n,t):""}catch{return""}}function ve(e){return e.advanced?.format??"HH:mm"}function ae(e){return e.advanced?.format??"MMMM d, yyyy"}var gs={es:{"(Optional)":"(Opcional)","Add item":"A\xF1adir elemento","An unexpected error occurred submitting the form.":"Ocurri\xF3 un error inesperado al enviar el formulario.","Collapse {label} {index}":"Contraer {label} {index}","Expand {label} {index}":"Expandir {label} {index}","Please correct the errors and try again.":"Corrige los errores e int\xE9ntalo de nuevo.","Remove {label} item {index}":"Eliminar {label} {index}","There were validation errors submitting the form.":"Se encontraron errores de validaci\xF3n al enviar el formulario.","Unknown error":"Error desconocido",No:"No",Yes:"S\xED"}};function W(e,t){return A(e,t)}function eo(e,t){let n=t?.[e??""],r=e?gs[ps(e)]:void 0;return r?n?{...r,...n}:r:n}function ps(e){return e.toLowerCase().split(/[-_]/)[0]}function A(e,t){return e?t?t[e]??e:e:""}function ee(e,t){return e?A(e,t):void 0}function Ge(e,t){if(!t)return e;let n=!1,r=e.map(o=>{let i=ys(o,t);return i!==o&&(n=!0),i});return n?r:e}function ys(e,t){if(!d(e))return e;let n=Qr(e.label,t),r=e.items;if(Array.isArray(r)){let i=Ge(r,t);return i===r&&n===e.label?e:{...e,...n!==void 0&&{label:n},items:i}}let o=Qr(e.description,t);return n===e.label&&o===e.description?e:{...e,...n!==void 0&&{label:n},...o!==void 0&&{description:o}}}function Qr(e,t){return y(e)?A(e,t):e}var wt=fn();function no(e,t){if(J(e))return xs(e,t?.lang)}function xs(e,t){if(mt(e))return dn(t);if(gt(e))return cn(t)}function ro(e,t){if(Q(e))return bs(e,t)}function bs(e,t){let{lang:n,translations:r}=t??{};if(Or(e))return dn(n);if(dt(e))return cn(n);if(ft(e)){let o=e.advanced?.length?.min??wt,i=e.advanced?.length?.max??wt+5;return Kr(mn(o,wt),mn(i,wt))}if(Mr(e))return Xr();if(Be(e))return Ge([{value:"true",label:"Yes"},{value:"false",label:"No"}],r)}function oo(e,t=!1,n){let r={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return de(e)?{...r,...hs(e)}:Q(e)?{...r,...io(ro(e,n))}:ln(e)?{...r,...vs(e)}:J(e)?{...r,...Rs(e,n)}:r}function hs(e){let t=Ar(e.type),n={...e,type:t};return{...Ts(e),...ao(e),...Ss(n),...zr(n)?so(n):{},type:t}}function io(e){return e?{options:e}:{}}function Rs(e,t){let n=io(no(e,t)),r=e.advanced?.multiple??!0;return{...n,multiple:r}}function vs(e){return{...ao(e),...so(e)}}function ao(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function Ss(e){return pt(e)?As(e):{}}function Ts(e){if(oe(e)){let t=ve(e);return{step:t==="HH:mm:ss"||t==="hh:mm:ss a"?"1":"60"}}return{}}function so(e){return lo(e,{min:cr,max:ur})}function As(e){return lo(e,{min:it,max:ot})}function lo(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 uo(e,t){let n=bt(e);return n||$r(e,t)}function ws(e,t){let n=d(t)&&e.name in t?t[e.name]:t,r=rn(n,e.advanced?.entity),o=T(r)?r:e.defaultValue;return oe(e)&&T(o)?Cs(e,o):q(e)&&T(o)?Is(e,o):o}function Cs(e,t){let n=ve(e);return y(t)?jr(t,n):t}function Fs(e,t,n){return Ee(e)&&Array.isArray(n)?{...t,[rt]:n}:t}function ks(e,t,n){if(e.required&&!T(n)&&Q(e)&&e.advanced?.preselected!==!1&&rt in t){let r=t[rt];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function Ns(e,t,n){if(Ee(e)&&Array.isArray(t)){let r=on(t,e.advanced?.options);return Yr(e)?Ge(r,n):r}return t}function co(e,t,n,r,o){let i=ws(e,r),a=Array.isArray(n)?Ns(e,n,o):n,s=Fs(e,t,a),l=ks(e,s,i);return{commonPropsWithOptions:s,defaultValue:l}}function fo(e,t){return B(e)?{checked:T(t)?t:!1}:J(e)?{value:Array.isArray(t)?t:[]}:q(e)&&y(t)&&T(t)?{value:At(t,ae(e))}:Be(e)?{value:T(t)?String(t):""}:{value:t??""}}function Is(e,t){let n=ae(e);return y(t)?Tt(t,n):t}function mo(e,t){let n=e??t;return n?{"data-format":n}:{}}function to(e){let t=[];for(let n of e){if(typeof n=="string"){t.push(n);continue}d(n)&&"value"in n&&"label"in n&&y(n.value)&&y(n.label)&&t.push({label:n.label,value:n.value})}return t}function go(e,t){if(!Ee(e))return;let n=J(e)?no(e,t):ro(e,t);if(Array.isArray(n)){let o=to(n);return o.length>0?o:void 0}let r=bt(e);if(Array.isArray(r)){let o=on(r,e.advanced?.options),i=to(Ge(o,t?.translations));return i.length>0?i:void 0}}function po(e,t){let n=String(e);for(let r of t)if(typeof r=="string"){if(r===n)return r}else if(r.value===n)return r.label;return n}var Es=/^#\/definition\//;function Ft(e=[],t){let n=Ct(e,t);return Array.isArray(n)?n.filter(Ps).sort((r,o)=>yo(r)-yo(o)):[]}function Ct(e,t,n=new Map,r=new WeakSet){if(!Ls(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=>Ct(i,t,n,r));if(Ne in e&&y(e[Ne])){let i=e[Ne].replace(Es,""),a=V(t,i);return a!==null?Ct(a,t,n,r):e}let o={};for(let[i,a]of Object.entries(e))o[i]=Ct(a,t,n,r);return r.delete(e),n.set(e,o),o}function xo(e){return Object.entries(e??{})}function yo(e){return e.order??Number.MAX_VALUE}function Ls(e){return e!==void 0&&d(e)&&Object.keys(e).length>0}function Ps(e){return mr in e?!0:Array.isArray(e[jt])?e[jt].length>0:!0}function bo(e,t){let n={};for(let[r,o]of xo(t))n[`${e}-${r}`]=o;return n}function Vs(e){return bo(sr,e)}function Ds(e){return bo(lr,e)}function ho(e,t){let n=Vs(e.advanced?.aria);return t&&t.length>0&&(n[or]="true",n[rr]=`${e.name}-error`),n}function Ro(e){return Ds(e.advanced?.data)}var vo={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},So={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function To(e,t=2){return vo[e&&e in vo?e:t]}function Ao(e){if(e&&e in So)return So[e]}function Os(e,t){let n=e.advanced?.length?.min??1;if(t){let r=V(t,e.name);if(Array.isArray(r))return Math.max(r.length,n)}return Math.max(n,0)}function wo(e){return!Array.isArray(e.fields)||e.fields.length===0?!1:e.fields.length>1||e.fields[0].type===Oe}function Co(e,t){let n=Os(e,t);return Array.from({length:n},(r,o)=>o)}function Fo(e){return e.advanced?.title??e.label??e.name}function ko(e){let t={};for(let n of e)if(Z(n))for(let r of n.fields)t[r.name]=r;else t[n.name]=n;return t}function kt(e,t){if(!e.includes("/"))return e;let[n,r]=e.split("/"),o=new RegExp(`(^|.*\\.)(${n}\\.\\d+\\.)`),i=t.match(o);return i?`${i[0]}${r}`:r}import{z as w}from"zod";var Ms=[[B,No],[_r,zs],[pt,$s],[ie,_s],[Be,No],[dt,Us],[ft,Gs],[J,gn],[mt,gn],[gt,gn]];function Lo(e,t=[],n){let r=w.object(e);if(t.length===0)return r;let o=Zs(r,t,n);return Xs(o,t,n)}function Po(e){let t={},n=w.flattenError(e).fieldErrors;for(let[r,o]of Object.entries(n))o!==void 0&&(t[r]=o);return t}function Vo(e,t){for(let[n,r]of Ms)if(n(e))return r(e,t);return Bs(e,t)}function zs(e,t){let n=w.string().trim();if(e.required){let r=fe(e,t),o=n.min(1,r).pipe(Io(e,t));return w.preprocess(i=>z(i)?"":i,o)}return n.pipe(Io(e,t)).or(w.literal("")).nullable()}function No(e,t){let n=w.preprocess(r=>{if(typeof r=="string"){if(r==="true")return!0;if(r==="false")return!1}return r},w.coerce.boolean());return e.required?(B(e)?n=n.refine(r=>r===!0,{message:fe(e,t)}):n=n.refine(r=>typeof r=="boolean",{message:fe(e,t)}),w.preprocess(r=>r===null?!1:r,n)):n.nullable()}function _s(e,t){let n=w.coerce.string();return e.required?(n=n.min(1,fe(e,t)),w.preprocess(r=>z(r)?"":r,n)):n.or(w.literal("")).nullable()}function Bs(e,t){let n=w.coerce.string().trim();return n=Do(n,e,t),e.required?(n=Oo(n,e,t),w.preprocess(r=>z(r)?"":r,n)):n.nullable()}function $s(e,t){let n=w.coerce.number().int();return n=Do(n,e,t),e.required?(n=Oo(n,e,t),w.preprocess(r=>r===null?void 0:r,n)):n.nullable()}function Gs(e,t){return e.required?w.preprocess(Hs,w.coerce.number({message:fe(e,t)}).int()):w.coerce.number().int().nullable()}function Us(e,t){let n=fe(e,t),r=w.coerce.number().int().min(1,n).max(12,n);return e.required?r:r.nullable()}function Hs(e){return e===null||e===""?void 0:e}function Io(e,t){let n=e.validation?.email?A(e.validation?.email,t):void 0;return w.email(n)}function Do(e,t,n){return e=Ys(e,t,n),e=qs(e,t,n),e}function Oo(e,t,n){let r=t.advanced?.length?.min;return r===void 0||r<1?e.min(1,fe(t,n)):e}var Ys=(e,t,n)=>Mo(e,t,it,n),qs=(e,t,n)=>Mo(e,t,ot,n);function Mo(e,t,n,r){let o=t.advanced?.length?.[n];if(o!==void 0){let i=t.validation?.length?.[n]?A(t.validation?.length?.[n],r):void 0;return e[n](o,i)}return e}function Zs(e,t=[],n){let r=Ks(t);return r.length===0?e:e.superRefine((o,i)=>{for(let{name:a,rule:s}of r)if(!Ws(o,a,s)){let l=A(s.message,n);i.addIssue({code:"custom",message:l,path:[a]})}})}function Ws(e,t,n){let r=n.operator??"eq",o=Re[r];return o?o(Nt(e,t),Nt(e,n.field)):!1}function Ks(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 zo(e,t,n,r){let o=[],i=Array.isArray(t)?t:[t];for(let a of i){let s=a.operator??"eq",l=Re[s];if(l&&!l(e,n(a.field))&&a.message){let u=A(a.message,r);o.push(u)}}return o}function fe(e,t){return e.validation?.required?A(e.validation?.required,t):void 0}function gn(e,t){let n=w.array(w.string());return e.required&&(n=n.min(1,fe(e,t))),w.preprocess(r=>z(r)?[]:Array.isArray(r)?r.map(String):[String(r)],n)}function Xs(e,t=[],n){let r=t.filter(js);return r.length===0?e:e.superRefine((o,i)=>{let a=d(o)?o:{};for(let s of r)for(let l of Js(a,s,n))i.addIssue({code:"custom",path:l.path,message:l.message})})}function js(e){let t=e.validation;return t!==void 0&&(t.requiredWhen!==void 0||t.pattern!==void 0||t.rules!==void 0)}function Js(e,t,n){let r=[],o=Nt(e,t.name),i=t.validation?.requiredWhen;if(i){let l=(Array.isArray(i)?i:[i]).find(u=>Ue(e,u));l&&!pn(o)&&r.push({path:[t.name],message:ee(l.message??t.validation?.required,n)})}let a=t.validation?.pattern;a&&!_o(a,o)&&r.push({path:[t.name],message:ee(a.message,n)});for(let s of t.validation?.rules??[])Qs(e,s.when)&&!el(s,o)&&r.push({path:[t.name],message:ee(s.message,n)});return r}function Ue(e,t){let n=Re[t.operator??"eq"];return n?n(Nt(e,t.field),t.value):!1}function Nt(e,t){return t in e?e[t]:V(e,t)??void 0}function Qs(e,t){if(!t)return!0;if(Array.isArray(t))return t.every(o=>Ue(e,o));if("field"in t)return Ue(e,t);let n=t.all?t.all.every(o=>Ue(e,o)):!0,r=t.any?t.any.some(o=>Ue(e,o)):!0;return n&&r}function el(e,t){switch(e.assert){case"required":return pn(t);case"minItems":return Array.isArray(t)&&t.length>=Number(e.value);case"maxItems":return Array.isArray(t)&&t.length<=Number(e.value);case"min":return Eo(t)>=Number(e.value);case"max":return Eo(t)<=Number(e.value);case"oneOf":return Array.isArray(e.value)&&e.value.map(String).includes(String(t));case"pattern":return nl(e.value)?_o(e.value,t):!0;default:return!0}}function _o(e,t){return!pn(t)||typeof t!="string"||e.allowInterpolation&&(he(t)||tl(t))?!0:new RegExp(e.regex,e.flags).test(t)}function tl(e){return y(e)&&e.trimStart().startsWith("@")}function pn(e){return y(e)?e.trim().length>0:Re.exists(e,void 0)}function Eo(e){return typeof e=="number"?e:y(e)||Array.isArray(e)?e.length:0}function nl(e){return d(e)&&"regex"in e}function Bo(e,t){if(!t||!ol(e))return!0;if(t.length===0)return!1;try{let n=new URL(e),r=n.protocol.replace(":",""),o=n.hostname,i=n.port||rl(r);return t.some(a=>!(a.protocol&&a.protocol!==r||a.hostname&&a.hostname!==o||a.port!==void 0&&String(a.port)!==i))}catch{return!1}}function rl(e){return e==="https"?"443":"80"}function ol(e){return/^(https?:)?\/\//.test(e)}function $o(e,t){try{if(!e)return t;if(!t)return e;let n=new URL(e,at);new URL(t,at).searchParams.forEach((i,a)=>{n.searchParams.set(a,i)});let o=n.toString();return e.startsWith("/")||!e.includes("://")?o.replace(at,""):o}catch{return t||e}}function Go(e){return!Array.isArray(e)||e.length===0?null:e.reduce((t,n)=>{let r=$o(t.url,n.url),o=il(t,n),i=al(t,n);return{...t,...n,url:r,body:o,headers:i}})}function il(e,t){return d(t.body)&&d(e?.body)?{...e.body,...t.body}:t.body??e?.body}function al(e,t){return d(t.headers)&&d(e?.headers)?{...e.headers,...t.headers}:t.headers??e?.headers}function It(e,t){return{...e,...t}}var sl={uppercase:e=>e.toUpperCase(),lowercase:e=>e.toLowerCase(),"remove-space":e=>e.replace(/\s+/g,""),"remove-accent":e=>e.normalize("NFD").replace(/[\u0300-\u036f]/g,"")};function He(e,t){return!t||!y(e)||z(e)?e:(Array.isArray(t)?t:[t]).reduce((r,o)=>{let i=sl[o];return i?i(r):r},e)}import{jsx as ll}from"react/jsx-runtime";function se(e){return Nr(e,(t,n,r)=>ll("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${t}`))}import{useCallback as ul,useState as cl}from"react";import{jsx as Ye,jsxs as yn}from"react/jsx-runtime";function Uo(e){let{fields:t=[]}=e.section,[n,r]=cl(!1),o=ul(()=>r(i=>!i),[]);return yn("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:[Ye("legend",{children:yn("button",{className:"flex cursor-pointer items-center gap-2 text-base font-medium text-zinc-600 dark:text-zinc-400",onClick:o,type:"button",children:[Ye(ke,{expanded:n}),Ye("span",{children:se(e.title)})]})}),Ye(De,{visible:n,children:yn("div",{className:"mt-3 ml-1.5 flex flex-col gap-4 border-l-2 border-zinc-300 pl-4 dark:border-zinc-600","data-slot":"field-set-content",children:[e.description&&Ye("p",{className:"text-sm leading-normal font-normal text-zinc-600 dark:text-zinc-400",children:se(e.description)}),e.group]})})]})}import{jsx as Et,jsxs as Ho}from"react/jsx-runtime";function Yo(e){let t=Ho("div",{className:"flex flex-col",children:[e.title&&Et("legend",{className:"mb-3 font-medium text-zinc-800 dark:text-zinc-200",children:se(e.title)}),e.description&&Et("p",{className:"-mt-2 text-sm leading-normal font-normal text-zinc-600 dark:text-zinc-400",children:se(e.description)})]});return e.step?Ho("div",{className:"flex flex-row items-start gap-4",children:[Et("div",{className:"bg-primary text-primary-foreground flex size-6 shrink-0 items-center justify-center rounded-full",children:Et("span",{className:"text-sm font-bold",children:e.step})}),t]}):t}import{jsx as qo,jsxs as dl}from"react/jsx-runtime";function Lt(e){return dl("fieldset",{className:"flex w-full min-w-0 flex-col data-[empty=false]:gap-6","data-empty":e.empty,"data-slot":"field-set",id:e.id,children:[qo(Yo,{description:e.description,step:e.step,title:e.title}),qo("div",{className:"w-full min-w-0",children:e.children})]})}import{jsx as fl}from"react/jsx-runtime";function me(e){return fl("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 xn}from"react/jsx-runtime";function Zo(e){let{fields:t=[]}=e.section,n=e.advanced?.step?e.step:void 0,{compact:r}=It(e.style,{compact:e.section.advanced?.compact}),o=xn(me,{compact:r,children:e.children});if(!e.section.title&&!e.section.description)return o;let i=ee(e.section.title,e.translations),a=ee(e.section.description,e.translations);return e.section.advanced?.collapsible?xn(Uo,{description:a,group:o,section:e.section,title:i}):xn(Lt,{description:a,empty:t.length===0,id:e.section.id?.toString(),step:n,title:i,children:o})}import{jsx as Wo}from"react/jsx-runtime";function Ko(){return Wo("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:Wo("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-zinc-200 dark:bg-zinc-800"})})}import{useAtomValue as xl}from"jotai";import{atom as Se}from"jotai";import{atomFamily as Xo}from"jotai-family";import{deepEqual as bn}from"fast-equals";function Pt(e,t){let{[t]:n,...r}=e;return r}function ml(e){return Xo(t=>Se(n=>n(e)[t]??void 0,(n,r,o)=>{let i=n(e);if(o!=null){let a=i[t];bn(a,o)||r(e,{...i,[t]:o})}else t in i&&r(e,Pt(i,t))}))}function gl(e){return Se(null,(t,n)=>{let r=t(e);r&&Object.keys(r).length>0&&n(e,{})})}function pl(e){return Se(null,(t,n,r)=>{let i={...t(e)},a=!1;for(let s of r)s in i&&(delete i[s],a=!0);a&&n(e,i)})}function yl(e){return Se(null,(t,n,r)=>{let o=t(e);bn(o,r)||n(e,r)})}function jo(e,t={}){let{merge:n,validateTarget:r}=t;return Xo(o=>Se(i=>{let a=i(e)[o];if(a&&n)return n(Object.values(a))},(i,a,s,l)=>{if(r&&!r(s))return;let u=i(e),c={...u[s]??{}};if(l!=null){let g=c[o];(!g||!bn(g,l))&&(c[o]=l,a(e,{...u,[s]:c}))}else o in c&&(delete c[o],Object.keys(c).length===0?a(e,Pt(u,s)):a(e,{...u,[s]:c}))}))}function Jo(e){return Se(null,(t,n,r)=>{let i={...t(e)},a=!1;for(let s of r)s in i&&(delete i[s],a=!0);for(let s in i){let l={...i[s]},u=!1;for(let c of r)c in l&&(delete l[c],u=!0,a=!0);u&&(Object.keys(l).length===0?delete i[s]:i[s]=l)}a&&n(e,i)})}function le(e={}){let t=Se(e);return{atom:t,clearAll:gl(t),clear:pl(t),bulkReport:yl(t),report:ml(t)}}var Qo=le(),Vt=Qo.atom,Dt=Qo.report;function bl(e,t){return e.fields.every(n=>ei(n,t))}function ei(e,t){return t[e.name]?.hidden??e.hidden??!1}function hl(e,t){return Z(e)?bl(e,t):ei(e,t)}function Ot(e){let t=xl(Vt);return e.container&&(t[e.container.name]?.hidden??e.container.hidden??!1)||e.fields.length===0||e.fields.every(r=>hl(r,t))?null:e.children}import{jsx as qe,jsxs as ti}from"react/jsx-runtime";function ni(e){let t=Ft(e.sections,e.definition);return qe("div",{className:"h-full w-full",children:qe("form",{noValidate:e.noValidate,action:e.action,children:ti(me,{children:[t.map((n,r)=>ti(Ot,{fields:n.fields??[],children:[qe(Zo,{advanced:e.advanced,section:n,step:r+1,style:e.config.style,translations:e.translations,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.advanced?.separator&&qe(Ko,{})]},`key-${n.id}-${r}`)),e.control&&qe(Pn,{isPending:e.isPending,children:e.control})]})})})}import{jsx as Rl}from"react/jsx-runtime";function ri(e){return Rl("p",{className:"-mt-2 text-xs leading-normal font-normal text-zinc-600 dark:text-zinc-400 [[data-slot=column]_&]:md:line-clamp-2",title:e.title,children:e.children})}import{useState as vl}from"react";import{jsx as oi,jsxs as ii}from"react/jsx-runtime";function Mt(e){let t={context:e.context,env:e.config?.env,value:e.value},r={locale:e.config?.env?.locale},[o,i]=vl(()=>d(e.text)&&"collapsed"in e.text?!e.text.collapsed:!0),a=()=>i(c=>!c),s=d(e.text)&&y(e.text.title)?se(A(ze(e.text.title,t,r),e.translations)):void 0,l=A(ze(y(e.text)?e.text:e.text?.message,t,r),e.translations),u=se(l);return u?ii("div",{className:"flex flex-col gap-2",children:[s&&ii("button",{className:"flex items-center gap-1 text-left text-xs font-medium text-zinc-700 hover:text-zinc-900 dark:text-zinc-300 dark:hover:text-zinc-100",onClick:a,type:"button",children:[s,oi(ke,{expanded:o})]}),o&&oi(ri,{title:l,children:u})]}):null}import{atom as ai}from"jotai";var zt=le(),U=zt.atom,si=zt.clearAll,li=zt.clear,ge=zt.report,hn=ai({}),Rn=ai(null);import{useAtomValue as ui}from"jotai";import{jsx as Sl}from"react/jsx-runtime";function _t(e){let t=ui(ge(e.field.name)),r=ui(Dt(e.field.name))?.description??e.field.description;return Sl(Mt,{config:e.config,context:e.context,text:r,translations:e.translations,value:t})}import{twMerge as Tl}from"tailwind-merge";import{jsx as ci,jsxs as Al}from"react/jsx-runtime";function di(e){let t=e.style?.showOptionalLabel??!0,n=ie(e.field)||B(e.field);return Al("label",{"data-slot":"field-label","data-normal":n,className:Tl("flex w-fit items-center text-sm leading-snug font-medium select-none","data-[normal=true]:font-normal [[data-slot=column]_&]:md:w-full","group-data-[readonly=true]:cursor-not-allowed group-data-[readonly=true]:opacity-50"),htmlFor:e.field.name,title:y(e.children)?e.children:void 0,children:[ci("span",{className:"[[data-slot=column]_&]:md:truncate",children:e.children}),t&&!e.field.required&&ci("span",{className:"ml-2 flex-shrink-0 text-sm text-zinc-600 dark:text-zinc-400",children:W("(Optional)",e.translations)})]})}import{jsx as fi,jsxs as wl}from"react/jsx-runtime";function mi(e){let t={context:e.context,env:e.config?.env},n=ze(e.field.label,t);return wl("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[fi(di,{field:e.field,style:e.config?.style,translations:e.translations,children:A(n,e.translations)}),e.horizontal===!0&&fi(_t,{config:e.config,context:e.context,field:e.field,translations:e.translations})]})}import{Fragment as Cl,jsx as gi,jsxs as Fl}from"react/jsx-runtime";function pi(e){return Fl(Cl,{children:[e.field.name&&e.field.label&&gi(mi,{config:e.config,context:e.context,field:e.field,horizontal:e.horizontal,translations:e.translations}),e.children,e.horizontal===!1&&gi(_t,{config:e.config,context:e.context,field:e.field,translations:e.translations})]})}function Bt(e,t){return e?t(e):null}var Ze={found:!1,value:void 0};function We(e,t){if(!Array.isArray(t)&&e in t)return{found:!0,value:t[e]};if(!e.includes("."))return Ze;let n=e.split("."),r=t;for(let o of n){if(r==null)return Ze;if(Array.isArray(r)){let i=Number(o);if(!Number.isInteger(i)||!(i in r))return Ze;r=r[i]}else if(d(r)){if(!(o in r))return Ze;r=r[o]}else return Ze}return{found:!0,value:r}}function K(e,t){return We(e,t).value}import{useCallback as Zl,useEffect as Wl,useRef as Kl}from"react";import{createContext as kl}from"react";var Nl=e=>e,pe=kl(Nl);var vn=le(),yi=vn.clear,xi=vn.bulkReport,$t=vn.report;var bi=le(),hi=bi.atom,Ri=bi.report,vi=le(),Si=vi.atom,Ti=vi.report;import{use as Ol,useCallback as Fi,useRef as Ke,useTransition as Ml}from"react";import{use as Il,useEffect as El,useEffectEvent as Ai,useMemo as Ll}from"react";function wi(e,t,n,r){let{name:o}=e,i=Ll(()=>Vo(e,r),[e,r]),a=Il(tt),s=Ai(u=>{u&&t(u,i,e)}),l=Ai(u=>{u&&n(u,{keepValue:a})});return El(()=>(s(o),()=>{l(o)}),[o]),i}import{useSetAtom as Le,useStore as zl}from"jotai";import{useCallback as Pl,useEffect as Vl,useRef as Dl}from"react";function Ci(){let e=Dl(null);return Vl(()=>()=>{e.current&&clearTimeout(e.current)},[]),Pl((n,r)=>{e.current&&(clearTimeout(e.current),e.current=null),e.current=setTimeout(n,r)},[])}function _l(e){return document.activeElement?.getAttribute("name")===e}function Bl(e){return Array.isArray(e)&&e.every(d)}function ki(e,t){let n=zl(),r=e.field.advanced?.entity,o=Ci(),[,i]=Ml(),a=Ol(pe),{setValue:s,shouldSkipOnChange:l,value:u,setSource:c}=t,g=Ke(u);g.current=u;let f=Ke(e.translations);f.current=e.translations;let v=yt(e.field),h=Le(U),I=Le(Vt),C=Le($t(e.field.name)),E=Le(hn),L=Le(Rn),D=Le(hi),O=wi(e.field,e.onMount,e.onUnmount,e.translations),P=A(e.commonProps.placeholder,e.translations),F={...e.commonProps,placeholder:P};function te(m){let[,p]=e.getSchema();return p.find(b=>b.name===m)}function ue(m){let p=te(m);if(p&&de(p)){let b=p.advanced?.transform;if(b)return b}}function Te(m,p){if(h(b=>({...b,[m]:p})),E(b=>({...b,[m]:p})),e.onValueChange){let b=te(m);b&&e.onValueChange({name:a(m),type:b.type,value:p})}}let Ae=Ke(null);Ae.current=m=>{if(e.field.advanced?.transient)return;let p=de(e.field)?He(m,e.field.advanced?.transform):m;s(p),e.onValueChange&&e.onValueChange({name:a(e.field.name),type:e.field.type,value:p})};let we=Ke(null);we.current=m=>{let p=e.field.event?.change;p&&Ir(p,({sources:b,states:k,values:ne})=>{i(()=>{Er(m,b,(G,M)=>{c(kt(G,e.field.name),M)}),Vr(m,k,(G,M)=>{let Ce=G.map(_=>kt(_,e.field.name));I(_=>M?Ce.reduce((X,xe)=>({...X,[xe]:M}),_):Ce.reduce((X,xe)=>Pt(X,xe),_));let H=M?.hidden===!0?Ce:M===void 0?Ce.filter(_=>te(_)?.hidden===!0):[];H.length>0&&h(_=>{let X=!1,xe={..._};for(let be of Object.keys(_))H.some(Fe=>be===Fe||be.startsWith(`${Fe}.`))&&(delete xe[be],X=!0);return X?xe:_})})}),Dr(m,ne,(G,M,Ce)=>{let H=kt(G,e.field.name);if(n.get(Si)[H]){Bl(M)&&D(Fe=>({...Fe,[H]:M}));return}let _=ue(H),X=_?He(M,_):M,be=n.get(U)[H];if(Ce.onlyIfTargetEmpty&&!z(be)){let Fe=n.get(hn)[H];if(!Object.is(Fe,be))return}if(X!==be){if(_l(H)){L({target:H,value:X});return}Te(H,X)}})})};let R=Fi(m=>{let b=O.safeParse(m).error?.issues.map(G=>G.message)??[],k=e.field.validation?.custom,ne=k?zo(m,k,G=>n.get(ge(G)),f.current):[];C([...b,...ne])},[e.field.validation?.custom,O,C,n]),x=Ke(null);x.current=()=>{let m=n.get(Rn);m?.target===e.field.name&&(L(null),z(n.get(U)[m.target])&&Te(m.target,m.value))};let S=Fi(m=>{if(!v){let p=m.target.value;e.config.validation.blur&&R(p)}x.current?.()},[v,e.config.validation.blur,R]);return{applyChangeEventsRef:we,commonProps:F,entity:r,hasClickable:v,onBlur:S,onValueChangeRef:Ae,setTimeoutRef:o,shouldSkipOnChange:l,validated:R,valueRef:g}}import{deepEqual as $l}from"fast-equals";import{useAtom as Gl}from"jotai";import{use as Ul,useCallback as Hl,useEffect as Yl,useRef as ql,useEffectEvent as Ni}from"react";function Ii(e,t){let{name:n}=e,r=ql(!1),[o,i]=Gl(ge(n)),a=Ul(pe),s=Ni((c,g=!1)=>{let f=de(e)?He(c,e.advanced?.transform):c;!g&&!$l(o,f)&&(r.current=!0),i(f)}),l=Ni(c=>{let{found:g,value:f}=We(a(n),c);if(T(f)){s(f);return}if(T(e.defaultValue)){s(e.defaultValue,!0);return}g&&s(f)});Yl(()=>{if(t){l(t);return}T(e.defaultValue)&&s(e.defaultValue,!0)},[t,e.defaultValue]);let u=Hl(()=>r.current?(r.current=!1,!0):!1,[]);return{setValue:i,shouldSkipOnChange:u,value:o}}import{jsx as Ei}from"react/jsx-runtime";function Li(e){let{useSource:t,useExtraProps:n,getValue:r,shouldSkipChange:o,dispatchChange:i,buildInitialSelected:a,isInitialReady:s}=e.strategies,{setValue:l,shouldSkipOnChange:u,value:c}=Ii(e.field,e.value),{data:g,setSource:f,isStaticSource:v}=t(e.field,e.config,c),{applyChangeEventsRef:h,commonProps:I,entity:C,hasClickable:E,onBlur:L,onValueChangeRef:D,setTimeoutRef:O,validated:P,valueRef:F}=ki(e,{setValue:l,shouldSkipOnChange:u,value:c,setSource:f}),te=n?.(e.field),ue=Kl(!1),{commonPropsWithOptions:Te,defaultValue:Ae}=co(e.field,I,g,c,v?e.translations:void 0),we=fo(e.field,Ae);Wl(()=>{let x=!!e.value||T(e.field.defaultValue);if(ue.current||!x)return;if(!e.field.event?.change){ue.current=!0;return}let S=e.value?K(e.field.name,e.value):void 0,m=T(S)?S:e.field.defaultValue;if(!T(m)||!s(e.field,m,g))return;ue.current=!0;let p=a(m,g,C);h.current?.(p)},[h,a,g,C,s,e.field,e.value]);let R=Zl(x=>{let S=r(x,e.field);o({field:e.field,shouldSkipOnChange:u,hasClickable:E,inputValue:S,valueRef:F})||(D.current?.(S),e.config.validation.change&&P(S),e.field.event?.change&&i({applyChangeEventsRef:h,data:g,entity:C,inputValue:S,setTimeoutRef:O}))},[h,g,i,C,r,E,D,e.config.validation.change,e.field,O,o,u,P,F]);return Bt(e.config.inputs[e.field.type],x=>Ei(pi,{config:e.config,context:e.context,field:e.field,horizontal:e.horizontal,translations:e.translations,children:Ei(x,{...Te,...e.ariaAttributes,...e.dataAttributes,...te,...we,onBlur:L,onChange:R})}))}import{jsx as Xl}from"react/jsx-runtime";function Pe(e){return function(n){return Xl(Li,{...n,strategies:e})}}function Pi(e){let t=q(e)?ae(e):null,n=oe(e)?ve(e):null;return{dateFormat:t,timeFormat:n}}import{atom as jl}from"jotai";var Jl=e=>{let t=Go(e);if(t)return t},Ql=e=>e.trim()!=="",Vi=jl({}),Gt=jo(Vi,{merge:Jl,validateTarget:Ql}),Di=Jo(Vi);import{useSetAtom as eu}from"jotai";function Ut(e){return{data:null,setSource:eu(Gt(e.name))}}var Oi=Pe({useSource:Ut,useExtraProps:e=>{let{dateFormat:t,timeFormat:n}=Pi(e);return mo(t,n)},getValue:(e,t)=>{let n=e.target.value,r=oe(t)?ve(t):null;if(r!==null)return Jr(n,r);let o=q(t)?ae(t):null;return o!==null&&At(n,o)||n},shouldSkipChange:({shouldSkipOnChange:e,inputValue:t,valueRef:n})=>e()&&t===n.current,dispatchChange:({applyChangeEventsRef:e,inputValue:t,setTimeoutRef:n})=>{n(()=>{e.current?.({value:t})},300)},buildInitialSelected:e=>({value:String(e)}),isInitialReady:(e,t)=>T(t)});import{deepEqual as ou}from"fast-equals";import{useAtom as ru}from"jotai";import tu from"swr";function Mi(e=null,t,n=!1){let{data:r,error:o}=tu(nu(e,t,n),t.fetcher.provider);if(o&&_e.error("Error fetching data source:",o),e){if(Array.isArray(e))return e;if(r)return Tr(r,e.namespace)}return null}function nu(e=null,t,n=!1){if(e&&!Array.isArray(e)&&!n&&e.url&&!he(e.url)){if(Bo(e.url,t.fetcher.remotePatterns))return e;_e.warn(`URL blocked by remotePatterns: ${e.url}. Check your luna.config.ts`)}return null}function zi(e,t,n){let r=uo(e,n),[o,i]=ru(Gt(e.name)),a=o??r,s=Mi(a,t,e.disabled),l=Array.isArray(a);return[s,i,l]}function iu(e,t,n){let[r,o,i]=zi(e,t,n);return{data:r,setSource:o,isStaticSource:i}}function au(e,t){return Q(e)&&t===""}var _i=Pe({useSource:iu,getValue:e=>e.target.value,shouldSkipChange:({field:e,shouldSkipOnChange:t,hasClickable:n,inputValue:r,valueRef:o})=>au(e,r)||!n&&t()&&(!r||ou(r,o.current)),dispatchChange:({applyChangeEventsRef:e,data:t,entity:n,inputValue:r})=>{e.current?.(nn(r,t,n))},buildInitialSelected:(e,t,n)=>nn(String(e),t,n),isInitialReady:(e,t,n)=>(!Ee(e)||!!n&&n.length>0)&&T(t)});var Bi=Pe({useSource:Ut,getValue:e=>e.target.value,shouldSkipChange:({shouldSkipOnChange:e,inputValue:t,valueRef:n})=>e()&&t===n.current,dispatchChange:({applyChangeEventsRef:e,inputValue:t,setTimeoutRef:n})=>{n(()=>{e.current?.({value:t})},300)},buildInitialSelected:e=>({value:String(e)}),isInitialReady:(e,t)=>T(t)});import{jsx as Sn}from"react/jsx-runtime";function $i(e){return q(e.field)||oe(e.field)?Sn(Oi,{...e}):Br(e.field)?Sn(Bi,{...e}):Sn(_i,{...e})}import{jsx as Gi}from"react/jsx-runtime";function Ui(e){return!e.errors||e.errors.length===0?null:Gi("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)=>Gi("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}import{twMerge as su}from"tailwind-merge";import{jsx as lu}from"react/jsx-runtime";function Ht(e){let t=e.errors&&e.errors.length>0;return lu("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[ir]:"true"},...e.disabled&&{[ar]:"true"},"data-orientation":e.orientation,className:su("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 uu}from"tailwind-merge";import{jsx as cu}from"react/jsx-runtime";function Hi(e){return cu(Ht,{...e,orientation:"vertical",className:uu("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}import{twMerge as du}from"tailwind-merge";import{jsx as fu}from"react/jsx-runtime";function Yi(e){return fu(Ht,{...e,orientation:"horizontal",className:du("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 qi}from"react/jsx-runtime";function Zi(e){let t=yt(e.field),n=B(e.field),r=Ur(e.field);return e.horizontal?qi(Yi,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children}):qi(Hi,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children})}function Wi(e){if(!e.field.type)return null;let t=oo(e.field,e.disabled,{lang:e.lang,translations:e.translations}),n=Ro(e.field),r=ho(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 mu}from"tailwind-merge";import{jsx as Tn,jsxs as gu}from"react/jsx-runtime";function Ki(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{horizontal:r}=It(e.style,{horizontal:Gr(e.field)}),o=Hr(e.field,e.disabled);return gu("div",{className:mu("flex flex-col gap-3",Ao(t)),children:[Tn(Zi,{disabled:o,errors:n,field:e.field,horizontal:r,children:Tn(Wi,{disabled:o,errors:n,field:e.field,horizontal:r,lang:e.lang,translations:e.translations,children:e.children})}),Tn(Ui,{errors:n,name:e.field.name})]})}import{useAtomValue as pu}from"jotai";import{jsx as bu}from"react/jsx-runtime";function Xi(e){return(t,n)=>o=>{let i=pu(e(o.field.name)),a=n(i,o);return a===null?null:bu(t,{...o,...a})}}var yu=Xi($t);function ji(e){return yu(e,(t,n)=>({errors:t?{[n.field.name]:t}:void 0}))}var xu=Xi(Dt);function Ji(e){return xu(e,(t,n)=>t?.hidden??n.field.hidden??!1?null:{disabled:t?.disabled??n.disabled})}var Qi=Ji(ji(Ki));import{twMerge as An}from"tailwind-merge";import{useState as hu}from"react";import{Fragment as Ru,jsx as $,jsxs as ye}from"react/jsx-runtime";function ea(e){let t=e.isMultiField||e.collapsed!=null,[n,r]=hu(t?!e.collapsed:!0);function o(){e.canRemove&&e.onRemove&&e.onRemove(e.index)}function i(){r(c=>!c)}let a=c=>re(W(c,e.translations),{index:e.index+1,label:e.label}),s=e.canRemove&&e.onRemove!=null&&$("button",{"aria-label":a("Remove {label} item {index}"),className:An("flex size-6 items-center justify-center rounded text-xl leading-none text-zinc-400","transition-colors duration-150","hover:text-red-500","focus-visible:ring-2 focus-visible:ring-zinc-400 focus-visible:outline-none","dark:text-zinc-500 dark:hover:text-red-400"),onClick:o,type:"button",children:$("span",{"aria-hidden":"true",className:"leading-none",children:"\xD7"})}),l=ye("div",{className:"flex min-w-0 flex-col font-medium text-zinc-700 dark:text-zinc-400",children:[$("span",{className:"text-base",children:e.previewLabel??ye(Ru,{children:[e.label," ",e.index+1]})}),!n&&e.previewTags&&$("div",{className:"flex items-center gap-2 overflow-hidden text-xs font-normal text-ellipsis whitespace-nowrap text-zinc-500 dark:text-zinc-500",children:e.previewTags})]}),u=ye("div",{className:An("flex items-center justify-between gap-2",e.isMultiField&&n&&"mb-3"),children:[t?ye("div",{className:"flex min-w-0 grow items-center gap-2",children:[ye("button",{"aria-expanded":n,"aria-label":a(n?"Collapse {label} {index}":"Expand {label} {index}"),className:An("group flex grow items-center gap-2 rounded p-1 text-left text-zinc-400","focus-visible:ring-2 focus-visible:ring-zinc-400 focus-visible:outline-none","dark:text-zinc-500"),onClick:i,type:"button",children:[$(ke,{expanded:n}),l]}),!n&&e.previewBadge&&$("div",{className:"ml-auto shrink-0",children:e.previewBadge})]}):l,s]});return e.isMultiField?ye("div",{"data-slot":"list-item-card",className:"box-border w-full min-w-0 rounded-lg border border-zinc-100 p-4 dark:border-zinc-900",children:[u,$(De,{visible:n,children:$(me,{children:e.children})})]}):t?ye("div",{className:"box-border flex w-full min-w-0 flex-col gap-2",children:[u,$(De,{visible:n,children:$(me,{children:e.children})})]}):ye("div",{className:"box-border flex w-full min-w-0 items-start gap-2",children:[$("div",{className:"flex min-w-0 grow flex-col",children:$(me,{children:e.children})}),s&&$("div",{className:"shrink-0",children:s})]})}import{Fragment as Su}from"react";import{twMerge as ta}from"tailwind-merge";import{useAtomValue as vu}from"jotai";function Yt(e,t){return vu(ge(e))??t}import{jsx as Xe,jsxs as na}from"react/jsx-runtime";function ra({className:e,initialValue:t,name:n,options:r,separator:o,staticLabel:i}){let a=Yt(n??"",t);if(i===void 0&&r){let u=(Array.isArray(a)?a:a==null||a===""?[]:[a]).filter(c=>c!=null&&c!=="").map(c=>po(c,r));return u.length===0?null:Xe("div",{className:"flex items-center gap-1.5 overflow-hidden",children:u.map((c,g)=>na(Su,{children:[(o||g>0)&&Xe("span",{"aria-hidden":"true",className:"text-xs text-zinc-300 select-none dark:text-zinc-600",children:"\xB7"}),Xe("span",{"aria-label":c,className:ta("max-w-[150px] overflow-hidden text-xs text-ellipsis whitespace-nowrap",e),title:c,children:c})]},`${g}:${c}`))})}if(i===void 0&&(z(a)||d(a)||Array.isArray(a)))return null;let s=i??String(a);return na("div",{className:"flex items-center gap-1.5 overflow-hidden",children:[o&&Xe("span",{"aria-hidden":"true",className:"text-xs text-zinc-300 select-none dark:text-zinc-600",children:"\xB7"}),Xe("span",{"aria-label":s,className:ta("max-w-[150px] overflow-hidden text-xs text-ellipsis whitespace-nowrap",e),title:s,children:s})]})}import{useAtomValue as Tu}from"jotai";import{useMemo as Au}from"react";function qt(e,t){let n=Tu(U);return Au(()=>{let r=`${e}.`,o={},i=!1;for(let s in n)s.startsWith(r)&&(o[s.slice(r.length)]=n[s],i=!0);let a=t?K(e,t):void 0;return i?d(a)?{...a,...o}:o:a},[n,e,t])}import{useMemo as wn}from"react";import{jsx as oa}from"react/jsx-runtime";function wu(e){return typeof e=="string"?{field:e}:e}function Cn({className:e,fields:t,label:n="Preview",lang:r,name:o,previews:i,translations:a,value:s}){let l=wn(()=>(Array.isArray(i)?i:[i]).map(wu),[i]),u=wn(()=>t?ko(t):void 0,[t]),c=qt(o,s),g=wn(()=>{let f=[];for(let[v,h]of l.entries()){if(h.when!==void 0&&!Ie(c,h.when))continue;if(h.label!==void 0){f.push({key:h.field??`label:${h.label}:${v}`,staticLabel:A(h.label,a)});continue}if(h.field===void 0)continue;let I=`${o}.${h.field}`,C=s!=null?K(I,s):void 0,E=u?.[h.field],L=E?go(E,{lang:r,translations:a}):void 0;f.push({key:`${v}:${h.field}`,initialValue:C,options:L,previewName:I})}return f},[l,c,r,o,s,a,u]);return g.length===0?null:oa("div",{"aria-label":n,className:"flex items-center gap-1.5 overflow-hidden",children:g.map((f,v)=>oa(ra,{className:e,initialValue:"initialValue"in f?f.initialValue:void 0,name:"previewName"in f?f.previewName:void 0,options:"options"in f?f.options:void 0,separator:v>0,staticLabel:"staticLabel"in f?f.staticLabel:void 0},f.key))})}import{Fragment as Cu,jsx as Fu}from"react/jsx-runtime";function ia({children:e,initialValue:t,name:n}){let r=Yt(n,t),i=z(r)||d(r)||Array.isArray(r)?"":String(r);return Fu(Cu,{children:e(i)})}import{jsx as Zt}from"react/jsx-runtime";function aa({canRemove:e,children:t,field:n,index:r,isMultiField:o,itemKey:i,label:a,lang:s,onRemove:l,previewBadge:u,previewLabel:c,previewTags:g,translations:f,value:v}){let h=`${n.name}.${i}`,I=`${a} ${r+1}`,C=qt(h,v);return Zt(ea,{canRemove:e,collapsed:n.advanced?.collapsed,index:r,isMultiField:o,label:a,onRemove:l,previewLabel:ku({fallbackLabel:I,liveItemValue:C,name:h,previewLabel:c,translations:f,value:v}),previewBadge:u?Zt(Cn,{className:"bg-primary text-primary-foreground rounded-md px-1.5 py-0.5 leading-none font-bold uppercase",fields:n.fields,lang:s,name:h,previews:u,translations:f,value:v}):void 0,previewTags:g?Zt(Cn,{fields:n.fields,lang:s,name:h,previews:g,translations:f,value:v}):void 0,translations:f,children:t})}function ku({fallbackLabel:e,liveItemValue:t,name:n,previewLabel:r,translations:o,value:i}){if(r===void 0)return;let a=y(r)?{field:r}:r;if(a.when!==void 0&&!Ie(t,a.when))return;if(a.label!==void 0)return A(a.label,o);if(a.field===void 0)return;let s=`${n}.${a.field}`;return Zt(ia,{initialValue:i?K(s,i):void 0,name:s,children:l=>l||e})}import{twMerge as Ou}from"tailwind-merge";import{deepEqual as Nu}from"fast-equals";import{useAtom as Iu,useSetAtom as sa,useStore as Eu}from"jotai";import{use as Lu,useCallback as Ve,useEffect as Fn,useEffectEvent as la,useMemo as Pu,useRef as Wt,useState as Vu}from"react";function je(e,t,n){return`${e}.${t}.${n}`}function Du(e,t,n){let r=[];for(let o=0;o<t;o++){let i=e[o],a={};for(let s of n)a[s]=i?.[s];r.push(a)}return r}function ua(e,t,n){let r=e.advanced?.length?.min??1,o=e.advanced?.length?.max??1/0,[i,a]=Vu(()=>Co(e,t)),s=Wt(i),l=Wt(i.length);s.current=i;let u=Eu(),c=sa(U),g=Wt(n);g.current=n;let f=Wt(t),v=Pu(()=>{let R=[];for(let x of e.fields)if(Z(x))for(let S of x.fields)R.push(S.name);else R.push(x.name);return R},[e.fields]),h=Ve((R,x)=>{let S=Number(R);return Number.isNaN(S)?!1:Number.isInteger(S)&&x>=0&&String(x)!==R},[]),I=Lu(pe),C=Ve(R=>{let x=`${e.name}.`;if(R.startsWith(x)){let S=R.slice(x.length),m=S.indexOf("."),p=m===-1?S:S.slice(0,m),b=Number(p),k=s.current.indexOf(b);h(p,k)&&(R=`${x}${k}${m===-1?"":S.slice(m)}`)}return I(R)},[e.name,h,I]),E=la(()=>{let R=f.current;if(!R)return;let x={...u.get(U)},S=!1;for(let m of i)for(let p of v){let b=je(e.name,m,p);if(b in x)continue;let k=K(b,R);T(k)&&(x[b]=k,S=!0)}S&&c(x)});Fn(()=>{E()},[]);let L=Ve((R,x)=>{let S=f.current;return R.map(m=>{let p={};for(let b of v){let k=je(e.name,m,b),ne=x[k];p[b]=ne!==void 0?ne:S?K(k,S):void 0}return p})},[e.name,v]),D=Ve((R,x)=>{g.current?.({name:C(e.name),value:L(R,x)})},[L,e.name,C]),O=Ve(()=>{if(s.current.length>=o)return;let R=l.current++,x=[...s.current,R];a(x),D(x,u.get(U))},[D,o,u]),P=Ve(R=>{if(s.current.length<=r)return;let x=s.current[R],S=s.current.filter((b,k)=>k!==R),p={...u.get(U)};for(let b of v)delete p[je(e.name,x,b)];a(S),c(p),D(S,p)},[D,e.name,v,r,c,u]),F=sa(Ti(e.name));Fn(()=>(F(!0),()=>F(void 0)),[F]);let[te,ue]=Iu(Ri(e.name)),Te=la(R=>{let x=Math.min(Math.max(R.length,r),o),S=u.get(U);if(Nu(L(s.current,S),Du(R,x,v)))return;let m=[];for(let b=0;b<x;b++)m.push(s.current[b]??l.current++);let p={...S};for(let b of s.current)for(let k of v)delete p[je(e.name,b,k)];m.forEach((b,k)=>{let ne=R[k];if(ne)for(let G of v){let M=ne[G];M!==void 0&&(p[je(e.name,b,G)]=M)}}),c(p),a(m),D(m,p)});Fn(()=>{te&&(Te(te),ue(void 0))},[te,ue]);let Ae=i.length<o,we=i.length>r;return[i,O,P,Ae,we,o,C]}import{jsx as kn,jsxs as Kt}from"react/jsx-runtime";var Mu="flex h-9 w-full items-center gap-2 rounded-md border border-dashed border-zinc-200 px-4 text-sm font-medium text-zinc-500 transition-none hover:border-zinc-300 hover:text-zinc-800 focus-visible:ring-2 focus-visible:ring-zinc-400 focus-visible:ring-offset-2 focus-visible:outline-none dark:border-zinc-800 dark:text-zinc-400 dark:hover:border-zinc-700 dark:hover:text-zinc-200";function ca(e){let{field:t,lang:n,onValueChange:r,translations:o,value:i,children:a}=e,[s,l,u,c,g,f,v]=ua(t,i,r),h=A(Fo(t),o),I=t.advanced?.action?A(t.advanced.action,o):W("Add item",o),C=f!==1/0,E=wo(t),{label:L,tags:D,badge:O}=t.advanced?.preview??{};return kn(pe.Provider,{value:v,children:Kt("div",{className:"flex w-full flex-col gap-4",children:[s.map((P,F)=>kn(aa,{canRemove:g,field:t,index:F,isMultiField:E,itemKey:P,label:h,lang:n,onRemove:u,previewBadge:O,previewLabel:L,previewTags:D,translations:o,value:i,children:a(P)},P)),Kt("button",{"aria-disabled":!c,"aria-label":C?`${I}, ${s.length} of ${f}`:I,className:Ou(Mu,C?"justify-between":"justify-center",!c&&"cursor-not-allowed opacity-50 hover:border-zinc-200 hover:text-zinc-500 dark:hover:border-zinc-800 dark:hover:text-zinc-400"),disabled:!c,onClick:l,type:"button",children:[Kt("span",{className:"flex items-center gap-2",children:[kn("span",{"aria-hidden":"true",className:"text-base leading-none",children:"+"}),I]}),C&&Kt("span",{"aria-hidden":"true",className:"text-zinc-400 tabular-nums dark:text-zinc-500",children:[s.length," / ",f]})]})]})})}import{jsx as zu}from"react/jsx-runtime";function da(e){let t=Array.isArray(e.field.fields)&&e.field.fields.length===0,n=ee(e.field.label,e.translations),r=ee(e.field.description,e.translations);return zu(Lt,{description:r,empty:t,id:e.field.name,title:n,children:e.children})}import{jsx as Nn}from"react/jsx-runtime";function fa({children:e,field:t,lang:n,onValueChange:r,translations:o,value:i}){return Nn(Ot,{container:t,fields:t.fields,children:Nn(da,{field:t,translations:o,children:Nn(ca,{field:t,lang:n,onValueChange:r,translations:o,value:i,children:e})})})}import{twMerge as _u}from"tailwind-merge";import{jsx as ma,jsxs as Bu}from"react/jsx-runtime";function ga(e){let t=To(e.column?.advanced?.cols);return Bu("div",{className:"flex w-full flex-col gap-4",children:[ma("div",{"data-slot":"column",className:_u("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children}),e.column?.description&&ma(Mt,{config:e.config,context:e.context,text:e.column.description,translations:e.translations})]})}import{Fragment as Gu}from"react";import{jsx as $u}from"react/jsx-runtime";function pa(e){let t=Array.isArray(e.field.fields)?e.field.fields.map(n=>xt(n)||$e(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 $u(Je,{components:e.components,config:e.config,context:e.context,disabled:e.disabled,fields:t,lang:e.lang,onValueChange:e.onValueChange,style:e.style,translations:e.translations,value:e.value,children:e.children})}import{jsx as Qe,jsxs as Uu}from"react/jsx-runtime";function Je(e){let{field:t,list:n}=e.components;return Ft(e.fields).map((r,o)=>Uu(Gu,{children:[Z(r)&&Qe(ga,{column:r,config:e.config,context:e.context,translations:e.translations,children:Qe(Je,{...e,fields:r.fields})}),xt(r)&&Qe(t,{disabled:e.disabled,field:r,lang:e.lang,style:e.style,translations:e.translations,children:e.children}),$e(r)&&Qe(n,{field:r,lang:e.lang,onValueChange:e.onValueChange,translations:e.translations,value:e.value,children:i=>Qe(pa,{components:e.components,config:e.config,context:e.context,disabled:e.disabled,field:r,index:i,lang:e.lang,onValueChange:e.onValueChange,style:e.style,translations:e.translations,value:e.value,children:e.children})})]},o))}import{jsx as Hu}from"react/jsx-runtime";function ya(e){return n=>Hu(Je,{...n,components:e})}var xa=ya({field:Qi,list:fa});import{useSetAtom as ba}from"jotai";import{startTransition as ha,useActionState as Yu}from"react";function va(e,t,n){let{onSuccess:r,preserveValues:o=!1,validation:i=!0,translations:a}=n??{},s=ba(xi),l=ba(si),u={data:null,error:null,success:!1},[c,g,f]=Yu(async(v,h)=>{let[I,C]=e(),E=Lo(I,C,a);if(i===!1)return t?await t(h,E):v;let L=wr(h),D=Zu(L,C),O=E.safeParse(D);if(!O.success){let F=Po(O.error);return ha(()=>{s(F)}),In(L,{description:W("Please correct the errors and try again.",a),details:[],title:W("There were validation errors submitting the form.",a)})}let P=Cr(O.data);if(t)try{let F=await t(P,E);return F.success?(r?.(F.data),o||ha(()=>{l()}),Ra(P,o)):In(P,F.error)}catch(F){return _e.error("Error executing form action:",F),In(P,{title:W("An unexpected error occurred submitting the form.",a),details:qu(F,a)})}return Ra(O.data,o)},u);return[g,c,f]}function qu(e,t){return e instanceof Error?[e.message]:[W("Unknown error",t)]}function Ra(e,t=!1){return{data:t?e:null,error:null,success:!0}}function In(e,t){return{data:e,error:t,success:!1}}function Zu(e,t){let n={...e};for(let r of t)if(q(r)&&typeof n[r.name]=="string"&&n[r.name]){let o=Tt(n[r.name],ae(r));o&&(n[r.name]=o)}return n}import{useMemo as Ku}from"react";import{useCallback as Ln,useRef as Ta}from"react";import{useCallback as Wu}from"react";import{useSetAtom as En}from"jotai";function Sa(){let e=En(yi),t=En(li),n=En(Di);return Wu((r,o)=>{let i=Array.isArray(r)?r:[r];e(i),n(i),o?.keepValue||t(i)},[e,n,t])}function Aa(){let e=Sa(),t=Ta({}),n=Ta([]),r=Ln((a,s,l)=>{a in t.current||(t.current[a]=s,n.current.push(l))},[]),o=Ln((a,s)=>{t.current[a]&&(delete t.current[a],n.current=n.current.filter(l=>l.name!==a),e([a],{keepValue:s?.keepValue}))},[e]);return[Ln(()=>[t.current,n.current],[]),r,o]}import{Fragment as Xu,jsx as et,jsxs as ju}from"react/jsx-runtime";function wa(e){let t=Ku(()=>eo(e.lang,e.translations),[e.lang,e.translations]),[n,r,o]=Aa(),[i,a,s]=va(n,e.action,{onSuccess:e.onSuccess,validation:e.config.validation.submit,translations:t}),l=e.config.validation.showError&&!a.success&&a.error,u=a.data??e.value;return ju(Xu,{children:[l&&Bt(e.config.alert,c=>et("div",{className:"mb-4 w-full",children:et(c,{description:a.error?.description,details:a.error?.details,title:a.error.title})})),et(ni,{action:i,advanced:e.advanced,config:e.config,control:e.children,definition:e.definition,isPending:s,noValidate:!0,readOnly:e.readOnly,sections:e.sections,translations:t,children:({disabled:c,fields:g})=>et(xa,{config:e.config,context:e.context,disabled:c,fields:g,lang:e.lang,onValueChange:e.onValueChange,style:e.config.style,translations:t,value:u,children:f=>et($i,{...f,config:e.config,context:e.context,getSchema:n,onMount:r,onUnmount:o,onValueChange:e.onValueChange,translations:t,value:u})})})]})}import{Provider as Ju}from"jotai";import{jsx as Ca}from"react/jsx-runtime";function Qu(e){return Ca(Ju,{children:Ca(wa,{...e})})}function Fa(e,t){for(let n of e){if("name"in n&&typeof n.name=="string"){t.push(n.name);continue}"fields"in n&&Fa(n.fields??[],t)}}function ec(e,t){let n=[];for(let o of e)Fa(o.fields??[],n);let r=t;for(let o of n)We(o,t).found||(r===t&&(r={...t}),r[o]=void 0);return r}export{Qu as Form,ec as withDeclaredFields};
|
package/dist/config/cjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var l=Object.defineProperty;var
|
|
1
|
+
"use strict";var l=Object.defineProperty;var O=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var N=Object.prototype.hasOwnProperty;var D=(n,t)=>{for(var r in t)l(n,r,{get:t[r],enumerable:!0})},k=(n,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let e of w(t))!N.call(n,e)&&e!==r&&l(n,e,{get:()=>t[e],enumerable:!(o=O(t,e))||o.enumerable});return n};var M=n=>k(l({},"__esModule",{value:!0}),n);var En={};D(En,{defineCheckbox:()=>sn,defineChips:()=>cn,defineConfig:()=>on,defineCustomInput:()=>fn,defineInput:()=>un,defineRadio:()=>an,defineSelect:()=>pn,defineTextArea:()=>ln});module.exports=M(En);var H="input",U="input/date",X="input/email",v="input/number",G="input/password",F="input/tel",V="input/text",Y="input/time",A=[H,U,X,v,G,F,V,Y],I="textarea",m="radio",R="checkbox";var j="select",B="select/active",K="select/day",$="select/month",W="select/timezone",q="select/year",h=[j,B,K,$,W,q],y="chips",S="chips/day",P="chips/month";var u="http://luna.internal";function L(n){return n!==null&&Object.prototype.toString.call(n)==="[object Object]"}function s(n){return typeof n=="string"}var z=/{([^}]{1,200})}/;function a(n){return s(n)?z.test(n):Array.isArray(n)?n.some(t=>a(t)):L(n)?Object.values(n).some(t=>a(t)):!1}var C={error:(...n)=>{f()&&!E()&&p().error("[Luna Form]",...n)},warn:(...n)=>{f()&&!E()&&p().warn("[Luna Form]",...n)},info:(...n)=>{f()&&!E()&&p().info("[Luna Form]",...n)}},f=()=>typeof p()<"u",E=()=>!0,p=()=>globalThis.console;function _(n){try{return n instanceof FormData?null:s(n)?n:JSON.stringify(n)}catch{return C.error("Failed to stringify body:",n),null}}var J=/(^|[\/?=&])(null|undefined)([\/?=&]|$)/;async function b(n){let[t,r]=Z(n),o=n.body,e=rn(n);if(o&&!d(r)){let g=_(o);g!==null&&(o=g,e=Q(e))}let c=t.origin===u?t.toString().replace(u,""):t.toString(),x=await fetch(c,{body:en(r,o),cache:n.cache,headers:e,method:r}),T=await x.json();if(x.ok)return T;throw T}function Z(n){let t=n.url?.trim();if(!t||!nn(t))throw new Error(`Invalid URL: ${n.url}`);let r=new URL(t,u),o=tn(n);return n.body&&d(o)&&Object.entries(n.body).filter(([,e])=>e!==void 0&&e!=="undefined").forEach(([e,c])=>{r.searchParams.append(e,String(c))}),[r,o]}function Q(n){return{...n,"Content-Type":"application/json"}}function nn(n){return!s(n)||a(n)?!1:!J.test(n)}function tn(n){return n.method??"GET"}function rn(n){return{Accept:"application/json",...n.headers??{}}}function d(n){return n.toUpperCase()==="GET"}function en(n,t){if(!d(n))return t}function on(n){let t={alert:n.alert,env:n.env,fetcher:{provider:b,remotePatterns:n.fetcher?.remotePatterns},inputs:{},style:n.style};return t.validation=n.validation??{blur:!0,change:!0,showError:!0,submit:!0},n.inputs.forEach(({types:r,input:o})=>{(Array.isArray(r)?r:[r]).forEach(c=>{t.inputs[c]=o})}),t}var sn=i([R]),cn=i([y,S,P]),un=i(A),an=i([m]),pn=i(h),ln=i([I]);function fn(n,t){return i(n)(t)}function i(n){return t=>({types:n,input:t})}
|
package/dist/config/esm/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var
|
|
1
|
+
var b="input",O="input/date",w="input/email",N="input/number",D="input/password",k="input/tel",M="input/text",H="input/time",g=[b,O,w,N,D,k,M,H],A="textarea",I="radio",m="checkbox";var U="select",X="select/active",v="select/day",G="select/month",F="select/timezone",V="select/year",R=[U,X,v,G,F,V],h="chips",y="chips/day",S="chips/month";var u="http://luna.internal";function P(n){return n!==null&&Object.prototype.toString.call(n)==="[object Object]"}function s(n){return typeof n=="string"}var Y=/{([^}]{1,200})}/;function a(n){return s(n)?Y.test(n):Array.isArray(n)?n.some(t=>a(t)):P(n)?Object.values(n).some(t=>a(t)):!1}var L={error:(...n)=>{l()&&!f()&&p().error("[Luna Form]",...n)},warn:(...n)=>{l()&&!f()&&p().warn("[Luna Form]",...n)},info:(...n)=>{l()&&!f()&&p().info("[Luna Form]",...n)}},l=()=>typeof p()<"u",f=()=>!0,p=()=>globalThis.console;function C(n){try{return n instanceof FormData?null:s(n)?n:JSON.stringify(n)}catch{return L.error("Failed to stringify body:",n),null}}var j=/(^|[\/?=&])(null|undefined)([\/?=&]|$)/;async function _(n){let[t,r]=B(n),e=n.body,o=q(n);if(e&&!E(r)){let T=C(e);T!==null&&(e=T,o=K(o))}let c=t.origin===u?t.toString().replace(u,""):t.toString(),d=await fetch(c,{body:z(r,e),cache:n.cache,headers:o,method:r}),x=await d.json();if(d.ok)return x;throw x}function B(n){let t=n.url?.trim();if(!t||!$(t))throw new Error(`Invalid URL: ${n.url}`);let r=new URL(t,u),e=W(n);return n.body&&E(e)&&Object.entries(n.body).filter(([,o])=>o!==void 0&&o!=="undefined").forEach(([o,c])=>{r.searchParams.append(o,String(c))}),[r,e]}function K(n){return{...n,"Content-Type":"application/json"}}function $(n){return!s(n)||a(n)?!1:!j.test(n)}function W(n){return n.method??"GET"}function q(n){return{Accept:"application/json",...n.headers??{}}}function E(n){return n.toUpperCase()==="GET"}function z(n,t){if(!E(n))return t}function En(n){let t={alert:n.alert,env:n.env,fetcher:{provider:_,remotePatterns:n.fetcher?.remotePatterns},inputs:{},style:n.style};return t.validation=n.validation??{blur:!0,change:!0,showError:!0,submit:!0},n.inputs.forEach(({types:r,input:e})=>{(Array.isArray(r)?r:[r]).forEach(c=>{t.inputs[c]=e})}),t}var dn=i([m]),xn=i([h,y,S]),Tn=i(g),gn=i([I]),An=i(R),In=i([A]);function mn(n,t){return i(n)(t)}function i(n){return t=>({types:n,input:t})}export{dn as defineCheckbox,xn as defineChips,En as defineConfig,mn as defineCustomInput,Tn as defineInput,gn as defineRadio,An as defineSelect,In as defineTextArea};
|
package/dist/schema/cjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var k=Object.defineProperty;var In=Object.getOwnPropertyDescriptor;var kn=Object.getOwnPropertyNames;var wn=Object.prototype.hasOwnProperty;var
|
|
1
|
+
"use strict";var k=Object.defineProperty;var In=Object.getOwnPropertyDescriptor;var kn=Object.getOwnPropertyNames;var wn=Object.prototype.hasOwnProperty;var Cn=(n,e)=>{for(var r in e)k(n,r,{get:e[r],enumerable:!0})},Nn=(n,e,r,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of kn(e))!wn.call(n,o)&&o!==r&&k(n,o,{get:()=>e[o],enumerable:!(t=In(e,o))||t.enumerable});return n};var On=n=>Nn(k({},"__esModule",{value:!0}),n);var he={};Cn(he,{buildFormSchema:()=>En,collectIssues:()=>Sn});module.exports=On(he);var L="input",_="input/date",P="input/email",D="input/number";var M="input/time";var F="textarea",U="radio",Y="checkbox",V="list";var q="select",j="select/active";var B="select/month";var X="select/year";var H="chips",G="chips/day",z="chips/month",W="column";var w="email",Z="number",K="password",v="tel",$="text";var J="max";var Q="min";var h="$ref";function f(n){return n!==null&&Object.prototype.toString.call(n)==="[object Object]"}function T(n){return n==null||n===""}function d(n){return typeof n=="string"}function R(n,e){if(!e||!f(n))return null;let r=e.split(".").filter(o=>o!=="");if(r.length===0)return null;let t=n;for(let o of r)if(f(t)&&o in t)t=t[o];else if(Array.isArray(t)){let i=Number(o);if(!Number.isInteger(i)||i<0||i>=t.length)return null;t=t[i]}else return null;return t}var _n=/{([^}]{1,200})}/;function S(n){return d(n)?_n.test(n):Array.isArray(n)?n.some(e=>S(e)):f(n)?Object.values(n).some(e=>S(e)):!1}var b={eq:Un,gt:jn,gte:Bn,in:Vn,lt:Xn,lte:Hn,neq:Yn,nin:qn,contains:Gn,exists:en,empty:zn,truthy:Wn},Pn=/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2})?/,nn=/^(\d{2})[/-](\d{2})[/-](\d{4})(?: (\d{2}):(\d{2})(?::(\d{2}))?)?$/;function Dn(n){return typeof n=="string"&&Pn.test(n)}function Mn(n){return typeof n=="string"&&nn.test(n)}function Fn(n){let e=n.match(nn);if(e){let[,r,t,o,i,s,c]=e;return new Date(Number(o),Number(t)-1,Number(r),Number(i??0),Number(s??0),Number(c??0)).getTime()}return NaN}function p(n){return Dn(n)?new Date(n).getTime():Mn(n)?Fn(n):Number(n)}function Un(n,e){return n===e}function Yn(n,e){return n!==e}function Vn(n,e){return Array.isArray(e)&&e.includes(String(n))}function qn(n,e){return Array.isArray(e)&&!e.includes(String(n))}function jn(n,e){return p(n)>p(e)}function Bn(n,e){return p(n)>=p(e)}function Xn(n,e){return p(n)<p(e)}function Hn(n,e){return p(n)<=p(e)}function Gn(n,e){return typeof n=="string"?n.includes(String(e)):Array.isArray(n)?n.map(String).includes(String(e)):!1}function en(n){return Array.isArray(n)?n.length>0:n!=null&&n!==""}function zn(n){return!en(n)}function Wn(n){return Array.isArray(n)?n.length>0:!!n}var rn=n=>l(j)(n);var tn=n=>l(B)(n),on=n=>l(X)(n);var sn=n=>l(G)(n),un=n=>l(z)(n),De=l(_),Me=l(M),C=l(Y),cn=l(H),an=l(U),Fe=l(L),Ue=l(q),Ye=l(F),Ve=l($,w,K,v),ln=l(P,w),fn=l(D,Z);function dn(n){return n.type===V}function pn(n){return n.type===W}function l(...n){return e=>{let r=d(e.type)?e.type:void 0;return r?n.some(t=>r===t||r?.startsWith(`${t}/`)):!1}}function m(n,e){return n?e?e[n]??n:n:""}function x(n,e){return n?m(n,e):void 0}var Zn=/^#\/definition\//;function y(n,e,r=new Map,t=new WeakSet){if(!Kn(e)||!n||typeof n!="object")return n;if(r.has(n))return r.get(n);if(t.has(n))return n;if(t.add(n),Array.isArray(n))return n.map(i=>y(i,e,r,t));if(h in n&&d(n[h])){let i=n[h].replace(Zn,""),s=R(e,i);return s!==null?y(s,e,r,t):n}let o={};for(let[i,s]of Object.entries(n))o[i]=y(s,e,r,t);return t.delete(n),r.set(n,o),o}function Kn(n){return n!==void 0&&f(n)&&Object.keys(n).length>0}var u=require("zod");var vn=[[C,gn],[ln,Qn],[fn,re],[an,ne],[rn,gn],[tn,oe],[on,te],[cn,N],[sn,N],[un,N]];function $n(n,e=[],r){let t=u.z.object(n);if(e.length===0)return t;let o=ce(t,e,r);return pe(o,e,r)}function Jn(n,e){for(let[r,t]of vn)if(r(n))return t(n,e);return ee(n,e)}function Qn(n,e){let r=u.z.string().trim();if(n.required){let t=g(n,e),o=r.min(1,t).pipe(mn(n,e));return u.z.preprocess(i=>T(i)?"":i,o)}return r.pipe(mn(n,e)).or(u.z.literal("")).nullable()}function gn(n,e){let r=u.z.preprocess(t=>{if(typeof t=="string"){if(t==="true")return!0;if(t==="false")return!1}return t},u.z.coerce.boolean());return n.required?(C(n)?r=r.refine(t=>t===!0,{message:g(n,e)}):r=r.refine(t=>typeof t=="boolean",{message:g(n,e)}),u.z.preprocess(t=>t===null?!1:t,r)):r.nullable()}function ne(n,e){let r=u.z.coerce.string();return n.required?(r=r.min(1,g(n,e)),u.z.preprocess(t=>T(t)?"":t,r)):r.or(u.z.literal("")).nullable()}function ee(n,e){let r=u.z.coerce.string().trim();return r=Tn(r,n,e),n.required?(r=yn(r,n,e),u.z.preprocess(t=>T(t)?"":t,r)):r.nullable()}function re(n,e){let r=u.z.coerce.number().int();return r=Tn(r,n,e),n.required?(r=yn(r,n,e),u.z.preprocess(t=>t===null?void 0:t,r)):r.nullable()}function te(n,e){return n.required?u.z.preprocess(ie,u.z.coerce.number({message:g(n,e)}).int()):u.z.coerce.number().int().nullable()}function oe(n,e){let r=g(n,e),t=u.z.coerce.number().int().min(1,r).max(12,r);return n.required?t:t.nullable()}function ie(n){return n===null||n===""?void 0:n}function mn(n,e){let r=n.validation?.email?m(n.validation?.email,e):void 0;return u.z.email(r)}function Tn(n,e,r){return n=se(n,e,r),n=ue(n,e,r),n}function yn(n,e,r){let t=e.advanced?.length?.min;return t===void 0||t<1?n.min(1,g(e,r)):n}var se=(n,e,r)=>An(n,e,Q,r),ue=(n,e,r)=>An(n,e,J,r);function An(n,e,r,t){let o=e.advanced?.length?.[r];if(o!==void 0){let i=e.validation?.length?.[r]?m(e.validation?.length?.[r],t):void 0;return n[r](o,i)}return n}function ce(n,e=[],r){let t=le(e);return t.length===0?n:n.superRefine((o,i)=>{for(let{name:s,rule:c}of t)if(!ae(o,s,c)){let a=m(c.message,r);i.addIssue({code:"custom",message:a,path:[s]})}})}function ae(n,e,r){let t=r.operator??"eq",o=b[t];return o?o(I(n,e),I(n,r.field)):!1}function le(n){let e=[];for(let r of n){let t=r.validation?.custom;if(!t)continue;let o=Array.isArray(t)?t:[t];for(let i of o)e.push({name:r.name,rule:i})}return e}function g(n,e){return n.validation?.required?m(n.validation?.required,e):void 0}function N(n,e){let r=u.z.array(u.z.string());return n.required&&(r=r.min(1,g(n,e))),u.z.preprocess(t=>T(t)?[]:Array.isArray(t)?t.map(String):[String(t)],r)}function En(n,e,r){let t=r?y(n,r):n;return hn(fe(t),e)}function fe(n){let e=[];for(let r of n)for(let t of r.fields??[])e.push(t);return e}function hn(n,e){let r={},t=[],o=i=>{for(let s of i)if(pn(s))o(s.fields);else if(dn(s)){let c=Ee(u.z.array(hn(s.fields,e)),s,e);r[s.name]=u.z.preprocess(a=>a===void 0?[]:a,c)}else{let c=s,a=!!c.required&&!c.hidden,E=Jn(a?c:{...c,required:!1},e);r[c.name]=a?E:E.optional(),t.push(c)}};return o(n),$n(de(r),t,e)}function de(n){if(!Object.keys(n).some(r=>r.includes(".")))return n;let e=new Map;for(let[r,t]of Object.entries(n)){let o=r.split("."),i=e;for(let s=0;s<o.length-1;s++){let c=i.get(o[s]);if(c instanceof Map)i=c;else{let a=new Map;i.set(o[s],a),i=a}}i.set(o[o.length-1],t)}return Rn(e)}function Rn(n){let e={};for(let[r,t]of n)e[r]=t instanceof Map?u.z.object(Rn(t)).optional():t;return e}function Sn(n){return n.issues.map(e=>({path:e.path.map(String).join("."),message:e.message}))}function pe(n,e=[],r){let t=e.filter(ge);return t.length===0?n:n.superRefine((o,i)=>{let s=f(o)?o:{};for(let c of t)for(let a of me(s,c,r))i.addIssue({code:"custom",path:a.path,message:a.message})})}function ge(n){let e=n.validation;return e!==void 0&&(e.requiredWhen!==void 0||e.pattern!==void 0||e.rules!==void 0)}function me(n,e,r){let t=[],o=I(n,e.name),i=e.validation?.requiredWhen;if(i){let a=(Array.isArray(i)?i:[i]).find(E=>A(n,E));a&&!O(o)&&t.push({path:[e.name],message:x(a.message??e.validation?.required,r)})}let s=e.validation?.pattern;s&&!bn(s,o)&&t.push({path:[e.name],message:x(s.message,r)});for(let c of e.validation?.rules??[])xe(n,c.when)&&!Te(c,o)&&t.push({path:[e.name],message:x(c.message,r)});return t}function A(n,e){let r=b[e.operator??"eq"];return r?r(I(n,e.field),e.value):!1}function I(n,e){return e in n?n[e]:R(n,e)??void 0}function xe(n,e){if(!e)return!0;if(Array.isArray(e))return e.every(o=>A(n,o));if("field"in e)return A(n,e);let r=e.all?e.all.every(o=>A(n,o)):!0,t=e.any?e.any.some(o=>A(n,o)):!0;return r&&t}function Te(n,e){switch(n.assert){case"required":return O(e);case"minItems":return Array.isArray(e)&&e.length>=Number(n.value);case"maxItems":return Array.isArray(e)&&e.length<=Number(n.value);case"min":return xn(e)>=Number(n.value);case"max":return xn(e)<=Number(n.value);case"oneOf":return Array.isArray(n.value)&&n.value.map(String).includes(String(e));case"pattern":return Ae(n.value)?bn(n.value,e):!0;default:return!0}}function bn(n,e){return!O(e)||typeof e!="string"||n.allowInterpolation&&(S(e)||ye(e))?!0:new RegExp(n.regex,n.flags).test(e)}function ye(n){return d(n)&&n.trimStart().startsWith("@")}function O(n){return d(n)?n.trim().length>0:b.exists(n,void 0)}function xn(n){return typeof n=="number"?n:d(n)||Array.isArray(n)?n.length:0}function Ae(n){return f(n)&&"regex"in n}function Ee(n,e,r){let t=n,o=e.advanced?.length?.min;o!==void 0&&(t=t.min(o,x(e.validation?.length?.min,r)));let i=e.advanced?.length?.max;return i!==void 0&&(t=t.max(i,x(e.validation?.length?.max,r))),t}
|
package/dist/schema/esm/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var O="input",
|
|
1
|
+
var O="input",L="input/date",_="input/email",P="input/number";var D="input/time";var M="textarea",F="radio",U="checkbox",Y="list";var V="select",q="select/active";var j="select/month";var B="select/year";var X="chips",H="chips/day",G="chips/month",z="column";var k="email",W="number",Z="password",K="tel",v="text";var $="max";var J="min";var h="$ref";function f(n){return n!==null&&Object.prototype.toString.call(n)==="[object Object]"}function T(n){return n==null||n===""}function d(n){return typeof n=="string"}function R(n,e){if(!e||!f(n))return null;let r=e.split(".").filter(o=>o!=="");if(r.length===0)return null;let t=n;for(let o of r)if(f(t)&&o in t)t=t[o];else if(Array.isArray(t)){let i=Number(o);if(!Number.isInteger(i)||i<0||i>=t.length)return null;t=t[i]}else return null;return t}var Sn=/{([^}]{1,200})}/;function S(n){return d(n)?Sn.test(n):Array.isArray(n)?n.some(e=>S(e)):f(n)?Object.values(n).some(e=>S(e)):!1}var b={eq:Cn,gt:_n,gte:Pn,in:On,lt:Dn,lte:Mn,neq:Nn,nin:Ln,contains:Fn,exists:nn,empty:Un,truthy:Yn},bn=/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2})?/,Q=/^(\d{2})[/-](\d{2})[/-](\d{4})(?: (\d{2}):(\d{2})(?::(\d{2}))?)?$/;function In(n){return typeof n=="string"&&bn.test(n)}function kn(n){return typeof n=="string"&&Q.test(n)}function wn(n){let e=n.match(Q);if(e){let[,r,t,o,i,s,c]=e;return new Date(Number(o),Number(t)-1,Number(r),Number(i??0),Number(s??0),Number(c??0)).getTime()}return NaN}function p(n){return In(n)?new Date(n).getTime():kn(n)?wn(n):Number(n)}function Cn(n,e){return n===e}function Nn(n,e){return n!==e}function On(n,e){return Array.isArray(e)&&e.includes(String(n))}function Ln(n,e){return Array.isArray(e)&&!e.includes(String(n))}function _n(n,e){return p(n)>p(e)}function Pn(n,e){return p(n)>=p(e)}function Dn(n,e){return p(n)<p(e)}function Mn(n,e){return p(n)<=p(e)}function Fn(n,e){return typeof n=="string"?n.includes(String(e)):Array.isArray(n)?n.map(String).includes(String(e)):!1}function nn(n){return Array.isArray(n)?n.length>0:n!=null&&n!==""}function Un(n){return!nn(n)}function Yn(n){return Array.isArray(n)?n.length>0:!!n}var en=n=>l(q)(n);var rn=n=>l(j)(n),tn=n=>l(B)(n);var on=n=>l(H)(n),sn=n=>l(G)(n),Ie=l(L),ke=l(D),w=l(U),un=l(X),cn=l(F),we=l(O),Ce=l(V),Ne=l(M),Oe=l(v,k,Z,K),an=l(_,k),ln=l(P,W);function fn(n){return n.type===Y}function dn(n){return n.type===z}function l(...n){return e=>{let r=d(e.type)?e.type:void 0;return r?n.some(t=>r===t||r?.startsWith(`${t}/`)):!1}}function m(n,e){return n?e?e[n]??n:n:""}function x(n,e){return n?m(n,e):void 0}var Vn=/^#\/definition\//;function y(n,e,r=new Map,t=new WeakSet){if(!qn(e)||!n||typeof n!="object")return n;if(r.has(n))return r.get(n);if(t.has(n))return n;if(t.add(n),Array.isArray(n))return n.map(i=>y(i,e,r,t));if(h in n&&d(n[h])){let i=n[h].replace(Vn,""),s=R(e,i);return s!==null?y(s,e,r,t):n}let o={};for(let[i,s]of Object.entries(n))o[i]=y(s,e,r,t);return t.delete(n),r.set(n,o),o}function qn(n){return n!==void 0&&f(n)&&Object.keys(n).length>0}import{z as u}from"zod";var jn=[[w,pn],[an,Hn],[ln,Wn],[cn,Gn],[en,pn],[rn,Kn],[tn,Zn],[un,C],[on,C],[sn,C]];function Bn(n,e=[],r){let t=u.object(n);if(e.length===0)return t;let o=Qn(t,e,r);return se(o,e,r)}function Xn(n,e){for(let[r,t]of jn)if(r(n))return t(n,e);return zn(n,e)}function Hn(n,e){let r=u.string().trim();if(n.required){let t=g(n,e),o=r.min(1,t).pipe(gn(n,e));return u.preprocess(i=>T(i)?"":i,o)}return r.pipe(gn(n,e)).or(u.literal("")).nullable()}function pn(n,e){let r=u.preprocess(t=>{if(typeof t=="string"){if(t==="true")return!0;if(t==="false")return!1}return t},u.coerce.boolean());return n.required?(w(n)?r=r.refine(t=>t===!0,{message:g(n,e)}):r=r.refine(t=>typeof t=="boolean",{message:g(n,e)}),u.preprocess(t=>t===null?!1:t,r)):r.nullable()}function Gn(n,e){let r=u.coerce.string();return n.required?(r=r.min(1,g(n,e)),u.preprocess(t=>T(t)?"":t,r)):r.or(u.literal("")).nullable()}function zn(n,e){let r=u.coerce.string().trim();return r=xn(r,n,e),n.required?(r=Tn(r,n,e),u.preprocess(t=>T(t)?"":t,r)):r.nullable()}function Wn(n,e){let r=u.coerce.number().int();return r=xn(r,n,e),n.required?(r=Tn(r,n,e),u.preprocess(t=>t===null?void 0:t,r)):r.nullable()}function Zn(n,e){return n.required?u.preprocess(vn,u.coerce.number({message:g(n,e)}).int()):u.coerce.number().int().nullable()}function Kn(n,e){let r=g(n,e),t=u.coerce.number().int().min(1,r).max(12,r);return n.required?t:t.nullable()}function vn(n){return n===null||n===""?void 0:n}function gn(n,e){let r=n.validation?.email?m(n.validation?.email,e):void 0;return u.email(r)}function xn(n,e,r){return n=$n(n,e,r),n=Jn(n,e,r),n}function Tn(n,e,r){let t=e.advanced?.length?.min;return t===void 0||t<1?n.min(1,g(e,r)):n}var $n=(n,e,r)=>yn(n,e,J,r),Jn=(n,e,r)=>yn(n,e,$,r);function yn(n,e,r,t){let o=e.advanced?.length?.[r];if(o!==void 0){let i=e.validation?.length?.[r]?m(e.validation?.length?.[r],t):void 0;return n[r](o,i)}return n}function Qn(n,e=[],r){let t=ee(e);return t.length===0?n:n.superRefine((o,i)=>{for(let{name:s,rule:c}of t)if(!ne(o,s,c)){let a=m(c.message,r);i.addIssue({code:"custom",message:a,path:[s]})}})}function ne(n,e,r){let t=r.operator??"eq",o=b[t];return o?o(I(n,e),I(n,r.field)):!1}function ee(n){let e=[];for(let r of n){let t=r.validation?.custom;if(!t)continue;let o=Array.isArray(t)?t:[t];for(let i of o)e.push({name:r.name,rule:i})}return e}function g(n,e){return n.validation?.required?m(n.validation?.required,e):void 0}function C(n,e){let r=u.array(u.string());return n.required&&(r=r.min(1,g(n,e))),u.preprocess(t=>T(t)?[]:Array.isArray(t)?t.map(String):[String(t)],r)}function re(n,e,r){let t=r?y(n,r):n;return An(te(t),e)}function te(n){let e=[];for(let r of n)for(let t of r.fields??[])e.push(t);return e}function An(n,e){let r={},t=[],o=i=>{for(let s of i)if(dn(s))o(s.fields);else if(fn(s)){let c=pe(u.array(An(s.fields,e)),s,e);r[s.name]=u.preprocess(a=>a===void 0?[]:a,c)}else{let c=s,a=!!c.required&&!c.hidden,E=Xn(a?c:{...c,required:!1},e);r[c.name]=a?E:E.optional(),t.push(c)}};return o(n),Bn(oe(r),t,e)}function oe(n){if(!Object.keys(n).some(r=>r.includes(".")))return n;let e=new Map;for(let[r,t]of Object.entries(n)){let o=r.split("."),i=e;for(let s=0;s<o.length-1;s++){let c=i.get(o[s]);if(c instanceof Map)i=c;else{let a=new Map;i.set(o[s],a),i=a}}i.set(o[o.length-1],t)}return En(e)}function En(n){let e={};for(let[r,t]of n)e[r]=t instanceof Map?u.object(En(t)).optional():t;return e}function ie(n){return n.issues.map(e=>({path:e.path.map(String).join("."),message:e.message}))}function se(n,e=[],r){let t=e.filter(ue);return t.length===0?n:n.superRefine((o,i)=>{let s=f(o)?o:{};for(let c of t)for(let a of ce(s,c,r))i.addIssue({code:"custom",path:a.path,message:a.message})})}function ue(n){let e=n.validation;return e!==void 0&&(e.requiredWhen!==void 0||e.pattern!==void 0||e.rules!==void 0)}function ce(n,e,r){let t=[],o=I(n,e.name),i=e.validation?.requiredWhen;if(i){let a=(Array.isArray(i)?i:[i]).find(E=>A(n,E));a&&!N(o)&&t.push({path:[e.name],message:x(a.message??e.validation?.required,r)})}let s=e.validation?.pattern;s&&!hn(s,o)&&t.push({path:[e.name],message:x(s.message,r)});for(let c of e.validation?.rules??[])ae(n,c.when)&&!le(c,o)&&t.push({path:[e.name],message:x(c.message,r)});return t}function A(n,e){let r=b[e.operator??"eq"];return r?r(I(n,e.field),e.value):!1}function I(n,e){return e in n?n[e]:R(n,e)??void 0}function ae(n,e){if(!e)return!0;if(Array.isArray(e))return e.every(o=>A(n,o));if("field"in e)return A(n,e);let r=e.all?e.all.every(o=>A(n,o)):!0,t=e.any?e.any.some(o=>A(n,o)):!0;return r&&t}function le(n,e){switch(n.assert){case"required":return N(e);case"minItems":return Array.isArray(e)&&e.length>=Number(n.value);case"maxItems":return Array.isArray(e)&&e.length<=Number(n.value);case"min":return mn(e)>=Number(n.value);case"max":return mn(e)<=Number(n.value);case"oneOf":return Array.isArray(n.value)&&n.value.map(String).includes(String(e));case"pattern":return de(n.value)?hn(n.value,e):!0;default:return!0}}function hn(n,e){return!N(e)||typeof e!="string"||n.allowInterpolation&&(S(e)||fe(e))?!0:new RegExp(n.regex,n.flags).test(e)}function fe(n){return d(n)&&n.trimStart().startsWith("@")}function N(n){return d(n)?n.trim().length>0:b.exists(n,void 0)}function mn(n){return typeof n=="number"?n:d(n)||Array.isArray(n)?n.length:0}function de(n){return f(n)&&"regex"in n}function pe(n,e,r){let t=n,o=e.advanced?.length?.min;o!==void 0&&(t=t.min(o,x(e.validation?.length?.min,r)));let i=e.advanced?.length?.max;return i!==void 0&&(t=t.max(i,x(e.validation?.length?.max,r))),t}export{re as buildFormSchema,ie as collectIssues};
|