@vitejs/devtools 0.0.0-alpha.2 → 0.0.0-alpha.21

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.
@@ -1,19 +1,162 @@
1
- import { Fragment, computed, createBaseVNode, createBlock, createCommentVNode, createElementBlock, createVNode, defineComponent, defineCustomElement, markRaw, mergeModels, nextTick, normalizeClass, normalizeStyle, onMounted, onUnmounted, openBlock, reactive, ref, renderList, renderSlot, toDisplayString, toRefs as toRefs$1, toRefs$1 as toRefs, unref, useElementBounding, useEventListener, useModel, useScreenSafeArea, useTemplateRef, useWindowSize, vShow, watch, watchEffect, withCtx, withDirectives, withModifiers } from "../core-uTAXYiA1.js";
1
+ import { A as useTemplateRef, B as unref, C as defineComponent, D as openBlock, E as onUnmounted, F as markRaw, H as normalizeStyle, I as reactive, L as ref, M as watchEffect, N as withCtx, O as renderList, P as withDirectives, R as shallowRef, S as createVNode, T as onMounted, U as toDisplayString, V as normalizeClass, _ as createBaseVNode, a as BUILTIN_ENTRY_CLIENT_AUTH_NOTICE, b as createElementBlock, d as watchImmediate, f as defineCustomElement, g as computed, h as Fragment, j as watch, k as renderSlot, l as useScreenSafeArea, m as withModifiers, n as createDockEntryState, o as useElementBounding, p as vShow, r as useDocksEntries, s as useEventListener, t as DEFAULT_DOCK_PANEL_STORE, u as useWindowSize, v as createBlock, w as nextTick, x as createStaticVNode, y as createCommentVNode, z as toRefs } from "../docks-BuqYBItp.js";
2
+ import { FitAddon } from "@xterm/addon-fit";
3
+ import { Terminal } from "@xterm/xterm";
2
4
 
3
5
  //#region src/client/webcomponents/.generated/css.ts
