@nordcraft/runtime 1.0.0

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.
Files changed (168) hide show
  1. package/README.md +5 -0
  2. package/dist/api/createAPI.d.ts +20 -0
  3. package/dist/api/createAPI.js +319 -0
  4. package/dist/api/createAPI.js.map +1 -0
  5. package/dist/api/createAPIv2.d.ts +7 -0
  6. package/dist/api/createAPIv2.js +686 -0
  7. package/dist/api/createAPIv2.js.map +1 -0
  8. package/dist/components/createComponent.d.ts +13 -0
  9. package/dist/components/createComponent.js +216 -0
  10. package/dist/components/createComponent.js.map +1 -0
  11. package/dist/components/createElement.d.ts +3 -0
  12. package/dist/components/createElement.js +208 -0
  13. package/dist/components/createElement.js.map +1 -0
  14. package/dist/components/createNode.d.ts +22 -0
  15. package/dist/components/createNode.js +272 -0
  16. package/dist/components/createNode.js.map +1 -0
  17. package/dist/components/createSlot.d.ts +3 -0
  18. package/dist/components/createSlot.js +49 -0
  19. package/dist/components/createSlot.js.map +1 -0
  20. package/dist/components/createText.d.ts +23 -0
  21. package/dist/components/createText.js +68 -0
  22. package/dist/components/createText.js.map +1 -0
  23. package/dist/components/createText.test.d.ts +1 -0
  24. package/dist/components/createText.test.js +113 -0
  25. package/dist/components/createText.test.js.map +1 -0
  26. package/dist/components/renderComponent.d.ts +34 -0
  27. package/dist/components/renderComponent.js +66 -0
  28. package/dist/components/renderComponent.js.map +1 -0
  29. package/dist/context/isContextProvider.d.ts +2 -0
  30. package/dist/context/isContextProvider.js +5 -0
  31. package/dist/context/isContextProvider.js.map +1 -0
  32. package/dist/context/subscribeToContext.d.ts +4 -0
  33. package/dist/context/subscribeToContext.js +93 -0
  34. package/dist/context/subscribeToContext.js.map +1 -0
  35. package/dist/custom-components/components.d.ts +1 -0
  36. package/dist/custom-components/components.js +2 -0
  37. package/dist/custom-components/components.js.map +1 -0
  38. package/dist/custom-components/toddle-portal.d.ts +6 -0
  39. package/dist/custom-components/toddle-portal.js +20 -0
  40. package/dist/custom-components/toddle-portal.js.map +1 -0
  41. package/dist/custom-element/ToddleComponent.d.ts +37 -0
  42. package/dist/custom-element/ToddleComponent.js +244 -0
  43. package/dist/custom-element/ToddleComponent.js.map +1 -0
  44. package/dist/custom-element/defineComponents.d.ts +26 -0
  45. package/dist/custom-element/defineComponents.js +42 -0
  46. package/dist/custom-element/defineComponents.js.map +1 -0
  47. package/dist/custom-element.main.d.ts +3 -0
  48. package/dist/custom-element.main.esm.js +266 -0
  49. package/dist/custom-element.main.esm.js.map +7 -0
  50. package/dist/custom-element.main.js +14 -0
  51. package/dist/custom-element.main.js.map +1 -0
  52. package/dist/debug/logState.d.ts +4 -0
  53. package/dist/debug/logState.js +19 -0
  54. package/dist/debug/logState.js.map +1 -0
  55. package/dist/editor/drag-drop/dragEnded.d.ts +2 -0
  56. package/dist/editor/drag-drop/dragEnded.js +56 -0
  57. package/dist/editor/drag-drop/dragEnded.js.map +1 -0
  58. package/dist/editor/drag-drop/dragMove.d.ts +3 -0
  59. package/dist/editor/drag-drop/dragMove.js +74 -0
  60. package/dist/editor/drag-drop/dragMove.js.map +1 -0
  61. package/dist/editor/drag-drop/dragReorder.d.ts +3 -0
  62. package/dist/editor/drag-drop/dragReorder.js +92 -0
  63. package/dist/editor/drag-drop/dragReorder.js.map +1 -0
  64. package/dist/editor/drag-drop/dragStarted.d.ts +9 -0
  65. package/dist/editor/drag-drop/dragStarted.js +100 -0
  66. package/dist/editor/drag-drop/dragStarted.js.map +1 -0
  67. package/dist/editor/drag-drop/dropHighlight.d.ts +16 -0
  68. package/dist/editor/drag-drop/dropHighlight.js +50 -0
  69. package/dist/editor/drag-drop/dropHighlight.js.map +1 -0
  70. package/dist/editor/drag-drop/getInsertAreas.d.ts +20 -0
  71. package/dist/editor/drag-drop/getInsertAreas.js +220 -0
  72. package/dist/editor/drag-drop/getInsertAreas.js.map +1 -0
  73. package/dist/editor-preview.main.d.ts +19 -0
  74. package/dist/editor-preview.main.js +1303 -0
  75. package/dist/editor-preview.main.js.map +1 -0
  76. package/dist/events/handleAction.d.ts +3 -0
  77. package/dist/events/handleAction.js +307 -0
  78. package/dist/events/handleAction.js.map +1 -0
  79. package/dist/page.main.d.ts +7 -0
  80. package/dist/page.main.esm.js +8 -0
  81. package/dist/page.main.esm.js.map +7 -0
  82. package/dist/page.main.js +395 -0
  83. package/dist/page.main.js.map +1 -0
  84. package/dist/signal/signal.d.ts +19 -0
  85. package/dist/signal/signal.js +65 -0
  86. package/dist/signal/signal.js.map +1 -0
  87. package/dist/styles/style.d.ts +4 -0
  88. package/dist/styles/style.js +196 -0
  89. package/dist/styles/style.js.map +1 -0
  90. package/dist/utils/BatchQueue.d.ts +10 -0
  91. package/dist/utils/BatchQueue.js +25 -0
  92. package/dist/utils/BatchQueue.js.map +1 -0
  93. package/dist/utils/createFormulaCache.d.ts +3 -0
  94. package/dist/utils/createFormulaCache.js +81 -0
  95. package/dist/utils/createFormulaCache.js.map +1 -0
  96. package/dist/utils/findNearestLine.d.ts +13 -0
  97. package/dist/utils/findNearestLine.js +74 -0
  98. package/dist/utils/findNearestLine.js.map +1 -0
  99. package/dist/utils/findNearestLine.test.d.ts +1 -0
  100. package/dist/utils/findNearestLine.test.js +59 -0
  101. package/dist/utils/findNearestLine.test.js.map +1 -0
  102. package/dist/utils/getDragData.d.ts +1 -0
  103. package/dist/utils/getDragData.js +10 -0
  104. package/dist/utils/getDragData.js.map +1 -0
  105. package/dist/utils/getElementTagName.d.ts +3 -0
  106. package/dist/utils/getElementTagName.js +7 -0
  107. package/dist/utils/getElementTagName.js.map +1 -0
  108. package/dist/utils/nodes.d.ts +21 -0
  109. package/dist/utils/nodes.js +89 -0
  110. package/dist/utils/nodes.js.map +1 -0
  111. package/dist/utils/omitStyle.d.ts +2 -0
  112. package/dist/utils/omitStyle.js +13 -0
  113. package/dist/utils/omitStyle.js.map +1 -0
  114. package/dist/utils/rectHasPoint.d.ts +2 -0
  115. package/dist/utils/rectHasPoint.js +4 -0
  116. package/dist/utils/rectHasPoint.js.map +1 -0
  117. package/dist/utils/setAttribute.d.ts +4 -0
  118. package/dist/utils/setAttribute.js +57 -0
  119. package/dist/utils/setAttribute.js.map +1 -0
  120. package/dist/utils/tryStartViewTransition.d.ts +5 -0
  121. package/dist/utils/tryStartViewTransition.js +14 -0
  122. package/dist/utils/tryStartViewTransition.js.map +1 -0
  123. package/dist/utils/url.d.ts +2 -0
  124. package/dist/utils/url.js +36 -0
  125. package/dist/utils/url.js.map +1 -0
  126. package/package.json +25 -0
  127. package/src/api/createAPI.ts +375 -0
  128. package/src/api/createAPIv2.ts +931 -0
  129. package/src/components/createComponent.ts +280 -0
  130. package/src/components/createElement.ts +240 -0
  131. package/src/components/createNode.ts +381 -0
  132. package/src/components/createSlot.ts +61 -0
  133. package/src/components/createText.test.ts +117 -0
  134. package/src/components/createText.ts +104 -0
  135. package/src/components/renderComponent.ts +145 -0
  136. package/src/context/isContextProvider.ts +12 -0
  137. package/src/context/subscribeToContext.ts +135 -0
  138. package/src/custom-components/components.ts +1 -0
  139. package/src/custom-components/toddle-portal.ts +19 -0
  140. package/src/custom-element/ToddleComponent.ts +315 -0
  141. package/src/custom-element/defineComponents.ts +65 -0
  142. package/src/custom-element.main.ts +24 -0
  143. package/src/debug/logState.ts +30 -0
  144. package/src/editor/drag-drop/dragEnded.ts +75 -0
  145. package/src/editor/drag-drop/dragMove.ts +95 -0
  146. package/src/editor/drag-drop/dragReorder.ts +137 -0
  147. package/src/editor/drag-drop/dragStarted.ts +145 -0
  148. package/src/editor/drag-drop/dropHighlight.ts +82 -0
  149. package/src/editor/drag-drop/getInsertAreas.ts +235 -0
  150. package/src/editor/types.d.ts +36 -0
  151. package/src/editor-preview.main.ts +1782 -0
  152. package/src/events/handleAction.ts +387 -0
  153. package/src/page.main.ts +489 -0
  154. package/src/signal/signal.ts +74 -0
  155. package/src/styles/style.ts +254 -0
  156. package/src/types.d.ts +93 -0
  157. package/src/utils/BatchQueue.ts +24 -0
  158. package/src/utils/createFormulaCache.ts +96 -0
  159. package/src/utils/findNearestLine.test.ts +65 -0
  160. package/src/utils/findNearestLine.ts +92 -0
  161. package/src/utils/getDragData.ts +11 -0
  162. package/src/utils/getElementTagName.ts +14 -0
  163. package/src/utils/nodes.ts +125 -0
  164. package/src/utils/omitStyle.ts +19 -0
  165. package/src/utils/rectHasPoint.ts +5 -0
  166. package/src/utils/setAttribute.ts +56 -0
  167. package/src/utils/tryStartViewTransition.ts +32 -0
  168. package/src/utils/url.ts +45 -0
