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