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