@vitejs/devtools 0.0.0-alpha.32 → 0.0.0-alpha.34
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-DC06YRV1.js → DockIcon-LqhTiyo7.js} +11 -14
- package/dist/DockStandalone-D15T7P8h.js +82 -0
- package/dist/FloatingElements-DiZY-fXn.js +988 -0
- package/dist/{ViewBuiltinLogs-BpU8wNYx.js → ViewBuiltinLogs-DAC3EpNy.js} +3 -5
- package/dist/{ViewBuiltinTerminals-1w0Jz6t0.js → ViewBuiltinTerminals-CaCzY10v.js} +5 -11
- package/dist/cli-commands-B8AbW52w.js +178 -0
- package/dist/cli-commands.js +3 -67
- package/dist/cli.js +3 -5
- package/dist/client/inject.js +40 -19
- package/dist/client/standalone/assets/DockStandalone-Be2ebLC6.js +8 -0
- package/dist/client/standalone/assets/ViewBuiltinLogs-gqCacjSC.js +1 -0
- package/dist/client/standalone/assets/{ViewBuiltinTerminals-BfkQ4Bsj.js → ViewBuiltinTerminals-EMrVQ_he.js} +2 -2
- package/dist/client/standalone/assets/_plugin-vue_export-helper-DdUndd8v.js +1 -0
- package/dist/client/standalone/assets/index-CkMgpkZF.css +1 -0
- package/dist/client/standalone/assets/index-xigFHEkA.js +4 -0
- package/dist/client/standalone/index.html +3 -2
- package/dist/client/webcomponents.d.ts +20329 -145
- package/dist/client/webcomponents.js +79 -985
- package/dist/config.js +2 -8
- package/dist/dirs.js +1 -3
- package/dist/{dist-B1eLoAag.js → dist-CnHQWaMb.js} +11 -50
- package/dist/{export-helper-DjM8b2QE.js → export-helper-DOmNQzh6.js} +1 -2
- package/dist/index.d.ts +5 -5
- package/dist/index.js +2 -3
- package/dist/plugins-tIIgS7bh.js +1911 -0
- package/dist/popup-CqYAUdYG.js +366 -0
- package/dist/utils--qjmgani.js +6 -0
- package/dist/{vue.runtime.esm-bundler-CHmRsJSH.js → vue.runtime.esm-bundler-Bou7Nbd4.js} +135 -115
- package/package.json +34 -16
- package/dist/client/standalone/assets/ViewBuiltinLogs-D_1j1vpl.js +0 -1
- package/dist/client/standalone/assets/index-DWcF5wcd.js +0 -2
- package/dist/client/standalone/assets/index-DzhHPm4X.css +0 -1
- package/dist/docks-BVWse3rL.js +0 -131
- package/dist/plugins-CM-4geJK.js +0 -3040
- package/dist/standalone-CfUW6ZhV.js +0 -34
|
@@ -0,0 +1,988 @@
|
|
|
1
|
+
import { A as withCtx, C as onUnmounted, D as useTemplateRef, E as renderSlot, G as normalizeStyle, K as toDisplayString, O as watch, 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, k as watchEffect, l as createBlock, m as createVNode, o as Suspense, p as createTextVNode, r as withKeys, s as computed, u as createCommentVNode, v as h, w as openBlock, x as nextTick } from "./vue.runtime.esm-bundler-Bou7Nbd4.js";
|
|
2
|
+
import { r as useEventListener, s as useDebounceFn, t as onClickOutside } from "./dist-CnHQWaMb.js";
|
|
3
|
+
import { c as setDockContextMenu, d as useDockContextMenu, f as useDocksOverflowPanel, g as sharedStateToRef, l as setDocksOverflowPanel, p as useFloatingTooltip, u as setFloatingTooltip, v as docksGroupByCategories } from "./popup-CqYAUdYG.js";
|
|
4
|
+
import { t as _sfc_main$11 } from "./DockIcon-LqhTiyo7.js";
|
|
5
|
+
import { t as export_helper_default } from "./export-helper-DOmNQzh6.js";
|
|
6
|
+
import { DEFAULT_STATE_USER_SETTINGS } from "@vitejs/devtools-kit/constants";
|
|
7
|
+
//#region src/client/webcomponents/.generated/css.ts
|
|
8
|
+
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-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='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/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-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-eye-slash-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='M128 56c-80 0-112 72-112 72s32 72 112 72s112-72 112-72s-32-72-112-72m0 112a40 40 0 1 1 40-40a40 40 0 0 1-40 40' opacity='.2'/%3E%3Cpath 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/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-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))}.color-base{--vdt-text-opacity:1;color:rgba(38,38,38,var(--vdt-text-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)}.color-base{--vdt-text-opacity:1;color:rgba(229,229,229,var(--vdt-text-opacity))}}@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-auto{pointer-events:auto}.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}.cols-\\[max-content_1fr\\]{grid-template-columns:max-content 1fr}.grid-rows-\\[max-content_1fr\\]{grid-template-rows:max-content 1fr}.m-auto,.ma{margin:auto}.m1{margin:.25rem}.mx--1{margin-left:-.25rem;margin-right:-.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.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-220px{max-width:220px}.min-w-36{min-width:9rem}.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}.w-screen{width:100vw}.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-left{text-align:left}.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}}";
|
|
9
|
+
//#endregion
|
|
10
|
+
//#region src/client/webcomponents/components/DockContextMenu.ts
|
|
11
|
+
function renderMenuItem(item) {
|
|
12
|
+
return h("button", {
|
|
13
|
+
class: "flex items-center gap-2 px3 py1.5 rounded hover:bg-active transition text-left",
|
|
14
|
+
onClick: item.action
|
|
15
|
+
}, [h("div", { class: `${item.icon} text-base op60` }), h("span", item.label)]);
|
|
16
|
+
}
|
|
17
|
+
function hideDock(context, entry) {
|
|
18
|
+
const settingsStore = context.docks.settings;
|
|
19
|
+
const id = entry.id;
|
|
20
|
+
settingsStore.mutate((state) => {
|
|
21
|
+
if (!state.docksHidden.includes(id)) state.docksHidden = [...state.docksHidden, id];
|
|
22
|
+
});
|
|
23
|
+
if (context.docks.selected?.id === id) context.docks.switchEntry(null);
|
|
24
|
+
setDockContextMenu(null);
|
|
25
|
+
}
|
|
26
|
+
function refreshDock(context, entry) {
|
|
27
|
+
const iframe = context.docks.getStateById(entry.id)?.domElements.iframe;
|
|
28
|
+
if (!iframe) {
|
|
29
|
+
setDockContextMenu(null);
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
const src = iframe.src;
|
|
33
|
+
iframe.src = "";
|
|
34
|
+
iframe.src = src;
|
|
35
|
+
setDockContextMenu(null);
|
|
36
|
+
}
|
|
37
|
+
function canHide(context, entry) {
|
|
38
|
+
return context.docks.entries.some((item) => item.id === entry.id);
|
|
39
|
+
}
|
|
40
|
+
function canRefresh(entry) {
|
|
41
|
+
return entry.type === "iframe";
|
|
42
|
+
}
|
|
43
|
+
function openDockContextMenu(options) {
|
|
44
|
+
const { context, entry, el, gap = 6 } = options;
|
|
45
|
+
const items = [{
|
|
46
|
+
label: "Hide",
|
|
47
|
+
icon: "i-ph-eye-slash-duotone",
|
|
48
|
+
action: () => hideDock(context, entry),
|
|
49
|
+
visible: canHide(context, entry)
|
|
50
|
+
}, {
|
|
51
|
+
label: "Refresh",
|
|
52
|
+
icon: "i-ph-arrow-clockwise-duotone",
|
|
53
|
+
action: () => refreshDock(context, entry),
|
|
54
|
+
visible: canRefresh(entry)
|
|
55
|
+
}].filter((item) => item.visible);
|
|
56
|
+
if (items.length === 0) return;
|
|
57
|
+
setDockContextMenu({
|
|
58
|
+
el,
|
|
59
|
+
gap,
|
|
60
|
+
content: () => h("div", { class: "flex flex-col text-sm min-w-36 mx--1" }, items.map(renderMenuItem))
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
//#endregion
|
|
64
|
+
//#region src/client/webcomponents/components/DockEntry.vue
|
|
65
|
+
const _hoisted_1$6 = ["title"];
|
|
66
|
+
const _hoisted_2$5 = {
|
|
67
|
+
key: 0,
|
|
68
|
+
class: "absolute top-0.5 right-0 bg-gray-6 text-white text-0.6em px-1 rounded-full shadow"
|
|
69
|
+
};
|
|
70
|
+
const _sfc_main$10 = /* @__PURE__ */ defineComponent({
|
|
71
|
+
__name: "DockEntry",
|
|
72
|
+
props: {
|
|
73
|
+
context: {},
|
|
74
|
+
dock: {},
|
|
75
|
+
isSelected: { type: Boolean },
|
|
76
|
+
isDimmed: { type: Boolean },
|
|
77
|
+
isVertical: { type: Boolean },
|
|
78
|
+
badge: {},
|
|
79
|
+
tooltip: {
|
|
80
|
+
type: Boolean,
|
|
81
|
+
default: true
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
setup(__props) {
|
|
85
|
+
const props = __props;
|
|
86
|
+
const button = useTemplateRef("button");
|
|
87
|
+
function updateTooltip() {
|
|
88
|
+
if (!props.tooltip) return;
|
|
89
|
+
if (!button.value) return;
|
|
90
|
+
setFloatingTooltip({
|
|
91
|
+
content: props.dock.title,
|
|
92
|
+
el: button.value
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
function clearTitle() {
|
|
96
|
+
if (!props.tooltip) return;
|
|
97
|
+
setFloatingTooltip(null);
|
|
98
|
+
}
|
|
99
|
+
function openContextMenu(e) {
|
|
100
|
+
if (!button.value) return;
|
|
101
|
+
if (props.dock.id === "overflow") return;
|
|
102
|
+
e.preventDefault();
|
|
103
|
+
clearTitle();
|
|
104
|
+
const entry = props.context.docks.entries.find((item) => item.id === props.dock.id);
|
|
105
|
+
if (!entry) return;
|
|
106
|
+
openDockContextMenu({
|
|
107
|
+
context: props.context,
|
|
108
|
+
entry,
|
|
109
|
+
el: button.value,
|
|
110
|
+
gap: 6
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
useEventListener("pointerdown", () => {
|
|
114
|
+
if (!props.tooltip) return;
|
|
115
|
+
setFloatingTooltip(null);
|
|
116
|
+
});
|
|
117
|
+
return (_ctx, _cache) => {
|
|
118
|
+
return openBlock(), createElementBlock("div", {
|
|
119
|
+
key: __props.dock.id,
|
|
120
|
+
class: "relative group vite-devtools-dock-entry",
|
|
121
|
+
onPointerenter: updateTooltip,
|
|
122
|
+
onPointerleave: clearTitle,
|
|
123
|
+
onContextmenu: openContextMenu
|
|
124
|
+
}, [createBaseVNode("button", {
|
|
125
|
+
ref_key: "button",
|
|
126
|
+
ref: button,
|
|
127
|
+
title: __props.dock.title,
|
|
128
|
+
class: normalizeClass([[
|
|
129
|
+
__props.isVertical ? "rotate-270" : "",
|
|
130
|
+
__props.isDimmed ? "op50 saturate-0" : "",
|
|
131
|
+
__props.isSelected ? "scale-120 text-purple" : ""
|
|
132
|
+
], "flex items-center justify-center p1.5 rounded-xl hover:bg-[#8881] hover:scale-110 transition-all duration-300 relative"])
|
|
133
|
+
}, [createVNode(_sfc_main$11, {
|
|
134
|
+
icon: __props.dock.icon,
|
|
135
|
+
title: __props.dock.title,
|
|
136
|
+
class: "w-5 h-5 select-none"
|
|
137
|
+
}, null, 8, ["icon", "title"]), __props.badge ? (openBlock(), createElementBlock("div", _hoisted_2$5, toDisplayString(__props.badge), 1)) : createCommentVNode("v-if", true)], 10, _hoisted_1$6)], 32);
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
//#endregion
|
|
142
|
+
//#region src/client/webcomponents/components/DockEntries.vue
|
|
143
|
+
const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
144
|
+
__name: "DockEntries",
|
|
145
|
+
props: {
|
|
146
|
+
context: {},
|
|
147
|
+
entries: {},
|
|
148
|
+
selected: {},
|
|
149
|
+
isVertical: { type: Boolean }
|
|
150
|
+
},
|
|
151
|
+
emits: ["select"],
|
|
152
|
+
setup(__props, { emit: __emit }) {
|
|
153
|
+
const props = __props;
|
|
154
|
+
const emit = __emit;
|
|
155
|
+
const { selected, isVertical, entries } = toRefs(props);
|
|
156
|
+
function toggleDockEntry(dock) {
|
|
157
|
+
if (selected.value?.id === dock.id) emit("select", void 0);
|
|
158
|
+
else emit("select", dock);
|
|
159
|
+
}
|
|
160
|
+
return (_ctx, _cache) => {
|
|
161
|
+
return openBlock(true), createElementBlock(Fragment, null, renderList(unref(entries), (dock) => {
|
|
162
|
+
return openBlock(), createElementBlock(Fragment, { key: dock.id }, [!dock.isHidden ? (openBlock(), createBlock(_sfc_main$10, {
|
|
163
|
+
key: 0,
|
|
164
|
+
context: __props.context,
|
|
165
|
+
dock,
|
|
166
|
+
"is-selected": unref(selected)?.id === dock.id,
|
|
167
|
+
"is-dimmed": unref(selected) ? unref(selected).id !== dock.id : false,
|
|
168
|
+
"is-vertical": unref(isVertical),
|
|
169
|
+
onClick: ($event) => toggleDockEntry(dock)
|
|
170
|
+
}, null, 8, [
|
|
171
|
+
"context",
|
|
172
|
+
"dock",
|
|
173
|
+
"is-selected",
|
|
174
|
+
"is-dimmed",
|
|
175
|
+
"is-vertical",
|
|
176
|
+
"onClick"
|
|
177
|
+
])) : createCommentVNode("v-if", true)], 64);
|
|
178
|
+
}), 128);
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
//#endregion
|
|
183
|
+
//#region src/client/webcomponents/components/DockEntriesWithCategories.vue
|
|
184
|
+
const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
185
|
+
__name: "DockEntriesWithCategories",
|
|
186
|
+
props: {
|
|
187
|
+
context: {},
|
|
188
|
+
groups: {},
|
|
189
|
+
selected: {},
|
|
190
|
+
isVertical: { type: Boolean }
|
|
191
|
+
},
|
|
192
|
+
emits: ["select"],
|
|
193
|
+
setup(__props, { emit: __emit }) {
|
|
194
|
+
const emit = __emit;
|
|
195
|
+
return (_ctx, _cache) => {
|
|
196
|
+
return openBlock(true), createElementBlock(Fragment, null, renderList(__props.groups, ([category, entries], idx) => {
|
|
197
|
+
return openBlock(), createElementBlock(Fragment, { key: category }, [idx > 0 ? renderSlot(_ctx.$slots, "separator", {
|
|
198
|
+
key: 0,
|
|
199
|
+
category,
|
|
200
|
+
index: idx,
|
|
201
|
+
isVertical: __props.isVertical
|
|
202
|
+
}, () => [_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$9, {
|
|
203
|
+
context: __props.context,
|
|
204
|
+
entries,
|
|
205
|
+
"is-vertical": __props.isVertical,
|
|
206
|
+
selected: __props.selected,
|
|
207
|
+
onSelect: _cache[0] || (_cache[0] = (e) => emit("select", e))
|
|
208
|
+
}, null, 8, [
|
|
209
|
+
"context",
|
|
210
|
+
"entries",
|
|
211
|
+
"is-vertical",
|
|
212
|
+
"selected"
|
|
213
|
+
])], 64);
|
|
214
|
+
}), 128);
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
});
|
|
218
|
+
//#endregion
|
|
219
|
+
//#region src/client/webcomponents/utils/PersistedDomViewsManager.ts
|
|
220
|
+
var PersistedDomViewsManager = class {
|
|
221
|
+
holders = {};
|
|
222
|
+
constructor(container) {
|
|
223
|
+
this.container = container;
|
|
224
|
+
}
|
|
225
|
+
getHolder(id, _type) {
|
|
226
|
+
return this.holders[id];
|
|
227
|
+
}
|
|
228
|
+
getOrCreateHolder(id, type) {
|
|
229
|
+
if (!this.container.value) throw new Error("[VITE DEVTOOLS] PersistedDomViewsManager: container is not set");
|
|
230
|
+
let holder;
|
|
231
|
+
if (!this.holders[id]) {
|
|
232
|
+
const el = document.createElement(type);
|
|
233
|
+
this.holders[id] = new PersistedDomHolder(id, el);
|
|
234
|
+
this.container.value.appendChild(el);
|
|
235
|
+
holder = this.holders[id];
|
|
236
|
+
} else holder = this.holders[id];
|
|
237
|
+
return holder;
|
|
238
|
+
}
|
|
239
|
+
removeHolder(id) {
|
|
240
|
+
const holder = this.holders[id];
|
|
241
|
+
if (!holder) return false;
|
|
242
|
+
holder.unmount();
|
|
243
|
+
holder.element.remove();
|
|
244
|
+
delete this.holders[id];
|
|
245
|
+
return true;
|
|
246
|
+
}
|
|
247
|
+
};
|
|
248
|
+
var PersistedDomHolder = class {
|
|
249
|
+
element;
|
|
250
|
+
id;
|
|
251
|
+
anchor;
|
|
252
|
+
_cleanups = [];
|
|
253
|
+
constructor(id, iframe) {
|
|
254
|
+
this.id = id;
|
|
255
|
+
this.element = iframe;
|
|
256
|
+
}
|
|
257
|
+
cleanup() {
|
|
258
|
+
this._cleanups.forEach((cleanup) => cleanup());
|
|
259
|
+
this._cleanups = [];
|
|
260
|
+
}
|
|
261
|
+
mount(parent) {
|
|
262
|
+
if (this.anchor === parent) {
|
|
263
|
+
this.show();
|
|
264
|
+
return;
|
|
265
|
+
}
|
|
266
|
+
this.cleanup();
|
|
267
|
+
this.anchor = parent;
|
|
268
|
+
const update = () => this.update();
|
|
269
|
+
window.addEventListener("resize", update);
|
|
270
|
+
this._cleanups.push(() => window.removeEventListener("resize", update));
|
|
271
|
+
this.show();
|
|
272
|
+
}
|
|
273
|
+
hide() {
|
|
274
|
+
this.element.style.display = "none";
|
|
275
|
+
}
|
|
276
|
+
show() {
|
|
277
|
+
this.element.style.display = "block";
|
|
278
|
+
this.update();
|
|
279
|
+
}
|
|
280
|
+
update() {
|
|
281
|
+
if (!this.anchor) return;
|
|
282
|
+
const rect = this.anchor.getBoundingClientRect();
|
|
283
|
+
this.element.style.position = "absolute";
|
|
284
|
+
this.element.style.width = `${rect.width}px`;
|
|
285
|
+
this.element.style.height = `${rect.height}px`;
|
|
286
|
+
}
|
|
287
|
+
unmount() {
|
|
288
|
+
this.cleanup();
|
|
289
|
+
this.hide();
|
|
290
|
+
this.anchor = void 0;
|
|
291
|
+
}
|
|
292
|
+
};
|
|
293
|
+
//#endregion
|
|
294
|
+
//#region src/client/webcomponents/components/icons/VitePlus.vue
|
|
295
|
+
const _sfc_main$7 = {};
|
|
296
|
+
const _hoisted_1$5 = {
|
|
297
|
+
viewBox: "0 0 40 40",
|
|
298
|
+
fill: "none",
|
|
299
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
300
|
+
};
|
|
301
|
+
function _sfc_render(_ctx, _cache) {
|
|
302
|
+
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)])]);
|
|
303
|
+
}
|
|
304
|
+
var VitePlus_default = /* @__PURE__ */ export_helper_default(_sfc_main$7, [["render", _sfc_render]]);
|
|
305
|
+
//#endregion
|
|
306
|
+
//#region src/client/webcomponents/components/ViewBuiltinClientAuthNotice.vue
|
|
307
|
+
const _hoisted_1$4 = { class: "w-full h-full flex flex-col items-center justify-center p20" };
|
|
308
|
+
const _hoisted_2$4 = { class: "max-w-150 flex flex-col items-center justify-center gap-2" };
|
|
309
|
+
const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
310
|
+
__name: "ViewBuiltinClientAuthNotice",
|
|
311
|
+
props: { context: {} },
|
|
312
|
+
setup(__props) {
|
|
313
|
+
return (_ctx, _cache) => {
|
|
314
|
+
return openBlock(), createElementBlock("div", _hoisted_1$4, [createBaseVNode("div", _hoisted_2$4, [
|
|
315
|
+
createVNode(VitePlus_default, { class: "w-20 h-20" }),
|
|
316
|
+
_cache[0] || (_cache[0] = createBaseVNode("h1", { class: "text-2xl font-bold text-violet mb2" }, " Vite DevTools is Unauthorized ", -1)),
|
|
317
|
+
_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)),
|
|
318
|
+
_cache[2] || (_cache[2] = createBaseVNode("p", { class: "op75" }, " To protect your project from unauthorized access, please authorize your browser before proceeding. ", -1)),
|
|
319
|
+
_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))
|
|
320
|
+
])]);
|
|
321
|
+
};
|
|
322
|
+
}
|
|
323
|
+
});
|
|
324
|
+
//#endregion
|
|
325
|
+
//#region src/client/webcomponents/components/ViewBuiltinSettings.vue
|
|
326
|
+
const _hoisted_1$3 = { class: "h-full w-full overflow-hidden" };
|
|
327
|
+
const _hoisted_2$3 = { class: "h-full w-full overflow-auto p10" };
|
|
328
|
+
const _hoisted_3$2 = { class: "max-w-200 mx-auto" };
|
|
329
|
+
const _hoisted_4$1 = { class: "mb-8" };
|
|
330
|
+
const _hoisted_5$1 = { class: "flex flex-col gap-4" };
|
|
331
|
+
const _hoisted_6 = { class: "flex items-center gap-2 px-4 py-3 bg-gray/5 cursor-pointer select-none border-b border-base" };
|
|
332
|
+
const _hoisted_7 = ["onClick"];
|
|
333
|
+
const _hoisted_8 = { class: "font-medium capitalize" };
|
|
334
|
+
const _hoisted_9 = { class: "text-xs op40" };
|
|
335
|
+
const _hoisted_10 = ["onClick"];
|
|
336
|
+
const _hoisted_11 = ["title", "onClick"];
|
|
337
|
+
const _hoisted_12 = {
|
|
338
|
+
key: 0,
|
|
339
|
+
class: "i-ph-check-bold text-xs"
|
|
340
|
+
};
|
|
341
|
+
const _hoisted_13 = { class: "flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity" };
|
|
342
|
+
const _hoisted_14 = ["onClick"];
|
|
343
|
+
const _hoisted_15 = ["onClick"];
|
|
344
|
+
const _hoisted_16 = ["title", "onClick"];
|
|
345
|
+
const _hoisted_17 = { class: "border-t border-base pt-6 mb-8" };
|
|
346
|
+
const _hoisted_18 = { class: "flex flex-col gap-3" };
|
|
347
|
+
const _hoisted_19 = { class: "flex items-center gap-3 cursor-pointer group" };
|
|
348
|
+
const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
349
|
+
__name: "ViewBuiltinSettings",
|
|
350
|
+
props: {
|
|
351
|
+
context: {},
|
|
352
|
+
entry: {}
|
|
353
|
+
},
|
|
354
|
+
setup(__props) {
|
|
355
|
+
const props = __props;
|
|
356
|
+
const settingsStore = props.context.docks.settings;
|
|
357
|
+
const settings = sharedStateToRef(settingsStore);
|
|
358
|
+
const categories = computed(() => {
|
|
359
|
+
return docksGroupByCategories(props.context.docks.entries, settingsStore.value(), { includeHidden: true });
|
|
360
|
+
});
|
|
361
|
+
function getCategoryLabel(category) {
|
|
362
|
+
return {
|
|
363
|
+
"~viteplus": "Vite+",
|
|
364
|
+
"default": "Default",
|
|
365
|
+
"app": "App",
|
|
366
|
+
"framework": "Framework",
|
|
367
|
+
"web": "Web",
|
|
368
|
+
"advanced": "Advanced",
|
|
369
|
+
"~builtin": "Built-in"
|
|
370
|
+
}[category] || category;
|
|
371
|
+
}
|
|
372
|
+
function toggleDock(id, visible) {
|
|
373
|
+
const isHidden = settings.value.docksHidden.includes(id);
|
|
374
|
+
if (visible ?? isHidden) settingsStore.mutate((state) => {
|
|
375
|
+
state.docksHidden = state.docksHidden.filter((i) => i !== id);
|
|
376
|
+
});
|
|
377
|
+
else settingsStore.mutate((state) => {
|
|
378
|
+
state.docksHidden = [...state.docksHidden, id];
|
|
379
|
+
});
|
|
380
|
+
}
|
|
381
|
+
function toggleCategory(category, visible) {
|
|
382
|
+
const isHidden = settings.value.docksCategoriesHidden.includes(category);
|
|
383
|
+
if (visible ?? isHidden) settingsStore.mutate((state) => {
|
|
384
|
+
state.docksCategoriesHidden = state.docksCategoriesHidden.filter((i) => i !== category);
|
|
385
|
+
});
|
|
386
|
+
else settingsStore.mutate((state) => {
|
|
387
|
+
state.docksCategoriesHidden = [...state.docksCategoriesHidden, category];
|
|
388
|
+
});
|
|
389
|
+
}
|
|
390
|
+
function togglePin(id) {
|
|
391
|
+
if (settings.value.docksPinned.includes(id)) settingsStore.mutate((state) => {
|
|
392
|
+
state.docksPinned = state.docksPinned.filter((i) => i !== id);
|
|
393
|
+
});
|
|
394
|
+
else settingsStore.mutate((state) => {
|
|
395
|
+
state.docksPinned = [...state.docksPinned, id];
|
|
396
|
+
});
|
|
397
|
+
}
|
|
398
|
+
function isInCustomOrder(id) {
|
|
399
|
+
return settings.value.docksCustomOrder[id] !== void 0;
|
|
400
|
+
}
|
|
401
|
+
function moveOrder(category, id, delta) {
|
|
402
|
+
const items = categories.value.find(([cat]) => cat === category);
|
|
403
|
+
if (!items) throw new Error(`Category ${category} not found`);
|
|
404
|
+
const array = [...items[1]];
|
|
405
|
+
const index = array.findIndex((item) => item.id === id);
|
|
406
|
+
const newIndex = index + delta;
|
|
407
|
+
if (newIndex < 0 || newIndex >= array.length) throw new Error(`Invalid new index ${newIndex} for category ${category}`);
|
|
408
|
+
array.splice(newIndex, 0, array.splice(index, 1)[0]);
|
|
409
|
+
items[1] = array;
|
|
410
|
+
settingsStore.mutate((state) => {
|
|
411
|
+
array.forEach((item, index) => {
|
|
412
|
+
state.docksCustomOrder[item.id] = index;
|
|
413
|
+
});
|
|
414
|
+
});
|
|
415
|
+
}
|
|
416
|
+
function doesCategoryHaveCustomOrder(category) {
|
|
417
|
+
const items = categories.value.find(([cat]) => cat === category);
|
|
418
|
+
if (!items) return false;
|
|
419
|
+
return items[1].some((item) => isInCustomOrder(item.id));
|
|
420
|
+
}
|
|
421
|
+
function resetCustomOrderForCategory(category) {
|
|
422
|
+
const items = categories.value.find(([cat]) => cat === category);
|
|
423
|
+
if (!items) return;
|
|
424
|
+
settingsStore.mutate((state) => {
|
|
425
|
+
items[1].forEach((item) => {
|
|
426
|
+
delete state.docksCustomOrder[item.id];
|
|
427
|
+
});
|
|
428
|
+
});
|
|
429
|
+
}
|
|
430
|
+
function resetSettings() {
|
|
431
|
+
if (confirm("Reset all dock settings to defaults?")) settingsStore.mutate(() => {
|
|
432
|
+
return DEFAULT_STATE_USER_SETTINGS();
|
|
433
|
+
});
|
|
434
|
+
}
|
|
435
|
+
return (_ctx, _cache) => {
|
|
436
|
+
return openBlock(), createElementBlock("div", _hoisted_1$3, [createBaseVNode("div", _hoisted_2$3, [createBaseVNode("div", _hoisted_3$2, [
|
|
437
|
+
_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)),
|
|
438
|
+
createBaseVNode("section", _hoisted_4$1, [
|
|
439
|
+
_cache[5] || (_cache[5] = createBaseVNode("h2", { class: "text-lg font-medium mb-4 op75" }, " Dock Entries ", -1)),
|
|
440
|
+
_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)),
|
|
441
|
+
createBaseVNode("div", _hoisted_5$1, [(openBlock(true), createElementBlock(Fragment, null, renderList(categories.value, ([category, entries]) => {
|
|
442
|
+
return openBlock(), createElementBlock("div", {
|
|
443
|
+
key: category,
|
|
444
|
+
class: normalizeClass(["border border-base rounded-lg overflow-hidden transition-opacity", unref(settings).docksCategoriesHidden.includes(category) ? "op40" : ""])
|
|
445
|
+
}, [
|
|
446
|
+
createCommentVNode(" Category header "),
|
|
447
|
+
createBaseVNode("div", _hoisted_6, [
|
|
448
|
+
createBaseVNode("button", {
|
|
449
|
+
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"]),
|
|
450
|
+
onClick: ($event) => toggleCategory(category)
|
|
451
|
+
}, [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_7),
|
|
452
|
+
createBaseVNode("span", _hoisted_8, toDisplayString(getCategoryLabel(category)), 1),
|
|
453
|
+
createBaseVNode("span", _hoisted_9, "(" + toDisplayString(entries.length) + ")", 1),
|
|
454
|
+
_cache[2] || (_cache[2] = createBaseVNode("span", { class: "flex-auto" }, null, -1)),
|
|
455
|
+
doesCategoryHaveCustomOrder(category) ? (openBlock(), createElementBlock("button", {
|
|
456
|
+
key: 0,
|
|
457
|
+
class: "w-6 h-6 flex items-center justify-center rounded hover:bg-gray/20 transition-colors",
|
|
458
|
+
title: "Reset custom order",
|
|
459
|
+
onClick: ($event) => resetCustomOrderForCategory(category)
|
|
460
|
+
}, [..._cache[1] || (_cache[1] = [createBaseVNode("div", { class: "i-ph-arrows-counter-clockwise-duotone text-sm op60" }, null, -1)])], 8, _hoisted_10)) : createCommentVNode("v-if", true)
|
|
461
|
+
]),
|
|
462
|
+
createCommentVNode(" Entries "),
|
|
463
|
+
createBaseVNode("div", null, [(openBlock(true), createElementBlock(Fragment, null, renderList(entries, (dock, index) => {
|
|
464
|
+
return openBlock(), createElementBlock("div", {
|
|
465
|
+
key: dock.id,
|
|
466
|
+
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" : ""])
|
|
467
|
+
}, [
|
|
468
|
+
createCommentVNode(" Visibility toggle "),
|
|
469
|
+
createBaseVNode("button", {
|
|
470
|
+
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" : ""]),
|
|
471
|
+
title: unref(settings).docksHidden.includes(dock.id) ? "Show" : "Hide",
|
|
472
|
+
onClick: ($event) => toggleDock(dock.id)
|
|
473
|
+
}, [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_12)) : createCommentVNode("v-if", true)], 2)], 10, _hoisted_11),
|
|
474
|
+
createCommentVNode(" Icon & Title "),
|
|
475
|
+
createVNode(_sfc_main$11, {
|
|
476
|
+
icon: dock.icon,
|
|
477
|
+
title: dock.title,
|
|
478
|
+
class: normalizeClass(["w-5 h-5 shrink-0", unref(settings).docksHidden.includes(dock.id) ? "saturate-0" : ""])
|
|
479
|
+
}, null, 8, [
|
|
480
|
+
"icon",
|
|
481
|
+
"title",
|
|
482
|
+
"class"
|
|
483
|
+
]),
|
|
484
|
+
createBaseVNode("span", { class: normalizeClass(["flex-1 truncate", unref(settings).docksHidden.includes(dock.id) ? "line-through op60" : ""]) }, toDisplayString(dock.title), 3),
|
|
485
|
+
createCommentVNode(" Order controls "),
|
|
486
|
+
createBaseVNode("div", _hoisted_13, [index > 0 ? (openBlock(), createElementBlock("button", {
|
|
487
|
+
key: 0,
|
|
488
|
+
class: "w-6 h-6 flex items-center justify-center rounded hover:bg-gray/20 transition-colors",
|
|
489
|
+
title: "Move up (higher priority)",
|
|
490
|
+
onClick: ($event) => moveOrder(category, dock.id, -1)
|
|
491
|
+
}, [..._cache[3] || (_cache[3] = [createBaseVNode("div", { class: "i-ph-caret-up text-sm op60" }, null, -1)])], 8, _hoisted_14)) : createCommentVNode("v-if", true), index < entries.length - 1 ? (openBlock(), createElementBlock("button", {
|
|
492
|
+
key: 1,
|
|
493
|
+
class: "w-6 h-6 flex items-center justify-center rounded hover:bg-gray/20 transition-colors",
|
|
494
|
+
title: "Move down (lower priority)",
|
|
495
|
+
onClick: ($event) => moveOrder(category, dock.id, 1)
|
|
496
|
+
}, [..._cache[4] || (_cache[4] = [createBaseVNode("div", { class: "i-ph-caret-down text-sm op60" }, null, -1)])], 8, _hoisted_15)) : createCommentVNode("v-if", true)]),
|
|
497
|
+
createCommentVNode(" Pin toggle "),
|
|
498
|
+
createBaseVNode("button", {
|
|
499
|
+
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"]),
|
|
500
|
+
title: unref(settings).docksPinned.includes(dock.id) ? "Unpin" : "Pin",
|
|
501
|
+
onClick: ($event) => togglePin(dock.id)
|
|
502
|
+
}, [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_16)
|
|
503
|
+
], 2);
|
|
504
|
+
}), 128))])
|
|
505
|
+
], 2);
|
|
506
|
+
}), 128))])
|
|
507
|
+
]),
|
|
508
|
+
createBaseVNode("section", _hoisted_17, [_cache[8] || (_cache[8] = createBaseVNode("h2", { class: "text-lg font-medium mb-4 op75" }, " Appearance ", -1)), createBaseVNode("div", _hoisted_18, [createCommentVNode(" Show iframe address bar toggle "), createBaseVNode("label", _hoisted_19, [createBaseVNode("button", {
|
|
509
|
+
class: normalizeClass(["w-10 h-6 rounded-full transition-colors relative shrink-0", unref(settings).showIframeAddressBar ? "bg-lime" : "bg-gray/30"]),
|
|
510
|
+
onClick: _cache[0] || (_cache[0] = ($event) => unref(settingsStore).mutate((s) => {
|
|
511
|
+
s.showIframeAddressBar = !s.showIframeAddressBar;
|
|
512
|
+
}))
|
|
513
|
+
}, [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))])])]),
|
|
514
|
+
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", {
|
|
515
|
+
class: "px-4 py-2 rounded bg-red/10 text-red hover:bg-red/20 transition-colors flex items-center gap-2",
|
|
516
|
+
onClick: resetSettings
|
|
517
|
+
}, [..._cache[9] || (_cache[9] = [createBaseVNode("div", { class: "i-ph-arrow-counter-clockwise" }, null, -1), createTextVNode(" Reset Dock Settings ", -1)])])])
|
|
518
|
+
])])]);
|
|
519
|
+
};
|
|
520
|
+
}
|
|
521
|
+
});
|
|
522
|
+
//#endregion
|
|
523
|
+
//#region src/client/webcomponents/components/ViewCustomRenderer.vue
|
|
524
|
+
const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
525
|
+
__name: "ViewCustomRenderer",
|
|
526
|
+
props: {
|
|
527
|
+
context: {},
|
|
528
|
+
entry: {},
|
|
529
|
+
persistedDoms: {},
|
|
530
|
+
divStyle: {}
|
|
531
|
+
},
|
|
532
|
+
setup(__props) {
|
|
533
|
+
const props = __props;
|
|
534
|
+
const isLoading = ref(true);
|
|
535
|
+
const viewFrame = useTemplateRef("viewFrame");
|
|
536
|
+
onMounted(() => {
|
|
537
|
+
const holder = props.persistedDoms.getOrCreateHolder(props.entry.id, "div");
|
|
538
|
+
holder.element.style.boxShadow = "none";
|
|
539
|
+
holder.element.style.outline = "none";
|
|
540
|
+
Object.assign(holder.element.style, props.divStyle);
|
|
541
|
+
const entryState = props.context.docks.getStateById(props.entry.id);
|
|
542
|
+
if (entryState) entryState.domElements.panel = holder.element;
|
|
543
|
+
holder.mount(viewFrame.value);
|
|
544
|
+
isLoading.value = false;
|
|
545
|
+
nextTick(() => {
|
|
546
|
+
holder.update();
|
|
547
|
+
});
|
|
548
|
+
watch(() => props.context.panel, () => {
|
|
549
|
+
holder.update();
|
|
550
|
+
}, { deep: true });
|
|
551
|
+
watchEffect(() => {
|
|
552
|
+
holder.element.style.pointerEvents = props.context.panel.isDragging || props.context.panel.isResizing ? "none" : "auto";
|
|
553
|
+
}, { flush: "sync" });
|
|
554
|
+
});
|
|
555
|
+
onUnmounted(() => {
|
|
556
|
+
props.persistedDoms.getHolder(props.entry.id, "div")?.unmount();
|
|
557
|
+
});
|
|
558
|
+
return (_ctx, _cache) => {
|
|
559
|
+
return openBlock(), createElementBlock("div", {
|
|
560
|
+
ref_key: "viewFrame",
|
|
561
|
+
ref: viewFrame,
|
|
562
|
+
class: "vite-devtools-view-custom-renderer w-full h-full flex items-center justify-center"
|
|
563
|
+
}, null, 512);
|
|
564
|
+
};
|
|
565
|
+
}
|
|
566
|
+
});
|
|
567
|
+
//#endregion
|
|
568
|
+
//#region src/client/webcomponents/components/ViewIframe.vue
|
|
569
|
+
const _hoisted_1$2 = { class: "w-full h-full flex flex-col" };
|
|
570
|
+
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" };
|
|
571
|
+
const _hoisted_3$1 = ["value", "readonly"];
|
|
572
|
+
const _hoisted_4 = {
|
|
573
|
+
key: 0,
|
|
574
|
+
class: "i-ph-circle-notch text-sm op40 ml-2 shrink-0 animate-spin"
|
|
575
|
+
};
|
|
576
|
+
const _hoisted_5 = {
|
|
577
|
+
key: 0,
|
|
578
|
+
class: "op50 z--1"
|
|
579
|
+
};
|
|
580
|
+
const ADDRESS_BAR_HEIGHT = 50;
|
|
581
|
+
const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
582
|
+
__name: "ViewIframe",
|
|
583
|
+
props: {
|
|
584
|
+
context: {},
|
|
585
|
+
entry: {},
|
|
586
|
+
persistedDoms: {},
|
|
587
|
+
iframeStyle: {}
|
|
588
|
+
},
|
|
589
|
+
setup(__props) {
|
|
590
|
+
const props = __props;
|
|
591
|
+
const settings = sharedStateToRef(props.context.docks.settings);
|
|
592
|
+
const showAddressBar = computed(() => settings.value.showIframeAddressBar ?? true);
|
|
593
|
+
const isLoading = ref(true);
|
|
594
|
+
const isIframeLoading = ref(false);
|
|
595
|
+
const viewFrame = useTemplateRef("viewFrame");
|
|
596
|
+
const urlInputRef = useTemplateRef("urlInput");
|
|
597
|
+
const currentUrl = ref(props.entry.url);
|
|
598
|
+
const editingUrl = ref(props.entry.url);
|
|
599
|
+
const isEditing = ref(false);
|
|
600
|
+
const iframeElement = computed(() => {
|
|
601
|
+
return props.persistedDoms.getHolder(props.entry.id, "iframe")?.element;
|
|
602
|
+
});
|
|
603
|
+
const currentPageOrigin = computed(() => {
|
|
604
|
+
try {
|
|
605
|
+
return window.location.origin;
|
|
606
|
+
} catch {
|
|
607
|
+
return "";
|
|
608
|
+
}
|
|
609
|
+
});
|
|
610
|
+
const isCrossOrigin = computed(() => {
|
|
611
|
+
try {
|
|
612
|
+
return new URL(currentUrl.value).origin !== currentPageOrigin.value;
|
|
613
|
+
} catch {
|
|
614
|
+
return true;
|
|
615
|
+
}
|
|
616
|
+
});
|
|
617
|
+
const displayUrl = computed(() => {
|
|
618
|
+
if (isCrossOrigin.value) return currentUrl.value;
|
|
619
|
+
try {
|
|
620
|
+
const url = new URL(currentUrl.value);
|
|
621
|
+
return url.pathname + url.search + url.hash;
|
|
622
|
+
} catch {
|
|
623
|
+
return currentUrl.value;
|
|
624
|
+
}
|
|
625
|
+
});
|
|
626
|
+
function updateCurrentUrl() {
|
|
627
|
+
try {
|
|
628
|
+
const iframe = iframeElement.value;
|
|
629
|
+
if (iframe?.contentWindow?.location?.href) currentUrl.value = iframe.contentWindow.location.href;
|
|
630
|
+
} catch {}
|
|
631
|
+
}
|
|
632
|
+
function navigateTo(url) {
|
|
633
|
+
const iframe = iframeElement.value;
|
|
634
|
+
if (!iframe) return;
|
|
635
|
+
let normalizedUrl = url.trim();
|
|
636
|
+
if (normalizedUrl && !/^https?:\/\//i.test(normalizedUrl)) if (normalizedUrl.startsWith("/")) normalizedUrl = `${window.location.origin}${normalizedUrl}`;
|
|
637
|
+
else normalizedUrl = `http://${normalizedUrl}`;
|
|
638
|
+
currentUrl.value = normalizedUrl;
|
|
639
|
+
editingUrl.value = normalizedUrl;
|
|
640
|
+
iframe.src = normalizedUrl;
|
|
641
|
+
isIframeLoading.value = true;
|
|
642
|
+
}
|
|
643
|
+
function handleUrlSubmit() {
|
|
644
|
+
isEditing.value = false;
|
|
645
|
+
if (editingUrl.value !== currentUrl.value) navigateTo(editingUrl.value);
|
|
646
|
+
}
|
|
647
|
+
function handleUrlFocus() {
|
|
648
|
+
isEditing.value = true;
|
|
649
|
+
editingUrl.value = currentUrl.value;
|
|
650
|
+
nextTick(() => {
|
|
651
|
+
urlInputRef.value?.select();
|
|
652
|
+
});
|
|
653
|
+
}
|
|
654
|
+
function handleUrlBlur() {
|
|
655
|
+
isEditing.value = false;
|
|
656
|
+
editingUrl.value = currentUrl.value;
|
|
657
|
+
}
|
|
658
|
+
function handleUrlKeydown(e) {
|
|
659
|
+
if (e.key === "Escape") {
|
|
660
|
+
isEditing.value = false;
|
|
661
|
+
editingUrl.value = currentUrl.value;
|
|
662
|
+
urlInputRef.value?.blur();
|
|
663
|
+
}
|
|
664
|
+
}
|
|
665
|
+
function goBack() {
|
|
666
|
+
try {
|
|
667
|
+
iframeElement.value?.contentWindow?.history.back();
|
|
668
|
+
} catch {}
|
|
669
|
+
}
|
|
670
|
+
function refresh() {
|
|
671
|
+
const iframe = iframeElement.value;
|
|
672
|
+
if (!iframe) return;
|
|
673
|
+
isIframeLoading.value = true;
|
|
674
|
+
const src = iframe.src;
|
|
675
|
+
iframe.src = "";
|
|
676
|
+
iframe.src = src;
|
|
677
|
+
}
|
|
678
|
+
onMounted(() => {
|
|
679
|
+
if (props.persistedDoms.getHolder(props.entry.id, "iframe")) updateCurrentUrl();
|
|
680
|
+
const holder = props.persistedDoms.getOrCreateHolder(props.entry.id, "iframe");
|
|
681
|
+
holder.element.style.boxShadow = "none";
|
|
682
|
+
holder.element.style.outline = "none";
|
|
683
|
+
if (!holder.element.src) holder.element.src = props.entry.url;
|
|
684
|
+
holder.element.addEventListener("load", () => {
|
|
685
|
+
isIframeLoading.value = false;
|
|
686
|
+
updateCurrentUrl();
|
|
687
|
+
});
|
|
688
|
+
const entryState = props.context.docks.getStateById(props.entry.id);
|
|
689
|
+
if (entryState) entryState.domElements.iframe = holder.element;
|
|
690
|
+
watchEffect(() => {
|
|
691
|
+
Object.assign(holder.element.style, props.iframeStyle);
|
|
692
|
+
if (showAddressBar.value) {
|
|
693
|
+
holder.element.style.marginTop = `${ADDRESS_BAR_HEIGHT}px`;
|
|
694
|
+
holder.element.style.borderTopLeftRadius = "0px";
|
|
695
|
+
holder.element.style.borderTopRightRadius = "0px";
|
|
696
|
+
} else {
|
|
697
|
+
holder.element.style.marginTop = "0px";
|
|
698
|
+
holder.element.style.borderTopLeftRadius = "";
|
|
699
|
+
holder.element.style.borderTopRightRadius = "";
|
|
700
|
+
}
|
|
701
|
+
});
|
|
702
|
+
watch(() => props.context.panel, () => {
|
|
703
|
+
holder.update();
|
|
704
|
+
}, { deep: true });
|
|
705
|
+
watchEffect(() => {
|
|
706
|
+
holder.element.style.pointerEvents = props.context.panel.isDragging || props.context.panel.isResizing ? "none" : "auto";
|
|
707
|
+
}, { flush: "sync" });
|
|
708
|
+
holder.mount(viewFrame.value);
|
|
709
|
+
isLoading.value = false;
|
|
710
|
+
nextTick(() => {
|
|
711
|
+
holder.update();
|
|
712
|
+
});
|
|
713
|
+
});
|
|
714
|
+
onUnmounted(() => {
|
|
715
|
+
props.persistedDoms.getHolder(props.entry.id, "iframe")?.unmount();
|
|
716
|
+
});
|
|
717
|
+
return (_ctx, _cache) => {
|
|
718
|
+
return openBlock(), createElementBlock("div", _hoisted_1$2, [showAddressBar.value ? (openBlock(), createElementBlock("div", {
|
|
719
|
+
key: 0,
|
|
720
|
+
class: "flex-none px-2 w-full flex items-center gap-1 border rounded-t-md border-base border-b-0 bg-gray/5",
|
|
721
|
+
style: normalizeStyle({ height: `${ADDRESS_BAR_HEIGHT}px` })
|
|
722
|
+
}, [
|
|
723
|
+
createCommentVNode(" Navigation buttons (hidden for cross-origin) "),
|
|
724
|
+
!isCrossOrigin.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
725
|
+
createCommentVNode(" Back button "),
|
|
726
|
+
createBaseVNode("button", {
|
|
727
|
+
class: "w-7 h-7 flex items-center justify-center rounded hover:bg-gray/15 transition-colors shrink-0",
|
|
728
|
+
title: "Back",
|
|
729
|
+
onClick: goBack
|
|
730
|
+
}, [..._cache[1] || (_cache[1] = [createBaseVNode("div", { class: "i-ph-caret-left text-base op60" }, null, -1)])]),
|
|
731
|
+
createCommentVNode(" Refresh button "),
|
|
732
|
+
createBaseVNode("button", {
|
|
733
|
+
class: "w-7 h-7 flex items-center justify-center rounded hover:bg-gray/15 transition-colors shrink-0",
|
|
734
|
+
title: "Refresh",
|
|
735
|
+
onClick: refresh
|
|
736
|
+
}, [..._cache[2] || (_cache[2] = [createBaseVNode("div", { class: "i-ph-arrow-clockwise text-base op60" }, null, -1)])])
|
|
737
|
+
], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [createCommentVNode(" Cross-origin badge "), _cache[3] || (_cache[3] = createBaseVNode("div", {
|
|
738
|
+
class: "flex items-center gap-1 px-2 py-1 rounded text-xs bg-amber/10 text-amber border border-amber/20 shrink-0",
|
|
739
|
+
title: "Cross-origin iframe - navigation controls unavailable"
|
|
740
|
+
}, [createBaseVNode("div", { class: "i-ph-globe text-sm" }), createBaseVNode("span", null, "Cross-Origin")], -1))], 2112)),
|
|
741
|
+
createCommentVNode(" URL input "),
|
|
742
|
+
createBaseVNode("div", _hoisted_2$2, [createBaseVNode("input", {
|
|
743
|
+
ref: "urlInput",
|
|
744
|
+
value: isEditing.value ? editingUrl.value : displayUrl.value,
|
|
745
|
+
type: "text",
|
|
746
|
+
class: "flex-1 bg-transparent outline-none text-sm font-mono",
|
|
747
|
+
placeholder: "Enter URL...",
|
|
748
|
+
readonly: isCrossOrigin.value,
|
|
749
|
+
onInput: _cache[0] || (_cache[0] = ($event) => editingUrl.value = $event.target.value),
|
|
750
|
+
onFocus: handleUrlFocus,
|
|
751
|
+
onBlur: handleUrlBlur,
|
|
752
|
+
onKeydown: [handleUrlKeydown, withKeys(handleUrlSubmit, ["enter"])]
|
|
753
|
+
}, null, 40, _hoisted_3$1), isIframeLoading.value ? (openBlock(), createElementBlock("div", _hoisted_4)) : createCommentVNode("v-if", true)])
|
|
754
|
+
], 4)) : createCommentVNode("v-if", true), createBaseVNode("div", {
|
|
755
|
+
ref_key: "viewFrame",
|
|
756
|
+
ref: viewFrame,
|
|
757
|
+
class: "vite-devtools-view-iframe w-full h-full flex-1 items-center justify-center"
|
|
758
|
+
}, [isLoading.value ? (openBlock(), createElementBlock("div", _hoisted_5, " Loading iframe... ")) : createCommentVNode("v-if", true)], 512)]);
|
|
759
|
+
};
|
|
760
|
+
}
|
|
761
|
+
});
|
|
762
|
+
//#endregion
|
|
763
|
+
//#region src/client/webcomponents/components/ViewLauncher.vue
|
|
764
|
+
const _hoisted_1$1 = { class: "flex flex-col gap-4 items-center justify-center h-full relative" };
|
|
765
|
+
const _hoisted_2$1 = { class: "text-2xl font-bold" };
|
|
766
|
+
const _hoisted_3 = ["disabled"];
|
|
767
|
+
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
768
|
+
__name: "ViewLauncher",
|
|
769
|
+
props: {
|
|
770
|
+
context: {},
|
|
771
|
+
entry: {}
|
|
772
|
+
},
|
|
773
|
+
setup(__props) {
|
|
774
|
+
const props = __props;
|
|
775
|
+
function onLaunch() {
|
|
776
|
+
props.context.rpc.call("devtoolskit:internal:docks:on-launch", props.entry.id);
|
|
777
|
+
}
|
|
778
|
+
const status = computed(() => props.entry.launcher.status || "idle");
|
|
779
|
+
const iconsMap = {
|
|
780
|
+
error: "i-ph-warning-duotone",
|
|
781
|
+
idle: "i-ph-rocket-launch-duotone",
|
|
782
|
+
loading: "i-svg-spinners-8-dots-rotate",
|
|
783
|
+
success: "i-ph-check-duotone"
|
|
784
|
+
};
|
|
785
|
+
const buttonText = computed(() => {
|
|
786
|
+
if (status.value === "idle") return props.entry.launcher.buttonStart || "Launch";
|
|
787
|
+
else if (status.value === "loading") return props.entry.launcher.buttonLoading || "Loading...";
|
|
788
|
+
else if (status.value === "error") return "ERROR";
|
|
789
|
+
else if (status.value === "success") return "Success";
|
|
790
|
+
else return `UNKNOWN STATUS: ${status.value}`;
|
|
791
|
+
});
|
|
792
|
+
return (_ctx, _cache) => {
|
|
793
|
+
return openBlock(), createElementBlock("div", _hoisted_1$1, [
|
|
794
|
+
createVNode(_sfc_main$11, {
|
|
795
|
+
icon: __props.entry.launcher.icon || __props.entry.icon,
|
|
796
|
+
class: "w-10 h-10"
|
|
797
|
+
}, null, 8, ["icon"]),
|
|
798
|
+
createBaseVNode("h1", _hoisted_2$1, toDisplayString(__props.entry.launcher.title), 1),
|
|
799
|
+
createBaseVNode("p", null, toDisplayString(__props.entry.launcher.description), 1),
|
|
800
|
+
createBaseVNode("button", {
|
|
801
|
+
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",
|
|
802
|
+
disabled: status.value !== "idle",
|
|
803
|
+
onClick: onLaunch
|
|
804
|
+
}, [createBaseVNode("div", { class: normalizeClass(iconsMap[status.value]) }, null, 2), createBaseVNode("div", null, toDisplayString(buttonText.value), 1)], 8, _hoisted_3)
|
|
805
|
+
]);
|
|
806
|
+
};
|
|
807
|
+
}
|
|
808
|
+
});
|
|
809
|
+
//#endregion
|
|
810
|
+
//#region src/client/webcomponents/components/ViewEntry.vue
|
|
811
|
+
const _hoisted_1 = { key: 4 };
|
|
812
|
+
const _hoisted_2 = { key: 5 };
|
|
813
|
+
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
814
|
+
__name: "ViewEntry",
|
|
815
|
+
props: {
|
|
816
|
+
context: {},
|
|
817
|
+
entry: {},
|
|
818
|
+
persistedDoms: {},
|
|
819
|
+
iframeStyle: {},
|
|
820
|
+
divStyle: {}
|
|
821
|
+
},
|
|
822
|
+
setup(__props) {
|
|
823
|
+
const ViewBuiltinTerminals = defineAsyncComponent(() => import("./ViewBuiltinTerminals-CaCzY10v.js"));
|
|
824
|
+
const ViewBuiltinLogs = defineAsyncComponent(() => import("./ViewBuiltinLogs-DAC3EpNy.js"));
|
|
825
|
+
return (_ctx, _cache) => {
|
|
826
|
+
return openBlock(), createBlock(Suspense, null, {
|
|
827
|
+
fallback: withCtx(() => [..._cache[0] || (_cache[0] = [createBaseVNode("div", null, " Loading... ", -1)])]),
|
|
828
|
+
default: withCtx(() => [__props.entry.type === "~builtin" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [__props.entry.id === "~terminals" ? (openBlock(), createBlock(unref(ViewBuiltinTerminals), {
|
|
829
|
+
key: 0,
|
|
830
|
+
context: __props.context,
|
|
831
|
+
entry: __props.entry
|
|
832
|
+
}, null, 8, ["context", "entry"])) : __props.entry.id === "~logs" ? (openBlock(), createBlock(unref(ViewBuiltinLogs), {
|
|
833
|
+
key: 1,
|
|
834
|
+
context: __props.context,
|
|
835
|
+
entry: __props.entry
|
|
836
|
+
}, null, 8, ["context", "entry"])) : __props.entry.id === "~settings" ? (openBlock(), createBlock(_sfc_main$5, {
|
|
837
|
+
key: 2,
|
|
838
|
+
context: __props.context,
|
|
839
|
+
entry: __props.entry
|
|
840
|
+
}, null, 8, ["context", "entry"])) : __props.entry.id === "~client-auth-notice" ? (openBlock(), createBlock(_sfc_main$6, {
|
|
841
|
+
key: 3,
|
|
842
|
+
context: __props.context
|
|
843
|
+
}, 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$3, {
|
|
844
|
+
context: __props.context,
|
|
845
|
+
entry: __props.entry,
|
|
846
|
+
"persisted-doms": __props.persistedDoms,
|
|
847
|
+
"iframe-style": __props.iframeStyle
|
|
848
|
+
}, null, 8, [
|
|
849
|
+
"context",
|
|
850
|
+
"entry",
|
|
851
|
+
"persisted-doms",
|
|
852
|
+
"iframe-style"
|
|
853
|
+
])], 2112)) : __props.entry.type === "custom-render" ? (openBlock(), createBlock(_sfc_main$4, {
|
|
854
|
+
key: 3,
|
|
855
|
+
context: __props.context,
|
|
856
|
+
entry: __props.entry,
|
|
857
|
+
"persisted-doms": __props.persistedDoms,
|
|
858
|
+
"div-style": __props.divStyle
|
|
859
|
+
}, null, 8, [
|
|
860
|
+
"context",
|
|
861
|
+
"entry",
|
|
862
|
+
"persisted-doms",
|
|
863
|
+
"div-style"
|
|
864
|
+
])) : __props.entry.type === "launcher" ? (openBlock(), createBlock(_sfc_main$2, {
|
|
865
|
+
key: 4,
|
|
866
|
+
context: __props.context,
|
|
867
|
+
entry: __props.entry
|
|
868
|
+
}, null, 8, ["context", "entry"])) : (openBlock(), createElementBlock("div", _hoisted_2, " Unknown entry: " + toDisplayString(__props.entry), 1))]),
|
|
869
|
+
_: 1
|
|
870
|
+
});
|
|
871
|
+
};
|
|
872
|
+
}
|
|
873
|
+
});
|
|
874
|
+
//#endregion
|
|
875
|
+
//#region src/client/webcomponents/components/FloatingPopover.ts
|
|
876
|
+
const DETECT_MARGIN = 100;
|
|
877
|
+
const DEFAULT_GAP = 10;
|
|
878
|
+
const FloatingPopoverComponent = defineComponent({
|
|
879
|
+
name: "FloatingPopover",
|
|
880
|
+
props: {
|
|
881
|
+
item: {
|
|
882
|
+
type: Object,
|
|
883
|
+
required: false
|
|
884
|
+
},
|
|
885
|
+
dismissOnClickOutside: {
|
|
886
|
+
type: Boolean,
|
|
887
|
+
default: true
|
|
888
|
+
}
|
|
889
|
+
},
|
|
890
|
+
emits: ["dismiss"],
|
|
891
|
+
setup(props, { emit }) {
|
|
892
|
+
const panel = useTemplateRef("panel");
|
|
893
|
+
const el = ref(props.item?.el);
|
|
894
|
+
const renderCounter = ref(0);
|
|
895
|
+
const clearThrottled = useDebounceFn(() => {
|
|
896
|
+
if (props.item?.el == null) el.value = void 0;
|
|
897
|
+
}, 800);
|
|
898
|
+
if (props.dismissOnClickOutside) onClickOutside(panel, () => {
|
|
899
|
+
emit("dismiss");
|
|
900
|
+
});
|
|
901
|
+
watch(() => props.item, (value) => {
|
|
902
|
+
if (value) if (el.value !== value.el) el.value = value.el;
|
|
903
|
+
else renderCounter.value++;
|
|
904
|
+
else clearThrottled();
|
|
905
|
+
});
|
|
906
|
+
let previousContent;
|
|
907
|
+
return () => {
|
|
908
|
+
renderCounter.value;
|
|
909
|
+
if (!el.value) return null;
|
|
910
|
+
const rect = el.value.getBoundingClientRect();
|
|
911
|
+
let align = "bottom";
|
|
912
|
+
const vw = window.innerWidth;
|
|
913
|
+
const vh = window.innerHeight;
|
|
914
|
+
if (rect.left < DETECT_MARGIN) align = "right";
|
|
915
|
+
else if (rect.left + rect.width > vw - DETECT_MARGIN) align = "left";
|
|
916
|
+
else if (rect.top < DETECT_MARGIN) align = "bottom";
|
|
917
|
+
else if (rect.top + rect.height > vh - DETECT_MARGIN) align = "top";
|
|
918
|
+
let style = {};
|
|
919
|
+
const gap = props.item?.gap ?? DEFAULT_GAP;
|
|
920
|
+
switch (align) {
|
|
921
|
+
case "bottom":
|
|
922
|
+
style = {
|
|
923
|
+
left: `${rect.left + rect.width / 2}px`,
|
|
924
|
+
top: `${rect.top + rect.height + gap}px`,
|
|
925
|
+
transform: "translateX(-50%)"
|
|
926
|
+
};
|
|
927
|
+
break;
|
|
928
|
+
case "top":
|
|
929
|
+
style = {
|
|
930
|
+
left: `${rect.left + rect.width / 2}px`,
|
|
931
|
+
bottom: `${vh - rect.top + gap}px`,
|
|
932
|
+
transform: "translateX(-50%)"
|
|
933
|
+
};
|
|
934
|
+
break;
|
|
935
|
+
case "left":
|
|
936
|
+
style = {
|
|
937
|
+
right: `${vw - rect.left + gap}px`,
|
|
938
|
+
top: `${rect.top + rect.height / 2}px`,
|
|
939
|
+
transform: "translateY(-50%)"
|
|
940
|
+
};
|
|
941
|
+
break;
|
|
942
|
+
case "right":
|
|
943
|
+
style = {
|
|
944
|
+
left: `${rect.left + rect.width + gap}px`,
|
|
945
|
+
top: `${rect.top + rect.height / 2}px`,
|
|
946
|
+
transform: "translateY(-50%)"
|
|
947
|
+
};
|
|
948
|
+
break;
|
|
949
|
+
}
|
|
950
|
+
const content = (typeof props.item?.content === "string" ? h("span", props.item?.content) : props.item?.content()) ?? previousContent;
|
|
951
|
+
previousContent = content;
|
|
952
|
+
return h("div", {
|
|
953
|
+
ref: "panel",
|
|
954
|
+
class: ["fixed z-floating-tooltip text-xs transition-all duration-300 w-max bg-glass color-base border border-base rounded px2 p1", props.item ? "op100" : "op0 pointer-events-none"],
|
|
955
|
+
style
|
|
956
|
+
}, content);
|
|
957
|
+
};
|
|
958
|
+
}
|
|
959
|
+
});
|
|
960
|
+
//#endregion
|
|
961
|
+
//#region src/client/webcomponents/components/FloatingElements.vue
|
|
962
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
963
|
+
__name: "FloatingElements",
|
|
964
|
+
setup(__props) {
|
|
965
|
+
const tooltip = useFloatingTooltip();
|
|
966
|
+
const docksOverflowPanel = useDocksOverflowPanel();
|
|
967
|
+
const dockContextMenu = useDockContextMenu();
|
|
968
|
+
useEventListener(window, "keydown", (e) => {
|
|
969
|
+
if (e.key !== "Escape") return;
|
|
970
|
+
if (dockContextMenu.value) setDockContextMenu(null);
|
|
971
|
+
});
|
|
972
|
+
return (_ctx, _cache) => {
|
|
973
|
+
return openBlock(), createElementBlock(Fragment, null, [
|
|
974
|
+
createVNode(unref(FloatingPopoverComponent), {
|
|
975
|
+
item: unref(dockContextMenu),
|
|
976
|
+
onDismiss: _cache[0] || (_cache[0] = () => unref(setDockContextMenu)(null))
|
|
977
|
+
}, null, 8, ["item"]),
|
|
978
|
+
createVNode(unref(FloatingPopoverComponent), {
|
|
979
|
+
item: unref(docksOverflowPanel),
|
|
980
|
+
onDismiss: _cache[1] || (_cache[1] = () => unref(setDocksOverflowPanel)(null))
|
|
981
|
+
}, null, 8, ["item"]),
|
|
982
|
+
createVNode(unref(FloatingPopoverComponent), { item: unref(tooltip) }, null, 8, ["item"])
|
|
983
|
+
], 64);
|
|
984
|
+
};
|
|
985
|
+
}
|
|
986
|
+
});
|
|
987
|
+
//#endregion
|
|
988
|
+
export { PersistedDomHolder as a, _sfc_main$10 as c, VitePlus_default as i, openDockContextMenu as l, _sfc_main$1 as n, PersistedDomViewsManager as o, _sfc_main$6 as r, _sfc_main$8 as s, _sfc_main as t, css_default as u };
|