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