4
- var css_default = "*{box-sizing:border-box;border-style:solid;border-width:0;border-color:var(--un-default-border-color,#e5e7eb)}:before{box-sizing:border-box;border-style:solid;border-width:0;border-color:var(--un-default-border-color,#e5e7eb)}:after{box-sizing:border-box;border-style:solid;border-width:0;border-color:var(--un-default-border-color,#e5e7eb)}:before{--un-content:\"\"}:after{--un-content:\"\"}html{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button{-webkit-appearance:button;background-color:transparent;background-image:none}[type=button]{-webkit-appearance:button;background-color:transparent;background-image:none}[type=reset]{-webkit-appearance:button;background-color:transparent;background-image:none}[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::placeholder{opacity:1;color:#9ca3af}textarea::placeholder{opacity:1;color:#9ca3af}button{cursor:pointer}[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--un-text-opacity:100%}.vite-devtools-resize-handle-horizontal{cursor:ns-resize;-webkit-border-radius:.375rem;border-radius:.375rem;height:10px;margin-top:-5px;margin-bottom:-5px;position:absolute;left:6px;right:6px}.vite-devtools-resize-handle-vertical{cursor:ew-resize;-webkit-border-radius:.375rem;border-radius:.375rem;width:10px;margin-left:-5px;margin-right:-5px;position:absolute;top:6px;bottom:0}.vite-devtools-resize-handle-corner{-webkit-border-radius:.375rem;border-radius:.375rem;width:14px;height:14px;margin:-6px;position:absolute}.vite-devtools-resize-handle{z-index:2147483645}.vite-devtools-resize-handle:hover{background-color:rgba(156,163,175,.1)}#vite-devtools-anchor{z-index:2147483645;box-sizing:border-box;transform-origin:50%;width:0;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:15px;position:fixed;transform:translate(-50%,-50%)rotate(0)}#vite-devtools-anchor #vite-devtools-dock-container{min-width:100px;height:44px;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}#vite-devtools-anchor.vite-devtools-vertical #vite-devtools-dock-container{transition:all .6s,max-width .6s,padding .5s,transform .4s,opacity .2s;transform:translate(-50%,-50%)rotate(90deg)}#vite-devtools-anchor #vite-devtools-dock{touch-action:none;user-select:none;--un-border-opacity:.13;border-width:1px;border-color:rgba(136,136,136,var(--un-border-opacity));--un-backdrop-blur:blur(5px);min-width:100%;height:100%;backdrop-filter:var(--un-backdrop-blur)var(--un-backdrop-brightness)var(--un-backdrop-contrast)var(--un-backdrop-grayscale)var(--un-backdrop-hue-rotate)var(--un-backdrop-invert)var(--un-backdrop-opacity)var(--un-backdrop-saturate)var(--un-backdrop-sepia);--un-text-opacity:1;color:rgba(255,255,255,var(--un-text-opacity));--un-shadow:var(--un-shadow-inset)0 1px 3px 0 var(--un-shadow-color,rgba(0,0,0,.1)),var(--un-shadow-inset)0 1px 2px -1px var(--un-shadow-color,rgba(0,0,0,.1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow);background-color:rgba(255,255,255,.75);-webkit-border-radius:9999px;border-radius:9999px;transition:all .6s,max-width .6s,padding .5s,transform .4s,opacity .2s}@media (prefers-color-scheme:dark){#vite-devtools-anchor #vite-devtools-dock{background-color:rgba(17,17,17,.75)}}#vite-devtools-anchor.vite-devtools-minimized #vite-devtools-dock{width:52px;height:8px;padding:2px 0}#vite-devtools-anchor:hover #vite-devtools-glowing{opacity:.6}#vite-devtools-anchor #vite-devtools-glowing{pointer-events:none;z-index:-1;opacity:0;--un-blur:blur(60px);width:160px;height:160px;filter:var(--un-blur)var(--un-brightness)var(--un-contrast)var(--un-drop-shadow)var(--un-grayscale)var(--un-hue-rotate)var(--un-invert)var(--un-saturate)var(--un-sepia);background-image:linear-gradient(45deg,#00dc82,#00dc82,#00dc82);-webkit-border-radius:9999px;border-radius:9999px;transition-property:all;transition-duration:1s;transition-timing-function:cubic-bezier(0,0,.2,1);position:absolute;top:0;left:0;transform:translate(-50%,-50%)}@media print{#vite-devtools-anchor{display:none}}*{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.container{width:100%}.border-base{--un-border-opacity:.13;border-color:rgba(136,136,136,var(--un-border-opacity))}.bg-glass{--un-backdrop-blur:blur(5px);backdrop-filter:var(--un-backdrop-blur)var(--un-backdrop-brightness)var(--un-backdrop-contrast)var(--un-backdrop-grayscale)var(--un-backdrop-hue-rotate)var(--un-backdrop-invert)var(--un-backdrop-opacity)var(--un-backdrop-saturate)var(--un-backdrop-sepia);background-color:rgba(255,255,255,.75)}@media (prefers-color-scheme:dark){.bg-glass{background-color:rgba(17,17,17,.75)}}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.absolute{position:absolute}.fixed{position:fixed}.inset-0{top:0;bottom:0;left:0;right:0}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}.top-0{top:0}.h-5{height:1.25rem}.h-full{height:100%}.w-5{width:1.25rem}.w-full{width:100%}.flex{display:flex}.rotate-270{--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-rotate:270deg;transform:translateX(var(--un-translate-x))translateY(var(--un-translate-y))translateZ(var(--un-translate-z))rotate(var(--un-rotate))rotateX(var(--un-rotate-x))rotateY(var(--un-rotate-y))rotateZ(var(--un-rotate-z))skewX(var(--un-skew-x))skewY(var(--un-skew-y))scaleX(var(--un-scale-x))scaleY(var(--un-scale-y))scaleZ(var(--un-scale-z))}.scale-120{--un-scale-x:1.2;--un-scale-y:1.2;transform:translateX(var(--un-translate-x))translateY(var(--un-translate-y))translateZ(var(--un-translate-z))rotate(var(--un-rotate))rotateX(var(--un-rotate-x))rotateY(var(--un-rotate-y))rotateZ(var(--un-rotate-z))skewX(var(--un-skew-x))skewY(var(--un-skew-y))scaleX(var(--un-scale-x))scaleY(var(--un-scale-y))scaleZ(var(--un-scale-z))}.hover\\:scale-120:hover{--un-scale-x:1.2;--un-scale-y:1.2;transform:translateX(var(--un-translate-x))translateY(var(--un-translate-y))translateZ(var(--un-translate-z))rotate(var(--un-rotate))rotateX(var(--un-rotate-x))rotateY(var(--un-rotate-y))rotateZ(var(--un-rotate-z))skewX(var(--un-skew-x))skewY(var(--un-skew-y))scaleX(var(--un-scale-x))scaleY(var(--un-scale-y))scaleZ(var(--un-scale-z))}.transform{transform:translateX(var(--un-translate-x))translateY(var(--un-translate-y))translateZ(var(--un-translate-z))rotate(var(--un-rotate))rotateX(var(--un-rotate-x))rotateY(var(--un-rotate-y))rotateZ(var(--un-rotate-z))skewX(var(--un-skew-x))skewY(var(--un-skew-y))scaleX(var(--un-scale-x))scaleY(var(--un-scale-y))scaleZ(var(--un-scale-z))}.select-none{user-select:none}.resize{resize:both}.items-center{align-items:center}.justify-center{justify-content:center}.border{border-width:1px}.rounded{-webkit-border-radius:.25rem;border-radius:.25rem}.rounded-lg{-webkit-border-radius:.5rem;border-radius:.5rem}.rounded-xl{-webkit-border-radius:.75rem;border-radius:.75rem}.hover\\:bg-\\[\\#8881\\]:hover{--un-bg-opacity:.07;background-color:rgba(136,136,136,var(--un-bg-opacity))}.p1\\.5{padding:.375rem}.px{padding-left:1rem;padding-right:1rem}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.op50{opacity:.5}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow{--un-shadow:var(--un-shadow-inset)0 1px 3px 0 var(--un-shadow-color,rgba(0,0,0,.1)),var(--un-shadow-inset)0 1px 2px -1px var(--un-shadow-color,rgba(0,0,0,.1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.saturate-0{--un-saturate:saturate(0);filter:var(--un-blur)var(--un-brightness)var(--un-contrast)var(--un-drop-shadow)var(--un-grayscale)var(--un-hue-rotate)var(--un-invert)var(--un-saturate)var(--un-sepia)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}";
6
+ var css_default = "*{box-sizing:border-box;border-style:solid;border-width:0;border-color:var(--un-default-border-color,#e5e7eb)}:before{box-sizing:border-box;border-style:solid;border-width:0;border-color:var(--un-default-border-color,#e5e7eb)}:after{box-sizing:border-box;border-style:solid;border-width:0;border-color:var(--un-default-border-color,#e5e7eb)}:before{--un-content:\"\"}:after{--un-content:\"\"}html{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button{-webkit-appearance:button;background-color:transparent;background-image:none}[type=button]{-webkit-appearance:button;background-color:transparent;background-image:none}[type=reset]{-webkit-appearance:button;background-color:transparent;background-image:none}[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::placeholder{opacity:1;color:#9ca3af}textarea::placeholder{opacity:1;color:#9ca3af}button{cursor:pointer}[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.xterm{cursor:text;user-select:none;position:relative}.xterm.focus{outline:none}.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;top:0;bottom:0;left:0;right:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-message{z-index:10;color:transparent;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.xterm .xterm-accessibility:not(.debug){z-index:10;color:transparent;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:transparent}.xterm .xterm-accessibility-tree{user-select:text;white-space:pre}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:underline double}.xterm-underline-3{text-decoration:underline wavy}.xterm-underline-4{text-decoration:underline dotted}.xterm-underline-5{text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}:root{--un-text-opacity:100%}#vite-devtools-anchor{z-index:2147483644;box-sizing:border-box;transform-origin:50%;width:0;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:15px;position:fixed;transform:translate(-50%,-50%)rotate(0)}#vite-devtools-anchor #vite-devtools-dock-container{width:max-content;min-width:100px;height:40px;display:flex;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}#vite-devtools-anchor.vite-devtools-vertical #vite-devtools-dock-container{transition-property:all;transition-duration:.5s;transition-timing-function:cubic-bezier(.4,0,.2,1);transform:translate(-50%,-50%)rotate(90deg)}#vite-devtools-anchor #vite-devtools-dock{touch-action:none;user-select:none;--vdt-backdrop-blur:blur(7px);height:40px;backdrop-filter:var(--vdt-backdrop-blur)var(--vdt-backdrop-brightness)var(--vdt-backdrop-contrast)var(--vdt-backdrop-grayscale)var(--vdt-backdrop-hue-rotate)var(--vdt-backdrop-invert)var(--vdt-backdrop-opacity)var(--vdt-backdrop-saturate)var(--vdt-backdrop-sepia);--vdt-text-opacity:1;color:rgba(255,255,255,var(--vdt-text-opacity));--vdt-shadow:var(--vdt-shadow-inset)0 1px 3px 0 var(--vdt-shadow-color,rgba(0,0,0,.1)),var(--vdt-shadow-inset)0 1px 2px -1px var(--vdt-shadow-color,rgba(0,0,0,.1));box-shadow:var(--vdt-ring-offset-shadow),var(--vdt-ring-shadow),var(--vdt-shadow);width:calc-size(max-content,size);background-color:rgba(255,255,255,.5);-webkit-border-radius:9999px;border-radius:9999px;margin:auto;transition-property:all;transition-duration:.5s;transition-timing-function:cubic-bezier(.4,0,.2,1)}@media (prefers-color-scheme:dark){#vite-devtools-anchor #vite-devtools-dock{background-color:rgba(17,17,17,.5)}}#vite-devtools-anchor.vite-devtools-minimized #vite-devtools-dock{width:22px;height:22px;padding:2px 0}#vite-devtools-anchor.vite-devtools-minimized .vite-devtools-dock-bracket{opacity:.5;width:.375rem}#vite-devtools-anchor:hover #vite-devtools-glowing{opacity:.6}#vite-devtools-anchor #vite-devtools-glowing{pointer-events:none;z-index:-1;opacity:0;--vdt-blur:blur(60px);width:160px;height:160px;filter:var(--vdt-blur)var(--vdt-brightness)var(--vdt-contrast)var(--vdt-drop-shadow)var(--vdt-grayscale)var(--vdt-hue-rotate)var(--vdt-invert)var(--vdt-saturate)var(--vdt-sepia);background-image:linear-gradient(45deg,#61d9ff,#7a23a1,#715ebd);-webkit-border-radius:9999px;border-radius:9999px;transition-property:all;transition-duration:1s;transition-timing-function:cubic-bezier(0,0,.2,1);position:absolute;top:0;left:0;transform:translate(-50%,-50%)}@media print{#vite-devtools-anchor{display:none}}.vite-devtools-resize-handle-horizontal{cursor:ns-resize;-webkit-border-radius:.375rem;border-radius:.375rem;height:10px;margin-top:-5px;margin-bottom:-5px;position:absolute;left:6px;right:6px}.vite-devtools-resize-handle-vertical{cursor:ew-resize;-webkit-border-radius:.375rem;border-radius:.375rem;width:10px;margin-left:-5px;margin-right:-5px;position:absolute;top:6px;bottom:0}.vite-devtools-resize-handle-corner{-webkit-border-radius:.375rem;border-radius:.375rem;width:14px;height:14px;margin:-6px;position:absolute}.vite-devtools-resize-handle{z-index:30}.vite-devtools-resize-handle:hover{background-color:rgba(156,163,175,.1)}*{--vdt-rotate:0;--vdt-rotate-x:0;--vdt-rotate-y:0;--vdt-rotate-z:0;--vdt-scale-x:1;--vdt-scale-y:1;--vdt-scale-z:1;--vdt-skew-x:0;--vdt-skew-y:0;--vdt-translate-x:0;--vdt-translate-y:0;--vdt-translate-z:0;--vdt-pan-x: ;--vdt-pan-y: ;--vdt-pinch-zoom: ;--vdt-scroll-snap-strictness:proximity;--vdt-ordinal: ;--vdt-slashed-zero: ;--vdt-numeric-figure: ;--vdt-numeric-spacing: ;--vdt-numeric-fraction: ;--vdt-border-spacing-x:0;--vdt-border-spacing-y:0;--vdt-ring-offset-shadow:0 0 transparent;--vdt-ring-shadow:0 0 transparent;--vdt-shadow-inset: ;--vdt-shadow:0 0 transparent;--vdt-ring-inset: ;--vdt-ring-offset-width:0px;--vdt-ring-offset-color:#fff;--vdt-ring-width:0px;--vdt-ring-color:rgba(147,197,253,.5);--vdt-blur: ;--vdt-brightness: ;--vdt-contrast: ;--vdt-drop-shadow: ;--vdt-grayscale: ;--vdt-hue-rotate: ;--vdt-invert: ;--vdt-saturate: ;--vdt-sepia: ;--vdt-backdrop-blur: ;--vdt-backdrop-brightness: ;--vdt-backdrop-contrast: ;--vdt-backdrop-grayscale: ;--vdt-backdrop-hue-rotate: ;--vdt-backdrop-invert: ;--vdt-backdrop-opacity: ;--vdt-backdrop-saturate: ;--vdt-backdrop-sepia: }:before{--vdt-rotate:0;--vdt-rotate-x:0;--vdt-rotate-y:0;--vdt-rotate-z:0;--vdt-scale-x:1;--vdt-scale-y:1;--vdt-scale-z:1;--vdt-skew-x:0;--vdt-skew-y:0;--vdt-translate-x:0;--vdt-translate-y:0;--vdt-translate-z:0;--vdt-pan-x: ;--vdt-pan-y: ;--vdt-pinch-zoom: ;--vdt-scroll-snap-strictness:proximity;--vdt-ordinal: ;--vdt-slashed-zero: ;--vdt-numeric-figure: ;--vdt-numeric-spacing: ;--vdt-numeric-fraction: ;--vdt-border-spacing-x:0;--vdt-border-spacing-y:0;--vdt-ring-offset-shadow:0 0 transparent;--vdt-ring-shadow:0 0 transparent;--vdt-shadow-inset: ;--vdt-shadow:0 0 transparent;--vdt-ring-inset: ;--vdt-ring-offset-width:0px;--vdt-ring-offset-color:#fff;--vdt-ring-width:0px;--vdt-ring-color:rgba(147,197,253,.5);--vdt-blur: ;--vdt-brightness: ;--vdt-contrast: ;--vdt-drop-shadow: ;--vdt-grayscale: ;--vdt-hue-rotate: ;--vdt-invert: ;--vdt-saturate: ;--vdt-sepia: ;--vdt-backdrop-blur: ;--vdt-backdrop-brightness: ;--vdt-backdrop-contrast: ;--vdt-backdrop-grayscale: ;--vdt-backdrop-hue-rotate: ;--vdt-backdrop-invert: ;--vdt-backdrop-opacity: ;--vdt-backdrop-saturate: ;--vdt-backdrop-sepia: }:after{--vdt-rotate:0;--vdt-rotate-x:0;--vdt-rotate-y:0;--vdt-rotate-z:0;--vdt-scale-x:1;--vdt-scale-y:1;--vdt-scale-z:1;--vdt-skew-x:0;--vdt-skew-y:0;--vdt-translate-x:0;--vdt-translate-y:0;--vdt-translate-z:0;--vdt-pan-x: ;--vdt-pan-y: ;--vdt-pinch-zoom: ;--vdt-scroll-snap-strictness:proximity;--vdt-ordinal: ;--vdt-slashed-zero: ;--vdt-numeric-figure: ;--vdt-numeric-spacing: ;--vdt-numeric-fraction: ;--vdt-border-spacing-x:0;--vdt-border-spacing-y:0;--vdt-ring-offset-shadow:0 0 transparent;--vdt-ring-shadow:0 0 transparent;--vdt-shadow-inset: ;--vdt-shadow:0 0 transparent;--vdt-ring-inset: ;--vdt-ring-offset-width:0px;--vdt-ring-offset-color:#fff;--vdt-ring-width:0px;--vdt-ring-color:rgba(147,197,253,.5);--vdt-blur: ;--vdt-brightness: ;--vdt-contrast: ;--vdt-drop-shadow: ;--vdt-grayscale: ;--vdt-hue-rotate: ;--vdt-invert: ;--vdt-saturate: ;--vdt-sepia: ;--vdt-backdrop-blur: ;--vdt-backdrop-brightness: ;--vdt-backdrop-contrast: ;--vdt-backdrop-grayscale: ;--vdt-backdrop-hue-rotate: ;--vdt-backdrop-invert: ;--vdt-backdrop-opacity: ;--vdt-backdrop-saturate: ;--vdt-backdrop-sepia: }::backdrop{--vdt-rotate:0;--vdt-rotate-x:0;--vdt-rotate-y:0;--vdt-rotate-z:0;--vdt-scale-x:1;--vdt-scale-y:1;--vdt-scale-z:1;--vdt-skew-x:0;--vdt-skew-y:0;--vdt-translate-x:0;--vdt-translate-y:0;--vdt-translate-z:0;--vdt-pan-x: ;--vdt-pan-y: ;--vdt-pinch-zoom: ;--vdt-scroll-snap-strictness:proximity;--vdt-ordinal: ;--vdt-slashed-zero: ;--vdt-numeric-figure: ;--vdt-numeric-spacing: ;--vdt-numeric-fraction: ;--vdt-border-spacing-x:0;--vdt-border-spacing-y:0;--vdt-ring-offset-shadow:0 0 transparent;--vdt-ring-shadow:0 0 transparent;--vdt-shadow-inset: ;--vdt-shadow:0 0 transparent;--vdt-ring-inset: ;--vdt-ring-offset-width:0px;--vdt-ring-offset-color:#fff;--vdt-ring-width:0px;--vdt-ring-color:rgba(147,197,253,.5);--vdt-blur: ;--vdt-brightness: ;--vdt-contrast: ;--vdt-drop-shadow: ;--vdt-grayscale: ;--vdt-hue-rotate: ;--vdt-invert: ;--vdt-saturate: ;--vdt-sepia: ;--vdt-backdrop-blur: ;--vdt-backdrop-brightness: ;--vdt-backdrop-contrast: ;--vdt-backdrop-grayscale: ;--vdt-backdrop-hue-rotate: ;--vdt-backdrop-invert: ;--vdt-backdrop-opacity: ;--vdt-backdrop-saturate: ;--vdt-backdrop-sepia: }.i-carbon-clean{--vdt-icon:url(\"data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M26 20h-6v-2h6zm4 8h-6v-2h6zm-2-4h-6v-2h6z'/%3E%3Cpath fill='currentColor' d='M17.003 20a4.9 4.9 0 0 0-2.404-4.173L22 3l-1.73-1l-7.577 13.126a5.7 5.7 0 0 0-5.243 1.503C3.706 20.24 3.996 28.682 4.01 29.04a1 1 0 0 0 1 .96h14.991a1 1 0 0 0 .6-1.8c-3.54-2.656-3.598-8.146-3.598-8.2m-5.073-3.003A3.11 3.11 0 0 1 15.004 20c0 .038.002.208.017.469l-5.9-2.624a3.8 3.8 0 0 1 2.809-.848M15.45 28A5.2 5.2 0 0 1 14 25h-2a6.5 6.5 0 0 0 .968 3h-2.223A16.6 16.6 0 0 1 10 24H8a17.3 17.3 0 0 0 .665 4H6c.031-1.836.29-5.892 1.803-8.553l7.533 3.35A13 13 0 0 0 17.596 28Z'/%3E%3C/svg%3E\");-webkit-mask:var(--vdt-icon)no-repeat;mask:var(--vdt-icon)no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;mask-size:100% 100%}.i-fluent-emoji-flat-warning{background:url(\"data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='none'%3E%3Cpath fill='%23FFB02E' d='m14.839 5.668l-12.66 21.93c-.51.89.13 2.01 1.16 2.01h25.32c1.03 0 1.67-1.11 1.16-2.01l-12.66-21.93c-.52-.89-1.8-.89-2.32 0'/%3E%3Cpath fill='%23000' d='M14.599 21.498a1.4 1.4 0 1 0 2.8-.01v-9.16c0-.77-.62-1.4-1.4-1.4c-.77 0-1.4.62-1.4 1.4zm2.8 3.98a1.4 1.4 0 1 1-2.8 0a1.4 1.4 0 0 1 2.8 0'/%3E%3C/g%3E%3C/svg%3E\") 0 0/100% 100% no-repeat;width:1em;height:1em}.i-ph-check-duotone{--vdt-icon:url(\"data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='M232 56v144a16 16 0 0 1-16 16H40a16 16 0 0 1-16-16V56a16 16 0 0 1 16-16h176a16 16 0 0 1 16 16' opacity='.2'/%3E%3Cpath d='m205.66 85.66l-96 96a8 8 0 0 1-11.32 0l-40-40a8 8 0 0 1 11.32-11.32L104 164.69l90.34-90.35a8 8 0 0 1 11.32 11.32'/%3E%3C/g%3E%3C/svg%3E\");-webkit-mask:var(--vdt-icon)no-repeat;mask:var(--vdt-icon)no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;mask-size:100% 100%}.i-ph-rocket-launch-duotone{--vdt-icon:url(\"data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='M184 120v61.65a8 8 0 0 1-2.34 5.65l-34.35 34.35a8 8 0 0 1-13.57-4.53L128 176Zm-48-48H74.35a8 8 0 0 0-5.65 2.34l-34.35 34.35a8 8 0 0 0 4.53 13.57L80 128ZM40 216c37.65 0 50.69-19.69 54.56-28.18l-26.38-26.38C59.69 165.31 40 178.35 40 216' opacity='.2'/%3E%3Cpath d='M223.85 47.12a16 16 0 0 0-15-15c-12.58-.75-44.73.4-71.41 27.07L132.69 64H74.36A15.9 15.9 0 0 0 63 68.68L28.7 103a16 16 0 0 0 9.07 27.16l38.47 5.37l44.21 44.21l5.37 38.49a15.94 15.94 0 0 0 10.78 12.92a16.1 16.1 0 0 0 5.1.83a15.9 15.9 0 0 0 11.3-4.68l34.32-34.3a15.9 15.9 0 0 0 4.68-11.36v-58.33l4.77-4.77c26.68-26.68 27.83-58.83 27.08-71.42M74.36 80h42.33l-39.53 39.52L40 114.34Zm74.41-9.45a76.65 76.65 0 0 1 59.11-22.47a76.46 76.46 0 0 1-22.42 59.16L128 164.68L91.32 128ZM176 181.64L141.67 216l-5.19-37.17L176 139.31Zm-74.16 9.5C97.34 201 82.29 224 40 224a8 8 0 0 1-8-8c0-42.29 23-57.34 32.86-61.85a8 8 0 0 1 6.64 14.56c-6.43 2.93-20.62 12.36-23.12 38.91c26.55-2.5 36-16.69 38.91-23.12a8 8 0 1 1 14.56 6.64Z'/%3E%3C/g%3E%3C/svg%3E\");-webkit-mask:var(--vdt-icon)no-repeat;mask:var(--vdt-icon)no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;mask-size:100% 100%}.i-ph-warning-duotone{--vdt-icon:url(\"data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='M215.46 216H40.54c-12.62 0-20.54-13.21-14.41-23.91l87.46-151.87c6.3-11 22.52-11 28.82 0l87.46 151.87c6.13 10.7-1.79 23.91-14.41 23.91' opacity='.2'/%3E%3Cpath d='M236.8 188.09L149.35 36.22a24.76 24.76 0 0 0-42.7 0L19.2 188.09a23.51 23.51 0 0 0 0 23.72A24.35 24.35 0 0 0 40.55 224h174.9a24.35 24.35 0 0 0 21.33-12.19a23.51 23.51 0 0 0 .02-23.72m-13.87 15.71a8.5 8.5 0 0 1-7.48 4.2H40.55a8.5 8.5 0 0 1-7.48-4.2a7.59 7.59 0 0 1 0-7.72l87.45-151.87a8.75 8.75 0 0 1 15 0l87.45 151.87a7.59 7.59 0 0 1-.04 7.72M120 144v-40a8 8 0 0 1 16 0v40a8 8 0 0 1-16 0m20 36a12 12 0 1 1-12-12a12 12 0 0 1 12 12'/%3E%3C/g%3E%3C/svg%3E\");-webkit-mask:var(--vdt-icon)no-repeat;mask:var(--vdt-icon)no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;mask-size:100% 100%}.i-svg-spinners-8-dots-rotate{--vdt-icon:url(\"data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg%3E%3Ccircle cx='3' cy='12' r='2' fill='currentColor'/%3E%3Ccircle cx='21' cy='12' r='2' fill='currentColor'/%3E%3Ccircle cx='12' cy='21' r='2' fill='currentColor'/%3E%3Ccircle cx='12' cy='3' r='2' fill='currentColor'/%3E%3Ccircle cx='5.64' cy='5.64' r='2' fill='currentColor'/%3E%3Ccircle cx='18.36' cy='18.36' r='2' fill='currentColor'/%3E%3Ccircle cx='5.64' cy='18.36' r='2' fill='currentColor'/%3E%3Ccircle cx='18.36' cy='5.64' r='2' fill='currentColor'/%3E%3CanimateTransform attributeName='transform' dur='1.5s' repeatCount='indefinite' type='rotate' values='0 12 12;360 12 12'/%3E%3C/g%3E%3C/svg%3E\");-webkit-mask:var(--vdt-icon)no-repeat;mask:var(--vdt-icon)no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;mask-size:100% 100%}.container{width:100%}.z-floating-tooltip{z-index:2147483645}.border-base{--vdt-border-opacity:.13;border-color:rgba(136,136,136,var(--vdt-border-opacity))}.bg-active{--vdt-bg-opacity:.07;background-color:rgba(136,136,136,var(--vdt-bg-opacity))}.bg-glass{--vdt-backdrop-blur:blur(7px);backdrop-filter:var(--vdt-backdrop-blur)var(--vdt-backdrop-brightness)var(--vdt-backdrop-contrast)var(--vdt-backdrop-grayscale)var(--vdt-backdrop-hue-rotate)var(--vdt-backdrop-invert)var(--vdt-backdrop-opacity)var(--vdt-backdrop-saturate)var(--vdt-backdrop-sepia);background-color:rgba(255,255,255,.5)}.bg-glass\\:75{--vdt-backdrop-blur:blur(7px);backdrop-filter:var(--vdt-backdrop-blur)var(--vdt-backdrop-brightness)var(--vdt-backdrop-contrast)var(--vdt-backdrop-grayscale)var(--vdt-backdrop-hue-rotate)var(--vdt-backdrop-invert)var(--vdt-backdrop-opacity)var(--vdt-backdrop-saturate)var(--vdt-backdrop-sepia);background-color:rgba(255,255,255,.75)}.hover\\:bg-active:hover{--vdt-bg-opacity:.07;background-color:rgba(136,136,136,var(--vdt-bg-opacity))}@media (prefers-color-scheme:dark){.bg-glass{background-color:rgba(17,17,17,.5)}.bg-glass\\:75{background-color:rgba(17,17,17,.75)}}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.disabled\\:pointer-events-none:disabled{pointer-events:none}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{top:0;bottom:0;left:0;right:0}.bottom-0{bottom:0}.left--1{left:-.25rem}.left-1\\/2{left:50%}.right--1{right:-.25rem}.right--1px{right:-1px}.top-1\\/2{top:50%}.z--1{z-index:-1}.grid{display:grid}.grid-rows-\\[max-content_1fr\\]{grid-template-rows:max-content 1fr}.m-auto{margin:auto}.mb2{margin-bottom:.5rem}.mt8{margin-top:2rem}.h-1\\.5{height:.375rem}.h-10{height:2.5rem}.h-20{height:5rem}.h-3{height:.75rem}.h-5{height:1.25rem}.h-full{height:100%}.max-w-150{max-width:37.5rem}.w-1\\.5{width:.375rem}.w-10{width:2.5rem}.w-2\\.5{width:.625rem}.w-20{width:5rem}.w-3{width:.75rem}.w-5{width:1.25rem}.w-full{width:100%}.w-max{width:max-content}.flex{display:flex}.flex-none{flex:none}.flex-col{flex-direction:column}.translate-x--1\\/2{--vdt-translate-x:-50%;transform:translateX(var(--vdt-translate-x))translateY(var(--vdt-translate-y))translateZ(var(--vdt-translate-z))rotate(var(--vdt-rotate))rotateX(var(--vdt-rotate-x))rotateY(var(--vdt-rotate-y))rotateZ(var(--vdt-rotate-z))skewX(var(--vdt-skew-x))skewY(var(--vdt-skew-y))scaleX(var(--vdt-scale-x))scaleY(var(--vdt-scale-y))scaleZ(var(--vdt-scale-z))}.translate-y--1\\/2{--vdt-translate-y:-50%;transform:translateX(var(--vdt-translate-x))translateY(var(--vdt-translate-y))translateZ(var(--vdt-translate-z))rotate(var(--vdt-rotate))rotateX(var(--vdt-rotate-x))rotateY(var(--vdt-rotate-y))rotateZ(var(--vdt-rotate-z))skewX(var(--vdt-skew-x))skewY(var(--vdt-skew-y))scaleX(var(--vdt-scale-x))scaleY(var(--vdt-scale-y))scaleZ(var(--vdt-scale-z))}.rotate-0{--vdt-rotate-x:0;--vdt-rotate-y:0;--vdt-rotate-z:0;--vdt-rotate:0deg;transform:translateX(var(--vdt-translate-x))translateY(var(--vdt-translate-y))translateZ(var(--vdt-translate-z))rotate(var(--vdt-rotate))rotateX(var(--vdt-rotate-x))rotateY(var(--vdt-rotate-y))rotateZ(var(--vdt-rotate-z))skewX(var(--vdt-skew-x))skewY(var(--vdt-skew-y))scaleX(var(--vdt-scale-x))scaleY(var(--vdt-scale-y))scaleZ(var(--vdt-scale-z))}.rotate-270{--vdt-rotate-x:0;--vdt-rotate-y:0;--vdt-rotate-z:0;--vdt-rotate:270deg;transform:translateX(var(--vdt-translate-x))translateY(var(--vdt-translate-y))translateZ(var(--vdt-translate-z))rotate(var(--vdt-rotate))rotateX(var(--vdt-rotate-x))rotateY(var(--vdt-rotate-y))rotateZ(var(--vdt-rotate-z))skewX(var(--vdt-skew-x))skewY(var(--vdt-skew-y))scaleX(var(--vdt-scale-x))scaleY(var(--vdt-scale-y))scaleZ(var(--vdt-scale-z))}.scale-120{--vdt-scale-x:1.2;--vdt-scale-y:1.2;transform:translateX(var(--vdt-translate-x))translateY(var(--vdt-translate-y))translateZ(var(--vdt-translate-z))rotate(var(--vdt-rotate))rotateX(var(--vdt-rotate-x))rotateY(var(--vdt-rotate-y))rotateZ(var(--vdt-rotate-z))skewX(var(--vdt-skew-x))skewY(var(--vdt-skew-y))scaleX(var(--vdt-scale-x))scaleY(var(--vdt-scale-y))scaleZ(var(--vdt-scale-z))}.hover\\:scale-120:hover{--vdt-scale-x:1.2;--vdt-scale-y:1.2;transform:translateX(var(--vdt-translate-x))translateY(var(--vdt-translate-y))translateZ(var(--vdt-translate-z))rotate(var(--vdt-rotate))rotateX(var(--vdt-rotate-x))rotateY(var(--vdt-rotate-y))rotateZ(var(--vdt-rotate-z))skewX(var(--vdt-skew-x))skewY(var(--vdt-skew-y))scaleX(var(--vdt-scale-x))scaleY(var(--vdt-scale-y))scaleZ(var(--vdt-scale-z))}.scale-y--100{--vdt-scale-y:-1;transform:translateX(var(--vdt-translate-x))translateY(var(--vdt-translate-y))translateZ(var(--vdt-translate-z))rotate(var(--vdt-rotate))rotateX(var(--vdt-rotate-x))rotateY(var(--vdt-rotate-y))rotateZ(var(--vdt-rotate-z))skewX(var(--vdt-skew-x))skewY(var(--vdt-skew-y))scaleX(var(--vdt-scale-x))scaleY(var(--vdt-scale-y))scaleZ(var(--vdt-scale-z))}.transform{transform:translateX(var(--vdt-translate-x))translateY(var(--vdt-translate-y))translateZ(var(--vdt-translate-z))rotate(var(--vdt-rotate))rotateX(var(--vdt-rotate-x))rotateY(var(--vdt-rotate-y))rotateZ(var(--vdt-rotate-z))skewX(var(--vdt-skew-x))skewY(var(--vdt-skew-y))scaleX(var(--vdt-scale-x))scaleY(var(--vdt-scale-y))scaleZ(var(--vdt-scale-z))}.select-none{user-select:none}.resize{resize:both}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.of-auto{overflow:auto}.of-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.ws-nowrap{white-space:nowrap}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.rounded{-webkit-border-radius:.25rem;border-radius:.25rem}.rounded-full{-webkit-border-radius:9999px;border-radius:9999px}.rounded-lg{-webkit-border-radius:.5rem;border-radius:.5rem}.rounded-xl{-webkit-border-radius:.75rem;border-radius:.75rem}.rounded-t{-webkit-border-top-left-radius:.25rem;border-top-left-radius:.25rem;-webkit-border-top-right-radius:.25rem;border-top-right-radius:.25rem}.bg-black{--vdt-bg-opacity:1;background-color:rgba(0,0,0,var(--vdt-bg-opacity))}.bg-green\\:5{background-color:rgba(74,222,128,.05)}.bg-lime6{--vdt-bg-opacity:1;background-color:rgba(101,163,13,var(--vdt-bg-opacity))}.hover\\:bg-\\[\\#8881\\]:hover{--vdt-bg-opacity:.07;background-color:rgba(136,136,136,var(--vdt-bg-opacity))}.hover\\:bg-lime7:hover{--vdt-bg-opacity:1;background-color:rgba(77,124,15,var(--vdt-bg-opacity))}.disabled\\:bg-gray6\\!:disabled{--vdt-bg-opacity:1!important;background-color:rgba(75,85,99,var(--vdt-bg-opacity))!important}.fill-black{--vdt-fill-opacity:1;fill:rgba(0,0,0,var(--vdt-fill-opacity))}.fill-hex-08060D{--vdt-fill-opacity:1;fill:rgba(8,6,13,var(--vdt-fill-opacity))}.p1{padding:.25rem}.p1\\.5{padding:.375rem}.p2{padding:.5rem}.p20{padding:5rem}.px,.px4{padding-left:1rem;padding-right:1rem}.px2{padding-left:.5rem;padding-right:.5rem}.px3{padding-left:.75rem;padding-right:.75rem}.py1{padding-top:.25rem;padding-bottom:.25rem}.py1\\.5{padding-top:.375rem;padding-bottom:.375rem}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.text-amber{--vdt-text-opacity:1;color:rgba(251,191,36,var(--vdt-text-opacity))}.text-green{--vdt-text-opacity:1;color:rgba(74,222,128,var(--vdt-text-opacity))}.text-orange{--vdt-text-opacity:1;color:rgba(251,146,60,var(--vdt-text-opacity))}.text-purple{--vdt-text-opacity:1;color:rgba(192,132,252,var(--vdt-text-opacity))}.text-violet{--vdt-text-opacity:1;color:rgba(167,139,250,var(--vdt-text-opacity))}.font-bold{font-weight:700}.tab{tab-size:4}.op0,.opacity-0{opacity:0}.op100,.opacity-100{opacity:1}.op50{opacity:.5}.op60\\!{opacity:.6!important}.op75{opacity:.75}.shadow{--vdt-shadow:var(--vdt-shadow-inset)0 1px 3px 0 var(--vdt-shadow-color,rgba(0,0,0,.1)),var(--vdt-shadow-inset)0 1px 2px -1px var(--vdt-shadow-color,rgba(0,0,0,.1));box-shadow:var(--vdt-ring-offset-shadow),var(--vdt-ring-shadow),var(--vdt-shadow)}.saturate-0{--vdt-saturate:saturate(0);filter:var(--vdt-blur)var(--vdt-brightness)var(--vdt-contrast)var(--vdt-drop-shadow)var(--vdt-grayscale)var(--vdt-hue-rotate)var(--vdt-invert)var(--vdt-saturate)var(--vdt-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.delay-200{transition-delay:.2s}@media (prefers-color-scheme:dark){.dark\\:fill-hex-fff,.dark\\:fill-white{--vdt-fill-opacity:1;fill:rgba(255,255,255,var(--vdt-fill-opacity))}}";
5
7
 
