react-luna-form 0.0.70 → 0.0.72

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.
Files changed (85) hide show
  1. package/dist/client/cjs/index.js +1 -1
  2. package/dist/client/esm/index.js +1 -1
  3. package/dist/schema/cjs/index.js +1 -1
  4. package/dist/schema/esm/index.js +1 -1
  5. package/dist/types/luna-core/fetcher.d.ts +2 -0
  6. package/dist/types/luna-core/handle/proxy-event.d.ts +6 -0
  7. package/dist/types/luna-core/handle/source-event.d.ts +2 -0
  8. package/dist/types/luna-core/handle/state-event.d.ts +2 -0
  9. package/dist/types/luna-core/handle/value-event.d.ts +5 -0
  10. package/dist/types/luna-core/helper/input.d.ts +61 -0
  11. package/dist/types/luna-core/index.d.ts +28 -0
  12. package/dist/types/luna-core/type.d.ts +270 -0
  13. package/dist/types/luna-core/util/attributes.d.ts +6 -0
  14. package/dist/types/luna-core/util/build.d.ts +6 -0
  15. package/dist/types/luna-core/util/column.d.ts +2 -0
  16. package/dist/types/luna-core/util/condition.d.ts +2 -0
  17. package/dist/types/luna-core/util/constant.d.ts +53 -0
  18. package/dist/types/luna-core/util/date.d.ts +23 -0
  19. package/dist/types/luna-core/util/extract.d.ts +16 -0
  20. package/dist/types/luna-core/util/format.d.ts +6 -0
  21. package/dist/types/luna-core/util/is-input.d.ts +26 -0
  22. package/dist/types/luna-core/util/is-type.d.ts +7 -0
  23. package/dist/types/luna-core/util/list.d.ts +5 -0
  24. package/dist/types/luna-core/util/logger.d.ts +5 -0
  25. package/dist/types/luna-core/util/operator.d.ts +1 -0
  26. package/dist/types/luna-core/util/path.d.ts +1 -0
  27. package/dist/types/luna-core/util/prepare.d.ts +4 -0
  28. package/dist/types/luna-core/util/schema.d.ts +21 -0
  29. package/dist/types/luna-core/util/source.d.ts +2 -0
  30. package/dist/types/luna-core/util/string.d.ts +12 -0
  31. package/dist/types/luna-core/util/stringify.d.ts +1 -0
  32. package/dist/types/luna-core/util/style.d.ts +6 -0
  33. package/dist/types/luna-core/util/transform.d.ts +2 -0
  34. package/dist/types/luna-core/util/translate.d.ts +1 -0
  35. package/dist/types/luna-core/util/url.d.ts +10 -0
  36. package/dist/types/luna-react/src/client/component/field/field-list-preview-item.d.ts +1 -1
  37. package/dist/types/luna-react/src/client/component/field/field-preview-item.d.ts +1 -1
  38. package/dist/types/luna-react/src/client/component/field/field-preview.d.ts +1 -1
  39. package/dist/types/luna-react/src/client/component/field/field.d.ts +2 -2
  40. package/dist/types/luna-react/src/client/component/form-content.d.ts +1 -1
  41. package/dist/types/luna-react/src/client/component/form.d.ts +1 -1
  42. package/dist/types/luna-react/src/client/component/guard/visibility-guard.d.ts +1 -1
  43. package/dist/types/luna-react/src/client/component/input-selectable.d.ts +1 -1
  44. package/dist/types/luna-react/src/client/component/input-strategies.d.ts +1 -1
  45. package/dist/types/luna-react/src/client/component/slot/slot.d.ts +3 -3
  46. package/dist/types/luna-react/src/client/hook/use-data-source.d.ts +2 -2
  47. package/dist/types/luna-react/src/client/hook/use-fetch.d.ts +1 -1
  48. package/dist/types/luna-react/src/client/hook/use-field-list.d.ts +1 -1
  49. package/dist/types/luna-react/src/client/hook/use-form-action.d.ts +1 -1
  50. package/dist/types/luna-react/src/client/hook/use-format.d.ts +3 -3
  51. package/dist/types/luna-react/src/client/hook/use-input-core.d.ts +1 -1
  52. package/dist/types/luna-react/src/client/hook/use-input.d.ts +1 -1
  53. package/dist/types/luna-react/src/client/hook/use-schema.d.ts +1 -1
  54. package/dist/types/luna-react/src/client/hook/use-value.d.ts +1 -1
  55. package/dist/types/luna-react/src/client/hook/use-write-only-source.d.ts +1 -1
  56. package/dist/types/luna-react/src/client/index.d.ts +1 -1
  57. package/dist/types/luna-react/src/client/lib/source-store.d.ts +1 -1
  58. package/dist/types/luna-react/src/client/lib/state-store.d.ts +1 -1
  59. package/dist/types/luna-react/src/component/column.d.ts +1 -1
  60. package/dist/types/luna-react/src/component/field/field-error.d.ts +1 -1
  61. package/dist/types/luna-react/src/component/field/field-group.d.ts +1 -1
  62. package/dist/types/luna-react/src/component/field/field-list.d.ts +1 -1
  63. package/dist/types/luna-react/src/component/field/field-set-advanced.d.ts +1 -1
  64. package/dist/types/luna-react/src/component/field/field-set.d.ts +1 -1
  65. package/dist/types/luna-react/src/component/field/field.d.ts +1 -1
  66. package/dist/types/luna-react/src/component/field-description.d.ts +1 -1
  67. package/dist/types/luna-react/src/component/form.d.ts +1 -1
  68. package/dist/types/luna-react/src/component/formatted-description.d.ts +1 -1
  69. package/dist/types/luna-react/src/component/input/input-base.d.ts +1 -1
  70. package/dist/types/luna-react/src/component/input-group.d.ts +1 -1
  71. package/dist/types/luna-react/src/component/input-label.d.ts +1 -1
  72. package/dist/types/luna-react/src/component/label.d.ts +1 -1
  73. package/dist/types/luna-react/src/component/list.d.ts +1 -1
  74. package/dist/types/luna-react/src/component/slot/slot-base.d.ts +1 -1
  75. package/dist/types/luna-react/src/component/slot/slot-create.d.ts +1 -1
  76. package/dist/types/luna-react/src/component/slot/slot-list.d.ts +1 -1
  77. package/dist/types/luna-react/src/component/slot/slot.d.ts +3 -3
  78. package/dist/types/luna-react/src/config/index.d.ts +1 -1
  79. package/dist/types/luna-react/src/schema/index.d.ts +2 -2
  80. package/dist/types/luna-react/src/server/component/fallback.d.ts +1 -1
  81. package/dist/types/luna-react/src/server/component/form.d.ts +1 -1
  82. package/dist/types/luna-react/src/server/component/input.d.ts +1 -1
  83. package/dist/types/luna-react/src/server/index.d.ts +1 -1
  84. package/dist/types/luna-react/src/type.d.ts +1 -1
  85. package/package.json +3 -3
