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