6
8
  //#endregion
7
- //#region src/client/webcomponents/components/DockEntries.vue?vue&type=script&setup=true&lang.ts
8
- const _hoisted_1$1 = { class: "flex items-center w-full h-full justify-center transition-opacity duration-300" };
9
- const _hoisted_2 = ["title", "onClick"];
10
- const _hoisted_3 = ["src", "alt"];
11
- var DockEntries_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
9
+ //#region src/client/webcomponents/state/floating-tooltip.ts
10
+ const state = shallowRef(null);
11
+ function setFloatingTooltip(info) {
12
+ state.value = info;
13
+ }
14
+ function useFloatingTooltip() {
15
+ return state;
16
+ }
17
+
18
+ //#endregion
19
+ //#region \0/plugin-vue/export-helper
20
+ var export_helper_default = (sfc, props) => {
21
+ const target = sfc.__vccOpts || sfc;
22
+ for (const [key, val] of props) target[key] = val;
23
+ return target;
24
+ };
25
+
26
+ //#endregion
27
+ //#region src/client/webcomponents/components/icons/VitePlusCore.vue
28
+ const _sfc_main$18 = {};
29
+ const _hoisted_1$11 = {
30
+ viewBox: "0 0 22 22",
31
+ fill: "none",
32
+ xmlns: "http://www.w3.org/2000/svg"
33
+ };
34
+ function _sfc_render$3(_ctx, _cache) {
35
+ return openBlock(), createElementBlock("svg", _hoisted_1$11, [..._cache[0] || (_cache[0] = [createStaticVNode("<g clip-path=\"url(#clip0_2_2)\"><path d=\"M11.85 20.535C11.7881 20.6144 11.7029 20.6726 11.6064 20.7012C11.5098 20.7298 11.4067 20.7276 11.3115 20.6947C11.2163 20.6619 11.1337 20.6001 11.0754 20.5181C11.017 20.436 10.9858 20.3377 10.986 20.237V15.834C10.986 15.5775 10.8841 15.3316 10.7028 15.1502C10.5214 14.9689 10.2755 14.867 10.019 14.867H5.157C5.06821 14.867 4.98114 14.8426 4.90534 14.7964C4.82954 14.7501 4.76795 14.6839 4.72734 14.6049C4.68673 14.526 4.66866 14.4374 4.67513 14.3488C4.6816 14.2603 4.71235 14.1752 4.764 14.103L7.961 9.62801C8.06459 9.48335 8.12626 9.31291 8.13923 9.13546C8.15219 8.95801 8.11594 8.78042 8.03448 8.62224C7.95301 8.46406 7.82948 8.33143 7.67749 8.23893C7.52549 8.14644 7.35093 8.09768 7.173 8.09801H1.29C1.20122 8.09803 1.11414 8.07359 1.03834 8.02736C0.962542 7.98113 0.900953 7.91489 0.86034 7.83594C0.819727 7.75699 0.801662 7.66837 0.80813 7.57982C0.814597 7.49127 0.845347 7.40622 0.897 7.33401L5.04 1.53301C5.08452 1.46999 5.14358 1.41864 5.21217 1.38331C5.28075 1.34797 5.35685 1.32969 5.434 1.33001H17.782C18.175 1.33001 18.404 1.77501 18.175 2.09401L14.978 6.57001C14.521 7.21001 14.978 8.10001 15.766 8.10001H20.627C21.031 8.10001 21.257 8.56401 21.007 8.88201L11.85 20.535Z\" fill=\"#6254FE\"></path><mask id=\"mask0_2_2\" style=\"mask-type:alpha;\" maskUnits=\"userSpaceOnUse\" x=\"0\" y=\"1\" width=\"22\" height=\"20\"><path d=\"M11.85 20.535C11.7881 20.6144 11.7029 20.6726 11.6064 20.7012C11.5098 20.7298 11.4067 20.7276 11.3115 20.6947C11.2163 20.6619 11.1337 20.6001 11.0754 20.5181C11.017 20.436 10.9858 20.3377 10.986 20.237V15.834C10.986 15.5775 10.8841 15.3316 10.7028 15.1502C10.5214 14.9689 10.2755 14.867 10.019 14.867H5.157C5.06821 14.867 4.98114 14.8426 4.90534 14.7964C4.82954 14.7501 4.76795 14.6839 4.72734 14.6049C4.68673 14.526 4.66866 14.4374 4.67513 14.3488C4.6816 14.2603 4.71235 14.1752 4.764 14.103L7.961 9.62801C8.06459 9.48335 8.12626 9.31291 8.13923 9.13546C8.15219 8.95801 8.11594 8.78042 8.03448 8.62224C7.95301 8.46406 7.82948 8.33143 7.67749 8.23893C7.52549 8.14644 7.35093 8.09768 7.173 8.09801H1.29C1.20122 8.09803 1.11414 8.07359 1.03834 8.02736C0.962542 7.98113 0.900953 7.91489 0.86034 7.83594C0.819727 7.75699 0.801662 7.66837 0.80813 7.57982C0.814597 7.49127 0.845347 7.40622 0.897 7.33401L5.04 1.53301C5.08452 1.46999 5.14358 1.41864 5.21217 1.38331C5.28075 1.34797 5.35685 1.32969 5.434 1.33001H17.782C18.175 1.33001 18.404 1.77501 18.175 2.09401L14.978 6.57001C14.521 7.21001 14.978 8.10001 15.766 8.10001H20.627C21.031 8.10001 21.257 8.56401 21.007 8.88201L11.85 20.535Z\" fill=\"#833BFF\"></path></mask><g mask=\"url(#mask0_2_2)\"><g filter=\"url(#filter0_f_2_2)\"><path d=\"M11.4271 17.1119C11.4313 18.412 8.62134 19.475 5.1508 19.4863C1.68026 19.4975 -1.13659 18.4528 -1.14081 17.1527C-1.14503 15.8526 1.66497 14.7896 5.13551 14.7783C8.60605 14.767 11.4229 15.8118 11.4271 17.1119Z\" fill=\"#EDE6FF\"></path></g><g filter=\"url(#filter1_f_2_2)\"><path d=\"M9.48364 9.06048C9.49161 11.5148 3.78614 13.523 -3.25987 13.5459C-10.3059 13.5688 -16.0243 11.5977 -16.0322 9.14332C-16.0402 6.68898 -10.3347 4.6808 -3.28872 4.65792C3.75729 4.63505 9.47567 6.60614 9.48364 9.06048Z\" fill=\"#EDE6FF\"></path></g><g filter=\"url(#filter2_f_2_2)\"><path d=\"M9.53104 8.43813C9.53526 9.7382 3.70543 10.8111 -3.49025 10.8344C-10.6859 10.8578 -16.5226 9.82279 -16.5268 8.52272C-16.531 7.22265 -10.7012 6.1498 -3.50554 6.12644C3.69014 6.10308 9.52682 7.13806 9.53104 8.43813Z\" fill=\"#4E14FF\"></path></g><g filter=\"url(#filter3_f_2_2)\"><path d=\"M11.5916 16.1293C11.5958 17.4293 5.74448 18.5022 -1.47775 18.5256C-8.69997 18.549 -14.5582 17.5141 -14.5624 16.214C-14.5666 14.9139 -8.71523 13.841 -1.493 13.8176C5.72923 13.7942 11.5874 14.8292 11.5916 16.1293Z\" fill=\"#4E14FF\"></path></g><g filter=\"url(#filter4_f_2_2)\"><path d=\"M12.2473 16.6206C12.2515 17.9206 6.40021 18.9935 -0.821978 19.017C-8.04417 19.0404 -13.9023 18.0055 -13.9066 16.7055C-13.9108 15.4054 -8.05945 14.3325 -0.837261 14.309C6.38493 14.2856 12.2431 15.3205 12.2473 16.6206Z\" fill=\"#4E14FF\"></path></g><g filter=\"url(#filter5_f_2_2)\"><path d=\"M14.047 5.7039C14.2411 2.38813 18.6158 -0.0529585 23.8183 0.251568C29.0207 0.556095 33.0808 3.49092 32.8867 6.80669C32.6926 10.1225 28.3179 12.5635 23.1154 12.259C17.913 11.9545 13.8529 9.01966 14.047 5.7039Z\" fill=\"#EDE6FF\"></path></g><g filter=\"url(#filter6_f_2_2)\"><path d=\"M14.7518 7.88531C14.7376 7.06639 18.8396 6.33138 23.9137 6.2436C28.9879 6.15583 33.1129 6.74854 33.127 7.56745C33.1412 8.38637 29.0392 9.12139 23.965 9.20916C18.8909 9.29693 14.7659 8.70422 14.7518 7.88531Z\" fill=\"#4E14FF\"></path></g><g filter=\"url(#filter7_f_2_2)\"><path d=\"M14.7518 7.88531C14.7376 7.06639 18.8396 6.33138 23.9137 6.2436C28.9879 6.15583 33.1129 6.74854 33.127 7.56745C33.1412 8.38637 29.0392 9.12139 23.965 9.20916C18.8909 9.29693 14.7659 8.70422 14.7518 7.88531Z\" fill=\"#4E14FF\"></path></g><g filter=\"url(#filter8_f_2_2)\"><path d=\"M-6.98848 14.7616C-6.18615 15.4233 -1.99229 11.6626 2.37876 6.362C6.74982 1.06138 9.64283 -3.77199 8.84049 -4.43362C8.03816 -5.09525 3.8443 -1.3346 -0.526755 3.96602C-4.89781 9.26665 -7.79082 14.1 -6.98848 14.7616Z\" fill=\"#4E14FF\"></path></g><g filter=\"url(#filter9_f_2_2)\"><path d=\"M13.4305 8.5449C14.2512 9.18361 18.3372 5.30605 22.5568 -0.115883C26.7764 -5.53781 29.5318 -10.4509 28.7111 -11.0896C27.8904 -11.7284 23.8044 -7.8508 19.5848 -2.42887C15.3651 2.99306 12.6098 7.90619 13.4305 8.5449Z\" fill=\"#4E14FF\"></path></g><g filter=\"url(#filter10_f_2_2)\"><path d=\"M14.9501 9.73878C16.4926 10.9392 19.2111 10.026 21.0221 7.69897C22.8331 5.37198 23.0507 2.51245 21.5083 1.31202C19.9658 0.111596 17.2473 1.02485 15.4363 3.35184C13.6253 5.67882 13.4077 8.53835 14.9501 9.73878Z\" fill=\"#2BFDD2\"></path></g><g filter=\"url(#filter11_f_2_2)\"><path d=\"M-7.68233 27.5293C-6.86163 28.168 -2.77563 24.2904 1.44401 18.8685C5.66365 13.4466 8.41904 8.53346 7.59834 7.89474C6.77764 7.25603 2.69164 11.1336 -1.528 16.5555C-5.74764 21.9775 -8.50303 26.8906 -7.68233 27.5293Z\" fill=\"#4E14FF\"></path></g><g filter=\"url(#filter12_f_2_2)\"><path d=\"M-7.68233 27.5293C-6.86163 28.168 -2.77563 24.2904 1.44401 18.8685C5.66365 13.4466 8.41904 8.53346 7.59834 7.89474C6.77764 7.25603 2.69164 11.1336 -1.528 16.5555C-5.74764 21.9775 -8.50303 26.8906 -7.68233 27.5293Z\" fill=\"#4E14FF\"></path></g><g filter=\"url(#filter13_f_2_2)\"><path d=\"M8.26366 23.8563C9.13579 24.535 13.2635 20.6899 17.4831 15.268C21.7028 9.84604 24.4165 4.90047 23.5443 4.22173C22.6722 3.54299 18.5445 7.38811 14.3249 12.81C10.1052 18.232 7.39153 23.1775 8.26366 23.8563Z\" fill=\"#4E14FF\"></path></g><g filter=\"url(#filter14_f_2_2)\"><path d=\"M12.2866 22.5389C13.7846 23.7047 17.4746 21.4689 20.5284 17.5449C23.5822 13.621 24.8434 9.49495 23.3454 8.32912C21.8474 7.16329 18.1574 9.39917 15.1036 13.3231C12.0498 17.247 10.7886 21.3731 12.2866 22.5389Z\" fill=\"#2BFDD2\"></path></g></g></g><defs><filter id=\"filter0_f_2_2\" x=\"-7.68682\" y=\"8.2322\" width=\"25.6599\" height=\"17.8002\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur stdDeviation=\"3.273\" result=\"effect1_foregroundBlur_2_2\"></feGaussianBlur></filter><filter id=\"filter1_f_2_2\" x=\"-22.5782\" y=\"-1.88827\" width=\"38.6079\" height=\"21.9804\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur stdDeviation=\"3.273\" result=\"effect1_foregroundBlur_2_2\"></feGaussianBlur></filter><filter id=\"filter2_f_2_2\" x=\"-20.4548\" y=\"2.19805\" width=\"33.9139\" height=\"12.5647\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur stdDeviation=\"1.964\" result=\"effect1_foregroundBlur_2_2\"></feGaussianBlur></filter><filter id=\"filter3_f_2_2\" x=\"-18.4904\" y=\"9.88925\" width=\"34.01\" height=\"12.5648\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur stdDeviation=\"1.964\" result=\"effect1_foregroundBlur_2_2\"></feGaussianBlur></filter><filter id=\"filter4_f_2_2\" x=\"-17.8346\" y=\"10.3806\" width=\"34.0099\" height=\"12.5648\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur stdDeviation=\"1.964\" result=\"effect1_foregroundBlur_2_2\"></feGaussianBlur></filter><filter id=\"filter5_f_2_2\" x=\"7.4943\" y=\"-6.32009\" width=\"31.9451\" height=\"25.1508\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur stdDeviation=\"3.273\" result=\"effect1_foregroundBlur_2_2\"></feGaussianBlur></filter><filter id=\"filter6_f_2_2\" x=\"10.8237\" y=\"2.30699\" width=\"26.2313\" height=\"10.8388\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur stdDeviation=\"1.964\" result=\"effect1_foregroundBlur_2_2\"></feGaussianBlur></filter><filter id=\"filter7_f_2_2\" x=\"10.8237\" y=\"2.30699\" width=\"26.2313\" height=\"10.8388\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur stdDeviation=\"1.964\" result=\"effect1_foregroundBlur_2_2\"></feGaussianBlur></filter><filter id=\"filter8_f_2_2\" x=\"-11.0501\" y=\"-8.43711\" width=\"23.9523\" height=\"27.2022\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur stdDeviation=\"1.964\" result=\"effect1_foregroundBlur_2_2\"></feGaussianBlur></filter><filter id=\"filter9_f_2_2\" x=\"9.35783\" y=\"-15.0865\" width=\"23.4259\" height=\"27.6282\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur stdDeviation=\"1.964\" result=\"effect1_foregroundBlur_2_2\"></feGaussianBlur></filter><filter id=\"filter10_f_2_2\" x=\"9.99386\" y=\"-3.14457\" width=\"16.4707\" height=\"17.3399\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur stdDeviation=\"1.964\" result=\"effect1_foregroundBlur_2_2\"></feGaussianBlur></filter><filter id=\"filter11_f_2_2\" x=\"-11.755\" y=\"3.89791\" width=\"23.4259\" height=\"27.6282\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur stdDeviation=\"1.964\" result=\"effect1_foregroundBlur_2_2\"></feGaussianBlur></filter><filter id=\"filter12_f_2_2\" x=\"-11.755\" y=\"3.89791\" width=\"23.4259\" height=\"27.6282\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur stdDeviation=\"1.964\" result=\"effect1_foregroundBlur_2_2\"></feGaussianBlur></filter><filter id=\"filter13_f_2_2\" x=\"4.17262\" y=\"0.216058\" width=\"23.4628\" height=\"27.6459\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur stdDeviation=\"1.964\" result=\"effect1_foregroundBlur_2_2\"></feGaussianBlur></filter><filter id=\"filter14_f_2_2\" x=\"7.72776\" y=\"4.09222\" width=\"20.1765\" height=\"22.6836\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur stdDeviation=\"1.964\" result=\"effect1_foregroundBlur_2_2\"></feGaussianBlur></filter><clipPath id=\"clip0_2_2\"><rect width=\"22\" height=\"22\" fill=\"white\"></rect></clipPath></defs>", 2)])]);
36
+ }
37
+ var VitePlusCore_default = /* @__PURE__ */ export_helper_default(_sfc_main$18, [["render", _sfc_render$3]]);
38
+
39
+ //#endregion
40
+ //#region src/client/webcomponents/components/DockIcon.vue
41
+ const _hoisted_1$10 = { key: 1 };
42
+ const _hoisted_2$5 = ["srcset"];
43
+ const _hoisted_3$2 = ["srcset"];
44
+ const _hoisted_4$1 = ["src", "alt"];
45
+ const _sfc_main$17 = /* @__PURE__ */ defineComponent({
46
+ __name: "DockIcon",
47
+ props: {
48
+ icon: {},
49
+ title: {}
50
+ },
51
+ setup(__props) {
52
+ const props = __props;
53
+ function getIconUrl(str, color) {
54
+ if (str.includes("/") || str.startsWith("data:") || str.startsWith("builtin:")) return str;
55
+ const match = str.match(/^([\w-]+):([\w-]+)$/);
56
+ if (match) {
57
+ const [, collection, icon$1] = match;
58
+ return `https://api.iconify.design/${collection}/${icon$1}.svg${color === "dark" ? "?color=%23eee" : "?color=%23111"}`;
59
+ }
60
+ return str;
61
+ }
62
+ const icon = computed(() => {
63
+ if (typeof props.icon === "string") return {
64
+ dark: getIconUrl(props.icon, "dark"),
65
+ light: getIconUrl(props.icon, "light")
66
+ };
67
+ return {
68
+ dark: getIconUrl(props.icon.dark, "dark"),
69
+ light: getIconUrl(props.icon.light, "light")
70
+ };
71
+ });
72
+ return (_ctx, _cache) => {
73
+ return icon.value.light === "builtin:vite-plus-core" ? (openBlock(), createBlock(VitePlusCore_default, { key: 0 })) : (openBlock(), createElementBlock("picture", _hoisted_1$10, [
74
+ createBaseVNode("source", {
75
+ srcset: icon.value.dark,
76
+ media: "(prefers-color-scheme: dark)"
77
+ }, null, 8, _hoisted_2$5),
78
+ createBaseVNode("source", {
79
+ srcset: icon.value.light,
80
+ media: "(prefers-color-scheme: light)"
81
+ }, null, 8, _hoisted_3$2),
82
+ createBaseVNode("img", {
83
+ src: icon.value.light,
84
+ alt: __props.title,
85
+ class: "w-full h-full m-auto",
86
+ draggable: "false"
87
+ }, null, 8, _hoisted_4$1)
88
+ ]));
89
+ };
90
+ }
91
+ });
92
+ var DockIcon_default = _sfc_main$17;
93
+
94
+ //#endregion
95
+ //#region src/client/webcomponents/components/DockEntry.vue
96
+ const _hoisted_1$9 = ["title"];
97
+ const _sfc_main$16 = /* @__PURE__ */ defineComponent({
98
+ __name: "DockEntry",
99
+ props: {
100
+ dock: {},
101
+ isSelected: { type: Boolean },
102
+ isDimmed: { type: Boolean },
103
+ isVertical: { type: Boolean }
104
+ },
105
+ setup(__props) {
106
+ const props = __props;
107
+ const button = useTemplateRef("button");
108
+ function updatePos() {
109
+ const rect = button.value?.getBoundingClientRect();
110
+ if (rect) setFloatingTooltip({
111
+ text: props.dock.title,
112
+ width: rect.width,
113
+ height: rect.height,
114
+ left: rect.left,
115
+ top: rect.top
116
+ });
117
+ }
118
+ function showTitle() {
119
+ updatePos();
120
+ }
121
+ function clearTitle() {
122
+ setFloatingTooltip(null);
123
+ }
124
+ useEventListener("pointerdown", () => {
125
+ setFloatingTooltip(null);
126
+ });
127
+ return (_ctx, _cache) => {
128
+ return openBlock(), createElementBlock("div", {
129
+ key: __props.dock.id,
130
+ class: "relative group vite-devtools-dock-entry",
131
+ onPointerenter: showTitle,
132
+ onPointerleave: clearTitle
133
+ }, [createBaseVNode("button", {
134
+ ref_key: "button",
135
+ ref: button,
136
+ title: __props.dock.title,
137
+ class: normalizeClass([[
138
+ __props.isVertical ? "rotate-270" : "",
139
+ __props.isDimmed ? "op50 saturate-0" : "",
140
+ __props.isSelected ? "scale-120 text-purple" : ""
141
+ ], "flex items-center justify-center p1.5 rounded-xl hover:bg-[#8881] hover:scale-120 transition-all duration-300 relative"])
142
+ }, [createVNode(DockIcon_default, {
143
+ icon: __props.dock.icon,
144
+ title: __props.dock.title,
145
+ class: "w-5 h-5 select-none"
146
+ }, null, 8, ["icon", "title"])], 10, _hoisted_1$9)], 32);
147
+ };
148
+ }
149
+ });
150
+ var DockEntry_default = _sfc_main$16;
151
+
152
+ //#endregion
153
+ //#region src/client/webcomponents/components/DockEntries.vue
154
+ const _sfc_main$15 = /* @__PURE__ */ defineComponent({
12
155
  __name: "DockEntries",
13
156
  props: {
157
+ entries: {},
14
158
  selected: {},
15
- isVertical: { type: Boolean },
16
- entries: {}
159
+ isVertical: { type: Boolean }
17
160
  },
18
161
  emits: ["select"],
19
162
  setup(__props, { emit: __emit }) {
@@ -25,47 +168,73 @@ var DockEntries_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ de
25
168
  else emit("select", dock);
26
169
  }
27
170
  return (_ctx, _cache) => {
28
- return openBlock(), createElementBlock("div", _hoisted_1$1, [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(entries), (dock) => {
29
- return openBlock(), createElementBlock("button", {
30
- key: dock.id,
31
- title: dock.title,
32
- class: normalizeClass([[unref(isVertical) ? "rotate-270" : "", unref(selected) ? unref(selected).id !== dock.id ? "op50 saturate-0" : "scale-120" : ""], "flex items-center justify-center p1.5 rounded-xl hover:bg-[#8881] hover:scale-120 transition-all duration-300"]),
171
+ return openBlock(), createElementBlock("div", null, [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(entries), (dock) => {
172
+ return openBlock(), createElementBlock(Fragment, { key: dock.id }, [!dock.isHidden ? (openBlock(), createBlock(DockEntry_default, {
173
+ key: 0,
174
+ dock,
175
+ "is-selected": unref(selected)?.id === dock.id,
176
+ "is-dimmed": unref(selected) ? unref(selected).id !== dock.id : false,
177
+ "is-vertical": unref(isVertical),
33
178
  onClick: ($event) => toggleDockEntry(dock)
34
- }, [createBaseVNode("img", {
35
- src: dock.icon,
36
- alt: dock.title,
37
- class: "w-5 h-5 select-none",
38
- draggable: "false"
39
- }, null, 8, _hoisted_3)], 10, _hoisted_2);
179
+ }, null, 8, [
180
+ "dock",
181
+ "is-selected",
182
+ "is-dimmed",
183
+ "is-vertical",
184
+ "onClick"
185
+ ])) : createCommentVNode("v-if", true)], 64);
40
186
  }), 128))]);
41
187
  };
42
188
  }
43
189
  });