@@ -1 +1 @@
1
- import{jsx as Ji}from"react/jsx-runtime";function Sn(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return Ji("div",{"data-slot":"field-control",className:"w-full",children:t})}import{jsx as vn}from"react/jsx-runtime";function Re(e){return vn("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:`size-4 transition-transform duration-200 ${e.expanded?"rotate-90":""}`,children:vn("path",{fillRule:"evenodd",d:"M8.22 5.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L11.94 10 8.22 6.28a.75.75 0 0 1 0-1.06Z",clipRule:"evenodd"})})}import{Activity as ea}from"react";import{createContext as Qi}from"react";var Ue=Qi(!1);import{jsx as Rn}from"react/jsx-runtime";function Ne({children:e,visible:t}){return Rn(ea,{mode:t?"visible":"hidden",children:Rn(Ue,{value:!0,children:e})})}var Ye="input",Tn="input/date",Cn="input/email",An="input/number";var wn="input/time";var Fn="textarea",kn="radio",Nn="checkbox",zt="list";var In="select",En="select/active",Pn="select/day",Vn="select/month",Ln="select/timezone",Dn="select/year";var On="chips",Mn="chips/day",zn="chips/month",Ie="column",_n="description",_t="fields",$n="label",Y="value",Ze="options",$t="email",Bn="number",Gn="password",Hn="tel",Ee="text",Un="aria-errormessage",Yn="aria-invalid",Zn="data-invalid",qn="data-readonly",Wn="aria",Xn="data",qe="max",Kn="maxLength",We="min",jn="minLength",Te="$ref";var Jn="source",Qn="state",Xe="http://luna.internal";var er="type",tr={Africa:"Africa",America:"Americas",Asia:"Asia / Pacific",Atlantic:"Atlantic",Australia:"Asia / Pacific",Europe:"Europe",Indian:"Asia / Pacific",Pacific:"Asia / Pacific"};import{format as ta,formatDistanceToNow as rr,formatDuration as na,intervalToDuration as ra,isValid as Ke,parseISO as oa}from"date-fns";import{enUS as or,es as Gt}from"date-fns/locale";function f(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function z(e){return e==null||e===""}function X(e){return p(e)||typeof e=="number"||Bt(e)}function p(e){return typeof e=="string"}function nr(e){return f(e)&&"url"in e}function Bt(e){return typeof e=="boolean"}var ir={en:or,"en-US":or,es:Gt,"es-ES":Gt,"es-MX":Gt},ia={short:"M/d/yy",medium:"MMM d, yyyy",long:"MMMM d, yyyy",full:"EEEE, MMMM d, yyyy"},aa={ms:1,s:1e3,min:6e4,h:36e5,d:864e5};function ar(e){if(e)return ir[e]??ir[e.split("-")[0]]}function je(e){if(typeof e=="number"&&!Number.isNaN(e))return e;if(p(e)&&e.trim()!==""){let t=Number(e);return Number.isNaN(t)?null:t}return null}function sr(e,t,n){let r=aa[t];if(r===void 0)return String(e);let o=e*r,i=ra({start:0,end:o});return na(i,{locale:n})}function lr(e){if(e instanceof Date)return Ke(e)?e:null;if(p(e)){let t=oa(e);if(Ke(t))return t;let n=new Date(e);return Ke(n)?n:null}if(typeof e=="number"){let t=new Date(e);return Ke(t)?t:null}return null}var sa={currency:(e,t,n)=>{let r=je(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=je(e);return r===null?String(e):new Intl.NumberFormat(n.locale,{style:"percent"}).format(r)},number:(e,t,n)=>{let r=je(e);return r===null?String(e):new Intl.NumberFormat(n.locale).format(r)},date:(e,t,n)=>{let r=lr(e);if(!r)return String(e);let o=t[0]??"short",i=ar(n.locale);if(o==="relative")return rr(r,{addSuffix:!0,locale:i});let a=ia[o]??o;return ta(r,a,{locale:i})},duration:(e,t,n)=>{let r=ar(n.locale);if(typeof e=="number")return sr(e,t[0]??"ms",r);if(p(e)){let i=je(e);if(i!==null)return sr(i,t[0]??"ms",r)}let o=lr(e);return o?rr(o,{addSuffix:!0,locale:r}):String(e)}};function ur(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=sa[o];if(a)return a(e,i,n)}var la=/^\d+$/;function Ut(e,t=[],n=Y){return Array.isArray(t)?t.find(r=>{let o=Yt(r,n);if(o!==void 0&&`${o}`===e)return r})??{value:e}:{value:e}}function Yt(e,t=Y){if(e!=null){if(Array.isArray(e)&&e.every(X)||X(e))return e;if(f(e)){let n=ua(e,t);if(X(n))return n}}}function ua(e,t){let n=P(e,t);if(X(n))return n}function cr(e,t){if(Array.isArray(e))return e;let n=P(e,t);return Array.isArray(n)?n:null}function P(e,t){if(!t||!f(e))return null;let n=t.split(".").filter(o=>o!=="");if(n.length===0)return null;let r=e;for(let o of n)if(f(r)&&o in r)r=r[o];else if(Array.isArray(r)){let i=Number(o);if(!Number.isInteger(i)||i<0||i>=r.length)return null;r=r[i]}else return null;return r}function Zt(e,t={description:_n,label:$n,value:Y}){return e.map(n=>{if(f(n)){let r=P(n,t.label),o=P(n,t.value);if(X(r)&&X(o)){let i=P(n,t.description);return{label:`${r}`,value:`${o}`,...X(i)&&{description:`${i}`}}}}return n})}function dr(e=Ee){let t=e.lastIndexOf("/"),n=t===-1?e:e.slice(t+1);return n&&n!==Ye?n.trim().toLowerCase():Ee}function fr(e){let t={};for(let n of e.keys()){let r=e.getAll(n);t[n]=r.length>1?r:r[0]}return t}function mr(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=la.test(l);s in o||(o[s]=u?[]:{}),o=o[s]}let i=r[r.length-1];o[i]=e[n]}return Ht(t),t}function Ht(e){for(let t of Object.keys(e)){let n=e[t];if(Array.isArray(n)){let r=n.filter(o=>o!==void 0);for(let o of r)f(o)&&Ht(o);e[t]=r}else f(n)&&Ht(n)}}var ca=/\[([^\]]{1,500})\]\(([^)]{1,2000})\)/g;function ae(e,t={},n={}){if(p(e))return da(e,t,n);if(Array.isArray(e))return e.map(r=>ae(r,t,n));if(f(e)){let r={};for(let o in e)r[o]=ae(e[o],t,n);return r}return e}function Pe(e,t={},n={}){return ye(e)?ae(e,t,n):e}function ye(e){return p(e)?/{([^}]{1,200})}/.test(e):Array.isArray(e)?e.some(t=>ye(t)):f(e)?Object.values(e).some(t=>ye(t)):!1}function da(e,t={},n={}){return e.replace(/{([^}]{1,200})}/g,(r,o)=>{let i=String(o).split("|").map(c=>c.trim()),[a,...s]=i;if(!a)return r;let l=a.includes(".")?P(t,a):t[a];if(s.length===0)return X(l)?String(l):r;if(l==null)return r;let u=l;for(let c of s){let d=ur(u,c,{locale:n.locale});if(d===void 0)return r;u=d}return String(u)})}function pr(e,t){if(!p(e)||!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=ca.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)=>{qt()&&!Wt()&&Je().error("[Luna Form]",...e)},warn:(...e)=>{qt()&&!Wt()&&Je().warn("[Luna Form]",...e)},info:(...e)=>{qt()&&!Wt()&&Je().info("[Luna Form]",...e)}},qt=()=>typeof Je()<"u",Wt=()=>!0,Je=()=>globalThis.console;function gr(e=[],t){let n=[],r=[],o=[];for(let i of e)i.action===Y&&n.push(i),i.action===Jn&&r.push(i),i.action===Qn&&o.push(i);t({sources:r,states:o,values:n})}function yr(e=null,t=[],n){for(let r of t){let{target:o,source:i}=r;if(!e){n(o,void 0);continue}if(nr(i)){let a=ae(i.url,e),s=i.body?ae(i.body,e):i.body;n(o,{...i,url:a,body:s})}}}var he={eq:ya,gt:Sa,gte:va,in:ha,lt:Ra,lte:Ta,neq:ba,nin:xa,contains:Ca,exists:Aa,truthy:wa},fa=/^\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 ma(e){return typeof e=="string"&&fa.test(e)}function pa(e){return typeof e=="string"&&br.test(e)}function ga(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 se(e){return ma(e)?new Date(e).getTime():pa(e)?ga(e):Number(e)}function ya(e,t){return e===t}function ba(e,t){return e!==t}function ha(e,t){return Array.isArray(t)&&t.includes(String(e))}function xa(e,t){return Array.isArray(t)&&!t.includes(String(e))}function Sa(e,t){return se(e)>se(t)}function va(e,t){return se(e)>=se(t)}function Ra(e,t){return se(e)<se(t)}function Ta(e,t){return se(e)<=se(t)}function Ca(e,t){return typeof e=="string"?e.includes(String(t)):Array.isArray(e)?e.map(String).includes(String(t)):!1}function Aa(e){return Array.isArray(e)?e.length>0:e!=null&&e!==""}function wa(e){return Array.isArray(e)?e.length>0:!!e}function Ce(e,t){if(t===void 0)return!0;if(p(t)){let n=Qe(e,Y);return Array.isArray(n)?n.length===1&&n[0]===t:n===t}if(Bt(t)){let n=Qe(e,Y);return(Array.isArray(n)?n.length>0:!!n)===t}if(Array.isArray(t)){let n=Qe(e,Y);return Array.isArray(n)?n.some(r=>t.includes(String(r))):t.includes(String(n))}return Fa(e,t)}function Fa(e=null,t){let n=Qe(e,t.field??Y),{operator:r="eq",value:o}=t,i=he[r];return i?i(n,o):!1}function Qe(e,t){return f(e)?P(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=Ce(e,a);n(s,l?i:void 0)}}function xr(e=null,t=[],n){for(let r of t)for(let[o,i]of Object.entries(r.value))n(o,e?ae(i,e):void 0,{onlyIfTargetEmpty:r.onlyIfTargetEmpty??!1})}var Ve=e=>k(En)(e),Sr=e=>k(Pn)(e),et=e=>k(Vn)(e),tt=e=>k(Dn)(e),vr=e=>k(Ln)(e),nt=e=>k(Mn)(e),rt=e=>k(zn)(e),Z=k(Tn),te=k(wn),_=k(Nn),K=k(On),ne=k(kn),le=k(Ye),j=k(In),Xt=k(Fn),Rr=k(Ee,$t,Gn,Hn),Tr=k(Cn,$t),ot=k(An,Bn);function it(e){return ne(e)||_(e)}function Le(e){return e.type===zt}function q(e){return e.type===Ie}function at(e){return e.type!==Ie&&e.type!==zt}function Ae(e){return j(e)||ne(e)||K(e)}function Cr(e){return le(e)||Xt(e)}function R(e){return e!=null&&e!==""}function k(...e){return t=>{let n=p(t.type)?t.type:void 0;return n?e.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function Ar(e,t={}){if(j(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&f(n))return[n]}}function wr(e){return ne(e)||_(e)?!0:e.advanced?.horizontal??!1}function Fr(e){return _(e)?e.advanced?.reverse!==!1:!1}function kr(e,t){let n=e.readonly??!1;return t||n}function Kt(e){if(ka(e)){let t=e.source;if(Array.isArray(t)||f(t)&&!(Te in t))return t}}function ka(e){return ne(e)||K(e)||j(e)&&!e.disabled}import{isValid as st,parse as lt,format as ut}from"date-fns";var Na=/^\d+$/,ct=new Date(2e3,0,1),Ia=()=>"supportedValuesOf"in Intl?Intl.supportedValuesOf("timeZone"):[];function jt(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function Jt(){return Array.from({length:7},(e,t)=>({value:t.toString(),label:new Date(2e3,0,2+t).toLocaleString("default",{weekday:"long"})}))}function Er(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 Qt(){return new Date().getFullYear()}function Ea(){return Intl.DateTimeFormat().resolvedOptions().timeZone}function Pa(e){let t=e.indexOf("/"),n=t===-1?e:e.slice(0,t);return tr[n]??"Other"}function Va(e,t){return(e.find(r=>r.type==="timeZoneName")?.value??t).replace(/\s+(?:Standard|Daylight(?: Saving)?|Summer|Winter)\s+Time$/,"")}function Nr(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=Va(r,e);return{offset:i,longName:a}}function Ir(e){return e.slice(e.lastIndexOf("/")+1).replace(/_/g," ")}function Pr(){let e=new Date,t=Ea(),n=new Map,r=Ir(t),{offset:o,longName:i}=Nr(t,e),a={value:t,label:`${r} - ${i} (${o})`};for(let l of Ia()){if(l===t)continue;let u=Ir(l),{offset:c,longName:d}=Nr(l,e),y={value:l,label:`${u} - ${d} (${c})`},m=Pa(l);if(m==="Other")continue;let C=n.get(m);C?C.push(y):n.set(m,[y])}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 en(e,t){if(typeof e=="number")return e;let n=t??Qt(),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 Na.test(r)?parseInt(r,10):n}function dt(e,t){if(!e)return"";try{let n=lt(e,t,ct);return st(n)?ut(n,"yyyy-MM-dd"):""}catch{return""}}function Vr(e,t){if(!e)return"";try{let n=lt(e,t,ct);return st(n)?ut(n,"HH:mm:ss"):""}catch{return""}}function Lr(e,t="HH:mm"){if(!e)return"";try{let n=e.split(":").length===3?"HH:mm:ss":"HH:mm",r=lt(e,n,ct);return st(r)?ut(r,t):""}catch{return""}}function ft(e,t="MMMM d, yyyy"){if(!e)return"";try{let n=lt(e,"yyyy-MM-dd",ct);return st(n)?ut(n,t):""}catch{return""}}function xe(e){return e.advanced?.format??"HH:mm"}function re(e){return e.advanced?.format??"MMMM d, yyyy"}var mt=Qt();function Or(e){if(K(e))return La(e)}function La(e){if(nt(e))return Jt();if(rt(e))return jt()}function Mr(e){if(j(e))return Da(e)}function Da(e){if(Sr(e))return Jt();if(et(e))return jt();if(tt(e)){let t=e.advanced?.length?.min??mt,n=e.advanced?.length?.max??mt+5;return Er(en(t,mt),en(n,mt))}if(vr(e))return Pr();if(Ve(e))return[{value:"true",label:"Yes"},{value:"false",label:"No"}]}function zr(e,t=!1){let n={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return le(e)?{...n,...Oa(e)}:j(e)?{...n,..._r(e,Mr)}:Xt(e)?{...n,...za(e)}:K(e)?{...n,...Ma(e)}:n}function Oa(e){let t=dr(e.type),n={...e,type:t};return{...$a(e),...$r(e),..._a(n),...Rr(n)?Br(n):{},type:t}}function _r(e,t){let n=t(e);return n?{options:n}:{}}function Ma(e){let t=_r(e,Or),n=e.advanced?.multiple??!0;return{...t,multiple:n}}function za(e){return{...$r(e),...Br(e)}}function $r(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function _a(e){return ot(e)?Ba(e):{}}function $a(e){if(te(e)){let t=xe(e);return{step:t==="HH:mm:ss"||t==="hh:mm:ss a"?"1":"60"}}return{}}function Br(e){return Gr(e,{min:jn,max:Kn})}function Ba(e){return Gr(e,{min:We,max:qe})}function Gr(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 Hr(e,t){let n=Kt(e);return n||Ar(e,t)}function Ga(e,t){let n=f(t)&&e.name in t?t[e.name]:t,r=Yt(n,e.advanced?.entity),o=R(r)?r:e.defaultValue;return te(e)&&R(o)?Ha(e,o):Z(e)&&R(o)?qa(e,o):o}function Ha(e,t){let n=xe(e);return p(t)?Vr(t,n):t}function Ua(e,t,n){return Ae(e)&&Array.isArray(n)?{...t,[Ze]:n}:t}function Ya(e,t,n){if(e.required&&!R(n)&&j(e)&&e.advanced?.preselected!==!1&&Ze in t){let r=t[Ze];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function Za(e,t){return Ae(e)&&Array.isArray(t)?Zt(t,e.advanced?.options):t}function Ur(e,t,n,r){let o=Ga(e,r),i=Array.isArray(n)?Za(e,n):n,a=Ua(e,t,i),s=Ya(e,a,o);return{commonPropsWithOptions:a,defaultValue:s}}function Yr(e,t){return _(e)?{checked:R(t)?t:!1}:K(e)?{value:Array.isArray(t)?t:[]}:Z(e)&&p(t)&&R(t)?{value:ft(t,re(e))}:Ve(e)?{value:R(t)?String(t):""}:{value:t??""}}function qa(e,t){let n=re(e);return p(t)?dt(t,n):t}function Zr(e,t){let n=e??t;return n?{"data-format":n}:{}}function Dr(e){let t=[];for(let n of e){if(typeof n=="string"){t.push(n);continue}f(n)&&"value"in n&&"label"in n&&p(n.value)&&p(n.label)&&t.push({label:n.label,value:n.value})}return t}function qr(e){if(!Ae(e))return;let t=K(e)?Or(e):Mr(e);if(Array.isArray(t)){let r=Dr(t);return r.length>0?r:void 0}let n=Kt(e);if(Array.isArray(n)){let r=Zt(n,e.advanced?.options),o=Dr(r);return o.length>0?o:void 0}}function Wr(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 Wa=/^#\/definition\//;function gt(e=[],t){let n=pt(e,t);return Array.isArray(n)?n.filter(Ka).sort((r,o)=>Xr(r)-Xr(o)):[]}function pt(e,t,n=new Map,r=new WeakSet){if(!Xa(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=>pt(i,t,n,r));if(Te in e&&p(e[Te])){let i=e[Te].replace(Wa,""),a=P(t,i);return a!==null?pt(a,t,n,r):e}let o={};for(let[i,a]of Object.entries(e))o[i]=pt(a,t,n,r);return r.delete(e),n.set(e,o),o}function Kr(e){return Object.entries(e??{})}function Xr(e){return e.order??Number.MAX_VALUE}function Xa(e){return e!==void 0&&f(e)&&Object.keys(e).length>0}function Ka(e){return er in e?!0:Array.isArray(e[_t])?e[_t].length>0:!0}function jr(e,t){let n={};for(let[r,o]of Kr(t))n[`${e}-${r}`]=o;return n}function ja(e){return jr(Wn,e)}function Ja(e){return jr(Xn,e)}function Jr(e,t){let n=ja(e.advanced?.aria);return t&&t.length>0&&(n[Yn]="true",n[Un]=`${e.name}-error`),n}function Qr(e){return Ja(e.advanced?.data)}var eo={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},to={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function no(e,t=2){return eo[e&&e in eo?e:t]}function ro(e){if(e&&e in to)return to[e]}function Qa(e,t){let n=e.advanced?.length?.min??1;if(t){let r=P(t,e.name);if(Array.isArray(r))return Math.max(r.length,n)}return Math.max(n,0)}function oo(e){return!Array.isArray(e.fields)||e.fields.length===0?!1:e.fields.length>1||e.fields[0].type===Ie}function io(e,t){let n=Qa(e,t);return Array.from({length:n},(r,o)=>o)}function ao(e){return e.advanced?.title??e.label??e.name}function so(e){let t={};for(let n of e)if(q(n))for(let r of n.fields)t[r.name]=r;else t[n.name]=n;return t}function yt(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 T}from"zod";function v(e,t){return e?t?t[e]??e:e:""}var es=[[_,lo],[Tr,ts],[ot,os],[ne,ns],[Ve,lo],[et,as],[tt,is],[K,tn],[nt,tn],[rt,tn]];function fo(e,t=[],n){let r=T.object(e);if(t.length===0)return r;let o=cs(r,t,n);return ms(o,t,n)}function mo(e){let t={},n=T.flattenError(e).fieldErrors;for(let[r,o]of Object.entries(n))o!==void 0&&(t[r]=o);return t}function po(e,t){for(let[n,r]of es)if(n(e))return r(e,t);return rs(e,t)}function ts(e,t){let n=T.string().trim();if(e.required){let r=ue(e,t),o=n.min(1,r).pipe(uo(e,t));return T.preprocess(i=>z(i)?"":i,o)}return n.pipe(uo(e,t)).or(T.literal("")).nullable()}function lo(e,t){let n=T.preprocess(r=>{if(typeof r=="string"){if(r==="true")return!0;if(r==="false")return!1}return r},T.coerce.boolean());return e.required?(_(e)?n=n.refine(r=>r===!0,{message:ue(e,t)}):n=n.refine(r=>typeof r=="boolean",{message:ue(e,t)}),T.preprocess(r=>r===null?!1:r,n)):n.nullable()}function ns(e,t){let n=T.coerce.string();return e.required?(n=n.min(1,ue(e,t)),T.preprocess(r=>z(r)?"":r,n)):n.or(T.literal("")).nullable()}function rs(e,t){let n=T.coerce.string().trim();return n=go(n,e,t),e.required?(n=yo(n,e,t),T.preprocess(r=>z(r)?"":r,n)):n.nullable()}function os(e,t){let n=T.coerce.number().int();return n=go(n,e,t),e.required?(n=yo(n,e,t),T.preprocess(r=>r===null?void 0:r,n)):n.nullable()}function is(e,t){return e.required?T.preprocess(ss,T.coerce.number({message:ue(e,t)}).int()):T.coerce.number().int().nullable()}function as(e,t){let n=ue(e,t),r=T.coerce.number().int().min(1,n).max(12,n);return e.required?r:r.nullable()}function ss(e){return e===null||e===""?void 0:e}function uo(e,t){let n=e.validation?.email?v(e.validation?.email,t):void 0;return T.email(n)}function go(e,t,n){return e=ls(e,t,n),e=us(e,t,n),e}function yo(e,t,n){let r=t.advanced?.length?.min;return r===void 0||r<1?e.min(1,ue(t,n)):e}var ls=(e,t,n)=>bo(e,t,We,n),us=(e,t,n)=>bo(e,t,qe,n);function bo(e,t,n,r){let o=t.advanced?.length?.[n];if(o!==void 0){let i=t.validation?.length?.[n]?v(t.validation?.length?.[n],r):void 0;return e[n](o,i)}return e}function cs(e,t=[],n){let r=fs(t);return r.length===0?e:e.superRefine((o,i)=>{for(let{name:a,rule:s}of r)if(!ds(o,a,s)){let l=v(s.message,n);i.addIssue({code:"custom",message:l,path:[a]})}})}function ds(e,t,n){let r=n.operator??"eq",o=he[r];return o?o(bt(e,t),bt(e,n.field)):!1}function fs(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 ho(e,t,n,r){let o=[],i=Array.isArray(t)?t:[t];for(let a of i){let s=a.operator??"eq",l=he[s];if(l&&!l(e,n(a.field))&&a.message){let u=v(a.message,r);o.push(u)}}return o}function ue(e,t){return e.validation?.required?v(e.validation?.required,t):void 0}function tn(e,t){let n=T.array(T.string());return e.required&&(n=n.min(1,ue(e,t))),T.preprocess(r=>z(r)?[]:Array.isArray(r)?r.map(String):[String(r)],n)}function ms(e,t=[],n){let r=t.filter(ps);return r.length===0?e:e.superRefine((o,i)=>{let a=f(o)?o:{};for(let s of r)for(let l of gs(a,s,n))i.addIssue({code:"custom",path:l.path,message:l.message})})}function ps(e){let t=e.validation;return t!==void 0&&(t.requiredWhen!==void 0||t.pattern!==void 0||t.rules!==void 0)}function gs(e,t,n){let r=[],o=bt(e,t.name),i=t.validation?.requiredWhen;if(i){let l=(Array.isArray(i)?i:[i]).find(u=>De(e,u));l&&!rn(o)&&r.push({path:[t.name],message:nn(l.message??t.validation?.required,n)})}let a=t.validation?.pattern;a&&!xo(a,o)&&r.push({path:[t.name],message:nn(a.message,n)});for(let s of t.validation?.rules??[])ys(e,s.when)&&!bs(s,o)&&r.push({path:[t.name],message:nn(s.message,n)});return r}function De(e,t){let n=he[t.operator??"eq"];return n?n(bt(e,t.field),t.value):!1}function bt(e,t){return t in e?e[t]:P(e,t)??void 0}function ys(e,t){if(!t)return!0;if(Array.isArray(t))return t.every(o=>De(e,o));if("field"in t)return De(e,t);let n=t.all?t.all.every(o=>De(e,o)):!0,r=t.any?t.any.some(o=>De(e,o)):!0;return n&&r}function bs(e,t){switch(e.assert){case"required":return rn(t);case"minItems":return Array.isArray(t)&&t.length>=Number(e.value);case"maxItems":return Array.isArray(t)&&t.length<=Number(e.value);case"min":return co(t)>=Number(e.value);case"max":return co(t)<=Number(e.value);case"oneOf":return Array.isArray(e.value)&&e.value.map(String).includes(String(t));case"pattern":return xs(e.value)?xo(e.value,t):!0;default:return!0}}function xo(e,t){return!rn(t)||typeof t!="string"||e.allowInterpolation&&(ye(t)||hs(t))?!0:new RegExp(e.regex,e.flags).test(t)}function hs(e){return p(e)&&e.trimStart().startsWith("@")}function rn(e){return p(e)?e.trim().length>0:he.exists(e,void 0)}function co(e){return typeof e=="number"?e:p(e)||Array.isArray(e)?e.length:0}function xs(e){return f(e)&&"regex"in e}function nn(e,t){return e?v(e,t):void 0}function So(e,t){if(!t||!vs(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||Ss(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 Ss(e){return e==="https"?"443":"80"}function vs(e){return/^(https?:)?\/\//.test(e)}function vo(e,t){try{if(!e)return t;if(!t)return e;let n=new URL(e,Xe);new URL(t,Xe).searchParams.forEach((i,a)=>{n.searchParams.set(a,i)});let o=n.toString();return e.startsWith("/")||!e.includes("://")?o.replace(Xe,""):o}catch{return t||e}}function Ro(e){return!Array.isArray(e)||e.length===0?null:e.reduce((t,n)=>{let r=vo(t.url,n.url),o=Rs(t,n),i=Ts(t,n);return{...t,...n,url:r,body:o,headers:i}})}function Rs(e,t){return f(t.body)&&f(e?.body)?{...e.body,...t.body}:t.body??e?.body}function Ts(e,t){return f(t.headers)&&f(e?.headers)?{...e.headers,...t.headers}:t.headers??e?.headers}function ht(e,t){return{...e,...t}}var Cs={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 Oe(e,t){return!t||!p(e)||z(e)?e:(Array.isArray(t)?t:[t]).reduce((r,o)=>{let i=Cs[o];return i?i(r):r},e)}import{jsx as As}from"react/jsx-runtime";function oe(e){return pr(e,(t,n,r)=>As("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${t}`))}import{useCallback as ws,useState as Fs}from"react";import{jsx as Me,jsxs as on}from"react/jsx-runtime";function To(e){let{fields:t=[]}=e.section,[n,r]=Fs(!1),o=ws(()=>r(i=>!i),[]);return on("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:[Me("legend",{children:on("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:[Me(Re,{expanded:n}),Me("span",{children:oe(e.section.title)})]})}),Me(Ne,{visible:n,children:on("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.section.description&&Me("p",{className:"text-sm leading-normal font-normal text-zinc-600 dark:text-zinc-400",children:oe(e.section.description)}),e.group]})})]})}import{jsx as xt,jsxs as Co}from"react/jsx-runtime";function Ao(e){let t=Co("div",{className:"flex flex-col",children:[e.title&&xt("legend",{className:"mb-3 font-medium text-zinc-800 dark:text-zinc-200",children:oe(e.title)}),e.description&&xt("p",{className:"-mt-2 text-sm leading-normal font-normal text-zinc-600 dark:text-zinc-400",children:oe(e.description)})]});return e.step?Co("div",{className:"flex flex-row items-start gap-4",children:[xt("div",{className:"bg-primary text-primary-foreground flex size-6 shrink-0 items-center justify-center rounded-full",children:xt("span",{className:"text-sm font-bold",children:e.step})}),t]}):t}import{jsx as wo,jsxs as ks}from"react/jsx-runtime";function St(e){return ks("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:[wo(Ao,{description:e.description,step:e.step,title:e.title}),wo("div",{className:"w-full min-w-0",children:e.children})]})}import{jsx as Ns}from"react/jsx-runtime";function ce(e){return Ns("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 Fo(e){let{fields:t=[]}=e.section,n=e.advanced?.step?e.step:void 0,{compact:r}=ht(e.style,{compact:e.section.advanced?.compact}),o=an(ce,{compact:r,children:e.children});return!e.section.title&&!e.section.description?o:e.section.advanced?.collapsible?an(To,{section:e.section,group:o}):an(St,{description:e.section.description,empty:t.length===0,id:e.section.id?.toString(),step:n,title:e.section.title,children:o})}import{jsx as ko}from"react/jsx-runtime";function No(){return ko("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:ko("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-zinc-200 dark:bg-zinc-800"})})}import{useAtomValue as Ls}from"jotai";import{atom as Se}from"jotai";import{atomFamily as Io}from"jotai-family";import{deepEqual as sn}from"fast-equals";function vt(e,t){let{[t]:n,...r}=e;return r}function Is(e){return Io(t=>Se(n=>n(e)[t]??void 0,(n,r,o)=>{let i=n(e);if(o!=null){let a=i[t];sn(a,o)||r(e,{...i,[t]:o})}else t in i&&r(e,vt(i,t))}))}function Es(e){return Se(null,(t,n)=>{let r=t(e);r&&Object.keys(r).length>0&&n(e,{})})}function Ps(e){return Se(null,(t,n,r)=>{let i={...t(e)},a=!1;for(let s of r)s in i&&(delete i[s],a=!0);a&&n(e,i)})}function Vs(e){return Se(null,(t,n,r)=>{let o=t(e);sn(o,r)||n(e,r)})}function Eo(e,t={}){let{merge:n,validateTarget:r}=t;return Io(o=>Se(i=>{let a=i(e)[o];if(a&&n)return n(Object.values(a))},(i,a,s,l)=>{if(r&&!r(s))return;let u=i(e),c={...u[s]??{}};if(l!=null){let d=c[o];(!d||!sn(d,l))&&(c[o]=l,a(e,{...u,[s]:c}))}else o in c&&(delete c[o],Object.keys(c).length===0?a(e,vt(u,s)):a(e,{...u,[s]:c}))}))}function Po(e){return Se(null,(t,n,r)=>{let i={...t(e)},a=!1;for(let s of r)s in i&&(delete i[s],a=!0);for(let s in i){let l={...i[s]},u=!1;for(let c of r)c in l&&(delete l[c],u=!0,a=!0);u&&(Object.keys(l).length===0?delete i[s]:i[s]=l)}a&&n(e,i)})}function we(e={}){let t=Se(e);return{atom:t,clearAll:Es(t),clear:Ps(t),bulkReport:Vs(t),report:Is(t)}}var Vo=we(),Rt=Vo.atom,Tt=Vo.report;function Ds(e,t){return e.fields.every(n=>Lo(n,t))}function Lo(e,t){return t[e.name]?.hidden??e.hidden??!1}function Os(e,t){return q(e)?Ds(e,t):Lo(e,t)}function Ct(e){let t=Ls(Rt);return e.container&&(t[e.container.name]?.hidden??e.container.hidden??!1)||e.fields.length===0||e.fields.every(r=>Os(r,t))?null:e.children}import{jsx as ze,jsxs as Do}from"react/jsx-runtime";function Oo(e){let t=gt(e.sections,e.definition);return ze("div",{className:"h-full w-full",children:ze("form",{noValidate:e.noValidate,action:e.action,children:Do(ce,{children:[t.map((n,r)=>Do(Ct,{fields:n.fields??[],children:[ze(Fo,{advanced:e.advanced,section:n,step:r+1,style:e.config.style,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.advanced?.separator&&ze(No,{})]},`key-${n.id}-${r}`)),e.control&&ze(Sn,{isPending:e.isPending,children:e.control})]})})})}import{jsx as Ms}from"react/jsx-runtime";function Mo(e){return Ms("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 zs}from"react";import{jsx as zo,jsxs as _o}from"react/jsx-runtime";function At(e){let t={context:e.context,env:e.config?.env,value:e.value},r={locale:e.config?.env?.locale},[o,i]=zs(()=>f(e.text)&&"collapsed"in e.text?!e.text.collapsed:!0),a=()=>i(c=>!c),s=f(e.text)&&p(e.text.title)?oe(v(Pe(e.text.title,t,r),e.translations)):void 0,l=v(Pe(p(e.text)?e.text:e.text?.message,t,r),e.translations),u=oe(l);return u?_o("div",{className:"flex flex-col gap-2",children:[s&&_o("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,zo(Re,{expanded:o})]}),o&&zo(Mo,{title:l,children:u})]}):null}var wt=we(),J=wt.atom,$o=wt.clearAll,Bo=wt.clear,de=wt.report;import{useAtomValue as Go}from"jotai";import{jsx as _s}from"react/jsx-runtime";function Ft(e){let t=Go(de(e.field.name)),r=Go(Tt(e.field.name))?.description??e.field.description;return _s(At,{config:e.config,context:e.context,text:r,translations:e.translations,value:t})}import{twMerge as $s}from"tailwind-merge";import{jsx as Ho,jsxs as Bs}from"react/jsx-runtime";function Uo(e){let t=e.style?.showOptionalLabel??!0,n=ne(e.field)||_(e.field);return Bs("label",{"data-slot":"field-label","data-normal":n,className:$s("flex w-fit items-center text-sm leading-snug font-medium select-none","data-[normal=true]:font-normal [[data-slot=column]_&]:md:w-full","group-data-[readonly=true]:cursor-not-allowed group-data-[readonly=true]:opacity-50"),htmlFor:e.field.name,title:p(e.children)?e.children:void 0,children:[Ho("span",{className:"[[data-slot=column]_&]:md:truncate",children:e.children}),t&&!e.field.required&&Ho("span",{className:"ml-2 flex-shrink-0 text-sm text-zinc-600 dark:text-zinc-400",children:v("(Optional)",e.translations)})]})}import{jsx as Yo,jsxs as Gs}from"react/jsx-runtime";function Zo(e){let t={context:e.context,env:e.config?.env},n=Pe(e.field.label,t);return Gs("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[Yo(Uo,{field:e.field,style:e.config?.style,translations:e.translations,children:v(n,e.translations)}),e.horizontal===!0&&Yo(Ft,{config:e.config,context:e.context,field:e.field,translations:e.translations})]})}import{Fragment as Hs,jsx as qo,jsxs as Us}from"react/jsx-runtime";function Wo(e){return Us(Hs,{children:[e.field.name&&e.field.label&&qo(Zo,{config:e.config,context:e.context,field:e.field,horizontal:e.horizontal,translations:e.translations}),e.children,e.horizontal===!1&&qo(Ft,{config:e.config,context:e.context,field:e.field,translations:e.translations})]})}function kt(e,t){return e?t(e):null}function $(e,t){if(!Array.isArray(t)&&e in t)return t[e];if(!e.includes("."))return;let n=e.split("."),r=t;for(let o of n){if(r==null)return;if(Array.isArray(r)){let i=Number(o);r=Number.isInteger(i)?r[i]:void 0}else if(f(r))r=r[o];else return}return r}import{useCallback as ll,useEffect as ul,useRef as cl}from"react";import{createContext as Ys}from"react";var Zs=e=>e,fe=Ys(Zs);var ln=we(),Xo=ln.clear,Ko=ln.bulkReport,Nt=ln.report;import{use as Qs,useCallback as ei,useRef as _e,useTransition as el}from"react";import{use as qs,useEffect as Ws,useEffectEvent as jo,useMemo as Xs}from"react";function Jo(e,t,n,r){let{name:o}=e,i=Xs(()=>po(e,r),[e,r]),a=qs(Ue),s=jo(u=>{u&&t(u,i,e)}),l=jo(u=>{u&&n(u,{keepValue:a})});return Ws(()=>(s(o),()=>{l(o)}),[o]),i}import{useSetAtom as un,useStore as tl}from"jotai";import{useCallback as Ks,useEffect as js,useRef as Js}from"react";function Qo(){let e=Js(null);return js(()=>()=>{e.current&&clearTimeout(e.current)},[]),Ks((n,r)=>{e.current&&(clearTimeout(e.current),e.current=null),e.current=setTimeout(n,r)},[])}function ti(e,t){let n=tl(),r=e.field.advanced?.entity,o=Qo(),[,i]=el(),a=Qs(fe),{setValue:s,shouldSkipOnChange:l,value:u,setSource:c}=t,d=_e(u);d.current=u;let y=_e(e.translations);y.current=e.translations;let m=it(e.field),C=un(J),F=un(Rt),N=un(Nt(e.field.name)),V=Jo(e.field,e.onMount,e.onUnmount,e.translations),G=v(e.commonProps.placeholder,e.translations),L={...e.commonProps,placeholder:G};function I(b){let[,g]=e.getSchema();return g.find(S=>S.name===b)}function D(b){let g=I(b);if(g&&le(g)){let S=g.advanced?.transform;if(S)return S}}let E=_e(new Map),ie=_e(null);ie.current=b=>{let g=le(e.field)?Oe(b,e.field.advanced?.transform):b;s(g),e.onValueChange&&e.onValueChange({name:a(e.field.name),type:e.field.type,value:g})};let h=_e(null);h.current=b=>{let g=e.field.event?.change;g&&gr(g,({sources:S,states:w,values:O})=>{i(()=>{yr(b,S,(H,Q)=>{c(yt(H,e.field.name),Q)}),hr(b,w,(H,Q)=>{let ve=H.map(M=>yt(M,e.field.name));F(M=>Q?ve.reduce((U,pe)=>({...U,[pe]:Q}),M):ve.reduce((U,pe)=>vt(U,pe),M));let W=Q?.hidden===!0?ve:Q===void 0?ve.filter(M=>I(M)?.hidden===!0):[];W.length>0&&C(M=>{let U=!1,pe={...M};for(let ge of Object.keys(M))W.some(ee=>ge===ee||ge.startsWith(`${ee}.`))&&(delete pe[ge],U=!0);return U?pe:M})}),xr(b,O,(H,Q,ve)=>{let W=yt(H,e.field.name),M=D(W),U=M?Oe(Q,M):Q,ge=n.get(J)[W];if(ve.onlyIfTargetEmpty&&!z(ge)){let ee=E.current.get(W);if(!Object.is(ee,ge))return}if(U!==ge&&(C(ee=>({...ee,[W]:U})),E.current.set(W,U),e.onValueChange)){let ee=I(W);ee&&e.onValueChange({name:a(W),type:ee.type,value:U})}})})})};let x=ei(b=>{let S=V.safeParse(b).error?.issues.map(H=>H.message)??[],w=e.field.validation?.custom,O=w?ho(b,w,H=>n.get(de(H)),y.current):[];N([...S,...O])},[e.field.validation?.custom,V,N,n]),A=ei(b=>{if(!m){let g=b.target.value;e.config.validation.blur&&x(g)}},[m,e.config.validation.blur,x]);return{applyChangeEventsRef:h,commonProps:L,entity:r,hasClickable:m,onBlur:A,onValueChangeRef:ie,setTimeoutRef:o,shouldSkipOnChange:l,validated:x,valueRef:d}}import{deepEqual as nl}from"fast-equals";import{useAtom as rl}from"jotai";import{use as ol,useCallback as il,useEffect as al,useRef as sl,useEffectEvent as ni}from"react";function ri(e,t){let{name:n}=e,r=sl(!1),[o,i]=rl(de(n)),a=ol(fe),s=ni((c,d=!1)=>{let y=le(e)?Oe(c,e.advanced?.transform):c;!d&&!nl(o,y)&&(r.current=!0),i(y)}),l=ni(c=>{let d=$(a(n),c);R(d)?s(d):R(e.defaultValue)&&s(e.defaultValue,!0)});al(()=>{if(t){l(t);return}R(e.defaultValue)&&s(e.defaultValue,!0)},[t,e.defaultValue]);let u=il(()=>r.current?(r.current=!1,!0):!1,[]);return{setValue:i,shouldSkipOnChange:u,value:o}}import{jsx as oi}from"react/jsx-runtime";function ii(e){let{useSource:t,useExtraProps:n,getValue:r,shouldSkipChange:o,dispatchChange:i,buildInitialSelected:a,isInitialReady:s}=e.strategies,{setValue:l,shouldSkipOnChange:u,value:c}=ri(e.field,e.value),{data:d,setSource:y}=t(e.field,e.config,c),{applyChangeEventsRef:m,commonProps:C,entity:F,hasClickable:N,onBlur:V,onValueChangeRef:G,setTimeoutRef:L,validated:I,valueRef:D}=ti(e,{setValue:l,shouldSkipOnChange:u,value:c,setSource:y}),E=n?.(e.field),ie=cl(!1),{commonPropsWithOptions:h,defaultValue:x}=Ur(e.field,C,d,c),A=Yr(e.field,x);ul(()=>{let g=!!e.value||R(e.field.defaultValue);if(ie.current||!g)return;if(!e.field.event?.change){ie.current=!0;return}let S=e.value?$(e.field.name,e.value):void 0,w=R(S)?S:e.field.defaultValue;if(!R(w)||!s(e.field,w,d))return;ie.current=!0;let O=a(w,d,F);m.current?.(O)},[m,a,d,F,s,e.field,e.value]);let b=ll(g=>{let S=r(g,e.field);o({field:e.field,shouldSkipOnChange:u,hasClickable:N,inputValue:S,valueRef:D})||(G.current?.(S),e.config.validation.change&&I(S),e.field.event?.change&&i({applyChangeEventsRef:m,data:d,entity:F,inputValue:S,setTimeoutRef:L}))},[m,d,i,F,r,N,G,e.config.validation.change,e.field,L,o,u,I,D]);return kt(e.config.inputs[e.field.type],g=>oi(Wo,{config:e.config,context:e.context,field:e.field,horizontal:e.horizontal,translations:e.translations,children:oi(g,{...h,...e.ariaAttributes,...e.dataAttributes,...E,...A,onBlur:V,onChange:b})}))}import{jsx as dl}from"react/jsx-runtime";function Fe(e){return function(n){return dl(ii,{...n,strategies:e})}}function ai(e){let t=Z(e)?re(e):null,n=te(e)?xe(e):null;return{dateFormat:t,timeFormat:n}}import{atom as fl}from"jotai";var ml=e=>{let t=Ro(e);if(t)return t},pl=e=>e.trim()!=="",si=fl({}),It=Eo(si,{merge:ml,validateTarget:pl}),li=Po(si);import{useSetAtom as gl}from"jotai";function Et(e){return{data:null,setSource:gl(It(e.name))}}var ui=Fe({useSource:Et,useExtraProps:e=>{let{dateFormat:t,timeFormat:n}=ai(e);return Zr(t,n)},getValue:(e,t)=>{let n=e.target.value,r=te(t)?xe(t):null;if(r!==null)return Lr(n,r);let o=Z(t)?re(t):null;return o!==null&&ft(n,o)||n},shouldSkipChange:({shouldSkipOnChange:e,inputValue:t,valueRef:n})=>e()&&t===n.current,dispatchChange:({applyChangeEventsRef:e,inputValue:t,setTimeoutRef:n})=>{n(()=>{e.current?.({value:t})},300)},buildInitialSelected:e=>({value:String(e)}),isInitialReady:(e,t)=>R(t)});import{deepEqual as xl}from"fast-equals";import{useAtom as hl}from"jotai";import yl from"swr";function ci(e=null,t,n=!1){let{data:r,error:o}=yl(bl(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 cr(r,e.namespace)}return null}function bl(e=null,t,n=!1){if(e&&!Array.isArray(e)&&!n&&e.url&&!ye(e.url)){if(So(e.url,t.fetcher.remotePatterns))return e;be.warn(`URL blocked by remotePatterns: ${e.url}. Check your luna.config.ts`)}return null}function di(e,t,n){let r=Hr(e,n),[o,i]=hl(It(e.name));return[ci(o??r,t,e.disabled),i]}function Sl(e,t,n){let[r,o]=di(e,t,n);return{data:r,setSource:o}}function vl(e,t){return j(e)&&t===""}var fi=Fe({useSource:Sl,getValue:e=>e.target.value,shouldSkipChange:({field:e,shouldSkipOnChange:t,hasClickable:n,inputValue:r,valueRef:o})=>vl(e,r)||!n&&t()&&(!r||xl(r,o.current)),dispatchChange:({applyChangeEventsRef:e,data:t,entity:n,inputValue:r})=>{e.current?.(Ut(r,t,n))},buildInitialSelected:(e,t,n)=>Ut(String(e),t,n),isInitialReady:(e,t,n)=>(!Ae(e)||!!n&&n.length>0)&&R(t)});var mi=Fe({useSource:Et,getValue:e=>e.target.value,shouldSkipChange:({shouldSkipOnChange:e,inputValue:t,valueRef:n})=>e()&&t===n.current,dispatchChange:({applyChangeEventsRef:e,inputValue:t,setTimeoutRef:n})=>{n(()=>{e.current?.({value:t})},300)},buildInitialSelected:e=>({value:String(e)}),isInitialReady:(e,t)=>R(t)});import{jsx as cn}from"react/jsx-runtime";function pi(e){return Z(e.field)||te(e.field)?cn(ui,{...e}):Cr(e.field)?cn(mi,{...e}):cn(fi,{...e})}import{jsx as gi}from"react/jsx-runtime";function yi(e){return!e.errors||e.errors.length===0?null:gi("ul",{className:"text-sm text-red-600 dark:text-red-500",id:e.name?`${e.name}-error`:void 0,children:e.errors?.map((t,n)=>gi("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}import{twMerge as Rl}from"tailwind-merge";import{jsx as Tl}from"react/jsx-runtime";function Pt(e){let t=e.errors&&e.errors.length>0;return Tl("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[Zn]:"true"},...e.disabled&&{[qn]:"true"},"data-orientation":e.orientation,className:Rl("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 Cl}from"tailwind-merge";import{jsx as Al}from"react/jsx-runtime";function bi(e){return Al(Pt,{...e,orientation:"vertical",className:Cl("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}import{twMerge as wl}from"tailwind-merge";import{jsx as Fl}from"react/jsx-runtime";function hi(e){return Fl(Pt,{...e,orientation:"horizontal",className:wl("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 xi}from"react/jsx-runtime";function Si(e){let t=it(e.field),n=_(e.field),r=Fr(e.field);return e.horizontal?xi(hi,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children}):xi(bi,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children})}function vi(e){if(!e.field.type)return null;let t=zr(e.field,e.disabled),n=Qr(e.field),r=Jr(e.field,e.errors),o={...e.field,disabled:t.disabled};return e.children({ariaAttributes:r,commonProps:t,dataAttributes:n,field:o,horizontal:e.horizontal})}import{twMerge as kl}from"tailwind-merge";import{jsx as dn,jsxs as Nl}from"react/jsx-runtime";function Ri(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{horizontal:r}=ht(e.style,{horizontal:wr(e.field)}),o=kr(e.field,e.disabled);return Nl("div",{className:kl("flex flex-col gap-3",ro(t)),children:[dn(Si,{disabled:o,errors:n,field:e.field,horizontal:r,children:dn(vi,{disabled:o,errors:n,field:e.field,horizontal:r,children:e.children})}),dn(yi,{errors:n,name:e.field.name})]})}import{useAtomValue as Il}from"jotai";import{jsx as Vl}from"react/jsx-runtime";function Ti(e){return(t,n)=>o=>{let i=Il(e(o.field.name)),a=n(i,o);return a===null?null:Vl(t,{...o,...a})}}var El=Ti(Nt);function Ci(e){return El(e,(t,n)=>({errors:t?{[n.field.name]:t}:void 0}))}var Pl=Ti(Tt);function Ai(e){return Pl(e,(t,n)=>t?.hidden??n.field.hidden??!1?null:{disabled:t?.disabled??n.disabled})}var wi=Ai(Ci(Ri));import{twMerge as fn}from"tailwind-merge";import{useState as Ll}from"react";import{Fragment as Dl,jsx as B,jsxs as me}from"react/jsx-runtime";function Fi(e){let t=e.isMultiField||e.collapsed!=null,[n,r]=Ll(t?!e.collapsed:!0);function o(){e.canRemove&&e.onRemove&&e.onRemove(e.index)}function i(){r(u=>!u)}let a=e.canRemove&&e.onRemove!=null&&B("button",{"aria-label":`Remove ${e.label} item ${e.index+1}`,className:fn("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:B("span",{"aria-hidden":"true",className:"leading-none",children:"\xD7"})}),s=me("div",{className:"flex min-w-0 flex-col font-medium text-zinc-700 dark:text-zinc-400",children:[B("span",{className:"text-base",children:e.previewLabel??me(Dl,{children:[e.label," ",e.index+1]})}),!n&&e.previewTags&&B("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})]}),l=me("div",{className:fn("flex items-center justify-between gap-2",e.isMultiField&&n&&"mb-3"),children:[t?me("div",{className:"flex min-w-0 grow items-center gap-2",children:[me("button",{"aria-expanded":n,"aria-label":`${n?"Collapse":"Expand"} ${e.label} ${e.index+1}`,className:fn("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:[B(Re,{expanded:n}),s]}),!n&&e.previewBadge&&B("div",{className:"ml-auto shrink-0",children:e.previewBadge})]}):s,a]});return e.isMultiField?me("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:[l,B(Ne,{visible:n,children:B(ce,{children:e.children})})]}):t?me("div",{className:"box-border flex w-full min-w-0 flex-col gap-2",children:[l,B(Ne,{visible:n,children:B(ce,{children:e.children})})]}):me("div",{className:"box-border flex w-full min-w-0 items-start gap-2",children:[B("div",{className:"flex min-w-0 grow flex-col",children:B(ce,{children:e.children})}),a&&B("div",{className:"shrink-0",children:a})]})}import{Fragment as Ml}from"react";import{twMerge as ki}from"tailwind-merge";import{useAtomValue as Ol}from"jotai";function Vt(e,t){return Ol(de(e))??t}import{jsx as $e,jsxs as Ni}from"react/jsx-runtime";function Ii({className:e,initialValue:t,name:n,options:r,separator:o,staticLabel:i}){let a=Vt(n??"",t);if(i===void 0&&r){let u=(Array.isArray(a)?a:a==null||a===""?[]:[a]).filter(c=>c!=null&&c!=="").map(c=>Wr(c,r));return u.length===0?null:$e("div",{className:"flex items-center gap-1.5 overflow-hidden",children:u.map((c,d)=>Ni(Ml,{children:[(o||d>0)&&$e("span",{"aria-hidden":"true",className:"text-xs text-zinc-300 select-none dark:text-zinc-600",children:"\xB7"}),$e("span",{"aria-label":c,className:ki("max-w-[150px] overflow-hidden text-xs text-ellipsis whitespace-nowrap",e),title:c,children:c})]},`${d}:${c}`))})}if(i===void 0&&(z(a)||f(a)||Array.isArray(a)))return null;let s=i??String(a);return Ni("div",{className:"flex items-center gap-1.5 overflow-hidden",children:[o&&$e("span",{"aria-hidden":"true",className:"text-xs text-zinc-300 select-none dark:text-zinc-600",children:"\xB7"}),$e("span",{"aria-label":s,className:ki("max-w-[150px] overflow-hidden text-xs text-ellipsis whitespace-nowrap",e),title:s,children:s})]})}import{useAtomValue as zl}from"jotai";import{useMemo as _l}from"react";function Lt(e,t){let n=zl(J);return _l(()=>{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?$(e,t):void 0;return i?f(a)?{...a,...o}:o:a},[n,e,t])}import{useMemo as mn}from"react";import{jsx as Ei}from"react/jsx-runtime";function $l(e){return typeof e=="string"?{field:e}:e}function pn({className:e,fields:t,label:n="Preview",name:r,previews:o,translations:i,value:a}){let s=mn(()=>(Array.isArray(o)?o:[o]).map($l),[o]),l=mn(()=>t?so(t):void 0,[t]),u=Lt(r,a),c=mn(()=>{let d=[];for(let[y,m]of s.entries()){if(m.when!==void 0&&!Ce(u,m.when))continue;if(m.label!==void 0){d.push({key:m.field??`label:${m.label}:${y}`,staticLabel:v(m.label,i)});continue}if(m.field===void 0)continue;let C=`${r}.${m.field}`,F=a!=null?$(C,a):void 0,N=l?.[m.field],V=N?qr(N):void 0;d.push({key:`${y}:${m.field}`,initialValue:F,options:V,previewName:C})}return d},[s,u,r,a,i,l]);return c.length===0?null:Ei("div",{"aria-label":n,className:"flex items-center gap-1.5 overflow-hidden",children:c.map((d,y)=>Ei(Ii,{className:e,initialValue:"initialValue"in d?d.initialValue:void 0,name:"previewName"in d?d.previewName:void 0,options:"options"in d?d.options:void 0,separator:y>0,staticLabel:"staticLabel"in d?d.staticLabel:void 0},d.key))})}import{Fragment as Bl,jsx as Gl}from"react/jsx-runtime";function Pi({children:e,initialValue:t,name:n}){let r=Vt(n,t),i=z(r)||f(r)||Array.isArray(r)?"":String(r);return Gl(Bl,{children:e(i)})}import{jsx as Dt}from"react/jsx-runtime";function Vi({canRemove:e,children:t,field:n,index:r,isMultiField:o,itemKey:i,label:a,onRemove:s,previewBadge:l,previewLabel:u,previewTags:c,translations:d,value:y}){let m=`${n.name}.${i}`,C=`${a} ${r+1}`,F=Lt(m,y);return Dt(Fi,{canRemove:e,collapsed:n.advanced?.collapsed,index:r,isMultiField:o,label:a,onRemove:s,previewLabel:Hl({fallbackLabel:C,liveItemValue:F,name:m,previewLabel:u,translations:d,value:y}),previewBadge:l?Dt(pn,{className:"bg-primary text-primary-foreground rounded-md px-1.5 py-0.5 leading-none font-bold uppercase",fields:n.fields,name:m,previews:l,translations:d,value:y}):void 0,previewTags:c?Dt(pn,{fields:n.fields,name:m,previews:c,translations:d,value:y}):void 0,children:t})}function Hl({fallbackLabel:e,liveItemValue:t,name:n,previewLabel:r,translations:o,value:i}){if(r===void 0)return;let a=p(r)?{field:r}:r;if(a.when!==void 0&&!Ce(t,a.when))return;if(a.label!==void 0)return v(a.label,o);if(a.field===void 0)return;let s=`${n}.${a.field}`;return Dt(Pi,{initialValue:i?$(s,i):void 0,name:s,children:l=>l||e})}import{twMerge as jl}from"tailwind-merge";import{useSetAtom as Ul,useStore as Yl}from"jotai";import{use as Zl,useCallback as ke,useEffect as ql,useEffectEvent as Wl,useMemo as Xl,useRef as Ot,useState as Kl}from"react";function Li(e,t,n){let r=e.advanced?.length?.min??1,o=e.advanced?.length?.max??1/0,[i,a]=Kl(()=>io(e,t)),s=Ot(i),l=Ot(i.length);s.current=i;let u=Yl(),c=Ul(J),d=Ot(n);d.current=n;let y=Ot(t),m=Xl(()=>{let h=[];for(let x of e.fields)if(q(x))for(let A of x.fields)h.push(A.name);else h.push(x.name);return h},[e.fields]),C=ke((h,x)=>{let A=Number(h);return Number.isNaN(A)?!1:Number.isInteger(A)&&x>=0&&String(x)!==h},[]),F=Zl(fe),N=ke(h=>{let x=`${e.name}.`;if(h.startsWith(x)){let A=h.slice(x.length),b=A.indexOf("."),g=b===-1?A:A.slice(0,b),S=Number(g),w=s.current.indexOf(S);C(g,w)&&(h=`${x}${w}${b===-1?"":A.slice(b)}`)}return F(h)},[e.name,C,F]),V=Wl(()=>{let h=y.current;if(!h)return;let x=`${e.name}.`,A={...u.get(J)},b=!1;for(let g of i)for(let S of m){let w=`${x}${g}.${S}`;if(w in A)continue;let O=$(w,h);R(O)&&(A[w]=O,b=!0)}b&&c(A)});ql(()=>{V()},[]);let G=ke((h,x)=>{let A=`${e.name}.`,b=y.current;return h.map(g=>{let S={};for(let w of m){let O=`${A}${g}.${w}`,H=x[O];S[w]=H!==void 0?H:b?$(O,b):void 0}return S})},[e.name,m]),L=ke((h,x)=>{d.current?.({name:N(e.name),value:G(h,x)})},[G,e.name,N]),I=ke(()=>{if(s.current.length>=o)return;let h=l.current++,x=[...s.current,h];a(x),L(x,u.get(J))},[L,o,u]),D=ke(h=>{if(s.current.length<=r)return;let x=s.current[h],A=s.current.filter((w,O)=>O!==h),g={...u.get(J)},S=`${e.name}.`;for(let w of m)delete g[`${S}${x}.${w}`];a(A),c(g),L(A,g)},[L,e.name,m,r,c,u]),E=i.length<o,ie=i.length>r;return[i,I,D,E,ie,o,N]}import{jsx as gn,jsxs as Mt}from"react/jsx-runtime";var Jl="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 Di(e){let{field:t,onValueChange:n,translations:r,value:o,children:i}=e,[a,s,l,u,c,d,y]=Li(t,o,n),m=ao(t),C=t.advanced?.action??"Add item",F=d!==1/0,N=oo(t);be.info("Label: ",m);let{label:V,tags:G,badge:L}=t.advanced?.preview??{};return gn(fe.Provider,{value:y,children:Mt("div",{className:"flex w-full flex-col gap-4",children:[a.map((I,D)=>gn(Vi,{canRemove:c,field:t,index:D,isMultiField:N,itemKey:I,label:m,onRemove:l,previewBadge:L,previewLabel:V,previewTags:G,translations:r,value:o,children:i(I)},I)),Mt("button",{"aria-disabled":!u,"aria-label":F?`${C}, ${a.length} of ${d}`:C,className:jl(Jl,F?"justify-between":"justify-center",!u&&"cursor-not-allowed opacity-50 hover:border-zinc-200 hover:text-zinc-500 dark:hover:border-zinc-800 dark:hover:text-zinc-400"),disabled:!u,onClick:s,type:"button",children:[Mt("span",{className:"flex items-center gap-2",children:[gn("span",{"aria-hidden":"true",className:"text-base leading-none",children:"+"}),C]}),F&&Mt("span",{"aria-hidden":"true",className:"text-zinc-400 tabular-nums dark:text-zinc-500",children:[a.length," / ",d]})]})]})})}import{jsx as Ql}from"react/jsx-runtime";function Oi(e){let t=Array.isArray(e.field.fields)&&e.field.fields.length===0;return Ql(St,{description:e.field.description,empty:t,id:e.field.name,title:e.field.label,children:e.children})}import{jsx as yn}from"react/jsx-runtime";function Mi({children:e,field:t,onValueChange:n,translations:r,value:o}){return yn(Ct,{container:t,fields:t.fields,children:yn(Oi,{field:t,children:yn(Di,{field:t,onValueChange:n,translations:r,value:o,children:e})})})}import{twMerge as eu}from"tailwind-merge";import{jsx as zi,jsxs as tu}from"react/jsx-runtime";function _i(e){let t=no(e.column?.advanced?.cols);return tu("div",{className:"flex w-full flex-col gap-4",children:[zi("div",{"data-slot":"column",className:eu("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children}),e.column?.description&&zi(At,{config:e.config,context:e.context,text:e.column.description,translations:e.translations})]})}import{Fragment as ru}from"react";import{jsx as nu}from"react/jsx-runtime";function $i(e){let t=Array.isArray(e.field.fields)?e.field.fields.map(n=>at(n)||Le(n)?{...n,name:`${e.field.name}.${e.index}.${n.name}`}:q(n)?{...n,fields:n.fields.map(r=>({...r,name:`${e.field.name}.${e.index}.${r.name}`}))}:n):[];return nu(Be,{components:e.components,config:e.config,context:e.context,disabled:e.disabled,fields:t,onValueChange:e.onValueChange,style:e.style,translations:e.translations,value:e.value,children:e.children})}import{jsx as Ge,jsxs as ou}from"react/jsx-runtime";function Be(e){let{field:t,list:n}=e.components;return gt(e.fields).map((r,o)=>ou(ru,{children:[q(r)&&Ge(_i,{column:r,config:e.config,context:e.context,translations:e.translations,children:Ge(Be,{...e,fields:r.fields})}),at(r)&&Ge(t,{disabled:e.disabled,field:r,style:e.style,children:e.children}),Le(r)&&Ge(n,{field:r,onValueChange:e.onValueChange,translations:e.translations,value:e.value,children:i=>Ge($i,{components:e.components,config:e.config,context:e.context,disabled:e.disabled,field:r,index:i,onValueChange:e.onValueChange,style:e.style,translations:e.translations,value:e.value,children:e.children})})]},o))}import{jsx as iu}from"react/jsx-runtime";function Bi(e){return n=>iu(Be,{...n,components:e})}var Gi=Bi({field:wi,list:Mi});import{useSetAtom as Hi}from"jotai";import{startTransition as Ui,useActionState as au}from"react";function Zi(e,t,n){let{onSuccess:r,preserveValues:o=!1,validation:i=!0,translations:a}=n??{},s=Hi(Ko),l=Hi($o),u={data:null,error:null,success:!1},[c,d,y]=au(async(m,C)=>{let[F,N]=e(),V=fo(F,N,a);if(i===!1)return t?await t(C,V):m;let G=fr(C),L=lu(G,N),I=V.safeParse(L);if(!I.success){let E=mo(I.error);return Ui(()=>{s(E)}),bn(G,{description:v("Please correct the errors and try again.",a),details:[],title:v("There were validation errors submitting the form.",a)})}let D=mr(I.data);if(t)try{let E=await t(D,V);return E.success?(r?.(E.data),o||Ui(()=>{l()}),Yi(D,o)):bn(D,E.error)}catch(E){return be.error("Error executing form action:",E),bn(D,{title:v("An unexpected error occurred submitting the form.",a),details:su(E,a)})}return Yi(I.data,o)},u);return[d,c,y]}function su(e,t){return e instanceof Error?[e.message]:[v("Unknown error",t)]}function Yi(e,t=!1){return{data:t?e:null,error:null,success:!0}}function bn(e,t){return{data:e,error:t,success:!1}}function lu(e,t){let n={...e};for(let r of t)if(Z(r)&&typeof n[r.name]=="string"&&n[r.name]){let o=dt(n[r.name],re(r));o&&(n[r.name]=o)}return n}import{useCallback as xn,useRef as Wi}from"react";import{useCallback as uu}from"react";import{useSetAtom as hn}from"jotai";function qi(){let e=hn(Xo),t=hn(Bo),n=hn(li);return uu((r,o)=>{let i=Array.isArray(r)?r:[r];e(i),n(i),o?.keepValue||t(i)},[e,n,t])}function Xi(){let e=qi(),t=Wi({}),n=Wi([]),r=xn((a,s,l)=>{a in t.current||(t.current[a]=s,n.current.push(l))},[]),o=xn((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[xn(()=>[t.current,n.current],[]),r,o]}import{Fragment as cu,jsx as He,jsxs as du}from"react/jsx-runtime";function Ki(e){let t=e.translations?.[e.lang??""],[n,r,o]=Xi(),[i,a,s]=Zi(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 du(cu,{children:[l&&kt(e.config.alert,c=>He("div",{className:"mb-4 w-full",children:He(c,{description:a.error?.description,details:a.error?.details,title:a.error.title})})),He(Oo,{action:i,advanced:e.advanced,config:e.config,control:e.children,definition:e.definition,isPending:s,noValidate:!0,readOnly:e.readOnly,sections:e.sections,children:({disabled:c,fields:d})=>He(Gi,{config:e.config,context:e.context,disabled:c,fields:d,onValueChange:e.onValueChange,style:e.config.style,translations:t,value:u,children:y=>He(pi,{...y,config:e.config,context:e.context,getSchema:n,onMount:r,onUnmount:o,onValueChange:e.onValueChange,translations:t,value:u})})})]})}import{Provider as fu}from"jotai";import{jsx as ji}from"react/jsx-runtime";function mu(e){return ji(fu,{children:ji(Ki,{...e})})}export{mu as Form};
1
+ import{jsx as Qi}from"react/jsx-runtime";function Sn(e){let t=typeof e.children=="function"?e.children({isPending:e.isPending}):e.children;return Qi("div",{"data-slot":"field-control",className:"w-full",children:t})}import{jsx as vn}from"react/jsx-runtime";function Re(e){return vn("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:`size-4 transition-transform duration-200 ${e.expanded?"rotate-90":""}`,children:vn("path",{fillRule:"evenodd",d:"M8.22 5.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L11.94 10 8.22 6.28a.75.75 0 0 1 0-1.06Z",clipRule:"evenodd"})})}import{Activity as ta}from"react";import{createContext as ea}from"react";var Ue=ea(!1);import{jsx as Rn}from"react/jsx-runtime";function Ne({children:e,visible:t}){return Rn(ta,{mode:t?"visible":"hidden",children:Rn(Ue,{value:!0,children:e})})}var Ye="input",Tn="input/date",Cn="input/email",An="input/number";var wn="input/time";var Fn="textarea",kn="radio",Nn="checkbox",zt="list";var In="select",En="select/active",Pn="select/day",Vn="select/month",Ln="select/timezone",Dn="select/year";var On="chips",Mn="chips/day",zn="chips/month",Ie="column",_n="description",_t="fields",$n="label",Y="value",Ze="options",$t="email",Bn="number",Gn="password",Hn="tel",Ee="text",Un="aria-errormessage",Yn="aria-invalid",Zn="data-invalid",qn="data-readonly",Wn="aria",Xn="data",qe="max",Kn="maxLength",We="min",jn="minLength",Te="$ref";var Jn="source",Qn="state",Xe="http://luna.internal";var er="type",tr={Africa:"Africa",America:"Americas",Asia:"Asia / Pacific",Atlantic:"Atlantic",Australia:"Asia / Pacific",Europe:"Europe",Indian:"Asia / Pacific",Pacific:"Asia / Pacific"};import{format as na,formatDistanceToNow as rr,formatDuration as ra,intervalToDuration as oa,isValid as Ke,parseISO as ia}from"date-fns";import{enUS as or,es as Gt}from"date-fns/locale";function f(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function z(e){return e==null||e===""}function X(e){return p(e)||typeof e=="number"||Bt(e)}function p(e){return typeof e=="string"}function nr(e){return f(e)&&"url"in e}function Bt(e){return typeof e=="boolean"}var ir={en:or,"en-US":or,es:Gt,"es-ES":Gt,"es-MX":Gt},aa={short:"M/d/yy",medium:"MMM d, yyyy",long:"MMMM d, yyyy",full:"EEEE, MMMM d, yyyy"},sa={ms:1,s:1e3,min:6e4,h:36e5,d:864e5};function ar(e){if(e)return ir[e]??ir[e.split("-")[0]]}function je(e){if(typeof e=="number"&&!Number.isNaN(e))return e;if(p(e)&&e.trim()!==""){let t=Number(e);return Number.isNaN(t)?null:t}return null}function sr(e,t,n){let r=sa[t];if(r===void 0)return String(e);let o=e*r,i=oa({start:0,end:o});return ra(i,{locale:n})}function lr(e){if(e instanceof Date)return Ke(e)?e:null;if(p(e)){let t=ia(e);if(Ke(t))return t;let n=new Date(e);return Ke(n)?n:null}if(typeof e=="number"){let t=new Date(e);return Ke(t)?t:null}return null}var la={currency:(e,t,n)=>{let r=je(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=je(e);return r===null?String(e):new Intl.NumberFormat(n.locale,{style:"percent"}).format(r)},number:(e,t,n)=>{let r=je(e);return r===null?String(e):new Intl.NumberFormat(n.locale).format(r)},date:(e,t,n)=>{let r=lr(e);if(!r)return String(e);let o=t[0]??"short",i=ar(n.locale);if(o==="relative")return rr(r,{addSuffix:!0,locale:i});let a=aa[o]??o;return na(r,a,{locale:i})},duration:(e,t,n)=>{let r=ar(n.locale);if(typeof e=="number")return sr(e,t[0]??"ms",r);if(p(e)){let i=je(e);if(i!==null)return sr(i,t[0]??"ms",r)}let o=lr(e);return o?rr(o,{addSuffix:!0,locale:r}):String(e)}};function ur(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=la[o];if(a)return a(e,i,n)}var ua=/^\d+$/;function Ut(e,t=[],n=Y){return Array.isArray(t)?t.find(r=>{let o=Yt(r,n);if(o!==void 0&&`${o}`===e)return r})??{value:e}:{value:e}}function Yt(e,t=Y){if(e!=null){if(Array.isArray(e)&&e.every(X)||X(e))return e;if(f(e)){let n=ca(e,t);if(X(n))return n}}}function ca(e,t){let n=P(e,t);if(X(n))return n}function cr(e,t){if(Array.isArray(e))return e;let n=P(e,t);return Array.isArray(n)?n:null}function P(e,t){if(!t||!f(e))return null;let n=t.split(".").filter(o=>o!=="");if(n.length===0)return null;let r=e;for(let o of n)if(f(r)&&o in r)r=r[o];else if(Array.isArray(r)){let i=Number(o);if(!Number.isInteger(i)||i<0||i>=r.length)return null;r=r[i]}else return null;return r}function Zt(e,t={description:_n,label:$n,value:Y}){return e.map(n=>{if(f(n)){let r=P(n,t.label),o=P(n,t.value);if(X(r)&&X(o)){let i=P(n,t.description);return{label:`${r}`,value:`${o}`,...X(i)&&{description:`${i}`}}}}return n})}function dr(e=Ee){let t=e.lastIndexOf("/"),n=t===-1?e:e.slice(t+1);return n&&n!==Ye?n.trim().toLowerCase():Ee}function fr(e){let t={};for(let n of e.keys()){let r=e.getAll(n);t[n]=r.length>1?r:r[0]}return t}function mr(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=ua.test(l);s in o||(o[s]=u?[]:{}),o=o[s]}let i=r[r.length-1];o[i]=e[n]}return Ht(t),t}function Ht(e){for(let t of Object.keys(e)){let n=e[t];if(Array.isArray(n)){let r=n.filter(o=>o!==void 0);for(let o of r)f(o)&&Ht(o);e[t]=r}else f(n)&&Ht(n)}}var da=/\[([^\]]{1,500})\]\(([^)]{1,2000})\)/g;function ae(e,t={},n={}){if(p(e))return fa(e,t,n);if(Array.isArray(e))return e.map(r=>ae(r,t,n));if(f(e)){let r={};for(let o in e)r[o]=ae(e[o],t,n);return r}return e}function Pe(e,t={},n={}){return ye(e)?ae(e,t,n):e}function ye(e){return p(e)?/{([^}]{1,200})}/.test(e):Array.isArray(e)?e.some(t=>ye(t)):f(e)?Object.values(e).some(t=>ye(t)):!1}function fa(e,t={},n={}){return e.replace(/{([^}]{1,200})}/g,(r,o)=>{let i=String(o).split("|").map(c=>c.trim()),[a,...s]=i;if(!a)return r;let l=a.includes(".")?P(t,a):t[a];if(s.length===0)return X(l)?String(l):r;if(l==null)return r;let u=l;for(let c of s){let d=ur(u,c,{locale:n.locale});if(d===void 0)return r;u=d}return String(u)})}function pr(e,t){if(!p(e)||!e||e.trim().length===0)return null;let n,r=0,o=!1,i=[];for(;(n=da.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)=>{qt()&&!Wt()&&Je().error("[Luna Form]",...e)},warn:(...e)=>{qt()&&!Wt()&&Je().warn("[Luna Form]",...e)},info:(...e)=>{qt()&&!Wt()&&Je().info("[Luna Form]",...e)}},qt=()=>typeof Je()<"u",Wt=()=>!0,Je=()=>globalThis.console;function gr(e=[],t){let n=[],r=[],o=[];for(let i of e)i.action===Y&&n.push(i),i.action===Jn&&r.push(i),i.action===Qn&&o.push(i);t({sources:r,states:o,values:n})}function yr(e=null,t=[],n){for(let r of t){let{target:o,source:i}=r;if(!e){n(o,void 0);continue}if(nr(i)){let a=ae(i.url,e),s=i.body?ae(i.body,e):i.body;n(o,{...i,url:a,body:s})}}}var he={eq:ba,gt:va,gte:Ra,in:xa,lt:Ta,lte:Ca,neq:ha,nin:Sa,contains:Aa,exists:hr,empty:wa,truthy:Fa},ma=/^\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 pa(e){return typeof e=="string"&&ma.test(e)}function ga(e){return typeof e=="string"&&br.test(e)}function ya(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 se(e){return pa(e)?new Date(e).getTime():ga(e)?ya(e):Number(e)}function ba(e,t){return e===t}function ha(e,t){return e!==t}function xa(e,t){return Array.isArray(t)&&t.includes(String(e))}function Sa(e,t){return Array.isArray(t)&&!t.includes(String(e))}function va(e,t){return se(e)>se(t)}function Ra(e,t){return se(e)>=se(t)}function Ta(e,t){return se(e)<se(t)}function Ca(e,t){return se(e)<=se(t)}function Aa(e,t){return typeof e=="string"?e.includes(String(t)):Array.isArray(e)?e.map(String).includes(String(t)):!1}function hr(e){return Array.isArray(e)?e.length>0:e!=null&&e!==""}function wa(e){return!hr(e)}function Fa(e){return Array.isArray(e)?e.length>0:!!e}function Ce(e,t){if(t===void 0)return!0;if(p(t)){let n=Qe(e,Y);return Array.isArray(n)?n.length===1&&n[0]===t:n===t}if(Bt(t)){let n=Qe(e,Y);return(Array.isArray(n)?n.length>0:!!n)===t}if(Array.isArray(t)){let n=Qe(e,Y);return Array.isArray(n)?n.some(r=>t.includes(String(r))):t.includes(String(n))}return ka(e,t)}function ka(e=null,t){let n=Qe(e,t.field??Y),{operator:r="eq",value:o}=t,i=he[r];return i?i(n,o):!1}function Qe(e,t){return f(e)?P(e,t):e}function xr(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=Ce(e,a);n(s,l?i:void 0)}}function Sr(e=null,t=[],n){for(let r of t)for(let[o,i]of Object.entries(r.value))n(o,e?ae(i,e):void 0,{onlyIfTargetEmpty:r.onlyIfTargetEmpty??!1})}var Ve=e=>k(En)(e),vr=e=>k(Pn)(e),et=e=>k(Vn)(e),tt=e=>k(Dn)(e),Rr=e=>k(Ln)(e),nt=e=>k(Mn)(e),rt=e=>k(zn)(e),Z=k(Tn),te=k(wn),_=k(Nn),K=k(On),ne=k(kn),le=k(Ye),j=k(In),Xt=k(Fn),Tr=k(Ee,$t,Gn,Hn),Cr=k(Cn,$t),ot=k(An,Bn);function it(e){return ne(e)||_(e)}function Le(e){return e.type===zt}function q(e){return e.type===Ie}function at(e){return e.type!==Ie&&e.type!==zt}function Ae(e){return j(e)||ne(e)||K(e)}function Ar(e){return le(e)||Xt(e)}function R(e){return e!=null&&e!==""}function k(...e){return t=>{let n=p(t.type)?t.type:void 0;return n?e.some(r=>n===r||n?.startsWith(`${r}/`)):!1}}function wr(e,t={}){if(j(e)&&e.disabled){let n=e.name?t?.[e.name]:void 0;if(n&&f(n))return[n]}}function Fr(e){return ne(e)||_(e)?!0:e.advanced?.horizontal??!1}function kr(e){return _(e)?e.advanced?.reverse!==!1:!1}function Nr(e,t){let n=e.readonly??!1;return t||n}function Kt(e){if(Na(e)){let t=e.source;if(Array.isArray(t)||f(t)&&!(Te in t))return t}}function Na(e){return ne(e)||K(e)||j(e)&&!e.disabled}import{isValid as st,parse as lt,format as ut}from"date-fns";var Ia=/^\d+$/,ct=new Date(2e3,0,1),Ea=()=>"supportedValuesOf"in Intl?Intl.supportedValuesOf("timeZone"):[];function jt(){return Array.from({length:12},(e,t)=>({value:(t+1).toString(),label:new Date(0,t).toLocaleString("default",{month:"long"})}))}function Jt(){return Array.from({length:7},(e,t)=>({value:t.toString(),label:new Date(2e3,0,2+t).toLocaleString("default",{weekday:"long"})}))}function Pr(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 Qt(){return new Date().getFullYear()}function Pa(){return Intl.DateTimeFormat().resolvedOptions().timeZone}function Va(e){let t=e.indexOf("/"),n=t===-1?e:e.slice(0,t);return tr[n]??"Other"}function La(e,t){return(e.find(r=>r.type==="timeZoneName")?.value??t).replace(/\s+(?:Standard|Daylight(?: Saving)?|Summer|Winter)\s+Time$/,"")}function Ir(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=La(r,e);return{offset:i,longName:a}}function Er(e){return e.slice(e.lastIndexOf("/")+1).replace(/_/g," ")}function Vr(){let e=new Date,t=Pa(),n=new Map,r=Er(t),{offset:o,longName:i}=Ir(t,e),a={value:t,label:`${r} - ${i} (${o})`};for(let l of Ea()){if(l===t)continue;let u=Er(l),{offset:c,longName:d}=Ir(l,e),y={value:l,label:`${u} - ${d} (${c})`},m=Va(l);if(m==="Other")continue;let C=n.get(m);C?C.push(y):n.set(m,[y])}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 en(e,t){if(typeof e=="number")return e;let n=t??Qt(),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 Ia.test(r)?parseInt(r,10):n}function dt(e,t){if(!e)return"";try{let n=lt(e,t,ct);return st(n)?ut(n,"yyyy-MM-dd"):""}catch{return""}}function Lr(e,t){if(!e)return"";try{let n=lt(e,t,ct);return st(n)?ut(n,"HH:mm:ss"):""}catch{return""}}function Dr(e,t="HH:mm"){if(!e)return"";try{let n=e.split(":").length===3?"HH:mm:ss":"HH:mm",r=lt(e,n,ct);return st(r)?ut(r,t):""}catch{return""}}function ft(e,t="MMMM d, yyyy"){if(!e)return"";try{let n=lt(e,"yyyy-MM-dd",ct);return st(n)?ut(n,t):""}catch{return""}}function xe(e){return e.advanced?.format??"HH:mm"}function re(e){return e.advanced?.format??"MMMM d, yyyy"}var mt=Qt();function Mr(e){if(K(e))return Da(e)}function Da(e){if(nt(e))return Jt();if(rt(e))return jt()}function zr(e){if(j(e))return Oa(e)}function Oa(e){if(vr(e))return Jt();if(et(e))return jt();if(tt(e)){let t=e.advanced?.length?.min??mt,n=e.advanced?.length?.max??mt+5;return Pr(en(t,mt),en(n,mt))}if(Rr(e))return Vr();if(Ve(e))return[{value:"true",label:"Yes"},{value:"false",label:"No"}]}function _r(e,t=!1){let n={disabled:t,id:e.name,name:e.name,placeholder:e.placeholder,required:e.required};return le(e)?{...n,...Ma(e)}:j(e)?{...n,...$r(e,zr)}:Xt(e)?{...n,..._a(e)}:K(e)?{...n,...za(e)}:n}function Ma(e){let t=dr(e.type),n={...e,type:t};return{...Ba(e),...Br(e),...$a(n),...Tr(n)?Gr(n):{},type:t}}function $r(e,t){let n=t(e);return n?{options:n}:{}}function za(e){let t=$r(e,Mr),n=e.advanced?.multiple??!0;return{...t,multiple:n}}function _a(e){return{...Br(e),...Gr(e)}}function Br(e){let t=e.advanced?.autocomplete;return t?{autoComplete:t}:{}}function $a(e){return ot(e)?Ga(e):{}}function Ba(e){if(te(e)){let t=xe(e);return{step:t==="HH:mm:ss"||t==="hh:mm:ss a"?"1":"60"}}return{}}function Gr(e){return Hr(e,{min:jn,max:Kn})}function Ga(e){return Hr(e,{min:We,max:qe})}function Hr(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 Ur(e,t){let n=Kt(e);return n||wr(e,t)}function Ha(e,t){let n=f(t)&&e.name in t?t[e.name]:t,r=Yt(n,e.advanced?.entity),o=R(r)?r:e.defaultValue;return te(e)&&R(o)?Ua(e,o):Z(e)&&R(o)?Wa(e,o):o}function Ua(e,t){let n=xe(e);return p(t)?Lr(t,n):t}function Ya(e,t,n){return Ae(e)&&Array.isArray(n)?{...t,[Ze]:n}:t}function Za(e,t,n){if(e.required&&!R(n)&&j(e)&&e.advanced?.preselected!==!1&&Ze in t){let r=t[Ze];if(Array.isArray(r)&&r.length===1)return r[0]}return n}function qa(e,t){return Ae(e)&&Array.isArray(t)?Zt(t,e.advanced?.options):t}function Yr(e,t,n,r){let o=Ha(e,r),i=Array.isArray(n)?qa(e,n):n,a=Ya(e,t,i),s=Za(e,a,o);return{commonPropsWithOptions:a,defaultValue:s}}function Zr(e,t){return _(e)?{checked:R(t)?t:!1}:K(e)?{value:Array.isArray(t)?t:[]}:Z(e)&&p(t)&&R(t)?{value:ft(t,re(e))}:Ve(e)?{value:R(t)?String(t):""}:{value:t??""}}function Wa(e,t){let n=re(e);return p(t)?dt(t,n):t}function qr(e,t){let n=e??t;return n?{"data-format":n}:{}}function Or(e){let t=[];for(let n of e){if(typeof n=="string"){t.push(n);continue}f(n)&&"value"in n&&"label"in n&&p(n.value)&&p(n.label)&&t.push({label:n.label,value:n.value})}return t}function Wr(e){if(!Ae(e))return;let t=K(e)?Mr(e):zr(e);if(Array.isArray(t)){let r=Or(t);return r.length>0?r:void 0}let n=Kt(e);if(Array.isArray(n)){let r=Zt(n,e.advanced?.options),o=Or(r);return o.length>0?o:void 0}}function Xr(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 Xa=/^#\/definition\//;function gt(e=[],t){let n=pt(e,t);return Array.isArray(n)?n.filter(ja).sort((r,o)=>Kr(r)-Kr(o)):[]}function pt(e,t,n=new Map,r=new WeakSet){if(!Ka(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=>pt(i,t,n,r));if(Te in e&&p(e[Te])){let i=e[Te].replace(Xa,""),a=P(t,i);return a!==null?pt(a,t,n,r):e}let o={};for(let[i,a]of Object.entries(e))o[i]=pt(a,t,n,r);return r.delete(e),n.set(e,o),o}function jr(e){return Object.entries(e??{})}function Kr(e){return e.order??Number.MAX_VALUE}function Ka(e){return e!==void 0&&f(e)&&Object.keys(e).length>0}function ja(e){return er in e?!0:Array.isArray(e[_t])?e[_t].length>0:!0}function Jr(e,t){let n={};for(let[r,o]of jr(t))n[`${e}-${r}`]=o;return n}function Ja(e){return Jr(Wn,e)}function Qa(e){return Jr(Xn,e)}function Qr(e,t){let n=Ja(e.advanced?.aria);return t&&t.length>0&&(n[Yn]="true",n[Un]=`${e.name}-error`),n}function eo(e){return Qa(e.advanced?.data)}var to={1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3"},no={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3"};function ro(e,t=2){return to[e&&e in to?e:t]}function oo(e){if(e&&e in no)return no[e]}function es(e,t){let n=e.advanced?.length?.min??1;if(t){let r=P(t,e.name);if(Array.isArray(r))return Math.max(r.length,n)}return Math.max(n,0)}function io(e){return!Array.isArray(e.fields)||e.fields.length===0?!1:e.fields.length>1||e.fields[0].type===Ie}function ao(e,t){let n=es(e,t);return Array.from({length:n},(r,o)=>o)}function so(e){return e.advanced?.title??e.label??e.name}function lo(e){let t={};for(let n of e)if(q(n))for(let r of n.fields)t[r.name]=r;else t[n.name]=n;return t}function yt(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 T}from"zod";function v(e,t){return e?t?t[e]??e:e:""}var ts=[[_,uo],[Cr,ns],[ot,is],[ne,rs],[Ve,uo],[et,ss],[tt,as],[K,tn],[nt,tn],[rt,tn]];function mo(e,t=[],n){let r=T.object(e);if(t.length===0)return r;let o=ds(r,t,n);return ps(o,t,n)}function po(e){let t={},n=T.flattenError(e).fieldErrors;for(let[r,o]of Object.entries(n))o!==void 0&&(t[r]=o);return t}function go(e,t){for(let[n,r]of ts)if(n(e))return r(e,t);return os(e,t)}function ns(e,t){let n=T.string().trim();if(e.required){let r=ue(e,t),o=n.min(1,r).pipe(co(e,t));return T.preprocess(i=>z(i)?"":i,o)}return n.pipe(co(e,t)).or(T.literal("")).nullable()}function uo(e,t){let n=T.preprocess(r=>{if(typeof r=="string"){if(r==="true")return!0;if(r==="false")return!1}return r},T.coerce.boolean());return e.required?(_(e)?n=n.refine(r=>r===!0,{message:ue(e,t)}):n=n.refine(r=>typeof r=="boolean",{message:ue(e,t)}),T.preprocess(r=>r===null?!1:r,n)):n.nullable()}function rs(e,t){let n=T.coerce.string();return e.required?(n=n.min(1,ue(e,t)),T.preprocess(r=>z(r)?"":r,n)):n.or(T.literal("")).nullable()}function os(e,t){let n=T.coerce.string().trim();return n=yo(n,e,t),e.required?(n=bo(n,e,t),T.preprocess(r=>z(r)?"":r,n)):n.nullable()}function is(e,t){let n=T.coerce.number().int();return n=yo(n,e,t),e.required?(n=bo(n,e,t),T.preprocess(r=>r===null?void 0:r,n)):n.nullable()}function as(e,t){return e.required?T.preprocess(ls,T.coerce.number({message:ue(e,t)}).int()):T.coerce.number().int().nullable()}function ss(e,t){let n=ue(e,t),r=T.coerce.number().int().min(1,n).max(12,n);return e.required?r:r.nullable()}function ls(e){return e===null||e===""?void 0:e}function co(e,t){let n=e.validation?.email?v(e.validation?.email,t):void 0;return T.email(n)}function yo(e,t,n){return e=us(e,t,n),e=cs(e,t,n),e}function bo(e,t,n){let r=t.advanced?.length?.min;return r===void 0||r<1?e.min(1,ue(t,n)):e}var us=(e,t,n)=>ho(e,t,We,n),cs=(e,t,n)=>ho(e,t,qe,n);function ho(e,t,n,r){let o=t.advanced?.length?.[n];if(o!==void 0){let i=t.validation?.length?.[n]?v(t.validation?.length?.[n],r):void 0;return e[n](o,i)}return e}function ds(e,t=[],n){let r=ms(t);return r.length===0?e:e.superRefine((o,i)=>{for(let{name:a,rule:s}of r)if(!fs(o,a,s)){let l=v(s.message,n);i.addIssue({code:"custom",message:l,path:[a]})}})}function fs(e,t,n){let r=n.operator??"eq",o=he[r];return o?o(bt(e,t),bt(e,n.field)):!1}function ms(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 xo(e,t,n,r){let o=[],i=Array.isArray(t)?t:[t];for(let a of i){let s=a.operator??"eq",l=he[s];if(l&&!l(e,n(a.field))&&a.message){let u=v(a.message,r);o.push(u)}}return o}function ue(e,t){return e.validation?.required?v(e.validation?.required,t):void 0}function tn(e,t){let n=T.array(T.string());return e.required&&(n=n.min(1,ue(e,t))),T.preprocess(r=>z(r)?[]:Array.isArray(r)?r.map(String):[String(r)],n)}function ps(e,t=[],n){let r=t.filter(gs);return r.length===0?e:e.superRefine((o,i)=>{let a=f(o)?o:{};for(let s of r)for(let l of ys(a,s,n))i.addIssue({code:"custom",path:l.path,message:l.message})})}function gs(e){let t=e.validation;return t!==void 0&&(t.requiredWhen!==void 0||t.pattern!==void 0||t.rules!==void 0)}function ys(e,t,n){let r=[],o=bt(e,t.name),i=t.validation?.requiredWhen;if(i){let l=(Array.isArray(i)?i:[i]).find(u=>De(e,u));l&&!rn(o)&&r.push({path:[t.name],message:nn(l.message??t.validation?.required,n)})}let a=t.validation?.pattern;a&&!So(a,o)&&r.push({path:[t.name],message:nn(a.message,n)});for(let s of t.validation?.rules??[])bs(e,s.when)&&!hs(s,o)&&r.push({path:[t.name],message:nn(s.message,n)});return r}function De(e,t){let n=he[t.operator??"eq"];return n?n(bt(e,t.field),t.value):!1}function bt(e,t){return t in e?e[t]:P(e,t)??void 0}function bs(e,t){if(!t)return!0;if(Array.isArray(t))return t.every(o=>De(e,o));if("field"in t)return De(e,t);let n=t.all?t.all.every(o=>De(e,o)):!0,r=t.any?t.any.some(o=>De(e,o)):!0;return n&&r}function hs(e,t){switch(e.assert){case"required":return rn(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 fo(t)>=Number(e.value);case"max":return fo(t)<=Number(e.value);case"oneOf":return Array.isArray(e.value)&&e.value.map(String).includes(String(t));case"pattern":return Ss(e.value)?So(e.value,t):!0;default:return!0}}function So(e,t){return!rn(t)||typeof t!="string"||e.allowInterpolation&&(ye(t)||xs(t))?!0:new RegExp(e.regex,e.flags).test(t)}function xs(e){return p(e)&&e.trimStart().startsWith("@")}function rn(e){return p(e)?e.trim().length>0:he.exists(e,void 0)}function fo(e){return typeof e=="number"?e:p(e)||Array.isArray(e)?e.length:0}function Ss(e){return f(e)&&"regex"in e}function nn(e,t){return e?v(e,t):void 0}function vo(e,t){if(!t||!Rs(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||vs(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 vs(e){return e==="https"?"443":"80"}function Rs(e){return/^(https?:)?\/\//.test(e)}function Ro(e,t){try{if(!e)return t;if(!t)return e;let n=new URL(e,Xe);new URL(t,Xe).searchParams.forEach((i,a)=>{n.searchParams.set(a,i)});let o=n.toString();return e.startsWith("/")||!e.includes("://")?o.replace(Xe,""):o}catch{return t||e}}function To(e){return!Array.isArray(e)||e.length===0?null:e.reduce((t,n)=>{let r=Ro(t.url,n.url),o=Ts(t,n),i=Cs(t,n);return{...t,...n,url:r,body:o,headers:i}})}function Ts(e,t){return f(t.body)&&f(e?.body)?{...e.body,...t.body}:t.body??e?.body}function Cs(e,t){return f(t.headers)&&f(e?.headers)?{...e.headers,...t.headers}:t.headers??e?.headers}function ht(e,t){return{...e,...t}}var As={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 Oe(e,t){return!t||!p(e)||z(e)?e:(Array.isArray(t)?t:[t]).reduce((r,o)=>{let i=As[o];return i?i(r):r},e)}import{jsx as ws}from"react/jsx-runtime";function oe(e){return pr(e,(t,n,r)=>ws("a",{className:"underline",href:n,rel:"noopener noreferrer",target:"_blank",children:r},`${n}-${t}`))}import{useCallback as Fs,useState as ks}from"react";import{jsx as Me,jsxs as on}from"react/jsx-runtime";function Co(e){let{fields:t=[]}=e.section,[n,r]=ks(!1),o=Fs(()=>r(i=>!i),[]);return on("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:[Me("legend",{children:on("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:[Me(Re,{expanded:n}),Me("span",{children:oe(e.section.title)})]})}),Me(Ne,{visible:n,children:on("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.section.description&&Me("p",{className:"text-sm leading-normal font-normal text-zinc-600 dark:text-zinc-400",children:oe(e.section.description)}),e.group]})})]})}import{jsx as xt,jsxs as Ao}from"react/jsx-runtime";function wo(e){let t=Ao("div",{className:"flex flex-col",children:[e.title&&xt("legend",{className:"mb-3 font-medium text-zinc-800 dark:text-zinc-200",children:oe(e.title)}),e.description&&xt("p",{className:"-mt-2 text-sm leading-normal font-normal text-zinc-600 dark:text-zinc-400",children:oe(e.description)})]});return e.step?Ao("div",{className:"flex flex-row items-start gap-4",children:[xt("div",{className:"bg-primary text-primary-foreground flex size-6 shrink-0 items-center justify-center rounded-full",children:xt("span",{className:"text-sm font-bold",children:e.step})}),t]}):t}import{jsx as Fo,jsxs as Ns}from"react/jsx-runtime";function St(e){return Ns("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:[Fo(wo,{description:e.description,step:e.step,title:e.title}),Fo("div",{className:"w-full min-w-0",children:e.children})]})}import{jsx as Is}from"react/jsx-runtime";function ce(e){return Is("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 ko(e){let{fields:t=[]}=e.section,n=e.advanced?.step?e.step:void 0,{compact:r}=ht(e.style,{compact:e.section.advanced?.compact}),o=an(ce,{compact:r,children:e.children});return!e.section.title&&!e.section.description?o:e.section.advanced?.collapsible?an(Co,{section:e.section,group:o}):an(St,{description:e.section.description,empty:t.length===0,id:e.section.id?.toString(),step:n,title:e.section.title,children:o})}import{jsx as No}from"react/jsx-runtime";function Io(){return No("div",{"data-slot":"field-separator",className:"relative -my-2 h-5 text-sm",children:No("div",{className:"absolute inset-0 top-1/2 h-px w-full bg-zinc-200 dark:bg-zinc-800"})})}import{useAtomValue as Ds}from"jotai";import{atom as Se}from"jotai";import{atomFamily as Eo}from"jotai-family";import{deepEqual as sn}from"fast-equals";function vt(e,t){let{[t]:n,...r}=e;return r}function Es(e){return Eo(t=>Se(n=>n(e)[t]??void 0,(n,r,o)=>{let i=n(e);if(o!=null){let a=i[t];sn(a,o)||r(e,{...i,[t]:o})}else t in i&&r(e,vt(i,t))}))}function Ps(e){return Se(null,(t,n)=>{let r=t(e);r&&Object.keys(r).length>0&&n(e,{})})}function Vs(e){return Se(null,(t,n,r)=>{let i={...t(e)},a=!1;for(let s of r)s in i&&(delete i[s],a=!0);a&&n(e,i)})}function Ls(e){return Se(null,(t,n,r)=>{let o=t(e);sn(o,r)||n(e,r)})}function Po(e,t={}){let{merge:n,validateTarget:r}=t;return Eo(o=>Se(i=>{let a=i(e)[o];if(a&&n)return n(Object.values(a))},(i,a,s,l)=>{if(r&&!r(s))return;let u=i(e),c={...u[s]??{}};if(l!=null){let d=c[o];(!d||!sn(d,l))&&(c[o]=l,a(e,{...u,[s]:c}))}else o in c&&(delete c[o],Object.keys(c).length===0?a(e,vt(u,s)):a(e,{...u,[s]:c}))}))}function Vo(e){return Se(null,(t,n,r)=>{let i={...t(e)},a=!1;for(let s of r)s in i&&(delete i[s],a=!0);for(let s in i){let l={...i[s]},u=!1;for(let c of r)c in l&&(delete l[c],u=!0,a=!0);u&&(Object.keys(l).length===0?delete i[s]:i[s]=l)}a&&n(e,i)})}function we(e={}){let t=Se(e);return{atom:t,clearAll:Ps(t),clear:Vs(t),bulkReport:Ls(t),report:Es(t)}}var Lo=we(),Rt=Lo.atom,Tt=Lo.report;function Os(e,t){return e.fields.every(n=>Do(n,t))}function Do(e,t){return t[e.name]?.hidden??e.hidden??!1}function Ms(e,t){return q(e)?Os(e,t):Do(e,t)}function Ct(e){let t=Ds(Rt);return e.container&&(t[e.container.name]?.hidden??e.container.hidden??!1)||e.fields.length===0||e.fields.every(r=>Ms(r,t))?null:e.children}import{jsx as ze,jsxs as Oo}from"react/jsx-runtime";function Mo(e){let t=gt(e.sections,e.definition);return ze("div",{className:"h-full w-full",children:ze("form",{noValidate:e.noValidate,action:e.action,children:Oo(ce,{children:[t.map((n,r)=>Oo(Ct,{fields:n.fields??[],children:[ze(ko,{advanced:e.advanced,section:n,step:r+1,style:e.config.style,children:e.children({disabled:e.readOnly,fields:n.fields})}),n.advanced?.separator&&ze(Io,{})]},`key-${n.id}-${r}`)),e.control&&ze(Sn,{isPending:e.isPending,children:e.control})]})})})}import{jsx as zs}from"react/jsx-runtime";function zo(e){return zs("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 _s}from"react";import{jsx as _o,jsxs as $o}from"react/jsx-runtime";function At(e){let t={context:e.context,env:e.config?.env,value:e.value},r={locale:e.config?.env?.locale},[o,i]=_s(()=>f(e.text)&&"collapsed"in e.text?!e.text.collapsed:!0),a=()=>i(c=>!c),s=f(e.text)&&p(e.text.title)?oe(v(Pe(e.text.title,t,r),e.translations)):void 0,l=v(Pe(p(e.text)?e.text:e.text?.message,t,r),e.translations),u=oe(l);return u?$o("div",{className:"flex flex-col gap-2",children:[s&&$o("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,_o(Re,{expanded:o})]}),o&&_o(zo,{title:l,children:u})]}):null}var wt=we(),J=wt.atom,Bo=wt.clearAll,Go=wt.clear,de=wt.report;import{useAtomValue as Ho}from"jotai";import{jsx as $s}from"react/jsx-runtime";function Ft(e){let t=Ho(de(e.field.name)),r=Ho(Tt(e.field.name))?.description??e.field.description;return $s(At,{config:e.config,context:e.context,text:r,translations:e.translations,value:t})}import{twMerge as Bs}from"tailwind-merge";import{jsx as Uo,jsxs as Gs}from"react/jsx-runtime";function Yo(e){let t=e.style?.showOptionalLabel??!0,n=ne(e.field)||_(e.field);return Gs("label",{"data-slot":"field-label","data-normal":n,className:Bs("flex w-fit items-center text-sm leading-snug font-medium select-none","data-[normal=true]:font-normal [[data-slot=column]_&]:md:w-full","group-data-[readonly=true]:cursor-not-allowed group-data-[readonly=true]:opacity-50"),htmlFor:e.field.name,title:p(e.children)?e.children:void 0,children:[Uo("span",{className:"[[data-slot=column]_&]:md:truncate",children:e.children}),t&&!e.field.required&&Uo("span",{className:"ml-2 flex-shrink-0 text-sm text-zinc-600 dark:text-zinc-400",children:v("(Optional)",e.translations)})]})}import{jsx as Zo,jsxs as Hs}from"react/jsx-runtime";function qo(e){let t={context:e.context,env:e.config?.env},n=Pe(e.field.label,t);return Hs("div",{"data-slot":"field-content",className:"flex w-full flex-1 flex-col gap-1.5 leading-snug",children:[Zo(Yo,{field:e.field,style:e.config?.style,translations:e.translations,children:v(n,e.translations)}),e.horizontal===!0&&Zo(Ft,{config:e.config,context:e.context,field:e.field,translations:e.translations})]})}import{Fragment as Us,jsx as Wo,jsxs as Ys}from"react/jsx-runtime";function Xo(e){return Ys(Us,{children:[e.field.name&&e.field.label&&Wo(qo,{config:e.config,context:e.context,field:e.field,horizontal:e.horizontal,translations:e.translations}),e.children,e.horizontal===!1&&Wo(Ft,{config:e.config,context:e.context,field:e.field,translations:e.translations})]})}function kt(e,t){return e?t(e):null}function $(e,t){if(!Array.isArray(t)&&e in t)return t[e];if(!e.includes("."))return;let n=e.split("."),r=t;for(let o of n){if(r==null)return;if(Array.isArray(r)){let i=Number(o);r=Number.isInteger(i)?r[i]:void 0}else if(f(r))r=r[o];else return}return r}import{useCallback as ul,useEffect as cl,useRef as dl}from"react";import{createContext as Zs}from"react";var qs=e=>e,fe=Zs(qs);var ln=we(),Ko=ln.clear,jo=ln.bulkReport,Nt=ln.report;import{use as el,useCallback as ti,useRef as _e,useTransition as tl}from"react";import{use as Ws,useEffect as Xs,useEffectEvent as Jo,useMemo as Ks}from"react";function Qo(e,t,n,r){let{name:o}=e,i=Ks(()=>go(e,r),[e,r]),a=Ws(Ue),s=Jo(u=>{u&&t(u,i,e)}),l=Jo(u=>{u&&n(u,{keepValue:a})});return Xs(()=>(s(o),()=>{l(o)}),[o]),i}import{useSetAtom as un,useStore as nl}from"jotai";import{useCallback as js,useEffect as Js,useRef as Qs}from"react";function ei(){let e=Qs(null);return Js(()=>()=>{e.current&&clearTimeout(e.current)},[]),js((n,r)=>{e.current&&(clearTimeout(e.current),e.current=null),e.current=setTimeout(n,r)},[])}function ni(e,t){let n=nl(),r=e.field.advanced?.entity,o=ei(),[,i]=tl(),a=el(fe),{setValue:s,shouldSkipOnChange:l,value:u,setSource:c}=t,d=_e(u);d.current=u;let y=_e(e.translations);y.current=e.translations;let m=it(e.field),C=un(J),F=un(Rt),N=un(Nt(e.field.name)),V=Qo(e.field,e.onMount,e.onUnmount,e.translations),G=v(e.commonProps.placeholder,e.translations),L={...e.commonProps,placeholder:G};function I(b){let[,g]=e.getSchema();return g.find(S=>S.name===b)}function D(b){let g=I(b);if(g&&le(g)){let S=g.advanced?.transform;if(S)return S}}let E=_e(new Map),ie=_e(null);ie.current=b=>{let g=le(e.field)?Oe(b,e.field.advanced?.transform):b;s(g),e.onValueChange&&e.onValueChange({name:a(e.field.name),type:e.field.type,value:g})};let h=_e(null);h.current=b=>{let g=e.field.event?.change;g&&gr(g,({sources:S,states:w,values:O})=>{i(()=>{yr(b,S,(H,Q)=>{c(yt(H,e.field.name),Q)}),xr(b,w,(H,Q)=>{let ve=H.map(M=>yt(M,e.field.name));F(M=>Q?ve.reduce((U,pe)=>({...U,[pe]:Q}),M):ve.reduce((U,pe)=>vt(U,pe),M));let W=Q?.hidden===!0?ve:Q===void 0?ve.filter(M=>I(M)?.hidden===!0):[];W.length>0&&C(M=>{let U=!1,pe={...M};for(let ge of Object.keys(M))W.some(ee=>ge===ee||ge.startsWith(`${ee}.`))&&(delete pe[ge],U=!0);return U?pe:M})}),Sr(b,O,(H,Q,ve)=>{let W=yt(H,e.field.name),M=D(W),U=M?Oe(Q,M):Q,ge=n.get(J)[W];if(ve.onlyIfTargetEmpty&&!z(ge)){let ee=E.current.get(W);if(!Object.is(ee,ge))return}if(U!==ge&&(C(ee=>({...ee,[W]:U})),E.current.set(W,U),e.onValueChange)){let ee=I(W);ee&&e.onValueChange({name:a(W),type:ee.type,value:U})}})})})};let x=ti(b=>{let S=V.safeParse(b).error?.issues.map(H=>H.message)??[],w=e.field.validation?.custom,O=w?xo(b,w,H=>n.get(de(H)),y.current):[];N([...S,...O])},[e.field.validation?.custom,V,N,n]),A=ti(b=>{if(!m){let g=b.target.value;e.config.validation.blur&&x(g)}},[m,e.config.validation.blur,x]);return{applyChangeEventsRef:h,commonProps:L,entity:r,hasClickable:m,onBlur:A,onValueChangeRef:ie,setTimeoutRef:o,shouldSkipOnChange:l,validated:x,valueRef:d}}import{deepEqual as rl}from"fast-equals";import{useAtom as ol}from"jotai";import{use as il,useCallback as al,useEffect as sl,useRef as ll,useEffectEvent as ri}from"react";function oi(e,t){let{name:n}=e,r=ll(!1),[o,i]=ol(de(n)),a=il(fe),s=ri((c,d=!1)=>{let y=le(e)?Oe(c,e.advanced?.transform):c;!d&&!rl(o,y)&&(r.current=!0),i(y)}),l=ri(c=>{let d=$(a(n),c);R(d)?s(d):R(e.defaultValue)&&s(e.defaultValue,!0)});sl(()=>{if(t){l(t);return}R(e.defaultValue)&&s(e.defaultValue,!0)},[t,e.defaultValue]);let u=al(()=>r.current?(r.current=!1,!0):!1,[]);return{setValue:i,shouldSkipOnChange:u,value:o}}import{jsx as ii}from"react/jsx-runtime";function ai(e){let{useSource:t,useExtraProps:n,getValue:r,shouldSkipChange:o,dispatchChange:i,buildInitialSelected:a,isInitialReady:s}=e.strategies,{setValue:l,shouldSkipOnChange:u,value:c}=oi(e.field,e.value),{data:d,setSource:y}=t(e.field,e.config,c),{applyChangeEventsRef:m,commonProps:C,entity:F,hasClickable:N,onBlur:V,onValueChangeRef:G,setTimeoutRef:L,validated:I,valueRef:D}=ni(e,{setValue:l,shouldSkipOnChange:u,value:c,setSource:y}),E=n?.(e.field),ie=dl(!1),{commonPropsWithOptions:h,defaultValue:x}=Yr(e.field,C,d,c),A=Zr(e.field,x);cl(()=>{let g=!!e.value||R(e.field.defaultValue);if(ie.current||!g)return;if(!e.field.event?.change){ie.current=!0;return}let S=e.value?$(e.field.name,e.value):void 0,w=R(S)?S:e.field.defaultValue;if(!R(w)||!s(e.field,w,d))return;ie.current=!0;let O=a(w,d,F);m.current?.(O)},[m,a,d,F,s,e.field,e.value]);let b=ul(g=>{let S=r(g,e.field);o({field:e.field,shouldSkipOnChange:u,hasClickable:N,inputValue:S,valueRef:D})||(G.current?.(S),e.config.validation.change&&I(S),e.field.event?.change&&i({applyChangeEventsRef:m,data:d,entity:F,inputValue:S,setTimeoutRef:L}))},[m,d,i,F,r,N,G,e.config.validation.change,e.field,L,o,u,I,D]);return kt(e.config.inputs[e.field.type],g=>ii(Xo,{config:e.config,context:e.context,field:e.field,horizontal:e.horizontal,translations:e.translations,children:ii(g,{...h,...e.ariaAttributes,...e.dataAttributes,...E,...A,onBlur:V,onChange:b})}))}import{jsx as fl}from"react/jsx-runtime";function Fe(e){return function(n){return fl(ai,{...n,strategies:e})}}function si(e){let t=Z(e)?re(e):null,n=te(e)?xe(e):null;return{dateFormat:t,timeFormat:n}}import{atom as ml}from"jotai";var pl=e=>{let t=To(e);if(t)return t},gl=e=>e.trim()!=="",li=ml({}),It=Po(li,{merge:pl,validateTarget:gl}),ui=Vo(li);import{useSetAtom as yl}from"jotai";function Et(e){return{data:null,setSource:yl(It(e.name))}}var ci=Fe({useSource:Et,useExtraProps:e=>{let{dateFormat:t,timeFormat:n}=si(e);return qr(t,n)},getValue:(e,t)=>{let n=e.target.value,r=te(t)?xe(t):null;if(r!==null)return Dr(n,r);let o=Z(t)?re(t):null;return o!==null&&ft(n,o)||n},shouldSkipChange:({shouldSkipOnChange:e,inputValue:t,valueRef:n})=>e()&&t===n.current,dispatchChange:({applyChangeEventsRef:e,inputValue:t,setTimeoutRef:n})=>{n(()=>{e.current?.({value:t})},300)},buildInitialSelected:e=>({value:String(e)}),isInitialReady:(e,t)=>R(t)});import{deepEqual as Sl}from"fast-equals";import{useAtom as xl}from"jotai";import bl from"swr";function di(e=null,t,n=!1){let{data:r,error:o}=bl(hl(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 cr(r,e.namespace)}return null}function hl(e=null,t,n=!1){if(e&&!Array.isArray(e)&&!n&&e.url&&!ye(e.url)){if(vo(e.url,t.fetcher.remotePatterns))return e;be.warn(`URL blocked by remotePatterns: ${e.url}. Check your luna.config.ts`)}return null}function fi(e,t,n){let r=Ur(e,n),[o,i]=xl(It(e.name));return[di(o??r,t,e.disabled),i]}function vl(e,t,n){let[r,o]=fi(e,t,n);return{data:r,setSource:o}}function Rl(e,t){return j(e)&&t===""}var mi=Fe({useSource:vl,getValue:e=>e.target.value,shouldSkipChange:({field:e,shouldSkipOnChange:t,hasClickable:n,inputValue:r,valueRef:o})=>Rl(e,r)||!n&&t()&&(!r||Sl(r,o.current)),dispatchChange:({applyChangeEventsRef:e,data:t,entity:n,inputValue:r})=>{e.current?.(Ut(r,t,n))},buildInitialSelected:(e,t,n)=>Ut(String(e),t,n),isInitialReady:(e,t,n)=>(!Ae(e)||!!n&&n.length>0)&&R(t)});var pi=Fe({useSource:Et,getValue:e=>e.target.value,shouldSkipChange:({shouldSkipOnChange:e,inputValue:t,valueRef:n})=>e()&&t===n.current,dispatchChange:({applyChangeEventsRef:e,inputValue:t,setTimeoutRef:n})=>{n(()=>{e.current?.({value:t})},300)},buildInitialSelected:e=>({value:String(e)}),isInitialReady:(e,t)=>R(t)});import{jsx as cn}from"react/jsx-runtime";function gi(e){return Z(e.field)||te(e.field)?cn(ci,{...e}):Ar(e.field)?cn(pi,{...e}):cn(mi,{...e})}import{jsx as yi}from"react/jsx-runtime";function bi(e){return!e.errors||e.errors.length===0?null:yi("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)=>yi("li",{children:t},e.name?`${e.name}-error-${n}`:n))})}import{twMerge as Tl}from"tailwind-merge";import{jsx as Cl}from"react/jsx-runtime";function Pt(e){let t=e.errors&&e.errors.length>0;return Cl("div",{"data-slot":"field","data-clickable":e.isClickable?"true":"false",...t&&{[Zn]:"true"},...e.disabled&&{[qn]:"true"},"data-orientation":e.orientation,className:Tl("group flex w-full flex-col items-center data-[invalid=true]:text-red-600 data-[invalid=true]:dark:text-red-500","data-[clickable=true]:items-start",e.isCheckbox&&(e.isReversed?"flex-row-reverse!":"flex-row!"),"data-[clickable=true]:has-[>[data-slot=field-content]]:[&>:first-child]:mt-px",e.className),children:e.children})}import{twMerge as Al}from"tailwind-merge";import{jsx as wl}from"react/jsx-runtime";function hi(e){return wl(Pt,{...e,orientation:"vertical",className:Al("gap-3 has-[>[data-slot=field-content]]:items-start",!e.isClickable&&"[&>*]:w-full"),children:e.children})}import{twMerge as Fl}from"tailwind-merge";import{jsx as kl}from"react/jsx-runtime";function xi(e){return kl(Pt,{...e,orientation:"horizontal",className:Fl("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 Si}from"react/jsx-runtime";function vi(e){let t=it(e.field),n=_(e.field),r=kr(e.field);return e.horizontal?Si(xi,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children}):Si(hi,{disabled:e.disabled,errors:e.errors,isCheckbox:n,isReversed:r,isClickable:t,children:e.children})}function Ri(e){if(!e.field.type)return null;let t=_r(e.field,e.disabled),n=eo(e.field),r=Qr(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 Nl}from"tailwind-merge";import{jsx as dn,jsxs as Il}from"react/jsx-runtime";function Ti(e){let t=e.field.advanced?.cols,n=e.field.name?e.errors?.[e.field.name]:void 0,{horizontal:r}=ht(e.style,{horizontal:Fr(e.field)}),o=Nr(e.field,e.disabled);return Il("div",{className:Nl("flex flex-col gap-3",oo(t)),children:[dn(vi,{disabled:o,errors:n,field:e.field,horizontal:r,children:dn(Ri,{disabled:o,errors:n,field:e.field,horizontal:r,children:e.children})}),dn(bi,{errors:n,name:e.field.name})]})}import{useAtomValue as El}from"jotai";import{jsx as Ll}from"react/jsx-runtime";function Ci(e){return(t,n)=>o=>{let i=El(e(o.field.name)),a=n(i,o);return a===null?null:Ll(t,{...o,...a})}}var Pl=Ci(Nt);function Ai(e){return Pl(e,(t,n)=>({errors:t?{[n.field.name]:t}:void 0}))}var Vl=Ci(Tt);function wi(e){return Vl(e,(t,n)=>t?.hidden??n.field.hidden??!1?null:{disabled:t?.disabled??n.disabled})}var Fi=wi(Ai(Ti));import{twMerge as fn}from"tailwind-merge";import{useState as Dl}from"react";import{Fragment as Ol,jsx as B,jsxs as me}from"react/jsx-runtime";function ki(e){let t=e.isMultiField||e.collapsed!=null,[n,r]=Dl(t?!e.collapsed:!0);function o(){e.canRemove&&e.onRemove&&e.onRemove(e.index)}function i(){r(u=>!u)}let a=e.canRemove&&e.onRemove!=null&&B("button",{"aria-label":`Remove ${e.label} item ${e.index+1}`,className:fn("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:B("span",{"aria-hidden":"true",className:"leading-none",children:"\xD7"})}),s=me("div",{className:"flex min-w-0 flex-col font-medium text-zinc-700 dark:text-zinc-400",children:[B("span",{className:"text-base",children:e.previewLabel??me(Ol,{children:[e.label," ",e.index+1]})}),!n&&e.previewTags&&B("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})]}),l=me("div",{className:fn("flex items-center justify-between gap-2",e.isMultiField&&n&&"mb-3"),children:[t?me("div",{className:"flex min-w-0 grow items-center gap-2",children:[me("button",{"aria-expanded":n,"aria-label":`${n?"Collapse":"Expand"} ${e.label} ${e.index+1}`,className:fn("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:[B(Re,{expanded:n}),s]}),!n&&e.previewBadge&&B("div",{className:"ml-auto shrink-0",children:e.previewBadge})]}):s,a]});return e.isMultiField?me("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:[l,B(Ne,{visible:n,children:B(ce,{children:e.children})})]}):t?me("div",{className:"box-border flex w-full min-w-0 flex-col gap-2",children:[l,B(Ne,{visible:n,children:B(ce,{children:e.children})})]}):me("div",{className:"box-border flex w-full min-w-0 items-start gap-2",children:[B("div",{className:"flex min-w-0 grow flex-col",children:B(ce,{children:e.children})}),a&&B("div",{className:"shrink-0",children:a})]})}import{Fragment as zl}from"react";import{twMerge as Ni}from"tailwind-merge";import{useAtomValue as Ml}from"jotai";function Vt(e,t){return Ml(de(e))??t}import{jsx as $e,jsxs as Ii}from"react/jsx-runtime";function Ei({className:e,initialValue:t,name:n,options:r,separator:o,staticLabel:i}){let a=Vt(n??"",t);if(i===void 0&&r){let u=(Array.isArray(a)?a:a==null||a===""?[]:[a]).filter(c=>c!=null&&c!=="").map(c=>Xr(c,r));return u.length===0?null:$e("div",{className:"flex items-center gap-1.5 overflow-hidden",children:u.map((c,d)=>Ii(zl,{children:[(o||d>0)&&$e("span",{"aria-hidden":"true",className:"text-xs text-zinc-300 select-none dark:text-zinc-600",children:"\xB7"}),$e("span",{"aria-label":c,className:Ni("max-w-[150px] overflow-hidden text-xs text-ellipsis whitespace-nowrap",e),title:c,children:c})]},`${d}:${c}`))})}if(i===void 0&&(z(a)||f(a)||Array.isArray(a)))return null;let s=i??String(a);return Ii("div",{className:"flex items-center gap-1.5 overflow-hidden",children:[o&&$e("span",{"aria-hidden":"true",className:"text-xs text-zinc-300 select-none dark:text-zinc-600",children:"\xB7"}),$e("span",{"aria-label":s,className:Ni("max-w-[150px] overflow-hidden text-xs text-ellipsis whitespace-nowrap",e),title:s,children:s})]})}import{useAtomValue as _l}from"jotai";import{useMemo as $l}from"react";function Lt(e,t){let n=_l(J);return $l(()=>{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?$(e,t):void 0;return i?f(a)?{...a,...o}:o:a},[n,e,t])}import{useMemo as mn}from"react";import{jsx as Pi}from"react/jsx-runtime";function Bl(e){return typeof e=="string"?{field:e}:e}function pn({className:e,fields:t,label:n="Preview",name:r,previews:o,translations:i,value:a}){let s=mn(()=>(Array.isArray(o)?o:[o]).map(Bl),[o]),l=mn(()=>t?lo(t):void 0,[t]),u=Lt(r,a),c=mn(()=>{let d=[];for(let[y,m]of s.entries()){if(m.when!==void 0&&!Ce(u,m.when))continue;if(m.label!==void 0){d.push({key:m.field??`label:${m.label}:${y}`,staticLabel:v(m.label,i)});continue}if(m.field===void 0)continue;let C=`${r}.${m.field}`,F=a!=null?$(C,a):void 0,N=l?.[m.field],V=N?Wr(N):void 0;d.push({key:`${y}:${m.field}`,initialValue:F,options:V,previewName:C})}return d},[s,u,r,a,i,l]);return c.length===0?null:Pi("div",{"aria-label":n,className:"flex items-center gap-1.5 overflow-hidden",children:c.map((d,y)=>Pi(Ei,{className:e,initialValue:"initialValue"in d?d.initialValue:void 0,name:"previewName"in d?d.previewName:void 0,options:"options"in d?d.options:void 0,separator:y>0,staticLabel:"staticLabel"in d?d.staticLabel:void 0},d.key))})}import{Fragment as Gl,jsx as Hl}from"react/jsx-runtime";function Vi({children:e,initialValue:t,name:n}){let r=Vt(n,t),i=z(r)||f(r)||Array.isArray(r)?"":String(r);return Hl(Gl,{children:e(i)})}import{jsx as Dt}from"react/jsx-runtime";function Li({canRemove:e,children:t,field:n,index:r,isMultiField:o,itemKey:i,label:a,onRemove:s,previewBadge:l,previewLabel:u,previewTags:c,translations:d,value:y}){let m=`${n.name}.${i}`,C=`${a} ${r+1}`,F=Lt(m,y);return Dt(ki,{canRemove:e,collapsed:n.advanced?.collapsed,index:r,isMultiField:o,label:a,onRemove:s,previewLabel:Ul({fallbackLabel:C,liveItemValue:F,name:m,previewLabel:u,translations:d,value:y}),previewBadge:l?Dt(pn,{className:"bg-primary text-primary-foreground rounded-md px-1.5 py-0.5 leading-none font-bold uppercase",fields:n.fields,name:m,previews:l,translations:d,value:y}):void 0,previewTags:c?Dt(pn,{fields:n.fields,name:m,previews:c,translations:d,value:y}):void 0,children:t})}function Ul({fallbackLabel:e,liveItemValue:t,name:n,previewLabel:r,translations:o,value:i}){if(r===void 0)return;let a=p(r)?{field:r}:r;if(a.when!==void 0&&!Ce(t,a.when))return;if(a.label!==void 0)return v(a.label,o);if(a.field===void 0)return;let s=`${n}.${a.field}`;return Dt(Vi,{initialValue:i?$(s,i):void 0,name:s,children:l=>l||e})}import{twMerge as Jl}from"tailwind-merge";import{useSetAtom as Yl,useStore as Zl}from"jotai";import{use as ql,useCallback as ke,useEffect as Wl,useEffectEvent as Xl,useMemo as Kl,useRef as Ot,useState as jl}from"react";function Di(e,t,n){let r=e.advanced?.length?.min??1,o=e.advanced?.length?.max??1/0,[i,a]=jl(()=>ao(e,t)),s=Ot(i),l=Ot(i.length);s.current=i;let u=Zl(),c=Yl(J),d=Ot(n);d.current=n;let y=Ot(t),m=Kl(()=>{let h=[];for(let x of e.fields)if(q(x))for(let A of x.fields)h.push(A.name);else h.push(x.name);return h},[e.fields]),C=ke((h,x)=>{let A=Number(h);return Number.isNaN(A)?!1:Number.isInteger(A)&&x>=0&&String(x)!==h},[]),F=ql(fe),N=ke(h=>{let x=`${e.name}.`;if(h.startsWith(x)){let A=h.slice(x.length),b=A.indexOf("."),g=b===-1?A:A.slice(0,b),S=Number(g),w=s.current.indexOf(S);C(g,w)&&(h=`${x}${w}${b===-1?"":A.slice(b)}`)}return F(h)},[e.name,C,F]),V=Xl(()=>{let h=y.current;if(!h)return;let x=`${e.name}.`,A={...u.get(J)},b=!1;for(let g of i)for(let S of m){let w=`${x}${g}.${S}`;if(w in A)continue;let O=$(w,h);R(O)&&(A[w]=O,b=!0)}b&&c(A)});Wl(()=>{V()},[]);let G=ke((h,x)=>{let A=`${e.name}.`,b=y.current;return h.map(g=>{let S={};for(let w of m){let O=`${A}${g}.${w}`,H=x[O];S[w]=H!==void 0?H:b?$(O,b):void 0}return S})},[e.name,m]),L=ke((h,x)=>{d.current?.({name:N(e.name),value:G(h,x)})},[G,e.name,N]),I=ke(()=>{if(s.current.length>=o)return;let h=l.current++,x=[...s.current,h];a(x),L(x,u.get(J))},[L,o,u]),D=ke(h=>{if(s.current.length<=r)return;let x=s.current[h],A=s.current.filter((w,O)=>O!==h),g={...u.get(J)},S=`${e.name}.`;for(let w of m)delete g[`${S}${x}.${w}`];a(A),c(g),L(A,g)},[L,e.name,m,r,c,u]),E=i.length<o,ie=i.length>r;return[i,I,D,E,ie,o,N]}import{jsx as gn,jsxs as Mt}from"react/jsx-runtime";var Ql="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 Oi(e){let{field:t,onValueChange:n,translations:r,value:o,children:i}=e,[a,s,l,u,c,d,y]=Di(t,o,n),m=so(t),C=t.advanced?.action??"Add item",F=d!==1/0,N=io(t);be.info("Label: ",m);let{label:V,tags:G,badge:L}=t.advanced?.preview??{};return gn(fe.Provider,{value:y,children:Mt("div",{className:"flex w-full flex-col gap-4",children:[a.map((I,D)=>gn(Li,{canRemove:c,field:t,index:D,isMultiField:N,itemKey:I,label:m,onRemove:l,previewBadge:L,previewLabel:V,previewTags:G,translations:r,value:o,children:i(I)},I)),Mt("button",{"aria-disabled":!u,"aria-label":F?`${C}, ${a.length} of ${d}`:C,className:Jl(Ql,F?"justify-between":"justify-center",!u&&"cursor-not-allowed opacity-50 hover:border-zinc-200 hover:text-zinc-500 dark:hover:border-zinc-800 dark:hover:text-zinc-400"),disabled:!u,onClick:s,type:"button",children:[Mt("span",{className:"flex items-center gap-2",children:[gn("span",{"aria-hidden":"true",className:"text-base leading-none",children:"+"}),C]}),F&&Mt("span",{"aria-hidden":"true",className:"text-zinc-400 tabular-nums dark:text-zinc-500",children:[a.length," / ",d]})]})]})})}import{jsx as eu}from"react/jsx-runtime";function Mi(e){let t=Array.isArray(e.field.fields)&&e.field.fields.length===0;return eu(St,{description:e.field.description,empty:t,id:e.field.name,title:e.field.label,children:e.children})}import{jsx as yn}from"react/jsx-runtime";function zi({children:e,field:t,onValueChange:n,translations:r,value:o}){return yn(Ct,{container:t,fields:t.fields,children:yn(Mi,{field:t,children:yn(Oi,{field:t,onValueChange:n,translations:r,value:o,children:e})})})}import{twMerge as tu}from"tailwind-merge";import{jsx as _i,jsxs as nu}from"react/jsx-runtime";function $i(e){let t=ro(e.column?.advanced?.cols);return nu("div",{className:"flex w-full flex-col gap-4",children:[_i("div",{"data-slot":"column",className:tu("grid grid-cols-1 gap-3 sm:gap-4",t),children:e.children}),e.column?.description&&_i(At,{config:e.config,context:e.context,text:e.column.description,translations:e.translations})]})}import{Fragment as ou}from"react";import{jsx as ru}from"react/jsx-runtime";function Bi(e){let t=Array.isArray(e.field.fields)?e.field.fields.map(n=>at(n)||Le(n)?{...n,name:`${e.field.name}.${e.index}.${n.name}`}:q(n)?{...n,fields:n.fields.map(r=>({...r,name:`${e.field.name}.${e.index}.${r.name}`}))}:n):[];return ru(Be,{components:e.components,config:e.config,context:e.context,disabled:e.disabled,fields:t,onValueChange:e.onValueChange,style:e.style,translations:e.translations,value:e.value,children:e.children})}import{jsx as Ge,jsxs as iu}from"react/jsx-runtime";function Be(e){let{field:t,list:n}=e.components;return gt(e.fields).map((r,o)=>iu(ou,{children:[q(r)&&Ge($i,{column:r,config:e.config,context:e.context,translations:e.translations,children:Ge(Be,{...e,fields:r.fields})}),at(r)&&Ge(t,{disabled:e.disabled,field:r,style:e.style,children:e.children}),Le(r)&&Ge(n,{field:r,onValueChange:e.onValueChange,translations:e.translations,value:e.value,children:i=>Ge(Bi,{components:e.components,config:e.config,context:e.context,disabled:e.disabled,field:r,index:i,onValueChange:e.onValueChange,style:e.style,translations:e.translations,value:e.value,children:e.children})})]},o))}import{jsx as au}from"react/jsx-runtime";function Gi(e){return n=>au(Be,{...n,components:e})}var Hi=Gi({field:Fi,list:zi});import{useSetAtom as Ui}from"jotai";import{startTransition as Yi,useActionState as su}from"react";function qi(e,t,n){let{onSuccess:r,preserveValues:o=!1,validation:i=!0,translations:a}=n??{},s=Ui(jo),l=Ui(Bo),u={data:null,error:null,success:!1},[c,d,y]=su(async(m,C)=>{let[F,N]=e(),V=mo(F,N,a);if(i===!1)return t?await t(C,V):m;let G=fr(C),L=uu(G,N),I=V.safeParse(L);if(!I.success){let E=po(I.error);return Yi(()=>{s(E)}),bn(G,{description:v("Please correct the errors and try again.",a),details:[],title:v("There were validation errors submitting the form.",a)})}let D=mr(I.data);if(t)try{let E=await t(D,V);return E.success?(r?.(E.data),o||Yi(()=>{l()}),Zi(D,o)):bn(D,E.error)}catch(E){return be.error("Error executing form action:",E),bn(D,{title:v("An unexpected error occurred submitting the form.",a),details:lu(E,a)})}return Zi(I.data,o)},u);return[d,c,y]}function lu(e,t){return e instanceof Error?[e.message]:[v("Unknown error",t)]}function Zi(e,t=!1){return{data:t?e:null,error:null,success:!0}}function bn(e,t){return{data:e,error:t,success:!1}}function uu(e,t){let n={...e};for(let r of t)if(Z(r)&&typeof n[r.name]=="string"&&n[r.name]){let o=dt(n[r.name],re(r));o&&(n[r.name]=o)}return n}import{useCallback as xn,useRef as Xi}from"react";import{useCallback as cu}from"react";import{useSetAtom as hn}from"jotai";function Wi(){let e=hn(Ko),t=hn(Go),n=hn(ui);return cu((r,o)=>{let i=Array.isArray(r)?r:[r];e(i),n(i),o?.keepValue||t(i)},[e,n,t])}function Ki(){let e=Wi(),t=Xi({}),n=Xi([]),r=xn((a,s,l)=>{a in t.current||(t.current[a]=s,n.current.push(l))},[]),o=xn((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[xn(()=>[t.current,n.current],[]),r,o]}import{Fragment as du,jsx as He,jsxs as fu}from"react/jsx-runtime";function ji(e){let t=e.translations?.[e.lang??""],[n,r,o]=Ki(),[i,a,s]=qi(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 fu(du,{children:[l&&kt(e.config.alert,c=>He("div",{className:"mb-4 w-full",children:He(c,{description:a.error?.description,details:a.error?.details,title:a.error.title})})),He(Mo,{action:i,advanced:e.advanced,config:e.config,control:e.children,definition:e.definition,isPending:s,noValidate:!0,readOnly:e.readOnly,sections:e.sections,children:({disabled:c,fields:d})=>He(Hi,{config:e.config,context:e.context,disabled:c,fields:d,onValueChange:e.onValueChange,style:e.config.style,translations:t,value:u,children:y=>He(gi,{...y,config:e.config,context:e.context,getSchema:n,onMount:r,onUnmount:o,onValueChange:e.onValueChange,translations:t,value:u})})})]})}import{Provider as mu}from"jotai";import{jsx as Ji}from"react/jsx-runtime";function pu(e){return Ji(mu,{children:Ji(ji,{...e})})}export{pu as Form};
@@ -1 +1 @@
1
- "use strict";var b=Object.defineProperty;var In=Object.getOwnPropertyDescriptor;var bn=Object.getOwnPropertyNames;var kn=Object.prototype.hasOwnProperty;var wn=(n,e)=>{for(var t in e)b(n,t,{get:e[t],enumerable:!0})},Cn=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of bn(e))!kn.call(n,o)&&o!==t&&b(n,o,{get:()=>e[o],enumerable:!(r=In(e,o))||r.enumerable});return n};var Nn=n=>Cn(b({},"__esModule",{value:!0}),n);var Ae={};wn(Ae,{buildFormSchema:()=>yn,collectIssues:()=>En});module.exports=Nn(Ae);var O="input",_="input/date",L="input/email",P="input/number";var D="input/time";var M="textarea",F="radio",U="checkbox",V="list";var Y="select",q="select/active";var j="select/month";var X="select/year";var z="chips",H="chips/day",Z="chips/month",G="column";var k="email",W="number",B="password",$="tel",K="text";var v="max";var J="min";var h="$ref";function f(n){return n!==null&&Object.prototype.toString.call(n)==="[object Object]"}function x(n){return n==null||n===""}function p(n){return typeof n=="string"}function E(n,e){if(!e||!f(n))return null;let t=e.split(".").filter(o=>o!=="");if(t.length===0)return null;let r=n;for(let o of t)if(f(r)&&o in r)r=r[o];else if(Array.isArray(r)){let i=Number(o);if(!Number.isInteger(i)||i<0||i>=r.length)return null;r=r[i]}else return null;return r}function S(n){return p(n)?/{([^}]{1,200})}/.test(n):Array.isArray(n)?n.some(e=>S(e)):f(n)?Object.values(n).some(e=>S(e)):!1}var R={eq:Mn,gt:Yn,gte:qn,in:Un,lt:jn,lte:Xn,neq:Fn,nin:Vn,contains:zn,exists:Hn,truthy:Zn},_n=/^\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 Ln(n){return typeof n=="string"&&_n.test(n)}function Pn(n){return typeof n=="string"&&Q.test(n)}function Dn(n){let e=n.match(Q);if(e){let[,t,r,o,i,s,c]=e;return new Date(Number(o),Number(r)-1,Number(t),Number(i??0),Number(s??0),Number(c??0)).getTime()}return NaN}function d(n){return Ln(n)?new Date(n).getTime():Pn(n)?Dn(n):Number(n)}function Mn(n,e){return n===e}function Fn(n,e){return n!==e}function Un(n,e){return Array.isArray(e)&&e.includes(String(n))}function Vn(n,e){return Array.isArray(e)&&!e.includes(String(n))}function Yn(n,e){return d(n)>d(e)}function qn(n,e){return d(n)>=d(e)}function jn(n,e){return d(n)<d(e)}function Xn(n,e){return d(n)<=d(e)}function zn(n,e){return typeof n=="string"?n.includes(String(e)):Array.isArray(n)?n.map(String).includes(String(e)):!1}function Hn(n){return Array.isArray(n)?n.length>0:n!=null&&n!==""}function Zn(n){return Array.isArray(n)?n.length>0:!!n}var nn=n=>l(q)(n);var en=n=>l(j)(n),tn=n=>l(X)(n);var rn=n=>l(H)(n),on=n=>l(Z)(n),Le=l(_),Pe=l(D),w=l(U),sn=l(z),un=l(F),De=l(O),Me=l(Y),Fe=l(M),Ue=l(K,k,B,$),cn=l(L,k),an=l(P,W);function ln(n){return n.type===V}function fn(n){return n.type===G}function l(...n){return e=>{let t=p(e.type)?e.type:void 0;return t?n.some(r=>t===r||t?.startsWith(`${r}/`)):!1}}var Gn=/^#\/definition\//;function T(n,e,t=new Map,r=new WeakSet){if(!Wn(e)||!n||typeof n!="object")return n;if(t.has(n))return t.get(n);if(r.has(n))return n;if(r.add(n),Array.isArray(n))return n.map(i=>T(i,e,t,r));if(h in n&&p(n[h])){let i=n[h].replace(Gn,""),s=E(e,i);return s!==null?T(s,e,t,r):n}let o={};for(let[i,s]of Object.entries(n))o[i]=T(s,e,t,r);return r.delete(n),t.set(n,o),o}function Wn(n){return n!==void 0&&f(n)&&Object.keys(n).length>0}var u=require("zod");function m(n,e){return n?e?e[n]??n:n:""}var Bn=[[w,pn],[cn,vn],[an,ne],[un,Jn],[nn,pn],[en,te],[tn,ee],[sn,C],[rn,C],[on,C]];function $n(n,e=[],t){let r=u.z.object(n);if(e.length===0)return r;let o=se(r,e,t);return fe(o,e,t)}function Kn(n,e){for(let[t,r]of Bn)if(t(n))return r(n,e);return Qn(n,e)}function vn(n,e){let t=u.z.string().trim();if(n.required){let r=g(n,e),o=t.min(1,r).pipe(dn(n,e));return u.z.preprocess(i=>x(i)?"":i,o)}return t.pipe(dn(n,e)).or(u.z.literal("")).nullable()}function pn(n,e){let t=u.z.preprocess(r=>{if(typeof r=="string"){if(r==="true")return!0;if(r==="false")return!1}return r},u.z.coerce.boolean());return n.required?(w(n)?t=t.refine(r=>r===!0,{message:g(n,e)}):t=t.refine(r=>typeof r=="boolean",{message:g(n,e)}),u.z.preprocess(r=>r===null?!1:r,t)):t.nullable()}function Jn(n,e){let t=u.z.coerce.string();return n.required?(t=t.min(1,g(n,e)),u.z.preprocess(r=>x(r)?"":r,t)):t.or(u.z.literal("")).nullable()}function Qn(n,e){let t=u.z.coerce.string().trim();return t=mn(t,n,e),n.required?(t=xn(t,n,e),u.z.preprocess(r=>x(r)?"":r,t)):t.nullable()}function ne(n,e){let t=u.z.coerce.number().int();return t=mn(t,n,e),n.required?(t=xn(t,n,e),u.z.preprocess(r=>r===null?void 0:r,t)):t.nullable()}function ee(n,e){return n.required?u.z.preprocess(re,u.z.coerce.number({message:g(n,e)}).int()):u.z.coerce.number().int().nullable()}function te(n,e){let t=g(n,e),r=u.z.coerce.number().int().min(1,t).max(12,t);return n.required?r:r.nullable()}function re(n){return n===null||n===""?void 0:n}function dn(n,e){let t=n.validation?.email?m(n.validation?.email,e):void 0;return u.z.email(t)}function mn(n,e,t){return n=oe(n,e,t),n=ie(n,e,t),n}function xn(n,e,t){let r=e.advanced?.length?.min;return r===void 0||r<1?n.min(1,g(e,t)):n}var oe=(n,e,t)=>Tn(n,e,J,t),ie=(n,e,t)=>Tn(n,e,v,t);function Tn(n,e,t,r){let o=e.advanced?.length?.[t];if(o!==void 0){let i=e.validation?.length?.[t]?m(e.validation?.length?.[t],r):void 0;return n[t](o,i)}return n}function se(n,e=[],t){let r=ce(e);return r.length===0?n:n.superRefine((o,i)=>{for(let{name:s,rule:c}of r)if(!ue(o,s,c)){let a=m(c.message,t);i.addIssue({code:"custom",message:a,path:[s]})}})}function ue(n,e,t){let r=t.operator??"eq",o=R[r];return o?o(I(n,e),I(n,t.field)):!1}function ce(n){let e=[];for(let t of n){let r=t.validation?.custom;if(!r)continue;let o=Array.isArray(r)?r:[r];for(let i of o)e.push({name:t.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 t=u.z.array(u.z.string());return n.required&&(t=t.min(1,g(n,e))),u.z.preprocess(r=>x(r)?[]:Array.isArray(r)?r.map(String):[String(r)],t)}function yn(n,e,t){let r=t?T(n,t):n;return An(ae(r),e)}function ae(n){let e=[];for(let t of n)for(let r of t.fields??[])e.push(r);return e}function An(n,e){let t={},r=[],o=i=>{for(let s of i)if(fn(s))o(s.fields);else if(ln(s)){let c=ye(u.z.array(An(s.fields,e)),s,e);t[s.name]=u.z.preprocess(a=>a===void 0?[]:a,c)}else{let c=!!s.required&&!s.hidden,a=Kn(c?s:{...s,required:!1},e);t[s.name]=c?a:a.optional(),r.push(s)}};return o(n),$n(le(t),r,e)}function le(n){if(!Object.keys(n).some(t=>t.includes(".")))return n;let e=new Map;for(let[t,r]of Object.entries(n)){let o=t.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],r)}return hn(e)}function hn(n){let e={};for(let[t,r]of n)e[t]=r instanceof Map?u.z.object(hn(r)).optional():r;return e}function En(n){return n.issues.map(e=>({path:e.path.map(String).join("."),message:e.message}))}function fe(n,e=[],t){let r=e.filter(pe);return r.length===0?n:n.superRefine((o,i)=>{let s=f(o)?o:{};for(let c of r)for(let a of de(s,c,t))i.addIssue({code:"custom",path:a.path,message:a.message})})}function pe(n){let e=n.validation;return e!==void 0&&(e.requiredWhen!==void 0||e.pattern!==void 0||e.rules!==void 0)}function de(n,e,t){let r=[],o=I(n,e.name),i=e.validation?.requiredWhen;if(i){let a=(Array.isArray(i)?i:[i]).find(Rn=>y(n,Rn));a&&!N(o)&&r.push({path:[e.name],message:A(a.message??e.validation?.required,t)})}let s=e.validation?.pattern;s&&!Sn(s,o)&&r.push({path:[e.name],message:A(s.message,t)});for(let c of e.validation?.rules??[])ge(n,c.when)&&!me(c,o)&&r.push({path:[e.name],message:A(c.message,t)});return r}function y(n,e){let t=R[e.operator??"eq"];return t?t(I(n,e.field),e.value):!1}function I(n,e){return e in n?n[e]:E(n,e)??void 0}function ge(n,e){if(!e)return!0;if(Array.isArray(e))return e.every(o=>y(n,o));if("field"in e)return y(n,e);let t=e.all?e.all.every(o=>y(n,o)):!0,r=e.any?e.any.some(o=>y(n,o)):!0;return t&&r}function me(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 gn(e)>=Number(n.value);case"max":return gn(e)<=Number(n.value);case"oneOf":return Array.isArray(n.value)&&n.value.map(String).includes(String(e));case"pattern":return Te(n.value)?Sn(n.value,e):!0;default:return!0}}function Sn(n,e){return!N(e)||typeof e!="string"||n.allowInterpolation&&(S(e)||xe(e))?!0:new RegExp(n.regex,n.flags).test(e)}function xe(n){return p(n)&&n.trimStart().startsWith("@")}function N(n){return p(n)?n.trim().length>0:R.exists(n,void 0)}function gn(n){return typeof n=="number"?n:p(n)||Array.isArray(n)?n.length:0}function Te(n){return f(n)&&"regex"in n}function A(n,e){return n?m(n,e):void 0}function ye(n,e,t){let r=n,o=e.advanced?.length?.min;o!==void 0&&(r=r.min(o,A(e.validation?.length?.min,t)));let i=e.advanced?.length?.max;return i!==void 0&&(r=r.max(i,A(e.validation?.length?.max,t))),r}
1
+ "use strict";var b=Object.defineProperty;var bn=Object.getOwnPropertyDescriptor;var kn=Object.getOwnPropertyNames;var wn=Object.prototype.hasOwnProperty;var Cn=(n,e)=>{for(var t in e)b(n,t,{get:e[t],enumerable:!0})},Nn=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of kn(e))!wn.call(n,o)&&o!==t&&b(n,o,{get:()=>e[o],enumerable:!(r=bn(e,o))||r.enumerable});return n};var On=n=>Nn(b({},"__esModule",{value:!0}),n);var he={};Cn(he,{buildFormSchema:()=>An,collectIssues:()=>Sn});module.exports=On(he);var O="input",_="input/date",L="input/email",P="input/number";var D="input/time";var M="textarea",F="radio",U="checkbox",V="list";var Y="select",q="select/active";var j="select/month";var X="select/year";var z="chips",H="chips/day",Z="chips/month",G="column";var k="email",W="number",B="password",$="tel",K="text";var v="max";var J="min";var h="$ref";function f(n){return n!==null&&Object.prototype.toString.call(n)==="[object Object]"}function x(n){return n==null||n===""}function p(n){return typeof n=="string"}function E(n,e){if(!e||!f(n))return null;let t=e.split(".").filter(o=>o!=="");if(t.length===0)return null;let r=n;for(let o of t)if(f(r)&&o in r)r=r[o];else if(Array.isArray(r)){let i=Number(o);if(!Number.isInteger(i)||i<0||i>=r.length)return null;r=r[i]}else return null;return r}function S(n){return p(n)?/{([^}]{1,200})}/.test(n):Array.isArray(n)?n.some(e=>S(e)):f(n)?Object.values(n).some(e=>S(e)):!1}var R={eq:Fn,gt:qn,gte:jn,in:Vn,lt:Xn,lte:zn,neq:Un,nin:Yn,contains:Hn,exists:nn,empty:Zn,truthy:Gn},Ln=/^\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 Pn(n){return typeof n=="string"&&Ln.test(n)}function Dn(n){return typeof n=="string"&&Q.test(n)}function Mn(n){let e=n.match(Q);if(e){let[,t,r,o,i,s,c]=e;return new Date(Number(o),Number(r)-1,Number(t),Number(i??0),Number(s??0),Number(c??0)).getTime()}return NaN}function d(n){return Pn(n)?new Date(n).getTime():Dn(n)?Mn(n):Number(n)}function Fn(n,e){return n===e}function Un(n,e){return n!==e}function Vn(n,e){return Array.isArray(e)&&e.includes(String(n))}function Yn(n,e){return Array.isArray(e)&&!e.includes(String(n))}function qn(n,e){return d(n)>d(e)}function jn(n,e){return d(n)>=d(e)}function Xn(n,e){return d(n)<d(e)}function zn(n,e){return d(n)<=d(e)}function Hn(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 Zn(n){return!nn(n)}function Gn(n){return Array.isArray(n)?n.length>0:!!n}var en=n=>l(q)(n);var tn=n=>l(j)(n),rn=n=>l(X)(n);var on=n=>l(H)(n),sn=n=>l(Z)(n),Pe=l(_),De=l(D),w=l(U),un=l(z),cn=l(F),Me=l(O),Fe=l(Y),Ue=l(M),Ve=l(K,k,B,$),an=l(L,k),ln=l(P,W);function fn(n){return n.type===V}function pn(n){return n.type===G}function l(...n){return e=>{let t=p(e.type)?e.type:void 0;return t?n.some(r=>t===r||t?.startsWith(`${r}/`)):!1}}var Wn=/^#\/definition\//;function T(n,e,t=new Map,r=new WeakSet){if(!Bn(e)||!n||typeof n!="object")return n;if(t.has(n))return t.get(n);if(r.has(n))return n;if(r.add(n),Array.isArray(n))return n.map(i=>T(i,e,t,r));if(h in n&&p(n[h])){let i=n[h].replace(Wn,""),s=E(e,i);return s!==null?T(s,e,t,r):n}let o={};for(let[i,s]of Object.entries(n))o[i]=T(s,e,t,r);return r.delete(n),t.set(n,o),o}function Bn(n){return n!==void 0&&f(n)&&Object.keys(n).length>0}var u=require("zod");function m(n,e){return n?e?e[n]??n:n:""}var $n=[[w,dn],[an,Jn],[ln,ee],[cn,Qn],[en,dn],[tn,re],[rn,te],[un,C],[on,C],[sn,C]];function Kn(n,e=[],t){let r=u.z.object(n);if(e.length===0)return r;let o=ue(r,e,t);return pe(o,e,t)}function vn(n,e){for(let[t,r]of $n)if(t(n))return r(n,e);return ne(n,e)}function Jn(n,e){let t=u.z.string().trim();if(n.required){let r=g(n,e),o=t.min(1,r).pipe(gn(n,e));return u.z.preprocess(i=>x(i)?"":i,o)}return t.pipe(gn(n,e)).or(u.z.literal("")).nullable()}function dn(n,e){let t=u.z.preprocess(r=>{if(typeof r=="string"){if(r==="true")return!0;if(r==="false")return!1}return r},u.z.coerce.boolean());return n.required?(w(n)?t=t.refine(r=>r===!0,{message:g(n,e)}):t=t.refine(r=>typeof r=="boolean",{message:g(n,e)}),u.z.preprocess(r=>r===null?!1:r,t)):t.nullable()}function Qn(n,e){let t=u.z.coerce.string();return n.required?(t=t.min(1,g(n,e)),u.z.preprocess(r=>x(r)?"":r,t)):t.or(u.z.literal("")).nullable()}function ne(n,e){let t=u.z.coerce.string().trim();return t=xn(t,n,e),n.required?(t=Tn(t,n,e),u.z.preprocess(r=>x(r)?"":r,t)):t.nullable()}function ee(n,e){let t=u.z.coerce.number().int();return t=xn(t,n,e),n.required?(t=Tn(t,n,e),u.z.preprocess(r=>r===null?void 0:r,t)):t.nullable()}function te(n,e){return n.required?u.z.preprocess(oe,u.z.coerce.number({message:g(n,e)}).int()):u.z.coerce.number().int().nullable()}function re(n,e){let t=g(n,e),r=u.z.coerce.number().int().min(1,t).max(12,t);return n.required?r:r.nullable()}function oe(n){return n===null||n===""?void 0:n}function gn(n,e){let t=n.validation?.email?m(n.validation?.email,e):void 0;return u.z.email(t)}function xn(n,e,t){return n=ie(n,e,t),n=se(n,e,t),n}function Tn(n,e,t){let r=e.advanced?.length?.min;return r===void 0||r<1?n.min(1,g(e,t)):n}var ie=(n,e,t)=>yn(n,e,J,t),se=(n,e,t)=>yn(n,e,v,t);function yn(n,e,t,r){let o=e.advanced?.length?.[t];if(o!==void 0){let i=e.validation?.length?.[t]?m(e.validation?.length?.[t],r):void 0;return n[t](o,i)}return n}function ue(n,e=[],t){let r=ae(e);return r.length===0?n:n.superRefine((o,i)=>{for(let{name:s,rule:c}of r)if(!ce(o,s,c)){let a=m(c.message,t);i.addIssue({code:"custom",message:a,path:[s]})}})}function ce(n,e,t){let r=t.operator??"eq",o=R[r];return o?o(I(n,e),I(n,t.field)):!1}function ae(n){let e=[];for(let t of n){let r=t.validation?.custom;if(!r)continue;let o=Array.isArray(r)?r:[r];for(let i of o)e.push({name:t.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 t=u.z.array(u.z.string());return n.required&&(t=t.min(1,g(n,e))),u.z.preprocess(r=>x(r)?[]:Array.isArray(r)?r.map(String):[String(r)],t)}function An(n,e,t){let r=t?T(n,t):n;return hn(le(r),e)}function le(n){let e=[];for(let t of n)for(let r of t.fields??[])e.push(r);return e}function hn(n,e){let t={},r=[],o=i=>{for(let s of i)if(pn(s))o(s.fields);else if(fn(s)){let c=Ae(u.z.array(hn(s.fields,e)),s,e);t[s.name]=u.z.preprocess(a=>a===void 0?[]:a,c)}else{let c=!!s.required&&!s.hidden,a=vn(c?s:{...s,required:!1},e);t[s.name]=c?a:a.optional(),r.push(s)}};return o(n),Kn(fe(t),r,e)}function fe(n){if(!Object.keys(n).some(t=>t.includes(".")))return n;let e=new Map;for(let[t,r]of Object.entries(n)){let o=t.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],r)}return En(e)}function En(n){let e={};for(let[t,r]of n)e[t]=r instanceof Map?u.z.object(En(r)).optional():r;return e}function Sn(n){return n.issues.map(e=>({path:e.path.map(String).join("."),message:e.message}))}function pe(n,e=[],t){let r=e.filter(de);return r.length===0?n:n.superRefine((o,i)=>{let s=f(o)?o:{};for(let c of r)for(let a of ge(s,c,t))i.addIssue({code:"custom",path:a.path,message:a.message})})}function de(n){let e=n.validation;return e!==void 0&&(e.requiredWhen!==void 0||e.pattern!==void 0||e.rules!==void 0)}function ge(n,e,t){let r=[],o=I(n,e.name),i=e.validation?.requiredWhen;if(i){let a=(Array.isArray(i)?i:[i]).find(In=>y(n,In));a&&!N(o)&&r.push({path:[e.name],message:A(a.message??e.validation?.required,t)})}let s=e.validation?.pattern;s&&!Rn(s,o)&&r.push({path:[e.name],message:A(s.message,t)});for(let c of e.validation?.rules??[])me(n,c.when)&&!xe(c,o)&&r.push({path:[e.name],message:A(c.message,t)});return r}function y(n,e){let t=R[e.operator??"eq"];return t?t(I(n,e.field),e.value):!1}function I(n,e){return e in n?n[e]:E(n,e)??void 0}function me(n,e){if(!e)return!0;if(Array.isArray(e))return e.every(o=>y(n,o));if("field"in e)return y(n,e);let t=e.all?e.all.every(o=>y(n,o)):!0,r=e.any?e.any.some(o=>y(n,o)):!0;return t&&r}function xe(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 ye(n.value)?Rn(n.value,e):!0;default:return!0}}function Rn(n,e){return!N(e)||typeof e!="string"||n.allowInterpolation&&(S(e)||Te(e))?!0:new RegExp(n.regex,n.flags).test(e)}function Te(n){return p(n)&&n.trimStart().startsWith("@")}function N(n){return p(n)?n.trim().length>0:R.exists(n,void 0)}function mn(n){return typeof n=="number"?n:p(n)||Array.isArray(n)?n.length:0}function ye(n){return f(n)&&"regex"in n}function A(n,e){return n?m(n,e):void 0}function Ae(n,e,t){let r=n,o=e.advanced?.length?.min;o!==void 0&&(r=r.min(o,A(e.validation?.length?.min,t)));let i=e.advanced?.length?.max;return i!==void 0&&(r=r.max(i,A(e.validation?.length?.max,t))),r}
@@ -1 +1 @@
1
- var N="input",O="input/date",_="input/email",L="input/number";var P="input/time";var D="textarea",M="radio",F="checkbox",U="list";var V="select",Y="select/active";var q="select/month";var j="select/year";var X="chips",z="chips/day",H="chips/month",Z="column";var b="email",G="number",W="password",B="tel",$="text";var K="max";var v="min";var h="$ref";function f(n){return n!==null&&Object.prototype.toString.call(n)==="[object Object]"}function x(n){return n==null||n===""}function p(n){return typeof n=="string"}function E(n,e){if(!e||!f(n))return null;let t=e.split(".").filter(o=>o!=="");if(t.length===0)return null;let r=n;for(let o of t)if(f(r)&&o in r)r=r[o];else if(Array.isArray(r)){let i=Number(o);if(!Number.isInteger(i)||i<0||i>=r.length)return null;r=r[i]}else return null;return r}function S(n){return p(n)?/{([^}]{1,200})}/.test(n):Array.isArray(n)?n.some(e=>S(e)):f(n)?Object.values(n).some(e=>S(e)):!1}var R={eq:kn,gt:On,gte:_n,in:Cn,lt:Ln,lte:Pn,neq:wn,nin:Nn,contains:Dn,exists:Mn,truthy:Fn},Sn=/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2})?/,J=/^(\d{2})[/-](\d{2})[/-](\d{4})(?: (\d{2}):(\d{2})(?::(\d{2}))?)?$/;function Rn(n){return typeof n=="string"&&Sn.test(n)}function In(n){return typeof n=="string"&&J.test(n)}function bn(n){let e=n.match(J);if(e){let[,t,r,o,i,s,c]=e;return new Date(Number(o),Number(r)-1,Number(t),Number(i??0),Number(s??0),Number(c??0)).getTime()}return NaN}function d(n){return Rn(n)?new Date(n).getTime():In(n)?bn(n):Number(n)}function kn(n,e){return n===e}function wn(n,e){return n!==e}function Cn(n,e){return Array.isArray(e)&&e.includes(String(n))}function Nn(n,e){return Array.isArray(e)&&!e.includes(String(n))}function On(n,e){return d(n)>d(e)}function _n(n,e){return d(n)>=d(e)}function Ln(n,e){return d(n)<d(e)}function Pn(n,e){return d(n)<=d(e)}function Dn(n,e){return typeof n=="string"?n.includes(String(e)):Array.isArray(n)?n.map(String).includes(String(e)):!1}function Mn(n){return Array.isArray(n)?n.length>0:n!=null&&n!==""}function Fn(n){return Array.isArray(n)?n.length>0:!!n}var Q=n=>l(Y)(n);var nn=n=>l(q)(n),en=n=>l(j)(n);var tn=n=>l(z)(n),rn=n=>l(H)(n),Re=l(O),Ie=l(P),k=l(F),on=l(X),sn=l(M),be=l(N),ke=l(V),we=l(D),Ce=l($,b,W,B),un=l(_,b),cn=l(L,G);function an(n){return n.type===U}function ln(n){return n.type===Z}function l(...n){return e=>{let t=p(e.type)?e.type:void 0;return t?n.some(r=>t===r||t?.startsWith(`${r}/`)):!1}}var Un=/^#\/definition\//;function T(n,e,t=new Map,r=new WeakSet){if(!Vn(e)||!n||typeof n!="object")return n;if(t.has(n))return t.get(n);if(r.has(n))return n;if(r.add(n),Array.isArray(n))return n.map(i=>T(i,e,t,r));if(h in n&&p(n[h])){let i=n[h].replace(Un,""),s=E(e,i);return s!==null?T(s,e,t,r):n}let o={};for(let[i,s]of Object.entries(n))o[i]=T(s,e,t,r);return r.delete(n),t.set(n,o),o}function Vn(n){return n!==void 0&&f(n)&&Object.keys(n).length>0}import{z as u}from"zod";function m(n,e){return n?e?e[n]??n:n:""}var Yn=[[k,fn],[un,Xn],[cn,Zn],[sn,zn],[Q,fn],[nn,Wn],[en,Gn],[on,w],[tn,w],[rn,w]];function qn(n,e=[],t){let r=u.object(n);if(e.length===0)return r;let o=vn(r,e,t);return oe(o,e,t)}function jn(n,e){for(let[t,r]of Yn)if(t(n))return r(n,e);return Hn(n,e)}function Xn(n,e){let t=u.string().trim();if(n.required){let r=g(n,e),o=t.min(1,r).pipe(pn(n,e));return u.preprocess(i=>x(i)?"":i,o)}return t.pipe(pn(n,e)).or(u.literal("")).nullable()}function fn(n,e){let t=u.preprocess(r=>{if(typeof r=="string"){if(r==="true")return!0;if(r==="false")return!1}return r},u.coerce.boolean());return n.required?(k(n)?t=t.refine(r=>r===!0,{message:g(n,e)}):t=t.refine(r=>typeof r=="boolean",{message:g(n,e)}),u.preprocess(r=>r===null?!1:r,t)):t.nullable()}function zn(n,e){let t=u.coerce.string();return n.required?(t=t.min(1,g(n,e)),u.preprocess(r=>x(r)?"":r,t)):t.or(u.literal("")).nullable()}function Hn(n,e){let t=u.coerce.string().trim();return t=gn(t,n,e),n.required?(t=mn(t,n,e),u.preprocess(r=>x(r)?"":r,t)):t.nullable()}function Zn(n,e){let t=u.coerce.number().int();return t=gn(t,n,e),n.required?(t=mn(t,n,e),u.preprocess(r=>r===null?void 0:r,t)):t.nullable()}function Gn(n,e){return n.required?u.preprocess(Bn,u.coerce.number({message:g(n,e)}).int()):u.coerce.number().int().nullable()}function Wn(n,e){let t=g(n,e),r=u.coerce.number().int().min(1,t).max(12,t);return n.required?r:r.nullable()}function Bn(n){return n===null||n===""?void 0:n}function pn(n,e){let t=n.validation?.email?m(n.validation?.email,e):void 0;return u.email(t)}function gn(n,e,t){return n=$n(n,e,t),n=Kn(n,e,t),n}function mn(n,e,t){let r=e.advanced?.length?.min;return r===void 0||r<1?n.min(1,g(e,t)):n}var $n=(n,e,t)=>xn(n,e,v,t),Kn=(n,e,t)=>xn(n,e,K,t);function xn(n,e,t,r){let o=e.advanced?.length?.[t];if(o!==void 0){let i=e.validation?.length?.[t]?m(e.validation?.length?.[t],r):void 0;return n[t](o,i)}return n}function vn(n,e=[],t){let r=Qn(e);return r.length===0?n:n.superRefine((o,i)=>{for(let{name:s,rule:c}of r)if(!Jn(o,s,c)){let a=m(c.message,t);i.addIssue({code:"custom",message:a,path:[s]})}})}function Jn(n,e,t){let r=t.operator??"eq",o=R[r];return o?o(I(n,e),I(n,t.field)):!1}function Qn(n){let e=[];for(let t of n){let r=t.validation?.custom;if(!r)continue;let o=Array.isArray(r)?r:[r];for(let i of o)e.push({name:t.name,rule:i})}return e}function g(n,e){return n.validation?.required?m(n.validation?.required,e):void 0}function w(n,e){let t=u.array(u.string());return n.required&&(t=t.min(1,g(n,e))),u.preprocess(r=>x(r)?[]:Array.isArray(r)?r.map(String):[String(r)],t)}function ne(n,e,t){let r=t?T(n,t):n;return Tn(ee(r),e)}function ee(n){let e=[];for(let t of n)for(let r of t.fields??[])e.push(r);return e}function Tn(n,e){let t={},r=[],o=i=>{for(let s of i)if(ln(s))o(s.fields);else if(an(s)){let c=fe(u.array(Tn(s.fields,e)),s,e);t[s.name]=u.preprocess(a=>a===void 0?[]:a,c)}else{let c=!!s.required&&!s.hidden,a=jn(c?s:{...s,required:!1},e);t[s.name]=c?a:a.optional(),r.push(s)}};return o(n),qn(te(t),r,e)}function te(n){if(!Object.keys(n).some(t=>t.includes(".")))return n;let e=new Map;for(let[t,r]of Object.entries(n)){let o=t.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],r)}return yn(e)}function yn(n){let e={};for(let[t,r]of n)e[t]=r instanceof Map?u.object(yn(r)).optional():r;return e}function re(n){return n.issues.map(e=>({path:e.path.map(String).join("."),message:e.message}))}function oe(n,e=[],t){let r=e.filter(ie);return r.length===0?n:n.superRefine((o,i)=>{let s=f(o)?o:{};for(let c of r)for(let a of se(s,c,t))i.addIssue({code:"custom",path:a.path,message:a.message})})}function ie(n){let e=n.validation;return e!==void 0&&(e.requiredWhen!==void 0||e.pattern!==void 0||e.rules!==void 0)}function se(n,e,t){let r=[],o=I(n,e.name),i=e.validation?.requiredWhen;if(i){let a=(Array.isArray(i)?i:[i]).find(hn=>y(n,hn));a&&!C(o)&&r.push({path:[e.name],message:A(a.message??e.validation?.required,t)})}let s=e.validation?.pattern;s&&!An(s,o)&&r.push({path:[e.name],message:A(s.message,t)});for(let c of e.validation?.rules??[])ue(n,c.when)&&!ce(c,o)&&r.push({path:[e.name],message:A(c.message,t)});return r}function y(n,e){let t=R[e.operator??"eq"];return t?t(I(n,e.field),e.value):!1}function I(n,e){return e in n?n[e]:E(n,e)??void 0}function ue(n,e){if(!e)return!0;if(Array.isArray(e))return e.every(o=>y(n,o));if("field"in e)return y(n,e);let t=e.all?e.all.every(o=>y(n,o)):!0,r=e.any?e.any.some(o=>y(n,o)):!0;return t&&r}function ce(n,e){switch(n.assert){case"required":return C(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 dn(e)>=Number(n.value);case"max":return dn(e)<=Number(n.value);case"oneOf":return Array.isArray(n.value)&&n.value.map(String).includes(String(e));case"pattern":return le(n.value)?An(n.value,e):!0;default:return!0}}function An(n,e){return!C(e)||typeof e!="string"||n.allowInterpolation&&(S(e)||ae(e))?!0:new RegExp(n.regex,n.flags).test(e)}function ae(n){return p(n)&&n.trimStart().startsWith("@")}function C(n){return p(n)?n.trim().length>0:R.exists(n,void 0)}function dn(n){return typeof n=="number"?n:p(n)||Array.isArray(n)?n.length:0}function le(n){return f(n)&&"regex"in n}function A(n,e){return n?m(n,e):void 0}function fe(n,e,t){let r=n,o=e.advanced?.length?.min;o!==void 0&&(r=r.min(o,A(e.validation?.length?.min,t)));let i=e.advanced?.length?.max;return i!==void 0&&(r=r.max(i,A(e.validation?.length?.max,t))),r}export{ne as buildFormSchema,re as collectIssues};
1
+ var N="input",O="input/date",_="input/email",L="input/number";var P="input/time";var D="textarea",M="radio",F="checkbox",U="list";var V="select",Y="select/active";var q="select/month";var j="select/year";var X="chips",z="chips/day",H="chips/month",Z="column";var b="email",G="number",W="password",B="tel",$="text";var K="max";var v="min";var h="$ref";function f(n){return n!==null&&Object.prototype.toString.call(n)==="[object Object]"}function x(n){return n==null||n===""}function p(n){return typeof n=="string"}function E(n,e){if(!e||!f(n))return null;let t=e.split(".").filter(o=>o!=="");if(t.length===0)return null;let r=n;for(let o of t)if(f(r)&&o in r)r=r[o];else if(Array.isArray(r)){let i=Number(o);if(!Number.isInteger(i)||i<0||i>=r.length)return null;r=r[i]}else return null;return r}function S(n){return p(n)?/{([^}]{1,200})}/.test(n):Array.isArray(n)?n.some(e=>S(e)):f(n)?Object.values(n).some(e=>S(e)):!1}var R={eq:wn,gt:_n,gte:Ln,in:Nn,lt:Pn,lte:Dn,neq:Cn,nin:On,contains:Mn,exists:Q,empty:Fn,truthy:Un},Rn=/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2})?/,J=/^(\d{2})[/-](\d{2})[/-](\d{4})(?: (\d{2}):(\d{2})(?::(\d{2}))?)?$/;function In(n){return typeof n=="string"&&Rn.test(n)}function bn(n){return typeof n=="string"&&J.test(n)}function kn(n){let e=n.match(J);if(e){let[,t,r,o,i,s,c]=e;return new Date(Number(o),Number(r)-1,Number(t),Number(i??0),Number(s??0),Number(c??0)).getTime()}return NaN}function d(n){return In(n)?new Date(n).getTime():bn(n)?kn(n):Number(n)}function wn(n,e){return n===e}function Cn(n,e){return n!==e}function Nn(n,e){return Array.isArray(e)&&e.includes(String(n))}function On(n,e){return Array.isArray(e)&&!e.includes(String(n))}function _n(n,e){return d(n)>d(e)}function Ln(n,e){return d(n)>=d(e)}function Pn(n,e){return d(n)<d(e)}function Dn(n,e){return d(n)<=d(e)}function Mn(n,e){return typeof n=="string"?n.includes(String(e)):Array.isArray(n)?n.map(String).includes(String(e)):!1}function Q(n){return Array.isArray(n)?n.length>0:n!=null&&n!==""}function Fn(n){return!Q(n)}function Un(n){return Array.isArray(n)?n.length>0:!!n}var nn=n=>l(Y)(n);var en=n=>l(q)(n),tn=n=>l(j)(n);var rn=n=>l(z)(n),on=n=>l(H)(n),Ie=l(O),be=l(P),k=l(F),sn=l(X),un=l(M),ke=l(N),we=l(V),Ce=l(D),Ne=l($,b,W,B),cn=l(_,b),an=l(L,G);function ln(n){return n.type===U}function fn(n){return n.type===Z}function l(...n){return e=>{let t=p(e.type)?e.type:void 0;return t?n.some(r=>t===r||t?.startsWith(`${r}/`)):!1}}var Vn=/^#\/definition\//;function T(n,e,t=new Map,r=new WeakSet){if(!Yn(e)||!n||typeof n!="object")return n;if(t.has(n))return t.get(n);if(r.has(n))return n;if(r.add(n),Array.isArray(n))return n.map(i=>T(i,e,t,r));if(h in n&&p(n[h])){let i=n[h].replace(Vn,""),s=E(e,i);return s!==null?T(s,e,t,r):n}let o={};for(let[i,s]of Object.entries(n))o[i]=T(s,e,t,r);return r.delete(n),t.set(n,o),o}function Yn(n){return n!==void 0&&f(n)&&Object.keys(n).length>0}import{z as u}from"zod";function m(n,e){return n?e?e[n]??n:n:""}var qn=[[k,pn],[cn,zn],[an,Gn],[un,Hn],[nn,pn],[en,Bn],[tn,Wn],[sn,w],[rn,w],[on,w]];function jn(n,e=[],t){let r=u.object(n);if(e.length===0)return r;let o=Jn(r,e,t);return ie(o,e,t)}function Xn(n,e){for(let[t,r]of qn)if(t(n))return r(n,e);return Zn(n,e)}function zn(n,e){let t=u.string().trim();if(n.required){let r=g(n,e),o=t.min(1,r).pipe(dn(n,e));return u.preprocess(i=>x(i)?"":i,o)}return t.pipe(dn(n,e)).or(u.literal("")).nullable()}function pn(n,e){let t=u.preprocess(r=>{if(typeof r=="string"){if(r==="true")return!0;if(r==="false")return!1}return r},u.coerce.boolean());return n.required?(k(n)?t=t.refine(r=>r===!0,{message:g(n,e)}):t=t.refine(r=>typeof r=="boolean",{message:g(n,e)}),u.preprocess(r=>r===null?!1:r,t)):t.nullable()}function Hn(n,e){let t=u.coerce.string();return n.required?(t=t.min(1,g(n,e)),u.preprocess(r=>x(r)?"":r,t)):t.or(u.literal("")).nullable()}function Zn(n,e){let t=u.coerce.string().trim();return t=mn(t,n,e),n.required?(t=xn(t,n,e),u.preprocess(r=>x(r)?"":r,t)):t.nullable()}function Gn(n,e){let t=u.coerce.number().int();return t=mn(t,n,e),n.required?(t=xn(t,n,e),u.preprocess(r=>r===null?void 0:r,t)):t.nullable()}function Wn(n,e){return n.required?u.preprocess($n,u.coerce.number({message:g(n,e)}).int()):u.coerce.number().int().nullable()}function Bn(n,e){let t=g(n,e),r=u.coerce.number().int().min(1,t).max(12,t);return n.required?r:r.nullable()}function $n(n){return n===null||n===""?void 0:n}function dn(n,e){let t=n.validation?.email?m(n.validation?.email,e):void 0;return u.email(t)}function mn(n,e,t){return n=Kn(n,e,t),n=vn(n,e,t),n}function xn(n,e,t){let r=e.advanced?.length?.min;return r===void 0||r<1?n.min(1,g(e,t)):n}var Kn=(n,e,t)=>Tn(n,e,v,t),vn=(n,e,t)=>Tn(n,e,K,t);function Tn(n,e,t,r){let o=e.advanced?.length?.[t];if(o!==void 0){let i=e.validation?.length?.[t]?m(e.validation?.length?.[t],r):void 0;return n[t](o,i)}return n}function Jn(n,e=[],t){let r=ne(e);return r.length===0?n:n.superRefine((o,i)=>{for(let{name:s,rule:c}of r)if(!Qn(o,s,c)){let a=m(c.message,t);i.addIssue({code:"custom",message:a,path:[s]})}})}function Qn(n,e,t){let r=t.operator??"eq",o=R[r];return o?o(I(n,e),I(n,t.field)):!1}function ne(n){let e=[];for(let t of n){let r=t.validation?.custom;if(!r)continue;let o=Array.isArray(r)?r:[r];for(let i of o)e.push({name:t.name,rule:i})}return e}function g(n,e){return n.validation?.required?m(n.validation?.required,e):void 0}function w(n,e){let t=u.array(u.string());return n.required&&(t=t.min(1,g(n,e))),u.preprocess(r=>x(r)?[]:Array.isArray(r)?r.map(String):[String(r)],t)}function ee(n,e,t){let r=t?T(n,t):n;return yn(te(r),e)}function te(n){let e=[];for(let t of n)for(let r of t.fields??[])e.push(r);return e}function yn(n,e){let t={},r=[],o=i=>{for(let s of i)if(fn(s))o(s.fields);else if(ln(s)){let c=pe(u.array(yn(s.fields,e)),s,e);t[s.name]=u.preprocess(a=>a===void 0?[]:a,c)}else{let c=!!s.required&&!s.hidden,a=Xn(c?s:{...s,required:!1},e);t[s.name]=c?a:a.optional(),r.push(s)}};return o(n),jn(re(t),r,e)}function re(n){if(!Object.keys(n).some(t=>t.includes(".")))return n;let e=new Map;for(let[t,r]of Object.entries(n)){let o=t.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],r)}return An(e)}function An(n){let e={};for(let[t,r]of n)e[t]=r instanceof Map?u.object(An(r)).optional():r;return e}function oe(n){return n.issues.map(e=>({path:e.path.map(String).join("."),message:e.message}))}function ie(n,e=[],t){let r=e.filter(se);return r.length===0?n:n.superRefine((o,i)=>{let s=f(o)?o:{};for(let c of r)for(let a of ue(s,c,t))i.addIssue({code:"custom",path:a.path,message:a.message})})}function se(n){let e=n.validation;return e!==void 0&&(e.requiredWhen!==void 0||e.pattern!==void 0||e.rules!==void 0)}function ue(n,e,t){let r=[],o=I(n,e.name),i=e.validation?.requiredWhen;if(i){let a=(Array.isArray(i)?i:[i]).find(En=>y(n,En));a&&!C(o)&&r.push({path:[e.name],message:A(a.message??e.validation?.required,t)})}let s=e.validation?.pattern;s&&!hn(s,o)&&r.push({path:[e.name],message:A(s.message,t)});for(let c of e.validation?.rules??[])ce(n,c.when)&&!ae(c,o)&&r.push({path:[e.name],message:A(c.message,t)});return r}function y(n,e){let t=R[e.operator??"eq"];return t?t(I(n,e.field),e.value):!1}function I(n,e){return e in n?n[e]:E(n,e)??void 0}function ce(n,e){if(!e)return!0;if(Array.isArray(e))return e.every(o=>y(n,o));if("field"in e)return y(n,e);let t=e.all?e.all.every(o=>y(n,o)):!0,r=e.any?e.any.some(o=>y(n,o)):!0;return t&&r}function ae(n,e){switch(n.assert){case"required":return C(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 gn(e)>=Number(n.value);case"max":return gn(e)<=Number(n.value);case"oneOf":return Array.isArray(n.value)&&n.value.map(String).includes(String(e));case"pattern":return fe(n.value)?hn(n.value,e):!0;default:return!0}}function hn(n,e){return!C(e)||typeof e!="string"||n.allowInterpolation&&(S(e)||le(e))?!0:new RegExp(n.regex,n.flags).test(e)}function le(n){return p(n)&&n.trimStart().startsWith("@")}function C(n){return p(n)?n.trim().length>0:R.exists(n,void 0)}function gn(n){return typeof n=="number"?n:p(n)||Array.isArray(n)?n.length:0}function fe(n){return f(n)&&"regex"in n}function A(n,e){return n?m(n,e):void 0}function pe(n,e,t){let r=n,o=e.advanced?.length?.min;o!==void 0&&(r=r.min(o,A(e.validation?.length?.min,t)));let i=e.advanced?.length?.max;return i!==void 0&&(r=r.max(i,A(e.validation?.length?.max,t))),r}export{ee as buildFormSchema,oe as collectIssues};
@@ -0,0 +1,2 @@
1
+ import type { DataSource } from './type';
2
+ export declare function fetcher(dataSource: DataSource): Promise<any>;
@@ -0,0 +1,6 @@
1
+ import type { ChangeEvent, SourceEvent, StateEvent, ValueEvent } from '../type';
2
+ export declare function handleProxyEvent(events: ChangeEvent | undefined, callback: (props: {
3
+ sources: SourceEvent[];
4
+ states: StateEvent[];
5
+ values: ValueEvent[];
6
+ }) => void): void;
@@ -0,0 +1,2 @@
1
+ import type { DataSource, Nullable, SourceEvent } from '../type';
2
+ export declare function handleSourceEvent<T>(selected: Nullable<T> | undefined, events: SourceEvent[] | undefined, setSource: (name: string, source?: DataSource) => void): void;
@@ -0,0 +1,2 @@
1
+ import type { FieldState, Nullable, StateEvent } from '../type';
2
+ export declare function handleStateEvent<T>(selected: Nullable<T> | undefined, events: StateEvent[] | undefined, setState: (name: string[], state?: FieldState) => void): void;
@@ -0,0 +1,5 @@
1
+ import type { Nullable, ValueEvent } from '../type';
2
+ export type ValueEventApply = (name: string, candidate: unknown, options: {
3
+ onlyIfTargetEmpty: boolean;
4
+ }) => void;
5
+ export declare function handleValueEvent<T>(selected: Nullable<T> | undefined, events: ValueEvent[] | undefined, apply: ValueEventApply): void;
@@ -0,0 +1,61 @@
1
+ import type { CommonProps, DataSource, Field, Nullable, Option, Value, TimeFormat, DateFormat } from '../type';
2
+ export declare function buildOptionChips(field: Field): {
3
+ value: string;
4
+ label: string;
5
+ }[] | undefined;
6
+ export declare function buildOptionSelect(field: Field): {
7
+ value: string;
8
+ label: string;
9
+ }[] | import("..").TimezoneGroup[] | undefined;
10
+ export declare function buildCommon(field: Field, disabled?: boolean): CommonProps;
11
+ export declare function resolveSource(field: Field, value?: Nullable<Record<string, unknown>>): DataSource | unknown[] | undefined;
12
+ export declare function getInputValue<K>(field: Field, value?: Nullable<K>): Value | undefined;
13
+ export declare function mergeOptionsProps(field: Field, commonProps: CommonProps, options?: Nullable<DataSource | unknown[]>): CommonProps | {
14
+ options: unknown[];
15
+ disabled?: boolean;
16
+ id?: string;
17
+ name?: string;
18
+ placeholder?: string;
19
+ required?: boolean;
20
+ };
21
+ export declare function getPreselectedValue(field: Field, commonProps: CommonProps, value?: Value): any;
22
+ export declare function getOptions<T>(field: Field, data?: Nullable<T[]>): (T | {
23
+ description?: string | undefined;
24
+ label: string;
25
+ value: string;
26
+ })[] | null | undefined;
27
+ export declare function prepareInputProps<T, K>(field: Field, commonProps: CommonProps, data?: Nullable<DataSource | T[]>, value?: Nullable<K>): {
28
+ commonPropsWithOptions: CommonProps | {
29
+ options: unknown[];
30
+ disabled?: boolean;
31
+ id?: string;
32
+ name?: string;
33
+ placeholder?: string;
34
+ required?: boolean;
35
+ };
36
+ defaultValue: any;
37
+ };
38
+ export declare function prepareInputValue<T>(field: Field, value?: Nullable<T>): {
39
+ checked: boolean | Nullable<T> | undefined;
40
+ value?: undefined;
41
+ } | {
42
+ value: never[] | (T & any[]);
43
+ checked?: undefined;
44
+ } | {
45
+ value: string | NonNullable<T>;
46
+ checked?: undefined;
47
+ };
48
+ export declare function prepareDefaultValue<T>(field: Field, value?: Nullable<T>): {
49
+ defaultChecked: boolean;
50
+ defaultValue?: undefined;
51
+ } | {
52
+ defaultValue: Nullable<T> | undefined;
53
+ defaultChecked?: undefined;
54
+ };
55
+ export declare function getFormatProps(dateFormat: Nullable<DateFormat>, timeFormat: Nullable<TimeFormat>): {
56
+ 'data-format': "HH:mm" | "HH:mm:ss" | "hh:mm a" | "hh:mm:ss a" | "yyyy-MM-dd" | "MM/dd/yyyy" | "dd/MM/yyyy" | "MMMM d, yyyy";
57
+ } | {
58
+ 'data-format'?: undefined;
59
+ };
60
+ export declare function getPreviewOptions(field: Field): Array<Option | string> | undefined;
61
+ export declare function resolveOptionLabel(value: unknown, options: Array<Option | string>): string;
@@ -0,0 +1,28 @@
1
+ export * from './fetcher';
2
+ export * from './handle/proxy-event';
3
+ export * from './handle/source-event';
4
+ export * from './handle/state-event';
5
+ export * from './handle/value-event';
6
+ export * from './helper/input';
7
+ export * from './type';
8
+ export * from './util/attributes';
9
+ export * from './util/build';
10
+ export * from './util/column';
11
+ export * from './util/condition';
12
+ export * from './util/constant';
13
+ export * from './util/date';
14
+ export * from './util/extract';
15
+ export * from './util/format';
16
+ export * from './util/is-input';
17
+ export * from './util/is-type';
18
+ export * from './util/list';
19
+ export * from './util/logger';
20
+ export * from './util/path';
21
+ export * from './util/prepare';
22
+ export * from './util/schema';
23
+ export * from './util/source';
24
+ export * from './util/string';
25
+ export * from './util/style';
26
+ export * from './util/transform';
27
+ export * from './util/translate';
28
+ export * from './util/url';