@nordcraft/runtime 1.0.20 → 1.0.21

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.
@@ -1,4 +1,4 @@
1
- var $o=Object.create;var Ce=Object.defineProperty;var Po=Object.getOwnPropertyDescriptor;var Lo=Object.getOwnPropertyNames;var Io=Object.getPrototypeOf,Mo=Object.prototype.hasOwnProperty;var qo=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),p=(e,t)=>{for(var r in t)Ce(e,r,{get:t[r],enumerable:!0})},Bo=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Lo(t))!Mo.call(e,n)&&n!==r&&Ce(e,n,{get:()=>t[n],enumerable:!(o=Po(t,n))||o.enumerable});return e};var ne=(e,t,r)=>(r=e!=null?$o(Io(e)):{},Bo(t||!e||!e.__esModule?Ce(r,"default",{value:e,enumerable:!0}):r,e));var X=qo((Ql,Yr)=>{"use strict";Yr.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 Be={};p(Be,{clearLocalStorage:()=>xe,clearSessionStorage:()=>we,copyToClipboard:()=>ke,deleteFromLocalStorage:()=>Pe,deleteFromSessionStorage:()=>Ie,focus:()=>Re,gotToURL:()=>je,interval:()=>Ne,logToConsole:()=>qe,preventDefault:()=>De,saveToLocalStorage:()=>Ee,saveToSessionStorage:()=>Fe,setCookie:()=>Te,setHttpOnlyCookie:()=>Se,setSessionCookies:()=>Le,share:()=>Me,sleep:()=>Oe,stopPropagation:()=>$e});var Ee={};p(Ee,{default:()=>Uo});var _o=async function([e,t]){if(typeof e!="string"||e.length===0)throw new Error(`Invalid key: ${e}`);window.localStorage.setItem(e,JSON.stringify(t))},Uo=_o;var Se={};p(Se,{default:()=>Vo});var Ho=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 u=o??"Lax";if(typeof u!="string"||!["lax","strict","none"].includes(u.toLocaleLowerCase())){l('The "SameSite" argument must be "Lax", "Strict" or "None"');return}let f=n??"/";if(typeof f!="string"||!f.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 g=a??!0;if(typeof g!="boolean"){l('The "Include Subdomains" argument must be a boolean');return}let i=new URLSearchParams;i.set("name",e),i.set("value",t),i.set("sameSite",u),i.set("path",f),i.set("includeSubdomains",String(g)),typeof r=="number"&&i.set("ttl",String(r));try{let d=await fetch(`/.nordcraft/cookies/set-cookie?${i.toString()}`);d.ok?s.triggerActionEvent("Success",void 0):l(await d.text())}catch(d){l(d instanceof Error?d.message:"An unexpected error occurred")}},Vo=Ho;var we={};p(we,{default:()=>Wo});var Ko=async function(){window.sessionStorage.clear()},Wo=Ko;var Fe={};p(Fe,{default:()=>zo});var Jo=async function([e,t]){if(typeof e!="string"||e.length===0)throw new Error(`Invalid key: ${e}`);window.sessionStorage.setItem(e,JSON.stringify(t))},zo=Jo;var je={};p(je,{default:()=>Yo});var Go=([e],t)=>{typeof e=="string"&&(t.env.runtime==="preview"?window.parent?.postMessage({type:"blockedNavigation",url:e},"*"):window.location.href=e)},Yo=Go;var De={};p(De,{default:()=>Zo});var Qo=(e,t,r)=>{r?.preventDefault?.()},Zo=Qo;var Oe={};p(Oe,{default:()=>en});var R=e=>e!=null,B=e=>typeof e=="object"&&e!==null,k=e=>e!==!1&&e!==void 0&&e!==null;var Xo=([e],t)=>{let r=Number(e);if(!R(e)||Number.isNaN(e))throw new Error("Invalid delay value");let o=setTimeout(()=>t.triggerActionEvent("tick",null),r);t.abortSignal.addEventListener("abort",()=>{clearTimeout(o)})},en=Xo;var Re={};p(Re,{default:()=>rn});var tn=([e])=>{e instanceof HTMLElement&&e.focus()},rn=tn;var Te={};p(Te,{default:()=>nn});var on=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 u=o??"Lax";if(typeof u!="string"||!["lax","strict","none"].includes(u.toLocaleLowerCase())){l('The "SameSite" argument must be "Lax", "Strict" or "None"');return}let f=n??"/";if(typeof f!="string"||!f.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 g=a??!0;if(typeof g!="boolean"){l('The "Include Subdomains" argument must be a boolean');return}let i=`${e}=${t}; SameSite=${u}; Path=${f}`;if(typeof r=="number"){let d=new Date(Date.now()+r*1e3);i+=`; Expires=${d.toUTCString()}`}g&&(i+=`; Domain=${window.location.hostname}`),document.cookie=i,s.triggerActionEvent("Success",void 0)},nn=on;var xe={};p(xe,{default:()=>sn});var an=async function(){window.localStorage.clear()},sn=an;var ke={};p(ke,{default:()=>un});var ln=([e])=>{if(typeof e!="string")throw new Error("Input value must be a string");return navigator.clipboard.writeText(e)},un=ln;var Ne={};p(Ne,{default:()=>cn});var dn=([e],t)=>{let r=Number(e);if(!R(e)||Number.isNaN(e))throw new Error("Invalid delay value");let o=setInterval(()=>t.triggerActionEvent("tick",null),r);t.abortSignal.addEventListener("abort",()=>{clearInterval(o)})},cn=dn;var $e={};p($e,{default:()=>pn});var fn=(e,t,r)=>{r?.stopPropagation?.()},pn=fn;var Pe={};p(Pe,{default:()=>hn});var mn=async function([e]){if(typeof e!="string"||e.length===0)throw new Error(`Invalid key: ${e}`);window.localStorage.removeItem(e)},hn=mn;var Le={};p(Le,{default:()=>yn});var gn=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=gn;var Ie={};p(Ie,{default:()=>vn});var bn=async function([e]){if(typeof e!="string"||e.length===0)throw new Error(`Invalid key: ${e}`);window.sessionStorage.removeItem(e)},vn=bn;var Me={};p(Me,{default:()=>Cn});var An=([e,t,r])=>{let o=a=>R(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),R(navigator.share)&&navigator.canShare(n))return navigator.share(n)},Cn=An;var qe={};p(qe,{default:()=>Sn});var En=([e,t])=>{console.log(e,t)},Sn=En;var Tr={};p(Tr,{absolute:()=>Xt,add:()=>hr,append:()=>Ue,boolean:()=>ht,branchName:()=>Xe,canShare:()=>Sr,capitalize:()=>Cr,clamp:()=>tr,concatenate:()=>At,currentURL:()=>Kt,dateFromString:()=>Ge,dateFromTimestamp:()=>dt,decodeBase64:()=>Or,decodeURIComponent:()=>Nt,defaultTo:()=>fr,deleteKey:()=>Ve,divide:()=>Er,drop:()=>Dr,dropLast:()=>lt,encodeBase64:()=>pt,encodeJSON:()=>wt,encodeURIComponent:()=>Ct,entries:()=>ze,equals:()=>cr,every:()=>Bt,filter:()=>Ht,find:()=>jt,findIndex:()=>ot,findLast:()=>ir,first:()=>He,flatten:()=>sr,formatDate:()=>lr,formatNumber:()=>tt,fromEntries:()=>vt,get:()=>pr,getCookie:()=>mr,getElementById:()=>kt,getFromLocalStorage:()=>Rr,getFromSessionStorage:()=>gr,getHttpOnlyCookie:()=>Tt,greaterOrEqueal:()=>Ot,greaterThan:()=>Fr,groupBy:()=>Ut,includes:()=>Ar,indexOf:()=>Yt,isServer:()=>_t,join:()=>We,json:()=>mt,keyBy:()=>or,languages:()=>Ye,last:()=>It,lastIndexOf:()=>Jt,lessOrEqual:()=>ft,lessThan:()=>rr,logarithm:()=>it,lowercase:()=>rt,map:()=>Ft,matches:()=>bt,max:()=>St,min:()=>er,minus:()=>ur,modulo:()=>Mt,multiply:()=>Gt,not:()=>$t,notEqual:()=>jr,now:()=>Qe,number:()=>gt,parseJSON:()=>Rt,parseURL:()=>qt,power:()=>yt,prepend:()=>xt,randomNumber:()=>Vt,range:()=>ar,reduce:()=>Pt,replaceAll:()=>Lt,reverse:()=>zt,round:()=>nr,roundDown:()=>dr,roundUp:()=>Qt,set:()=>et,shuffle:()=>yr,size:()=>ct,some:()=>Wt,sort_by:()=>Ke,split:()=>br,squareRoot:()=>Dt,startsWith:()=>vr,string:()=>_e,sum:()=>Et,take:()=>ut,takeLast:()=>nt,timestamp:()=>Zt,trim:()=>at,typeOf:()=>Ze,unique:()=>wr,uppercase:()=>st,userAgent:()=>Je});var _e={};p(_e,{default:()=>Fn});var wn=([e])=>String(e),Fn=wn;var Ue={};p(Ue,{default:()=>Dn});var jn=([e,t])=>Array.isArray(e)?[...e,t]:null,Dn=jn;var He={};p(He,{default:()=>Rn});var On=([e])=>typeof e=="string"||Array.isArray(e)?e[0]:null,Rn=On;var Ve={};p(Ve,{default:()=>xn});var Tn=([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((u,f)=>f!==Number(a)):n.map((u,f)=>f===l?r(n[l],s):u)}return B(n)?s.length===0?Object.fromEntries(Object.entries(n).filter(([l])=>l!==a)):{...n,[a]:r(n[a],s)}:null},o=Array.isArray(t)?t:[t];return r(e,o)},xn=Tn;var Ke={};p(Ke,{default:()=>Nn,getArgumentInputData:()=>$n});var kn=([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 u in s)if(s[u]!==l[u])return(s[u]>l[u]?1:-1)*o;return 0}return s===l?0:(s>l?1:-1)*o})},Nn=kn,$n=([e],t,r)=>t===1&&Array.isArray(e)?{...r,Args:{item:e[0]}}:r;var We={};p(We,{default:()=>Ln});var Pn=([e,t])=>Array.isArray(e)?e.join(String(t)):null,Ln=Pn;var Je={};p(Je,{default:()=>Mn});var In=(e,{env:t})=>t.isServer?t.request?.headers["user-agent"]??null:window.navigator.userAgent,Mn=In;var ze={};p(ze,{default:()=>Bn});var qn=([e])=>typeof e=="object"&&e!==null?Object.entries(e).map(([t,r])=>({key:t,value:r})):null,Bn=qn;var Ge={};p(Ge,{default:()=>Un});var _n=([e])=>typeof e=="string"?new Date(e):null,Un=_n;var Ye={};p(Ye,{default:()=>Vn});var Hn=(e,{env:t})=>t.isServer?t.request?.headers["accept-language"]?.split(",").map(r=>r.split(";")[0])??[]:window.navigator.languages,Vn=Hn;var Qe={};p(Qe,{default:()=>Wn});var Kn=()=>new Date,Wn=Kn;var Ze={};p(Ze,{default:()=>zn});var Jn=([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}},zn=Jn;var Xe={};p(Xe,{default:()=>Yn});var Gn=(e,t)=>t.env.branchName,Yn=Gn;var et={};p(et,{default:()=>Qn});var qr=([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(B(e)){let s=Array.isArray(e)?[...e]:{...e};return s[n]=a.length===0?r:qr([s[n],a,r],o),s}return null},Qn=qr;var tt={};p(tt,{default:()=>Xn});var Zn=([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(j=>typeof j=="string")?t:void 0;if(!r||typeof r!="object")return Intl.NumberFormat(o).format(e);let n=(j,x)=>typeof j=="string"&&(x?.includes(j)??!0)?j: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 u=n(a.currencyDisplay,["code","symbol","narrowSymbol","name"]),f=typeof a.unit=="string"?a.unit:void 0;if(s==="unit"&&typeof f!="string")return null;let g=n(a.unitDisplay,["short","narrow","long"]),i=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,h=typeof a.maximumFractionDigits=="number"&&a.maximumFractionDigits>=0&&a.maximumFractionDigits<=100?a.maximumFractionDigits:void 0,S=typeof a.minimumSignificantDigits=="number"&&a.minimumSignificantDigits>=1&&a.minimumSignificantDigits<=21?a.minimumSignificantDigits:void 0,y=typeof a.maximumSignificantDigits=="number"&&a.maximumSignificantDigits>=1&&a.maximumSignificantDigits<=21?a.maximumSignificantDigits:void 0,F=n(a.notation,["standard","scientific","engineering","compact"]),E=n(a.compactDisplay,["short","long"]),D=["always","auto","min2"],O=typeof a.useGrouping=="boolean"?a.useGrouping:n(a.useGrouping,D);return new Intl.NumberFormat(o,{style:s,currency:l,currencyDisplay:u,unit:f,unitDisplay:g,minimumIntegerDigits:i,minimumFractionDigits:d,maximumFractionDigits:h,minimumSignificantDigits:S,maximumSignificantDigits:y,notation:F,compactDisplay:E,useGrouping:O}).format(e)},Xn=Zn;var rt={};p(rt,{default:()=>ta});var ea=([e])=>typeof e!="string"?null:e.toLocaleLowerCase(),ta=ea;var ot={};p(ot,{default:()=>ra,getArgumentInputData:()=>oa,handler:()=>Br});var Br=([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,ra=Br,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};var nt={};p(nt,{default:()=>aa});var na=([e,t])=>typeof t!="number"?null:Array.isArray(e)?e.slice(e.length-t):typeof e=="string"?e.substring(e.length-t):null,aa=na;var at={};p(at,{default:()=>ia});var sa=([e])=>typeof e!="string"?null:e.trim(),ia=sa;var st={};p(st,{default:()=>ua});var la=([e])=>typeof e!="string"?null:e.toLocaleUpperCase(),ua=la;var it={};p(it,{default:()=>ca});var da=([e])=>typeof e!="number"||Number.isNaN(e)||e<0?null:Math.log(e),ca=da;var lt={};p(lt,{default:()=>pa});var fa=([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,pa=fa;var ut={};p(ut,{default:()=>ha});var ma=([e,t])=>typeof t!="number"?null:Array.isArray(e)?e.slice(0,t):typeof e=="string"?e.substring(0,t):null,ha=ma;var dt={};p(dt,{default:()=>ya});var ga=([e])=>typeof e=="number"?new Date(e):null,ya=ga;var ct={};p(ct,{default:()=>va});var ba=([e])=>Array.isArray(e)?e.length:B(e)?Object.keys(e).length:typeof e=="string"?e.length:null,va=ba;var ft={};p(ft,{default:()=>Ca});var Aa=([e,t])=>e<=t,Ca=Aa;var pt={};p(pt,{default:()=>Sa});var Ea=([e])=>typeof e!="string"?null:btoa(e),Sa=Ea;var mt={};p(mt,{default:()=>Fa});var wa=([e,t])=>{let r=isNaN(Number(t))?0:Number(t);return JSON.stringify(e,null,r)},Fa=wa;var ht={};p(ht,{default:()=>Da});var ja=([e])=>k(e),Da=ja;var gt={};p(gt,{default:()=>Ra});var Oa=([e])=>Number(e),Ra=Oa;var yt={};p(yt,{default:()=>xa});var Ta=([e,t])=>isNaN(Number(e))||isNaN(Number(t))?null:Number(e)**Number(t),xa=Ta;var bt={};p(bt,{default:()=>Na});var ka=([e,t,r,o,n])=>{if(typeof e!="string"||typeof t!="string")return[];let a=[k(r)?"g":"",k(o)?"i":"",k(n)?"m":""].join(""),s=new RegExp(t,a);return e.match(s)??[]},Na=ka;var vt={};p(vt,{default:()=>Pa});var $a=([e])=>{if(Array.isArray(e)){let t={};for(let{key:r,value:o}of e)t[r]=o;return t}return null},Pa=$a;var At={};p(At,{default:()=>Ia});var La=e=>{if(e.every(Array.isArray)){let t=[];for(let r of e)t.push(...r);return t}return e.every(B)?Object.assign({},...e):e.join("")},Ia=La;var Ct={};p(Ct,{default:()=>qa});var Ma=([e])=>typeof e!="string"?null:encodeURIComponent(e),qa=Ma;var Et={};p(Et,{default:()=>_a});var Ba=([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},_a=Ba;var St={};p(St,{default:()=>Ha});var Ua=e=>Math.max(...e.map(Number)),Ha=Ua;var wt={};p(wt,{default:()=>Ka});var Va=([e,t])=>typeof t!="number"?null:JSON.stringify(e,null,t),Ka=Va;var Ft={};p(Ft,{default:()=>za,getArgumentInputData:()=>Ja});var Wa=([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,Ja=([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},za=Wa;var jt={};p(jt,{default:()=>Ga,getArgumentInputData:()=>Ya,handler:()=>_r});var _r=([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,Ga=_r,Ya=([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 Dt={};p(Dt,{default:()=>Za});var Qa=([e])=>typeof e!="number"?null:Math.sqrt(e),Za=Qa;var Ot={};p(Ot,{default:()=>es});var Xa=([e,t])=>e>=t,es=Xa;var Rt={};p(Rt,{default:()=>os});var ts=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:.\d{1,3})?Z$/;function Z(e){return JSON.parse(e,(t,r)=>typeof r=="string"&&r.length===24&&ts.test(r)?new Date(r):r)}var rs=([e])=>{if(typeof e!="string")return null;try{return Z(e)}catch{return null}},os=rs;var Tt={};p(Tt,{default:()=>ss});var Ur=(e,t)=>`{{ ${ns[e]}.${t} }}`,ns={cookies:"cookies"};var as=([e])=>!e||typeof e!="string"?null:Ur("cookies",e),ss=as;var xt={};p(xt,{default:()=>ls});var is=([e,t])=>Array.isArray(e)?[t,...e]:null,ls=is;var kt={};p(kt,{default:()=>ds});var us=([e],{root:t})=>typeof e!="string"?null:t.getElementById(e),ds=us;var Nt={};p(Nt,{default:()=>fs});var cs=([e])=>typeof e!="string"?null:decodeURIComponent(e),fs=cs;var $t={};p($t,{default:()=>ms});var ps=([e])=>!k(e),ms=ps;var Pt={};p(Pt,{default:()=>gs,getArgumentInputData:()=>ys});var hs=([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,gs=hs,ys=([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 Lt={};p(Lt,{default:()=>vs});var bs=([e,t,r])=>typeof e!="string"||typeof t!="string"?null:e.replaceAll(t,String(r)),vs=bs;var It={};p(It,{default:()=>Cs});var As=([e])=>typeof e=="string"||Array.isArray(e)?e[e.length-1]:null,Cs=As;var Mt={};p(Mt,{default:()=>Ss});var Es=([e,t])=>isNaN(Number(e))||isNaN(Number(t))?null:Number(e)%Number(t),Ss=Es;var qt={};p(qt,{default:()=>Fs});var ws=([e,t])=>{if(typeof e!="string")return null;try{let{hostname:r,searchParams:o,pathname:n,hash:a,href:s,protocol:l,port:u,origin:f}=new URL(e,typeof t=="string"?t:void 0);return{hostname:r,searchParams:Object.fromEntries(o),path:n.split("/").filter((g,i)=>i!==0||g!==""),hash:a.replace("#",""),href:s,protocol:l,port:u,origin:f}}catch{return null}},Fs=ws;var Bt={};p(Bt,{default:()=>js,getArgumentInputData:()=>Ds,handler:()=>Hr});var Hr=([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,js=Hr,Ds=([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={};p(_t,{default:()=>Rs});var Os=(e,t)=>t.env.isServer,Rs=Os;var Ut={};p(Ut,{default:()=>Ts,getArgumentInputData:()=>xs,handler:()=>Vr});var Vr=([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},Ts=Vr,xs=([e],t,r)=>t===1&&Array.isArray(e)?{...r,Args:{item:e[0],index:0}}:r;var Ht={};p(Ht,{default:()=>ks,getArgumentInputData:()=>Ns,handler:()=>Kr});var Kr=([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,ks=Kr,Ns=([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 Vt={};p(Vt,{default:()=>Ps});var $s=()=>Math.random(),Ps=$s;var Kt={};p(Kt,{default:()=>Is});var Ls=(e,{env:t})=>t.isServer?t.request.url:window?.location.href??null,Is=Ls;var Wt={};p(Wt,{default:()=>Ms,getArgumentInputData:()=>qs,handler:()=>Wr});var Wr=([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,Ms=Wr,qs=([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 Jt={};p(Jt,{default:()=>_s});var Bs=([e,t])=>typeof e=="string"?e.lastIndexOf(t):Array.isArray(e)?e.findLastIndex(r=>globalThis.toddle.isEqual(r,t)):null,_s=Bs;var zt={};p(zt,{default:()=>Hs});var Us=([e])=>Array.isArray(e)?[...e].reverse():null,Hs=Us;var Gt={};p(Gt,{default:()=>Ks});var Vs=e=>e.some(t=>isNaN(Number(t)))?null:e.reduce((t,r)=>t*r,1),Ks=Vs;var Yt={};p(Yt,{default:()=>Js});var Ws=([e,t])=>typeof e=="string"?e.indexOf(t):Array.isArray(e)?e.findIndex(r=>globalThis.toddle.isEqual(r,t)):null,Js=Ws;var Qt={};p(Qt,{default:()=>Gs});var zs=([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},Gs=zs;var Zt={};p(Zt,{default:()=>Qs});var Ys=([e])=>!e||!(e instanceof Date)?null:e.getTime(),Qs=Ys;var Xt={};p(Xt,{default:()=>Xs});var Zs=([e])=>typeof e!="number"?null:Math.abs(e),Xs=Zs;var er={};p(er,{default:()=>ti});var ei=e=>Math.min(...e.map(Number)),ti=ei;var tr={};p(tr,{default:()=>oi});var ri=([e,t,r])=>typeof e!="number"||typeof t!="number"||typeof r!="number"?null:Math.min(Math.max(e,t),r),oi=ri;var rr={};p(rr,{default:()=>ai});var ni=([e,t])=>e<t,ai=ni;var or={};p(or,{default:()=>si,getArgumentInputData:()=>ii,handler:()=>Jr});var Jr=([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},si=Jr,ii=([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 nr={};p(nr,{default:()=>ui});var li=([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},ui=li;var ar={};p(ar,{default:()=>ci});var di=([e,t])=>typeof e!="number"||typeof t!="number"?null:e>t?[]:Array.from({length:t-e+1},(r,o)=>o+e),ci=di;var sr={};p(sr,{default:()=>pi});var fi=([e])=>Array.isArray(e)?e.flat():null,pi=fi;var ir={};p(ir,{default:()=>mi,getArgumentInputData:()=>hi,handler:()=>zr});var zr=([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,mi=zr,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 lr={};p(lr,{default:()=>yi});var gi=([e,t,r])=>{if(!e||!(e instanceof Date))return null;let o=typeof t=="string"&&t.length>0||Array.isArray(t)&&t.every(j=>typeof j=="string")?t:void 0;if(!r||typeof r!="object")return Intl.DateTimeFormat(o).format(e);let n=(j,x)=>typeof j=="string"&&(x?.includes(j)??!0)?j:void 0,a=r,s=n(a.dateStyle,["full","long","medium","short"]),l=n(a.timeStyle,["full","long","medium","short"]),u=n(a.calendar),f=n(a.weekday,["long","short","narrow"]),g=n(a.era,["long","short","narrow"]),i=n(a.year,["numeric","2-digit"]),d=n(a.month,["long","short","narrow","numeric","2-digit"]),h=n(a.day,["numeric","2-digit"]),S=n(a.hour,["numeric","2-digit"]),y=n(a.minute,["numeric","2-digit"]),F=n(a.second,["numeric","2-digit"]),E=n(a.timeZoneName,["long","short","shortOffset","longOffset","shortGeneric","longGeneric"]),D=n(a.timeZone),O=a.hour12===!0?!0:a.hour12===!1?!1:void 0;return Intl.DateTimeFormat(o,{dateStyle:s,timeStyle:l,calendar:u,weekday:f,era:g,year:i,month:d,day:h,hour:S,minute:y,second:F,timeZoneName:E,timeZone:D,hour12:O}).format(e)},yi=gi;var ur={};p(ur,{default:()=>vi});var bi=([e,t])=>{let r=Number(e),o=Number(t);return isNaN(r)||isNaN(o)?null:r-o},vi=bi;var dr={};p(dr,{default:()=>Ci});var Ai=([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},Ci=Ai;var cr={};p(cr,{default:()=>Si});var Ei=([e,t])=>globalThis.toddle.isEqual(e,t),Si=Ei;var fr={};p(fr,{default:()=>Fi});var wi=e=>{for(let t of e)if(k(t))return t;return null},Fi=wi;var pr={};p(pr,{default:()=>Di});var ji=([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])},Di=ji;var mr={};p(mr,{default:()=>Ri});var Oi=([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,Ri=Oi;var hr={};p(hr,{default:()=>xi});var Ti=e=>!Array.isArray(e)||e.some(t=>t===null||typeof t!="number")?null:e.reduce((t,r)=>t+Number(r),0),xi=Ti;var gr={};p(gr,{default:()=>Ni});var ki=([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}},Ni=ki;var yr={};p(yr,{default:()=>Pi});var $i=([e])=>Array.isArray(e)?Gr(e):typeof e=="string"?Gr(e.split("")).join(""):null;function Gr(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 Pi=$i;var br={};p(br,{default:()=>Ii});var Li=([e,t])=>typeof e!="string"||typeof t!="string"?null:e.split(t),Ii=Li;var vr={};p(vr,{default:()=>qi});var Mi=([e,t])=>typeof e!="string"||typeof t!="string"?null:e.startsWith(t),qi=Mi;var Ar={};p(Ar,{default:()=>_i});var Bi=([e,t])=>typeof e=="string"&&typeof t=="string"?e.includes(t):Array.isArray(e)?e.some(r=>globalThis.toddle.isEqual(r,t)):null,_i=Bi;var Cr={};p(Cr,{default:()=>Hi});var Ui=([e])=>typeof e!="string"?null:e.length===0?e:e[0].toLocaleUpperCase()+e.substring(1).toLocaleLowerCase(),Hi=Ui;var Er={};p(Er,{default:()=>Ki});var Vi=([e,t])=>isNaN(Number(e))||isNaN(Number(t))?null:Number(e)/Number(t),Ki=Vi;var Sr={};p(Sr,{default:()=>Ji});var Wi=([e,t,r])=>{if(!R(navigator.canShare))return!1;let o=a=>R(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)},Ji=Wi;var wr={};p(wr,{default:()=>Gi});var zi=([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)})},Gi=zi;var Fr={};p(Fr,{default:()=>Qi});var Yi=([e,t])=>e>t,Qi=Yi;var jr={};p(jr,{default:()=>Xi});var Zi=([e,t])=>!globalThis.toddle.isEqual(e,t),Xi=Zi;var Dr={};p(Dr,{default:()=>tl});var el=([e,t])=>typeof t!="number"||isNaN(t)?null:Array.isArray(e)?e.slice(t):typeof e=="string"?e.substring(t):null,tl=el;var Or={};p(Or,{default:()=>ol});var rl=([e])=>typeof e!="string"?null:atob(e),ol=rl;var Rr={};p(Rr,{default:()=>al});var nl=([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}},al=nl;var No=ne(X(),1);var Qr=e=>{let t=e.toLocaleLowerCase().replaceAll(" ","");return t.includes("-")?t:`toddle-${t}`};var ae=e=>Object.hasOwn(e,"formula");function V(e){return e&&typeof e=="object"&&typeof e.type=="string"}function C(e,t){if(!V(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(k(C(r.condition,t)))return C(r.formula,t);return C(e.default,t)}case"or":{for(let r of e.arguments)if(k(C(r.formula,t)))return!0;return!1}case"and":{for(let r of e.arguments)if(!k(C(r.formula,t)))return!1;return!0}case"function":{let r=e.package??t.package,o=(t.toddle??globalThis.toddle)?.getCustomFormula(e.name,r),n=(t.toddle??globalThis.toddle).getFormula(e.name);if(R(o)){t.package=r;let a=e.arguments.reduce((s,l,u)=>({...s,[l.name??`${u}`]:l.isFunction?f=>C(l.formula,{...t,data:{...t.data,Args:t.data.Args?{...f,"@toddle.parent":t.data.Args}:f}}):C(l.formula,t)}),{});try{return ae(o)?C(o.formula,{...t,data:{...t.data,Args:a}}):o.handler(a,{root:t.root??document,env:t.env})}catch(s){return t.toddle.errors.push(s),t.env?.logErrors&&console.error(s),null}}else if(typeof n=="function"){let a=(e.arguments??[]).map(s=>s.isFunction?l=>C(s.formula,{...t,data:{...t.data,Args:t.data.Args?{...l,"@toddle.parent":t.data.Args}:l}}):C(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,C(r.formula,t)])??[]);case"record":return Object.fromEntries(e.entries.map(r=>[r.name,C(r.formula,t)]));case"array":return e.arguments.map(r=>C(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=>C(s.formula,{...t,data:{...t.data,Args:t.data.Args?{...l,"@toddle.parent":t.data.Args}:l}})]:[s.name,C(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=C(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 sl=e=>typeof e=="object"&&e!==null,I=(e,t)=>Object.fromEntries(Object.entries(e).map(t)),ee=(e,t)=>I(e,([r,o])=>[r,t(o)]),Zr=(e,t)=>{let[r,...o]=t,n=Array.isArray(e)?[...e]:sl(e)?{...e}:{};return o.length===0?delete n[r]:n[r]=Zr(n[r],o),n},K=(e,t)=>Object.fromEntries(Object.entries(e).filter(([r])=>!t.includes(r))),Xr=(e,t)=>t.reduce((r,o)=>Zr(r,o),{...e});function se(e,[t,...r]){return r.length===0?e?.[t]:se(e?.[t],r)}var ie=(e,t,r=!0)=>il(Object.entries(e),t,r),il=(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 eo=(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 _;(function(e){e.GET="GET",e.POST="POST",e.DELETE="DELETE",e.PUT="PUT",e.PATCH="PATCH",e.HEAD="HEAD",e.OPTIONS="OPTIONS"})(_||(_={}));function*T({formula:e,globalFormulas:t,path:r=[],visitedFormulas:o=new Set,packageName:n}){if(R(e))switch(yield{path:r,formula:e,packageName:n},e.type){case"path":case"value":break;case"record":for(let[a,s]of e.entries.entries())yield*T({formula:s.formula,globalFormulas:t,path:[...r,"entries",a,"formula"],visitedFormulas:o,packageName:n});break;case"function":{n=e.package??n;let a=[n,e.name].filter(R).join("/"),s=!o.has(a);o.add(a);let l=n?t.packages?.[n]?.formulas?.[e.name]:t.formulas?.[e.name];for(let[u,f]of(e.arguments??[]).entries())yield*T({formula:f.formula,globalFormulas:t,path:[...r,"arguments",u,"formula"],visitedFormulas:o,packageName:n});l&&ae(l)&&s&&(yield*T({formula:l.formula,globalFormulas:t,path:[...r,"formula"],visitedFormulas:o,packageName:n}));break}case"array":case"or":case"and":case"object":for(let[a,s]of(e.arguments??[]).entries())yield*T({formula:s.formula,globalFormulas:t,path:[...r,"arguments",a,"formula"],visitedFormulas:o,packageName:n});break;case"apply":for(let[a,s]of(e.arguments??[]).entries())yield*T({formula:s.formula,globalFormulas:t,path:[...r,"arguments",a,"formula"],visitedFormulas:o,packageName:n});break;case"switch":for(let[a,s]of e.cases.entries())yield*T({formula:s.condition,globalFormulas:t,path:[...r,"cases",a,"condition"],visitedFormulas:o,packageName:n}),yield*T({formula:s.formula,globalFormulas:t,path:[...r,"cases",a,"formula"],visitedFormulas:o,packageName:n});yield*T({formula:e.default,globalFormulas:t,path:[...r,"default"],visitedFormulas:o,packageName:n});break}}function*q({action:e,globalFormulas:t,path:r=[],visitedFormulas:o=new Set,packageName:n}){if(R(e))switch(e.type){case"Fetch":for(let[a,s]of Object.entries(e.inputs??{}))yield*T({formula:s.formula,globalFormulas:t,path:[...r,"input",a,"formula"],visitedFormulas:o,packageName:n});for(let[a,s]of Object.entries(e.onSuccess?.actions??{}))yield*q({action:s,globalFormulas:t,path:[...r,"onSuccess","actions",a],visitedFormulas:o,packageName:n});for(let[a,s]of Object.entries(e.onError?.actions??{}))yield*q({action:s,globalFormulas:t,path:[...r,"onError","actions",a],visitedFormulas:o,packageName:n});for(let[a,s]of Object.entries(e.onMessage?.actions??{}))yield*q({action:s,globalFormulas:t,path:[...r,"onMessage","actions",a],visitedFormulas:o,packageName:n});break;case"Custom":case void 0:n=e.package??n,V(e.data)&&(yield*T({formula:e.data,globalFormulas:t,path:[...r,"data"],visitedFormulas:o,packageName:n}));for(let[a,s]of Object.entries(e.arguments??{}))yield*T({formula:s.formula,globalFormulas:t,path:[...r,"arguments",a,"formula"],visitedFormulas:o,packageName:n});for(let[a,s]of Object.entries(e.events??{}))for(let[l,u]of Object.entries(s.actions??{}))yield*q({action:u,globalFormulas:t,path:[...r,"events",a,"actions",l],visitedFormulas:o,packageName:n});break;case"SetVariable":case"TriggerEvent":yield*T({formula:e.data,globalFormulas:t,path:[...r,"data"],visitedFormulas:o,packageName:n});break;case"SetURLParameter":yield*T({formula:e.data,globalFormulas:t,path:[...r,"data"],visitedFormulas:o});break;case"SetURLParameters":for(let[a,s]of Object.entries(e.parameters??{}))yield*T({formula:s,globalFormulas:t,path:[...r,"parameters",a],visitedFormulas:o});break;case"TriggerWorkflow":for(let[a,s]of Object.entries(e.parameters??{}))yield*T({formula:s.formula,globalFormulas:t,path:[...r,"parameters",a,"formula"],visitedFormulas:o,packageName:n});break;case"Switch":R(e.data)&&V(e.data)&&(yield*T({formula:e.data,globalFormulas:t,path:[...r,"data"],visitedFormulas:o,packageName:n}));for(let[a,s]of e.cases.entries()){yield*T({formula:s.condition,globalFormulas:t,path:[...r,"cases",a,"condition"],visitedFormulas:o,packageName:n});for(let[l,u]of Object.entries(s.actions))yield*q({action:u,globalFormulas:t,path:[...r,"cases",a,"actions",l],visitedFormulas:o,packageName:n})}for(let[a,s]of Object.entries(e.default.actions))yield*q({action:s,globalFormulas:t,path:[...r,"default","actions",a],visitedFormulas:o,packageName:n});break}}var te=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(R(o))switch(o.type){case"path":o.path[0]==="Apis"&&t.add(o.path[1]);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)),V(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*T({formula:t.autoFetch,globalFormulas:this.globalFormulas,path:["apis",r,"autoFetch"]}),yield*T({formula:t.url,globalFormulas:this.globalFormulas,path:["apis",r,"url"]});for(let[o,n]of Object.entries(t.path??{}))yield*T({formula:n.formula,globalFormulas:this.globalFormulas,path:["apis",r,"path",o,"formula"]});for(let[o,n]of Object.entries(t.queryParams??{}))yield*T({formula:n.formula,globalFormulas:this.globalFormulas,path:["apis",r,"queryParams",o,"formula"]});if(V(t.headers))yield*T({formula:t.headers,globalFormulas:this.globalFormulas,path:["apis",r,"headers"]});else for(let[o,n]of Object.entries(t.headers??{}))yield*T({formula:n,globalFormulas:this.globalFormulas,path:["apis",r,"headers",o]});yield*T({formula:t.body,globalFormulas:this.globalFormulas,path:["apis",r,"body"]});for(let[o,n]of Object.entries(t.onCompleted?.actions??{}))yield*q({action:n,globalFormulas:this.globalFormulas,path:["apis",r,"onCompleted","actions",o]});for(let[o,n]of Object.entries(t.onFailed?.actions??{}))yield*q({action:n,globalFormulas:this.globalFormulas,path:["apis",r,"onFailed","actions",o]})}};function*U(e,t=[]){if(R(e))switch(yield[t,e],e.type){case"SetVariable":case"SetURLParameter":case"TriggerEvent":case"TriggerWorkflow":break;case"Fetch":for(let[r,o]of Object.entries(e.onSuccess?.actions??{}))yield*U(o,[...t,"onSuccess","actions",r]);for(let[r,o]of Object.entries(e.onError?.actions??{}))yield*U(o,[...t,"onError","actions",r]);for(let[r,o]of Object.entries(e.onMessage?.actions??{}))yield*U(o,[...t,"onMessage","actions",r]);break;case"Custom":case void 0:for(let[r,o]of Object.entries(e.events??{}))for(let[n,a]of Object.entries(o?.actions??{}))yield*U(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*U(a,[...t,"cases",r,"actions",n]);for(let[r,o]of Object.entries(e.default.actions))yield*U(o,[...t,"default","actions",r]);break}}var le=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(R(o))switch(o.type){case"path":o.path[0]==="Apis"&&t.add(o.path[1]);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*T({formula:n.formula,globalFormulas:this.globalFormulas,path:["apis",r,"inputs",o,"formula"]});yield*T({formula:t.autoFetch,globalFormulas:this.globalFormulas,path:["apis",r,"autoFetch"]}),yield*T({formula:t.url,globalFormulas:this.globalFormulas,path:["apis",r,"url"]});for(let[o,n]of Object.entries(t.path??{}))yield*T({formula:n.formula,globalFormulas:this.globalFormulas,path:["apis",r,"path",o,"formula"]});for(let[o,n]of Object.entries(t.queryParams??{}))yield*T({formula:n.formula,globalFormulas:this.globalFormulas,path:["apis",r,"queryParams",o,"formula"]}),yield*T({formula:n.enabled,globalFormulas:this.globalFormulas,path:["apis",r,"queryParams",o,"enabled"]});for(let[o,n]of Object.entries(t.headers??{}))yield*T({formula:n.formula,globalFormulas:this.globalFormulas,path:["apis",r,"headers",o,"formula"]}),yield*T({formula:n.enabled,globalFormulas:this.globalFormulas,path:["apis",r,"headers",o,"enabled"]});yield*T({formula:t.body,globalFormulas:this.globalFormulas,path:["apis",r,"body"]});for(let[o,n]of Object.entries(t.client?.onCompleted?.actions??{}))yield*q({action:n,globalFormulas:this.globalFormulas,path:["apis",r,"client","onCompleted","actions",o]});for(let[o,n]of Object.entries(t.client?.onFailed?.actions??{}))yield*q({action:n,globalFormulas:this.globalFormulas,path:["apis",r,"client","onFailed","actions",o]});yield*T({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*q({action:n,globalFormulas:this.globalFormulas,path:["apis",r,"client","onMessage","actions",o]});for(let[o,n]of Object.entries(t.redirectRules??{}))yield*T({formula:n.formula,globalFormulas:this.globalFormulas,path:["apis",r,"redirectRules",o,"formula"]});yield*T({formula:t.isError?.formula,globalFormulas:this.globalFormulas,path:["apis",r,"isError","formula"]}),yield*T({formula:t.timeout?.formula,globalFormulas:this.globalFormulas,path:["apis",r,"timeout","formula"]}),yield*T({formula:t.server?.proxy?.enabled.formula,globalFormulas:this.globalFormulas,path:["apis",r,"server","proxy","enabled","formula"]}),yield*T({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*U(r,["apis",this.key,"client","onCompleted","actions",t]);for(let[t,r]of Object.entries(this.api.client?.onFailed?.actions??{}))yield*U(r,["apis",this.key,"client","onFailed","actions",t]);for(let[t,r]of Object.entries(this.api.client?.onMessage?.actions??{}))yield*U(r,["apis",this.key,"client","onData","actions",t])}};var ue=e=>e instanceof te?!0:!("version"in e),to=({api:e,formulaContext:t,baseUrl:r,defaultHeaders:o})=>{let n=ll(e,t,r),a=cl({api:e,formulaContext:t,defaultHeaders:o});return{url:n,requestSettings:a}},ll=(e,t,r)=>{let o="",n=new URLSearchParams,a,s=C(e.url,t);if(["string","number"].includes(typeof s)){let i=typeof s=="number"?String(s):s;try{a=new URL(i,r),o=a.pathname,n=a.searchParams}catch{}}let l=fl(e.path,t),u=`${o}${l.length>0&&!o.endsWith("/")?"/":""}${l}`,f=new URLSearchParams([...n,...pl(e.queryParams,t)]),g=[...f.entries()].length>0?`?${f.toString()}`:"";if(a){let i=new URL(a.origin,r);return i.pathname=u,i.search=f.toString(),i}else return new URL(`${u}${g}`,r)},ul=[_.POST,_.DELETE,_.PUT,_.PATCH,_.OPTIONS],dl=(e,t,r)=>{if(e.timeout){let o=C(e.timeout.formula,r);typeof o=="number"&&!Number.isNaN(o)&&o>0&&(t.signal=AbortSignal.timeout(o))}},cl=({api:e,formulaContext:t,defaultHeaders:r})=>{let o=Object.values(_).includes(e.method)?e.method:_.GET,n=ml({apiHeaders:e.headers,formulaContext:t,defaultHeaders:r}),a=hl({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 dl(e,s,t),s},fl=(e,t)=>ie(e??{},([r,o])=>o.index).map(([r,o])=>C(o.formula,t)).join("/"),pl=(e,t)=>{let r=new URLSearchParams;return Object.entries(e??{}).forEach(([o,n])=>{if(!(R(n.enabled)?C(n.enabled,t):!0))return;let s=C(n.formula,t);if(R(s))if(Array.isArray(s))s.forEach(l=>r.append(o,String(l)));else if(B(s)){let l=(u,f)=>{Object.entries(u).forEach(([g,i])=>{if(!Array.isArray(i)&&B(i))return l(i,`${f}[${g}]`);r.set(`${f}[${g}]`,String(i))})};l(s,o)}else r.set(o,String(s))}),r},ml=({apiHeaders:e,formulaContext:t,defaultHeaders:r})=>{let o=new Headers(r);return Object.entries(e??{}).forEach(([n,a])=>{if(R(a.enabled)?C(a.enabled,t):!0){let l=C(a.formula,t);if(R(l))try{o.set(n.trim(),(typeof l=="string"?l:String(l)).trim())}catch{}}}),o};var ro=(e,t)=>eo(JSON.stringify({url:e.href,method:t.method,headers:K(Object.fromEntries(Object.entries(t.headers??{})),["host","cookie"]),body:t.body??null})),oo=({apiName:e,response:t,formulaContext:r,errorFormula:o,performance:n})=>{let a=o?C(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:k(a)},hl=({api:e,formulaContext:t,headers:r,method:o})=>{if(!e.body||!ul.includes(o))return;let n=C(e.body,t);if(n)switch(r.get("content-type")){case"application/x-www-form-urlencoded":return typeof n=="object"&&n!==null?Object.entries(n).map(([a,s])=>Array.isArray(s)?s.map(l=>`${encodeURIComponent(a)}=${encodeURIComponent(l)}`).join("&"):`${encodeURIComponent(a)}=${encodeURIComponent(String(s))}`).join("&"):"";case"multipart/form-data":{let a=new FormData;return typeof n=="object"&&n!==null&&Object.entries(n).forEach(([s,l])=>{a.set(s,l)}),a}case"text/plain":return String(n);default:return JSON.stringify(n)}},de=(e,t)=>new CustomEvent(e,{detail:t}),gl=(e,t)=>{let r=e.apiReferences.has(t.name),o=t.apiReferences.has(e.name);return r===o?0:r?1:-1},ce=e=>{let t=new Map,r=(o,n)=>{let a=t.get(n);return a||(a=o.version===2?new le(o,n,{formulas:{},packages:{}}):new te(o,n,{formulas:{},packages:{}}),t.set(n,a)),a};return[...e].sort(([o,n],[a,s])=>{let l=r(n,o),u=r(s,a);return gl(l,u)})};var yl=(e,t)=>{let r=t.length;for(;r;)e=e*33^t.charCodeAt(--r);return e},ao=e=>yl(5381,e),bl=/(a)(d)/gi;var no=e=>String.fromCharCode(e+(e>25?39:97));function so(e){let t="",r;for(r=Math.abs(e);r>52;r=r/52|0)t=no(r%52)+t;return(no(r%52)+t).replace(bl,"$1-$2")}var fe=e=>so(ao(JSON.stringify(e))),pe=(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};var xr=`
1
+ var $o=Object.create;var Ce=Object.defineProperty;var Po=Object.getOwnPropertyDescriptor;var Lo=Object.getOwnPropertyNames;var Io=Object.getPrototypeOf,Mo=Object.prototype.hasOwnProperty;var qo=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),p=(e,t)=>{for(var r in t)Ce(e,r,{get:t[r],enumerable:!0})},Bo=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Lo(t))!Mo.call(e,n)&&n!==r&&Ce(e,n,{get:()=>t[n],enumerable:!(o=Po(t,n))||o.enumerable});return e};var ne=(e,t,r)=>(r=e!=null?$o(Io(e)):{},Bo(t||!e||!e.__esModule?Ce(r,"default",{value:e,enumerable:!0}):r,e));var X=qo((Ql,Yr)=>{"use strict";Yr.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 Be={};p(Be,{clearLocalStorage:()=>xe,clearSessionStorage:()=>we,copyToClipboard:()=>ke,deleteFromLocalStorage:()=>Pe,deleteFromSessionStorage:()=>Ie,focus:()=>Re,gotToURL:()=>je,interval:()=>Ne,logToConsole:()=>qe,preventDefault:()=>De,saveToLocalStorage:()=>Ee,saveToSessionStorage:()=>Fe,setCookie:()=>Te,setHttpOnlyCookie:()=>Se,setSessionCookies:()=>Le,share:()=>Me,sleep:()=>Oe,stopPropagation:()=>$e});var Ee={};p(Ee,{default:()=>Uo});var _o=async function([e,t]){if(typeof e!="string"||e.length===0)throw new Error(`Invalid key: ${e}`);window.localStorage.setItem(e,JSON.stringify(t))},Uo=_o;var Se={};p(Se,{default:()=>Vo});var Ho=async function([e,t,r,o,n,a],s){let i=d=>s.triggerActionEvent("Error",new Error(d));if(typeof e!="string"){i('The "Name" argument must be a string');return}if(typeof t!="string"){i('The "Value" argument must be a string');return}let u=o??"Lax";if(typeof u!="string"||!["lax","strict","none"].includes(u.toLocaleLowerCase())){i('The "SameSite" argument must be "Lax", "Strict" or "None"');return}let f=n??"/";if(typeof f!="string"||!f.startsWith("/")){i('The "Path" argument must be a string and start with /');return}if(r!=null&&(typeof r!="number"||isNaN(r))){i('The "Expires in" argument must be a number');return}let g=a??!0;if(typeof g!="boolean"){i('The "Include Subdomains" argument must be a boolean');return}let l=new URLSearchParams;l.set("name",e),l.set("value",t),l.set("sameSite",u),l.set("path",f),l.set("includeSubdomains",String(g)),typeof r=="number"&&l.set("ttl",String(r));try{let d=await fetch(`/.nordcraft/cookies/set-cookie?${l.toString()}`);d.ok?s.triggerActionEvent("Success",void 0):i(await d.text())}catch(d){i(d instanceof Error?d.message:"An unexpected error occurred")}},Vo=Ho;var we={};p(we,{default:()=>Wo});var Ko=async function(){window.sessionStorage.clear()},Wo=Ko;var Fe={};p(Fe,{default:()=>zo});var Jo=async function([e,t]){if(typeof e!="string"||e.length===0)throw new Error(`Invalid key: ${e}`);window.sessionStorage.setItem(e,JSON.stringify(t))},zo=Jo;var je={};p(je,{default:()=>Yo});var Go=([e],t)=>{typeof e=="string"&&(t.env.runtime==="preview"?window.parent?.postMessage({type:"blockedNavigation",url:e},"*"):window.location.href=e)},Yo=Go;var De={};p(De,{default:()=>Zo});var Qo=(e,t,r)=>{r?.preventDefault?.()},Zo=Qo;var Oe={};p(Oe,{default:()=>en});var R=e=>e!=null,B=e=>typeof e=="object"&&e!==null,k=e=>e!==!1&&e!==void 0&&e!==null;var Xo=([e],t)=>{let r=Number(e);if(!R(e)||Number.isNaN(e))throw new Error("Invalid delay value");let o=setTimeout(()=>t.triggerActionEvent("tick",null),r);t.abortSignal.addEventListener("abort",()=>{clearTimeout(o)})},en=Xo;var Re={};p(Re,{default:()=>rn});var tn=([e])=>{e instanceof HTMLElement&&e.focus()},rn=tn;var Te={};p(Te,{default:()=>nn});var on=async function([e,t,r,o,n,a],s){let i=d=>s.triggerActionEvent("Error",new Error(d));if(typeof e!="string"){i('The "Name" argument must be a string');return}if(typeof t!="string"){i('The "Value" argument must be a string');return}let u=o??"Lax";if(typeof u!="string"||!["lax","strict","none"].includes(u.toLocaleLowerCase())){i('The "SameSite" argument must be "Lax", "Strict" or "None"');return}let f=n??"/";if(typeof f!="string"||!f.startsWith("/")){i('The "Path" argument must be a string and start with /');return}if(r!=null&&(typeof r!="number"||isNaN(r))){i('The "Expires in" argument must be a number');return}let g=a??!0;if(typeof g!="boolean"){i('The "Include Subdomains" argument must be a boolean');return}let l=`${e}=${t}; SameSite=${u}; Path=${f}`;if(typeof r=="number"){let d=new Date(Date.now()+r*1e3);l+=`; Expires=${d.toUTCString()}`}g&&(l+=`; Domain=${window.location.hostname}`),document.cookie=l,s.triggerActionEvent("Success",void 0)},nn=on;var xe={};p(xe,{default:()=>sn});var an=async function(){window.localStorage.clear()},sn=an;var ke={};p(ke,{default:()=>un});var ln=([e])=>{if(typeof e!="string")throw new Error("Input value must be a string");return navigator.clipboard.writeText(e)},un=ln;var Ne={};p(Ne,{default:()=>cn});var dn=([e],t)=>{let r=Number(e);if(!R(e)||Number.isNaN(e))throw new Error("Invalid delay value");let o=setInterval(()=>t.triggerActionEvent("tick",null),r);t.abortSignal.addEventListener("abort",()=>{clearInterval(o)})},cn=dn;var $e={};p($e,{default:()=>pn});var fn=(e,t,r)=>{r?.stopPropagation?.()},pn=fn;var Pe={};p(Pe,{default:()=>hn});var mn=async function([e]){if(typeof e!="string"||e.length===0)throw new Error(`Invalid key: ${e}`);window.localStorage.removeItem(e)},hn=mn;var Le={};p(Le,{default:()=>yn});var gn=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=gn;var Ie={};p(Ie,{default:()=>vn});var bn=async function([e]){if(typeof e!="string"||e.length===0)throw new Error(`Invalid key: ${e}`);window.sessionStorage.removeItem(e)},vn=bn;var Me={};p(Me,{default:()=>Cn});var An=([e,t,r])=>{let o=a=>R(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),R(navigator.share)&&navigator.canShare(n))return navigator.share(n)},Cn=An;var qe={};p(qe,{default:()=>Sn});var En=([e,t])=>{console.log(e,t)},Sn=En;var Tr={};p(Tr,{absolute:()=>Xt,add:()=>hr,append:()=>Ue,boolean:()=>ht,branchName:()=>Xe,canShare:()=>Sr,capitalize:()=>Cr,clamp:()=>tr,concatenate:()=>At,currentURL:()=>Kt,dateFromString:()=>Ge,dateFromTimestamp:()=>dt,decodeBase64:()=>Or,decodeURIComponent:()=>Nt,defaultTo:()=>fr,deleteKey:()=>Ve,divide:()=>Er,drop:()=>Dr,dropLast:()=>lt,encodeBase64:()=>pt,encodeJSON:()=>wt,encodeURIComponent:()=>Ct,entries:()=>ze,equals:()=>cr,every:()=>Bt,filter:()=>Ht,find:()=>jt,findIndex:()=>ot,findLast:()=>ir,first:()=>He,flatten:()=>sr,formatDate:()=>lr,formatNumber:()=>tt,fromEntries:()=>vt,get:()=>pr,getCookie:()=>mr,getElementById:()=>kt,getFromLocalStorage:()=>Rr,getFromSessionStorage:()=>gr,getHttpOnlyCookie:()=>Tt,greaterOrEqueal:()=>Ot,greaterThan:()=>Fr,groupBy:()=>Ut,includes:()=>Ar,indexOf:()=>Yt,isServer:()=>_t,join:()=>We,json:()=>mt,keyBy:()=>or,languages:()=>Ye,last:()=>It,lastIndexOf:()=>Jt,lessOrEqual:()=>ft,lessThan:()=>rr,logarithm:()=>it,lowercase:()=>rt,map:()=>Ft,matches:()=>bt,max:()=>St,min:()=>er,minus:()=>ur,modulo:()=>Mt,multiply:()=>Gt,not:()=>$t,notEqual:()=>jr,now:()=>Qe,number:()=>gt,parseJSON:()=>Rt,parseURL:()=>qt,power:()=>yt,prepend:()=>xt,randomNumber:()=>Vt,range:()=>ar,reduce:()=>Pt,replaceAll:()=>Lt,reverse:()=>zt,round:()=>nr,roundDown:()=>dr,roundUp:()=>Qt,set:()=>et,shuffle:()=>yr,size:()=>ct,some:()=>Wt,sort_by:()=>Ke,split:()=>br,squareRoot:()=>Dt,startsWith:()=>vr,string:()=>_e,sum:()=>Et,take:()=>ut,takeLast:()=>nt,timestamp:()=>Zt,trim:()=>at,typeOf:()=>Ze,unique:()=>wr,uppercase:()=>st,userAgent:()=>Je});var _e={};p(_e,{default:()=>Fn});var wn=([e])=>String(e),Fn=wn;var Ue={};p(Ue,{default:()=>Dn});var jn=([e,t])=>Array.isArray(e)?[...e,t]:null,Dn=jn;var He={};p(He,{default:()=>Rn});var On=([e])=>typeof e=="string"||Array.isArray(e)?e[0]:null,Rn=On;var Ve={};p(Ve,{default:()=>xn});var Tn=([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 i=Number(a);return Number.isNaN(i)?n:s.length===0?n.filter((u,f)=>f!==Number(a)):n.map((u,f)=>f===i?r(n[i],s):u)}return B(n)?s.length===0?Object.fromEntries(Object.entries(n).filter(([i])=>i!==a)):{...n,[a]:r(n[a],s)}:null},o=Array.isArray(t)?t:[t];return r(e,o)},xn=Tn;var Ke={};p(Ke,{default:()=>Nn,getArgumentInputData:()=>$n});var kn=([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}),i=t({item:a});if(Array.isArray(s)&&Array.isArray(i)){for(let u in s)if(s[u]!==i[u])return(s[u]>i[u]?1:-1)*o;return 0}return s===i?0:(s>i?1:-1)*o})},Nn=kn,$n=([e],t,r)=>t===1&&Array.isArray(e)?{...r,Args:{item:e[0]}}:r;var We={};p(We,{default:()=>Ln});var Pn=([e,t])=>Array.isArray(e)?e.join(String(t)):null,Ln=Pn;var Je={};p(Je,{default:()=>Mn});var In=(e,{env:t})=>t.isServer?t.request?.headers["user-agent"]??null:window.navigator.userAgent,Mn=In;var ze={};p(ze,{default:()=>Bn});var qn=([e])=>typeof e=="object"&&e!==null?Object.entries(e).map(([t,r])=>({key:t,value:r})):null,Bn=qn;var Ge={};p(Ge,{default:()=>Un});var _n=([e])=>typeof e=="string"?new Date(e):null,Un=_n;var Ye={};p(Ye,{default:()=>Vn});var Hn=(e,{env:t})=>t.isServer?t.request?.headers["accept-language"]?.split(",").map(r=>r.split(";")[0])??[]:window.navigator.languages,Vn=Hn;var Qe={};p(Qe,{default:()=>Wn});var Kn=()=>new Date,Wn=Kn;var Ze={};p(Ze,{default:()=>zn});var Jn=([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}},zn=Jn;var Xe={};p(Xe,{default:()=>Yn});var Gn=(e,t)=>t.env.branchName,Yn=Gn;var et={};p(et,{default:()=>Qn});var qr=([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(B(e)){let s=Array.isArray(e)?[...e]:{...e};return s[n]=a.length===0?r:qr([s[n],a,r],o),s}return null},Qn=qr;var tt={};p(tt,{default:()=>Xn});var Zn=([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(j=>typeof j=="string")?t:void 0;if(!r||typeof r!="object")return Intl.NumberFormat(o).format(e);let n=(j,x)=>typeof j=="string"&&(x?.includes(j)??!0)?j:void 0,a=r,s=n(a.style,["decimal","currency","percent","unit"]),i=typeof a.currency=="string"&&a.currency.length===3?a.currency:void 0;if(s==="currency"&&typeof i!="string")return null;let u=n(a.currencyDisplay,["code","symbol","narrowSymbol","name"]),f=typeof a.unit=="string"?a.unit:void 0;if(s==="unit"&&typeof f!="string")return null;let g=n(a.unitDisplay,["short","narrow","long"]),l=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,m=typeof a.maximumFractionDigits=="number"&&a.maximumFractionDigits>=0&&a.maximumFractionDigits<=100?a.maximumFractionDigits:void 0,S=typeof a.minimumSignificantDigits=="number"&&a.minimumSignificantDigits>=1&&a.minimumSignificantDigits<=21?a.minimumSignificantDigits:void 0,y=typeof a.maximumSignificantDigits=="number"&&a.maximumSignificantDigits>=1&&a.maximumSignificantDigits<=21?a.maximumSignificantDigits:void 0,F=n(a.notation,["standard","scientific","engineering","compact"]),E=n(a.compactDisplay,["short","long"]),D=["always","auto","min2"],O=typeof a.useGrouping=="boolean"?a.useGrouping:n(a.useGrouping,D);return new Intl.NumberFormat(o,{style:s,currency:i,currencyDisplay:u,unit:f,unitDisplay:g,minimumIntegerDigits:l,minimumFractionDigits:d,maximumFractionDigits:m,minimumSignificantDigits:S,maximumSignificantDigits:y,notation:F,compactDisplay:E,useGrouping:O}).format(e)},Xn=Zn;var rt={};p(rt,{default:()=>ta});var ea=([e])=>typeof e!="string"?null:e.toLocaleLowerCase(),ta=ea;var ot={};p(ot,{default:()=>ra,getArgumentInputData:()=>oa,handler:()=>Br});var Br=([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,ra=Br,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};var nt={};p(nt,{default:()=>aa});var na=([e,t])=>typeof t!="number"?null:Array.isArray(e)?e.slice(e.length-t):typeof e=="string"?e.substring(e.length-t):null,aa=na;var at={};p(at,{default:()=>ia});var sa=([e])=>typeof e!="string"?null:e.trim(),ia=sa;var st={};p(st,{default:()=>ua});var la=([e])=>typeof e!="string"?null:e.toLocaleUpperCase(),ua=la;var it={};p(it,{default:()=>ca});var da=([e])=>typeof e!="number"||Number.isNaN(e)||e<0?null:Math.log(e),ca=da;var lt={};p(lt,{default:()=>pa});var fa=([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,pa=fa;var ut={};p(ut,{default:()=>ha});var ma=([e,t])=>typeof t!="number"?null:Array.isArray(e)?e.slice(0,t):typeof e=="string"?e.substring(0,t):null,ha=ma;var dt={};p(dt,{default:()=>ya});var ga=([e])=>typeof e=="number"?new Date(e):null,ya=ga;var ct={};p(ct,{default:()=>va});var ba=([e])=>Array.isArray(e)?e.length:B(e)?Object.keys(e).length:typeof e=="string"?e.length:null,va=ba;var ft={};p(ft,{default:()=>Ca});var Aa=([e,t])=>e<=t,Ca=Aa;var pt={};p(pt,{default:()=>Sa});var Ea=([e])=>typeof e!="string"?null:btoa(e),Sa=Ea;var mt={};p(mt,{default:()=>Fa});var wa=([e,t])=>{let r=isNaN(Number(t))?0:Number(t);return JSON.stringify(e,null,r)},Fa=wa;var ht={};p(ht,{default:()=>Da});var ja=([e])=>k(e),Da=ja;var gt={};p(gt,{default:()=>Ra});var Oa=([e])=>Number(e),Ra=Oa;var yt={};p(yt,{default:()=>xa});var Ta=([e,t])=>isNaN(Number(e))||isNaN(Number(t))?null:Number(e)**Number(t),xa=Ta;var bt={};p(bt,{default:()=>Na});var ka=([e,t,r,o,n])=>{if(typeof e!="string"||typeof t!="string")return[];let a=[k(r)?"g":"",k(o)?"i":"",k(n)?"m":""].join(""),s=new RegExp(t,a);return e.match(s)??[]},Na=ka;var vt={};p(vt,{default:()=>Pa});var $a=([e])=>{if(Array.isArray(e)){let t={};for(let{key:r,value:o}of e)t[r]=o;return t}return null},Pa=$a;var At={};p(At,{default:()=>Ia});var La=e=>{if(e.every(Array.isArray)){let t=[];for(let r of e)t.push(...r);return t}return e.every(B)?Object.assign({},...e):e.join("")},Ia=La;var Ct={};p(Ct,{default:()=>qa});var Ma=([e])=>typeof e!="string"?null:encodeURIComponent(e),qa=Ma;var Et={};p(Et,{default:()=>_a});var Ba=([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},_a=Ba;var St={};p(St,{default:()=>Ha});var Ua=e=>Math.max(...e.map(Number)),Ha=Ua;var wt={};p(wt,{default:()=>Ka});var Va=([e,t])=>typeof t!="number"?null:JSON.stringify(e,null,t),Ka=Va;var Ft={};p(Ft,{default:()=>za,getArgumentInputData:()=>Ja});var Wa=([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,Ja=([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},za=Wa;var jt={};p(jt,{default:()=>Ga,getArgumentInputData:()=>Ya,handler:()=>_r});var _r=([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,Ga=_r,Ya=([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 Dt={};p(Dt,{default:()=>Za});var Qa=([e])=>typeof e!="number"?null:Math.sqrt(e),Za=Qa;var Ot={};p(Ot,{default:()=>es});var Xa=([e,t])=>e>=t,es=Xa;var Rt={};p(Rt,{default:()=>os});var ts=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:.\d{1,3})?Z$/;function Z(e){return JSON.parse(e,(t,r)=>typeof r=="string"&&r.length===24&&ts.test(r)?new Date(r):r)}var rs=([e])=>{if(typeof e!="string")return null;try{return Z(e)}catch{return null}},os=rs;var Tt={};p(Tt,{default:()=>ss});var Ur=(e,t)=>`{{ ${ns[e]}.${t} }}`,ns={cookies:"cookies"};var as=([e])=>!e||typeof e!="string"?null:Ur("cookies",e),ss=as;var xt={};p(xt,{default:()=>ls});var is=([e,t])=>Array.isArray(e)?[t,...e]:null,ls=is;var kt={};p(kt,{default:()=>ds});var us=([e],{root:t})=>typeof e!="string"?null:t.getElementById(e),ds=us;var Nt={};p(Nt,{default:()=>fs});var cs=([e])=>typeof e!="string"?null:decodeURIComponent(e),fs=cs;var $t={};p($t,{default:()=>ms});var ps=([e])=>!k(e),ms=ps;var Pt={};p(Pt,{default:()=>gs,getArgumentInputData:()=>ys});var hs=([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,gs=hs,ys=([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 Lt={};p(Lt,{default:()=>vs});var bs=([e,t,r])=>typeof e!="string"||typeof t!="string"?null:e.replaceAll(t,String(r)),vs=bs;var It={};p(It,{default:()=>Cs});var As=([e])=>typeof e=="string"||Array.isArray(e)?e[e.length-1]:null,Cs=As;var Mt={};p(Mt,{default:()=>Ss});var Es=([e,t])=>isNaN(Number(e))||isNaN(Number(t))?null:Number(e)%Number(t),Ss=Es;var qt={};p(qt,{default:()=>Fs});var ws=([e,t])=>{if(typeof e!="string")return null;try{let{hostname:r,searchParams:o,pathname:n,hash:a,href:s,protocol:i,port:u,origin:f}=new URL(e,typeof t=="string"?t:void 0);return{hostname:r,searchParams:Object.fromEntries(o),path:n.split("/").filter((g,l)=>l!==0||g!==""),hash:a.replace("#",""),href:s,protocol:i,port:u,origin:f}}catch{return null}},Fs=ws;var Bt={};p(Bt,{default:()=>js,getArgumentInputData:()=>Ds,handler:()=>Hr});var Hr=([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,js=Hr,Ds=([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={};p(_t,{default:()=>Rs});var Os=(e,t)=>t.env.isServer,Rs=Os;var Ut={};p(Ut,{default:()=>Ts,getArgumentInputData:()=>xs,handler:()=>Vr});var Vr=([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},Ts=Vr,xs=([e],t,r)=>t===1&&Array.isArray(e)?{...r,Args:{item:e[0],index:0}}:r;var Ht={};p(Ht,{default:()=>ks,getArgumentInputData:()=>Ns,handler:()=>Kr});var Kr=([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,ks=Kr,Ns=([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 Vt={};p(Vt,{default:()=>Ps});var $s=()=>Math.random(),Ps=$s;var Kt={};p(Kt,{default:()=>Is});var Ls=(e,{env:t})=>t.isServer?t.request.url:window?.location.href??null,Is=Ls;var Wt={};p(Wt,{default:()=>Ms,getArgumentInputData:()=>qs,handler:()=>Wr});var Wr=([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,Ms=Wr,qs=([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 Jt={};p(Jt,{default:()=>_s});var Bs=([e,t])=>typeof e=="string"?e.lastIndexOf(t):Array.isArray(e)?e.findLastIndex(r=>globalThis.toddle.isEqual(r,t)):null,_s=Bs;var zt={};p(zt,{default:()=>Hs});var Us=([e])=>Array.isArray(e)?[...e].reverse():null,Hs=Us;var Gt={};p(Gt,{default:()=>Ks});var Vs=e=>e.some(t=>isNaN(Number(t)))?null:e.reduce((t,r)=>t*r,1),Ks=Vs;var Yt={};p(Yt,{default:()=>Js});var Ws=([e,t])=>typeof e=="string"?e.indexOf(t):Array.isArray(e)?e.findIndex(r=>globalThis.toddle.isEqual(r,t)):null,Js=Ws;var Qt={};p(Qt,{default:()=>Gs});var zs=([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},Gs=zs;var Zt={};p(Zt,{default:()=>Qs});var Ys=([e])=>!e||!(e instanceof Date)?null:e.getTime(),Qs=Ys;var Xt={};p(Xt,{default:()=>Xs});var Zs=([e])=>typeof e!="number"?null:Math.abs(e),Xs=Zs;var er={};p(er,{default:()=>ti});var ei=e=>Math.min(...e.map(Number)),ti=ei;var tr={};p(tr,{default:()=>oi});var ri=([e,t,r])=>typeof e!="number"||typeof t!="number"||typeof r!="number"?null:Math.min(Math.max(e,t),r),oi=ri;var rr={};p(rr,{default:()=>ai});var ni=([e,t])=>e<t,ai=ni;var or={};p(or,{default:()=>si,getArgumentInputData:()=>ii,handler:()=>Jr});var Jr=([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},si=Jr,ii=([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 nr={};p(nr,{default:()=>ui});var li=([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},ui=li;var ar={};p(ar,{default:()=>ci});var di=([e,t])=>typeof e!="number"||typeof t!="number"?null:e>t?[]:Array.from({length:t-e+1},(r,o)=>o+e),ci=di;var sr={};p(sr,{default:()=>pi});var fi=([e])=>Array.isArray(e)?e.flat():null,pi=fi;var ir={};p(ir,{default:()=>mi,getArgumentInputData:()=>hi,handler:()=>zr});var zr=([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,mi=zr,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 lr={};p(lr,{default:()=>yi});var gi=([e,t,r])=>{if(!e||!(e instanceof Date))return null;let o=typeof t=="string"&&t.length>0||Array.isArray(t)&&t.every(j=>typeof j=="string")?t:void 0;if(!r||typeof r!="object")return Intl.DateTimeFormat(o).format(e);let n=(j,x)=>typeof j=="string"&&(x?.includes(j)??!0)?j:void 0,a=r,s=n(a.dateStyle,["full","long","medium","short"]),i=n(a.timeStyle,["full","long","medium","short"]),u=n(a.calendar),f=n(a.weekday,["long","short","narrow"]),g=n(a.era,["long","short","narrow"]),l=n(a.year,["numeric","2-digit"]),d=n(a.month,["long","short","narrow","numeric","2-digit"]),m=n(a.day,["numeric","2-digit"]),S=n(a.hour,["numeric","2-digit"]),y=n(a.minute,["numeric","2-digit"]),F=n(a.second,["numeric","2-digit"]),E=n(a.timeZoneName,["long","short","shortOffset","longOffset","shortGeneric","longGeneric"]),D=n(a.timeZone),O=a.hour12===!0?!0:a.hour12===!1?!1:void 0;return Intl.DateTimeFormat(o,{dateStyle:s,timeStyle:i,calendar:u,weekday:f,era:g,year:l,month:d,day:m,hour:S,minute:y,second:F,timeZoneName:E,timeZone:D,hour12:O}).format(e)},yi=gi;var ur={};p(ur,{default:()=>vi});var bi=([e,t])=>{let r=Number(e),o=Number(t);return isNaN(r)||isNaN(o)?null:r-o},vi=bi;var dr={};p(dr,{default:()=>Ci});var Ai=([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},Ci=Ai;var cr={};p(cr,{default:()=>Si});var Ei=([e,t])=>globalThis.toddle.isEqual(e,t),Si=Ei;var fr={};p(fr,{default:()=>Fi});var wi=e=>{for(let t of e)if(k(t))return t;return null},Fi=wi;var pr={};p(pr,{default:()=>Di});var ji=([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])},Di=ji;var mr={};p(mr,{default:()=>Ri});var Oi=([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,Ri=Oi;var hr={};p(hr,{default:()=>xi});var Ti=e=>!Array.isArray(e)||e.some(t=>t===null||typeof t!="number")?null:e.reduce((t,r)=>t+Number(r),0),xi=Ti;var gr={};p(gr,{default:()=>Ni});var ki=([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}},Ni=ki;var yr={};p(yr,{default:()=>Pi});var $i=([e])=>Array.isArray(e)?Gr(e):typeof e=="string"?Gr(e.split("")).join(""):null;function Gr(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 Pi=$i;var br={};p(br,{default:()=>Ii});var Li=([e,t])=>typeof e!="string"||typeof t!="string"?null:e.split(t),Ii=Li;var vr={};p(vr,{default:()=>qi});var Mi=([e,t])=>typeof e!="string"||typeof t!="string"?null:e.startsWith(t),qi=Mi;var Ar={};p(Ar,{default:()=>_i});var Bi=([e,t])=>typeof e=="string"&&typeof t=="string"?e.includes(t):Array.isArray(e)?e.some(r=>globalThis.toddle.isEqual(r,t)):null,_i=Bi;var Cr={};p(Cr,{default:()=>Hi});var Ui=([e])=>typeof e!="string"?null:e.length===0?e:e[0].toLocaleUpperCase()+e.substring(1).toLocaleLowerCase(),Hi=Ui;var Er={};p(Er,{default:()=>Ki});var Vi=([e,t])=>isNaN(Number(e))||isNaN(Number(t))?null:Number(e)/Number(t),Ki=Vi;var Sr={};p(Sr,{default:()=>Ji});var Wi=([e,t,r])=>{if(!R(navigator.canShare))return!1;let o=a=>R(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)},Ji=Wi;var wr={};p(wr,{default:()=>Gi});var zi=([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)})},Gi=zi;var Fr={};p(Fr,{default:()=>Qi});var Yi=([e,t])=>e>t,Qi=Yi;var jr={};p(jr,{default:()=>Xi});var Zi=([e,t])=>!globalThis.toddle.isEqual(e,t),Xi=Zi;var Dr={};p(Dr,{default:()=>tl});var el=([e,t])=>typeof t!="number"||isNaN(t)?null:Array.isArray(e)?e.slice(t):typeof e=="string"?e.substring(t):null,tl=el;var Or={};p(Or,{default:()=>ol});var rl=([e])=>typeof e!="string"?null:atob(e),ol=rl;var Rr={};p(Rr,{default:()=>al});var nl=([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}},al=nl;var No=ne(X(),1);var Qr=e=>{let t=e.toLocaleLowerCase().replaceAll(" ","");return t.includes("-")?t:`toddle-${t}`};var ae=e=>Object.hasOwn(e,"formula");function V(e){return e&&typeof e=="object"&&typeof e.type=="string"}function C(e,t){if(!V(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(k(C(r.condition,t)))return C(r.formula,t);return C(e.default,t)}case"or":{for(let r of e.arguments)if(k(C(r.formula,t)))return!0;return!1}case"and":{for(let r of e.arguments)if(!k(C(r.formula,t)))return!1;return!0}case"function":{let r=e.package??t.package,o=(t.toddle??globalThis.toddle)?.getCustomFormula(e.name,r),n=(t.toddle??globalThis.toddle).getFormula(e.name);if(R(o)){t.package=r;let a=e.arguments.reduce((s,i,u)=>({...s,[i.name??`${u}`]:i.isFunction?f=>C(i.formula,{...t,data:{...t.data,Args:t.data.Args?{...f,"@toddle.parent":t.data.Args}:f}}):C(i.formula,t)}),{});try{return ae(o)?C(o.formula,{...t,data:{...t.data,Args:a}}):o.handler(a,{root:t.root??document,env:t.env})}catch(s){return t.toddle.errors.push(s),t.env?.logErrors&&console.error(s),null}}else if(typeof n=="function"){let a=(e.arguments??[]).map(s=>s.isFunction?i=>C(s.formula,{...t,data:{...t.data,Args:t.data.Args?{...i,"@toddle.parent":t.data.Args}:i}}):C(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,C(r.formula,t)])??[]);case"record":return Object.fromEntries(e.entries.map(r=>[r.name,C(r.formula,t)]));case"array":return e.arguments.map(r=>C(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,i=>C(s.formula,{...t,data:{...t.data,Args:t.data.Args?{...i,"@toddle.parent":t.data.Args}:i}})]:[s.name,C(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=C(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 sl=e=>typeof e=="object"&&e!==null,I=(e,t)=>Object.fromEntries(Object.entries(e).map(t)),ee=(e,t)=>I(e,([r,o])=>[r,t(o)]),Zr=(e,t)=>{let[r,...o]=t,n=Array.isArray(e)?[...e]:sl(e)?{...e}:{};return o.length===0?delete n[r]:n[r]=Zr(n[r],o),n},K=(e,t)=>Object.fromEntries(Object.entries(e).filter(([r])=>!t.includes(r))),Xr=(e,t)=>t.reduce((r,o)=>Zr(r,o),{...e});function se(e,[t,...r]){return r.length===0?e?.[t]:se(e?.[t],r)}var ie=(e,t,r=!0)=>il(Object.entries(e),t,r),il=(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 eo=(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 _;(function(e){e.GET="GET",e.POST="POST",e.DELETE="DELETE",e.PUT="PUT",e.PATCH="PATCH",e.HEAD="HEAD",e.OPTIONS="OPTIONS"})(_||(_={}));function*T({formula:e,globalFormulas:t,path:r=[],visitedFormulas:o=new Set,packageName:n}){if(R(e))switch(yield{path:r,formula:e,packageName:n},e.type){case"path":case"value":break;case"record":for(let[a,s]of e.entries.entries())yield*T({formula:s.formula,globalFormulas:t,path:[...r,"entries",a,"formula"],visitedFormulas:o,packageName:n});break;case"function":{n=e.package??n;let a=[n,e.name].filter(R).join("/"),s=!o.has(a);o.add(a);let i=n?t.packages?.[n]?.formulas?.[e.name]:t.formulas?.[e.name];for(let[u,f]of(e.arguments??[]).entries())yield*T({formula:f.formula,globalFormulas:t,path:[...r,"arguments",u,"formula"],visitedFormulas:o,packageName:n});i&&ae(i)&&s&&(yield*T({formula:i.formula,globalFormulas:t,path:[...r,"formula"],visitedFormulas:o,packageName:n}));break}case"array":case"or":case"and":case"object":for(let[a,s]of(e.arguments??[]).entries())yield*T({formula:s.formula,globalFormulas:t,path:[...r,"arguments",a,"formula"],visitedFormulas:o,packageName:n});break;case"apply":for(let[a,s]of(e.arguments??[]).entries())yield*T({formula:s.formula,globalFormulas:t,path:[...r,"arguments",a,"formula"],visitedFormulas:o,packageName:n});break;case"switch":for(let[a,s]of e.cases.entries())yield*T({formula:s.condition,globalFormulas:t,path:[...r,"cases",a,"condition"],visitedFormulas:o,packageName:n}),yield*T({formula:s.formula,globalFormulas:t,path:[...r,"cases",a,"formula"],visitedFormulas:o,packageName:n});yield*T({formula:e.default,globalFormulas:t,path:[...r,"default"],visitedFormulas:o,packageName:n});break}}function*q({action:e,globalFormulas:t,path:r=[],visitedFormulas:o=new Set,packageName:n}){if(R(e))switch(e.type){case"Fetch":for(let[a,s]of Object.entries(e.inputs??{}))yield*T({formula:s.formula,globalFormulas:t,path:[...r,"input",a,"formula"],visitedFormulas:o,packageName:n});for(let[a,s]of Object.entries(e.onSuccess?.actions??{}))yield*q({action:s,globalFormulas:t,path:[...r,"onSuccess","actions",a],visitedFormulas:o,packageName:n});for(let[a,s]of Object.entries(e.onError?.actions??{}))yield*q({action:s,globalFormulas:t,path:[...r,"onError","actions",a],visitedFormulas:o,packageName:n});for(let[a,s]of Object.entries(e.onMessage?.actions??{}))yield*q({action:s,globalFormulas:t,path:[...r,"onMessage","actions",a],visitedFormulas:o,packageName:n});break;case"Custom":case void 0:n=e.package??n,V(e.data)&&(yield*T({formula:e.data,globalFormulas:t,path:[...r,"data"],visitedFormulas:o,packageName:n}));for(let[a,s]of Object.entries(e.arguments??{}))yield*T({formula:s.formula,globalFormulas:t,path:[...r,"arguments",a,"formula"],visitedFormulas:o,packageName:n});for(let[a,s]of Object.entries(e.events??{}))for(let[i,u]of Object.entries(s.actions??{}))yield*q({action:u,globalFormulas:t,path:[...r,"events",a,"actions",i],visitedFormulas:o,packageName:n});break;case"SetVariable":case"TriggerEvent":yield*T({formula:e.data,globalFormulas:t,path:[...r,"data"],visitedFormulas:o,packageName:n});break;case"SetURLParameter":yield*T({formula:e.data,globalFormulas:t,path:[...r,"data"],visitedFormulas:o});break;case"SetURLParameters":for(let[a,s]of Object.entries(e.parameters??{}))yield*T({formula:s,globalFormulas:t,path:[...r,"parameters",a],visitedFormulas:o});break;case"TriggerWorkflow":for(let[a,s]of Object.entries(e.parameters??{}))yield*T({formula:s.formula,globalFormulas:t,path:[...r,"parameters",a,"formula"],visitedFormulas:o,packageName:n});break;case"Switch":R(e.data)&&V(e.data)&&(yield*T({formula:e.data,globalFormulas:t,path:[...r,"data"],visitedFormulas:o,packageName:n}));for(let[a,s]of e.cases.entries()){yield*T({formula:s.condition,globalFormulas:t,path:[...r,"cases",a,"condition"],visitedFormulas:o,packageName:n});for(let[i,u]of Object.entries(s.actions))yield*q({action:u,globalFormulas:t,path:[...r,"cases",a,"actions",i],visitedFormulas:o,packageName:n})}for(let[a,s]of Object.entries(e.default.actions))yield*q({action:s,globalFormulas:t,path:[...r,"default","actions",a],visitedFormulas:o,packageName:n});break}}var te=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(R(o))switch(o.type){case"path":o.path[0]==="Apis"&&t.add(o.path[1]);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)),V(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*T({formula:t.autoFetch,globalFormulas:this.globalFormulas,path:["apis",r,"autoFetch"]}),yield*T({formula:t.url,globalFormulas:this.globalFormulas,path:["apis",r,"url"]});for(let[o,n]of Object.entries(t.path??{}))yield*T({formula:n.formula,globalFormulas:this.globalFormulas,path:["apis",r,"path",o,"formula"]});for(let[o,n]of Object.entries(t.queryParams??{}))yield*T({formula:n.formula,globalFormulas:this.globalFormulas,path:["apis",r,"queryParams",o,"formula"]});if(V(t.headers))yield*T({formula:t.headers,globalFormulas:this.globalFormulas,path:["apis",r,"headers"]});else for(let[o,n]of Object.entries(t.headers??{}))yield*T({formula:n,globalFormulas:this.globalFormulas,path:["apis",r,"headers",o]});yield*T({formula:t.body,globalFormulas:this.globalFormulas,path:["apis",r,"body"]});for(let[o,n]of Object.entries(t.onCompleted?.actions??{}))yield*q({action:n,globalFormulas:this.globalFormulas,path:["apis",r,"onCompleted","actions",o]});for(let[o,n]of Object.entries(t.onFailed?.actions??{}))yield*q({action:n,globalFormulas:this.globalFormulas,path:["apis",r,"onFailed","actions",o]})}};function*U(e,t=[]){if(R(e))switch(yield[t,e],e.type){case"SetVariable":case"SetURLParameter":case"TriggerEvent":case"TriggerWorkflow":break;case"Fetch":for(let[r,o]of Object.entries(e.onSuccess?.actions??{}))yield*U(o,[...t,"onSuccess","actions",r]);for(let[r,o]of Object.entries(e.onError?.actions??{}))yield*U(o,[...t,"onError","actions",r]);for(let[r,o]of Object.entries(e.onMessage?.actions??{}))yield*U(o,[...t,"onMessage","actions",r]);break;case"Custom":case void 0:for(let[r,o]of Object.entries(e.events??{}))for(let[n,a]of Object.entries(o?.actions??{}))yield*U(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*U(a,[...t,"cases",r,"actions",n]);for(let[r,o]of Object.entries(e.default.actions))yield*U(o,[...t,"default","actions",r]);break}}var le=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(R(o))switch(o.type){case"path":o.path[0]==="Apis"&&t.add(o.path[1]);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*T({formula:n.formula,globalFormulas:this.globalFormulas,path:["apis",r,"inputs",o,"formula"]});yield*T({formula:t.autoFetch,globalFormulas:this.globalFormulas,path:["apis",r,"autoFetch"]}),yield*T({formula:t.url,globalFormulas:this.globalFormulas,path:["apis",r,"url"]});for(let[o,n]of Object.entries(t.path??{}))yield*T({formula:n.formula,globalFormulas:this.globalFormulas,path:["apis",r,"path",o,"formula"]});for(let[o,n]of Object.entries(t.queryParams??{}))yield*T({formula:n.formula,globalFormulas:this.globalFormulas,path:["apis",r,"queryParams",o,"formula"]}),yield*T({formula:n.enabled,globalFormulas:this.globalFormulas,path:["apis",r,"queryParams",o,"enabled"]});for(let[o,n]of Object.entries(t.headers??{}))yield*T({formula:n.formula,globalFormulas:this.globalFormulas,path:["apis",r,"headers",o,"formula"]}),yield*T({formula:n.enabled,globalFormulas:this.globalFormulas,path:["apis",r,"headers",o,"enabled"]});yield*T({formula:t.body,globalFormulas:this.globalFormulas,path:["apis",r,"body"]});for(let[o,n]of Object.entries(t.client?.onCompleted?.actions??{}))yield*q({action:n,globalFormulas:this.globalFormulas,path:["apis",r,"client","onCompleted","actions",o]});for(let[o,n]of Object.entries(t.client?.onFailed?.actions??{}))yield*q({action:n,globalFormulas:this.globalFormulas,path:["apis",r,"client","onFailed","actions",o]});yield*T({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*q({action:n,globalFormulas:this.globalFormulas,path:["apis",r,"client","onMessage","actions",o]});for(let[o,n]of Object.entries(t.redirectRules??{}))yield*T({formula:n.formula,globalFormulas:this.globalFormulas,path:["apis",r,"redirectRules",o,"formula"]});yield*T({formula:t.isError?.formula,globalFormulas:this.globalFormulas,path:["apis",r,"isError","formula"]}),yield*T({formula:t.timeout?.formula,globalFormulas:this.globalFormulas,path:["apis",r,"timeout","formula"]}),yield*T({formula:t.server?.proxy?.enabled.formula,globalFormulas:this.globalFormulas,path:["apis",r,"server","proxy","enabled","formula"]}),yield*T({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*U(r,["apis",this.key,"client","onCompleted","actions",t]);for(let[t,r]of Object.entries(this.api.client?.onFailed?.actions??{}))yield*U(r,["apis",this.key,"client","onFailed","actions",t]);for(let[t,r]of Object.entries(this.api.client?.onMessage?.actions??{}))yield*U(r,["apis",this.key,"client","onData","actions",t])}};var ue=e=>e instanceof te?!0:!("version"in e),to=({api:e,formulaContext:t,baseUrl:r,defaultHeaders:o})=>{let n=ll(e,t,r),a=cl({api:e,formulaContext:t,defaultHeaders:o});return{url:n,requestSettings:a}},ll=(e,t,r)=>{let o="",n=new URLSearchParams,a,s=C(e.url,t);if(["string","number"].includes(typeof s)){let m=typeof s=="number"?String(s):s;try{a=new URL(m,r),o=a.pathname,n=a.searchParams}catch{}}let i=fl(e.path,t),u=`${o}${i.length>0&&!o.endsWith("/")?"/":""}${i}`,f=new URLSearchParams([...n,...pl(e.queryParams,t)]),g=[...f.entries()].length>0?`?${f.toString()}`:"",l=C(e.hash?.formula,t),d=typeof l=="string"&&l.length>0?`#${l}`:"";if(a){let m=new URL(a.origin,r);return m.pathname=u,m.search=f.toString(),m.hash=d,m}else return new URL(`${u}${g}${d}`,r)},ul=[_.POST,_.DELETE,_.PUT,_.PATCH,_.OPTIONS],dl=(e,t,r)=>{if(e.timeout){let o=C(e.timeout.formula,r);typeof o=="number"&&!Number.isNaN(o)&&o>0&&(t.signal=AbortSignal.timeout(o))}},cl=({api:e,formulaContext:t,defaultHeaders:r})=>{let o=Object.values(_).includes(e.method)?e.method:_.GET,n=ml({apiHeaders:e.headers,formulaContext:t,defaultHeaders:r}),a=hl({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 dl(e,s,t),s},fl=(e,t)=>ie(e??{},([r,o])=>o.index).map(([r,o])=>C(o.formula,t)).join("/"),pl=(e,t)=>{let r=new URLSearchParams;return Object.entries(e??{}).forEach(([o,n])=>{if(!(R(n.enabled)?C(n.enabled,t):!0))return;let s=C(n.formula,t);if(R(s))if(Array.isArray(s))s.forEach(i=>r.append(o,String(i)));else if(B(s)){let i=(u,f)=>{Object.entries(u).forEach(([g,l])=>{if(!Array.isArray(l)&&B(l))return i(l,`${f}[${g}]`);r.set(`${f}[${g}]`,String(l))})};i(s,o)}else r.set(o,String(s))}),r},ml=({apiHeaders:e,formulaContext:t,defaultHeaders:r})=>{let o=new Headers(r);return Object.entries(e??{}).forEach(([n,a])=>{if(R(a.enabled)?C(a.enabled,t):!0){let i=C(a.formula,t);if(R(i))try{o.set(n.trim(),(typeof i=="string"?i:String(i)).trim())}catch{}}}),o};var ro=(e,t)=>eo(JSON.stringify({url:e.href,method:t.method,headers:K(Object.fromEntries(Object.entries(t.headers??{})),["host","cookie"]),body:t.body??null})),oo=({apiName:e,response:t,formulaContext:r,errorFormula:o,performance:n})=>{let a=o?C(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:k(a)},hl=({api:e,formulaContext:t,headers:r,method:o})=>{if(!e.body||!ul.includes(o))return;let n=C(e.body,t);if(n)switch(r.get("content-type")){case"application/x-www-form-urlencoded":return typeof n=="object"&&n!==null?Object.entries(n).map(([a,s])=>Array.isArray(s)?s.map(i=>`${encodeURIComponent(a)}=${encodeURIComponent(i)}`).join("&"):`${encodeURIComponent(a)}=${encodeURIComponent(String(s))}`).join("&"):"";case"multipart/form-data":{let a=new FormData;return typeof n=="object"&&n!==null&&Object.entries(n).forEach(([s,i])=>{a.set(s,i)}),a}case"text/plain":return String(n);default:return JSON.stringify(n)}},de=(e,t)=>new CustomEvent(e,{detail:t}),gl=(e,t)=>{let r=e.apiReferences.has(t.name),o=t.apiReferences.has(e.name);return r===o?0:r?1:-1},ce=e=>{let t=new Map,r=(o,n)=>{let a=t.get(n);return a||(a=o.version===2?new le(o,n,{formulas:{},packages:{}}):new te(o,n,{formulas:{},packages:{}}),t.set(n,a)),a};return[...e].sort(([o,n],[a,s])=>{let i=r(n,o),u=r(s,a);return gl(i,u)})};var yl=(e,t)=>{let r=t.length;for(;r;)e=e*33^t.charCodeAt(--r);return e},ao=e=>yl(5381,e),bl=/(a)(d)/gi;var no=e=>String.fromCharCode(e+(e>25?39:97));function so(e){let t="",r;for(r=Math.abs(e);r>52;r=r/52|0)t=no(r%52)+t;return(no(r%52)+t).replace(bl,"$1-$2")}var fe=e=>so(ao(JSON.stringify(e))),pe=(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};var xr=`
2
2
  @layer reset {
3
3
  html {
4
4
  height:100%;
@@ -220,8 +220,8 @@ ${xr}
220
220
  to {
221
221
  opacity:0;
222
222
  }
223
- }`};var uo=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 Al={large:1440,small:576,medium:960};function Cl(e){return e.split("").map(t=>"ABCDEFGHIJKLMNOPQRSTYVWXYZ".includes(t)?"-"+t.toLocaleLowerCase():t).join("")}var El=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"]),co=(e,t,r,o)=>{let n=new Set,a=new Set,s=Sl(t),l=lo("breakpoints"in r?{...r,fontFamily:Object.fromEntries(Object.entries(r.fontFamily).filter(([d,h])=>h.default??s.has("--font-"+d)))}:{...r,fonts:r.fonts},o),u=d=>Object.entries(d).map(([h,S])=>{if(!R(S))return;let y=Cl(h),F=String(Number(S))===String(S)&&El.has(y)?`${Number(S)*4}px`:S;return`${y}:${F};`}).filter(Boolean).join(`
224
- `),f=(d,h)=>{try{let S=K(d.style??{},["variants","breakpoints","shadows"]),y=d.variants??d.style?.variants,F=(E,D,O)=>{let j=Object.entries(D).filter(([c])=>c=="scrollbar-width"),x=u(D);return O?.startingStyle&&(x=`@starting-style {
223
+ }`};var uo=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 Al={large:1440,small:576,medium:960};function Cl(e){return e.split("").map(t=>"ABCDEFGHIJKLMNOPQRSTYVWXYZ".includes(t)?"-"+t.toLocaleLowerCase():t).join("")}var El=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"]),co=(e,t,r,o)=>{let n=new Set,a=new Set,s=Sl(t),i=lo("breakpoints"in r?{...r,fontFamily:Object.fromEntries(Object.entries(r.fontFamily).filter(([d,m])=>m.default??s.has("--font-"+d)))}:{...r,fonts:r.fonts},o),u=d=>Object.entries(d).map(([m,S])=>{if(!R(S))return;let y=Cl(m),F=String(Number(S))===String(S)&&El.has(y)?`${Number(S)*4}px`:S;return`${y}:${F};`}).filter(Boolean).join(`
224
+ `),f=(d,m)=>{try{let S=K(d.style??{},["variants","breakpoints","shadows"]),y=d.variants??d.style?.variants,F=(E,D,O)=>{let j=Object.entries(D).filter(([c])=>c=="scrollbar-width"),x=u(D);return O?.startingStyle&&(x=`@starting-style {
225
225
  ${x}
226
226
  }`),`
227
227
  ${x.length>0?`${E} {
@@ -234,8 +234,8 @@ ${E}::-webkit-scrollbar {
234
234
  }
235
235
  `:""}
236
236
  `};return`
237
- ${F("."+h,S)}
238
- ${(y??[]).map(E=>{let D=F(`.${h}${uo(E)}`,E.style,{startingStyle:E.startingStyle});return E.mediaQuery?`
237
+ ${F("."+m,S)}
238
+ ${(y??[]).map(E=>{let D=F(`.${m}${uo(E)}`,E.style,{startingStyle:E.startingStyle});return E.mediaQuery?`
239
239
  @media (${Object.entries(E.mediaQuery).map(([O,j])=>`${O}: ${j}`).filter(Boolean).join(") and (")}) {
240
240
  ${D}
241
241
  }
@@ -256,11 +256,11 @@ ${E}::-webkit-scrollbar {
256
256
  }
257
257
  `)).join(`
258
258
  `):""}
259
- `}catch(S){return console.error(S),""}},g=new Set;function i(d,h){if(!g.has(d.name)){if(g.add(d.name),!d.nodes){console.warn("Unable to find nodes for component",d.name);return}Object.entries(d.nodes).forEach(([S,y])=>{if(y.type==="component"){let E=t.find(D=>D.name===[y.package??h,y.name].filter(O=>O).join("/"));if(E){i(E,y.package??h),l+=f(y,pe(`${d.name}:${S}`,!0));return}}if(y.type!=="element")return;let F=fe([y.style,y.variants]);if(n.has(F))return"";n.add(F),l+=f(y,F)})}}return i(e),l},Sl=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(R):[])).map(t=>t.replace("var(","").replace(")","").replace(/'/g,"")));var Q=e=>"triggerActions"in e;var fo=e=>typeof e!="string"?!1:/^application\/(json|.*\+json)/.test(e),po=e=>typeof e!="string"?!1:/^(text\/|application\/x-www-form-urlencoded|application\/(xml|.*\+xml))/.test(e),mo=e=>typeof e!="string"?!1:/^text\/event-stream/.test(e),ho=e=>typeof e!="string"?!1:/^(application\/stream\+json|application\/x-ndjson)/.test(e),go=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};var bo=ne(X(),1);function wl(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,u="",a=r+1;if(e[a]==="?")throw new TypeError('Pattern cannot start with "?" at '.concat(a));for(;a<e.length;){if(e[a]==="\\"){u+=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));u+=e[a++]}if(l)throw new TypeError("Unbalanced pattern at ".concat(r));if(!u)throw new TypeError("Missing pattern at ".concat(r));t.push({type:"PATTERN",index:r,value:u}),r=a;continue}t.push({type:"CHAR",index:r,value:e[r++]})}return t.push({type:"END",index:r,value:""}),t}function Fl(e,t){t===void 0&&(t={});for(var r=wl(e),o=t.prefixes,n=o===void 0?"./":o,a=t.delimiter,s=a===void 0?"/#?":a,l=[],u=0,f=0,g="",i=function(m){if(f<r.length&&r[f].type===m)return r[f++].value},d=function(m){var A=i(m);if(A!==void 0)return A;var w=r[f],N=w.type,L=w.index;throw new TypeError("Unexpected ".concat(N," at ").concat(L,", expected ").concat(m))},h=function(){for(var m="",A;A=i("CHAR")||i("ESCAPED_CHAR");)m+=A;return m},S=function(m){for(var A=0,w=s;A<w.length;A++){var N=w[A];if(m.indexOf(N)>-1)return!0}return!1},y=function(m){var A=l[l.length-1],w=m||(A&&typeof A=="string"?A:"");if(A&&!w)throw new TypeError('Must have text between two parameters, missing text after "'.concat(A.name,'"'));return!w||S(w)?"[^".concat(kr(s),"]+?"):"(?:(?!".concat(kr(w),")[^").concat(kr(s),"])+?")};f<r.length;){var F=i("CHAR"),E=i("NAME"),D=i("PATTERN");if(E||D){var O=F||"";n.indexOf(O)===-1&&(g+=O,O=""),g&&(l.push(g),g=""),l.push({name:E||u++,prefix:O,suffix:"",pattern:D||y(O),modifier:i("MODIFIER")||""});continue}var j=F||i("ESCAPED_CHAR");if(j){g+=j;continue}g&&(l.push(g),g="");var x=i("OPEN");if(x){var O=h(),c=i("NAME")||"",v=i("PATTERN")||"",b=h();d("CLOSE"),l.push({name:c||(v?u++:""),pattern:c&&!v?y(O):v,prefix:O,suffix:b,modifier:i("MODIFIER")||""});continue}d("END")}return l}function yo(e,t){return jl(Fl(e,t),t)}function jl(e,t){t===void 0&&(t={});var r=Dl(t),o=t.encode,n=o===void 0?function(u){return u}:o,a=t.validate,s=a===void 0?!0:a,l=e.map(function(u){if(typeof u=="object")return new RegExp("^(?:".concat(u.pattern,")$"),r)});return function(u){for(var f="",g=0;g<e.length;g++){var i=e[g];if(typeof i=="string"){f+=i;continue}var d=u?u[i.name]:void 0,h=i.modifier==="?"||i.modifier==="*",S=i.modifier==="*"||i.modifier==="+";if(Array.isArray(d)){if(!S)throw new TypeError('Expected "'.concat(i.name,'" to not repeat, but got an array'));if(d.length===0){if(h)continue;throw new TypeError('Expected "'.concat(i.name,'" to not be empty'))}for(var y=0;y<d.length;y++){var F=n(d[y],i);if(s&&!l[g].test(F))throw new TypeError('Expected all "'.concat(i.name,'" to match "').concat(i.pattern,'", but got "').concat(F,'"'));f+=i.prefix+F+i.suffix}continue}if(typeof d=="string"||typeof d=="number"){var F=n(String(d),i);if(s&&!l[g].test(F))throw new TypeError('Expected "'.concat(i.name,'" to match "').concat(i.pattern,'", but got "').concat(F,'"'));f+=i.prefix+F+i.suffix;continue}if(!h){var E=S?"an array":"a string";throw new TypeError('Expected "'.concat(i.name,'" to be ').concat(E))}}return f}}function kr(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function Dl(e){return e&&e.sensitive?"":"i"}var re=({query:e,page:t,route:r,params:o,hash:n})=>{let a;if(r){let u=[];for(let f of r.path)if(f.type==="static")u.push(f.name);else{let g=o[f.name];if(R(g))u.push(g);else break}a="/"+u.join("/")}else a=yo(t,{encode:encodeURIComponent})(o);let s=n===void 0||n===""?"":"#"+n,l=Object.entries(e).filter(([u,f])=>f!==null).map(([u,f])=>`${encodeURIComponent(r?.query[u]?.name??u)}=${encodeURIComponent(String(f))}`).join("&");return`${a}${s}${l.length>0?"?"+l:""}`};function P(e,t,r,o){try{if(!e)throw new Error("Action does not exist");switch(e.type){case"Switch":{let n=e.cases.find(({condition:a})=>k(C(a,{data:t,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env})))??e.default;if(!n)return;for(let a of n.actions)P(a,{...t,...r.dataSignal.get()},r,o);break}case"SetVariable":{let n=C(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(a=>({...a,Variables:{...a.Variables,[e.variable]:n}}));break}case"TriggerEvent":{let n=C(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,n);break}case"SetURLParameter":{r.toddle.locationSignal.update(n=>{let a=C(e.data,{data:t,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env}),s,l;if(n.route?.path.some(g=>g.name===e.parameter)?(s="push",l={...n,params:{...K(n.params,[e.parameter]),[e.parameter]:a}}):(s="replace",l={...n,query:{...K(n.query,[e.parameter]),...R(a)?{[e.parameter]:a}:null}}),!s)return n;let u=re(n),f=re(l);return f!==u&&(s=e.historyMode??s,s==="push"?window.history.pushState({},"",f):window.history.replaceState({},"",f)),l});break}case"SetURLParameters":{let n=Object.entries(e.parameters??{});if(n.length===0)return;r.toddle.locationSignal.update(a=>{if(!a.route)return a;let s="replace",l={},u={},f={data:t,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env},g=y=>a.route?.path.some(F=>F.name===y&&F.type==="param"),i=y=>Object.values(a.route?.query??{}).some(F=>F.name===y);for(let[y,F]of n){let E=C(F,f)??null;g(y)?(s="push",u[y]=E):i(y)&&(l[y]=E)}if(Object.keys(u).length===0&&Object.keys(l).length===0)return a;let d={...a,params:{...K(a.params,Object.keys(u)),...u},query:{...K(a.query,Object.keys(l)),...l}};if((0,bo.default)(d,a))return a;let h=re(a),S=re(d);return S!==h&&(s=e.historyMode??s,s==="push"?window.history.pushState({},"",S):window.history.replaceState({},"",S)),d});break}case"Fetch":{let n=r.apis[e.api];if(!n){console.error("The api ",e.api,"does not exist");return}if(Q(n)){let a=ee(e.inputs??{},l=>C(l.formula,{data:t,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env})),s={onCompleted:e.onSuccess?.actions??[],onFailed:e.onError?.actions??[],onMessage:e.onMessage?.actions??[]};n.fetch({actionInputs:a,actionModels:s,componentData:t})}else{let a=s=>{for(let l of s)P(l,{...t,...r.dataSignal.get()},r,o)};n.fetch().then(()=>{a(e.onSuccess.actions)},()=>{a(e.onError.actions)})}break}case"TriggerWorkflow":{let n=ee(e.parameters??{},s=>C(s.formula,{data:t,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env}));if(e.contextProvider){let s=r.providers[[r.package,e.contextProvider].filter(R).join("/")]??r.providers[e.contextProvider],l=s?.component.workflows?.[e.workflow];if(!l){s&&console.warn(`Cannot find workflow "${e.workflow}" on component "${e.contextProvider}". It has likely been removed or modified.`);return}l.actions.forEach(u=>P(u,{...t,...s.ctx.dataSignal.get(),Parameters:n},s.ctx,o));return}let a=r.component.workflows?.[e.workflow];if(!a){console.warn(`Workflow ${e.workflow} does not exist on component ${r.component.name}`);return}a.actions.forEach(s=>P(s,{...t,...r.dataSignal.get(),Parameters:n},r,o));break}default:try{let n=(s,l)=>{let u=e.events?.[s];u&&u.actions.forEach(f=>P(f,l?{...t,...r.dataSignal.get(),Event:l}:{...t,...r.dataSignal.get()},r,l??o))},a=e.version===2?(r.toddle.getCustomAction??r.toddle.getCustomAction)(e.name,e.package??r.package):void 0;if(a){let s=(e.arguments??[]).reduce((u,f)=>({...u,[f.name]:C(f.formula,{data:t,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env})}),{}),l=a.handler?.(s,{root:r.root,triggerActionEvent:n},o);return l&&(typeof l=="function"||l instanceof Promise)&&r.dataSignal.subscribe(u=>u,{destroy:()=>{l instanceof Promise?l.then(u=>{typeof u=="function"&&u()}).catch(u=>console.error(u)):l()}}),l}else{let s=r.toddle.getAction(e.name);if(!s){console.error("Missing custom action",e.name);return}let l=e.arguments?.map(u=>C(u.formula,{data:t,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env}))??[C(e.data,{data:t,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env})];return s(l,{...r,triggerActionEvent:n},o)}}catch(n){console.error("Error in Custom Action",n)}}}catch(n){return console.error(n),null}}function me(e,t){let r=null;function o(i,d){let h={data:d,component:t.component,formulaCache:t.formulaCache,root:t.root,package:t.package,toddle:t.toddle,env:t.env},S=C(i.url,h)??"",y=i.path&&i.path.length>0?"/"+i.path.map(c=>C(c.formula,h)).join("/"):"",F=Object.values(i.queryParams??{}),E=F.length>0?"?"+F.map(c=>`${c.name}=${encodeURIComponent(C(c.formula,h))}`).join("&"):"",D=V(i.headers)?C(i.headers,{data:d,component:t.component,formulaCache:t.formulaCache,root:t.root,package:t.package,toddle:t.toddle,env:t.env}):ee(i.headers??{},c=>C(c,{data:d,component:t.component,formulaCache:t.formulaCache,root:t.root,package:t.package,toddle:t.toddle,env:t.env})),O=String(Object.entries(D).find(([c])=>c.toLocaleLowerCase()==="content-type")?.[1]),j=i.method??"GET",x=i.body&&["POST","PUT","PATCH","DELETE"].includes(j)?a(C(i.body,{data:d,component:t.component,formulaCache:t.formulaCache,root:t.root,package:t.package,toddle:t.toddle,env:t.env}),O):void 0;return{url:S+y+E,method:j,auth:i.auth,headers:D,body:x}}async function n(i){let d=await i.text();try{return Z(d)}catch{return d}}function a(i,d){switch(d){case"application/x-www-form-urlencoded":return typeof i=="object"&&i!==null?Object.entries(i).map(([h,S])=>Array.isArray(S)?S.map(y=>`${encodeURIComponent(h)}=${encodeURIComponent(y)}`).join("&"):`${encodeURIComponent(h)}=${encodeURIComponent(String(S))}`).join("&"):"";case"multipart/form-data":{let h=new FormData;return typeof i=="object"&&i!==null&&Object.entries(i).forEach(([S,y])=>{h.set(S,y)}),h}case"text/plain":return String(i);default:return JSON.stringify(i)}}function s(i){t.dataSignal.set({...t.dataSignal.get(),Apis:{...t.dataSignal.get().Apis,[e.name]:{data:i,error:null,isLoading:!1}}}),e.onCompleted?.actions?.forEach(d=>{P(d,t.dataSignal.get(),t)})}function l(i){t.dataSignal.set({...t.dataSignal.get(),Apis:{...t.dataSignal.get().Apis,[e.name]:{data:null,isLoading:!1,error:i}}}),e.onFailed?.actions?.forEach(d=>{P(d,t.dataSignal.get(),t)})}async function u(i){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(i.url,{method:i.method,headers:i.headers,body:i.body}):d=await fetch(`/_query/${encodeURIComponent(t.component.name)}.${encodeURIComponent(e.name)}`,{method:"POST",body:JSON.stringify(i),signal:t.abortSignal,headers:{"Content-Type":"application/json"}});let h=await n(d);if(d.ok)s(h);else throw h}catch(h){return l(h),Promise.reject(h)}}function f(i){return typeof e.debounce=="number"?new Promise((d,h)=>{typeof r=="number"&&clearTimeout(r),r=setTimeout(()=>{u(i).then(d,h)},e.debounce)}):typeof e.throttle=="number"?typeof r=="number"?new Promise(()=>{}):(r=setTimeout(()=>{typeof r=="number"&&clearTimeout(r)},e.throttle),u(i)):u(i)}let g;if(t.dataSignal.update(i=>({...i,Apis:{...i.Apis??{},[e.name]:i.Apis?.[e.name]??{data:null,isLoading:!!(e.autoFetch&&C(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){g=t.dataSignal.map(d=>o(e,d));let i=!0;g.subscribe(d=>{if(e.autoFetch&&C(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(i&&t.isRootComponent){i=!1;let h=t.toddle?.pageState?.Apis?.[e.name];h&&h.data?typeof h.data=="string"?s(Z(h.data)):s(h.data):f(d)}else f(d)})}return{fetch:i=>{let d=o(e,t.dataSignal.get()),h=d.body,S=new Headers({...d.headers,...i?.headers??{}});i?.body&&(h=a(i.body,S.get("Content-Type")??void 0)),h instanceof FormData&&S.delete("Content-Type");let y={url:i?.url??d.url,method:i?.method??d.method,auth:i?.auth??d.auth,headers:z(S),body:h};return f(y)},destroy:()=>g?.destroy()}}var vo=({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}},Ao="x-nordcraft-url",Co="x-nordcraft-templates-in-body";function he({apiRequest:e,componentData:t,ctx:r}){let o=null,n={...e};function a(c,v){let b=window.origin;try{new URL(b)}catch{b=void 0}let m=to({api:c,formulaContext:s(c,v),baseUrl:b,defaultHeaders:void 0});return{...m,requestSettings:{...m.requestSettings,credentials:c.client?.credentials&&["include","same-origin","omit"].includes(c.client.credentials)?c.client.credentials:void 0}}}function s(c,v){let b={data:r.dataSignal.get(),component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env},m=Object.entries(c.inputs).reduce((w,[N,L])=>(w[N]=C(L.formula,b),w),{}),A={...v,...b.data,ApiInputs:{...m}};return{component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,data:A,toddle:r.toddle,env:r.env}}function l(c,v){for(let[b,m]of ie(c.redirectRules??{},([A,w])=>w.index)){let A=s(c,v),w=C(m.formula,{...A,data:{...A.data,Apis:{[c.name]:r.dataSignal.get().Apis?.[c.name]}}});if(typeof w=="string"){let N=vo({path:w,origin:window.location.origin});if(N){if(r.env.runtime==="preview")return window.parent?.postMessage({type:"blockedNavigation",url:N.href},"*"),{name:b,index:m.index,url:N};window.location.replace(N.href)}}}}function u({eventName:c,api:v,data:b,componentData:m}){switch(c){case"message":{let A=de("message",b.body);v.client?.onMessage?.actions?.forEach(w=>{P(w,{...s(v,m).data,Event:A},r,A)});break}case"success":{let A=de("success",b.body);v.client?.onCompleted?.actions?.forEach(w=>{P(w,{...s(v,m).data,Event:A},r,A)});break}case"failed":{let A=de("failed",{error:b.body,status:b.status});v.client?.onFailed?.actions?.forEach(w=>{P(w,{...s(v,m).data,Event:A},r,A)});break}}}function f({api:c,componentData:v,data:b,performance:m}){let A=r.dataSignal.get().Apis?.[c.name]?.response?.performance?.requestStart;if(typeof A=="number"&&A>(m.requestStart??0))return;r.dataSignal.set({...r.dataSignal.get(),Apis:{...r.dataSignal.get().Apis,[c.name]:{isLoading:!1,data:b.body,error:null,response:{status:b.status,headers:b.headers,performance:m}}}});let w=l(c,v);w&&r.dataSignal.set({...r.dataSignal.get(),Apis:{...r.dataSignal.get().Apis,[c.name]:{isLoading:!1,data:b.body,error:null,response:{status:b.status,headers:b.headers,performance:m,...r.env.runtime==="preview"?{debug:{appliedRedirectRule:w}}:{}}}}})}function g({api:c,componentData:v,data:b,performance:m}){let A=r.dataSignal.get().Apis?.[c.name]?.response?.performance?.requestStart;if(typeof A=="number"&&A>(m.requestStart??0))return;r.dataSignal.set({...r.dataSignal.get(),Apis:{...r.dataSignal.get().Apis,[c.name]:{isLoading:!1,data:null,error:b.body,response:{status:b.status,headers:b.headers,performance:m}}}});let w=l(c,v);w&&r.dataSignal.set({...r.dataSignal.get(),Apis:{...r.dataSignal.get().Apis,[c.name]:{isLoading:!1,data:null,error:b.body,response:{status:b.status,headers:b.headers,performance:m,...r.env.runtime==="preview"?{debug:{appliedRedirectRule:w}}:{}}}}})}async function i({api:c,url:v,requestSettings:b,componentData:m}){let A=async()=>{let w={requestStart:Date.now(),responseStart:null,responseEnd:null};r.dataSignal.set({...r.dataSignal.get(),Apis:{...r.dataSignal.get().Apis,[c.name]:{isLoading:!0,data:r.dataSignal.get().Apis?.[c.name]?.data??null,error:null}}});let N;try{if((c.server?.proxy?C(c.server.proxy.enabled.formula,s(c,m))??!1:!1)===!1)N=await fetch(v,b);else{let M=`/.toddle/omvej/components/${encodeURIComponent(r.component.name)}/apis/${encodeURIComponent(r.component.name)}:${encodeURIComponent(c.name)}`,$=new Headers(b.headers);$.set(Ao,decodeURIComponent(v.href.replace(/\+/g," "))),k(C(c.server?.proxy?.useTemplatesInBody?.formula,s(c,m)))&&$.set(Co,"true"),b.headers=$,N=await fetch(M,b)}w.responseStart=Date.now(),await d({api:c,componentData:m,res:N,performance:w});return}catch(L){let M=L.cause?{message:L.message,data:L.cause}:L.message;return g({api:c,componentData:m,data:{body:M},performance:{...w,responseEnd:Date.now()}}),u({eventName:"failed",api:c,data:{body:M},componentData:m}),Promise.reject(L)}};return c.client?.debounce?.formula?new Promise((w,N)=>{typeof o=="number"&&clearTimeout(o),o=setTimeout(()=>{A().then(w,N)},C(c.client?.debounce?.formula,s(c,m)))}):A()}function d({api:c,componentData:v,res:b,performance:m}){let A=c.client?.parserMode??"auto";if(A==="auto"){let w=b.headers.get("content-type");mo(w)?A="event-stream":fo(w)?A="json":po(w)?A="text":ho(w)?A="json-stream":go(w)?A="blob":A="text"}switch(A){case"text":return h({api:c,componentData:v,res:b,performance:m});case"json":return y({api:c,componentData:v,res:b,performance:m});case"event-stream":return E({api:c,componentData:v,res:b,performance:m});case"json-stream":return S({api:c,componentData:v,res:b,performance:m});case"blob":return F({api:c,componentData:v,res:b,performance:m});default:return h({api:c,componentData:v,res:b,performance:m})}}function h({api:c,res:v,performance:b,componentData:m}){return D({api:c,res:v,performance:b,streamType:"text",useTextDecoder:!0,parseChunk:A=>A,parseChunksForData:A=>A.join(""),componentData:m})}function S({api:c,res:v,performance:b,componentData:m}){return D({api:c,res:v,performance:b,streamType:"json",useTextDecoder:!0,parseChunk:w=>{let N=w;try{N=JSON.parse(w)}catch{throw new Error("Error occurred while parsing the json chunk.",{cause:N})}return N},parseChunksForData:w=>[...w],delimiters:[`\r
259
+ `}catch(S){return console.error(S),""}},g=new Set;function l(d,m){if(!g.has(d.name)){if(g.add(d.name),!d.nodes){console.warn("Unable to find nodes for component",d.name);return}Object.entries(d.nodes).forEach(([S,y])=>{if(y.type==="component"){let E=t.find(D=>D.name===[y.package??m,y.name].filter(O=>O).join("/"));if(E){l(E,y.package??m),i+=f(y,pe(`${d.name}:${S}`,!0));return}}if(y.type!=="element")return;let F=fe([y.style,y.variants]);if(n.has(F))return"";n.add(F),i+=f(y,F)})}}return l(e),i},Sl=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(R):[])).map(t=>t.replace("var(","").replace(")","").replace(/'/g,"")));var Q=e=>"triggerActions"in e;var fo=e=>typeof e!="string"?!1:/^application\/(json|.*\+json)/.test(e),po=e=>typeof e!="string"?!1:/^(text\/|application\/x-www-form-urlencoded|application\/(xml|.*\+xml))/.test(e),mo=e=>typeof e!="string"?!1:/^text\/event-stream/.test(e),ho=e=>typeof e!="string"?!1:/^(application\/stream\+json|application\/x-ndjson)/.test(e),go=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};var bo=ne(X(),1);function wl(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 i=1,u="",a=r+1;if(e[a]==="?")throw new TypeError('Pattern cannot start with "?" at '.concat(a));for(;a<e.length;){if(e[a]==="\\"){u+=e[a++]+e[a++];continue}if(e[a]===")"){if(i--,i===0){a++;break}}else if(e[a]==="("&&(i++,e[a+1]!=="?"))throw new TypeError("Capturing groups are not allowed at ".concat(a));u+=e[a++]}if(i)throw new TypeError("Unbalanced pattern at ".concat(r));if(!u)throw new TypeError("Missing pattern at ".concat(r));t.push({type:"PATTERN",index:r,value:u}),r=a;continue}t.push({type:"CHAR",index:r,value:e[r++]})}return t.push({type:"END",index:r,value:""}),t}function Fl(e,t){t===void 0&&(t={});for(var r=wl(e),o=t.prefixes,n=o===void 0?"./":o,a=t.delimiter,s=a===void 0?"/#?":a,i=[],u=0,f=0,g="",l=function(h){if(f<r.length&&r[f].type===h)return r[f++].value},d=function(h){var A=l(h);if(A!==void 0)return A;var w=r[f],N=w.type,L=w.index;throw new TypeError("Unexpected ".concat(N," at ").concat(L,", expected ").concat(h))},m=function(){for(var h="",A;A=l("CHAR")||l("ESCAPED_CHAR");)h+=A;return h},S=function(h){for(var A=0,w=s;A<w.length;A++){var N=w[A];if(h.indexOf(N)>-1)return!0}return!1},y=function(h){var A=i[i.length-1],w=h||(A&&typeof A=="string"?A:"");if(A&&!w)throw new TypeError('Must have text between two parameters, missing text after "'.concat(A.name,'"'));return!w||S(w)?"[^".concat(kr(s),"]+?"):"(?:(?!".concat(kr(w),")[^").concat(kr(s),"])+?")};f<r.length;){var F=l("CHAR"),E=l("NAME"),D=l("PATTERN");if(E||D){var O=F||"";n.indexOf(O)===-1&&(g+=O,O=""),g&&(i.push(g),g=""),i.push({name:E||u++,prefix:O,suffix:"",pattern:D||y(O),modifier:l("MODIFIER")||""});continue}var j=F||l("ESCAPED_CHAR");if(j){g+=j;continue}g&&(i.push(g),g="");var x=l("OPEN");if(x){var O=m(),c=l("NAME")||"",v=l("PATTERN")||"",b=m();d("CLOSE"),i.push({name:c||(v?u++:""),pattern:c&&!v?y(O):v,prefix:O,suffix:b,modifier:l("MODIFIER")||""});continue}d("END")}return i}function yo(e,t){return jl(Fl(e,t),t)}function jl(e,t){t===void 0&&(t={});var r=Dl(t),o=t.encode,n=o===void 0?function(u){return u}:o,a=t.validate,s=a===void 0?!0:a,i=e.map(function(u){if(typeof u=="object")return new RegExp("^(?:".concat(u.pattern,")$"),r)});return function(u){for(var f="",g=0;g<e.length;g++){var l=e[g];if(typeof l=="string"){f+=l;continue}var d=u?u[l.name]:void 0,m=l.modifier==="?"||l.modifier==="*",S=l.modifier==="*"||l.modifier==="+";if(Array.isArray(d)){if(!S)throw new TypeError('Expected "'.concat(l.name,'" to not repeat, but got an array'));if(d.length===0){if(m)continue;throw new TypeError('Expected "'.concat(l.name,'" to not be empty'))}for(var y=0;y<d.length;y++){var F=n(d[y],l);if(s&&!i[g].test(F))throw new TypeError('Expected all "'.concat(l.name,'" to match "').concat(l.pattern,'", but got "').concat(F,'"'));f+=l.prefix+F+l.suffix}continue}if(typeof d=="string"||typeof d=="number"){var F=n(String(d),l);if(s&&!i[g].test(F))throw new TypeError('Expected "'.concat(l.name,'" to match "').concat(l.pattern,'", but got "').concat(F,'"'));f+=l.prefix+F+l.suffix;continue}if(!m){var E=S?"an array":"a string";throw new TypeError('Expected "'.concat(l.name,'" to be ').concat(E))}}return f}}function kr(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function Dl(e){return e&&e.sensitive?"":"i"}var re=({query:e,page:t,route:r,params:o,hash:n})=>{let a;if(r){let u=[];for(let f of r.path)if(f.type==="static")u.push(f.name);else{let g=o[f.name];if(R(g))u.push(g);else break}a="/"+u.join("/")}else a=yo(t,{encode:encodeURIComponent})(o);let s=n===void 0||n===""?"":"#"+n,i=Object.entries(e).filter(([u,f])=>f!==null).map(([u,f])=>`${encodeURIComponent(r?.query[u]?.name??u)}=${encodeURIComponent(String(f))}`).join("&");return`${a}${s}${i.length>0?"?"+i:""}`};function P(e,t,r,o){try{if(!e)throw new Error("Action does not exist");switch(e.type){case"Switch":{let n=e.cases.find(({condition:a})=>k(C(a,{data:t,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env})))??e.default;if(!n)return;for(let a of n.actions)P(a,{...t,...r.dataSignal.get()},r,o);break}case"SetVariable":{let n=C(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(a=>({...a,Variables:{...a.Variables,[e.variable]:n}}));break}case"TriggerEvent":{let n=C(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,n);break}case"SetURLParameter":{r.toddle.locationSignal.update(n=>{let a=C(e.data,{data:t,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env}),s,i;if(n.route?.path.some(g=>g.name===e.parameter)?(s="push",i={...n,params:{...K(n.params,[e.parameter]),[e.parameter]:a}}):(s="replace",i={...n,query:{...K(n.query,[e.parameter]),...R(a)?{[e.parameter]:a}:null}}),!s)return n;let u=re(n),f=re(i);return f!==u&&(s=e.historyMode??s,s==="push"?window.history.pushState({},"",f):window.history.replaceState({},"",f)),i});break}case"SetURLParameters":{let n=Object.entries(e.parameters??{});if(n.length===0)return;r.toddle.locationSignal.update(a=>{if(!a.route)return a;let s="replace",i={},u={},f={data:t,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env},g=y=>a.route?.path.some(F=>F.name===y&&F.type==="param"),l=y=>Object.values(a.route?.query??{}).some(F=>F.name===y);for(let[y,F]of n){let E=C(F,f)??null;g(y)?(s="push",u[y]=E):l(y)&&(i[y]=E)}if(Object.keys(u).length===0&&Object.keys(i).length===0)return a;let d={...a,params:{...K(a.params,Object.keys(u)),...u},query:{...K(a.query,Object.keys(i)),...i}};if((0,bo.default)(d,a))return a;let m=re(a),S=re(d);return S!==m&&(s=e.historyMode??s,s==="push"?window.history.pushState({},"",S):window.history.replaceState({},"",S)),d});break}case"Fetch":{let n=r.apis[e.api];if(!n){console.error("The api ",e.api,"does not exist");return}if(Q(n)){let a=ee(e.inputs??{},i=>C(i.formula,{data:t,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env})),s={onCompleted:e.onSuccess?.actions??[],onFailed:e.onError?.actions??[],onMessage:e.onMessage?.actions??[]};n.fetch({actionInputs:a,actionModels:s,componentData:t})}else{let a=s=>{for(let i of s)P(i,{...t,...r.dataSignal.get()},r,o)};n.fetch().then(()=>{a(e.onSuccess.actions)},()=>{a(e.onError.actions)})}break}case"TriggerWorkflow":{let n=ee(e.parameters??{},s=>C(s.formula,{data:t,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env}));if(e.contextProvider){let s=r.providers[[r.package,e.contextProvider].filter(R).join("/")]??r.providers[e.contextProvider],i=s?.component.workflows?.[e.workflow];if(!i){s&&console.warn(`Cannot find workflow "${e.workflow}" on component "${e.contextProvider}". It has likely been removed or modified.`);return}i.actions.forEach(u=>P(u,{...t,...s.ctx.dataSignal.get(),Parameters:n},s.ctx,o));return}let a=r.component.workflows?.[e.workflow];if(!a){console.warn(`Workflow ${e.workflow} does not exist on component ${r.component.name}`);return}a.actions.forEach(s=>P(s,{...t,...r.dataSignal.get(),Parameters:n},r,o));break}default:try{let n=(s,i)=>{let u=e.events?.[s];u&&u.actions.forEach(f=>P(f,i?{...t,...r.dataSignal.get(),Event:i}:{...t,...r.dataSignal.get()},r,i??o))},a=e.version===2?(r.toddle.getCustomAction??r.toddle.getCustomAction)(e.name,e.package??r.package):void 0;if(a){let s=(e.arguments??[]).reduce((u,f)=>({...u,[f.name]:C(f.formula,{data:t,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env})}),{}),i=a.handler?.(s,{root:r.root,triggerActionEvent:n},o);return i&&(typeof i=="function"||i instanceof Promise)&&r.dataSignal.subscribe(u=>u,{destroy:()=>{i instanceof Promise?i.then(u=>{typeof u=="function"&&u()}).catch(u=>console.error(u)):i()}}),i}else{let s=r.toddle.getAction(e.name);if(!s){console.error("Missing custom action",e.name);return}let i=e.arguments?.map(u=>C(u.formula,{data:t,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env}))??[C(e.data,{data:t,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env})];return s(i,{...r,triggerActionEvent:n},o)}}catch(n){console.error("Error in Custom Action",n)}}}catch(n){return console.error(n),null}}function me(e,t){let r=null;function o(l,d){let m={data:d,component:t.component,formulaCache:t.formulaCache,root:t.root,package:t.package,toddle:t.toddle,env:t.env},S=C(l.url,m)??"",y=l.path&&l.path.length>0?"/"+l.path.map(c=>C(c.formula,m)).join("/"):"",F=Object.values(l.queryParams??{}),E=F.length>0?"?"+F.map(c=>`${c.name}=${encodeURIComponent(C(c.formula,m))}`).join("&"):"",D=V(l.headers)?C(l.headers,{data:d,component:t.component,formulaCache:t.formulaCache,root:t.root,package:t.package,toddle:t.toddle,env:t.env}):ee(l.headers??{},c=>C(c,{data:d,component:t.component,formulaCache:t.formulaCache,root:t.root,package:t.package,toddle:t.toddle,env:t.env})),O=String(Object.entries(D).find(([c])=>c.toLocaleLowerCase()==="content-type")?.[1]),j=l.method??"GET",x=l.body&&["POST","PUT","PATCH","DELETE"].includes(j)?a(C(l.body,{data:d,component:t.component,formulaCache:t.formulaCache,root:t.root,package:t.package,toddle:t.toddle,env:t.env}),O):void 0;return{url:S+y+E,method:j,auth:l.auth,headers:D,body:x}}async function n(l){let d=await l.text();try{return Z(d)}catch{return d}}function a(l,d){switch(d){case"application/x-www-form-urlencoded":return typeof l=="object"&&l!==null?Object.entries(l).map(([m,S])=>Array.isArray(S)?S.map(y=>`${encodeURIComponent(m)}=${encodeURIComponent(y)}`).join("&"):`${encodeURIComponent(m)}=${encodeURIComponent(String(S))}`).join("&"):"";case"multipart/form-data":{let m=new FormData;return typeof l=="object"&&l!==null&&Object.entries(l).forEach(([S,y])=>{m.set(S,y)}),m}case"text/plain":return String(l);default:return JSON.stringify(l)}}function s(l){t.dataSignal.set({...t.dataSignal.get(),Apis:{...t.dataSignal.get().Apis,[e.name]:{data:l,error:null,isLoading:!1}}}),e.onCompleted?.actions?.forEach(d=>{P(d,t.dataSignal.get(),t)})}function i(l){t.dataSignal.set({...t.dataSignal.get(),Apis:{...t.dataSignal.get().Apis,[e.name]:{data:null,isLoading:!1,error:l}}}),e.onFailed?.actions?.forEach(d=>{P(d,t.dataSignal.get(),t)})}async function u(l){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(l.url,{method:l.method,headers:l.headers,body:l.body}):d=await fetch(`/_query/${encodeURIComponent(t.component.name)}.${encodeURIComponent(e.name)}`,{method:"POST",body:JSON.stringify(l),signal:t.abortSignal,headers:{"Content-Type":"application/json"}});let m=await n(d);if(d.ok)s(m);else throw m}catch(m){return i(m),Promise.reject(m)}}function f(l){return typeof e.debounce=="number"?new Promise((d,m)=>{typeof r=="number"&&clearTimeout(r),r=setTimeout(()=>{u(l).then(d,m)},e.debounce)}):typeof e.throttle=="number"?typeof r=="number"?new Promise(()=>{}):(r=setTimeout(()=>{typeof r=="number"&&clearTimeout(r)},e.throttle),u(l)):u(l)}let g;if(t.dataSignal.update(l=>({...l,Apis:{...l.Apis??{},[e.name]:l.Apis?.[e.name]??{data:null,isLoading:!!(e.autoFetch&&C(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){g=t.dataSignal.map(d=>o(e,d));let l=!0;g.subscribe(d=>{if(e.autoFetch&&C(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(l&&t.isRootComponent){l=!1;let m=t.toddle?.pageState?.Apis?.[e.name];m&&m.data?typeof m.data=="string"?s(Z(m.data)):s(m.data):f(d)}else f(d)})}return{fetch:l=>{let d=o(e,t.dataSignal.get()),m=d.body,S=new Headers({...d.headers,...l?.headers??{}});l?.body&&(m=a(l.body,S.get("Content-Type")??void 0)),m instanceof FormData&&S.delete("Content-Type");let y={url:l?.url??d.url,method:l?.method??d.method,auth:l?.auth??d.auth,headers:z(S),body:m};return f(y)},destroy:()=>g?.destroy()}}var vo=({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}},Ao="x-nordcraft-url",Co="x-nordcraft-templates-in-body";function he({apiRequest:e,componentData:t,ctx:r}){let o=null,n={...e};function a(c,v){let b=window.origin;try{new URL(b)}catch{b=void 0}let h=to({api:c,formulaContext:s(c,v),baseUrl:b,defaultHeaders:void 0});return{...h,requestSettings:{...h.requestSettings,credentials:c.client?.credentials&&["include","same-origin","omit"].includes(c.client.credentials)?c.client.credentials:void 0}}}function s(c,v){let b={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(c.inputs).reduce((w,[N,L])=>(w[N]=C(L.formula,b),w),{}),A={...v,...b.data,ApiInputs:{...h}};return{component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,data:A,toddle:r.toddle,env:r.env}}function i(c,v){for(let[b,h]of ie(c.redirectRules??{},([A,w])=>w.index)){let A=s(c,v),w=C(h.formula,{...A,data:{...A.data,Apis:{[c.name]:r.dataSignal.get().Apis?.[c.name]}}});if(typeof w=="string"){let N=vo({path:w,origin:window.location.origin});if(N){if(r.env.runtime==="preview")return window.parent?.postMessage({type:"blockedNavigation",url:N.href},"*"),{name:b,index:h.index,url:N};window.location.replace(N.href)}}}}function u({eventName:c,api:v,data:b,componentData:h}){switch(c){case"message":{let A=de("message",b.body);v.client?.onMessage?.actions?.forEach(w=>{P(w,{...s(v,h).data,Event:A},r,A)});break}case"success":{let A=de("success",b.body);v.client?.onCompleted?.actions?.forEach(w=>{P(w,{...s(v,h).data,Event:A},r,A)});break}case"failed":{let A=de("failed",{error:b.body,status:b.status});v.client?.onFailed?.actions?.forEach(w=>{P(w,{...s(v,h).data,Event:A},r,A)});break}}}function f({api:c,componentData:v,data:b,performance:h}){let A=r.dataSignal.get().Apis?.[c.name]?.response?.performance?.requestStart;if(typeof A=="number"&&A>(h.requestStart??0))return;r.dataSignal.set({...r.dataSignal.get(),Apis:{...r.dataSignal.get().Apis,[c.name]:{isLoading:!1,data:b.body,error:null,response:{status:b.status,headers:b.headers,performance:h}}}});let w=i(c,v);w&&r.dataSignal.set({...r.dataSignal.get(),Apis:{...r.dataSignal.get().Apis,[c.name]:{isLoading:!1,data:b.body,error:null,response:{status:b.status,headers:b.headers,performance:h,...r.env.runtime==="preview"?{debug:{appliedRedirectRule:w}}:{}}}}})}function g({api:c,componentData:v,data:b,performance:h}){let A=r.dataSignal.get().Apis?.[c.name]?.response?.performance?.requestStart;if(typeof A=="number"&&A>(h.requestStart??0))return;r.dataSignal.set({...r.dataSignal.get(),Apis:{...r.dataSignal.get().Apis,[c.name]:{isLoading:!1,data:null,error:b.body,response:{status:b.status,headers:b.headers,performance:h}}}});let w=i(c,v);w&&r.dataSignal.set({...r.dataSignal.get(),Apis:{...r.dataSignal.get().Apis,[c.name]:{isLoading:!1,data:null,error:b.body,response:{status:b.status,headers:b.headers,performance:h,...r.env.runtime==="preview"?{debug:{appliedRedirectRule:w}}:{}}}}})}async function l({api:c,url:v,requestSettings:b,componentData:h}){let A=async()=>{let w={requestStart:Date.now(),responseStart:null,responseEnd:null};r.dataSignal.set({...r.dataSignal.get(),Apis:{...r.dataSignal.get().Apis,[c.name]:{isLoading:!0,data:r.dataSignal.get().Apis?.[c.name]?.data??null,error:null}}});let N;try{if((c.server?.proxy?C(c.server.proxy.enabled.formula,s(c,h))??!1:!1)===!1)N=await fetch(v,b);else{let M=`/.toddle/omvej/components/${encodeURIComponent(r.component.name)}/apis/${encodeURIComponent(r.component.name)}:${encodeURIComponent(c.name)}`,$=new Headers(b.headers);$.set(Ao,decodeURIComponent(v.href.replace(/\+/g," "))),k(C(c.server?.proxy?.useTemplatesInBody?.formula,s(c,h)))&&$.set(Co,"true"),b.headers=$,N=await fetch(M,b)}w.responseStart=Date.now(),await d({api:c,componentData:h,res:N,performance:w});return}catch(L){let M=L.cause?{message:L.message,data:L.cause}:L.message;return g({api:c,componentData:h,data:{body:M},performance:{...w,responseEnd:Date.now()}}),u({eventName:"failed",api:c,data:{body:M},componentData:h}),Promise.reject(L)}};return c.client?.debounce?.formula?new Promise((w,N)=>{typeof o=="number"&&clearTimeout(o),o=setTimeout(()=>{A().then(w,N)},C(c.client?.debounce?.formula,s(c,h)))}):A()}function d({api:c,componentData:v,res:b,performance:h}){let A=c.client?.parserMode??"auto";if(A==="auto"){let w=b.headers.get("content-type");mo(w)?A="event-stream":fo(w)?A="json":po(w)?A="text":ho(w)?A="json-stream":go(w)?A="blob":A="text"}switch(A){case"text":return m({api:c,componentData:v,res:b,performance:h});case"json":return y({api:c,componentData:v,res:b,performance:h});case"event-stream":return E({api:c,componentData:v,res:b,performance:h});case"json-stream":return S({api:c,componentData:v,res:b,performance:h});case"blob":return F({api:c,componentData:v,res:b,performance:h});default:return m({api:c,componentData:v,res:b,performance:h})}}function m({api:c,res:v,performance:b,componentData:h}){return D({api:c,res:v,performance:b,streamType:"text",useTextDecoder:!0,parseChunk:A=>A,parseChunksForData:A=>A.join(""),componentData:h})}function S({api:c,res:v,performance:b,componentData:h}){return D({api:c,res:v,performance:b,streamType:"json",useTextDecoder:!0,parseChunk:w=>{let N=w;try{N=JSON.parse(w)}catch{throw new Error("Error occurred while parsing the json chunk.",{cause:N})}return N},parseChunksForData:w=>[...w],delimiters:[`\r
260
260
  `,`
261
- `],componentData:m})}async function y({api:c,componentData:v,res:b,performance:m}){let w={data:await b.json(),isLoading:!1,error:null,response:{status:b.status,headers:z(b.headers)}};return O({api:c,apiStatus:w,componentData:v,performance:m})}async function F({api:c,componentData:v,res:b,performance:m}){let A=await b.blob(),w={isLoading:!1,data:URL.createObjectURL(A),error:null,response:{status:b.status,headers:z(b.headers)}};return O({api:c,apiStatus:w,componentData:v,performance:m})}function E({api:c,res:v,performance:b,componentData:m}){return D({api:c,res:v,performance:b,streamType:"event",useTextDecoder:!0,parseChunk:w=>{let N=w.match(/event: (.*)/)?.[1]??"message",L=w.match(/data: (.*)/)?.[1]??"",M=w.match(/id: (.*)/)?.[1],$=w.match(/retry: (.*)/)?.[1],Y=L;try{Y=JSON.parse(L??"")}catch{}return{event:N,data:Y,...M?{id:M}:{},...$?{retry:$}:{}}},parseChunksForData:w=>[...w],delimiters:[`
261
+ `],componentData:h})}async function y({api:c,componentData:v,res:b,performance:h}){let w={data:await b.json(),isLoading:!1,error:null,response:{status:b.status,headers:z(b.headers)}};return O({api:c,apiStatus:w,componentData:v,performance:h})}async function F({api:c,componentData:v,res:b,performance:h}){let A=await b.blob(),w={isLoading:!1,data:URL.createObjectURL(A),error:null,response:{status:b.status,headers:z(b.headers)}};return O({api:c,apiStatus:w,componentData:v,performance:h})}function E({api:c,res:v,performance:b,componentData:h}){return D({api:c,res:v,performance:b,streamType:"event",useTextDecoder:!0,parseChunk:w=>{let N=w.match(/event: (.*)/)?.[1]??"message",L=w.match(/data: (.*)/)?.[1]??"",M=w.match(/id: (.*)/)?.[1],$=w.match(/retry: (.*)/)?.[1],Y=L;try{Y=JSON.parse(L??"")}catch{}return{event:N,data:Y,...M?{id:M}:{},...$?{retry:$}:{}}},parseChunksForData:w=>[...w],delimiters:[`
262
262
 
263
263
  `,`\r
264
264
  \r
265
- `],componentData:m})}async function D({api:c,res:v,performance:b,streamType:m,useTextDecoder:A,parseChunk:w,parseChunksForData:N,delimiters:L,componentData:M}){let $={chunks:[],currentChunk:"",add(W){let H=w(W);this.chunks.push(H),H&&(r.dataSignal.set({...r.dataSignal.get(),Apis:{...r.dataSignal.get().Apis,[c.name]:{isLoading:!0,data:N(this.chunks),error:null,response:{headers:z(v.headers)}}}}),(c.client?.onMessage?.actions??[]).length>0&&u({eventName:"message",api:c,data:{body:H},componentData:M}))},processChunk(W){let H=L?.find(Ae=>W.includes(Ae)),Ir=this.currentChunk+W,Mr=H?Ir.split(H):[Ir];this.currentChunk=Mr.pop()??"",Mr.forEach(Ae=>this.add(Ae))}},Y=A?v.body?.pipeThrough(new TextDecoderStream).getReader():v.body?.getReader();for(;Y;){let{done:W,value:H}=await Y.read();if(W)break;L?$.processChunk(H):$.add(H)}$.currentChunk&&$.add($.currentChunk);let oe={isLoading:!1,data:$.chunks,error:null,response:{status:v.status,headers:z(v.headers)}};try{if(m==="json"){let W=JSON.parse($.chunks.join(""));oe.data=W}else m==="text"&&(oe.data=$.chunks.join(""))}catch{throw new Error("Error occurred while parsing the json chunk.",{cause:$.chunks.join("")})}return O({api:c,apiStatus:oe,componentData:M,performance:b})}function O({api:c,apiStatus:v,componentData:b,performance:m}){m.responseEnd=Date.now();let A={body:v.data,status:v.response?.status,headers:v.response?.headers??void 0};oo({apiName:c.name,response:{body:A.body,ok:!!(!v.error&&v.response?.status&&v.response.status<400),status:A.status,headers:A.headers},formulaContext:s(c,b),errorFormula:c.isError,performance:m})?(!A.body&&v.error&&(A.body=v.error),g({api:c,componentData:b,data:A,performance:m}),u({eventName:"failed",api:c,componentData:b,data:A})):(f({api:c,componentData:b,data:A,performance:m}),u({eventName:"success",api:c,componentData:b,data:A}))}function j(c){return Xr(c,[["client","onCompleted"],["client","onFailed"],["client","onMessage"],["service"],["server","ssr"]])}let x;return x=r.dataSignal.map(c=>{let v=s(n,t);return{request:a(n,t),api:j(n),autoFetch:n.autoFetch?C(n.autoFetch,v):!1,proxy:C(n.server?.proxy?.enabled.formula,v)}}),x.subscribe(async c=>{let{url:v,requestSettings:b}=a(n,t),m=R(n.autoFetch)&&(n.autoFetch.type!=="value"||n.autoFetch.value===!0)&&(window?.__toddle?.isPageLoaded??!1)===!1?r.toddle.pageState.Apis?.[ro(v,b)]:void 0;m?m.error?g({api:n,data:{body:m.error,status:m.response?.status,headers:m.response?.headers??void 0},performance:{requestStart:m.response?.performance?.requestStart??null,responseStart:m.response?.performance?.responseStart??null,responseEnd:m.response?.performance?.responseEnd??null},componentData:t}):f({api:n,data:{body:m.data,status:m.response?.status,headers:m.response?.headers??void 0},performance:{requestStart:m.response?.performance?.requestStart??null,responseStart:m.response?.performance?.responseStart??null,responseEnd:m.response?.performance?.responseEnd??null},componentData:t}):C(n.autoFetch,s(n,t))?await i({api:n,url:v,requestSettings:b,componentData:t}):r.dataSignal.update(A=>({...A,Apis:{...A.Apis??{},[n.name]:{isLoading:!1,data:null,error:null}}}))}),{fetch:({actionInputs:c,actionModels:v,componentData:b})=>{let m=Object.entries(c??{}).reduce((L,[M,$])=>($!==null&&typeof $=="object"&&"formula"in $?L[M]=$:L[M]={formula:{type:"value",value:$}},L),{}),A={...n,inputs:{...n.inputs,...m},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:w,requestSettings:N}=a(A,b);return i({api:A,url:w,requestSettings:N,componentData:b})},update:(c,v)=>{n=c;let b=s(n,v),m=n.autoFetch&&C(n.autoFetch,b);m&&x?.set({request:a(c,v),api:j(c),autoFetch:m,proxy:C(c.server?.proxy?.enabled.formula,b)})},triggerActions:c=>{let v=r.dataSignal.get().Apis?.[n.name];v===void 0||v.data===null&&v.error===null||(v.error?u({eventName:"failed",api:n,data:{body:v.error,status:v.response?.status},componentData:c}):u({eventName:"success",api:n,data:{body:v.data},componentData:c}))},destroy:()=>x?.destroy()}}var ko=ne(X(),1);var ge=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 $r=ne(X(),1),Nr=class{value;subscribers;subscriptions;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}(0,$r.default)(t,this.value)===!1&&(this.value=t,this.subscribers.forEach(({notify:r})=>r(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(){this.subscribers.forEach(({destroy:t})=>{t?.()}),this.subscribers.clear(),this.subscriptions?.forEach(t=>t())}cleanSubscribers(){this.subscribers.forEach(({destroy:t})=>{t?.()}),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 Nr(e)}typeof window<"u"&&(window.signal=J,window.deepEqual=$r.default);var Pr=(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 u=s.getAttribute("data-id")?.split(".").slice(-1)[0],f=parseInt(String(u));if(f===n&&parseInt(String(u?.split("(")[1]))>a||f>n)return s}return null};function Eo(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}}var ye=e=>e.formulas&&Object.values(e.formulas).some(({exposeInContext:t})=>t)||e.workflows&&Object.values(e.workflows).some(({exposeInContext:t})=>t);function So(e,t,r){Object.entries(t.contexts??{}).forEach(([o,n])=>{let a=r.providers[[r.package,o].filter(R).join("/")];if(a)n.formulas.forEach(s=>{let l=a.formulaDataSignals[s];if(!l){console.warn(`Provider ${o} does not expose a formula named "${s}". Available formulas are: ["${Object.keys(a.formulaDataSignals).join('", "')}"]`);return}l.subscribe(u=>{e.update(f=>({...f,Contexts:{...f.Contexts,[o]:{...f.Contexts?.[o],[s]:u}}}))})});else if(!a&&r.env.runtime==="preview"&&r.toddle._preview){let s=r.components?.find(f=>f.name===[r.package,o].filter(R).join("/"));if(!s){console.error(`Could not find provider "${o}". No such component exist.`);return}let[,l]=o.split("/").reverse(),u={data:{Attributes:I(s.attributes,([f,g])=>[f,g.testValue])},component:s,root:r?.root,formulaCache:{},package:l??r?.package,toddle:r.toddle,env:r.env};s.route&&(u.data["URL parameters"]={...Object.fromEntries(s.route.path.filter(f=>f.type==="param").map(f=>[f.name,f.testValue])),...I(s.route.query,([f,{testValue:g}])=>[f,g])}),u.data.Variables=I(s.variables,([f,g])=>[f,C(g.initialValue,u)]),e.update(f=>({...f,Contexts:{...f.Contexts,[o]:Object.fromEntries(n.formulas.map(g=>{let i=s.formulas?.[g];return i?[g,C(i.formula,u)]:(console.warn(`Could not find formula "${g}" in component "${o}"`),[g,null])}))}}))}})}function wo(e,t){window.__components||(window.__components={}),window.__components[e.name]=t}function Fo(e){return R(e.formulas)?I(e.formulas,([t,r])=>{let{canCache:o,keys:n}=r.memoize?Ol(r.formula,e):{canCache:!1,keys:[]},a,s;return[t,{get:l=>o&&a&&n.every(u=>se(l,u)===se(a,u))?{hit:!0,data:s}:{hit:!1},set:(l,u)=>{o&&(a=l,s=u)}}]}):{}}function Ol(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,u)=>l===a[u]))||n.push(a)}),{canCache:!0,keys:n}}function jo({node:e,path:t,dataSignal:r,ctx:o,parentElement:n,instance:a,namespace:s}){let l=[o.package,e.name].filter(R).join("/"),u=o.components?.find(E=>E.name===l);if(!u)return console.warn(`Could not find component "${l}" for component "${o.component.name}". Available components are: ["${o.components.map(E=>E.name).join('", "')}"]`),[];let f=r.map(E=>I(e.attrs,([D,O])=>[D,O?.type!=="value"?C(O,{data:E,component:o.component,formulaCache:o.formulaCache,root:o.root,package:o.package,toddle:o.toddle,env:o.env}):O?.value])),g=J({Location:r.get().Location,Attributes:f.get(),Apis:I(u.apis,([E,D])=>[E,{data:null,isLoading:!!(D.autoFetch&&C(D.autoFetch,{data:r.get(),component:u,formulaCache:o.formulaCache,root:o.root,package:o.package,toddle:o.toddle,env:o.env})),error:null}])});So(g,u,o),g.update(E=>({...E,Variables:I(u.variables,([D,O])=>[D,C(O.initialValue,{data:g.get(),component:u,formulaCache:o.formulaCache,root:o.root,package:o.package,toddle:o.toddle,env:o.env})])})),wo(u,g);let i=new AbortController;g.subscribe(()=>{},{destroy:()=>i.abort(`Component ${u.name} unmounted`)});let d=Fo(u),h={};ce(Object.entries(u.apis)).forEach(([E,D])=>{ue(D)?h[E]=me(D,{...o,apis:h,component:u,dataSignal:g,abortSignal:i.signal,isRootComponent:!1,formulaCache:d,package:e.package??o.package,triggerEvent:(O,j)=>{let x=Object.values(e.events).find(c=>c.trigger===O);x&&x.actions.forEach(c=>P(c,{...r.get(),Event:j},o))}}):h[E]=he({apiRequest:D,ctx:{...o,apis:h,component:u,dataSignal:g,abortSignal:i.signal,isRootComponent:!1,formulaCache:d,package:e.package??o.package,triggerEvent:(O,j)=>{let x=Object.values(e.events).find(c=>c.trigger===O);x&&x.actions.forEach(c=>P(c,{...r.get(),Event:j},o))}},componentData:g.get()})}),Object.values(h).filter(Q).forEach(E=>{E.triggerActions(g.get())});let S=(E,D)=>{let O=Object.values(e.events).find(j=>j.trigger===E);O&&O.actions.forEach(j=>P(j,{...r.get(),Event:D},o))},y=o.providers;if(ye(u)){let E=Object.fromEntries(Object.entries(u.formulas??{}).filter(([,D])=>D.exposeInContext).map(([D,O])=>[D,g.map(j=>C(O.formula,{data:j,component:u,formulaCache:o.formulaCache,root:o.root,package:o.package,toddle:o.toddle,env:o.env}))]));y={...y,[u.name]:{component:u,formulaDataSignals:E,ctx:{...o,apis:h,component:u,dataSignal:g,abortSignal:i.signal,triggerEvent:S}}}}let F={};for(let E=0;E<e.children.length;E++){let D=e.children[E],j=o.component.nodes[D].slot??"default";F[j]=F[j]??[],F[j].push({id:D,path:`${t}.${E}[${j}]`,dataSignal:r,ctx:{...o,package:e.package??o.package}})}return f.subscribe(E=>g.update(D=>({...D,Attributes:E})),{destroy:()=>g.destroy()}),be({dataSignal:g,component:u,components:o.components,path:t,root:o.root,isRootComponent:!1,children:F,formulaCache:d,providers:y,apis:h,abortSignal:i.signal,package:e.package??o.package,parentElement:n,onEvent:S,toddle:o.toddle,env:o.env,namespace:s,instance:e.id==="root"?{...a,[o.component.name]:"root"}:{[o.component.name]:e.id??""}})}function Do(e){if(e instanceof DragEvent)return Array.from(e.dataTransfer?.items??[]).reduce((t,r)=>(t[r.type]=e.dataTransfer?.getData(r.type),t),{})}function Oo(e,t,r){return t.component.version===2&&r==="root"?`${t.package??t.toddle.project}-${e.tag}`:e.tag}function Lr(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":{let o=r;e instanceof HTMLProgressElement&&(!R(r)||!Number.isFinite(Number(r)))&&(o=0),e[t]=k(o)?String(o):void 0;break}case"muted":case"autoplay":e instanceof HTMLMediaElement?e[t]=k(r):e.setAttribute(t,String(r));break;default:k(r)?(e.setAttribute(t,String(r)),t==="autofocus"&&document.body.getAttribute("data-mode")!=="design"&&setTimeout(()=>e.focus(),100)):e.removeAttribute(t)}}function Ro({node:e,dataSignal:t,id:r,path:o,ctx:n,namespace:a,instance:s}){let l=Oo(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&&e.attrs.xmlns.type==="value"&&(a=String(e.attrs.xmlns.value));let u=a?document.createElementNS(a,l):document.createElement(l);u.setAttribute("data-node-id",r),o&&u.setAttribute("data-id",o),n.isRootComponent===!1&&r!=="root"&&u.setAttribute("data-component",n.component.name);let f=fe([e.style,e.variants]);u.classList.add(f),s&&r==="root"&&Object.entries(s).forEach(([i,d])=>{u.classList.add(pe(`${i}:${d}`))}),e.classes&&Object.entries(e.classes)?.forEach(([i,{formula:d}])=>{d?t.map(S=>k(C(d,{data:S,component:n.component,formulaCache:n.formulaCache,root:n.root,package:n.package,toddle:n.toddle,env:n.env}))).subscribe(S=>S?u.classList.add(i):u.classList.remove(i)):u.classList.add(i)}),Object.entries(e.attrs).forEach(([i,d])=>{if(!R(d))return;let h,S=()=>{d.type==="value"?Lr(u,i,d?.value):(h=t.map(y=>C(d,{data:y,component:n.component,formulaCache:n.formulaCache,root:n.root,package:n.package,toddle:n.toddle,env:n.env})),h.subscribe(y=>{Lr(u,i,y)}))};i==="autofocus"&&n.env.runtime==="preview"&&n.toddle._preview?n.toddle._preview.showSignal.subscribe(({testMode:y})=>{y?S():(h?.destroy(),u.removeAttribute(i))}):S()}),e["style-variables"]?.forEach(({formula:i,name:d,unit:h})=>{t.map(y=>{let F=C(i,{data:y,component:n.component,formulaCache:n.formulaCache,root:n.root,package:n.package,toddle:n.toddle,env:n.env});return h?F+h:F}).subscribe(y=>u.style.setProperty(`--${d}`,y))}),Object.values(e.events).forEach(i=>{let d=h=>(i.actions.forEach(S=>{if(h instanceof DragEvent&&(h.data=Do(h)),h instanceof ClipboardEvent)try{h.data=Array.from(h.clipboardData?.items??[]).reduce((y,F)=>{try{y[F.type]=JSON.parse(h.clipboardData?.getData(F.type))}catch{y[F.type]=h.clipboardData?.getData(F.type)}return y},{})}catch(y){console.error("Could not get paste data",y)}P(S,{...t.get(),Event:h},n,h)}),!1);u.addEventListener(i.trigger,d)});let g=e.tag.toLocaleLowerCase();if(g==="script"||g==="style"){let i=[];e.children.map(d=>n.component.nodes[d]).filter(d=>d?.type==="text").forEach(d=>{if(d.value.type==="value")i.push(String(d.value.value));else{let h=t.map(S=>String(C(d.value,{data:S,component:n.component,formulaCache:n.formulaCache,root:n.root,package:n.package,toddle:n.toddle,env:n.env})));i.push(h)}}),i.every(d=>typeof d=="string")&&(u.textContent=i.join("")),i.filter(d=>typeof d!="string").forEach(d=>{d.subscribe(()=>{u.textContent=i.map(h=>typeof h=="string"?h:h.get()).join("")})})}else e.children.forEach((i,d)=>{G({parentElement:u,id:i,path:o+"."+d,dataSignal:t,ctx:n,namespace:a,instance:s}).forEach(S=>u.appendChild(S))});return u}function To({path:e,node:t,dataSignal:r,ctx:o,parentElement:n,instance:a,namespace:s}){let l=t.name??"default",u=[];if(o.children[l]?u=o.children[l].flatMap(f=>{let g=f.dataSignal.map(i=>i);return r.subscribe(i=>i,{destroy:()=>g.destroy()}),G({...f,dataSignal:g,parentElement:n,ctx:{...f.ctx,providers:o.providers},instance:a,namespace:s})}):u=t.children.flatMap((f,g)=>G({id:f,path:e+"."+g,dataSignal:r,ctx:o,parentElement:n,instance:a,namespace:s})),o.env.runtime==="custom-element"&&o.isRootComponent){let f=document.createElement("slot");return f.setAttribute("name",l),u.forEach(g=>{f.appendChild(g)}),[f]}return u}function xo({node:e,id:t,path:r,dataSignal:o,namespace:n,ctx:a}){if(n&&n!=="http://www.w3.org/1999/xhtml")return Rl({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(f=>String(C(s,{data:f,component:a.component,formulaCache:a.formulaCache,root:a.root,package:a.package,toddle:a.toddle,env:a.env}))).subscribe(f=>{l.innerText=f}):l.innerText=String(s.value),l}function Rl({node:e,dataSignal:t,ctx:r}){let{value:o}=e,n=document.createTextNode("");return o.type!=="value"?t.map(s=>String(C(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 G({id:e,dataSignal:t,path:r,ctx:o,namespace:n,parentElement:a,instance:s}){let l=o.component.nodes[e];if(!l)return[];let u=({node:i,...d})=>{switch(i.type){case"element":return[Ro({node:i,...d})];case"component":let h=o.components.some(S=>S.name===i.name);return jo({node:{...i,id:e},...d,ctx:{...o,package:i.package??(h?void 0:o.package)},parentElement:a});case"text":return[xo({...d,node:i})];case"slot":return To({...d,node:i})}};function f({node:i,dataSignal:d,id:h,path:S,ctx:y,namespace:F,parentElement:E,instance:D}){let O=!0,j=null,x=d.map(b=>k(C(i.condition,{data:b,component:y.component,formulaCache:y.formulaCache,root:y.root,package:y.package,toddle:y.toddle,env:y.env}))),c=[],v=b=>{if(b&&c.length===0){if(j?.destroy(),j=d.map(A=>A),c.push(...u({node:i,dataSignal:j,path:S,id:h,ctx:y,namespace:F,parentElement:E,instance:D})),O)return;if(!E||y.root.contains(E)===!1){console.error(`Conditional: Parent element does not exist for "${S}" This is likely due to the DOM being modified outside of toddle.`);return}if(E.querySelector(`[data-id="${S}"]`)){console.warn(`Conditional: Element with data-id="${S}" already exists. This is likely due to the DOM being modified outside of toddle`);return}let m=Pr(S,E);for(let A of c)E.insertBefore(A,m)}else b||(j?.destroy(),c.forEach(m=>m.remove()),c.splice(0,c.length))};return x.subscribe(v,{destroy:()=>{j?.destroy()}}),y.env.runtime==="preview"&&y.toddle._preview&&y.toddle._preview.showSignal.subscribe(({displayedNodes:b,testMode:m})=>{b.includes(S)&&!m?v(!0):v(x.get())}),O=!1,c}function g(){let i=!0,d=new Map;return t.map(S=>{let y=C(l.repeat,{data:S,component:o.component,formulaCache:o.formulaCache,root:o.root,package:o.package,toddle:o.toddle,env:o.env});return typeof y!="object"?[]:Object.entries(y??{})}).subscribe(S=>{let y=new Map;for(let F=0;F<S.length;F++){let[E,D]=S[F],O={...t.get(),ListItem:{...t.get().ListItem?{Parent:t.get().ListItem}:{},Item:D,Index:Number(F),Key:E}},j=l.repeatKey?C(l.repeatKey,{data:O,component:o.component,formulaCache:o.formulaCache,root:o.root,package:o.package,toddle:o.toddle,env:o.env}):E;y.has(j)&&(console.warn(`Duplicate key "${j}" found in repeat. Fallback to index as key. This will cause a re-render of the duplicated children on every change.`),j=E);let x=d.get(j);if(x)y.set(j,x),x.dataSignal.update(c=>({...c,ListItem:{...t.get().ListItem?{Parent:t.get().ListItem}:{},Item:D,Index:Number(F),Key:E}}));else{let c=J(O),v=t.subscribe(A=>{i||c.update(({ListItem:w})=>({...A,ListItem:w}))},{destroy:()=>c.destroy()}),b={node:l,id:e,dataSignal:c,path:E==="0"?r:`${r}(${E})`,ctx:o,namespace:n,parentElement:a,instance:s},m=l.condition?f(b):u(b);y.set(j,{dataSignal:c,cleanup:v,elements:m})}}if(Array.from(d.entries()).forEach(([F,E])=>{y.has(F)||(E.cleanup(),E.dataSignal.destroy(),E.elements.forEach(D=>D.remove()))}),d=y,!(i||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 toddle.`);return}Eo(a,Array.from(d.values()).flatMap(F=>F.elements),Pr(r,a))}},{destroy:()=>Array.from(d.values()).forEach(S=>{S.cleanup(),S.dataSignal.destroy(),S.elements.forEach(y=>y.remove())})}),i=!1,Array.from(d.values()).flatMap(S=>S.elements)}return l.repeat?g():l.condition?f({node:l,dataSignal:t,ctx:o,id:e,path:r,namespace:n,parentElement:a,instance:s}):u({node:l,dataSignal:t,ctx:o,id:e,path:r,namespace:n,parentElement:a,instance:s})}var Tl=new ge;function be({component:e,dataSignal:t,onEvent:r,isRootComponent:o,path:n,children:a,formulaCache:s,components:l,apis:u,abortSignal:f,root:g,providers:i,package:d,parentElement:h,instance:S,toddle:y,namespace:F,env:E}){let D={triggerEvent:r,component:e,components:l,dataSignal:t,isRootComponent:o,apis:u,formulaCache:s,children:a,abortSignal:f,root:g,providers:i,package:d,toddle:y,env:E},O=G({id:"root",path:n,dataSignal:t,ctx:D,parentElement:h,namespace:F,instance:S});return Tl.add(()=>{let j;e.onAttributeChange?.actions&&e.onAttributeChange.actions.length>0&&t.map(x=>x.Attributes).subscribe(x=>{j&&e.onAttributeChange?.actions.forEach(c=>{P(c,t.get(),D,new CustomEvent("attribute-change",{detail:Object.entries(x).reduce((v,[b,m])=>((0,ko.default)(m,j[b])===!1&&e.attributes[b]?.name&&(v[e.attributes[b]?.name]={current:j[b],new:m}),v),{})}))}),j=x}),e.onLoad?.actions.forEach(x=>{P(x,t.get(),D)})}),O}var ve=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:{},package:void 0,toddle:o,env:a}}connectedCallback(){ce(Object.entries(this.#r.apis)).forEach(([r,o])=>{ue(o)?this.#e.apis[r]=me(o,this.#e):this.#e.apis[r]=he({apiRequest:o,ctx:this.#e,componentData:this.#t.get()})}),Object.values(this.#e.apis).filter(Q).forEach(r=>{r.triggerActions(this.#t.get())});let t=this.#e.providers;if(ye(this.#r)){let r=Object.fromEntries(Object.entries(this.#r.formulas??{}).filter(([,o])=>o.exposeInContext).map(([o,n])=>[o,this.#t.map(a=>C(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=be({...this.#e,path:"0",onEvent:this.dispatch.bind(this),parentElement:this.#o,instance:{[this.#r.name]:"root"}});this.#o.innerHTML="";let r=co(this.#e.component,this.#e.components,this.#n.themes?Object.values(this.#n.themes)[0]:io,{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:I(e.variables,([n,{initialValue:a}])=>{if(!e)throw new Error("Component not found");return[n,C(a,{data:{Attributes:{}},component:e,root:t,package:void 0,toddle:r,env:o})]}),Attributes:I(e.attributes,([n])=>[n,void 0]),Apis:I(e.apis,([n])=>[n,{data:null,isLoading:!1,error:null}])});var kl=(e,t,r)=>{e.map(o=>t.components.find(n=>n.name===o)).forEach(o=>{let n=Qr(o.name);if(customElements.get(n)){console.warn(`Component ${n} already defined`);return}customElements.define(n,class extends ve{constructor(){super(o,t,r)}static get observedAttributes(){return Object.keys(o.attributes??{}).map(a=>a.toLowerCase())}})})};var Ic=(e=window.toddle)=>{e.isEqual=No.default,Object.entries(Tr).forEach(([t,r])=>e.registerFormula("@toddle/"+t,r.default,"getArgumentInputData"in r?r.getArgumentInputData:void 0)),Object.entries(Be).forEach(([t,r])=>e.registerAction("@toddle/"+t,r.default))};export{kl as defineComponents,Ic as loadCorePlugins};
265
+ `],componentData:h})}async function D({api:c,res:v,performance:b,streamType:h,useTextDecoder:A,parseChunk:w,parseChunksForData:N,delimiters:L,componentData:M}){let $={chunks:[],currentChunk:"",add(W){let H=w(W);this.chunks.push(H),H&&(r.dataSignal.set({...r.dataSignal.get(),Apis:{...r.dataSignal.get().Apis,[c.name]:{isLoading:!0,data:N(this.chunks),error:null,response:{headers:z(v.headers)}}}}),(c.client?.onMessage?.actions??[]).length>0&&u({eventName:"message",api:c,data:{body:H},componentData:M}))},processChunk(W){let H=L?.find(Ae=>W.includes(Ae)),Ir=this.currentChunk+W,Mr=H?Ir.split(H):[Ir];this.currentChunk=Mr.pop()??"",Mr.forEach(Ae=>this.add(Ae))}},Y=A?v.body?.pipeThrough(new TextDecoderStream).getReader():v.body?.getReader();for(;Y;){let{done:W,value:H}=await Y.read();if(W)break;L?$.processChunk(H):$.add(H)}$.currentChunk&&$.add($.currentChunk);let oe={isLoading:!1,data:$.chunks,error:null,response:{status:v.status,headers:z(v.headers)}};try{if(h==="json"){let W=JSON.parse($.chunks.join(""));oe.data=W}else h==="text"&&(oe.data=$.chunks.join(""))}catch{throw new Error("Error occurred while parsing the json chunk.",{cause:$.chunks.join("")})}return O({api:c,apiStatus:oe,componentData:M,performance:b})}function O({api:c,apiStatus:v,componentData:b,performance:h}){h.responseEnd=Date.now();let A={body:v.data,status:v.response?.status,headers:v.response?.headers??void 0};oo({apiName:c.name,response:{body:A.body,ok:!!(!v.error&&v.response?.status&&v.response.status<400),status:A.status,headers:A.headers},formulaContext:s(c,b),errorFormula:c.isError,performance:h})?(!A.body&&v.error&&(A.body=v.error),g({api:c,componentData:b,data:A,performance:h}),u({eventName:"failed",api:c,componentData:b,data:A})):(f({api:c,componentData:b,data:A,performance:h}),u({eventName:"success",api:c,componentData:b,data:A}))}function j(c){return Xr(c,[["client","onCompleted"],["client","onFailed"],["client","onMessage"],["service"],["server","ssr"]])}let x;return x=r.dataSignal.map(c=>{let v=s(n,t);return{request:a(n,t),api:j(n),autoFetch:n.autoFetch?C(n.autoFetch,v):!1,proxy:C(n.server?.proxy?.enabled.formula,v)}}),x.subscribe(async c=>{let{url:v,requestSettings:b}=a(n,t),h=R(n.autoFetch)&&(n.autoFetch.type!=="value"||n.autoFetch.value===!0)&&(window?.__toddle?.isPageLoaded??!1)===!1?r.toddle.pageState.Apis?.[ro(v,b)]:void 0;h?h.error?g({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}):f({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}):C(n.autoFetch,s(n,t))?await l({api:n,url:v,requestSettings:b,componentData:t}):r.dataSignal.get().Apis?.[n.name]||r.dataSignal.update(A=>({...A,Apis:{...A.Apis??{},[n.name]:{isLoading:!1,data:null,error:null}}}))}),{fetch:({actionInputs:c,actionModels:v,componentData:b})=>{let h=Object.entries(c??{}).reduce((L,[M,$])=>($!==null&&typeof $=="object"&&"formula"in $?L[M]=$:L[M]={formula:{type:"value",value:$}},L),{}),A={...n,inputs:{...n.inputs,...h},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:w,requestSettings:N}=a(A,b);return l({api:A,url:w,requestSettings:N,componentData:b})},update:(c,v)=>{n=c;let b=s(n,v),h=n.autoFetch&&C(n.autoFetch,b);h&&x?.set({request:a(c,v),api:j(c),autoFetch:h,proxy:C(c.server?.proxy?.enabled.formula,b)})},triggerActions:c=>{let v=r.dataSignal.get().Apis?.[n.name];v===void 0||v.data===null&&v.error===null||(v.error?u({eventName:"failed",api:n,data:{body:v.error,status:v.response?.status},componentData:c}):u({eventName:"success",api:n,data:{body:v.data},componentData:c}))},destroy:()=>x?.destroy()}}var ko=ne(X(),1);var ge=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 $r=ne(X(),1),Nr=class{value;subscribers;subscriptions;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}(0,$r.default)(t,this.value)===!1&&(this.value=t,this.subscribers.forEach(({notify:r})=>r(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(){this.subscribers.forEach(({destroy:t})=>{t?.()}),this.subscribers.clear(),this.subscriptions?.forEach(t=>t())}cleanSubscribers(){this.subscribers.forEach(({destroy:t})=>{t?.()}),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 Nr(e)}typeof window<"u"&&(window.signal=J,window.deepEqual=$r.default);var Pr=(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 u=s.getAttribute("data-id")?.split(".").slice(-1)[0],f=parseInt(String(u));if(f===n&&parseInt(String(u?.split("(")[1]))>a||f>n)return s}return null};function Eo(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}}var ye=e=>e.formulas&&Object.values(e.formulas).some(({exposeInContext:t})=>t)||e.workflows&&Object.values(e.workflows).some(({exposeInContext:t})=>t);function So(e,t,r){Object.entries(t.contexts??{}).forEach(([o,n])=>{let a=r.providers[[r.package,o].filter(R).join("/")];if(a)n.formulas.forEach(s=>{let i=a.formulaDataSignals[s];if(!i){console.warn(`Provider ${o} does not expose a formula named "${s}". Available formulas are: ["${Object.keys(a.formulaDataSignals).join('", "')}"]`);return}i.subscribe(u=>{e.update(f=>({...f,Contexts:{...f.Contexts,[o]:{...f.Contexts?.[o],[s]:u}}}))})});else if(!a&&r.env.runtime==="preview"&&r.toddle._preview){let s=r.components?.find(f=>f.name===[r.package,o].filter(R).join("/"));if(!s){console.error(`Could not find provider "${o}". No such component exist.`);return}let[,i]=o.split("/").reverse(),u={data:{Attributes:I(s.attributes,([f,g])=>[f,g.testValue])},component:s,root:r?.root,formulaCache:{},package:i??r?.package,toddle:r.toddle,env:r.env};s.route&&(u.data["URL parameters"]={...Object.fromEntries(s.route.path.filter(f=>f.type==="param").map(f=>[f.name,f.testValue])),...I(s.route.query,([f,{testValue:g}])=>[f,g])}),u.data.Variables=I(s.variables,([f,g])=>[f,C(g.initialValue,u)]),e.update(f=>({...f,Contexts:{...f.Contexts,[o]:Object.fromEntries(n.formulas.map(g=>{let l=s.formulas?.[g];return l?[g,C(l.formula,u)]:(console.warn(`Could not find formula "${g}" in component "${o}"`),[g,null])}))}}))}})}function wo(e,t){window.__components||(window.__components={}),window.__components[e.name]=t}function Fo(e){return R(e.formulas)?I(e.formulas,([t,r])=>{let{canCache:o,keys:n}=r.memoize?Ol(r.formula,e):{canCache:!1,keys:[]},a,s;return[t,{get:i=>o&&a&&n.every(u=>se(i,u)===se(a,u))?{hit:!0,data:s}:{hit:!1},set:(i,u)=>{o&&(a=i,s=u)}}]}):{}}function Ol(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((i,u)=>i===a[u]))||n.push(a)}),{canCache:!0,keys:n}}function jo({node:e,path:t,dataSignal:r,ctx:o,parentElement:n,instance:a,namespace:s}){let i=[o.package,e.name].filter(R).join("/"),u=o.components?.find(E=>E.name===i);if(!u)return console.warn(`Could not find component "${i}" for component "${o.component.name}". Available components are: ["${o.components.map(E=>E.name).join('", "')}"]`),[];let f=r.map(E=>I(e.attrs,([D,O])=>[D,O?.type!=="value"?C(O,{data:E,component:o.component,formulaCache:o.formulaCache,root:o.root,package:o.package,toddle:o.toddle,env:o.env}):O?.value])),g=J({Location:r.get().Location,Attributes:f.get(),Apis:I(u.apis,([E,D])=>[E,{data:null,isLoading:!!(D.autoFetch&&C(D.autoFetch,{data:r.get(),component:u,formulaCache:o.formulaCache,root:o.root,package:o.package,toddle:o.toddle,env:o.env})),error:null}])});So(g,u,o),g.update(E=>({...E,Variables:I(u.variables,([D,O])=>[D,C(O.initialValue,{data:g.get(),component:u,formulaCache:o.formulaCache,root:o.root,package:o.package,toddle:o.toddle,env:o.env})])})),wo(u,g);let l=new AbortController;g.subscribe(()=>{},{destroy:()=>l.abort(`Component ${u.name} unmounted`)});let d=Fo(u),m={};ce(Object.entries(u.apis)).forEach(([E,D])=>{ue(D)?m[E]=me(D,{...o,apis:m,component:u,dataSignal:g,abortSignal:l.signal,isRootComponent:!1,formulaCache:d,package:e.package??o.package,triggerEvent:(O,j)=>{let x=Object.values(e.events).find(c=>c.trigger===O);x&&x.actions.forEach(c=>P(c,{...r.get(),Event:j},o))}}):m[E]=he({apiRequest:D,ctx:{...o,apis:m,component:u,dataSignal:g,abortSignal:l.signal,isRootComponent:!1,formulaCache:d,package:e.package??o.package,triggerEvent:(O,j)=>{let x=Object.values(e.events).find(c=>c.trigger===O);x&&x.actions.forEach(c=>P(c,{...r.get(),Event:j},o))}},componentData:g.get()})}),Object.values(m).filter(Q).forEach(E=>{E.triggerActions(g.get())});let S=(E,D)=>{let O=Object.values(e.events).find(j=>j.trigger===E);O&&O.actions.forEach(j=>P(j,{...r.get(),Event:D},o))},y=o.providers;if(ye(u)){let E=Object.fromEntries(Object.entries(u.formulas??{}).filter(([,D])=>D.exposeInContext).map(([D,O])=>[D,g.map(j=>C(O.formula,{data:j,component:u,formulaCache:o.formulaCache,root:o.root,package:o.package,toddle:o.toddle,env:o.env}))]));y={...y,[u.name]:{component:u,formulaDataSignals:E,ctx:{...o,apis:m,component:u,dataSignal:g,abortSignal:l.signal,triggerEvent:S}}}}let F={};for(let E=0;E<e.children.length;E++){let D=e.children[E],j=o.component.nodes[D].slot??"default";F[j]=F[j]??[],F[j].push({id:D,path:`${t}.${E}[${j}]`,dataSignal:r,ctx:{...o,package:e.package??o.package}})}return f.subscribe(E=>g.update(D=>({...D,Attributes:E})),{destroy:()=>g.destroy()}),be({dataSignal:g,component:u,components:o.components,path:t,root:o.root,isRootComponent:!1,children:F,formulaCache:d,providers:y,apis:m,abortSignal:l.signal,package:e.package??o.package,parentElement:n,onEvent:S,toddle:o.toddle,env:o.env,namespace:s,instance:e.id==="root"?{...a,[o.component.name]:"root"}:{[o.component.name]:e.id??""}})}function Do(e){if(e instanceof DragEvent)return Array.from(e.dataTransfer?.items??[]).reduce((t,r)=>(t[r.type]=e.dataTransfer?.getData(r.type),t),{})}function Oo(e,t,r){return t.component.version===2&&r==="root"?`${t.package??t.toddle.project}-${e.tag}`:e.tag}function Lr(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":{let o=r;e instanceof HTMLProgressElement&&(!R(r)||!Number.isFinite(Number(r)))&&(o=0),e[t]=k(o)?String(o):void 0;break}case"muted":case"autoplay":e instanceof HTMLMediaElement?e[t]=k(r):e.setAttribute(t,String(r));break;default:k(r)?(e.setAttribute(t,String(r)),t==="autofocus"&&document.body.getAttribute("data-mode")!=="design"&&setTimeout(()=>e.focus(),100)):e.removeAttribute(t)}}function Ro({node:e,dataSignal:t,id:r,path:o,ctx:n,namespace:a,instance:s}){let i=Oo(e,n,r);switch(i){case"svg":{a="http://www.w3.org/2000/svg";break}case"math":{a="http://www.w3.org/1998/Math/MathML";break}}e.attrs.xmlns&&e.attrs.xmlns.type==="value"&&(a=String(e.attrs.xmlns.value));let u=a?document.createElementNS(a,i):document.createElement(i);u.setAttribute("data-node-id",r),o&&u.setAttribute("data-id",o),n.isRootComponent===!1&&r!=="root"&&u.setAttribute("data-component",n.component.name);let f=fe([e.style,e.variants]);u.classList.add(f),s&&r==="root"&&Object.entries(s).forEach(([l,d])=>{u.classList.add(pe(`${l}:${d}`))}),e.classes&&Object.entries(e.classes)?.forEach(([l,{formula:d}])=>{d?t.map(S=>k(C(d,{data:S,component:n.component,formulaCache:n.formulaCache,root:n.root,package:n.package,toddle:n.toddle,env:n.env}))).subscribe(S=>S?u.classList.add(l):u.classList.remove(l)):u.classList.add(l)}),Object.entries(e.attrs).forEach(([l,d])=>{if(!R(d))return;let m,S=()=>{d.type==="value"?Lr(u,l,d?.value):(m=t.map(y=>C(d,{data:y,component:n.component,formulaCache:n.formulaCache,root:n.root,package:n.package,toddle:n.toddle,env:n.env})),m.subscribe(y=>{Lr(u,l,y)}))};l==="autofocus"&&n.env.runtime==="preview"&&n.toddle._preview?n.toddle._preview.showSignal.subscribe(({testMode:y})=>{y?S():(m?.destroy(),u.removeAttribute(l))}):S()}),e["style-variables"]?.forEach(({formula:l,name:d,unit:m})=>{t.map(y=>{let F=C(l,{data:y,component:n.component,formulaCache:n.formulaCache,root:n.root,package:n.package,toddle:n.toddle,env:n.env});return m?F+m:F}).subscribe(y=>u.style.setProperty(`--${d}`,y))}),Object.values(e.events).forEach(l=>{let d=m=>(l.actions.forEach(S=>{if(m instanceof DragEvent&&(m.data=Do(m)),m instanceof ClipboardEvent)try{m.data=Array.from(m.clipboardData?.items??[]).reduce((y,F)=>{try{y[F.type]=JSON.parse(m.clipboardData?.getData(F.type))}catch{y[F.type]=m.clipboardData?.getData(F.type)}return y},{})}catch(y){console.error("Could not get paste data",y)}P(S,{...t.get(),Event:m},n,m)}),!1);u.addEventListener(l.trigger,d)});let g=e.tag.toLocaleLowerCase();if(g==="script"||g==="style"){let l=[];e.children.map(d=>n.component.nodes[d]).filter(d=>d?.type==="text").forEach(d=>{if(d.value.type==="value")l.push(String(d.value.value));else{let m=t.map(S=>String(C(d.value,{data:S,component:n.component,formulaCache:n.formulaCache,root:n.root,package:n.package,toddle:n.toddle,env:n.env})));l.push(m)}}),l.every(d=>typeof d=="string")&&(u.textContent=l.join("")),l.filter(d=>typeof d!="string").forEach(d=>{d.subscribe(()=>{u.textContent=l.map(m=>typeof m=="string"?m:m.get()).join("")})})}else e.children.forEach((l,d)=>{G({parentElement:u,id:l,path:o+"."+d,dataSignal:t,ctx:n,namespace:a,instance:s}).forEach(S=>u.appendChild(S))});return u}function To({path:e,node:t,dataSignal:r,ctx:o,parentElement:n,instance:a,namespace:s}){let i=t.name??"default",u=[];if(o.children[i]?u=o.children[i].flatMap(f=>{let g=f.dataSignal.map(l=>l);return r.subscribe(l=>l,{destroy:()=>g.destroy()}),G({...f,dataSignal:g,parentElement:n,ctx:{...f.ctx,providers:o.providers},instance:a,namespace:s})}):u=t.children.flatMap((f,g)=>G({id:f,path:e+"."+g,dataSignal:r,ctx:o,parentElement:n,instance:a,namespace:s})),o.env.runtime==="custom-element"&&o.isRootComponent){let f=document.createElement("slot");return f.setAttribute("name",i),u.forEach(g=>{f.appendChild(g)}),[f]}return u}function xo({node:e,id:t,path:r,dataSignal:o,namespace:n,ctx:a}){if(n&&n!=="http://www.w3.org/1999/xhtml")return Rl({node:e,dataSignal:o,ctx:a});let{value:s}=e,i=document.createElement("span");return i.setAttribute("data-node-id",t),typeof t=="string"&&i.setAttribute("data-id",r),a.isRootComponent===!1&&i.setAttribute("data-component",a.component.name),i.setAttribute("data-node-type","text"),s.type!=="value"?o.map(f=>String(C(s,{data:f,component:a.component,formulaCache:a.formulaCache,root:a.root,package:a.package,toddle:a.toddle,env:a.env}))).subscribe(f=>{i.innerText=f}):i.innerText=String(s.value),i}function Rl({node:e,dataSignal:t,ctx:r}){let{value:o}=e,n=document.createTextNode("");return o.type!=="value"?t.map(s=>String(C(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 G({id:e,dataSignal:t,path:r,ctx:o,namespace:n,parentElement:a,instance:s}){let i=o.component.nodes[e];if(!i)return[];let u=({node:l,...d})=>{switch(l.type){case"element":return[Ro({node:l,...d})];case"component":let m=o.components.some(S=>S.name===l.name);return jo({node:{...l,id:e},...d,ctx:{...o,package:l.package??(m?void 0:o.package)},parentElement:a});case"text":return[xo({...d,node:l})];case"slot":return To({...d,node:l})}};function f({node:l,dataSignal:d,id:m,path:S,ctx:y,namespace:F,parentElement:E,instance:D}){let O=!0,j=null,x=d.map(b=>k(C(l.condition,{data:b,component:y.component,formulaCache:y.formulaCache,root:y.root,package:y.package,toddle:y.toddle,env:y.env}))),c=[],v=b=>{if(b&&c.length===0){if(j?.destroy(),j=d.map(A=>A),c.push(...u({node:l,dataSignal:j,path:S,id:m,ctx:y,namespace:F,parentElement:E,instance:D})),O)return;if(!E||y.root.contains(E)===!1){console.error(`Conditional: Parent element does not exist for "${S}" This is likely due to the DOM being modified outside of toddle.`);return}if(E.querySelector(`[data-id="${S}"]`)){console.warn(`Conditional: Element with data-id="${S}" already exists. This is likely due to the DOM being modified outside of toddle`);return}let h=Pr(S,E);for(let A of c)E.insertBefore(A,h)}else b||(j?.destroy(),c.forEach(h=>h.remove()),c.splice(0,c.length))};return x.subscribe(v,{destroy:()=>{j?.destroy()}}),y.env.runtime==="preview"&&y.toddle._preview&&y.toddle._preview.showSignal.subscribe(({displayedNodes:b,testMode:h})=>{b.includes(S)&&!h?v(!0):v(x.get())}),O=!1,c}function g(){let l=!0,d=new Map;return t.map(S=>{let y=C(i.repeat,{data:S,component:o.component,formulaCache:o.formulaCache,root:o.root,package:o.package,toddle:o.toddle,env:o.env});return typeof y!="object"?[]:Object.entries(y??{})}).subscribe(S=>{let y=new Map;for(let F=0;F<S.length;F++){let[E,D]=S[F],O={...t.get(),ListItem:{...t.get().ListItem?{Parent:t.get().ListItem}:{},Item:D,Index:Number(F),Key:E}},j=i.repeatKey?C(i.repeatKey,{data:O,component:o.component,formulaCache:o.formulaCache,root:o.root,package:o.package,toddle:o.toddle,env:o.env}):E;y.has(j)&&(console.warn(`Duplicate key "${j}" found in repeat. Fallback to index as key. This will cause a re-render of the duplicated children on every change.`),j=E);let x=d.get(j);if(x)y.set(j,x),x.dataSignal.update(c=>({...c,ListItem:{...t.get().ListItem?{Parent:t.get().ListItem}:{},Item:D,Index:Number(F),Key:E}}));else{let c=J(O),v=t.subscribe(A=>{l||c.update(({ListItem:w})=>({...A,ListItem:w}))},{destroy:()=>c.destroy()}),b={node:i,id:e,dataSignal:c,path:E==="0"?r:`${r}(${E})`,ctx:o,namespace:n,parentElement:a,instance:s},h=i.condition?f(b):u(b);y.set(j,{dataSignal:c,cleanup:v,elements:h})}}if(Array.from(d.entries()).forEach(([F,E])=>{y.has(F)||(E.cleanup(),E.dataSignal.destroy(),E.elements.forEach(D=>D.remove()))}),d=y,!(l||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 toddle.`);return}Eo(a,Array.from(d.values()).flatMap(F=>F.elements),Pr(r,a))}},{destroy:()=>Array.from(d.values()).forEach(S=>{S.cleanup(),S.dataSignal.destroy(),S.elements.forEach(y=>y.remove())})}),l=!1,Array.from(d.values()).flatMap(S=>S.elements)}return i.repeat?g():i.condition?f({node:i,dataSignal:t,ctx:o,id:e,path:r,namespace:n,parentElement:a,instance:s}):u({node:i,dataSignal:t,ctx:o,id:e,path:r,namespace:n,parentElement:a,instance:s})}var Tl=new ge;function be({component:e,dataSignal:t,onEvent:r,isRootComponent:o,path:n,children:a,formulaCache:s,components:i,apis:u,abortSignal:f,root:g,providers:l,package:d,parentElement:m,instance:S,toddle:y,namespace:F,env:E}){let D={triggerEvent:r,component:e,components:i,dataSignal:t,isRootComponent:o,apis:u,formulaCache:s,children:a,abortSignal:f,root:g,providers:l,package:d,toddle:y,env:E},O=G({id:"root",path:n,dataSignal:t,ctx:D,parentElement:m,namespace:F,instance:S});return Tl.add(()=>{let j;e.onAttributeChange?.actions&&e.onAttributeChange.actions.length>0&&t.map(x=>x.Attributes).subscribe(x=>{j&&e.onAttributeChange?.actions.forEach(c=>{P(c,t.get(),D,new CustomEvent("attribute-change",{detail:Object.entries(x).reduce((v,[b,h])=>((0,ko.default)(h,j[b])===!1&&e.attributes[b]?.name&&(v[e.attributes[b]?.name]={current:j[b],new:h}),v),{})}))}),j=x}),e.onLoad?.actions.forEach(x=>{P(x,t.get(),D)})}),O}var ve=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:{},package:void 0,toddle:o,env:a}}connectedCallback(){ce(Object.entries(this.#r.apis)).forEach(([r,o])=>{ue(o)?this.#e.apis[r]=me(o,this.#e):this.#e.apis[r]=he({apiRequest:o,ctx:this.#e,componentData:this.#t.get()})}),Object.values(this.#e.apis).filter(Q).forEach(r=>{r.triggerActions(this.#t.get())});let t=this.#e.providers;if(ye(this.#r)){let r=Object.fromEntries(Object.entries(this.#r.formulas??{}).filter(([,o])=>o.exposeInContext).map(([o,n])=>[o,this.#t.map(a=>C(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=be({...this.#e,path:"0",onEvent:this.dispatch.bind(this),parentElement:this.#o,instance:{[this.#r.name]:"root"}});this.#o.innerHTML="";let r=co(this.#e.component,this.#e.components,this.#n.themes?Object.values(this.#n.themes)[0]:io,{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:I(e.variables,([n,{initialValue:a}])=>{if(!e)throw new Error("Component not found");return[n,C(a,{data:{Attributes:{}},component:e,root:t,package:void 0,toddle:r,env:o})]}),Attributes:I(e.attributes,([n])=>[n,void 0]),Apis:I(e.apis,([n])=>[n,{data:null,isLoading:!1,error:null}])});var kl=(e,t,r)=>{e.map(o=>t.components.find(n=>n.name===o)).forEach(o=>{let n=Qr(o.name);if(customElements.get(n)){console.warn(`Component ${n} already defined`);return}customElements.define(n,class extends ve{constructor(){super(o,t,r)}static get observedAttributes(){return Object.keys(o.attributes??{}).map(a=>a.toLowerCase())}})})};var Ic=(e=window.toddle)=>{e.isEqual=No.default,Object.entries(Tr).forEach(([t,r])=>e.registerFormula("@toddle/"+t,r.default,"getArgumentInputData"in r?r.getArgumentInputData:void 0)),Object.entries(Be).forEach(([t,r])=>e.registerAction("@toddle/"+t,r.default))};export{kl as defineComponents,Ic as loadCorePlugins};
266
266
  //# sourceMappingURL=custom-element.main.esm.js.map