190
+ var DockEntries_default = _sfc_main$15;
44
191
 
45
192
  //#endregion
46
- //#region src/client/webcomponents/components/DockEntries.vue
47
- var DockEntries_default = DockEntries_vue_vue_type_script_setup_true_lang_default;
193
+ //#region src/client/webcomponents/components/icons/BracketLeft.vue
194
+ const _sfc_main$14 = {};
195
+ const _hoisted_1$8 = {
196
+ viewBox: "0 0 9 20",
197
+ fill: "none",
198
+ xmlns: "http://www.w3.org/2000/svg"
199
+ };
200
+ function _sfc_render$2(_ctx, _cache) {
201
+ return openBlock(), createElementBlock("svg", _hoisted_1$8, [..._cache[0] || (_cache[0] = [createBaseVNode("path", {
202
+ d: "M4.95763 0C1.02563 5.628 1.00263 14.351 4.95763 20H7.61363C3.65963 14.35 3.68363 5.627 7.61363 0H4.95763Z",
203
+ class: "fill-black dark:fill-white"
204
+ }, null, -1)])]);
205
+ }
206
+ var BracketLeft_default = /* @__PURE__ */ export_helper_default(_sfc_main$14, [["render", _sfc_render$2]]);
207
+
208
+ //#endregion
209
+ //#region src/client/webcomponents/components/icons/BracketRight.vue
210
+ const _sfc_main$13 = {};
211
+ const _hoisted_1$7 = {
212
+ viewBox: "0 0 9 20",
213
+ fill: "none",
214
+ xmlns: "http://www.w3.org/2000/svg"
215
+ };
216
+ function _sfc_render$1(_ctx, _cache) {
217
+ return openBlock(), createElementBlock("svg", _hoisted_1$7, [..._cache[0] || (_cache[0] = [createBaseVNode("path", {
218
+ d: "M4.246 10H6.903C6.902 6.407 5.913 2.816 3.946 0H1.29C3.256 2.816 4.244 6.407 4.246 10ZM8.935 14.907H6.27C6.46624 14.1665 6.61752 13.4148 6.723 12.656H4.066C3.96052 13.4148 3.80924 14.1665 3.613 14.907H0.944C0.703507 15.8176 0.387753 16.7067 0 17.565H2.669C2.2859 18.4179 1.82388 19.2331 1.289 20H3.945C4.47988 19.2331 4.9419 18.4179 5.325 17.565H7.99C8.376 16.714 8.691 15.823 8.935 14.907Z",
219
+ class: "fill-black dark:fill-white"
220
+ }, null, -1)])]);
221
+ }
222
+ var BracketRight_default = /* @__PURE__ */ export_helper_default(_sfc_main$13, [["render", _sfc_render$1]]);
48
223
 
49
224
  //#endregion
50
- //#region src/client/webcomponents/components/Dock.vue?vue&type=script&setup=true&lang.ts
51
- const PANEL_MARGIN = 5;
225
+ //#region src/client/webcomponents/components/Dock.vue
226
+ const _hoisted_1$6 = {
227
+ key: 0,
228
+ class: "i-fluent-emoji-flat-warning absolute bottom-0 right--1px w-1.5 h-1.5"
229
+ };
230
+ const _hoisted_2$4 = { class: "flex items-center gap-1" };
231
+ const PANEL_MARGIN = 2;
52
232
  const SNAP_THRESHOLD = 2;
