@vitejs/devtools 0.0.0-alpha.3 → 0.0.0-alpha.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/DockIcon-BfVdt_M0.js +1717 -0
- package/dist/ViewBuiltinLogs-C8wFxIxg.js +12 -0
- package/dist/ViewBuiltinTerminals-CrBOq_Ni.js +10414 -0
- package/dist/cli-commands.d.ts +18 -0
- package/dist/cli-commands.js +67 -0
- package/dist/cli.js +4 -87
- package/dist/client/inject.js +111 -14
- package/dist/client/standalone/assets/ViewBuiltinLogs-CYvdMq-7.js +1 -0
- package/dist/client/standalone/assets/ViewBuiltinTerminals-B9l9XmES.js +36 -0
- package/dist/client/standalone/assets/index-DWC0UjCz.js +2 -0
- package/dist/client/standalone/assets/index-DzhHPm4X.css +1 -0
- package/dist/client/standalone/index.html +3 -3
- package/dist/client/webcomponents.d.ts +1471 -29
- package/dist/client/webcomponents.js +1121 -323
- package/dist/dirs.js +7 -1
- package/dist/dist-BpFPAu5f.js +916 -0
- package/dist/docks-CYaKLVhQ.js +131 -0
- package/dist/export-helper-DjM8b2QE.js +9 -0
- package/dist/index.d.ts +221 -9
- package/dist/index.js +21 -3
- package/dist/plugins-BbzqUdpu.js +3038 -0
- package/dist/standalone-DVh1a9tu.js +34 -0
- package/dist/{core-uTAXYiA1.js → vue.runtime.esm-bundler-DL0i8o0W.js} +1262 -1514
- package/package.json +32 -20
- package/dist/client/standalone/assets/index-C0WqLnSL.js +0 -7
- package/dist/client/standalone/assets/index-DLsPMQDX.css +0 -1
- package/dist/dirs-B7dOX6eI.js +0 -9
- package/dist/plugins-DDjui9Ga.js +0 -1314
|
@@ -1,20 +1,102 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { A as withCtx, C as onUnmounted, D as useTemplateRef, E as renderSlot, G as normalizeStyle, I as reactive, K as toDisplayString, O as watch, P as markRaw, R as ref, S as onMounted, T as renderList, U as unref, V as toRefs, W as normalizeClass, a as Fragment, c as createBaseVNode, d as createElementBlock, f as createStaticVNode, g as defineComponent, h as defineAsyncComponent, i as withModifiers, j as withDirectives, k as watchEffect, l as createBlock, m as createVNode, n as vShow, o as Suspense, p as createTextVNode, r as withKeys, s as computed, t as defineCustomElement, u as createCommentVNode, v as h, w as openBlock, x as nextTick, z as shallowRef } from "../vue.runtime.esm-bundler-DL0i8o0W.js";
|
|
2
|
+
import { a as useScreenSafeArea, c as watchDebounced, n as useElementBounding, o as useWindowSize, r as useEventListener, s as useDebounceFn, t as onClickOutside } from "../dist-BpFPAu5f.js";
|
|
3
|
+
import { a as docksGroupByCategories, c as BUILTIN_ENTRY_CLIENT_AUTH_NOTICE, i as useDocksEntries, n as createDockEntryState, o as docksSplitGroupsWithCapacity, r as sharedStateToRef, t as DEFAULT_DOCK_PANEL_STORE } from "../docks-CYaKLVhQ.js";
|
|
4
|
+
import { n as VitePlusCore_default, t as _sfc_main$18 } from "../DockIcon-BfVdt_M0.js";
|
|
5
|
+
import { t as export_helper_default } from "../export-helper-DjM8b2QE.js";
|
|
6
|
+
import { DEFAULT_STATE_USER_SETTINGS } from "@vitejs/devtools-kit/constants";
|
|
2
7
|
|
|
3
8
|
//#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}}.vite-devtools-dock-label{--un-translate-x:-50%;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));bottom:-1.75rem;left:50%}.vite-devtools-vertical .vite-devtools-dock-label{--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));bottom:-2.5rem}*{--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}.relative{position:relative}.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}.z-10{z-index:10}.h-5{height:1.25rem}.h-full{height:100%}.w-5{width:1.25rem}.w-full{width:100%}.w-max{width:max-content}.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{padding:.25rem}.p1\\.5{padding:.375rem}.px{padding-left:1rem;padding-right:1rem}.px2{padding-left:.5rem;padding-right:.5rem}.text-xs{font-size:.75rem;line-height:1rem}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.op50{opacity:.5}.opacity-0{opacity:0}.opacity-100{opacity:1}.group:hover .group-hover\\: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}";
|
|
9
|
+
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-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;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:fit-content}.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}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}: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(51,51,51,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{--vdt-text-opacity:1;color:rgba(255,255,255,var(--vdt-text-opacity));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-arrow-clockwise{--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%3Cpath fill='currentColor' d='M240 56v48a8 8 0 0 1-8 8h-48a8 8 0 0 1 0-16h27.4l-26.59-24.36l-.25-.24a80 80 0 1 0-1.67 114.78a8 8 0 0 1 11 11.63A95.44 95.44 0 0 1 128 224h-1.32a96 96 0 1 1 69.07-164L224 85.8V56a8 8 0 1 1 16 0'/%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-arrow-counter-clockwise{--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%3Cpath fill='currentColor' d='M224 128a96 96 0 0 1-94.71 96H128a95.38 95.38 0 0 1-65.9-26.2a8 8 0 0 1 11-11.63a80 80 0 1 0-1.67-114.78a3 3 0 0 1-.26.25L44.59 96H72a8 8 0 0 1 0 16H24a8 8 0 0 1-8-8V56a8 8 0 0 1 16 0v29.8L60.25 60A96 96 0 0 1 224 128'/%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-arrows-counter-clockwise-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='M216 128a88 88 0 1 1-88-88a88 88 0 0 1 88 88' opacity='.2'/%3E%3Cpath d='M88 104H40a8 8 0 0 1-8-8V48a8 8 0 0 1 16 0v28.69l14.63-14.63A95.43 95.43 0 0 1 130 33.94h.53a95.36 95.36 0 0 1 67.07 27.33a8 8 0 0 1-11.18 11.44a79.52 79.52 0 0 0-55.89-22.77h-.45a79.56 79.56 0 0 0-56.14 23.43L59.31 88H88a8 8 0 0 1 0 16m128 48h-48a8 8 0 0 0 0 16h28.69l-14.63 14.63a79.56 79.56 0 0 1-56.13 23.43h-.45a79.52 79.52 0 0 1-55.89-22.77a8 8 0 1 0-11.18 11.44a95.36 95.36 0 0 0 67.07 27.33h.52a95.43 95.43 0 0 0 67.36-28.12L208 179.31V208a8 8 0 0 0 16 0v-48a8 8 0 0 0-8-8'/%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-caret-down{--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%3Cpath fill='currentColor' d='m213.66 101.66l-80 80a8 8 0 0 1-11.32 0l-80-80a8 8 0 0 1 11.32-11.32L128 164.69l74.34-74.35a8 8 0 0 1 11.32 11.32'/%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-caret-left{--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%3Cpath fill='currentColor' d='M165.66 202.34a8 8 0 0 1-11.32 11.32l-80-80a8 8 0 0 1 0-11.32l80-80a8 8 0 0 1 11.32 11.32L91.31 128Z'/%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-caret-up{--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%3Cpath fill='currentColor' d='M213.66 165.66a8 8 0 0 1-11.32 0L128 91.31l-74.34 74.35a8 8 0 0 1-11.32-11.32l80-80a8 8 0 0 1 11.32 0l80 80a8 8 0 0 1 0 11.32'/%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-check-bold{--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%3Cpath fill='currentColor' d='m232.49 80.49l-128 128a12 12 0 0 1-17 0l-56-56a12 12 0 1 1 17-17L96 183L215.51 63.51a12 12 0 0 1 17 17Z'/%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-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-circle-notch{--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%3Cpath fill='currentColor' d='M232 128a104 104 0 0 1-208 0c0-41 23.81-78.36 60.66-95.27a8 8 0 0 1 6.68 14.54C60.15 61.59 40 93.27 40 128a88 88 0 0 0 176 0c0-34.73-20.15-66.41-51.34-80.73a8 8 0 0 1 6.68-14.54C208.19 49.64 232 87 232 128'/%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-eye-slash{--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%3Cpath fill='currentColor' d='M53.92 34.62a8 8 0 1 0-11.84 10.76l19.24 21.17C25 88.84 9.38 123.2 8.69 124.76a8 8 0 0 0 0 6.5c.35.79 8.82 19.57 27.65 38.4C61.43 194.74 93.12 208 128 208a127.1 127.1 0 0 0 52.07-10.83l22 24.21a8 8 0 1 0 11.84-10.76Zm47.33 75.84l41.67 45.85a32 32 0 0 1-41.67-45.85M128 192c-30.78 0-57.67-11.19-79.93-33.25A133.2 133.2 0 0 1 25 128c4.69-8.79 19.66-33.39 47.35-49.38l18 19.75a48 48 0 0 0 63.66 70l14.73 16.2A112 112 0 0 1 128 192m6-95.43a8 8 0 0 1 3-15.72a48.16 48.16 0 0 1 38.77 42.64a8 8 0 0 1-7.22 8.71a6 6 0 0 1-.75 0a8 8 0 0 1-8-7.26A32.09 32.09 0 0 0 134 96.57m113.28 34.69c-.42.94-10.55 23.37-33.36 43.8a8 8 0 1 1-10.67-11.92a132.8 132.8 0 0 0 27.8-35.14a133.2 133.2 0 0 0-23.12-30.77C185.67 75.19 158.78 64 128 64a118.4 118.4 0 0 0-19.36 1.57A8 8 0 1 1 106 49.79A134 134 0 0 1 128 48c34.88 0 66.57 13.26 91.66 38.35c18.83 18.83 27.3 37.62 27.65 38.41a8 8 0 0 1 0 6.5Z'/%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-gear-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='m207.86 123.18l16.78-21a99 99 0 0 0-10.07-24.29l-26.7-3a81 81 0 0 0-6.81-6.81l-3-26.71a99.4 99.4 0 0 0-24.3-10l-21 16.77a82 82 0 0 0-9.64 0l-21-16.78a99 99 0 0 0-24.21 10.07l-3 26.7a81 81 0 0 0-6.81 6.81l-26.71 3a99.4 99.4 0 0 0-10 24.3l16.77 21a82 82 0 0 0 0 9.64l-16.78 21a99 99 0 0 0 10.07 24.29l26.7 3a81 81 0 0 0 6.81 6.81l3 26.71a99.4 99.4 0 0 0 24.3 10l21-16.77a82 82 0 0 0 9.64 0l21 16.78a99 99 0 0 0 24.29-10.07l3-26.7a81 81 0 0 0 6.81-6.81l26.71-3a99.4 99.4 0 0 0 10-24.3l-16.77-21a82 82 0 0 0-.08-9.64M128 168a40 40 0 1 1 40-40a40 40 0 0 1-40 40' opacity='.2'/%3E%3Cpath d='M128 80a48 48 0 1 0 48 48a48.05 48.05 0 0 0-48-48m0 80a32 32 0 1 1 32-32a32 32 0 0 1-32 32m88-29.84q.06-2.16 0-4.32l14.92-18.64a8 8 0 0 0 1.48-7.06a107.6 107.6 0 0 0-10.88-26.25a8 8 0 0 0-6-3.93l-23.72-2.64q-1.48-1.56-3-3L186 40.54a8 8 0 0 0-3.94-6a107.3 107.3 0 0 0-26.25-10.86a8 8 0 0 0-7.06 1.48L130.16 40h-4.32L107.2 25.11a8 8 0 0 0-7.06-1.48a107.6 107.6 0 0 0-26.25 10.88a8 8 0 0 0-3.93 6l-2.64 23.76q-1.56 1.49-3 3L40.54 70a8 8 0 0 0-6 3.94a107.7 107.7 0 0 0-10.87 26.25a8 8 0 0 0 1.49 7.06L40 125.84v4.32L25.11 148.8a8 8 0 0 0-1.48 7.06a107.6 107.6 0 0 0 10.88 26.25a8 8 0 0 0 6 3.93l23.72 2.64q1.49 1.56 3 3L70 215.46a8 8 0 0 0 3.94 6a107.7 107.7 0 0 0 26.25 10.87a8 8 0 0 0 7.06-1.49L125.84 216q2.16.06 4.32 0l18.64 14.92a8 8 0 0 0 7.06 1.48a107.2 107.2 0 0 0 26.25-10.88a8 8 0 0 0 3.93-6l2.64-23.72q1.56-1.48 3-3l23.78-2.8a8 8 0 0 0 6-3.94a107.7 107.7 0 0 0 10.87-26.25a8 8 0 0 0-1.49-7.06Zm-16.1-6.5a74 74 0 0 1 0 8.68a8 8 0 0 0 1.74 5.48l14.19 17.73a91.6 91.6 0 0 1-6.23 15l-22.6 2.56a8 8 0 0 0-5.1 2.64a74 74 0 0 1-6.14 6.14a8 8 0 0 0-2.64 5.1l-2.51 22.58a91.3 91.3 0 0 1-15 6.23l-17.74-14.19a8 8 0 0 0-5-1.75h-.48a74 74 0 0 1-8.68 0a8.06 8.06 0 0 0-5.48 1.74l-17.78 14.2a91.6 91.6 0 0 1-15-6.23L82.89 187a8 8 0 0 0-2.64-5.1a74 74 0 0 1-6.14-6.14a8 8 0 0 0-5.1-2.64l-22.58-2.52a91.3 91.3 0 0 1-6.23-15l14.19-17.74a8 8 0 0 0 1.74-5.48a74 74 0 0 1 0-8.68a8 8 0 0 0-1.74-5.48L40.2 100.45a91.6 91.6 0 0 1 6.23-15L69 82.89a8 8 0 0 0 5.1-2.64a74 74 0 0 1 6.14-6.14A8 8 0 0 0 82.89 69l2.51-22.57a91.3 91.3 0 0 1 15-6.23l17.74 14.19a8 8 0 0 0 5.48 1.74a74 74 0 0 1 8.68 0a8.06 8.06 0 0 0 5.48-1.74l17.77-14.19a91.6 91.6 0 0 1 15 6.23L173.11 69a8 8 0 0 0 2.64 5.1a74 74 0 0 1 6.14 6.14a8 8 0 0 0 5.1 2.64l22.58 2.51a91.3 91.3 0 0 1 6.23 15l-14.19 17.74a8 8 0 0 0-1.74 5.53Z'/%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-globe{--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%3Cpath fill='currentColor' d='M128 24a104 104 0 1 0 104 104A104.12 104.12 0 0 0 128 24m88 104a87.6 87.6 0 0 1-3.33 24h-38.51a157.4 157.4 0 0 0 0-48h38.51a87.6 87.6 0 0 1 3.33 24m-114 40h52a115.1 115.1 0 0 1-26 45a115.3 115.3 0 0 1-26-45m-3.9-16a140.8 140.8 0 0 1 0-48h59.88a140.8 140.8 0 0 1 0 48ZM40 128a87.6 87.6 0 0 1 3.33-24h38.51a157.4 157.4 0 0 0 0 48H43.33A87.6 87.6 0 0 1 40 128m114-40h-52a115.1 115.1 0 0 1 26-45a115.3 115.3 0 0 1 26 45m52.33 0h-35.62a135.3 135.3 0 0 0-22.3-45.6A88.29 88.29 0 0 1 206.37 88Zm-98.74-45.6A135.3 135.3 0 0 0 85.29 88H49.63a88.29 88.29 0 0 1 57.96-45.6M49.63 168h35.66a135.3 135.3 0 0 0 22.3 45.6A88.29 88.29 0 0 1 49.63 168m98.78 45.6a135.3 135.3 0 0 0 22.3-45.6h35.66a88.29 88.29 0 0 1-57.96 45.6'/%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-push-pin{--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%3Cpath fill='currentColor' d='m235.32 81.37l-60.69-60.68a16 16 0 0 0-22.63 0l-53.63 53.8c-10.66-3.34-35-7.37-60.4 13.14a16 16 0 0 0-1.29 23.78L85 159.71l-42.66 42.63a8 8 0 0 0 11.32 11.32L96.29 171l48.29 48.29A16 16 0 0 0 155.9 224h1.13a15.93 15.93 0 0 0 11.64-6.33c19.64-26.1 17.75-47.32 13.19-60L235.33 104a16 16 0 0 0-.01-22.63M224 92.69l-57.27 57.46a8 8 0 0 0-1.49 9.22c9.46 18.93-1.8 38.59-9.34 48.62L48 100.08c12.08-9.74 23.64-12.31 32.48-12.31A40.1 40.1 0 0 1 96.81 91a8 8 0 0 0 9.25-1.51L163.32 32L224 92.68Z'/%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-push-pin-fill{--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%3Cpath fill='currentColor' d='m235.33 104l-53.47 53.65c4.56 12.67 6.45 33.89-13.19 60A15.93 15.93 0 0 1 157 224h-1.13a16 16 0 0 1-11.32-4.69L96.29 171l-42.63 42.66a8 8 0 0 1-11.32-11.32L85 159.71l-48.3-48.3A16 16 0 0 1 38 87.63c25.42-20.51 49.75-16.48 60.4-13.14L152 20.7a16 16 0 0 1 22.63 0l60.69 60.68a16 16 0 0 1 .01 22.62'/%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))}.hover\\:border-base:hover{--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}.visible{visibility:visible}.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}.right-0{right:0}.top-0\\.5{top:.125rem}.top-1{top:.25rem}.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}.m1{margin:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb2{margin-bottom:.5rem}.ml-2{margin-left:.5rem}.mt8{margin-top:2rem}.hidden{display:none}.h-1\\.5{height:.375rem}.h-10{height:2.5rem}.h-20{height:5rem}.h-20px{height:20px}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-full{height:100%}.h-screen{height:100vh}.max-w-150{max-width:37.5rem}.max-w-200{max-width:50rem}.max-w-200px{max-width:200px}.w-1\\.5{width:.375rem}.w-10{width:2.5rem}.w-2\\.5{width:.625rem}.w-20{width:5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.flex{display:flex}.flex-1{flex:1}.flex-auto{flex:auto}.flex-none{flex:none}.shrink-0{flex-shrink:0}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.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-x-1{--vdt-translate-x:.25rem;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-x-5{--vdt-translate-x:1.25rem;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--45{--vdt-rotate-x:0;--vdt-rotate-y:0;--vdt-rotate-z:0;--vdt-rotate:-45deg;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-110:hover{--vdt-scale-x:1.1;--vdt-scale-y:1.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))}.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))}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.cursor-pointer{cursor:pointer}.select-none{user-select:none}.resize{resize:both}.items-center{align-items:center}.justify-center{justify-content:center}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.of-auto,.overflow-auto{overflow:auto}.of-hidden,.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ws-nowrap{white-space:nowrap}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-b-0{border-bottom-width:0}.border-r{border-right-width:1px}.border-r-1\\.5{border-right-width:1.5px}.border-t{border-top-width:1px}.border-t-0{border-top-width:0}.border-amber\\/20{border-color:rgba(251,191,36,.2)}.border-transparent{border-color:transparent}.focus-within\\:border-gray\\/30:focus-within{border-color:rgba(156,163,175,.3)}.hover\\:border-gray\\/20:hover{border-color:rgba(156,163,175,.2)}.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}.rounded-t-md{-webkit-border-top-left-radius:.375rem;border-top-left-radius:.375rem;-webkit-border-top-right-radius:.375rem;border-top-right-radius:.375rem}.bg-amber\\/10{background-color:rgba(251,191,36,.1)}.bg-black{--vdt-bg-opacity:1;background-color:rgba(0,0,0,var(--vdt-bg-opacity))}.bg-gray-6{--vdt-bg-opacity:1;background-color:rgba(75,85,99,var(--vdt-bg-opacity))}.bg-gray\\/10{background-color:rgba(156,163,175,.1)}.bg-gray\\/20{background-color:rgba(156,163,175,.2)}.bg-gray\\/30{background-color:rgba(156,163,175,.3)}.bg-gray\\/5{background-color:rgba(156,163,175,.05)}.bg-green\\:5{background-color:rgba(74,222,128,.05)}.bg-lime{--vdt-bg-opacity:1;background-color:rgba(163,230,53,var(--vdt-bg-opacity))}.bg-lime\\/20{background-color:rgba(163,230,53,.2)}.bg-lime6{--vdt-bg-opacity:1;background-color:rgba(101,163,13,var(--vdt-bg-opacity))}.bg-red\\/10{background-color:rgba(248,113,113,.1)}.bg-transparent{background-color:transparent}.bg-white{--vdt-bg-opacity:1;background-color:rgba(255,255,255,var(--vdt-bg-opacity))}.hover\\:bg-\\[\\#8881\\]:hover{--vdt-bg-opacity:.07;background-color:rgba(136,136,136,var(--vdt-bg-opacity))}.hover\\:bg-gray\\/15:hover{background-color:rgba(156,163,175,.15)}.hover\\:bg-gray\\/20:hover{background-color:rgba(156,163,175,.2)}.hover\\:bg-gray\\/5:hover{background-color:rgba(156,163,175,.05)}.hover\\:bg-lime7:hover{--vdt-bg-opacity:1;background-color:rgba(77,124,15,var(--vdt-bg-opacity))}.hover\\:bg-red\\/20:hover{background-color:rgba(248,113,113,.2)}.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}.p10{padding:2.5rem}.p2{padding:.5rem}.p20{padding:5rem}.px,.px-4,.px4{padding-left:1rem;padding-right:1rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2,.px2{padding-left:.5rem;padding-right:.5rem}.px-2\\.5{padding-left:.625rem;padding-right:.625rem}.px3{padding-left:.75rem;padding-right:.75rem}.py-1,.py1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py1\\.5{padding-top:.375rem;padding-bottom:.375rem}.pt-6{padding-top:1.5rem}.text-center{text-align:center}.text-0\\.6em{font-size:.6em}.text-2xl{font-size:1.5rem;line-height:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.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-lime{--vdt-text-opacity:1;color:rgba(163,230,53,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-red{--vdt-text-opacity:1;color:rgba(248,113,113,var(--vdt-text-opacity))}.text-violet{--vdt-text-opacity:1;color:rgba(167,139,250,var(--vdt-text-opacity))}.text-white{--vdt-text-opacity:1;color:rgba(255,255,255,var(--vdt-text-opacity))}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.capitalize{text-transform:capitalize}.line-through{text-decoration-line:line-through}.tab{tab-size:4}.op0,.opacity-0{opacity:0}.op100,.opacity-100{opacity:1}.group:hover .group-hover\\:opacity-100{opacity:1}.op40{opacity:.4}.op50{opacity:.5}.op60{opacity:.6}.op60\\!{opacity:.6!important}.op75{opacity:.75}.op85{opacity:.85}.hover\\:op70:hover{opacity:.7}.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)}.outline-none{outline-offset:2px;outline:2px solid transparent}.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-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;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)}.transition-transform{transition-property:transform;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-hidden{display:none}.dark\\:fill-hex-fff,.dark\\:fill-white{--vdt-fill-opacity:1;fill:rgba(255,255,255,var(--vdt-fill-opacity))}}@media (prefers-color-scheme:light){.light-hidden{display:none}}";
|
|
5
10
|
|
|
6
11
|
//#endregion
|
|
7
|
-
//#region src/client/webcomponents/
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
//#region src/client/webcomponents/state/floating-tooltip.ts
|
|
13
|
+
const tooltip = shallowRef(null);
|
|
14
|
+
const docksOverflowPanel = shallowRef(null);
|
|
15
|
+
function setFloatingTooltip(info) {
|
|
16
|
+
tooltip.value = info;
|
|
17
|
+
}
|
|
18
|
+
function useFloatingTooltip() {
|
|
19
|
+
return tooltip;
|
|
20
|
+
}
|
|
21
|
+
function setDocksOverflowPanel(info) {
|
|
22
|
+
docksOverflowPanel.value = info;
|
|
23
|
+
}
|
|
24
|
+
function useDocksOverflowPanel() {
|
|
25
|
+
return docksOverflowPanel;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
//#endregion
|
|
29
|
+
//#region src/client/webcomponents/components/DockEntry.vue
|
|
30
|
+
const _hoisted_1$9 = ["title"];
|
|
31
|
+
const _hoisted_2$6 = {
|
|
32
|
+
key: 0,
|
|
33
|
+
class: "absolute top-0.5 right-0 bg-gray-6 text-white text-0.6em px-1 rounded-full shadow"
|
|
34
|
+
};
|
|
35
|
+
const _sfc_main$17 = /* @__PURE__ */ defineComponent({
|
|
36
|
+
__name: "DockEntry",
|
|
37
|
+
props: {
|
|
38
|
+
dock: {},
|
|
39
|
+
isSelected: { type: Boolean },
|
|
40
|
+
isDimmed: { type: Boolean },
|
|
41
|
+
isVertical: { type: Boolean },
|
|
42
|
+
badge: {},
|
|
43
|
+
tooltip: {
|
|
44
|
+
type: Boolean,
|
|
45
|
+
default: true
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
setup(__props) {
|
|
49
|
+
const props = __props;
|
|
50
|
+
const button = useTemplateRef("button");
|
|
51
|
+
function updateTooltip() {
|
|
52
|
+
if (!props.tooltip) return;
|
|
53
|
+
if (!button.value) return;
|
|
54
|
+
setFloatingTooltip({
|
|
55
|
+
content: props.dock.title,
|
|
56
|
+
el: button.value
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
function clearTitle() {
|
|
60
|
+
if (!props.tooltip) return;
|
|
61
|
+
setFloatingTooltip(null);
|
|
62
|
+
}
|
|
63
|
+
useEventListener("pointerdown", () => {
|
|
64
|
+
if (!props.tooltip) return;
|
|
65
|
+
setFloatingTooltip(null);
|
|
66
|
+
});
|
|
67
|
+
return (_ctx, _cache) => {
|
|
68
|
+
return openBlock(), createElementBlock("div", {
|
|
69
|
+
key: __props.dock.id,
|
|
70
|
+
class: "relative group vite-devtools-dock-entry",
|
|
71
|
+
onPointerenter: updateTooltip,
|
|
72
|
+
onPointerleave: clearTitle
|
|
73
|
+
}, [createBaseVNode("button", {
|
|
74
|
+
ref_key: "button",
|
|
75
|
+
ref: button,
|
|
76
|
+
title: __props.dock.title,
|
|
77
|
+
class: normalizeClass([[
|
|
78
|
+
__props.isVertical ? "rotate-270" : "",
|
|
79
|
+
__props.isDimmed ? "op50 saturate-0" : "",
|
|
80
|
+
__props.isSelected ? "scale-120 text-purple" : ""
|
|
81
|
+
], "flex items-center justify-center p1.5 rounded-xl hover:bg-[#8881] hover:scale-110 transition-all duration-300 relative"])
|
|
82
|
+
}, [createVNode(_sfc_main$18, {
|
|
83
|
+
icon: __props.dock.icon,
|
|
84
|
+
title: __props.dock.title,
|
|
85
|
+
class: "w-5 h-5 select-none"
|
|
86
|
+
}, null, 8, ["icon", "title"]), __props.badge ? (openBlock(), createElementBlock("div", _hoisted_2$6, toDisplayString(__props.badge), 1)) : createCommentVNode("v-if", true)], 10, _hoisted_1$9)], 32);
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
//#endregion
|
|
92
|
+
//#region src/client/webcomponents/components/DockEntries.vue
|
|
93
|
+
const _sfc_main$16 = /* @__PURE__ */ defineComponent({
|
|
13
94
|
__name: "DockEntries",
|
|
14
95
|
props: {
|
|
96
|
+
context: {},
|
|
97
|
+
entries: {},
|
|
15
98
|
selected: {},
|
|
16
|
-
isVertical: { type: Boolean }
|
|
17
|
-
entries: {}
|
|
99
|
+
isVertical: { type: Boolean }
|
|
18
100
|
},
|
|
19
101
|
emits: ["select"],
|
|
20
102
|
setup(__props, { emit: __emit }) {
|
|
@@ -26,49 +108,178 @@ var DockEntries_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ de
|
|
|
26
108
|
else emit("select", dock);
|
|
27
109
|
}
|
|
28
110
|
return (_ctx, _cache) => {
|
|
29
|
-
return openBlock(
|
|
30
|
-
return openBlock(), createElementBlock(
|
|
31
|
-
key:
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
111
|
+
return openBlock(true), createElementBlock(Fragment, null, renderList(unref(entries), (dock) => {
|
|
112
|
+
return openBlock(), createElementBlock(Fragment, { key: dock.id }, [!dock.isHidden ? (openBlock(), createBlock(_sfc_main$17, {
|
|
113
|
+
key: 0,
|
|
114
|
+
dock,
|
|
115
|
+
"is-selected": unref(selected)?.id === dock.id,
|
|
116
|
+
"is-dimmed": unref(selected) ? unref(selected).id !== dock.id : false,
|
|
117
|
+
"is-vertical": unref(isVertical),
|
|
36
118
|
onClick: ($event) => toggleDockEntry(dock)
|
|
37
|
-
},
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
119
|
+
}, null, 8, [
|
|
120
|
+
"dock",
|
|
121
|
+
"is-selected",
|
|
122
|
+
"is-dimmed",
|
|
123
|
+
"is-vertical",
|
|
124
|
+
"onClick"
|
|
125
|
+
])) : createCommentVNode("v-if", true)], 64);
|
|
126
|
+
}), 128);
|
|
44
127
|
};
|
|
45
128
|
}
|
|
46
129
|
});
|
|
47
130
|
|
|
48
131
|
//#endregion
|
|
49
|
-
//#region src/client/webcomponents/components/
|
|
50
|
-
|
|
132
|
+
//#region src/client/webcomponents/components/DockEntriesWithCategories.vue
|
|
133
|
+
const _sfc_main$15 = /* @__PURE__ */ defineComponent({
|
|
134
|
+
__name: "DockEntriesWithCategories",
|
|
135
|
+
props: {
|
|
136
|
+
context: {},
|
|
137
|
+
groups: {},
|
|
138
|
+
selected: {},
|
|
139
|
+
isVertical: { type: Boolean }
|
|
140
|
+
},
|
|
141
|
+
emits: ["select"],
|
|
142
|
+
setup(__props, { emit: __emit }) {
|
|
143
|
+
const emit = __emit;
|
|
144
|
+
return (_ctx, _cache) => {
|
|
145
|
+
return openBlock(true), createElementBlock(Fragment, null, renderList(__props.groups, ([category, entries], idx) => {
|
|
146
|
+
return openBlock(), createElementBlock(Fragment, { key: category }, [idx > 0 ? renderSlot(_ctx.$slots, "separator", {
|
|
147
|
+
key: 0,
|
|
148
|
+
category,
|
|
149
|
+
index: idx,
|
|
150
|
+
isVertical: __props.isVertical
|
|
151
|
+
}, () => [_cache[1] || (_cache[1] = createBaseVNode("div", { class: "border-base m1 h-20px w-px border-r-1.5" }, null, -1))]) : createCommentVNode("v-if", true), createVNode(_sfc_main$16, {
|
|
152
|
+
context: __props.context,
|
|
153
|
+
entries,
|
|
154
|
+
"is-vertical": __props.isVertical,
|
|
155
|
+
selected: __props.selected,
|
|
156
|
+
onSelect: _cache[0] || (_cache[0] = (e) => emit("select", e))
|
|
157
|
+
}, null, 8, [
|
|
158
|
+
"context",
|
|
159
|
+
"entries",
|
|
160
|
+
"is-vertical",
|
|
161
|
+
"selected"
|
|
162
|
+
])], 64);
|
|
163
|
+
}), 128);
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
});
|
|
51
167
|
|
|
52
168
|
//#endregion
|
|
53
|
-
//#region src/client/webcomponents/components/
|
|
54
|
-
const
|
|
169
|
+
//#region src/client/webcomponents/components/DockOverflowButton.vue
|
|
170
|
+
const _sfc_main$14 = /* @__PURE__ */ defineComponent({
|
|
171
|
+
__name: "DockOverflowButton",
|
|
172
|
+
props: {
|
|
173
|
+
context: {},
|
|
174
|
+
isVertical: { type: Boolean },
|
|
175
|
+
groups: {},
|
|
176
|
+
selected: {}
|
|
177
|
+
},
|
|
178
|
+
emits: ["select"],
|
|
179
|
+
setup(__props, { emit: __emit }) {
|
|
180
|
+
const props = __props;
|
|
181
|
+
const emit = __emit;
|
|
182
|
+
const overflowButton = useTemplateRef("overflowButton");
|
|
183
|
+
const overflowBadge = computed(() => {
|
|
184
|
+
const count = props.groups.reduce((acc, [_, items]) => acc + items.length, 0);
|
|
185
|
+
if (count > 9) return "9+";
|
|
186
|
+
return count.toString();
|
|
187
|
+
});
|
|
188
|
+
const isOverflowPanelVisible = ref(false);
|
|
189
|
+
const docksOverflowPanel = useDocksOverflowPanel();
|
|
190
|
+
function showOverflowPanel() {
|
|
191
|
+
if (!overflowButton.value) return;
|
|
192
|
+
isOverflowPanelVisible.value = true;
|
|
193
|
+
setDocksOverflowPanel({
|
|
194
|
+
content: () => h("div", { class: "flex gap-0 flex-wrap max-w-200px" }, [h(_sfc_main$15, {
|
|
195
|
+
context: props.context,
|
|
196
|
+
groups: props.groups,
|
|
197
|
+
isVertical: false,
|
|
198
|
+
selected: props.selected,
|
|
199
|
+
onSelect: (e) => emit("select", e)
|
|
200
|
+
})]),
|
|
201
|
+
el: overflowButton.value
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
watchDebounced(() => docksOverflowPanel.value, (value) => {
|
|
205
|
+
isOverflowPanelVisible.value = !!value;
|
|
206
|
+
}, { debounce: 1e3 });
|
|
207
|
+
function toggleOverflowPanel() {
|
|
208
|
+
if (isOverflowPanelVisible.value) hideOverflowPanel();
|
|
209
|
+
else showOverflowPanel();
|
|
210
|
+
}
|
|
211
|
+
function hideOverflowPanel() {
|
|
212
|
+
isOverflowPanelVisible.value = false;
|
|
213
|
+
setDocksOverflowPanel(null);
|
|
214
|
+
}
|
|
215
|
+
return (_ctx, _cache) => {
|
|
216
|
+
return openBlock(), createElementBlock("div", {
|
|
217
|
+
ref_key: "overflowButton",
|
|
218
|
+
ref: overflowButton
|
|
219
|
+
}, [createVNode(_sfc_main$17, {
|
|
220
|
+
dock: {
|
|
221
|
+
id: "overflow",
|
|
222
|
+
title: "Overflow",
|
|
223
|
+
icon: "ph:dots-three-circle-duotone"
|
|
224
|
+
},
|
|
225
|
+
class: "overflow-button",
|
|
226
|
+
tooltip: false,
|
|
227
|
+
badge: overflowBadge.value,
|
|
228
|
+
"is-vertical": __props.isVertical,
|
|
229
|
+
"is-selected": false,
|
|
230
|
+
"is-dimmed": false,
|
|
231
|
+
onClick: toggleOverflowPanel
|
|
232
|
+
}, null, 8, ["badge", "is-vertical"])], 512);
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
});
|
|
236
|
+
|
|
237
|
+
//#endregion
|
|
238
|
+
//#region src/client/webcomponents/components/icons/BracketLeft.vue
|
|
239
|
+
const _sfc_main$13 = {};
|
|
240
|
+
const _hoisted_1$8 = {
|
|
241
|
+
viewBox: "0 0 9 20",
|
|
242
|
+
fill: "none",
|
|
243
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
244
|
+
};
|
|
245
|
+
function _sfc_render$2(_ctx, _cache) {
|
|
246
|
+
return openBlock(), createElementBlock("svg", _hoisted_1$8, [..._cache[0] || (_cache[0] = [createBaseVNode("path", {
|
|
247
|
+
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",
|
|
248
|
+
class: "fill-black dark:fill-white"
|
|
249
|
+
}, null, -1)])]);
|
|
250
|
+
}
|
|
251
|
+
var BracketLeft_default = /* @__PURE__ */ export_helper_default(_sfc_main$13, [["render", _sfc_render$2]]);
|
|
252
|
+
|
|
253
|
+
//#endregion
|
|
254
|
+
//#region src/client/webcomponents/components/icons/BracketRight.vue
|
|
255
|
+
const _sfc_main$12 = {};
|
|
256
|
+
const _hoisted_1$7 = {
|
|
257
|
+
viewBox: "0 0 9 20",
|
|
258
|
+
fill: "none",
|
|
259
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
260
|
+
};
|
|
261
|
+
function _sfc_render$1(_ctx, _cache) {
|
|
262
|
+
return openBlock(), createElementBlock("svg", _hoisted_1$7, [..._cache[0] || (_cache[0] = [createBaseVNode("path", {
|
|
263
|
+
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",
|
|
264
|
+
class: "fill-black dark:fill-white"
|
|
265
|
+
}, null, -1)])]);
|
|
266
|
+
}
|
|
267
|
+
var BracketRight_default = /* @__PURE__ */ export_helper_default(_sfc_main$12, [["render", _sfc_render$1]]);
|
|
268
|
+
|
|
269
|
+
//#endregion
|
|
270
|
+
//#region src/client/webcomponents/components/Dock.vue
|
|
271
|
+
const _hoisted_1$6 = {
|
|
272
|
+
key: 0,
|
|
273
|
+
class: "i-fluent-emoji-flat-warning absolute bottom-0 right--1px w-1.5 h-1.5"
|
|
274
|
+
};
|
|
275
|
+
const _hoisted_2$5 = { class: "flex items-center gap-1" };
|
|
276
|
+
const PANEL_MARGIN = 2;
|
|
55
277
|
const SNAP_THRESHOLD = 2;
|
|
56
|
-
|
|
278
|
+
const _sfc_main$11 = /* @__PURE__ */ defineComponent({
|
|
57
279
|
__name: "Dock",
|
|
58
|
-
props:
|
|
59
|
-
state: {},
|
|
60
|
-
docks: {}
|
|
61
|
-
}, {
|
|
62
|
-
"isDragging": {
|
|
63
|
-
type: Boolean,
|
|
64
|
-
default: false
|
|
65
|
-
},
|
|
66
|
-
"isDraggingModifiers": {}
|
|
67
|
-
}),
|
|
68
|
-
emits: ["update:isDragging"],
|
|
280
|
+
props: { context: {} },
|
|
69
281
|
setup(__props) {
|
|
70
|
-
const
|
|
71
|
-
const isDragging = useModel(__props, "isDragging");
|
|
282
|
+
const context = __props.context;
|
|
72
283
|
const isSafari = navigator.userAgent.includes("Safari") && !navigator.userAgent.includes("Chrome");
|
|
73
284
|
const panelMargins = reactive({
|
|
74
285
|
left: PANEL_MARGIN,
|
|
@@ -90,6 +301,8 @@ var Dock_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
|
|
|
90
301
|
});
|
|
91
302
|
const dockEl = useTemplateRef("dockEl");
|
|
92
303
|
const anchorEl = useTemplateRef("anchorEl");
|
|
304
|
+
const recalculateCounter = ref(0);
|
|
305
|
+
const isHovering = ref(false);
|
|
93
306
|
const windowSize = reactive({
|
|
94
307
|
width: window.innerWidth,
|
|
95
308
|
height: window.innerHeight
|
|
@@ -104,12 +317,20 @@ var Dock_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
|
|
|
104
317
|
});
|
|
105
318
|
function onPointerDown(e) {
|
|
106
319
|
if (!dockEl.value) return;
|
|
107
|
-
isDragging
|
|
320
|
+
context.panel.isDragging = true;
|
|
108
321
|
const { left, top, width, height } = dockEl.value.getBoundingClientRect();
|
|
109
322
|
draggingOffset.x = e.clientX - left - width / 2;
|
|
110
323
|
draggingOffset.y = e.clientY - top - height / 2;
|
|
111
324
|
}
|
|
112
|
-
|
|
325
|
+
const isRpcTrusted = ref(context.rpc.isTrusted);
|
|
326
|
+
context.rpc.events.on("rpc:is-trusted:updated", (isTrusted) => {
|
|
327
|
+
isRpcTrusted.value = isTrusted;
|
|
328
|
+
if (isTrusted && context.docks.selected?.id === BUILTIN_ENTRY_CLIENT_AUTH_NOTICE.id) context.docks.switchEntry(null);
|
|
329
|
+
});
|
|
330
|
+
const splitedEntries = computed(() => {
|
|
331
|
+
return docksSplitGroupsWithCapacity(context.docks.groupedEntries, 5);
|
|
332
|
+
});
|
|
333
|
+
onMounted(async () => {
|
|
113
334
|
windowSize.width = window.innerWidth;
|
|
114
335
|
windowSize.height = window.innerHeight;
|
|
115
336
|
useEventListener(window, "resize", () => {
|
|
@@ -117,7 +338,8 @@ var Dock_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
|
|
|
117
338
|
windowSize.height = window.innerHeight;
|
|
118
339
|
});
|
|
119
340
|
useEventListener(window, "pointermove", (e) => {
|
|
120
|
-
if (!isDragging
|
|
341
|
+
if (!context.panel.isDragging) return;
|
|
342
|
+
const store = context.panel.store;
|
|
121
343
|
const centerX = window.innerWidth / 2;
|
|
122
344
|
const centerY = window.innerHeight / 2;
|
|
123
345
|
const x = e.clientX - draggingOffset.x;
|
|
@@ -131,15 +353,15 @@ var Dock_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
|
|
|
131
353
|
const TR = Math.atan2(0 - centerY + HORIZONTAL_MARGIN, window.innerWidth - centerX);
|
|
132
354
|
const BL = Math.atan2(window.innerHeight - HORIZONTAL_MARGIN - centerY, 0 - centerX);
|
|
133
355
|
const BR = Math.atan2(window.innerHeight - HORIZONTAL_MARGIN - centerY, window.innerWidth - centerX);
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
356
|
+
store.position = deg >= TL && deg <= TR ? "top" : deg >= TR && deg <= BR ? "right" : deg >= BR && deg <= BL ? "bottom" : "left";
|
|
357
|
+
store.left = snapToPoints(x / window.innerWidth * 100);
|
|
358
|
+
store.top = snapToPoints(y / window.innerHeight * 100);
|
|
137
359
|
});
|
|
138
360
|
useEventListener(window, "pointerup", () => {
|
|
139
|
-
isDragging
|
|
361
|
+
context.panel.isDragging = false;
|
|
140
362
|
});
|
|
141
363
|
useEventListener(window, "pointerleave", () => {
|
|
142
|
-
isDragging
|
|
364
|
+
context.panel.isDragging = false;
|
|
143
365
|
});
|
|
144
366
|
});
|
|
145
367
|
function snapToPoints(value) {
|
|
@@ -151,16 +373,14 @@ var Dock_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
|
|
|
151
373
|
function clamp(value, min, max) {
|
|
152
374
|
return Math.min(Math.max(value, min), max);
|
|
153
375
|
}
|
|
154
|
-
const recalculateCounter = ref(0);
|
|
155
|
-
const isHovering = ref(false);
|
|
156
|
-
const isVertical = computed(() => state.value.position === "left" || state.value.position === "right");
|
|
157
376
|
const anchorPos = computed(() => {
|
|
158
377
|
recalculateCounter.value;
|
|
378
|
+
const store = context.panel.store;
|
|
159
379
|
const halfWidth = (dockEl.value?.clientWidth || 0) / 2;
|
|
160
380
|
const halfHeight = (dockEl.value?.clientHeight || 0) / 2;
|
|
161
|
-
const left =
|
|
162
|
-
const top =
|
|
163
|
-
switch (
|
|
381
|
+
const left = store.left * windowSize.width / 100;
|
|
382
|
+
const top = store.top * windowSize.height / 100;
|
|
383
|
+
switch (store.position) {
|
|
164
384
|
case "top": return {
|
|
165
385
|
left: clamp(left, halfWidth + panelMargins.left, windowSize.width - halfWidth - panelMargins.right),
|
|
166
386
|
top: panelMargins.top + halfHeight
|
|
@@ -173,7 +393,6 @@ var Dock_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
|
|
|
173
393
|
left: panelMargins.left + halfHeight,
|
|
174
394
|
top: clamp(top, halfWidth + panelMargins.top, windowSize.height - halfWidth - panelMargins.bottom)
|
|
175
395
|
};
|
|
176
|
-
case "bottom":
|
|
177
396
|
default: return {
|
|
178
397
|
left: clamp(left, halfWidth + panelMargins.left, windowSize.width - halfWidth - panelMargins.right),
|
|
179
398
|
top: windowSize.height - panelMargins.bottom - halfHeight
|
|
@@ -183,18 +402,18 @@ var Dock_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
|
|
|
183
402
|
let _timer = null;
|
|
184
403
|
function bringUp() {
|
|
185
404
|
isHovering.value = true;
|
|
186
|
-
if (
|
|
405
|
+
if (context.panel.store.inactiveTimeout < 0) return;
|
|
187
406
|
if (_timer) clearTimeout(_timer);
|
|
188
407
|
_timer = setTimeout(() => {
|
|
189
408
|
isHovering.value = false;
|
|
190
|
-
}, +
|
|
409
|
+
}, +context.panel.store.inactiveTimeout || 0);
|
|
191
410
|
}
|
|
192
411
|
const isHidden = computed(() => false);
|
|
193
412
|
const isMinimized = computed(() => {
|
|
194
|
-
if (
|
|
195
|
-
if (
|
|
413
|
+
if (context.panel.store.inactiveTimeout < 0) return false;
|
|
414
|
+
if (context.panel.store.inactiveTimeout === 0) return true;
|
|
196
415
|
const isTouchDevice = "ontouchstart" in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;
|
|
197
|
-
return !isDragging
|
|
416
|
+
return !context.panel.isDragging && !context.panel.store.open && !isHovering.value && !isTouchDevice && context.panel.store.inactiveTimeout;
|
|
198
417
|
});
|
|
199
418
|
const anchorStyle = computed(() => {
|
|
200
419
|
return {
|
|
@@ -204,16 +423,17 @@ var Dock_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
|
|
|
204
423
|
};
|
|
205
424
|
});
|
|
206
425
|
const panelStyle = computed(() => {
|
|
207
|
-
const style = { transform: isVertical
|
|
426
|
+
const style = { transform: context.panel.isVertical ? `translate(-50%, -50%) rotate(90deg)` : `translate(-50%, -50%)` };
|
|
208
427
|
if (isHidden.value) {
|
|
209
428
|
style.opacity = 0;
|
|
210
429
|
style.pointerEvents = "none";
|
|
211
430
|
}
|
|
212
|
-
if (isDragging
|
|
431
|
+
if (context.panel.isDragging) style.transition = "none !important";
|
|
213
432
|
return style;
|
|
214
433
|
});
|
|
215
434
|
onMounted(() => {
|
|
216
|
-
|
|
435
|
+
if (context.panel.store.open && !isRpcTrusted.value) context.panel.store.open = false;
|
|
436
|
+
if (isRpcTrusted.value) bringUp();
|
|
217
437
|
recalculateCounter.value++;
|
|
218
438
|
});
|
|
219
439
|
return (_ctx, _cache) => {
|
|
@@ -223,8 +443,8 @@ var Dock_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
|
|
|
223
443
|
ref: anchorEl,
|
|
224
444
|
style: normalizeStyle([anchorStyle.value]),
|
|
225
445
|
class: normalizeClass({
|
|
226
|
-
"vite-devtools-horizontal": !isVertical
|
|
227
|
-
"vite-devtools-vertical": isVertical
|
|
446
|
+
"vite-devtools-horizontal": !unref(context).panel.isVertical,
|
|
447
|
+
"vite-devtools-vertical": unref(context).panel.isVertical,
|
|
228
448
|
"vite-devtools-minimized": isMinimized.value
|
|
229
449
|
}),
|
|
230
450
|
onMousemove: bringUp
|
|
@@ -232,8 +452,14 @@ var Dock_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
|
|
|
232
452
|
!unref(isSafari) ? (openBlock(), createElementBlock("div", {
|
|
233
453
|
key: 0,
|
|
234
454
|
id: "vite-devtools-glowing",
|
|
235
|
-
|
|
236
|
-
}, null,
|
|
455
|
+
class: normalizeClass(unref(context).panel.isDragging ? "op60!" : "")
|
|
456
|
+
}, null, 2)) : createCommentVNode("v-if", true),
|
|
457
|
+
renderSlot(_ctx.$slots, "default", {
|
|
458
|
+
context: unref(context),
|
|
459
|
+
dockEl: dockEl.value,
|
|
460
|
+
selected: unref(context).docks.selected,
|
|
461
|
+
panelMargins
|
|
462
|
+
}),
|
|
237
463
|
createBaseVNode("div", {
|
|
238
464
|
id: "vite-devtools-dock-container",
|
|
239
465
|
ref_key: "dockEl",
|
|
@@ -242,74 +468,153 @@ var Dock_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
|
|
|
242
468
|
}, [createBaseVNode("div", {
|
|
243
469
|
id: "vite-devtools-dock",
|
|
244
470
|
onPointerdown: onPointerDown
|
|
245
|
-
}, [
|
|
246
|
-
|
|
247
|
-
class: normalizeClass(
|
|
248
|
-
"
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
"
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
"
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
471
|
+
}, [
|
|
472
|
+
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" }),
|
|
473
|
+
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"]),
|
|
474
|
+
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),
|
|
475
|
+
!isRpcTrusted.value ? (openBlock(), createElementBlock("div", {
|
|
476
|
+
key: 0,
|
|
477
|
+
class: normalizeClass(["transition duration-300 delay-200", isMinimized.value ? "opacity-0 pointer-events-none ws-nowrap text-sm text-orange of-hidden" : "opacity-100"])
|
|
478
|
+
}, [createBaseVNode("button", {
|
|
479
|
+
class: "p2 transition hover:bg-active rounded-full px4",
|
|
480
|
+
onClick: _cache[0] || (_cache[0] = ($event) => unref(context).docks.toggleEntry(unref(BUILTIN_ENTRY_CLIENT_AUTH_NOTICE).id))
|
|
481
|
+
}, [createBaseVNode("div", _hoisted_2$5, [createBaseVNode("div", { class: normalizeClass(["i-fluent-emoji-flat-warning flex-none", unref(context).panel.isVertical ? "rotate-270" : "rotate-0"]) }, null, 2), _cache[3] || (_cache[3] = createBaseVNode("div", { class: "ws-nowrap text-amber" }, " Unauthorized ", -1))])])], 2)) : createCommentVNode("v-if", true),
|
|
482
|
+
createBaseVNode("div", { class: normalizeClass([isMinimized.value ? "opacity-0 pointer-events-none" : "opacity-100", "transition duration-200 flex items-center w-full h-full justify-center px3"]) }, [createVNode(_sfc_main$15, {
|
|
483
|
+
context: unref(context),
|
|
484
|
+
groups: splitedEntries.value.visible,
|
|
485
|
+
"is-vertical": unref(context).panel.isVertical,
|
|
486
|
+
selected: unref(context).docks.selected,
|
|
487
|
+
onSelect: _cache[1] || (_cache[1] = (e) => unref(context).docks.switchEntry(e?.id))
|
|
488
|
+
}, null, 8, [
|
|
489
|
+
"context",
|
|
490
|
+
"groups",
|
|
491
|
+
"is-vertical",
|
|
492
|
+
"selected"
|
|
493
|
+
]), splitedEntries.value.overflow.length > 0 ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [_cache[4] || (_cache[4] = createBaseVNode("div", { class: "border-base m1 h-20px w-px border-r-1.5" }, null, -1)), createVNode(_sfc_main$14, {
|
|
494
|
+
context: unref(context),
|
|
495
|
+
"is-vertical": unref(context).panel.isVertical,
|
|
496
|
+
groups: splitedEntries.value.overflow,
|
|
497
|
+
selected: unref(context).docks.selected,
|
|
498
|
+
onSelect: _cache[2] || (_cache[2] = (e) => unref(context).docks.switchEntry(e?.id))
|
|
499
|
+
}, null, 8, [
|
|
500
|
+
"context",
|
|
501
|
+
"is-vertical",
|
|
502
|
+
"groups",
|
|
503
|
+
"selected"
|
|
504
|
+
])], 64)) : createCommentVNode("v-if", true)], 2)
|
|
505
|
+
], 32)], 4)
|
|
263
506
|
], 38);
|
|
264
507
|
};
|
|
265
508
|
}
|
|
266
509
|
});
|
|
267
510
|
|
|
268
511
|
//#endregion
|
|
269
|
-
//#region src/client/webcomponents/
|
|
270
|
-
var
|
|
512
|
+
//#region src/client/webcomponents/utils/PersistedDomViewsManager.ts
|
|
513
|
+
var PersistedDomViewsManager = class {
|
|
514
|
+
holders = {};
|
|
515
|
+
constructor(container) {
|
|
516
|
+
this.container = container;
|
|
517
|
+
}
|
|
518
|
+
getHolder(id, _type) {
|
|
519
|
+
return this.holders[id];
|
|
520
|
+
}
|
|
521
|
+
getOrCreateHolder(id, type) {
|
|
522
|
+
if (!this.container.value) throw new Error("[VITE DEVTOOLS] PersistedDomViewsManager: container is not set");
|
|
523
|
+
let holder;
|
|
524
|
+
if (!this.holders[id]) {
|
|
525
|
+
const el = document.createElement(type);
|
|
526
|
+
this.holders[id] = new PersistedDomHolder(id, el);
|
|
527
|
+
this.container.value.appendChild(el);
|
|
528
|
+
holder = this.holders[id];
|
|
529
|
+
} else holder = this.holders[id];
|
|
530
|
+
return holder;
|
|
531
|
+
}
|
|
532
|
+
removeHolder(id) {
|
|
533
|
+
const holder = this.holders[id];
|
|
534
|
+
if (!holder) return false;
|
|
535
|
+
holder.unmount();
|
|
536
|
+
holder.element.remove();
|
|
537
|
+
delete this.holders[id];
|
|
538
|
+
return true;
|
|
539
|
+
}
|
|
540
|
+
};
|
|
541
|
+
var PersistedDomHolder = class {
|
|
542
|
+
element;
|
|
543
|
+
id;
|
|
544
|
+
anchor;
|
|
545
|
+
_cleanups = [];
|
|
546
|
+
constructor(id, iframe) {
|
|
547
|
+
this.id = id;
|
|
548
|
+
this.element = iframe;
|
|
549
|
+
}
|
|
550
|
+
cleanup() {
|
|
551
|
+
this._cleanups.forEach((cleanup) => cleanup());
|
|
552
|
+
this._cleanups = [];
|
|
553
|
+
}
|
|
554
|
+
mount(parent) {
|
|
555
|
+
if (this.anchor === parent) {
|
|
556
|
+
this.show();
|
|
557
|
+
return;
|
|
558
|
+
}
|
|
559
|
+
this.cleanup();
|
|
560
|
+
this.anchor = parent;
|
|
561
|
+
const update = () => this.update();
|
|
562
|
+
window.addEventListener("resize", update);
|
|
563
|
+
this._cleanups.push(() => window.removeEventListener("resize", update));
|
|
564
|
+
this.show();
|
|
565
|
+
}
|
|
566
|
+
hide() {
|
|
567
|
+
this.element.style.display = "none";
|
|
568
|
+
}
|
|
569
|
+
show() {
|
|
570
|
+
this.element.style.display = "block";
|
|
571
|
+
this.update();
|
|
572
|
+
}
|
|
573
|
+
update() {
|
|
574
|
+
if (!this.anchor) return;
|
|
575
|
+
const rect = this.anchor.getBoundingClientRect();
|
|
576
|
+
this.element.style.position = "absolute";
|
|
577
|
+
this.element.style.width = `${rect.width}px`;
|
|
578
|
+
this.element.style.height = `${rect.height}px`;
|
|
579
|
+
}
|
|
580
|
+
unmount() {
|
|
581
|
+
this.cleanup();
|
|
582
|
+
this.hide();
|
|
583
|
+
this.anchor = void 0;
|
|
584
|
+
}
|
|
585
|
+
};
|
|
271
586
|
|
|
272
587
|
//#endregion
|
|
273
|
-
//#region src/client/webcomponents/components/DockPanelResizer.vue
|
|
588
|
+
//#region src/client/webcomponents/components/DockPanelResizer.vue
|
|
274
589
|
const PANEL_MIN = 20;
|
|
275
590
|
const PANEL_MAX = 100;
|
|
276
|
-
|
|
591
|
+
const _sfc_main$10 = /* @__PURE__ */ defineComponent({
|
|
277
592
|
__name: "DockPanelResizer",
|
|
278
|
-
props:
|
|
279
|
-
state: {},
|
|
280
|
-
isDragging: { type: Boolean }
|
|
281
|
-
}, {
|
|
282
|
-
"isResizing": {
|
|
283
|
-
type: Boolean,
|
|
284
|
-
default: false
|
|
285
|
-
},
|
|
286
|
-
"isResizingModifiers": {}
|
|
287
|
-
}),
|
|
288
|
-
emits: ["update:isResizing"],
|
|
593
|
+
props: { panel: {} },
|
|
289
594
|
setup(__props) {
|
|
290
595
|
const props = __props;
|
|
291
|
-
const
|
|
292
|
-
const
|
|
293
|
-
const container = ref();
|
|
596
|
+
const topHandle = useTemplateRef("topHandle");
|
|
597
|
+
const container = computed(() => topHandle.value?.parentElement);
|
|
294
598
|
const resizingState = ref(false);
|
|
295
599
|
function handleResize(e) {
|
|
296
600
|
if (!resizingState.value) return;
|
|
297
601
|
const box = container.value?.getBoundingClientRect();
|
|
298
602
|
if (!box) return;
|
|
603
|
+
const store = props.panel.store;
|
|
299
604
|
let widthPx, heightPx;
|
|
300
605
|
if (resizingState.value.right) {
|
|
301
606
|
widthPx = Math.abs(e instanceof MouseEvent ? e.clientX : (e.touches[0]?.clientX || 0) - (box?.left || 0));
|
|
302
|
-
|
|
607
|
+
store.width = Math.min(PANEL_MAX, Math.max(PANEL_MIN, widthPx / window.innerWidth * 100));
|
|
303
608
|
} else if (resizingState.value.left) {
|
|
304
609
|
widthPx = Math.abs((box?.right || 0) - (e instanceof MouseEvent ? e.clientX : e.touches[0]?.clientX || 0));
|
|
305
|
-
|
|
610
|
+
store.width = Math.min(PANEL_MAX, Math.max(PANEL_MIN, widthPx / window.innerWidth * 100));
|
|
306
611
|
}
|
|
307
612
|
if (resizingState.value.top) {
|
|
308
613
|
heightPx = Math.abs((box?.bottom || 0) - (e instanceof MouseEvent ? e.clientY : e.touches[0]?.clientY || 0));
|
|
309
|
-
|
|
614
|
+
store.height = Math.min(PANEL_MAX, Math.max(PANEL_MIN, heightPx / window.innerHeight * 100));
|
|
310
615
|
} else if (resizingState.value.bottom) {
|
|
311
616
|
heightPx = Math.abs(e instanceof MouseEvent ? e.clientY : (e.touches[0]?.clientY || 0) - (box?.top || 0));
|
|
312
|
-
|
|
617
|
+
store.height = Math.min(PANEL_MAX, Math.max(PANEL_MIN, heightPx / window.innerHeight * 100));
|
|
313
618
|
}
|
|
314
619
|
}
|
|
315
620
|
useEventListener(window, "mousemove", handleResize);
|
|
@@ -318,40 +623,37 @@ var DockPanelResizer_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
318
623
|
useEventListener(window, "touchend", () => resizingState.value = false);
|
|
319
624
|
useEventListener(window, "mouseleave", () => resizingState.value = false);
|
|
320
625
|
watch(resizingState, (value) => {
|
|
321
|
-
isResizing
|
|
626
|
+
props.panel.isResizing = !!value;
|
|
322
627
|
}, { flush: "sync" });
|
|
323
628
|
return (_ctx, _cache) => {
|
|
324
|
-
return openBlock(), createElementBlock(
|
|
325
|
-
id: "vite-devtools-resize-container",
|
|
326
|
-
ref_key: "container",
|
|
327
|
-
ref: container,
|
|
328
|
-
class: "w-full h-full absolute left-0 right-0 bottom-0 top-0 antialiased"
|
|
329
|
-
}, [
|
|
629
|
+
return openBlock(), createElementBlock(Fragment, null, [
|
|
330
630
|
createCommentVNode(" Handlers "),
|
|
331
631
|
withDirectives(createBaseVNode("div", {
|
|
632
|
+
ref_key: "topHandle",
|
|
633
|
+
ref: topHandle,
|
|
332
634
|
class: "vite-devtools-resize-handle vite-devtools-resize-handle-horizontal",
|
|
333
635
|
style: { top: 0 },
|
|
334
636
|
onMousedown: _cache[0] || (_cache[0] = withModifiers(($event) => resizingState.value = { top: true }, ["prevent"])),
|
|
335
637
|
onTouchstartPassive: _cache[1] || (_cache[1] = () => resizingState.value = { top: true })
|
|
336
|
-
}, null, 544), [[vShow,
|
|
638
|
+
}, null, 544), [[vShow, __props.panel.store.position !== "top"]]),
|
|
337
639
|
withDirectives(createBaseVNode("div", {
|
|
338
640
|
class: "vite-devtools-resize-handle vite-devtools-resize-handle-horizontal",
|
|
339
641
|
style: { bottom: 0 },
|
|
340
642
|
onMousedown: _cache[2] || (_cache[2] = withModifiers(() => resizingState.value = { bottom: true }, ["prevent"])),
|
|
341
643
|
onTouchstartPassive: _cache[3] || (_cache[3] = () => resizingState.value = { bottom: true })
|
|
342
|
-
}, null, 544), [[vShow,
|
|
644
|
+
}, null, 544), [[vShow, __props.panel.store.position !== "bottom"]]),
|
|
343
645
|
withDirectives(createBaseVNode("div", {
|
|
344
646
|
class: "vite-devtools-resize-handle vite-devtools-resize-handle-vertical",
|
|
345
647
|
style: { left: 0 },
|
|
346
648
|
onMousedown: _cache[4] || (_cache[4] = withModifiers(() => resizingState.value = { left: true }, ["prevent"])),
|
|
347
649
|
onTouchstartPassive: _cache[5] || (_cache[5] = () => resizingState.value = { left: true })
|
|
348
|
-
}, null, 544), [[vShow,
|
|
650
|
+
}, null, 544), [[vShow, __props.panel.store.position !== "left"]]),
|
|
349
651
|
withDirectives(createBaseVNode("div", {
|
|
350
652
|
class: "vite-devtools-resize-handle vite-devtools-resize-handle-vertical",
|
|
351
653
|
style: { right: 0 },
|
|
352
654
|
onMousedown: _cache[6] || (_cache[6] = withModifiers(() => resizingState.value = { right: true }, ["prevent"])),
|
|
353
655
|
onTouchstartPassive: _cache[7] || (_cache[7] = () => resizingState.value = { right: true })
|
|
354
|
-
}, null, 544), [[vShow,
|
|
656
|
+
}, null, 544), [[vShow, __props.panel.store.position !== "right"]]),
|
|
355
657
|
withDirectives(createBaseVNode("div", {
|
|
356
658
|
class: "vite-devtools-resize-handle vite-devtools-resize-handle-corner",
|
|
357
659
|
style: {
|
|
@@ -367,7 +669,7 @@ var DockPanelResizer_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
367
669
|
top: true,
|
|
368
670
|
left: true
|
|
369
671
|
})
|
|
370
|
-
}, null, 544), [[vShow,
|
|
672
|
+
}, null, 544), [[vShow, __props.panel.store.position !== "top" && __props.panel.store.position !== "left"]]),
|
|
371
673
|
withDirectives(createBaseVNode("div", {
|
|
372
674
|
class: "vite-devtools-resize-handle vite-devtools-resize-handle-corner",
|
|
373
675
|
style: {
|
|
@@ -383,7 +685,7 @@ var DockPanelResizer_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
383
685
|
top: true,
|
|
384
686
|
right: true
|
|
385
687
|
})
|
|
386
|
-
}, null, 544), [[vShow,
|
|
688
|
+
}, null, 544), [[vShow, __props.panel.store.position !== "top" && __props.panel.store.position !== "right"]]),
|
|
387
689
|
withDirectives(createBaseVNode("div", {
|
|
388
690
|
class: "vite-devtools-resize-handle vite-devtools-resize-handle-corner",
|
|
389
691
|
style: {
|
|
@@ -399,7 +701,7 @@ var DockPanelResizer_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
399
701
|
bottom: true,
|
|
400
702
|
left: true
|
|
401
703
|
})
|
|
402
|
-
}, null, 544), [[vShow,
|
|
704
|
+
}, null, 544), [[vShow, __props.panel.store.position !== "bottom" && __props.panel.store.position !== "left"]]),
|
|
403
705
|
withDirectives(createBaseVNode("div", {
|
|
404
706
|
class: "vite-devtools-resize-handle vite-devtools-resize-handle-corner",
|
|
405
707
|
style: {
|
|
@@ -415,206 +717,632 @@ var DockPanelResizer_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
415
717
|
bottom: true,
|
|
416
718
|
right: true
|
|
417
719
|
})
|
|
418
|
-
}, null, 544), [[vShow,
|
|
419
|
-
],
|
|
720
|
+
}, null, 544), [[vShow, __props.panel.store.position !== "bottom" && __props.panel.store.position !== "right"]])
|
|
721
|
+
], 64);
|
|
420
722
|
};
|
|
421
723
|
}
|
|
422
724
|
});
|
|
423
725
|
|
|
424
726
|
//#endregion
|
|
425
|
-
//#region src/client/webcomponents/components/
|
|
426
|
-
|
|
727
|
+
//#region src/client/webcomponents/components/icons/VitePlus.vue
|
|
728
|
+
const _sfc_main$9 = {};
|
|
729
|
+
const _hoisted_1$5 = {
|
|
730
|
+
viewBox: "0 0 40 40",
|
|
731
|
+
fill: "none",
|
|
732
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
733
|
+
};
|
|
734
|
+
function _sfc_render(_ctx, _cache) {
|
|
735
|
+
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)])]);
|
|
736
|
+
}
|
|
737
|
+
var VitePlus_default = /* @__PURE__ */ export_helper_default(_sfc_main$9, [["render", _sfc_render]]);
|
|
427
738
|
|
|
428
739
|
//#endregion
|
|
429
|
-
//#region src/client/webcomponents/components/
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
}
|
|
445
|
-
return iframe;
|
|
740
|
+
//#region src/client/webcomponents/components/ViewBuiltinClientAuthNotice.vue
|
|
741
|
+
const _hoisted_1$4 = { class: "w-full h-full flex flex-col items-center justify-center p20" };
|
|
742
|
+
const _hoisted_2$4 = { class: "max-w-150 flex flex-col items-center justify-center gap-2" };
|
|
743
|
+
const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
744
|
+
__name: "ViewBuiltinClientAuthNotice",
|
|
745
|
+
props: { context: {} },
|
|
746
|
+
setup(__props) {
|
|
747
|
+
return (_ctx, _cache) => {
|
|
748
|
+
return openBlock(), createElementBlock("div", _hoisted_1$4, [createBaseVNode("div", _hoisted_2$4, [
|
|
749
|
+
createVNode(VitePlus_default, { class: "w-20 h-20" }),
|
|
750
|
+
_cache[0] || (_cache[0] = createBaseVNode("h1", { class: "text-2xl font-bold text-violet mb2" }, " Vite DevTools is Unauthorized ", -1)),
|
|
751
|
+
_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)),
|
|
752
|
+
_cache[2] || (_cache[2] = createBaseVNode("p", { class: "op75" }, " To protect your project from unauthorized access, please authorize your browser before proceeding. ", -1)),
|
|
753
|
+
_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))
|
|
754
|
+
])]);
|
|
755
|
+
};
|
|
446
756
|
}
|
|
757
|
+
});
|
|
758
|
+
|
|
759
|
+
//#endregion
|
|
760
|
+
//#region src/client/webcomponents/components/ViewBuiltinSettings.vue
|
|
761
|
+
const _hoisted_1$3 = { class: "h-screen w-full overflow-auto p10" };
|
|
762
|
+
const _hoisted_2$3 = { class: "max-w-200 mx-auto" };
|
|
763
|
+
const _hoisted_3$2 = { class: "mb-8" };
|
|
764
|
+
const _hoisted_4$1 = { class: "flex flex-col gap-4" };
|
|
765
|
+
const _hoisted_5$1 = { class: "flex items-center gap-2 px-4 py-3 bg-gray/5 cursor-pointer select-none border-b border-base" };
|
|
766
|
+
const _hoisted_6 = ["onClick"];
|
|
767
|
+
const _hoisted_7 = { class: "font-medium capitalize" };
|
|
768
|
+
const _hoisted_8 = { class: "text-xs op40" };
|
|
769
|
+
const _hoisted_9 = ["onClick"];
|
|
770
|
+
const _hoisted_10 = ["title", "onClick"];
|
|
771
|
+
const _hoisted_11 = {
|
|
772
|
+
key: 0,
|
|
773
|
+
class: "i-ph-check-bold text-xs"
|
|
447
774
|
};
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
}
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
775
|
+
const _hoisted_12 = { class: "flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity" };
|
|
776
|
+
const _hoisted_13 = ["onClick"];
|
|
777
|
+
const _hoisted_14 = ["onClick"];
|
|
778
|
+
const _hoisted_15 = ["title", "onClick"];
|
|
779
|
+
const _hoisted_16 = { class: "border-t border-base pt-6 mb-8" };
|
|
780
|
+
const _hoisted_17 = { class: "flex flex-col gap-3" };
|
|
781
|
+
const _hoisted_18 = { class: "flex items-center gap-3 cursor-pointer group" };
|
|
782
|
+
const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
783
|
+
__name: "ViewBuiltinSettings",
|
|
784
|
+
props: {
|
|
785
|
+
context: {},
|
|
786
|
+
entry: {}
|
|
787
|
+
},
|
|
788
|
+
setup(__props) {
|
|
789
|
+
const props = __props;
|
|
790
|
+
const settingsStore = props.context.docks.settings;
|
|
791
|
+
const settings = sharedStateToRef(settingsStore);
|
|
792
|
+
const categories = computed(() => {
|
|
793
|
+
return docksGroupByCategories(props.context.docks.entries, settingsStore.value(), { includeHidden: true });
|
|
794
|
+
});
|
|
795
|
+
function getCategoryLabel(category) {
|
|
796
|
+
return {
|
|
797
|
+
"~viteplus": "Vite+",
|
|
798
|
+
"default": "Default",
|
|
799
|
+
"app": "App",
|
|
800
|
+
"framework": "Framework",
|
|
801
|
+
"web": "Web",
|
|
802
|
+
"advanced": "Advanced",
|
|
803
|
+
"~builtin": "Built-in"
|
|
804
|
+
}[category] || category;
|
|
465
805
|
}
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
806
|
+
function toggleDock(id, visible) {
|
|
807
|
+
const isHidden = settings.value.docksHidden.includes(id);
|
|
808
|
+
if (visible ?? isHidden) settingsStore.mutate((state) => {
|
|
809
|
+
state.docksHidden = state.docksHidden.filter((i) => i !== id);
|
|
810
|
+
});
|
|
811
|
+
else settingsStore.mutate((state) => {
|
|
812
|
+
state.docksHidden = [...state.docksHidden, id];
|
|
813
|
+
});
|
|
814
|
+
}
|
|
815
|
+
function toggleCategory(category, visible) {
|
|
816
|
+
const isHidden = settings.value.docksCategoriesHidden.includes(category);
|
|
817
|
+
if (visible ?? isHidden) settingsStore.mutate((state) => {
|
|
818
|
+
state.docksCategoriesHidden = state.docksCategoriesHidden.filter((i) => i !== category);
|
|
819
|
+
});
|
|
820
|
+
else settingsStore.mutate((state) => {
|
|
821
|
+
state.docksCategoriesHidden = [...state.docksCategoriesHidden, category];
|
|
822
|
+
});
|
|
823
|
+
}
|
|
824
|
+
function togglePin(id) {
|
|
825
|
+
if (settings.value.docksPinned.includes(id)) settingsStore.mutate((state) => {
|
|
826
|
+
state.docksPinned = state.docksPinned.filter((i) => i !== id);
|
|
827
|
+
});
|
|
828
|
+
else settingsStore.mutate((state) => {
|
|
829
|
+
state.docksPinned = [...state.docksPinned, id];
|
|
830
|
+
});
|
|
831
|
+
}
|
|
832
|
+
function isInCustomOrder(id) {
|
|
833
|
+
return settings.value.docksCustomOrder[id] !== void 0;
|
|
834
|
+
}
|
|
835
|
+
function moveOrder(category, id, delta) {
|
|
836
|
+
const items = categories.value.find(([cat]) => cat === category);
|
|
837
|
+
if (!items) throw new Error(`Category ${category} not found`);
|
|
838
|
+
const array = [...items[1]];
|
|
839
|
+
const index = array.findIndex((item) => item.id === id);
|
|
840
|
+
const newIndex = index + delta;
|
|
841
|
+
if (newIndex < 0 || newIndex >= array.length) throw new Error(`Invalid new index ${newIndex} for category ${category}`);
|
|
842
|
+
array.splice(newIndex, 0, array.splice(index, 1)[0]);
|
|
843
|
+
items[1] = array;
|
|
844
|
+
settingsStore.mutate((state) => {
|
|
845
|
+
array.forEach((item, index) => {
|
|
846
|
+
state.docksCustomOrder[item.id] = index;
|
|
847
|
+
});
|
|
848
|
+
});
|
|
849
|
+
}
|
|
850
|
+
function doesCategoryHaveCustomOrder(category) {
|
|
851
|
+
const items = categories.value.find(([cat]) => cat === category);
|
|
852
|
+
if (!items) return false;
|
|
853
|
+
return items[1].some((item) => isInCustomOrder(item.id));
|
|
854
|
+
}
|
|
855
|
+
function resetCustomOrderForCategory(category) {
|
|
856
|
+
const items = categories.value.find(([cat]) => cat === category);
|
|
857
|
+
if (!items) return;
|
|
858
|
+
settingsStore.mutate((state) => {
|
|
859
|
+
items[1].forEach((item) => {
|
|
860
|
+
delete state.docksCustomOrder[item.id];
|
|
861
|
+
});
|
|
862
|
+
});
|
|
863
|
+
}
|
|
864
|
+
function resetSettings() {
|
|
865
|
+
if (confirm("Reset all dock settings to defaults?")) settingsStore.mutate(() => {
|
|
866
|
+
return DEFAULT_STATE_USER_SETTINGS();
|
|
867
|
+
});
|
|
868
|
+
}
|
|
869
|
+
return (_ctx, _cache) => {
|
|
870
|
+
return openBlock(), createElementBlock("div", _hoisted_1$3, [createBaseVNode("div", _hoisted_2$3, [
|
|
871
|
+
_cache[11] || (_cache[11] = createBaseVNode("h1", { class: "text-xl font-semibold mb-6 flex items-center gap-2 op85" }, [createBaseVNode("div", { class: "i-ph-gear-duotone text-2xl" }), createTextVNode(" DevTools Settings ")], -1)),
|
|
872
|
+
createBaseVNode("section", _hoisted_3$2, [
|
|
873
|
+
_cache[5] || (_cache[5] = createBaseVNode("h2", { class: "text-lg font-medium mb-4 op75" }, " Dock Entries ", -1)),
|
|
874
|
+
_cache[6] || (_cache[6] = createBaseVNode("p", { class: "text-sm op50 mb-4" }, " Manage visibility and order of dock entries. Hidden entries will not appear in the dock bar. ", -1)),
|
|
875
|
+
createBaseVNode("div", _hoisted_4$1, [(openBlock(true), createElementBlock(Fragment, null, renderList(categories.value, ([category, entries]) => {
|
|
876
|
+
return openBlock(), createElementBlock("div", {
|
|
877
|
+
key: category,
|
|
878
|
+
class: normalizeClass(["border border-base rounded-lg overflow-hidden transition-opacity", unref(settings).docksCategoriesHidden.includes(category) ? "op40" : ""])
|
|
879
|
+
}, [
|
|
880
|
+
createCommentVNode(" Category header "),
|
|
881
|
+
createBaseVNode("div", _hoisted_5$1, [
|
|
882
|
+
createBaseVNode("button", {
|
|
883
|
+
class: normalizeClass(["w-5 h-5 flex items-center justify-center rounded transition-colors", unref(settings).docksCategoriesHidden.includes(category) ? "bg-gray/20" : "bg-lime/20 text-lime"]),
|
|
884
|
+
onClick: ($event) => toggleCategory(category)
|
|
885
|
+
}, [createBaseVNode("div", { class: normalizeClass(["transition-transform", unref(settings).docksCategoriesHidden.includes(category) ? "i-ph-eye-slash text-sm op50" : "i-ph-check-bold text-xs"]) }, null, 2)], 10, _hoisted_6),
|
|
886
|
+
createBaseVNode("span", _hoisted_7, toDisplayString(getCategoryLabel(category)), 1),
|
|
887
|
+
createBaseVNode("span", _hoisted_8, "(" + toDisplayString(entries.length) + ")", 1),
|
|
888
|
+
_cache[2] || (_cache[2] = createBaseVNode("span", { class: "flex-auto" }, null, -1)),
|
|
889
|
+
doesCategoryHaveCustomOrder(category) ? (openBlock(), createElementBlock("button", {
|
|
890
|
+
key: 0,
|
|
891
|
+
class: "w-6 h-6 flex items-center justify-center rounded hover:bg-gray/20 transition-colors",
|
|
892
|
+
title: "Reset custom order",
|
|
893
|
+
onClick: ($event) => resetCustomOrderForCategory(category)
|
|
894
|
+
}, [..._cache[1] || (_cache[1] = [createBaseVNode("div", { class: "i-ph-arrows-counter-clockwise-duotone text-sm op60" }, null, -1)])], 8, _hoisted_9)) : createCommentVNode("v-if", true)
|
|
895
|
+
]),
|
|
896
|
+
createCommentVNode(" Entries "),
|
|
897
|
+
createBaseVNode("div", null, [(openBlock(true), createElementBlock(Fragment, null, renderList(entries, (dock, index) => {
|
|
898
|
+
return openBlock(), createElementBlock("div", {
|
|
899
|
+
key: dock.id,
|
|
900
|
+
class: normalizeClass(["flex items-center gap-3 px-4 py-2.5 hover:bg-gray/5 transition-colors group border-b border-base border-t-0", unref(settings).docksHidden.includes(dock.id) ? "op40" : ""])
|
|
901
|
+
}, [
|
|
902
|
+
createCommentVNode(" Visibility toggle "),
|
|
903
|
+
createBaseVNode("button", {
|
|
904
|
+
class: normalizeClass(["w-6 h-6 flex items-center justify-center rounded border border-transparent hover:border-base transition-colors shrink-0", unref(settings).docksHidden.includes(dock.id) ? "op50" : ""]),
|
|
905
|
+
title: unref(settings).docksHidden.includes(dock.id) ? "Show" : "Hide",
|
|
906
|
+
onClick: ($event) => toggleDock(dock.id)
|
|
907
|
+
}, [createBaseVNode("div", { class: normalizeClass(["w-4 h-4 rounded flex items-center justify-center transition-colors", unref(settings).docksHidden.includes(dock.id) ? "bg-gray/30" : "bg-lime/20 text-lime"]) }, [!unref(settings).docksHidden.includes(dock.id) ? (openBlock(), createElementBlock("div", _hoisted_11)) : createCommentVNode("v-if", true)], 2)], 10, _hoisted_10),
|
|
908
|
+
createCommentVNode(" Icon & Title "),
|
|
909
|
+
createVNode(_sfc_main$18, {
|
|
910
|
+
icon: dock.icon,
|
|
911
|
+
title: dock.title,
|
|
912
|
+
class: normalizeClass(["w-5 h-5 shrink-0", unref(settings).docksHidden.includes(dock.id) ? "saturate-0" : ""])
|
|
913
|
+
}, null, 8, [
|
|
914
|
+
"icon",
|
|
915
|
+
"title",
|
|
916
|
+
"class"
|
|
917
|
+
]),
|
|
918
|
+
createBaseVNode("span", { class: normalizeClass(["flex-1 truncate", unref(settings).docksHidden.includes(dock.id) ? "line-through op60" : ""]) }, toDisplayString(dock.title), 3),
|
|
919
|
+
createCommentVNode(" Order controls "),
|
|
920
|
+
createBaseVNode("div", _hoisted_12, [index > 0 ? (openBlock(), createElementBlock("button", {
|
|
921
|
+
key: 0,
|
|
922
|
+
class: "w-6 h-6 flex items-center justify-center rounded hover:bg-gray/20 transition-colors",
|
|
923
|
+
title: "Move up (higher priority)",
|
|
924
|
+
onClick: ($event) => moveOrder(category, dock.id, -1)
|
|
925
|
+
}, [..._cache[3] || (_cache[3] = [createBaseVNode("div", { class: "i-ph-caret-up text-sm op60" }, null, -1)])], 8, _hoisted_13)) : createCommentVNode("v-if", true), index < entries.length - 1 ? (openBlock(), createElementBlock("button", {
|
|
926
|
+
key: 1,
|
|
927
|
+
class: "w-6 h-6 flex items-center justify-center rounded hover:bg-gray/20 transition-colors",
|
|
928
|
+
title: "Move down (lower priority)",
|
|
929
|
+
onClick: ($event) => moveOrder(category, dock.id, 1)
|
|
930
|
+
}, [..._cache[4] || (_cache[4] = [createBaseVNode("div", { class: "i-ph-caret-down text-sm op60" }, null, -1)])], 8, _hoisted_14)) : createCommentVNode("v-if", true)]),
|
|
931
|
+
createCommentVNode(" Pin toggle "),
|
|
932
|
+
createBaseVNode("button", {
|
|
933
|
+
class: normalizeClass(["w-7 h-7 flex items-center justify-center rounded hover:bg-gray/20 transition-colors shrink-0", unref(settings).docksPinned.includes(dock.id) ? "text-amber" : "op40 hover:op70"]),
|
|
934
|
+
title: unref(settings).docksPinned.includes(dock.id) ? "Unpin" : "Pin",
|
|
935
|
+
onClick: ($event) => togglePin(dock.id)
|
|
936
|
+
}, [createBaseVNode("div", { class: normalizeClass([unref(settings).docksPinned.includes(dock.id) ? "i-ph-push-pin-fill rotate--45" : "i-ph-push-pin", "text-base"]) }, null, 2)], 10, _hoisted_15)
|
|
937
|
+
], 2);
|
|
938
|
+
}), 128))])
|
|
939
|
+
], 2);
|
|
940
|
+
}), 128))])
|
|
941
|
+
]),
|
|
942
|
+
createBaseVNode("section", _hoisted_16, [_cache[8] || (_cache[8] = createBaseVNode("h2", { class: "text-lg font-medium mb-4 op75" }, " Appearance ", -1)), createBaseVNode("div", _hoisted_17, [createCommentVNode(" Show iframe address bar toggle "), createBaseVNode("label", _hoisted_18, [createBaseVNode("button", {
|
|
943
|
+
class: normalizeClass(["w-10 h-6 rounded-full transition-colors relative shrink-0", unref(settings).showIframeAddressBar ? "bg-lime" : "bg-gray/30"]),
|
|
944
|
+
onClick: _cache[0] || (_cache[0] = ($event) => unref(settingsStore).mutate((s) => {
|
|
945
|
+
s.showIframeAddressBar = !s.showIframeAddressBar;
|
|
946
|
+
}))
|
|
947
|
+
}, [createBaseVNode("div", { class: normalizeClass(["absolute top-1 w-4 h-4 rounded-full bg-white shadow transition-transform", unref(settings).showIframeAddressBar ? "translate-x-5" : "translate-x-1"]) }, null, 2)], 2), _cache[7] || (_cache[7] = createBaseVNode("div", { class: "flex flex-col" }, [createBaseVNode("span", { class: "text-sm" }, "Show iframe address bar"), createBaseVNode("span", { class: "text-xs op50" }, "Display navigation controls and URL bar for iframe views")], -1))])])]),
|
|
948
|
+
createBaseVNode("section", { class: "border-t border-base pt-6" }, [_cache[10] || (_cache[10] = createBaseVNode("h2", { class: "text-lg font-medium mb-4 op75" }, " Reset ", -1)), createBaseVNode("button", {
|
|
949
|
+
class: "px-4 py-2 rounded bg-red/10 text-red hover:bg-red/20 transition-colors flex items-center gap-2",
|
|
950
|
+
onClick: resetSettings
|
|
951
|
+
}, [..._cache[9] || (_cache[9] = [createBaseVNode("div", { class: "i-ph-arrow-counter-clockwise" }, null, -1), createTextVNode(" Reset Dock Settings ", -1)])])])
|
|
952
|
+
])]);
|
|
953
|
+
};
|
|
491
954
|
}
|
|
492
|
-
};
|
|
955
|
+
});
|
|
493
956
|
|
|
494
957
|
//#endregion
|
|
495
|
-
//#region src/client/webcomponents/components/
|
|
496
|
-
|
|
497
|
-
__name: "
|
|
958
|
+
//#region src/client/webcomponents/components/ViewCustomRenderer.vue
|
|
959
|
+
const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
960
|
+
__name: "ViewCustomRenderer",
|
|
498
961
|
props: {
|
|
499
|
-
|
|
500
|
-
isDragging: { type: Boolean },
|
|
501
|
-
isResizing: { type: Boolean },
|
|
962
|
+
context: {},
|
|
502
963
|
entry: {},
|
|
503
|
-
|
|
504
|
-
|
|
964
|
+
persistedDoms: {},
|
|
965
|
+
divStyle: {}
|
|
505
966
|
},
|
|
506
967
|
setup(__props) {
|
|
507
968
|
const props = __props;
|
|
969
|
+
const isLoading = ref(true);
|
|
508
970
|
const viewFrame = useTemplateRef("viewFrame");
|
|
509
971
|
onMounted(() => {
|
|
510
|
-
const holder = props.
|
|
511
|
-
holder.
|
|
512
|
-
holder.
|
|
513
|
-
Object.assign(holder.
|
|
514
|
-
|
|
972
|
+
const holder = props.persistedDoms.getOrCreateHolder(props.entry.id, "div");
|
|
973
|
+
holder.element.style.boxShadow = "none";
|
|
974
|
+
holder.element.style.outline = "none";
|
|
975
|
+
Object.assign(holder.element.style, props.divStyle);
|
|
976
|
+
const entryState = props.context.docks.getStateById(props.entry.id);
|
|
977
|
+
if (entryState) entryState.domElements.panel = holder.element;
|
|
515
978
|
holder.mount(viewFrame.value);
|
|
979
|
+
isLoading.value = false;
|
|
516
980
|
nextTick(() => {
|
|
517
981
|
holder.update();
|
|
518
982
|
});
|
|
519
|
-
watch(() => props.
|
|
983
|
+
watch(() => props.context.panel, () => {
|
|
520
984
|
holder.update();
|
|
521
985
|
}, { deep: true });
|
|
522
986
|
watchEffect(() => {
|
|
523
|
-
holder.
|
|
987
|
+
holder.element.style.pointerEvents = props.context.panel.isDragging || props.context.panel.isResizing ? "none" : "auto";
|
|
524
988
|
}, { flush: "sync" });
|
|
525
989
|
});
|
|
526
990
|
onUnmounted(() => {
|
|
527
|
-
props.
|
|
991
|
+
props.persistedDoms.getHolder(props.entry.id, "div")?.unmount();
|
|
528
992
|
});
|
|
529
993
|
return (_ctx, _cache) => {
|
|
530
994
|
return openBlock(), createElementBlock("div", {
|
|
531
995
|
ref_key: "viewFrame",
|
|
532
996
|
ref: viewFrame,
|
|
533
|
-
class: "vite-devtools-view-
|
|
534
|
-
},
|
|
997
|
+
class: "vite-devtools-view-custom-renderer w-full h-full flex items-center justify-center"
|
|
998
|
+
}, null, 512);
|
|
535
999
|
};
|
|
536
1000
|
}
|
|
537
1001
|
});
|
|
538
1002
|
|
|
539
1003
|
//#endregion
|
|
540
1004
|
//#region src/client/webcomponents/components/ViewIframe.vue
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
1005
|
+
const _hoisted_1$2 = { class: "w-full h-full flex flex-col" };
|
|
1006
|
+
const _hoisted_2$2 = { class: "flex-1 flex items-center h-8 px-2.5 rounded bg-gray/10 border border-transparent hover:border-gray/20 focus-within:border-gray/30 transition-colors" };
|
|
1007
|
+
const _hoisted_3$1 = ["value", "readonly"];
|
|
1008
|
+
const _hoisted_4 = {
|
|
1009
|
+
key: 0,
|
|
1010
|
+
class: "i-ph-circle-notch text-sm op40 ml-2 shrink-0 animate-spin"
|
|
1011
|
+
};
|
|
1012
|
+
const _hoisted_5 = {
|
|
1013
|
+
key: 0,
|
|
1014
|
+
class: "op50 z--1"
|
|
1015
|
+
};
|
|
1016
|
+
const ADDRESS_BAR_HEIGHT = 50;
|
|
1017
|
+
const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
1018
|
+
__name: "ViewIframe",
|
|
548
1019
|
props: {
|
|
549
|
-
|
|
550
|
-
isDragging: { type: Boolean },
|
|
551
|
-
isResizing: { type: Boolean },
|
|
1020
|
+
context: {},
|
|
552
1021
|
entry: {},
|
|
553
|
-
|
|
1022
|
+
persistedDoms: {},
|
|
554
1023
|
iframeStyle: {}
|
|
555
1024
|
},
|
|
556
1025
|
setup(__props) {
|
|
1026
|
+
const props = __props;
|
|
1027
|
+
const settings = sharedStateToRef(props.context.docks.settings);
|
|
1028
|
+
const showAddressBar = computed(() => settings.value.showIframeAddressBar ?? true);
|
|
1029
|
+
const isLoading = ref(true);
|
|
1030
|
+
const isIframeLoading = ref(false);
|
|
1031
|
+
const viewFrame = useTemplateRef("viewFrame");
|
|
1032
|
+
const urlInputRef = useTemplateRef("urlInput");
|
|
1033
|
+
const currentUrl = ref(props.entry.url);
|
|
1034
|
+
const editingUrl = ref(props.entry.url);
|
|
1035
|
+
const isEditing = ref(false);
|
|
1036
|
+
const iframeElement = computed(() => {
|
|
1037
|
+
return props.persistedDoms.getHolder(props.entry.id, "iframe")?.element;
|
|
1038
|
+
});
|
|
1039
|
+
const currentPageOrigin = computed(() => {
|
|
1040
|
+
try {
|
|
1041
|
+
return window.location.origin;
|
|
1042
|
+
} catch {
|
|
1043
|
+
return "";
|
|
1044
|
+
}
|
|
1045
|
+
});
|
|
1046
|
+
const isCrossOrigin = computed(() => {
|
|
1047
|
+
try {
|
|
1048
|
+
return new URL(currentUrl.value).origin !== currentPageOrigin.value;
|
|
1049
|
+
} catch {
|
|
1050
|
+
return true;
|
|
1051
|
+
}
|
|
1052
|
+
});
|
|
1053
|
+
const displayUrl = computed(() => {
|
|
1054
|
+
if (isCrossOrigin.value) return currentUrl.value;
|
|
1055
|
+
try {
|
|
1056
|
+
const url = new URL(currentUrl.value);
|
|
1057
|
+
return url.pathname + url.search + url.hash;
|
|
1058
|
+
} catch {
|
|
1059
|
+
return currentUrl.value;
|
|
1060
|
+
}
|
|
1061
|
+
});
|
|
1062
|
+
function updateCurrentUrl() {
|
|
1063
|
+
try {
|
|
1064
|
+
const iframe = iframeElement.value;
|
|
1065
|
+
if (iframe?.contentWindow?.location?.href) currentUrl.value = iframe.contentWindow.location.href;
|
|
1066
|
+
} catch {}
|
|
1067
|
+
}
|
|
1068
|
+
function navigateTo(url) {
|
|
1069
|
+
const iframe = iframeElement.value;
|
|
1070
|
+
if (!iframe) return;
|
|
1071
|
+
let normalizedUrl = url.trim();
|
|
1072
|
+
if (normalizedUrl && !normalizedUrl.match(/^https?:\/\//i)) if (normalizedUrl.startsWith("/")) normalizedUrl = `${window.location.origin}${normalizedUrl}`;
|
|
1073
|
+
else normalizedUrl = `http://${normalizedUrl}`;
|
|
1074
|
+
currentUrl.value = normalizedUrl;
|
|
1075
|
+
editingUrl.value = normalizedUrl;
|
|
1076
|
+
iframe.src = normalizedUrl;
|
|
1077
|
+
isIframeLoading.value = true;
|
|
1078
|
+
}
|
|
1079
|
+
function handleUrlSubmit() {
|
|
1080
|
+
isEditing.value = false;
|
|
1081
|
+
if (editingUrl.value !== currentUrl.value) navigateTo(editingUrl.value);
|
|
1082
|
+
}
|
|
1083
|
+
function handleUrlFocus() {
|
|
1084
|
+
isEditing.value = true;
|
|
1085
|
+
editingUrl.value = currentUrl.value;
|
|
1086
|
+
nextTick(() => {
|
|
1087
|
+
urlInputRef.value?.select();
|
|
1088
|
+
});
|
|
1089
|
+
}
|
|
1090
|
+
function handleUrlBlur() {
|
|
1091
|
+
isEditing.value = false;
|
|
1092
|
+
editingUrl.value = currentUrl.value;
|
|
1093
|
+
}
|
|
1094
|
+
function handleUrlKeydown(e) {
|
|
1095
|
+
if (e.key === "Escape") {
|
|
1096
|
+
isEditing.value = false;
|
|
1097
|
+
editingUrl.value = currentUrl.value;
|
|
1098
|
+
urlInputRef.value?.blur();
|
|
1099
|
+
}
|
|
1100
|
+
}
|
|
1101
|
+
function goBack() {
|
|
1102
|
+
try {
|
|
1103
|
+
iframeElement.value?.contentWindow?.history.back();
|
|
1104
|
+
} catch {}
|
|
1105
|
+
}
|
|
1106
|
+
function refresh() {
|
|
1107
|
+
const iframe = iframeElement.value;
|
|
1108
|
+
if (!iframe) return;
|
|
1109
|
+
isIframeLoading.value = true;
|
|
1110
|
+
const src = iframe.src;
|
|
1111
|
+
iframe.src = "";
|
|
1112
|
+
iframe.src = src;
|
|
1113
|
+
}
|
|
1114
|
+
onMounted(() => {
|
|
1115
|
+
if (props.persistedDoms.getHolder(props.entry.id, "iframe")) updateCurrentUrl();
|
|
1116
|
+
const holder = props.persistedDoms.getOrCreateHolder(props.entry.id, "iframe");
|
|
1117
|
+
holder.element.style.boxShadow = "none";
|
|
1118
|
+
holder.element.style.outline = "none";
|
|
1119
|
+
if (!holder.element.src) holder.element.src = props.entry.url;
|
|
1120
|
+
holder.element.addEventListener("load", () => {
|
|
1121
|
+
isIframeLoading.value = false;
|
|
1122
|
+
updateCurrentUrl();
|
|
1123
|
+
});
|
|
1124
|
+
const entryState = props.context.docks.getStateById(props.entry.id);
|
|
1125
|
+
if (entryState) entryState.domElements.iframe = holder.element;
|
|
1126
|
+
watchEffect(() => {
|
|
1127
|
+
Object.assign(holder.element.style, props.iframeStyle);
|
|
1128
|
+
if (showAddressBar.value) {
|
|
1129
|
+
holder.element.style.marginTop = `${ADDRESS_BAR_HEIGHT}px`;
|
|
1130
|
+
holder.element.style.borderTopLeftRadius = "0px";
|
|
1131
|
+
holder.element.style.borderTopRightRadius = "0px";
|
|
1132
|
+
} else {
|
|
1133
|
+
holder.element.style.marginTop = "0px";
|
|
1134
|
+
holder.element.style.borderTopLeftRadius = "";
|
|
1135
|
+
holder.element.style.borderTopRightRadius = "";
|
|
1136
|
+
}
|
|
1137
|
+
});
|
|
1138
|
+
watch(() => props.context.panel, () => {
|
|
1139
|
+
holder.update();
|
|
1140
|
+
}, { deep: true });
|
|
1141
|
+
watchEffect(() => {
|
|
1142
|
+
holder.element.style.pointerEvents = props.context.panel.isDragging || props.context.panel.isResizing ? "none" : "auto";
|
|
1143
|
+
}, { flush: "sync" });
|
|
1144
|
+
holder.mount(viewFrame.value);
|
|
1145
|
+
isLoading.value = false;
|
|
1146
|
+
nextTick(() => {
|
|
1147
|
+
holder.update();
|
|
1148
|
+
});
|
|
1149
|
+
});
|
|
1150
|
+
onUnmounted(() => {
|
|
1151
|
+
props.persistedDoms.getHolder(props.entry.id, "iframe")?.unmount();
|
|
1152
|
+
});
|
|
557
1153
|
return (_ctx, _cache) => {
|
|
558
|
-
return
|
|
1154
|
+
return openBlock(), createElementBlock("div", _hoisted_1$2, [showAddressBar.value ? (openBlock(), createElementBlock("div", {
|
|
559
1155
|
key: 0,
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
1156
|
+
class: "flex-none px-2 w-full flex items-center gap-1 border rounded-t-md border-base border-b-0 bg-gray/5",
|
|
1157
|
+
style: normalizeStyle({ height: `${ADDRESS_BAR_HEIGHT}px` })
|
|
1158
|
+
}, [
|
|
1159
|
+
createCommentVNode(" Navigation buttons (hidden for cross-origin) "),
|
|
1160
|
+
!isCrossOrigin.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
1161
|
+
createCommentVNode(" Back button "),
|
|
1162
|
+
createBaseVNode("button", {
|
|
1163
|
+
class: "w-7 h-7 flex items-center justify-center rounded hover:bg-gray/15 transition-colors shrink-0",
|
|
1164
|
+
title: "Back",
|
|
1165
|
+
onClick: goBack
|
|
1166
|
+
}, [..._cache[1] || (_cache[1] = [createBaseVNode("div", { class: "i-ph-caret-left text-base op60" }, null, -1)])]),
|
|
1167
|
+
createCommentVNode(" Refresh button "),
|
|
1168
|
+
createBaseVNode("button", {
|
|
1169
|
+
class: "w-7 h-7 flex items-center justify-center rounded hover:bg-gray/15 transition-colors shrink-0",
|
|
1170
|
+
title: "Refresh",
|
|
1171
|
+
onClick: refresh
|
|
1172
|
+
}, [..._cache[2] || (_cache[2] = [createBaseVNode("div", { class: "i-ph-arrow-clockwise text-base op60" }, null, -1)])])
|
|
1173
|
+
], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [createCommentVNode(" Cross-origin badge "), _cache[3] || (_cache[3] = createBaseVNode("div", {
|
|
1174
|
+
class: "flex items-center gap-1 px-2 py-1 rounded text-xs bg-amber/10 text-amber border border-amber/20 shrink-0",
|
|
1175
|
+
title: "Cross-origin iframe - navigation controls unavailable"
|
|
1176
|
+
}, [createBaseVNode("div", { class: "i-ph-globe text-sm" }), createBaseVNode("span", null, "Cross-Origin")], -1))], 2112)),
|
|
1177
|
+
createCommentVNode(" URL input "),
|
|
1178
|
+
createBaseVNode("div", _hoisted_2$2, [createBaseVNode("input", {
|
|
1179
|
+
ref: "urlInput",
|
|
1180
|
+
value: isEditing.value ? editingUrl.value : displayUrl.value,
|
|
1181
|
+
type: "text",
|
|
1182
|
+
class: "flex-1 bg-transparent outline-none text-sm font-mono",
|
|
1183
|
+
placeholder: "Enter URL...",
|
|
1184
|
+
readonly: isCrossOrigin.value,
|
|
1185
|
+
onInput: _cache[0] || (_cache[0] = ($event) => editingUrl.value = $event.target.value),
|
|
1186
|
+
onFocus: handleUrlFocus,
|
|
1187
|
+
onBlur: handleUrlBlur,
|
|
1188
|
+
onKeydown: [handleUrlKeydown, withKeys(handleUrlSubmit, ["enter"])]
|
|
1189
|
+
}, null, 40, _hoisted_3$1), isIframeLoading.value ? (openBlock(), createElementBlock("div", _hoisted_4)) : createCommentVNode("v-if", true)])
|
|
1190
|
+
], 4)) : createCommentVNode("v-if", true), createBaseVNode("div", {
|
|
1191
|
+
ref_key: "viewFrame",
|
|
1192
|
+
ref: viewFrame,
|
|
1193
|
+
class: "vite-devtools-view-iframe w-full h-full flex-1 items-center justify-center"
|
|
1194
|
+
}, [isLoading.value ? (openBlock(), createElementBlock("div", _hoisted_5, " Loading iframe... ")) : createCommentVNode("v-if", true)], 512)]);
|
|
1195
|
+
};
|
|
1196
|
+
}
|
|
1197
|
+
});
|
|
1198
|
+
|
|
1199
|
+
//#endregion
|
|
1200
|
+
//#region src/client/webcomponents/components/ViewLauncher.vue
|
|
1201
|
+
const _hoisted_1$1 = { class: "flex flex-col gap-4 items-center justify-center h-full relative" };
|
|
1202
|
+
const _hoisted_2$1 = { class: "text-2xl font-bold" };
|
|
1203
|
+
const _hoisted_3 = ["disabled"];
|
|
1204
|
+
const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
1205
|
+
__name: "ViewLauncher",
|
|
1206
|
+
props: {
|
|
1207
|
+
context: {},
|
|
1208
|
+
entry: {}
|
|
1209
|
+
},
|
|
1210
|
+
setup(__props) {
|
|
1211
|
+
const props = __props;
|
|
1212
|
+
function onLaunch() {
|
|
1213
|
+
props.context.rpc.call("devtoolskit:internal:docks:on-launch", props.entry.id);
|
|
1214
|
+
}
|
|
1215
|
+
const status = computed(() => props.entry.launcher.status || "idle");
|
|
1216
|
+
const iconsMap = {
|
|
1217
|
+
error: "i-ph-warning-duotone",
|
|
1218
|
+
idle: "i-ph-rocket-launch-duotone",
|
|
1219
|
+
loading: "i-svg-spinners-8-dots-rotate",
|
|
1220
|
+
success: "i-ph-check-duotone"
|
|
1221
|
+
};
|
|
1222
|
+
const buttonText = computed(() => {
|
|
1223
|
+
if (status.value === "idle") return props.entry.launcher.buttonStart || "Launch";
|
|
1224
|
+
else if (status.value === "loading") return props.entry.launcher.buttonLoading || "Loading...";
|
|
1225
|
+
else if (status.value === "error") return "ERROR";
|
|
1226
|
+
else if (status.value === "success") return "Success";
|
|
1227
|
+
else return `UNKNOWN STATUS: ${status.value}`;
|
|
1228
|
+
});
|
|
1229
|
+
return (_ctx, _cache) => {
|
|
1230
|
+
return openBlock(), createElementBlock("div", _hoisted_1$1, [
|
|
1231
|
+
createVNode(_sfc_main$18, {
|
|
1232
|
+
icon: __props.entry.launcher.icon || __props.entry.icon,
|
|
1233
|
+
class: "w-10 h-10"
|
|
1234
|
+
}, null, 8, ["icon"]),
|
|
1235
|
+
createBaseVNode("h1", _hoisted_2$1, toDisplayString(__props.entry.launcher.title), 1),
|
|
1236
|
+
createBaseVNode("p", null, toDisplayString(__props.entry.launcher.description), 1),
|
|
1237
|
+
createBaseVNode("button", {
|
|
1238
|
+
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",
|
|
1239
|
+
disabled: status.value !== "idle",
|
|
1240
|
+
onClick: onLaunch
|
|
1241
|
+
}, [createBaseVNode("div", { class: normalizeClass(iconsMap[status.value]) }, null, 2), createBaseVNode("div", null, toDisplayString(buttonText.value), 1)], 8, _hoisted_3)
|
|
1242
|
+
]);
|
|
574
1243
|
};
|
|
575
1244
|
}
|
|
576
1245
|
});
|
|
577
1246
|
|
|
578
1247
|
//#endregion
|
|
579
1248
|
//#region src/client/webcomponents/components/ViewEntry.vue
|
|
580
|
-
|
|
1249
|
+
const _hoisted_1 = { key: 4 };
|
|
1250
|
+
const _hoisted_2 = { key: 5 };
|
|
1251
|
+
const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
1252
|
+
__name: "ViewEntry",
|
|
1253
|
+
props: {
|
|
1254
|
+
context: {},
|
|
1255
|
+
entry: {},
|
|
1256
|
+
persistedDoms: {},
|
|
1257
|
+
iframeStyle: {},
|
|
1258
|
+
divStyle: {}
|
|
1259
|
+
},
|
|
1260
|
+
setup(__props) {
|
|
1261
|
+
const ViewBuiltinTerminals = defineAsyncComponent(() => import("../ViewBuiltinTerminals-CrBOq_Ni.js"));
|
|
1262
|
+
const ViewBuiltinLogs = defineAsyncComponent(() => import("../ViewBuiltinLogs-C8wFxIxg.js"));
|
|
1263
|
+
return (_ctx, _cache) => {
|
|
1264
|
+
return openBlock(), createBlock(Suspense, null, {
|
|
1265
|
+
fallback: withCtx(() => [..._cache[0] || (_cache[0] = [createBaseVNode("div", null, " Loading... ", -1)])]),
|
|
1266
|
+
default: withCtx(() => [__props.entry.type === "~builtin" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [__props.entry.id === "~terminals" ? (openBlock(), createBlock(unref(ViewBuiltinTerminals), {
|
|
1267
|
+
key: 0,
|
|
1268
|
+
context: __props.context,
|
|
1269
|
+
entry: __props.entry
|
|
1270
|
+
}, null, 8, ["context", "entry"])) : __props.entry.id === "~logs" ? (openBlock(), createBlock(unref(ViewBuiltinLogs), {
|
|
1271
|
+
key: 1,
|
|
1272
|
+
context: __props.context,
|
|
1273
|
+
entry: __props.entry
|
|
1274
|
+
}, null, 8, ["context", "entry"])) : __props.entry.id === "~settings" ? (openBlock(), createBlock(_sfc_main$7, {
|
|
1275
|
+
key: 2,
|
|
1276
|
+
context: __props.context,
|
|
1277
|
+
entry: __props.entry
|
|
1278
|
+
}, null, 8, ["context", "entry"])) : __props.entry.id === "~client-auth-notice" ? (openBlock(), createBlock(_sfc_main$8, {
|
|
1279
|
+
key: 3,
|
|
1280
|
+
context: __props.context
|
|
1281
|
+
}, 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(_sfc_main$5, {
|
|
1282
|
+
context: __props.context,
|
|
1283
|
+
entry: __props.entry,
|
|
1284
|
+
"persisted-doms": __props.persistedDoms,
|
|
1285
|
+
"iframe-style": __props.iframeStyle
|
|
1286
|
+
}, null, 8, [
|
|
1287
|
+
"context",
|
|
1288
|
+
"entry",
|
|
1289
|
+
"persisted-doms",
|
|
1290
|
+
"iframe-style"
|
|
1291
|
+
])], 2112)) : __props.entry.type === "custom-render" ? (openBlock(), createBlock(_sfc_main$6, {
|
|
1292
|
+
key: 3,
|
|
1293
|
+
context: __props.context,
|
|
1294
|
+
entry: __props.entry,
|
|
1295
|
+
"persisted-doms": __props.persistedDoms,
|
|
1296
|
+
"div-style": __props.divStyle
|
|
1297
|
+
}, null, 8, [
|
|
1298
|
+
"context",
|
|
1299
|
+
"entry",
|
|
1300
|
+
"persisted-doms",
|
|
1301
|
+
"div-style"
|
|
1302
|
+
])) : __props.entry.type === "launcher" ? (openBlock(), createBlock(_sfc_main$4, {
|
|
1303
|
+
key: 4,
|
|
1304
|
+
context: __props.context,
|
|
1305
|
+
entry: __props.entry
|
|
1306
|
+
}, null, 8, ["context", "entry"])) : (openBlock(), createElementBlock("div", _hoisted_2, " Unknown entry: " + toDisplayString(__props.entry), 1))]),
|
|
1307
|
+
_: 1
|
|
1308
|
+
});
|
|
1309
|
+
};
|
|
1310
|
+
}
|
|
1311
|
+
});
|
|
581
1312
|
|
|
582
1313
|
//#endregion
|
|
583
|
-
//#region src/client/webcomponents/components/DockPanel.vue
|
|
584
|
-
|
|
1314
|
+
//#region src/client/webcomponents/components/DockPanel.vue
|
|
1315
|
+
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
585
1316
|
__name: "DockPanel",
|
|
586
1317
|
props: {
|
|
587
|
-
|
|
588
|
-
|
|
1318
|
+
context: {},
|
|
1319
|
+
selected: {},
|
|
589
1320
|
dockEl: {},
|
|
590
1321
|
panelMargins: {}
|
|
591
1322
|
},
|
|
592
1323
|
setup(__props) {
|
|
593
1324
|
const props = __props;
|
|
594
|
-
const
|
|
595
|
-
const
|
|
596
|
-
const iframesContainer = useTemplateRef("iframesContainer");
|
|
597
|
-
const iframes = markRaw(new IframeManager());
|
|
598
|
-
watchEffect(() => {
|
|
599
|
-
iframes.setContainer(iframesContainer.value);
|
|
600
|
-
}, { flush: "sync" });
|
|
1325
|
+
const context = props.context;
|
|
1326
|
+
const { selected, panelMargins } = toRefs(props);
|
|
601
1327
|
const windowSize = reactive(useWindowSize());
|
|
602
|
-
const isDragging = ref(false);
|
|
603
|
-
const isResizing = ref(false);
|
|
604
1328
|
const isHovering = ref(false);
|
|
605
1329
|
const mousePosition = reactive({
|
|
606
1330
|
x: 0,
|
|
607
1331
|
y: 0
|
|
608
1332
|
});
|
|
1333
|
+
const dockPanel = useTemplateRef("dockPanel");
|
|
1334
|
+
const viewsContainer = useTemplateRef("viewsContainer");
|
|
1335
|
+
const persistedDoms = markRaw(new PersistedDomViewsManager(viewsContainer));
|
|
609
1336
|
function clamp(value, min, max) {
|
|
610
1337
|
return Math.min(Math.max(value, min), max);
|
|
611
1338
|
}
|
|
612
1339
|
const anchorPos = computed(() => {
|
|
613
1340
|
const halfWidth = (props.dockEl?.clientWidth || 0) / 2;
|
|
614
1341
|
const halfHeight = (props.dockEl?.clientHeight || 0) / 2;
|
|
615
|
-
const
|
|
616
|
-
const
|
|
617
|
-
|
|
1342
|
+
const store = context.panel.store;
|
|
1343
|
+
const left = store.left * windowSize.width / 100;
|
|
1344
|
+
const top = store.top * windowSize.height / 100;
|
|
1345
|
+
switch (store.position) {
|
|
618
1346
|
case "top": return {
|
|
619
1347
|
left: clamp(left, halfWidth + panelMargins.value.left, windowSize.width - halfWidth - panelMargins.value.right),
|
|
620
1348
|
top: panelMargins.value.top + halfHeight
|
|
@@ -627,7 +1355,6 @@ var DockPanel_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
|
|
|
627
1355
|
left: panelMargins.value.left + halfHeight,
|
|
628
1356
|
top: clamp(top, halfWidth + panelMargins.value.top, windowSize.height - halfWidth - panelMargins.value.bottom)
|
|
629
1357
|
};
|
|
630
|
-
case "bottom":
|
|
631
1358
|
default: return {
|
|
632
1359
|
left: clamp(left, halfWidth + panelMargins.value.left, windowSize.width - halfWidth - panelMargins.value.right),
|
|
633
1360
|
top: windowSize.height - panelMargins.value.bottom - halfHeight
|
|
@@ -637,14 +1364,14 @@ var DockPanel_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
|
|
|
637
1364
|
let _timer = null;
|
|
638
1365
|
function bringUp() {
|
|
639
1366
|
isHovering.value = true;
|
|
640
|
-
if (
|
|
1367
|
+
if (context.panel.store.inactiveTimeout < 0) return;
|
|
641
1368
|
if (_timer) clearTimeout(_timer);
|
|
642
1369
|
_timer = setTimeout(() => {
|
|
643
1370
|
isHovering.value = false;
|
|
644
|
-
}, +
|
|
1371
|
+
}, +context.panel.store.inactiveTimeout || 0);
|
|
645
1372
|
}
|
|
646
1373
|
const { width: frameWidth, height: frameHeight } = useElementBounding(dockPanel);
|
|
647
|
-
const
|
|
1374
|
+
const panelStyle = computed(() => {
|
|
648
1375
|
mousePosition.x, mousePosition.y;
|
|
649
1376
|
const halfHeight = (props.dockEl?.clientHeight || 0) / 2;
|
|
650
1377
|
const frameMargin = {
|
|
@@ -657,19 +1384,20 @@ var DockPanel_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
|
|
|
657
1384
|
const marginVertical = frameMargin.top + frameMargin.bottom;
|
|
658
1385
|
const maxWidth = windowSize.width - marginHorizontal;
|
|
659
1386
|
const maxHeight = windowSize.height - marginVertical;
|
|
1387
|
+
const panel = context.panel;
|
|
1388
|
+
const store = panel.store;
|
|
660
1389
|
const style = {
|
|
661
1390
|
position: "fixed",
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
height: `min(${state.value.height}vh, calc(100vh - ${marginVertical}px))`
|
|
1391
|
+
pointerEvents: panel.isDragging || panel.isResizing ? "none" : "auto",
|
|
1392
|
+
width: `min(${store.width}vw, calc(100vw - ${marginHorizontal}px))`,
|
|
1393
|
+
height: `min(${store.height}vh, calc(100vh - ${marginVertical}px))`
|
|
666
1394
|
};
|
|
667
1395
|
const anchor = anchorPos.value;
|
|
668
|
-
const width = Math.min(maxWidth,
|
|
669
|
-
const height = Math.min(maxHeight,
|
|
1396
|
+
const width = Math.min(maxWidth, store.width * windowSize.width / 100);
|
|
1397
|
+
const height = Math.min(maxHeight, store.height * windowSize.height / 100);
|
|
670
1398
|
const anchorX = anchor?.left || 0;
|
|
671
1399
|
const anchorY = anchor?.top || 0;
|
|
672
|
-
switch (
|
|
1400
|
+
switch (store.position) {
|
|
673
1401
|
case "top":
|
|
674
1402
|
case "bottom":
|
|
675
1403
|
style.left = `${-frameWidth.value / 2}px`;
|
|
@@ -685,7 +1413,7 @@ var DockPanel_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
|
|
|
685
1413
|
else if (windowSize.height - anchorY - frameMargin.bottom < height / 2) style.top = `${windowSize.height - anchorY - height / 2 - frameMargin.bottom - frameHeight.value / 2}px`;
|
|
686
1414
|
break;
|
|
687
1415
|
}
|
|
688
|
-
switch (
|
|
1416
|
+
switch (store.position) {
|
|
689
1417
|
case "top":
|
|
690
1418
|
style.top = 0;
|
|
691
1419
|
break;
|
|
@@ -695,7 +1423,6 @@ var DockPanel_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
|
|
|
695
1423
|
case "left":
|
|
696
1424
|
style.left = 0;
|
|
697
1425
|
break;
|
|
698
|
-
case "bottom":
|
|
699
1426
|
default:
|
|
700
1427
|
style.bottom = 0;
|
|
701
1428
|
break;
|
|
@@ -707,101 +1434,172 @@ var DockPanel_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
|
|
|
707
1434
|
});
|
|
708
1435
|
return (_ctx, _cache) => {
|
|
709
1436
|
return withDirectives((openBlock(), createElementBlock("div", {
|
|
710
|
-
id: "vite-devtools-dock-panel",
|
|
711
1437
|
ref_key: "dockPanel",
|
|
712
1438
|
ref: dockPanel,
|
|
713
|
-
class: "bg-glass rounded-lg border border-base shadow",
|
|
714
|
-
style: normalizeStyle(
|
|
1439
|
+
class: "bg-glass:75 rounded-lg border border-base shadow",
|
|
1440
|
+
style: normalizeStyle(panelStyle.value)
|
|
715
1441
|
}, [
|
|
716
|
-
createVNode(
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
}, null, 8, [
|
|
723
|
-
"is-resizing",
|
|
724
|
-
"is-dragging",
|
|
725
|
-
"state",
|
|
726
|
-
"entry"
|
|
727
|
-
]),
|
|
728
|
-
unref(entry) && iframesContainer.value ? (openBlock(), createBlock(ViewEntry_default, {
|
|
729
|
-
key: unref(entry).id,
|
|
730
|
-
state: unref(state),
|
|
731
|
-
"is-dragging": isDragging.value,
|
|
732
|
-
"is-resizing": isResizing.value,
|
|
733
|
-
entry: unref(entry),
|
|
734
|
-
iframes: unref(iframes),
|
|
1442
|
+
createVNode(_sfc_main$10, { panel: unref(context).panel }, null, 8, ["panel"]),
|
|
1443
|
+
unref(selected) && viewsContainer.value ? (openBlock(), createBlock(_sfc_main$3, {
|
|
1444
|
+
key: unref(selected).id,
|
|
1445
|
+
context: unref(context),
|
|
1446
|
+
entry: unref(selected),
|
|
1447
|
+
"persisted-doms": unref(persistedDoms),
|
|
735
1448
|
"iframe-style": {
|
|
736
|
-
border: "1px solid #
|
|
737
|
-
borderRadius: "0.5rem"
|
|
738
|
-
|
|
739
|
-
},
|
|
740
|
-
rounded: ""
|
|
1449
|
+
border: "1px solid #8883",
|
|
1450
|
+
borderRadius: "0.5rem"
|
|
1451
|
+
}
|
|
741
1452
|
}, null, 8, [
|
|
742
|
-
"
|
|
743
|
-
"is-dragging",
|
|
744
|
-
"is-resizing",
|
|
1453
|
+
"context",
|
|
745
1454
|
"entry",
|
|
746
|
-
"
|
|
1455
|
+
"persisted-doms"
|
|
747
1456
|
])) : createCommentVNode("v-if", true),
|
|
748
1457
|
createBaseVNode("div", {
|
|
749
|
-
id: "vite-devtools-
|
|
750
|
-
ref_key: "
|
|
751
|
-
ref:
|
|
752
|
-
class: "absolute inset-0"
|
|
1458
|
+
id: "vite-devtools-views-container",
|
|
1459
|
+
ref_key: "viewsContainer",
|
|
1460
|
+
ref: viewsContainer,
|
|
1461
|
+
class: "absolute inset-0 pointer-events-none"
|
|
753
1462
|
}, null, 512)
|
|
754
|
-
], 4)), [[vShow, unref(
|
|
1463
|
+
], 4)), [[vShow, unref(context).docks.selected && unref(context).docks.selected.type !== "action"]]);
|
|
755
1464
|
};
|
|
756
1465
|
}
|
|
757
1466
|
});
|
|
758
1467
|
|
|
759
1468
|
//#endregion
|
|
760
|
-
//#region src/client/webcomponents/components/
|
|
761
|
-
|
|
1469
|
+
//#region src/client/webcomponents/components/FloatingPopover.ts
|
|
1470
|
+
const DETECT_MARGIN = 100;
|
|
1471
|
+
const DEFAULT_GAP = 10;
|
|
1472
|
+
const FloatingPopoverComponent = defineComponent({
|
|
1473
|
+
name: "FloatingPopover",
|
|
1474
|
+
props: {
|
|
1475
|
+
item: {
|
|
1476
|
+
type: Object,
|
|
1477
|
+
required: false
|
|
1478
|
+
},
|
|
1479
|
+
dismissOnClickOutside: {
|
|
1480
|
+
type: Boolean,
|
|
1481
|
+
default: true
|
|
1482
|
+
}
|
|
1483
|
+
},
|
|
1484
|
+
emits: ["dismiss"],
|
|
1485
|
+
setup(props, { emit }) {
|
|
1486
|
+
const panel = useTemplateRef("panel");
|
|
1487
|
+
const el = ref(props.item?.el);
|
|
1488
|
+
const renderCounter = ref(0);
|
|
1489
|
+
const clearThrottled = useDebounceFn(() => {
|
|
1490
|
+
if (props.item?.el == null) el.value = void 0;
|
|
1491
|
+
}, 800);
|
|
1492
|
+
if (props.dismissOnClickOutside) onClickOutside(panel, () => {
|
|
1493
|
+
emit("dismiss");
|
|
1494
|
+
});
|
|
1495
|
+
watch(() => props.item, (value) => {
|
|
1496
|
+
if (value) if (el.value !== value.el) el.value = value.el;
|
|
1497
|
+
else renderCounter.value++;
|
|
1498
|
+
else clearThrottled();
|
|
1499
|
+
});
|
|
1500
|
+
let previousContent;
|
|
1501
|
+
return () => {
|
|
1502
|
+
renderCounter.value;
|
|
1503
|
+
if (!el.value) return null;
|
|
1504
|
+
const rect = el.value.getBoundingClientRect();
|
|
1505
|
+
let align = "bottom";
|
|
1506
|
+
const vw = window.innerWidth;
|
|
1507
|
+
const vh = window.innerHeight;
|
|
1508
|
+
if (rect.left < DETECT_MARGIN) align = "right";
|
|
1509
|
+
else if (rect.left + rect.width > vw - DETECT_MARGIN) align = "left";
|
|
1510
|
+
else if (rect.top < DETECT_MARGIN) align = "bottom";
|
|
1511
|
+
else if (rect.top + rect.height > vh - DETECT_MARGIN) align = "top";
|
|
1512
|
+
let style = {};
|
|
1513
|
+
const gap = props.item?.gap ?? DEFAULT_GAP;
|
|
1514
|
+
switch (align) {
|
|
1515
|
+
case "bottom":
|
|
1516
|
+
style = {
|
|
1517
|
+
left: `${rect.left + rect.width / 2}px`,
|
|
1518
|
+
top: `${rect.top + rect.height + gap}px`,
|
|
1519
|
+
transform: "translateX(-50%)"
|
|
1520
|
+
};
|
|
1521
|
+
break;
|
|
1522
|
+
case "top":
|
|
1523
|
+
style = {
|
|
1524
|
+
left: `${rect.left + rect.width / 2}px`,
|
|
1525
|
+
bottom: `${vh - rect.top + gap}px`,
|
|
1526
|
+
transform: "translateX(-50%)"
|
|
1527
|
+
};
|
|
1528
|
+
break;
|
|
1529
|
+
case "left":
|
|
1530
|
+
style = {
|
|
1531
|
+
right: `${vw - rect.left + gap}px`,
|
|
1532
|
+
top: `${rect.top + rect.height / 2}px`,
|
|
1533
|
+
transform: "translateY(-50%)"
|
|
1534
|
+
};
|
|
1535
|
+
break;
|
|
1536
|
+
case "right":
|
|
1537
|
+
style = {
|
|
1538
|
+
left: `${rect.left + rect.width + gap}px`,
|
|
1539
|
+
top: `${rect.top + rect.height / 2}px`,
|
|
1540
|
+
transform: "translateY(-50%)"
|
|
1541
|
+
};
|
|
1542
|
+
break;
|
|
1543
|
+
}
|
|
1544
|
+
const content = (typeof props.item?.content === "string" ? h("span", props.item?.content) : props.item?.content()) ?? previousContent;
|
|
1545
|
+
previousContent = content;
|
|
1546
|
+
return h("div", {
|
|
1547
|
+
ref: "panel",
|
|
1548
|
+
class: ["fixed z-floating-tooltip text-xs transition-all duration-300 w-max bg-glass border border-base rounded px2 p1", props.item ? "op100" : "op0 pointer-events-none"],
|
|
1549
|
+
style
|
|
1550
|
+
}, content);
|
|
1551
|
+
};
|
|
1552
|
+
}
|
|
1553
|
+
});
|
|
762
1554
|
|
|
763
1555
|
//#endregion
|
|
764
|
-
//#region src/client/webcomponents/components/
|
|
765
|
-
|
|
1556
|
+
//#region src/client/webcomponents/components/FloatingElements.vue
|
|
1557
|
+
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
1558
|
+
__name: "FloatingElements",
|
|
1559
|
+
setup(__props) {
|
|
1560
|
+
const tooltip = useFloatingTooltip();
|
|
1561
|
+
const docksOverflowPanel = useDocksOverflowPanel();
|
|
1562
|
+
return (_ctx, _cache) => {
|
|
1563
|
+
return openBlock(), createElementBlock(Fragment, null, [createVNode(unref(FloatingPopoverComponent), {
|
|
1564
|
+
item: unref(docksOverflowPanel),
|
|
1565
|
+
onDismiss: _cache[0] || (_cache[0] = () => unref(setDocksOverflowPanel)(null))
|
|
1566
|
+
}, null, 8, ["item"]), createVNode(unref(FloatingPopoverComponent), { item: unref(tooltip) }, null, 8, ["item"])], 64);
|
|
1567
|
+
};
|
|
1568
|
+
}
|
|
1569
|
+
});
|
|
1570
|
+
|
|
1571
|
+
//#endregion
|
|
1572
|
+
//#region src/client/webcomponents/components/DockEmbedded.vue
|
|
1573
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
766
1574
|
__name: "DockEmbedded",
|
|
767
|
-
props: {
|
|
768
|
-
state: {},
|
|
769
|
-
docks: {}
|
|
770
|
-
},
|
|
1575
|
+
props: { context: {} },
|
|
771
1576
|
setup(__props) {
|
|
772
1577
|
return (_ctx, _cache) => {
|
|
773
|
-
return openBlock(),
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
default: withCtx(({ dockEl, entry, panelMargins }) => [createVNode(DockPanel_default, {
|
|
1578
|
+
return openBlock(), createElementBlock(Fragment, null, [createVNode(_sfc_main$11, { context: __props.context }, {
|
|
1579
|
+
default: withCtx(({ dockEl, panelMargins, selected }) => [createVNode(_sfc_main$2, {
|
|
1580
|
+
context: __props.context,
|
|
1581
|
+
selected,
|
|
778
1582
|
"dock-el": dockEl,
|
|
779
|
-
|
|
780
|
-
"panel-margins": panelMargins,
|
|
781
|
-
entry
|
|
1583
|
+
"panel-margins": panelMargins
|
|
782
1584
|
}, null, 8, [
|
|
1585
|
+
"context",
|
|
1586
|
+
"selected",
|
|
783
1587
|
"dock-el",
|
|
784
|
-
"
|
|
785
|
-
"panel-margins",
|
|
786
|
-
"entry"
|
|
1588
|
+
"panel-margins"
|
|
787
1589
|
])]),
|
|
788
1590
|
_: 1
|
|
789
|
-
}, 8, ["
|
|
1591
|
+
}, 8, ["context"]), createVNode(_sfc_main$1)], 64);
|
|
790
1592
|
};
|
|
791
1593
|
}
|
|
792
1594
|
});
|
|
793
1595
|
|
|
794
|
-
//#endregion
|
|
795
|
-
//#region src/client/webcomponents/components/DockEmbedded.vue
|
|
796
|
-
var DockEmbedded_default = DockEmbedded_vue_vue_type_script_setup_true_lang_default;
|
|
797
|
-
|
|
798
1596
|
//#endregion
|
|
799
1597
|
//#region src/client/webcomponents/components/DockEmbedded.ts
|
|
800
|
-
const DockEmbedded = defineCustomElement(
|
|
1598
|
+
const DockEmbedded = defineCustomElement(_sfc_main, {
|
|
801
1599
|
shadowRoot: true,
|
|
802
1600
|
styles: [css_default]
|
|
803
1601
|
});
|
|
804
1602
|
customElements.define("vite-devtools-dock-embedded", DockEmbedded);
|
|
805
1603
|
|
|
806
1604
|
//#endregion
|
|
807
|
-
export { DockEmbedded,
|
|
1605
|
+
export { DEFAULT_DOCK_PANEL_STORE, DockEmbedded, PersistedDomHolder, PersistedDomViewsManager, createDockEntryState, sharedStateToRef, useDocksEntries };
|