@@ -0,0 +1,266 @@
1
+ var wo=Object.create;var ge=Object.defineProperty;var Fo=Object.getOwnPropertyDescriptor;var jo=Object.getOwnPropertyNames;var Oo=Object.getPrototypeOf,Ro=Object.prototype.hasOwnProperty;var Do=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),f=(e,r)=>{for(var t in r)ge(e,t,{get:r[t],enumerable:!0})},ko=(e,r,t,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of jo(r))!Ro.call(e,n)&&n!==t&&ge(e,n,{get:()=>r[n],enumerable:!(o=Fo(r,n))||o.enumerable});return e};var he=(e,r,t)=>(t=e!=null?wo(Oo(e)):{},ko(r||!e||!e.__esModule?ge(t,"default",{value:e,enumerable:!0}):t,e));var Y=Do((ql,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 xe={};f(xe,{clearLocalStorage:()=>Se,clearSessionStorage:()=>ke,copyToClipboard:()=>je,deleteFromLocalStorage:()=>be,deleteFromSessionStorage:()=>we,focus:()=>De,gotToURL:()=>Te,interval:()=>Ee,logToConsole:()=>Fe,preventDefault:()=>Ce,saveToLocalStorage:()=>Re,saveToSessionStorage:()=>Ae,setSessionCookies:()=>Oe,share:()=>ve,sleep:()=>ye,stopPropagation:()=>Ne});var ye={};f(ye,{default:()=>No});var R=e=>e!=null,M=e=>typeof e=="object"&&e!==null,N=e=>e!==!1&&e!==void 0&&e!==null;var To=([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)})},No=To;var be={};f(be,{default:()=>$o});var xo=async function([e]){if(typeof e!="string"||e.length===0)throw new Error(`Invalid key: ${e}`);window.localStorage.removeItem(e)},$o=xo;var ve={};f(ve,{default:()=>Lo});var Po=([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)},Lo=Po;var Ae={};f(Ae,{default:()=>Mo});var Io=async function([e,r]){if(typeof e!="string"||e.length===0)throw new Error(`Invalid key: ${e}`);window.sessionStorage.setItem(e,JSON.stringify(r))},Mo=Io;var Ce={};f(Ce,{default:()=>Bo});var qo=(e,r,t)=>{t?.preventDefault?.()},Bo=qo;var Ee={};f(Ee,{default:()=>Uo});var _o=([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)})},Uo=_o;var Se={};f(Se,{default:()=>Ko});var Ho=async function(){window.localStorage.clear()},Ko=Ho;var we={};f(we,{default:()=>Wo});var Vo=async function([e]){if(typeof e!="string"||e.length===0)throw new Error(`Invalid key: ${e}`);window.sessionStorage.removeItem(e)},Wo=Vo;var Fe={};f(Fe,{default:()=>zo});var Jo=([e,r])=>{console.log(e,r)},zo=Jo;var je={};f(je,{default:()=>Qo});var Go=([e])=>{if(typeof e!="string")throw new Error("Input value must be a string");return navigator.clipboard.writeText(e)},Qo=Go;var Oe={};f(Oe,{default:()=>Yo});var Zo=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()))},Yo=Zo;var Re={};f(Re,{default:()=>en});var Xo=async function([e,r]){if(typeof e!="string"||e.length===0)throw new Error(`Invalid key: ${e}`);window.localStorage.setItem(e,JSON.stringify(r))},en=Xo;var De={};f(De,{default:()=>tn});var rn=([e])=>{e instanceof HTMLElement&&e.focus()},tn=rn;var ke={};f(ke,{default:()=>nn});var on=async function(){window.sessionStorage.clear()},nn=on;var Te={};f(Te,{default:()=>sn});var an=([e],r)=>{typeof e=="string"&&(r.env.runtime==="preview"?window.parent?.postMessage({type:"blockedNavigation",url:e},"*"):window.location.href=e)},sn=an;var Ne={};f(Ne,{default:()=>un});var ln=(e,r,t)=>{t?.stopPropagation?.()},un=ln;var St={};f(St,{absolute:()=>Tr,add:()=>Ct,append:()=>Hr,boolean:()=>gt,branchName:()=>pr,canShare:()=>Qe,capitalize:()=>yt,clamp:()=>sr,concatenate:()=>hr,currentURL:()=>ir,dateFromString:()=>Rr,dateFromTimestamp:()=>lt,decodeBase64:()=>mr,decodeURIComponent:()=>Ze,defaultTo:()=>Me,deleteKey:()=>xr,divide:()=>Or,drop:()=>nr,dropLast:()=>Nr,encodeBase64:()=>Wr,encodeJSON:()=>yr,encodeURIComponent:()=>Ve,entries:()=>Pr,equals:()=>vr,every:()=>rt,filter:()=>rr,find:()=>tr,findIndex:()=>fr,findLast:()=>Pe,first:()=>Er,flatten:()=>Ir,formatDate:()=>nt,formatNumber:()=>At,fromEntries:()=>er,get:()=>Fr,getCookie:()=>mt,getElementById:()=>dr,getFromLocalStorage:()=>Kr,getFromSessionStorage:()=>br,getHttpOnlyCookie:()=>vt,greaterOrEqueal:()=>Et,greaterThan:()=>Xe,groupBy:()=>wr,includes:()=>Ue,indexOf:()=>ht,isServer:()=>pt,join:()=>Jr,json:()=>Mr,keyBy:()=>tt,languages:()=>ut,last:()=>ar,lastIndexOf:()=>Yr,lessOrEqual:()=>qr,lessThan:()=>Qr,logarithm:()=>ft,lowercase:()=>bt,map:()=>lr,matches:()=>at,max:()=>Gr,min:()=>He,minus:()=>Sr,modulo:()=>ur,multiply:()=>qe,not:()=>Ge,notEqual:()=>$e,now:()=>Br,number:()=>Vr,parseJSON:()=>ot,parseURL:()=>or,power:()=>Xr,prepend:()=>jr,randomNumber:()=>Be,range:()=>zr,reduce:()=>_e,replaceAll:()=>cr,reverse:()=>Cr,round:()=>Ie,roundDown:()=>et,roundUp:()=>ze,set:()=>Ye,shuffle:()=>Zr,size:()=>ct,some:()=>Je,sort_by:()=>We,split:()=>dt,squareRoot:()=>_r,startsWith:()=>it,string:()=>gr,sum:()=>st,take:()=>Ur,takeLast:()=>kr,timestamp:()=>$r,trim:()=>Lr,typeOf:()=>Dr,unique:()=>Ar,uppercase:()=>Ke,userAgent:()=>Le});var $e={};f($e,{default:()=>cn});var dn=([e,r])=>!globalThis.toddle.isEqual(e,r),cn=dn;var Pe={};f(Pe,{default:()=>fn,getArgumentInputData:()=>pn,handler:()=>xt});var xt=([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,fn=xt,pn=([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 Le={};f(Le,{default:()=>gn});var mn=(e,{env:r})=>r.isServer?r.request?.headers["user-agent"]??null:window.navigator.userAgent,gn=mn;var Ie={};f(Ie,{default:()=>yn});var hn=([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},yn=hn;var Me={};f(Me,{default:()=>vn});var bn=e=>{for(let r of e)if(N(r))return r;return null},vn=bn;var qe={};f(qe,{default:()=>Cn});var An=e=>e.some(r=>isNaN(Number(r)))?null:e.reduce((r,t)=>r*t,1),Cn=An;var Be={};f(Be,{default:()=>Sn});var En=()=>Math.random(),Sn=En;var _e={};f(_e,{default:()=>Fn,getArgumentInputData:()=>jn});var wn=([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,Fn=wn,jn=([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 Ue={};f(Ue,{default:()=>Rn});var On=([e,r])=>typeof e=="string"&&typeof r=="string"?e.includes(r):Array.isArray(e)?e.some(t=>globalThis.toddle.isEqual(t,r)):null,Rn=On;var He={};f(He,{default:()=>kn});var Dn=e=>Math.min(...e.map(Number)),kn=Dn;var Ke={};f(Ke,{default:()=>Nn});var Tn=([e])=>typeof e!="string"?null:e.toLocaleUpperCase(),Nn=Tn;var Ve={};f(Ve,{default:()=>$n});var xn=([e])=>typeof e!="string"?null:encodeURIComponent(e),$n=xn;var We={};f(We,{default:()=>Ln,getArgumentInputData:()=>In});var Pn=([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})},Ln=Pn,In=([e],r,t)=>r===1&&Array.isArray(e)?{...t,Args:{item:e[0]}}:t;var Je={};f(Je,{default:()=>Mn,getArgumentInputData:()=>qn,handler:()=>$t});var $t=([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,Mn=$t,qn=([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 ze={};f(ze,{default:()=>_n});var Bn=([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},_n=Bn;var Ge={};f(Ge,{default:()=>Hn});var Un=([e])=>!N(e),Hn=Un;var Qe={};f(Qe,{default:()=>Vn});var Kn=([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)},Vn=Kn;var Ze={};f(Ze,{default:()=>Jn});var Wn=([e])=>typeof e!="string"?null:decodeURIComponent(e),Jn=Wn;var Ye={};f(Ye,{default:()=>zn});var Pt=([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:Pt([s[n],a,t],o),s}return null},zn=Pt;var Xe={};f(Xe,{default:()=>Qn});var Gn=([e,r])=>e>r,Qn=Gn;var er={};f(er,{default:()=>Yn});var Zn=([e])=>{if(Array.isArray(e)){let r={};for(let{key:t,value:o}of e)r[t]=o;return r}return null},Yn=Zn;var rr={};f(rr,{default:()=>Xn,getArgumentInputData:()=>ea,handler:()=>Lt});var Lt=([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,Xn=Lt,ea=([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={};f(tr,{default:()=>ra,getArgumentInputData:()=>ta,handler:()=>It});var It=([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,ra=It,ta=([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 or={};f(or,{default:()=>na});var oa=([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}},na=oa;var nr={};f(nr,{default:()=>sa});var aa=([e,r])=>typeof r!="number"||isNaN(r)?null:Array.isArray(e)?e.slice(r):typeof e=="string"?e.substring(r):null,sa=aa;var ar={};f(ar,{default:()=>la});var ia=([e])=>typeof e=="string"||Array.isArray(e)?e[e.length-1]:null,la=ia;var sr={};f(sr,{default:()=>da});var ua=([e,r,t])=>typeof e!="number"||typeof r!="number"||typeof t!="number"?null:Math.min(Math.max(e,r),t),da=ua;var ir={};f(ir,{default:()=>fa});var ca=(e,{env:r})=>r.isServer?r.request.url:window?.location.href??null,fa=ca;var lr={};f(lr,{default:()=>ga,getArgumentInputData:()=>ma});var pa=([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,ma=([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},ga=pa;var ur={};f(ur,{default:()=>ya});var ha=([e,r])=>isNaN(Number(e))||isNaN(Number(r))?null:Number(e)%Number(r),ya=ha;var dr={};f(dr,{default:()=>va});var ba=([e],{root:r})=>typeof e!="string"?null:r.getElementById(e),va=ba;var cr={};f(cr,{default:()=>Ca});var Aa=([e,r,t])=>typeof e!="string"||typeof r!="string"?null:e.replaceAll(r,String(t)),Ca=Aa;var fr={};f(fr,{default:()=>Ea,getArgumentInputData:()=>Sa,handler:()=>Mt});var Mt=([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,Ea=Mt,Sa=([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 pr={};f(pr,{default:()=>Fa});var wa=(e,r)=>r.env.branchName,Fa=wa;var mr={};f(mr,{default:()=>Oa});var ja=([e])=>typeof e!="string"?null:atob(e),Oa=ja;var gr={};f(gr,{default:()=>Da});var Ra=([e])=>String(e),Da=Ra;var hr={};f(hr,{default:()=>Ta});var ka=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("")},Ta=ka;var yr={};f(yr,{default:()=>xa});var Na=([e,r])=>typeof r!="number"?null:JSON.stringify(e,null,r),xa=Na;var br={};f(br,{default:()=>Pa});var $a=([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}},Pa=$a;var vr={};f(vr,{default:()=>Ia});var La=([e,r])=>globalThis.toddle.isEqual(e,r),Ia=La;var Ar={};f(Ar,{default:()=>qa});var Ma=([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)})},qa=Ma;var Cr={};f(Cr,{default:()=>_a});var Ba=([e])=>Array.isArray(e)?[...e].reverse():null,_a=Ba;var Er={};f(Er,{default:()=>Ha});var Ua=([e])=>typeof e=="string"||Array.isArray(e)?e[0]:null,Ha=Ua;var Sr={};f(Sr,{default:()=>Va});var Ka=([e,r])=>{let t=Number(e),o=Number(r);return isNaN(t)||isNaN(o)?null:t-o},Va=Ka;var wr={};f(wr,{default:()=>Wa,getArgumentInputData:()=>Ja,handler:()=>qt});var qt=([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=qt,Ja=([e],r,t)=>r===1&&Array.isArray(e)?{...t,Args:{item:e[0],index:0}}:t;var Fr={};f(Fr,{default:()=>Ga});var za=([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])},Ga=za;var jr={};f(jr,{default:()=>Za});var Qa=([e,r])=>Array.isArray(e)?[r,...e]:null,Za=Qa;var Or={};f(Or,{default:()=>Xa});var Ya=([e,r])=>isNaN(Number(e))||isNaN(Number(r))?null:Number(e)/Number(r),Xa=Ya;var Rr={};f(Rr,{default:()=>rs});var es=([e])=>typeof e=="string"?new Date(e):null,rs=es;var Dr={};f(Dr,{default:()=>os});var ts=([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}},os=ts;var kr={};f(kr,{default:()=>as});var ns=([e,r])=>typeof r!="number"?null:Array.isArray(e)?e.slice(e.length-r):typeof e=="string"?e.substring(e.length-r):null,as=ns;var Tr={};f(Tr,{default:()=>is});var ss=([e])=>typeof e!="number"?null:Math.abs(e),is=ss;var Nr={};f(Nr,{default:()=>us});var ls=([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,us=ls;var xr={};f(xr,{default:()=>cs});var ds=([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)},cs=ds;var $r={};f($r,{default:()=>ps});var fs=([e])=>!e||!(e instanceof Date)?null:e.getTime(),ps=fs;var Pr={};f(Pr,{default:()=>gs});var ms=([e])=>typeof e=="object"&&e!==null?Object.entries(e).map(([r,t])=>({key:r,value:t})):null,gs=ms;var Lr={};f(Lr,{default:()=>ys});var hs=([e])=>typeof e!="string"?null:e.trim(),ys=hs;var Ir={};f(Ir,{default:()=>vs});var bs=([e])=>Array.isArray(e)?e.flat():null,vs=bs;var Mr={};f(Mr,{default:()=>Cs});var As=([e,r])=>{let t=isNaN(Number(r))?0:Number(r);return JSON.stringify(e,null,t)},Cs=As;var qr={};f(qr,{default:()=>Ss});var Es=([e,r])=>e<=r,Ss=Es;var Br={};f(Br,{default:()=>Fs});var ws=()=>new Date,Fs=ws;var _r={};f(_r,{default:()=>Os});var js=([e])=>typeof e!="number"?null:Math.sqrt(e),Os=js;var Ur={};f(Ur,{default:()=>Ds});var Rs=([e,r])=>typeof r!="number"?null:Array.isArray(e)?e.slice(0,r):typeof e=="string"?e.substring(0,r):null,Ds=Rs;var Hr={};f(Hr,{default:()=>Ts});var ks=([e,r])=>Array.isArray(e)?[...e,r]:null,Ts=ks;var Kr={};f(Kr,{default:()=>xs});var Ns=([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}},xs=Ns;var Vr={};f(Vr,{default:()=>Ps});var $s=([e])=>Number(e),Ps=$s;var Wr={};f(Wr,{default:()=>Is});var Ls=([e])=>typeof e!="string"?null:btoa(e),Is=Ls;var Jr={};f(Jr,{default:()=>qs});var Ms=([e,r])=>Array.isArray(e)?e.join(String(r)):null,qs=Ms;var zr={};f(zr,{default:()=>_s});var Bs=([e,r])=>typeof e!="number"||typeof r!="number"?null:e>r?[]:Array.from({length:r-e+1},(t,o)=>o+e),_s=Bs;var Gr={};f(Gr,{default:()=>Hs});var Us=e=>Math.max(...e.map(Number)),Hs=Us;var Qr={};f(Qr,{default:()=>Vs});var Ks=([e,r])=>e<r,Vs=Ks;var Zr={};f(Zr,{default:()=>Js});var Ws=([e])=>Array.isArray(e)?Bt(e):typeof e=="string"?Bt(e.split("")).join(""):null;function Bt(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 Js=Ws;var Yr={};f(Yr,{default:()=>Gs});var zs=([e,r])=>typeof e=="string"?e.lastIndexOf(r):Array.isArray(e)?e.findLastIndex(t=>globalThis.toddle.isEqual(t,r)):null,Gs=zs;var Xr={};f(Xr,{default:()=>Zs});var Qs=([e,r])=>isNaN(Number(e))||isNaN(Number(r))?null:Number(e)**Number(r),Zs=Qs;var et={};f(et,{default:()=>Xs});var Ys=([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},Xs=Ys;var rt={};f(rt,{default:()=>ei,getArgumentInputData:()=>ri,handler:()=>_t});var _t=([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,ei=_t,ri=([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 tt={};f(tt,{default:()=>ti,getArgumentInputData:()=>oi,handler:()=>Ut});var Ut=([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},ti=Ut,oi=([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 ot={};f(ot,{default:()=>si});var ni=/^\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&&ni.test(t)?new Date(t):t)}var ai=([e])=>{if(typeof e!="string")return null;try{return z(e)}catch{return null}},si=ai;var nt={};f(nt,{default:()=>li});var ii=([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"]),p=n(a.month,["long","short","narrow","numeric","2-digit"]),g=n(a.day,["numeric","2-digit"]),v=n(a.hour,["numeric","2-digit"]),E=n(a.minute,["numeric","2-digit"]),w=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:p,day:g,hour:v,minute:E,second:w,timeZoneName:C,timeZone:j,hour12:O}).format(e)},li=ii;var at={};f(at,{default:()=>di});var ui=([e,r,t,o,n])=>{if(typeof e!="string"||typeof r!="string")return[];let a=[N(t)?"g":"",N(o)?"i":"",N(n)?"m":""].join(""),s=new RegExp(r,a);return e.match(s)??[]},di=ui;var st={};f(st,{default:()=>fi});var ci=([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},fi=ci;var it={};f(it,{default:()=>mi});var pi=([e,r])=>typeof e!="string"||typeof r!="string"?null:e.startsWith(r),mi=pi;var lt={};f(lt,{default:()=>hi});var gi=([e])=>typeof e=="number"?new Date(e):null,hi=gi;var ut={};f(ut,{default:()=>bi});var yi=(e,{env:r})=>r.isServer?r.request?.headers["accept-language"]?.split(",").map(t=>t.split(";")[0])??[]:window.navigator.languages,bi=yi;var dt={};f(dt,{default:()=>Ai});var vi=([e,r])=>typeof e!="string"||typeof r!="string"?null:e.split(r),Ai=vi;var ct={};f(ct,{default:()=>Ei});var Ci=([e])=>Array.isArray(e)?e.length:M(e)?Object.keys(e).length:typeof e=="string"?e.length:null,Ei=Ci;var ft={};f(ft,{default:()=>wi});var Si=([e])=>typeof e!="number"||Number.isNaN(e)||e<0?null:Math.log(e),wi=Si;var pt={};f(pt,{default:()=>ji});var Fi=(e,r)=>r.env.isServer,ji=Fi;var mt={};f(mt,{default:()=>Ri});var Oi=([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,Ri=Oi;var gt={};f(gt,{default:()=>ki});var Di=([e])=>N(e),ki=Di;var ht={};f(ht,{default:()=>Ni});var Ti=([e,r])=>typeof e=="string"?e.indexOf(r):Array.isArray(e)?e.findIndex(t=>globalThis.toddle.isEqual(t,r)):null,Ni=Ti;var yt={};f(yt,{default:()=>$i});var xi=([e])=>typeof e!="string"?null:e.length===0?e:e[0].toLocaleUpperCase()+e.substring(1).toLocaleLowerCase(),$i=xi;var bt={};f(bt,{default:()=>Li});var Pi=([e])=>typeof e!="string"?null:e.toLocaleLowerCase(),Li=Pi;var vt={};f(vt,{default:()=>qi});var Ht=(e,r)=>`{{ ${Ii[e]}.${r} }}`,Ii={cookies:"cookies"};var Mi=([e])=>!e||typeof e!="string"?null:Ht("cookies",e),qi=Mi;var At={};f(At,{default:()=>_i});var Bi=([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,p=typeof a.minimumFractionDigits=="number"&&a.minimumFractionDigits>=0&&a.minimumFractionDigits<=100?a.minimumFractionDigits:void 0,g=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,E=typeof a.maximumSignificantDigits=="number"&&a.maximumSignificantDigits>=1&&a.maximumSignificantDigits<=21?a.maximumSignificantDigits:void 0,w=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:p,maximumFractionDigits:g,minimumSignificantDigits:v,maximumSignificantDigits:E,notation:w,compactDisplay:C,useGrouping:O}).format(e)},_i=Bi;var Ct={};f(Ct,{default:()=>Hi});var Ui=e=>!Array.isArray(e)||e.some(r=>r===null||typeof r!="number")?null:e.reduce((r,t)=>r+Number(t),0),Hi=Ui;var Et={};f(Et,{default:()=>Vi});var Ki=([e,r])=>e>=r,Vi=Ki;var So=he(Y(),1);var Vt=e=>{let r=e.toLocaleLowerCase().replaceAll(" ","");return r.includes("-")?r:`toddle-${r}`};var X=e=>Object.hasOwn(e,"formula");function U(e){return e&&typeof e=="object"&&typeof e.type=="string"}function b(e,r){if(!U(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(N(b(t.condition,r)))return b(t.formula,r);return b(e.default,r)}case"or":{for(let t of e.arguments)if(N(b(t.formula,r)))return!0;return!1}case"and":{for(let t of e.arguments)if(!N(b(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)){let a=e.arguments.reduce((s,l,u)=>({...s,[l.name??`${u}`]:l.isFunction?m=>b(l.formula,{...r,data:{...r.data,Args:r.data.Args?{...m,"@toddle.parent":r.data.Args}:m}}):b(l.formula,r)}),{});try{return X(o)?b(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=>b(s.formula,{...r,data:{...r.data,Args:r.data.Args?{...l,"@toddle.parent":r.data.Args}:l}}):b(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,b(t.formula,r)])??[]);case"record":return Object.fromEntries(e.entries.map(t=>[t.name,b(t.formula,r)]));case"array":return e.arguments.map(t=>b(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=>b(s.formula,{...r,data:{...r.data,Args:r.data.Args?{...l,"@toddle.parent":r.data.Args}:l}})]:[s.name,b(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=b(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 Wi=e=>typeof e=="object"&&e!==null,L=(e,r)=>Object.fromEntries(Object.entries(e).map(r)),G=(e,r)=>L(e,([t,o])=>[t,r(o)]),Wt=(e,r)=>{let[t,...o]=r,n=Array.isArray(e)?[...e]:Wi(e)?{...e}:{};return o.length===0?delete n[t]:n[t]=Wt(n[t],o),n},V=(e,r)=>Object.fromEntries(Object.entries(e).filter(([t])=>!r.includes(t))),Jt=(e,r)=>r.reduce((t,o)=>Wt(t,o),{...e});function ee(e,[r,...t]){return t.length===0?e?.[r]:ee(e?.[r],t)}var re=(e,r,t=!0)=>Ji(Object.entries(e),r,t),Ji=(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*k({formula:e,globalFormulas:r,path:t=[],visitedFormulas:o=new Set}){if(R(e))switch(yield[t,e],e.type){case"path":case"value":break;case"record":for(let[n,a]of e.entries.entries())yield*k({formula:a.formula,globalFormulas:r,path:[...t,"entries",n,"formula"],visitedFormulas:o});break;case"function":{let n=[e.package,e.name].filter(R).join("/"),a=!o.has(n);o.add(n);let s=e.package?r.packages?.[e.package]?.formulas?.[e.name]:r.formulas?.[e.name];for(let[l,u]of(e.arguments??[]).entries())yield*k({formula:u.formula,globalFormulas:r,path:[...t,"arguments",l,"formula"],visitedFormulas:o});s&&X(s)&&a&&(yield*k({formula:s.formula,globalFormulas:r,path:[...t,"formula"],visitedFormulas:o}));break}case"array":case"or":case"and":case"object":for(let[n,a]of(e.arguments??[]).entries())yield*k({formula:a.formula,globalFormulas:r,path:[...t,"arguments",n,"formula"],visitedFormulas:o});break;case"apply":for(let[n,a]of(e.arguments??[]).entries())yield*k({formula:a.formula,globalFormulas:r,path:[...t,"arguments",n,"formula"],visitedFormulas:o});break;case"switch":for(let[n,a]of e.cases.entries())yield*k({formula:a.condition,globalFormulas:r,path:[...t,"cases",n,"condition"],visitedFormulas:o}),yield*k({formula:a.formula,globalFormulas:r,path:[...t,"cases",n,"formula"],visitedFormulas:o});yield*k({formula:e.default,globalFormulas:r,path:[...t,"default"],visitedFormulas:o});break}}function*I({action:e,globalFormulas:r,path:t=[],visitedFormulas:o=new Set}){if(R(e))switch(e.type){case"Fetch":for(let[n,a]of Object.entries(e.inputs??{}))yield*k({formula:a.formula,globalFormulas:r,path:[...t,"input",n,"formula"],visitedFormulas:o});for(let[n,a]of Object.entries(e.onSuccess?.actions??{}))yield*I({action:a,globalFormulas:r,path:[...t,"onSuccess","actions",n],visitedFormulas:o});for(let[n,a]of Object.entries(e.onError?.actions??{}))yield*I({action:a,globalFormulas:r,path:[...t,"onError","actions",n],visitedFormulas:o});for(let[n,a]of Object.entries(e.onMessage?.actions??{}))yield*I({action:a,globalFormulas:r,path:[...t,"onMessage","actions",n],visitedFormulas:o});break;case"Custom":case void 0:U(e.data)&&(yield*k({formula:e.data,globalFormulas:r,path:[...t,"data"],visitedFormulas:o}));for(let[n,a]of Object.entries(e.arguments??{}))yield*k({formula:a.formula,globalFormulas:r,path:[...t,"arguments",n,"formula"],visitedFormulas:o});for(let[n,a]of Object.entries(e.events??{}))for(let[s,l]of Object.entries(a.actions??{}))yield*I({action:l,globalFormulas:r,path:[...t,"events",n,"actions",s],visitedFormulas:o});break;case"SetVariable":case"SetURLParameter":case"TriggerEvent":yield*k({formula:e.data,globalFormulas:r,path:[...t,"data"],visitedFormulas:o});break;case"TriggerWorkflow":for(let[n,a]of Object.entries(e.parameters??{}))yield*k({formula:a.formula,globalFormulas:r,path:[...t,"parameters",n,"formula"],visitedFormulas:o});break;case"Switch":R(e.data)&&U(e.data)&&(yield*k({formula:e.data,globalFormulas:r,path:[...t,"data"],visitedFormulas:o}));for(let[n,a]of e.cases.entries()){yield*k({formula:a.condition,globalFormulas:r,path:[...t,"cases",n,"condition"],visitedFormulas:o});for(let[s,l]of Object.entries(a.actions))yield*I({action:l,globalFormulas:r,path:[...t,"cases",n,"actions",s],visitedFormulas:o})}for(let[n,a]of Object.entries(e.default.actions))yield*I({action:a,globalFormulas:r,path:[...t,"default","actions",n],visitedFormulas:o});break}}var Q=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)),U(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*k({formula:r.autoFetch,globalFormulas:this.globalFormulas,path:["apis",t,"autoFetch"]}),yield*k({formula:r.url,globalFormulas:this.globalFormulas,path:["apis",t,"url"]});for(let[o,n]of Object.entries(r.path??{}))yield*k({formula:n.formula,globalFormulas:this.globalFormulas,path:["apis",t,"path",o,"formula"]});for(let[o,n]of Object.entries(r.queryParams??{}))yield*k({formula:n.formula,globalFormulas:this.globalFormulas,path:["apis",t,"queryParams",o,"formula"]});if(U(r.headers))yield*k({formula:r.headers,globalFormulas:this.globalFormulas,path:["apis",t,"headers"]});else for(let[o,n]of Object.entries(r.headers??{}))yield*k({formula:n,globalFormulas:this.globalFormulas,path:["apis",t,"headers",o]});yield*k({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 te=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*k({formula:n.formula,globalFormulas:this.globalFormulas,path:["apis",t,"inputs",o,"formula"]});yield*k({formula:r.autoFetch,globalFormulas:this.globalFormulas,path:["apis",t,"autoFetch"]}),yield*k({formula:r.url,globalFormulas:this.globalFormulas,path:["apis",t,"url"]});for(let[o,n]of Object.entries(r.path??{}))yield*k({formula:n.formula,globalFormulas:this.globalFormulas,path:["apis",t,"path",o,"formula"]});for(let[o,n]of Object.entries(r.queryParams??{}))yield*k({formula:n.formula,globalFormulas:this.globalFormulas,path:["apis",t,"queryParams",o,"formula"]}),yield*k({formula:n.enabled,globalFormulas:this.globalFormulas,path:["apis",t,"queryParams",o,"enabled"]});for(let[o,n]of Object.entries(r.headers??{}))yield*k({formula:n.formula,globalFormulas:this.globalFormulas,path:["apis",t,"headers",o,"formula"]}),yield*k({formula:n.enabled,globalFormulas:this.globalFormulas,path:["apis",t,"headers",o,"enabled"]});yield*k({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*k({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*k({formula:n.formula,globalFormulas:this.globalFormulas,path:["apis",t,"redirectRules",o,"formula"]});yield*k({formula:r.isError?.formula,globalFormulas:this.globalFormulas,path:["apis",t,"isError","formula"]}),yield*k({formula:r.timeout?.formula,globalFormulas:this.globalFormulas,path:["apis",t,"timeout","formula"]}),yield*k({formula:r.server?.proxy?.enabled.formula,globalFormulas:this.globalFormulas,path:["apis",t,"server","proxy","enabled","formula"]}),yield*k({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 oe=e=>e instanceof Q?!0:!("version"in e),Gt=({api:e,formulaContext:r,baseUrl:t,defaultHeaders:o})=>{let n=zi(e,r,t),a=Zi({api:e,formulaContext:r,defaultHeaders:o});return{url:n,requestSettings:a}},zi=(e,r,t)=>{let o="",n=new URLSearchParams,a,s=b(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=Yi(e.path,r),u=`${o}${l.length>0&&!o.endsWith("/")?"/":""}${l}`,m=new URLSearchParams([...n,...Xi(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)},Gi=[q.POST,q.DELETE,q.PUT,q.PATCH,q.OPTIONS],Qi=(e,r,t)=>{if(e.timeout){let o=b(e.timeout.formula,t);typeof o=="number"&&!Number.isNaN(o)&&o>0&&(r.signal=AbortSignal.timeout(o))}},Zi=({api:e,formulaContext:r,defaultHeaders:t})=>{let o=Object.values(q).includes(e.method)?e.method:q.GET,n=el({apiHeaders:e.headers,formulaContext:r,defaultHeaders:t}),a=rl({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 Qi(e,s,r),s},Yi=(e,r)=>re(e??{},([t,o])=>o.index).map(([t,o])=>b(o.formula,r)).join("/"),Xi=(e,r)=>{let t=new URLSearchParams;return Object.entries(e??{}).forEach(([o,n])=>{if(!(R(n.enabled)?b(n.enabled,r):!0))return;let s=b(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},el=({apiHeaders:e,formulaContext:r,defaultHeaders:t})=>{let o=new Headers(t);return Object.entries(e??{}).forEach(([n,a])=>{if(R(a.enabled)?b(a.enabled,r):!0){let l=b(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:V(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?b(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:N(a)},rl=({api:e,formulaContext:r,headers:t,method:o})=>{if(!e.body||!Gi.includes(o))return;let n=b(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)}},ne=(e,r)=>new CustomEvent(e,{detail:r}),tl=(e,r)=>{let t=e.apiReferences.has(r.name),o=r.apiReferences.has(e.name);return t===o?0:t?1:-1},ae=e=>{let r=new Map,t=(o,n)=>{let a=r.get(n);return a||(a=o.version===2?new te(o,n,{formulas:{},packages:{}}):new Q(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 tl(l,u)})};var ol=(e,r)=>{let t=r.length;for(;t;)e=e*33^r.charCodeAt(--t);return e},nl=e=>ol(5381,e),al=/(a)(d)/gi;var Yt=e=>String.fromCharCode(e+(e>25?39:97));function sl(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(al,"$1-$2")}var se=e=>sl(nl(JSON.stringify(e))),ie=(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 wt=`
2
+ @layer reset {
3
+ html {
4
+ height:100%;
5
+ }
6
+
7
+ #App {
8
+ height:100%;
9
+ display:flex;
10
+ flex-direction:column;
11
+ }
12
+
13
+ body {
14
+ height:100%;
15
+ -webkit-font-smoothing: antialiased;
16
+ -moz-osx-font-smoothing: grayscale;
17
+ margin:0;
18
+ }
19
+
20
+ [data-node-id]:not([data-unset-toddle-styles],[data-node-type="text"],noscript,br,script,style,math,math *,link,template,meta,title,base), [data-node-id]:not([data-unset-toddle-styles],noscript)::before, [data-node-id]:not([data-unset-toddle-styles],noscript)::after {
21
+ display: flex;
22
+ flex-direction: column;
23
+ flex-grow: 0;
24
+ flex-shrink: 0;
25
+
26
+ position: relative;
27
+ box-sizing: border-box;
28
+ padding: 0;
29
+ margin: 0;
30
+
31
+ font-size: var(--text-base);
32
+ font-family: var(--font-sans);
33
+ font-weight: var(--font-weight-normal);
34
+
35
+ background: transparent;
36
+ color: inherit;
37
+ border: none;
38
+ box-shadow: none;
39
+ }
40
+
41
+ [data-node-id]:not([data-unset-toddle-styles]):is(p, h1, h2, h3, h4, h5, h6, label, span, strong, b, i, address, caption, code, cite, dt, dd, em, figcaption, legend, blockquote, abbr, pre, bdo, bdi) {
42
+ display: inline-block;
43
+ overflow-wrap: break-word;
44
+ color: inherit;
45
+ }
46
+
47
+ [data-node-id]:not([data-unset-toddle-styles]):is(input, button, textarea, select) {
48
+ outline: none;
49
+ }
50
+
51
+ [data-node-id]:not([data-unset-toddle-styles]):is(a) {
52
+ color: inherit;
53
+ text-decoration: none;
54
+ }
55
+
56
+ [data-node-id]:not([data-unset-toddle-styles]):is(ul, ol, li) {
57
+ list-style: none;
58
+ }
59
+
60
+ [data-node-id]:not([data-unset-toddle-styles]):is(span[data-node-type="text"]) {
61
+ font: inherit;
62
+ display: inline;
63
+ flex-direction: column;
64
+ flex-grow: 0;
65
+ flex-shrink: 0;
66
+ box-sizing: border-box;
67
+ }
68
+
69
+ [popover]:not(:popover-open):not(dialog[open]) {
70
+ display: revert;
71
+ }
72
+ }`,Xt={colors:{grey:{order:0,variants:{50:{order:0,value:"#FAFAFA"},100:{order:1,value:"#F5F5F5"},200:{order:2,value:"#E5E5E5"},300:{order:3,value:"#D4D4D4"},400:{order:4,value:"#A3A3A3"},500:{order:5,value:"#737373"},600:{order:6,value:"#525252"},700:{order:7,value:"#404040"},800:{order:8,value:"#262626"},900:{order:9,value:"#171717"}}},red:{order:1,variants:{50:{order:0,value:"#FEF2F2"},100:{order:1,value:"#FEE2E2"},200:{order:2,value:"#FECACA"},300:{order:3,value:"#FCA5A5"},400:{order:4,value:"#F87171"},500:{order:5,value:"#EF4444"},600:{order:6,value:"#DC2626"},700:{order:7,value:"#B91C1C"},800:{order:8,value:"#991B1B"},900:{order:9,value:"#7F1D1D"}}},rose:{order:3,variants:{50:{order:0,value:"#FFF1F2"},100:{order:1,value:"#FFE4E6"},200:{order:2,value:"#FECDD3"},300:{order:3,value:"#FDA4AF"},400:{order:4,value:"#FB7185"},500:{order:5,value:"#F43F5E"},600:{order:6,value:"#E11D48"},700:{order:7,value:"#BE123C"},800:{order:8,value:"#9F1239"},900:{order:9,value:"#881337"}}},pink:{order:4,variants:{50:{order:0,value:"#FDF2F8"},100:{order:1,value:"#FCE7F3"},200:{order:2,value:"#FBCFE8"},300:{order:3,value:"#F9A8D4"},400:{order:4,value:"#F472B6"},500:{order:5,value:"#EC4899"},600:{order:6,value:"#DB2777"},700:{order:7,value:"#BE185D"},800:{order:8,value:"#9D174D"},900:{order:9,value:"#831843"}}},amber:{order:5,variants:{50:{order:0,value:"#FFFBEB"},100:{order:1,value:"#FEF3C7"},200:{order:2,value:"#FDE68A"},300:{order:3,value:"#FCD34D"},400:{order:4,value:"#FBBF24"},500:{order:5,value:"#F59E0B"},600:{order:6,value:"#D97706"},700:{order:7,value:"#B45309"},800:{order:8,value:"#92400E"},900:{order:9,value:"#78350F"}}},orange:{order:6,variants:{50:{order:0,value:"#FFF7ED"},100:{order:1,value:"#FFEDD5"},200:{order:2,value:"#FED7AA"},300:{order:3,value:"#FDBA74"},400:{order:4,value:"#FB923C"},500:{order:5,value:"#F97316"},600:{order:6,value:"#EA580C"},700:{order:7,value:"#C2410C"},800:{order:8,value:"#9A3412"},900:{order:9,value:"#7C2D12"}}},yellow:{order:7,variants:{50:{order:0,value:"#FFFBEB"},100:{order:1,value:"#FEF3C7"},200:{order:2,value:"#FDE68A"},300:{order:3,value:"#FCD34D"},400:{order:4,value:"#FBBF24"},500:{order:5,value:"#F59E0B"},600:{order:6,value:"#D97706"},700:{order:7,value:"#B45309"},800:{order:8,value:"#92400E"},900:{order:9,value:"#78350F"}}},lime:{order:8,variants:{50:{order:0,value:"#F7FEE7"},100:{order:1,value:"#ECFCCB"},200:{order:2,value:"#D9F99D"},300:{order:3,value:"#BEF264"},400:{order:4,value:"#A3E635"},500:{order:5,value:"#84CC16"},600:{order:6,value:"#65A30D"},700:{order:7,value:"#4D7C0F"},800:{order:8,value:"#3F6212"},900:{order:9,value:"#365314"}}},green:{order:9,variants:{50:{order:0,value:"#ECFDF5"},100:{order:1,value:"#D1FAE5"},200:{order:2,value:"#A7F3D0"},300:{order:3,value:"#6EE7B7"},400:{order:4,value:"#34D399"},500:{order:5,value:"#10B981"},600:{order:6,value:"#059669"},700:{order:7,value:"#047857"},800:{order:8,value:"#065F46"},900:{order:9,value:"#064E3B"}}},emerald:{order:10,variants:{50:{order:0,value:"#ECFDF5"},100:{order:1,value:"#D1FAE5"},200:{order:2,value:"#A7F3D0"},300:{order:3,value:"#6EE7B7"},400:{order:4,value:"#34D399"},500:{order:5,value:"#10B981"},600:{order:6,value:"#059669"},700:{order:7,value:"#047857"},800:{order:8,value:"#065F46"},900:{order:9,value:"#064E3B"}}},teal:{order:11,variants:{50:{order:0,value:"#F0FDFA"},100:{order:1,value:"#CCFBF1"},200:{order:2,value:"#99F6E4"},300:{order:3,value:"#5EEAD4"},400:{order:4,value:"#2DD4BF"},500:{order:5,value:"#14B8A6"},600:{order:6,value:"#0D9488"},700:{order:7,value:"#0F766E"},800:{order:8,value:"#115E59"},900:{order:9,value:"#134E4A"}}},cyan:{order:12,variants:{50:{order:0,value:"#ECFEFF"},100:{order:1,value:"#CFFAFE"},200:{order:2,value:"#A5F3FC"},300:{order:3,value:"#67E8F9"},400:{order:4,value:"#22D3EE"},500:{order:5,value:"#06B6D4"},600:{order:6,value:"#0891B2"},700:{order:7,value:"#0E7490"},800:{order:8,value:"#155E75"},900:{order:9,value:"#164E63"}}},sky:{order:13,variants:{50:{order:0,value:"#F0F9FF"},100:{order:1,value:"#E0F2FE"},200:{order:2,value:"#BAE6FD"},300:{order:3,value:"#7DD3FC"},400:{order:4,value:"#38BDF8"},500:{order:5,value:"#0EA5E9"},600:{order:6,value:"#0284C7"},700:{order:7,value:"#0369A1"},800:{order:8,value:"#075985"},900:{order:9,value:"#0C4A6E"}}},blue:{order:14,variants:{50:{order:0,value:"#EFF6FF"},100:{order:1,value:"#DBEAFE"},200:{order:2,value:"#BFDBFE"},300:{order:3,value:"#93C5FD"},400:{order:4,value:"#60A5FA"},500:{order:5,value:"#3B82F6"},600:{order:6,value:"#2563EB"},700:{order:7,value:"#1D4ED8"},800:{order:8,value:"#1E40AF"},900:{order:9,value:"#1E3A8A"}}},indigo:{order:15,variants:{50:{order:0,value:"#EEF2FF"},100:{order:1,value:"#E0E7FF"},200:{order:2,value:"#C7D2FE"},300:{order:3,value:"#A5B4FC"},400:{order:4,value:"#818CF8"},500:{order:5,value:"#6366F1"},600:{order:6,value:"#4F46E5"},700:{order:7,value:"#4338CA"},800:{order:8,value:"#3730A3"},900:{order:9,value:"#312E81"}}},purple:{order:16,variants:{50:{order:0,value:"#F5F3FF"},100:{order:1,value:"#EDE9FE"},200:{order:2,value:"#DDD6FE"},300:{order:3,value:"#C4B5FD"},400:{order:4,value:"#A78BFA"},500:{order:5,value:"#8B5CF6"},600:{order:6,value:"#7C3AED"},700:{order:7,value:"#6D28D9"},800:{order:8,value:"#5B21B6"},900:{order:9,value:"#4C1D95"}}},fuchsia:{order:17,variants:{50:{order:0,value:"#FDF4FF"},100:{order:1,value:"#FAE8FF"},200:{order:2,value:"#F5D0FE"},300:{order:3,value:"#F0ABFC"},400:{order:4,value:"#E879F9"},500:{order:5,value:"#D946EF"},600:{order:6,value:"#C026D3"},700:{order:7,value:"#A21CAF"},800:{order:8,value:"#86198F"},900:{order:9,value:"#701A75"}}}},shadow:{sm:{order:0,value:"0 1px 2px 0 rgba(0, 0, 0, 0.25)"},base:{order:1,value:"0 1px 3px 0 rgba(0, 0, 0, 0.25), 0 1px 2px 0 rgba(0, 0, 0, 0.25)"},md:{order:2,value:"0 4px 6px -1px rgba(0, 0, 0, 0.25), 0 2px 4px -1px rgba(0, 0, 0, 0.25)"},lg:{order:3,value:"0 10px 15px -3px rgba(0, 0, 0, 0.25), 0 4px 6px -2px rgba(0, 0, 0, 0.25)"},xl:{order:4,value:"0 20px 25px -5px rgba(0, 0, 0, 0.25), 0 10px 10px -5px rgba(0, 0, 0, 0.25)"},"2xl":{order:5,value:"0 25px 50px -12px rgba(0, 0, 0, 0.25)"}},spacing:.25,fontSize:{lg:{order:0,value:"1.125rem"},sm:{order:1,value:"0.875rem"},xl:{order:2,value:"1.25rem"},xs:{order:3,value:"0.75rem"},"2xl":{order:4,value:"1.5rem"},"3xl":{order:5,value:"1.875rem"},"4xl":{order:6,value:"2.25rem"},"5xl":{order:7,value:"3rem"},xxs:{order:8,value:"0.625rem"},base:{order:9,value:"1rem",default:!0}},fontFamily:{mono:{order:0,value:["Fira Code","monospace"]},sans:{order:1,value:["Inter","sans-serif"],default:!0}},fontWeight:{bold:{order:0,value:"700"},bolder:{order:1,value:"800"},normal:{order:2,value:"500",default:!0},regular:{order:3,value:"400"},"semi-bold":{order:4,value:"600"}},breakpoints:{large:{order:2,value:1440},small:{order:0,value:576},medium:{order:1,value:960}}};var eo=(e,r)=>"breakpoints"in e?il(e):`${r.includeResetStyle?wt:""}
73
+ @layer base {
74
+ ${r.createFontFaces?e.fonts.map(t=>`
75
+ ${t.variants.map(o=>`
76
+ @font-face {
77
+ font-family: "${t.family}";
78
+ font-style: ${o.italic?"italic":"normal"};
79
+ font-weight: ${o.weight};
80
+ font-display: auto;
81
+ src: local("${o.url.substring(o.url.lastIndexOf("/")+1)}"), url("${o.url.replace("https://fonts.gstatic.com","/.toddle/fonts/font")}") format("woff2");
82
+ }
83
+ `).join(`
84
+ `)}
85
+ `).join(`
86
+ `):""}
87
+ body, :host {
88
+ /* Color */
89
+ ${e.color.flatMap(t=>t.tokens.map(o=>`--${o.name}: ${o.value};`)).join(`
90
+ `)}
91
+ /* Fonts */
92
+ ${e.fonts.map(t=>`--font-${t.name}: '${t.family}',${t.type};`).join(`
93
+ `)}
94
+
95
+ /* Font size */
96
+ ${e["font-size"].flatMap(t=>t.tokens.map(o=>`--${o.name}: ${o.type==="variable"?`var(--${o.value})`:o.value};`)).join(`
97
+ `)}
98
+ /* Font weight */
99
+ ${e["font-weight"].flatMap(t=>t.tokens.map(o=>`--${o.name}: ${o.type==="variable"?`var(--${o.value})`:o.value};`)).join(`
100
+ `)}
101
+ /* Shadows */
102
+ ${e.shadow.flatMap(t=>t.tokens.map(o=>`--${o.name}: ${o.type==="variable"?`var(--${o.value})`:o.value};`)).join(`
103
+ `)}
104
+ /* Border radius */
105
+ ${e["border-radius"].flatMap(t=>t.tokens.map(o=>`--${o.name}: ${o.type==="variable"?`var(--${o.value})`:o.value};`)).join(`
106
+ `)}
107
+ /* Spacing */
108
+ ${e.spacing.map(t=>t.tokens.map(o=>`--${o.name}: ${o.type==="variable"?`var(--${o.value})`:o.value};`).join(`
109
+ `)).join(`
110
+ `)}
111
+ /* Z-index */
112
+ ${e["z-index"].map(t=>t.tokens.map(o=>`--${o.name}: ${o.type==="variable"?`var(--${o.value})`:o.value};`).join(`
113
+ `)).join(`
114
+ `)}
115
+ }
116
+ @keyframes animation-spin {
117
+ from {
118
+ transform: rotate(0deg);
119
+ }
120
+ to {
121
+ transform: rotate(360deg);
122
+ }
123
+ }
124
+ @keyframes animation-fade-in {
125
+ from {
126
+ opacity:0;
127
+ }
128
+ to {
129
+ opacity:1;
130
+ }
131
+ }
132
+ @keyframes animation-fade-out {
133
+ from {
134
+ opacity:1;
135
+ }
136
+ to {
137
+ opacity:0;
138
+ }
139
+ }
140
+ }
141
+ `,il=e=>{let r=Object.entries(e.colors).flatMap(([t,{variants:o}])=>Object.entries(o).map(([n,{value:a}])=>`--${t}-${n}:${a}`));return`
142
+
143
+
144
+
145
+
146
+ body, :host {
147
+ ${Object.entries(e.fontFamily).map(([t,{value:[o,...n]}])=>`--font-${t}: '${o}',${n.join(",")};`).join(`
148
+ `)}
149
+
150
+ ${Object.entries(e.fontWeight).map(([t,{value:o}])=>`--font-weight-${t}: ${o};`).join(`
151
+ `)}
152
+
153
+ ${Object.entries(e.fontSize).map(([t,{value:o}])=>`--font-size-${t}: ${o};`).join(`
154
+ `)}
155
+
156
+ --spacing:${e.spacing}rem;
157
+ ${r.join(`;
158
+ `)};
159
+
160
+
161
+ --text-xxs:0.625rem;
162
+ --line-height-xxs:0.9rem;
163
+
164
+ --text-xs:0.75rem;
165
+ --line-height-xs:1rem;
166
+
167
+ --text-sm:0.875rem;
168
+ --line-height-sm:1.25rem;
169
+
170
+ --text-base:1rem;
171
+ --line-height-base:1.5rem;
172
+
173
+ --text-lg:1.125rem;
174
+ --line-height-lg:1.75rem;
175
+
176
+ --text-xl:1.25rem;
177
+ --line-height-xl:1.75rem;
178
+
179
+ --text-2xl:1.5rem;
180
+ --line-height-2xl:2rem;
181
+
182
+ --text-3xl:1.875rem;
183
+ --line-height-3xl:2.25rem;
184
+
185
+ --text-4xl:2.25rem;
186
+ --line-height-4xl:2.5rem;
187
+
188
+ --text-5xl:3rem;
189
+ --line-height-5xl:3rem;
190
+
191
+ ${Object.entries(e.shadow).map(([t,{value:o}])=>`--shadow-${t}:${o};`).join(`
192
+ `)}
193
+ }
194
+
195
+ ${wt}
196
+
197
+ @keyframes animation-spin {
198
+ from {
199
+ transform: rotate(0deg);
200
+ }
201
+ to {
202
+ transform: rotate(360deg);
203
+ }
204
+ }
205
+
206
+ @keyframes animation-fade-in {
207
+ from {
208
+ opacity:0;
209
+ }
210
+ to {
211
+ opacity:1;
212
+ }
213
+ }
214
+
215
+
216
+ @keyframes animation-fade-out {
217
+ from {
218
+ opacity:1;
219
+ }
220
+ to {
221
+ opacity:0;
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 ll={large:1440,small:576,medium:960};function ul(e){return e.split("").map(r=>"ABCDEFGHIJKLMNOPQRSTYVWXYZ".includes(r)?"-"+r.toLocaleLowerCase():r).join("")}var dl=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,p])=>p.default??a.has("--font-"+i)))}:{...t,fonts:t.fonts},o),l=i=>Object.entries(i).map(([p,g])=>{if(!R(g))return;let v=ul(p),E=String(Number(g))===String(g)&&dl.has(v)?`${Number(g)*4}px`:g;return`${v}:${E};`}).filter(Boolean).join(`
224
+ `),u=(i,p)=>{try{let g=V(i.style??{},["variants","breakpoints","shadows"]),v=i.variants??i.style?.variants,E=(w,C,j)=>{let O=Object.entries(C).filter(([c])=>c=="scrollbar-width"),F=l(C);return j?.startingStyle&&(F=`@starting-style {
225
+ ${F}
226
+ }`),`
227
+ ${F.length>0?`${w} {
228
+ ${F}
229
+ }`:""}
230
+ ${O.length>0?`
231
+ ${w}::-webkit-scrollbar {
232
+ ${O.map(([c,d])=>{switch(d){case"none":return"width: 0;";case"thinn":case"thin":return"width: 4px;";default:return""}}).join(`
233
+ `)}
234
+ }
235
+ `:""}
236
+ `};return`
237
+ ${E("."+p,g)}
238
+ ${(v??[]).map(w=>{let C=E(`.${p}${ro(w)}`,w.style,{startingStyle:w.startingStyle});return w.mediaQuery?`
239
+ @media (${Object.entries(w.mediaQuery).map(([j,O])=>`${j}: ${O}`).filter(Boolean).join(") and (")}) {
240
+ ${C}
241
+ }
242
+ `:w.breakpoint?`
243
+ @media (min-width: ${ll[w.breakpoint]}px) {
244
+ ${C}
245
+ }
246
+ `:C}).join(`
247
+ `)}
248
+ ${i.animations?Object.entries(i.animations).map(([w,C])=>`
249
+ @keyframes ${w} {
250
+ ${Object.values(C).sort((j,O)=>j.position-O.position).map(({key:j,position:O,value:F})=>`
251
+ ${O*100}% {
252
+ ${j}: ${F};
253
+ }
254
+ `).join(`
255
+ `)}
256
+ }
257
+ `).join(`
258
+ `):""}
259
+ `}catch(g){return console.error(g),""}},m=new Set;function y(i,p){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(([g,v])=>{if(v.type==="component"){let w=r.find(C=>C.name===[v.package??p,v.name].filter(j=>j).join("/"));if(w){y(w,v.package??p),s+=u(v,ie(`${i.name}:${g}`,!0));return}}if(v.type!=="element")return;let E=se([v.style,v.variants]);if(n.has(E))return"";n.add(E),s+=u(v,E)})}}return y(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,"")));function fl(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 pl(e,r){r===void 0&&(r={});for(var t=fl(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(h){if(m<t.length&&t[m].type===h)return t[m++].value},p=function(h){var D=i(h);if(D!==void 0)return D;var T=t[m],P=T.type,x=T.index;throw new TypeError("Unexpected ".concat(P," at ").concat(x,", expected ").concat(h))},g=function(){for(var h="",D;D=i("CHAR")||i("ESCAPED_CHAR");)h+=D;return h},v=function(h){for(var D=0,T=s;D<T.length;D++){var P=T[D];if(h.indexOf(P)>-1)return!0}return!1},E=function(h){var D=l[l.length-1],T=h||(D&&typeof D=="string"?D:"");if(D&&!T)throw new TypeError('Must have text between two parameters, missing text after "'.concat(D.name,'"'));return!T||v(T)?"[^".concat(Ft(s),"]+?"):"(?:(?!".concat(Ft(T),")[^").concat(Ft(s),"])+?")};m<t.length;){var w=i("CHAR"),C=i("NAME"),j=i("PATTERN");if(C||j){var O=w||"";n.indexOf(O)===-1&&(y+=O,O=""),y&&(l.push(y),y=""),l.push({name:C||u++,prefix:O,suffix:"",pattern:j||E(O),modifier:i("MODIFIER")||""});continue}var F=w||i("ESCAPED_CHAR");if(F){y+=F;continue}y&&(l.push(y),y="");var c=i("OPEN");if(c){var O=g(),d=i("NAME")||"",S=i("PATTERN")||"",A=g();p("CLOSE"),l.push({name:d||(S?u++:""),pattern:d&&!S?E(O):S,prefix:O,suffix:A,modifier:i("MODIFIER")||""});continue}p("END")}return l}function oo(e,r){return ml(pl(e,r),r)}function ml(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 p=u?u[i.name]:void 0,g=i.modifier==="?"||i.modifier==="*",v=i.modifier==="*"||i.modifier==="+";if(Array.isArray(p)){if(!v)throw new TypeError('Expected "'.concat(i.name,'" to not repeat, but got an array'));if(p.length===0){if(g)continue;throw new TypeError('Expected "'.concat(i.name,'" to not be empty'))}for(var E=0;E<p.length;E++){var w=n(p[E],i);if(s&&!l[y].test(w))throw new TypeError('Expected all "'.concat(i.name,'" to match "').concat(i.pattern,'", but got "').concat(w,'"'));m+=i.prefix+w+i.suffix}continue}if(typeof p=="string"||typeof p=="number"){var w=n(String(p),i);if(s&&!l[y].test(w))throw new TypeError('Expected "'.concat(i.name,'" to match "').concat(i.pattern,'", but got "').concat(w,'"'));m+=i.prefix+w+i.suffix;continue}if(!g){var C=v?"an array":"a string";throw new TypeError('Expected "'.concat(i.name,'" to be ').concat(C))}}return m}}function Ft(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function gl(e){return e&&e.sensitive?"":"i"}var jt=({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})=>N(b(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=b(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=b(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=b(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:{...V(n.params,[e.parameter]),[e.parameter]:a}}):(s="replace",l={...n,query:{...V(n.query,[e.parameter]),...R(a)?{[e.parameter]:a}:null}}),!s)return n;let u=jt(n),m=jt(l);return m!==u&&(s=e.historyMode??s,s==="push"?window.history.pushState({},"",m):window.history.replaceState({},"",m)),l});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?G(e.inputs??{},m=>b(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=G(e.parameters??{},s=>b(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]:b(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=>b(u.formula,{data:r,component:t.component,formulaCache:t.formulaCache,root:t.root,package:t.package,toddle:t.toddle,env:t.env}))??[b(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 le(e,r){let t=null;function o(i,p){let g={data:p,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env},v=b(i.url,g)??"",E=i.path&&i.path.length>0?"/"+i.path.map(d=>b(d.formula,g)).join("/"):"",w=Object.values(i.queryParams??{}),C=w.length>0?"?"+w.map(d=>`${d.name}=${encodeURIComponent(b(d.formula,g))}`).join("&"):"",j=U(i.headers)?b(i.headers,{data:p,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env}):G(i.headers??{},d=>b(d,{data:p,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(b(i.body,{data:p,component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,toddle:r.toddle,env:r.env}),O):void 0;return{url:v+E+C,method:F,auth:i.auth,headers:j,body:c}}async function n(i){let p=await i.text();try{return z(p)}catch{return p}}function a(i,p){switch(p){case"application/x-www-form-urlencoded":return typeof i=="object"&&i!==null?Object.entries(i).map(([g,v])=>Array.isArray(v)?v.map(E=>`${encodeURIComponent(g)}=${encodeURIComponent(E)}`).join("&"):`${encodeURIComponent(g)}=${encodeURIComponent(String(v))}`).join("&"):"";case"multipart/form-data":{let g=new FormData;return typeof i=="object"&&i!==null&&Object.entries(i).forEach(([v,E])=>{g.set(v,E)}),g}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(p=>{$(p,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(p=>{$(p,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 p;try{e.proxy===!1?p=await fetch(i.url,{method:i.method,headers:i.headers,body:i.body}):p=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 g=await n(p);if(p.ok)s(g);else throw g}catch(g){return l(g),Promise.reject(g)}}function m(i){return typeof e.debounce=="number"?new Promise((p,g)=>{typeof t=="number"&&clearTimeout(t),t=setTimeout(()=>{u(i).then(p,g)},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&&b(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(p=>o(e,p));let i=!0;y.subscribe(p=>{if(e.autoFetch&&b(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 g=r.toddle?.pageState?.Apis?.[e.name];g&&g.data?typeof g.data=="string"?s(z(g.data)):s(g.data):m(p)}else m(p)})}return{fetch:i=>{let p=o(e,r.dataSignal.get()),g=p.body,v=new Headers({...p.headers,...i?.headers??{}});i?.body&&(g=a(i.body,v.get("Content-Type")??void 0)),g instanceof FormData&&v.delete("Content-Type");let E={url:i?.url??p.url,method:i?.method??p.method,auth:i?.auth??p.auth,headers:[...v.entries()].reduce((w,[C,j])=>({...w,[C]:j}),{}),body:g};return m(E)},destroy:()=>y?.destroy()}}var no=e=>typeof e!="string"?!1:/^application\/(json|.*\+json)/.test(e),ao=e=>typeof e!="string"?!1:/^(text\/|application\/x-www-form-urlencoded|application\/(xml|.*\+xml))/.test(e),so=e=>typeof e!="string"?!1:/^text\/event-stream/.test(e),io=e=>typeof e!="string"?!1:/^(application\/stream\+json|application\/x-ndjson)/.test(e),lo=e=>typeof e!="string"?!1:/^image\//.test(e);var uo=(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 ue(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},S=Object.entries(c.inputs).reduce((h,[D,T])=>(h[D]=b(T.formula,d),h),{}),A={...d.data,ApiInputs:{...S}};return{component:r.component,formulaCache:r.formulaCache,root:r.root,package:r.package,data:A,toddle:r.toddle,env:r.env}}function s(c){for(let[d,S]of re(c.redirectRules??{},([A,h])=>h.index)){let A=b(S.formula,{...a(c),data:{...a(c).data,Apis:{[c.name]:r.dataSignal.get().Apis?.[c.name]}}});if(typeof A=="string"){let h=uo(A,window.location.href);if(h){if(r.env.runtime==="preview")return window.parent?.postMessage({type:"blockedNavigation",url:h.href},"*"),{name:d,index:S.index,url:h};window.location.replace(h.href)}}}}function l(c,d,S){switch(c){case"message":{let A=ne("message",S.body);d.client?.onMessage?.actions?.forEach(h=>{$(h,{...a(d).data,...r.dataSignal.get(),Event:A},r,A)});break}case"success":{let A=ne("success",S.body);d.client?.onCompleted?.actions?.forEach(h=>{$(h,{...a(d).data,...r.dataSignal.get(),Event:A},r,A)});break}case"failed":{let A=ne("failed",{error:S.body,status:S.status});d.client?.onFailed?.actions?.forEach(h=>{$(h,{...a(d).data,...r.dataSignal.get(),Event:A},r,A)});break}}}function u(c,d,S){let A=r.dataSignal.get().Apis?.[c.name]?.response?.performance?.requestStart;if(typeof A=="number"&&A>(S.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:S}}}});let h=s(c);h&&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:S,...r.env.runtime==="preview"?{debug:{appliedRedirectRule:h}}:{}}}}})}function m(c,d,S){let A=r.dataSignal.get().Apis?.[c.name]?.response?.performance?.requestStart;if(typeof A=="number"&&A>(S.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:S}}}});let h=s(c);h&&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:S,...r.env.runtime==="preview"?{debug:{appliedRedirectRule:h}}:{}}}}})}async function y(c,d,S){let A=async()=>{let h={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 D;try{if((c.server?.proxy?b(c.server.proxy.enabled.formula,a(c))??!1:!1)===!1)D=await fetch(d,S);else{let P=`/.toddle/omvej/components/${encodeURIComponent(r.component.name)}/apis/${encodeURIComponent(r.component.name)}:${encodeURIComponent(c.name)}`,x=new Headers(S.headers);x.set(co,decodeURIComponent(d.href.replace(/\+/g," "))),S.headers=x,D=await fetch(P,S)}h.responseStart=Date.now(),await i(c,D,h);return}catch(T){let P=T.cause?{message:T.message,data:T.cause}:T.message;return m(c,{body:P},{...h,responseEnd:Date.now()}),l("failed",c,{body:P}),Promise.reject(T)}};return c.client?.debounce?.formula?new Promise((h,D)=>{typeof t=="number"&&clearTimeout(t),t=setTimeout(()=>{A().then(h,D)},b(c.client?.debounce?.formula,a(c)))}):A()}function i(c,d,S){let A=c.client?.parserMode??"auto";if(A==="auto"){let h=d.headers.get("content-type");so(h)?A="event-stream":no(h)?A="json":ao(h)?A="text":io(h)?A="json-stream":lo(h)?A="blob":A="text"}switch(A){case"text":return p(c,d,S);case"json":return v(c,d,S);case"event-stream":return w(c,d,S);case"json-stream":return g(c,d,S);case"blob":return E(c,d,S);default:return p(c,d,S)}}function p(c,d,S){return C({api:c,res:d,performance:S,streamType:"text",useTextDecoder:!0,parseChunk:A=>A,parseChunksForData:A=>A.join("")})}function g(c,d,S){return C({api:c,res:d,performance:S,streamType:"json",useTextDecoder:!0,parseChunk:h=>{let D=h;try{D=JSON.parse(h)}catch{throw new Error("Error occurred while parsing the json chunk.",{cause:D})}return D},parseChunksForData:h=>[...h],delimiters:[`\r
260
+ `,`
261
+ `]})}async function v(c,d,S){let h={data:await d.json(),isLoading:!1,error:null,response:{status:d.status,headers:Object.fromEntries(d.headers.entries())}};return j(c,h,S)}async function E(c,d,S){let A=await d.blob(),h={isLoading:!1,data:URL.createObjectURL(A),error:null,response:{status:d.status,headers:Object.fromEntries(d.headers.entries())}};return j(c,h,S)}function w(c,d,S){return C({api:c,res:d,performance:S,streamType:"event",useTextDecoder:!0,parseChunk:h=>{let D=h.match(/event: (.*)/)?.[1]??"message",T=h.match(/data: (.*)/)?.[1]??"",P=h.match(/id: (.*)/)?.[1],x=h.match(/retry: (.*)/)?.[1],J=T;try{J=JSON.parse(T??"")}catch{}return{event:D,data:J,...P?{id:P}:{},...x?{retry:x}:{}}},parseChunksForData:h=>[...h],delimiters:[`
262
+
263
+ `,`\r
264
+ \r
265
+ `]})}async function C({api:c,res:d,performance:S,streamType:A,useTextDecoder:h,parseChunk:D,parseChunksForData:T,delimiters:P}){let x={chunks:[],currentChunk:"",add(H){let _=D(H);this.chunks.push(_),_&&(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:_}))},processChunk(H){let _=P?.find(me=>H.includes(me)),Tt=this.currentChunk+H,Nt=_?Tt.split(_):[Tt];this.currentChunk=Nt.pop()??"",Nt.forEach(me=>this.add(me))}},J=h?d.body?.pipeThrough(new TextDecoderStream).getReader():d.body?.getReader();for(;J;){let{done:H,value:_}=await J.read();if(H)break;P?x.processChunk(_):x.add(_)}x.currentChunk&&x.add(x.currentChunk);let Z={isLoading:!1,data:x.chunks,error:null,response:{status:d.status,headers:Object.fromEntries(d.headers.entries())}};try{if(A==="json"){let H=JSON.parse(x.chunks.join(""));Z.data=H}else A==="text"&&(Z.data=x.chunks.join(""))}catch{throw new Error("Error occurred while parsing the json chunk.",{cause:x.chunks.join("")})}return j(c,Z,S)}function j(c,d,S){S.responseEnd=Date.now();let A={body:d.data,status:d.response?.status,headers:d.response?.headers??void 0};Zt({apiName:c.name,response:{body:A.body,ok:!!(!d.error&&d.response?.status&&d.response.status<400),status:A.status,headers:A.headers},formulaContext:a(c),errorFormula:c.isError,performance:S})?(!A.body&&d.error&&(A.body=d.error),m(c,A,S),l("failed",c,A)):(u(c,A,S),l("success",c,A))}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?b(o.autoFetch,d):!1,proxy:b(o.server?.proxy?.enabled.formula,d)}}),F.subscribe(async c=>{if(o.autoFetch&&b(o.autoFetch,a(o)))if((window?.__toddle?.isPageLoaded??!1)===!1){let{url:d,requestSettings:S}=n(o),A=Qt(d,S),h=r.toddle.pageState.Apis?.[A];h?h.error?m(o,{body:h.error,status:h.response?.status,headers:h.response?.headers??void 0},{requestStart:h.response?.performance?.requestStart??null,responseStart:h.response?.performance?.responseStart??null,responseEnd:h.response?.performance?.responseEnd??null}):u(o,{body:h.data,status:h.response?.status,headers:h.response?.headers??void 0},{requestStart:h.response?.performance?.requestStart??null,responseStart:h.response?.performance?.responseStart??null,responseEnd:h.response?.performance?.responseEnd??null}):await y(o,d,S)}else{let{url:d,requestSettings:S}=n(o);await y(o,d,S)}else r.dataSignal.update(d=>({...d,Apis:{...d.Apis??{},[o.name]:{isLoading:!1,data:null,error:null}}}))}),{fetch:({actionInputs:c,actionModels:d})=>{let S=Object.entries(c??{}).reduce((T,[P,x])=>(x!==null&&typeof x=="object"&&"formula"in x?T[P]=x:T[P]={formula:{type:"value",value:x}},T),{}),A={...o,inputs:{...o.inputs,...S},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:h,requestSettings:D}=n(A);return y(A,h,D)},update:c=>{o=c;let d=a(o),S=o.autoFetch&&b(o.autoFetch,d);S&&F?.set({request:n(c),api:O(c),autoFetch:S,proxy:b(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 Eo=he(Y(),1);var de=class{batchQueue=[];isProcessing=!1;processBatch(){this.isProcessing||(this.isProcessing=!0,requestAnimationFrame(()=>{for(;this.batchQueue.length>0;)this.batchQueue.shift()?.();this.isProcessing=!1}))}add(r){this.batchQueue.push(r),this.processBatch()}};var Rt=he(Y(),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 fo(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 ce=e=>e.formulas&&Object.values(e.formulas).some(({exposeInContext:r})=>r)||e.workflows&&Object.values(e.workflows).some(({exposeInContext:r})=>r);function po(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,b(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,b(i.formula,u)]:(console.warn(`Could not find formula "${y}" in component "${o}"`),[y,null])}))}}))}})}function mo(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?hl(t.formula,e):{canCache:!1,keys:[]},a,s;return[r,{get:l=>o&&a&&n.every(u=>ee(l,u)===ee(a,u))?{hit:!0,data:s}:{hit:!1},set:(l,u)=>{o&&(a=l,s=u)}}]}):{}}function hl(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 ho({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"?b(O,{data:C,component:o.component,formulaCache:o.formulaCache,root:o.root,package:o.package,toddle:o.toddle,env:o.env}):O?.value])),y=K({Location:t.get().Location,Attributes:m.get(),Apis:L(u.apis,([C,j])=>[C,{data:null,isLoading:!!(j.autoFetch&&b(j.autoFetch,{data:t.get(),component:u,formulaCache:o.formulaCache,root:o.root,package:o.package,toddle:o.toddle,env:o.env})),error:null}])});po(y,u,o),y.update(C=>({...C,Variables:L(u.variables,([j,O])=>[j,b(O.initialValue,{data:y.get(),component:u,formulaCache:o.formulaCache,root:o.root,package:o.package,toddle:o.toddle,env:o.env})])})),mo(u,y);let i=new AbortController;y.subscribe(()=>{},{destroy:()=>i.abort(`Component ${u.name} unmounted`)});let p=go(u),g={};ae(Object.entries(u.apis)).forEach(([C,j])=>{oe(j)?g[C]=le(j,{...o,apis:g,component:u,dataSignal:y,abortSignal:i.signal,isRootComponent:!1,formulaCache:p,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))}}):g[C]=ue(j,{...o,apis:g,component:u,dataSignal:y,abortSignal:i.signal,isRootComponent:!1,formulaCache:p,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(g).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))},E=o.providers;if(ce(u)){let C=Object.fromEntries(Object.entries(u.formulas??{}).filter(([,j])=>j.exposeInContext).map(([j,O])=>[j,y.map(F=>b(O.formula,{data:F,component:u,formulaCache:o.formulaCache,root:o.root,package:o.package,toddle:o.toddle,env:o.env}))]));E={...E,[u.name]:{component:u,formulaDataSignals:C,ctx:{...o,apis:g,component:u,dataSignal:y,abortSignal:i.signal,triggerEvent:v}}}}let w={};for(let C=0;C<e.children.length;C++){let j=e.children[C],F=o.component.nodes[j].slot??"default";w[F]=w[F]??[],w[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()}),fe({dataSignal:y,component:u,components:o.components,path:r,root:o.root,isRootComponent:!1,children:w,formulaCache:p,providers:E,apis:g,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 yo(e){if(e instanceof DragEvent)return Array.from(e.dataTransfer?.items??[]).reduce((r,t)=>(r[t.type]=e.dataTransfer?.getData(t.type),r),{})}function bo(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]=N(o)?String(o):void 0;break}case"muted":case"autoplay":e instanceof HTMLMediaElement?e[r]=N(t):e.setAttribute(r,String(t));break;default:N(t)?(e.setAttribute(r,String(t)),r==="autofocus"&&document.body.getAttribute("data-mode")!=="design"&&setTimeout(()=>e.focus(),100)):e.removeAttribute(r)}}function vo({node:e,dataSignal:r,id:t,path:o,ctx:n,namespace:a,instance:s}){let l=bo(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=se([e.style,e.variants]);u.classList.add(m),s&&t==="root"&&Object.entries(s).forEach(([i,p])=>{u.classList.add(ie(`${i}:${p}`))}),e.classes&&Object.entries(e.classes)?.forEach(([i,{formula:p}])=>{p?r.map(v=>N(b(p,{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,p])=>{if(!R(p))return;let g,v=()=>{p.type==="value"?kt(u,i,p?.value):(g=r.map(E=>b(p,{data:E,component:n.component,formulaCache:n.formulaCache,root:n.root,package:n.package,toddle:n.toddle,env:n.env})),g.subscribe(E=>{kt(u,i,E)}))};i==="autofocus"&&n.env.runtime==="preview"&&n.toddle._preview?n.toddle._preview.showSignal.subscribe(({testMode:E})=>{E?v():(g?.destroy(),u.removeAttribute(i))}):v()}),e["style-variables"]?.forEach(({formula:i,name:p,unit:g})=>{r.map(E=>{let w=b(i,{data:E,component:n.component,formulaCache:n.formulaCache,root:n.root,package:n.package,toddle:n.toddle,env:n.env});return g?w+g:w}).subscribe(E=>u.style.setProperty(`--${p}`,E))}),Object.values(e.events).forEach(i=>{let p=g=>(i.actions.forEach(v=>{if(g instanceof DragEvent&&(g.data=yo(g)),g instanceof ClipboardEvent)try{g.data=Array.from(g.clipboardData?.items??[]).reduce((E,w)=>{try{E[w.type]=JSON.parse(g.clipboardData?.getData(w.type))}catch{E[w.type]=g.clipboardData?.getData(w.type)}return E},{})}catch(E){console.error("Could not get paste data",E)}$(v,{...r.get(),Event:g},n,g)}),!1);u.addEventListener(i.trigger,p)});let y=e.tag.toLocaleLowerCase();if(y==="script"||y==="style"){let i=[];e.children.map(p=>n.component.nodes[p]).filter(p=>p?.type==="text").forEach(p=>{if(p.value.type==="value")i.push(String(p.value.value));else{let g=r.map(v=>String(b(p.value,{data:v,component:n.component,formulaCache:n.formulaCache,root:n.root,package:n.package,toddle:n.toddle,env:n.env})));i.push(g)}}),i.every(p=>typeof p=="string")&&(u.textContent=i.join("")),i.filter(p=>typeof p!="string").forEach(p=>{p.subscribe(()=>{u.textContent=i.map(g=>typeof g=="string"?g:g.get()).join("")})})}else e.children.forEach((i,p)=>{W({parentElement:u,id:i,path:o+"."+p,dataSignal:r,ctx:n,namespace:a,instance:s}).forEach(v=>u.appendChild(v))});return u}function Ao({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 Co({node:e,id:r,path:t,dataSignal:o,namespace:n,ctx:a}){if(n&&n!=="http://www.w3.org/1999/xhtml")return yl({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(b(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 yl({node:e,dataSignal:r,ctx:t}){let{value:o}=e,n=document.createTextNode("");return o.type!=="value"?r.map(s=>String(b(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,...p})=>{switch(i.type){case"element":return[vo({node:i,...p})];case"component":let g=o.components.some(v=>v.name===i.name);return ho({node:{...i,id:e},...p,ctx:{...o,package:i.package??(g?void 0:o.package)},parentElement:a});case"text":return[Co({...p,node:i})];case"slot":return Ao({...p,node:i})}};function m({node:i,dataSignal:p,id:g,path:v,ctx:E,namespace:w,parentElement:C,instance:j}){let O=!0,F=null,c=p.map(A=>N(b(i.condition,{data:A,component:E.component,formulaCache:E.formulaCache,root:E.root,package:E.package,toddle:E.toddle,env:E.env}))),d=[],S=A=>{if(A&&d.length===0){if(F?.destroy(),F=p.map(D=>D),d.push(...u({node:i,dataSignal:F,path:v,id:g,ctx:E,namespace:w,parentElement:C,instance:j})),O)return;if(!C||E.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 h=Dt(v,C);for(let D of d)C.insertBefore(D,h)}else A||(F?.destroy(),d.forEach(h=>h.remove()),d.splice(0,d.length))};return c.subscribe(S,{destroy:()=>{F?.destroy()}}),E.env.runtime==="preview"&&E.toddle._preview&&E.toddle._preview.showSignal.subscribe(({displayedNodes:A,testMode:h})=>{A.includes(v)&&!h?S(!0):S(c.get())}),O=!1,d}function y(){let i=!0,p=new Map;return r.map(v=>{let E=b(l.repeat,{data:v,component:o.component,formulaCache:o.formulaCache,root:o.root,package:o.package,toddle:o.toddle,env:o.env});return typeof E!="object"?[]:Object.entries(E??{})}).subscribe(v=>{let E=new Map;for(let w=0;w<v.length;w++){let[C,j]=v[w],O={...r.get(),ListItem:{...r.get().ListItem?{Parent:r.get().ListItem}:{},Item:j,Index:Number(w),Key:C}},F=l.repeatKey?b(l.repeatKey,{data:O,component:o.component,formulaCache:o.formulaCache,root:o.root,package:o.package,toddle:o.toddle,env:o.env}):C;E.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=p.get(F);if(c)E.set(F,c),c.dataSignal.update(d=>({...d,ListItem:{...r.get().ListItem?{Parent:r.get().ListItem}:{},Item:j,Index:Number(w),Key:C}}));else{let d=K(O),S=r.subscribe(D=>{i||d.update(({ListItem:T})=>({...D,ListItem:T}))},{destroy:()=>d.destroy()}),A={node:l,id:e,dataSignal:d,path:C==="0"?t:`${t}(${C})`,ctx:o,namespace:n,parentElement:a,instance:s},h=l.condition?m(A):u(A);E.set(F,{dataSignal:d,cleanup:S,elements:h})}}if(Array.from(p.entries()).forEach(([w,C])=>{E.has(w)||(C.cleanup(),C.dataSignal.destroy(),C.elements.forEach(j=>j.remove()))}),p=E,!(i||p.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}fo(a,Array.from(p.values()).flatMap(w=>w.elements),Dt(t,a))}},{destroy:()=>Array.from(p.values()).forEach(v=>{v.cleanup(),v.dataSignal.destroy(),v.elements.forEach(E=>E.remove())})}),i=!1,Array.from(p.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 bl=new de;function fe({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:p,parentElement:g,instance:v,toddle:E,namespace:w,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:p,toddle:E,env:C},O=W({id:"root",path:n,dataSignal:r,ctx:j,parentElement:g,namespace:w,instance:v});return bl.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((S,[A,h])=>((0,Eo.default)(h,F[A])===!1&&e.attributes[A]?.name&&(S[e.attributes[A]?.name]={current:F[A],new:h}),S),{})}))}),F=c}),e.onLoad?.actions.forEach(c=>{$(c,r.get(),j)})}),O}var pe=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=vl({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(){ae(Object.entries(this.#t.apis)).forEach(([t,o])=>{oe(o)?this.#e.apis[t]=le(o,this.#e):this.#e.apis[t]=ue(o,this.#e)}),Object.values(this.#e.apis).filter(t=>t.triggerActions!==void 0).forEach(t=>{t.triggerActions()});let r=this.#e.providers;if(ce(this.#t)){let t=Object.fromEntries(Object.entries(this.#t.formulas??{}).filter(([,o])=>o.exposeInContext).map(([o,n])=>[o,this.#r.map(a=>b(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=fe({...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}},vl=({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,b(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 Al=(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 pe{constructor(){super(o,r,t)}static get observedAttributes(){return Object.keys(o.attributes??{}).map(a=>a.toLowerCase())}})})};var gc=(e=window.toddle)=>{e.isEqual=So.default,Object.entries(St).forEach(([r,t])=>e.registerFormula("@toddle/"+r,t.default,"getArgumentInputData"in t?t.getArgumentInputData:void 0)),Object.entries(xe).forEach(([r,t])=>e.registerAction("@toddle/"+r,t.default))};export{Al as defineComponents,gc as loadCorePlugins};
266
+ //# sourceMappingURL=custom-element.main.esm.js.map