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