@nordcraft/runtime 1.0.81 → 1.0.83
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/custom-element.main.esm.js +28 -28
- package/dist/custom-element.main.esm.js.map +3 -3
- package/dist/page.main.esm.js +3 -3
- package/dist/page.main.esm.js.map +3 -3
- package/dist/src/api/apiUtils.d.ts +22 -0
- package/dist/src/api/apiUtils.js +23 -0
- package/dist/src/api/apiUtils.js.map +1 -1
- package/dist/src/api/apiUtils.test.d.ts +1 -0
- package/dist/src/api/apiUtils.test.js +54 -0
- package/dist/src/api/apiUtils.test.js.map +1 -0
- package/dist/src/api/createAPIv2.js +19 -4
- package/dist/src/api/createAPIv2.js.map +1 -1
- package/dist/src/editor-preview.main.js +6 -3
- package/dist/src/editor-preview.main.js.map +1 -1
- package/dist/src/events/handleAction.js +20 -8
- package/dist/src/events/handleAction.js.map +1 -1
- package/package.json +3 -3
- package/src/api/apiUtils.test.ts +65 -0
- package/src/api/apiUtils.ts +30 -0
- package/src/api/createAPIv2.ts +20 -5
- package/src/editor-preview.main.ts +5 -2
- package/src/events/handleAction.ts +21 -8
- package/src/types.d.ts +2 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var
|
|
1
|
+
var Xo=Object.create;var Te=Object.defineProperty;var en=Object.getOwnPropertyDescriptor;var tn=Object.getOwnPropertyNames;var rn=Object.getPrototypeOf,on=Object.prototype.hasOwnProperty;var nn=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),f=(e,t)=>{for(var r in t)Te(e,r,{get:t[r],enumerable:!0})},an=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of tn(t))!on.call(e,n)&&n!==r&&Te(e,n,{get:()=>t[n],enumerable:!(o=en(t,n))||o.enumerable});return e};var ue=(e,t,r)=>(r=e!=null?Xo(rn(e)):{},an(t||!e||!e.__esModule?Te(r,"default",{value:e,enumerable:!0}):r,e));var ne=nn((Eu,ho)=>{"use strict";ho.exports=function e(t,r){if(t===r)return!0;if(t&&r&&typeof t=="object"&&typeof r=="object"){if(t.constructor!==r.constructor)return!1;var o,n,a;if(Array.isArray(t)){if(o=t.length,o!=r.length)return!1;for(n=o;n--!==0;)if(!e(t[n],r[n]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if(a=Object.keys(t),o=a.length,o!==Object.keys(r).length)return!1;for(n=o;n--!==0;)if(!Object.prototype.hasOwnProperty.call(r,a[n]))return!1;for(n=o;n--!==0;){var s=a[n];if(!e(t[s],r[s]))return!1}return!0}return t!==t&&r!==r}});var Ze={};f(Ze,{clearLocalStorage:()=>qe,clearSessionStorage:()=>Be,copyToClipboard:()=>Ve,deleteFromLocalStorage:()=>Le,deleteFromSessionStorage:()=>Ne,focus:()=>Je,gotToURL:()=>Ye,interval:()=>$e,logToConsole:()=>_e,preventDefault:()=>Ge,saveToLocalStorage:()=>xe,saveToSessionStorage:()=>He,setCookie:()=>We,setHttpOnlyCookie:()=>Ue,setSessionCookies:()=>Me,setTheme:()=>Ie,share:()=>ze,sleep:()=>Qe,stopPropagation:()=>Ke});var Ne={};f(Ne,{default:()=>ln});var sn=async function([e]){if(typeof e!="string"||e.length===0)throw new Error(`Invalid key: ${e}`);window.sessionStorage.removeItem(e)},ln=sn;var xe={};f(xe,{default:()=>cn});var un=async function([e,t]){if(typeof e!="string"||e.length===0)throw new Error(`Invalid key: ${e}`);window.localStorage.setItem(e,JSON.stringify(t))},cn=un;var $e={};f($e,{default:()=>dn});var E=e=>e!=null,U=e=>typeof e=="object"&&e!==null,$=e=>e!==!1&&e!==void 0&&e!==null;var pn=([e],t)=>{let r=Number(e);if(!E(e)||Number.isNaN(e))throw new Error("Invalid delay value");let o=setInterval(()=>t.triggerActionEvent("tick",null),r);t.abortSignal.addEventListener("abort",()=>{clearInterval(o)})},dn=pn;var Ie={};f(Ie,{default:()=>gn});var eo="nc-custom-properties",to="data-nc-theme",ro="nc-theme",Pe=`
|
|
2
2
|
@layer reset {
|
|
3
3
|
html {
|
|
4
4
|
height:100%;
|
|
@@ -69,27 +69,27 @@ var Yo=Object.create;var De=Object.defineProperty;var Zo=Object.getOwnPropertyDe
|
|
|
69
69
|
[popover]:not(:popover-open):not(dialog[open]) {
|
|
70
70
|
display: revert;
|
|
71
71
|
}
|
|
72
|
-
}`,to={colors:{grey:{order:0,variants:{50:{order:0,value:"#FAFAFA"},100:{order:1,value:"#F5F5F5"},200:{order:2,value:"#E5E5E5"},300:{order:3,value:"#D4D4D4"},400:{order:4,value:"#A3A3A3"},500:{order:5,value:"#737373"},600:{order:6,value:"#525252"},700:{order:7,value:"#404040"},800:{order:8,value:"#262626"},900:{order:9,value:"#171717"}}},red:{order:1,variants:{50:{order:0,value:"#FEF2F2"},100:{order:1,value:"#FEE2E2"},200:{order:2,value:"#FECACA"},300:{order:3,value:"#FCA5A5"},400:{order:4,value:"#F87171"},500:{order:5,value:"#EF4444"},600:{order:6,value:"#DC2626"},700:{order:7,value:"#B91C1C"},800:{order:8,value:"#991B1B"},900:{order:9,value:"#7F1D1D"}}},rose:{order:3,variants:{50:{order:0,value:"#FFF1F2"},100:{order:1,value:"#FFE4E6"},200:{order:2,value:"#FECDD3"},300:{order:3,value:"#FDA4AF"},400:{order:4,value:"#FB7185"},500:{order:5,value:"#F43F5E"},600:{order:6,value:"#E11D48"},700:{order:7,value:"#BE123C"},800:{order:8,value:"#9F1239"},900:{order:9,value:"#881337"}}},pink:{order:4,variants:{50:{order:0,value:"#FDF2F8"},100:{order:1,value:"#FCE7F3"},200:{order:2,value:"#FBCFE8"},300:{order:3,value:"#F9A8D4"},400:{order:4,value:"#F472B6"},500:{order:5,value:"#EC4899"},600:{order:6,value:"#DB2777"},700:{order:7,value:"#BE185D"},800:{order:8,value:"#9D174D"},900:{order:9,value:"#831843"}}},amber:{order:5,variants:{50:{order:0,value:"#FFFBEB"},100:{order:1,value:"#FEF3C7"},200:{order:2,value:"#FDE68A"},300:{order:3,value:"#FCD34D"},400:{order:4,value:"#FBBF24"},500:{order:5,value:"#F59E0B"},600:{order:6,value:"#D97706"},700:{order:7,value:"#B45309"},800:{order:8,value:"#92400E"},900:{order:9,value:"#78350F"}}},orange:{order:6,variants:{50:{order:0,value:"#FFF7ED"},100:{order:1,value:"#FFEDD5"},200:{order:2,value:"#FED7AA"},300:{order:3,value:"#FDBA74"},400:{order:4,value:"#FB923C"},500:{order:5,value:"#F97316"},600:{order:6,value:"#EA580C"},700:{order:7,value:"#C2410C"},800:{order:8,value:"#9A3412"},900:{order:9,value:"#7C2D12"}}},yellow:{order:7,variants:{50:{order:0,value:"#FFFBEB"},100:{order:1,value:"#FEF3C7"},200:{order:2,value:"#FDE68A"},300:{order:3,value:"#FCD34D"},400:{order:4,value:"#FBBF24"},500:{order:5,value:"#F59E0B"},600:{order:6,value:"#D97706"},700:{order:7,value:"#B45309"},800:{order:8,value:"#92400E"},900:{order:9,value:"#78350F"}}},lime:{order:8,variants:{50:{order:0,value:"#F7FEE7"},100:{order:1,value:"#ECFCCB"},200:{order:2,value:"#D9F99D"},300:{order:3,value:"#BEF264"},400:{order:4,value:"#A3E635"},500:{order:5,value:"#84CC16"},600:{order:6,value:"#65A30D"},700:{order:7,value:"#4D7C0F"},800:{order:8,value:"#3F6212"},900:{order:9,value:"#365314"}}},green:{order:9,variants:{50:{order:0,value:"#ECFDF5"},100:{order:1,value:"#D1FAE5"},200:{order:2,value:"#A7F3D0"},300:{order:3,value:"#6EE7B7"},400:{order:4,value:"#34D399"},500:{order:5,value:"#10B981"},600:{order:6,value:"#059669"},700:{order:7,value:"#047857"},800:{order:8,value:"#065F46"},900:{order:9,value:"#064E3B"}}},emerald:{order:10,variants:{50:{order:0,value:"#ECFDF5"},100:{order:1,value:"#D1FAE5"},200:{order:2,value:"#A7F3D0"},300:{order:3,value:"#6EE7B7"},400:{order:4,value:"#34D399"},500:{order:5,value:"#10B981"},600:{order:6,value:"#059669"},700:{order:7,value:"#047857"},800:{order:8,value:"#065F46"},900:{order:9,value:"#064E3B"}}},teal:{order:11,variants:{50:{order:0,value:"#F0FDFA"},100:{order:1,value:"#CCFBF1"},200:{order:2,value:"#99F6E4"},300:{order:3,value:"#5EEAD4"},400:{order:4,value:"#2DD4BF"},500:{order:5,value:"#14B8A6"},600:{order:6,value:"#0D9488"},700:{order:7,value:"#0F766E"},800:{order:8,value:"#115E59"},900:{order:9,value:"#134E4A"}}},cyan:{order:12,variants:{50:{order:0,value:"#ECFEFF"},100:{order:1,value:"#CFFAFE"},200:{order:2,value:"#A5F3FC"},300:{order:3,value:"#67E8F9"},400:{order:4,value:"#22D3EE"},500:{order:5,value:"#06B6D4"},600:{order:6,value:"#0891B2"},700:{order:7,value:"#0E7490"},800:{order:8,value:"#155E75"},900:{order:9,value:"#164E63"}}},sky:{order:13,variants:{50:{order:0,value:"#F0F9FF"},100:{order:1,value:"#E0F2FE"},200:{order:2,value:"#BAE6FD"},300:{order:3,value:"#7DD3FC"},400:{order:4,value:"#38BDF8"},500:{order:5,value:"#0EA5E9"},600:{order:6,value:"#0284C7"},700:{order:7,value:"#0369A1"},800:{order:8,value:"#075985"},900:{order:9,value:"#0C4A6E"}}},blue:{order:14,variants:{50:{order:0,value:"#EFF6FF"},100:{order:1,value:"#DBEAFE"},200:{order:2,value:"#BFDBFE"},300:{order:3,value:"#93C5FD"},400:{order:4,value:"#60A5FA"},500:{order:5,value:"#3B82F6"},600:{order:6,value:"#2563EB"},700:{order:7,value:"#1D4ED8"},800:{order:8,value:"#1E40AF"},900:{order:9,value:"#1E3A8A"}}},indigo:{order:15,variants:{50:{order:0,value:"#EEF2FF"},100:{order:1,value:"#E0E7FF"},200:{order:2,value:"#C7D2FE"},300:{order:3,value:"#A5B4FC"},400:{order:4,value:"#818CF8"},500:{order:5,value:"#6366F1"},600:{order:6,value:"#4F46E5"},700:{order:7,value:"#4338CA"},800:{order:8,value:"#3730A3"},900:{order:9,value:"#312E81"}}},purple:{order:16,variants:{50:{order:0,value:"#F5F3FF"},100:{order:1,value:"#EDE9FE"},200:{order:2,value:"#DDD6FE"},300:{order:3,value:"#C4B5FD"},400:{order:4,value:"#A78BFA"},500:{order:5,value:"#8B5CF6"},600:{order:6,value:"#7C3AED"},700:{order:7,value:"#6D28D9"},800:{order:8,value:"#5B21B6"},900:{order:9,value:"#4C1D95"}}},fuchsia:{order:17,variants:{50:{order:0,value:"#FDF4FF"},100:{order:1,value:"#FAE8FF"},200:{order:2,value:"#F5D0FE"},300:{order:3,value:"#F0ABFC"},400:{order:4,value:"#E879F9"},500:{order:5,value:"#D946EF"},600:{order:6,value:"#C026D3"},700:{order:7,value:"#A21CAF"},800:{order:8,value:"#86198F"},900:{order:9,value:"#701A75"}}}},shadow:{sm:{order:0,value:"0 1px 2px 0 rgba(0, 0, 0, 0.25)"},base:{order:1,value:"0 1px 3px 0 rgba(0, 0, 0, 0.25), 0 1px 2px 0 rgba(0, 0, 0, 0.25)"},md:{order:2,value:"0 4px 6px -1px rgba(0, 0, 0, 0.25), 0 2px 4px -1px rgba(0, 0, 0, 0.25)"},lg:{order:3,value:"0 10px 15px -3px rgba(0, 0, 0, 0.25), 0 4px 6px -2px rgba(0, 0, 0, 0.25)"},xl:{order:4,value:"0 20px 25px -5px rgba(0, 0, 0, 0.25), 0 10px 10px -5px rgba(0, 0, 0, 0.25)"},"2xl":{order:5,value:"0 25px 50px -12px rgba(0, 0, 0, 0.25)"}},spacing:.25,fontSize:{lg:{order:0,value:"1.125rem"},sm:{order:1,value:"0.875rem"},xl:{order:2,value:"1.25rem"},xs:{order:3,value:"0.75rem"},"2xl":{order:4,value:"1.5rem"},"3xl":{order:5,value:"1.875rem"},"4xl":{order:6,value:"2.25rem"},"5xl":{order:7,value:"3rem"},xxs:{order:8,value:"0.625rem"},base:{order:9,value:"1rem",default:!0}},fontFamily:{mono:{order:0,value:["Fira Code","monospace"]},sans:{order:1,value:["Inter","sans-serif"],default:!0}},fontWeight:{bold:{order:0,value:"700"},bolder:{order:1,value:"800"},normal:{order:2,value:"500",default:!0},regular:{order:3,value:"400"},"semi-bold":{order:4,value:"600"}},breakpoints:{large:{order:2,value:1440},small:{order:0,value:576},medium:{order:1,value:960}}};var dn=3600*24*365,pn=async function([e],t){if(typeof e!="string"&&e!==null){t.triggerActionEvent("Error",new Error('The "Name" argument must be a string or null'));return}let r=e===null||e==="";try{await cookieStore.set({name:eo,value:e??"",path:"/",expires:r?0:Date.now()+dn,sameSite:"none"}),t.triggerActionEvent("Success",void 0)}catch(o){t.triggerActionEvent("Error",o)}},fn=pn;var Pe={};m(Pe,{default:()=>gn});var mn=async function([e]){if(typeof e!="string"||e.length===0)throw new Error(`Invalid key: ${e}`);window.localStorage.removeItem(e)},gn=mn;var Le={};m(Le,{default:()=>yn});var hn=async function([e,t],r){let o=[typeof e=="string"?`name=access_token&value=${encodeURIComponent(e)}`:void 0,isNaN(Number(t))?void 0:`ttl=${t}`].filter(a=>a).join("&"),n=await fetch(`/.toddle/cookies/set-session-cookie?${o}`);n.ok?r.triggerActionEvent("Success",void 0):r.triggerActionEvent("Error",new Error(await n.text()))},yn=hn;var Ie={};m(Ie,{default:()=>vn});var bn=async function(){window.localStorage.clear()},vn=bn;var Me={};m(Me,{default:()=>An});var Sn=async function(){window.sessionStorage.clear()},An=Sn;var qe={};m(qe,{default:()=>En});var Cn=([e,t])=>{console.log(e,t)},En=Cn;var Be={};m(Be,{default:()=>Fn});var wn=async function([e,t,r,o,n,a],s){let l=d=>s.triggerActionEvent("Error",new Error(d));if(typeof e!="string"){l('The "Name" argument must be a string');return}if(typeof t!="string"){l('The "Value" argument must be a string');return}let i=o??"Lax";if(typeof i!="string"||!["lax","strict","none"].includes(i.toLocaleLowerCase())){l('The "SameSite" argument must be "Lax", "Strict" or "None"');return}let c=n??"/";if(typeof c!="string"||!c.startsWith("/")){l('The "Path" argument must be a string and start with /');return}if(r!=null&&(typeof r!="number"||isNaN(r))){l('The "Expires in" argument must be a number');return}let f=a??!0;if(typeof f!="boolean"){l('The "Include Subdomains" argument must be a boolean');return}let u=new URLSearchParams;u.set("name",e),u.set("value",t),u.set("sameSite",i),u.set("path",c),u.set("includeSubdomains",String(f)),typeof r=="number"&&u.set("ttl",String(r));try{let d=await fetch(`/.nordcraft/cookies/set-cookie?${u.toString()}`);d.ok?s.triggerActionEvent("Success",void 0):l(await d.text())}catch(d){l(d instanceof Error?d.message:"An unexpected error occurred")}},Fn=wn;var _e={};m(_e,{default:()=>Rn});var jn=async function([e,t]){if(typeof e!="string"||e.length===0)throw new Error(`Invalid key: ${e}`);window.sessionStorage.setItem(e,JSON.stringify(t))},Rn=jn;var Ue={};m(Ue,{default:()=>Dn});var On=([e])=>{if(typeof e!="string")throw new Error("Input value must be a string");return navigator.clipboard.writeText(e)},Dn=On;var He={};m(He,{default:()=>Nn});var kn=(e,t,r)=>{r?.stopPropagation?.()},Nn=kn;var Ve={};m(Ve,{default:()=>xn});var Tn=async function([e,t,r,o,n,a],s){let l=d=>s.triggerActionEvent("Error",new Error(d));if(typeof e!="string"){l('The "Name" argument must be a string');return}if(typeof t!="string"){l('The "Value" argument must be a string');return}let i=o??"Lax";if(typeof i!="string"||!["lax","strict","none"].includes(i.toLocaleLowerCase())){l('The "SameSite" argument must be "Lax", "Strict" or "None"');return}let c=n??"/";if(typeof c!="string"||!c.startsWith("/")){l('The "Path" argument must be a string and start with /');return}if(r!=null&&(typeof r!="number"||isNaN(r))){l('The "Expires in" argument must be a number');return}let f=a??!0;if(typeof f!="boolean"){l('The "Include Subdomains" argument must be a boolean');return}let u=`${e}=${t}; SameSite=${i}; Path=${c}`;if(typeof r=="number"){let d=new Date(Date.now()+r*1e3);u+=`; Expires=${d.toUTCString()}`}f&&(u+=`; Domain=${window.location.hostname}`),document.cookie=u,s.triggerActionEvent("Success",void 0)},xn=Tn;var Ke={};m(Ke,{default:()=>Pn});var $n=([e])=>{e instanceof HTMLElement&&e.focus()},Pn=$n;var We={};m(We,{default:()=>In});var Ln=(e,t,r)=>{r?.preventDefault?.()},In=Ln;var Je={};m(Je,{default:()=>qn});var Mn=([e,t,r])=>{let o=a=>F(a)&&typeof a=="string";if(!o(e)&&!o(t)&&!o(r))throw new Error("Either url, text or title must be provided");let n={};if(o(t)&&(n.title=t),o(r)&&(n.text=r),o(e)&&(n.url=e),F(navigator.share)&&navigator.canShare(n))return navigator.share(n)},qn=Mn;var Ge={};m(Ge,{default:()=>_n});var Bn=([e],t)=>{let r=Number(e);if(!F(e)||Number.isNaN(e))throw new Error("Invalid delay value");let o=setTimeout(()=>t.triggerActionEvent("tick",null),r);t.abortSignal.addEventListener("abort",()=>{clearTimeout(o)})},_n=Bn;var ze={};m(ze,{default:()=>Hn});var Un=([e],t)=>{typeof e=="string"&&(t.env.runtime==="preview"?window.parent?.postMessage({type:"blockedNavigation",url:e},"*"):window.location.href=e)},Hn=Un;var _r={};m(_r,{absolute:()=>$t,add:()=>br,append:()=>Ut,boolean:()=>rt,branchName:()=>or,canShare:()=>kt,capitalize:()=>ot,clamp:()=>dt,concatenate:()=>Kt,currentURL:()=>Fr,dateFromString:()=>Xt,dateFromTimestamp:()=>ut,decodeBase64:()=>qr,decodeURIComponent:()=>et,defaultTo:()=>vr,deleteKey:()=>er,divide:()=>pr,drop:()=>dr,dropLast:()=>Dt,encodeBase64:()=>st,encodeJSON:()=>it,encodeURIComponent:()=>at,entries:()=>ur,equals:()=>zt,every:()=>ht,filter:()=>mr,find:()=>fr,findIndex:()=>Tr,findLast:()=>Bt,first:()=>Qt,flatten:()=>cr,formatDate:()=>St,formatNumber:()=>Lr,fromEntries:()=>Nt,get:()=>Jt,getCookie:()=>Er,getElementById:()=>Rr,getFromLocalStorage:()=>gr,getFromSessionStorage:()=>Ht,getHttpOnlyCookie:()=>kr,greaterOrEqueal:()=>nr,greaterThan:()=>Tt,groupBy:()=>wt,includes:()=>xt,indexOf:()=>wr,isServer:()=>Pt,join:()=>ct,json:()=>Yt,keyBy:()=>Mr,languages:()=>Ze,last:()=>Ft,lastIndexOf:()=>Ar,lessOrEqual:()=>Mt,lessThan:()=>_t,logarithm:()=>tt,lowercase:()=>Gt,map:()=>gt,matches:()=>Xe,max:()=>Zt,min:()=>tr,minus:()=>ft,modulo:()=>At,multiply:()=>Nr,not:()=>Pr,notEqual:()=>Ir,now:()=>Ct,number:()=>hr,parseJSON:()=>jt,parseURL:()=>It,power:()=>nt,prepend:()=>Et,randomNumber:()=>bt,range:()=>xr,reduce:()=>sr,replaceAll:()=>jr,reverse:()=>rr,round:()=>Ot,roundDown:()=>pt,roundUp:()=>Sr,set:()=>ir,shuffle:()=>yr,size:()=>ar,some:()=>lr,sort_by:()=>mt,split:()=>Br,squareRoot:()=>vt,startsWith:()=>Dr,string:()=>Ye,sum:()=>yt,take:()=>Wt,takeLast:()=>lt,timestamp:()=>Cr,trim:()=>$r,typeOf:()=>qt,unique:()=>Vt,uppercase:()=>Rt,userAgent:()=>Or});var Ye={};m(Ye,{default:()=>Kn});var Vn=([e])=>String(e),Kn=Vn;var Ze={};m(Ze,{default:()=>Jn});var Wn=(e,{env:t})=>t.isServer?t.request?.headers["accept-language"]?.split(",").map(r=>r.split(";")[0]??"")??[]:window.navigator.languages,Jn=Wn;var Xe={};m(Xe,{default:()=>zn});var Gn=([e,t,r,o,n])=>{if(typeof e!="string"||typeof t!="string")return[];let a=[x(r)?"g":"",x(o)?"i":"",x(n)?"m":""].join(""),s=new RegExp(t,a);return e.match(s)??[]},zn=Gn;var et={};m(et,{default:()=>Yn});var Qn=([e])=>typeof e!="string"?null:decodeURIComponent(e),Yn=Qn;var tt={};m(tt,{default:()=>Xn});var Zn=([e])=>typeof e!="number"||Number.isNaN(e)||e<0?null:Math.log(e),Xn=Zn;var rt={};m(rt,{default:()=>ta});var ea=([e])=>x(e),ta=ea;var ot={};m(ot,{default:()=>oa});var ra=([e])=>{if(typeof e!="string")return null;let t=e.at(0);return e.length===0||typeof t!="string"?e:t.toLocaleUpperCase()+e.substring(1).toLocaleLowerCase()},oa=ra;var nt={};m(nt,{default:()=>aa});var na=([e,t])=>isNaN(Number(e))||isNaN(Number(t))?null:Number(e)**Number(t),aa=na;var at={};m(at,{default:()=>ia});var sa=([e])=>typeof e!="string"?null:encodeURIComponent(e),ia=sa;var st={};m(st,{default:()=>ua});var la=([e])=>typeof e!="string"?null:btoa(e),ua=la;var it={};m(it,{default:()=>da});var ca=([e,t])=>typeof t!="number"?null:JSON.stringify(e,null,t),da=ca;var lt={};m(lt,{default:()=>fa});var pa=([e,t])=>typeof t!="number"?null:Array.isArray(e)?e.slice(e.length-t):typeof e=="string"?e.substring(e.length-t):null,fa=pa;var ut={};m(ut,{default:()=>ga});var ma=([e])=>typeof e=="number"?new Date(e):null,ga=ma;var ct={};m(ct,{default:()=>ya});var ha=([e,t])=>Array.isArray(e)?e.join(String(t)):null,ya=ha;var dt={};m(dt,{default:()=>va});var ba=([e,t,r])=>typeof e!="number"||typeof t!="number"||typeof r!="number"?null:Math.min(Math.max(e,t),r),va=ba;var pt={};m(pt,{default:()=>Aa});var Sa=([e,t])=>{if(typeof e!="number"||typeof t!="number")return null;let r=Math.max(1,Math.pow(10,t));return Math.floor(e*r)/r},Aa=Sa;var ft={};m(ft,{default:()=>Ea});var Ca=([e,t])=>{let r=Number(e),o=Number(t);return isNaN(r)||isNaN(o)?null:r-o},Ea=Ca;var mt={};m(mt,{default:()=>Fa,getArgumentInputData:()=>ja});var wa=([e,t,r])=>{if(!Array.isArray(e)||typeof t!="function"||typeof r!="boolean")return null;let o=r?1:-1;return[...e].sort((n,a)=>{let s=t({item:n}),l=t({item:a});if(Array.isArray(s)&&Array.isArray(l)){for(let i in s)if(s[i]!==l[i])return(s[i]>l[i]?1:-1)*o;return 0}return s===l?0:(s>l?1:-1)*o})},Fa=wa,ja=([e],t,r)=>t===1&&Array.isArray(e)?{...r,Args:{item:e[0]}}:r;var gt={};m(gt,{default:()=>Da,getArgumentInputData:()=>Oa});var Ra=([e,t])=>typeof t!="function"?null:Array.isArray(e)?e.map((r,o)=>t({item:r,index:o})):e&&typeof e=="object"?Object.fromEntries(Object.entries(e).map(([r,o])=>{let n=t({key:r,value:o});return"key"in n&&"value"in n?[n.key,n.value]:null})):null,Oa=([e],t,r)=>{if(t===0)return r;if(Array.isArray(e))return{...r,Args:{item:e[0],index:0}};if(e&&typeof e=="object"){let[o]=Object.entries(e);if(o)return{...r,Args:{key:o[0],value:o[1]}}}return r},Da=Ra;var ht={};m(ht,{default:()=>ka,getArgumentInputData:()=>Na,handler:()=>ro});var ro=([e,t])=>typeof t!="function"?null:Array.isArray(e)?e.every((r,o)=>t({item:r,index:o})):e&&typeof e=="object"?Object.entries(e).every(([r,o])=>t({key:r,value:o})):null,ka=ro,Na=([e],t,r)=>{if(t===0)return r;if(Array.isArray(e))return{...r,Args:{item:e[0],index:0}};if(e&&typeof e=="object"){let[o]=Object.entries(e);if(o)return{...r,Args:{key:o[0],value:o[1]}}}return r};var yt={};m(yt,{default:()=>xa});var Ta=([e])=>{if(Array.isArray(e)){let t=0;for(let r of e){if(isNaN(r)||typeof r!="number")return null;t+=r}return t}return null},xa=Ta;var bt={};m(bt,{default:()=>Pa});var $a=()=>Math.random(),Pa=$a;var vt={};m(vt,{default:()=>Ia});var La=([e])=>typeof e!="number"?null:Math.sqrt(e),Ia=La;var St={};m(St,{default:()=>qa});var Ma=([e,t,r])=>{if(!e||!(e instanceof Date))return null;let o=typeof t=="string"&&t.length>0||Array.isArray(t)&&t.every(O=>typeof O=="string")?t:void 0;if(!r||typeof r!="object")return Intl.DateTimeFormat(o).format(e);let n=(O,T)=>typeof O=="string"&&(T?.includes(O)??!0)?O:void 0,a=r,s=n(a.dateStyle,["full","long","medium","short"]),l=n(a.timeStyle,["full","long","medium","short"]),i=n(a.calendar),c=n(a.weekday,["long","short","narrow"]),f=n(a.era,["long","short","narrow"]),u=n(a.year,["numeric","2-digit"]),d=n(a.month,["long","short","narrow","numeric","2-digit"]),g=n(a.day,["numeric","2-digit"]),A=n(a.hour,["numeric","2-digit"]),C=n(a.minute,["numeric","2-digit"]),j=n(a.second,["numeric","2-digit"]),S=n(a.timeZoneName,["long","short","shortOffset","longOffset","shortGeneric","longGeneric"]),R=n(a.timeZone),D=a.hour12===!0?!0:a.hour12===!1?!1:void 0;return Intl.DateTimeFormat(o,{dateStyle:s,timeStyle:l,calendar:i,weekday:c,era:f,year:u,month:d,day:g,hour:A,minute:C,second:j,timeZoneName:S,timeZone:R,hour12:D}).format(e)},qa=Ma;var At={};m(At,{default:()=>_a});var Ba=([e,t])=>isNaN(Number(e))||isNaN(Number(t))?null:Number(e)%Number(t),_a=Ba;var Ct={};m(Ct,{default:()=>Ha});var Ua=()=>new Date,Ha=Ua;var Et={};m(Et,{default:()=>Ka});var Va=([e,t])=>Array.isArray(e)?[t,...e]:null,Ka=Va;var wt={};m(wt,{default:()=>Wa,getArgumentInputData:()=>Ja,handler:()=>oo});var oo=([e,t])=>{if(typeof t!="function"||!e||typeof e!="object"||!Array.isArray(e))return null;let r={};for(let o in e){let n=e[o],a=String(t({item:n,index:o}));r[a]=r[a]??[],r[a].push(n)}return r},Wa=oo,Ja=([e],t,r)=>t===1&&Array.isArray(e)?{...r,Args:{item:e[0],index:0}}:r;var Ft={};m(Ft,{default:()=>za});var Ga=([e])=>typeof e=="string"||Array.isArray(e)?e[e.length-1]:null,za=Ga;var jt={};m(jt,{default:()=>Za});var Qa=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:.\d{1,3})?Z$/;function re(e){return JSON.parse(e,(t,r)=>typeof r=="string"&&r.length===24&&Qa.test(r)?new Date(r):r)}var Ya=([e])=>{if(typeof e!="string")return null;try{return re(e)}catch{return null}},Za=Ya;var Rt={};m(Rt,{default:()=>es});var Xa=([e])=>typeof e!="string"?null:e.toLocaleUpperCase(),es=Xa;var Ot={};m(Ot,{default:()=>rs});var ts=([e,t])=>{if(typeof e!="number"||typeof t!="number")return null;let r=Math.max(1,Math.pow(10,t));return Math.round(e*r)/r},rs=ts;var Dt={};m(Dt,{default:()=>ns});var os=([e,t])=>typeof t!="number"||isNaN(t)?null:Array.isArray(e)?e.slice(0,e.length-t):typeof e=="string"?e.substring(0,e.length-t):null,ns=os;var kt={};m(kt,{default:()=>ss});var as=([e,t,r])=>{if(!F(navigator.canShare))return!1;let o=a=>F(a)&&typeof a=="string";if(!o(e)&&!o(t)&&!o(r))return!1;let n={};return o(t)&&(n.title=t),o(r)&&(n.text=r),o(e)&&(n.url=e),navigator.canShare(n)},ss=as;var Nt={};m(Nt,{default:()=>ls});var is=([e])=>{if(Array.isArray(e)){let t={};for(let{key:r,value:o}of e)t[r]=o;return t}return null},ls=is;var Tt={};m(Tt,{default:()=>cs});var us=([e,t])=>e>t,cs=us;var xt={};m(xt,{default:()=>ps});var ds=([e,t])=>typeof e=="string"&&typeof t=="string"?e.includes(t):Array.isArray(e)?e.some(r=>globalThis.toddle.isEqual(r,t)):null,ps=ds;var $t={};m($t,{default:()=>ms});var fs=([e])=>typeof e!="number"?null:Math.abs(e),ms=fs;var Pt={};m(Pt,{default:()=>hs});var gs=(e,t)=>t.env.isServer,hs=gs;var It={};m(It,{default:()=>bs});var Lt=class{hostname;searchParams;path;hash;href;protocol;port;origin;constructor(t){this.hostname=t.hostname,this.searchParams=Object.fromEntries(t.searchParams),this.path=t.pathname.split("/").filter((r,o)=>o!==0||r!==""),this.hash=t.hash.replace("#",""),this.href=t.href,this.protocol=t.protocol,this.port=t.port,this.origin=t.origin}toString(){return this.href}},ys=([e,t])=>{if(typeof e!="string")return null;try{return new Lt(new URL(e,typeof t=="string"?t:void 0))}catch{return null}},bs=ys;var Mt={};m(Mt,{default:()=>Ss});var vs=([e,t])=>e<=t,Ss=vs;var qt={};m(qt,{default:()=>Cs});var As=([e])=>{switch(typeof e){case"number":return isNaN(e)?null:"Number";case"string":return"String";case"boolean":return"Boolean";case"object":return Array.isArray(e)?"Array":e===null?"Null":"Object";case"undefined":return"Null";default:return null}},Cs=As;var Bt={};m(Bt,{default:()=>Es,getArgumentInputData:()=>ws,handler:()=>no});var no=([e,t])=>typeof t!="function"?null:Array.isArray(e)?e.findLast((r,o)=>t({item:r,index:o})):e&&typeof e=="object"?Object.entries(e).findLast(([r,o])=>t({key:r,value:o}))?.[1]:null,Es=no,ws=([e],t,r)=>{if(t===0)return r;if(Array.isArray(e))return{...r,Args:{item:e[0],index:0}};if(e&&typeof e=="object"){let[o]=Object.entries(e);if(o)return{...r,Args:{key:o[0],value:o[1]}}}return r};var _t={};m(_t,{default:()=>js});var Fs=([e,t])=>e<t,js=Fs;var Ut={};m(Ut,{default:()=>Os});var Rs=([e,t])=>Array.isArray(e)?[...e,t]:null,Os=Rs;var Ht={};m(Ht,{default:()=>ks});var Ds=([e])=>{if(typeof e!="string"||e.length===0||typeof window>"u")return null;let t=window.sessionStorage.getItem(e);if(t===null)return t;try{return JSON.parse(t)}catch{return t}},ks=Ds;var Vt={};m(Vt,{default:()=>Ts});var Ns=([e])=>{if(!Array.isArray(e))return null;let t=new Set;return e.filter(r=>{let o=typeof r=="object"?JSON.stringify(r):r;return t.has(o)?!1:(t.add(o),!0)})},Ts=Ns;var Kt={};m(Kt,{default:()=>$s});var xs=e=>{if(e.every(Array.isArray)){let t=[];for(let r of e)t.push(...r);return t}return e.every(_)?Object.assign({},...e):e.join("")},$s=xs;var Wt={};m(Wt,{default:()=>Ls});var Ps=([e,t])=>typeof t!="number"?null:Array.isArray(e)?e.slice(0,t):typeof e=="string"?e.substring(0,t):null,Ls=Ps;var Jt={};m(Jt,{default:()=>Ms});var Is=([e,t])=>{if(typeof e=="string")return e[Number(t)];let r=(o,n)=>{if(n.length===0)return o;let[a,...s]=n;return r(o?.[String(a)],s)};return r(e,Array.isArray(t)?t:[t])},Ms=Is;var Gt={};m(Gt,{default:()=>Bs});var qs=([e])=>typeof e!="string"?null:e.toLocaleLowerCase(),Bs=qs;var zt={};m(zt,{default:()=>Us});var _s=([e,t])=>globalThis.toddle.isEqual(e,t),Us=_s;var Qt={};m(Qt,{default:()=>Vs});var Hs=([e])=>typeof e=="string"||Array.isArray(e)?e[0]:null,Vs=Hs;var Yt={};m(Yt,{default:()=>Ws});var Ks=([e,t])=>{let r=isNaN(Number(t))?0:Number(t);return JSON.stringify(e,null,r)},Ws=Ks;var Zt={};m(Zt,{default:()=>Gs});var Js=e=>Math.max(...e.map(Number)),Gs=Js;var Xt={};m(Xt,{default:()=>Qs});var zs=([e])=>typeof e=="string"?new Date(e):null,Qs=zs;var er={};m(er,{default:()=>Zs});var Ys=([e,t])=>{if(typeof e!="object"||e===null||!Array.isArray(t)&&typeof t!="string"&&typeof t!="number")return null;let r=(n,[a,...s])=>{if(Array.isArray(n)){let l=Number(a);return Number.isNaN(l)?n:s.length===0?n.filter((i,c)=>c!==Number(a)):n.map((i,c)=>c===l?r(n[l],s):i)}return _(n)?s.length===0?Object.fromEntries(Object.entries(n).filter(([l])=>l!==a)):typeof a!="string"&&typeof a!="number"?{...n}:{...n,[a]:r(n[a],s)}:null},o=Array.isArray(t)?t:[t];return r(e,o)},Zs=Ys;var tr={};m(tr,{default:()=>ei});var Xs=e=>Math.min(...e.map(Number)),ei=Xs;var rr={};m(rr,{default:()=>ri});var ti=([e])=>Array.isArray(e)?[...e].reverse():null,ri=ti;var or={};m(or,{default:()=>ni});var oi=(e,t)=>t.env.branchName,ni=oi;var nr={};m(nr,{default:()=>si});var ai=([e,t])=>e>=t,si=ai;var ar={};m(ar,{default:()=>li});var ii=([e])=>Array.isArray(e)?e.length:_(e)?Object.keys(e).length:typeof e=="string"?e.length:null,li=ii;var sr={};m(sr,{default:()=>ci,getArgumentInputData:()=>di});var ui=([e,t,r])=>typeof t!="function"?null:Array.isArray(e)?e.reduce((o,n,a)=>t({result:o,item:n,index:a}),r):e&&typeof e=="object"?Object.entries(e).reduce((o,[n,a])=>t({result:o,key:n,value:a}),r):null,ci=ui,di=([e,t,r],o,n)=>{if(o!==1)return n;if(Array.isArray(e))return{...n,Args:{item:e[0],index:0,result:r}};if(e&&typeof e=="object"){let[a]=Object.entries(e);if(a)return{...n,Args:{key:a[0],value:a[1],result:r}}}return n};var ir={};m(ir,{default:()=>pi});var ao=([e,t,r],o)=>{if(typeof t!="string"&&typeof t!="number"&&!Array.isArray(t))return null;let[n,...a]=Array.isArray(t)?t:[t];if(_(e)){let s=Array.isArray(e)?[...e]:{...e};return s[n]=a.length===0?r:ao([s[n],a,r],o),s}return null},pi=ao;var lr={};m(lr,{default:()=>fi,getArgumentInputData:()=>mi,handler:()=>so});var so=([e,t])=>typeof t!="function"?null:Array.isArray(e)?e.some((r,o)=>t({item:r,index:o})):e&&typeof e=="object"?Object.entries(e).some(([r,o])=>t({key:r,value:o})):null,fi=so,mi=([e],t,r)=>{if(t===0)return r;if(Array.isArray(e))return{...r,Args:{item:e[0],index:0}};if(e&&typeof e=="object"){let[o]=Object.entries(e);if(o)return{...r,Args:{key:o[0],value:o[1]}}}return r};var ur={};m(ur,{default:()=>hi});var gi=([e])=>typeof e=="object"&&e!==null?Object.entries(e).map(([t,r])=>({key:t,value:r})):null,hi=gi;var cr={};m(cr,{default:()=>bi});var yi=([e])=>Array.isArray(e)?e.flat():null,bi=yi;var dr={};m(dr,{default:()=>Si});var vi=([e,t])=>typeof t!="number"||isNaN(t)?null:Array.isArray(e)?e.slice(t):typeof e=="string"?e.substring(t):null,Si=vi;var pr={};m(pr,{default:()=>Ci});var Ai=([e,t])=>isNaN(Number(e))||isNaN(Number(t))?null:Number(e)/Number(t),Ci=Ai;var fr={};m(fr,{default:()=>Ei,getArgumentInputData:()=>wi,handler:()=>io});var io=([e,t])=>typeof t!="function"?null:Array.isArray(e)?e.find((r,o)=>t({item:r,index:o})):e&&typeof e=="object"?Object.entries(e).find(([r,o])=>t({key:r,value:o}))?.[1]:null,Ei=io,wi=([e],t,r)=>{if(t===0)return r;if(Array.isArray(e))return{...r,Args:{item:e[0],index:0}};if(e&&typeof e=="object"){let[o]=Object.entries(e);if(o)return{...r,Args:{key:o[0],value:o[1]}}}return r};var mr={};m(mr,{default:()=>Fi,getArgumentInputData:()=>ji,handler:()=>lo});var lo=([e,t])=>typeof t!="function"?null:Array.isArray(e)?e.filter((r,o)=>t({item:r,index:o})):e&&typeof e=="object"?Object.fromEntries(Object.entries(e).filter(([r,o])=>t({key:r,value:o}))):Array.isArray(e)?e.filter((r,o)=>t({item:r,index:o})):null,Fi=lo,ji=([e],t,r)=>{if(t===0)return r;if(Array.isArray(e))return{...r,Args:{item:e[0],index:0}};if(e&&typeof e=="object"){let[o]=Object.entries(e);if(o)return{...r,Args:{value:o[1],key:o[0]}}}return r};var gr={};m(gr,{default:()=>Oi});var Ri=([e])=>{if(typeof e!="string"||e.length===0||typeof window>"u")return null;let t=window.localStorage.getItem(e);if(t===null)return t;try{return JSON.parse(t)}catch{return t}},Oi=Ri;var hr={};m(hr,{default:()=>ki});var Di=([e])=>Number(e),ki=Di;var yr={};m(yr,{default:()=>Ti});var Ni=([e])=>Array.isArray(e)?uo(e):typeof e=="string"?uo(e.split("")).join(""):null;function uo(e){let t=[...e];for(let r=t.length-1;r>0;r--){let o=Math.floor(Math.random()*(r+1));[t[r],t[o]]=[t[o],t[r]]}return t}var Ti=Ni;var br={};m(br,{default:()=>$i});var xi=e=>!Array.isArray(e)||e.some(t=>t===null||typeof t!="number")?null:e.reduce((t,r)=>t+Number(r),0),$i=xi;var vr={};m(vr,{default:()=>Li});var Pi=e=>{for(let t of e)if(x(t))return t;return null},Li=Pi;var Sr={};m(Sr,{default:()=>Mi});var Ii=([e,t])=>{if(typeof e!="number"||typeof t!="number")return null;let r=Math.max(1,Math.pow(10,t));return Math.ceil(e*r)/r},Mi=Ii;var Ar={};m(Ar,{default:()=>Bi});var qi=([e,t])=>{if(typeof e=="string")return e.lastIndexOf(t);if(Array.isArray(e)){let r=e.lastIndexOf(t);return r!==-1?r:e.findLastIndex(o=>globalThis.toddle.isEqual(o,t))}return null},Bi=qi;var Cr={};m(Cr,{default:()=>Ui});var _i=([e])=>!e||!(e instanceof Date)?null:e.getTime(),Ui=_i;var Er={};m(Er,{default:()=>Vi});var Hi=([e],{env:t,root:r})=>!e||typeof e!="string"?null:t.isServer?t.request.cookies[e]??null:r instanceof ShadowRoot?null:r.cookie.split("; ")?.find(o=>o.startsWith(`${e}=`))?.split("=")[1]??null,Vi=Hi;var wr={};m(wr,{default:()=>Wi});var Ki=([e,t])=>{if(typeof e=="string")return e.indexOf(t);if(Array.isArray(e)){let r=e.indexOf(t);return r!==-1?r:e.findIndex(o=>globalThis.toddle.isEqual(o,t))}return null},Wi=Ki;var Fr={};m(Fr,{default:()=>Gi});var Ji=(e,{env:t})=>t.isServer?t.request.url:window?.location.href??null,Gi=Ji;var jr={};m(jr,{default:()=>Qi});var zi=([e,t,r])=>typeof e!="string"||typeof t!="string"?null:e.replaceAll(t,String(r)),Qi=zi;var Rr={};m(Rr,{default:()=>Zi});var Yi=([e],{root:t})=>typeof e!="string"?null:t.getElementById(e),Zi=Yi;var Or={};m(Or,{default:()=>el});var Xi=(e,{env:t})=>t.isServer?t.request?.headers["user-agent"]??null:window.navigator.userAgent,el=Xi;var Dr={};m(Dr,{default:()=>rl});var tl=([e,t])=>typeof e!="string"||typeof t!="string"?null:e.startsWith(t),rl=tl;var kr={};m(kr,{default:()=>al});var co=(e,t)=>`{{ ${ol[e]}.${t} }}`,ol={cookies:"cookies"};var nl=([e])=>!e||typeof e!="string"?null:co("cookies",e),al=nl;var Nr={};m(Nr,{default:()=>il});var sl=e=>e.some(t=>isNaN(Number(t)))?null:e.reduce((t,r)=>t*r,1),il=sl;var Tr={};m(Tr,{default:()=>ll,getArgumentInputData:()=>ul,handler:()=>po});var po=([e,t])=>typeof t!="function"?null:Array.isArray(e)?e.findIndex((r,o)=>t({item:r,index:o})):e&&typeof e=="object"?Object.entries(e).findIndex(([r,o])=>t({key:r,value:o})):null,ll=po,ul=([e],t,r)=>{if(t===0)return r;if(Array.isArray(e))return{...r,Args:{item:e[0],index:0}};if(e&&typeof e=="object"){let[o]=Object.entries(e);if(o)return{...r,Args:{key:o[0],value:o[1]}}}return r};var xr={};m(xr,{default:()=>dl});var cl=([e,t])=>typeof e!="number"||typeof t!="number"?null:e>t?[]:Array.from({length:t-e+1},(r,o)=>o+e),dl=cl;var $r={};m($r,{default:()=>fl});var pl=([e])=>typeof e!="string"?null:e.trim(),fl=pl;var Pr={};m(Pr,{default:()=>gl});var ml=([e])=>!x(e),gl=ml;var Lr={};m(Lr,{default:()=>yl});var hl=([e,t,r])=>{if(typeof e!="number"||Number.isNaN(e))return null;let o=typeof t=="string"&&t.length>0||Array.isArray(t)&&t.every(O=>typeof O=="string")?t:void 0;if(!r||typeof r!="object")return Intl.NumberFormat(o).format(e);let n=(O,T)=>typeof O=="string"&&(T?.includes(O)??!0)?O:void 0,a=r,s=n(a.style,["decimal","currency","percent","unit"]),l=typeof a.currency=="string"&&a.currency.length===3?a.currency:void 0;if(s==="currency"&&typeof l!="string")return null;let i=n(a.currencyDisplay,["code","symbol","narrowSymbol","name"]),c=typeof a.unit=="string"?a.unit:void 0;if(s==="unit"&&typeof c!="string")return null;let f=n(a.unitDisplay,["short","narrow","long"]),u=typeof a.minimumIntegerDigits=="number"&&a.minimumIntegerDigits>=1&&a.minimumIntegerDigits<=21?a.minimumIntegerDigits:void 0,d=typeof a.minimumFractionDigits=="number"&&a.minimumFractionDigits>=0&&a.minimumFractionDigits<=100?a.minimumFractionDigits:void 0,g=typeof a.maximumFractionDigits=="number"&&a.maximumFractionDigits>=0&&a.maximumFractionDigits<=100?a.maximumFractionDigits:void 0,A=typeof a.minimumSignificantDigits=="number"&&a.minimumSignificantDigits>=1&&a.minimumSignificantDigits<=21?a.minimumSignificantDigits:void 0,C=typeof a.maximumSignificantDigits=="number"&&a.maximumSignificantDigits>=1&&a.maximumSignificantDigits<=21?a.maximumSignificantDigits:void 0,j=n(a.notation,["standard","scientific","engineering","compact"]),S=n(a.compactDisplay,["short","long"]),R=["always","auto","min2"],D=typeof a.useGrouping=="boolean"?a.useGrouping:n(a.useGrouping,R);return new Intl.NumberFormat(o,{style:s,currency:l,currencyDisplay:i,unit:c,unitDisplay:f,minimumIntegerDigits:u,minimumFractionDigits:d,maximumFractionDigits:g,minimumSignificantDigits:A,maximumSignificantDigits:C,notation:j,compactDisplay:S,useGrouping:D}).format(e)},yl=hl;var Ir={};m(Ir,{default:()=>vl});var bl=([e,t])=>!globalThis.toddle.isEqual(e,t),vl=bl;var Mr={};m(Mr,{default:()=>Sl,getArgumentInputData:()=>Al,handler:()=>fo});var fo=([e,t])=>{if(typeof t!="function"||!e||typeof e!="object")return null;let r=Array.isArray(e)?e:Object.entries(e),o={};for(let n=0;n<r.length;n++){let a=r[n],s=String(t({item:a,i:n}));o[s]=a}return o},Sl=fo,Al=([e],t,r)=>{if(t===0)return r;if(Array.isArray(e))return{...r,Args:{item:e[0],index:0}};if(e&&typeof e=="object"){let[o]=Object.entries(e);if(o)return{...r,Args:{value:o[1],key:o[0]}}}return r};var qr={};m(qr,{default:()=>El});var Cl=([e])=>typeof e!="string"?null:atob(e),El=Cl;var Br={};m(Br,{default:()=>Fl});var wl=([e,t])=>typeof e!="string"||typeof t!="string"?null:e.split(t),Fl=wl;var Qo=le(oe(),1);var go=e=>{let t=e.toLocaleLowerCase().replaceAll(" ","");return t.includes("-")?t:`toddle-${t}`};function K(e){return e&&typeof e=="object"&&typeof e.type=="string"&&["path","function","record","object","array","or","and","apply","value","switch"].includes(e.type)}var Ur=e=>Object.hasOwn(e,"formula")&&F(e.formula);function b(e,t){if(!K(e))return e;try{switch(e.type){case"value":return e.value;case"path":{let r=t.data;for(let o of e.path)if(r&&typeof r=="object")r=r[o];else return null;return r}case"switch":{for(let r of e.cases)if(x(b(r.condition,t)))return b(r.formula,t);return b(e.default,t)}case"or":{for(let r of e.arguments)if(x(b(r.formula,t)))return!0;return!1}case"and":{for(let r of e.arguments)if(!x(b(r.formula,t)))return!1;return!0}case"function":{let r=e.package??t.package??void 0,o=(t.toddle??globalThis.toddle)?.getCustomFormula(e.name,r);if(F(o)){t.package=r;let n=e.arguments.reduce((a,s,l)=>({...a,[s.name??`${l}`]:s.isFunction?i=>b(s.formula,{...t,data:{...t.data,Args:t.data.Args?{...i,"@toddle.parent":t.data.Args}:i}}):b(s.formula,t)}),{});try{return Ur(o)?b(o.formula,{...t,data:{...t.data,Args:n}}):o.handler(n,{root:t.root??document,env:t.env})}catch(a){return t.toddle.errors.push(a),t.env?.logErrors&&console.error(a),null}}else{let n=(t.toddle??globalThis.toddle).getFormula(e.name);if(typeof n=="function"){let a=(e.arguments??[]).map(s=>s.isFunction?l=>b(s.formula,{...t,data:{...t.data,Args:t.data.Args?{...l,"@toddle.parent":t.data.Args}:l}}):b(s.formula,t));try{return n(a,t)}catch(s){return t.toddle.errors.push(s),t.env?.logErrors&&console.error(s),null}}}return t.env?.logErrors&&console.error(`Could not find formula ${e.name} in package ${r??""}`,e),null}case"object":return Object.fromEntries(e.arguments?.map(r=>[r.name,b(r.formula,t)])??[]);case"record":return Object.fromEntries(e.entries.map(r=>[r.name,b(r.formula,t)]));case"array":return e.arguments.map(r=>b(r.formula,t));case"apply":{let r=t.component?.formulas?.[e.name];if(!r)return t.env?.logErrors&&console.log("Component does not have a formula with the name ",e.name),null;let o=Object.fromEntries(e.arguments.map(s=>s.isFunction?[s.name,l=>b(s.formula,{...t,data:{...t.data,Args:t.data.Args?{...l,"@toddle.parent":t.data.Args}:l}})]:[s.name,b(s.formula,t)])),n={...t.data,Args:t.data.Args?{...o,"@toddle.parent":t.data.Args}:o},a=t.formulaCache?.[e.name]?.get(n);if(a?.hit)return a.data;{let s=b(r.formula,{...t,data:n});return t.formulaCache?.[e.name]?.set(n,s),s}}default:t.env?.logErrors&&console.error("Could not recognize formula",e)}}catch(r){return t.env?.logErrors&&console.error(r),null}}var M=(e,t)=>Object.fromEntries(Object.entries(e).map(t)),ne=(e,t)=>M(e,([r,o])=>[r,t(o)]),ho=(e,[t,...r])=>{if(r.length>0){let n=Array.isArray(e)?[...e]:{...e};return F(t)&&(n[t]=ho(n[t],r)),n}if(Array.isArray(e))return e.toSpliced(Number(t),1);let o={...e};return F(t)&&delete o[t],o},W=(e,t)=>Object.fromEntries(Object.entries(e).filter(([r])=>!t.includes(r))),yo=(e,t)=>t.reduce((r,o)=>ho(r,o),{...e});function ue(e,[t,...r]){let o=F(t)?e?.[t]:void 0;return r.length===0?o:ue(o,r)}var ce=(e,t,r=!0)=>jl(Object.entries(e),t,r),jl=(e,t,r=!0)=>[...e].sort((o,n)=>{let a=t(o),s=t(n);return a===s?0:(a>s?1:-1)*(r?1:-1)});var bo=(e,t=0)=>{let r=3735928559^t,o=1103547991^t;for(let n=0,a;n<e.length;n++)a=e.charCodeAt(n),r=Math.imul(r^a,2654435761),o=Math.imul(o^a,1597334677);return r=Math.imul(r^r>>>16,2246822507),r^=Math.imul(o^o>>>13,3266489909),o=Math.imul(o^o>>>16,2246822507),o^=Math.imul(r^r>>>13,3266489909),4294967296*(2097151&o)+(r>>>0)};var U;(function(e){e.GET="GET",e.POST="POST",e.DELETE="DELETE",e.PUT="PUT",e.PATCH="PATCH",e.HEAD="HEAD",e.OPTIONS="OPTIONS"})(U||(U={}));var de=e=>typeof e!="string"?!1:/^application\/(json|.*\+json)/.test(e),vo=e=>typeof e!="string"?!1:/^(text\/|application\/x-www-form-urlencoded|application\/(xml|.*\+xml))/.test(e),So=e=>typeof e!="string"?!1:/^text\/event-stream/.test(e),Ao=e=>typeof e!="string"?!1:/^(application\/stream\+json|application\/x-ndjson)/.test(e),Co=e=>typeof e!="string"?!1:/^image\//.test(e),z=e=>{let t={};for(let[r,o]of e.entries())t[r]?t[r]+=`, ${o}`:t[r]=o;return t};function*N({formula:e,globalFormulas:t,path:r,visitedFormulas:o,packageName:n}){if(!F(e))return;let a=r??[],s=n??void 0,l=o??new Set;switch(yield{path:a,formula:e,packageName:s},e.type){case"path":case"value":break;case"record":for(let[i,c]of e.entries.entries())yield*N({formula:c.formula,globalFormulas:t,path:[...a,"entries",i,"formula"],visitedFormulas:l,packageName:s});break;case"function":{s=e.package??s;let i=[s,e.name].filter(F).join("/"),c=!l.has(i);l.add(i);let f=s?t.packages?.[s]?.formulas?.[e.name]:t.formulas?.[e.name];for(let[u,d]of(e.arguments??[]).entries())yield*N({formula:d.formula,globalFormulas:t,path:[...a,"arguments",u,"formula"],visitedFormulas:l,packageName:s});f&&Ur(f)&&c&&(yield*N({formula:f.formula,globalFormulas:t,path:s?["packages",s,"formulas",e.name]:["formulas",e.name],visitedFormulas:l,packageName:s}));break}case"array":case"or":case"and":case"object":for(let[i,c]of(e.arguments??[]).entries())yield*N({formula:c.formula,globalFormulas:t,path:[...a,"arguments",i,"formula"],visitedFormulas:l,packageName:s});break;case"apply":for(let[i,c]of(e.arguments??[]).entries())yield*N({formula:c.formula,globalFormulas:t,path:[...a,"arguments",i,"formula"],visitedFormulas:l,packageName:s});break;case"switch":for(let[i,c]of e.cases.entries())yield*N({formula:c.condition,globalFormulas:t,path:[...a,"cases",i,"condition"],visitedFormulas:l,packageName:s}),yield*N({formula:c.formula,globalFormulas:t,path:[...a,"cases",i,"formula"],visitedFormulas:l,packageName:s});yield*N({formula:e.default,globalFormulas:t,path:[...a,"default"],visitedFormulas:l,packageName:s});break}}function*B({action:e,globalFormulas:t,path:r,visitedFormulas:o=new Set,packageName:n}){if(!F(e))return;let a=r??[],s=n??void 0;switch(e.type){case"Fetch":for(let[l,i]of Object.entries(e.inputs??{}))yield*N({formula:i.formula,globalFormulas:t,path:[...a,"input",l,"formula"],visitedFormulas:o,packageName:s});for(let[l,i]of Object.entries(e.onSuccess?.actions??{}))yield*B({action:i,globalFormulas:t,path:[...a,"onSuccess","actions",l],visitedFormulas:o,packageName:s});for(let[l,i]of Object.entries(e.onError?.actions??{}))yield*B({action:i,globalFormulas:t,path:[...a,"onError","actions",l],visitedFormulas:o,packageName:s});for(let[l,i]of Object.entries(e.onMessage?.actions??{}))yield*B({action:i,globalFormulas:t,path:[...a,"onMessage","actions",l],visitedFormulas:o,packageName:s});break;case"Custom":case void 0:case null:s=e.package??s,K(e.data)&&(yield*N({formula:e.data,globalFormulas:t,path:[...a,"data"],visitedFormulas:o,packageName:s}));for(let[l,i]of Object.entries(e.arguments??{}))i&&(yield*N({formula:i.formula,globalFormulas:t,path:[...a,"arguments",l,"formula"],visitedFormulas:o,packageName:s}));for(let[l,i]of Object.entries(e.events??{}))for(let[c,f]of Object.entries(i.actions??{}))yield*B({action:f,globalFormulas:t,path:[...a,"events",l,"actions",c],visitedFormulas:o,packageName:s});break;case"SetVariable":case"TriggerEvent":case"TriggerWorkflowCallback":yield*N({formula:e.data,globalFormulas:t,path:[...a,"data"],visitedFormulas:o,packageName:s});break;case"SetURLParameter":yield*N({formula:e.data,globalFormulas:t,path:[...a,"data"],visitedFormulas:o});break;case"SetURLParameters":for(let[l,i]of Object.entries(e.parameters??{}))yield*N({formula:i,globalFormulas:t,path:[...a,"parameters",l],visitedFormulas:o});break;case"TriggerWorkflow":for(let[l,i]of Object.entries(e.parameters??{}))F(i.formula)&&(yield*N({formula:i.formula,globalFormulas:t,path:[...a,"parameters",l,"formula"],visitedFormulas:o,packageName:s}));break;case"Switch":F(e.data)&&K(e.data)&&(yield*N({formula:e.data,globalFormulas:t,path:[...a,"data"],visitedFormulas:o,packageName:s}));for(let[l,i]of e.cases.entries()){yield*N({formula:i.condition,globalFormulas:t,path:[...a,"cases",l,"condition"],visitedFormulas:o,packageName:s});for(let[c,f]of Object.entries(i.actions))yield*B({action:f,globalFormulas:t,path:[...a,"cases",l,"actions",c],visitedFormulas:o,packageName:s})}for(let[l,i]of Object.entries(e.default.actions))yield*B({action:i,globalFormulas:t,path:[...a,"default","actions",l],visitedFormulas:o,packageName:s});break}}var ae=class{api;key;globalFormulas;_apiReferences;constructor(t,r,o){this.api=t,this.key=r,this.globalFormulas=o}get apiReferences(){if(this._apiReferences)return this._apiReferences;let t=new Set,r=o=>{if(F(o))switch(o.type){case"path":if(o.path[0]==="Apis"){let n=o.path[1];typeof n=="string"&&t.add(n)}break;case"value":break;case"record":o.entries.forEach(n=>r(n.formula));break;case"function":case"array":case"or":case"and":case"apply":case"object":o.arguments?.forEach(n=>r(n.formula));break;case"switch":o.cases.forEach(n=>{r(n.condition),r(n.formula)});break}};return r(this.api.autoFetch),r(this.api.url),Object.values(this.api.path??{}).forEach(o=>r(o.formula)),Object.values(this.api.queryParams??{}).forEach(o=>r(o.formula)),K(this.api.headers)?r(this.api.headers):Object.values(this.api.headers??{}).forEach(o=>{r(o)}),r(this.api.body),this._apiReferences=t,t}get name(){return this.api.name}get type(){return this.api.type}get autoFetch(){return this.api.autoFetch}get url(){return this.api.url}get path(){return this.api.path}get proxy(){return this.api.proxy}get queryParams(){return this.api.queryParams}get headers(){return this.api.headers}get method(){return this.api.method}get body(){return this.api.body}get auth(){return this.api.auth}get throttle(){return this.api.throttle}get debounce(){return this.api.debounce}get onCompleted(){return this.api.onCompleted}get onFailed(){return this.api.onFailed}*formulasInApi(){let t=this.api,r=this.key;yield*N({formula:t.autoFetch,globalFormulas:this.globalFormulas,path:["apis",r,"autoFetch"]}),yield*N({formula:t.url,globalFormulas:this.globalFormulas,path:["apis",r,"url"]});for(let[o,n]of Object.entries(t.path??{}))yield*N({formula:n.formula,globalFormulas:this.globalFormulas,path:["apis",r,"path",o,"formula"]});for(let[o,n]of Object.entries(t.queryParams??{}))yield*N({formula:n.formula,globalFormulas:this.globalFormulas,path:["apis",r,"queryParams",o,"formula"]});if(K(t.headers))yield*N({formula:t.headers,globalFormulas:this.globalFormulas,path:["apis",r,"headers"]});else for(let[o,n]of Object.entries(t.headers??{}))yield*N({formula:n,globalFormulas:this.globalFormulas,path:["apis",r,"headers",o]});yield*N({formula:t.body,globalFormulas:this.globalFormulas,path:["apis",r,"body"]});for(let[o,n]of Object.entries(t.onCompleted?.actions??{}))yield*B({action:n,globalFormulas:this.globalFormulas,path:["apis",r,"onCompleted","actions",o]});for(let[o,n]of Object.entries(t.onFailed?.actions??{}))yield*B({action:n,globalFormulas:this.globalFormulas,path:["apis",r,"onFailed","actions",o]})}};function*H(e,t=[]){if(F(e))switch(yield[t,e],e.type){case"SetVariable":case"SetURLParameter":case"SetURLParameters":case"TriggerEvent":case"TriggerWorkflow":case"TriggerWorkflowCallback":break;case"Fetch":for(let[r,o]of Object.entries(e.onSuccess?.actions??{}))yield*H(o,[...t,"onSuccess","actions",r]);for(let[r,o]of Object.entries(e.onError?.actions??{}))yield*H(o,[...t,"onError","actions",r]);for(let[r,o]of Object.entries(e.onMessage?.actions??{}))yield*H(o,[...t,"onMessage","actions",r]);break;case"Custom":case void 0:case null:for(let[r,o]of Object.entries(e.events??{}))for(let[n,a]of Object.entries(o?.actions??{}))yield*H(a,[...t,"events",r,"actions",n]);break;case"Switch":for(let[r,o]of e.cases.entries())for(let[n,a]of Object.entries(o?.actions??{}))yield*H(a,[...t,"cases",r,"actions",n]);for(let[r,o]of Object.entries(e.default.actions))yield*H(o,[...t,"default","actions",r]);break}}var pe=class{api;_apiReferences;key;globalFormulas;constructor(t,r,o){this.api=t,this.key=r,this.globalFormulas=o}get apiReferences(){if(this._apiReferences)return this._apiReferences;let t=new Set,r=o=>{if(F(o))switch(o.type){case"path":if(o.path[0]==="Apis"){let n=o.path[1];typeof n=="string"&&t.add(n)}break;case"value":break;case"record":o.entries.forEach(n=>r(n.formula));break;case"function":case"array":case"or":case"and":case"apply":case"object":o.arguments?.forEach(n=>r(n.formula));break;case"switch":o.cases.forEach(n=>{r(n.condition),r(n.formula)});break}};return r(this.api.autoFetch),r(this.api.url),Object.values(this.api.path??{}).forEach(o=>r(o.formula)),Object.values(this.api.headers??{}).forEach(o=>r(o.formula)),r(this.api.body),Object.values(this.api.inputs).forEach(o=>r(o.formula)),Object.values(this.api.queryParams??{}).forEach(o=>{r(o.formula)}),r(this.api.server?.proxy?.enabled?.formula),r(this.api.server?.ssr?.enabled?.formula),r(this.api.client?.debounce?.formula),Object.values(this.api.redirectRules??{}).forEach(o=>{r(o.formula)}),r(this.api.isError?.formula),r(this.api.timeout?.formula),t.delete(this.key),this._apiReferences=t,t}get version(){return this.api.version}get name(){return this.api.name}get type(){return this.api.type}get autoFetch(){return this.api.autoFetch}get url(){return this.api.url}get path(){return this.api.path}get headers(){return this.api.headers}set headers(t){this.api.headers=t}get method(){return this.api.method}get body(){return this.api.body}get inputs(){return this.api.inputs}get queryParams(){return this.api.queryParams}get server(){return this.api.server}get client(){return this.api.client}get redirectRules(){return this.api.redirectRules}get isError(){return this.api.isError}get timeout(){return this.api.timeout}get"@nordcraft/metadata"(){return this.api["@nordcraft/metadata"]}*formulasInApi(){let t=this.api,r=this.key;for(let[o,n]of Object.entries(this.api.inputs))yield*N({formula:n.formula,globalFormulas:this.globalFormulas,path:["apis",r,"inputs",o,"formula"]});yield*N({formula:t.autoFetch,globalFormulas:this.globalFormulas,path:["apis",r,"autoFetch"]}),yield*N({formula:t.url,globalFormulas:this.globalFormulas,path:["apis",r,"url"]});for(let[o,n]of Object.entries(t.path??{}))yield*N({formula:n.formula,globalFormulas:this.globalFormulas,path:["apis",r,"path",o,"formula"]});for(let[o,n]of Object.entries(t.queryParams??{}))yield*N({formula:n.formula,globalFormulas:this.globalFormulas,path:["apis",r,"queryParams",o,"formula"]}),yield*N({formula:n.enabled,globalFormulas:this.globalFormulas,path:["apis",r,"queryParams",o,"enabled"]});for(let[o,n]of Object.entries(t.headers??{}))yield*N({formula:n.formula,globalFormulas:this.globalFormulas,path:["apis",r,"headers",o,"formula"]}),yield*N({formula:n.enabled,globalFormulas:this.globalFormulas,path:["apis",r,"headers",o,"enabled"]});t.method&&Hr.includes(t.method)&&(yield*N({formula:t.body,globalFormulas:this.globalFormulas,path:["apis",r,"body"]}));for(let[o,n]of Object.entries(t.client?.onCompleted?.actions??{}))yield*B({action:n,globalFormulas:this.globalFormulas,path:["apis",r,"client","onCompleted","actions",o]});for(let[o,n]of Object.entries(t.client?.onFailed?.actions??{}))yield*B({action:n,globalFormulas:this.globalFormulas,path:["apis",r,"client","onFailed","actions",o]});yield*N({formula:t.client?.debounce?.formula,globalFormulas:this.globalFormulas,path:["apis",r,"client","debounce","formula"]});for(let[o,n]of Object.entries(t.client?.onMessage?.actions??{}))yield*B({action:n,globalFormulas:this.globalFormulas,path:["apis",r,"client","onMessage","actions",o]});for(let[o,n]of Object.entries(t.redirectRules??{}))yield*N({formula:n.formula,globalFormulas:this.globalFormulas,path:["apis",r,"redirectRules",o,"formula"]});yield*N({formula:t.isError?.formula,globalFormulas:this.globalFormulas,path:["apis",r,"isError","formula"]}),yield*N({formula:t.timeout?.formula,globalFormulas:this.globalFormulas,path:["apis",r,"timeout","formula"]}),yield*N({formula:t.server?.proxy?.enabled.formula,globalFormulas:this.globalFormulas,path:["apis",r,"server","proxy","enabled","formula"]}),yield*N({formula:t.server?.proxy?.useTemplatesInBody?.formula,globalFormulas:this.globalFormulas,path:["apis",r,"server","proxy","useTemplatesInBody","formula"]}),yield*N({formula:t.server?.ssr?.enabled?.formula,globalFormulas:this.globalFormulas,path:["apis",r,"server","ssr","enabled","formula"]})}*actionModelsInApi(){for(let[t,r]of Object.entries(this.api.client?.onCompleted?.actions??{}))yield*H(r,["apis",this.key,"client","onCompleted","actions",t]);for(let[t,r]of Object.entries(this.api.client?.onFailed?.actions??{}))yield*H(r,["apis",this.key,"client","onFailed","actions",t]);for(let[t,r]of Object.entries(this.api.client?.onMessage?.actions??{}))yield*H(r,["apis",this.key,"client","onData","actions",t])}};var fe=e=>e instanceof ae?!0:!("version"in e),Eo=({api:e,formulaContext:t,baseUrl:r,defaultHeaders:o})=>{let n=Rl(e,t,r),a=Dl({api:e,formulaContext:t,defaultHeaders:o});return{url:n,requestSettings:a}},Rl=(e,t,r)=>{let o="",n=new URLSearchParams,a,s=b(e.url,t);if(["string","number"].includes(typeof s)){let g=typeof s=="number"?String(s):s;try{a=new URL(g,r??void 0),o=a.pathname,n=a.searchParams}catch{}}let l=kl(e.path,t),i=`${o}${l.length>0&&!o.endsWith("/")?"/":""}${l}`,c=new URLSearchParams([...n,...Nl(e.queryParams,t)]),f=[...c.entries()].length>0?`?${c.toString()}`:"",u=b(e.hash?.formula,t),d=typeof u=="string"&&u.length>0?`#${u}`:"";if(a){let g=new URL(a.origin,r??void 0);return g.pathname=i,g.search=c.toString(),g.hash=d,g}else return new URL(`${i}${f}${d}`,r??void 0)},Hr=[U.POST,U.DELETE,U.PUT,U.PATCH,U.OPTIONS],Ol=(e,t,r)=>{if(e.timeout){let o=b(e.timeout.formula,r);typeof o=="number"&&!Number.isNaN(o)&&o>0&&(t.signal=AbortSignal.timeout(o))}},Dl=({api:e,formulaContext:t,defaultHeaders:r})=>{let o=Object.values(U).includes(e.method)?e.method:U.GET,n=Tl({apiHeaders:e.headers,formulaContext:t,defaultHeaders:r}),a=xl({api:e,formulaContext:t,headers:n,method:o});n.get("content-type")==="multipart/form-data"&&n.delete("content-type");let s={method:o,headers:n,body:a};return Ol(e,s,t),s},kl=(e,t)=>ce(e??{},([r,o])=>o.index).map(([r,o])=>b(o.formula,t)).join("/"),Nl=(e,t)=>{let r=new URLSearchParams;return Object.entries(e??{}).forEach(([o,n])=>{if(!(F(n.enabled)?b(n.enabled,t):!0))return;let s=b(n.formula,t);if(F(s))if(Array.isArray(s))s.forEach(l=>r.append(o,String(l)));else if(_(s)){let l=(i,c)=>{Object.entries(i).forEach(([f,u])=>{if(!Array.isArray(u)&&_(u))return l(u,`${c}[${f}]`);r.set(`${c}[${f}]`,String(u))})};l(s,o)}else r.set(o,String(s))}),r},Tl=({apiHeaders:e,formulaContext:t,defaultHeaders:r})=>{let o=new Headers(r);return Object.entries(e??{}).forEach(([n,a])=>{if(F(a.enabled)?b(a.enabled,t):!0){let l=b(a.formula,t);if(F(l))try{o.set(n.trim(),(typeof l=="string"?l:String(l)).trim())}catch{}}}),o};var wo=(e,t)=>bo(JSON.stringify({url:e.href,method:t.method,headers:W(Object.fromEntries(Object.entries(t.headers??{})),["host","cookie"]),body:t.body??null})),Fo=({apiName:e,response:t,formulaContext:r,errorFormula:o,performance:n})=>{let a=o?b(o.formula,{component:r.component,package:r.package,toddle:r.toddle,data:{Attributes:{},Args:r.data.Args,Apis:{[e]:{isLoading:!1,data:t.body,error:null,response:{status:t.status,headers:t.headers,performance:n}}}},env:r.env}):null;return a==null?!t.ok:x(a)},xl=({api:e,formulaContext:t,headers:r,method:o})=>{if(!e.body||!Hr.includes(o))return;let n=b(e.body,t);if(!n)return;let a=r.get("content-type");if(!F(a)||de(a))return JSON.stringify(n);switch(a){case"application/x-www-form-urlencoded":return typeof n=="object"&&n!==null?Object.entries(n).map(([s,l])=>Array.isArray(l)?l.map(i=>`${encodeURIComponent(s)}=${encodeURIComponent(i)}`).join("&"):`${encodeURIComponent(s)}=${encodeURIComponent(String(l))}`).join("&"):"";case"multipart/form-data":{let s=new FormData;return typeof n=="object"&&n!==null&&Object.entries(n).forEach(([l,i])=>{s.set(l,i)}),s}case"text/plain":return String(n);default:return n}},me=(e,t)=>new CustomEvent(e,{detail:t}),$l=(e,t)=>{let r=e.apiReferences.has(t.name),o=t.apiReferences.has(e.name);return r===o?0:r?1:-1},ge=e=>{let t=new Map,r=(o,n)=>{let a=t.get(n);return a||(a=o.version===2?new pe(o,n,{formulas:{},packages:{}}):new ae(o,n,{formulas:{},packages:{}}),t.set(n,a)),a};return[...e].sort(([o,n],[a,s])=>{let l=r(n,o),i=r(s,a);return $l(l,i)})};var Pl=(e,t)=>{let r=t.length;for(;r;)e=e*33^t.charCodeAt(--r);return e},Ro=e=>Pl(5381,e),Ll=/(a)(d)/gi;var jo=e=>String.fromCharCode(e+(e>25?39:97));function Oo(e){let t="",r;for(r=Math.abs(e);r>52;r=r/52|0)t=jo(r%52)+t;return(jo(r%52)+t).replace(Ll,"$1-$2")}var he=e=>Oo(Ro(JSON.stringify(e))),ye=(e,t=!1)=>{let r=e.trim().replace(/\s+/g,"-");return t&&(r=r.replace(/[^a-zA-Z0-9-_]/g,o=>`\\${o}`)),/^[^a-zA-Z]/.test(r)&&(r=`_${r}`),r};function Il(e){switch(e.type){case"primitive":return e.name==="*"?e.name:`<${e.name}>`;case"custom":return{"font-family":"<custom-ident> | <string>"}[e.name];case"keyword":return e.keywords.join(" | ");default:throw new Error(`Unknown syntax node type: ${e.type}`)}}function Do(e,{syntax:t,inherits:r,initialValue:o},n){let a=o;return o?.includes("var(--")&&(a=ko(o,n)),!F(a)&&(t.type==="primitive"||t.type==="custom")&&(a=Ml[t.name]),`@property ${e} {
|
|
73
|
-
syntax: "${
|
|
72
|
+
}`,oo={colors:{grey:{order:0,variants:{50:{order:0,value:"#FAFAFA"},100:{order:1,value:"#F5F5F5"},200:{order:2,value:"#E5E5E5"},300:{order:3,value:"#D4D4D4"},400:{order:4,value:"#A3A3A3"},500:{order:5,value:"#737373"},600:{order:6,value:"#525252"},700:{order:7,value:"#404040"},800:{order:8,value:"#262626"},900:{order:9,value:"#171717"}}},red:{order:1,variants:{50:{order:0,value:"#FEF2F2"},100:{order:1,value:"#FEE2E2"},200:{order:2,value:"#FECACA"},300:{order:3,value:"#FCA5A5"},400:{order:4,value:"#F87171"},500:{order:5,value:"#EF4444"},600:{order:6,value:"#DC2626"},700:{order:7,value:"#B91C1C"},800:{order:8,value:"#991B1B"},900:{order:9,value:"#7F1D1D"}}},rose:{order:3,variants:{50:{order:0,value:"#FFF1F2"},100:{order:1,value:"#FFE4E6"},200:{order:2,value:"#FECDD3"},300:{order:3,value:"#FDA4AF"},400:{order:4,value:"#FB7185"},500:{order:5,value:"#F43F5E"},600:{order:6,value:"#E11D48"},700:{order:7,value:"#BE123C"},800:{order:8,value:"#9F1239"},900:{order:9,value:"#881337"}}},pink:{order:4,variants:{50:{order:0,value:"#FDF2F8"},100:{order:1,value:"#FCE7F3"},200:{order:2,value:"#FBCFE8"},300:{order:3,value:"#F9A8D4"},400:{order:4,value:"#F472B6"},500:{order:5,value:"#EC4899"},600:{order:6,value:"#DB2777"},700:{order:7,value:"#BE185D"},800:{order:8,value:"#9D174D"},900:{order:9,value:"#831843"}}},amber:{order:5,variants:{50:{order:0,value:"#FFFBEB"},100:{order:1,value:"#FEF3C7"},200:{order:2,value:"#FDE68A"},300:{order:3,value:"#FCD34D"},400:{order:4,value:"#FBBF24"},500:{order:5,value:"#F59E0B"},600:{order:6,value:"#D97706"},700:{order:7,value:"#B45309"},800:{order:8,value:"#92400E"},900:{order:9,value:"#78350F"}}},orange:{order:6,variants:{50:{order:0,value:"#FFF7ED"},100:{order:1,value:"#FFEDD5"},200:{order:2,value:"#FED7AA"},300:{order:3,value:"#FDBA74"},400:{order:4,value:"#FB923C"},500:{order:5,value:"#F97316"},600:{order:6,value:"#EA580C"},700:{order:7,value:"#C2410C"},800:{order:8,value:"#9A3412"},900:{order:9,value:"#7C2D12"}}},yellow:{order:7,variants:{50:{order:0,value:"#FFFBEB"},100:{order:1,value:"#FEF3C7"},200:{order:2,value:"#FDE68A"},300:{order:3,value:"#FCD34D"},400:{order:4,value:"#FBBF24"},500:{order:5,value:"#F59E0B"},600:{order:6,value:"#D97706"},700:{order:7,value:"#B45309"},800:{order:8,value:"#92400E"},900:{order:9,value:"#78350F"}}},lime:{order:8,variants:{50:{order:0,value:"#F7FEE7"},100:{order:1,value:"#ECFCCB"},200:{order:2,value:"#D9F99D"},300:{order:3,value:"#BEF264"},400:{order:4,value:"#A3E635"},500:{order:5,value:"#84CC16"},600:{order:6,value:"#65A30D"},700:{order:7,value:"#4D7C0F"},800:{order:8,value:"#3F6212"},900:{order:9,value:"#365314"}}},green:{order:9,variants:{50:{order:0,value:"#ECFDF5"},100:{order:1,value:"#D1FAE5"},200:{order:2,value:"#A7F3D0"},300:{order:3,value:"#6EE7B7"},400:{order:4,value:"#34D399"},500:{order:5,value:"#10B981"},600:{order:6,value:"#059669"},700:{order:7,value:"#047857"},800:{order:8,value:"#065F46"},900:{order:9,value:"#064E3B"}}},emerald:{order:10,variants:{50:{order:0,value:"#ECFDF5"},100:{order:1,value:"#D1FAE5"},200:{order:2,value:"#A7F3D0"},300:{order:3,value:"#6EE7B7"},400:{order:4,value:"#34D399"},500:{order:5,value:"#10B981"},600:{order:6,value:"#059669"},700:{order:7,value:"#047857"},800:{order:8,value:"#065F46"},900:{order:9,value:"#064E3B"}}},teal:{order:11,variants:{50:{order:0,value:"#F0FDFA"},100:{order:1,value:"#CCFBF1"},200:{order:2,value:"#99F6E4"},300:{order:3,value:"#5EEAD4"},400:{order:4,value:"#2DD4BF"},500:{order:5,value:"#14B8A6"},600:{order:6,value:"#0D9488"},700:{order:7,value:"#0F766E"},800:{order:8,value:"#115E59"},900:{order:9,value:"#134E4A"}}},cyan:{order:12,variants:{50:{order:0,value:"#ECFEFF"},100:{order:1,value:"#CFFAFE"},200:{order:2,value:"#A5F3FC"},300:{order:3,value:"#67E8F9"},400:{order:4,value:"#22D3EE"},500:{order:5,value:"#06B6D4"},600:{order:6,value:"#0891B2"},700:{order:7,value:"#0E7490"},800:{order:8,value:"#155E75"},900:{order:9,value:"#164E63"}}},sky:{order:13,variants:{50:{order:0,value:"#F0F9FF"},100:{order:1,value:"#E0F2FE"},200:{order:2,value:"#BAE6FD"},300:{order:3,value:"#7DD3FC"},400:{order:4,value:"#38BDF8"},500:{order:5,value:"#0EA5E9"},600:{order:6,value:"#0284C7"},700:{order:7,value:"#0369A1"},800:{order:8,value:"#075985"},900:{order:9,value:"#0C4A6E"}}},blue:{order:14,variants:{50:{order:0,value:"#EFF6FF"},100:{order:1,value:"#DBEAFE"},200:{order:2,value:"#BFDBFE"},300:{order:3,value:"#93C5FD"},400:{order:4,value:"#60A5FA"},500:{order:5,value:"#3B82F6"},600:{order:6,value:"#2563EB"},700:{order:7,value:"#1D4ED8"},800:{order:8,value:"#1E40AF"},900:{order:9,value:"#1E3A8A"}}},indigo:{order:15,variants:{50:{order:0,value:"#EEF2FF"},100:{order:1,value:"#E0E7FF"},200:{order:2,value:"#C7D2FE"},300:{order:3,value:"#A5B4FC"},400:{order:4,value:"#818CF8"},500:{order:5,value:"#6366F1"},600:{order:6,value:"#4F46E5"},700:{order:7,value:"#4338CA"},800:{order:8,value:"#3730A3"},900:{order:9,value:"#312E81"}}},purple:{order:16,variants:{50:{order:0,value:"#F5F3FF"},100:{order:1,value:"#EDE9FE"},200:{order:2,value:"#DDD6FE"},300:{order:3,value:"#C4B5FD"},400:{order:4,value:"#A78BFA"},500:{order:5,value:"#8B5CF6"},600:{order:6,value:"#7C3AED"},700:{order:7,value:"#6D28D9"},800:{order:8,value:"#5B21B6"},900:{order:9,value:"#4C1D95"}}},fuchsia:{order:17,variants:{50:{order:0,value:"#FDF4FF"},100:{order:1,value:"#FAE8FF"},200:{order:2,value:"#F5D0FE"},300:{order:3,value:"#F0ABFC"},400:{order:4,value:"#E879F9"},500:{order:5,value:"#D946EF"},600:{order:6,value:"#C026D3"},700:{order:7,value:"#A21CAF"},800:{order:8,value:"#86198F"},900:{order:9,value:"#701A75"}}}},shadow:{sm:{order:0,value:"0 1px 2px 0 rgba(0, 0, 0, 0.25)"},base:{order:1,value:"0 1px 3px 0 rgba(0, 0, 0, 0.25), 0 1px 2px 0 rgba(0, 0, 0, 0.25)"},md:{order:2,value:"0 4px 6px -1px rgba(0, 0, 0, 0.25), 0 2px 4px -1px rgba(0, 0, 0, 0.25)"},lg:{order:3,value:"0 10px 15px -3px rgba(0, 0, 0, 0.25), 0 4px 6px -2px rgba(0, 0, 0, 0.25)"},xl:{order:4,value:"0 20px 25px -5px rgba(0, 0, 0, 0.25), 0 10px 10px -5px rgba(0, 0, 0, 0.25)"},"2xl":{order:5,value:"0 25px 50px -12px rgba(0, 0, 0, 0.25)"}},spacing:.25,fontSize:{lg:{order:0,value:"1.125rem"},sm:{order:1,value:"0.875rem"},xl:{order:2,value:"1.25rem"},xs:{order:3,value:"0.75rem"},"2xl":{order:4,value:"1.5rem"},"3xl":{order:5,value:"1.875rem"},"4xl":{order:6,value:"2.25rem"},"5xl":{order:7,value:"3rem"},xxs:{order:8,value:"0.625rem"},base:{order:9,value:"1rem",default:!0}},fontFamily:{mono:{order:0,value:["Fira Code","monospace"]},sans:{order:1,value:["Inter","sans-serif"],default:!0}},fontWeight:{bold:{order:0,value:"700"},bolder:{order:1,value:"800"},normal:{order:2,value:"500",default:!0},regular:{order:3,value:"400"},"semi-bold":{order:4,value:"600"}},breakpoints:{large:{order:2,value:1440},small:{order:0,value:576},medium:{order:1,value:960}}};var fn=3600*24*365,mn=async function([e],t){if(typeof e!="string"&&e!==null){t.triggerActionEvent("Error",new Error('The "Name" argument must be a string or null'));return}let r=e===null||e==="";try{await cookieStore.set({name:ro,value:e??"",path:"/",expires:r?0:Date.now()+fn,sameSite:"none"}),t.triggerActionEvent("Success",void 0)}catch(o){t.triggerActionEvent("Error",o)}},gn=mn;var Le={};f(Le,{default:()=>yn});var hn=async function([e]){if(typeof e!="string"||e.length===0)throw new Error(`Invalid key: ${e}`);window.localStorage.removeItem(e)},yn=hn;var Me={};f(Me,{default:()=>vn});var bn=async function([e,t],r){let o=[typeof e=="string"?`name=access_token&value=${encodeURIComponent(e)}`:void 0,isNaN(Number(t))?void 0:`ttl=${t}`].filter(a=>a).join("&"),n=await fetch(`/.toddle/cookies/set-session-cookie?${o}`);n.ok?r.triggerActionEvent("Success",void 0):r.triggerActionEvent("Error",new Error(await n.text()))},vn=bn;var qe={};f(qe,{default:()=>An});var Sn=async function(){window.localStorage.clear()},An=Sn;var Be={};f(Be,{default:()=>En});var Cn=async function(){window.sessionStorage.clear()},En=Cn;var _e={};f(_e,{default:()=>Fn});var wn=([e,t])=>{console.log(e,t)},Fn=wn;var Ue={};f(Ue,{default:()=>Rn});var jn=async function([e,t,r,o,n,a],s){let l=p=>s.triggerActionEvent("Error",new Error(p));if(typeof e!="string"){l('The "Name" argument must be a string');return}if(typeof t!="string"){l('The "Value" argument must be a string');return}let i=o??"Lax";if(typeof i!="string"||!["lax","strict","none"].includes(i.toLocaleLowerCase())){l('The "SameSite" argument must be "Lax", "Strict" or "None"');return}let c=n??"/";if(typeof c!="string"||!c.startsWith("/")){l('The "Path" argument must be a string and start with /');return}if(r!=null&&(typeof r!="number"||isNaN(r))){l('The "Expires in" argument must be a number');return}let d=a??!0;if(typeof d!="boolean"){l('The "Include Subdomains" argument must be a boolean');return}let u=new URLSearchParams;u.set("name",e),u.set("value",t),u.set("sameSite",i),u.set("path",c),u.set("includeSubdomains",String(d)),typeof r=="number"&&u.set("ttl",String(r));try{let p=await fetch(`/.nordcraft/cookies/set-cookie?${u.toString()}`);p.ok?s.triggerActionEvent("Success",void 0):l(await p.text())}catch(p){l(p instanceof Error?p.message:"An unexpected error occurred")}},Rn=jn;var He={};f(He,{default:()=>Dn});var On=async function([e,t]){if(typeof e!="string"||e.length===0)throw new Error(`Invalid key: ${e}`);window.sessionStorage.setItem(e,JSON.stringify(t))},Dn=On;var Ve={};f(Ve,{default:()=>Tn});var kn=([e])=>{if(typeof e!="string")throw new Error("Input value must be a string");return navigator.clipboard.writeText(e)},Tn=kn;var Ke={};f(Ke,{default:()=>xn});var Nn=(e,t,r)=>{r?.stopPropagation?.()},xn=Nn;var We={};f(We,{default:()=>Pn});var $n=async function([e,t,r,o,n,a],s){let l=p=>s.triggerActionEvent("Error",new Error(p));if(typeof e!="string"){l('The "Name" argument must be a string');return}if(typeof t!="string"){l('The "Value" argument must be a string');return}let i=o??"Lax";if(typeof i!="string"||!["lax","strict","none"].includes(i.toLocaleLowerCase())){l('The "SameSite" argument must be "Lax", "Strict" or "None"');return}let c=n??"/";if(typeof c!="string"||!c.startsWith("/")){l('The "Path" argument must be a string and start with /');return}if(r!=null&&(typeof r!="number"||isNaN(r))){l('The "Expires in" argument must be a number');return}let d=a??!0;if(typeof d!="boolean"){l('The "Include Subdomains" argument must be a boolean');return}let u=`${e}=${t}; SameSite=${i}; Path=${c}`;if(typeof r=="number"){let p=new Date(Date.now()+r*1e3);u+=`; Expires=${p.toUTCString()}`}d&&(u+=`; Domain=${window.location.hostname}`),document.cookie=u,s.triggerActionEvent("Success",void 0)},Pn=$n;var Je={};f(Je,{default:()=>Ln});var In=([e])=>{e instanceof HTMLElement&&e.focus()},Ln=In;var Ge={};f(Ge,{default:()=>qn});var Mn=(e,t,r)=>{r?.preventDefault?.()},qn=Mn;var ze={};f(ze,{default:()=>_n});var Bn=([e,t,r])=>{let o=a=>E(a)&&typeof a=="string";if(!o(e)&&!o(t)&&!o(r))throw new Error("Either url, text or title must be provided");let n={};if(o(t)&&(n.title=t),o(r)&&(n.text=r),o(e)&&(n.url=e),E(navigator.share)&&navigator.canShare(n))return navigator.share(n)},_n=Bn;var Qe={};f(Qe,{default:()=>Hn});var Un=([e],t)=>{let r=Number(e);if(!E(e)||Number.isNaN(e))throw new Error("Invalid delay value");let o=setTimeout(()=>t.triggerActionEvent("tick",null),r);t.abortSignal.addEventListener("abort",()=>{clearTimeout(o)})},Hn=Un;var Ye={};f(Ye,{default:()=>Kn});var Vn=([e],t)=>{typeof e=="string"&&(t.env.runtime==="preview"?window.parent?.postMessage({type:"blockedNavigation",url:e},"*"):window.location.href=e)},Kn=Vn;var Hr={};f(Hr,{absolute:()=>It,add:()=>Sr,append:()=>Vt,boolean:()=>nt,branchName:()=>ar,canShare:()=>Nt,capitalize:()=>at,clamp:()=>ft,concatenate:()=>Jt,currentURL:()=>Rr,dateFromString:()=>tr,dateFromTimestamp:()=>pt,decodeBase64:()=>_r,decodeURIComponent:()=>rt,defaultTo:()=>Ar,deleteKey:()=>rr,divide:()=>mr,drop:()=>fr,dropLast:()=>Tt,encodeBase64:()=>lt,encodeJSON:()=>ut,encodeURIComponent:()=>it,entries:()=>pr,equals:()=>Yt,every:()=>bt,filter:()=>hr,find:()=>gr,findIndex:()=>$r,findLast:()=>Ut,first:()=>Zt,flatten:()=>dr,formatDate:()=>Ct,formatNumber:()=>Mr,fromEntries:()=>xt,get:()=>zt,getCookie:()=>Fr,getElementById:()=>Dr,getFromLocalStorage:()=>yr,getFromSessionStorage:()=>Kt,getHttpOnlyCookie:()=>Nr,greaterOrEqueal:()=>sr,greaterThan:()=>$t,groupBy:()=>jt,includes:()=>Pt,indexOf:()=>jr,isServer:()=>Lt,join:()=>dt,json:()=>Xt,keyBy:()=>Br,languages:()=>et,last:()=>Rt,lastIndexOf:()=>Er,lessOrEqual:()=>Bt,lessThan:()=>Ht,logarithm:()=>ot,lowercase:()=>Qt,map:()=>yt,matches:()=>tt,max:()=>er,min:()=>or,minus:()=>gt,modulo:()=>Et,multiply:()=>xr,not:()=>Lr,notEqual:()=>qr,now:()=>wt,number:()=>br,parseJSON:()=>Ot,parseURL:()=>qt,power:()=>st,prepend:()=>Ft,randomNumber:()=>St,range:()=>Pr,reduce:()=>lr,replaceAll:()=>Or,reverse:()=>nr,round:()=>kt,roundDown:()=>mt,roundUp:()=>Cr,set:()=>ur,shuffle:()=>vr,size:()=>ir,some:()=>cr,sort_by:()=>ht,split:()=>Ur,squareRoot:()=>At,startsWith:()=>Tr,string:()=>Xe,sum:()=>vt,take:()=>Gt,takeLast:()=>ct,timestamp:()=>wr,trim:()=>Ir,typeOf:()=>_t,unique:()=>Wt,uppercase:()=>Dt,userAgent:()=>kr});var Xe={};f(Xe,{default:()=>Jn});var Wn=([e])=>String(e),Jn=Wn;var et={};f(et,{default:()=>zn});var Gn=(e,{env:t})=>t.isServer?t.request?.headers["accept-language"]?.split(",").map(r=>r.split(";")[0]??"")??[]:window.navigator.languages,zn=Gn;var tt={};f(tt,{default:()=>Yn});var Qn=([e,t,r,o,n])=>{if(typeof e!="string"||typeof t!="string")return[];let a=[$(r)?"g":"",$(o)?"i":"",$(n)?"m":""].join(""),s=new RegExp(t,a);return e.match(s)??[]},Yn=Qn;var rt={};f(rt,{default:()=>Xn});var Zn=([e])=>typeof e!="string"?null:decodeURIComponent(e),Xn=Zn;var ot={};f(ot,{default:()=>ta});var ea=([e])=>typeof e!="number"||Number.isNaN(e)||e<0?null:Math.log(e),ta=ea;var nt={};f(nt,{default:()=>oa});var ra=([e])=>$(e),oa=ra;var at={};f(at,{default:()=>aa});var na=([e])=>{if(typeof e!="string")return null;let t=e.at(0);return e.length===0||typeof t!="string"?e:t.toLocaleUpperCase()+e.substring(1).toLocaleLowerCase()},aa=na;var st={};f(st,{default:()=>ia});var sa=([e,t])=>isNaN(Number(e))||isNaN(Number(t))?null:Number(e)**Number(t),ia=sa;var it={};f(it,{default:()=>ua});var la=([e])=>typeof e!="string"?null:encodeURIComponent(e),ua=la;var lt={};f(lt,{default:()=>pa});var ca=([e])=>typeof e!="string"?null:btoa(e),pa=ca;var ut={};f(ut,{default:()=>fa});var da=([e,t])=>typeof t!="number"?null:JSON.stringify(e,null,t),fa=da;var ct={};f(ct,{default:()=>ga});var ma=([e,t])=>typeof t!="number"?null:Array.isArray(e)?e.slice(e.length-t):typeof e=="string"?e.substring(e.length-t):null,ga=ma;var pt={};f(pt,{default:()=>ya});var ha=([e])=>typeof e=="number"?new Date(e):null,ya=ha;var dt={};f(dt,{default:()=>va});var ba=([e,t])=>Array.isArray(e)?e.join(String(t)):null,va=ba;var ft={};f(ft,{default:()=>Aa});var Sa=([e,t,r])=>typeof e!="number"||typeof t!="number"||typeof r!="number"?null:Math.min(Math.max(e,t),r),Aa=Sa;var mt={};f(mt,{default:()=>Ea});var Ca=([e,t])=>{if(typeof e!="number"||typeof t!="number")return null;let r=Math.max(1,Math.pow(10,t));return Math.floor(e*r)/r},Ea=Ca;var gt={};f(gt,{default:()=>Fa});var wa=([e,t])=>{let r=Number(e),o=Number(t);return isNaN(r)||isNaN(o)?null:r-o},Fa=wa;var ht={};f(ht,{default:()=>Ra,getArgumentInputData:()=>Oa});var ja=([e,t,r])=>{if(!Array.isArray(e)||typeof t!="function"||typeof r!="boolean")return null;let o=r?1:-1;return[...e].sort((n,a)=>{let s=t({item:n}),l=t({item:a});if(Array.isArray(s)&&Array.isArray(l)){for(let i in s)if(s[i]!==l[i])return(s[i]>l[i]?1:-1)*o;return 0}return s===l?0:(s>l?1:-1)*o})},Ra=ja,Oa=([e],t,r)=>t===1&&Array.isArray(e)?{...r,Args:{item:e[0]}}:r;var yt={};f(yt,{default:()=>Ta,getArgumentInputData:()=>ka});var Da=([e,t])=>typeof t!="function"?null:Array.isArray(e)?e.map((r,o)=>t({item:r,index:o})):e&&typeof e=="object"?Object.fromEntries(Object.entries(e).map(([r,o])=>{let n=t({key:r,value:o});return"key"in n&&"value"in n?[n.key,n.value]:null})):null,ka=([e],t,r)=>{if(t===0)return r;if(Array.isArray(e))return{...r,Args:{item:e[0],index:0}};if(e&&typeof e=="object"){let[o]=Object.entries(e);if(o)return{...r,Args:{key:o[0],value:o[1]}}}return r},Ta=Da;var bt={};f(bt,{default:()=>Na,getArgumentInputData:()=>xa,handler:()=>no});var no=([e,t])=>typeof t!="function"?null:Array.isArray(e)?e.every((r,o)=>t({item:r,index:o})):e&&typeof e=="object"?Object.entries(e).every(([r,o])=>t({key:r,value:o})):null,Na=no,xa=([e],t,r)=>{if(t===0)return r;if(Array.isArray(e))return{...r,Args:{item:e[0],index:0}};if(e&&typeof e=="object"){let[o]=Object.entries(e);if(o)return{...r,Args:{key:o[0],value:o[1]}}}return r};var vt={};f(vt,{default:()=>Pa});var $a=([e])=>{if(Array.isArray(e)){let t=0;for(let r of e){if(isNaN(r)||typeof r!="number")return null;t+=r}return t}return null},Pa=$a;var St={};f(St,{default:()=>La});var Ia=()=>Math.random(),La=Ia;var At={};f(At,{default:()=>qa});var Ma=([e])=>typeof e!="number"?null:Math.sqrt(e),qa=Ma;var Ct={};f(Ct,{default:()=>_a});var Ba=([e,t,r])=>{if(!e||!(e instanceof Date))return null;let o=typeof t=="string"&&t.length>0||Array.isArray(t)&&t.every(O=>typeof O=="string")?t:void 0;if(!r||typeof r!="object")return Intl.DateTimeFormat(o).format(e);let n=(O,x)=>typeof O=="string"&&(x?.includes(O)??!0)?O:void 0,a=r,s=n(a.dateStyle,["full","long","medium","short"]),l=n(a.timeStyle,["full","long","medium","short"]),i=n(a.calendar),c=n(a.weekday,["long","short","narrow"]),d=n(a.era,["long","short","narrow"]),u=n(a.year,["numeric","2-digit"]),p=n(a.month,["long","short","narrow","numeric","2-digit"]),m=n(a.day,["numeric","2-digit"]),A=n(a.hour,["numeric","2-digit"]),C=n(a.minute,["numeric","2-digit"]),j=n(a.second,["numeric","2-digit"]),S=n(a.timeZoneName,["long","short","shortOffset","longOffset","shortGeneric","longGeneric"]),R=n(a.timeZone),D=a.hour12===!0?!0:a.hour12===!1?!1:void 0;return Intl.DateTimeFormat(o,{dateStyle:s,timeStyle:l,calendar:i,weekday:c,era:d,year:u,month:p,day:m,hour:A,minute:C,second:j,timeZoneName:S,timeZone:R,hour12:D}).format(e)},_a=Ba;var Et={};f(Et,{default:()=>Ha});var Ua=([e,t])=>isNaN(Number(e))||isNaN(Number(t))?null:Number(e)%Number(t),Ha=Ua;var wt={};f(wt,{default:()=>Ka});var Va=()=>new Date,Ka=Va;var Ft={};f(Ft,{default:()=>Ja});var Wa=([e,t])=>Array.isArray(e)?[t,...e]:null,Ja=Wa;var jt={};f(jt,{default:()=>Ga,getArgumentInputData:()=>za,handler:()=>ao});var ao=([e,t])=>{if(typeof t!="function"||!e||typeof e!="object"||!Array.isArray(e))return null;let r={};for(let o in e){let n=e[o],a=String(t({item:n,index:o}));r[a]=r[a]??[],r[a].push(n)}return r},Ga=ao,za=([e],t,r)=>t===1&&Array.isArray(e)?{...r,Args:{item:e[0],index:0}}:r;var Rt={};f(Rt,{default:()=>Ya});var Qa=([e])=>typeof e=="string"||Array.isArray(e)?e[e.length-1]:null,Ya=Qa;var Ot={};f(Ot,{default:()=>es});var Za=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:.\d{1,3})?Z$/;function oe(e){return JSON.parse(e,(t,r)=>typeof r=="string"&&r.length===24&&Za.test(r)?new Date(r):r)}var Xa=([e])=>{if(typeof e!="string")return null;try{return oe(e)}catch{return null}},es=Xa;var Dt={};f(Dt,{default:()=>rs});var ts=([e])=>typeof e!="string"?null:e.toLocaleUpperCase(),rs=ts;var kt={};f(kt,{default:()=>ns});var os=([e,t])=>{if(typeof e!="number"||typeof t!="number")return null;let r=Math.max(1,Math.pow(10,t));return Math.round(e*r)/r},ns=os;var Tt={};f(Tt,{default:()=>ss});var as=([e,t])=>typeof t!="number"||isNaN(t)?null:Array.isArray(e)?e.slice(0,e.length-t):typeof e=="string"?e.substring(0,e.length-t):null,ss=as;var Nt={};f(Nt,{default:()=>ls});var is=([e,t,r])=>{if(!E(navigator.canShare))return!1;let o=a=>E(a)&&typeof a=="string";if(!o(e)&&!o(t)&&!o(r))return!1;let n={};return o(t)&&(n.title=t),o(r)&&(n.text=r),o(e)&&(n.url=e),navigator.canShare(n)},ls=is;var xt={};f(xt,{default:()=>cs});var us=([e])=>{if(Array.isArray(e)){let t={};for(let{key:r,value:o}of e)t[r]=o;return t}return null},cs=us;var $t={};f($t,{default:()=>ds});var ps=([e,t])=>e>t,ds=ps;var Pt={};f(Pt,{default:()=>ms});var fs=([e,t])=>typeof e=="string"&&typeof t=="string"?e.includes(t):Array.isArray(e)?e.some(r=>globalThis.toddle.isEqual(r,t)):null,ms=fs;var It={};f(It,{default:()=>hs});var gs=([e])=>typeof e!="number"?null:Math.abs(e),hs=gs;var Lt={};f(Lt,{default:()=>bs});var ys=(e,t)=>t.env.isServer,bs=ys;var qt={};f(qt,{default:()=>Ss});var Mt=class{hostname;searchParams;path;hash;href;protocol;port;origin;constructor(t){this.hostname=t.hostname,this.searchParams=Object.fromEntries(t.searchParams),this.path=t.pathname.split("/").filter((r,o)=>o!==0||r!==""),this.hash=t.hash.replace("#",""),this.href=t.href,this.protocol=t.protocol,this.port=t.port,this.origin=t.origin}toString(){return this.href}},vs=([e,t])=>{if(typeof e!="string")return null;try{return new Mt(new URL(e,typeof t=="string"?t:void 0))}catch{return null}},Ss=vs;var Bt={};f(Bt,{default:()=>Cs});var As=([e,t])=>e<=t,Cs=As;var _t={};f(_t,{default:()=>ws});var Es=([e])=>{switch(typeof e){case"number":return isNaN(e)?null:"Number";case"string":return"String";case"boolean":return"Boolean";case"object":return Array.isArray(e)?"Array":e===null?"Null":"Object";case"undefined":return"Null";default:return null}},ws=Es;var Ut={};f(Ut,{default:()=>Fs,getArgumentInputData:()=>js,handler:()=>so});var so=([e,t])=>typeof t!="function"?null:Array.isArray(e)?e.findLast((r,o)=>t({item:r,index:o})):e&&typeof e=="object"?Object.entries(e).findLast(([r,o])=>t({key:r,value:o}))?.[1]:null,Fs=so,js=([e],t,r)=>{if(t===0)return r;if(Array.isArray(e))return{...r,Args:{item:e[0],index:0}};if(e&&typeof e=="object"){let[o]=Object.entries(e);if(o)return{...r,Args:{key:o[0],value:o[1]}}}return r};var Ht={};f(Ht,{default:()=>Os});var Rs=([e,t])=>e<t,Os=Rs;var Vt={};f(Vt,{default:()=>ks});var Ds=([e,t])=>Array.isArray(e)?[...e,t]:null,ks=Ds;var Kt={};f(Kt,{default:()=>Ns});var Ts=([e])=>{if(typeof e!="string"||e.length===0||typeof window>"u")return null;let t=window.sessionStorage.getItem(e);if(t===null)return t;try{return JSON.parse(t)}catch{return t}},Ns=Ts;var Wt={};f(Wt,{default:()=>$s});var xs=([e])=>{if(!Array.isArray(e))return null;let t=new Set;return e.filter(r=>{let o=typeof r=="object"?JSON.stringify(r):r;return t.has(o)?!1:(t.add(o),!0)})},$s=xs;var Jt={};f(Jt,{default:()=>Is});var Ps=e=>{if(e.every(Array.isArray)){let t=[];for(let r of e)t.push(...r);return t}return e.every(U)?Object.assign({},...e):e.join("")},Is=Ps;var Gt={};f(Gt,{default:()=>Ms});var Ls=([e,t])=>typeof t!="number"?null:Array.isArray(e)?e.slice(0,t):typeof e=="string"?e.substring(0,t):null,Ms=Ls;var zt={};f(zt,{default:()=>Bs});var qs=([e,t])=>{if(typeof e=="string")return e[Number(t)];let r=(o,n)=>{if(n.length===0)return o;let[a,...s]=n;return r(o?.[String(a)],s)};return r(e,Array.isArray(t)?t:[t])},Bs=qs;var Qt={};f(Qt,{default:()=>Us});var _s=([e])=>typeof e!="string"?null:e.toLocaleLowerCase(),Us=_s;var Yt={};f(Yt,{default:()=>Vs});var Hs=([e,t])=>globalThis.toddle.isEqual(e,t),Vs=Hs;var Zt={};f(Zt,{default:()=>Ws});var Ks=([e])=>typeof e=="string"||Array.isArray(e)?e[0]:null,Ws=Ks;var Xt={};f(Xt,{default:()=>Gs});var Js=([e,t])=>{let r=isNaN(Number(t))?0:Number(t);return JSON.stringify(e,null,r)},Gs=Js;var er={};f(er,{default:()=>Qs});var zs=e=>Math.max(...e.map(Number)),Qs=zs;var tr={};f(tr,{default:()=>Zs});var Ys=([e])=>typeof e=="string"?new Date(e):null,Zs=Ys;var rr={};f(rr,{default:()=>ei});var Xs=([e,t])=>{if(typeof e!="object"||e===null||!Array.isArray(t)&&typeof t!="string"&&typeof t!="number")return null;let r=(n,[a,...s])=>{if(Array.isArray(n)){let l=Number(a);return Number.isNaN(l)?n:s.length===0?n.filter((i,c)=>c!==Number(a)):n.map((i,c)=>c===l?r(n[l],s):i)}return U(n)?s.length===0?Object.fromEntries(Object.entries(n).filter(([l])=>l!==a)):typeof a!="string"&&typeof a!="number"?{...n}:{...n,[a]:r(n[a],s)}:null},o=Array.isArray(t)?t:[t];return r(e,o)},ei=Xs;var or={};f(or,{default:()=>ri});var ti=e=>Math.min(...e.map(Number)),ri=ti;var nr={};f(nr,{default:()=>ni});var oi=([e])=>Array.isArray(e)?[...e].reverse():null,ni=oi;var ar={};f(ar,{default:()=>si});var ai=(e,t)=>t.env.branchName,si=ai;var sr={};f(sr,{default:()=>li});var ii=([e,t])=>e>=t,li=ii;var ir={};f(ir,{default:()=>ci});var ui=([e])=>Array.isArray(e)?e.length:U(e)?Object.keys(e).length:typeof e=="string"?e.length:null,ci=ui;var lr={};f(lr,{default:()=>di,getArgumentInputData:()=>fi});var pi=([e,t,r])=>typeof t!="function"?null:Array.isArray(e)?e.reduce((o,n,a)=>t({result:o,item:n,index:a}),r):e&&typeof e=="object"?Object.entries(e).reduce((o,[n,a])=>t({result:o,key:n,value:a}),r):null,di=pi,fi=([e,t,r],o,n)=>{if(o!==1)return n;if(Array.isArray(e))return{...n,Args:{item:e[0],index:0,result:r}};if(e&&typeof e=="object"){let[a]=Object.entries(e);if(a)return{...n,Args:{key:a[0],value:a[1],result:r}}}return n};var ur={};f(ur,{default:()=>mi});var io=([e,t,r],o)=>{if(typeof t!="string"&&typeof t!="number"&&!Array.isArray(t))return null;let[n,...a]=Array.isArray(t)?t:[t];if(U(e)){let s=Array.isArray(e)?[...e]:{...e};return s[n]=a.length===0?r:io([s[n],a,r],o),s}return null},mi=io;var cr={};f(cr,{default:()=>gi,getArgumentInputData:()=>hi,handler:()=>lo});var lo=([e,t])=>typeof t!="function"?null:Array.isArray(e)?e.some((r,o)=>t({item:r,index:o})):e&&typeof e=="object"?Object.entries(e).some(([r,o])=>t({key:r,value:o})):null,gi=lo,hi=([e],t,r)=>{if(t===0)return r;if(Array.isArray(e))return{...r,Args:{item:e[0],index:0}};if(e&&typeof e=="object"){let[o]=Object.entries(e);if(o)return{...r,Args:{key:o[0],value:o[1]}}}return r};var pr={};f(pr,{default:()=>bi});var yi=([e])=>typeof e=="object"&&e!==null?Object.entries(e).map(([t,r])=>({key:t,value:r})):null,bi=yi;var dr={};f(dr,{default:()=>Si});var vi=([e])=>Array.isArray(e)?e.flat():null,Si=vi;var fr={};f(fr,{default:()=>Ci});var Ai=([e,t])=>typeof t!="number"||isNaN(t)?null:Array.isArray(e)?e.slice(t):typeof e=="string"?e.substring(t):null,Ci=Ai;var mr={};f(mr,{default:()=>wi});var Ei=([e,t])=>isNaN(Number(e))||isNaN(Number(t))?null:Number(e)/Number(t),wi=Ei;var gr={};f(gr,{default:()=>Fi,getArgumentInputData:()=>ji,handler:()=>uo});var uo=([e,t])=>typeof t!="function"?null:Array.isArray(e)?e.find((r,o)=>t({item:r,index:o})):e&&typeof e=="object"?Object.entries(e).find(([r,o])=>t({key:r,value:o}))?.[1]:null,Fi=uo,ji=([e],t,r)=>{if(t===0)return r;if(Array.isArray(e))return{...r,Args:{item:e[0],index:0}};if(e&&typeof e=="object"){let[o]=Object.entries(e);if(o)return{...r,Args:{key:o[0],value:o[1]}}}return r};var hr={};f(hr,{default:()=>Ri,getArgumentInputData:()=>Oi,handler:()=>co});var co=([e,t])=>typeof t!="function"?null:Array.isArray(e)?e.filter((r,o)=>t({item:r,index:o})):e&&typeof e=="object"?Object.fromEntries(Object.entries(e).filter(([r,o])=>t({key:r,value:o}))):Array.isArray(e)?e.filter((r,o)=>t({item:r,index:o})):null,Ri=co,Oi=([e],t,r)=>{if(t===0)return r;if(Array.isArray(e))return{...r,Args:{item:e[0],index:0}};if(e&&typeof e=="object"){let[o]=Object.entries(e);if(o)return{...r,Args:{value:o[1],key:o[0]}}}return r};var yr={};f(yr,{default:()=>ki});var Di=([e])=>{if(typeof e!="string"||e.length===0||typeof window>"u")return null;let t=window.localStorage.getItem(e);if(t===null)return t;try{return JSON.parse(t)}catch{return t}},ki=Di;var br={};f(br,{default:()=>Ni});var Ti=([e])=>Number(e),Ni=Ti;var vr={};f(vr,{default:()=>$i});var xi=([e])=>Array.isArray(e)?po(e):typeof e=="string"?po(e.split("")).join(""):null;function po(e){let t=[...e];for(let r=t.length-1;r>0;r--){let o=Math.floor(Math.random()*(r+1));[t[r],t[o]]=[t[o],t[r]]}return t}var $i=xi;var Sr={};f(Sr,{default:()=>Ii});var Pi=e=>!Array.isArray(e)||e.some(t=>t===null||typeof t!="number")?null:e.reduce((t,r)=>t+Number(r),0),Ii=Pi;var Ar={};f(Ar,{default:()=>Mi});var Li=e=>{for(let t of e)if($(t))return t;return null},Mi=Li;var Cr={};f(Cr,{default:()=>Bi});var qi=([e,t])=>{if(typeof e!="number"||typeof t!="number")return null;let r=Math.max(1,Math.pow(10,t));return Math.ceil(e*r)/r},Bi=qi;var Er={};f(Er,{default:()=>Ui});var _i=([e,t])=>{if(typeof e=="string")return e.lastIndexOf(t);if(Array.isArray(e)){let r=e.lastIndexOf(t);return r!==-1?r:e.findLastIndex(o=>globalThis.toddle.isEqual(o,t))}return null},Ui=_i;var wr={};f(wr,{default:()=>Vi});var Hi=([e])=>!e||!(e instanceof Date)?null:e.getTime(),Vi=Hi;var Fr={};f(Fr,{default:()=>Wi});var Ki=([e],{env:t,root:r})=>!e||typeof e!="string"?null:t.isServer?t.request.cookies[e]??null:r instanceof ShadowRoot?null:r.cookie.split("; ")?.find(o=>o.startsWith(`${e}=`))?.split("=")[1]??null,Wi=Ki;var jr={};f(jr,{default:()=>Gi});var Ji=([e,t])=>{if(typeof e=="string")return e.indexOf(t);if(Array.isArray(e)){let r=e.indexOf(t);return r!==-1?r:e.findIndex(o=>globalThis.toddle.isEqual(o,t))}return null},Gi=Ji;var Rr={};f(Rr,{default:()=>Qi});var zi=(e,{env:t})=>t.isServer?t.request.url:window?.location.href??null,Qi=zi;var Or={};f(Or,{default:()=>Zi});var Yi=([e,t,r])=>typeof e!="string"||typeof t!="string"?null:e.replaceAll(t,String(r)),Zi=Yi;var Dr={};f(Dr,{default:()=>el});var Xi=([e],{root:t})=>typeof e!="string"?null:t.getElementById(e),el=Xi;var kr={};f(kr,{default:()=>rl});var tl=(e,{env:t})=>t.isServer?t.request?.headers["user-agent"]??null:window.navigator.userAgent,rl=tl;var Tr={};f(Tr,{default:()=>nl});var ol=([e,t])=>typeof e!="string"||typeof t!="string"?null:e.startsWith(t),nl=ol;var Nr={};f(Nr,{default:()=>il});var fo=(e,t)=>`{{ ${al[e]}.${t} }}`,al={cookies:"cookies"};var sl=([e])=>!e||typeof e!="string"?null:fo("cookies",e),il=sl;var xr={};f(xr,{default:()=>ul});var ll=e=>e.some(t=>isNaN(Number(t)))?null:e.reduce((t,r)=>t*r,1),ul=ll;var $r={};f($r,{default:()=>cl,getArgumentInputData:()=>pl,handler:()=>mo});var mo=([e,t])=>typeof t!="function"?null:Array.isArray(e)?e.findIndex((r,o)=>t({item:r,index:o})):e&&typeof e=="object"?Object.entries(e).findIndex(([r,o])=>t({key:r,value:o})):null,cl=mo,pl=([e],t,r)=>{if(t===0)return r;if(Array.isArray(e))return{...r,Args:{item:e[0],index:0}};if(e&&typeof e=="object"){let[o]=Object.entries(e);if(o)return{...r,Args:{key:o[0],value:o[1]}}}return r};var Pr={};f(Pr,{default:()=>fl});var dl=([e,t])=>typeof e!="number"||typeof t!="number"?null:e>t?[]:Array.from({length:t-e+1},(r,o)=>o+e),fl=dl;var Ir={};f(Ir,{default:()=>gl});var ml=([e])=>typeof e!="string"?null:e.trim(),gl=ml;var Lr={};f(Lr,{default:()=>yl});var hl=([e])=>!$(e),yl=hl;var Mr={};f(Mr,{default:()=>vl});var bl=([e,t,r])=>{if(typeof e!="number"||Number.isNaN(e))return null;let o=typeof t=="string"&&t.length>0||Array.isArray(t)&&t.every(O=>typeof O=="string")?t:void 0;if(!r||typeof r!="object")return Intl.NumberFormat(o).format(e);let n=(O,x)=>typeof O=="string"&&(x?.includes(O)??!0)?O:void 0,a=r,s=n(a.style,["decimal","currency","percent","unit"]),l=typeof a.currency=="string"&&a.currency.length===3?a.currency:void 0;if(s==="currency"&&typeof l!="string")return null;let i=n(a.currencyDisplay,["code","symbol","narrowSymbol","name"]),c=typeof a.unit=="string"?a.unit:void 0;if(s==="unit"&&typeof c!="string")return null;let d=n(a.unitDisplay,["short","narrow","long"]),u=typeof a.minimumIntegerDigits=="number"&&a.minimumIntegerDigits>=1&&a.minimumIntegerDigits<=21?a.minimumIntegerDigits:void 0,p=typeof a.minimumFractionDigits=="number"&&a.minimumFractionDigits>=0&&a.minimumFractionDigits<=100?a.minimumFractionDigits:void 0,m=typeof a.maximumFractionDigits=="number"&&a.maximumFractionDigits>=0&&a.maximumFractionDigits<=100?a.maximumFractionDigits:void 0,A=typeof a.minimumSignificantDigits=="number"&&a.minimumSignificantDigits>=1&&a.minimumSignificantDigits<=21?a.minimumSignificantDigits:void 0,C=typeof a.maximumSignificantDigits=="number"&&a.maximumSignificantDigits>=1&&a.maximumSignificantDigits<=21?a.maximumSignificantDigits:void 0,j=n(a.notation,["standard","scientific","engineering","compact"]),S=n(a.compactDisplay,["short","long"]),R=["always","auto","min2"],D=typeof a.useGrouping=="boolean"?a.useGrouping:n(a.useGrouping,R);return new Intl.NumberFormat(o,{style:s,currency:l,currencyDisplay:i,unit:c,unitDisplay:d,minimumIntegerDigits:u,minimumFractionDigits:p,maximumFractionDigits:m,minimumSignificantDigits:A,maximumSignificantDigits:C,notation:j,compactDisplay:S,useGrouping:D}).format(e)},vl=bl;var qr={};f(qr,{default:()=>Al});var Sl=([e,t])=>!globalThis.toddle.isEqual(e,t),Al=Sl;var Br={};f(Br,{default:()=>Cl,getArgumentInputData:()=>El,handler:()=>go});var go=([e,t])=>{if(typeof t!="function"||!e||typeof e!="object")return null;let r=Array.isArray(e)?e:Object.entries(e),o={};for(let n=0;n<r.length;n++){let a=r[n],s=String(t({item:a,i:n}));o[s]=a}return o},Cl=go,El=([e],t,r)=>{if(t===0)return r;if(Array.isArray(e))return{...r,Args:{item:e[0],index:0}};if(e&&typeof e=="object"){let[o]=Object.entries(e);if(o)return{...r,Args:{value:o[1],key:o[0]}}}return r};var _r={};f(_r,{default:()=>Fl});var wl=([e])=>typeof e!="string"?null:atob(e),Fl=wl;var Ur={};f(Ur,{default:()=>Rl});var jl=([e,t])=>typeof e!="string"||typeof t!="string"?null:e.split(t),Rl=jl;var Zo=ue(ne(),1);var yo=e=>{let t=e.toLocaleLowerCase().replaceAll(" ","");return t.includes("-")?t:`toddle-${t}`};function W(e){return e&&typeof e=="object"&&typeof e.type=="string"&&["path","function","record","object","array","or","and","apply","value","switch"].includes(e.type)}var Vr=e=>Object.hasOwn(e,"formula")&&E(e.formula);function v(e,t){if(!W(e))return e;try{switch(e.type){case"value":return e.value;case"path":{let r=t.data;for(let o of e.path)if(r&&typeof r=="object")r=r[o];else return null;return r}case"switch":{for(let r of e.cases)if($(v(r.condition,t)))return v(r.formula,t);return v(e.default,t)}case"or":{for(let r of e.arguments)if($(v(r.formula,t)))return!0;return!1}case"and":{for(let r of e.arguments)if(!$(v(r.formula,t)))return!1;return!0}case"function":{let r=e.package??t.package??void 0,o=(t.toddle??globalThis.toddle)?.getCustomFormula(e.name,r);if(E(o)){t.package=r;let n=e.arguments.reduce((a,s,l)=>({...a,[s.name??`${l}`]:s.isFunction?i=>v(s.formula,{...t,data:{...t.data,Args:t.data.Args?{...i,"@toddle.parent":t.data.Args}:i}}):v(s.formula,t)}),{});try{return Vr(o)?v(o.formula,{...t,data:{...t.data,Args:n}}):o.handler(n,{root:t.root??document,env:t.env})}catch(a){return t.toddle.errors.push(a),t.env?.logErrors&&console.error(a),null}}else{let n=(t.toddle??globalThis.toddle).getFormula(e.name);if(typeof n=="function"){let a=(e.arguments??[]).map(s=>s.isFunction?l=>v(s.formula,{...t,data:{...t.data,Args:t.data.Args?{...l,"@toddle.parent":t.data.Args}:l}}):v(s.formula,t));try{return n(a,t)}catch(s){return t.toddle.errors.push(s),t.env?.logErrors&&console.error(s),null}}}return t.env?.logErrors&&console.error(`Could not find formula ${e.name} in package ${r??""}`,e),null}case"object":return Object.fromEntries(e.arguments?.map(r=>[r.name,v(r.formula,t)])??[]);case"record":return Object.fromEntries(e.entries.map(r=>[r.name,v(r.formula,t)]));case"array":return e.arguments.map(r=>v(r.formula,t));case"apply":{let r=t.component?.formulas?.[e.name];if(!r)return t.env?.logErrors&&console.log("Component does not have a formula with the name ",e.name),null;let o=Object.fromEntries(e.arguments.map(s=>s.isFunction?[s.name,l=>v(s.formula,{...t,data:{...t.data,Args:t.data.Args?{...l,"@toddle.parent":t.data.Args}:l}})]:[s.name,v(s.formula,t)])),n={...t.data,Args:t.data.Args?{...o,"@toddle.parent":t.data.Args}:o},a=t.formulaCache?.[e.name]?.get(n);if(a?.hit)return a.data;{let s=v(r.formula,{...t,data:n});return t.formulaCache?.[e.name]?.set(n,s),s}}default:t.env?.logErrors&&console.error("Could not recognize formula",e)}}catch(r){return t.env?.logErrors&&console.error(r),null}}var B=(e,t)=>Object.fromEntries(Object.entries(e).map(t)),ae=(e,t)=>B(e,([r,o])=>[r,t(o)]),bo=(e,[t,...r])=>{if(r.length>0){let n=Array.isArray(e)?[...e]:{...e};return E(t)&&(n[t]=bo(n[t],r)),n}if(Array.isArray(e))return e.toSpliced(Number(t),1);let o={...e};return E(t)&&delete o[t],o},J=(e,t)=>Object.fromEntries(Object.entries(e).filter(([r])=>!t.includes(r))),vo=(e,t)=>t.reduce((r,o)=>bo(r,o),{...e});function ce(e,[t,...r]){let o=E(t)?e?.[t]:void 0;return r.length===0?o:ce(o,r)}var pe=(e,t,r=!0)=>Ol(Object.entries(e),t,r),Ol=(e,t,r=!0)=>[...e].sort((o,n)=>{let a=t(o),s=t(n);return a===s?0:(a>s?1:-1)*(r?1:-1)});var So=(e,t=0)=>{let r=3735928559^t,o=1103547991^t;for(let n=0,a;n<e.length;n++)a=e.charCodeAt(n),r=Math.imul(r^a,2654435761),o=Math.imul(o^a,1597334677);return r=Math.imul(r^r>>>16,2246822507),r^=Math.imul(o^o>>>13,3266489909),o=Math.imul(o^o>>>16,2246822507),o^=Math.imul(r^r>>>13,3266489909),4294967296*(2097151&o)+(r>>>0)};var H;(function(e){e.GET="GET",e.POST="POST",e.DELETE="DELETE",e.PUT="PUT",e.PATCH="PATCH",e.HEAD="HEAD",e.OPTIONS="OPTIONS"})(H||(H={}));var de=e=>typeof e!="string"?!1:/^application\/(json|.*\+json)/.test(e),Ao=e=>typeof e!="string"?!1:/^(text\/|application\/x-www-form-urlencoded|application\/(xml|.*\+xml))/.test(e),Co=e=>typeof e!="string"?!1:/^text\/event-stream/.test(e),Eo=e=>typeof e!="string"?!1:/^(application\/stream\+json|application\/x-ndjson)/.test(e),wo=e=>typeof e!="string"?!1:/^image\//.test(e),Q=e=>{let t={};for(let[r,o]of e.entries())t[r]?t[r]+=`, ${o}`:t[r]=o;return t};function*N({formula:e,globalFormulas:t,path:r,visitedFormulas:o,packageName:n}){if(!E(e))return;let a=r??[],s=n??void 0,l=o??new Set;switch(yield{path:a,formula:e,packageName:s},e.type){case"path":case"value":break;case"record":for(let[i,c]of e.entries.entries())yield*N({formula:c.formula,globalFormulas:t,path:[...a,"entries",i,"formula"],visitedFormulas:l,packageName:s});break;case"function":{s=e.package??s;let i=[s,e.name].filter(E).join("/"),c=!l.has(i);l.add(i);let d=s?t.packages?.[s]?.formulas?.[e.name]:t.formulas?.[e.name];for(let[u,p]of(e.arguments??[]).entries())yield*N({formula:p.formula,globalFormulas:t,path:[...a,"arguments",u,"formula"],visitedFormulas:l,packageName:s});d&&Vr(d)&&c&&(yield*N({formula:d.formula,globalFormulas:t,path:s?["packages",s,"formulas",e.name]:["formulas",e.name],visitedFormulas:l,packageName:s}));break}case"array":case"or":case"and":case"object":for(let[i,c]of(e.arguments??[]).entries())yield*N({formula:c.formula,globalFormulas:t,path:[...a,"arguments",i,"formula"],visitedFormulas:l,packageName:s});break;case"apply":for(let[i,c]of(e.arguments??[]).entries())yield*N({formula:c.formula,globalFormulas:t,path:[...a,"arguments",i,"formula"],visitedFormulas:l,packageName:s});break;case"switch":for(let[i,c]of e.cases.entries())yield*N({formula:c.condition,globalFormulas:t,path:[...a,"cases",i,"condition"],visitedFormulas:l,packageName:s}),yield*N({formula:c.formula,globalFormulas:t,path:[...a,"cases",i,"formula"],visitedFormulas:l,packageName:s});yield*N({formula:e.default,globalFormulas:t,path:[...a,"default"],visitedFormulas:l,packageName:s});break}}function*_({action:e,globalFormulas:t,path:r,visitedFormulas:o=new Set,packageName:n}){if(!E(e))return;let a=r??[],s=n??void 0;switch(e.type){case"AbortFetch":break;case"Fetch":for(let[l,i]of Object.entries(e.inputs??{}))yield*N({formula:i.formula,globalFormulas:t,path:[...a,"input",l,"formula"],visitedFormulas:o,packageName:s});for(let[l,i]of Object.entries(e.onSuccess?.actions??{}))yield*_({action:i,globalFormulas:t,path:[...a,"onSuccess","actions",l],visitedFormulas:o,packageName:s});for(let[l,i]of Object.entries(e.onError?.actions??{}))yield*_({action:i,globalFormulas:t,path:[...a,"onError","actions",l],visitedFormulas:o,packageName:s});for(let[l,i]of Object.entries(e.onMessage?.actions??{}))yield*_({action:i,globalFormulas:t,path:[...a,"onMessage","actions",l],visitedFormulas:o,packageName:s});break;case"Custom":case void 0:case null:s=e.package??s,W(e.data)&&(yield*N({formula:e.data,globalFormulas:t,path:[...a,"data"],visitedFormulas:o,packageName:s}));for(let[l,i]of Object.entries(e.arguments??{}))i&&(yield*N({formula:i.formula,globalFormulas:t,path:[...a,"arguments",l,"formula"],visitedFormulas:o,packageName:s}));for(let[l,i]of Object.entries(e.events??{}))for(let[c,d]of Object.entries(i.actions??{}))yield*_({action:d,globalFormulas:t,path:[...a,"events",l,"actions",c],visitedFormulas:o,packageName:s});break;case"SetVariable":case"TriggerEvent":case"TriggerWorkflowCallback":yield*N({formula:e.data,globalFormulas:t,path:[...a,"data"],visitedFormulas:o,packageName:s});break;case"SetURLParameter":yield*N({formula:e.data,globalFormulas:t,path:[...a,"data"],visitedFormulas:o});break;case"SetURLParameters":for(let[l,i]of Object.entries(e.parameters??{}))yield*N({formula:i,globalFormulas:t,path:[...a,"parameters",l],visitedFormulas:o});break;case"TriggerWorkflow":for(let[l,i]of Object.entries(e.parameters??{}))E(i.formula)&&(yield*N({formula:i.formula,globalFormulas:t,path:[...a,"parameters",l,"formula"],visitedFormulas:o,packageName:s}));break;case"Switch":E(e.data)&&W(e.data)&&(yield*N({formula:e.data,globalFormulas:t,path:[...a,"data"],visitedFormulas:o,packageName:s}));for(let[l,i]of(e.cases??[]).entries()){yield*N({formula:i.condition,globalFormulas:t,path:[...a,"cases",l,"condition"],visitedFormulas:o,packageName:s});for(let[c,d]of Object.entries(i.actions))yield*_({action:d,globalFormulas:t,path:[...a,"cases",l,"actions",c],visitedFormulas:o,packageName:s})}for(let[l,i]of Object.entries(e.default?.actions??[]))yield*_({action:i,globalFormulas:t,path:[...a,"default","actions",l],visitedFormulas:o,packageName:s});break}}var se=class{api;key;globalFormulas;_apiReferences;constructor(t,r,o){this.api=t,this.key=r,this.globalFormulas=o}get apiReferences(){if(this._apiReferences)return this._apiReferences;let t=new Set,r=o=>{if(E(o))switch(o.type){case"path":if(o.path[0]==="Apis"){let n=o.path[1];typeof n=="string"&&t.add(n)}break;case"value":break;case"record":o.entries.forEach(n=>r(n.formula));break;case"function":case"array":case"or":case"and":case"apply":case"object":o.arguments?.forEach(n=>r(n.formula));break;case"switch":o.cases.forEach(n=>{r(n.condition),r(n.formula)});break}};return r(this.api.autoFetch),r(this.api.url),Object.values(this.api.path??{}).forEach(o=>r(o.formula)),Object.values(this.api.queryParams??{}).forEach(o=>r(o.formula)),W(this.api.headers)?r(this.api.headers):Object.values(this.api.headers??{}).forEach(o=>{r(o)}),r(this.api.body),this._apiReferences=t,t}get name(){return this.api.name}get type(){return this.api.type}get autoFetch(){return this.api.autoFetch}get url(){return this.api.url}get path(){return this.api.path}get proxy(){return this.api.proxy}get queryParams(){return this.api.queryParams}get headers(){return this.api.headers}get method(){return this.api.method}get body(){return this.api.body}get auth(){return this.api.auth}get throttle(){return this.api.throttle}get debounce(){return this.api.debounce}get onCompleted(){return this.api.onCompleted}get onFailed(){return this.api.onFailed}*formulasInApi(){let t=this.api,r=this.key;yield*N({formula:t.autoFetch,globalFormulas:this.globalFormulas,path:["apis",r,"autoFetch"]}),yield*N({formula:t.url,globalFormulas:this.globalFormulas,path:["apis",r,"url"]});for(let[o,n]of Object.entries(t.path??{}))yield*N({formula:n.formula,globalFormulas:this.globalFormulas,path:["apis",r,"path",o,"formula"]});for(let[o,n]of Object.entries(t.queryParams??{}))yield*N({formula:n.formula,globalFormulas:this.globalFormulas,path:["apis",r,"queryParams",o,"formula"]});if(W(t.headers))yield*N({formula:t.headers,globalFormulas:this.globalFormulas,path:["apis",r,"headers"]});else for(let[o,n]of Object.entries(t.headers??{}))yield*N({formula:n,globalFormulas:this.globalFormulas,path:["apis",r,"headers",o]});yield*N({formula:t.body,globalFormulas:this.globalFormulas,path:["apis",r,"body"]});for(let[o,n]of Object.entries(t.onCompleted?.actions??{}))yield*_({action:n,globalFormulas:this.globalFormulas,path:["apis",r,"onCompleted","actions",o]});for(let[o,n]of Object.entries(t.onFailed?.actions??{}))yield*_({action:n,globalFormulas:this.globalFormulas,path:["apis",r,"onFailed","actions",o]})}};function*V(e,t=[]){if(E(e))switch(yield[t,e],e.type){case"AbortFetch":case"SetURLParameter":case"SetURLParameters":case"SetVariable":case"TriggerEvent":case"TriggerWorkflow":case"TriggerWorkflowCallback":break;case"Fetch":for(let[r,o]of Object.entries(e.onSuccess?.actions??{}))yield*V(o,[...t,"onSuccess","actions",r]);for(let[r,o]of Object.entries(e.onError?.actions??{}))yield*V(o,[...t,"onError","actions",r]);for(let[r,o]of Object.entries(e.onMessage?.actions??{}))yield*V(o,[...t,"onMessage","actions",r]);break;case"Custom":case void 0:case null:for(let[r,o]of Object.entries(e.events??{}))for(let[n,a]of Object.entries(o?.actions??{}))yield*V(a,[...t,"events",r,"actions",n]);break;case"Switch":for(let[r,o]of(e.cases??[]).entries())for(let[n,a]of Object.entries(o?.actions??{}))yield*V(a,[...t,"cases",r,"actions",n]);for(let[r,o]of Object.entries(e.default?.actions??[]))yield*V(o,[...t,"default","actions",r]);break}}var fe=class{api;_apiReferences;key;globalFormulas;constructor(t,r,o){this.api=t,this.key=r,this.globalFormulas=o}get apiReferences(){if(this._apiReferences)return this._apiReferences;let t=new Set,r=o=>{if(E(o))switch(o.type){case"path":if(o.path[0]==="Apis"){let n=o.path[1];typeof n=="string"&&t.add(n)}break;case"value":break;case"record":o.entries.forEach(n=>r(n.formula));break;case"function":case"array":case"or":case"and":case"apply":case"object":o.arguments?.forEach(n=>r(n.formula));break;case"switch":o.cases.forEach(n=>{r(n.condition),r(n.formula)});break}};return r(this.api.autoFetch),r(this.api.url),Object.values(this.api.path??{}).forEach(o=>r(o.formula)),Object.values(this.api.headers??{}).forEach(o=>r(o.formula)),r(this.api.body),Object.values(this.api.inputs).forEach(o=>r(o.formula)),Object.values(this.api.queryParams??{}).forEach(o=>{r(o.formula)}),r(this.api.server?.proxy?.enabled?.formula),r(this.api.server?.ssr?.enabled?.formula),r(this.api.client?.debounce?.formula),Object.values(this.api.redirectRules??{}).forEach(o=>{r(o.formula)}),r(this.api.isError?.formula),r(this.api.timeout?.formula),t.delete(this.key),this._apiReferences=t,t}get version(){return this.api.version}get name(){return this.api.name}get type(){return this.api.type}get autoFetch(){return this.api.autoFetch}get url(){return this.api.url}get path(){return this.api.path}get headers(){return this.api.headers}set headers(t){this.api.headers=t}get method(){return this.api.method}get body(){return this.api.body}get inputs(){return this.api.inputs}get queryParams(){return this.api.queryParams}get server(){return this.api.server}get client(){return this.api.client}get redirectRules(){return this.api.redirectRules}get isError(){return this.api.isError}get timeout(){return this.api.timeout}get"@nordcraft/metadata"(){return this.api["@nordcraft/metadata"]}*formulasInApi(){let t=this.api,r=this.key;for(let[o,n]of Object.entries(this.api.inputs))yield*N({formula:n.formula,globalFormulas:this.globalFormulas,path:["apis",r,"inputs",o,"formula"]});yield*N({formula:t.autoFetch,globalFormulas:this.globalFormulas,path:["apis",r,"autoFetch"]}),yield*N({formula:t.url,globalFormulas:this.globalFormulas,path:["apis",r,"url"]});for(let[o,n]of Object.entries(t.path??{}))yield*N({formula:n.formula,globalFormulas:this.globalFormulas,path:["apis",r,"path",o,"formula"]});for(let[o,n]of Object.entries(t.queryParams??{}))yield*N({formula:n.formula,globalFormulas:this.globalFormulas,path:["apis",r,"queryParams",o,"formula"]}),yield*N({formula:n.enabled,globalFormulas:this.globalFormulas,path:["apis",r,"queryParams",o,"enabled"]});for(let[o,n]of Object.entries(t.headers??{}))yield*N({formula:n.formula,globalFormulas:this.globalFormulas,path:["apis",r,"headers",o,"formula"]}),yield*N({formula:n.enabled,globalFormulas:this.globalFormulas,path:["apis",r,"headers",o,"enabled"]});t.method&&Kr.includes(t.method)&&(yield*N({formula:t.body,globalFormulas:this.globalFormulas,path:["apis",r,"body"]}));for(let[o,n]of Object.entries(t.client?.onCompleted?.actions??{}))yield*_({action:n,globalFormulas:this.globalFormulas,path:["apis",r,"client","onCompleted","actions",o]});for(let[o,n]of Object.entries(t.client?.onFailed?.actions??{}))yield*_({action:n,globalFormulas:this.globalFormulas,path:["apis",r,"client","onFailed","actions",o]});yield*N({formula:t.client?.debounce?.formula,globalFormulas:this.globalFormulas,path:["apis",r,"client","debounce","formula"]});for(let[o,n]of Object.entries(t.client?.onMessage?.actions??{}))yield*_({action:n,globalFormulas:this.globalFormulas,path:["apis",r,"client","onMessage","actions",o]});for(let[o,n]of Object.entries(t.redirectRules??{}))yield*N({formula:n.formula,globalFormulas:this.globalFormulas,path:["apis",r,"redirectRules",o,"formula"]});yield*N({formula:t.isError?.formula,globalFormulas:this.globalFormulas,path:["apis",r,"isError","formula"]}),yield*N({formula:t.timeout?.formula,globalFormulas:this.globalFormulas,path:["apis",r,"timeout","formula"]}),yield*N({formula:t.server?.proxy?.enabled.formula,globalFormulas:this.globalFormulas,path:["apis",r,"server","proxy","enabled","formula"]}),yield*N({formula:t.server?.proxy?.useTemplatesInBody?.formula,globalFormulas:this.globalFormulas,path:["apis",r,"server","proxy","useTemplatesInBody","formula"]}),yield*N({formula:t.server?.ssr?.enabled?.formula,globalFormulas:this.globalFormulas,path:["apis",r,"server","ssr","enabled","formula"]})}*actionModelsInApi(){for(let[t,r]of Object.entries(this.api.client?.onCompleted?.actions??{}))yield*V(r,["apis",this.key,"client","onCompleted","actions",t]);for(let[t,r]of Object.entries(this.api.client?.onFailed?.actions??{}))yield*V(r,["apis",this.key,"client","onFailed","actions",t]);for(let[t,r]of Object.entries(this.api.client?.onMessage?.actions??{}))yield*V(r,["apis",this.key,"client","onData","actions",t])}};var me=e=>e instanceof se?!0:!("version"in e),Fo=({api:e,formulaContext:t,baseUrl:r,defaultHeaders:o})=>{let n=Dl(e,t,r),a=Tl({api:e,formulaContext:t,defaultHeaders:o});return{url:n,requestSettings:a}},Dl=(e,t,r)=>{let o="",n=new URLSearchParams,a,s=v(e.url,t);if(["string","number"].includes(typeof s)){let m=typeof s=="number"?String(s):s;try{a=new URL(m,r??void 0),o=a.pathname,n=a.searchParams}catch{}}let l=Nl(e.path,t),i=`${o}${l.length>0&&!o.endsWith("/")?"/":""}${l}`,c=new URLSearchParams([...n,...xl(e.queryParams,t)]),d=[...c.entries()].length>0?`?${c.toString()}`:"",u=v(e.hash?.formula,t),p=typeof u=="string"&&u.length>0?`#${u}`:"";if(a){let m=new URL(a.origin,r??void 0);return m.pathname=i,m.search=c.toString(),m.hash=p,m}else return new URL(`${i}${d}${p}`,r??void 0)},Kr=[H.POST,H.DELETE,H.PUT,H.PATCH,H.OPTIONS],kl=(e,t,r)=>{if(e.timeout){let o=v(e.timeout.formula,r);typeof o=="number"&&!Number.isNaN(o)&&o>0&&(t.signal=AbortSignal.timeout(o))}},Tl=({api:e,formulaContext:t,defaultHeaders:r})=>{let o=Object.values(H).includes(e.method)?e.method:H.GET,n=$l({apiHeaders:e.headers,formulaContext:t,defaultHeaders:r}),a=Pl({api:e,formulaContext:t,headers:n,method:o});n.get("content-type")==="multipart/form-data"&&n.delete("content-type");let s={method:o,headers:n,body:a};return kl(e,s,t),s},Nl=(e,t)=>pe(e??{},([r,o])=>o.index).map(([r,o])=>v(o.formula,t)).join("/"),xl=(e,t)=>{let r=new URLSearchParams;return Object.entries(e??{}).forEach(([o,n])=>{if(!(E(n.enabled)?v(n.enabled,t):!0))return;let s=v(n.formula,t);if(E(s))if(Array.isArray(s))s.forEach(l=>r.append(o,String(l)));else if(U(s)){let l=(i,c)=>{Object.entries(i).forEach(([d,u])=>{if(!Array.isArray(u)&&U(u))return l(u,`${c}[${d}]`);r.set(`${c}[${d}]`,String(u))})};l(s,o)}else r.set(o,String(s))}),r},$l=({apiHeaders:e,formulaContext:t,defaultHeaders:r})=>{let o=new Headers(r);return Object.entries(e??{}).forEach(([n,a])=>{if(E(a.enabled)?v(a.enabled,t):!0){let l=v(a.formula,t);if(E(l))try{o.set(n.trim(),(typeof l=="string"?l:String(l)).trim())}catch{}}}),o};var jo=(e,t)=>So(JSON.stringify({url:e.href,method:t.method,headers:J(Object.fromEntries(Object.entries(t.headers??{})),["host","cookie"]),body:t.body??null})),Ro=({apiName:e,response:t,formulaContext:r,errorFormula:o,performance:n})=>{let a=o?v(o.formula,{component:r.component,package:r.package,toddle:r.toddle,data:{Attributes:{},Args:r.data.Args,Apis:{[e]:{isLoading:!1,data:t.body,error:null,response:{status:t.status,headers:t.headers,performance:n}}}},env:r.env}):null;return a==null?!t.ok:$(a)},Pl=({api:e,formulaContext:t,headers:r,method:o})=>{if(!e.body||!Kr.includes(o))return;let n=v(e.body,t);if(!n)return;let a=r.get("content-type");if(!E(a)||de(a))return JSON.stringify(n);switch(a){case"application/x-www-form-urlencoded":return typeof n=="object"&&n!==null?Object.entries(n).map(([s,l])=>Array.isArray(l)?l.map(i=>`${encodeURIComponent(s)}=${encodeURIComponent(i)}`).join("&"):`${encodeURIComponent(s)}=${encodeURIComponent(String(l))}`).join("&"):"";case"multipart/form-data":{let s=new FormData;return typeof n=="object"&&n!==null&&Object.entries(n).forEach(([l,i])=>{s.set(l,i)}),s}case"text/plain":return String(n);default:return n}},ge=(e,t)=>new CustomEvent(e,{detail:t}),Il=(e,t)=>{let r=e.apiReferences.has(t.name),o=t.apiReferences.has(e.name);return r===o?0:r?1:-1},he=e=>{let t=new Map,r=(o,n)=>{let a=t.get(n);return a||(a=o.version===2?new fe(o,n,{formulas:{},packages:{}}):new se(o,n,{formulas:{},packages:{}}),t.set(n,a)),a};return[...e].sort(([o,n],[a,s])=>{let l=r(n,o),i=r(s,a);return Il(l,i)})};var Ll=(e,t)=>{let r=t.length;for(;r;)e=e*33^t.charCodeAt(--r);return e},Do=e=>Ll(5381,e),Ml=/(a)(d)/gi;var Oo=e=>String.fromCharCode(e+(e>25?39:97));function ko(e){let t="",r;for(r=Math.abs(e);r>52;r=r/52|0)t=Oo(r%52)+t;return(Oo(r%52)+t).replace(Ml,"$1-$2")}var ye=e=>ko(Do(JSON.stringify(e))),be=(e,t=!1)=>{let r=e.trim().replace(/\s+/g,"-");return t&&(r=r.replace(/[^a-zA-Z0-9-_]/g,o=>`\\${o}`)),/^[^a-zA-Z]/.test(r)&&(r=`_${r}`),r};function ql(e){switch(e.type){case"primitive":return e.name==="*"?e.name:`<${e.name}>`;case"custom":return{"font-family":"<custom-ident> | <string>"}[e.name];case"keyword":return e.keywords.join(" | ");default:throw new Error(`Unknown syntax node type: ${e.type}`)}}function To(e,{syntax:t,inherits:r,initialValue:o},n){let a=o;return o?.includes("var(--")&&(a=No(o,n)),!E(a)&&(t.type==="primitive"||t.type==="custom")&&(a=Bl[t.name]),`@property ${e} {
|
|
73
|
+
syntax: "${ql(t)}";
|
|
74
74
|
inherits: ${String(r)};
|
|
75
75
|
initial-value: ${a};
|
|
76
|
-
}`}function
|
|
77
|
-
${Object.values(r).map(n=>
|
|
76
|
+
}`}function No(e,t,r=0){if(r>2**8)return null;let o=/var\((--[a-zA-Z0-9-_]+)\)/g,n;for(;n=o.exec(e);){let a=n[1],s=t.propertyDefinitions?.[a];if(!E(s))return null;let l=s.initialValue,i=e.replace(n[0],String(l));return i.includes("var(--")?No(i,t,r+1):i}return null}var Bl={color:"transparent",length:"0px","length-percentage":"0px",percentage:"0%",number:"0",angle:"0deg",time:"0s",resolution:"0dpi","custom-ident":"none",string:'""',image:"none",url:"none","transform-function":"none","transform-list":"none",integer:"0","font-family":"initial","*":"initial"},te=(e,t)=>E(e)&&E(t)&&!String(e).endsWith(t)?`${e}${t}`:e;var xo=(e,t)=>{let[r,o]=Object.entries(e).reduce(([n,a],[s,l])=>("breakpoints"in l?n[s]=l:a[s]=l,[n,a]),[{},{}]);return`
|
|
77
|
+
${Object.values(r).map(n=>_l(n)).join(`
|
|
78
78
|
`)}
|
|
79
79
|
|
|
80
80
|
${Object.values(o).map(n=>`
|
|
81
|
-
${Object.entries(n.propertyDefinitions??{}).filter(([,a])=>
|
|
81
|
+
${Object.entries(n.propertyDefinitions??{}).filter(([,a])=>E(a)).map(([a,s])=>To(a,s,n)).join(`
|
|
82
82
|
`)}
|
|
83
83
|
|
|
84
|
-
${
|
|
85
|
-
${
|
|
86
|
-
${
|
|
87
|
-
${Object.entries(n.themes??{}).map(([a,s])=>
|
|
84
|
+
${ve(":host, :root",Se(n,n.default))}
|
|
85
|
+
${ve(":host, :root",Se(n,n.defaultDark),"@media (prefers-color-scheme: dark)")}
|
|
86
|
+
${ve(":host, :root",Se(n,n.defaultLight),"@media (prefers-color-scheme: light)")}
|
|
87
|
+
${Object.entries(n.themes??{}).map(([a,s])=>ve(`[${to}~="${a}"]`,Se(n,a))).join(`
|
|
88
88
|
`)}
|
|
89
89
|
`).join(`
|
|
90
90
|
`)}
|
|
91
91
|
|
|
92
|
-
${t.includeResetStyle?
|
|
92
|
+
${t.includeResetStyle?Pe:""}
|
|
93
93
|
@layer base {
|
|
94
94
|
${t.createFontFaces?Object.values(o).map(({fonts:n})=>n).flat().map(n=>`
|
|
95
95
|
${(n.variants??[]).map(a=>`
|
|
@@ -158,7 +158,7 @@ ${t.includeResetStyle?xe:""}
|
|
|
158
158
|
}
|
|
159
159
|
}
|
|
160
160
|
}
|
|
161
|
-
`},
|
|
161
|
+
`},_l=e=>{let t=Object.entries(e.colors).flatMap(([r,{variants:o}])=>Object.entries(o).map(([n,{value:a}])=>`--${r}-${n}:${a}`));return`
|
|
162
162
|
body, :host {
|
|
163
163
|
${Object.entries(e.fontFamily).map(([r,{value:[o,...n]}])=>`--font-${r}: '${o}',${n.join(",")};`).join(`
|
|
164
164
|
`)}
|
|
@@ -207,7 +207,7 @@ body, :host {
|
|
|
207
207
|
`)}
|
|
208
208
|
}
|
|
209
209
|
|
|
210
|
-
${
|
|
210
|
+
${Pe}
|
|
211
211
|
|
|
212
212
|
@keyframes animation-spin {
|
|
213
213
|
from {
|
|
@@ -232,43 +232,43 @@ ${xe}
|
|
|
232
232
|
to {
|
|
233
233
|
opacity:0;
|
|
234
234
|
}
|
|
235
|
-
}`};function
|
|
235
|
+
}`};function ve(e,t,r){if(Object.entries(t).length===0)return"";let o=`${e} {
|
|
236
236
|
${Object.entries(t).map(([n,a])=>`${n}: ${a};`).join(`
|
|
237
237
|
`)}
|
|
238
238
|
}`;return r?`${r} {
|
|
239
239
|
${o}
|
|
240
|
-
}`:o}function
|
|
241
|
-
`)
|
|
240
|
+
}`:o}function Se(e,t){let r={};if(!t)return r;for(let[o,n]of Object.entries(e.propertyDefinitions??{})){let a=n.values?.[t];E(a)&&(r[o]=a)}return r}var Ae=e=>[(e.className??e.class)&&`.${e.className}`,(e.evenChild??e["even-child"]??e["nth-child(even)"])&&":nth-child(even)",(e.firstChild??e["first-child"])&&":first-child",(e.focusWithin??e["focus-within"])&&":focus-within",(e.lastChild??e["last-child"])&&":last-child",e.active&&":active",e.autofill&&":is(:-webkit-autofill, :autofill)",e.checked&&":checked",e.disabled&&":disabled",e.empty&&":empty",e.focus&&":focus",e.hover&&":hover",e.invalid&&":invalid",e.link&&":link",e.visited&&":visited",e["first-of-type"]&&":first-of-type",e["focus-visible"]&&":focus-visible",e["last-of-type"]&&":last-of-type",e["popover-open"]&&":popover-open",e.pseudoElement&&`::${e.pseudoElement}`].filter(Boolean).join("");var Ul={large:1440,small:576,medium:960};function Hl(e){return e.split("").map((t,r)=>"ABCDEFGHIJKLMNOPQRSTYVWXYZ".includes(t)?(r===0?"":"-")+t.toLocaleLowerCase():t).join("")}var Vl=new Set(["width","min-width","max-width","height","min-height","max-height","margin","margin-top","margin-left","margin-bottom","margin-right","padding","padding-top","padding-left","padding-bottom","padding-right","gap","gap-x","gap-y","border-radius","border-bottom-left-radius","border-bottom-right-radius","border-top-left-radius","border-top-right-radius","border-width","border-top-width","border-left-width","border-bottom-width","border-right-width","font-size","top","right","bottom","left","outline-width"]),Kl=e=>Object.entries(e).map(([t,r])=>{if(!E(r))return;let o=Hl(t),n=String(Number(r))===String(r)&&Vl.has(o)?`${Number(r)*4}px`:r;return`${o}:${n};`}).filter(Boolean).join(`
|
|
241
|
+
`),$o=(e,t,r=new Set)=>{try{let o=J(e.style??{},["variants","breakpoints","shadows"]),n=e.variants??e.style?.variants,a=(i,c,d)=>{let u=Object.entries(c).filter(([C])=>C==="scrollbar-width"),p=Kl(c);d?.startingStyle&&(p=`
|
|
242
242
|
@starting-style {
|
|
243
|
-
${
|
|
244
|
-
}`);let
|
|
243
|
+
${p}
|
|
244
|
+
}`);let m=u.length>0?`
|
|
245
245
|
|
|
246
246
|
${i}::-webkit-scrollbar {
|
|
247
247
|
${u.map(([C,j])=>{switch(j){case"none":return"width: 0;";case"thinn":case"thin":return"width: 4px;";default:return""}}).join(`
|
|
248
248
|
`)}
|
|
249
|
-
}`:"";return(
|
|
249
|
+
}`:"";return(p.length>0?`
|
|
250
250
|
|
|
251
251
|
${i} {
|
|
252
|
-
${
|
|
253
|
-
}`:"")+
|
|
252
|
+
${p}
|
|
253
|
+
}`:"")+m},s=(n??[]).map(i=>{let c=a(`.${t}${Ae(i)}`,i.style,{startingStyle:i.startingStyle});return i.mediaQuery?`
|
|
254
254
|
|
|
255
|
-
@media (${Object.entries(i.mediaQuery).filter(([
|
|
255
|
+
@media (${Object.entries(i.mediaQuery).filter(([d,u])=>u!=null).map(([d,u])=>`${d}: ${u}`).join(") and (")}) {${c}
|
|
256
256
|
}`:i.breakpoint?`
|
|
257
257
|
|
|
258
|
-
@media (min-width: ${
|
|
258
|
+
@media (min-width: ${Ul[i.breakpoint]}px) {${c}
|
|
259
259
|
}`:c}).join(""),l=e.animations?Object.entries(e.animations).map(([i,c])=>r.has(i)?"":(r.add(i),`
|
|
260
260
|
|
|
261
|
-
@keyframes ${i} {${Object.values(c).sort((
|
|
261
|
+
@keyframes ${i} {${Object.values(c).sort((d,u)=>d.position-u.position).map(({key:d,position:u,value:p})=>`
|
|
262
262
|
${u*100}% {
|
|
263
|
-
${
|
|
263
|
+
${d}: ${p};
|
|
264
264
|
}`).join(`
|
|
265
265
|
`)}
|
|
266
266
|
}`)).join(`
|
|
267
|
-
`):"";return a("."+t,o)+s+l}catch(o){return console.error(o),""}},xo=(e,t,r,o)=>{let n=new Set,a=new Set,s=Vl(t),l=No(Object.fromEntries(Object.entries(r).map(([f,u])=>"breakpoints"in u?[f,{...u,fontFamily:Object.fromEntries(Object.entries(u.fontFamily).filter(([d,g])=>g.default??s.has("--font-"+d)))}]:[f,{...u,fonts:u.fonts}])),o),i=new Set;function c(f,u){if(!i.has(f.name)){if(i.add(f.name),!f.nodes){console.warn("Unable to find nodes for component",f.name);return}Object.entries(f.nodes).forEach(([d,g])=>{if(g.type==="component"){let C=t.find(j=>j.name===[g.package??u,g.name].filter(S=>S).join("/"));if(C){c(C,g.package??u),l+=To(g,ye(`${f.name}:${d}`,!0),a);return}}if(g.type!=="element")return;let A=he([g.style,g.variants]);if(n.has(A))return"";n.add(A),l+=To(g,A,a)})}}return c(e),l},Vl=e=>new Set(e.flatMap(t=>Object.values(t.nodes??{}).flatMap(r=>r.type==="element"?[r.style?.fontFamily,r.style?.["font-family"],...r.variants?.map(o=>o.style.fontFamily??o.style["font-family"])??[]].filter(F):[])).map(t=>String(t).replace("var(","").replace(")","").replaceAll("'","")));var ee=e=>"triggerActions"in e;var Po=le(oe(),1);function Kl(e){for(var t=[],r=0;r<e.length;){var o=e[r];if(o==="*"||o==="+"||o==="?"){t.push({type:"MODIFIER",index:r,value:e[r++]});continue}if(o==="\\"){t.push({type:"ESCAPED_CHAR",index:r++,value:e[r++]});continue}if(o==="{"){t.push({type:"OPEN",index:r,value:e[r++]});continue}if(o==="}"){t.push({type:"CLOSE",index:r,value:e[r++]});continue}if(o===":"){for(var n="",a=r+1;a<e.length;){var s=e.charCodeAt(a);if(s>=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122||s===95){n+=e[a++];continue}break}if(!n)throw new TypeError("Missing parameter name at ".concat(r));t.push({type:"NAME",index:r,value:n}),r=a;continue}if(o==="("){var l=1,i="",a=r+1;if(e[a]==="?")throw new TypeError('Pattern cannot start with "?" at '.concat(a));for(;a<e.length;){if(e[a]==="\\"){i+=e[a++]+e[a++];continue}if(e[a]===")"){if(l--,l===0){a++;break}}else if(e[a]==="("&&(l++,e[a+1]!=="?"))throw new TypeError("Capturing groups are not allowed at ".concat(a));i+=e[a++]}if(l)throw new TypeError("Unbalanced pattern at ".concat(r));if(!i)throw new TypeError("Missing pattern at ".concat(r));t.push({type:"PATTERN",index:r,value:i}),r=a;continue}t.push({type:"CHAR",index:r,value:e[r++]})}return t.push({type:"END",index:r,value:""}),t}function Wl(e,t){t===void 0&&(t={});for(var r=Kl(e),o=t.prefixes,n=o===void 0?"./":o,a=t.delimiter,s=a===void 0?"/#?":a,l=[],i=0,c=0,f="",u=function(h){if(c<r.length&&r[c].type===h)return r[c++].value},d=function(h){var E=u(h);if(E!==void 0)return E;var w=r[c],k=w.type,L=w.index;throw new TypeError("Unexpected ".concat(k," at ").concat(L,", expected ").concat(h))},g=function(){for(var h="",E;E=u("CHAR")||u("ESCAPED_CHAR");)h+=E;return h},A=function(h){for(var E=0,w=s;E<w.length;E++){var k=w[E];if(h.indexOf(k)>-1)return!0}return!1},C=function(h){var E=l[l.length-1],w=h||(E&&typeof E=="string"?E:"");if(E&&!w)throw new TypeError('Must have text between two parameters, missing text after "'.concat(E.name,'"'));return!w||A(w)?"[^".concat(Vr(s),"]+?"):"(?:(?!".concat(Vr(w),")[^").concat(Vr(s),"])+?")};c<r.length;){var j=u("CHAR"),S=u("NAME"),R=u("PATTERN");if(S||R){var D=j||"";n.indexOf(D)===-1&&(f+=D,D=""),f&&(l.push(f),f=""),l.push({name:S||i++,prefix:D,suffix:"",pattern:R||C(D),modifier:u("MODIFIER")||""});continue}var O=j||u("ESCAPED_CHAR");if(O){f+=O;continue}f&&(l.push(f),f="");var T=u("OPEN");if(T){var D=g(),p=u("NAME")||"",v=u("PATTERN")||"",y=g();d("CLOSE"),l.push({name:p||(v?i++:""),pattern:p&&!v?C(D):v,prefix:D,suffix:y,modifier:u("MODIFIER")||""});continue}d("END")}return l}function $o(e,t){return Jl(Wl(e,t),t)}function Jl(e,t){t===void 0&&(t={});var r=Gl(t),o=t.encode,n=o===void 0?function(i){return i}:o,a=t.validate,s=a===void 0?!0:a,l=e.map(function(i){if(typeof i=="object")return new RegExp("^(?:".concat(i.pattern,")$"),r)});return function(i){for(var c="",f=0;f<e.length;f++){var u=e[f];if(typeof u=="string"){c+=u;continue}var d=i?i[u.name]:void 0,g=u.modifier==="?"||u.modifier==="*",A=u.modifier==="*"||u.modifier==="+";if(Array.isArray(d)){if(!A)throw new TypeError('Expected "'.concat(u.name,'" to not repeat, but got an array'));if(d.length===0){if(g)continue;throw new TypeError('Expected "'.concat(u.name,'" to not be empty'))}for(var C=0;C<d.length;C++){var j=n(d[C],u);if(s&&!l[f].test(j))throw new TypeError('Expected all "'.concat(u.name,'" to match "').concat(u.pattern,'", but got "').concat(j,'"'));c+=u.prefix+j+u.suffix}continue}if(typeof d=="string"||typeof d=="number"){var j=n(String(d),u);if(s&&!l[f].test(j))throw new TypeError('Expected "'.concat(u.name,'" to match "').concat(u.pattern,'", but got "').concat(j,'"'));c+=u.prefix+j+u.suffix;continue}if(!g){var S=A?"an array":"a string";throw new TypeError('Expected "'.concat(u.name,'" to be ').concat(S))}}return c}}function Vr(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function Gl(e){return e&&e.sensitive?"":"i"}var se=({query:e,page:t,route:r,params:o,hash:n})=>{let a;if(r){let i=[];for(let c of r.path)if(c.type==="static")i.push(c.name);else{let f=o[c.name];if(F(f))i.push(f);else break}a="/"+i.join("/")}else a=$o(t,{encode:encodeURIComponent})(o);let s=n===void 0||n===""?"":"#"+n,l=Object.entries(e).filter(([i,c])=>c!==null).map(([i,c])=>`${encodeURIComponent(r?.query[i]?.name??i)}=${encodeURIComponent(String(c))}`).join("&");return`${a}${s}${l.length>0?"?"+l:""}`};function $(e,t,r,o,n){try{if(!e)throw new Error("Action does not exist");switch(e.type){case"Switch":{let a=e.cases.find(({condition:s})=>x(b(s,{data:t,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env})))??e.default;if(!a)return;for(let s of a.actions)$(s,{...t,...r.dataSignal.get()},r,o,n);break}case"SetVariable":{let a=b(e.data,{data:t,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env});r.dataSignal.update(s=>({...s,Variables:{...s.Variables,[e.variable]:a}}));break}case"TriggerEvent":{let a=b(e.data,{data:t,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env});r.triggerEvent(e.event,a);break}case"TriggerWorkflowCallback":{let a=b(e.data,{data:t,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env});n?.(e.event,a);break}case"SetURLParameter":{r.toddle.locationSignal.update(a=>{let s=b(e.data,{data:t,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env}),l,i;if(a.route?.path.some(u=>u.name===e.parameter)?(l="push",i={...a,params:{...W(a.params,[e.parameter]),[e.parameter]:s}}):(l="replace",i={...a,query:{...W(a.query,[e.parameter]),...F(s)?{[e.parameter]:s}:null}}),!l)return a;let c=se(a),f=se(i);return f!==c&&(l=e.historyMode??l,l==="push"?window.history.pushState({},"",f):window.history.replaceState({},"",f)),i});break}case"SetURLParameters":{let a=Object.entries(e.parameters??{});if(a.length===0)return;r.toddle.locationSignal.update(s=>{if(!s.route)return s;let l="replace",i={},c={},f={data:t,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env},u=j=>s.route?.path.some(S=>S.name===j&&S.type==="param"),d=j=>Object.values(s.route?.query??{}).some(S=>S.name===j);for(let[j,S]of a){let R=b(S,f)??null;u(j)?(l="push",c[j]=R):d(j)&&(i[j]=R)}if(Object.keys(c).length===0&&Object.keys(i).length===0)return s;let g={...s,params:{...W(s.params,Object.keys(c)),...c},query:{...W(s.query,Object.keys(i)),...i}};if((0,Po.default)(g,s))return s;let A=se(s),C=se(g);return C!==A&&(l=e.historyMode??l,l==="push"?window.history.pushState({},"",C):window.history.replaceState({},"",C)),g});break}case"Fetch":{let a=r.apis[e.api];if(!a){console.error("The api ",e.api,"does not exist");return}if(ee(a)){let s=ne(e.inputs??{},i=>b(i.formula,{data:t,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env})),l={onCompleted:e.onSuccess?.actions??[],onFailed:e.onError?.actions??[],onMessage:e.onMessage?.actions??[]};a.fetch({actionInputs:s,actionModels:l,componentData:t,workflowCallback:n})}else{let s=l=>{for(let i of l)$(i,{...t,...r.dataSignal.get()},r,o,n)};a.fetch().then(()=>{s(e.onSuccess.actions)},()=>{s(e.onError.actions)})}break}case"TriggerWorkflow":{let a=ne(e.parameters??{},i=>b(i.formula,{data:t,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env})),s=e.callbacks;if(e.contextProvider){let i=r.providers[[r.package,e.contextProvider].filter(F).join("/")]??r.providers[e.contextProvider],c=i?.component.workflows?.[e.workflow];if(!c){i&&console.warn(`Cannot find workflow "${e.workflow}" on component "${e.contextProvider}". It has likely been removed or modified.`);return}c.actions.forEach(f=>$(f,{...t,...i.ctx.dataSignal.get(),Parameters:a},i.ctx,o,(u,d)=>{s?.[u]?.actions?.forEach(A=>$(A,{...t,...r.dataSignal.get(),Parameters:a,Event:d},r,o,n))}));return}let l=r.component.workflows?.[e.workflow];if(!l){console.warn(`Workflow ${e.workflow} does not exist on component ${r.component.name}`);return}l.actions.forEach(i=>$(i,{...t,...r.dataSignal.get(),Parameters:a},r,o,(c,f)=>{s?.[c]?.actions?.forEach(d=>$(d,{...t,...r.dataSignal.get(),Parameters:a,Event:f},r,o,n))}));break}default:try{let a=(l,i)=>{let c=e.events?.[l];c&&c.actions.forEach(f=>$(f,i?{...t,...r.dataSignal.get(),Event:i}:{...t,...r.dataSignal.get()},r,i??o,n))},s=e.version===2?(r.toddle.getCustomAction??r.toddle.getCustomAction)(e.name,e.package??r.package):void 0;if(s){let l=(e.arguments??[]).reduce((c,f)=>f?{...c,[f.name]:b(f.formula,{data:t,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env})}:c,{}),i=s.handler?.(l,{root:r.root,triggerActionEvent:a},o);return i&&(typeof i=="function"||i instanceof Promise)&&r.dataSignal.subscribe(c=>c,{destroy:()=>{i instanceof Promise?i.then(c=>{typeof c=="function"&&c()}).catch(c=>console.error(c)):i()}}),i}else{let l=r.toddle.getAction(e.name);if(!l){console.error("Missing custom action",e.name);return}let i=e.arguments?.map(c=>b(c?.formula,{data:t,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env}))??[b(e.data,{data:t,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env})];return l(i,{...r,triggerActionEvent:a},o)}}catch(a){console.error("Error in Custom Action",a)}}}catch(a){return console.error(a),null}}function Ae(e,t){let r=null;function o(u,d){let g={data:d,component:t.component,formulaCache:t.formulaCache,root:t.root,package:t.package,toddle:t.toddle,env:t.env},A=b(u.url,g)??"",C=u.path&&u.path.length>0?"/"+u.path.map(p=>b(p.formula,g)).join("/"):"",j=Object.values(u.queryParams??{}),S=j.length>0?"?"+j.map(p=>`${p.name}=${encodeURIComponent(b(p.formula,g))}`).join("&"):"",R=K(u.headers)?b(u.headers,{data:d,component:t.component,formulaCache:t.formulaCache,root:t.root,package:t.package,toddle:t.toddle,env:t.env}):ne(u.headers??{},p=>b(p,{data:d,component:t.component,formulaCache:t.formulaCache,root:t.root,package:t.package,toddle:t.toddle,env:t.env})),D=String(Object.entries(R).find(([p])=>p.toLocaleLowerCase()==="content-type")?.[1]),O=u.method??"GET",T=u.body&&["POST","PUT","PATCH","DELETE"].includes(O)?a(b(u.body,{data:d,component:t.component,formulaCache:t.formulaCache,root:t.root,package:t.package,toddle:t.toddle,env:t.env}),D):void 0;return{url:A+C+S,method:O,auth:u.auth,headers:R,body:T}}async function n(u){let d=await u.text();try{return re(d)}catch{return d}}function a(u,d){switch(d){case"application/x-www-form-urlencoded":return typeof u=="object"&&u!==null?Object.entries(u).map(([g,A])=>Array.isArray(A)?A.map(C=>`${encodeURIComponent(g)}=${encodeURIComponent(C)}`).join("&"):`${encodeURIComponent(g)}=${encodeURIComponent(String(A))}`).join("&"):"";case"multipart/form-data":{let g=new FormData;return typeof u=="object"&&u!==null&&Object.entries(u).forEach(([A,C])=>{g.set(A,C)}),g}case"text/plain":return String(u);default:return JSON.stringify(u)}}function s(u){t.dataSignal.set({...t.dataSignal.get(),Apis:{...t.dataSignal.get().Apis,[e.name]:{data:u,error:null,isLoading:!1}}}),e.onCompleted?.actions?.forEach(d=>{$(d,t.dataSignal.get(),t)})}function l(u){t.dataSignal.set({...t.dataSignal.get(),Apis:{...t.dataSignal.get().Apis,[e.name]:{data:null,isLoading:!1,error:u}}}),e.onFailed?.actions?.forEach(d=>{$(d,t.dataSignal.get(),t)})}async function i(u){t.dataSignal.set({...t.dataSignal.get(),Apis:{...t.dataSignal.get().Apis,[e.name]:{data:t.dataSignal.get().Apis?.[e.name]?.data??null,isLoading:!0,error:null}}});let d;try{e.proxy===!1?d=await fetch(u.url,{method:u.method,headers:u.headers,body:u.body}):d=await fetch(`/_query/${encodeURIComponent(t.component.name)}.${encodeURIComponent(e.name)}`,{method:"POST",body:JSON.stringify(u),signal:t.abortSignal,headers:{"Content-Type":"application/json"}});let g=await n(d);if(d.ok)s(g);else throw g}catch(g){return l(g),Promise.reject(g)}}function c(u){return typeof e.debounce=="number"?new Promise((d,g)=>{typeof r=="number"&&clearTimeout(r),r=setTimeout(()=>{i(u).then(d,g)},e.debounce)}):typeof e.throttle=="number"?typeof r=="number"?new Promise(()=>{}):(r=setTimeout(()=>{typeof r=="number"&&clearTimeout(r)},e.throttle),i(u)):i(u)}let f;if(t.dataSignal.update(u=>({...u,Apis:{...u.Apis??{},[e.name]:u.Apis?.[e.name]??{data:null,isLoading:!!(e.autoFetch&&b(e.autoFetch,{data:t.dataSignal.get(),component:t.component,formulaCache:t.formulaCache,root:t.root,package:t.package,toddle:t.toddle,env:t.env})),error:null}}})),e.autoFetch){f=t.dataSignal.map(d=>o(e,d));let u=!0;f.subscribe(d=>{if(e.autoFetch&&b(e.autoFetch,{data:t.dataSignal.get(),component:t.component,formulaCache:t.formulaCache,root:t.root,package:t.package,toddle:t.toddle,env:t.env}))if(u&&t.isRootComponent){u=!1;let g=t.toddle?.pageState?.Apis?.[e.name];g&&g.data?typeof g.data=="string"?s(re(g.data)):s(g.data):c(d)}else c(d)})}return{fetch:u=>{let d=o(e,t.dataSignal.get()),g=d.body,A=new Headers({...d.headers,...u?.headers??{}});u?.body&&(g=a(u.body,A.get("Content-Type")??void 0)),g instanceof FormData&&A.delete("Content-Type");let C={url:u?.url??d.url,method:u?.method??d.method,auth:u?.auth??d.auth,headers:z(A),body:g};return c(C)},destroy:()=>f?.destroy()}}var Lo=({path:e,origin:t})=>{if(typeof e!="string")return!1;try{let r=new URL(e,t),o=new URLSearchParams(r.searchParams);return o.forEach((n,a)=>{r.searchParams.delete(a,n)}),o.forEach((n,a)=>{r.searchParams.append(a,n)}),r}catch{return!1}},Io="x-nordcraft-url",Mo="x-nordcraft-templates-in-body";function Ce({apiRequest:e,componentData:t,ctx:r}){let o=null,n={...e};function a(p,v){let y=window.origin;try{new URL(y)}catch{y=void 0}let h=Eo({api:p,formulaContext:s(p,v),baseUrl:y,defaultHeaders:void 0});return{...h,requestSettings:{...h.requestSettings,credentials:p.client?.credentials&&["include","same-origin","omit"].includes(p.client.credentials)?p.client.credentials:void 0}}}function s(p,v){let y={data:r.dataSignal.get(),component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env},h=Object.entries(p.inputs).reduce((w,[k,L])=>(w[k]=b(L.formula,y),w),{}),E={...v,...y.data,ApiInputs:{...h}};return{component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,data:E,toddle:r.toddle,env:r.env}}function l(p,v){for(let[y,h]of ce(p.redirectRules??{},([E,w])=>w.index)){let E=s(p,v),w=b(h.formula,{...E,data:{...E.data,Apis:{[p.name]:r.dataSignal.get().Apis?.[p.name]}}});if(typeof w=="string"){let k=Lo({path:w,origin:window.location.origin});if(k){if(r.env.runtime==="preview")return window.parent?.postMessage({type:"blockedNavigation",url:k.href},"*"),{name:y,index:h.index,url:k};window.location.replace(k.href)}}}}function i({eventName:p,api:v,data:y,componentData:h,workflowCallback:E}){switch(p){case"message":{let w=me("message",y.body);v.client?.onMessage?.actions?.forEach(k=>{$(k,{...s(v,h).data,Event:w},r,w,E)});break}case"success":{let w=me("success",y.body);v.client?.onCompleted?.actions?.forEach(k=>{$(k,{...s(v,h).data,Event:w},r,w,E)});break}case"failed":{let w=me("failed",{error:y.body,status:y.status});v.client?.onFailed?.actions?.forEach(k=>{$(k,{...s(v,h).data,Event:w},r,w,E)});break}}}function c({api:p,componentData:v,data:y,performance:h}){let E=r.dataSignal.get().Apis?.[p.name]?.response?.performance?.requestStart;if(typeof E=="number"&&E>(h.requestStart??0))return;r.dataSignal.set({...r.dataSignal.get(),Apis:{...r.dataSignal.get().Apis,[p.name]:{isLoading:!1,data:y.body,error:null,response:{status:y.status,headers:y.headers,performance:h}}}});let w=l(p,v);w&&r.dataSignal.set({...r.dataSignal.get(),Apis:{...r.dataSignal.get().Apis,[p.name]:{isLoading:!1,data:y.body,error:null,response:{status:y.status,headers:y.headers,performance:h,...r.env.runtime==="preview"?{debug:{appliedRedirectRule:w}}:{}}}}})}function f({api:p,componentData:v,data:y,performance:h}){let E=r.dataSignal.get().Apis?.[p.name]?.response?.performance?.requestStart;if(typeof E=="number"&&E>(h.requestStart??0))return;r.dataSignal.set({...r.dataSignal.get(),Apis:{...r.dataSignal.get().Apis,[p.name]:{isLoading:!1,data:null,error:y.body,response:{status:y.status,headers:y.headers,performance:h}}}});let w=l(p,v);w&&r.dataSignal.set({...r.dataSignal.get(),Apis:{...r.dataSignal.get().Apis,[p.name]:{isLoading:!1,data:null,error:y.body,response:{status:y.status,headers:y.headers,performance:h,...r.env.runtime==="preview"?{debug:{appliedRedirectRule:w}}:{}}}}})}async function u({api:p,url:v,requestSettings:y,componentData:h,workflowCallback:E}){let w=async()=>{let k={requestStart:Date.now(),responseStart:null,responseEnd:null};r.dataSignal.set({...r.dataSignal.get(),Apis:{...r.dataSignal.get().Apis,[p.name]:{isLoading:!0,data:r.dataSignal.get().Apis?.[p.name]?.data??null,error:null}}});let L;try{if((p.server?.proxy?b(p.server.proxy.enabled.formula,s(p,h))??!1:!1)===!1)L=await fetch(v,y);else{let q=`/.toddle/omvej/components/${encodeURIComponent(r.component.name)}/apis/${encodeURIComponent(r.component.name)}:${encodeURIComponent(p.name)}`,P=new Headers(y.headers);P.set(Io,decodeURIComponent(v.href.replace(/\+/g," "))),x(b(p.server?.proxy?.useTemplatesInBody?.formula,s(p,h)))&&P.set(Mo,"true"),y.headers=P,L=await fetch(q,y)}k.responseStart=Date.now(),await d({api:p,componentData:h,res:L,performance:k,workflowCallback:E});return}catch(I){let q=I.cause?{message:I.message,data:I.cause}:I.message;return f({api:p,componentData:h,data:{body:q},performance:{...k,responseEnd:Date.now()}}),i({eventName:"failed",api:p,data:{body:q},componentData:h,workflowCallback:E}),Promise.reject(I)}};return p.client?.debounce?.formula?new Promise((k,L)=>{typeof o=="number"&&clearTimeout(o),o=setTimeout(()=>{w().then(k,L)},b(p.client?.debounce?.formula,s(p,h)))}):w()}function d({api:p,componentData:v,res:y,performance:h,workflowCallback:E}){let w=p.client?.parserMode??"auto";if(w==="auto"){let k=y.headers.get("content-type");So(k)?w="event-stream":de(k)?w="json":vo(k)?w="text":Ao(k)?w="json-stream":Co(k)?w="blob":w="text"}switch(w){case"text":return g({api:p,componentData:v,res:y,performance:h,workflowCallback:E});case"json":return C({api:p,componentData:v,res:y,performance:h,workflowCallback:E});case"event-stream":return S({api:p,componentData:v,res:y,performance:h,workflowCallback:E});case"json-stream":return A({api:p,componentData:v,res:y,performance:h,workflowCallback:E});case"blob":return j({api:p,componentData:v,res:y,performance:h,workflowCallback:E});default:return g({api:p,componentData:v,res:y,performance:h,workflowCallback:E})}}function g({api:p,res:v,performance:y,componentData:h,workflowCallback:E}){return R({api:p,res:v,performance:y,streamType:"text",useTextDecoder:!0,parseChunk:w=>w,parseChunksForData:w=>w.join(""),componentData:h,workflowCallback:E})}function A({api:p,res:v,performance:y,componentData:h,workflowCallback:E}){return R({api:p,res:v,performance:y,streamType:"json",useTextDecoder:!0,parseChunk:k=>{let L=k;try{L=JSON.parse(k)}catch{throw new Error("Error occurred while parsing the json chunk.",{cause:L})}return L},parseChunksForData:k=>[...k],delimiters:[`\r
|
|
267
|
+
`):"";return a("."+t,o)+s+l}catch(o){return console.error(o),""}},Po=(e,t,r,o)=>{let n=new Set,a=new Set,s=Wl(t),l=xo(Object.fromEntries(Object.entries(r).map(([d,u])=>"breakpoints"in u?[d,{...u,fontFamily:Object.fromEntries(Object.entries(u.fontFamily).filter(([p,m])=>m.default??s.has("--font-"+p)))}]:[d,{...u,fonts:u.fonts}])),o),i=new Set;function c(d,u){if(!i.has(d.name)){if(i.add(d.name),!d.nodes){console.warn("Unable to find nodes for component",d.name);return}Object.entries(d.nodes).forEach(([p,m])=>{if(m.type==="component"){let C=t.find(j=>j.name===[m.package??u,m.name].filter(S=>S).join("/"));if(C){c(C,m.package??u),l+=$o(m,be(`${d.name}:${p}`,!0),a);return}}if(m.type!=="element")return;let A=ye([m.style,m.variants]);if(n.has(A))return"";n.add(A),l+=$o(m,A,a)})}}return c(e),l},Wl=e=>new Set(e.flatMap(t=>Object.values(t.nodes??{}).flatMap(r=>r.type==="element"?[r.style?.fontFamily,r.style?.["font-family"],...r.variants?.map(o=>o.style.fontFamily??o.style["font-family"])??[]].filter(E):[])).map(t=>String(t).replace("var(","").replace(")","").replaceAll("'","")));var Y=e=>"triggerActions"in e,Ce=class{abortControllers=[];applyAbortSignal=t=>{let r=new AbortController;return this.abortControllers.push(r),this.cleanupAbortedControllers(),{...t,signal:t.signal?AbortSignal.any([t.signal,r.signal]):r.signal}};abort=()=>{this.abortControllers.forEach(t=>{t.abort()}),this.abortControllers=[]};cleanupAbortedControllers=()=>{this.abortControllers=this.abortControllers.filter(t=>!t.signal.aborted)}};var Lo=ue(ne(),1);function Jl(e){for(var t=[],r=0;r<e.length;){var o=e[r];if(o==="*"||o==="+"||o==="?"){t.push({type:"MODIFIER",index:r,value:e[r++]});continue}if(o==="\\"){t.push({type:"ESCAPED_CHAR",index:r++,value:e[r++]});continue}if(o==="{"){t.push({type:"OPEN",index:r,value:e[r++]});continue}if(o==="}"){t.push({type:"CLOSE",index:r,value:e[r++]});continue}if(o===":"){for(var n="",a=r+1;a<e.length;){var s=e.charCodeAt(a);if(s>=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122||s===95){n+=e[a++];continue}break}if(!n)throw new TypeError("Missing parameter name at ".concat(r));t.push({type:"NAME",index:r,value:n}),r=a;continue}if(o==="("){var l=1,i="",a=r+1;if(e[a]==="?")throw new TypeError('Pattern cannot start with "?" at '.concat(a));for(;a<e.length;){if(e[a]==="\\"){i+=e[a++]+e[a++];continue}if(e[a]===")"){if(l--,l===0){a++;break}}else if(e[a]==="("&&(l++,e[a+1]!=="?"))throw new TypeError("Capturing groups are not allowed at ".concat(a));i+=e[a++]}if(l)throw new TypeError("Unbalanced pattern at ".concat(r));if(!i)throw new TypeError("Missing pattern at ".concat(r));t.push({type:"PATTERN",index:r,value:i}),r=a;continue}t.push({type:"CHAR",index:r,value:e[r++]})}return t.push({type:"END",index:r,value:""}),t}function Gl(e,t){t===void 0&&(t={});for(var r=Jl(e),o=t.prefixes,n=o===void 0?"./":o,a=t.delimiter,s=a===void 0?"/#?":a,l=[],i=0,c=0,d="",u=function(g){if(c<r.length&&r[c].type===g)return r[c++].value},p=function(g){var y=u(g);if(y!==void 0)return y;var F=r[c],w=F.type,k=F.index;throw new TypeError("Unexpected ".concat(w," at ").concat(k,", expected ").concat(g))},m=function(){for(var g="",y;y=u("CHAR")||u("ESCAPED_CHAR");)g+=y;return g},A=function(g){for(var y=0,F=s;y<F.length;y++){var w=F[y];if(g.indexOf(w)>-1)return!0}return!1},C=function(g){var y=l[l.length-1],F=g||(y&&typeof y=="string"?y:"");if(y&&!F)throw new TypeError('Must have text between two parameters, missing text after "'.concat(y.name,'"'));return!F||A(F)?"[^".concat(Wr(s),"]+?"):"(?:(?!".concat(Wr(F),")[^").concat(Wr(s),"])+?")};c<r.length;){var j=u("CHAR"),S=u("NAME"),R=u("PATTERN");if(S||R){var D=j||"";n.indexOf(D)===-1&&(d+=D,D=""),d&&(l.push(d),d=""),l.push({name:S||i++,prefix:D,suffix:"",pattern:R||C(D),modifier:u("MODIFIER")||""});continue}var O=j||u("ESCAPED_CHAR");if(O){d+=O;continue}d&&(l.push(d),d="");var x=u("OPEN");if(x){var D=m(),T=u("NAME")||"",h=u("PATTERN")||"",b=m();p("CLOSE"),l.push({name:T||(h?i++:""),pattern:T&&!h?C(D):h,prefix:D,suffix:b,modifier:u("MODIFIER")||""});continue}p("END")}return l}function Io(e,t){return zl(Gl(e,t),t)}function zl(e,t){t===void 0&&(t={});var r=Ql(t),o=t.encode,n=o===void 0?function(i){return i}:o,a=t.validate,s=a===void 0?!0:a,l=e.map(function(i){if(typeof i=="object")return new RegExp("^(?:".concat(i.pattern,")$"),r)});return function(i){for(var c="",d=0;d<e.length;d++){var u=e[d];if(typeof u=="string"){c+=u;continue}var p=i?i[u.name]:void 0,m=u.modifier==="?"||u.modifier==="*",A=u.modifier==="*"||u.modifier==="+";if(Array.isArray(p)){if(!A)throw new TypeError('Expected "'.concat(u.name,'" to not repeat, but got an array'));if(p.length===0){if(m)continue;throw new TypeError('Expected "'.concat(u.name,'" to not be empty'))}for(var C=0;C<p.length;C++){var j=n(p[C],u);if(s&&!l[d].test(j))throw new TypeError('Expected all "'.concat(u.name,'" to match "').concat(u.pattern,'", but got "').concat(j,'"'));c+=u.prefix+j+u.suffix}continue}if(typeof p=="string"||typeof p=="number"){var j=n(String(p),u);if(s&&!l[d].test(j))throw new TypeError('Expected "'.concat(u.name,'" to match "').concat(u.pattern,'", but got "').concat(j,'"'));c+=u.prefix+j+u.suffix;continue}if(!m){var S=A?"an array":"a string";throw new TypeError('Expected "'.concat(u.name,'" to be ').concat(S))}}return c}}function Wr(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function Ql(e){return e&&e.sensitive?"":"i"}var ie=({query:e,page:t,route:r,params:o,hash:n})=>{let a;if(r){let i=[];for(let c of r.path)if(c.type==="static")i.push(c.name);else{let d=o[c.name];if(E(d))i.push(d);else break}a="/"+i.join("/")}else a=Io(t,{encode:encodeURIComponent})(o);let s=n===void 0||n===""?"":"#"+n,l=Object.entries(e).filter(([i,c])=>c!==null).map(([i,c])=>`${encodeURIComponent(r?.query[i]?.name??i)}=${encodeURIComponent(String(c))}`).join("&");return`${a}${s}${l.length>0?"?"+l:""}`};function P(e,t,r,o,n){try{if(!e)throw new Error("Action does not exist");switch(e.type){case"Switch":{let a=e.cases?.find(({condition:s})=>$(v(s,{data:t,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env})))??e.default;for(let s of a?.actions??[])P(s,{...t,...r.dataSignal.get()},r,o,n);break}case"SetVariable":{let a=v(e.data,{data:t,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env});r.dataSignal.update(s=>({...s,Variables:{...s.Variables,[e.variable]:a}}));break}case"TriggerEvent":{let a=v(e.data,{data:t,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env});r.triggerEvent(e.event,a);break}case"TriggerWorkflowCallback":{let a=v(e.data,{data:t,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env});n?.(e.event,a);break}case"SetURLParameter":{r.toddle.locationSignal.update(a=>{let s=v(e.data,{data:t,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env}),l,i;if(a.route?.path.some(u=>u.name===e.parameter)?(l="push",i={...a,params:{...J(a.params,[e.parameter]),[e.parameter]:s}}):(l="replace",i={...a,query:{...J(a.query,[e.parameter]),...E(s)?{[e.parameter]:s}:null}}),!l)return a;let c=ie(a),d=ie(i);return d!==c&&(l=e.historyMode??l,l==="push"?window.history.pushState({},"",d):window.history.replaceState({},"",d)),i});break}case"SetURLParameters":{let a=Object.entries(e.parameters??{});if(a.length===0)return;r.toddle.locationSignal.update(s=>{if(!s.route)return s;let l="replace",i={},c={},d={data:t,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env},u=j=>s.route?.path.some(S=>S.name===j&&S.type==="param"),p=j=>Object.values(s.route?.query??{}).some(S=>S.name===j);for(let[j,S]of a){let R=v(S,d)??null;u(j)?(l="push",c[j]=R):p(j)&&(i[j]=R)}if(Object.keys(c).length===0&&Object.keys(i).length===0)return s;let m={...s,params:{...J(s.params,Object.keys(c)),...c},query:{...J(s.query,Object.keys(i)),...i}};if((0,Lo.default)(m,s))return s;let A=ie(s),C=ie(m);return C!==A&&(l=e.historyMode??l,l==="push"?window.history.pushState({},"",C):window.history.replaceState({},"",C)),m});break}case"Fetch":{let a=r.apis[e.api];if(!a){console.error("The api ",e.api,"does not exist");return}if(Y(a)){let s=ae(e.inputs??{},i=>v(i.formula,{data:t,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env})),l={onCompleted:e.onSuccess?.actions??[],onFailed:e.onError?.actions??[],onMessage:e.onMessage?.actions??[]};a.fetch({actionInputs:s,actionModels:l,componentData:t,workflowCallback:n})}else{let s=l=>{for(let i of l)P(i,{...t,...r.dataSignal.get()},r,o,n)};a.fetch().then(()=>{s(e.onSuccess?.actions??[])},()=>{s(e.onError?.actions??[])})}break}case"AbortFetch":{let a=r.apis[e.api];if(!a){console.error("The api ",e.api,"does not exist");return}Y(a)?a.cancel():console.warn(`AbortFetch action is not supported for API "${e.api}" as it is not a v2 API.`);break}case"TriggerWorkflow":{let a=ae(e.parameters??{},i=>v(i.formula,{data:t,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env})),s=e.callbacks;if(e.contextProvider){let i=r.providers[[r.package,e.contextProvider].filter(E).join("/")]??r.providers[e.contextProvider],c=i?.component.workflows?.[e.workflow];if(!c){i&&console.warn(`Cannot find workflow "${e.workflow}" on component "${e.contextProvider}". It has likely been removed or modified.`);return}c.actions.forEach(d=>P(d,{...t,...i.ctx.dataSignal.get(),Parameters:a},i.ctx,o,(u,p)=>{s?.[u]?.actions?.forEach(A=>P(A,{...t,...r.dataSignal.get(),Parameters:a,Event:p},r,o,n))}));return}let l=r.component.workflows?.[e.workflow];if(!l){console.warn(`Workflow ${e.workflow} does not exist on component ${r.component.name}`);return}l.actions.forEach(i=>P(i,{...t,...r.dataSignal.get(),Parameters:a},r,o,(c,d)=>{s?.[c]?.actions?.forEach(p=>P(p,{...t,...r.dataSignal.get(),Parameters:a,Event:d},r,o,n))}));break}default:try{let a=(l,i)=>{let c=e.events?.[l];c&&c.actions?.forEach(d=>P(d,i?{...t,...r.dataSignal.get(),Event:i}:{...t,...r.dataSignal.get()},r,i??o,n))},s=e.version===2?(r.toddle.getCustomAction??r.toddle.getCustomAction)(e.name,e.package??r.package):void 0;if(s){let l=(e.arguments??[]).reduce((c,d)=>d?{...c,[d.name]:v(d.formula,{data:t,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env})}:c,{}),i=s.handler?.(l,{root:r.root,triggerActionEvent:a},o);return i&&(typeof i=="function"||i instanceof Promise)&&r.dataSignal.subscribe(c=>c,{destroy:()=>{i instanceof Promise?i.then(c=>{typeof c=="function"&&c()}).catch(c=>console.error(c)):i()}}),i}else{let l=r.toddle.getAction(e.name);if(!l){console.error("Missing custom action",e.name);return}let i=e.arguments?.map(c=>v(c?.formula,{data:t,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env}))??[v(e.data,{data:t,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env})];return l(i,{...r,triggerActionEvent:a},o)}}catch(a){console.error("Error in Custom Action",a)}}}catch(a){return console.error(a),null}}function Ee(e,t){let r=null;function o(u,p){let m={data:p,component:t.component,formulaCache:t.formulaCache,root:t.root,package:t.package,toddle:t.toddle,env:t.env},A=v(u.url,m)??"",C=u.path&&u.path.length>0?"/"+u.path.map(T=>v(T.formula,m)).join("/"):"",j=Object.values(u.queryParams??{}),S=j.length>0?"?"+j.map(T=>`${T.name}=${encodeURIComponent(v(T.formula,m))}`).join("&"):"",R=W(u.headers)?v(u.headers,{data:p,component:t.component,formulaCache:t.formulaCache,root:t.root,package:t.package,toddle:t.toddle,env:t.env}):ae(u.headers??{},T=>v(T,{data:p,component:t.component,formulaCache:t.formulaCache,root:t.root,package:t.package,toddle:t.toddle,env:t.env})),D=String(Object.entries(R).find(([T])=>T.toLocaleLowerCase()==="content-type")?.[1]),O=u.method??"GET",x=u.body&&["POST","PUT","PATCH","DELETE"].includes(O)?a(v(u.body,{data:p,component:t.component,formulaCache:t.formulaCache,root:t.root,package:t.package,toddle:t.toddle,env:t.env}),D):void 0;return{url:A+C+S,method:O,auth:u.auth,headers:R,body:x}}async function n(u){let p=await u.text();try{return oe(p)}catch{return p}}function a(u,p){switch(p){case"application/x-www-form-urlencoded":return typeof u=="object"&&u!==null?Object.entries(u).map(([m,A])=>Array.isArray(A)?A.map(C=>`${encodeURIComponent(m)}=${encodeURIComponent(C)}`).join("&"):`${encodeURIComponent(m)}=${encodeURIComponent(String(A))}`).join("&"):"";case"multipart/form-data":{let m=new FormData;return typeof u=="object"&&u!==null&&Object.entries(u).forEach(([A,C])=>{m.set(A,C)}),m}case"text/plain":return String(u);default:return JSON.stringify(u)}}function s(u){t.dataSignal.set({...t.dataSignal.get(),Apis:{...t.dataSignal.get().Apis,[e.name]:{data:u,error:null,isLoading:!1}}}),e.onCompleted?.actions?.forEach(p=>{P(p,t.dataSignal.get(),t)})}function l(u){t.dataSignal.set({...t.dataSignal.get(),Apis:{...t.dataSignal.get().Apis,[e.name]:{data:null,isLoading:!1,error:u}}}),e.onFailed?.actions?.forEach(p=>{P(p,t.dataSignal.get(),t)})}async function i(u){t.dataSignal.set({...t.dataSignal.get(),Apis:{...t.dataSignal.get().Apis,[e.name]:{data:t.dataSignal.get().Apis?.[e.name]?.data??null,isLoading:!0,error:null}}});let p;try{e.proxy===!1?p=await fetch(u.url,{method:u.method,headers:u.headers,body:u.body}):p=await fetch(`/_query/${encodeURIComponent(t.component.name)}.${encodeURIComponent(e.name)}`,{method:"POST",body:JSON.stringify(u),signal:t.abortSignal,headers:{"Content-Type":"application/json"}});let m=await n(p);if(p.ok)s(m);else throw m}catch(m){return l(m),Promise.reject(m)}}function c(u){return typeof e.debounce=="number"?new Promise((p,m)=>{typeof r=="number"&&clearTimeout(r),r=setTimeout(()=>{i(u).then(p,m)},e.debounce)}):typeof e.throttle=="number"?typeof r=="number"?new Promise(()=>{}):(r=setTimeout(()=>{typeof r=="number"&&clearTimeout(r)},e.throttle),i(u)):i(u)}let d;if(t.dataSignal.update(u=>({...u,Apis:{...u.Apis??{},[e.name]:u.Apis?.[e.name]??{data:null,isLoading:!!(e.autoFetch&&v(e.autoFetch,{data:t.dataSignal.get(),component:t.component,formulaCache:t.formulaCache,root:t.root,package:t.package,toddle:t.toddle,env:t.env})),error:null}}})),e.autoFetch){d=t.dataSignal.map(p=>o(e,p));let u=!0;d.subscribe(p=>{if(e.autoFetch&&v(e.autoFetch,{data:t.dataSignal.get(),component:t.component,formulaCache:t.formulaCache,root:t.root,package:t.package,toddle:t.toddle,env:t.env}))if(u&&t.isRootComponent){u=!1;let m=t.toddle?.pageState?.Apis?.[e.name];m&&m.data?typeof m.data=="string"?s(oe(m.data)):s(m.data):c(p)}else c(p)})}return{fetch:u=>{let p=o(e,t.dataSignal.get()),m=p.body,A=new Headers({...p.headers,...u?.headers??{}});u?.body&&(m=a(u.body,A.get("Content-Type")??void 0)),m instanceof FormData&&A.delete("Content-Type");let C={url:u?.url??p.url,method:u?.method??p.method,auth:u?.auth??p.auth,headers:Q(A),body:m};return c(C)},destroy:()=>d?.destroy()}}var Mo=({path:e,origin:t})=>{if(typeof e!="string")return!1;try{let r=new URL(e,t),o=new URLSearchParams(r.searchParams);return o.forEach((n,a)=>{r.searchParams.delete(a,n)}),o.forEach((n,a)=>{r.searchParams.append(a,n)}),r}catch{return!1}},qo="x-nordcraft-url",Bo="x-nordcraft-templates-in-body";function we({apiRequest:e,componentData:t,ctx:r}){let o=null,n={...e};function a(h,b){let g=window.origin;try{new URL(g)}catch{g=void 0}let y=Fo({api:h,formulaContext:s(h,b),baseUrl:g,defaultHeaders:void 0});return{...y,requestSettings:{...y.requestSettings,credentials:h.client?.credentials&&["include","same-origin","omit"].includes(h.client.credentials)?h.client.credentials:void 0}}}function s(h,b){let g={data:r.dataSignal.get(),component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env},y=Object.entries(h.inputs).reduce((w,[k,M])=>(w[k]=v(M.formula,g),w),{}),F={...b,...g.data,ApiInputs:{...y}};return{component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,data:F,toddle:r.toddle,env:r.env}}function l(h,b){for(let[g,y]of pe(h.redirectRules??{},([F,w])=>w.index)){let F=s(h,b),w=v(y.formula,{...F,data:{...F.data,Apis:{[h.name]:r.dataSignal.get().Apis?.[h.name]}}});if(typeof w=="string"){let k=Mo({path:w,origin:window.location.origin});if(k){if(r.env.runtime==="preview")return window.parent?.postMessage({type:"blockedNavigation",url:k.href},"*"),{name:g,index:y.index,url:k};window.location.replace(k.href)}}}}function i({eventName:h,api:b,data:g,componentData:y,workflowCallback:F}){switch(h){case"message":{let w=ge("message",g.body);b.client?.onMessage?.actions?.forEach(k=>{P(k,{...s(b,y).data,Event:w},r,w,F)});break}case"success":{let w=ge("success",g.body);b.client?.onCompleted?.actions?.forEach(k=>{P(k,{...s(b,y).data,Event:w},r,w,F)});break}case"failed":{let w=ge("failed",{error:g.body,status:g.status});b.client?.onFailed?.actions?.forEach(k=>{P(k,{...s(b,y).data,Event:w},r,w,F)});break}}}function c({api:h,componentData:b,data:g,performance:y}){let F=r.dataSignal.get().Apis?.[h.name]?.response?.performance?.requestStart;if(typeof F=="number"&&F>(y.requestStart??0))return;r.dataSignal.set({...r.dataSignal.get(),Apis:{...r.dataSignal.get().Apis,[h.name]:{isLoading:!1,data:g.body,error:null,response:{status:g.status,headers:g.headers,performance:y}}}});let w=l(h,b);w&&r.dataSignal.set({...r.dataSignal.get(),Apis:{...r.dataSignal.get().Apis,[h.name]:{isLoading:!1,data:g.body,error:null,response:{status:g.status,headers:g.headers,performance:y,...r.env.runtime==="preview"?{debug:{appliedRedirectRule:w}}:{}}}}})}function d({api:h,componentData:b,data:g,performance:y}){let F=r.dataSignal.get().Apis?.[h.name]?.response?.performance?.requestStart;if(typeof F=="number"&&F>(y.requestStart??0))return;r.dataSignal.set({...r.dataSignal.get(),Apis:{...r.dataSignal.get().Apis,[h.name]:{isLoading:!1,data:null,error:g.body,response:{status:g.status,headers:g.headers,performance:y}}}});let w=l(h,b);w&&r.dataSignal.set({...r.dataSignal.get(),Apis:{...r.dataSignal.get().Apis,[h.name]:{isLoading:!1,data:null,error:g.body,response:{status:g.status,headers:g.headers,performance:y,...r.env.runtime==="preview"?{debug:{appliedRedirectRule:w}}:{}}}}})}async function u({api:h,url:b,requestSettings:g,componentData:y,workflowCallback:F}){let w=async()=>{let k={requestStart:Date.now(),responseStart:null,responseEnd:null};r.dataSignal.set({...r.dataSignal.get(),Apis:{...r.dataSignal.get().Apis,[h.name]:{isLoading:!0,data:r.dataSignal.get().Apis?.[h.name]?.data??null,error:null}}});let M;try{let L=h.server?.proxy?v(h.server.proxy.enabled.formula,s(h,y))??!1:!1;if(g=T.applyAbortSignal(g),L===!1)M=await fetch(b,g);else{let q=`/.toddle/omvej/components/${encodeURIComponent(r.component.name)}/apis/${encodeURIComponent(r.component.name)}:${encodeURIComponent(h.name)}`,I=new Headers(g.headers);I.set(qo,decodeURIComponent(b.href.replace(/\+/g," "))),$(v(h.server?.proxy?.useTemplatesInBody?.formula,s(h,y)))&&I.set(Bo,"true"),g.headers=I,M=await fetch(q,g)}k.responseStart=Date.now(),await p({api:h,componentData:y,res:M,performance:k,workflowCallback:F});return}catch(L){let q="Unknown error";return L instanceof Error&&(q=L.cause?{message:L.message,data:L.cause}:L.message,L.name==="TimeoutError"||L.name==="AbortError"&&(q="Request was aborted")),d({api:h,componentData:y,data:{body:q},performance:{...k,responseEnd:Date.now()}}),i({eventName:"failed",api:h,data:{body:q},componentData:y,workflowCallback:F}),Promise.reject(L)}};return h.client?.debounce?.formula?new Promise((k,M)=>{typeof o=="number"&&clearTimeout(o),o=setTimeout(()=>{w().then(k,M)},v(h.client?.debounce?.formula,s(h,y)))}):w()}function p({api:h,componentData:b,res:g,performance:y,workflowCallback:F}){let w=h.client?.parserMode??"auto";if(w==="auto"){let k=g.headers.get("content-type");Co(k)?w="event-stream":de(k)?w="json":Ao(k)?w="text":Eo(k)?w="json-stream":wo(k)?w="blob":w="text"}switch(w){case"text":return m({api:h,componentData:b,res:g,performance:y,workflowCallback:F});case"json":return C({api:h,componentData:b,res:g,performance:y,workflowCallback:F});case"event-stream":return S({api:h,componentData:b,res:g,performance:y,workflowCallback:F});case"json-stream":return A({api:h,componentData:b,res:g,performance:y,workflowCallback:F});case"blob":return j({api:h,componentData:b,res:g,performance:y,workflowCallback:F});default:return m({api:h,componentData:b,res:g,performance:y,workflowCallback:F})}}function m({api:h,res:b,performance:g,componentData:y,workflowCallback:F}){return R({api:h,res:b,performance:g,streamType:"text",useTextDecoder:!0,parseChunk:w=>w,parseChunksForData:w=>w.join(""),componentData:y,workflowCallback:F})}function A({api:h,res:b,performance:g,componentData:y,workflowCallback:F}){return R({api:h,res:b,performance:g,streamType:"json",useTextDecoder:!0,parseChunk:k=>{let M=k;try{M=JSON.parse(k)}catch{throw new Error("Error occurred while parsing the json chunk.",{cause:M})}return M},parseChunksForData:k=>[...k],delimiters:[`\r
|
|
268
268
|
`,`
|
|
269
|
-
`],componentData:
|
|
269
|
+
`],componentData:y,workflowCallback:F})}async function C({api:h,componentData:b,res:g,performance:y,workflowCallback:F}){let k={data:await g.json(),isLoading:!1,error:null,response:{status:g.status,headers:Q(g.headers)}};return D({api:h,apiStatus:k,componentData:b,performance:y,workflowCallback:F})}async function j({api:h,componentData:b,res:g,performance:y,workflowCallback:F}){let w=await g.blob(),k={isLoading:!1,data:URL.createObjectURL(w),error:null,response:{status:g.status,headers:Q(g.headers)}};return D({api:h,apiStatus:k,componentData:b,performance:y,workflowCallback:F})}function S({api:h,res:b,performance:g,componentData:y,workflowCallback:F}){return R({api:h,res:b,performance:g,streamType:"event",useTextDecoder:!0,parseChunk:k=>{let M=k.match(/event: (.*)/)?.[1]??"message",L=k.match(/data: (.*)/)?.[1]??"",q=k.match(/id: (.*)/)?.[1],I=k.match(/retry: (.*)/)?.[1],ee=L;try{ee=JSON.parse(L??"")}catch{}return{event:M,data:ee,...q?{id:q}:{},...I?{retry:I}:{}}},parseChunksForData:k=>[...k],delimiters:[`
|
|
270
270
|
|
|
271
271
|
`,`\r
|
|
272
272
|
\r
|
|
273
|
-
`],componentData:h,workflowCallback:E})}async function R({api:p,res:v,performance:y,streamType:h,useTextDecoder:E,parseChunk:w,parseChunksForData:k,delimiters:L,componentData:I,workflowCallback:q}){let P={chunks:[],currentChunk:"",add(G){let V=w(G);this.chunks.push(V),V&&(r.dataSignal.set({...r.dataSignal.get(),Apis:{...r.dataSignal.get().Apis,[p.name]:{isLoading:!0,data:k(this.chunks),error:null,response:{headers:z(v.headers)}}}}),(p.client?.onMessage?.actions??[]).length>0&&i({eventName:"message",api:p,data:{body:V},componentData:I,workflowCallback:q}))},processChunk(G){let V=L?.find(Oe=>G.includes(Oe)),Qr=this.currentChunk+G,Yr=V?Qr.split(V):[Qr];this.currentChunk=Yr.pop()??"",Yr.forEach(Oe=>this.add(Oe))}},Z=E?v.body?.pipeThrough(new TextDecoderStream).getReader():v.body?.getReader();for(;Z;){let{done:G,value:V}=await Z.read();if(G)break;L?P.processChunk(V):P.add(V)}P.currentChunk&&P.add(P.currentChunk);let ie={isLoading:!1,data:P.chunks,error:null,response:{status:v.status,headers:z(v.headers)}};try{if(h==="json"){let G=JSON.parse(P.chunks.join(""));ie.data=G}else h==="text"&&(ie.data=P.chunks.join(""))}catch{throw new Error("Error occurred while parsing the json chunk.",{cause:P.chunks.join("")})}return D({api:p,apiStatus:ie,componentData:I,performance:y,workflowCallback:q})}function D({api:p,apiStatus:v,componentData:y,performance:h,workflowCallback:E}){h.responseEnd=Date.now();let w={body:v.data,status:v.response?.status,headers:v.response?.headers??void 0};Fo({apiName:p.name,response:{body:w.body,ok:!!(!v.error&&v.response?.status&&v.response.status<400),status:w.status,headers:w.headers},formulaContext:s(p,y),errorFormula:p.isError,performance:h})?(!w.body&&v.error&&(w.body=v.error),f({api:p,componentData:y,data:w,performance:h}),i({eventName:"failed",api:p,componentData:y,data:w,workflowCallback:E})):(c({api:p,componentData:y,data:w,performance:h}),i({eventName:"success",api:p,componentData:y,data:w,workflowCallback:E}))}function O(p){return yo(p,[["client","onCompleted"],["client","onFailed"],["client","onMessage"],["service"],["server","ssr"]])}let T;return T=r.dataSignal.map(p=>{let v=s(n,p),y=a(n,p);return{request:y,api:O(n),headers:Array.from(y.requestSettings.headers.entries()),autoFetch:n.autoFetch?b(n.autoFetch,v):!1,proxy:b(n.server?.proxy?.enabled.formula,v)}}),T.subscribe(async p=>{let{url:v,requestSettings:y}=p.request,h=F(n.autoFetch)&&(n.autoFetch.type!=="value"||n.autoFetch.value===!0)&&(window?.__toddle?.isPageLoaded??!1)===!1?r.toddle.pageState.Apis?.[wo(v,y)]:void 0;h?h.error?f({api:n,data:{body:h.error,status:h.response?.status,headers:h.response?.headers??void 0},performance:{requestStart:h.response?.performance?.requestStart??null,responseStart:h.response?.performance?.responseStart??null,responseEnd:h.response?.performance?.responseEnd??null},componentData:t}):c({api:n,data:{body:h.data,status:h.response?.status,headers:h.response?.headers??void 0},performance:{requestStart:h.response?.performance?.requestStart??null,responseStart:h.response?.performance?.responseStart??null,responseEnd:h.response?.performance?.responseEnd??null},componentData:t}):b(n.autoFetch,s(n,t))?await u({api:n,url:v,requestSettings:y,componentData:t}):r.dataSignal.get().Apis?.[n.name]||r.dataSignal.update(E=>({...E,Apis:{...E.Apis??{},[n.name]:{isLoading:!1,data:null,error:null}}}))}),{fetch:({actionInputs:p,actionModels:v,componentData:y,workflowCallback:h})=>{let E=Object.entries(p??{}).reduce((I,[q,P])=>(P!==null&&typeof P=="object"&&"formula"in P?I[q]=P:I[q]={formula:{type:"value",value:P}},I),{}),w={...n,inputs:{...n.inputs,...E},client:{...n.client,parserMode:n.client?.parserMode??"auto",onCompleted:{trigger:n.client?.onCompleted?.trigger??"success",actions:[...n.client?.onCompleted?.actions??[],...v?.onCompleted??[]]},onFailed:{trigger:n.client?.onFailed?.trigger??"failed",actions:[...n.client?.onFailed?.actions??[],...v?.onFailed??[]]},onMessage:{trigger:n.client?.onMessage?.trigger??"message",actions:[...n.client?.onMessage?.actions??[],...v?.onMessage??[]]}}},{url:k,requestSettings:L}=a(w,y);return u({api:w,url:k,requestSettings:L,componentData:y,workflowCallback:h})},update:(p,v)=>{n=p;let y=s(n,v),h=n.autoFetch&&b(n.autoFetch,y);if(h){let E=a(p,v);T?.set({request:E,api:O(p),autoFetch:h,proxy:b(p.server?.proxy?.enabled.formula,y),headers:Array.from(E.requestSettings.headers.entries())})}},triggerActions:p=>{let v=r.dataSignal.get().Apis?.[n.name];v===void 0||v.data===null&&v.error===null||(v.error?i({eventName:"failed",api:n,data:{body:v.error,status:v.response?.status},componentData:p}):i({eventName:"success",api:n,data:{body:v.data},componentData:p}))},destroy:()=>T?.destroy()}}var zo=le(oe(),1);var Ee=class{batchQueue=[];isProcessing=!1;processBatch(){this.isProcessing||(this.isProcessing=!0,requestAnimationFrame(()=>{for(;this.batchQueue.length>0;)this.batchQueue.shift()?.();this.isProcessing=!1}))}add(t){this.batchQueue.push(t),this.processBatch()}};var Wr=le(oe(),1),Kr=class{value;subscribers;subscriptions;destroying=!1;constructor(t){this.value=t,this.subscribers=new Set,this.subscriptions=[]}get(){return this.value}set(t){if(this.subscribers.size===0){this.value=t;return}if((0,Wr.default)(t,this.value)===!1){this.value=t;for(let r of this.subscribers)r.notify(this.value)}}update(t){this.set(t(this.value))}subscribe(t,r){let o={notify:t,destroy:r?.destroy};return this.subscribers.add(o),t(this.value),()=>{this.subscribers.delete(o)}}destroy(){if(!this.destroying){this.destroying=!0;for(let t of this.subscribers)t.destroy?.();this.subscribers.clear();for(let t of this.subscriptions)t();this.subscriptions.splice(0,this.subscriptions.length),this.destroying=!1}}cleanSubscribers(){for(let t of this.subscribers)t.destroy?.();this.subscribers.clear()}map(t){let r=J(t(this.value));return r.subscriptions.push(this.subscribe(o=>r.set(t(o)),{destroy:()=>r.destroy()})),r}};function J(e){return new Kr(e)}typeof window<"u"&&(window.signal=J,window.deepEqual=Wr.default);var Jr=(e,t)=>{let o=e.split(".").slice(-1)[0],n=parseInt(o),a=parseInt(String(o.split("(")[1]));for(let s of t.children){let i=s.getAttribute("data-id")?.split(".").slice(-1)[0],c=parseInt(String(i));if(c===n&&parseInt(String(i?.split("(")[1]))>a||c>n)return s}return null};function qo(e,t,r=null){let o=r,n=o?o.previousSibling:e.lastChild;for(let a=t.length-1;a>=0;a--){let s=t[a];s===n?n=s.previousSibling:e.insertBefore(s,o),o=s}}function Q(e,{componentName:t,nodeId:r,variant:o}={}){let n=`[data-id="${e}"]`;return t&&(n+=`.${t}`),r&&(n+=`\\:${r}`),o&&(n+=Se(o)),n}var we=e=>e.formulas&&Object.values(e.formulas).some(({exposeInContext:t})=>t)||e.workflows&&Object.values(e.workflows).some(({exposeInContext:t})=>t);function Bo(e,t,r){Object.entries(t.contexts??{}).forEach(([o,n])=>{let a=r.providers[[r.package,o].filter(F).join("/")];if(a)n.formulas.forEach(s=>{let l=a.formulaDataSignals[s];if(!l){console.warn(`Component error(${t.name}): Provider ${o} does not expose a formula named "${s}". Available formulas are: ["${Object.keys(a.formulaDataSignals).join('", "')}"]`);return}l.subscribe(i=>{e.update(c=>({...c,Contexts:{...c.Contexts,[o]:{...c.Contexts?.[o],[s]:i}}}))})});else if(!a&&r.env.runtime==="preview"&&r.toddle._preview){let s=r.components?.find(c=>c.name===[r.package,o].filter(F).join("/"));if(!s){console.error(`Component error(${t.name}): Could not find provider "${o}". No such component exist.`);return}let[,l]=o.split("/").reverse(),i={data:{Attributes:M(s.attributes??{},([c,f])=>[c,f.testValue])},component:s,root:r?.root,formulaCache:{},package:l??r?.package,toddle:r.toddle,env:r.env};s.route&&(i.data["URL parameters"]={...Object.fromEntries(s.route.path.filter(c=>c.type==="param").map(c=>[c.name,c.testValue])),...M(s.route.query,([c,{testValue:f}])=>[c,f])}),i.data.Variables=M(s.variables??{},([c,f])=>[c,b(f.initialValue,i)]),e.update(c=>({...c,Contexts:{...c.Contexts,[o]:Object.fromEntries(n.formulas.map(f=>{let u=s.formulas?.[f];return u?[f,b(u.formula,i)]:(console.warn(`Component error(${t.name}): Could not find formula "${f}" in provider "${o}"`),[f,null])}))}}))}})}function _o(e,t){window.__components||(window.__components={}),window.__components[e.name]=t}function Uo(e){return F(e.formulas)?M(e.formulas,([t,r])=>{let{canCache:o,keys:n}=r.memoize?zl(r.formula,e):{canCache:!1,keys:[]},a,s;return[t,{get:l=>o&&a&&n.every(i=>ue(l,i)===ue(a,i))?{hit:!0,data:s}:{hit:!1},set:(l,i)=>{o&&(a=l,s=i)}}]}):{}}function zl(e,t){let r=[];function o(a){if(a&&(a.type==="path"&&a.path[0]!=="Args"&&r.push(a.path),Array.isArray(a?.arguments)&&a?.arguments.forEach(s=>o(s.formula)),a.type==="record"&&Array.isArray(a.entries)&&a.entries.forEach(s=>o(s.formula)),a.type==="apply")){if(!t.formulas?.[a.name]?.memoize)throw new Error("Cannot memoize");o(t.formulas?.[a.name]?.formula)}}try{o(e)}catch{return{canCache:!1,keys:[]}}let n=[];return r.sort((a,s)=>a.length-s.length).forEach(a=>{n.some(s=>s.every((l,i)=>l===a[i]))||n.push(a)}),{canCache:!0,keys:n}}var Fe=class e{styleSheet;ruleMap;constructor(t,r){r?this.styleSheet=r:(this.styleSheet=new CSSStyleSheet,t.adoptedStyleSheets.push(this.getStyleSheet()))}registerProperty(t,r,o){this.ruleMap??=this.hydrateFromBase();let n=e.getFullSelector(t,o),a=this.ruleMap.get(n);if(!a){let s=this.styleSheet.insertRule(n,this.styleSheet.cssRules.length),l=this.styleSheet.cssRules[s];for(;l.cssRules&&l.cssRules.length>0;)l=l.cssRules[0];a=l,this.ruleMap.set(n,a)}return s=>{a.style.setProperty(r,s)}}unregisterProperty(t,r,o){if(!this.ruleMap)return;let n=e.getFullSelector(t,o),a=this.ruleMap.get(n);a&&(a.style.removeProperty(r),o?.deepClean&&a.style.length===0&&(this.styleSheet.deleteRule(Array.from(this.ruleMap.keys()).indexOf(n)),this.ruleMap.delete(n)))}getStyleSheet(){return this.styleSheet}hydrateFromBase(){let t=new Map;for(let r=0;r<this.styleSheet.cssRules.length;r++){let o=this.styleSheet.cssRules[r],n=e.selectorFromCSSRule(o);for(;o.cssRules&&o.cssRules.length>0;)o=o.cssRules[0];t.set(n,o)}return t}static selectorFromCSSRule(t){switch(t.constructor.name){case"CSSStyleRule":return`${t.selectorText} { ${Array.from(t.cssRules).map(e.selectorFromCSSRule).join(", ")}}`;case"CSSStartingStyleRule":return`@starting-style { ${Array.from(t.cssRules).map(e.selectorFromCSSRule).join(", ")}}`;case"CSSMediaRule":return`@media ${t.media.mediaText} { ${Array.from(t.cssRules).map(e.selectorFromCSSRule).join(", ")}}`;case"CSSNestedDeclarations":return"";default:return console.warn(`Unsupported CSS rule type: ${t.constructor.name}. Returning empty selector.`),""}}static getFullSelector(t,r){let o=t+(r?.startingStyle?" { @starting-style { }}":" { }");return r?.mediaQuery&&(o=`@media (${Object.entries(r.mediaQuery).map(([n,a])=>`${n}: ${a}`).filter(Boolean).join(") and (")}) { ${o}}`),o}};var Gr;function te({selector:e,customPropertyName:t,signal:r,variant:o,root:n,runtime:a}){Gr??=new Fe(n,n.getElementById(Zr)?.sheet),r.subscribe(Gr.registerProperty(e,t,o),{destroy:()=>{Gr?.unregisterProperty(e,t,{deepClean:a==="preview",mediaQuery:o?.mediaQuery,startingStyle:o?.startingStyle})}})}function Ho({node:e,path:t,dataSignal:r,ctx:o,parentElement:n,instance:a,namespace:s}){let l=[o.package,e.name].filter(F).join("/"),i=o.components?.find(S=>S.name===l);if(!i)return console.warn(`Could not find component "${l}" for component "${o.component.name}". Available components are: ["${o.components.map(S=>S.name).join('", "')}"]`),[];let c=r.map(S=>M(e.attrs,([R,D])=>[R,D?.type!=="value"?b(D,{data:S,component:o.component,formulaCache:o.formulaCache,root:o.root,package:o.package,toddle:o.toddle,env:o.env}):D?.value]));Object.entries(e.customProperties??{}).forEach(([S,R])=>te({selector:Q(t,{componentName:o.component.name,nodeId:e.id}),signal:r.map(D=>X(b(R.formula,{data:D,component:o.component,formulaCache:o.formulaCache,root:o.root,package:o.package,toddle:o.toddle,env:o.env}),R.unit)),customPropertyName:S,root:o.root,runtime:o.env.runtime})),e.variants?.forEach(S=>{Object.entries(S.customProperties??{}).forEach(([R,D])=>te({selector:Q(t,{componentName:o.component.name,nodeId:e.id,variant:S}),signal:r.map(O=>X(b(D.formula,{data:O,component:o.component,formulaCache:o.formulaCache,root:o.root,package:o.package,toddle:o.toddle,env:o.env}),D.unit)),customPropertyName:R,variant:S,root:o.root,runtime:o.env.runtime}))});let f=J({Location:r.get().Location,Attributes:c.get(),Apis:M(i.apis??{},([S,R])=>[S,{data:null,isLoading:!!(R.autoFetch&&b(R.autoFetch,{data:r.get(),component:i,formulaCache:o.formulaCache,root:o.root,package:o.package,toddle:o.toddle,env:o.env})),error:null}])});Bo(f,i,o),f.update(S=>({...S,Variables:M(i.variables??{},([R,D])=>[R,b(D.initialValue,{data:f.get(),component:i,formulaCache:o.formulaCache,root:o.root,package:o.package,toddle:o.toddle,env:o.env})])})),_o(i,f);let u=new AbortController;f.subscribe(()=>{},{destroy:()=>u.abort(`Component ${i.name} unmounted`)});let d=Uo(i),g={};ge(Object.entries(i.apis??{})).forEach(([S,R])=>{fe(R)?g[S]=Ae(R,{...o,apis:g,component:i,dataSignal:f,abortSignal:u.signal,isRootComponent:!1,formulaCache:d,package:e.package??o.package,triggerEvent:(D,O)=>{let T=Object.values(e.events).find(p=>p.trigger===D);T&&T.actions?.forEach(p=>$(p,{...r.get(),Event:O},o))}}):g[S]=Ce({apiRequest:R,ctx:{...o,apis:g,component:i,dataSignal:f,abortSignal:u.signal,isRootComponent:!1,formulaCache:d,package:e.package??o.package,triggerEvent:(D,O)=>{let T=Object.values(e.events).find(p=>p.trigger===D);T&&T.actions?.forEach(p=>$(p,{...r.get(),Event:O},o))}},componentData:f.get()})}),Object.values(g).filter(ee).forEach(S=>{S.triggerActions(f.get())});let A=(S,R)=>{let D=Object.values(e.events).find(O=>O.trigger===S);D&&D.actions?.forEach(O=>$(O,{...r.get(),Event:R},o))},C=o.providers;if(we(i)){let S=Object.fromEntries(Object.entries(i.formulas??{}).filter(([,R])=>R.exposeInContext).map(([R,D])=>[R,f.map(O=>b(D.formula,{data:O,component:i,formulaCache:o.formulaCache,root:o.root,package:o.package,toddle:o.toddle,env:o.env}))]));C={...C,[i.name]:{component:i,formulaDataSignals:S,ctx:{...o,apis:g,component:i,dataSignal:f,abortSignal:u.signal,triggerEvent:A}}}}let j={};for(let S=0;S<e.children.length;S++){let R=e.children[S],O=o.component.nodes?.[R]?.slot??"default";j[O]=j[O]??[],j[O].push({id:R,path:`${t}.${S}[${O}]`,dataSignal:r,ctx:{...o,package:e.package??o.package}})}return o.stores.theme.subscribe(S=>{f.update(R=>({...R,Page:{...R.Page,Theme:S}}))}),c.subscribe(S=>f.update(R=>({...R,Attributes:S})),{destroy:()=>f.destroy()}),je({dataSignal:f,component:i,components:o.components,path:t,root:o.root,isRootComponent:!1,children:j,formulaCache:d,providers:C,stores:o.stores,apis:g,abortSignal:u.signal,package:e.package??o.package,parentElement:n,onEvent:A,toddle:o.toddle,env:o.env,namespace:s,instance:e.id==="root"?{...a,[o.component.name]:"root"}:{[o.component.name]:e.id??""}})}function Vo(e){if(e instanceof DragEvent)return Array.from(e.dataTransfer?.items??[]).reduce((t,r)=>(t[r.type]=e.dataTransfer?.getData(r.type),t),{})}function Ko(e,t,r){return t.component.version===2&&r==="root"?`${t.package??t.toddle.project}-${e.tag}`:e.tag}function zr(e,t,r){switch(t){case"srcObject":case"src":e instanceof HTMLMediaElement?e[t]=r:e.setAttribute(t,String(r));break;case"value":case"type":{if(e instanceof SVGElement)x(r)&&e.setAttribute(t,String(r));else{let o=r;e instanceof HTMLProgressElement&&(!F(r)||!Number.isFinite(Number(r)))&&(o=0),e[t]=x(o)?String(o):void 0}break}case"muted":case"autoplay":e instanceof HTMLMediaElement?e[t]=x(r):e.setAttribute(t,String(r));break;default:x(r)?(e.setAttribute(t,String(r)),t==="autofocus"&&document.body.getAttribute("data-mode")!=="design"&&setTimeout(()=>e.focus(),100)):e.removeAttribute(t)}}function Wo({node:e,dataSignal:t,id:r,path:o,ctx:n,namespace:a,instance:s}){let l=Ko(e,n,r);switch(l){case"svg":{a="http://www.w3.org/2000/svg";break}case"math":{a="http://www.w3.org/1998/Math/MathML";break}}e.attrs.xmlns?.type==="value"&&(a=String(e.attrs.xmlns.value));let i=a?document.createElementNS(a,l):document.createElement(l);i.setAttribute("data-node-id",r),o&&i.setAttribute("data-id",o),n.isRootComponent===!1&&r!=="root"&&i.setAttribute("data-component",n.component.name);let c=he([e.style,e.variants]);i.classList.add(c),s&&r==="root"&&Object.entries(s).forEach(([d,g])=>{i.classList.add(ye(`${d}:${g}`))}),e.classes&&Object.entries(e.classes)?.forEach(([d,{formula:g}])=>{g?t.map(C=>x(b(g,{data:C,component:n.component,formulaCache:n.formulaCache,root:n.root,package:n.package,toddle:n.toddle,env:n.env}))).subscribe(C=>C?i.classList.add(d):i.classList.remove(d)):i.classList.add(d)}),Object.entries(e.attrs).forEach(([d,g])=>{if(!F(g))return;let A,C=()=>{g.type==="value"?zr(i,d,g?.value):(A=t.map(j=>b(g,{data:j,component:n.component,formulaCache:n.formulaCache,root:n.root,package:n.package,toddle:n.toddle,env:n.env})),A.subscribe(j=>{zr(i,d,j)}))};d==="autofocus"&&n.env.runtime==="preview"&&n.toddle._preview?n.toddle._preview.showSignal.subscribe(({testMode:j})=>{j?C():(A?.destroy(),i.removeAttribute(d))}):C()}),e["style-variables"]?.forEach(d=>{let{name:g,formula:A,unit:C}=d;t.map(S=>{let R=b(A,{data:S,component:n.component,formulaCache:n.formulaCache,root:n.root,package:n.package,toddle:n.toddle,env:n.env});return C?R+C:R}).subscribe(S=>i.style.setProperty(`--${g}`,S))}),Object.entries(e.customProperties??{}).forEach(([d,{formula:g,unit:A}])=>te({customPropertyName:d,selector:n.env.runtime==="custom-element"&&n.isRootComponent&&o==="0"?`${Q(o)}, :host`:Q(o),signal:t.map(C=>X(b(g,{data:C,component:n.component,formulaCache:n.formulaCache,root:n.root,package:n.package,toddle:n.toddle,env:n.env}),A)),root:n.root,runtime:n.env.runtime})),e.variants?.forEach(d=>{Object.entries(d.customProperties??{}).forEach(([g,{formula:A,unit:C}])=>{te({customPropertyName:g,selector:Q(o,{variant:d}),variant:d,signal:t.map(j=>X(b(A,{data:j,component:n.component,formulaCache:n.formulaCache,root:n.root,package:n.package,toddle:n.toddle,env:n.env}),C)),root:n.root,runtime:n.env.runtime})})});let f=[];Object.values(e.events).forEach(d=>{d&&f.push([d.trigger,Ql({event:d,dataSignal:t,ctx:n})])}),f.forEach(([d,g])=>{i.addEventListener(d,g,{signal:n.abortSignal})});let u=e.tag.toLocaleLowerCase();if(u==="script"||u==="style"){let d=[];e.children.map(g=>n.component.nodes?.[g]).filter(g=>g?.type==="text").forEach(g=>{if(g.value.type==="value")d.push(String(g.value.value));else{let A=t.map(C=>String(b(g.value,{data:C,component:n.component,formulaCache:n.formulaCache,root:n.root,package:n.package,toddle:n.toddle,env:n.env})));d.push(A)}}),d.every(g=>typeof g=="string")&&(i.textContent=d.join("")),d.filter(g=>typeof g!="string").forEach(g=>{g.subscribe(()=>{i.textContent=d.map(A=>typeof A=="string"?A:A.get()).join("")})})}else{let d=[];e.children.forEach((g,A)=>{d.push(...Y({parentElement:i,id:g,path:o+"."+A,dataSignal:t,ctx:n,namespace:a,instance:s}))}),i.append(...d)}return t.subscribe(()=>{},{destroy:()=>{i.parentNode?.removeChild(i)}}),i}var Ql=({event:e,dataSignal:t,ctx:r})=>o=>(e?.actions?.forEach(n=>{if(o instanceof DragEvent&&(o.data=Vo(o)),o instanceof ClipboardEvent)try{o.data=Array.from(o.clipboardData?.items??[]).reduce((a,s)=>{try{a[s.type]=JSON.parse(o.clipboardData?.getData(s.type))}catch{a[s.type]=o.clipboardData?.getData(s.type)}return a},{})}catch(a){console.error("Could not get paste data",a)}$(n,{...t.get(),Event:o},r,o)}),!1);function Jo({path:e,node:t,dataSignal:r,ctx:o,parentElement:n,instance:a,namespace:s}){let l=t.name??"default",i=[];if(o.children[l]?i=o.children[l].flatMap(c=>{let f=c.dataSignal.map(u=>u);return r.subscribe(u=>u,{destroy:()=>f.destroy()}),Y({...c,dataSignal:f,parentElement:n,ctx:{...c.ctx,providers:o.providers},instance:a,namespace:s})}):i=t.children.flatMap((c,f)=>Y({id:c,path:e+"."+f,dataSignal:r,ctx:o,parentElement:n,instance:a,namespace:s})),o.env.runtime==="custom-element"&&o.isRootComponent){let c=document.createElement("slot");return c.setAttribute("name",l),i.forEach(f=>{c.appendChild(f)}),[c]}return i}function Go({node:e,id:t,path:r,dataSignal:o,namespace:n,ctx:a}){if(n&&n!=="http://www.w3.org/1999/xhtml")return Yl({node:e,dataSignal:o,ctx:a});let{value:s}=e,l=document.createElement("span");return l.setAttribute("data-node-id",t),typeof t=="string"&&l.setAttribute("data-id",r),a.isRootComponent===!1&&l.setAttribute("data-component",a.component.name),l.setAttribute("data-node-type","text"),s.type!=="value"?o.map(c=>String(b(s,{data:c,component:a.component,formulaCache:a.formulaCache,root:a.root,package:a.package,toddle:a.toddle,env:a.env}))).subscribe(c=>{l.innerText=c}):l.innerText=String(s.value),l}function Yl({node:e,dataSignal:t,ctx:r}){let{value:o}=e,n=document.createTextNode("");return o.type!=="value"?t.map(s=>String(b(o,{data:s,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env}))).subscribe(s=>{n.nodeValue=s}):n.nodeValue=String(o.value),n}function Y({id:e,dataSignal:t,path:r,ctx:o,namespace:n,parentElement:a,instance:s}){let l=o.component.nodes?.[e];if(!l)return[];let i=({node:u,...d})=>{switch(u.type){case"element":return[Wo({node:u,...d})];case"component":let g=o.components.some(A=>A.name===u.name);return Ho({node:{...u,id:e},...d,ctx:{...o,package:u.package??(g?void 0:o.package)},parentElement:a});case"text":return[Go({...d,node:u})];case"slot":return Jo({...d,node:u})}};function c({node:u,dataSignal:d,id:g,path:A,ctx:C,namespace:j,parentElement:S,instance:R}){let D=!0,O=null,T=d.map(y=>x(b(u.condition,{data:y,component:C.component,formulaCache:C.formulaCache,root:C.root,package:C.package,toddle:C.toddle,env:C.env}))),p=[],v=y=>{if(y&&p.length===0){if(O?.destroy(),O=d.map(E=>E),p.push(...i({node:u,dataSignal:O,path:A,id:g,ctx:C,namespace:j,parentElement:S,instance:R})),D)return;if(!S||C.root.contains(S)===!1){console.error(`Conditional: Parent element does not exist for "${A}" This is likely due to the DOM being modified outside of Nordcraft.`);return}if(S.querySelector(`[data-id="${A}"]`)){console.warn(`Conditional: Element with data-id="${A}" already exists. This is likely due to the DOM being modified outside of Nordcraft`);return}let h=Jr(A,S);for(let E of p)S.insertBefore(E,h)}else y||(O?.destroy(),p.forEach(h=>h.remove()),p.splice(0,p.length))};return T.subscribe(v,{destroy:()=>{O?.destroy()}}),C.env.runtime==="preview"&&C.toddle._preview&&C.toddle._preview.showSignal.subscribe(({displayedNodes:y,testMode:h})=>{y.includes(A)&&!h?v(!0):v(T.get())}),D=!1,p}function f(){let u=!0,d=new Map;return t.map(A=>{let C=b(l?.repeat,{data:A,component:o.component,formulaCache:o.formulaCache,root:o.root,package:o.package,toddle:o.toddle,env:o.env});return typeof C!="object"?[]:Object.entries(C??{})}).subscribe(A=>{let C=new Map;for(let j=0;j<A.length;j++){let[S,R]=A[j],D={...t.get(),ListItem:{...t.get().ListItem?{Parent:t.get().ListItem}:{},Item:R,Index:Number(j),Key:S}},O=l?.repeatKey?b(l.repeatKey,{data:D,component:o.component,formulaCache:o.formulaCache,root:o.root,package:o.package,toddle:o.toddle,env:o.env}):S;C.has(O)&&(console.warn(`Duplicate key "${O}" found in repeat. Fallback to index as key. This will cause a re-render of the duplicated children on every change.`),O=S);let T=d.get(O);if(T)C.set(O,T),T.dataSignal.update(p=>({...p,ListItem:{...t.get().ListItem?{Parent:t.get().ListItem}:{},Item:R,Index:Number(j),Key:S}}));else{let p=J(D),v=t.subscribe(E=>{u||p.update(({ListItem:w})=>({...E,ListItem:w}))},{destroy:()=>p.destroy()}),y={node:l,id:e,dataSignal:p,path:S==="0"?r:`${r}(${S})`,ctx:o,namespace:n,parentElement:a,instance:s},h=l.condition?c(y):i(y);C.set(O,{dataSignal:p,cleanup:v,elements:h})}}if(Array.from(d.entries()).forEach(([j,S])=>{C.has(j)||(S.cleanup(),S.dataSignal.destroy(),S.elements.forEach(R=>R.remove()))}),d=C,!(u||d.size===0)){if(!a||o.root.contains(a)===!1){console.error(`Repeat: Parent element does not exist for ${r}. This is likely due to the DOM being modified outside of Nordcraft.`);return}qo(a,Array.from(d.values()).flatMap(j=>j.elements),Jr(r,a))}},{destroy:()=>Array.from(d.values()).forEach(A=>{A.cleanup(),A.dataSignal.destroy(),A.elements.forEach(C=>C.remove())})}),u=!1,Array.from(d.values()).flatMap(A=>A.elements)}return l.repeat?f():l.condition?c({node:l,dataSignal:t,ctx:o,id:e,path:r,namespace:n,parentElement:a,instance:s}):i({node:l,dataSignal:t,ctx:o,id:e,path:r,namespace:n,parentElement:a,instance:s})}var Zl=new Ee;function je({component:e,dataSignal:t,onEvent:r,isRootComponent:o,path:n,children:a,formulaCache:s,components:l,apis:i,abortSignal:c,root:f,providers:u,package:d,stores:g,parentElement:A,instance:C,toddle:j,namespace:S,env:R}){let D={triggerEvent:r,component:e,components:l,dataSignal:t,isRootComponent:o,apis:i,formulaCache:s,children:a,abortSignal:c,root:f,providers:u,stores:g,package:d,toddle:j,env:R},O=Y({id:"root",path:n,dataSignal:t,ctx:D,parentElement:A,namespace:S,instance:C});return Zl.add(()=>{let T;e.onAttributeChange?.actions&&e.onAttributeChange.actions.length>0&&t.map(p=>p.Attributes).subscribe(p=>{T&&e.onAttributeChange?.actions?.forEach(v=>{$(v,t.get(),D,new CustomEvent("attribute-change",{detail:Object.entries(p).reduce((y,[h,E])=>((0,zo.default)(E,T[h])===!1&&e.attributes?.[h]?.name&&(y[e.attributes?.[h]?.name]={current:T[h],new:E}),y),{})}))}),T=p}),e.onLoad?.actions?.forEach(p=>{$(p,t.get(),D)})}),O}var Re=class extends HTMLElement{toddle;#r;#e;#o;#t;#n;constructor(t,r,o){super(),this.toddle=o;let n=this.attachInternals();n.shadowRoot?this.#o=n.shadowRoot:this.#o=this.attachShadow({mode:"open"});let a={branchName:o.branch||"main",isServer:!1,request:void 0,runtime:"custom-element",logErrors:!0};this.#r=t,this.#t=Xl({component:t,root:this.#o,toddle:o,env:a}),this.#n={themes:r.themes};let s=new AbortController;this.#t.subscribe(()=>{},{destroy:()=>s.abort(`Component ${t.name} unmounted`)}),this.#e={triggerEvent:this.dispatch.bind(this),root:this.#o,isRootComponent:!0,components:r.components,component:this.#r,dataSignal:this.#t,formulaCache:{},apis:{},abortSignal:s.signal,children:{},providers:{},stores:{theme:J(null)},package:void 0,toddle:o,env:a}}connectedCallback(){ge(Object.entries(this.#r.apis??{})).forEach(([r,o])=>{fe(o)?this.#e.apis[r]=Ae(o,this.#e):this.#e.apis[r]=Ce({apiRequest:o,ctx:this.#e,componentData:this.#t.get()})}),Object.values(this.#e.apis).filter(ee).forEach(r=>{r.triggerActions(this.#t.get())});let t=this.#e.providers;if(we(this.#r)){let r=Object.fromEntries(Object.entries(this.#r.formulas??{}).filter(([,o])=>o.exposeInContext).map(([o,n])=>[o,this.#t.map(a=>b(n.formula,{data:a,component:this.#r,formulaCache:this.#e.formulaCache,root:this.#e.root,package:this.#e.package,toddle:this.#e.toddle,env:this.#e.env}))]));t={...t,[this.#r.name]:{component:this.#r,formulaDataSignals:r,ctx:this.#e}}}this.#e.providers=t,this.render()}disconnectedCallback(){this.#t.destroy()}dispatch(t,r){this.dispatchEvent(new CustomEvent(t,{detail:r,bubbles:!0,composed:!0}))}render(){let t=je({...this.#e,path:"0",onEvent:this.dispatch.bind(this),parentElement:this.#o,instance:{[this.#r.name]:"root"}});this.#o.innerHTML="";let r=xo(this.#e.component,this.#e.components,Object.entries(this.#n.themes??{}).length>0?this.#n.themes:{defaultTheme:to},{includeResetStyle:!0,createFontFaces:!1}),o=document.createElement("style");o.appendChild(document.createTextNode(r)),this.#o.appendChild(o);let n=t[0];n&&this.#o.appendChild(n)}setAttribute(t,r){switch(typeof r){case"number":super.setAttribute(t,String(r));break;case"string":return super.setAttribute(t,r),this;default:super.setAttribute(t,`[Object ${typeof r}]`);break}return this.#t.set({...this.#t.get(),Attributes:{...this.#t.get().Attributes,[t]:r}}),this}getAttribute(t){return this.#t.get().Attributes[t]||super.getAttribute(t)}attributeChangedCallback(t,r,o){let n=this.getAttributeCaseInsensitive(t),a=this.getAttribute(n);o!=="[Object object]"&&parseFloat(o)!==a&&this.#t.set({...this.#t.get(),Attributes:{...this.#t.get().Attributes,[n]:o}})}getAttributeCaseInsensitive(t){let r=Object.keys(this.#t.get().Attributes).find(o=>o.toLowerCase()===t.toLowerCase());if(!r)throw new Error(`Unable to find attribute ${t} on component ${this.#r.name}`);return r}get __component(){return this.#r}get __ctx(){return this.#e}get __signal(){return this.#t}},Xl=({component:e,root:t,toddle:r,env:o})=>J({Location:void 0,Variables:M(e.variables??{},([n,{initialValue:a}])=>{if(!e)throw new Error("Component not found");return[n,b(a,{data:{Attributes:{}},component:e,root:t,package:void 0,toddle:r,env:o})]}),Attributes:M(e.attributes??{},([n])=>[n,void 0]),Apis:M(e.apis??{},([n])=>[n,{data:null,isLoading:!1,error:null}])});var eu=(e,t,r)=>{e.map(o=>t.components.find(n=>n.name===o)).forEach(o=>{let n=go(o.name);if(customElements.get(n)){console.warn(`Component ${n} already defined`);return}customElements.define(n,class extends Re{constructor(){super(o,t,r)}static get observedAttributes(){return Object.keys(o.attributes??{}).map(a=>a.toLowerCase())}})})};var Ep=(e=window.toddle)=>{e.isEqual=Qo.default,Object.entries(_r).forEach(([t,r])=>e.registerFormula("@toddle/"+t,r.default,"getArgumentInputData"in r?r.getArgumentInputData:void 0)),Object.entries(Qe).forEach(([t,r])=>e.registerAction("@toddle/"+t,r.default))};export{eu as defineComponents,Ep as loadCorePlugins};
|
|
273
|
+
`],componentData:y,workflowCallback:F})}async function R({api:h,res:b,performance:g,streamType:y,useTextDecoder:F,parseChunk:w,parseChunksForData:k,delimiters:M,componentData:L,workflowCallback:q}){let I={chunks:[],currentChunk:"",add(z){let K=w(z);this.chunks.push(K),K&&(r.dataSignal.set({...r.dataSignal.get(),Apis:{...r.dataSignal.get().Apis,[h.name]:{isLoading:!0,data:k(this.chunks),error:null,response:{headers:Q(b.headers)}}}}),(h.client?.onMessage?.actions??[]).length>0&&i({eventName:"message",api:h,data:{body:K},componentData:L,workflowCallback:q}))},processChunk(z){let K=M?.find(ke=>z.includes(ke)),Zr=this.currentChunk+z,Xr=K?Zr.split(K):[Zr];this.currentChunk=Xr.pop()??"",Xr.forEach(ke=>this.add(ke))}},ee=F?b.body?.pipeThrough(new TextDecoderStream).getReader():b.body?.getReader();for(;ee;){let{done:z,value:K}=await ee.read();if(z)break;M?I.processChunk(K):I.add(K)}I.currentChunk&&I.add(I.currentChunk);let le={isLoading:!1,data:I.chunks,error:null,response:{status:b.status,headers:Q(b.headers)}};try{if(y==="json"){let z=JSON.parse(I.chunks.join(""));le.data=z}else y==="text"&&(le.data=I.chunks.join(""))}catch{throw new Error("Error occurred while parsing the json chunk.",{cause:I.chunks.join("")})}return D({api:h,apiStatus:le,componentData:L,performance:g,workflowCallback:q})}function D({api:h,apiStatus:b,componentData:g,performance:y,workflowCallback:F}){y.responseEnd=Date.now();let w={body:b.data,status:b.response?.status,headers:b.response?.headers??void 0};Ro({apiName:h.name,response:{body:w.body,ok:!!(!b.error&&b.response?.status&&b.response.status<400),status:w.status,headers:w.headers},formulaContext:s(h,g),errorFormula:h.isError,performance:y})?(!w.body&&b.error&&(w.body=b.error),d({api:h,componentData:g,data:w,performance:y}),i({eventName:"failed",api:h,componentData:g,data:w,workflowCallback:F})):(c({api:h,componentData:g,data:w,performance:y}),i({eventName:"success",api:h,componentData:g,data:w,workflowCallback:F}))}function O(h){return vo(h,[["client","onCompleted"],["client","onFailed"],["client","onMessage"],["service"],["server","ssr"]])}let x,T=new Ce;return x=r.dataSignal.map(h=>{let b=s(n,h),g=a(n,h);return{request:g,api:O(n),headers:Array.from(g.requestSettings.headers.entries()),autoFetch:n.autoFetch?v(n.autoFetch,b):!1,proxy:v(n.server?.proxy?.enabled.formula,b)}}),x.subscribe(async h=>{let{url:b,requestSettings:g}=h.request,y=E(n.autoFetch)&&(n.autoFetch.type!=="value"||n.autoFetch.value===!0)&&(window?.__toddle?.isPageLoaded??!1)===!1?r.toddle.pageState.Apis?.[jo(b,g)]:void 0;y?y.error?d({api:n,data:{body:y.error,status:y.response?.status,headers:y.response?.headers??void 0},performance:{requestStart:y.response?.performance?.requestStart??null,responseStart:y.response?.performance?.responseStart??null,responseEnd:y.response?.performance?.responseEnd??null},componentData:t}):c({api:n,data:{body:y.data,status:y.response?.status,headers:y.response?.headers??void 0},performance:{requestStart:y.response?.performance?.requestStart??null,responseStart:y.response?.performance?.responseStart??null,responseEnd:y.response?.performance?.responseEnd??null},componentData:t}):v(n.autoFetch,s(n,t))?await u({api:n,url:b,requestSettings:g,componentData:t}):r.dataSignal.get().Apis?.[n.name]||r.dataSignal.update(F=>({...F,Apis:{...F.Apis??{},[n.name]:{isLoading:!1,data:null,error:null}}}))}),{fetch:({actionInputs:h,actionModels:b,componentData:g,workflowCallback:y})=>{let F=Object.entries(h??{}).reduce((L,[q,I])=>(I!==null&&typeof I=="object"&&"formula"in I?L[q]=I:L[q]={formula:{type:"value",value:I}},L),{}),w={...n,inputs:{...n.inputs,...F},client:{...n.client,parserMode:n.client?.parserMode??"auto",onCompleted:{trigger:n.client?.onCompleted?.trigger??"success",actions:[...n.client?.onCompleted?.actions??[],...b?.onCompleted??[]]},onFailed:{trigger:n.client?.onFailed?.trigger??"failed",actions:[...n.client?.onFailed?.actions??[],...b?.onFailed??[]]},onMessage:{trigger:n.client?.onMessage?.trigger??"message",actions:[...n.client?.onMessage?.actions??[],...b?.onMessage??[]]}}},{url:k,requestSettings:M}=a(w,g);return u({api:w,url:k,requestSettings:M,componentData:g,workflowCallback:y})},cancel:T.abort,update:(h,b)=>{n=h;let g=s(n,b),y=n.autoFetch&&v(n.autoFetch,g);if(y){let F=a(h,b);x?.set({request:F,api:O(h),autoFetch:y,proxy:v(h.server?.proxy?.enabled.formula,g),headers:Array.from(F.requestSettings.headers.entries())})}},triggerActions:h=>{let b=r.dataSignal.get().Apis?.[n.name];b===void 0||b.data===null&&b.error===null||(b.error?i({eventName:"failed",api:n,data:{body:b.error,status:b.response?.status},componentData:h}):i({eventName:"success",api:n,data:{body:b.data},componentData:h}))},destroy:()=>x?.destroy()}}var Yo=ue(ne(),1);var Fe=class{batchQueue=[];isProcessing=!1;processBatch(){this.isProcessing||(this.isProcessing=!0,requestAnimationFrame(()=>{for(;this.batchQueue.length>0;)this.batchQueue.shift()?.();this.isProcessing=!1}))}add(t){this.batchQueue.push(t),this.processBatch()}};var Gr=ue(ne(),1),Jr=class{value;subscribers;subscriptions;destroying=!1;constructor(t){this.value=t,this.subscribers=new Set,this.subscriptions=[]}get(){return this.value}set(t){if(this.subscribers.size===0){this.value=t;return}if((0,Gr.default)(t,this.value)===!1){this.value=t;for(let r of this.subscribers)r.notify(this.value)}}update(t){this.set(t(this.value))}subscribe(t,r){let o={notify:t,destroy:r?.destroy};return this.subscribers.add(o),t(this.value),()=>{this.subscribers.delete(o)}}destroy(){if(!this.destroying){this.destroying=!0;for(let t of this.subscribers)t.destroy?.();this.subscribers.clear();for(let t of this.subscriptions)t();this.subscriptions.splice(0,this.subscriptions.length),this.destroying=!1}}cleanSubscribers(){for(let t of this.subscribers)t.destroy?.();this.subscribers.clear()}map(t){let r=G(t(this.value));return r.subscriptions.push(this.subscribe(o=>r.set(t(o)),{destroy:()=>r.destroy()})),r}};function G(e){return new Jr(e)}typeof window<"u"&&(window.signal=G,window.deepEqual=Gr.default);var zr=(e,t)=>{let o=e.split(".").slice(-1)[0],n=parseInt(o),a=parseInt(String(o.split("(")[1]));for(let s of t.children){let i=s.getAttribute("data-id")?.split(".").slice(-1)[0],c=parseInt(String(i));if(c===n&&parseInt(String(i?.split("(")[1]))>a||c>n)return s}return null};function _o(e,t,r=null){let o=r,n=o?o.previousSibling:e.lastChild;for(let a=t.length-1;a>=0;a--){let s=t[a];s===n?n=s.previousSibling:e.insertBefore(s,o),o=s}}function Z(e,{componentName:t,nodeId:r,variant:o}={}){let n=`[data-id="${e}"]`;return t&&(n+=`.${t}`),r&&(n+=`\\:${r}`),o&&(n+=Ae(o)),n}var je=e=>e.formulas&&Object.values(e.formulas).some(({exposeInContext:t})=>t)||e.workflows&&Object.values(e.workflows).some(({exposeInContext:t})=>t);function Uo(e,t,r){Object.entries(t.contexts??{}).forEach(([o,n])=>{let a=r.providers[[r.package,o].filter(E).join("/")];if(a)n.formulas.forEach(s=>{let l=a.formulaDataSignals[s];if(!l){console.warn(`Component error(${t.name}): Provider ${o} does not expose a formula named "${s}". Available formulas are: ["${Object.keys(a.formulaDataSignals).join('", "')}"]`);return}l.subscribe(i=>{e.update(c=>({...c,Contexts:{...c.Contexts,[o]:{...c.Contexts?.[o],[s]:i}}}))})});else if(!a&&r.env.runtime==="preview"&&r.toddle._preview){let s=r.components?.find(c=>c.name===[r.package,o].filter(E).join("/"));if(!s){console.error(`Component error(${t.name}): Could not find provider "${o}". No such component exist.`);return}let[,l]=o.split("/").reverse(),i={data:{Attributes:B(s.attributes??{},([c,d])=>[c,d.testValue])},component:s,root:r?.root,formulaCache:{},package:l??r?.package,toddle:r.toddle,env:r.env};s.route&&(i.data["URL parameters"]={...Object.fromEntries(s.route.path.filter(c=>c.type==="param").map(c=>[c.name,c.testValue])),...B(s.route.query,([c,{testValue:d}])=>[c,d])}),i.data.Variables=B(s.variables??{},([c,d])=>[c,v(d.initialValue,i)]),e.update(c=>({...c,Contexts:{...c.Contexts,[o]:Object.fromEntries(n.formulas.map(d=>{let u=s.formulas?.[d];return u?[d,v(u.formula,i)]:(console.warn(`Component error(${t.name}): Could not find formula "${d}" in provider "${o}"`),[d,null])}))}}))}})}function Ho(e,t){window.__components||(window.__components={}),window.__components[e.name]=t}function Vo(e){return E(e.formulas)?B(e.formulas,([t,r])=>{let{canCache:o,keys:n}=r.memoize?Yl(r.formula,e):{canCache:!1,keys:[]},a,s;return[t,{get:l=>o&&a&&n.every(i=>ce(l,i)===ce(a,i))?{hit:!0,data:s}:{hit:!1},set:(l,i)=>{o&&(a=l,s=i)}}]}):{}}function Yl(e,t){let r=[];function o(a){if(a&&(a.type==="path"&&a.path[0]!=="Args"&&r.push(a.path),Array.isArray(a?.arguments)&&a?.arguments.forEach(s=>o(s.formula)),a.type==="record"&&Array.isArray(a.entries)&&a.entries.forEach(s=>o(s.formula)),a.type==="apply")){if(!t.formulas?.[a.name]?.memoize)throw new Error("Cannot memoize");o(t.formulas?.[a.name]?.formula)}}try{o(e)}catch{return{canCache:!1,keys:[]}}let n=[];return r.sort((a,s)=>a.length-s.length).forEach(a=>{n.some(s=>s.every((l,i)=>l===a[i]))||n.push(a)}),{canCache:!0,keys:n}}var Re=class e{styleSheet;ruleMap;constructor(t,r){r?this.styleSheet=r:(this.styleSheet=new CSSStyleSheet,t.adoptedStyleSheets.push(this.getStyleSheet()))}registerProperty(t,r,o){this.ruleMap??=this.hydrateFromBase();let n=e.getFullSelector(t,o),a=this.ruleMap.get(n);if(!a){let s=this.styleSheet.insertRule(n,this.styleSheet.cssRules.length),l=this.styleSheet.cssRules[s];for(;l.cssRules&&l.cssRules.length>0;)l=l.cssRules[0];a=l,this.ruleMap.set(n,a)}return s=>{a.style.setProperty(r,s)}}unregisterProperty(t,r,o){if(!this.ruleMap)return;let n=e.getFullSelector(t,o),a=this.ruleMap.get(n);a&&(a.style.removeProperty(r),o?.deepClean&&a.style.length===0&&(this.styleSheet.deleteRule(Array.from(this.ruleMap.keys()).indexOf(n)),this.ruleMap.delete(n)))}getStyleSheet(){return this.styleSheet}hydrateFromBase(){let t=new Map;for(let r=0;r<this.styleSheet.cssRules.length;r++){let o=this.styleSheet.cssRules[r],n=e.selectorFromCSSRule(o);for(;o.cssRules&&o.cssRules.length>0;)o=o.cssRules[0];t.set(n,o)}return t}static selectorFromCSSRule(t){switch(t.constructor.name){case"CSSStyleRule":return`${t.selectorText} { ${Array.from(t.cssRules).map(e.selectorFromCSSRule).join(", ")}}`;case"CSSStartingStyleRule":return`@starting-style { ${Array.from(t.cssRules).map(e.selectorFromCSSRule).join(", ")}}`;case"CSSMediaRule":return`@media ${t.media.mediaText} { ${Array.from(t.cssRules).map(e.selectorFromCSSRule).join(", ")}}`;case"CSSNestedDeclarations":return"";default:return console.warn(`Unsupported CSS rule type: ${t.constructor.name}. Returning empty selector.`),""}}static getFullSelector(t,r){let o=t+(r?.startingStyle?" { @starting-style { }}":" { }");return r?.mediaQuery&&(o=`@media (${Object.entries(r.mediaQuery).map(([n,a])=>`${n}: ${a}`).filter(Boolean).join(") and (")}) { ${o}}`),o}};var Qr;function re({selector:e,customPropertyName:t,signal:r,variant:o,root:n,runtime:a}){Qr??=new Re(n,n.getElementById(eo)?.sheet),r.subscribe(Qr.registerProperty(e,t,o),{destroy:()=>{Qr?.unregisterProperty(e,t,{deepClean:a==="preview",mediaQuery:o?.mediaQuery,startingStyle:o?.startingStyle})}})}function Ko({node:e,path:t,dataSignal:r,ctx:o,parentElement:n,instance:a,namespace:s}){let l=[o.package,e.name].filter(E).join("/"),i=o.components?.find(S=>S.name===l);if(!i)return console.warn(`Could not find component "${l}" for component "${o.component.name}". Available components are: ["${o.components.map(S=>S.name).join('", "')}"]`),[];let c=r.map(S=>B(e.attrs,([R,D])=>[R,D?.type!=="value"?v(D,{data:S,component:o.component,formulaCache:o.formulaCache,root:o.root,package:o.package,toddle:o.toddle,env:o.env}):D?.value]));Object.entries(e.customProperties??{}).forEach(([S,R])=>re({selector:Z(t,{componentName:o.component.name,nodeId:e.id}),signal:r.map(D=>te(v(R.formula,{data:D,component:o.component,formulaCache:o.formulaCache,root:o.root,package:o.package,toddle:o.toddle,env:o.env}),R.unit)),customPropertyName:S,root:o.root,runtime:o.env.runtime})),e.variants?.forEach(S=>{Object.entries(S.customProperties??{}).forEach(([R,D])=>re({selector:Z(t,{componentName:o.component.name,nodeId:e.id,variant:S}),signal:r.map(O=>te(v(D.formula,{data:O,component:o.component,formulaCache:o.formulaCache,root:o.root,package:o.package,toddle:o.toddle,env:o.env}),D.unit)),customPropertyName:R,variant:S,root:o.root,runtime:o.env.runtime}))});let d=G({Location:r.get().Location,Attributes:c.get(),Apis:B(i.apis??{},([S,R])=>[S,{data:null,isLoading:!!(R.autoFetch&&v(R.autoFetch,{data:r.get(),component:i,formulaCache:o.formulaCache,root:o.root,package:o.package,toddle:o.toddle,env:o.env})),error:null}])});Uo(d,i,o),d.update(S=>({...S,Variables:B(i.variables??{},([R,D])=>[R,v(D.initialValue,{data:d.get(),component:i,formulaCache:o.formulaCache,root:o.root,package:o.package,toddle:o.toddle,env:o.env})])})),Ho(i,d);let u=new AbortController;d.subscribe(()=>{},{destroy:()=>u.abort(`Component ${i.name} unmounted`)});let p=Vo(i),m={};he(Object.entries(i.apis??{})).forEach(([S,R])=>{me(R)?m[S]=Ee(R,{...o,apis:m,component:i,dataSignal:d,abortSignal:u.signal,isRootComponent:!1,formulaCache:p,package:e.package??o.package,triggerEvent:(D,O)=>{let x=Object.values(e.events).find(T=>T.trigger===D);x&&x.actions?.forEach(T=>P(T,{...r.get(),Event:O},o))}}):m[S]=we({apiRequest:R,ctx:{...o,apis:m,component:i,dataSignal:d,abortSignal:u.signal,isRootComponent:!1,formulaCache:p,package:e.package??o.package,triggerEvent:(D,O)=>{let x=Object.values(e.events).find(T=>T.trigger===D);x&&x.actions?.forEach(T=>P(T,{...r.get(),Event:O},o))}},componentData:d.get()})}),Object.values(m).filter(Y).forEach(S=>{S.triggerActions(d.get())});let A=(S,R)=>{let D=Object.values(e.events).find(O=>O.trigger===S);D&&D.actions?.forEach(O=>P(O,{...r.get(),Event:R},o))},C=o.providers;if(je(i)){let S=Object.fromEntries(Object.entries(i.formulas??{}).filter(([,R])=>R.exposeInContext).map(([R,D])=>[R,d.map(O=>v(D.formula,{data:O,component:i,formulaCache:o.formulaCache,root:o.root,package:o.package,toddle:o.toddle,env:o.env}))]));C={...C,[i.name]:{component:i,formulaDataSignals:S,ctx:{...o,apis:m,component:i,dataSignal:d,abortSignal:u.signal,triggerEvent:A}}}}let j={};for(let S=0;S<e.children.length;S++){let R=e.children[S],O=o.component.nodes?.[R]?.slot??"default";j[O]=j[O]??[],j[O].push({id:R,path:`${t}.${S}[${O}]`,dataSignal:r,ctx:{...o,package:e.package??o.package}})}return o.stores.theme.subscribe(S=>{d.update(R=>({...R,Page:{...R.Page,Theme:S}}))}),c.subscribe(S=>d.update(R=>({...R,Attributes:S})),{destroy:()=>d.destroy()}),Oe({dataSignal:d,component:i,components:o.components,path:t,root:o.root,isRootComponent:!1,children:j,formulaCache:p,providers:C,stores:o.stores,apis:m,abortSignal:u.signal,package:e.package??o.package,parentElement:n,onEvent:A,toddle:o.toddle,env:o.env,namespace:s,instance:e.id==="root"?{...a,[o.component.name]:"root"}:{[o.component.name]:e.id??""}})}function Wo(e){if(e instanceof DragEvent)return Array.from(e.dataTransfer?.items??[]).reduce((t,r)=>(t[r.type]=e.dataTransfer?.getData(r.type),t),{})}function Jo(e,t,r){return t.component.version===2&&r==="root"?`${t.package??t.toddle.project}-${e.tag}`:e.tag}function Yr(e,t,r){switch(t){case"srcObject":case"src":e instanceof HTMLMediaElement?e[t]=r:e.setAttribute(t,String(r));break;case"value":case"type":{if(e instanceof SVGElement)$(r)&&e.setAttribute(t,String(r));else{let o=r;e instanceof HTMLProgressElement&&(!E(r)||!Number.isFinite(Number(r)))&&(o=0),e[t]=$(o)?String(o):void 0}break}case"muted":case"autoplay":e instanceof HTMLMediaElement?e[t]=$(r):e.setAttribute(t,String(r));break;default:$(r)?(e.setAttribute(t,String(r)),t==="autofocus"&&document.body.getAttribute("data-mode")!=="design"&&setTimeout(()=>e.focus(),100)):e.removeAttribute(t)}}function Go({node:e,dataSignal:t,id:r,path:o,ctx:n,namespace:a,instance:s}){let l=Jo(e,n,r);switch(l){case"svg":{a="http://www.w3.org/2000/svg";break}case"math":{a="http://www.w3.org/1998/Math/MathML";break}}e.attrs.xmlns?.type==="value"&&(a=String(e.attrs.xmlns.value));let i=a?document.createElementNS(a,l):document.createElement(l);i.setAttribute("data-node-id",r),o&&i.setAttribute("data-id",o),n.isRootComponent===!1&&r!=="root"&&i.setAttribute("data-component",n.component.name);let c=ye([e.style,e.variants]);i.classList.add(c),s&&r==="root"&&Object.entries(s).forEach(([p,m])=>{i.classList.add(be(`${p}:${m}`))}),e.classes&&Object.entries(e.classes)?.forEach(([p,{formula:m}])=>{m?t.map(C=>$(v(m,{data:C,component:n.component,formulaCache:n.formulaCache,root:n.root,package:n.package,toddle:n.toddle,env:n.env}))).subscribe(C=>C?i.classList.add(p):i.classList.remove(p)):i.classList.add(p)}),Object.entries(e.attrs).forEach(([p,m])=>{if(!E(m))return;let A,C=()=>{m.type==="value"?Yr(i,p,m?.value):(A=t.map(j=>v(m,{data:j,component:n.component,formulaCache:n.formulaCache,root:n.root,package:n.package,toddle:n.toddle,env:n.env})),A.subscribe(j=>{Yr(i,p,j)}))};p==="autofocus"&&n.env.runtime==="preview"&&n.toddle._preview?n.toddle._preview.showSignal.subscribe(({testMode:j})=>{j?C():(A?.destroy(),i.removeAttribute(p))}):C()}),e["style-variables"]?.forEach(p=>{let{name:m,formula:A,unit:C}=p;t.map(S=>{let R=v(A,{data:S,component:n.component,formulaCache:n.formulaCache,root:n.root,package:n.package,toddle:n.toddle,env:n.env});return C?R+C:R}).subscribe(S=>i.style.setProperty(`--${m}`,S))}),Object.entries(e.customProperties??{}).forEach(([p,{formula:m,unit:A}])=>re({customPropertyName:p,selector:n.env.runtime==="custom-element"&&n.isRootComponent&&o==="0"?`${Z(o)}, :host`:Z(o),signal:t.map(C=>te(v(m,{data:C,component:n.component,formulaCache:n.formulaCache,root:n.root,package:n.package,toddle:n.toddle,env:n.env}),A)),root:n.root,runtime:n.env.runtime})),e.variants?.forEach(p=>{Object.entries(p.customProperties??{}).forEach(([m,{formula:A,unit:C}])=>{re({customPropertyName:m,selector:Z(o,{variant:p}),variant:p,signal:t.map(j=>te(v(A,{data:j,component:n.component,formulaCache:n.formulaCache,root:n.root,package:n.package,toddle:n.toddle,env:n.env}),C)),root:n.root,runtime:n.env.runtime})})});let d=[];Object.values(e.events).forEach(p=>{p&&d.push([p.trigger,Zl({event:p,dataSignal:t,ctx:n})])}),d.forEach(([p,m])=>{i.addEventListener(p,m,{signal:n.abortSignal})});let u=e.tag.toLocaleLowerCase();if(u==="script"||u==="style"){let p=[];e.children.map(m=>n.component.nodes?.[m]).filter(m=>m?.type==="text").forEach(m=>{if(m.value.type==="value")p.push(String(m.value.value));else{let A=t.map(C=>String(v(m.value,{data:C,component:n.component,formulaCache:n.formulaCache,root:n.root,package:n.package,toddle:n.toddle,env:n.env})));p.push(A)}}),p.every(m=>typeof m=="string")&&(i.textContent=p.join("")),p.filter(m=>typeof m!="string").forEach(m=>{m.subscribe(()=>{i.textContent=p.map(A=>typeof A=="string"?A:A.get()).join("")})})}else{let p=[];e.children.forEach((m,A)=>{p.push(...X({parentElement:i,id:m,path:o+"."+A,dataSignal:t,ctx:n,namespace:a,instance:s}))}),i.append(...p)}return t.subscribe(()=>{},{destroy:()=>{i.parentNode?.removeChild(i)}}),i}var Zl=({event:e,dataSignal:t,ctx:r})=>o=>(e?.actions?.forEach(n=>{if(o instanceof DragEvent&&(o.data=Wo(o)),o instanceof ClipboardEvent)try{o.data=Array.from(o.clipboardData?.items??[]).reduce((a,s)=>{try{a[s.type]=JSON.parse(o.clipboardData?.getData(s.type))}catch{a[s.type]=o.clipboardData?.getData(s.type)}return a},{})}catch(a){console.error("Could not get paste data",a)}P(n,{...t.get(),Event:o},r,o)}),!1);function zo({path:e,node:t,dataSignal:r,ctx:o,parentElement:n,instance:a,namespace:s}){let l=t.name??"default",i=[];if(o.children[l]?i=o.children[l].flatMap(c=>{let d=c.dataSignal.map(u=>u);return r.subscribe(u=>u,{destroy:()=>d.destroy()}),X({...c,dataSignal:d,parentElement:n,ctx:{...c.ctx,providers:o.providers},instance:a,namespace:s})}):i=t.children.flatMap((c,d)=>X({id:c,path:e+"."+d,dataSignal:r,ctx:o,parentElement:n,instance:a,namespace:s})),o.env.runtime==="custom-element"&&o.isRootComponent){let c=document.createElement("slot");return c.setAttribute("name",l),i.forEach(d=>{c.appendChild(d)}),[c]}return i}function Qo({node:e,id:t,path:r,dataSignal:o,namespace:n,ctx:a}){if(n&&n!=="http://www.w3.org/1999/xhtml")return Xl({node:e,dataSignal:o,ctx:a});let{value:s}=e,l=document.createElement("span");return l.setAttribute("data-node-id",t),typeof t=="string"&&l.setAttribute("data-id",r),a.isRootComponent===!1&&l.setAttribute("data-component",a.component.name),l.setAttribute("data-node-type","text"),s.type!=="value"?o.map(c=>String(v(s,{data:c,component:a.component,formulaCache:a.formulaCache,root:a.root,package:a.package,toddle:a.toddle,env:a.env}))).subscribe(c=>{l.innerText=c}):l.innerText=String(s.value),l}function Xl({node:e,dataSignal:t,ctx:r}){let{value:o}=e,n=document.createTextNode("");return o.type!=="value"?t.map(s=>String(v(o,{data:s,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env}))).subscribe(s=>{n.nodeValue=s}):n.nodeValue=String(o.value),n}function X({id:e,dataSignal:t,path:r,ctx:o,namespace:n,parentElement:a,instance:s}){let l=o.component.nodes?.[e];if(!l)return[];let i=({node:u,...p})=>{switch(u.type){case"element":return[Go({node:u,...p})];case"component":let m=o.components.some(A=>A.name===u.name);return Ko({node:{...u,id:e},...p,ctx:{...o,package:u.package??(m?void 0:o.package)},parentElement:a});case"text":return[Qo({...p,node:u})];case"slot":return zo({...p,node:u})}};function c({node:u,dataSignal:p,id:m,path:A,ctx:C,namespace:j,parentElement:S,instance:R}){let D=!0,O=null,x=p.map(b=>$(v(u.condition,{data:b,component:C.component,formulaCache:C.formulaCache,root:C.root,package:C.package,toddle:C.toddle,env:C.env}))),T=[],h=b=>{if(b&&T.length===0){if(O?.destroy(),O=p.map(y=>y),T.push(...i({node:u,dataSignal:O,path:A,id:m,ctx:C,namespace:j,parentElement:S,instance:R})),D)return;if(!S||C.root.contains(S)===!1){console.error(`Conditional: Parent element does not exist for "${A}" This is likely due to the DOM being modified outside of Nordcraft.`);return}if(S.querySelector(`[data-id="${A}"]`)){console.warn(`Conditional: Element with data-id="${A}" already exists. This is likely due to the DOM being modified outside of Nordcraft`);return}let g=zr(A,S);for(let y of T)S.insertBefore(y,g)}else b||(O?.destroy(),T.forEach(g=>g.remove()),T.splice(0,T.length))};return x.subscribe(h,{destroy:()=>{O?.destroy()}}),C.env.runtime==="preview"&&C.toddle._preview&&C.toddle._preview.showSignal.subscribe(({displayedNodes:b,testMode:g})=>{b.includes(A)&&!g?h(!0):h(x.get())}),D=!1,T}function d(){let u=!0,p=new Map;return t.map(A=>{let C=v(l?.repeat,{data:A,component:o.component,formulaCache:o.formulaCache,root:o.root,package:o.package,toddle:o.toddle,env:o.env});return typeof C!="object"?[]:Object.entries(C??{})}).subscribe(A=>{let C=new Map;for(let j=0;j<A.length;j++){let[S,R]=A[j],D={...t.get(),ListItem:{...t.get().ListItem?{Parent:t.get().ListItem}:{},Item:R,Index:Number(j),Key:S}},O=l?.repeatKey?v(l.repeatKey,{data:D,component:o.component,formulaCache:o.formulaCache,root:o.root,package:o.package,toddle:o.toddle,env:o.env}):S;C.has(O)&&(console.warn(`Duplicate key "${O}" found in repeat. Fallback to index as key. This will cause a re-render of the duplicated children on every change.`),O=S);let x=p.get(O);if(x)C.set(O,x),x.dataSignal.update(T=>({...T,ListItem:{...t.get().ListItem?{Parent:t.get().ListItem}:{},Item:R,Index:Number(j),Key:S}}));else{let T=G(D),h=t.subscribe(y=>{u||T.update(({ListItem:F})=>({...y,ListItem:F}))},{destroy:()=>T.destroy()}),b={node:l,id:e,dataSignal:T,path:S==="0"?r:`${r}(${S})`,ctx:o,namespace:n,parentElement:a,instance:s},g=l.condition?c(b):i(b);C.set(O,{dataSignal:T,cleanup:h,elements:g})}}if(Array.from(p.entries()).forEach(([j,S])=>{C.has(j)||(S.cleanup(),S.dataSignal.destroy(),S.elements.forEach(R=>R.remove()))}),p=C,!(u||p.size===0)){if(!a||o.root.contains(a)===!1){console.error(`Repeat: Parent element does not exist for ${r}. This is likely due to the DOM being modified outside of Nordcraft.`);return}_o(a,Array.from(p.values()).flatMap(j=>j.elements),zr(r,a))}},{destroy:()=>Array.from(p.values()).forEach(A=>{A.cleanup(),A.dataSignal.destroy(),A.elements.forEach(C=>C.remove())})}),u=!1,Array.from(p.values()).flatMap(A=>A.elements)}return l.repeat?d():l.condition?c({node:l,dataSignal:t,ctx:o,id:e,path:r,namespace:n,parentElement:a,instance:s}):i({node:l,dataSignal:t,ctx:o,id:e,path:r,namespace:n,parentElement:a,instance:s})}var eu=new Fe;function Oe({component:e,dataSignal:t,onEvent:r,isRootComponent:o,path:n,children:a,formulaCache:s,components:l,apis:i,abortSignal:c,root:d,providers:u,package:p,stores:m,parentElement:A,instance:C,toddle:j,namespace:S,env:R}){let D={triggerEvent:r,component:e,components:l,dataSignal:t,isRootComponent:o,apis:i,formulaCache:s,children:a,abortSignal:c,root:d,providers:u,stores:m,package:p,toddle:j,env:R},O=X({id:"root",path:n,dataSignal:t,ctx:D,parentElement:A,namespace:S,instance:C});return eu.add(()=>{let x;e.onAttributeChange?.actions&&e.onAttributeChange.actions.length>0&&t.map(T=>T.Attributes).subscribe(T=>{x&&e.onAttributeChange?.actions?.forEach(h=>{P(h,t.get(),D,new CustomEvent("attribute-change",{detail:Object.entries(T).reduce((b,[g,y])=>((0,Yo.default)(y,x[g])===!1&&e.attributes?.[g]?.name&&(b[e.attributes?.[g]?.name]={current:x[g],new:y}),b),{})}))}),x=T}),e.onLoad?.actions?.forEach(T=>{P(T,t.get(),D)})}),O}var De=class extends HTMLElement{toddle;#r;#e;#o;#t;#n;constructor(t,r,o){super(),this.toddle=o;let n=this.attachInternals();n.shadowRoot?this.#o=n.shadowRoot:this.#o=this.attachShadow({mode:"open"});let a={branchName:o.branch||"main",isServer:!1,request:void 0,runtime:"custom-element",logErrors:!0};this.#r=t,this.#t=tu({component:t,root:this.#o,toddle:o,env:a}),this.#n={themes:r.themes};let s=new AbortController;this.#t.subscribe(()=>{},{destroy:()=>s.abort(`Component ${t.name} unmounted`)}),this.#e={triggerEvent:this.dispatch.bind(this),root:this.#o,isRootComponent:!0,components:r.components,component:this.#r,dataSignal:this.#t,formulaCache:{},apis:{},abortSignal:s.signal,children:{},providers:{},stores:{theme:G(null)},package:void 0,toddle:o,env:a}}connectedCallback(){he(Object.entries(this.#r.apis??{})).forEach(([r,o])=>{me(o)?this.#e.apis[r]=Ee(o,this.#e):this.#e.apis[r]=we({apiRequest:o,ctx:this.#e,componentData:this.#t.get()})}),Object.values(this.#e.apis).filter(Y).forEach(r=>{r.triggerActions(this.#t.get())});let t=this.#e.providers;if(je(this.#r)){let r=Object.fromEntries(Object.entries(this.#r.formulas??{}).filter(([,o])=>o.exposeInContext).map(([o,n])=>[o,this.#t.map(a=>v(n.formula,{data:a,component:this.#r,formulaCache:this.#e.formulaCache,root:this.#e.root,package:this.#e.package,toddle:this.#e.toddle,env:this.#e.env}))]));t={...t,[this.#r.name]:{component:this.#r,formulaDataSignals:r,ctx:this.#e}}}this.#e.providers=t,this.render()}disconnectedCallback(){this.#t.destroy()}dispatch(t,r){this.dispatchEvent(new CustomEvent(t,{detail:r,bubbles:!0,composed:!0}))}render(){let t=Oe({...this.#e,path:"0",onEvent:this.dispatch.bind(this),parentElement:this.#o,instance:{[this.#r.name]:"root"}});this.#o.innerHTML="";let r=Po(this.#e.component,this.#e.components,Object.entries(this.#n.themes??{}).length>0?this.#n.themes:{defaultTheme:oo},{includeResetStyle:!0,createFontFaces:!1}),o=document.createElement("style");o.appendChild(document.createTextNode(r)),this.#o.appendChild(o);let n=t[0];n&&this.#o.appendChild(n)}setAttribute(t,r){switch(typeof r){case"number":super.setAttribute(t,String(r));break;case"string":return super.setAttribute(t,r),this;default:super.setAttribute(t,`[Object ${typeof r}]`);break}return this.#t.set({...this.#t.get(),Attributes:{...this.#t.get().Attributes,[t]:r}}),this}getAttribute(t){return this.#t.get().Attributes[t]||super.getAttribute(t)}attributeChangedCallback(t,r,o){let n=this.getAttributeCaseInsensitive(t),a=this.getAttribute(n);o!=="[Object object]"&&parseFloat(o)!==a&&this.#t.set({...this.#t.get(),Attributes:{...this.#t.get().Attributes,[n]:o}})}getAttributeCaseInsensitive(t){let r=Object.keys(this.#t.get().Attributes).find(o=>o.toLowerCase()===t.toLowerCase());if(!r)throw new Error(`Unable to find attribute ${t} on component ${this.#r.name}`);return r}get __component(){return this.#r}get __ctx(){return this.#e}get __signal(){return this.#t}},tu=({component:e,root:t,toddle:r,env:o})=>G({Location:void 0,Variables:B(e.variables??{},([n,{initialValue:a}])=>{if(!e)throw new Error("Component not found");return[n,v(a,{data:{Attributes:{}},component:e,root:t,package:void 0,toddle:r,env:o})]}),Attributes:B(e.attributes??{},([n])=>[n,void 0]),Apis:B(e.apis??{},([n])=>[n,{data:null,isLoading:!1,error:null}])});var ru=(e,t,r)=>{e.map(o=>t.components.find(n=>n.name===o)).forEach(o=>{let n=yo(o.name);if(customElements.get(n)){console.warn(`Component ${n} already defined`);return}customElements.define(n,class extends De{constructor(){super(o,t,r)}static get observedAttributes(){return Object.keys(o.attributes??{}).map(a=>a.toLowerCase())}})})};var jd=(e=window.toddle)=>{e.isEqual=Zo.default,Object.entries(Hr).forEach(([t,r])=>e.registerFormula("@toddle/"+t,r.default,"getArgumentInputData"in r?r.getArgumentInputData:void 0)),Object.entries(Ze).forEach(([t,r])=>e.registerAction("@toddle/"+t,r.default))};export{ru as defineComponents,jd as loadCorePlugins};
|
|
274
274
|
//# sourceMappingURL=custom-element.main.esm.js.map
|