miravo 0.4.0 → 0.6.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 (161) hide show
  1. package/README.md +1 -1
  2. package/console-dist/assets/activity-DsWeRq4h.js +1 -0
  3. package/console-dist/assets/api-4AqKvsm9.js +1 -0
  4. package/console-dist/assets/arrow-right-Ea_UhTNi.js +1 -0
  5. package/console-dist/assets/arrow-up-down-DFSjzzl2.js +1 -0
  6. package/console-dist/assets/blueprint-card-classes-DBFCDy0M.js +1 -0
  7. package/console-dist/assets/box-C1WaoOMF.js +1 -0
  8. package/console-dist/assets/card-BjeP32PN.js +1 -0
  9. package/console-dist/assets/catalog-BJzyzbLR.js +1 -0
  10. package/console-dist/assets/catalog-DKjEm-c4.js +1 -0
  11. package/console-dist/assets/catalog-template-icons-BrUeHaCY.js +1 -0
  12. package/console-dist/assets/checkbox-DZlJXTE4.js +1 -0
  13. package/console-dist/assets/chunk-OE4NN4TA-CEjpfhS6.js +3 -0
  14. package/console-dist/assets/combobox-BGnuCYxO.js +1 -0
  15. package/console-dist/assets/control-CPhvwx9o.js +1 -0
  16. package/console-dist/assets/control-Cg2up9NA.js +1 -0
  17. package/console-dist/assets/copy-button-WkbNkMcd.js +1 -0
  18. package/console-dist/assets/createLucideIcon-Bwxw859K.js +1 -0
  19. package/console-dist/assets/deploy-tab-JeWDwPoZ.js +1 -0
  20. package/console-dist/assets/dist-BhbDML0a.js +1 -0
  21. package/console-dist/assets/dist-Cy8XTNFT.js +2 -0
  22. package/console-dist/assets/download-DQ6NH16U.js +1 -0
  23. package/console-dist/assets/engine-store-CrLnz692.js +1 -0
  24. package/console-dist/assets/events-CXm29Ok4.js +1 -0
  25. package/console-dist/assets/events-D01IxhnP.js +1 -0
  26. package/console-dist/assets/fleet-CfxbKXt9.js +1 -0
  27. package/console-dist/assets/fleet-lotMGVqe.js +1 -0
  28. package/console-dist/assets/format-kXTonpDJ.js +1 -0
  29. package/console-dist/assets/gauge-Ci8zNZlk.js +1 -0
  30. package/console-dist/assets/get-error-message-3Q5Q-2G5.js +1 -0
  31. package/console-dist/assets/index-CVPKSDvJ.js +12 -0
  32. package/console-dist/assets/index-DJkgDeun.css +2 -0
  33. package/console-dist/assets/input-BWEQFptx.js +1 -0
  34. package/console-dist/assets/instance-detail-C5IVwuh3.js +1 -0
  35. package/console-dist/assets/label-uephX5ZG.js +1 -0
  36. package/console-dist/assets/layers-CUsLQ1fq.js +1 -0
  37. package/console-dist/assets/login-C3RJli0m.js +126 -0
  38. package/console-dist/assets/models-B_UioWQ5.js +1 -0
  39. package/console-dist/assets/models-_IPlPiZ7.js +1 -0
  40. package/console-dist/assets/not-found-B8gAm08S.js +1 -0
  41. package/console-dist/assets/platform-targets-R3T-4eJ7.js +1 -0
  42. package/console-dist/assets/platforms-BWh0BQ3Y.js +1 -0
  43. package/console-dist/assets/platforms-DStNbtVc.js +1 -0
  44. package/console-dist/assets/proxy-CsnYqnPp.js +9 -0
  45. package/console-dist/assets/query-keys-BvtE7BMs.js +1 -0
  46. package/console-dist/assets/radio-CoHegOv5.js +1 -0
  47. package/console-dist/assets/rolldown-runtime-COnpUsM8.js +1 -0
  48. package/console-dist/assets/select-CeO4vP0G.js +1 -0
  49. package/console-dist/assets/select-display-items-CIzY8953.js +1 -0
  50. package/console-dist/assets/server-D9Kfn8fQ.js +1 -0
  51. package/console-dist/assets/shallow-6lGjQhtJ.js +1 -0
  52. package/console-dist/assets/tags-CiXOIHtY.js +4 -0
  53. package/console-dist/assets/tags-FQCXIxrP.js +1 -0
  54. package/console-dist/assets/tooltip-HGLF366Q.js +1 -0
  55. package/console-dist/assets/transition-nav-link-Df4Rk6vV.js +1 -0
  56. package/console-dist/assets/transition-types-CPlGtM8w.js +1 -0
  57. package/console-dist/assets/triangle-alert-adNk_sea.js +1 -0
  58. package/console-dist/assets/use-platform-stream-DGbK1k2L.js +2 -0
  59. package/console-dist/assets/use-transition-navigate-CCpcWXB0.js +2 -0
  60. package/console-dist/assets/validation-Blvud9_O.js +1 -0
  61. package/console-dist/assets/vendor-charts-CAZdaPlq.js +60 -0
  62. package/console-dist/assets/vendor-table-wd8JuMmT.js +4 -0
  63. package/console-dist/assets/vendor-ui-ByahnaY0.js +1 -0
  64. package/console-dist/index.html +70 -2
  65. package/package.json +9 -8
  66. package/src/__tests__/integration/executable-methods-runner.ts +7 -6
  67. package/src/__tests__/integration/executable-methods.integration.ts +214 -122
  68. package/src/__tests__/integration/opcua-concurrent-clients.integration.ts +314 -0
  69. package/src/commands/adapter.ts +180 -7
  70. package/src/commands/apply.test.ts +62 -0
  71. package/src/commands/apply.ts +216 -0
  72. package/src/commands/cleanup.test.ts +34 -0
  73. package/src/commands/cleanup.ts +201 -0
  74. package/src/commands/export.test.ts +51 -0
  75. package/src/commands/export.ts +404 -0
  76. package/src/commands/fork.ts +2 -2
  77. package/src/commands/inject.ts +2 -2
  78. package/src/commands/load.ts +1 -1
  79. package/src/commands/logs.ts +13 -15
  80. package/src/commands/models.test.ts +1 -1
  81. package/src/commands/models.ts +1 -1
  82. package/src/commands/pause.ts +3 -3
  83. package/src/commands/platforms.test.ts +186 -0
  84. package/src/commands/platforms.ts +371 -0
  85. package/src/commands/remove.ts +1 -1
  86. package/src/commands/reset.ts +2 -2
  87. package/src/commands/spawn.ts +2 -2
  88. package/src/commands/speed.ts +2 -2
  89. package/src/commands/start/adapter-config.ts +157 -0
  90. package/src/commands/start/catalog-le-dt.test.ts +50 -0
  91. package/src/commands/start/catalog-le-dt.ts +187 -0
  92. package/src/commands/start/catalog-model-schema.ts +89 -0
  93. package/src/commands/start/catalog-template-detail.ts +54 -0
  94. package/src/commands/start/daemon.ts +255 -0
  95. package/src/commands/start/display.ts +150 -0
  96. package/src/commands/start/engine-setup.ts +247 -0
  97. package/src/commands/start/events.ts +126 -0
  98. package/src/commands/start/index.ts +897 -0
  99. package/src/commands/start/protocol-plans.ts +239 -0
  100. package/src/commands/start/template-loader.ts +197 -0
  101. package/src/commands/start/template-resolver.ts +185 -0
  102. package/src/commands/start/types.ts +73 -0
  103. package/src/commands/start.test.ts +137 -16
  104. package/src/commands/status.ts +1 -1
  105. package/src/commands/stop.ts +19 -8
  106. package/src/commands/templates.test.ts +1 -1
  107. package/src/commands/templates.ts +1 -3
  108. package/src/index.ts +11 -3
  109. package/src/lib/admin-auth.ts +157 -0
  110. package/src/lib/admin-client.test.ts +31 -15
  111. package/src/lib/admin-client.ts +106 -6
  112. package/src/lib/admin-platform-routes.ts +1017 -0
  113. package/src/lib/admin-platform-stream.test.ts +434 -0
  114. package/src/lib/admin-platform-stream.ts +788 -0
  115. package/src/lib/admin-responses.ts +211 -0
  116. package/src/lib/admin-server.test.ts +274 -55
  117. package/src/lib/admin-server.ts +387 -248
  118. package/src/lib/auth-store.ts +87 -0
  119. package/src/lib/daemon-registry.ts +12 -14
  120. package/src/lib/le/le-apply.test.ts +591 -0
  121. package/src/lib/le/le-apply.ts +832 -0
  122. package/src/lib/le/le-auth.ts +89 -0
  123. package/src/lib/le/le-cleanup.test.ts +168 -0
  124. package/src/lib/le/le-cleanup.ts +399 -0
  125. package/src/lib/le/le-cli-helpers.ts +77 -0
  126. package/src/lib/le/le-client.ts +184 -0
  127. package/src/lib/le/le-concurrency.test.ts +157 -0
  128. package/src/lib/le/le-concurrency.ts +78 -0
  129. package/src/lib/le/le-connection-test.ts +42 -0
  130. package/src/lib/le/le-devicehub-properties.test.ts +53 -0
  131. package/src/lib/le/le-devicehub-properties.ts +33 -0
  132. package/src/lib/le/le-devicehub.ts +213 -0
  133. package/src/lib/le/le-digital-twins.ts +285 -0
  134. package/src/lib/le/le-drivers.ts +23 -0
  135. package/src/lib/le/le-endpoint.ts +40 -0
  136. package/src/lib/le/le-environments.test.ts +73 -0
  137. package/src/lib/le/le-environments.ts +156 -0
  138. package/src/lib/le/le-markers.ts +87 -0
  139. package/src/lib/le/le-plan.test.ts +26 -0
  140. package/src/lib/le/le-plan.ts +109 -0
  141. package/src/lib/le/le-platform-operations.test.ts +198 -0
  142. package/src/lib/le/le-platform-operations.ts +340 -0
  143. package/src/lib/le/le-static-model-schema.ts +78 -0
  144. package/src/lib/le/le-static-planner.test.ts +255 -0
  145. package/src/lib/le/le-static-planner.ts +442 -0
  146. package/src/lib/le/le-template-exporter.test.ts +527 -0
  147. package/src/lib/le/le-template-exporter.ts +459 -0
  148. package/src/lib/le/le-value-types.ts +23 -0
  149. package/src/lib/mqtt-client.ts +1 -2
  150. package/src/lib/resolve-simulation.ts +1 -6
  151. package/src/lib/session-store.ts +110 -0
  152. package/src/lib/shutdown.test.ts +184 -2
  153. package/src/lib/shutdown.ts +104 -34
  154. package/src/lib/template-category.ts +3 -3
  155. package/src/lib/template-locator.ts +8 -2
  156. package/src/lib/ws-hub.ts +72 -46
  157. package/src/logger.ts +39 -14
  158. package/src/output.ts +3 -0
  159. package/console-dist/assets/index-C3XMYq26.css +0 -2
  160. package/console-dist/assets/index-hUJSpKtB.js +0 -119
  161. package/src/commands/start.ts +0 -2023