53
- var Dock_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
233
+ const _sfc_main$12 = /* @__PURE__ */ defineComponent({
54
234
  __name: "Dock",
55
- props: /* @__PURE__ */ mergeModels({
56
- state: {},
57
- docks: {}
58
- }, {
59
- "isDragging": {
60
- type: Boolean,
61
- default: false
62
- },
63
- "isDraggingModifiers": {}
64
- }),
65
- emits: ["update:isDragging"],
235
+ props: { context: {} },
66
236
  setup(__props) {
67
- const { state, docks } = toRefs(__props);
68
- const isDragging = useModel(__props, "isDragging");
237
+ const context = __props.context;
69
238
  const isSafari = navigator.userAgent.includes("Safari") && !navigator.userAgent.includes("Chrome");
70
239
  const panelMargins = reactive({
71
240
  left: PANEL_MARGIN,
@@ -87,6 +256,8 @@ var Dock_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
87
256
  });
88
257
  const dockEl = useTemplateRef("dockEl");
89
258
  const anchorEl = useTemplateRef("anchorEl");
259
+ const recalculateCounter = ref(0);
260
+ const isHovering = ref(false);
90
261
  const windowSize = reactive({
91
262
  width: window.innerWidth,
92
263
  height: window.innerHeight
@@ -101,11 +272,16 @@ var Dock_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
101
272
  });
102
273
  function onPointerDown(e) {
103
274
  if (!dockEl.value) return;
104
- isDragging.value = true;
275
+ context.panel.isDragging = true;
105
276
  const { left, top, width, height } = dockEl.value.getBoundingClientRect();
106
277
  draggingOffset.x = e.clientX - left - width / 2;
107
278
  draggingOffset.y = e.clientY - top - height / 2;
108
279
  }
280
+ const isRpcTrusted = ref(context.rpc.isTrusted);
281
+ context.rpc.events.on("rpc:is-trusted:updated", (isTrusted) => {
282
+ isRpcTrusted.value = isTrusted;
283
+ if (isTrusted && context.docks.selected?.id === BUILTIN_ENTRY_CLIENT_AUTH_NOTICE.id) context.docks.switchEntry(null);
284
+ });
109
285
  onMounted(() => {
110
286
  windowSize.width = window.innerWidth;
111
287
  windowSize.height = window.innerHeight;
@@ -114,7 +290,8 @@ var Dock_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
114
290
  windowSize.height = window.innerHeight;
115
291
  });
116
292
  useEventListener(window, "pointermove", (e) => {
117
- if (!isDragging.value) return;
293
+ if (!context.panel.isDragging) return;
294
+ const store = context.panel.store;
118
295
  const centerX = window.innerWidth / 2;
119
296
  const centerY = window.innerHeight / 2;
120
297
  const x = e.clientX - draggingOffset.x;
@@ -128,15 +305,15 @@ var Dock_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
128
305
  const TR = Math.atan2(0 - centerY + HORIZONTAL_MARGIN, window.innerWidth - centerX);
129
306
  const BL = Math.atan2(window.innerHeight - HORIZONTAL_MARGIN - centerY, 0 - centerX);
130
307
  const BR = Math.atan2(window.innerHeight - HORIZONTAL_MARGIN - centerY, window.innerWidth - centerX);
131
- state.value.position = deg >= TL && deg <= TR ? "top" : deg >= TR && deg <= BR ? "right" : deg >= BR && deg <= BL ? "bottom" : "left";
132
- state.value.left = snapToPoints(x / window.innerWidth * 100);
133
- state.value.top = snapToPoints(y / window.innerHeight * 100);
308
+ store.position = deg >= TL && deg <= TR ? "top" : deg >= TR && deg <= BR ? "right" : deg >= BR && deg <= BL ? "bottom" : "left";
309
+ store.left = snapToPoints(x / window.innerWidth * 100);
310
+ store.top = snapToPoints(y / window.innerHeight * 100);
134
311
  });
135
312
  useEventListener(window, "pointerup", () => {
136
- isDragging.value = false;
313
+ context.panel.isDragging = false;
137
314
  });
138
315
  useEventListener(window, "pointerleave", () => {
139
- isDragging.value = false;
316
+ context.panel.isDragging = false;
140
317
  });
141
318
  });
142
319
  function snapToPoints(value) {
@@ -148,16 +325,14 @@ var Dock_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
148
325
  function clamp(value, min, max) {
149
326
  return Math.min(Math.max(value, min), max);
150
327
  }
151
- const recalculateCounter = ref(0);
152
- const isHovering = ref(false);
153
- const isVertical = computed(() => state.value.position === "left" || state.value.position === "right");
154
328
  const anchorPos = computed(() => {
155
329
  recalculateCounter.value;
330
+ const store = context.panel.store;
156
331
  const halfWidth = (dockEl.value?.clientWidth || 0) / 2;
157
332
  const halfHeight = (dockEl.value?.clientHeight || 0) / 2;
158
- const left = state.value.left * windowSize.width / 100;
159
- const top = state.value.top * windowSize.height / 100;
160
- switch (state.value.position) {
333
+ const left = store.left * windowSize.width / 100;
334
+ const top = store.top * windowSize.height / 100;
335
+ switch (store.position) {
161
336
  case "top": return {
162
337
  left: clamp(left, halfWidth + panelMargins.left, windowSize.width - halfWidth - panelMargins.right),
163
338
  top: panelMargins.top + halfHeight
@@ -180,18 +355,18 @@ var Dock_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
180
355
  let _timer = null;
181
356
  function bringUp() {
182
357
  isHovering.value = true;
183
- if (state.value.minimizePanelInactive < 0) return;
358
+ if (context.panel.store.inactiveTimeout < 0) return;
184
359
  if (_timer) clearTimeout(_timer);
185
360
  _timer = setTimeout(() => {
186
361
  isHovering.value = false;
187
- }, +state.value.minimizePanelInactive || 0);
362
+ }, +context.panel.store.inactiveTimeout || 0);
188
363
  }
189
364
  const isHidden = computed(() => false);
190
365
  const isMinimized = computed(() => {
191
- if (state.value.minimizePanelInactive < 0) return false;
192
- if (state.value.minimizePanelInactive === 0) return true;
366
+ if (context.panel.store.inactiveTimeout < 0) return false;
367
+ if (context.panel.store.inactiveTimeout === 0) return true;
193
368
  const isTouchDevice = "ontouchstart" in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;
194
- return !isDragging.value && !state.value.open && !isHovering.value && !isTouchDevice && state.value.minimizePanelInactive;
369
+ return !context.panel.isDragging && !context.panel.store.open && !isHovering.value && !isTouchDevice && context.panel.store.inactiveTimeout;
195
370
  });
196
371
  const anchorStyle = computed(() => {
197
372
  return {
@@ -201,16 +376,17 @@ var Dock_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
201
376
  };
202
377
  });
203
378
  const panelStyle = computed(() => {
204
- const style = { transform: isVertical.value ? `translate(-50%, -50%) rotate(90deg)` : `translate(-50%, -50%)` };
379
+ const style = { transform: context.panel.isVertical ? `translate(-50%, -50%) rotate(90deg)` : `translate(-50%, -50%)` };
205
380
  if (isHidden.value) {
206
381
  style.opacity = 0;
207
382
  style.pointerEvents = "none";
208
383
  }
209
- if (isDragging.value) style.transition = "none !important";
384
+ if (context.panel.isDragging) style.transition = "none !important";
210
385
  return style;
211
386
  });
212
387
  onMounted(() => {
213
- bringUp();
388
+ if (context.panel.store.open && !isRpcTrusted.value) context.panel.store.open = false;
389
+ if (isRpcTrusted.value) bringUp();
214
390
  recalculateCounter.value++;
215
391
  });
216
392
  return (_ctx, _cache) => {
@@ -220,7 +396,8 @@ var Dock_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
220
396
  ref: anchorEl,
221
397
  style: normalizeStyle([anchorStyle.value]),
222
398
  class: normalizeClass({
223
- "vite-devtools-vertical": isVertical.value,
399
+ "vite-devtools-horizontal": !unref(context).panel.isVertical,
400
+ "vite-devtools-vertical": unref(context).panel.isVertical,
224
401
  "vite-devtools-minimized": isMinimized.value
225
402
  }),
226
403
  onMousemove: bringUp
@@ -228,8 +405,14 @@ var Dock_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
228
405
  !unref(isSafari) ? (openBlock(), createElementBlock("div", {
229
406
  key: 0,
230
407
  id: "vite-devtools-glowing",
231
- style: normalizeStyle(isDragging.value ? "opacity: 0.6 !important" : "")
232
- }, null, 4)) : createCommentVNode("v-if", true),
408
+ class: normalizeClass(unref(context).panel.isDragging ? "op60!" : "")
409
+ }, null, 2)) : createCommentVNode("v-if", true),
410
+ renderSlot(_ctx.$slots, "default", {
411
+ context: unref(context),
412
+ dockEl: dockEl.value,
413
+ selected: unref(context).docks.selected,
414
+ panelMargins
415
+ }),
233
416
  createBaseVNode("div", {
234
417
  id: "vite-devtools-dock-container",
235
418
  ref_key: "dockEl",
@@ -238,74 +421,143 @@ var Dock_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
238
421
  }, [createBaseVNode("div", {
239
422
  id: "vite-devtools-dock",
240
423
  onPointerdown: onPointerDown
241
- }, [createVNode(DockEntries_default, {
242
- entries: unref(docks),
243
- class: normalizeClass(isMinimized.value ? "opacity-0" : "opacity-100"),
244
- "is-vertical": isVertical.value,
245
- selected: unref(state).dockEntry,
246
- onSelect: _cache[0] || (_cache[0] = (s) => unref(state).dockEntry = s)
247
- }, null, 8, [
248
- "entries",
249
- "class",
250
- "is-vertical",
251
- "selected"
252
- ])], 32)], 4),
253
- renderSlot(_ctx.$slots, "default", {
254
- dockEl: dockEl.value,
255
- panelMargins,
256
- state: unref(state),
257
- entry: unref(state).dockEntry
258
- })
424
+ }, [
425
+ createVNode(BracketLeft_default, { class: "vite-devtools-dock-bracket absolute left--1 top-1/2 translate-y--1/2 bottom-0 w-2.5 op75 transition-opacity duration-300" }),
426
+ createVNode(BracketRight_default, { class: normalizeClass(["vite-devtools-dock-bracket absolute right--1 top-1/2 translate-y--1/2 bottom-0 w-2.5 op75 transition-opacity duration-300", unref(context).panel.isVertical ? "scale-y--100" : ""]) }, null, 8, ["class"]),
427
+ createBaseVNode("div", { class: normalizeClass(["w-3 h-3 absolute left-1/2 top-1/2 translate-x--1/2 translate-y--1/2 transition-opacity duration-300", [isMinimized.value ? "op100" : "op0", unref(context).panel.isVertical ? "rotate-270" : "rotate-0"]]) }, [createVNode(VitePlusCore_default), !isRpcTrusted.value ? (openBlock(), createElementBlock("div", _hoisted_1$6)) : createCommentVNode("v-if", true)], 2),
428
+ !isRpcTrusted.value ? (openBlock(), createElementBlock("div", {
429
+ key: 0,
430
+ class: normalizeClass(["transition duration-300 delay-200", isMinimized.value ? "opacity-0 pointer-events-none ws-nowrap text-sm text-orange of-hidden" : "opacity-100"])
431
+ }, [createBaseVNode("button", {
432
+ class: "p2 transition hover:bg-active rounded-full px4",
433
+ onClick: _cache[0] || (_cache[0] = ($event) => unref(context).docks.toggleEntry(unref(BUILTIN_ENTRY_CLIENT_AUTH_NOTICE).id))
434
+ }, [createBaseVNode("div", _hoisted_2$4, [createBaseVNode("div", { class: normalizeClass(["i-fluent-emoji-flat-warning flex-none", unref(context).panel.isVertical ? "rotate-270" : "rotate-0"]) }, null, 2), _cache[2] || (_cache[2] = createBaseVNode("div", { class: "ws-nowrap text-amber" }, " Unauthorized ", -1))])])], 2)) : createCommentVNode("v-if", true),
435
+ createVNode(DockEntries_default, {
436
+ entries: unref(context).docks.entries,
437
+ class: normalizeClass(["transition duration-200 flex items-center w-full h-full justify-center px3", isMinimized.value ? "opacity-0 pointer-events-none" : "opacity-100"]),
438
+ "is-vertical": unref(context).panel.isVertical,
439
+ selected: unref(context).docks.selected,
440
+ onSelect: _cache[1] || (_cache[1] = (e) => unref(context).docks.switchEntry(e?.id))
441
+ }, null, 8, [
442
+ "entries",
443
+ "class",
444
+ "is-vertical",
445
+ "selected"
446
+ ])
447
+ ], 32)], 4)
259
448
  ], 38);
260
449
  };
261
450
  }
262
451
  });
452
+ var Dock_default = _sfc_main$12;
263
453
 
264
454
  //#endregion
265
- //#region src/client/webcomponents/components/Dock.vue
266
- var Dock_default = Dock_vue_vue_type_script_setup_true_lang_default;
455
+ //#region src/client/webcomponents/utils/PersistedDomViewsManager.ts
456
+ var PersistedDomViewsManager = class {
457
+ holders = {};
458
+ constructor(container) {
459
+ this.container = container;
460
+ }
461
+ getHolder(id, _type) {
462
+ return this.holders[id];
463
+ }
464
+ getOrCreateHolder(id, type) {
465
+ if (!this.container.value) throw new Error("[VITE DEVTOOLS] PersistedDomViewsManager: container is not set");
466
+ let holder;
467
+ if (!this.holders[id]) {
468
+ const el = document.createElement(type);
469
+ this.holders[id] = new PersistedDomHolder(id, el);
470
+ this.container.value.appendChild(el);
471
+ holder = this.holders[id];
472
+ } else holder = this.holders[id];
473
+ return holder;
474
+ }
475
+ removeHolder(id) {
476
+ const holder = this.holders[id];
477
+ if (!holder) return false;
478
+ holder.unmount();
479
+ holder.element.remove();
480
+ delete this.holders[id];
481
+ return true;
482
+ }
483
+ };
484
+ var PersistedDomHolder = class {
485
+ element;
486
+ id;
487
+ parent;
488
+ _cleanups = [];
489
+ constructor(id, iframe) {
490
+ this.id = id;
491
+ this.element = iframe;
492
+ }
493
+ cleanup() {
494
+ this._cleanups.forEach((cleanup) => cleanup());
495
+ this._cleanups = [];
496
+ }
497
+ mount(parent) {
498
+ if (this.parent === parent) {
499
+ this.show();
500
+ return;
501
+ }
502
+ this.cleanup();
503
+ this.parent = parent;
504
+ const func = () => this.update();
505
+ window.addEventListener("resize", func);
506
+ this._cleanups.push(() => window.removeEventListener("resize", func));
507
+ this.show();
508
+ }
509
+ hide() {
510
+ this.element.style.display = "none";
511
+ }
512
+ show() {
513
+ this.element.style.display = "block";
514
+ this.update();
515
+ }
516
+ update() {
517
+ if (!this.parent) return;
518
+ const rect = this.parent.getBoundingClientRect();
519
+ this.element.style.position = "absolute";
520
+ this.element.style.width = `${rect.width}px`;
521
+ this.element.style.height = `${rect.height}px`;
522
+ }
523
+ unmount() {
524
+ this.cleanup();
525
+ this.hide();
526
+ this.parent = void 0;
527
+ }
528
+ };
267
529
 
268
530
  //#endregion
269
- //#region src/client/webcomponents/components/DockPanelResizer.vue?vue&type=script&setup=true&lang.ts
531
+ //#region src/client/webcomponents/components/DockPanelResizer.vue
270
532
  const PANEL_MIN = 20;
271
533
  const PANEL_MAX = 100;
272
- var DockPanelResizer_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
534
+ const _sfc_main$11 = /* @__PURE__ */ defineComponent({
273
535
  __name: "DockPanelResizer",
274
- props: /* @__PURE__ */ mergeModels({
275
- state: {},
276
- isDragging: { type: Boolean }
277
- }, {
278
- "isResizing": {
279
- type: Boolean,
280
- default: false
281
- },
282
- "isResizingModifiers": {}
283
- }),
284
- emits: ["update:isResizing"],
536
+ props: { panel: {} },
285
537
  setup(__props) {
286
538
  const props = __props;
287
- const isResizing = useModel(__props, "isResizing");
288
- const { state } = toRefs$1(props);
289
- const container = ref();
539
+ const topHandle = useTemplateRef("topHandle");
540
+ const container = computed(() => topHandle.value?.parentElement);
290
541
  const resizingState = ref(false);
291
542
  function handleResize(e) {
292
543
  if (!resizingState.value) return;
293
544
  const box = container.value?.getBoundingClientRect();
294
545
  if (!box) return;
546
+ const store = props.panel.store;
295
547
  let widthPx, heightPx;
296
548
  if (resizingState.value.right) {
297
549
  widthPx = Math.abs(e instanceof MouseEvent ? e.clientX : (e.touches[0]?.clientX || 0) - (box?.left || 0));
298
- state.value.width = Math.min(PANEL_MAX, Math.max(PANEL_MIN, widthPx / window.innerWidth * 100));
550
+ store.width = Math.min(PANEL_MAX, Math.max(PANEL_MIN, widthPx / window.innerWidth * 100));
299
551
  } else if (resizingState.value.left) {
300
552
  widthPx = Math.abs((box?.right || 0) - (e instanceof MouseEvent ? e.clientX : e.touches[0]?.clientX || 0));
301
- state.value.width = Math.min(PANEL_MAX, Math.max(PANEL_MIN, widthPx / window.innerWidth * 100));
553
+ store.width = Math.min(PANEL_MAX, Math.max(PANEL_MIN, widthPx / window.innerWidth * 100));
302
554
  }
303
555
  if (resizingState.value.top) {
304
556
  heightPx = Math.abs((box?.bottom || 0) - (e instanceof MouseEvent ? e.clientY : e.touches[0]?.clientY || 0));
305
- state.value.height = Math.min(PANEL_MAX, Math.max(PANEL_MIN, heightPx / window.innerHeight * 100));
557
+ store.height = Math.min(PANEL_MAX, Math.max(PANEL_MIN, heightPx / window.innerHeight * 100));
306
558
  } else if (resizingState.value.bottom) {
307
559
  heightPx = Math.abs(e instanceof MouseEvent ? e.clientY : (e.touches[0]?.clientY || 0) - (box?.top || 0));
308
- state.value.height = Math.min(PANEL_MAX, Math.max(PANEL_MIN, heightPx / window.innerHeight * 100));
560
+ store.height = Math.min(PANEL_MAX, Math.max(PANEL_MIN, heightPx / window.innerHeight * 100));
309
561
  }
310
562
  }
311
563
  useEventListener(window, "mousemove", handleResize);
@@ -314,40 +566,37 @@ var DockPanelResizer_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
314
566
  useEventListener(window, "touchend", () => resizingState.value = false);
315
567
  useEventListener(window, "mouseleave", () => resizingState.value = false);
316
568
  watch(resizingState, (value) => {
317
- isResizing.value = !!value;
569
+ props.panel.isResizing = !!value;
318
570
  }, { flush: "sync" });
319
571
  return (_ctx, _cache) => {
320
- return openBlock(), createElementBlock("div", {
321
- id: "vite-devtools-resize-container",
322
- ref_key: "container",
323
- ref: container,
324
- class: "w-full h-full absolute left-0 right-0 bottom-0 top-0 antialiased"
325
- }, [
572
+ return openBlock(), createElementBlock(Fragment, null, [
326
573
  createCommentVNode(" Handlers "),
327
574
  withDirectives(createBaseVNode("div", {
575
+ ref_key: "topHandle",
576
+ ref: topHandle,
328
577
  class: "vite-devtools-resize-handle vite-devtools-resize-handle-horizontal",
329
578
  style: { top: 0 },
330
579
  onMousedown: _cache[0] || (_cache[0] = withModifiers(($event) => resizingState.value = { top: true }, ["prevent"])),
331
580
  onTouchstartPassive: _cache[1] || (_cache[1] = () => resizingState.value = { top: true })
332
- }, null, 544), [[vShow, unref(state).position !== "top"]]),
581
+ }, null, 544), [[vShow, __props.panel.store.position !== "top"]]),
333
582
  withDirectives(createBaseVNode("div", {
334
583
  class: "vite-devtools-resize-handle vite-devtools-resize-handle-horizontal",
335
584
  style: { bottom: 0 },
336
585
  onMousedown: _cache[2] || (_cache[2] = withModifiers(() => resizingState.value = { bottom: true }, ["prevent"])),
337
586
  onTouchstartPassive: _cache[3] || (_cache[3] = () => resizingState.value = { bottom: true })
338
- }, null, 544), [[vShow, unref(state).position !== "bottom"]]),
587
+ }, null, 544), [[vShow, __props.panel.store.position !== "bottom"]]),
339
588
  withDirectives(createBaseVNode("div", {
340
589
  class: "vite-devtools-resize-handle vite-devtools-resize-handle-vertical",
341
590
  style: { left: 0 },
342
591
  onMousedown: _cache[4] || (_cache[4] = withModifiers(() => resizingState.value = { left: true }, ["prevent"])),
343
592
  onTouchstartPassive: _cache[5] || (_cache[5] = () => resizingState.value = { left: true })
344
- }, null, 544), [[vShow, unref(state).position !== "left"]]),
593
+ }, null, 544), [[vShow, __props.panel.store.position !== "left"]]),
345
594
  withDirectives(createBaseVNode("div", {
346
595
  class: "vite-devtools-resize-handle vite-devtools-resize-handle-vertical",
347
596
  style: { right: 0 },
348
597
  onMousedown: _cache[6] || (_cache[6] = withModifiers(() => resizingState.value = { right: true }, ["prevent"])),
349
598
  onTouchstartPassive: _cache[7] || (_cache[7] = () => resizingState.value = { right: true })
350
- }, null, 544), [[vShow, unref(state).position !== "right"]]),
599
+ }, null, 544), [[vShow, __props.panel.store.position !== "right"]]),
351
600
  withDirectives(createBaseVNode("div", {
352
601
  class: "vite-devtools-resize-handle vite-devtools-resize-handle-corner",
353
602
  style: {
@@ -363,7 +612,7 @@ var DockPanelResizer_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
363
612
  top: true,
364
613
  left: true
365
614
  })
366
- }, null, 544), [[vShow, unref(state).position !== "top" && unref(state).position !== "left"]]),
615
+ }, null, 544), [[vShow, __props.panel.store.position !== "top" && __props.panel.store.position !== "left"]]),
367
616
  withDirectives(createBaseVNode("div", {
368
617
  class: "vite-devtools-resize-handle vite-devtools-resize-handle-corner",
369
618
  style: {
@@ -379,7 +628,7 @@ var DockPanelResizer_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
379
628
  top: true,
380
629
  right: true
381
630
  })
382
- }, null, 544), [[vShow, unref(state).position !== "top" && unref(state).position !== "right"]]),
631
+ }, null, 544), [[vShow, __props.panel.store.position !== "top" && __props.panel.store.position !== "right"]]),
383
632
  withDirectives(createBaseVNode("div", {
384
633
  class: "vite-devtools-resize-handle vite-devtools-resize-handle-corner",
385
634
  style: {
@@ -395,7 +644,7 @@ var DockPanelResizer_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
395
644
  bottom: true,
396
645
  left: true
397
646
  })
398
- }, null, 544), [[vShow, unref(state).position !== "bottom" && unref(state).position !== "left"]]),
647
+ }, null, 544), [[vShow, __props.panel.store.position !== "bottom" && __props.panel.store.position !== "left"]]),
399
648
  withDirectives(createBaseVNode("div", {
400
649
  class: "vite-devtools-resize-handle vite-devtools-resize-handle-corner",
401
650
  style: {
@@ -411,204 +660,410 @@ var DockPanelResizer_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
411
660
  bottom: true,
412
661
  right: true
413
662
  })
414
- }, null, 544), [[vShow, unref(state).position !== "bottom" && unref(state).position !== "right"]])
415
- ], 512);
663
+ }, null, 544), [[vShow, __props.panel.store.position !== "bottom" && __props.panel.store.position !== "right"]])
664
+ ], 64);
416
665
  };
