@nordcraft/runtime 1.0.17 → 1.0.19

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