@@ -0,0 +1,9 @@
1
+ import{a as e,i as t,n,r}from"./rolldown-runtime-COnpUsM8.js";import{s as i}from"./vendor-charts-CAZdaPlq.js";import{at as a}from"./vendor-ui-ByahnaY0.js";var o=a(),s=e(i(),1),c=(0,s.createContext)({});function l(e){let t=(0,s.useRef)(null);return t.current===null&&(t.current=e()),t.current}var u=typeof window<`u`?s.useLayoutEffect:s.useEffect,d=(0,s.createContext)(null);function f(e,t){e.indexOf(t)===-1&&e.push(t)}function p(e,t){let n=e.indexOf(t);n>-1&&e.splice(n,1)}var m=(e,t,n)=>n>t?t:n<e?e:n,h={},g=e=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e);function _(e){return typeof e==`object`&&!!e}var v=e=>/^0[^.\s]+$/u.test(e);function y(e){let t;return()=>(t===void 0&&(t=e()),t)}var b=e=>e,x=(e,t)=>n=>t(e(n)),S=(...e)=>e.reduce(x),C=(e,t,n)=>{let r=t-e;return r===0?1:(n-e)/r},w=class{constructor(){this.subscriptions=[]}add(e){return f(this.subscriptions,e),()=>p(this.subscriptions,e)}notify(e,t,n){let r=this.subscriptions.length;if(r)if(r===1)this.subscriptions[0](e,t,n);else for(let i=0;i<r;i++){let r=this.subscriptions[i];r&&r(e,t,n)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}},T=e=>e*1e3,E=e=>e/1e3;function D(e,t){return t?1e3/t*e:0}var ee=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,te=1e-7,ne=12;function re(e,t,n,r,i){let a,o,s=0;do o=t+(n-t)/2,a=ee(o,r,i)-e,a>0?n=o:t=o;while(Math.abs(a)>te&&++s<ne);return o}function ie(e,t,n,r){if(e===t&&n===r)return b;let i=t=>re(t,0,1,e,n);return e=>e===0||e===1?e:ee(i(e),t,r)}var ae=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,oe=e=>t=>1-e(1-t),se=ie(.33,1.53,.69,.99),ce=oe(se),le=ae(ce),ue=e=>e>=1?1:(e*=2)<1?.5*ce(e):.5*(2-2**(-10*(e-1))),de=e=>1-Math.sin(Math.acos(e)),fe=oe(de),pe=ae(de),me=ie(.42,0,1,1),he=ie(0,0,.58,1),ge=ie(.42,0,.58,1),_e=e=>Array.isArray(e)&&typeof e[0]!=`number`,ve=e=>Array.isArray(e)&&typeof e[0]==`number`,ye={linear:b,easeIn:me,easeInOut:ge,easeOut:he,circIn:de,circInOut:pe,circOut:fe,backIn:ce,backInOut:le,backOut:se,anticipate:ue},be=e=>typeof e==`string`,xe=e=>{if(ve(e)){e.length;let[t,n,r,i]=e;return ie(t,n,r,i)}else if(be(e))return ye[e],`${e}`,ye[e];return e},Se=[`setup`,`read`,`resolveKeyframes`,`preUpdate`,`update`,`preRender`,`render`,`postRender`],O={value:null,addProjectionMetrics:null};function Ce(e,t){let n=new Set,r=new Set,i=!1,a=!1,o=new WeakSet,s={delta:0,timestamp:0,isProcessing:!1},c=0;function l(t){o.has(t)&&(u.schedule(t),e()),c++,t(s)}let u={schedule:(e,t=!1,a=!1)=>{let s=a&&i?n:r;return t&&o.add(e),s.add(e),e},cancel:e=>{r.delete(e),o.delete(e)},process:e=>{if(s=e,i){a=!0;return}i=!0;let o=n;n=r,r=o,n.forEach(l),t&&O.value&&O.value.frameloop[t].push(c),c=0,n.clear(),i=!1,a&&(a=!1,u.process(e))}};return u}var we=40;function Te(e,t){let n=!1,r=!0,i={delta:0,timestamp:0,isProcessing:!1},a=()=>n=!0,o=Se.reduce((e,n)=>(e[n]=Ce(a,t?n:void 0),e),{}),{setup:s,read:c,resolveKeyframes:l,preUpdate:u,update:d,preRender:f,render:p,postRender:m}=o,g=()=>{let a=h.useManualTiming,o=a?i.timestamp:performance.now();n=!1,a||(i.delta=r?1e3/60:Math.max(Math.min(o-i.timestamp,we),1)),i.timestamp=o,i.isProcessing=!0,s.process(i),c.process(i),l.process(i),u.process(i),d.process(i),f.process(i),p.process(i),m.process(i),i.isProcessing=!1,n&&t&&(r=!1,e(g))},_=()=>{n=!0,r=!0,i.isProcessing||e(g)};return{schedule:Se.reduce((e,t)=>{let r=o[t];return e[t]=(e,t=!1,i=!1)=>(n||_(),r.schedule(e,t,i)),e},{}),cancel:e=>{for(let t=0;t<Se.length;t++)o[Se[t]].cancel(e)},state:i,steps:o}}var{schedule:k,cancel:A,state:j,steps:Ee}=Te(typeof requestAnimationFrame<`u`?requestAnimationFrame:b,!0),De;function Oe(){De=void 0}var M={now:()=>(De===void 0&&M.set(j.isProcessing||h.useManualTiming?j.timestamp:performance.now()),De),set:e=>{De=e,queueMicrotask(Oe)}},N={layout:0,mainThread:0,waapi:0},ke=e=>t=>typeof t==`string`&&t.startsWith(e),Ae=ke(`--`),je=ke(`var(--`),Me=e=>je(e)?Ne.test(e.split(`/*`)[0].trim()):!1,Ne=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;function Pe(e){return typeof e==`string`?e.split(`/*`)[0].includes(`var(--`):!1}var Fe={test:e=>typeof e==`number`,parse:parseFloat,transform:e=>e},Ie={...Fe,transform:e=>m(0,1,e)},Le={...Fe,default:1},Re=e=>Math.round(e*1e5)/1e5,ze=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function Be(e){return e==null}var Ve=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,He=(e,t)=>n=>!!(typeof n==`string`&&Ve.test(n)&&n.startsWith(e)||t&&!Be(n)&&Object.prototype.hasOwnProperty.call(n,t)),Ue=(e,t,n)=>r=>{if(typeof r!=`string`)return r;let[i,a,o,s]=r.match(ze);return{[e]:parseFloat(i),[t]:parseFloat(a),[n]:parseFloat(o),alpha:s===void 0?1:parseFloat(s)}},We=e=>m(0,255,e),Ge={...Fe,transform:e=>Math.round(We(e))},Ke={test:He(`rgb`,`red`),parse:Ue(`red`,`green`,`blue`),transform:({red:e,green:t,blue:n,alpha:r=1})=>`rgba(`+Ge.transform(e)+`, `+Ge.transform(t)+`, `+Ge.transform(n)+`, `+Re(Ie.transform(r))+`)`};function qe(e){let t=``,n=``,r=``,i=``;return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),i=e.substring(4,5),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}var Je={test:He(`#`),parse:qe,transform:Ke.transform},Ye=e=>({test:t=>typeof t==`string`&&t.endsWith(e)&&t.split(` `).length===1,parse:parseFloat,transform:t=>`${t}${e}`}),P=Ye(`deg`),F=Ye(`%`),I=Ye(`px`),Xe=Ye(`vh`),Ze=Ye(`vw`),Qe={...F,parse:e=>F.parse(e)/100,transform:e=>F.transform(e*100)},$e={test:He(`hsl`,`hue`),parse:Ue(`hue`,`saturation`,`lightness`),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>`hsla(`+Math.round(e)+`, `+F.transform(Re(t))+`, `+F.transform(Re(n))+`, `+Re(Ie.transform(r))+`)`},L={test:e=>Ke.test(e)||Je.test(e)||$e.test(e),parse:e=>Ke.test(e)?Ke.parse(e):$e.test(e)?$e.parse(e):Je.parse(e),transform:e=>typeof e==`string`?e:e.hasOwnProperty(`red`)?Ke.transform(e):$e.transform(e),getAnimatableNone:e=>{let t=L.parse(e);return t.alpha=0,L.transform(t)}},et=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function tt(e){return isNaN(e)&&typeof e==`string`&&(e.match(ze)?.length||0)+(e.match(et)?.length||0)>0}var nt=`number`,rt=`color`,it=`var`,at=`var(`,ot="${}",st=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function ct(e){let t=e.toString(),n=[],r={color:[],number:[],var:[]},i=[],a=0;return{values:n,split:t.replace(st,e=>(L.test(e)?(r.color.push(a),i.push(rt),n.push(L.parse(e))):e.startsWith(at)?(r.var.push(a),i.push(it),n.push(e)):(r.number.push(a),i.push(nt),n.push(parseFloat(e))),++a,ot)).split(ot),indexes:r,types:i}}function lt(e){return ct(e).values}function ut({split:e,types:t}){let n=e.length;return r=>{let i=``;for(let a=0;a<n;a++)if(i+=e[a],r[a]!==void 0){let e=t[a];e===nt?i+=Re(r[a]):e===rt?i+=L.transform(r[a]):i+=r[a]}return i}}function dt(e){return ut(ct(e))}var ft=e=>typeof e==`number`?0:L.test(e)?L.getAnimatableNone(e):e,pt=(e,t)=>typeof e==`number`?t?.trim().endsWith(`/`)?e:0:ft(e);function mt(e){let t=ct(e);return ut(t)(t.values.map((e,n)=>pt(e,t.split[n])))}var R={test:tt,parse:lt,createTransformer:dt,getAnimatableNone:mt};function ht(e,t,n){return n<0&&(n+=1),n>1&&--n,n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function gt({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,a=0,o=0;if(!t)i=a=o=n;else{let r=n<.5?n*(1+t):n+t-n*t,s=2*n-r;i=ht(s,r,e+1/3),a=ht(s,r,e),o=ht(s,r,e-1/3)}return{red:Math.round(i*255),green:Math.round(a*255),blue:Math.round(o*255),alpha:r}}function _t(e,t){return n=>n>0?t:e}var z=(e,t,n)=>e+(t-e)*n,vt=(e,t,n)=>{let r=e*e,i=n*(t*t-r)+r;return i<0?0:Math.sqrt(i)},yt=[Je,Ke,$e],bt=e=>yt.find(t=>t.test(e));function xt(e){let t=bt(e);if(`${e}`,!t)return!1;let n=t.parse(e);return t===$e&&(n=gt(n)),n}var St=(e,t)=>{let n=xt(e),r=xt(t);if(!n||!r)return _t(e,t);let i={...n};return e=>(i.red=vt(n.red,r.red,e),i.green=vt(n.green,r.green,e),i.blue=vt(n.blue,r.blue,e),i.alpha=z(n.alpha,r.alpha,e),Ke.transform(i))},Ct=new Set([`none`,`hidden`]);function wt(e,t){return Ct.has(e)?n=>n<=0?e:t:n=>n>=1?t:e}function Tt(e,t){return n=>z(e,t,n)}function Et(e){return typeof e==`number`?Tt:typeof e==`string`?Me(e)?_t:L.test(e)?St:At:Array.isArray(e)?Dt:typeof e==`object`?L.test(e)?St:Ot:_t}function Dt(e,t){let n=[...e],r=n.length,i=e.map((e,n)=>Et(e)(e,t[n]));return e=>{for(let t=0;t<r;t++)n[t]=i[t](e);return n}}function Ot(e,t){let n={...e,...t},r={};for(let i in n)e[i]!==void 0&&t[i]!==void 0&&(r[i]=Et(e[i])(e[i],t[i]));return e=>{for(let t in r)n[t]=r[t](e);return n}}function kt(e,t){let n=[],r={color:0,var:0,number:0};for(let i=0;i<t.values.length;i++){let a=t.types[i],o=e.indexes[a][r[a]];n[i]=e.values[o]??0,r[a]++}return n}var At=(e,t)=>{let n=R.createTransformer(t),r=ct(e),i=ct(t);return r.indexes.var.length===i.indexes.var.length&&r.indexes.color.length===i.indexes.color.length&&r.indexes.number.length>=i.indexes.number.length?Ct.has(e)&&!i.values.length||Ct.has(t)&&!r.values.length?wt(e,t):S(Dt(kt(r,i),i.values),n):(`${e}${t}`,_t(e,t))};function jt(e,t,n){return typeof e==`number`&&typeof t==`number`&&typeof n==`number`?z(e,t,n):Et(e)(e,t)}var Mt=e=>{let t=({timestamp:t})=>e(t);return{start:(e=!0)=>k.update(t,e),stop:()=>A(t),now:()=>j.isProcessing?j.timestamp:M.now()}},Nt=(e,t,n=10)=>{let r=``,i=Math.max(Math.round(t/n),2);for(let t=0;t<i;t++)r+=Math.round(e(t/(i-1))*1e4)/1e4+`, `;return`linear(${r.substring(0,r.length-2)})`},Pt=2e4;function Ft(e){let t=0,n=e.next(t);for(;!n.done&&t<2e4;)t+=50,n=e.next(t);return t>=2e4?1/0:t}function It(e,t=100,n){let r=n({...e,keyframes:[0,t]}),i=Math.min(Ft(r),Pt);return{type:`keyframes`,ease:e=>r.next(i*e).value/t,duration:E(i)}}var B={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1};function Lt(e,t){return e*Math.sqrt(1-t*t)}var Rt=12;function zt(e,t,n){let r=n;for(let n=1;n<Rt;n++)r-=e(r)/t(r);return r}var Bt=.001;function Vt({duration:e=B.duration,bounce:t=B.bounce,velocity:n=B.velocity,mass:r=B.mass}){let i,a;B.maxDuration;let o=1-t;o=m(B.minDamping,B.maxDamping,o),e=m(B.minDuration,B.maxDuration,E(e)),o<1?(i=t=>{let r=t*o,i=r*e,a=r-n,s=Lt(t,o),c=Math.exp(-i);return Bt-a/s*c},a=t=>{let r=t*o*e,a=r*n+n,s=o**2*t**2*e,c=Math.exp(-r),l=Lt(t**2,o);return(-i(t)+Bt>0?-1:1)*((a-s)*c)/l}):(i=t=>{let r=Math.exp(-t*e),i=(t-n)*e+1;return-Bt+r*i},a=t=>Math.exp(-t*e)*((n-t)*(e*e)));let s=5/e,c=zt(i,a,s);if(e=T(e),isNaN(c))return{stiffness:B.stiffness,damping:B.damping,duration:e};{let t=c**2*r;return{stiffness:t,damping:o*2*Math.sqrt(r*t),duration:e}}}var Ht=[`duration`,`bounce`],Ut=[`stiffness`,`damping`,`mass`];function Wt(e,t){return t.some(t=>e[t]!==void 0)}function Gt(e){let t={velocity:B.velocity,stiffness:B.stiffness,damping:B.damping,mass:B.mass,isResolvedFromDuration:!1,...e};if(!Wt(e,Ut)&&Wt(e,Ht))if(t.velocity=0,e.visualDuration){let n=e.visualDuration,r=2*Math.PI/(n*1.2),i=r*r,a=2*m(.05,1,1-(e.bounce||0))*Math.sqrt(i);t={...t,mass:B.mass,stiffness:i,damping:a}}else{let n=Vt({...e,velocity:0});t={...t,...n,mass:B.mass},t.isResolvedFromDuration=!0}return t}function Kt(e=B.visualDuration,t=B.bounce){let n=typeof e==`object`?e:{visualDuration:e,keyframes:[0,1],bounce:t},{restSpeed:r,restDelta:i}=n,a=n.keyframes[0],o=n.keyframes[n.keyframes.length-1],s={done:!1,value:a},{stiffness:c,damping:l,mass:u,duration:d,velocity:f,isResolvedFromDuration:p}=Gt({...n,velocity:-E(n.velocity||0)}),m=f||0,h=l/(2*Math.sqrt(c*u)),g=o-a,_=E(Math.sqrt(c/u)),v=Math.abs(g)<5;r||=v?B.restSpeed.granular:B.restSpeed.default,i||=v?B.restDelta.granular:B.restDelta.default;let y,b,x,S,C,w;if(h<1)x=Lt(_,h),S=(m+h*_*g)/x,y=e=>o-Math.exp(-h*_*e)*(S*Math.sin(x*e)+g*Math.cos(x*e)),C=h*_*S+g*x,w=h*_*g-S*x,b=e=>Math.exp(-h*_*e)*(C*Math.sin(x*e)+w*Math.cos(x*e));else if(h===1){y=e=>o-Math.exp(-_*e)*(g+(m+_*g)*e);let e=m+_*g;b=t=>Math.exp(-_*t)*(_*e*t-m)}else{let e=_*Math.sqrt(h*h-1);y=t=>{let n=Math.exp(-h*_*t),r=Math.min(e*t,300);return o-n*((m+h*_*g)*Math.sinh(r)+e*g*Math.cosh(r))/e};let t=(m+h*_*g)/e,n=h*_*t-g*e,r=h*_*g-t*e;b=t=>{let i=Math.exp(-h*_*t),a=Math.min(e*t,300);return i*(n*Math.sinh(a)+r*Math.cosh(a))}}let D={calculatedDuration:p&&d||null,velocity:e=>T(b(e)),next:e=>{if(!p&&h<1){let t=Math.exp(-h*_*e),n=Math.sin(x*e),a=Math.cos(x*e),c=o-t*(S*n+g*a),l=T(t*(C*n+w*a));return s.done=Math.abs(l)<=r&&Math.abs(o-c)<=i,s.value=s.done?o:c,s}let t=y(e);if(p)s.done=e>=d;else{let n=T(b(e));s.done=Math.abs(n)<=r&&Math.abs(o-t)<=i}return s.value=s.done?o:t,s},toString:()=>{let e=Math.min(Ft(D),Pt),t=Nt(t=>D.next(e*t).value,e,30);return e+`ms `+t},toTransition:()=>{}};return D}Kt.applyToOptions=e=>{let t=It(e,100,Kt);return e.ease=t.ease,e.duration=T(t.duration),e.type=`keyframes`,e};var qt=5;function Jt(e,t,n){let r=Math.max(t-qt,0);return D(n-e(r),t-r)}function Yt({keyframes:e,velocity:t=0,power:n=.8,timeConstant:r=325,bounceDamping:i=10,bounceStiffness:a=500,modifyTarget:o,min:s,max:c,restDelta:l=.5,restSpeed:u}){let d=e[0],f={done:!1,value:d},p=e=>s!==void 0&&e<s||c!==void 0&&e>c,m=e=>s===void 0?c:c===void 0||Math.abs(s-e)<Math.abs(c-e)?s:c,h=n*t,g=d+h,_=o===void 0?g:o(g);_!==g&&(h=_-d);let v=e=>-h*Math.exp(-e/r),y=e=>_+v(e),b=e=>{let t=v(e),n=y(e);f.done=Math.abs(t)<=l,f.value=f.done?_:n},x,S,C=e=>{p(f.value)&&(x=e,S=Kt({keyframes:[f.value,m(f.value)],velocity:Jt(y,e,f.value),damping:i,stiffness:a,restDelta:l,restSpeed:u}))};return C(0),{calculatedDuration:null,next:e=>{let t=!1;return!S&&x===void 0&&(t=!0,b(e),C(e)),x!==void 0&&e>=x?S.next(e-x):(!t&&b(e),f)}}}function Xt(e,t,n){let r=[],i=n||h.mix||jt,a=e.length-1;for(let n=0;n<a;n++){let a=i(e[n],e[n+1]);t&&(a=S(Array.isArray(t)?t[n]||b:t,a)),r.push(a)}return r}function Zt(e,t,{clamp:n=!0,ease:r,mixer:i}={}){let a=e.length;if(t.length,a===1)return()=>t[0];if(a===2&&t[0]===t[1])return()=>t[1];let o=e[0]===e[1];e[0]>e[a-1]&&(e=[...e].reverse(),t=[...t].reverse());let s=Xt(t,r,i),c=s.length,l=n=>{if(o&&n<e[0])return t[0];let r=0;if(c>1)for(;r<e.length-2&&!(n<e[r+1]);r++);let i=C(e[r],e[r+1],n);return s[r](i)};return n?t=>l(m(e[0],e[a-1],t)):l}function Qt(e,t){let n=e[e.length-1];for(let r=1;r<=t;r++){let i=C(0,t,r);e.push(z(n,1,i))}}function $t(e){let t=[0];return Qt(t,e.length-1),t}function en(e,t){return e.map(e=>e*t)}function tn(e,t){return e.map(()=>t||ge).splice(0,e.length-1)}function nn({duration:e=300,keyframes:t,times:n,ease:r=`easeInOut`}){let i=_e(r)?r.map(xe):xe(r),a={done:!1,value:t[0]},o=Zt(en(n&&n.length===t.length?n:$t(t),e),t,{ease:Array.isArray(i)?i:tn(t,i)});return{calculatedDuration:e,next:t=>(a.value=o(t),a.done=t>=e,a)}}var rn=e=>e!==null;function an(e,{repeat:t,repeatType:n=`loop`},r,i=1){let a=e.filter(rn),o=i<0||t&&n!==`loop`&&t%2==1?0:a.length-1;return!o||r===void 0?a[o]:r}var on={decay:Yt,inertia:Yt,tween:nn,keyframes:nn,spring:Kt};function sn(e){typeof e.type==`string`&&(e.type=on[e.type])}var cn=class{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(e=>{this.resolve=e})}notifyFinished(){this.resolve()}then(e,t){return this.finished.then(e,t)}},ln=e=>e/100,un=class extends cn{constructor(e){super(),this.state=`idle`,this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.delayState={done:!1,value:void 0},this.stop=()=>{let{motionValue:e}=this.options;e&&e.updatedAt!==M.now()&&this.tick(M.now()),this.isStopped=!0,this.state!==`idle`&&(this.teardown(),this.options.onStop?.())},N.mainThread++,this.options=e,this.initAnimation(),this.play(),e.autoplay===!1&&this.pause()}initAnimation(){let{options:e}=this;sn(e);let{type:t=nn,repeat:n=0,repeatDelay:r=0,repeatType:i,velocity:a=0}=e,{keyframes:o}=e,s=t||nn;s!==nn&&typeof o[0]!=`number`&&(this.mixKeyframes=S(ln,jt(o[0],o[1])),o=[0,100]);let c=s({...e,keyframes:o});i===`mirror`&&(this.mirroredGenerator=s({...e,keyframes:[...o].reverse(),velocity:-a})),c.calculatedDuration===null&&(c.calculatedDuration=Ft(c));let{calculatedDuration:l}=c;this.calculatedDuration=l,this.resolvedDuration=l+r,this.totalDuration=this.resolvedDuration*(n+1)-r,this.generator=c}updateTime(e){let t=Math.round(e-this.startTime)*this.playbackSpeed;this.holdTime===null?this.currentTime=t:this.currentTime=this.holdTime}tick(e,t=!1){let{generator:n,totalDuration:r,mixKeyframes:i,mirroredGenerator:a,resolvedDuration:o,calculatedDuration:s}=this;if(this.startTime===null)return n.next(0);let{delay:c=0,keyframes:l,repeat:u,repeatType:d,repeatDelay:f,type:p,onUpdate:h,finalKeyframe:g}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,e):this.speed<0&&(this.startTime=Math.min(e-r/this.speed,this.startTime)),t?this.currentTime=e:this.updateTime(e);let _=this.currentTime-c*(this.playbackSpeed>=0?1:-1),v=this.playbackSpeed>=0?_<0:_>r;this.currentTime=Math.max(_,0),this.state===`finished`&&this.holdTime===null&&(this.currentTime=r);let y=this.currentTime,b=n;if(u){let e=Math.min(this.currentTime,r)/o,t=Math.floor(e),n=e%1;!n&&e>=1&&(n=1),n===1&&t--,t=Math.min(t,u+1),t%2&&(d===`reverse`?(n=1-n,f&&(n-=f/o)):d===`mirror`&&(b=a)),y=m(0,1,n)*o}let x;v?(this.delayState.value=l[0],x=this.delayState):x=b.next(y),i&&!v&&(x.value=i(x.value));let{done:S}=x;!v&&s!==null&&(S=this.playbackSpeed>=0?this.currentTime>=r:this.currentTime<=0);let C=this.holdTime===null&&(this.state===`finished`||this.state===`running`&&S);return C&&p!==Yt&&(x.value=an(l,this.options,g,this.speed)),h&&h(x.value),C&&this.finish(),x}then(e,t){return this.finished.then(e,t)}get duration(){return E(this.calculatedDuration)}get iterationDuration(){let{delay:e=0}=this.options||{};return this.duration+E(e)}get time(){return E(this.currentTime)}set time(e){e=T(e),this.currentTime=e,this.startTime===null||this.holdTime!==null||this.playbackSpeed===0?this.holdTime=e:this.driver&&(this.startTime=this.driver.now()-e/this.playbackSpeed),this.driver?this.driver.start(!1):(this.startTime=0,this.state=`paused`,this.holdTime=e,this.tick(e))}getGeneratorVelocity(){let e=this.currentTime;if(e<=0)return this.options.velocity||0;if(this.generator.velocity)return this.generator.velocity(e);let t=this.generator.next(e).value;return Jt(e=>this.generator.next(e).value,e,t)}get speed(){return this.playbackSpeed}set speed(e){let t=this.playbackSpeed!==e;t&&this.driver&&this.updateTime(M.now()),this.playbackSpeed=e,t&&this.driver&&(this.time=E(this.currentTime))}play(){if(this.isStopped)return;let{driver:e=Mt,startTime:t}=this.options;this.driver||=e(e=>this.tick(e)),this.options.onPlay?.();let n=this.driver.now();this.state===`finished`?(this.updateFinished(),this.startTime=n):this.holdTime===null?this.startTime||=t??n:this.startTime=n-this.holdTime,this.state===`finished`&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state=`running`,this.driver.start()}pause(){this.state=`paused`,this.updateTime(M.now()),this.holdTime=this.currentTime}complete(){this.state!==`running`&&this.play(),this.state=`finished`,this.holdTime=null}finish(){this.notifyFinished(),this.teardown(),this.state=`finished`,this.options.onComplete?.()}cancel(){this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),this.options.onCancel?.()}teardown(){this.state=`idle`,this.stopDriver(),this.startTime=this.holdTime=null,N.mainThread--}stopDriver(){this.driver&&=(this.driver.stop(),void 0)}sample(e){return this.startTime=0,this.tick(e,!0)}attachTimeline(e){return this.options.allowFlatten&&(this.options.type=`keyframes`,this.options.ease=`linear`,this.initAnimation()),this.driver?.stop(),e.observe(this)}};function dn(e){for(let t=1;t<e.length;t++)e[t]??(e[t]=e[t-1])}var V=e=>e*180/Math.PI,fn=e=>mn(V(Math.atan2(e[1],e[0]))),pn={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:e=>(Math.abs(e[0])+Math.abs(e[3]))/2,rotate:fn,rotateZ:fn,skewX:e=>V(Math.atan(e[1])),skewY:e=>V(Math.atan(e[2])),skew:e=>(Math.abs(e[1])+Math.abs(e[2]))/2},mn=e=>(e%=360,e<0&&(e+=360),e),hn=fn,gn=e=>Math.sqrt(e[0]*e[0]+e[1]*e[1]),_n=e=>Math.sqrt(e[4]*e[4]+e[5]*e[5]),vn={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:gn,scaleY:_n,scale:e=>(gn(e)+_n(e))/2,rotateX:e=>mn(V(Math.atan2(e[6],e[5]))),rotateY:e=>mn(V(Math.atan2(-e[2],e[0]))),rotateZ:hn,rotate:hn,skewX:e=>V(Math.atan(e[4])),skewY:e=>V(Math.atan(e[1])),skew:e=>(Math.abs(e[1])+Math.abs(e[4]))/2};function yn(e){return+!!e.includes(`scale`)}function bn(e,t){if(!e||e===`none`)return yn(t);let n=e.match(/^matrix3d\(([-\d.e\s,]+)\)$/u),r,i;if(n)r=vn,i=n;else{let t=e.match(/^matrix\(([-\d.e\s,]+)\)$/u);r=pn,i=t}if(!i)return yn(t);let a=r[t],o=i[1].split(`,`).map(Sn);return typeof a==`function`?a(o):o[a]}var xn=(e,t)=>{let{transform:n=`none`}=getComputedStyle(e);return bn(n,t)};function Sn(e){return parseFloat(e.trim())}var Cn=[`transformPerspective`,`x`,`y`,`z`,`translateX`,`translateY`,`translateZ`,`scale`,`scaleX`,`scaleY`,`rotate`,`rotateX`,`rotateY`,`rotateZ`,`skew`,`skewX`,`skewY`],wn=new Set(Cn),Tn=e=>e===Fe||e===I,En=new Set([`x`,`y`,`z`]),Dn=Cn.filter(e=>!En.has(e));function On(e){let t=[];return Dn.forEach(n=>{let r=e.getValue(n);r!==void 0&&(t.push([n,r.get()]),r.set(+!!n.startsWith(`scale`)))}),t}var H={width:({x:e},{paddingLeft:t=`0`,paddingRight:n=`0`,boxSizing:r})=>{let i=e.max-e.min;return r===`border-box`?i:i-parseFloat(t)-parseFloat(n)},height:({y:e},{paddingTop:t=`0`,paddingBottom:n=`0`,boxSizing:r})=>{let i=e.max-e.min;return r===`border-box`?i:i-parseFloat(t)-parseFloat(n)},top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:(e,{transform:t})=>bn(t,`x`),y:(e,{transform:t})=>bn(t,`y`)};H.translateX=H.x,H.translateY=H.y;var U=new Set,kn=!1,An=!1,jn=!1;function Mn(){if(An){let e=Array.from(U).filter(e=>e.needsMeasurement),t=new Set(e.map(e=>e.element)),n=new Map;t.forEach(e=>{let t=On(e);t.length&&(n.set(e,t),e.render())}),e.forEach(e=>e.measureInitialState()),t.forEach(e=>{e.render();let t=n.get(e);t&&t.forEach(([t,n])=>{e.getValue(t)?.set(n)})}),e.forEach(e=>e.measureEndState()),e.forEach(e=>{e.suspendedScrollY!==void 0&&window.scrollTo(0,e.suspendedScrollY)})}An=!1,kn=!1,U.forEach(e=>e.complete(jn)),U.clear()}function Nn(){U.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(An=!0)})}function Pn(){jn=!0,Nn(),Mn(),jn=!1}var Fn=class{constructor(e,t,n,r,i,a=!1){this.state=`pending`,this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...e],this.onComplete=t,this.name=n,this.motionValue=r,this.element=i,this.isAsync=a}scheduleResolve(){this.state=`scheduled`,this.isAsync?(U.add(this),kn||(kn=!0,k.read(Nn),k.resolveKeyframes(Mn))):(this.readKeyframes(),this.complete())}readKeyframes(){let{unresolvedKeyframes:e,name:t,element:n,motionValue:r}=this;if(e[0]===null){let i=r?.get(),a=e[e.length-1];if(i!==void 0)e[0]=i;else if(n&&t){let r=n.readValue(t,a);r!=null&&(e[0]=r)}e[0]===void 0&&(e[0]=a),r&&i===void 0&&r.set(e[0])}dn(e)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(e=!1){this.state=`complete`,this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,e),U.delete(this)}cancel(){this.state===`scheduled`&&(U.delete(this),this.state=`pending`)}resume(){this.state===`pending`&&this.scheduleResolve()}},In=e=>e.startsWith(`--`);function Ln(e,t,n){In(t)?e.style.setProperty(t,n):e.style[t]=n}var Rn={};function zn(e,t){let n=y(e);return()=>Rn[t]??n()}var Bn=zn(()=>window.ScrollTimeline!==void 0,`scrollTimeline`),Vn=zn(()=>{try{document.createElement(`div`).animate({opacity:0},{easing:`linear(0, 1)`})}catch{return!1}return!0},`linearEasing`),Hn=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,Un={linear:`linear`,ease:`ease`,easeIn:`ease-in`,easeOut:`ease-out`,easeInOut:`ease-in-out`,circIn:Hn([0,.65,.55,1]),circOut:Hn([.55,0,1,.45]),backIn:Hn([.31,.01,.66,-.59]),backOut:Hn([.33,1.53,.69,.99])};function Wn(e,t){if(e)return typeof e==`function`?Vn()?Nt(e,t):`ease-out`:ve(e)?Hn(e):Array.isArray(e)?e.map(e=>Wn(e,t)||Un.easeOut):Un[e]}function Gn(e,t,n,{delay:r=0,duration:i=300,repeat:a=0,repeatType:o=`loop`,ease:s=`easeOut`,times:c}={},l=void 0){let u={[t]:n};c&&(u.offset=c);let d=Wn(s,i);Array.isArray(d)&&(u.easing=d),O.value&&N.waapi++;let f={delay:r,duration:i,easing:Array.isArray(d)?`linear`:d,fill:`both`,iterations:a+1,direction:o===`reverse`?`alternate`:`normal`};l&&(f.pseudoElement=l);let p=e.animate(u,f);return O.value&&p.finished.finally(()=>{N.waapi--}),p}function Kn(e){return typeof e==`function`&&`applyToOptions`in e}function qn({type:e,...t}){return Kn(e)&&Vn()?e.applyToOptions(t):(t.duration??=300,t.ease??=`easeOut`,t)}var Jn=class extends cn{constructor(e){if(super(),this.finishedTime=null,this.isStopped=!1,this.manualStartTime=null,!e)return;let{element:t,name:n,keyframes:r,pseudoElement:i,allowFlatten:a=!1,finalKeyframe:o,onComplete:s}=e;this.isPseudoElement=!!i,this.allowFlatten=a,this.options=e,e.type;let c=qn(e);this.animation=Gn(t,n,r,c,i),c.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!i){let e=an(r,this.options,o,this.speed);this.updateMotionValue&&this.updateMotionValue(e),Ln(t,n,e),this.animation.cancel()}s?.(),this.notifyFinished()}}play(){this.isStopped||(this.manualStartTime=null,this.animation.play(),this.state===`finished`&&this.updateFinished())}pause(){this.animation.pause()}complete(){this.animation.finish?.()}cancel(){try{this.animation.cancel()}catch{}}stop(){if(this.isStopped)return;this.isStopped=!0;let{state:e}=this;e===`idle`||e===`finished`||(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){let e=this.options?.element;!this.isPseudoElement&&e?.isConnected&&this.animation.commitStyles?.()}get duration(){let e=this.animation.effect?.getComputedTiming?.().duration||0;return E(Number(e))}get iterationDuration(){let{delay:e=0}=this.options||{};return this.duration+E(e)}get time(){return E(Number(this.animation.currentTime)||0)}set time(e){let t=this.finishedTime!==null;this.manualStartTime=null,this.finishedTime=null,this.animation.currentTime=T(e),t&&this.animation.pause()}get speed(){return this.animation.playbackRate}set speed(e){e<0&&(this.finishedTime=null),this.animation.playbackRate=e}get state(){return this.finishedTime===null?this.animation.playState:`finished`}get startTime(){return this.manualStartTime??Number(this.animation.startTime)}set startTime(e){this.manualStartTime=this.animation.startTime=e}attachTimeline({timeline:e,rangeStart:t,rangeEnd:n,observe:r}){return this.allowFlatten&&this.animation.effect?.updateTiming({easing:`linear`}),this.animation.onfinish=null,e&&Bn()?(this.animation.timeline=e,t&&(this.animation.rangeStart=t),n&&(this.animation.rangeEnd=n),b):r(this)}},Yn={anticipate:ue,backInOut:le,circInOut:pe};function Xn(e){return e in Yn}function Zn(e){typeof e.ease==`string`&&Xn(e.ease)&&(e.ease=Yn[e.ease])}var Qn=10,$n=class extends Jn{constructor(e){Zn(e),sn(e),super(e),e.startTime!==void 0&&e.autoplay!==!1&&(this.startTime=e.startTime),this.options=e}updateMotionValue(e){let{motionValue:t,onUpdate:n,onComplete:r,element:i,...a}=this.options;if(!t)return;if(e!==void 0){t.set(e);return}let o=new un({...a,autoplay:!1}),s=Math.max(Qn,M.now()-this.startTime),c=m(0,Qn,s-Qn),l=o.sample(s).value,{name:u}=this.options;i&&u&&Ln(i,u,l),t.setWithVelocity(o.sample(Math.max(0,s-c)).value,l,c),o.stop()}},er=(e,t)=>t===`zIndex`?!1:!!(typeof e==`number`||Array.isArray(e)||typeof e==`string`&&(R.test(e)||e===`0`)&&!e.startsWith(`url(`));function tr(e){let t=e[0];if(e.length===1)return!0;for(let n=0;n<e.length;n++)if(e[n]!==t)return!0}function nr(e,t,n,r){let i=e[0];if(i===null)return!1;if(t===`display`||t===`visibility`)return!0;let a=e[e.length-1],o=er(i,t),s=er(a,t);return`${t}${i}${a}${o?a:i}`,!o||!s?!1:tr(e)||(n===`spring`||Kn(n))&&r}function rr(e){e.duration=0,e.type=`keyframes`}var ir=new Set([`opacity`,`clipPath`,`filter`,`transform`]),ar=/^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/;function or(e){for(let t=0;t<e.length;t++)if(typeof e[t]==`string`&&ar.test(e[t]))return!0;return!1}var sr=new Set([`color`,`backgroundColor`,`outlineColor`,`fill`,`stroke`,`borderColor`,`borderTopColor`,`borderRightColor`,`borderBottomColor`,`borderLeftColor`]),cr=y(()=>Object.hasOwnProperty.call(Element.prototype,`animate`));function lr(e){let{motionValue:t,name:n,repeatDelay:r,repeatType:i,damping:a,type:o,keyframes:s}=e;if(!(t?.owner?.current instanceof HTMLElement))return!1;let{onUpdate:c,transformTemplate:l}=t.owner.getProps();return cr()&&n&&(ir.has(n)||sr.has(n)&&or(s))&&(n!==`transform`||!l)&&!c&&!r&&i!==`mirror`&&a!==0&&o!==`inertia`}var ur=40,dr=class extends cn{constructor({autoplay:e=!0,delay:t=0,type:n=`keyframes`,repeat:r=0,repeatDelay:i=0,repeatType:a=`loop`,keyframes:o,name:s,motionValue:c,element:l,...u}){super(),this.stop=()=>{this._animation&&(this._animation.stop(),this.stopTimeline?.()),this.keyframeResolver?.cancel()},this.createdAt=M.now();let d={autoplay:e,delay:t,type:n,repeat:r,repeatDelay:i,repeatType:a,name:s,motionValue:c,element:l,...u};this.keyframeResolver=new(l?.KeyframeResolver||Fn)(o,(e,t,n)=>this.onKeyframesResolved(e,t,d,!n),s,c,l),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(e,t,n,r){this.keyframeResolver=void 0;let{name:i,type:a,velocity:o,delay:s,isHandoff:c,onUpdate:l}=n;this.resolvedAt=M.now();let u=!0;nr(e,i,a,o)||(u=!1,(h.instantAnimations||!s)&&l?.(an(e,n,t)),e[0]=e[e.length-1],rr(n),n.repeat=0);let d={startTime:r?this.resolvedAt&&this.resolvedAt-this.createdAt>ur?this.resolvedAt:this.createdAt:void 0,finalKeyframe:t,...n,keyframes:e},f=u&&!c&&lr(d),p=d.motionValue?.owner?.current,m;if(f)try{m=new $n({...d,element:p})}catch{m=new un(d)}else m=new un(d);m.finished.then(()=>{this.notifyFinished()}).catch(b),this.pendingTimeline&&=(this.stopTimeline=m.attachTimeline(this.pendingTimeline),void 0),this._animation=m}get finished(){return this._animation?this.animation.finished:this._finished}then(e,t){return this.finished.finally(e).then(()=>{})}get animation(){return this._animation||(this.keyframeResolver?.resume(),Pn()),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(e){this.animation.time=e}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(e){this.animation.speed=e}get startTime(){return this.animation.startTime}attachTimeline(e){return this._animation?this.stopTimeline=this.animation.attachTimeline(e):this.pendingTimeline=e,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){this._animation&&this.animation.cancel(),this.keyframeResolver?.cancel()}};function fr(e,t,n,r=0,i=1){let a=Array.from(e).sort((e,t)=>e.sortNodePosition(t)).indexOf(t),o=e.size,s=(o-1)*r;return typeof n==`function`?n(a,o):i===1?a*r:s-a*r}var pr=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function mr(e){let t=pr.exec(e);if(!t)return[,];let[,n,r,i]=t;return[`--${n??r}`,i]}function hr(e,t,n=1){`${e}`;let[r,i]=mr(e);if(!r)return;let a=window.getComputedStyle(t).getPropertyValue(r);if(a){let e=a.trim();return g(e)?parseFloat(e):e}return Me(i)?hr(i,t,n+1):i}var gr={type:`spring`,stiffness:500,damping:25,restSpeed:10},_r=e=>({type:`spring`,stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),vr={type:`keyframes`,duration:.8},yr={type:`keyframes`,ease:[.25,.1,.35,1],duration:.3},br=(e,{keyframes:t})=>t.length>2?vr:wn.has(e)?e.startsWith(`scale`)?_r(t[1]):gr:yr;function xr(e,t){if(e?.inherit&&t){let{inherit:n,...r}=e;return{...t,...r}}return e}function Sr(e,t){let n=e?.[t]??e?.default??e;return n===e?n:xr(n,e)}var Cr=new Set([`when`,`delay`,`delayChildren`,`staggerChildren`,`staggerDirection`,`repeat`,`repeatType`,`repeatDelay`,`from`,`elapsed`]);function wr(e){for(let t in e)if(!Cr.has(t))return!0;return!1}var Tr=(e,t,n,r={},i,a)=>o=>{let s=Sr(r,e)||{},c=s.delay||r.delay||0,{elapsed:l=0}=r;l-=T(c);let u={keyframes:Array.isArray(n)?n:[null,n],ease:`easeOut`,velocity:t.getVelocity(),...s,delay:-l,onUpdate:e=>{t.set(e),s.onUpdate&&s.onUpdate(e)},onComplete:()=>{o(),s.onComplete&&s.onComplete()},name:e,motionValue:t,element:a?void 0:i};wr(s)||Object.assign(u,br(e,u)),u.duration&&=T(u.duration),u.repeatDelay&&=T(u.repeatDelay),u.from!==void 0&&(u.keyframes[0]=u.from);let d=!1;if((u.type===!1||u.duration===0&&!u.repeatDelay)&&(rr(u),u.delay===0&&(d=!0)),(h.instantAnimations||h.skipAnimations||i?.shouldSkipAnimations)&&(d=!0,rr(u),u.delay=0),u.allowFlatten=!s.type&&!s.ease,d&&!a&&t.get()!==void 0){let e=an(u.keyframes,s);if(e!==void 0){k.update(()=>{u.onUpdate(e),u.onComplete()});return}}return s.isSync?new un(u):new dr(u)};function Er(e){let t=[{},{}];return e?.values.forEach((e,n)=>{t[0][n]=e.get(),t[1][n]=e.getVelocity()}),t}function Dr(e,t,n,r){if(typeof t==`function`){let[i,a]=Er(r);t=t(n===void 0?e.custom:n,i,a)}if(typeof t==`string`&&(t=e.variants&&e.variants[t]),typeof t==`function`){let[i,a]=Er(r);t=t(n===void 0?e.custom:n,i,a)}return t}function W(e,t,n){let r=e.getProps();return Dr(r,t,n===void 0?r.custom:n,e)}var Or=new Set([`width`,`height`,`top`,`left`,`right`,`bottom`,...Cn]),kr=30,Ar=e=>!isNaN(parseFloat(e)),jr={current:void 0},Mr=class{constructor(e,t={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=e=>{let t=M.now();if(this.updatedAt!==t&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(e),this.current!==this.prev&&(this.events.change?.notify(this.current),this.dependents))for(let e of this.dependents)e.dirty()},this.hasAnimated=!1,this.setCurrent(e),this.owner=t.owner}setCurrent(e){this.current=e,this.updatedAt=M.now(),this.canTrackVelocity===null&&e!==void 0&&(this.canTrackVelocity=Ar(this.current))}setPrevFrameValue(e=this.current){this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt}onChange(e){return this.on(`change`,e)}on(e,t){this.events[e]||(this.events[e]=new w);let n=this.events[e].add(t);return e===`change`?()=>{n(),k.read(()=>{this.events.change.getSize()||this.stop()})}:n}clearListeners(){for(let e in this.events)this.events[e].clear()}attach(e,t){this.passiveEffect=e,this.stopPassiveEffect=t}set(e){this.passiveEffect?this.passiveEffect(e,this.updateAndNotify):this.updateAndNotify(e)}setWithVelocity(e,t,n){this.set(t),this.prev=void 0,this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt-n}jump(e,t=!0){this.updateAndNotify(e),this.prev=e,this.prevUpdatedAt=this.prevFrameValue=void 0,t&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){this.events.change?.notify(this.current)}addDependent(e){this.dependents||=new Set,this.dependents.add(e)}removeDependent(e){this.dependents&&this.dependents.delete(e)}get(){return jr.current&&jr.current.push(this),this.current}getPrevious(){return this.prev}getVelocity(){let e=M.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||e-this.updatedAt>kr)return 0;let t=Math.min(this.updatedAt-this.prevUpdatedAt,kr);return D(parseFloat(this.current)-parseFloat(this.prevFrameValue),t)}start(e){return this.stop(),new Promise(t=>{this.hasAnimated=!0,this.animation=e(t),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.dependents?.clear(),this.events.destroy?.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}};function Nr(e,t){return new Mr(e,t)}var Pr=e=>Array.isArray(e);function Fr(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,Nr(n))}function Ir(e){return Pr(e)?e[e.length-1]||0:e}function Lr(e,t){let{transitionEnd:n={},transition:r={},...i}=W(e,t)||{};i={...i,...n};for(let t in i)Fr(e,t,Ir(i[t]))}var G=e=>!!(e&&e.getVelocity);function Rr(e){return!!(G(e)&&e.add)}function zr(e,t){let n=e.getValue(`willChange`);if(Rr(n))return n.add(t);if(!n&&h.WillChange){let n=new h.WillChange(`auto`);e.addValue(`willChange`,n),n.add(t)}}function Br(e){return e.replace(/([A-Z])/g,e=>`-${e.toLowerCase()}`)}var Vr=`data-`+Br(`framerAppearId`);function Hr(e){return e.props[Vr]}function Ur({protectedKeys:e,needsAnimating:t},n){let r=e.hasOwnProperty(n)&&t[n]!==!0;return t[n]=!1,r}function Wr(e,t,{delay:n=0,transitionOverride:r,type:i}={}){let{transition:a,transitionEnd:o,...s}=t,c=e.getDefaultTransition();a=a?xr(a,c):c;let l=a?.reduceMotion;r&&(a=r);let u=[],d=i&&e.animationState&&e.animationState.getState()[i];for(let t in s){let r=e.getValue(t,e.latestValues[t]??null),i=s[t];if(i===void 0||d&&Ur(d,t))continue;let o={delay:n,...Sr(a||{},t)},c=r.get();if(c!==void 0&&!r.isAnimating()&&!Array.isArray(i)&&i===c&&!o.velocity){k.update(()=>r.set(i));continue}let f=!1;if(window.MotionHandoffAnimation){let n=Hr(e);if(n){let e=window.MotionHandoffAnimation(n,t,k);e!==null&&(o.startTime=e,f=!0)}}zr(e,t);let p=l??e.shouldReduceMotion;r.start(Tr(t,r,i,p&&Or.has(t)?{type:!1}:o,e,f));let m=r.animation;m&&u.push(m)}if(o){let t=()=>k.update(()=>{o&&Lr(e,o)});u.length?Promise.all(u).then(t):t()}return u}function Gr(e,t,n={}){let r=W(e,t,n.type===`exit`?e.presenceContext?.custom:void 0),{transition:i=e.getDefaultTransition()||{}}=r||{};n.transitionOverride&&(i=n.transitionOverride);let a=r?()=>Promise.all(Wr(e,r,n)):()=>Promise.resolve(),o=e.variantChildren&&e.variantChildren.size?(r=0)=>{let{delayChildren:a=0,staggerChildren:o,staggerDirection:s}=i;return Kr(e,t,r,a,o,s,n)}:()=>Promise.resolve(),{when:s}=i;if(s){let[e,t]=s===`beforeChildren`?[a,o]:[o,a];return e().then(()=>t())}else return Promise.all([a(),o(n.delay)])}function Kr(e,t,n=0,r=0,i=0,a=1,o){let s=[];for(let c of e.variantChildren)c.notify(`AnimationStart`,t),s.push(Gr(c,t,{...o,delay:n+(typeof r==`function`?0:r)+fr(e.variantChildren,c,r,i,a)}).then(()=>c.notify(`AnimationComplete`,t)));return Promise.all(s)}function qr(e,t,n={}){e.notify(`AnimationStart`,t);let r;if(Array.isArray(t)){let i=t.map(t=>Gr(e,t,n));r=Promise.all(i)}else if(typeof t==`string`)r=Gr(e,t,n);else{let i=typeof t==`function`?W(e,t,n.custom):t;r=Promise.all(Wr(e,i,n))}return r.then(()=>{e.notify(`AnimationComplete`,t)})}var Jr={test:e=>e===`auto`,parse:e=>e},Yr=e=>t=>t.test(e),Xr=[Fe,I,F,P,Ze,Xe,Jr],Zr=e=>Xr.find(Yr(e));function Qr(e){return typeof e==`number`?e===0:e===null?!0:e===`none`||e===`0`||v(e)}var $r=new Set([`brightness`,`contrast`,`saturate`,`opacity`]);function ei(e){let[t,n]=e.slice(0,-1).split(`(`);if(t===`drop-shadow`)return e;let[r]=n.match(ze)||[];if(!r)return e;let i=n.replace(r,``),a=+!!$r.has(t);return r!==n&&(a*=100),t+`(`+a+i+`)`}var ti=/\b([a-z-]*)\(.*?\)/gu,ni={...R,getAnimatableNone:e=>{let t=e.match(ti);return t?t.map(ei).join(` `):e}},ri={...R,getAnimatableNone:e=>{let t=R.parse(e);return R.createTransformer(e)(t.map(e=>typeof e==`number`?0:typeof e==`object`?{...e,alpha:1}:e))}},ii={...Fe,transform:Math.round},ai={borderWidth:I,borderTopWidth:I,borderRightWidth:I,borderBottomWidth:I,borderLeftWidth:I,borderRadius:I,borderTopLeftRadius:I,borderTopRightRadius:I,borderBottomRightRadius:I,borderBottomLeftRadius:I,width:I,maxWidth:I,height:I,maxHeight:I,top:I,right:I,bottom:I,left:I,inset:I,insetBlock:I,insetBlockStart:I,insetBlockEnd:I,insetInline:I,insetInlineStart:I,insetInlineEnd:I,padding:I,paddingTop:I,paddingRight:I,paddingBottom:I,paddingLeft:I,paddingBlock:I,paddingBlockStart:I,paddingBlockEnd:I,paddingInline:I,paddingInlineStart:I,paddingInlineEnd:I,margin:I,marginTop:I,marginRight:I,marginBottom:I,marginLeft:I,marginBlock:I,marginBlockStart:I,marginBlockEnd:I,marginInline:I,marginInlineStart:I,marginInlineEnd:I,fontSize:I,backgroundPositionX:I,backgroundPositionY:I,rotate:P,rotateX:P,rotateY:P,rotateZ:P,scale:Le,scaleX:Le,scaleY:Le,scaleZ:Le,skew:P,skewX:P,skewY:P,distance:I,translateX:I,translateY:I,translateZ:I,x:I,y:I,z:I,perspective:I,transformPerspective:I,opacity:Ie,originX:Qe,originY:Qe,originZ:I,zIndex:ii,fillOpacity:Ie,strokeOpacity:Ie,numOctaves:ii},oi={...ai,color:L,backgroundColor:L,outlineColor:L,fill:L,stroke:L,borderColor:L,borderTopColor:L,borderRightColor:L,borderBottomColor:L,borderLeftColor:L,filter:ni,WebkitFilter:ni,mask:ri,WebkitMask:ri},si=e=>oi[e],ci=new Set([ni,ri]);function li(e,t){let n=si(e);return ci.has(n)||(n=R),n.getAnimatableNone?n.getAnimatableNone(t):void 0}var ui=new Set([`auto`,`none`,`0`]);function di(e,t,n){let r=0,i;for(;r<e.length&&!i;){let t=e[r];typeof t==`string`&&!ui.has(t)&&ct(t).values.length&&(i=e[r]),r++}if(i&&n)for(let r of t)e[r]=li(n,i)}var fi=class extends Fn{constructor(e,t,n,r,i){super(e,t,n,r,i,!0)}readKeyframes(){let{unresolvedKeyframes:e,element:t,name:n}=this;if(!t||!t.current)return;super.readKeyframes();for(let n=0;n<e.length;n++){let r=e[n];if(typeof r==`string`&&(r=r.trim(),Me(r))){let i=hr(r,t.current);i!==void 0&&(e[n]=i),n===e.length-1&&(this.finalKeyframe=r)}}if(this.resolveNoneKeyframes(),!Or.has(n)||e.length!==2)return;let[r,i]=e,a=Zr(r),o=Zr(i);if(Pe(r)!==Pe(i)&&H[n]){this.needsMeasurement=!0;return}if(a!==o)if(Tn(a)&&Tn(o))for(let t=0;t<e.length;t++){let n=e[t];typeof n==`string`&&(e[t]=parseFloat(n))}else H[n]&&(this.needsMeasurement=!0)}resolveNoneKeyframes(){let{unresolvedKeyframes:e,name:t}=this,n=[];for(let t=0;t<e.length;t++)(e[t]===null||Qr(e[t]))&&n.push(t);n.length&&di(e,n,t)}measureInitialState(){let{element:e,unresolvedKeyframes:t,name:n}=this;if(!e||!e.current)return;n===`height`&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=H[n](e.measureViewportBox(),window.getComputedStyle(e.current)),t[0]=this.measuredOrigin;let r=t[t.length-1];r!==void 0&&e.getValue(n,r).jump(r,!1)}measureEndState(){let{element:e,name:t,unresolvedKeyframes:n}=this;if(!e||!e.current)return;let r=e.getValue(t);r&&r.jump(this.measuredOrigin,!1);let i=n.length-1,a=n[i];n[i]=H[t](e.measureViewportBox(),window.getComputedStyle(e.current)),a!==null&&this.finalKeyframe===void 0&&(this.finalKeyframe=a),this.removedTransforms?.length&&this.removedTransforms.forEach(([t,n])=>{e.getValue(t).set(n)}),this.resolveNoneKeyframes()}};function pi(e,t,n){if(e==null)return[];if(e instanceof EventTarget)return[e];if(typeof e==`string`){let r=document;t&&(r=t.current);let i=n?.[e]??r.querySelectorAll(e);return i?Array.from(i):[]}return Array.from(e).filter(e=>e!=null)}var mi=(e,t)=>t&&typeof e==`number`?t.transform(e):e;function hi(e){return _(e)&&`offsetHeight`in e&&!(`ownerSVGElement`in e)}var{schedule:gi,cancel:_i}=Te(queueMicrotask,!1),K={x:!1,y:!1};function vi(){return K.x||K.y}function yi(e){return e===`x`||e===`y`?K[e]?null:(K[e]=!0,()=>{K[e]=!1}):K.x||K.y?null:(K.x=K.y=!0,()=>{K.x=K.y=!1})}function bi(e,t){let n=pi(e),r=new AbortController;return[n,{passive:!0,...t,signal:r.signal},()=>r.abort()]}function xi(e){return!(e.pointerType===`touch`||vi())}function Si(e,t,n={}){let[r,i,a]=bi(e,n);return r.forEach(e=>{let n=!1,r=!1,a,o=()=>{e.removeEventListener(`pointerleave`,u)},s=e=>{a&&=(a(e),void 0),o()},c=e=>{n=!1,window.removeEventListener(`pointerup`,c),window.removeEventListener(`pointercancel`,c),r&&(r=!1,s(e))},l=()=>{n=!0,window.addEventListener(`pointerup`,c,i),window.addEventListener(`pointercancel`,c,i)},u=e=>{if(e.pointerType!==`touch`){if(n){r=!0;return}s(e)}};e.addEventListener(`pointerenter`,n=>{if(!xi(n))return;r=!1;let o=t(e,n);typeof o==`function`&&(a=o,e.addEventListener(`pointerleave`,u,i))},i),e.addEventListener(`pointerdown`,l,i)}),a}var Ci=(e,t)=>t?e===t?!0:Ci(e,t.parentElement):!1,wi=e=>e.pointerType===`mouse`?typeof e.button!=`number`||e.button<=0:e.isPrimary!==!1,Ti=new Set([`BUTTON`,`INPUT`,`SELECT`,`TEXTAREA`,`A`]);function Ei(e){return Ti.has(e.tagName)||e.isContentEditable===!0}var Di=new Set([`INPUT`,`SELECT`,`TEXTAREA`]);function Oi(e){return Di.has(e.tagName)||e.isContentEditable===!0}var ki=new WeakSet;function Ai(e){return t=>{t.key===`Enter`&&e(t)}}function ji(e,t){e.dispatchEvent(new PointerEvent(`pointer`+t,{isPrimary:!0,bubbles:!0}))}var Mi=(e,t)=>{let n=e.currentTarget;if(!n)return;let r=Ai(()=>{if(ki.has(n))return;ji(n,`down`);let e=Ai(()=>{ji(n,`up`)});n.addEventListener(`keyup`,e,t),n.addEventListener(`blur`,()=>ji(n,`cancel`),t)});n.addEventListener(`keydown`,r,t),n.addEventListener(`blur`,()=>n.removeEventListener(`keydown`,r),t)};function Ni(e){return wi(e)&&!vi()}var Pi=new WeakSet;function Fi(e,t,n={}){let[r,i,a]=bi(e,n),o=e=>{let r=e.currentTarget;if(!Ni(e)||Pi.has(e))return;ki.add(r),n.stopPropagation&&Pi.add(e);let a=t(r,e),o=(e,t)=>{window.removeEventListener(`pointerup`,s),window.removeEventListener(`pointercancel`,c),ki.has(r)&&ki.delete(r),Ni(e)&&typeof a==`function`&&a(e,{success:t})},s=e=>{o(e,r===window||r===document||n.useGlobalTarget||Ci(r,e.target))},c=e=>{o(e,!1)};window.addEventListener(`pointerup`,s,i),window.addEventListener(`pointercancel`,c,i)};return r.forEach(e=>{(n.useGlobalTarget?window:e).addEventListener(`pointerdown`,o,i),hi(e)&&(e.addEventListener(`focus`,e=>Mi(e,i)),!Ei(e)&&!e.hasAttribute(`tabindex`)&&(e.tabIndex=0))}),a}function Ii(e){return _(e)&&`ownerSVGElement`in e}var Li=new WeakMap,Ri,zi=(e,t,n)=>(r,i)=>i&&i[0]?i[0][e+`Size`]:Ii(r)&&`getBBox`in r?r.getBBox()[t]:r[n],Bi=zi(`inline`,`width`,`offsetWidth`),Vi=zi(`block`,`height`,`offsetHeight`);function Hi({target:e,borderBoxSize:t}){Li.get(e)?.forEach(n=>{n(e,{get width(){return Bi(e,t)},get height(){return Vi(e,t)}})})}function Ui(e){e.forEach(Hi)}function Wi(){typeof ResizeObserver>`u`||(Ri=new ResizeObserver(Ui))}function Gi(e,t){Ri||Wi();let n=pi(e);return n.forEach(e=>{let n=Li.get(e);n||(n=new Set,Li.set(e,n)),n.add(t),Ri?.observe(e)}),()=>{n.forEach(e=>{let n=Li.get(e);n?.delete(t),n?.size||Ri?.unobserve(e)})}}var Ki=new Set,qi;function Ji(){qi=()=>{let e={get width(){return window.innerWidth},get height(){return window.innerHeight}};Ki.forEach(t=>t(e))},window.addEventListener(`resize`,qi)}function Yi(e){return Ki.add(e),qi||Ji(),()=>{Ki.delete(e),!Ki.size&&typeof qi==`function`&&(window.removeEventListener(`resize`,qi),qi=void 0)}}function Xi(e,t){return typeof e==`function`?Yi(e):Gi(e,t)}function Zi(e){return Ii(e)&&e.tagName===`svg`}var Qi=[...Xr,L,R],$i=e=>Qi.find(Yr(e)),ea=()=>({translate:0,scale:1,origin:0,originPoint:0}),ta=()=>({x:ea(),y:ea()}),na=()=>({min:0,max:0}),q=()=>({x:na(),y:na()}),ra=new WeakMap;function ia(e){return typeof e==`object`&&!!e&&typeof e.start==`function`}function aa(e){return typeof e==`string`||Array.isArray(e)}var oa=[`animate`,`whileInView`,`whileFocus`,`whileHover`,`whileTap`,`whileDrag`,`exit`],sa=[`initial`,...oa];function ca(e){return ia(e.animate)||sa.some(t=>aa(e[t]))}function la(e){return!!(ca(e)||e.variants)}function ua(e,t,n){for(let r in t){let i=t[r],a=n[r];if(G(i))e.addValue(r,i);else if(G(a))e.addValue(r,Nr(i,{owner:e}));else if(a!==i)if(e.hasValue(r)){let t=e.getValue(r);t.liveStyle===!0?t.jump(i):t.hasAnimated||t.set(i)}else{let t=e.getStaticValue(r);e.addValue(r,Nr(t===void 0?i:t,{owner:e}))}}for(let r in n)t[r]===void 0&&e.removeValue(r);return t}var da={current:null},fa={current:!1},pa=typeof window<`u`;function ma(){if(fa.current=!0,pa)if(window.matchMedia){let e=window.matchMedia(`(prefers-reduced-motion)`),t=()=>da.current=e.matches;e.addEventListener(`change`,t),t()}else da.current=!1}var ha=[`AnimationStart`,`AnimationComplete`,`Update`,`BeforeLayoutMeasure`,`LayoutMeasure`,`LayoutAnimationStart`,`LayoutAnimationComplete`],ga={};function _a(e){ga=e}function va(){return ga}var ya=class{scrapeMotionValuesFromProps(e,t,n){return{}}constructor({parent:e,props:t,presenceContext:n,reducedMotionConfig:r,skipAnimations:i,blockInitialAnimation:a,visualState:o},s={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.shouldSkipAnimations=!1,this.values=new Map,this.KeyframeResolver=Fn,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.hasBeenMounted=!1,this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify(`Update`,this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{let e=M.now();this.renderScheduledAt<e&&(this.renderScheduledAt=e,k.render(this.render,!1,!0))};let{latestValues:c,renderState:l}=o;this.latestValues=c,this.baseTarget={...c},this.initialValues=t.initial?{...c}:{},this.renderState=l,this.parent=e,this.props=t,this.presenceContext=n,this.depth=e?e.depth+1:0,this.reducedMotionConfig=r,this.skipAnimationsConfig=i,this.options=s,this.blockInitialAnimation=!!a,this.isControllingVariants=ca(t),this.isVariantNode=la(t),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(e&&e.current);let{willChange:u,...d}=this.scrapeMotionValuesFromProps(t,{},this);for(let e in d){let t=d[e];c[e]!==void 0&&G(t)&&t.set(c[e])}}mount(e){if(this.hasBeenMounted)for(let e in this.initialValues)this.values.get(e)?.jump(this.initialValues[e]),this.latestValues[e]=this.initialValues[e];this.current=e,ra.set(e,this),this.projection&&!this.projection.instance&&this.projection.mount(e),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((e,t)=>this.bindToMotionValue(t,e)),this.reducedMotionConfig===`never`?this.shouldReduceMotion=!1:this.reducedMotionConfig===`always`?this.shouldReduceMotion=!0:(fa.current||ma(),this.shouldReduceMotion=da.current),this.shouldSkipAnimations=this.skipAnimationsConfig??!1,this.parent?.addChild(this),this.update(this.props,this.presenceContext),this.hasBeenMounted=!0}unmount(){this.projection&&this.projection.unmount(),A(this.notifyUpdate),A(this.render),this.valueSubscriptions.forEach(e=>e()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent?.removeChild(this);for(let e in this.events)this.events[e].clear();for(let e in this.features){let t=this.features[e];t&&(t.unmount(),t.isMounted=!1)}this.current=null}addChild(e){this.children.add(e),this.enteringChildren??=new Set,this.enteringChildren.add(e)}removeChild(e){this.children.delete(e),this.enteringChildren&&this.enteringChildren.delete(e)}bindToMotionValue(e,t){if(this.valueSubscriptions.has(e)&&this.valueSubscriptions.get(e)(),t.accelerate&&ir.has(e)&&this.current instanceof HTMLElement){let{factory:n,keyframes:r,times:i,ease:a,duration:o}=t.accelerate,s=new Jn({element:this.current,name:e,keyframes:r,times:i,ease:a,duration:T(o)}),c=n(s);this.valueSubscriptions.set(e,()=>{c(),s.cancel()});return}let n=wn.has(e);n&&this.onBindTransform&&this.onBindTransform();let r=t.on(`change`,t=>{this.latestValues[e]=t,this.props.onUpdate&&k.preRender(this.notifyUpdate),n&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()}),i;typeof window<`u`&&window.MotionCheckAppearSync&&(i=window.MotionCheckAppearSync(this,e,t)),this.valueSubscriptions.set(e,()=>{r(),i&&i(),t.owner&&t.stop()})}sortNodePosition(e){return!this.current||!this.sortInstanceNodePosition||this.type!==e.type?0:this.sortInstanceNodePosition(this.current,e.current)}updateFeatures(){let e=`animation`;for(e in ga){let t=ga[e];if(!t)continue;let{isEnabled:n,Feature:r}=t;if(!this.features[e]&&r&&n(this.props)&&(this.features[e]=new r(this)),this.features[e]){let t=this.features[e];t.isMounted?t.update():(t.mount(),t.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):q()}getStaticValue(e){return this.latestValues[e]}setStaticValue(e,t){this.latestValues[e]=t}update(e,t){(e.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=e,this.prevPresenceContext=this.presenceContext,this.presenceContext=t;for(let t=0;t<ha.length;t++){let n=ha[t];this.propEventSubscriptions[n]&&(this.propEventSubscriptions[n](),delete this.propEventSubscriptions[n]);let r=e[`on`+n];r&&(this.propEventSubscriptions[n]=this.on(n,r))}this.prevMotionValues=ua(this,this.scrapeMotionValuesFromProps(e,this.prevProps||{},this),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue()}getProps(){return this.props}getVariant(e){return this.props.variants?this.props.variants[e]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}addVariantChild(e){let t=this.getClosestVariantNode();if(t)return t.variantChildren&&t.variantChildren.add(e),()=>t.variantChildren.delete(e)}addValue(e,t){let n=this.values.get(e);t!==n&&(n&&this.removeValue(e),this.bindToMotionValue(e,t),this.values.set(e,t),this.latestValues[e]=t.get())}removeValue(e){this.values.delete(e);let t=this.valueSubscriptions.get(e);t&&(t(),this.valueSubscriptions.delete(e)),delete this.latestValues[e],this.removeValueFromRenderState(e,this.renderState)}hasValue(e){return this.values.has(e)}getValue(e,t){if(this.props.values&&this.props.values[e])return this.props.values[e];let n=this.values.get(e);return n===void 0&&t!==void 0&&(n=Nr(t===null?void 0:t,{owner:this}),this.addValue(e,n)),n}readValue(e,t){let n=this.latestValues[e]!==void 0||!this.current?this.latestValues[e]:this.getBaseTargetFromProps(this.props,e)??this.readValueFromInstance(this.current,e,this.options);return n!=null&&(typeof n==`string`&&(g(n)||v(n))?n=parseFloat(n):!$i(n)&&R.test(t)&&(n=li(e,t)),this.setBaseTarget(e,G(n)?n.get():n)),G(n)?n.get():n}setBaseTarget(e,t){this.baseTarget[e]=t}getBaseTarget(e){let{initial:t}=this.props,n;if(typeof t==`string`||typeof t==`object`){let r=Dr(this.props,t,this.presenceContext?.custom);r&&(n=r[e])}if(t&&n!==void 0)return n;let r=this.getBaseTargetFromProps(this.props,e);return r!==void 0&&!G(r)?r:this.initialValues[e]!==void 0&&n===void 0?void 0:this.baseTarget[e]}on(e,t){return this.events[e]||(this.events[e]=new w),this.events[e].add(t)}notify(e,...t){this.events[e]&&this.events[e].notify(...t)}scheduleRenderMicrotask(){gi.render(this.render)}},ba=class extends ya{constructor(){super(...arguments),this.KeyframeResolver=fi}sortInstanceNodePosition(e,t){return e.compareDocumentPosition(t)&2?1:-1}getBaseTargetFromProps(e,t){let n=e.style;return n?n[t]:void 0}removeValueFromRenderState(e,{vars:t,style:n}){delete t[e],delete n[e]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);let{children:e}=this.props;G(e)&&(this.childSubscription=e.on(`change`,e=>{this.current&&(this.current.textContent=`${e}`)}))}},J=class{constructor(e){this.isMounted=!1,this.node=e}update(){}};function xa({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function Sa({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function Ca(e,t){if(!t)return e;let n=t({x:e.left,y:e.top}),r=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:r.y,right:r.x}}function wa(e){return e===void 0||e===1}function Ta({scale:e,scaleX:t,scaleY:n}){return!wa(e)||!wa(t)||!wa(n)}function Y(e){return Ta(e)||Ea(e)||e.z||e.rotate||e.rotateX||e.rotateY||e.skewX||e.skewY}function Ea(e){return Da(e.x)||Da(e.y)}function Da(e){return e&&e!==`0%`}function Oa(e,t,n){return n+t*(e-n)}function ka(e,t,n,r,i){return i!==void 0&&(e=Oa(e,i,r)),Oa(e,n,r)+t}function Aa(e,t=0,n=1,r,i){e.min=ka(e.min,t,n,r,i),e.max=ka(e.max,t,n,r,i)}function ja(e,{x:t,y:n}){Aa(e.x,t.translate,t.scale,t.originPoint),Aa(e.y,n.translate,n.scale,n.originPoint)}var Ma=.999999999999,Na=1.0000000000001;function Pa(e,t,n,r=!1){let i=n.length;if(!i)return;t.x=t.y=1;let a,o;for(let s=0;s<i;s++){a=n[s],o=a.projectionDelta;let{visualElement:i}=a.options;i&&i.props.style&&i.props.style.display===`contents`||(r&&a.options.layoutScroll&&a.scroll&&a!==a.root&&(X(e.x,-a.scroll.offset.x),X(e.y,-a.scroll.offset.y)),o&&(t.x*=o.x.scale,t.y*=o.y.scale,ja(e,o)),r&&Y(a.latestValues)&&La(e,a.latestValues,a.layout?.layoutBox))}t.x<Na&&t.x>Ma&&(t.x=1),t.y<Na&&t.y>Ma&&(t.y=1)}function X(e,t){e.min+=t,e.max+=t}function Fa(e,t,n,r,i=.5){Aa(e,t,n,z(e.min,e.max,i),r)}function Ia(e,t){return typeof e==`string`?parseFloat(e)/100*(t.max-t.min):e}function La(e,t,n){let r=n??e;Fa(e.x,Ia(t.x,r.x),t.scaleX,t.scale,t.originX),Fa(e.y,Ia(t.y,r.y),t.scaleY,t.scale,t.originY)}function Ra(e,t){return xa(Ca(e.getBoundingClientRect(),t))}function za(e,t,n){let r=Ra(e,n),{scroll:i}=t;return i&&(X(r.x,i.offset.x),X(r.y,i.offset.y)),r}var Ba={x:`translateX`,y:`translateY`,z:`translateZ`,transformPerspective:`perspective`},Va=Cn.length;function Ha(e,t,n){let r=``,i=!0;for(let a=0;a<Va;a++){let o=Cn[a],s=e[o];if(s===void 0)continue;let c=!0;if(typeof s==`number`)c=s===+!!o.startsWith(`scale`);else{let e=parseFloat(s);c=o.startsWith(`scale`)?e===1:e===0}if(!c||n){let e=mi(s,ai[o]);if(!c){i=!1;let t=Ba[o]||o;r+=`${t}(${e}) `}n&&(t[o]=e)}}return r=r.trim(),n?r=n(t,i?``:r):i&&(r=`none`),r}function Ua(e,t,n){let{style:r,vars:i,transformOrigin:a}=e,o=!1,s=!1;for(let e in t){let n=t[e];if(wn.has(e)){o=!0;continue}else if(Ae(e)){i[e]=n;continue}else{let t=mi(n,ai[e]);e.startsWith(`origin`)?(s=!0,a[e]=t):r[e]=t}}if(t.transform||(o||n?r.transform=Ha(t,e.transform,n):r.transform&&=`none`),s){let{originX:e=`50%`,originY:t=`50%`,originZ:n=0}=a;r.transformOrigin=`${e} ${t} ${n}`}}function Wa(e,{style:t,vars:n},r,i){let a=e.style,o;for(o in t)a[o]=t[o];for(o in i?.applyProjectionStyles(a,r),n)a.setProperty(o,n[o])}function Ga(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}var Ka={correct:(e,t)=>{if(!t.target)return e;if(typeof e==`string`)if(I.test(e))e=parseFloat(e);else return e;return`${Ga(e,t.target.x)}% ${Ga(e,t.target.y)}%`}},qa={correct:(e,{treeScale:t,projectionDelta:n})=>{let r=e,i=R.parse(e);if(i.length>5)return r;let a=R.createTransformer(e),o=typeof i[0]==`number`?0:1,s=n.x.scale*t.x,c=n.y.scale*t.y;i[0+o]/=s,i[1+o]/=c;let l=z(s,c,.5);return typeof i[2+o]==`number`&&(i[2+o]/=l),typeof i[3+o]==`number`&&(i[3+o]/=l),a(i)}},Ja={borderRadius:{...Ka,applyTo:[`borderTopLeftRadius`,`borderTopRightRadius`,`borderBottomLeftRadius`,`borderBottomRightRadius`]},borderTopLeftRadius:Ka,borderTopRightRadius:Ka,borderBottomLeftRadius:Ka,borderBottomRightRadius:Ka,boxShadow:qa};function Ya(e,{layout:t,layoutId:n}){return wn.has(e)||e.startsWith(`origin`)||(t||n!==void 0)&&(!!Ja[e]||e===`opacity`)}function Xa(e,t,n){let r=e.style,i=t?.style,a={};if(!r)return a;for(let t in r)(G(r[t])||i&&G(i[t])||Ya(t,e)||n?.getValue(t)?.liveStyle!==void 0)&&(a[t]=r[t]);return a}function Za(e){return window.getComputedStyle(e)}var Qa=class extends ba{constructor(){super(...arguments),this.type=`html`,this.renderInstance=Wa}readValueFromInstance(e,t){if(wn.has(t))return this.projection?.isProjecting?yn(t):xn(e,t);{let n=Za(e),r=(Ae(t)?n.getPropertyValue(t):n[t])||0;return typeof r==`string`?r.trim():r}}measureInstanceViewportBox(e,{transformPagePoint:t}){return Ra(e,t)}build(e,t,n){Ua(e,t,n.transformTemplate)}scrapeMotionValuesFromProps(e,t,n){return Xa(e,t,n)}},$a={offset:`stroke-dashoffset`,array:`stroke-dasharray`},eo={offset:`strokeDashoffset`,array:`strokeDasharray`};function to(e,t,n=1,r=0,i=!0){e.pathLength=1;let a=i?$a:eo;e[a.offset]=`${-r}`,e[a.array]=`${t} ${n}`}var no=[`offsetDistance`,`offsetPath`,`offsetRotate`,`offsetAnchor`];function ro(e,{attrX:t,attrY:n,attrScale:r,pathLength:i,pathSpacing:a=1,pathOffset:o=0,...s},c,l,u){if(Ua(e,s,l),c){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};let{attrs:d,style:f}=e;d.transform&&(f.transform=d.transform,delete d.transform),(f.transform||d.transformOrigin)&&(f.transformOrigin=d.transformOrigin??`50% 50%`,delete d.transformOrigin),f.transform&&(f.transformBox=u?.transformBox??`fill-box`,delete d.transformBox);for(let e of no)d[e]!==void 0&&(f[e]=d[e],delete d[e]);t!==void 0&&(d.x=t),n!==void 0&&(d.y=n),r!==void 0&&(d.scale=r),i!==void 0&&to(d,i,a,o,!1)}var io=new Set([`baseFrequency`,`diffuseConstant`,`kernelMatrix`,`kernelUnitLength`,`keySplines`,`keyTimes`,`limitingConeAngle`,`markerHeight`,`markerWidth`,`numOctaves`,`targetX`,`targetY`,`surfaceScale`,`specularConstant`,`specularExponent`,`stdDeviation`,`tableValues`,`viewBox`,`gradientTransform`,`pathLength`,`startOffset`,`textLength`,`lengthAdjust`]),ao=e=>typeof e==`string`&&e.toLowerCase()===`svg`;function oo(e,t,n,r){Wa(e,t,void 0,r);for(let n in t.attrs)e.setAttribute(io.has(n)?n:Br(n),t.attrs[n])}function so(e,t,n){let r=Xa(e,t,n);for(let n in e)if(G(e[n])||G(t[n])){let t=Cn.indexOf(n)===-1?n:`attr`+n.charAt(0).toUpperCase()+n.substring(1);r[t]=e[n]}return r}var co=class extends ba{constructor(){super(...arguments),this.type=`svg`,this.isSVGTag=!1,this.measureInstanceViewportBox=q}getBaseTargetFromProps(e,t){return e[t]}readValueFromInstance(e,t){if(wn.has(t)){let e=si(t);return e&&e.default||0}return t=io.has(t)?t:Br(t),e.getAttribute(t)}scrapeMotionValuesFromProps(e,t,n){return so(e,t,n)}build(e,t,n){ro(e,t,this.isSVGTag,n.transformTemplate,n.style)}renderInstance(e,t,n,r){oo(e,t,n,r)}mount(e){this.isSVGTag=ao(e.tagName),super.mount(e)}},lo=sa.length;function uo(e){if(!e)return;if(!e.isControllingVariants){let t=e.parent&&uo(e.parent)||{};return e.props.initial!==void 0&&(t.initial=e.props.initial),t}let t={};for(let n=0;n<lo;n++){let r=sa[n],i=e.props[r];(aa(i)||i===!1)&&(t[r]=i)}return t}function fo(e,t){if(!Array.isArray(t))return!1;let n=t.length;if(n!==e.length)return!1;for(let r=0;r<n;r++)if(t[r]!==e[r])return!1;return!0}var po=[...oa].reverse(),mo=oa.length;function ho(e){return t=>Promise.all(t.map(({animation:t,options:n})=>qr(e,t,n)))}function go(e){let t=ho(e),n=yo(),r=!0,i=!1,a=t=>(n,r)=>{let i=W(e,r,t===`exit`?e.presenceContext?.custom:void 0);if(i){let{transition:e,transitionEnd:t,...r}=i;n={...n,...r,...t}}return n};function o(n){t=n(e)}function s(o){let{props:s}=e,c=uo(e.parent)||{},l=[],u=new Set,d={},f=1/0;for(let t=0;t<mo;t++){let p=po[t],m=n[p],h=s[p]===void 0?c[p]:s[p],g=aa(h),_=p===o?m.isActive:null;_===!1&&(f=t);let v=h===c[p]&&h!==s[p]&&g;if(v&&(r||i)&&e.manuallyAnimateOnMount&&(v=!1),m.protectedKeys={...d},!m.isActive&&_===null||!h&&!m.prevProp||ia(h)||typeof h==`boolean`)continue;if(p===`exit`&&m.isActive&&_!==!0){m.prevResolvedValues&&(d={...d,...m.prevResolvedValues});continue}let y=_o(m.prevProp,h),b=y||p===o&&m.isActive&&!v&&g||t>f&&g,x=!1,S=Array.isArray(h)?h:[h],C=S.reduce(a(p),{});_===!1&&(C={});let{prevResolvedValues:w={}}=m,T={...w,...C},E=t=>{b=!0,u.has(t)&&(x=!0,u.delete(t)),m.needsAnimating[t]=!0;let n=e.getValue(t);n&&(n.liveStyle=!1)};for(let e in T){let t=C[e],n=w[e];if(d.hasOwnProperty(e))continue;let r=!1;r=Pr(t)&&Pr(n)?!fo(t,n):t!==n,r?t==null?u.add(e):E(e):t!==void 0&&u.has(e)?E(e):m.protectedKeys[e]=!0}m.prevProp=h,m.prevResolvedValues=C,m.isActive&&(d={...d,...C}),(r||i)&&e.blockInitialAnimation&&(b=!1);let D=v&&y;b&&(!D||x)&&l.push(...S.map(t=>{let n={type:p};if(typeof t==`string`&&(r||i)&&!D&&e.manuallyAnimateOnMount&&e.parent){let{parent:r}=e,i=W(r,t);if(r.enteringChildren&&i){let{delayChildren:t}=i.transition||{};n.delay=fr(r.enteringChildren,e,t)}}return{animation:t,options:n}}))}if(u.size){let t={};if(typeof s.initial!=`boolean`){let n=W(e,Array.isArray(s.initial)?s.initial[0]:s.initial);n&&n.transition&&(t.transition=n.transition)}u.forEach(n=>{let r=e.getBaseTarget(n),i=e.getValue(n);i&&(i.liveStyle=!0),t[n]=r??null}),l.push({animation:t})}let p=!!l.length;return r&&(s.initial===!1||s.initial===s.animate)&&!e.manuallyAnimateOnMount&&(p=!1),r=!1,i=!1,p?t(l):Promise.resolve()}function c(t,r){if(n[t].isActive===r)return Promise.resolve();e.variantChildren?.forEach(e=>e.animationState?.setActive(t,r)),n[t].isActive=r;let i=s(t);for(let e in n)n[e].protectedKeys={};return i}return{animateChanges:s,setActive:c,setAnimateFunction:o,getState:()=>n,reset:()=>{n=yo(),i=!0}}}function _o(e,t){return typeof t==`string`?t!==e:Array.isArray(t)?!fo(t,e):!1}function vo(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function yo(){return{animate:vo(!0),whileInView:vo(),whileHover:vo(),whileTap:vo(),whileDrag:vo(),whileFocus:vo(),exit:vo()}}function bo(e,t){e.min=t.min,e.max=t.max}function Z(e,t){bo(e.x,t.x),bo(e.y,t.y)}function xo(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}var So=1e-4,Co=1-So,wo=1+So,To=.01,Eo=0-To,Do=0+To;function Q(e){return e.max-e.min}function Oo(e,t,n){return Math.abs(e-t)<=n}function ko(e,t,n,r=.5){e.origin=r,e.originPoint=z(t.min,t.max,e.origin),e.scale=Q(n)/Q(t),e.translate=z(n.min,n.max,e.origin)-e.originPoint,(e.scale>=Co&&e.scale<=wo||isNaN(e.scale))&&(e.scale=1),(e.translate>=Eo&&e.translate<=Do||isNaN(e.translate))&&(e.translate=0)}function Ao(e,t,n,r){ko(e.x,t.x,n.x,r?r.originX:void 0),ko(e.y,t.y,n.y,r?r.originY:void 0)}function jo(e,t,n,r=0){e.min=(r?z(n.min,n.max,r):n.min)+t.min,e.max=e.min+Q(t)}function Mo(e,t,n,r){jo(e.x,t.x,n.x,r?.x),jo(e.y,t.y,n.y,r?.y)}function No(e,t,n,r=0){let i=r?z(n.min,n.max,r):n.min;e.min=t.min-i,e.max=e.min+Q(t)}function Po(e,t,n,r){No(e.x,t.x,n.x,r?.x),No(e.y,t.y,n.y,r?.y)}function Fo(e,t,n,r,i){return e-=t,e=Oa(e,1/n,r),i!==void 0&&(e=Oa(e,1/i,r)),e}function Io(e,t=0,n=1,r=.5,i,a=e,o=e){if(F.test(t)&&(t=parseFloat(t),t=z(o.min,o.max,t/100)-o.min),typeof t!=`number`)return;let s=z(a.min,a.max,r);e===a&&(s-=t),e.min=Fo(e.min,t,n,s,i),e.max=Fo(e.max,t,n,s,i)}function Lo(e,t,[n,r,i],a,o){Io(e,t[n],t[r],t[i],t.scale,a,o)}var Ro=[`x`,`scaleX`,`originX`],zo=[`y`,`scaleY`,`originY`];function Bo(e,t,n,r){Lo(e.x,t,Ro,n?n.x:void 0,r?r.x:void 0),Lo(e.y,t,zo,n?n.y:void 0,r?r.y:void 0)}function Vo(e){return e.translate===0&&e.scale===1}function Ho(e){return Vo(e.x)&&Vo(e.y)}function Uo(e,t){return e.min===t.min&&e.max===t.max}function Wo(e,t){return Uo(e.x,t.x)&&Uo(e.y,t.y)}function Go(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function Ko(e,t){return Go(e.x,t.x)&&Go(e.y,t.y)}function qo(e){return Q(e.x)/Q(e.y)}function Jo(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}function $(e){return[e(`x`),e(`y`)]}function Yo(e,t,n){let r=``,i=e.x.translate/t.x,a=e.y.translate/t.y,o=n?.z||0;if((i||a||o)&&(r=`translate3d(${i}px, ${a}px, ${o}px) `),(t.x!==1||t.y!==1)&&(r+=`scale(${1/t.x}, ${1/t.y}) `),n){let{transformPerspective:e,rotate:t,rotateX:i,rotateY:a,skewX:o,skewY:s}=n;e&&(r=`perspective(${e}px) ${r}`),t&&(r+=`rotate(${t}deg) `),i&&(r+=`rotateX(${i}deg) `),a&&(r+=`rotateY(${a}deg) `),o&&(r+=`skewX(${o}deg) `),s&&(r+=`skewY(${s}deg) `)}let s=e.x.scale*t.x,c=e.y.scale*t.y;return(s!==1||c!==1)&&(r+=`scale(${s}, ${c})`),r||`none`}var Xo=[`borderTopLeftRadius`,`borderTopRightRadius`,`borderBottomLeftRadius`,`borderBottomRightRadius`],Zo=Xo.length,Qo=e=>typeof e==`string`?parseFloat(e):e,$o=e=>typeof e==`number`||I.test(e);function es(e,t,n,r,i,a){i?(e.opacity=z(0,n.opacity??1,ns(r)),e.opacityExit=z(t.opacity??1,0,rs(r))):a&&(e.opacity=z(t.opacity??1,n.opacity??1,r));for(let i=0;i<Zo;i++){let a=Xo[i],o=ts(t,a),s=ts(n,a);o===void 0&&s===void 0||(o||=0,s||=0,o===0||s===0||$o(o)===$o(s)?(e[a]=Math.max(z(Qo(o),Qo(s),r),0),(F.test(s)||F.test(o))&&(e[a]+=`%`)):e[a]=s)}(t.rotate||n.rotate)&&(e.rotate=z(t.rotate||0,n.rotate||0,r))}function ts(e,t){return e[t]===void 0?e.borderRadius:e[t]}var ns=is(0,.5,fe),rs=is(.5,.95,b);function is(e,t,n){return r=>r<e?0:r>t?1:n(C(e,t,r))}function as(e,t,n){let r=G(e)?e:Nr(e);return r.start(Tr(``,r,t,n)),r.animation}function os(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}var ss=(e,t)=>e.depth-t.depth,cs=class{constructor(){this.children=[],this.isDirty=!1}add(e){f(this.children,e),this.isDirty=!0}remove(e){p(this.children,e),this.isDirty=!0}forEach(e){this.isDirty&&this.children.sort(ss),this.isDirty=!1,this.children.forEach(e)}};function ls(e,t){let n=M.now(),r=({timestamp:i})=>{let a=i-n;a>=t&&(A(r),e(a-t))};return k.setup(r,!0),()=>A(r)}function us(e){return G(e)?e.get():e}var ds=class{constructor(){this.members=[]}add(e){f(this.members,e);for(let t=this.members.length-1;t>=0;t--){let n=this.members[t];if(n===e||n===this.lead||n===this.prevLead)continue;let r=n.instance;(!r||r.isConnected===!1)&&!n.snapshot&&(p(this.members,n),n.unmount())}e.scheduleRender()}remove(e){if(p(this.members,e),e===this.prevLead&&(this.prevLead=void 0),e===this.lead){let e=this.members[this.members.length-1];e&&this.promote(e)}}relegate(e){for(let t=this.members.indexOf(e)-1;t>=0;t--){let e=this.members[t];if(e.isPresent!==!1&&e.instance?.isConnected!==!1)return this.promote(e),!0}return!1}promote(e,t){let n=this.lead;if(e!==n&&(this.prevLead=n,this.lead=e,e.show(),n)){n.updateSnapshot(),e.scheduleRender();let{layoutDependency:r}=n.options,{layoutDependency:i}=e.options;(r===void 0||r!==i)&&(e.resumeFrom=n,t&&(n.preserveOpacity=!0),n.snapshot&&(e.snapshot=n.snapshot,e.snapshot.latestValues=n.animationValues||n.latestValues),e.root?.isUpdating&&(e.isLayoutDirty=!0)),e.options.crossfade===!1&&n.hide()}}exitAnimationComplete(){this.members.forEach(e=>{e.options.onExitComplete?.(),e.resumingFrom?.options.onExitComplete?.()})}scheduleRender(){this.members.forEach(e=>e.instance&&e.scheduleRender(!1))}removeLeadSnapshot(){this.lead?.snapshot&&(this.lead.snapshot=void 0)}},fs={hasAnimatedSinceResize:!0,hasEverUpdated:!1},ps={nodes:0,calculatedTargetDeltas:0,calculatedProjections:0},ms=[``,`X`,`Y`,`Z`],hs=1e3,gs=0;function _s(e,t,n,r){let{latestValues:i}=t;i[e]&&(n[e]=i[e],t.setStaticValue(e,0),r&&(r[e]=0))}function vs(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;let{visualElement:t}=e.options;if(!t)return;let n=Hr(t);if(window.MotionHasOptimisedAnimation(n,`transform`)){let{layout:t,layoutId:r}=e.options;window.MotionCancelOptimisedAnimation(n,`transform`,k,!(t||r))}let{parent:r}=e;r&&!r.hasCheckedOptimisedAppear&&vs(r)}function ys({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:i}){return class{constructor(e={},n=t?.()){this.id=gs++,this.animationId=0,this.animationCommitId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.layoutVersion=0,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,O.value&&(ps.nodes=ps.calculatedTargetDeltas=ps.calculatedProjections=0),this.nodes.forEach(Ss),this.nodes.forEach(js),this.nodes.forEach(Ms),this.nodes.forEach(Cs),O.addProjectionMetrics&&O.addProjectionMetrics(ps)},this.resolvedRelativeTargetAt=0,this.linkedParentVersion=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=e,this.root=n?n.root||n:this,this.path=n?[...n.path,n]:[],this.parent=n,this.depth=n?n.depth+1:0;for(let e=0;e<this.path.length;e++)this.path[e].shouldResetTransform=!0;this.root===this&&(this.nodes=new cs)}addEventListener(e,t){return this.eventHandlers.has(e)||this.eventHandlers.set(e,new w),this.eventHandlers.get(e).add(t)}notifyListeners(e,...t){let n=this.eventHandlers.get(e);n&&n.notify(...t)}hasListeners(e){return this.eventHandlers.has(e)}mount(t){if(this.instance)return;this.isSVG=Ii(t)&&!Zi(t),this.instance=t;let{layoutId:n,layout:r,visualElement:i}=this.options;if(i&&!i.current&&i.mount(t),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),this.root.hasTreeAnimated&&(r||n)&&(this.isLayoutDirty=!0),e){let n,r=0,i=()=>this.root.updateBlockedByResize=!1;k.read(()=>{r=window.innerWidth}),e(t,()=>{let e=window.innerWidth;e!==r&&(r=e,this.root.updateBlockedByResize=!0,n&&n(),n=ls(i,250),fs.hasAnimatedSinceResize&&(fs.hasAnimatedSinceResize=!1,this.nodes.forEach(As)))})}n&&this.root.registerSharedNode(n,this),this.options.animate!==!1&&i&&(n||r)&&this.addEventListener(`didUpdate`,({delta:e,hasLayoutChanged:t,hasRelativeLayoutChanged:n,layout:r})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}let a=this.options.transition||i.getDefaultTransition()||zs,{onLayoutAnimationStart:o,onLayoutAnimationComplete:s}=i.getProps(),c=!this.targetLayout||!Ko(this.targetLayout,r),l=!t&&n;if(this.options.layoutRoot||this.resumeFrom||l||t&&(c||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);let t={...Sr(a,`layout`),onPlay:o,onComplete:s};(i.shouldReduceMotion||this.options.layoutRoot)&&(t.delay=0,t.type=!1),this.startAnimation(t),this.setAnimationOrigin(e,l)}else t||As(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=r})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);let e=this.getStack();e&&e.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),A(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(Ns),this.animationId++)}getTransformTemplate(){let{visualElement:e}=this.options;return e&&e.getProps().transformTemplate}willUpdate(e=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&vs(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let e=0;e<this.path.length;e++){let t=this.path[e];t.shouldResetTransform=!0,(typeof t.latestValues.x==`string`||typeof t.latestValues.y==`string`)&&(t.isLayoutDirty=!0),t.updateScroll(`snapshot`),t.options.layoutRoot&&t.willUpdate(!1)}let{layoutId:t,layout:n}=this.options;if(t===void 0&&!n)return;let r=this.getTransformTemplate();this.prevTransformTemplateValue=r?r(this.latestValues,``):void 0,this.updateSnapshot(),e&&this.notifyListeners(`willUpdate`)}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){let e=this.updateBlockedByResize;this.unblockUpdate(),this.updateBlockedByResize=!1,this.clearAllSnapshots(),e&&this.nodes.forEach(Es),this.nodes.forEach(Ts);return}if(this.animationId<=this.animationCommitId){this.nodes.forEach(Ds);return}this.animationCommitId=this.animationId,this.isUpdating?(this.isUpdating=!1,this.nodes.forEach(Os),this.nodes.forEach(ks),this.nodes.forEach(bs),this.nodes.forEach(xs)):this.nodes.forEach(Ds),this.clearAllSnapshots();let e=M.now();j.delta=m(0,1e3/60,e-j.timestamp),j.timestamp=e,j.isProcessing=!0,Ee.update.process(j),Ee.preRender.process(j),Ee.render.process(j),j.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,gi.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(ws),this.sharedNodes.forEach(Ps)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,k.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){k.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure(),this.snapshot&&!Q(this.snapshot.measuredBox.x)&&!Q(this.snapshot.measuredBox.y)&&(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let e=0;e<this.path.length;e++)this.path[e].updateScroll();let e=this.layout;this.layout=this.measure(!1),this.layoutVersion++,this.layoutCorrected||=q(),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners(`measure`,this.layout.layoutBox);let{visualElement:t}=this.options;t&&t.notify(`LayoutMeasure`,this.layout.layoutBox,e?e.layoutBox:void 0)}updateScroll(e=`measure`){let t=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===e&&(t=!1),t&&this.instance){let t=r(this.instance);this.scroll={animationId:this.root.animationId,phase:e,isRoot:t,offset:n(this.instance),wasRoot:this.scroll?this.scroll.isRoot:t}}}resetTransform(){if(!i)return;let e=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,t=this.projectionDelta&&!Ho(this.projectionDelta),n=this.getTransformTemplate(),r=n?n(this.latestValues,``):void 0,a=r!==this.prevTransformTemplateValue;e&&this.instance&&(t||Y(this.latestValues)||a)&&(i(this.instance,r),this.shouldResetTransform=!1,this.scheduleRender())}measure(e=!0){let t=this.measurePageBox(),n=this.removeElementScroll(t);return e&&(n=this.removeTransform(n)),Us(n),{animationId:this.root.animationId,measuredBox:t,layoutBox:n,latestValues:{},source:this.id}}measurePageBox(){let{visualElement:e}=this.options;if(!e)return q();let t=e.measureViewportBox();if(!(this.scroll?.wasRoot||this.path.some(Gs))){let{scroll:e}=this.root;e&&(X(t.x,e.offset.x),X(t.y,e.offset.y))}return t}removeElementScroll(e){let t=q();if(Z(t,e),this.scroll?.wasRoot)return t;for(let n=0;n<this.path.length;n++){let r=this.path[n],{scroll:i,options:a}=r;r!==this.root&&i&&a.layoutScroll&&(i.wasRoot&&Z(t,e),X(t.x,i.offset.x),X(t.y,i.offset.y))}return t}applyTransform(e,t=!1,n){let r=n||q();Z(r,e);for(let e=0;e<this.path.length;e++){let n=this.path[e];!t&&n.options.layoutScroll&&n.scroll&&n!==n.root&&(X(r.x,-n.scroll.offset.x),X(r.y,-n.scroll.offset.y)),Y(n.latestValues)&&La(r,n.latestValues,n.layout?.layoutBox)}return Y(this.latestValues)&&La(r,this.latestValues,this.layout?.layoutBox),r}removeTransform(e){let t=q();Z(t,e);for(let e=0;e<this.path.length;e++){let n=this.path[e];if(!Y(n.latestValues))continue;let r;n.instance&&(Ta(n.latestValues)&&n.updateSnapshot(),r=q(),Z(r,n.measurePageBox())),Bo(t,n.latestValues,n.snapshot?.layoutBox,r)}return Y(this.latestValues)&&Bo(t,this.latestValues),t}setTargetDelta(e){this.targetDelta=e,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(e){this.options={...this.options,...e,crossfade:e.crossfade===void 0?!0:e.crossfade}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==j.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(e=!1){let t=this.getLead();this.isProjectionDirty||=t.isProjectionDirty,this.isTransformDirty||=t.isTransformDirty,this.isSharedProjectionDirty||=t.isSharedProjectionDirty;let n=!!this.resumingFrom||this!==t;if(!(e||n&&this.isSharedProjectionDirty||this.isProjectionDirty||this.parent?.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;let{layout:r,layoutId:i}=this.options;if(!this.layout||!(r||i))return;this.resolvedRelativeTargetAt=j.timestamp;let a=this.getClosestProjectingParent();a&&this.linkedParentVersion!==a.layoutVersion&&!a.options.layoutRoot&&this.removeRelativeTarget(),!this.targetDelta&&!this.relativeTarget&&(this.options.layoutAnchor!==!1&&a&&a.layout?this.createRelativeTarget(a,this.layout.layoutBox,a.layout.layoutBox):this.removeRelativeTarget()),!(!this.relativeTarget&&!this.targetDelta)&&(this.target||(this.target=q(),this.targetWithTransforms=q()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),Mo(this.target,this.relativeTarget,this.relativeParent.target,this.options.layoutAnchor||void 0)):this.targetDelta?(this.resumingFrom?this.applyTransform(this.layout.layoutBox,!1,this.target):Z(this.target,this.layout.layoutBox),ja(this.target,this.targetDelta)):Z(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget&&(this.attemptToResolveRelativeTarget=!1,this.options.layoutAnchor!==!1&&a&&!!a.resumingFrom==!!this.resumingFrom&&!a.options.layoutScroll&&a.target&&this.animationProgress!==1?this.createRelativeTarget(a,this.target,a.target):this.relativeParent=this.relativeTarget=void 0),O.value&&ps.calculatedTargetDeltas++)}getClosestProjectingParent(){if(!(!this.parent||Ta(this.parent.latestValues)||Ea(this.parent.latestValues)))return this.parent.isProjecting()?this.parent:this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}createRelativeTarget(e,t,n){this.relativeParent=e,this.linkedParentVersion=e.layoutVersion,this.forceRelativeParentToResolveTarget(),this.relativeTarget=q(),this.relativeTargetOrigin=q(),Po(this.relativeTargetOrigin,t,n,this.options.layoutAnchor||void 0),Z(this.relativeTarget,this.relativeTargetOrigin)}removeRelativeTarget(){this.relativeParent=this.relativeTarget=void 0}calcProjection(){let e=this.getLead(),t=!!this.resumingFrom||this!==e,n=!0;if((this.isProjectionDirty||this.parent?.isProjectionDirty)&&(n=!1),t&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(n=!1),this.resolvedRelativeTargetAt===j.timestamp&&(n=!1),n)return;let{layout:r,layoutId:i}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(r||i))return;Z(this.layoutCorrected,this.layout.layoutBox);let a=this.treeScale.x,o=this.treeScale.y;Pa(this.layoutCorrected,this.treeScale,this.path,t),e.layout&&!e.target&&(this.treeScale.x!==1||this.treeScale.y!==1)&&(e.target=e.layout.layoutBox,e.targetWithTransforms=q());let{target:s}=e;if(!s){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}!this.projectionDelta||!this.prevProjectionDelta?this.createProjectionDeltas():(xo(this.prevProjectionDelta.x,this.projectionDelta.x),xo(this.prevProjectionDelta.y,this.projectionDelta.y)),Ao(this.projectionDelta,this.layoutCorrected,s,this.latestValues),(this.treeScale.x!==a||this.treeScale.y!==o||!Jo(this.projectionDelta.x,this.prevProjectionDelta.x)||!Jo(this.projectionDelta.y,this.prevProjectionDelta.y))&&(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners(`projectionUpdate`,s)),O.value&&ps.calculatedProjections++}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(e=!0){if(this.options.visualElement?.scheduleRender(),e){let e=this.getStack();e&&e.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=ta(),this.projectionDelta=ta(),this.projectionDeltaWithTransform=ta()}setAnimationOrigin(e,t=!1){let n=this.snapshot,r=n?n.latestValues:{},i={...this.latestValues},a=ta();(!this.relativeParent||!this.relativeParent.options.layoutRoot)&&(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!t;let o=q(),s=(n?n.source:void 0)!==(this.layout?this.layout.source:void 0),c=this.getStack(),l=!c||c.members.length<=1,u=!!(s&&!l&&this.options.crossfade===!0&&!this.path.some(Rs));this.animationProgress=0;let d;this.mixTargetDelta=t=>{let n=t/1e3;Fs(a.x,e.x,n),Fs(a.y,e.y,n),this.setTargetDelta(a),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Po(o,this.layout.layoutBox,this.relativeParent.layout.layoutBox,this.options.layoutAnchor||void 0),Ls(this.relativeTarget,this.relativeTargetOrigin,o,n),d&&Wo(this.relativeTarget,d)&&(this.isProjectionDirty=!1),d||=q(),Z(d,this.relativeTarget)),s&&(this.animationValues=i,es(i,r,this.latestValues,n,u,l)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=n},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(e){this.notifyListeners(`animationStart`),this.currentAnimation?.stop(),this.resumingFrom?.currentAnimation?.stop(),this.pendingAnimation&&=(A(this.pendingAnimation),void 0),this.pendingAnimation=k.update(()=>{fs.hasAnimatedSinceResize=!0,N.layout++,this.motionValue||=Nr(0),this.motionValue.jump(0,!1),this.currentAnimation=as(this.motionValue,[0,1e3],{...e,velocity:0,isSync:!0,onUpdate:t=>{this.mixTargetDelta(t),e.onUpdate&&e.onUpdate(t)},onStop:()=>{N.layout--},onComplete:()=>{N.layout--,e.onComplete&&e.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);let e=this.getStack();e&&e.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners(`animationComplete`)}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(hs),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){let e=this.getLead(),{targetWithTransforms:t,target:n,layout:r,latestValues:i}=e;if(!(!t||!n||!r)){if(this!==e&&this.layout&&r&&Ws(this.options.animationType,this.layout.layoutBox,r.layoutBox)){n=this.target||q();let t=Q(this.layout.layoutBox.x);n.x.min=e.target.x.min,n.x.max=n.x.min+t;let r=Q(this.layout.layoutBox.y);n.y.min=e.target.y.min,n.y.max=n.y.min+r}Z(t,n),La(t,i),Ao(this.projectionDeltaWithTransform,this.layoutCorrected,t,i)}}registerSharedNode(e,t){this.sharedNodes.has(e)||this.sharedNodes.set(e,new ds),this.sharedNodes.get(e).add(t);let n=t.options.initialPromotionConfig;t.promote({transition:n?n.transition:void 0,preserveFollowOpacity:n&&n.shouldPreserveFollowOpacity?n.shouldPreserveFollowOpacity(t):void 0})}isLead(){let e=this.getStack();return e?e.lead===this:!0}getLead(){let{layoutId:e}=this.options;return e&&this.getStack()?.lead||this}getPrevLead(){let{layoutId:e}=this.options;return e?this.getStack()?.prevLead:void 0}getStack(){let{layoutId:e}=this.options;if(e)return this.root.sharedNodes.get(e)}promote({needsReset:e,transition:t,preserveFollowOpacity:n}={}){let r=this.getStack();r&&r.promote(this,n),e&&(this.projectionDelta=void 0,this.needsReset=!0),t&&this.setOptions({transition:t})}relegate(){let e=this.getStack();return e?e.relegate(this):!1}resetSkewAndRotation(){let{visualElement:e}=this.options;if(!e)return;let t=!1,{latestValues:n}=e;if((n.z||n.rotate||n.rotateX||n.rotateY||n.rotateZ||n.skewX||n.skewY)&&(t=!0),!t)return;let r={};n.z&&_s(`z`,e,r,this.animationValues);for(let t=0;t<ms.length;t++)_s(`rotate${ms[t]}`,e,r,this.animationValues),_s(`skew${ms[t]}`,e,r,this.animationValues);e.render();for(let t in r)e.setStaticValue(t,r[t]),this.animationValues&&(this.animationValues[t]=r[t]);e.scheduleRender()}applyProjectionStyles(e,t){if(!this.instance||this.isSVG)return;if(!this.isVisible){e.visibility=`hidden`;return}let n=this.getTransformTemplate();if(this.needsReset){this.needsReset=!1,e.visibility=``,e.opacity=``,e.pointerEvents=us(t?.pointerEvents)||``,e.transform=n?n(this.latestValues,``):`none`;return}let r=this.getLead();if(!this.projectionDelta||!this.layout||!r.target){this.options.layoutId&&(e.opacity=this.latestValues.opacity===void 0?1:this.latestValues.opacity,e.pointerEvents=us(t?.pointerEvents)||``),this.hasProjected&&!Y(this.latestValues)&&(e.transform=n?n({},``):`none`,this.hasProjected=!1);return}e.visibility=``;let i=r.animationValues||r.latestValues;this.applyTransformsToTarget();let a=Yo(this.projectionDeltaWithTransform,this.treeScale,i);n&&(a=n(i,a)),e.transform=a;let{x:o,y:s}=this.projectionDelta;e.transformOrigin=`${o.origin*100}% ${s.origin*100}% 0`,r.animationValues?e.opacity=r===this?i.opacity??this.latestValues.opacity??1:this.preserveOpacity?this.latestValues.opacity:i.opacityExit:e.opacity=r===this?i.opacity===void 0?``:i.opacity:i.opacityExit===void 0?0:i.opacityExit;for(let t in Ja){if(i[t]===void 0)continue;let{correct:n,applyTo:o,isCSSVariable:s}=Ja[t],c=a===`none`?i[t]:n(i[t],r);if(o){let t=o.length;for(let n=0;n<t;n++)e[o[n]]=c}else s?this.options.visualElement.renderState.vars[t]=c:e[t]=c}this.options.layoutId&&(e.pointerEvents=r===this?us(t?.pointerEvents)||``:`none`)}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(e=>e.currentAnimation?.stop()),this.root.nodes.forEach(Ts),this.root.sharedNodes.clear()}}}function bs(e){e.updateLayout()}function xs(e){let t=e.resumeFrom?.snapshot||e.snapshot;if(e.isLead()&&e.layout&&t&&e.hasListeners(`didUpdate`)){let{layoutBox:n,measuredBox:r}=e.layout,{animationType:i}=e.options,a=t.source!==e.layout.source;if(i===`size`)$(e=>{let r=a?t.measuredBox[e]:t.layoutBox[e],i=Q(r);r.min=n[e].min,r.max=r.min+i});else if(i===`x`||i===`y`){let e=i===`x`?`y`:`x`;bo(a?t.measuredBox[e]:t.layoutBox[e],n[e])}else Ws(i,t.layoutBox,n)&&$(r=>{let i=a?t.measuredBox[r]:t.layoutBox[r],o=Q(n[r]);i.max=i.min+o,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[r].max=e.relativeTarget[r].min+o)});let o=ta();Ao(o,n,t.layoutBox);let s=ta();a?Ao(s,e.applyTransform(r,!0),t.measuredBox):Ao(s,n,t.layoutBox);let c=!Ho(o),l=!1;if(!e.resumeFrom){let r=e.getClosestProjectingParent();if(r&&!r.resumeFrom){let{snapshot:i,layout:a}=r;if(i&&a){let o=e.options.layoutAnchor||void 0,s=q();Po(s,t.layoutBox,i.layoutBox,o);let c=q();Po(c,n,a.layoutBox,o),Ko(s,c)||(l=!0),r.options.layoutRoot&&(e.relativeTarget=c,e.relativeTargetOrigin=s,e.relativeParent=r)}}}e.notifyListeners(`didUpdate`,{layout:n,snapshot:t,delta:s,layoutDelta:o,hasLayoutChanged:c,hasRelativeLayoutChanged:l})}else if(e.isLead()){let{onExitComplete:t}=e.options;t&&t()}e.options.transition=void 0}function Ss(e){O.value&&ps.nodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty),e.isTransformDirty||=e.parent.isTransformDirty)}function Cs(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function ws(e){e.clearSnapshot()}function Ts(e){e.clearMeasurements()}function Es(e){e.isLayoutDirty=!0,e.updateLayout()}function Ds(e){e.isLayoutDirty=!1}function Os(e){e.isAnimationBlocked&&e.layout&&!e.isLayoutDirty&&(e.snapshot=e.layout,e.isLayoutDirty=!0)}function ks(e){let{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify(`BeforeLayoutMeasure`),e.resetTransform()}function As(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function js(e){e.resolveTargetDelta()}function Ms(e){e.calcProjection()}function Ns(e){e.resetSkewAndRotation()}function Ps(e){e.removeLeadSnapshot()}function Fs(e,t,n){e.translate=z(t.translate,0,n),e.scale=z(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function Is(e,t,n,r){e.min=z(t.min,n.min,r),e.max=z(t.max,n.max,r)}function Ls(e,t,n,r){Is(e.x,t.x,n.x,r),Is(e.y,t.y,n.y,r)}function Rs(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}var zs={duration:.45,ease:[.4,0,.1,1]},Bs=e=>typeof navigator<`u`&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),Vs=Bs(`applewebkit/`)&&!Bs(`chrome/`)?Math.round:b;function Hs(e){e.min=Vs(e.min),e.max=Vs(e.max)}function Us(e){Hs(e.x),Hs(e.y)}function Ws(e,t,n){return e===`position`||e===`preserve-aspect`&&!Oo(qo(t),qo(n),.2)}function Gs(e){return e!==e.root&&e.scroll?.wasRoot}var Ks=ys({attachResizeListener:(e,t)=>os(e,`resize`,t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body?.scrollLeft||0,y:document.documentElement.scrollTop||document.body?.scrollTop||0}),checkIsScrollRoot:()=>!0}),qs={current:void 0},Js=ys({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!qs.current){let e=new Ks({});e.mount(window),e.setOptions({layoutScroll:!0}),qs.current=e}return qs.current},resetTransform:(e,t)=>{e.style.transform=t===void 0?`none`:t},checkIsScrollRoot:e=>window.getComputedStyle(e).position===`fixed`}),Ys=(0,s.createContext)({transformPagePoint:e=>e,isStatic:!1,reducedMotion:`never`});function Xs(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function Zs(...e){return t=>{let n=!1,r=e.map(e=>{let r=Xs(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():Xs(e[t],null)}}}}function Qs(...e){return s.useCallback(Zs(...e),e)}var $s=class extends s.Component{getSnapshotBeforeUpdate(e){let t=this.props.childRef.current;if(hi(t)&&e.isPresent&&!this.props.isPresent&&this.props.pop!==!1){let e=t.offsetParent,n=hi(e)&&e.offsetWidth||0,r=hi(e)&&e.offsetHeight||0,i=getComputedStyle(t),a=this.props.sizeRef.current;a.height=parseFloat(i.height),a.width=parseFloat(i.width),a.top=t.offsetTop,a.left=t.offsetLeft,a.right=n-a.width-a.left,a.bottom=r-a.height-a.top}return null}componentDidUpdate(){}render(){return this.props.children}};function ec({children:e,isPresent:t,anchorX:n,anchorY:r,root:i,pop:a}){let c=(0,s.useId)(),l=(0,s.useRef)(null),u=(0,s.useRef)({width:0,height:0,top:0,left:0,right:0,bottom:0}),{nonce:d}=(0,s.useContext)(Ys),f=Qs(l,e.props?.ref??e?.ref);return(0,s.useInsertionEffect)(()=>{let{width:e,height:o,top:s,left:f,right:p,bottom:m}=u.current;if(t||a===!1||!l.current||!e||!o)return;let h=n===`left`?`left: ${f}`:`right: ${p}`,g=r===`bottom`?`bottom: ${m}`:`top: ${s}`;l.current.dataset.motionPopId=c;let _=document.createElement(`style`);d&&(_.nonce=d);let v=i??document.head;return v.appendChild(_),_.sheet&&_.sheet.insertRule(`
2
+ [data-motion-pop-id="${c}"] {
3
+ position: absolute !important;
4
+ width: ${e}px !important;
5
+ height: ${o}px !important;
6
+ ${h}px !important;
7
+ ${g}px !important;
8
+ }
9
+ `),()=>{l.current?.removeAttribute(`data-motion-pop-id`),v.contains(_)&&v.removeChild(_)}},[t]),(0,o.jsx)($s,{isPresent:t,childRef:l,sizeRef:u,pop:a,children:a===!1?e:s.cloneElement(e,{ref:f})})}var tc=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:i,presenceAffectsLayout:a,mode:c,anchorX:u,anchorY:f,root:p})=>{let m=l(nc),h=(0,s.useId)(),g=!0,_=(0,s.useMemo)(()=>(g=!1,{id:h,initial:t,isPresent:n,custom:i,onExitComplete:e=>{m.set(e,!0);for(let e of m.values())if(!e)return;r&&r()},register:e=>(m.set(e,!1),()=>m.delete(e))}),[n,m,r]);return a&&g&&(_={..._}),(0,s.useMemo)(()=>{m.forEach((e,t)=>m.set(t,!1))},[n]),s.useEffect(()=>{!n&&!m.size&&r&&r()},[n]),e=(0,o.jsx)(ec,{pop:c===`popLayout`,isPresent:n,anchorX:u,anchorY:f,root:p,children:e}),(0,o.jsx)(d.Provider,{value:_,children:e})};function nc(){return new Map}function rc(e=!0){let t=(0,s.useContext)(d);if(t===null)return[!0,null];let{isPresent:n,onExitComplete:r,register:i}=t,a=(0,s.useId)();(0,s.useEffect)(()=>{if(e)return i(a)},[e]);let o=(0,s.useCallback)(()=>e&&r&&r(a),[a,r,e]);return!n&&r?[!1,o]:[!0]}var ic=e=>e.key||``;function ac(e){let t=[];return s.Children.forEach(e,e=>{(0,s.isValidElement)(e)&&t.push(e)}),t}var oc=({children:e,custom:t,initial:n=!0,onExitComplete:r,presenceAffectsLayout:i=!0,mode:a=`sync`,propagate:d=!1,anchorX:f=`left`,anchorY:p=`top`,root:m})=>{let[h,g]=rc(d),_=(0,s.useMemo)(()=>ac(e),[e]),v=d&&!h?[]:_.map(ic),y=(0,s.useRef)(!0),b=(0,s.useRef)(_),x=l(()=>new Map),S=(0,s.useRef)(new Set),[C,w]=(0,s.useState)(_),[T,E]=(0,s.useState)(_);u(()=>{y.current=!1,b.current=_;for(let e=0;e<T.length;e++){let t=ic(T[e]);v.includes(t)?(x.delete(t),S.current.delete(t)):x.get(t)!==!0&&x.set(t,!1)}},[T,v.length,v.join(`-`)]);let D=[];if(_!==C){let e=[..._];for(let t=0;t<T.length;t++){let n=T[t],r=ic(n);v.includes(r)||(e.splice(t,0,n),D.push(n))}return a===`wait`&&D.length&&(e=D),E(ac(e)),w(_),null}let{forceRender:ee}=(0,s.useContext)(c);return(0,o.jsx)(o.Fragment,{children:T.map(e=>{let s=ic(e),c=d&&!h?!1:_===T||v.includes(s);return(0,o.jsx)(tc,{isPresent:c,initial:!y.current||n?void 0:!1,custom:t,presenceAffectsLayout:i,mode:a,root:m,onExitComplete:c?void 0:()=>{if(S.current.has(s))return;if(x.has(s))S.current.add(s),x.set(s,!0);else return;let e=!0;x.forEach(t=>{t||(e=!1)}),e&&(ee?.(),E(b.current),d&&g?.(),r&&r())},anchorX:f,anchorY:p,children:e},s)})})},sc=(0,s.createContext)({strict:!1}),cc={animation:[`animate`,`variants`,`whileHover`,`whileTap`,`exit`,`whileInView`,`whileFocus`,`whileDrag`],exit:[`exit`],drag:[`drag`,`dragControls`],focus:[`whileFocus`],hover:[`whileHover`,`onHoverStart`,`onHoverEnd`],tap:[`whileTap`,`onTap`,`onTapStart`,`onTapCancel`],pan:[`onPan`,`onPanStart`,`onPanSessionStart`,`onPanEnd`],inView:[`whileInView`,`onViewportEnter`,`onViewportLeave`],layout:[`layout`,`layoutId`]},lc=!1;function uc(){if(lc)return;let e={};for(let t in cc)e[t]={isEnabled:e=>cc[t].some(t=>!!e[t])};_a(e),lc=!0}function dc(){return uc(),va()}function fc(e){let t=dc();for(let n in e)t[n]={...t[n],...e[n]};_a(t)}var pc=new Set(`animate.exit.variants.initial.style.values.variants.transition.transformTemplate.custom.inherit.onBeforeLayoutMeasure.onAnimationStart.onAnimationComplete.onUpdate.onDragStart.onDrag.onDragEnd.onMeasureDragConstraints.onDirectionLock.onDragTransitionEnd._dragX._dragY.onHoverStart.onHoverEnd.onViewportEnter.onViewportLeave.globalTapTarget.propagate.ignoreStrict.viewport`.split(`.`));function mc(e){return e.startsWith(`while`)||e.startsWith(`drag`)&&e!==`draggable`||e.startsWith(`layout`)||e.startsWith(`onTap`)||e.startsWith(`onPan`)||e.startsWith(`onLayout`)||pc.has(e)}var hc=r({default:()=>gc}),gc,_c=n((()=>{throw gc={},Error(`Could not resolve "@emotion/is-prop-valid" imported by "framer-motion". Is it installed?`)})),vc=e=>!mc(e);function yc(e){typeof e==`function`&&(vc=t=>t.startsWith(`on`)?!mc(t):e(t))}try{yc((_c(),t(hc)).default)}catch{}function bc(e,t,n){let r={};for(let i in e)i===`values`&&typeof e.values==`object`||G(e[i])||(vc(i)||n===!0&&mc(i)||!t&&!mc(i)||e.draggable&&i.startsWith(`onDrag`))&&(r[i]=e[i]);return r}var xc=(0,s.createContext)({});function Sc(e,t){if(ca(e)){let{initial:t,animate:n}=e;return{initial:t===!1||aa(t)?t:void 0,animate:aa(n)?n:void 0}}return e.inherit===!1?{}:t}function Cc(e){let{initial:t,animate:n}=Sc(e,(0,s.useContext)(xc));return(0,s.useMemo)(()=>({initial:t,animate:n}),[wc(t),wc(n)])}function wc(e){return Array.isArray(e)?e.join(` `):e}var Tc=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function Ec(e,t,n){for(let r in t)!G(t[r])&&!Ya(r,n)&&(e[r]=t[r])}function Dc({transformTemplate:e},t){return(0,s.useMemo)(()=>{let n=Tc();return Ua(n,t,e),Object.assign({},n.vars,n.style)},[t])}function Oc(e,t){let n=e.style||{},r={};return Ec(r,n,e),Object.assign(r,Dc(e,t)),r}function kc(e,t){let n={},r=Oc(e,t);return e.drag&&e.dragListener!==!1&&(n.draggable=!1,r.userSelect=r.WebkitUserSelect=r.WebkitTouchCallout=`none`,r.touchAction=e.drag===!0?`none`:`pan-${e.drag===`x`?`y`:`x`}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(n.tabIndex=0),n.style=r,n}var Ac=()=>({...Tc(),attrs:{}});function jc(e,t,n,r){let i=(0,s.useMemo)(()=>{let n=Ac();return ro(n,t,ao(r),e.transformTemplate,e.style),{...n.attrs,style:{...n.style}}},[t]);if(e.style){let t={};Ec(t,e.style,e),i.style={...t,...i.style}}return i}var Mc=[`animate`,`circle`,`defs`,`desc`,`ellipse`,`g`,`image`,`line`,`filter`,`marker`,`mask`,`metadata`,`path`,`pattern`,`polygon`,`polyline`,`rect`,`stop`,`switch`,`symbol`,`svg`,`text`,`tspan`,`use`,`view`];function Nc(e){return typeof e!=`string`||e.includes(`-`)?!1:!!(Mc.indexOf(e)>-1||/[A-Z]/u.test(e))}function Pc(e,t,n,{latestValues:r},i,a=!1,o){let c=(o??Nc(e)?jc:kc)(t,r,i,e),l=bc(t,typeof e==`string`,a),u=e===s.Fragment?{}:{...l,...c,ref:n},{children:d}=t,f=(0,s.useMemo)(()=>G(d)?d.get():d,[d]);return(0,s.createElement)(e,{...u,children:f})}function Fc({scrapeMotionValuesFromProps:e,createRenderState:t},n,r,i){return{latestValues:Ic(n,r,i,e),renderState:t()}}function Ic(e,t,n,r){let i={},a=r(e,{});for(let e in a)i[e]=us(a[e]);let{initial:o,animate:s}=e,c=ca(e),l=la(e);t&&l&&!c&&e.inherit!==!1&&(o===void 0&&(o=t.initial),s===void 0&&(s=t.animate));let u=n?n.initial===!1:!1;u||=o===!1;let d=u?s:o;if(d&&typeof d!=`boolean`&&!ia(d)){let t=Array.isArray(d)?d:[d];for(let n=0;n<t.length;n++){let r=Dr(e,t[n]);if(r){let{transitionEnd:e,transition:t,...n}=r;for(let e in n){let t=n[e];if(Array.isArray(t)){let e=u?t.length-1:0;t=t[e]}t!==null&&(i[e]=t)}for(let t in e)i[t]=e[t]}}}return i}var Lc=e=>(t,n)=>{let r=(0,s.useContext)(xc),i=(0,s.useContext)(d),a=()=>Fc(e,t,r,i);return n?a():l(a)},Rc=Lc({scrapeMotionValuesFromProps:Xa,createRenderState:Tc}),zc=Lc({scrapeMotionValuesFromProps:so,createRenderState:Ac}),Bc=Symbol.for(`motionComponentSymbol`);function Vc(e,t,n){let r=(0,s.useRef)(n);(0,s.useInsertionEffect)(()=>{r.current=n});let i=(0,s.useRef)(null);return(0,s.useCallback)(n=>{n&&e.onMount?.(n);let a=r.current;if(typeof a==`function`)if(n){let e=a(n);typeof e==`function`&&(i.current=e)}else i.current?(i.current(),i.current=null):a(n);else a&&(a.current=n);t&&(n?t.mount(n):t.unmount())},[t])}var Hc=(0,s.createContext)({});function Uc(e){return e&&typeof e==`object`&&Object.prototype.hasOwnProperty.call(e,`current`)}function Wc(e,t,n,r,i,a){let{visualElement:o}=(0,s.useContext)(xc),c=(0,s.useContext)(sc),l=(0,s.useContext)(d),f=(0,s.useContext)(Ys),p=f.reducedMotion,m=f.skipAnimations,h=(0,s.useRef)(null),g=(0,s.useRef)(!1);r||=c.renderer,!h.current&&r&&(h.current=r(e,{visualState:t,parent:o,props:n,presenceContext:l,blockInitialAnimation:l?l.initial===!1:!1,reducedMotionConfig:p,skipAnimations:m,isSVG:a}),g.current&&h.current&&(h.current.manuallyAnimateOnMount=!0));let _=h.current,v=(0,s.useContext)(Hc);_&&!_.projection&&i&&(_.type===`html`||_.type===`svg`)&&Gc(h.current,n,i,v);let y=(0,s.useRef)(!1);(0,s.useInsertionEffect)(()=>{_&&y.current&&_.update(n,l)});let b=n[Vr],x=(0,s.useRef)(!!b&&typeof window<`u`&&!window.MotionHandoffIsComplete?.(b)&&window.MotionHasOptimisedAnimation?.(b));return u(()=>{g.current=!0,_&&(y.current=!0,window.MotionIsMounted=!0,_.updateFeatures(),_.scheduleRenderMicrotask(),x.current&&_.animationState&&_.animationState.animateChanges())}),(0,s.useEffect)(()=>{_&&(!x.current&&_.animationState&&_.animationState.animateChanges(),x.current&&=(queueMicrotask(()=>{window.MotionHandoffMarkAsComplete?.(b)}),!1),_.enteringChildren=void 0)}),_}function Gc(e,t,n,r){let{layoutId:i,layout:a,drag:o,dragConstraints:s,layoutScroll:c,layoutRoot:l,layoutAnchor:u,layoutCrossfade:d}=t;e.projection=new n(e.latestValues,t[`data-framer-portal-id`]?void 0:Kc(e.parent)),e.projection.setOptions({layoutId:i,layout:a,alwaysMeasureLayout:!!o||s&&Uc(s),visualElement:e,animationType:typeof a==`string`?a:`both`,initialPromotionConfig:r,crossfade:d,layoutScroll:c,layoutRoot:l,layoutAnchor:u})}function Kc(e){if(e)return e.options.allowProjection===!1?Kc(e.parent):e.projection}function qc(e,{forwardMotionProps:t=!1,type:n}={},r,i){r&&fc(r);let a=n?n===`svg`:Nc(e),c=a?zc:Rc;function l(n,l){let u,d={...(0,s.useContext)(Ys),...n,layoutId:Jc(n)},{isStatic:f}=d,p=Cc(n),m=c(n,f);if(!f&&typeof window<`u`){Yc(d,r);let t=Xc(d);u=t.MeasureLayout,p.visualElement=Wc(e,m,d,i,t.ProjectionNode,a)}return(0,o.jsxs)(xc.Provider,{value:p,children:[u&&p.visualElement?(0,o.jsx)(u,{visualElement:p.visualElement,...d}):null,Pc(e,n,Vc(m,p.visualElement,l),m,f,t,a)]})}l.displayName=`motion.${typeof e==`string`?e:`create(${e.displayName??e.name??``})`}`;let u=(0,s.forwardRef)(l);return u[Bc]=e,u}function Jc({layoutId:e}){let t=(0,s.useContext)(c).id;return t&&e!==void 0?t+`-`+e:e}function Yc(e,t){(0,s.useContext)(sc).strict}function Xc(e){let{drag:t,layout:n}=dc();if(!t&&!n)return{};let r={...t,...n};return{MeasureLayout:t?.isEnabled(e)||n?.isEnabled(e)?r.MeasureLayout:void 0,ProjectionNode:r.ProjectionNode}}function Zc(e,t){if(typeof Proxy>`u`)return qc;let n=new Map,r=(n,r)=>qc(n,r,e,t);return new Proxy((e,t)=>r(e,t),{get:(i,a)=>a===`create`?r:(n.has(a)||n.set(a,qc(a,void 0,e,t)),n.get(a))})}var Qc=(e,t)=>t.isSVG??Nc(e)?new co(t):new Qa(t,{allowProjection:e!==s.Fragment}),$c=class extends J{constructor(e){super(e),e.animationState||=go(e)}updateAnimationControlsSubscription(){let{animate:e}=this.node.getProps();ia(e)&&(this.unmountControls=e.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){let{animate:e}=this.node.getProps(),{animate:t}=this.node.prevProps||{};e!==t&&this.updateAnimationControlsSubscription()}unmount(){this.node.animationState.reset(),this.unmountControls?.()}},el=0,tl={animation:{Feature:$c},exit:{Feature:class extends J{constructor(){super(...arguments),this.id=el++,this.isExitComplete=!1}update(){if(!this.node.presenceContext)return;let{isPresent:e,onExitComplete:t}=this.node.presenceContext,{isPresent:n}=this.node.prevPresenceContext||{};if(!this.node.animationState||e===n)return;if(e&&n===!1){if(this.isExitComplete){let{initial:e,custom:t}=this.node.getProps();if(typeof e==`string`){let n=W(this.node,e,t);if(n){let{transition:e,transitionEnd:t,...r}=n;for(let e in r)this.node.getValue(e)?.jump(r[e])}}this.node.animationState.reset(),this.node.animationState.animateChanges()}else this.node.animationState.setActive(`exit`,!1);this.isExitComplete=!1;return}let r=this.node.animationState.setActive(`exit`,!e);t&&!e&&r.then(()=>{this.isExitComplete=!0,t(this.id)})}mount(){let{register:e,onExitComplete:t}=this.node.presenceContext||{};t&&t(this.id),e&&(this.unmount=e(this.id))}unmount(){}}}};function nl(e){return{point:{x:e.pageX,y:e.pageY}}}var rl=e=>t=>wi(t)&&e(t,nl(t));function il(e,t,n,r){return os(e,t,rl(n),r)}var al=({current:e})=>e?e.ownerDocument.defaultView:null,ol=(e,t)=>Math.abs(e-t);function sl(e,t){let n=ol(e.x,t.x),r=ol(e.y,t.y);return Math.sqrt(n**2+r**2)}var cl=new Set([`auto`,`scroll`]),ll=class{constructor(e,t,{transformPagePoint:n,contextWindow:r=window,dragSnapToOrigin:i=!1,distanceThreshold:a=3,element:o}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.lastRawMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.scrollPositions=new Map,this.removeScrollListeners=null,this.onElementScroll=e=>{this.handleScroll(e.target)},this.onWindowScroll=()=>{this.handleScroll(window)},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;this.lastRawMoveEventInfo&&(this.lastMoveEventInfo=ul(this.lastRawMoveEventInfo,this.transformPagePoint));let e=fl(this.lastMoveEventInfo,this.history),t=this.startEvent!==null,n=sl(e.offset,{x:0,y:0})>=this.distanceThreshold;if(!t&&!n)return;let{point:r}=e,{timestamp:i}=j;this.history.push({...r,timestamp:i});let{onStart:a,onMove:o}=this.handlers;t||(a&&a(this.lastMoveEvent,e),this.startEvent=this.lastMoveEvent),o&&o(this.lastMoveEvent,e)},this.handlePointerMove=(e,t)=>{this.lastMoveEvent=e,this.lastRawMoveEventInfo=t,this.lastMoveEventInfo=ul(t,this.transformPagePoint),k.update(this.updatePoint,!0)},this.handlePointerUp=(e,t)=>{this.end();let{onEnd:n,onSessionEnd:r,resumeAnimation:i}=this.handlers;if((this.dragSnapToOrigin||!this.startEvent)&&i&&i(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;let a=fl(e.type===`pointercancel`?this.lastMoveEventInfo:ul(t,this.transformPagePoint),this.history);this.startEvent&&n&&n(e,a),r&&r(e,a)},!wi(e))return;this.dragSnapToOrigin=i,this.handlers=t,this.transformPagePoint=n,this.distanceThreshold=a,this.contextWindow=r||window;let s=ul(nl(e),this.transformPagePoint),{point:c}=s,{timestamp:l}=j;this.history=[{...c,timestamp:l}];let{onSessionStart:u}=t;u&&u(e,fl(s,this.history)),this.removeListeners=S(il(this.contextWindow,`pointermove`,this.handlePointerMove),il(this.contextWindow,`pointerup`,this.handlePointerUp),il(this.contextWindow,`pointercancel`,this.handlePointerUp)),o&&this.startScrollTracking(o)}startScrollTracking(e){let t=e.parentElement;for(;t;){let e=getComputedStyle(t);(cl.has(e.overflowX)||cl.has(e.overflowY))&&this.scrollPositions.set(t,{x:t.scrollLeft,y:t.scrollTop}),t=t.parentElement}this.scrollPositions.set(window,{x:window.scrollX,y:window.scrollY}),window.addEventListener(`scroll`,this.onElementScroll,{capture:!0}),window.addEventListener(`scroll`,this.onWindowScroll),this.removeScrollListeners=()=>{window.removeEventListener(`scroll`,this.onElementScroll,{capture:!0}),window.removeEventListener(`scroll`,this.onWindowScroll)}}handleScroll(e){let t=this.scrollPositions.get(e);if(!t)return;let n=e===window,r=n?{x:window.scrollX,y:window.scrollY}:{x:e.scrollLeft,y:e.scrollTop},i={x:r.x-t.x,y:r.y-t.y};i.x===0&&i.y===0||(n?this.lastMoveEventInfo&&(this.lastMoveEventInfo.point.x+=i.x,this.lastMoveEventInfo.point.y+=i.y):this.history.length>0&&(this.history[0].x-=i.x,this.history[0].y-=i.y),this.scrollPositions.set(e,r),k.update(this.updatePoint,!0))}updateHandlers(e){this.handlers=e}end(){this.removeListeners&&this.removeListeners(),this.removeScrollListeners&&this.removeScrollListeners(),this.scrollPositions.clear(),A(this.updatePoint)}};function ul(e,t){return t?{point:t(e.point)}:e}function dl(e,t){return{x:e.x-t.x,y:e.y-t.y}}function fl({point:e},t){return{point:e,delta:dl(e,ml(t)),offset:dl(e,pl(t)),velocity:hl(t,.1)}}function pl(e){return e[0]}function ml(e){return e[e.length-1]}function hl(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null,i=ml(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>T(t)));)n--;if(!r)return{x:0,y:0};r===e[0]&&e.length>2&&i.timestamp-r.timestamp>T(t)*2&&(r=e[1]);let a=E(i.timestamp-r.timestamp);if(a===0)return{x:0,y:0};let o={x:(i.x-r.x)/a,y:(i.y-r.y)/a};return o.x===1/0&&(o.x=0),o.y===1/0&&(o.y=0),o}function gl(e,{min:t,max:n},r){return t!==void 0&&e<t?e=r?z(t,e,r.min):Math.max(e,t):n!==void 0&&e>n&&(e=r?z(n,e,r.max):Math.min(e,n)),e}function _l(e,t,n){return{min:t===void 0?void 0:e.min+t,max:n===void 0?void 0:e.max+n-(e.max-e.min)}}function vl(e,{top:t,left:n,bottom:r,right:i}){return{x:_l(e.x,n,i),y:_l(e.y,t,r)}}function yl(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.min<e.max-e.min&&([n,r]=[r,n]),{min:n,max:r}}function bl(e,t){return{x:yl(e.x,t.x),y:yl(e.y,t.y)}}function xl(e,t){let n=.5,r=Q(e),i=Q(t);return i>r?n=C(t.min,t.max-r,e.min):r>i&&(n=C(e.min,e.max-i,t.min)),m(0,1,n)}function Sl(e,t){let n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}var Cl=.35;function wl(e=Cl){return e===!1?e=0:e===!0&&(e=Cl),{x:Tl(e,`left`,`right`),y:Tl(e,`top`,`bottom`)}}function Tl(e,t,n){return{min:El(e,t),max:El(e,n)}}function El(e,t){return typeof e==`number`?e:e[t]||0}var Dl=new WeakMap,Ol=class{constructor(e){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=q(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=e}start(e,{snapToCursor:t=!1,distanceThreshold:n}={}){let{presenceContext:r}=this.visualElement;if(r&&r.isPresent===!1)return;let i=e=>{t&&this.snapToCursor(nl(e).point),this.stopAnimation()},a=(e,t)=>{let{drag:n,dragPropagation:r,onDragStart:i}=this.getProps();if(n&&!r&&(this.openDragLock&&this.openDragLock(),this.openDragLock=yi(n),!this.openDragLock))return;this.latestPointerEvent=e,this.latestPanInfo=t,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),$(e=>{let t=this.getAxisMotionValue(e).get()||0;if(F.test(t)){let{projection:n}=this.visualElement;if(n&&n.layout){let r=n.layout.layoutBox[e];r&&(t=Q(r)*(parseFloat(t)/100))}}this.originPoint[e]=t}),i&&k.update(()=>i(e,t),!1,!0),zr(this.visualElement,`transform`);let{animationState:a}=this.visualElement;a&&a.setActive(`whileDrag`,!0)},o=(e,t)=>{this.latestPointerEvent=e,this.latestPanInfo=t;let{dragPropagation:n,dragDirectionLock:r,onDirectionLock:i,onDrag:a}=this.getProps();if(!n&&!this.openDragLock)return;let{offset:o}=t;if(r&&this.currentDirection===null){this.currentDirection=Ml(o),this.currentDirection!==null&&i&&i(this.currentDirection);return}this.updateAxis(`x`,t.point,o),this.updateAxis(`y`,t.point,o),this.visualElement.render(),a&&k.update(()=>a(e,t),!1,!0)},s=(e,t)=>{this.latestPointerEvent=e,this.latestPanInfo=t,this.stop(e,t),this.latestPointerEvent=null,this.latestPanInfo=null},c=()=>{let{dragSnapToOrigin:e}=this.getProps();(e||this.constraints)&&this.startAnimation({x:0,y:0})},{dragSnapToOrigin:l}=this.getProps();this.panSession=new ll(e,{onSessionStart:i,onStart:a,onMove:o,onSessionEnd:s,resumeAnimation:c},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:l,distanceThreshold:n,contextWindow:al(this.visualElement),element:this.visualElement.current})}stop(e,t){let n=e||this.latestPointerEvent,r=t||this.latestPanInfo,i=this.isDragging;if(this.cancel(),!i||!r||!n)return;let{velocity:a}=r;this.startAnimation(a);let{onDragEnd:o}=this.getProps();o&&k.postRender(()=>o(n,r))}cancel(){this.isDragging=!1;let{projection:e,animationState:t}=this.visualElement;e&&(e.isAnimationBlocked=!1),this.endPanSession();let{dragPropagation:n}=this.getProps();!n&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),t&&t.setActive(`whileDrag`,!1)}endPanSession(){this.panSession&&this.panSession.end(),this.panSession=void 0}updateAxis(e,t,n){let{drag:r}=this.getProps();if(!n||!jl(e,r,this.currentDirection))return;let i=this.getAxisMotionValue(e),a=this.originPoint[e]+n[e];this.constraints&&this.constraints[e]&&(a=gl(a,this.constraints[e],this.elastic[e])),i.set(a)}resolveConstraints(){let{dragConstraints:e,dragElastic:t}=this.getProps(),n=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,r=this.constraints;e&&Uc(e)?this.constraints||=this.resolveRefConstraints():e&&n?this.constraints=vl(n.layoutBox,e):this.constraints=!1,this.elastic=wl(t),r!==this.constraints&&!Uc(e)&&n&&this.constraints&&!this.hasMutatedConstraints&&$(e=>{this.constraints!==!1&&this.getAxisMotionValue(e)&&(this.constraints[e]=Sl(n.layoutBox[e],this.constraints[e]))})}resolveRefConstraints(){let{dragConstraints:e,onMeasureDragConstraints:t}=this.getProps();if(!e||!Uc(e))return!1;let n=e.current,{projection:r}=this.visualElement;if(!r||!r.layout)return!1;let i=za(n,r.root,this.visualElement.getTransformPagePoint()),a=bl(r.layout.layoutBox,i);if(t){let e=t(Sa(a));this.hasMutatedConstraints=!!e,e&&(a=xa(e))}return a}startAnimation(e){let{drag:t,dragMomentum:n,dragElastic:r,dragTransition:i,dragSnapToOrigin:a,onDragTransitionEnd:o}=this.getProps(),s=this.constraints||{},c=$(o=>{if(!jl(o,t,this.currentDirection))return;let c=s&&s[o]||{};(a===!0||a===o)&&(c={min:0,max:0});let l=r?200:1e6,u=r?40:1e7,d={type:`inertia`,velocity:n?e[o]:0,bounceStiffness:l,bounceDamping:u,timeConstant:750,restDelta:1,restSpeed:10,...i,...c};return this.startAxisValueAnimation(o,d)});return Promise.all(c).then(o)}startAxisValueAnimation(e,t){let n=this.getAxisMotionValue(e);return zr(this.visualElement,e),n.start(Tr(e,n,0,t,this.visualElement,!1))}stopAnimation(){$(e=>this.getAxisMotionValue(e).stop())}getAxisMotionValue(e){let t=`_drag${e.toUpperCase()}`,n=this.visualElement.getProps();return n[t]||this.visualElement.getValue(e,(n.initial?n.initial[e]:void 0)||0)}snapToCursor(e){$(t=>{let{drag:n}=this.getProps();if(!jl(t,n,this.currentDirection))return;let{projection:r}=this.visualElement,i=this.getAxisMotionValue(t);if(r&&r.layout){let{min:n,max:a}=r.layout.layoutBox[t],o=i.get()||0;i.set(e[t]-z(n,a,.5)+o)}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;let{drag:e,dragConstraints:t}=this.getProps(),{projection:n}=this.visualElement;if(!Uc(t)||!n||!this.constraints)return;this.stopAnimation();let r={x:0,y:0};$(e=>{let t=this.getAxisMotionValue(e);if(t&&this.constraints!==!1){let n=t.get();r[e]=xl({min:n,max:n},this.constraints[e])}});let{transformTemplate:i}=this.visualElement.getProps();this.visualElement.current.style.transform=i?i({},``):`none`,n.root&&n.root.updateScroll(),n.updateLayout(),this.constraints=!1,this.resolveConstraints(),$(t=>{if(!jl(t,e,null))return;let n=this.getAxisMotionValue(t),{min:i,max:a}=this.constraints[t];n.set(z(i,a,r[t]))}),this.visualElement.render()}addListeners(){if(!this.visualElement.current)return;Dl.set(this.visualElement,this);let e=this.visualElement.current,t=il(e,`pointerdown`,t=>{let{drag:n,dragListener:r=!0}=this.getProps(),i=t.target,a=i!==e&&Oi(i);n&&r&&!a&&this.start(t)}),n,r=()=>{let{dragConstraints:t}=this.getProps();Uc(t)&&t.current&&(this.constraints=this.resolveRefConstraints(),n||=Al(e,t.current,()=>this.scalePositionWithinConstraints()))},{projection:i}=this.visualElement,a=i.addEventListener(`measure`,r);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),k.read(r);let o=os(window,`resize`,()=>this.scalePositionWithinConstraints()),s=i.addEventListener(`didUpdate`,(({delta:e,hasLayoutChanged:t})=>{this.isDragging&&t&&($(t=>{let n=this.getAxisMotionValue(t);n&&(this.originPoint[t]+=e[t].translate,n.set(n.get()+e[t].translate))}),this.visualElement.render())}));return()=>{o(),t(),a(),s&&s(),n&&n()}}getProps(){let e=this.visualElement.getProps(),{drag:t=!1,dragDirectionLock:n=!1,dragPropagation:r=!1,dragConstraints:i=!1,dragElastic:a=Cl,dragMomentum:o=!0}=e;return{...e,drag:t,dragDirectionLock:n,dragPropagation:r,dragConstraints:i,dragElastic:a,dragMomentum:o}}};function kl(e){let t=!0;return()=>{if(t){t=!1;return}e()}}function Al(e,t,n){let r=Xi(e,kl(n)),i=Xi(t,kl(n));return()=>{r(),i()}}function jl(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function Ml(e,t=10){let n=null;return Math.abs(e.y)>t?n=`y`:Math.abs(e.x)>t&&(n=`x`),n}var Nl=class extends J{constructor(e){super(e),this.removeGroupControls=b,this.removeListeners=b,this.controls=new Ol(e)}mount(){let{dragControls:e}=this.node.getProps();e&&(this.removeGroupControls=e.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||b}update(){let{dragControls:e}=this.node.getProps(),{dragControls:t}=this.node.prevProps||{};e!==t&&(this.removeGroupControls(),e&&(this.removeGroupControls=e.subscribe(this.controls)))}unmount(){this.removeGroupControls(),this.removeListeners(),this.controls.isDragging||this.controls.endPanSession()}},Pl=e=>(t,n)=>{e&&k.update(()=>e(t,n),!1,!0)},Fl=class extends J{constructor(){super(...arguments),this.removePointerDownListener=b}onPointerDown(e){this.session=new ll(e,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:al(this.node)})}createPanHandlers(){let{onPanSessionStart:e,onPanStart:t,onPan:n,onPanEnd:r}=this.node.getProps();return{onSessionStart:Pl(e),onStart:Pl(t),onMove:Pl(n),onEnd:(e,t)=>{delete this.session,r&&k.postRender(()=>r(e,t))}}}mount(){this.removePointerDownListener=il(this.node.current,`pointerdown`,e=>this.onPointerDown(e))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}},Il=!1,Ll=class extends s.Component{componentDidMount(){let{visualElement:e,layoutGroup:t,switchLayoutGroup:n,layoutId:r}=this.props,{projection:i}=e;i&&(t.group&&t.group.add(i),n&&n.register&&r&&n.register(i),Il&&i.root.didUpdate(),i.addEventListener(`animationComplete`,()=>{this.safeToRemove()}),i.setOptions({...i.options,layoutDependency:this.props.layoutDependency,onExitComplete:()=>this.safeToRemove()})),fs.hasEverUpdated=!0}getSnapshotBeforeUpdate(e){let{layoutDependency:t,visualElement:n,drag:r,isPresent:i}=this.props,{projection:a}=n;return a?(a.isPresent=i,e.layoutDependency!==t&&a.setOptions({...a.options,layoutDependency:t}),Il=!0,r||e.layoutDependency!==t||t===void 0||e.isPresent!==i?a.willUpdate():this.safeToRemove(),e.isPresent!==i&&(i?a.promote():a.relegate()||k.postRender(()=>{let e=a.getStack();(!e||!e.members.length)&&this.safeToRemove()})),null):null}componentDidUpdate(){let{visualElement:e,layoutAnchor:t}=this.props,{projection:n}=e;n&&(n.options.layoutAnchor=t,n.root.didUpdate(),gi.postRender(()=>{!n.currentAnimation&&n.isLead()&&this.safeToRemove()}))}componentWillUnmount(){let{visualElement:e,layoutGroup:t,switchLayoutGroup:n}=this.props,{projection:r}=e;Il=!0,r&&(r.scheduleCheckAfterUnmount(),t&&t.group&&t.group.remove(r),n&&n.deregister&&n.deregister(r))}safeToRemove(){let{safeToRemove:e}=this.props;e&&e()}render(){return null}};function Rl(e){let[t,n]=rc(),r=(0,s.useContext)(c);return(0,o.jsx)(Ll,{...e,layoutGroup:r,switchLayoutGroup:(0,s.useContext)(Hc),isPresent:t,safeToRemove:n})}var zl={pan:{Feature:Fl},drag:{Feature:Nl,ProjectionNode:Js,MeasureLayout:Rl}};function Bl(e,t,n){let{props:r}=e;e.animationState&&r.whileHover&&e.animationState.setActive(`whileHover`,n===`Start`);let i=r[`onHover`+n];i&&k.postRender(()=>i(t,nl(t)))}var Vl=class extends J{mount(){let{current:e}=this.node;e&&(this.unmount=Si(e,(e,t)=>(Bl(this.node,t,`Start`),e=>Bl(this.node,e,`End`))))}unmount(){}},Hl=class extends J{constructor(){super(...arguments),this.isActive=!1}onFocus(){let e=!1;try{e=this.node.current.matches(`:focus-visible`)}catch{e=!0}!e||!this.node.animationState||(this.node.animationState.setActive(`whileFocus`,!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive(`whileFocus`,!1),this.isActive=!1)}mount(){this.unmount=S(os(this.node.current,`focus`,()=>this.onFocus()),os(this.node.current,`blur`,()=>this.onBlur()))}unmount(){}};function Ul(e,t,n){let{props:r}=e;if(e.current instanceof HTMLButtonElement&&e.current.disabled)return;e.animationState&&r.whileTap&&e.animationState.setActive(`whileTap`,n===`Start`);let i=r[`onTap`+(n===`End`?``:n)];i&&k.postRender(()=>i(t,nl(t)))}var Wl=class extends J{mount(){let{current:e}=this.node;if(!e)return;let{globalTapTarget:t,propagate:n}=this.node.props;this.unmount=Fi(e,(e,t)=>(Ul(this.node,t,`Start`),(e,{success:t})=>Ul(this.node,e,t?`End`:`Cancel`)),{useGlobalTarget:t,stopPropagation:n?.tap===!1})}unmount(){}},Gl=new WeakMap,Kl=new WeakMap,ql=e=>{let t=Gl.get(e.target);t&&t(e)},Jl=e=>{e.forEach(ql)};function Yl({root:e,...t}){let n=e||document;Kl.has(n)||Kl.set(n,{});let r=Kl.get(n),i=JSON.stringify(t);return r[i]||(r[i]=new IntersectionObserver(Jl,{root:e,...t})),r[i]}function Xl(e,t,n){let r=Yl(t);return Gl.set(e,n),r.observe(e),()=>{Gl.delete(e),r.unobserve(e)}}var Zl={some:0,all:1},Ql=class extends J{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.stopObserver?.();let{viewport:e={}}=this.node.getProps(),{root:t,margin:n,amount:r=`some`,once:i}=e,a={root:t?t.current:void 0,rootMargin:n,threshold:typeof r==`number`?r:Zl[r]};this.stopObserver=Xl(this.node.current,a,e=>{let{isIntersecting:t}=e;if(this.isInView===t||(this.isInView=t,i&&!t&&this.hasEnteredView))return;t&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive(`whileInView`,t);let{onViewportEnter:n,onViewportLeave:r}=this.node.getProps(),a=t?n:r;a&&a(e)})}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>`u`)return;let{props:e,prevProps:t}=this.node;[`amount`,`margin`,`root`].some($l(e,t))&&this.startObserver()}unmount(){this.stopObserver?.(),this.hasEnteredView=!1,this.isInView=!1}};function $l({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}var eu={inView:{Feature:Ql},tap:{Feature:Wl},focus:{Feature:Hl},hover:{Feature:Vl}},tu={layout:{ProjectionNode:Js,MeasureLayout:Rl}},nu=Zc({...tl,...eu,...zl,...tu},Qc);export{oc as n,d as r,nu as t};
@@ -0,0 +1 @@
1
+ import{a as e}from"./rolldown-runtime-COnpUsM8.js";import{s as t}from"./vendor-charts-CAZdaPlq.js";import{at as n}from"./vendor-ui-ByahnaY0.js";import{A as r,D as i,E as a,F as o,I as s,L as c,M as l,N as u,O as d,P as f,R as p,T as m,j as h,w as g,z as _}from"./api-4AqKvsm9.js";import{t as v}from"./createLucideIcon-Bwxw859K.js";var y=class extends _{constructor(e,t){super(),this.options=t,this.#e=e,this.#s=null,this.#o=a(),this.bindMethods(),this.setOptions(t)}#e;#t=void 0;#n=void 0;#r=void 0;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),x(this.#t,this.options)?this.#h():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return S(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return S(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#b(),this.#x(),this.#t.removeObserver(this)}setOptions(e){let t=this.options,n=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!=`boolean`&&typeof this.options.enabled!=`function`&&typeof l(this.options.enabled,this.#t)!=`boolean`)throw Error(`Expected enabled to be a boolean or a callback that returns a boolean`);this.#S(),this.#t.setOptions(this.options),t._defaulted&&!f(this.options,t)&&this.#e.getQueryCache().notify({type:`observerOptionsUpdated`,query:this.#t,observer:this});let r=this.hasListeners();r&&C(this.#t,n,this.options,t)&&this.#h(),this.updateResult(),r&&(this.#t!==n||l(this.options.enabled,this.#t)!==l(t.enabled,this.#t)||u(this.options.staleTime,this.#t)!==u(t.staleTime,this.#t))&&this.#g();let i=this.#_();r&&(this.#t!==n||l(this.options.enabled,this.#t)!==l(t.enabled,this.#t)||i!==this.#p)&&this.#v(i)}getOptimisticResult(e){let t=this.#e.getQueryCache().build(this.#e,e),n=this.createResult(t,e);return T(this,n)&&(this.#r=n,this.#a=this.options,this.#i=this.#t.state),n}getCurrentResult(){return this.#r}trackResult(e,t){return new Proxy(e,{get:(e,n)=>(this.trackProp(n),t?.(n),n===`promise`&&(this.trackProp(`data`),!this.options.experimental_prefetchInRender&&this.#o.status===`pending`&&this.#o.reject(Error(`experimental_prefetchInRender feature flag is not enabled`))),Reflect.get(e,n))})}trackProp(e){this.#m.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),n=this.#e.getQueryCache().build(this.#e,t);return n.fetch().then(()=>this.createResult(n,t))}fetch(e){return this.#h({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#h(e){this.#S();let t=this.#t.fetch(this.options,e);return e?.throwOnError||(t=t.catch(r)),t}#g(){this.#b();let e=u(this.options.staleTime,this.#t);if(i.isServer()||this.#r.isStale||!d(e))return;let t=s(this.#r.dataUpdatedAt,e)+1;this.#d=c.setTimeout(()=>{this.#r.isStale||this.updateResult()},t)}#_(){return(typeof this.options.refetchInterval==`function`?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#v(e){this.#x(),this.#p=e,!(i.isServer()||l(this.options.enabled,this.#t)===!1||!d(this.#p)||this.#p===0)&&(this.#f=c.setInterval(()=>{(this.options.refetchIntervalInBackground||p.isFocused())&&this.#h()},this.#p))}#y(){this.#g(),this.#v(this.#_())}#b(){this.#d!==void 0&&(c.clearTimeout(this.#d),this.#d=void 0)}#x(){this.#f!==void 0&&(c.clearInterval(this.#f),this.#f=void 0)}createResult(e,t){let n=this.#t,r=this.options,i=this.#r,o=this.#i,s=this.#a,c=e===n?this.#n:e.state,{state:u}=e,d={...u},f=!1,p;if(t._optimisticResults){let i=this.hasListeners(),a=!i&&x(e,t),o=i&&C(e,n,t,r);(a||o)&&(d={...d,...g(u.data,e.options)}),t._optimisticResults===`isRestoring`&&(d.fetchStatus=`idle`)}let{error:m,errorUpdatedAt:_,status:v}=d;p=d.data;let y=!1;if(t.placeholderData!==void 0&&p===void 0&&v===`pending`){let e;i?.isPlaceholderData&&t.placeholderData===s?.placeholderData?(e=i.data,y=!0):e=typeof t.placeholderData==`function`?t.placeholderData(this.#u?.state.data,this.#u):t.placeholderData,e!==void 0&&(v=`success`,p=h(i?.data,e,t),f=!0)}if(t.select&&p!==void 0&&!y)if(i&&p===o?.data&&t.select===this.#c)p=this.#l;else try{this.#c=t.select,p=t.select(p),p=h(i?.data,p,t),this.#l=p,this.#s=null}catch(e){this.#s=e}this.#s&&(m=this.#s,p=this.#l,_=Date.now(),v=`error`);let b=d.fetchStatus===`fetching`,S=v===`pending`,T=v===`error`,E=S&&b,D=p!==void 0,O={status:v,fetchStatus:d.fetchStatus,isPending:S,isSuccess:v===`success`,isError:T,isInitialLoading:E,isLoading:E,data:p,dataUpdatedAt:d.dataUpdatedAt,error:m,errorUpdatedAt:_,failureCount:d.fetchFailureCount,failureReason:d.fetchFailureReason,errorUpdateCount:d.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:d.dataUpdateCount>c.dataUpdateCount||d.errorUpdateCount>c.errorUpdateCount,isFetching:b,isRefetching:b&&!S,isLoadingError:T&&!D,isPaused:d.fetchStatus===`paused`,isPlaceholderData:f,isRefetchError:T&&D,isStale:w(e,t),refetch:this.refetch,promise:this.#o,isEnabled:l(t.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){let t=O.data!==void 0,r=O.status===`error`&&!t,i=e=>{r?e.reject(O.error):t&&e.resolve(O.data)},o=()=>{i(this.#o=O.promise=a())},s=this.#o;switch(s.status){case`pending`:e.queryHash===n.queryHash&&i(s);break;case`fulfilled`:(r||O.data!==s.value)&&o();break;case`rejected`:(!r||O.error!==s.reason)&&o();break}}return O}updateResult(){let e=this.#r,t=this.createResult(this.#t,this.options);this.#i=this.#t.state,this.#a=this.options,this.#i.data!==void 0&&(this.#u=this.#t),!f(t,e)&&(this.#r=t,this.#C({listeners:(()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,n=typeof t==`function`?t():t;if(n===`all`||!n&&!this.#m.size)return!0;let r=new Set(n??this.#m);return this.options.throwOnError&&r.add(`error`),Object.keys(this.#r).some(t=>{let n=t;return this.#r[n]!==e[n]&&r.has(n)})})()}))}#S(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;let t=this.#t;this.#t=e,this.#n=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#y()}#C(e){m.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:`observerResultsUpdated`})})}};function b(e,t){return l(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status===`error`&&t.retryOnMount===!1)}function x(e,t){return b(e,t)||e.state.data!==void 0&&S(e,t,t.refetchOnMount)}function S(e,t,n){if(l(t.enabled,e)!==!1&&u(t.staleTime,e)!==`static`){let r=typeof n==`function`?n(e):n;return r===`always`||r!==!1&&w(e,t)}return!1}function C(e,t,n,r){return(e!==t||l(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&w(e,n)}function w(e,t){return l(t.enabled,e)!==!1&&e.isStaleByTime(u(t.staleTime,e))}function T(e,t){return!f(e.getCurrentResult(),t)}var E=e(t(),1),D=n(),O=E.createContext(void 0),k=e=>{let t=E.useContext(O);if(e)return e;if(!t)throw Error(`No QueryClient set, use QueryClientProvider to set one`);return t},A=({client:e,children:t})=>(E.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,D.jsx)(O.Provider,{value:e,children:t})),j=E.createContext(!1),M=()=>E.useContext(j);j.Provider;function N(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var P=E.createContext(N()),F=()=>E.useContext(P),I=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==`function`?o(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(t.isReset()||(e.retryOnMount=!1))},L=e=>{E.useEffect(()=>{e.clearReset()},[e])},R=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||o(n,[e.error,r])),z=e=>{if(e.suspense){let t=1e3,n=e=>e===`static`?e:Math.max(e??t,t),r=e.staleTime;e.staleTime=typeof r==`function`?(...e)=>n(r(...e)):n(r),typeof e.gcTime==`number`&&(e.gcTime=Math.max(e.gcTime,t))}},B=(e,t)=>e.isLoading&&e.isFetching&&!t,V=(e,t)=>e?.suspense&&t.isPending,H=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function U(e,t,n){let a=M(),o=F(),s=k(n),c=s.defaultQueryOptions(e);s.getDefaultOptions().queries?._experimental_beforeQuery?.(c);let l=s.getQueryCache().get(c.queryHash);c._optimisticResults=a?`isRestoring`:`optimistic`,z(c),I(c,o,l),L(o);let u=!s.getQueryCache().get(c.queryHash),[d]=E.useState(()=>new t(s,c)),f=d.getOptimisticResult(c),p=!a&&e.subscribed!==!1;if(E.useSyncExternalStore(E.useCallback(e=>{let t=p?d.subscribe(m.batchCalls(e)):r;return d.updateResult(),t},[d,p]),()=>d.getCurrentResult(),()=>d.getCurrentResult()),E.useEffect(()=>{d.setOptions(c)},[c,d]),V(c,f))throw H(c,d,o);if(R({result:f,errorResetBoundary:o,throwOnError:c.throwOnError,query:l,suspense:c.suspense}))throw f.error;return s.getDefaultOptions().queries?._experimental_afterQuery?.(c,f),c.experimental_prefetchInRender&&!i.isServer()&&B(f,a)&&(u?H(c,d,o):l?.promise)?.catch(r).finally(()=>{d.updateResult()}),c.notifyOnChangeProps?f:d.trackResult(f)}function W(e,t){return U(e,y,t)}var G=v(`refresh-cw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]),K={catalog:{templates:()=>[`catalog`,`templates`],models:()=>[`catalog`,`models`],templateDetail:e=>[`catalog`,`template`,e],modelSchema:e=>[`catalog`,`model-schema`,e],modelSchemasBatch:e=>[`catalog`,`model-schemas-batch`,e]},events:(e,t)=>[`events`,e,t],tags:{manifest:e=>[`tags`,`manifest`,e]},platforms:{environments:()=>[`platforms`,`environments`],operationsList:()=>[`platforms`,`operations`,`list`]},instances:{detail:e=>[`instances`,e]}};export{A as a,U as i,G as n,k as o,W as r,y as s,K as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-Bwxw859K.js";var t=e(`radio`,[[`path`,{d:`M16.247 7.761a6 6 0 0 1 0 8.478`,key:`1fwjs5`}],[`path`,{d:`M19.075 4.933a10 10 0 0 1 0 14.134`,key:`ehdyv1`}],[`path`,{d:`M4.925 19.067a10 10 0 0 1 0-14.134`,key:`1q22gi`}],[`path`,{d:`M7.753 16.239a6 6 0 0 1 0-8.478`,key:`r2q7qm`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}]]);export{t};
@@ -0,0 +1 @@
1
+ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(e&&(t=e(e=0)),t),s=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),c=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},l=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},u=(n,r,a)=>(a=n==null?{}:e(i(n)),l(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n)),d=e=>a.call(e,`module.exports`)?e[`module.exports`]:l(t({},`__esModule`,{value:!0}),e);export{u as a,d as i,o as n,c as r,s as t};
@@ -0,0 +1 @@
1
+ import{C as e,D as t,E as n,O as r,S as i,T as a,_ as o,at as s,b as c,et as l,k as u,v as d,w as f,x as p,y as m}from"./vendor-ui-ByahnaY0.js";import{t as h}from"./createLucideIcon-Bwxw859K.js";import{i as g,o as _}from"./input-BWEQFptx.js";var v=h(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),y=h(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),b=s(),x=u;function S({className:e,...t}){return(0,b.jsx)(d,{"data-slot":`select-group`,className:g(`scroll-my-1 p-1`,e),...t})}function C({className:e,...n}){return(0,b.jsx)(t,{"data-slot":`select-value`,className:g(`flex flex-1 text-left`,e),...n})}function w({className:e,size:t=`default`,children:i,...a}){return(0,b.jsxs)(r,{"data-slot":`select-trigger`,"data-size":t,className:g(`flex w-fit items-center justify-between gap-1.5 rounded-lg border border-input bg-transparent py-2 pr-2 pl-2.5 text-sm whitespace-nowrap transition-colors outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...a,children:[i,(0,b.jsx)(n,{render:(0,b.jsx)(v,{className:`pointer-events-none size-4 text-muted-foreground`})})]})}function T({className:t,children:n,side:r=`bottom`,sideOffset:o=4,align:s=`center`,alignOffset:c=0,alignItemWithTrigger:l=!1,...u}){return(0,b.jsx)(a,{children:(0,b.jsx)(f,{side:r,sideOffset:o,align:s,alignOffset:c,alignItemWithTrigger:l,className:`isolate z-50`,children:(0,b.jsx)(e,{"data-slot":`select-content`,"data-align-trigger":l,className:g(`relative isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,t),...u,children:(0,b.jsx)(i,{children:n})})})})}function E({className:e,...t}){return(0,b.jsx)(o,{"data-slot":`select-label`,className:g(`px-1.5 py-1 text-xs text-muted-foreground`,e),...t})}var D=`relative flex w-full cursor-pointer items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none data-[highlighted]:bg-sidebar-accent data-[highlighted]:text-sidebar-accent-foreground not-data-[variant=destructive]:data-[highlighted]:**:text-sidebar-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2`;function O({className:e,children:t,...n}){return(0,b.jsxs)(p,{"data-slot":`select-item`,className:g(D,e),...n,children:[(0,b.jsx)(m,{className:`flex flex-1 shrink-0 gap-2 whitespace-nowrap`,children:t}),(0,b.jsx)(c,{render:(0,b.jsx)(`span`,{className:`pointer-events-none absolute right-2 flex size-4 items-center justify-center`}),children:(0,b.jsx)(_,{className:`pointer-events-none`})})]})}function k({className:e,...t}){return(0,b.jsx)(l,{"data-slot":`select-separator`,className:g(`pointer-events-none -mx-1 my-1 h-px bg-border`,e),...t})}export{E as a,C as c,O as i,y as l,T as n,k as o,S as r,w as s,x as t,v as u};
@@ -0,0 +1 @@
1
+ import{at as e}from"./vendor-ui-ByahnaY0.js";import{i as t}from"./input-BWEQFptx.js";var n=e();function r({className:e,...r}){return(0,n.jsx)(`div`,{className:`relative w-full overflow-x-auto`,children:(0,n.jsx)(`table`,{"data-slot":`table`,className:t(`min-w-full caption-bottom text-sm`,e),...r})})}function i({className:e,...r}){return(0,n.jsx)(`thead`,{"data-slot":`table-header`,className:t(`[&_tr]:border-b`,e),...r})}function a({className:e,...r}){return(0,n.jsx)(`tbody`,{"data-slot":`table-body`,className:t(`[&_tr:last-child]:border-0`,e),...r})}function o({className:e,...r}){return(0,n.jsx)(`tr`,{"data-slot":`table-row`,className:t(`border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted`,e),...r})}function s({className:e,...r}){return(0,n.jsx)(`th`,{"data-slot":`table-head`,className:t(`h-10 px-1.5 text-left align-middle font-medium whitespace-nowrap text-foreground sm:px-2 [&:has([role=checkbox])]:pr-0`,e),...r})}function c({className:e,...r}){return(0,n.jsx)(`td`,{"data-slot":`table-cell`,className:t(`p-1.5 align-middle whitespace-nowrap sm:p-2 [&:has([role=checkbox])]:pr-0`,e),...r})}var l=[{value:`all`,label:`All events`},{value:`fault:triggered`,label:`Fault Triggered`},{value:`fault:cleared`,label:`Fault Cleared`},{value:`lifecycle:changed`,label:`Lifecycle Changed`},{value:`instance:created`,label:`Instance Created`},{value:`instance:removed`,label:`Instance Removed`},{value:`engine:state-changed`,label:`Engine State`},{value:`platform:resource`,label:`Platform Resource`},{value:`platform:operation`,label:`Platform Operation`}],u=[{value:`all`,label:`All status`},{value:`healthy`,label:`Healthy`},{value:`faulted`,label:`Faulted`},{value:`quarantined`,label:`Quarantined`}];export{c as a,o as c,a as i,u as n,s as o,r,i as s,l as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-Bwxw859K.js";var t=e(`server`,[[`rect`,{width:`20`,height:`8`,x:`2`,y:`2`,rx:`2`,ry:`2`,key:`ngkwjq`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,ry:`2`,key:`iecqi9`}],[`line`,{x1:`6`,x2:`6.01`,y1:`6`,y2:`6`,key:`16zg32`}],[`line`,{x1:`6`,x2:`6.01`,y1:`18`,y2:`18`,key:`nzw8ys`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{a as e}from"./rolldown-runtime-COnpUsM8.js";import{s as t}from"./vendor-charts-CAZdaPlq.js";var n=e(t(),1),r=e=>Symbol.iterator in e,i=e=>`entries`in e,a=(e,t)=>{let n=e instanceof Map?e:new Map(e.entries()),r=t instanceof Map?t:new Map(t.entries());if(n.size!==r.size)return!1;for(let[e,t]of n)if(!r.has(e)||!Object.is(t,r.get(e)))return!1;return!0},o=(e,t)=>{let n=e[Symbol.iterator](),r=t[Symbol.iterator](),i=n.next(),a=r.next();for(;!i.done&&!a.done;){if(!Object.is(i.value,a.value))return!1;i=n.next(),a=r.next()}return!!i.done&&!!a.done};function s(e,t){return Object.is(e,t)?!0:typeof e!=`object`||!e||typeof t!=`object`||!t||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t)?!1:r(e)&&r(t)?i(e)&&i(t)?a(e,t):o(e,t):a({entries:()=>Object.entries(e)},{entries:()=>Object.entries(t)})}function c(e){let t=n.useRef(void 0);return n=>{let r=e(n);return s(t.current,r)?t.current:t.current=r}}export{c as t};
@@ -0,0 +1,4 @@
1
+ import{a as e}from"./rolldown-runtime-COnpUsM8.js";import{s as t}from"./vendor-charts-CAZdaPlq.js";import{A as n,F as r,I as i,L as a,M as o,N as s,P as c,at as l,et as u,j as d}from"./vendor-ui-ByahnaY0.js";import{a as f,k as p}from"./api-4AqKvsm9.js";import{r as m,t as h}from"./query-keys-BvtE7BMs.js";import{t as g}from"./createLucideIcon-Bwxw859K.js";import{t as ee}from"./arrow-up-down-DFSjzzl2.js";import{i as _,n as v,t as y}from"./input-BWEQFptx.js";import{c as b,i as x,l as S,n as C,s as w,t as T,u as te}from"./select-CeO4vP0G.js";import{a as ne,n as E,r as D}from"./platform-targets-R3T-4eJ7.js";import{n as O,r as k}from"./dist-BhbDML0a.js";import{t as re}from"./download-DQ6NH16U.js";import{i as A,n as j,t as ie}from"./dist-Cy8XTNFT.js";import{n as ae}from"./chunk-OE4NN4TA-CEjpfhS6.js";import{n as oe,t as se}from"./proxy-CsnYqnPp.js";import{i as M,n as N,t as P}from"./tooltip-HGLF366Q.js";import{i as ce}from"./engine-store-CrLnz692.js";import{a as F,i as I,n as le,o as ue,r as de,s as fe,t as L}from"./label-uephX5ZG.js";import{n as pe,t as me}from"./get-error-message-3Q5Q-2G5.js";import{n as he,t as ge}from"./card-BjeP32PN.js";import{a as R,i as z,n as B,r as V,t as H}from"./combobox-BGnuCYxO.js";import{a as _e,i as ve,n as ye,o as be,r as xe,s as Se,t as Ce}from"./vendor-table-wd8JuMmT.js";var U=g(`arrow-down`,[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]),W=g(`arrow-up`,[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]),we=g(`braces`,[[`path`,{d:`M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1`,key:`ezmyqa`}],[`path`,{d:`M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1`,key:`e1hn23`}]]),Te=g(`chevron-left`,[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]),Ee=g(`database`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 21 19V5`,key:`1wlel7`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`,key:`mv7ke4`}]]),G=g(`external-link`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),De=g(`table-2`,[[`path`,{d:`M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18`,key:`gugj83`}]]),K=e(t(),1),q=l();function Oe({...e}){return(0,q.jsx)(d,{"data-slot":`dropdown-menu`,...e})}function ke({...e}){return(0,q.jsx)(n,{"data-slot":`dropdown-menu-trigger`,...e})}function Ae({align:e=`start`,alignOffset:t=0,side:n=`bottom`,sideOffset:r=4,className:i,...a}){return(0,q.jsx)(s,{children:(0,q.jsx)(o,{className:`isolate z-50 outline-none`,align:e,alignOffset:t,side:n,sideOffset:r,children:(0,q.jsx)(c,{"data-slot":`dropdown-menu-content`,className:_(`z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95`,i),...a})})})}function je({...e}){return(0,q.jsx)(a,{"data-slot":`dropdown-menu-group`,...e})}function Me({className:e,inset:t,...n}){return(0,q.jsx)(i,{"data-slot":`dropdown-menu-label`,"data-inset":t,className:_(`px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:pl-7`,e),...n})}function J({className:e,inset:t,variant:n=`default`,...i}){return(0,q.jsx)(r,{"data-slot":`dropdown-menu-item`,"data-inset":t,"data-variant":n,className:_(`group/dropdown-menu-item relative flex cursor-pointer items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none data-[highlighted]:bg-sidebar-accent data-[highlighted]:text-sidebar-accent-foreground not-data-[variant=destructive]:data-[highlighted]:**:text-sidebar-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:data-[highlighted]:bg-destructive/10 data-[variant=destructive]:data-[highlighted]:text-destructive dark:data-[variant=destructive]:data-[highlighted]:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive`,e),...i})}function Ne({className:e,...t}){return(0,q.jsx)(u,{"data-slot":`dropdown-menu-separator`,className:_(`-mx-1 my-1 h-px bg-border`,e),...t})}var Pe={mqtt:`MQTT Client`,opcua:`OPC UA Client Advanced`,modbus:`Modbus TCP`},Fe={Boolean:`bool`,Int32:`int32`,UInt16:`uint16`,UInt32:`uint32`,Float:`float32`,Double:`float64`,String:`string`},Ie={float32:`float32`,int32:`int32`,uint32:`uint32`,uint16:`word`,boolean:`word`},Y=`deviceId,deviceName,driverName,name,tagName,description,valueType,registerId,publishCoV,tagFormula,metaData,Retain,Qos,address,count,pollingInterval,endianness`;function X(e,t,n){let r=[Y];for(let i of n){let n=Pe[i]??i;for(let a of e){let e=a.protocols[i];e&&r.push(Le(i,{deviceName:t,driverName:n,memberName:a.member,browsePath:a.browsePath,dataType:a.dataType,protocolData:e,unit:a.unit,euRange:a.euRange,model:a.model,instance:a.instance,access:a.access}))}}return`${r.join(`
2
+ `)}\n`}function Le(e,t){switch(e){case`mqtt`:return Re(t);case`opcua`:return ze(t);case`modbus`:return Be(t);default:throw Error(`Unsupported LE export protocol: "${e}"`)}}function Re(e){let t=typeof e.protocolData?.topic==`string`?e.protocolData.topic:`${e.browsePath}/${e.memberName}`;return[``,Z(e.deviceName),Z(e.driverName),Z(t),Z(e.memberName),``,`string`,``,`false`,``,Ve(e),`Disable`,`0`,``,``,``,``].join(`,`)}function ze(e){let t=typeof e.protocolData?.nodeId==`string`?e.protocolData.nodeId:`ns=1;s=${e.browsePath}/${e.memberName}`,n=Fe[e.dataType]??`string`;return[``,Z(e.deviceName),Z(e.driverName),Z(t),Z(e.memberName),``,n,``,`false`,``,Ve(e),``,``,``,``,``,``].join(`,`)}function Be(e){let t=Ie[String(e.protocolData?.registerType??``)]??`float32`,n=e.protocolData?.address;return[``,Z(e.deviceName),Z(e.driverName),`H`,Z(e.memberName),``,t,``,`false`,``,Ve(e),``,``,typeof n==`number`?String(n):`0`,`1`,`1.0000000000`,`AB CD`].join(`,`)}function Z(e){return e.includes(`,`)||e.includes(`"`)||e.includes(`
3
+ `)?`"${e.replace(/"/g,`""`)}"`:e}function Ve(e){let t={uns_path:e.browsePath?`${e.browsePath}/${e.memberName}`:e.memberName,model:e.model,instance:e.instance,access:e.access};return e.unit!=null&&(t.unit=e.unit),e.euRange!=null&&(t.eu_range_min=String(e.euRange[0]),t.eu_range_max=String(e.euRange[1])),Z(JSON.stringify(t))}var He={mqtt:`MQTT`,opcua:`OPC UA`,modbus:`Modbus`},Ue=[{id:D.id,label:D.label}];function We({open:e,onOpenChange:t,tags:n,totalTags:r,enabledProtocols:i,selectedInstance:a}){let[o,s]=(0,K.useState)(`litmus-edge`),[c,l]=(0,K.useState)(``),[u,d]=(0,K.useState)(``),f=(0,K.useRef)(null),p=(0,K.useRef)(!1);(0,K.useEffect)(()=>{e&&!p.current&&(s(D.id),l(a??``),d(i[0]??``),setTimeout(()=>f.current?.focus(),80)),p.current=e},[e,i,a]);let m=c.trim()!==``&&u!==``,h=o===D.id?m:!1,g=(0,K.useCallback)(()=>{if(o===D.id){let e=X(n,c.trim(),[u]),r=new Blob([e],{type:`text/csv`}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=`${c.trim()}-litmus-edge-tags.csv`,a.click(),URL.revokeObjectURL(i),t(!1)}},[o,c,n,u,t]),ee=n.length<r,_=(0,K.useMemo)(()=>[...Ue.map(e=>({value:e.id,label:e.label})),...E.map(e=>({value:e.id,label:e.label}))],[]),S=(0,K.useMemo)(()=>i.map(e=>({value:e,label:He[e]??e.toUpperCase()})),[i]);return(0,q.jsx)(le,{open:e,onOpenChange:t,children:(0,q.jsxs)(de,{className:`sm:max-w-lg`,children:[(0,q.jsxs)(ue,{children:[(0,q.jsx)(fe,{children:`Export for Platform`}),(0,q.jsx)(I,{children:ee?`Exporting ${n.length} of ${r} tags based on current table filters.`:`Exporting all ${n.length} tags. Use table filters to narrow scope.`})]}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-4 py-1`,children:[(0,q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,q.jsx)(L,{className:`text-sm`,children:`Platform`}),(0,q.jsxs)(T,{value:o,onValueChange:e=>e&&s(e),items:_,children:[(0,q.jsx)(w,{className:`w-full text-sm`,children:(0,q.jsx)(b,{placeholder:`Select platform`})}),(0,q.jsxs)(C,{children:[Ue.map(e=>(0,q.jsx)(x,{value:e.id,children:e.label},e.id)),E.map(e=>(0,q.jsx)(x,{value:e.id,disabled:!0,children:e.label},e.id))]})]})]}),o===D.id&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,q.jsxs)(L,{htmlFor:`device-name`,className:`text-sm`,children:[`Device name `,(0,q.jsx)(`span`,{className:`text-destructive`,children:`*`})]}),(0,q.jsx)(y,{id:`device-name`,ref:f,placeholder:`e.g. DTW-FAB-PLC`,value:c,onChange:e=>l(e.target.value),onKeyDown:e=>e.key===`Enter`&&h&&g(),className:`font-mono text-sm`})]}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,q.jsx)(L,{className:`text-sm`,children:`Protocol`}),(0,q.jsxs)(T,{value:u||void 0,onValueChange:e=>e&&d(e),items:S,children:[(0,q.jsx)(w,{className:`w-full text-sm`,children:(0,q.jsx)(b,{placeholder:`Select a protocol`})}),(0,q.jsx)(C,{children:i.map(e=>(0,q.jsx)(x,{value:e,children:He[e]??e.toUpperCase()},e))})]})]})]})]}),(0,q.jsxs)(F,{children:[(0,q.jsx)(v,{variant:`outline`,size:`sm`,onClick:()=>t(!1),children:`Cancel`}),(0,q.jsxs)(v,{size:`sm`,className:`gap-1.5`,disabled:!h,onClick:g,children:[(0,q.jsx)(re,{className:`size-3.5`}),`Download CSV`]})]})]})})}var Ge=`border-border/70 bg-popover/98 font-body text-sm shadow-xl ring-1 ring-foreground/12 backdrop-blur-sm supports-backdrop-filter:bg-popover/90 p-1.5`,Ke=`px-2 pb-1 font-heading text-[9px] font-semibold tracking-[0.14em] text-muted-foreground uppercase`,qe=`h-8 gap-1.5 border-border/80 bg-background/80 text-xs font-medium shadow-sm transition-colors hover:border-primary/35 hover:bg-accent/40`,Je=`gap-2.5 rounded-md py-2 pl-2 pr-2 text-[13px] data-[highlighted]:bg-primary/10 data-[highlighted]:text-foreground`;function Ye({protocol:e,instance:t,model:n,member:r,enabledProtocols:i,hasFilters:a,memberSearchRef:o,onProtocolChange:s,onInstanceChange:c,onModelChange:l,onMemberChange:u,onClearFilters:d,onInstanceSearch:f,onModelSearch:p,filteredInstanceOptions:m,filteredModelOptions:h}){let g=(0,K.useMemo)(()=>[{value:`all`,label:`All protocols`},...i.map(e=>({value:e,label:e.toUpperCase()}))],[i]);return(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,q.jsxs)(T,{value:e||`all`,onValueChange:e=>s(!e||e===`all`?``:e),items:g,children:[(0,q.jsx)(w,{className:`h-8 w-[140px] text-xs`,"aria-label":`Protocol filter`,children:(0,q.jsx)(b,{placeholder:`All protocols`})}),(0,q.jsxs)(C,{alignItemWithTrigger:!1,align:`start`,children:[(0,q.jsx)(x,{value:`all`,children:`All protocols`}),i.map(e=>(0,q.jsx)(x,{value:e,children:e.toUpperCase()},e))]})]}),(0,q.jsxs)(H,{value:t||null,onValueChange:e=>c(e??``),onInputValueChange:f,children:[(0,q.jsx)(V,{placeholder:`All instances`,className:`h-8 w-[200px] text-xs`,showClear:!!t}),(0,q.jsx)(B,{children:(0,q.jsxs)(R,{children:[m.map(([e,t])=>(0,q.jsxs)(z,{value:e,className:`text-xs`,children:[(0,q.jsx)(`span`,{className:`font-mono`,children:e}),(0,q.jsxs)(`span`,{className:`text-muted-foreground`,children:[`(`,t,`)`]})]},e)),m.length===0&&(0,q.jsx)(`p`,{className:`py-2 text-center text-xs text-muted-foreground`,children:`No instances found`})]})})]}),(0,q.jsxs)(H,{value:n||null,onValueChange:e=>l(e??``),onInputValueChange:p,children:[(0,q.jsx)(V,{placeholder:`All models`,className:`h-8 w-[200px] text-xs`,showClear:!!n}),(0,q.jsx)(B,{children:(0,q.jsxs)(R,{children:[h.map(([e,t])=>(0,q.jsxs)(z,{value:e,className:`text-xs`,children:[e,(0,q.jsxs)(`span`,{className:`text-muted-foreground`,children:[`(`,t,`)`]})]},e)),h.length===0&&(0,q.jsx)(`p`,{className:`py-2 text-center text-xs text-muted-foreground`,children:`No models found`})]})})]}),(0,q.jsxs)(`div`,{className:`relative`,children:[(0,q.jsx)(y,{ref:o,placeholder:`Search member…`,className:`h-8 w-[160px] pr-7 text-xs`,value:r,onChange:e=>u(e.target.value)}),!r&&(0,q.jsx)(`kbd`,{className:`pointer-events-none absolute top-1/2 right-2 -translate-y-1/2 rounded border border-border bg-muted px-1 font-mono text-[10px] text-muted-foreground`,children:`/`})]}),a&&(0,q.jsxs)(v,{variant:`ghost`,size:`sm`,className:`h-8 gap-1 text-xs`,onClick:d,children:[(0,q.jsx)(S,{className:`size-3`}),`Clear`]})]})}function Q({sorted:e}){return e===`asc`?(0,q.jsx)(W,{className:`ml-1 inline size-3`}):e===`desc`?(0,q.jsx)(U,{className:`ml-1 inline size-3`}):(0,q.jsx)(ee,{className:`ml-1 inline size-3 opacity-30`})}function Xe(e,t=1,n=2){let r=e.split(`/`);return r.length<=t+n+1?e:[...r.slice(0,t),`...`,...r.slice(-n)].join(`/`)}function Ze({label:e,value:t,collapsible:n}){let r=(0,K.useCallback)(()=>{navigator.clipboard.writeText(t),O.success(`Copied to clipboard`)},[t]),i=n?Xe(t):t;return(0,q.jsxs)(`div`,{className:`min-w-0`,children:[(0,q.jsx)(`p`,{className:`text-[10px] uppercase tracking-wider text-muted-foreground`,children:e}),(0,q.jsxs)(`button`,{type:`button`,className:`mt-0.5 flex items-start gap-1 font-mono text-xs hover:text-foreground`,onClick:r,children:[n?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`break-all lg:hidden`,children:i}),(0,q.jsx)(`span`,{className:`hidden break-all lg:inline`,children:t})]}):(0,q.jsx)(`span`,{className:`break-all`,children:t}),(0,q.jsx)(k,{className:`mt-0.5 size-3 shrink-0 text-muted-foreground`})]})]})}function Qe({tag:e,enabledProtocols:t}){let n=`${e.browsePath}/${e.member}`,r=e.protocols.opcua,i=e.protocols.modbus,a=e.access===`readwrite`?`rw`:e.access;return(0,q.jsxs)(`div`,{className:`flex flex-col gap-3 text-xs`,children:[(0,q.jsxs)(`div`,{className:`flex flex-wrap gap-x-10 gap-y-2.5`,children:[(0,q.jsx)(Ze,{label:`Topic / UNS`,value:n,collapsible:!0}),t.includes(`opcua`)&&typeof r?.nodeId==`string`&&(0,q.jsx)(Ze,{label:`OPC UA NodeId`,value:r.nodeId,collapsible:!0}),t.includes(`modbus`)&&i?.address!=null&&(0,q.jsxs)(`div`,{className:`min-w-0`,children:[(0,q.jsx)(`p`,{className:`text-[10px] uppercase tracking-wider text-muted-foreground`,children:`Modbus`}),(0,q.jsxs)(`p`,{className:`mt-0.5 font-mono`,children:[`addr=`,String(i.address),` regs=`,String(i.count),` `,String(i.registerType)]})]})]}),(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-4 gap-y-1 text-muted-foreground`,children:[(0,q.jsxs)(P,{children:[(0,q.jsx)(M,{className:`font-mono`,render:(0,q.jsx)(`span`,{}),children:e.dataType}),(0,q.jsx)(N,{side:`top`,children:`Data type`})]}),e.unit&&(0,q.jsxs)(P,{children:[(0,q.jsx)(M,{className:`font-mono`,render:(0,q.jsx)(`span`,{}),children:e.unit}),(0,q.jsx)(N,{side:`top`,children:`Unit`})]}),(0,q.jsxs)(P,{children:[(0,q.jsx)(M,{className:`font-mono`,render:(0,q.jsx)(`span`,{}),children:a}),(0,q.jsx)(N,{side:`top`,children:`Access: r / w / rw`})]}),e.euRange&&(0,q.jsxs)(P,{children:[(0,q.jsxs)(M,{className:`font-mono`,render:(0,q.jsx)(`span`,{}),children:[`[`,e.euRange[0],`, `,e.euRange[1],`]`]}),(0,q.jsx)(N,{side:`top`,children:`EU range (min, max)`})]}),(0,q.jsxs)(P,{children:[(0,q.jsxs)(M,{render:(0,q.jsx)(ae,{to:`/instance/${e.instance}`,className:`inline-flex items-center gap-1 text-primary underline-offset-4 hover:underline`,"aria-label":`Open instance`}),children:[`View instance`,(0,q.jsx)(G,{className:`size-3`})]}),(0,q.jsx)(N,{side:`top`,children:`Open instance`})]})]})]})}var $=[{id:`expand`,meta:{cellClass:`!pl-2 !pr-0 w-0`},header:()=>(0,q.jsx)(`span`,{className:`sr-only`,children:`Expand row`}),enableSorting:!1,cell:({row:e})=>(0,q.jsx)(`button`,{type:`button`,className:`inline-flex size-5 items-center justify-center rounded text-muted-foreground hover:text-foreground`,"aria-label":e.getIsExpanded()?`Collapse row`:`Expand row`,onClick:t=>{t.stopPropagation(),e.toggleExpanded()},children:(0,q.jsx)(te,{className:`size-3.5 transition-transform ${e.getIsExpanded()?`rotate-0`:`-rotate-90`}`})})},{accessorKey:`instance`,header:({column:e})=>(0,q.jsxs)(`button`,{type:`button`,className:`inline-flex items-center`,onClick:e.getToggleSortingHandler(),children:[`Instance`,(0,q.jsx)(Q,{sorted:e.getIsSorted()})]}),cell:({getValue:e})=>(0,q.jsx)(`span`,{className:`font-mono text-xs`,children:e()})},{accessorKey:`member`,header:({column:e})=>(0,q.jsxs)(`button`,{type:`button`,className:`inline-flex items-center`,onClick:e.getToggleSortingHandler(),children:[`Member`,(0,q.jsx)(Q,{sorted:e.getIsSorted()})]}),cell:({getValue:e})=>(0,q.jsx)(`span`,{className:`font-mono text-xs`,children:e()})},{accessorKey:`model`,header:({column:e})=>(0,q.jsxs)(`button`,{type:`button`,className:`inline-flex items-center`,onClick:e.getToggleSortingHandler(),children:[`Model`,(0,q.jsx)(Q,{sorted:e.getIsSorted()})]}),cell:({getValue:e})=>(0,q.jsx)(`span`,{className:`text-xs`,children:e()})},{accessorKey:`dataType`,meta:{hideClass:`hidden lg:table-cell`},header:({column:e})=>(0,q.jsxs)(`button`,{type:`button`,className:`inline-flex items-center`,onClick:e.getToggleSortingHandler(),children:[`Type`,(0,q.jsx)(Q,{sorted:e.getIsSorted()})]}),cell:({getValue:e})=>(0,q.jsx)(`span`,{className:`font-mono text-xs`,children:e()})},{accessorKey:`unit`,meta:{hideClass:`hidden lg:table-cell`},header:`Unit`,enableSorting:!1,cell:({getValue:e})=>(0,q.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:e()??`—`})},{accessorKey:`access`,meta:{hideClass:`hidden lg:table-cell`},header:`Access`,enableSorting:!1,cell:({getValue:e})=>{let t=e();return(0,q.jsx)(`span`,{className:`font-mono text-xs`,children:t===`readwrite`?`rw`:t})}}];function $e(e,t){let n=new Blob([e],{type:`text/csv`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=t,i.click(),URL.revokeObjectURL(r)}var et=[`loading-1`,`loading-2`,`loading-3`,`loading-4`,`loading-5`,`loading-6`,`loading-7`,`loading-8`];function tt(){let[e,t]=(0,K.useState)(!1),n=(0,K.useRef)(null);(0,K.useEffect)(()=>{let e=e=>{if(e.key!==`/`||e.metaKey||e.ctrlKey||e.altKey)return;let t=e.target.tagName;t===`INPUT`||t===`TEXTAREA`||t===`SELECT`||(e.preventDefault(),n.current?.focus())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]);let[r,i]=A(`protocol`,j.withDefault(``)),[a,o]=A(`instance`,j.withDefault(``)),[s,c]=A(`model`,j.withDefault(``)),[l,u]=A(`member`,j.withDefault(``)),[d,g]=A(`perPage`,ie.withDefault(10)),ee=ce(e=>e.instanceCount),y=m({queryKey:h.tags.manifest(ee),queryFn:()=>f(`/manifest`),placeholderData:p}),S=y.data??null,E=y.isError,D=y.isPending&&!S&&!E,O=me(y.error,`Failed to fetch manifest.`),k=S?.tags??[],M=S?.summary?.enabledProtocols??[],N=(0,K.useMemo)(()=>k.filter(e=>e.kind===`variable`),[k]),P=(0,K.useMemo)(()=>{let e=new Map;for(let t of N)e.set(t.instance,(e.get(t.instance)??0)+1);return[...e.entries()].sort((e,t)=>e[0].localeCompare(t[0]))},[N]),F=(0,K.useMemo)(()=>{let e=new Map;for(let t of N)e.set(t.model,(e.get(t.model)??0)+1);return[...e.entries()].sort((e,t)=>e[0].localeCompare(t[0]))},[N]),I=(0,K.useMemo)(()=>{let e=[...N];return r&&(e=e.filter(e=>Object.keys(e.protocols).includes(r))),a&&(e=e.filter(e=>e.instance===a)),s&&(e=e.filter(e=>e.model===s)),l&&(e=e.filter(e=>e.member.toLowerCase().includes(l.toLowerCase()))),e},[N,r,a,s,l]),[le,ue]=(0,K.useState)([]),[de,fe]=(0,K.useState)({}),[L,R]=(0,K.useState)(0),z=r!==``||a!==``||s!==``||l!==``,B=(0,K.useCallback)(()=>{i(``),o(``),c(``),u(``),R(0)},[i,o,c,u]),V=ye({data:I,columns:$,getCoreRowModel:xe(),getSortedRowModel:Se(),getExpandedRowModel:ve(),getRowCanExpand:()=>!0,getFilteredRowModel:_e(),getPaginationRowModel:be(),onSortingChange:ue,onExpandedChange:fe,onPaginationChange:e=>{let t=typeof e==`function`?e({pageIndex:L,pageSize:d}):e;R(t.pageIndex),g(t.pageSize)},state:{sorting:le,expanded:de,pagination:{pageIndex:L,pageSize:d}}}),H=(0,K.useCallback)(e=>{R(0),g(e)},[g]),[U,W]=(0,K.useState)(``),[G,Pe]=(0,K.useState)(``),Fe=(0,K.useMemo)(()=>U?P.filter(([e])=>e.toLowerCase().includes(U.toLowerCase())):P,[P,U]),Ie=(0,K.useMemo)(()=>G?F.filter(([e])=>e.toLowerCase().includes(G.toLowerCase())):F,[F,G]),Y=d,X=V.getRowModel().rows.length,Le=X===0||I.length===0?0:L*Y+1,Re=X===0||I.length===0?0:L*Y+X,ze=(0,K.useCallback)(()=>{let e=r?[r]:M,t=[`instance`,`member`,`model`,`dataType`,`unit`,`access`,`browsePath`,...e.includes(`mqtt`)?[`mqtt_topic`]:[],...e.includes(`opcua`)?[`opcua_nodeId`]:[],...e.includes(`modbus`)?[`modbus_address`,`modbus_count`,`modbus_encoding`]:[]],n=I.map(t=>{let n=t.protocols.mqtt,r=t.protocols.opcua,i=t.protocols.modbus;return[t.instance,t.member,t.model,t.dataType,t.unit??``,t.access,t.browsePath,...e.includes(`mqtt`)?[String(n?.topic??``)]:[],...e.includes(`opcua`)?[String(r?.nodeId??``)]:[],...e.includes(`modbus`)?[String(i?.address??``),String(i?.count??``),String(i?.registerType??``)]:[]]});$e([t.join(`,`),...n.map(e=>e.join(`,`))].join(`
4
+ `),`miravo-tags.csv`)},[I,r,M]);return E&&!S?(0,q.jsx)(`div`,{className:`flex min-h-[40vh] flex-col items-center justify-center p-6 sm:p-12`,children:(0,q.jsx)(`div`,{className:`w-full max-w-md`,children:(0,q.jsx)(pe,{message:O,onRetry:()=>void y.refetch(),isRetrying:y.isFetching})})}):(0,q.jsxs)(`div`,{className:`mx-auto flex w-full max-w-screen-2xl flex-col gap-5 p-4 sm:gap-6 sm:p-6`,children:[E&&S?(0,q.jsx)(pe,{message:`${O} Showing cached tags.`,onRetry:()=>void y.refetch(),isRetrying:y.isFetching}):null,(0,q.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,q.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,q.jsx)(`h1`,{className:`font-heading text-2xl font-semibold tracking-tight`,children:`Tag Explorer`}),(0,q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:D?`Loading tag manifest...`:`${S?.summary?.totalInstances??0} instances · ${M.length} protocols`})]}),(0,q.jsxs)(Oe,{children:[(0,q.jsxs)(ke,{render:(0,q.jsx)(v,{variant:`outline`,size:`sm`,className:_(qe,`px-3`)}),children:[(0,q.jsx)(re,{className:`size-3.5 opacity-90`,"aria-hidden":!0}),`Export`,(0,q.jsx)(te,{className:`size-3 opacity-60`,"aria-hidden":!0})]}),(0,q.jsx)(Ae,{align:`end`,sideOffset:6,className:_(`min-w-[13.5rem]`,Ge),children:(0,q.jsxs)(je,{children:[(0,q.jsx)(Me,{className:Ke,children:`Export`}),(0,q.jsx)(Ne,{className:`bg-border/60`}),(0,q.jsxs)(J,{onClick:ze,className:Je,children:[(0,q.jsx)(De,{className:`size-3.5 shrink-0 text-primary`,"aria-hidden":!0}),`Download CSV`]}),(0,q.jsxs)(J,{onClick:()=>t(!0),className:Je,children:[(0,q.jsx)(we,{className:`size-3.5 shrink-0 text-primary`,"aria-hidden":!0}),`Export for Platform…`]})]})})]})]}),(0,q.jsx)(Ye,{protocol:r,instance:a,model:s,member:l,enabledProtocols:M,instanceOptions:P,modelOptions:F,hasFilters:z,memberSearchRef:n,onProtocolChange:e=>void i(e),onInstanceChange:e=>void o(e),onModelChange:e=>void c(e),onMemberChange:e=>void u(e),onClearFilters:B,onInstanceSearch:W,onModelSearch:Pe,filteredInstanceOptions:Fe,filteredModelOptions:Ie}),I.length!==N.length&&N.length>0&&(0,q.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Showing`,` `,(0,q.jsx)(`span`,{className:`font-medium tabular-nums text-foreground`,children:I.length}),` of`,` `,(0,q.jsx)(`span`,{className:`tabular-nums`,children:N.length}),` tags`]}),(0,q.jsx)(ge,{className:`min-w-0 py-0`,children:(0,q.jsx)(he,{className:`p-0`,children:(0,q.jsx)(`div`,{className:`max-h-[calc(100vh-18rem)] overflow-auto [scrollbar-gutter:stable]`,children:(0,q.jsxs)(`table`,{className:`w-full caption-bottom text-sm`,children:[(0,q.jsx)(`thead`,{className:`sticky top-0 z-10 border-b bg-background [&_tr]:border-b`,children:V.getHeaderGroups().map(e=>(0,q.jsx)(`tr`,{className:`border-b transition-colors hover:bg-muted/50`,children:e.headers.map(e=>{let t=e.column.columnDef.meta;return(0,q.jsx)(`th`,{className:`h-10 whitespace-nowrap px-1.5 text-left text-xs font-medium text-muted-foreground sm:px-4 ${t?.hideClass??``} ${t?.cellClass??``}`,children:e.isPlaceholder?null:Ce(e.column.columnDef.header,e.getContext())},e.id)})},e.id))}),(0,q.jsx)(`tbody`,{className:`[&_tr:last-child]:border-0`,children:D?et.map(e=>(0,q.jsx)(`tr`,{children:(0,q.jsx)(`td`,{colSpan:$.length,className:`px-4 py-2`,children:(0,q.jsx)(`div`,{className:`h-8 animate-pulse rounded bg-muted/30`})})},e)):V.getRowModel().rows.length>0?V.getRowModel().rows.map(e=>(0,q.jsxs)(K.Fragment,{children:[(0,q.jsx)(`tr`,{className:`cursor-pointer border-b transition-colors hover:bg-muted/50`,onClick:e.getToggleExpandedHandler(),children:e.getVisibleCells().map(e=>{let t=e.column.columnDef.meta;return(0,q.jsx)(`td`,{className:`whitespace-nowrap px-1.5 py-1.5 text-left sm:px-4 ${t?.hideClass??``} ${t?.cellClass??``}`,children:Ce(e.column.columnDef.cell,e.getContext())},e.id)})}),(0,q.jsx)(`tr`,{children:(0,q.jsx)(`td`,{colSpan:e.getVisibleCells().length,className:`p-0`,onClick:e=>e.stopPropagation(),children:(0,q.jsx)(oe,{initial:!1,children:e.getIsExpanded()&&(0,q.jsx)(se.div,{initial:{height:0,opacity:0},animate:{height:`auto`,opacity:1},exit:{height:0,opacity:0},transition:{duration:.2,ease:`easeOut`},className:`overflow-hidden border-b`,children:(0,q.jsx)(`div`,{className:`px-1.5 py-3 pl-6 sm:px-4 sm:pl-10`,children:(0,q.jsx)(Qe,{tag:e.original,enabledProtocols:M})})},`expanded`)})})})]},e.id)):(0,q.jsx)(`tr`,{children:(0,q.jsx)(`td`,{colSpan:$.length,className:`h-32 px-2 text-center sm:px-4`,children:N.length===0?(0,q.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,children:[(0,q.jsx)(Ee,{className:`size-8 text-muted-foreground`}),(0,q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No tags available`}),(0,q.jsx)(ae,{to:`/catalog`,className:`text-xs text-primary underline-offset-4 hover:underline`,children:`Start a simulation from the Catalog to generate tags`})]}):(0,q.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`No matching tags.`,` `,(0,q.jsx)(`span`,{className:`text-xs`,children:`Try adjusting your filters.`})]})})})})]})})})}),(0,q.jsx)(`div`,{className:`rounded-md border bg-muted/20 px-3 py-2 text-xs text-muted-foreground`,children:(0,q.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between sm:gap-4`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 sm:justify-start sm:gap-5`,children:[(0,q.jsxs)(`p`,{className:`min-w-0 leading-tight`,children:[(0,q.jsx)(`span`,{className:`font-medium tabular-nums text-foreground`,children:Le===0?`0`:`${Le}\u2013${Re}`}),` `,(0,q.jsxs)(`span`,{className:`text-muted-foreground`,children:[`of `,I.length,` tags`]})]}),(0,q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1.5 whitespace-nowrap`,children:[(0,q.jsxs)(T,{value:String(Y),onValueChange:e=>e&&H(Number(e)),children:[(0,q.jsx)(w,{className:`h-8 w-[4.25rem] text-xs`,"aria-label":`Rows per page`,children:(0,q.jsx)(b,{})}),(0,q.jsx)(C,{children:[10,25,50,100].map(e=>(0,q.jsx)(x,{value:String(e),children:e},e))})]}),(0,q.jsx)(`span`,{className:`hidden text-muted-foreground sm:inline`,children:`per page`})]})]}),(0,q.jsxs)(`nav`,{className:`flex items-center justify-center gap-2 border-border/60 border-t pt-2 sm:justify-end sm:border-0 sm:pt-0`,"aria-label":`Table pages`,children:[(0,q.jsx)(v,{variant:`outline`,size:`sm`,className:`h-8 w-8 shrink-0 p-0`,disabled:!V.getCanPreviousPage(),onClick:()=>V.previousPage(),"aria-label":`Previous page`,children:(0,q.jsx)(Te,{className:`size-3.5`})}),(0,q.jsxs)(`span`,{className:`min-w-[5ch] text-center text-sm font-medium tabular-nums whitespace-nowrap text-foreground`,children:[V.getState().pagination.pageIndex+1,` / `,V.getPageCount()]}),(0,q.jsx)(v,{variant:`outline`,size:`sm`,className:`h-8 w-8 shrink-0 p-0`,disabled:!V.getCanNextPage(),onClick:()=>V.nextPage(),"aria-label":`Next page`,children:(0,q.jsx)(ne,{className:`size-3.5`})})]})]})}),(0,q.jsx)(We,{open:e,onOpenChange:t,tags:I,totalTags:k.length,enabledProtocols:M,selectedInstance:a||void 0})]})}export{J as a,ke as c,je as i,W as l,Oe as n,Me as o,Ae as r,Ne as s,tt as t,U as u};
@@ -0,0 +1 @@
1
+ import{t as e}from"./tags-CiXOIHtY.js";export{e as TagsPage};
@@ -0,0 +1 @@
1
+ import{B as e,G as t,H as n,K as r,U as i,V as a,W as o,at as s}from"./vendor-ui-ByahnaY0.js";import{i as c}from"./input-BWEQFptx.js";var l=s();function u({delay:t=0,...n}){return(0,l.jsx)(e,{"data-slot":`tooltip-provider`,delay:t,...n})}function d({...e}){return(0,l.jsx)(r,{"data-slot":`tooltip`,...e})}function f({...e}){return(0,l.jsx)(t,{"data-slot":`tooltip-trigger`,...e})}function p({className:e,side:t=`top`,sideOffset:r=3,align:s=`center`,alignOffset:u=0,children:d,...f}){return(0,l.jsx)(o,{children:(0,l.jsx)(i,{align:s,alignOffset:u,side:t,sideOffset:r,className:`isolate z-50`,children:(0,l.jsxs)(n,{"data-slot":`tooltip-content`,className:c(`z-50 inline-flex w-fit max-w-[min(18rem,85vw)] origin-(--transform-origin) items-center gap-1 rounded-sm border border-tooltip-border/60 bg-tooltip px-2 py-1 text-[11px] leading-tight text-tooltip-foreground shadow-md shadow-black/25 has-data-[slot=kbd]:pr-1 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-sm data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,e),...f,children:[d,(0,l.jsx)(a,{className:`z-50 size-2 translate-y-[calc(-50%-1px)] rotate-45 rounded-[1px] bg-tooltip fill-tooltip data-[side=bottom]:top-0.5 data-[side=inline-end]:top-1/2! data-[side=inline-end]:-left-0.5 data-[side=inline-end]:-translate-y-1/2 data-[side=inline-start]:top-1/2! data-[side=inline-start]:-right-0.5 data-[side=inline-start]:-translate-y-1/2 data-[side=left]:top-1/2! data-[side=left]:-right-0.5 data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-0.5 data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2`})]})})})}export{f as i,p as n,u as r,d as t};
@@ -0,0 +1 @@
1
+ import{at as e}from"./vendor-ui-ByahnaY0.js";import{r as t}from"./chunk-OE4NN4TA-CEjpfhS6.js";import{n,t as r}from"./use-transition-navigate-CCpcWXB0.js";var i=e();function a(e){return e.button===0&&!e.metaKey&&!e.altKey&&!e.ctrlKey&&!e.shiftKey}function o({to:e,transitionType:o,preloadOnIntent:s=!0,onClick:c,...l}){let u=r();return(0,i.jsx)(t,{...l,to:e,onMouseEnter:t=>{l.onMouseEnter?.(t),s&&n(e)},onFocus:t=>{l.onFocus?.(t),s&&n(e)},onClick:t=>{c?.(t),!t.defaultPrevented&&(l.reloadDocument||l.target&&l.target!==`_self`||l.download||a(t)&&(t.preventDefault(),u(e,{transitionType:o})))}})}export{o as t};
@@ -0,0 +1 @@
1
+ var e=`nav-forward`,t=`nav-back`;export{e as n,t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-Bwxw859K.js";var t=e(`triangle-alert`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]);export{t};
@@ -0,0 +1,2 @@
1
+ import{a as e}from"./rolldown-runtime-COnpUsM8.js";import{s as t}from"./vendor-charts-CAZdaPlq.js";import{at as n,d as r,f as i,m as a,p as o}from"./vendor-ui-ByahnaY0.js";import{d as s}from"./api-4AqKvsm9.js";import{t as c}from"./createLucideIcon-Bwxw859K.js";import{a as l,i as u,n as d,o as f,t as ee}from"./input-BWEQFptx.js";import{c as p,i as m,l as h,n as g,s as _,t as v,u as y}from"./select-CeO4vP0G.js";import{i as b}from"./platform-targets-R3T-4eJ7.js";import{n as x,r as S,t as C}from"./copy-button-WkbNkMcd.js";import{n as w}from"./dist-BhbDML0a.js";import{i as T,n as E,r as D,t as O}from"./checkbox-DZlJXTE4.js";import{t as k}from"./radio-CoHegOv5.js";import{t as A}from"./triangle-alert-adNk_sea.js";import{n as j,r as M,t as N}from"./proxy-CsnYqnPp.js";import{a as te,i as ne,n as re,r as ie,s as ae,t as P}from"./label-uephX5ZG.js";import{u as F}from"./format-kXTonpDJ.js";var I=c(`ban`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M4.929 4.929 19.07 19.071`,key:`196cmz`}]]),L=c(`chevrons-up-down`,[[`path`,{d:`m7 15 5 5 5-5`,key:`1hf1tw`}],[`path`,{d:`m7 9 5-5 5 5`,key:`sgt6xg`}]]),R=c(`circle-alert`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]]),z=c(`circle-dot`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}]]),oe=c(`clock`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}]]),B=c(`list-checks`,[[`path`,{d:`M13 5h8`,key:`a7qcls`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}],[`path`,{d:`m3 17 2 2 4-4`,key:`1jhpwq`}],[`path`,{d:`m3 7 2 2 4-4`,key:`1obspn`}]]),V=c(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),H=c(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]),U=e(t(),1);async function W(e,t){let n=await fetch(`${e}`,{credentials:`include`,...t});if(n.status===401)throw s(),Error(`Session expired`);let r;try{r=await n.json()}catch{throw Error(`HTTP ${n.status} — server returned non-JSON response`)}if(!n.ok)throw Error(r.error??r.message??`HTTP ${n.status}`);return r}function se(e,t){return W(e,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(t)})}function ce(e,t){return W(e,{method:`PUT`,headers:{"content-type":`application/json`},body:JSON.stringify(t)})}function le(e){return W(e,{method:`DELETE`})}async function ue(){return(await W(`/platforms/le/environments`)).environments}function de(e){return se(`/platforms/le/environments`,e)}function fe(e,t){return ce(`/platforms/le/environments/${e}`,t)}function pe(e){return le(`/platforms/le/environments/${e}`)}function me(e,t){return W(`/platforms/le/environments/test`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(e),signal:t?.signal})}function he(e,t){return W(`/platforms/le/plan`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(e),signal:t?.signal})}function ge(e,t){return W(`/platforms/le/cleanup/plan`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(e),signal:t?.signal})}function _e(e={}){let t=new URLSearchParams;e.type&&t.set(`type`,e.type),e.environmentId&&t.set(`environmentId`,e.environmentId),typeof e.limit==`number`&&t.set(`limit`,String(e.limit)),typeof e.offset==`number`&&t.set(`offset`,String(e.offset));let n=t.toString();return W(n?`/platforms/le/operations?${n}`:`/platforms/le/operations`)}async function ve(e){await W(`/platforms/le/operations/${e}/cancel`,{method:`POST`})}function ye(e,t,n){return G(`/platforms/le/apply/stream`,e,t,n)}function be(e,t,n){return G(`/platforms/le/cleanup/stream`,e,t,n)}function G(e,t,n,r){let i=new AbortController;return(async()=>{try{let r=await fetch(`${e}`,{method:`POST`,headers:{"content-type":`application/json`},credentials:`include`,body:JSON.stringify(t),signal:i.signal});if(r.status===401)throw s(),Error(`Session expired`);if(!r.ok){let e=`HTTP ${r.status}`;try{let t=await r.json();e=t.error??t.message??e}catch{}throw Error(e)}if(!r.body)throw Error(`No response body`);let a=r.body.getReader(),o=new TextDecoder,c=``,l=``,u=``,d=!1;for(;;){let{done:e,value:t}=await a.read();if(e)break;c+=o.decode(t,{stream:!0});let r=c.split(`
2
+ `);c=r.pop()??``;for(let e of r)if(e.startsWith(`event: `))l=e.slice(7).trim();else if(e.startsWith(`data: `))u=e.slice(6);else if(e===``&&l&&u){(l===`complete`||l===`cancelled`||l===`error`)&&(d=!0);try{let e=JSON.parse(u);n({event:l,data:e})}catch{}l=``,u=``}}if(!d&&!i.signal.aborted)throw Error(`Connection to server was lost unexpectedly`)}catch(e){if(i.signal.aborted)return;r(e instanceof Error?e:Error(String(e)))}})(),i}var xe={...Object.fromEntries(b.map(e=>[e.id,e.exportLabel])),"source-yaml":`Source YAML`};function Se(e){return e==null||e===``?`Select platform`:typeof e==`string`?xe[e]??e:`Select platform`}var K=`Source host (Miravo)`,q=`Address Litmus Edge uses to reach your running Miravo simulation.`;function J(e){let t=e.trim();if(t.length===0)return{message:`Connection test failed with no details from the server.`};let n=t.toLowerCase();if(t.includes(`timed out`))return{message:`Litmus Edge did not respond in time.`,description:`Check the hostname, VPN or firewall, and that the device is online.`};if(/\b401\b/.test(t)||/\b403\b/.test(t)||n.includes(`unauthorized`))return{message:`The API token was rejected.`,description:`Create or copy a valid token in Litmus Edge and paste it into the API token field.`};if(/\b404\b/.test(t)&&(n.includes(`sysinfo`)||n.includes(`/sysinfo/`)))return{message:`This Litmus Edge host or version does not expose the system info API.`,description:`Confirm the hostname and that Litmus Edge is running a build with GET /sysinfo/version.`};if(n.includes(`econnrefused`)||n.includes(`connection refused`)||n.includes(`enotfound`)||n.includes(`getaddrinfo`)||n.includes(`failed`)&&n.includes(`fetch`))return{message:`Could not reach the Litmus Edge host.`,description:`Check the hostname or IP, TLS, and that this computer can reach the edge network.`};if(t.includes(`Session expired`))return{message:`Your session expired. Sign in again, then retry the connection test.`};if(n.includes(`environment not found`))return{message:`That environment was removed. Close the dialog and refresh the list.`};if(n.includes(`unsupported platform`)&&n.includes(`connection`))return{message:`This platform type does not support connection tests yet.`,description:`Use Litmus Edge for remote apply and connection testing.`};if(n.includes(`invalid request body`)||n.includes(`api token is required`))return{message:`Some required fields are missing or invalid.`,description:`Fill in hostname, source host (Miravo), and API token (for new environments).`};let r=t.replace(/^LE\s+\S+\s+/i,``).trim();return{message:`Could not verify the connection to Litmus Edge.`,description:r.length>0&&r.length<=220?r:Ce(t,200)}}function Ce(e,t){let n=e.replace(/\s+/g,` `).trim();return n.length<=t?n:`${n.slice(0,t-1)}…`}function we(e){if(e.connected){w.success(`Connected to ${e.hostname}.`);return}let{message:t,description:n}=J(e.error);w.error(t,n?{description:n}:void 0)}function Te(e){let{message:t,description:n}=J(e instanceof Error?e.message:String(e));w.error(t,n?{description:n}:void 0)}function Ee(e){return!!(typeof DOMException<`u`&&e instanceof DOMException&&e.name===`AbortError`||e instanceof Error&&(e.name===`AbortError`||/aborted/i.test(e.message)))}function De(){let[e,t]=(0,U.useState)(!1),n=(0,U.useRef)(null),r=(0,U.useCallback)(()=>{n.current?.abort()},[]);return{testing:e,runTest:(0,U.useCallback)(async e=>{let r=new AbortController;n.current=r,t(!0);try{we(await me(e,{signal:r.signal}))}catch(e){if(Ee(e))return;Te(e)}finally{n.current===r&&(n.current=null),t(!1)}},[]),cancelInFlight:r}}var Y=n(),Oe=[`devices`,`models`,`instances`],ke=[`instances`,`models`,`devices`],Ae={devices:`Devices`,models:`DT models`,instances:`DT instances`};function je(e){return e.length>120?`Use at most 120 characters.`:/^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(e)?null:`Use lowercase letters, numbers, and hyphens only (e.g. motor-001).`}function Me({open:e,onOpenChange:t,type:n,label:r,environmentLabel:i,hostname:a,sourceHostname:o,onConfirm:s,defaultDeviceName:c,applyPreview:l,cleanupPreview:f}){let p=n===`apply`?Oe:ke,[m,h]=(0,U.useState)(new Set(p)),[g,_]=(0,U.useState)(!1),[v,b]=(0,U.useState)(!1),[x,S]=(0,U.useState)(``),[C,w]=(0,U.useState)(null),[T,D]=(0,U.useState)(`fail`),k=(0,U.useId)(),A=(0,U.useId)(),j=`if-unmanaged-${A}`,M=n===`apply`,F=M&&c!==void 0&&c!==``;(0,U.useEffect)(()=>{e&&(h(new Set(p)),_(!1),w(null),S(F?c??``:``),D(`fail`),b(!1))},[e,p,F,c]);let I={instances:`models`},L=e=>{h(t=>{let n=new Set(t);if(n.has(e)){n.delete(e);for(let[t,r]of Object.entries(I))r===e&&n.delete(t)}else{n.add(e);let t=I[e];t&&n.add(t)}return n})},R=M?l:f,z=()=>{R?.onPreview(),t(!1)},oe=()=>{if(v&&R){z();return}let e=p.filter(e=>m.has(e));if(e.length!==0){if(F){let t=x.trim(),n=t===``?c??``:t.toLowerCase(),r=je(n);if(r){w(r);return}w(null),s({scope:e,deviceName:n,ifUnmanaged:T});return}s({scope:e,ifUnmanaged:T})}},V=n===`apply`?`Syncs devices, models, and instances.`:n===`cleanup`&&r===`All managed resources`?`Removes managed resources in cleanup order.`:`Removes resources for this template in cleanup order.`;return(0,Y.jsx)(re,{open:e,onOpenChange:t,children:(0,Y.jsxs)(ie,{showCloseButton:!0,className:`flex max-h-[90vh] min-h-0 flex-col gap-0 overflow-hidden p-0 sm:max-w-[24rem]`,children:[(0,Y.jsxs)(`div`,{className:`shrink-0 border-b border-border/60 px-5 pb-4 pt-5`,children:[(0,Y.jsxs)(ae,{className:`flex items-center gap-2 text-sm font-semibold leading-snug`,children:[M?(0,Y.jsx)(E,{className:`size-3.5 shrink-0 text-primary`,"aria-hidden":!0}):(0,Y.jsx)(H,{className:`size-3.5 shrink-0 text-destructive`,"aria-hidden":!0}),M?`Apply to Litmus Edge`:`Clean up Litmus Edge`]}),(0,Y.jsx)(ne,{className:`mt-2 text-left text-[11px] leading-relaxed text-foreground/78`,children:M?`Confirm target and options.`:`Confirm environment and cleanup scope.`})]}),(0,Y.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-4 overflow-y-auto overscroll-contain px-5 pt-4 pb-0`,children:[(0,Y.jsx)(`div`,{className:`rounded-lg border border-border/50 bg-muted/15 px-3 py-2.5`,children:(0,Y.jsxs)(`div`,{className:`space-y-3 text-[11px]`,children:[(0,Y.jsxs)(`div`,{className:`min-w-0`,children:[(0,Y.jsx)(`p`,{className:`text-[10px] font-medium uppercase tracking-wide text-foreground/80`,children:M?`Resource`:`Target`}),(0,Y.jsx)(`p`,{className:`mt-1 truncate font-medium leading-snug text-foreground`,children:r})]}),(0,Y.jsx)(`div`,{className:`h-px bg-border/40`,role:`presentation`}),(0,Y.jsxs)(`div`,{className:`min-w-0 space-y-2`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`p`,{className:`text-[10px] font-medium uppercase tracking-wide text-foreground/80`,children:`Environment`}),(0,Y.jsx)(`p`,{className:`mt-1 truncate font-medium leading-snug text-foreground`,children:i})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`p`,{className:`text-[10px] font-medium uppercase tracking-wide text-foreground/80`,children:`LE API host`}),(0,Y.jsx)(`p`,{className:`mt-0.5 truncate font-mono text-[10px] text-foreground/72`,children:a})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`p`,{className:`text-[10px] font-medium uppercase tracking-wide text-foreground/80`,children:K}),(0,Y.jsx)(`p`,{className:`mt-0.5 truncate font-mono text-[10px] text-foreground/72`,children:o}),(0,Y.jsx)(`p`,{className:`mt-1 text-[10px] leading-snug text-foreground/65`,children:q})]})]})]})}),R?(0,Y.jsxs)(P,{className:u(`flex cursor-pointer items-center gap-2 text-[11px] font-medium leading-snug`,R.disabled&&`pointer-events-none opacity-50`),children:[(0,Y.jsx)(`span`,{className:`shrink-0 pl-1`,children:(0,Y.jsx)(O,{checked:v,onCheckedChange:e=>b(e===!0),disabled:R.disabled})}),(0,Y.jsx)(`span`,{className:`min-w-0 flex-1 leading-snug`,children:M?`Dry run only — preview the plan without deploying`:`Dry run only — preview the plan without removing resources`})]}):null,F?(0,Y.jsxs)(`div`,{className:`space-y-2 pt-0.5`,children:[(0,Y.jsx)(P,{htmlFor:k,className:`text-[11px] font-medium`,children:`Device name`}),(0,Y.jsx)(ee,{id:k,value:x,onChange:e=>{S(e.target.value),w(null)},placeholder:c,autoComplete:`off`,spellCheck:!1,className:u(`h-9 font-mono text-xs`,C&&`border-destructive`),"aria-invalid":C!=null,"aria-describedby":`${k}-hint`}),(0,Y.jsx)(`p`,{id:`${k}-hint`,className:`text-[10px] leading-snug text-foreground/76`,children:`Same name on a later run updates this device; change it to add another.`}),C?(0,Y.jsx)(`p`,{className:`text-[10px] text-destructive`,children:C}):null]}):null,(0,Y.jsxs)(`div`,{className:`space-y-3 pb-0`,children:[(0,Y.jsx)(`p`,{className:`text-[11px] leading-relaxed text-foreground/76`,children:V}),(0,Y.jsxs)(`button`,{type:`button`,className:`flex w-full items-center justify-between gap-2 rounded-md bg-muted/40 px-3 py-2.5 text-left text-[11px] font-medium text-foreground transition-colors hover:bg-muted/60`,onClick:()=>_(e=>!e),"aria-expanded":g,children:[`Advanced`,(0,Y.jsx)(y,{className:u(`size-3.5 shrink-0 text-foreground/62 transition-transform duration-[320ms] ease-out`,g&&`rotate-180`),"aria-hidden":!0})]}),(0,Y.jsxs)(N.div,{initial:!1,animate:{maxHeight:g?400:0,opacity:+!!g},transition:{maxHeight:{duration:.32,ease:g?[.16,1,.3,1]:[.4,0,.2,1]},opacity:{duration:.32,ease:g?[.16,1,.3,1]:[.4,0,.2,1]}},className:u(`overflow-hidden pb-3`,!g&&`pointer-events-none`),"aria-hidden":!g,inert:!g,children:[(0,Y.jsx)(`div`,{className:`flex flex-col gap-1.5 pt-0.5`,children:p.map(e=>{let t=Object.entries(I).find(([t,n])=>n===e)?.[0],n=t!==void 0&&m.has(t);return(0,Y.jsxs)(P,{htmlFor:`scope-${e}`,className:u(`flex min-h-10 cursor-pointer items-center gap-2.5 rounded-md border border-border/40 bg-muted/10 px-3 py-2 text-[11px] transition-colors`,n?`opacity-95`:`hover:bg-muted/25`),children:[(0,Y.jsx)(O,{id:`scope-${e}`,checked:m.has(e),disabled:n,onCheckedChange:()=>L(e)}),(0,Y.jsx)(`span`,{className:`min-w-0 flex-1 leading-snug`,children:Ae[e]}),n?(0,Y.jsx)(`span`,{className:`shrink-0 rounded-sm border border-primary/35 bg-primary/10 px-1.5 py-px text-[9px] font-semibold uppercase tracking-wide text-primary`,title:`Required because DT instances is selected`,children:`Required`}):null]},e)})}),M&&(0,Y.jsxs)(`div`,{className:`mt-4 space-y-2 border-t border-border/40 pt-3`,children:[(0,Y.jsx)(`p`,{id:`${A}-legend`,className:`text-[10px] font-medium uppercase tracking-wide text-foreground/80`,children:`Collision policy`}),(0,Y.jsxs)(`div`,{role:`radiogroup`,"aria-labelledby":`${A}-legend`,className:`flex flex-col gap-1.5`,children:[(0,Y.jsxs)(P,{htmlFor:`if-unmanaged-fail`,className:u(`flex cursor-pointer items-start gap-2.5 rounded-md border px-3 py-2.5 text-[11px] transition-colors`,T===`fail`?`border-primary/45 bg-primary/8`:`border-border/40 bg-muted/10 hover:bg-muted/25`),children:[(0,Y.jsx)(`input`,{id:`if-unmanaged-fail`,type:`radio`,name:j,value:`fail`,checked:T===`fail`,onChange:()=>D(`fail`),className:`mt-0.5 size-3.5 shrink-0 accent-primary`}),(0,Y.jsxs)(`span`,{className:`min-w-0`,children:[(0,Y.jsx)(`span`,{className:`font-medium text-foreground`,children:`Fail if unmanaged exists`}),(0,Y.jsx)(`span`,{className:`mt-0.5 block text-[10px] leading-snug text-foreground/74`,children:`Stop if the target has unmanaged resources.`})]})]}),(0,Y.jsxs)(P,{htmlFor:`if-unmanaged-skip`,className:u(`flex cursor-pointer items-start gap-2.5 rounded-md border px-3 py-2.5 text-[11px] transition-colors`,T===`skip`?`border-primary/45 bg-primary/8`:`border-border/40 bg-muted/10 hover:bg-muted/25`),children:[(0,Y.jsx)(`input`,{id:`if-unmanaged-skip`,type:`radio`,name:j,value:`skip`,checked:T===`skip`,onChange:()=>D(`skip`),className:`mt-0.5 size-3.5 shrink-0 accent-primary`}),(0,Y.jsxs)(`span`,{className:`min-w-0`,children:[(0,Y.jsx)(`span`,{className:`font-medium text-foreground`,children:`Skip unmanaged resources`}),(0,Y.jsx)(`span`,{className:`mt-0.5 block text-[10px] leading-snug text-foreground/74`,children:`Only update resources managed by Miravo.`})]})]})]})]})]}),m.size===0&&!(v&&R)?(0,Y.jsx)(`p`,{className:`text-[10px] text-destructive`,children:`Select at least one scope or reopen to reset.`}):null]})]}),(0,Y.jsxs)(te,{className:`mx-0 mb-0 shrink-0 flex flex-col gap-2 border-t border-border/60 px-5 py-4 sm:flex-row sm:justify-end`,children:[(0,Y.jsx)(d,{type:`button`,variant:`outline`,onClick:()=>t(!1),children:`Cancel`}),(0,Y.jsx)(d,{type:`button`,variant:M||v&&f?`default`:`destructive`,onClick:oe,disabled:v&&R?R.disabled||R.planLoading:m.size===0,children:M?v&&l?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(B,{className:`size-3`,"aria-hidden":!0}),`Preview changes`]}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(E,{className:`size-3`,"aria-hidden":!0}),`Apply`]}):v&&f?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(B,{className:`size-3`,"aria-hidden":!0}),`Preview changes`]}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(H,{className:`size-3`,"aria-hidden":!0}),`Clean up`]})})]})]})})}var Ne={initial:{scale:0,opacity:0},animate:{scale:1,opacity:1,originY:0},exit:{scale:0,opacity:0},transition:{type:`spring`,stiffness:350,damping:40}},Pe={initial:{opacity:0,y:6},animate:{opacity:1,y:0},exit:{opacity:0,y:-4},transition:{type:`tween`,duration:.22,ease:[.16,1,.3,1]}};function X({children:e,variant:t=`default`}){let n=t===`default`;return(0,Y.jsx)(N.div,{...n?Ne:Pe,layout:n,className:`mx-auto w-full`,children:e})}var Fe=U.memo(({children:e,className:t,delay:n=1e3,...r})=>{let[i,a]=(0,U.useState)(0),o=(0,U.useMemo)(()=>U.Children.toArray(e),[e]);(0,U.useEffect)(()=>{let e=null;return i<o.length-1&&(e=setTimeout(()=>{a(e=>(e+1)%o.length)},n)),()=>{e!==null&&clearTimeout(e)}},[i,n,o.length]);let s=(0,U.useMemo)(()=>o.slice(0,i+1).reverse(),[i,o]);return(0,Y.jsx)(`div`,{className:u(`flex flex-col items-center gap-4`,t),...r,children:(0,Y.jsx)(j,{children:s.map(e=>(0,Y.jsx)(X,{children:e},e.key))})})});Fe.displayName=`AnimatedList`;function Z({type:e,errorMessage:t,className:n}){let r=e===`apply`?t?.toLowerCase()??``:``,i=e===`cleanup`?`Try cleanup again to resume.`:r.includes(`unmanaged device`)||r.includes(`unmanaged instance`)?`Update the collision policy, try apply again to resume, or clean up the created resources.`:`Try apply again to resume, or clean up the created resources.`;return(0,Y.jsxs)(`div`,{className:u(`flex items-start gap-1.5 rounded-md border border-info/40 bg-info/10 px-2.5 py-1.5 text-[10px] font-medium leading-relaxed`,n),children:[(0,Y.jsx)(T,{className:`mt-0.5 size-3 shrink-0 text-info`,"aria-hidden":!0}),(0,Y.jsx)(`p`,{className:`min-w-0 flex-1 text-left whitespace-normal break-words text-foreground/80 [overflow-wrap:anywhere]`,children:i})]})}var Q=`text-destructive hover:bg-destructive/25 hover:text-red-100 dark:text-red-300 dark:hover:bg-destructive/30 dark:hover:text-red-50`,Ie={device:`Devices`,tags:`Tags`,model:`Models`,instance:`Instances`,"param-sync":`Parameters`};function Le(e){return Ie[e]??e}function Re(e){switch(e){case`create`:return`border border-emerald-500/30 bg-emerald-500/15 text-emerald-800 dark:text-emerald-300`;case`update`:return`border border-blue-500/30 bg-blue-500/15 text-blue-800 dark:text-blue-300`;case`replace`:return`border border-amber-500/30 bg-amber-500/15 text-amber-800 dark:text-amber-300`;case`delete`:return`border border-red-500/30 bg-red-500/15 text-red-800 dark:text-red-300`;default:return`border border-border/50 bg-muted/80 text-foreground/85`}}function ze({status:e}){switch(e){case`success`:return(0,Y.jsx)(S,{className:`size-3.5 shrink-0 text-emerald-500`});case`failed`:return(0,Y.jsx)(x,{className:`size-3.5 shrink-0 text-destructive`});case`pending`:return(0,Y.jsx)(D,{className:`size-3.5 shrink-0 animate-spin text-primary/90`})}}function Be({status:e}){switch(e){case`done`:return(0,Y.jsx)(S,{className:`size-3.5 text-emerald-500`});case`active`:return(0,Y.jsx)(D,{className:`size-3.5 animate-spin text-primary`});case`pending`:return(0,Y.jsx)(z,{className:`size-3.5 text-foreground/55`})}}function Ve({entry:e}){let[t,n]=(0,U.useState)(!1);return(0,Y.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[(0,Y.jsxs)(`button`,{type:`button`,className:u(`flex items-center gap-2 rounded-md px-2 py-1 text-left transition-colors`,e.error?`cursor-pointer hover:bg-muted/40`:`cursor-default`),onClick:()=>e.error&&n(!t),disabled:!e.error,children:[(0,Y.jsx)(ze,{status:e.status}),(0,Y.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-[11px] text-foreground`,children:e.name}),(0,Y.jsx)(`span`,{className:u(`inline-flex rounded px-1.5 py-0.5 text-[9px] font-medium uppercase tracking-wider`,Re(e.action)),children:e.action}),e.error&&(0,Y.jsx)(y,{className:u(`size-3 text-foreground/75 transition-transform`,t&&`rotate-180`)})]}),(0,Y.jsx)(j,{initial:!1,children:t&&e.error&&(0,Y.jsxs)(N.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:`auto`},exit:{opacity:0,height:0},transition:{duration:.18},className:`overflow-hidden`,children:[(0,Y.jsxs)(`div`,{className:`mb-0 flex min-w-0 w-full items-center gap-1.5 rounded-md border border-destructive/40 bg-destructive/15 px-2.5 py-1.5 text-[10px] font-medium leading-relaxed`,children:[(0,Y.jsx)(`p`,{className:`min-w-0 flex-1 text-left whitespace-normal break-words text-destructive dark:text-red-300 [overflow-wrap:anywhere]`,children:e.error}),(0,Y.jsx)(C,{value:e.error,label:`Copy error`,className:u(Q,`shrink-0`)})]}),(0,Y.jsx)(Z,{type:`apply`,errorMessage:e.error,className:`mb-1 mt-2.5 w-full min-w-0`})]})})]})}function He({phase:e,open:t,onOpenChange:n}){let r=e.resources.length,i=r===e.total,a=e.resources.length>0;return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,Y.jsxs)(`button`,{type:`button`,className:u(`flex w-full items-center gap-2 rounded-md px-1 py-1 text-left transition-colors`,a&&`hover:bg-muted/40`,!a&&`cursor-default`),disabled:!a,"aria-expanded":a?t:void 0,onClick:()=>a&&n(!t),children:[(0,Y.jsx)(Be,{status:e.status}),(0,Y.jsx)(`span`,{className:`text-xs font-medium tracking-wide text-foreground`,children:Le(e.name)}),(0,Y.jsxs)(`span`,{className:`font-mono text-[10px] text-foreground/70`,children:[r,`/`,e.total]}),(0,Y.jsxs)(`span`,{className:`ml-auto flex shrink-0 items-center gap-1.5`,children:[i&&e.status===`done`&&(0,Y.jsx)(S,{className:`size-3 text-emerald-500`}),a&&(0,Y.jsx)(y,{className:u(`size-3 text-foreground/75 transition-transform`,!t&&`-rotate-90`),"aria-hidden":!0})]})]}),(0,Y.jsx)(j,{initial:!1,children:a&&t&&(0,Y.jsx)(N.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:`auto`},exit:{opacity:0,height:0},transition:{duration:.25,ease:[.16,1,.3,1]},className:`overflow-hidden`,children:(0,Y.jsx)(`div`,{className:`ml-2 flex min-w-0 flex-col border-l border-border/55 pl-2.5 pr-1.5 pb-1 pt-0.5`,children:(0,Y.jsx)(M.Provider,{value:null,children:e.resources.map((e,t)=>(0,Y.jsx)(X,{variant:`subtle`,children:(0,Y.jsx)(Ve,{entry:e})},`${e.name}-${t}`))})})})})]})}function Ue({operation:e}){let t=e.status===`complete`,n=e.status===`cancelled`,r=e.failed>0,i=e.totalPlanned>0?Math.min(100,(e.applied+e.failed)/e.totalPlanned*100):0;return(0,Y.jsx)(`div`,{className:`h-1 w-full overflow-hidden rounded-full bg-muted/55`,children:(0,Y.jsx)(N.div,{className:u(`h-full rounded-full transition-colors duration-500`,n?`bg-foreground/30`:t&&!r?`bg-emerald-500`:`bg-amber-500`),initial:{width:`0%`},animate:{width:`${i}%`},transition:{duration:.4,ease:[.25,.1,.25,1]}})})}function We(e){return e.duration==null?(Date.now()-e.startedAt)/1e3:e.duration/1e3}function Ge(e,t){let n=e.label;return t?.length?t.find(e=>e.id===n)?.name??n:n}function Ke({operation:e,sourceLabel:t,isAllExpanded:n,onToggleAll:r}){let i=We(e),a=e.applied+e.failed,o=e.status===`complete`,s=e.status===`cancelled`,c=e.status===`error`,l=e.failed>0;return(0,Y.jsxs)(`div`,{className:u(`sticky top-0 z-10 flex min-w-0 w-full flex-col gap-1.5 rounded-lg border px-3 pt-2.5 pb-3.5 backdrop-blur-sm transition-colors duration-500`,o&&!l&&`border-emerald-500/30 bg-emerald-500/5`,o&&l&&`border-amber-500/30 bg-amber-500/5`,s&&`border-border/60 bg-muted/50`,c&&`border-destructive/30 bg-destructive/5`,!o&&!s&&!c&&`border-amber-500/20 bg-amber-500/5`),children:[(0,Y.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1`,children:[(0,Y.jsx)(j,{mode:`wait`,initial:!1,children:o&&!l?(0,Y.jsx)(N.div,{initial:{scale:0,opacity:0},animate:{scale:1,opacity:1},exit:{scale:0,opacity:0},transition:{type:`spring`,stiffness:500,damping:30},className:`shrink-0`,children:(0,Y.jsx)(S,{className:`size-4 text-emerald-500`})},`complete`):o&&l?(0,Y.jsx)(N.div,{initial:{scale:0,opacity:0},animate:{scale:1,opacity:1},exit:{scale:0,opacity:0},transition:{type:`spring`,stiffness:500,damping:30},className:`shrink-0`,children:(0,Y.jsx)(R,{className:`size-4 text-amber-500`})},`partial`):s?(0,Y.jsx)(N.div,{initial:{scale:0,opacity:0},animate:{scale:1,opacity:1},exit:{scale:0,opacity:0},transition:{type:`spring`,stiffness:500,damping:30},className:`shrink-0`,children:(0,Y.jsx)(I,{className:`size-4 text-foreground/65`})},`cancelled`):c?(0,Y.jsx)(N.div,{initial:{scale:0,opacity:0},animate:{scale:1,opacity:1},exit:{scale:0,opacity:0},transition:{type:`spring`,stiffness:500,damping:30},className:`shrink-0`,children:(0,Y.jsx)(x,{className:`size-4 text-destructive`})},`error`):(0,Y.jsx)(N.div,{initial:{scale:0,opacity:0},animate:{scale:1,opacity:1},exit:{scale:0,opacity:0},transition:{type:`spring`,stiffness:500,damping:30},className:`shrink-0`,children:(0,Y.jsx)(D,{className:`size-4 animate-spin text-amber-500`})},`running`)}),(0,Y.jsx)(`span`,{className:`text-xs font-medium leading-none text-foreground`,children:s?`Cancelled`:o?l?`Completed with errors`:`Complete`:c?`Failed`:e.retryPending?`Failed, retrying attempt ${e.attempt?e.attempt+1:2}/${e.maxAttempts} in ${e.retryDelayMs?e.retryDelayMs/1e3:3}s...`:e.attempt&&e.maxAttempts&&e.attempt>1?`Retrying attempt ${e.attempt}/${e.maxAttempts}...`:e.type===`apply`?`Applying...`:`Cleaning up...`}),(0,Y.jsxs)(`span`,{className:`w-full min-w-0 text-[10px] leading-tight text-foreground/78`,children:[(0,Y.jsx)(`span`,{className:`font-sans break-words`,children:t}),(0,Y.jsx)(`span`,{className:`font-mono break-words`,children:` → ${e.environment}`})]})]}),(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2.5`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Y.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,Y.jsx)(F,{variant:`secondary`,className:`h-5 min-h-5 gap-0 overflow-hidden border border-border/50 bg-muted/70 px-1.5 !py-0 font-mono text-[10px] leading-none text-foreground shadow-sm [&>span]:inline-flex [&>span]:items-center`,children:(0,Y.jsxs)(`span`,{className:`gap-1`,children:[(0,Y.jsx)(j,{mode:`popLayout`,initial:!1,children:(0,Y.jsx)(N.span,{initial:{opacity:0,y:-6},animate:{opacity:1,y:0},exit:{opacity:0,y:6},transition:{type:`spring`,stiffness:500,damping:35},className:`inline tabular-nums`,children:a},a)}),`/`,e.totalPlanned,(0,Y.jsx)(`span`,{className:`text-foreground/72`,children:e.type===`apply`?`applied`:`deleted`})]})}),(0,Y.jsx)(j,{initial:!1,children:e.failed>0&&(0,Y.jsx)(N.div,{className:`inline-flex items-center`,initial:{opacity:0,scale:.8},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.8},transition:{type:`spring`,stiffness:500,damping:30},children:(0,Y.jsxs)(F,{variant:`destructive`,className:`h-5 min-h-5 gap-0 border border-destructive/35 bg-destructive/20 px-1.5 !py-0 font-mono text-[10px] font-semibold leading-none text-destructive dark:text-red-300`,children:[e.failed,` failed`]})})})]}),(0,Y.jsxs)(`div`,{className:`ml-auto flex shrink-0 items-center gap-2`,children:[(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1 font-mono text-[10px] leading-none text-foreground/75`,children:[(0,Y.jsx)(oe,{className:`size-3 shrink-0 block text-foreground/65`,"aria-hidden":!0}),(0,Y.jsx)(`span`,{className:`tabular-nums leading-none`,children:typeof i==`number`?`${i.toFixed(1)}s`:`...`})]}),r&&(0,Y.jsx)(`div`,{className:`flex items-center border-l border-border/40 pl-2`,children:(0,Y.jsx)(`button`,{type:`button`,onClick:r,className:`flex size-4.5 items-center justify-center rounded-sm text-foreground/55 transition-colors hover:bg-muted/60 hover:text-foreground`,"aria-label":n?`Collapse all phases`:`Expand all phases`,title:n?`Collapse all`:`Expand all`,children:(0,Y.jsx)(L,{className:u(`size-3.5 transition-transform duration-300`,!n&&`opacity-70 scale-y-[-1]`)})})})]})]}),(0,Y.jsx)(Ue,{operation:e})]})]})}function qe(e){return e?e.closest(`[data-edge-op-scroll]`)??e.closest(`.overflow-y-auto`):null}var Je=350;function $(e){e?.scrollIntoView({block:`end`,behavior:`auto`,inline:`nearest`})}function Ye(e){let t=()=>$(e);t(),requestAnimationFrame(t),requestAnimationFrame(()=>requestAnimationFrame(t)),window.setTimeout(t,0),window.setTimeout(t,48),window.setTimeout(t,120)}function Xe({operation:e,catalogTemplates:t}){let n=(0,U.useRef)(null),r=(0,U.useRef)(null),i=(0,U.useRef)(!0),a=(0,U.useRef)(e.status);a.current=e.status;let o=(0,U.useRef)(!1),[s,c]=(0,U.useState)(new Set),l=(0,U.useMemo)(()=>Ge(e,t),[e,t]);(0,U.useLayoutEffect)(()=>{let e=qe(n.current);if(!e)return;let t=()=>{i.current=e.scrollHeight-e.scrollTop-e.clientHeight<Je};return e.addEventListener(`scroll`,t,{passive:!0}),t(),()=>{e.removeEventListener(`scroll`,t)}},[]),(0,U.useLayoutEffect)(()=>{if(e.status===`running`){i.current&&$(r.current),o.current=!0;return}o.current&&=(Ye(r.current),!1)},[e.status,e.applied,e.failed,e.phases]),(0,U.useEffect)(()=>{if(e.status!==`running`)return;let t=n.current;if(!t)return;let o=0,s=new ResizeObserver(()=>{cancelAnimationFrame(o),o=requestAnimationFrame(()=>{a.current===`running`&&i.current&&$(r.current)})});return s.observe(t),i.current&&$(r.current),()=>{s.disconnect(),cancelAnimationFrame(o)}},[e.status]);let d=e.phases.length>0,f=s.size===0;return(0,Y.jsxs)(`div`,{ref:n,className:`flex min-w-0 w-full flex-col gap-2`,children:[(0,Y.jsx)(Ke,{operation:e,sourceLabel:l,isAllExpanded:f,onToggleAll:d?()=>{c(f?new Set(e.phases.map(e=>e.name)):new Set)}:void 0}),(0,Y.jsx)(`div`,{className:`flex flex-col gap-1 px-2 pt-2 pb-4`,children:e.phases.map(e=>(0,Y.jsx)(`div`,{children:(0,Y.jsx)(He,{phase:e,open:!s.has(e.name),onOpenChange:t=>{c(n=>{let r=new Set(n);return t?r.delete(e.name):r.add(e.name),r})}})},e.name))}),(0,Y.jsx)(j,{initial:!1,children:e.error&&e.retryPending&&(0,Y.jsxs)(N.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},exit:{opacity:0,y:10},className:`sticky bottom-2 z-20 mx-2 mt-auto mb-2 flex items-center gap-2 overflow-hidden rounded-lg border border-destructive/40 bg-destructive/15 px-3 py-2 text-xs font-medium text-destructive shadow-md backdrop-blur-md dark:text-red-300`,children:[(0,Y.jsx)(D,{className:`size-4 shrink-0 animate-spin`}),(0,Y.jsx)(`span`,{className:`truncate`,children:e.error})]})}),(0,Y.jsx)(j,{initial:!1,children:e.error&&e.status===`error`&&(0,Y.jsxs)(N.div,{initial:{opacity:0,height:0,marginTop:0},animate:{opacity:1,height:`auto`,marginTop:8},exit:{opacity:0,height:0,marginTop:0},transition:{duration:.2},className:`mx-2 mb-4 flex min-w-0 flex-col gap-0 overflow-hidden rounded-lg border border-destructive/40 bg-destructive/15 px-3 py-2 text-xs font-medium`,children:[(0,Y.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Y.jsx)(`p`,{className:`min-w-0 flex-1 text-left wrap-anywhere text-destructive dark:text-red-300`,children:e.error}),(0,Y.jsx)(C,{value:e.error,label:`Copy error`,className:u(Q,`shrink-0`)})]}),(0,Y.jsx)(Z,{type:e.type,errorMessage:e.error,className:`mt-3 w-full min-w-0`})]})}),(0,Y.jsx)(`div`,{ref:r,className:`h-px w-full shrink-0`,"aria-hidden":!0})]})}function Ze({format:e,kind:t}){return e===`source-yaml`?t===`model`?`Raw twin model definition. Edit locally, version-control, or use as input for the CLI.`:`Raw plant template with topology and namespace. Edit, share, or apply via CLI.`:e===`litmus-edge`?t===`model`?`Litmus Edge Digital Twin JSON for manual import via the LE UI or GraphQL API.`:`Litmus Edge template JSON (DeviceHub devices + Digital Twins). Import directly via the Litmus Edge UI.`:`Select a format to download.`}function Qe({children:e,className:t}){return(0,Y.jsx)(`div`,{className:u(`max-h-[min(36rem,75vh)] min-h-0 overflow-y-auto rounded-xl border border-border/60 p-4 sm:p-5`,t),children:e})}function $e({environments:e,value:t,onValueChange:n,size:r=`default`,disabled:i,className:a,onAddNew:o}){return(0,U.useEffect)(()=>{if(t||e.length===0)return;let r=e[0];r&&n(r.id)},[t,e,n]),e.length===0&&o?(0,Y.jsxs)(`button`,{type:`button`,className:`flex items-center gap-1.5 self-start text-[11px] text-primary hover:underline`,onClick:o,children:[(0,Y.jsx)(V,{className:`inline size-3`}),` Add environment`]}):(0,Y.jsxs)(v,{value:t,onValueChange:e=>e&&n(e),disabled:i,children:[(0,Y.jsx)(_,{size:r,className:u(`w-full`,r===`sm`&&`h-9! min-h-9 py-0`,r===`default`&&`h-auto! min-h-9 py-2 **:data-[slot=select-value]:line-clamp-none`,a),children:(0,Y.jsx)(p,{placeholder:`Select environment`,children:t=>{let n=e.find(e=>e.id===t);return n?r===`sm`?n.label:(0,Y.jsxs)(`span`,{className:`flex flex-col gap-0.5`,children:[(0,Y.jsx)(`span`,{className:`text-sm font-medium leading-tight`,children:n.label}),(0,Y.jsx)(`span`,{className:`font-mono text-[11px] leading-none text-muted-foreground`,children:n.hostname})]}):`Select environment`}})}),(0,Y.jsx)(g,{className:`p-1.5`,children:e.map(e=>(0,Y.jsx)(m,{value:e.id,className:`h-auto items-start gap-0 py-2.5 pr-8 pl-2.5`,children:(0,Y.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,Y.jsx)(`span`,{className:`text-sm font-medium leading-none`,children:e.label}),(0,Y.jsx)(`span`,{className:`truncate font-mono text-xs leading-none text-muted-foreground`,children:e.hostname})]})},e.id))})]})}function et({title:e,subtitle:t,footerAction:n,onDismiss:r,children:i}){return(0,U.useEffect)(()=>{function e(e){e.key===`Escape`&&r()}return window.addEventListener(`keydown`,e),()=>{window.removeEventListener(`keydown`,e)}},[r]),(0,Y.jsx)(N.div,{initial:{opacity:0,y:24},animate:{opacity:1,y:0},exit:{opacity:0,y:16},transition:{type:`spring`,stiffness:380,damping:30},className:`pointer-events-none fixed bottom-4 left-4 right-4 z-[60] sm:left-auto sm:w-full sm:max-w-md`,children:(0,Y.jsxs)(Qe,{className:`pointer-events-auto flex flex-col overflow-hidden border-border/70 bg-background p-0 shadow-lg shadow-black/15 ring-1 ring-border/50 backdrop-blur-sm sm:p-0 dark:bg-background dark:shadow-black/50`,children:[(0,Y.jsxs)(`div`,{className:`flex shrink-0 items-start gap-2 border-b border-border/45 p-2.5 pb-2 sm:p-3 sm:pb-2`,children:[(0,Y.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-2`,children:[(0,Y.jsx)(k,{className:`size-4 shrink-0 text-primary`,"aria-hidden":!0}),(0,Y.jsxs)(`div`,{className:`min-w-0`,children:[(0,Y.jsx)(`p`,{className:`font-heading text-xs font-semibold tracking-tight text-foreground`,children:e}),t?(0,Y.jsx)(`p`,{className:`text-[11px] leading-snug text-foreground/80`,children:t}):null]})]}),(0,Y.jsx)(d,{type:`button`,variant:`ghost`,size:`icon-xs`,className:`shrink-0 text-foreground/70 hover:bg-muted/80 hover:text-foreground`,onClick:r,"aria-label":`Dismiss operation panel`,children:(0,Y.jsx)(h,{className:`size-3.5`,"aria-hidden":!0})})]}),(0,Y.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-2.5 pt-2.5 sm:px-3 sm:pt-3`,"data-edge-op-scroll":``,children:i}),n?(0,Y.jsx)(`div`,{className:`flex w-full shrink-0 min-w-0 items-center gap-2 border-t border-border/40 bg-muted/15 p-2.5 sm:p-3`,children:n}):null]})})}function tt(e){return e.status===`running`?e.operation?e.operation.type===`apply`?`Apply`:`Cleanup`:`Connecting`:e.status===`error`?`Failed`:e.operation&&e.status===`complete`?e.operation.status===`cancelled`?`Cancelled`:`Complete`:null}function nt(e){let t=e.operation,n=t?.type===`apply`?`apply`:`cleanup`;switch(e.status){case`running`:return{title:`Operation in progress`,subtitle:`Streaming ${n} steps to Litmus Edge`};case`complete`:return t?.status===`cancelled`?{title:`Operation cancelled`,subtitle:`Stopped — resources created so far remain in Litmus Edge.`}:{title:`Operation complete`,subtitle:n===`apply`?`Apply finished — review the summary below.`:`Cleanup finished — review the summary below.`};case`error`:return{title:`Operation failed`,subtitle:e.error??t?.error??`The operation ended with an error.`};default:return{title:`Operation`,subtitle:``}}}function rt({stream:e,className:t}){let n=tt(e);if(!n)return null;let r=e.status===`running`,i=e.status===`error`,a=e.status===`complete`&&e.operation?.status===`cancelled`,o=e.status===`complete`&&!a;return(0,Y.jsxs)(`span`,{className:u(`inline-flex h-5 w-fit min-w-0 shrink-0 items-center justify-center gap-1 rounded-full border px-2 py-0`,`text-[10px] font-medium leading-none tracking-wide uppercase shadow-[inset_0_1px_0_0_rgba(255,255,255,0.05)]`,t,o&&`border-emerald-500/45 bg-emerald-500/[0.1] text-emerald-700 dark:border-emerald-400/40 dark:bg-emerald-400/[0.1] dark:text-emerald-300`,a&&`border-muted-foreground/30 bg-muted/[0.1] text-muted-foreground shadow-none`,i&&`border-destructive/50 bg-destructive/[0.1] text-destructive shadow-none`,r&&`border-primary/40 bg-primary/[0.1] text-primary dark:border-primary/35`),children:[o?(0,Y.jsx)(f,{className:`size-3 shrink-0 opacity-95`,strokeWidth:2.5,"aria-hidden":!0}):a?(0,Y.jsx)(I,{className:`size-3 shrink-0 opacity-95`,"aria-hidden":!0}):i?(0,Y.jsx)(A,{className:`size-3 shrink-0 opacity-95`,"aria-hidden":!0}):(0,Y.jsx)(D,{className:`size-3 shrink-0 animate-spin`,"aria-hidden":!0}),n]})}function it({className:e,orientation:t=`horizontal`,...n}){return(0,Y.jsx)(a,{"data-slot":`tabs`,"data-orientation":t,className:u(`group/tabs flex gap-2 data-horizontal:flex-col`,e),...n})}var at=l(`group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-horizontal/tabs:h-8 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none`,{variants:{variant:{default:`bg-muted`,line:`gap-0 border-b border-border/50 bg-transparent p-0 shadow-none group-data-horizontal/tabs:h-auto group-data-horizontal/tabs:min-h-8`}},defaultVariants:{variant:`default`}});function ot({className:e,variant:t=`default`,...n}){return(0,Y.jsx)(r,{"data-slot":`tabs-list`,"data-variant":t,className:u(at({variant:t}),e),...n})}function st({className:e,...t}){return(0,Y.jsx)(o,{"data-slot":`tabs-trigger`,className:u(`relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap text-muted-foreground transition-[color,box-shadow,transform] duration-200 ease-out group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,`group-data-[variant=line]/tabs-list:font-heading group-data-[variant=line]/tabs-list:tracking-tight group-data-[variant=line]/tabs-list:text-sm group-data-[variant=line]/tabs-list:text-muted-foreground group-data-[variant=line]/tabs-list:hover:text-foreground group-data-[variant=line]/tabs-list:data-active:font-semibold group-data-[variant=line]/tabs-list:data-active:text-foreground`,`group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent`,`group-data-[variant=line]/tabs-list:rounded-none group-data-[variant=line]/tabs-list:px-3 group-data-[variant=line]/tabs-list:py-2`,`data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground`,`after:pointer-events-none after:absolute after:bg-foreground after:opacity-0 after:transition-[opacity,transform] after:duration-300 after:ease-out group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5`,`group-data-[variant=line]/tabs-list:after:bg-primary group-data-horizontal/tabs:group-data-[variant=line]/tabs-list:after:bottom-0 group-data-horizontal/tabs:group-data-[variant=line]/tabs-list:after:h-[2px] group-data-horizontal/tabs:group-data-[variant=line]/tabs-list:after:rounded-sm group-data-[variant=line]/tabs-list:data-active:after:opacity-100 group-data-horizontal/tabs:group-data-[variant=line]/tabs-list:data-active:after:shadow-[0_0_14px_-3px_color-mix(in_srgb,var(--primary)_50%,transparent)]`,e),...t})}function ct({className:e,...t}){return(0,Y.jsx)(i,{"data-slot":`tabs-content`,className:u(`flex-1 text-sm outline-none py-2`,e),...t})}var lt={status:`idle`,operation:null,error:null};function ut(){let[e,t]=(0,U.useState)(lt),n=(0,U.useRef)(null),r=(0,U.useCallback)(e=>{t(t=>({...t,status:`error`,error:e.message,operation:t.operation?{...t.operation,status:`error`,error:e.message}:null}))},[]),i=(0,U.useCallback)(e=>{switch(e.event){case`started`:ft(e.data,t);break;case`phase`:pt(e.data,t);break;case`resource`:mt(e.data,t);break;case`complete`:ht(e.data,t);break;case`cancelled`:gt(e.data,t);break;case`retrying`:_t(e.data,t);break;case`error`:r(Error(e.data.message??`Operation failed`));break}},[r]),a=(0,U.useCallback)(e=>{n.current?.abort(),t({status:`running`,operation:null,error:null}),n.current=ye(e,i,r)},[i,r]),o=(0,U.useCallback)(e=>{n.current?.abort(),t({status:`running`,operation:null,error:null}),n.current=be(e,i,r)},[i,r]),s=(0,U.useCallback)(()=>{n.current?.abort(),n.current=null,t(lt)},[]),c=(0,U.useCallback)(async()=>{let t=e.operation?.operationId;t&&await ve(t)},[e.operation?.operationId]);return{...e,startApply:a,startCleanup:o,reset:s,cancel:c}}function dt(e){return(e.template??e.model)||(e.type===`cleanup`?`All managed resources`:`unknown`)}function ft(e,t){t(t=>({...t,status:`running`,error:null,operation:{operationId:e.operationId,type:e.type,label:dt(e),environment:e.environment,totalPlanned:e.totalPlanned,phases:[],applied:0,failed:0,status:`running`,startedAt:Date.now(),attempt:e.attempt,maxAttempts:e.maxAttempts}}))}function pt(e,t){t(t=>{if(!t.operation)return t;let n=t.operation.phases.map(e=>e.status===`active`?{...e,status:`done`}:e),r=n.findIndex(t=>t.name===e.phase),i=r>=0?n.map((t,n)=>n===r?{...t,status:`active`,total:e.total}:t):[...n,{name:e.phase,total:e.total,resources:[],status:`active`}];return{...t,operation:{...t.operation,phases:i}}})}function mt(e,t){t(t=>{if(!t.operation)return t;let n={name:e.name,action:e.action,status:e.status,error:e.error},r=t.operation.phases.map(t=>t.name===e.phase&&t.status===`active`?{...t,resources:[...t.resources,n]}:t);return{...t,operation:{...t.operation,phases:r,applied:t.operation.applied+ +(e.status===`success`),failed:t.operation.failed+ +(e.status===`failed`)}}})}function ht(e,t){t(t=>{if(!t.operation)return t;let n=t.operation.phases.map(e=>e.status===`active`?{...e,status:`done`}:e);return{...t,status:`complete`,error:null,operation:{...t.operation,phases:n,applied:e.applied??e.deleted??0,failed:e.failed,duration:e.duration,status:`complete`}}})}function gt(e,t){t(t=>{if(!t.operation)return t;let n=t.operation.phases.map(e=>e.status===`active`?{...e,status:`done`}:e);return{...t,status:`complete`,error:null,operation:{...t.operation,phases:n,applied:e.applied??e.deleted??0,failed:e.failed,duration:e.duration,status:`cancelled`}}})}function _t(e,t){t(t=>t.operation?{...t,status:`running`,error:null,operation:{...t.operation,status:`running`,retryPending:!0,retryDelayMs:e.delayMs,attempt:e.attempt,maxAttempts:e.maxAttempts,error:e.error}}:t)}export{ge as C,V as D,H as E,z as O,_e as S,fe as T,K as _,st as a,pe as b,et as c,Ze as d,Xe as f,q as g,De as h,ot as i,$e as l,Me as m,it as n,rt as o,Z as p,ct as r,nt as s,ut as t,Qe as u,Se as v,he as w,ue as x,de as y};