417
666
  }
418
667
  });
668
+ var DockPanelResizer_default = _sfc_main$11;
419
669
 
420
670
  //#endregion
421
- //#region src/client/webcomponents/components/DockPanelResizer.vue
422
- var DockPanelResizer_default = DockPanelResizer_vue_vue_type_script_setup_true_lang_default;
671
+ //#region src/client/webcomponents/components/icons/VitePlus.vue
672
+ const _sfc_main$10 = {};
673
+ const _hoisted_1$5 = {
674
+ viewBox: "0 0 40 40",
675
+ fill: "none",
676
+ xmlns: "http://www.w3.org/2000/svg"
677
+ };
678
+ function _sfc_render(_ctx, _cache) {
679
+ return openBlock(), createElementBlock("svg", _hoisted_1$5, [..._cache[0] || (_cache[0] = [createStaticVNode("<path d=\"M21.1636 29.535C21.1017 29.6144 21.0166 29.6725 20.92 29.7012C20.8234 29.7298 20.7204 29.7276 20.6251 29.6947C20.5299 29.6619 20.4474 29.6001 20.389 29.518C20.3307 29.436 20.2994 29.3377 20.2996 29.237V24.834C20.2996 24.5775 20.1978 24.3316 20.0164 24.1502C19.8351 23.9689 19.5891 23.867 19.3326 23.867H14.4706C14.3819 23.867 14.2948 23.8426 14.219 23.7963C14.1432 23.7501 14.0816 23.6839 14.041 23.6049C14.0004 23.526 13.9823 23.4374 13.9888 23.3488C13.9952 23.2603 14.026 23.1752 14.0776 23.103L17.2746 18.628C17.3782 18.4833 17.4399 18.3129 17.4529 18.1354C17.4658 17.958 17.4296 17.7804 17.3481 17.6222C17.2666 17.464 17.1431 17.3314 16.9911 17.2389C16.8391 17.1464 16.6646 17.0977 16.4866 17.098H10.6036C10.5149 17.098 10.4278 17.0736 10.352 17.0273C10.2762 16.9811 10.2146 16.9149 10.174 16.8359C10.1334 16.757 10.1153 16.6684 10.1218 16.5798C10.1282 16.4913 10.159 16.4062 10.2106 16.334L14.3536 10.533C14.3982 10.47 14.4572 10.4186 14.5258 10.3833C14.5944 10.348 14.6705 10.3297 14.7476 10.33H27.0956C27.4886 10.33 27.7176 10.775 27.4886 11.094L24.2916 15.57C23.8346 16.21 24.2916 17.1 25.0796 17.1H29.9406C30.3446 17.1 30.5706 17.564 30.3206 17.882L21.1636 29.535Z\" fill=\"#6254FE\"></path><mask id=\"mask0_3_2\" style=\"mask-type:alpha;\" maskUnits=\"userSpaceOnUse\" x=\"10\" y=\"10\" width=\"21\" height=\"20\"><path d=\"M21.1636 29.535C21.1017 29.6144 21.0166 29.6725 20.92 29.7012C20.8234 29.7298 20.7204 29.7276 20.6251 29.6947C20.5299 29.6619 20.4474 29.6001 20.389 29.518C20.3307 29.436 20.2994 29.3377 20.2996 29.237V24.834C20.2996 24.5775 20.1978 24.3316 20.0164 24.1502C19.8351 23.9689 19.5891 23.867 19.3326 23.867H14.4706C14.3819 23.867 14.2948 23.8426 14.219 23.7963C14.1432 23.7501 14.0816 23.6839 14.041 23.6049C14.0004 23.526 13.9823 23.4374 13.9888 23.3488C13.9952 23.2603 14.026 23.1752 14.0776 23.103L17.2746 18.628C17.3782 18.4833 17.4399 18.3129 17.4529 18.1354C17.4658 17.958 17.4296 17.7804 17.3481 17.6222C17.2666 17.464 17.1431 17.3314 16.9911 17.2389C16.8391 17.1464 16.6646 17.0977 16.4866 17.098H10.6036C10.5149 17.098 10.4278 17.0736 10.352 17.0273C10.2762 16.9811 10.2146 16.9149 10.174 16.8359C10.1334 16.757 10.1153 16.6684 10.1218 16.5798C10.1282 16.4913 10.159 16.4062 10.2106 16.334L14.3536 10.533C14.3982 10.47 14.4572 10.4186 14.5258 10.3833C14.5944 10.348 14.6705 10.3297 14.7476 10.33H27.0956C27.4886 10.33 27.7176 10.775 27.4886 11.094L24.2916 15.57C23.8346 16.21 24.2916 17.1 25.0796 17.1H29.9406C30.3446 17.1 30.5706 17.564 30.3206 17.882L21.1636 29.535Z\" fill=\"#833BFF\"></path></mask><g mask=\"url(#mask0_3_2)\"><g filter=\"url(#filter0_f_3_2)\"><path d=\"M20.7408 26.1119C20.745 27.4119 17.935 28.475 14.4644 28.4863C10.9939 28.4975 8.17705 27.4527 8.17283 26.1527C8.16861 24.8526 10.9786 23.7895 14.4492 23.7783C17.9197 23.767 20.7365 24.8118 20.7408 26.1119Z\" fill=\"#EDE6FF\"></path></g><g filter=\"url(#filter1_f_3_2)\"><path d=\"M18.7973 18.0605C18.8053 20.5148 13.0998 22.523 6.05378 22.5458C-0.992227 22.5687 -6.71061 20.5976 -6.71858 18.1433C-6.72654 15.6889 -1.02108 13.6808 6.02493 13.6579C13.0709 13.635 18.7893 15.6061 18.7973 18.0605Z\" fill=\"#EDE6FF\"></path></g><g filter=\"url(#filter2_f_3_2)\"><path d=\"M18.8447 17.4381C18.8489 18.7382 13.0191 19.8111 5.82339 19.8344C-1.37229 19.8578 -7.20896 18.8228 -7.21318 17.5227C-7.2174 16.2226 -1.38757 15.1498 5.80811 15.1264C13.0038 15.1031 18.8405 16.1381 18.8447 17.4381Z\" fill=\"#4E14FF\"></path></g><g filter=\"url(#filter3_f_3_2)\"><path d=\"M20.9053 25.1293C20.9095 26.4294 15.0581 27.5022 7.83591 27.5256C0.613678 27.549 -5.24451 26.5141 -5.24872 25.214C-5.25293 23.9139 0.598424 22.841 7.82065 22.8176C15.0429 22.7942 20.9011 23.8292 20.9053 25.1293Z\" fill=\"#4E14FF\"></path></g><g filter=\"url(#filter4_f_3_2)\"><path d=\"M21.561 25.6205C21.5652 26.9206 15.7139 27.9935 8.49167 28.017C1.26948 28.0404 -4.58868 27.0055 -4.5929 25.7054C-4.59712 24.4054 1.2542 23.3324 8.47639 23.309C15.6986 23.2855 21.5567 24.3205 21.561 25.6205Z\" fill=\"#4E14FF\"></path></g><g filter=\"url(#filter5_f_3_2)\"><path d=\"M23.3606 14.7039C23.5547 11.3881 27.9295 8.94703 33.1319 9.25155C38.3344 9.55608 42.3945 12.4909 42.2004 15.8067C42.0063 19.1224 37.6315 21.5635 32.4291 21.259C27.2266 20.9545 23.1665 18.0196 23.3606 14.7039Z\" fill=\"#EDE6FF\"></path></g><g filter=\"url(#filter6_f_3_2)\"><path d=\"M24.0654 16.8853C24.0512 16.0664 28.1532 15.3313 33.2274 15.2436C38.3016 15.1558 42.4265 15.7485 42.4407 16.5674C42.4548 17.3863 38.3529 18.1214 33.2787 18.2091C28.2045 18.2969 24.0796 17.7042 24.0654 16.8853Z\" fill=\"#4E14FF\"></path></g><g filter=\"url(#filter7_f_3_2)\"><path d=\"M24.0654 16.8853C24.0512 16.0664 28.1532 15.3313 33.2274 15.2436C38.3016 15.1558 42.4265 15.7485 42.4407 16.5674C42.4548 17.3863 38.3529 18.1214 33.2787 18.2091C28.2045 18.2969 24.0796 17.7042 24.0654 16.8853Z\" fill=\"#4E14FF\"></path></g><g filter=\"url(#filter8_f_3_2)\"><path d=\"M2.32515 23.7616C3.12749 24.4233 7.32135 20.6626 11.6924 15.362C16.0635 10.0614 18.9565 5.228 18.1541 4.56637C17.3518 3.90474 13.1579 7.66538 8.78688 12.966C4.41583 18.2666 1.52282 23.1 2.32515 23.7616Z\" fill=\"#4E14FF\"></path></g><g filter=\"url(#filter9_f_3_2)\"><path d=\"M22.7441 17.5449C23.5648 18.1836 27.6508 14.306 31.8704 8.8841C36.0901 3.46217 38.8455 -1.45095 38.0248 -2.08966C37.2041 -2.72838 33.1181 1.14919 28.8984 6.57112C24.6788 11.993 21.9234 16.9062 22.7441 17.5449Z\" fill=\"#4E14FF\"></path></g><g filter=\"url(#filter10_f_3_2)\"><path d=\"M24.2638 18.7387C25.8062 19.9392 28.5247 19.0259 30.3357 16.6989C32.1467 14.372 32.3644 11.5124 30.8219 10.312C29.2795 9.11157 26.561 10.0248 24.75 12.3518C22.939 14.6788 22.7213 17.5383 24.2638 18.7387Z\" fill=\"#2BFDD2\"></path></g><g filter=\"url(#filter11_f_3_2)\"><path d=\"M1.6313 36.5293C2.452 37.168 6.53801 33.2904 10.7576 27.8685C14.9773 22.4465 17.7327 17.5334 16.912 16.8947C16.0913 16.256 12.0053 20.1336 7.78563 25.5555C3.56599 30.9774 0.810605 35.8905 1.6313 36.5293Z\" fill=\"#4E14FF\"></path></g><g filter=\"url(#filter12_f_3_2)\"><path d=\"M1.6313 36.5293C2.452 37.168 6.53801 33.2904 10.7576 27.8685C14.9773 22.4465 17.7327 17.5334 16.912 16.8947C16.0913 16.256 12.0053 20.1336 7.78563 25.5555C3.56599 30.9774 0.810605 35.8905 1.6313 36.5293Z\" fill=\"#4E14FF\"></path></g><g filter=\"url(#filter13_f_3_2)\"><path d=\"M17.5773 32.8563C18.4494 33.535 22.5771 29.6899 26.7968 24.268C31.0164 18.846 33.7301 13.9005 32.858 13.2217C31.9859 12.543 27.8582 16.3881 23.6385 21.81C19.4189 27.232 16.7052 32.1775 17.5773 32.8563Z\" fill=\"#4E14FF\"></path></g><g filter=\"url(#filter14_f_3_2)\"><path d=\"M21.6002 31.5389C23.0982 32.7047 26.7882 30.4688 29.842 26.5449C32.8958 22.621 34.1571 18.4949 32.6591 17.3291C31.1611 16.1633 27.4711 18.3991 24.4173 22.3231C21.3635 26.247 20.1022 30.3731 21.6002 31.5389Z\" fill=\"#2BFDD2\"></path></g></g><path d=\"M6.95763 10C3.02563 15.628 3.00263 24.351 6.95763 30H9.61363C5.65963 24.35 5.68363 15.627 9.61363 10H6.95763ZM33.9386 20H36.5956C36.5946 16.407 35.6056 12.816 33.6386 10H30.9826C32.9486 12.816 33.9366 16.407 33.9386 20ZM38.6276 24.907H35.9626C36.1589 24.1665 36.3102 23.4148 36.4156 22.656H33.7586C33.6531 23.4148 33.5019 24.1665 33.3056 24.907H30.6366C30.3961 25.8176 30.0804 26.7067 29.6926 27.565H32.3616C31.9785 28.4179 31.5165 29.2331 30.9816 30H33.6376C34.1725 29.2331 34.6345 28.4179 35.0176 27.565H37.6826C38.0686 26.714 38.3836 25.823 38.6276 24.907Z\" fill=\"#08060D\" class=\"fill-hex-08060D dark:fill-hex-fff\"></path><defs><filter id=\"filter0_f_3_2\" x=\"1.62683\" y=\"17.2322\" width=\"25.6599\" height=\"17.8001\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur stdDeviation=\"3.273\" result=\"effect1_foregroundBlur_3_2\"></feGaussianBlur></filter><filter id=\"filter1_f_3_2\" x=\"-13.2646\" y=\"7.11168\" width=\"38.6079\" height=\"21.9804\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur stdDeviation=\"3.273\" result=\"effect1_foregroundBlur_3_2\"></feGaussianBlur></filter><filter id=\"filter2_f_3_2\" x=\"-11.1412\" y=\"11.198\" width=\"33.9139\" height=\"12.5648\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur stdDeviation=\"1.964\" result=\"effect1_foregroundBlur_3_2\"></feGaussianBlur></filter><filter id=\"filter3_f_3_2\" x=\"-9.17672\" y=\"18.8893\" width=\"34.01\" height=\"12.5648\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur stdDeviation=\"1.964\" result=\"effect1_foregroundBlur_3_2\"></feGaussianBlur></filter><filter id=\"filter4_f_3_2\" x=\"-8.5209\" y=\"19.3806\" width=\"34.0099\" height=\"12.5648\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur stdDeviation=\"1.964\" result=\"effect1_foregroundBlur_3_2\"></feGaussianBlur></filter><filter id=\"filter5_f_3_2\" x=\"16.8079\" y=\"2.67989\" width=\"31.9451\" height=\"25.1508\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur stdDeviation=\"3.273\" result=\"effect1_foregroundBlur_3_2\"></feGaussianBlur></filter><filter id=\"filter6_f_3_2\" x=\"20.1374\" y=\"11.307\" width=\"26.2313\" height=\"10.8388\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur stdDeviation=\"1.964\" result=\"effect1_foregroundBlur_3_2\"></feGaussianBlur></filter><filter id=\"filter7_f_3_2\" x=\"20.1374\" y=\"11.307\" width=\"26.2313\" height=\"10.8388\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur stdDeviation=\"1.964\" result=\"effect1_foregroundBlur_3_2\"></feGaussianBlur></filter><filter id=\"filter8_f_3_2\" x=\"-1.73649\" y=\"0.562875\" width=\"23.9523\" height=\"27.2023\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur stdDeviation=\"1.964\" result=\"effect1_foregroundBlur_3_2\"></feGaussianBlur></filter><filter id=\"filter9_f_3_2\" x=\"18.6715\" y=\"-6.08651\" width=\"23.4259\" height=\"27.6282\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur stdDeviation=\"1.964\" result=\"effect1_foregroundBlur_3_2\"></feGaussianBlur></filter><filter id=\"filter10_f_3_2\" x=\"19.3075\" y=\"5.85539\" width=\"16.4707\" height=\"17.3399\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur stdDeviation=\"1.964\" result=\"effect1_foregroundBlur_3_2\"></feGaussianBlur></filter><filter id=\"filter11_f_3_2\" x=\"-2.44132\" y=\"12.8979\" width=\"23.4259\" height=\"27.6282\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur stdDeviation=\"1.964\" result=\"effect1_foregroundBlur_3_2\"></feGaussianBlur></filter><filter id=\"filter12_f_3_2\" x=\"-2.44132\" y=\"12.8979\" width=\"23.4259\" height=\"27.6282\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur stdDeviation=\"1.964\" result=\"effect1_foregroundBlur_3_2\"></feGaussianBlur></filter><filter id=\"filter13_f_3_2\" x=\"13.4863\" y=\"9.21607\" width=\"23.4628\" height=\"27.6459\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur stdDeviation=\"1.964\" result=\"effect1_foregroundBlur_3_2\"></feGaussianBlur></filter><filter id=\"filter14_f_3_2\" x=\"17.0414\" y=\"13.0922\" width=\"20.1765\" height=\"22.6836\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur stdDeviation=\"1.964\" result=\"effect1_foregroundBlur_3_2\"></feGaussianBlur></filter></defs>", 5)])]);
680
+ }
681
+ var VitePlus_default = /* @__PURE__ */ export_helper_default(_sfc_main$10, [["render", _sfc_render]]);
423
682
 
424
683
  //#endregion
425
- //#region src/client/webcomponents/components/IframeManager.ts
426
- var IframeManager = class {
427
- iframes = {};
428
- container = void 0;
429
- constructor() {}
430
- setContainer(container) {
431
- this.container = container;
432
- }
433
- getIframeHolder(id) {
434
- let iframe;
435
- if (!this.iframes[id]) {
436
- const el = document.createElement("iframe");
437
- this.iframes[id] = new IframeHolder(id, el);
438
- this.container.appendChild(el);
439
- iframe = this.iframes[id];
440
- } else iframe = this.iframes[id];
441
- return iframe;
442
- }
443
- };
444
- var IframeHolder = class {
445
- iframe;
446
- id;
447
- parent;
448
- _cleanups = [];
449
- constructor(id, iframe) {
450
- this.id = id;
451
- this.iframe = iframe;
452
- }
453
- cleanup() {
454
- this._cleanups.forEach((cleanup) => cleanup());
455
- this._cleanups = [];
684
+ //#region src/client/webcomponents/components/ViewBuiltinClientAuthNotice.vue
685
+ const _hoisted_1$4 = { class: "w-full h-full flex flex-col items-center justify-center p20" };
686
+ const _hoisted_2$3 = { class: "max-w-150 flex flex-col items-center justify-center gap-2" };
687
+ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
688
+ __name: "ViewBuiltinClientAuthNotice",
689
+ props: { context: {} },
690
+ setup(__props) {
691
+ return (_ctx, _cache) => {
692
+ return openBlock(), createElementBlock("div", _hoisted_1$4, [createBaseVNode("div", _hoisted_2$3, [
693
+ createVNode(VitePlus_default, { class: "w-20 h-20" }),
694
+ _cache[0] || (_cache[0] = createBaseVNode("h1", { class: "text-2xl font-bold text-violet mb2" }, " Vite DevTools is Unauthorized ", -1)),
695
+ _cache[1] || (_cache[1] = createBaseVNode("p", { class: "op75" }, " Vite DevTools offers advanced features that can access your server, view your filesystem, and execute commands. ", -1)),
696
+ _cache[2] || (_cache[2] = createBaseVNode("p", { class: "op75" }, " To protect your project from unauthorized access, please authorize your browser before proceeding. ", -1)),
697
+ _cache[3] || (_cache[3] = createBaseVNode("p", { class: "font-bold bg-green:5 p1 px3 rounded mt8 text-green" }, " Check your terminal for the authorization prompt and come back. ", -1))
698
+ ])]);
699
+ };
456
700
  }
457
- mount(parent) {
458
- if (this.parent === parent) {
459
- this.show();
460
- return;
701
+ });
702
+ var ViewBuiltinClientAuthNotice_default = _sfc_main$9;
703
+
704
+ //#endregion
705
+ //#region src/client/webcomponents/state/terminals.ts
706
+ let _terminalsMap;
707
+ function useTerminals(context) {
708
+ if (_terminalsMap) return _terminalsMap;
709
+ const map = _terminalsMap = reactive(/* @__PURE__ */ new Map());
710
+ async function updateTerminals() {
711
+ const terminals = await context.rpc.call("vite:internal:terminals:list");
712
+ for (const terminal of terminals) {
713
+ if (map.has(terminal.id)) {
714
+ map.get(terminal.id).info = Object.freeze(terminal);
715
+ continue;
716
+ }
717
+ map.set(terminal.id, {
718
+ info: Object.freeze(terminal),
719
+ buffer: null,
720
+ terminal: null
721
+ });
461
722
  }
462
- this.cleanup();
463
- this.parent = parent;
464
- const func = () => this.update();
465
- window.addEventListener("resize", func);
466
- this._cleanups.push(() => window.removeEventListener("resize", func));
467
- this.show();
468
- }
469
- hide() {
470
- this.iframe.style.display = "none";
723
+ console.log("[VITE DEVTOOLS] Terminals Updated", [...map.values()]);
471
724
  }
472
- show() {
473
- this.iframe.style.display = "block";
474
- this.update();
725
+ context.rpc.client.register({
726
+ name: "vite:internal:terminals:updated",
727
+ type: "action",
728
+ handler: () => updateTerminals()
729
+ });
730
+ context.rpc.client.register({
731
+ name: "vite:internal:terminals:stream-chunk",
732
+ type: "action",
733
+ handler: (data) => {
734
+ const terminal = map.get(data.id);
735
+ if (!terminal) {
736
+ console.warn(`[VITE DEVTOOLS] Terminal with id "${data.id}" not found`);
737
+ return;
738
+ }
739
+ terminal.buffer?.push(...data.chunks);
740
+ for (const chunk of data.chunks) terminal.terminal?.writeln(chunk);
741
+ }
742
+ });
743
+ updateTerminals();
744
+ return map;
745
+ }
746
+
747
+ //#endregion
748
+ //#region src/client/webcomponents/components/ViewBuiltinTerminalPanel.vue
749
+ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
750
+ __name: "ViewBuiltinTerminalPanel",
751
+ props: {
752
+ context: {},
753
+ terminal: {}
754
+ },
755
+ setup(__props) {
756
+ const props = __props;
757
+ const container = ref();
758
+ let term;
759
+ onMounted(async () => {
760
+ term = markRaw(new Terminal({
761
+ convertEol: true,
762
+ cols: 80,
763
+ screenReaderMode: true
764
+ }));
765
+ const fitAddon = new FitAddon();
766
+ term.loadAddon(fitAddon);
767
+ term.open(container.value);
768
+ fitAddon.fit();
769
+ useEventListener(window, "resize", () => {
770
+ fitAddon.fit();
771
+ });
772
+ nextTick(() => {
773
+ fitAddon.fit();
774
+ });
775
+ props.terminal.terminal = term;
776
+ if (props.terminal.buffer == null) {
777
+ const { buffer } = await props.context.rpc.call("vite:internal:terminals:read", props.terminal.info.id);
778
+ props.terminal.buffer = markRaw(buffer);
779
+ }
780
+ for (const chunk of props.terminal.buffer) term.writeln(chunk);
781
+ });
782
+ onUnmounted(() => {
783
+ term.dispose();
784
+ props.terminal.terminal = null;
785
+ });
786
+ return (_ctx, _cache) => {
787
+ return openBlock(), createElementBlock(Fragment, null, [createBaseVNode("div", {
788
+ ref_key: "container",
789
+ ref: container,
790
+ class: "h-full w-full of-auto bg-black"
791
+ }, null, 512), createCommentVNode(" <div border=\"t base\" flex=\"~ gap-2\" items-center p2>\n <button title=\"Clear\" icon=\"i-carbon-clean\" :border=\"false\" @click=\"clear()\" />\n <button v-if=\"info?.restartable\" title=\"Restart\" icon=\"carbon-renew\" :border=\"false\" @click=\"restart()\" />\n <button v-if=\"info?.terminatable\" title=\"Terminate\" icon=\"carbon-delete\" :border=\"false\" @click=\"terminate()\" />\n <span text-sm op50>{{ info?.description }}</span>\n </div> ")], 2112);
792
+ };
475
793
  }
476
- update() {
477
- if (!this.parent) return;
478
- const rect = this.parent.getBoundingClientRect();
479
- this.iframe.style.position = "absolute";
480
- this.iframe.style.width = `${rect.width}px`;
481
- this.iframe.style.height = `${rect.height}px`;
794
+ });
795
+ var ViewBuiltinTerminalPanel_default = _sfc_main$8;
796
+
797
+ //#endregion
798
+ //#region src/client/webcomponents/components/ViewBuiltinTerminals.vue
799
+ const _hoisted_1$3 = { class: "w-full h-full grid grid-rows-[max-content_1fr]" };
800
+ const _hoisted_2$2 = { class: "border-base border-b rounded-t overflow-x-auto" };
801
+ const _hoisted_3$1 = ["onClick"];
802
+ const _hoisted_4 = { class: "h-full w-full flex relative" };
803
+ const _hoisted_5 = {
804
+ key: 1,
805
+ class: "flex items-center justify-center h-full w-full text-center"
806
+ };
807
+ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
808
+ __name: "ViewBuiltinTerminals",
809
+ props: { context: {} },
810
+ setup(__props) {
811
+ const terminals = useTerminals(__props.context);
812
+ const selectedTerminal = shallowRef(null);
813
+ watchImmediate(terminals, () => {
814
+ if (selectedTerminal.value == null && terminals.size > 0) selectedTerminal.value = terminals.values().next().value;
815
+ });
816
+ return (_ctx, _cache) => {
817
+ return openBlock(), createElementBlock("div", _hoisted_1$3, [createBaseVNode("div", _hoisted_2$2, [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(terminals).values(), (terminal) => {
818
+ return openBlock(), createElementBlock("button", {
819
+ key: terminal.info.id,
820
+ class: normalizeClass(["px3 py1.5 border-r border-base hover:bg-active text-sm flex items-center gap-1", { "bg-active": selectedTerminal.value?.info.id === terminal.info.id }]),
821
+ onClick: ($event) => selectedTerminal.value = terminal
822
+ }, [createVNode(DockIcon_default, { icon: terminal.info.icon || "ph:terminal-duotone" }, null, 8, ["icon"]), createBaseVNode("span", null, toDisplayString(terminal.info.title), 1)], 10, _hoisted_3$1);
823
+ }), 128))]), createBaseVNode("div", _hoisted_4, [selectedTerminal.value ? (openBlock(), createBlock(ViewBuiltinTerminalPanel_default, {
824
+ key: selectedTerminal.value.info.id,
825
+ context: __props.context,
826
+ terminal: selectedTerminal.value
827
+ }, null, 8, ["context", "terminal"])) : (openBlock(), createElementBlock("div", _hoisted_5, [..._cache[0] || (_cache[0] = [createBaseVNode("div", null, "Select a terminal tab to start", -1)])]))])]);
828
+ };
482
829
  }
483
- unmount() {
484
- this.cleanup();
485
- this.hide();
486
- this.parent = void 0;
830
+ });
831
+ var ViewBuiltinTerminals_default = _sfc_main$7;
832
+
833
+ //#endregion
834
+ //#region src/client/webcomponents/components/ViewCustomRenderer.vue
835
+ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
836
+ __name: "ViewCustomRenderer",
837
+ props: {
838
+ context: {},
839
+ entry: {},
840
+ persistedDoms: {},
841
+ divStyle: {}
842
+ },
843
+ setup(__props) {
844
+ const props = __props;
845
+ const isLoading = ref(true);
846
+ const viewFrame = useTemplateRef("viewFrame");
847
+ onMounted(() => {
848
+ const holder = props.persistedDoms.getOrCreateHolder(props.entry.id, "div");
849
+ holder.element.style.boxShadow = "none";
850
+ holder.element.style.outline = "none";
851
+ Object.assign(holder.element.style, props.divStyle);
852
+ const entryState = props.context.docks.getStateById(props.entry.id);
853
+ if (entryState) entryState.domElements.panel = holder.element;
854
+ holder.mount(viewFrame.value);
855
+ isLoading.value = false;
856
+ nextTick(() => {
857
+ holder.update();
858
+ });
859
+ watch(() => props.context.panel, () => {
860
+ holder.update();
861
+ }, { deep: true });
862
+ watchEffect(() => {
863
+ holder.element.style.pointerEvents = props.context.panel.isDragging || props.context.panel.isResizing ? "none" : "auto";
864
+ }, { flush: "sync" });
865
+ });
866
+ onUnmounted(() => {
867
+ props.persistedDoms.getHolder(props.entry.id, "div")?.unmount();
868
+ });
869
+ return (_ctx, _cache) => {
870
+ return openBlock(), createElementBlock("div", {
871
+ ref_key: "viewFrame",
872
+ ref: viewFrame,
873
+ class: "vite-devtools-view-custom-renderer w-full h-full flex items-center justify-center"
874
+ }, null, 512);
875
+ };
487
876
  }
488
- };
877
+ });
878
+ var ViewCustomRenderer_default = _sfc_main$6;
489
879
 
490
880
  //#endregion
491
- //#region src/client/webcomponents/components/ViewIframe.vue?vue&type=script&setup=true&lang.ts
492
- var ViewIframe_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
881
+ //#region src/client/webcomponents/components/ViewIframe.vue
882
+ const _hoisted_1$2 = {
883
+ key: 0,
884
+ class: "op50 z--1"
885
+ };
886
+ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
493
887
  __name: "ViewIframe",
494
888
  props: {
495
- state: {},
496
- isDragging: { type: Boolean },
497
- isResizing: { type: Boolean },
889
+ context: {},
498
890
  entry: {},
499
- iframes: {}
891
+ persistedDoms: {},
892
+ iframeStyle: {}
500
893
  },
501
894
  setup(__props) {
502
895
  const props = __props;
896
+ const isLoading = ref(true);
503
897
  const viewFrame = useTemplateRef("viewFrame");
504
898
  onMounted(() => {
505
- const holder = props.iframes.getIframeHolder(props.entry.id);
506
- holder.iframe.style.border = "1px solid #8885";
507
- holder.iframe.style.borderRadius = "0.5rem";
508
- holder.iframe.style.boxShadow = "none";
509
- holder.iframe.style.outline = "none";
510
- holder.iframe.style.zIndex = "2147483645";
511
- if (!holder.iframe.src) holder.iframe.src = props.entry.url;
899
+ const holder = props.persistedDoms.getOrCreateHolder(props.entry.id, "iframe");
900
+ holder.element.style.boxShadow = "none";
901
+ holder.element.style.outline = "none";
902
+ Object.assign(holder.element.style, props.iframeStyle);
903
+ if (!holder.element.src) holder.element.src = props.entry.url;
904
+ const entryState = props.context.docks.getStateById(props.entry.id);
905
+ if (entryState) entryState.domElements.iframe = holder.element;
512
906
  holder.mount(viewFrame.value);
907
+ isLoading.value = false;
513
908
  nextTick(() => {
514
909
  holder.update();
515
910
  });
516
- watch(() => props.state, () => {
911
+ watch(() => props.context.panel, () => {
517
912
  holder.update();
518
913
  }, { deep: true });
519
914
  watchEffect(() => {
520
- holder.iframe.style.pointerEvents = props.isDragging || props.isResizing ? "none" : "auto";
521
- });
915
+ holder.element.style.pointerEvents = props.context.panel.isDragging || props.context.panel.isResizing ? "none" : "auto";
916
+ }, { flush: "sync" });
522
917
  });
523
918
  onUnmounted(() => {
524
- props.iframes.getIframeHolder(props.entry.id).unmount();
919
+ props.persistedDoms.getHolder(props.entry.id, "iframe")?.unmount();
525
920
  });
526
921
  return (_ctx, _cache) => {
527
922
  return openBlock(), createElementBlock("div", {
528
923
  ref_key: "viewFrame",
529
924
  ref: viewFrame,
530
925
  class: "vite-devtools-view-iframe w-full h-full flex items-center justify-center"
531
- }, [..._cache[0] || (_cache[0] = [createBaseVNode("div", { class: "op50" }, " Loading iframe... ", -1)])], 512);
926
+ }, [isLoading.value ? (openBlock(), createElementBlock("div", _hoisted_1$2, " Loading iframe... ")) : createCommentVNode("v-if", true)], 512);
532
927
  };
533
928
  }
534
929
  });
930
+ var ViewIframe_default = _sfc_main$5;
535
931
 
536
932
  //#endregion
537
- //#region src/client/webcomponents/components/ViewIframe.vue
538
- var ViewIframe_default = ViewIframe_vue_vue_type_script_setup_true_lang_default;
933
+ //#region src/client/webcomponents/components/ViewLauncher.vue
934
+ const _hoisted_1$1 = { class: "flex flex-col gap-4 items-center justify-center h-full relative" };
935
+ const _hoisted_2$1 = { class: "text-2xl font-bold" };
936
+ const _hoisted_3 = ["disabled"];
937
+ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
938
+ __name: "ViewLauncher",
939
+ props: {
940
+ context: {},
941
+ entry: {}
942
+ },
943
+ setup(__props) {
944
+ const props = __props;
945
+ function onLaunch() {
946
+ props.context.rpc.call("vite:internal:docks:on-launch", props.entry.id);
947
+ }
948
+ const status = computed(() => props.entry.launcher.status || "idle");
949
+ const iconsMap = {
950
+ error: "i-ph-warning-duotone",
951
+ idle: "i-ph-rocket-launch-duotone",
952
+ loading: "i-svg-spinners-8-dots-rotate",
953
+ success: "i-ph-check-duotone"
954
+ };
955
+ const buttonText = computed(() => {
956
+ if (status.value === "idle") return props.entry.launcher.buttonStart || "Launch";
957
+ else if (status.value === "loading") return props.entry.launcher.buttonLoading || "Loading...";
958
+ else if (status.value === "error") return "ERROR";
959
+ else if (status.value === "success") return "Success";
960
+ else return `UNKNOWN STATUS: ${status.value}`;
961
+ });
962
+ return (_ctx, _cache) => {
963
+ return openBlock(), createElementBlock("div", _hoisted_1$1, [
964
+ createVNode(DockIcon_default, {
965
+ icon: __props.entry.launcher.icon || __props.entry.icon,
966
+ class: "w-10 h-10"
967
+ }, null, 8, ["icon"]),
968
+ createBaseVNode("h1", _hoisted_2$1, toDisplayString(__props.entry.launcher.title), 1),
969
+ createBaseVNode("p", null, toDisplayString(__props.entry.launcher.description), 1),
970
+ createBaseVNode("button", {
971
+ class: "bg-lime6 px4 py1 rounded hover:bg-lime7 transition-all duration-300 flex gap-2 items-center disabled:bg-gray6! disabled:pointer-events-none",
972
+ disabled: status.value !== "idle",
973
+ onClick: onLaunch
974
+ }, [createBaseVNode("div", { class: normalizeClass(iconsMap[status.value]) }, null, 2), createBaseVNode("div", null, toDisplayString(buttonText.value), 1)], 8, _hoisted_3)
975
+ ]);
976
+ };
977
+ }
978
+ });
979
+ var ViewLauncher_default = _sfc_main$4;
539
980
 
540
981
  //#endregion
541
- //#region src/client/webcomponents/components/ViewEntry.vue?vue&type=script&setup=true&lang.ts
542
- const _hoisted_1 = { key: 1 };
543
- var ViewEntry_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
982
+ //#region src/client/webcomponents/components/ViewEntry.vue
983
+ const _hoisted_1 = { key: 2 };
984
+ const _hoisted_2 = { key: 5 };
985
+ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
544
986
  __name: "ViewEntry",
545
987
  props: {
546
- state: {},
547
- isDragging: { type: Boolean },
548
- isResizing: { type: Boolean },
988
+ context: {},
549
989
  entry: {},
550
- iframes: {}
990
+ persistedDoms: {},
991
+ iframeStyle: {},
992
+ divStyle: {}
551
993
  },
552
994
  setup(__props) {
553
995
  return (_ctx, _cache) => {
554
- return __props.entry.type === "iframe" ? (openBlock(), createBlock(ViewIframe_default, {
996
+ return __props.entry.type === "~builtin" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [__props.entry.id === "~terminals" ? (openBlock(), createBlock(ViewBuiltinTerminals_default, {
555
997
  key: 0,
556
- state: __props.state,
557
- "is-dragging": __props.isDragging,
558
- "is-resizing": __props.isResizing,
998
+ context: __props.context,
999
+ entry: __props.entry
1000
+ }, null, 8, ["context", "entry"])) : __props.entry.id === "~client-auth-notice" ? (openBlock(), createBlock(ViewBuiltinClientAuthNotice_default, {
1001
+ key: 1,
1002
+ context: __props.context
1003
+ }, null, 8, ["context"])) : (openBlock(), createElementBlock("div", _hoisted_1, " Unknown builtin entry: " + toDisplayString(__props.entry), 1))], 64)) : __props.entry.type === "action" ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [createCommentVNode(" Entry for Actions ")], 64)) : __props.entry.type === "iframe" ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [createCommentVNode(" User-defined entries "), createVNode(ViewIframe_default, {
1004
+ context: __props.context,
1005
+ entry: __props.entry,
1006
+ "persisted-doms": __props.persistedDoms,
1007
+ "iframe-style": __props.iframeStyle
1008
+ }, null, 8, [
1009
+ "context",
1010
+ "entry",
1011
+ "persisted-doms",
1012
+ "iframe-style"
1013
+ ])], 2112)) : __props.entry.type === "custom-render" ? (openBlock(), createBlock(ViewCustomRenderer_default, {
1014
+ key: 3,
1015
+ context: __props.context,
559
1016
  entry: __props.entry,
560
- iframes: __props.iframes
1017
+ "persisted-doms": __props.persistedDoms,
1018
+ "div-style": __props.divStyle
561
1019
  }, null, 8, [
562
- "state",
563
- "is-dragging",
564
- "is-resizing",
1020
+ "context",
565
1021
  "entry",
566
- "iframes"
567
- ])) : (openBlock(), createElementBlock("div", _hoisted_1, " Unknown entry: " + toDisplayString(__props.entry), 1));
1022
+ "persisted-doms",
1023
+ "div-style"
1024
+ ])) : __props.entry.type === "launcher" ? (openBlock(), createBlock(ViewLauncher_default, {
1025
+ key: 4,
1026
+ context: __props.context,
1027
+ entry: __props.entry
1028
+ }, null, 8, ["context", "entry"])) : (openBlock(), createElementBlock("div", _hoisted_2, " Unknown entry: " + toDisplayString(__props.entry), 1));
568
1029
  };
569
1030
  }
570
1031
  });
1032
+ var ViewEntry_default = _sfc_main$3;
571
1033
 
572
1034
  //#endregion
573
- //#region src/client/webcomponents/components/ViewEntry.vue
574
- var ViewEntry_default = ViewEntry_vue_vue_type_script_setup_true_lang_default;
575
-
576
- //#endregion
577
- //#region src/client/webcomponents/components/DockPanel.vue?vue&type=script&setup=true&lang.ts
578
- var DockPanel_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
1035
+ //#region src/client/webcomponents/components/DockPanel.vue
1036
+ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
579
1037
  __name: "DockPanel",
580
1038
  props: {
581
- state: {},
582
- entry: {},
1039
+ context: {},
1040
+ selected: {},
583
1041
  dockEl: {},
584
1042
  panelMargins: {}
585
1043
  },
586
1044
  setup(__props) {
587
1045
  const props = __props;
588
- const { state, entry, panelMargins } = toRefs(props);
589
- const dockPanel = useTemplateRef("dockPanel");
590
- const iframesContainer = useTemplateRef("iframesContainer");
591
- const iframes = markRaw(new IframeManager());
592
- watchEffect(() => {
593
- iframes.setContainer(iframesContainer.value);
594
- }, { flush: "sync" });
1046
+ const context = props.context;
1047
+ const { selected, panelMargins } = toRefs(props);
595
1048
  const windowSize = reactive(useWindowSize());
596
- const isDragging = ref(false);
597
- const isResizing = ref(false);
598
1049
  const isHovering = ref(false);
599
1050
  const mousePosition = reactive({
600
1051
  x: 0,
601
1052
  y: 0
602
1053
  });
1054
+ const dockPanel = useTemplateRef("dockPanel");
1055
+ const viewsContainer = useTemplateRef("viewsContainer");
1056
+ const persistedDoms = markRaw(new PersistedDomViewsManager(viewsContainer));
603
1057
  function clamp(value, min, max) {
604
1058
  return Math.min(Math.max(value, min), max);
605
1059
  }
606
1060
  const anchorPos = computed(() => {
607
1061
  const halfWidth = (props.dockEl?.clientWidth || 0) / 2;
608
1062
  const halfHeight = (props.dockEl?.clientHeight || 0) / 2;
609
- const left = state.value.left * windowSize.width / 100;
610
- const top = state.value.top * windowSize.height / 100;
611
- switch (state.value.position) {
1063
+ const store = context.panel.store;
1064
+ const left = store.left * windowSize.width / 100;
1065
+ const top = store.top * windowSize.height / 100;
1066
+ switch (store.position) {
612
1067
  case "top": return {
613
1068
  left: clamp(left, halfWidth + panelMargins.value.left, windowSize.width - halfWidth - panelMargins.value.right),
614
1069
  top: panelMargins.value.top + halfHeight
@@ -631,14 +1086,14 @@ var DockPanel_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
631
1086
  let _timer = null;
632
1087
  function bringUp() {
633
1088
  isHovering.value = true;
634
- if (state.value.minimizePanelInactive < 0) return;
1089
+ if (context.panel.store.inactiveTimeout < 0) return;
635
1090
  if (_timer) clearTimeout(_timer);
636
1091
  _timer = setTimeout(() => {
637
1092
  isHovering.value = false;
638
- }, +state.value.minimizePanelInactive || 0);
1093
+ }, +context.panel.store.inactiveTimeout || 0);
639
1094
  }
640
1095
  const { width: frameWidth, height: frameHeight } = useElementBounding(dockPanel);
641
- const iframeStyle = computed(() => {
1096
+ const panelStyle = computed(() => {
642
1097
  mousePosition.x, mousePosition.y;
643
1098
  const halfHeight = (props.dockEl?.clientHeight || 0) / 2;
644
1099
  const frameMargin = {
@@ -651,19 +1106,20 @@ var DockPanel_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
651
1106
  const marginVertical = frameMargin.top + frameMargin.bottom;
652
1107
  const maxWidth = windowSize.width - marginHorizontal;
653
1108
  const maxHeight = windowSize.height - marginVertical;
1109
+ const panel = context.panel;
1110
+ const store = panel.store;
654
1111
  const style = {
655
1112
  position: "fixed",
656
- zIndex: -1,
657
- pointerEvents: isDragging.value || isResizing.value ? "none" : "auto",
658
- width: `min(${state.value.width}vw, calc(100vw - ${marginHorizontal}px))`,
659
- height: `min(${state.value.height}vh, calc(100vh - ${marginVertical}px))`
1113
+ pointerEvents: panel.isDragging || panel.isResizing ? "none" : "auto",
1114
+ width: `min(${store.width}vw, calc(100vw - ${marginHorizontal}px))`,
1115
+ height: `min(${store.height}vh, calc(100vh - ${marginVertical}px))`
660
1116
  };
661
1117
  const anchor = anchorPos.value;
662
- const width = Math.min(maxWidth, state.value.width * windowSize.width / 100);
663
- const height = Math.min(maxHeight, state.value.height * windowSize.height / 100);
1118
+ const width = Math.min(maxWidth, store.width * windowSize.width / 100);
1119
+ const height = Math.min(maxHeight, store.height * windowSize.height / 100);
664
1120
  const anchorX = anchor?.left || 0;
665
1121
  const anchorY = anchor?.top || 0;
666
- switch (state.value.position) {
1122
+ switch (store.position) {
667
1123
  case "top":
668
1124
  case "bottom":
669
1125
  style.left = `${-frameWidth.value / 2}px`;
@@ -679,7 +1135,7 @@ var DockPanel_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
679
1135
  else if (windowSize.height - anchorY - frameMargin.bottom < height / 2) style.top = `${windowSize.height - anchorY - height / 2 - frameMargin.bottom - frameHeight.value / 2}px`;
680
1136
  break;
681
1137
  }
682
- switch (state.value.position) {
1138
+ switch (store.position) {
683
1139
  case "top":
684
1140
  style.top = 0;
685
1141
  break;
@@ -701,88 +1157,126 @@ var DockPanel_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
701
1157
  });
702
1158
  return (_ctx, _cache) => {
703
1159
  return withDirectives((openBlock(), createElementBlock("div", {
704
- id: "vite-devtools-dock-panel",
705
1160
  ref_key: "dockPanel",
706
1161
  ref: dockPanel,
707
- class: "bg-glass rounded-lg border border-base shadow",
708
- style: normalizeStyle(iframeStyle.value)
1162
+ class: "bg-glass:75 rounded-lg border border-base shadow",
1163
+ style: normalizeStyle(panelStyle.value)
709
1164
  }, [
710
- createVNode(DockPanelResizer_default, {
711
- "is-resizing": isResizing.value,
712
- "onUpdate:isResizing": _cache[0] || (_cache[0] = ($event) => isResizing.value = $event),
713
- "is-dragging": isDragging.value,
714
- state: unref(state),
715
- entry: unref(entry)
1165
+ createVNode(DockPanelResizer_default, { panel: unref(context).panel }, null, 8, ["panel"]),
1166
+ unref(selected) && viewsContainer.value ? (openBlock(), createBlock(ViewEntry_default, {
1167
+ key: unref(selected).id,
1168
+ context: unref(context),
1169
+ entry: unref(selected),
1170
+ "persisted-doms": unref(persistedDoms),
1171
+ "iframe-style": {
1172
+ border: "1px solid #8883",
1173
+ borderRadius: "0.5rem"
1174
+ }
716
1175
  }, null, 8, [
717
- "is-resizing",
718
- "is-dragging",
719
- "state",
720
- "entry"
721
- ]),
722
- unref(entry) && iframesContainer.value ? (openBlock(), createBlock(ViewEntry_default, {
723
- key: unref(entry).id,
724
- state: unref(state),
725
- "is-dragging": isDragging.value,
726
- "is-resizing": isResizing.value,
727
- entry: unref(entry),
728
- iframes: unref(iframes),
729
- rounded: ""
730
- }, null, 8, [
731
- "state",
732
- "is-dragging",
733
- "is-resizing",
1176
+ "context",
734
1177
  "entry",
735
- "iframes"
1178
+ "persisted-doms"
736
1179
  ])) : createCommentVNode("v-if", true),
737
1180
  createBaseVNode("div", {
738
- id: "vite-devtools-iframe-container",
739
- ref_key: "iframesContainer",
740
- ref: iframesContainer,
741
- class: "absolute inset-0"
1181
+ id: "vite-devtools-views-container",
1182
+ ref_key: "viewsContainer",
1183
+ ref: viewsContainer,
1184
+ class: "absolute inset-0 pointer-events-none"
742
1185
  }, null, 512)
743
- ], 4)), [[vShow, unref(entry)]]);
1186
+ ], 4)), [[vShow, unref(context).docks.selected && unref(context).docks.selected.type !== "action"]]);
744
1187
  };
745
1188
  }
746
1189
  });
1190
+ var DockPanel_default = _sfc_main$2;
747
1191
 
748
1192
  //#endregion
749
- //#region src/client/webcomponents/components/DockPanel.vue
750
- var DockPanel_default = DockPanel_vue_vue_type_script_setup_true_lang_default;
1193
+ //#region src/client/webcomponents/components/FloatingTooltip.vue
1194
+ const DETECT_MARGIN = 100;
1195
+ const GAP = 10;
1196
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
1197
+ __name: "FloatingTooltip",
1198
+ setup(__props) {
1199
+ const current = useFloatingTooltip();
1200
+ const box = ref({
1201
+ text: "",
1202
+ width: 0,
1203
+ height: 0,
1204
+ left: 0,
1205
+ top: 0
1206
+ });
1207
+ const align = computed(() => {
1208
+ const vw = window.innerWidth;
1209
+ const vh = window.innerHeight;
1210
+ if (box.value.left < DETECT_MARGIN) return "right";
1211
+ if (box.value.left + box.value.width > vw - DETECT_MARGIN) return "left";
1212
+ if (box.value.top < DETECT_MARGIN) return "bottom";
1213
+ if (box.value.top + box.value.height > vh - DETECT_MARGIN) return "top";
1214
+ return "bottom";
1215
+ });
1216
+ const style = computed(() => {
1217
+ switch (align.value) {
1218
+ case "bottom": return {
1219
+ left: `${box.value.left + box.value.width / 2}px`,
1220
+ top: `${box.value.top + box.value.height + GAP}px`,
1221
+ transform: "translateX(-50%)"
1222
+ };
1223
+ case "top": return {
1224
+ left: `${box.value.left + box.value.width / 2}px`,
1225
+ bottom: `${window.innerHeight - box.value.top + GAP}px`,
1226
+ transform: "translateX(-50%)"
1227
+ };
1228
+ case "left": return {
1229
+ right: `${window.innerWidth - box.value.left + GAP}px`,
1230
+ top: `${box.value.top + box.value.height / 2}px`,
1231
+ transform: "translateY(-50%)"
1232
+ };
1233
+ case "right": return {
1234
+ left: `${box.value.left + box.value.width + GAP}px`,
1235
+ top: `${box.value.top + box.value.height / 2}px`,
1236
+ transform: "translateY(-50%)"
1237
+ };
1238
+ default: throw new Error("Unreachable");
1239
+ }
1240
+ });
1241
+ watchEffect(() => {
1242
+ if (current.value) box.value = { ...current.value };
1243
+ });
1244
+ return (_ctx, _cache) => {
1245
+ return box.value.text ? (openBlock(), createElementBlock("div", {
1246
+ key: 0,
1247
+ class: normalizeClass(["z-floating-tooltip text-xs transition-all duration-300 w-max bg-glass border border-base rounded px2 fixed p1", unref(current) ? "op100" : "op0 pointer-events-none"]),
1248
+ style: normalizeStyle(style.value)
1249
+ }, toDisplayString(box.value.text), 7)) : createCommentVNode("v-if", true);
1250
+ };
1251
+ }
1252
+ });
1253
+ var FloatingTooltip_default = _sfc_main$1;
751
1254
 
752
1255
  //#endregion
753
- //#region src/client/webcomponents/components/DockEmbedded.vue?vue&type=script&setup=true&lang.ts
754
- var DockEmbedded_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
1256
+ //#region src/client/webcomponents/components/DockEmbedded.vue
1257
+ const _sfc_main = /* @__PURE__ */ defineComponent({
755
1258
  __name: "DockEmbedded",
756
- props: {
757
- state: {},
758
- docks: {}
759
- },
1259
+ props: { context: {} },
760
1260
  setup(__props) {
761
1261
  return (_ctx, _cache) => {
762
- return openBlock(), createBlock(Dock_default, {
763
- state: __props.state,
764
- docks: __props.docks
765
- }, {
766
- default: withCtx(({ dockEl, entry, panelMargins }) => [createVNode(DockPanel_default, {
1262
+ return openBlock(), createElementBlock(Fragment, null, [createVNode(Dock_default, { context: __props.context }, {
1263
+ default: withCtx(({ dockEl, panelMargins, selected }) => [createVNode(DockPanel_default, {
1264
+ context: __props.context,
1265
+ selected,
767
1266
  "dock-el": dockEl,
768
- state: __props.state,
769
- "panel-margins": panelMargins,
770
- entry
1267
+ "panel-margins": panelMargins
771
1268
  }, null, 8, [
1269
+ "context",
1270
+ "selected",
772
1271
  "dock-el",
773
- "state",
774
- "panel-margins",
775
- "entry"
1272
+ "panel-margins"
776
1273
  ])]),
777
1274
  _: 1
778
- }, 8, ["state", "docks"]);
1275
+ }, 8, ["context"]), createVNode(FloatingTooltip_default)], 64);
779
1276
  };
780
1277
  }
781
1278
  });
782
-
783
- //#endregion
784
- //#region src/client/webcomponents/components/DockEmbedded.vue
785
- var DockEmbedded_default = DockEmbedded_vue_vue_type_script_setup_true_lang_default;
1279
+ var DockEmbedded_default = _sfc_main;
786
1280
 
787
1281
  //#endregion
788
1282
  //#region src/client/webcomponents/components/DockEmbedded.ts
@@ -793,4 +1287,4 @@ const DockEmbedded = defineCustomElement(DockEmbedded_default, {
793
1287
  customElements.define("vite-devtools-dock-embedded", DockEmbedded);
794
1288
 
795
1289
  //#endregion
796
- export { DockEmbedded, IframeHolder, IframeManager };
1290
+ export { DEFAULT_DOCK_PANEL_STORE, DockEmbedded, PersistedDomHolder, PersistedDomViewsManager, createDockEntryState, useDocksEntries };