vite-plugin-vue-devtools 0.0.1-alpha.5 → 0.0.1-alpha.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (22) hide show
  1. package/dist/client/assets/{VCard-c6b2e190.js → VCard-925fd18d.js} +1 -1
  2. package/dist/client/assets/{VIcon.vue_vue_type_script_setup_true_lang-a13e29ee.js → VIcon.vue_vue_type_script_setup_true_lang-b2c0c55b.js} +1 -1
  3. package/dist/client/assets/{VIconTitle.vue_vue_type_script_setup_true_lang-6152e4cf.js → VIconTitle.vue_vue_type_script_setup_true_lang-cc47c786.js} +1 -1
  4. package/dist/client/assets/{VPanelGrids-406150e2.js → VPanelGrids-36f4f0da.js} +1 -1
  5. package/dist/client/assets/{VTextInput.vue_vue_type_script_setup_true_lang-85ccd5d3.js → VTextInput.vue_vue_type_script_setup_true_lang-8bbedf1b.js} +3 -3
  6. package/dist/client/assets/{__inspecting-c40b9e81.js → __inspecting-7346f6ac.js} +3 -3
  7. package/dist/client/assets/{assets-a9ca2bff.js → assets-ffdb6a2d.js} +7 -7
  8. package/dist/client/assets/{components-70646a2d.js → components-539f2105.js} +3 -3
  9. package/dist/client/assets/{graph-ce244fa7.js → graph-f60fd04d.js} +2 -2
  10. package/dist/client/assets/{index-f9588832.js → index-80f8bde5.js} +314 -310
  11. package/dist/client/assets/{inspect-524e80ea.js → inspect-1ec95d81.js} +2 -2
  12. package/dist/client/assets/{overview-03bf6fd5.js → overview-ab9a2b0b.js} +4 -4
  13. package/dist/client/assets/{pages-ec4690ed.js → pages-45f5a59a.js} +5 -4
  14. package/dist/client/assets/{pinia-043f9882.js → pinia-c53b0b14.js} +3 -3
  15. package/dist/client/assets/{routes-0fdcb1c3.js → routes-43e30c86.js} +5 -5
  16. package/dist/client/assets/{rpc-cdb4316d.js → rpc-89874498.js} +1 -1
  17. package/dist/client/assets/{settings-410534ea.js → settings-e7c6c8b0.js} +3 -3
  18. package/dist/client/assets/{splitpanes.es-54cc5734.js → splitpanes.es-5e9186fe.js} +2 -2
  19. package/dist/client/assets/{timeline-785a50fc.js → timeline-9c2f9940.js} +5 -5
  20. package/dist/client/index.html +1 -1
  21. package/package.json +1 -1
  22. package/src/node/Container.vue +28 -12
@@ -1,4 +1,4 @@
1
- import { ay as _export_sfc, o as openBlock, c as createElementBlock, v as renderSlot } from './index-f9588832.js';
1
+ import { ax as _export_sfc, o as openBlock, c as createElementBlock, v as renderSlot } from './index-80f8bde5.js';
2
2
 
3
3
  /* unplugin-vue-components disabled */const _sfc_main = {};
4
4
 
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, o as openBlock, c as createElementBlock, n as normalizeClass } from './index-f9588832.js';
1
+ import { d as defineComponent, o as openBlock, c as createElementBlock, n as normalizeClass } from './index-80f8bde5.js';
2
2
 
3
3
  const _sfc_main = /* @__PURE__ */ defineComponent({
4
4
  __name: "VIcon",
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, o as openBlock, c as createElementBlock, n as normalizeClass, m as createCommentVNode, v as renderSlot, e as createBaseVNode, t as toDisplayString } from './index-f9588832.js';
1
+ import { d as defineComponent, o as openBlock, c as createElementBlock, n as normalizeClass, m as createCommentVNode, v as renderSlot, e as createBaseVNode, t as toDisplayString } from './index-80f8bde5.js';
2
2
 
3
3
  const _hoisted_1 = {
4
4
  flex: "~ gap-3",
@@ -1,4 +1,4 @@
1
- import { ay as _export_sfc, o as openBlock, c as createElementBlock, v as renderSlot } from './index-f9588832.js';
1
+ import { ax as _export_sfc, o as openBlock, c as createElementBlock, v as renderSlot } from './index-80f8bde5.js';
2
2
 
3
3
  /* unplugin-vue-components disabled */const _sfc_main = {};
4
4
 
@@ -1,6 +1,6 @@
1
- import { _ as _sfc_main$2 } from './VIconTitle.vue_vue_type_script_setup_true_lang-6152e4cf.js';
2
- import { _ as _sfc_main$3 } from './VIcon.vue_vue_type_script_setup_true_lang-a13e29ee.js';
3
- import { d as defineComponent, s as useVModel, o as openBlock, c as createElementBlock, e as createBaseVNode, n as normalizeClass, b as createVNode, w as withCtx, v as renderSlot, m as createCommentVNode, a as createBlock, u as unref, x as withDirectives, F as Fragment, az as resolveDirective, E as createTextVNode, t as toDisplayString, aA as pushScopeId, aB as popScopeId, ay as _export_sfc, aC as vModelDynamic, ap as mergeProps, z as isRef } from './index-f9588832.js';
1
+ import { _ as _sfc_main$2 } from './VIconTitle.vue_vue_type_script_setup_true_lang-cc47c786.js';
2
+ import { _ as _sfc_main$3 } from './VIcon.vue_vue_type_script_setup_true_lang-b2c0c55b.js';
3
+ import { d as defineComponent, s as useVModel, o as openBlock, c as createElementBlock, e as createBaseVNode, n as normalizeClass, b as createVNode, w as withCtx, v as renderSlot, m as createCommentVNode, a as createBlock, u as unref, x as withDirectives, F as Fragment, ay as resolveDirective, E as createTextVNode, t as toDisplayString, az as pushScopeId, aA as popScopeId, ax as _export_sfc, aB as vModelDynamic, ao as mergeProps, z as isRef } from './index-80f8bde5.js';
4
4
 
5
5
  const _withScopeId = (n) => (pushScopeId("data-v-cf2e46eb"), n = n(), popScopeId(), n);
6
6
  const _hoisted_1$1 = ["open"];
@@ -1,11 +1,11 @@
1
- import { _ as __unplugin_components_0 } from './VPanelGrids-406150e2.js';
2
- import { d as defineComponent, aE as useEventListener, o as openBlock, a as createBlock, w as withCtx, e as createBaseVNode, aF as useClient } from './index-f9588832.js';
1
+ import { _ as __unplugin_components_0 } from './VPanelGrids-36f4f0da.js';
2
+ import { d as defineComponent, aD as useEventListener, o as openBlock, a as createBlock, w as withCtx, e as createBaseVNode, aE as useDevtoolsClient } from './index-80f8bde5.js';
3
3
 
4
4
  const _hoisted_1 = /* @__PURE__ */ createBaseVNode("div", null, " Inspecting Vue components ", -1);
5
5
  const _sfc_main = /* @__PURE__ */ defineComponent({
6
6
  __name: "__inspecting",
7
7
  setup(__props) {
8
- const client = useClient();
8
+ const client = useDevtoolsClient();
9
9
  useEventListener("keydown", (e) => {
10
10
  if (e.key === "Escape")
11
11
  close();
@@ -1,11 +1,11 @@
1
- import { _ as __unplugin_components_0 } from './VPanelGrids-406150e2.js';
2
- import { _ as __unplugin_components_7 } from './VCard-c6b2e190.js';
3
- import { _ as _sfc_main$a } from './VIcon.vue_vue_type_script_setup_true_lang-a13e29ee.js';
4
- import { d as defineComponent, o as openBlock, a as createBlock, w as withCtx, b as createVNode, ap as mergeProps, aq as resolveDynamicComponent, Q as ref, ar as useElementSize, as as onClickOutside, c as createElementBlock, e as createBaseVNode, v as renderSlot, u as unref, m as createCommentVNode, at as Transition, R as computed, t as toDisplayString, n as normalizeClass, au as useStyleTag, O as normalizeStyle, av as computedAsync, aw as useTimeAgo, F as Fragment, E as createTextVNode, _ as _sfc_main$b, ax as onKeyDown, z as isRef, r as renderList } from './index-f9588832.js';
5
- import { r as rpc } from './rpc-cdb4316d.js';
6
- import { _ as _sfc_main$c, a as __unplugin_components_3 } from './VTextInput.vue_vue_type_script_setup_true_lang-85ccd5d3.js';
1
+ import { _ as __unplugin_components_0 } from './VPanelGrids-36f4f0da.js';
2
+ import { _ as __unplugin_components_7 } from './VCard-925fd18d.js';
3
+ import { _ as _sfc_main$a } from './VIcon.vue_vue_type_script_setup_true_lang-b2c0c55b.js';
4
+ import { d as defineComponent, o as openBlock, a as createBlock, w as withCtx, b as createVNode, ao as mergeProps, ap as resolveDynamicComponent, Q as ref, aq as useElementSize, ar as onClickOutside, c as createElementBlock, e as createBaseVNode, v as renderSlot, u as unref, m as createCommentVNode, as as Transition, R as computed, t as toDisplayString, n as normalizeClass, at as useStyleTag, O as normalizeStyle, au as computedAsync, av as useTimeAgo, F as Fragment, E as createTextVNode, _ as _sfc_main$b, aw as onKeyDown, z as isRef, r as renderList } from './index-80f8bde5.js';
5
+ import { r as rpc } from './rpc-89874498.js';
6
+ import { _ as _sfc_main$c, a as __unplugin_components_3 } from './VTextInput.vue_vue_type_script_setup_true_lang-8bbedf1b.js';
7
7
  import { F as Fuse } from './fuse.esm-c317b696.js';
8
- import './VIconTitle.vue_vue_type_script_setup_true_lang-6152e4cf.js';
8
+ import './VIconTitle.vue_vue_type_script_setup_true_lang-cc47c786.js';
9
9
 
10
10
  const _sfc_main$9 = /* @__PURE__ */ defineComponent({
11
11
  __name: "VIconButton",
@@ -1,6 +1,6 @@
1
- import { a as _sfc_main$2, g, M, _ as _sfc_main$3 } from './splitpanes.es-54cc5734.js';
2
- import { ac as getInstanceName, ad as classify, ae as kebabize, af as isFragment, ag as camelize, ah as returnError, ai as isBeingDestroyed, aj as getUniqueComponentId, ak as getRenderKey, Q as ref, al as shallowRef, R as computed, d as defineComponent, X as resolveComponent, o as openBlock, c as createElementBlock, e as createBaseVNode, u as unref, a as createBlock, n as normalizeClass, t as toDisplayString, O as normalizeStyle, F as Fragment, r as renderList, m as createCommentVNode, f as onMounted, am as onVueInstanceUpdate, b as createVNode, w as withCtx, a4 as reactive, an as instance } from './index-f9588832.js';
3
- import './VIcon.vue_vue_type_script_setup_true_lang-a13e29ee.js';
1
+ import { a as _sfc_main$2, g, M, _ as _sfc_main$3 } from './splitpanes.es-5e9186fe.js';
2
+ import { ab as getInstanceName, ac as classify, ad as kebabize, ae as isFragment, af as camelize, ag as returnError, ah as isBeingDestroyed, ai as getUniqueComponentId, aj as getRenderKey, Q as ref, ak as shallowRef, R as computed, d as defineComponent, X as resolveComponent, o as openBlock, c as createElementBlock, e as createBaseVNode, u as unref, a as createBlock, n as normalizeClass, t as toDisplayString, O as normalizeStyle, F as Fragment, r as renderList, m as createCommentVNode, f as onMounted, al as onVueInstanceUpdate, b as createVNode, w as withCtx, a3 as reactive, am as instance } from './index-80f8bde5.js';
3
+ import './VIcon.vue_vue_type_script_setup_true_lang-b2c0c55b.js';
4
4
 
5
5
  class ComponentFilter {
6
6
  filter;
@@ -1,6 +1,6 @@
1
- import { Q as ref, a8 as useStorage, R as computed, d as defineComponent, o as openBlock, c as createElementBlock, x as withDirectives, a9 as vModelText, u as unref, e as createBaseVNode, z as isRef, A as vModelCheckbox, aa as useDark, f as onMounted, ab as watch, b as createVNode } from './index-f9588832.js';
1
+ import { Q as ref, a7 as useStorage, R as computed, d as defineComponent, o as openBlock, c as createElementBlock, x as withDirectives, a8 as vModelText, u as unref, e as createBaseVNode, z as isRef, A as vModelCheckbox, a9 as useDark, f as onMounted, aa as watch, b as createVNode } from './index-80f8bde5.js';
2
2
  import { F as Fuse } from './fuse.esm-c317b696.js';
3
- import { r as rpc } from './rpc-cdb4316d.js';
3
+ import { r as rpc } from './rpc-89874498.js';
4
4
 
5
5
  const list = ref(await rpc.componentGraph());
6
6
  const searchText = useStorage("vite-inspect-search-text", "");
@@ -14102,17 +14102,17 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
14102
14102
 
14103
14103
  /* Injected with object hook! */
14104
14104
 
14105
- const __pages_import_0__ = () => __vitePreload(() => import('./timeline-785a50fc.js'),true?["./timeline-785a50fc.js","./splitpanes.es-54cc5734.js","./VIcon.vue_vue_type_script_setup_true_lang-a13e29ee.js","./VPanelGrids-406150e2.js","./VCard-c6b2e190.js"]:void 0,import.meta.url);
14106
- const __pages_import_1__ = () => __vitePreload(() => import('./settings-410534ea.js'),true?["./settings-410534ea.js","./VIcon.vue_vue_type_script_setup_true_lang-a13e29ee.js","./VIconTitle.vue_vue_type_script_setup_true_lang-6152e4cf.js"]:void 0,import.meta.url);
14107
- const __pages_import_2__ = () => __vitePreload(() => import('./routes-0fdcb1c3.js'),true?["./routes-0fdcb1c3.js","./VPanelGrids-406150e2.js","./VCard-c6b2e190.js","./splitpanes.es-54cc5734.js","./VIcon.vue_vue_type_script_setup_true_lang-a13e29ee.js"]:void 0,import.meta.url);
14108
- const __pages_import_3__ = () => __vitePreload(() => import('./pinia-043f9882.js'),true?["./pinia-043f9882.js","./splitpanes.es-54cc5734.js","./VIcon.vue_vue_type_script_setup_true_lang-a13e29ee.js"]:void 0,import.meta.url);
14109
- const __pages_import_4__ = () => __vitePreload(() => import('./pages-ec4690ed.js'),true?["./pages-ec4690ed.js","./VTextInput.vue_vue_type_script_setup_true_lang-85ccd5d3.js","./VIconTitle.vue_vue_type_script_setup_true_lang-6152e4cf.js","./VIcon.vue_vue_type_script_setup_true_lang-a13e29ee.js","./VTextInput-52804693.css"]:void 0,import.meta.url);
14110
- const __pages_import_5__ = () => __vitePreload(() => import('./overview-03bf6fd5.js'),true?["./overview-03bf6fd5.js","./VPanelGrids-406150e2.js","./rpc-cdb4316d.js"]:void 0,import.meta.url);
14111
- const __pages_import_6__ = () => __vitePreload(() => import('./inspect-524e80ea.js'),true?["./inspect-524e80ea.js","./rpc-cdb4316d.js"]:void 0,import.meta.url);
14112
- const __pages_import_8__ = () => __vitePreload(() => import('./graph-ce244fa7.js'),true?["./graph-ce244fa7.js","./fuse.esm-c317b696.js","./rpc-cdb4316d.js"]:void 0,import.meta.url);
14113
- const __pages_import_9__ = () => __vitePreload(() => import('./components-70646a2d.js'),true?["./components-70646a2d.js","./splitpanes.es-54cc5734.js","./VIcon.vue_vue_type_script_setup_true_lang-a13e29ee.js"]:void 0,import.meta.url);
14114
- const __pages_import_10__ = () => __vitePreload(() => import('./assets-a9ca2bff.js'),true?["./assets-a9ca2bff.js","./VPanelGrids-406150e2.js","./VCard-c6b2e190.js","./VIcon.vue_vue_type_script_setup_true_lang-a13e29ee.js","./rpc-cdb4316d.js","./VTextInput.vue_vue_type_script_setup_true_lang-85ccd5d3.js","./VIconTitle.vue_vue_type_script_setup_true_lang-6152e4cf.js","./VTextInput-52804693.css","./fuse.esm-c317b696.js"]:void 0,import.meta.url);
14115
- const __pages_import_11__ = () => __vitePreload(() => import('./__inspecting-c40b9e81.js'),true?["./__inspecting-c40b9e81.js","./VPanelGrids-406150e2.js"]:void 0,import.meta.url);
14105
+ const __pages_import_0__ = () => __vitePreload(() => import('./timeline-9c2f9940.js'),true?["./timeline-9c2f9940.js","./splitpanes.es-5e9186fe.js","./VIcon.vue_vue_type_script_setup_true_lang-b2c0c55b.js","./VPanelGrids-36f4f0da.js","./VCard-925fd18d.js"]:void 0,import.meta.url);
14106
+ const __pages_import_1__ = () => __vitePreload(() => import('./settings-e7c6c8b0.js'),true?["./settings-e7c6c8b0.js","./VIcon.vue_vue_type_script_setup_true_lang-b2c0c55b.js","./VIconTitle.vue_vue_type_script_setup_true_lang-cc47c786.js"]:void 0,import.meta.url);
14107
+ const __pages_import_2__ = () => __vitePreload(() => import('./routes-43e30c86.js'),true?["./routes-43e30c86.js","./VPanelGrids-36f4f0da.js","./VCard-925fd18d.js","./splitpanes.es-5e9186fe.js","./VIcon.vue_vue_type_script_setup_true_lang-b2c0c55b.js"]:void 0,import.meta.url);
14108
+ const __pages_import_3__ = () => __vitePreload(() => import('./pinia-c53b0b14.js'),true?["./pinia-c53b0b14.js","./splitpanes.es-5e9186fe.js","./VIcon.vue_vue_type_script_setup_true_lang-b2c0c55b.js"]:void 0,import.meta.url);
14109
+ const __pages_import_4__ = () => __vitePreload(() => import('./pages-45f5a59a.js'),true?["./pages-45f5a59a.js","./VTextInput.vue_vue_type_script_setup_true_lang-8bbedf1b.js","./VIconTitle.vue_vue_type_script_setup_true_lang-cc47c786.js","./VIcon.vue_vue_type_script_setup_true_lang-b2c0c55b.js","./VTextInput-52804693.css"]:void 0,import.meta.url);
14110
+ const __pages_import_5__ = () => __vitePreload(() => import('./overview-ab9a2b0b.js'),true?["./overview-ab9a2b0b.js","./VPanelGrids-36f4f0da.js","./rpc-89874498.js"]:void 0,import.meta.url);
14111
+ const __pages_import_6__ = () => __vitePreload(() => import('./inspect-1ec95d81.js'),true?["./inspect-1ec95d81.js","./rpc-89874498.js"]:void 0,import.meta.url);
14112
+ const __pages_import_8__ = () => __vitePreload(() => import('./graph-f60fd04d.js'),true?["./graph-f60fd04d.js","./fuse.esm-c317b696.js","./rpc-89874498.js"]:void 0,import.meta.url);
14113
+ const __pages_import_9__ = () => __vitePreload(() => import('./components-539f2105.js'),true?["./components-539f2105.js","./splitpanes.es-5e9186fe.js","./VIcon.vue_vue_type_script_setup_true_lang-b2c0c55b.js"]:void 0,import.meta.url);
14114
+ const __pages_import_10__ = () => __vitePreload(() => import('./assets-ffdb6a2d.js'),true?["./assets-ffdb6a2d.js","./VPanelGrids-36f4f0da.js","./VCard-925fd18d.js","./VIcon.vue_vue_type_script_setup_true_lang-b2c0c55b.js","./rpc-89874498.js","./VTextInput.vue_vue_type_script_setup_true_lang-8bbedf1b.js","./VIconTitle.vue_vue_type_script_setup_true_lang-cc47c786.js","./VTextInput-52804693.css","./fuse.esm-c317b696.js"]:void 0,import.meta.url);
14115
+ const __pages_import_11__ = () => __vitePreload(() => import('./__inspecting-7346f6ac.js'),true?["./__inspecting-7346f6ac.js","./VPanelGrids-36f4f0da.js"]:void 0,import.meta.url);
14116
14116
 
14117
14117
  const routes$1 = [{"name":"timeline","path":"/timeline","component":__pages_import_0__,"props":true},{"name":"settings","path":"/settings","component":__pages_import_1__,"props":true},{"name":"routes","path":"/routes","component":__pages_import_2__,"props":true},{"name":"pinia","path":"/pinia","component":__pages_import_3__,"props":true},{"name":"pages","path":"/pages","component":__pages_import_4__,"props":true},{"name":"overview","path":"/overview","component":__pages_import_5__,"props":true},{"name":"inspect","path":"/inspect","component":__pages_import_6__,"props":true},{"name":"index","path":"/","component":_sfc_main$6,"props":true},{"name":"graph","path":"/graph","component":__pages_import_8__,"props":true},{"name":"components","path":"/components","component":__pages_import_9__,"props":true},{"name":"assets","path":"/assets","component":__pages_import_10__,"props":true},{"name":"__inspecting","path":"/__inspecting","component":__pages_import_11__,"props":true}];
14118
14118
  /* Injected with object hook! */
@@ -14152,12 +14152,14 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
14152
14152
 
14153
14153
  /* Injected with object hook! */
14154
14154
 
14155
- const client = ref({
14155
+ const client$1 = ref({
14156
14156
  hook: window.parent.__VUE_DEVTOOLS_GLOBAL_HOOKS__(),
14157
+ markClientLoaded: () => {
14158
+ },
14157
14159
  hookBuffer: []
14158
14160
  });
14159
- function useClient() {
14160
- return client;
14161
+ function useDevtoolsClient() {
14162
+ return client$1;
14161
14163
  }
14162
14164
 
14163
14165
  /* Injected with object hook! */
@@ -14168,7 +14170,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
14168
14170
  tab: null
14169
14171
  },
14170
14172
  setup(__props) {
14171
- const client = useClient();
14173
+ const client = useDevtoolsClient();
14172
14174
  const router = useRouter();
14173
14175
  return (_ctx, _cache) => {
14174
14176
  const _component_TabIcon = _sfc_main$5;
@@ -14281,7 +14283,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
14281
14283
  const frameState = ref({
14282
14284
  position: _position.value
14283
14285
  });
14284
- const client = useClient();
14286
+ const client = useDevtoolsClient();
14285
14287
  const dockButton = [
14286
14288
  {
14287
14289
  position: "bottom",
@@ -14593,6 +14595,43 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
14593
14595
 
14594
14596
  /* Injected with object hook! */
14595
14597
 
14598
+ /*!
14599
+ * pinia v2.0.35
14600
+ * (c) 2023 Eduardo San Martin Morote
14601
+ * @license MIT
14602
+ */
14603
+ // type DeepReadonly<T> = { readonly [P in keyof T]: DeepReadonly<T[P]> }
14604
+ // TODO: can we change these to numbers?
14605
+ /**
14606
+ * Possible types for SubscriptionCallback
14607
+ */
14608
+ var MutationType;
14609
+ (function (MutationType) {
14610
+ /**
14611
+ * Direct mutation of the state:
14612
+ *
14613
+ * - `store.name = 'new name'`
14614
+ * - `store.$state.name = 'new name'`
14615
+ * - `store.list.push('new item')`
14616
+ */
14617
+ MutationType["direct"] = "direct";
14618
+ /**
14619
+ * Mutated the state with `$patch` and an object
14620
+ *
14621
+ * - `store.$patch({ name: 'newName' })`
14622
+ */
14623
+ MutationType["patchObject"] = "patch object";
14624
+ /**
14625
+ * Mutated the state with `$patch` and a function
14626
+ *
14627
+ * - `store.$patch(state => state.name = 'newName')`
14628
+ */
14629
+ MutationType["patchFunction"] = "patch function";
14630
+ // maybe reset? for $state = {} and $reset
14631
+ })(MutationType || (MutationType = {}));
14632
+
14633
+ /* Injected with object hook! */
14634
+
14596
14635
  function isBeingDestroyed(instance) {
14597
14636
  return instance._isBeingDestroyed || instance.isUnmounted;
14598
14637
  }
@@ -14747,7 +14786,7 @@ function addTimelineEvent(event) {
14747
14786
  }
14748
14787
  });
14749
14788
  }
14750
- function initTimeline(events) {
14789
+ function initPerfTimeline(events) {
14751
14790
  const performTimelineSortKey = {
14752
14791
  start: -1,
14753
14792
  end: 1
@@ -14760,7 +14799,7 @@ function initTimeline(events) {
14760
14799
  addTimelineEvent(event);
14761
14800
  });
14762
14801
  timelineEvent.value = timelineEvent.value.sort((a, b) => a.sortId - b.sortId).sort((a, b) => performTimelineSortKey[a.event.data.measure] - performTimelineSortKey[b.event.data.measure]);
14763
- const client = useClient();
14802
+ const client = useDevtoolsClient();
14764
14803
  let sortId = timelineEvent.value.length;
14765
14804
  client.value?.hook?.on("perf:start", (app, uid, component, type, time) => {
14766
14805
  if (component?.root.type?.devtools?.hide)
@@ -14792,242 +14831,7 @@ function initTimeline(events) {
14792
14831
 
14793
14832
  /* Injected with object hook! */
14794
14833
 
14795
- const router$2 = ref();
14796
- const currentRoute = computed(() => unref(router$2.value?.currentRoute));
14797
- const map$1 = /* @__PURE__ */ new Map();
14798
- const routes = computed(() => {
14799
- return (router$2.value?.getRoutes() || []).map((i) => {
14800
- return {
14801
- ...i
14802
- };
14803
- }).filter((i) => !map$1.has(i.path) && map$1.set(i.path, 1));
14804
- });
14805
- function initPages() {
14806
- router$2.value = app$1.value?.config.globalProperties.$router;
14807
- router$2.value?.afterEach(() => {
14808
- triggerRef(router$2);
14809
- });
14810
- }
14811
-
14812
- /* Injected with object hook! */
14813
-
14814
- const app$1 = shallowRef();
14815
- const vueVersion = computed(() => app$1.value?.version);
14816
- const instance = shallowRef();
14817
- function onVueInstanceUpdate(cb) {
14818
- return watch(instance, () => {
14819
- cb(instance.value);
14820
- }, {
14821
- immediate: true
14822
- });
14823
- }
14824
- function initVueApp(_app, component) {
14825
- if (_app) {
14826
- app$1.value = _app;
14827
- triggerRef(app$1);
14828
- initPages();
14829
- }
14830
- if (component.root) {
14831
- instance.value = component.root;
14832
- instance.value && (instance.value.uid = 0);
14833
- triggerRef(instance);
14834
- }
14835
- }
14836
-
14837
- /* Injected with object hook! */
14838
-
14839
- const CYAN_400 = 2282478;
14840
- const ORANGE_400 = 16486972;
14841
- const DARK = 6710886;
14842
- const LAYER_ID$1 = "router";
14843
- const router$1 = ref();
14844
- const routeRecordMatcher = ref();
14845
- const activeRouteRecordIndex = ref(0);
14846
- const map = /* @__PURE__ */ new Map();
14847
- const routeRecordMatcherState = computed(() => {
14848
- return routeRecordMatcher.value?.map((route) => {
14849
- const state = formatRouteRecordMatcherForStateInspector(route);
14850
- const tags = formatRouteRecordForInspector(route);
14851
- return {
14852
- path: state.path,
14853
- tags,
14854
- state
14855
- };
14856
- }).sort((a, b) => a.path.length - b.path.length).filter((i) => !map.has(i.path) && map.set(i.path, 1));
14857
- });
14858
- const activeRouteRecordMatcherState = computed(() => {
14859
- const state = routeRecordMatcherState.value?.[activeRouteRecordIndex.value]?.state;
14860
- return {
14861
- key: "options",
14862
- value: state
14863
- };
14864
- });
14865
- function formatRouteRecordForInspector(route) {
14866
- const tags = [];
14867
- const { record } = route;
14868
- if (record.name != null) {
14869
- tags.push({
14870
- label: String(record.name),
14871
- bgColor: CYAN_400
14872
- });
14873
- }
14874
- if (record.aliasOf) {
14875
- tags.push({
14876
- label: "alias",
14877
- bgColor: ORANGE_400
14878
- });
14879
- }
14880
- if (record.redirect) {
14881
- tags.push({
14882
- label: typeof record.redirect === "string" ? `redirect: ${record.redirect}` : "redirects",
14883
- bgColor: DARK
14884
- });
14885
- }
14886
- return tags;
14887
- }
14888
- function formatRouteRecordMatcherForStateInspector(route) {
14889
- const { record } = route;
14890
- const fields = {
14891
- path: record.path
14892
- };
14893
- if (record.name != null)
14894
- fields.name = record.name;
14895
- fields.regexp = route.re;
14896
- if (route.keys.length)
14897
- fields.keys = toRaw(route.keys);
14898
- if (record.redirect != null)
14899
- fields.redirect = record.redirect;
14900
- if (route.alias.length)
14901
- fields.aliases = route.alias.map((alias) => alias.record.path);
14902
- if (Object.keys(route.record.meta).length)
14903
- fields.meta = route.record.meta;
14904
- fields.score = toRaw(route.score);
14905
- return fields;
14906
- }
14907
- function toggleRouteRecordMatcher(index) {
14908
- activeRouteRecordIndex.value = index;
14909
- }
14910
- function formatRouteLocation(routeLocation) {
14911
- const copy = Object.assign({}, routeLocation, {
14912
- // remove variables that can contain vue instances
14913
- matched: routeLocation.matched.map(
14914
- (matched) => reactiveOmit(matched, ["instances", "children", "aliasOf"])
14915
- )
14916
- });
14917
- return copy;
14918
- }
14919
- function subscribeRouterChanged(router2) {
14920
- router2.onError((error, to) => {
14921
- timelineApi.addTimelineEvent({
14922
- layerId: LAYER_ID$1,
14923
- event: {
14924
- title: "Error during Navigation",
14925
- subtitle: to.fullPath,
14926
- time: Date.now(),
14927
- now: Date.now(),
14928
- data: { error: error.message }
14929
- }
14930
- });
14931
- });
14932
- router2.beforeEach((to, from) => {
14933
- const data = {
14934
- guard: "beforeEach",
14935
- from: formatRouteLocation(
14936
- from
14937
- ),
14938
- to: formatRouteLocation(to)
14939
- };
14940
- timelineApi.addTimelineEvent({
14941
- layerId: LAYER_ID$1,
14942
- event: {
14943
- time: Date.now(),
14944
- now: Date.now(),
14945
- title: "Start of navigation",
14946
- subtitle: to.fullPath,
14947
- data
14948
- }
14949
- });
14950
- });
14951
- router2.afterEach((to, from, failure) => {
14952
- const data = {
14953
- guard: "afterEach"
14954
- };
14955
- if (failure) {
14956
- data.failure = failure ? failure.message : "";
14957
- data.status = "❌";
14958
- } else {
14959
- data.status = "✅";
14960
- }
14961
- data.from = formatRouteLocation(from);
14962
- data.to = formatRouteLocation(to);
14963
- timelineApi.addTimelineEvent({
14964
- layerId: LAYER_ID$1,
14965
- event: {
14966
- title: "End of navigation",
14967
- subtitle: to.fullPath,
14968
- time: Date.now(),
14969
- now: Date.now(),
14970
- data
14971
- }
14972
- });
14973
- });
14974
- }
14975
- function initRoutes() {
14976
- router$1.value = app$1.value?.config.globalProperties.$router;
14977
- if (router$1.value) {
14978
- const matcher = createRouterMatcher(router$1.value?.options.routes, router$1.value?.options);
14979
- routeRecordMatcher.value = matcher.getRoutes();
14980
- timelineApi.addTimelineLayer({
14981
- id: LAYER_ID$1,
14982
- label: "Router Navigations"
14983
- });
14984
- subscribeRouterChanged(router$1.value);
14985
- router$1.value?.afterEach(() => {
14986
- triggerRef(router$1);
14987
- });
14988
- }
14989
- }
14990
-
14991
- /* Injected with object hook! */
14992
-
14993
- /*!
14994
- * pinia v2.0.35
14995
- * (c) 2023 Eduardo San Martin Morote
14996
- * @license MIT
14997
- */
14998
- // type DeepReadonly<T> = { readonly [P in keyof T]: DeepReadonly<T[P]> }
14999
- // TODO: can we change these to numbers?
15000
- /**
15001
- * Possible types for SubscriptionCallback
15002
- */
15003
- var MutationType;
15004
- (function (MutationType) {
15005
- /**
15006
- * Direct mutation of the state:
15007
- *
15008
- * - `store.name = 'new name'`
15009
- * - `store.$state.name = 'new name'`
15010
- * - `store.list.push('new item')`
15011
- */
15012
- MutationType["direct"] = "direct";
15013
- /**
15014
- * Mutated the state with `$patch` and an object
15015
- *
15016
- * - `store.$patch({ name: 'newName' })`
15017
- */
15018
- MutationType["patchObject"] = "patch object";
15019
- /**
15020
- * Mutated the state with `$patch` and a function
15021
- *
15022
- * - `store.$patch(state => state.name = 'newName')`
15023
- */
15024
- MutationType["patchFunction"] = "patch function";
15025
- // maybe reset? for $state = {} and $reset
15026
- })(MutationType || (MutationType = {}));
15027
-
15028
- /* Injected with object hook! */
15029
-
15030
- const LAYER_ID = "pinia";
14834
+ const LAYER_ID$1 = "pinia";
15031
14835
  const piniaVisible = ref(false);
15032
14836
  const stores = ref();
15033
14837
  const subscribes = ref([]);
@@ -15077,7 +14881,7 @@ function formatMutationType(type) {
15077
14881
  function subscribeStore(store) {
15078
14882
  const action = store.$onAction(({ after, onError, name, args }) => {
15079
14883
  timelineApi.addTimelineEvent({
15080
- layerId: LAYER_ID,
14884
+ layerId: LAYER_ID$1,
15081
14885
  event: {
15082
14886
  time: Date.now(),
15083
14887
  title: `🛫 ${name}`,
@@ -15092,7 +14896,7 @@ function subscribeStore(store) {
15092
14896
  });
15093
14897
  after((result) => {
15094
14898
  timelineApi.addTimelineEvent({
15095
- layerId: LAYER_ID,
14899
+ layerId: LAYER_ID$1,
15096
14900
  event: {
15097
14901
  time: Date.now(),
15098
14902
  title: `🛬 ${name}`,
@@ -15109,7 +14913,7 @@ function subscribeStore(store) {
15109
14913
  });
15110
14914
  onError((error) => {
15111
14915
  timelineApi.addTimelineEvent({
15112
- layerId: LAYER_ID,
14916
+ layerId: LAYER_ID$1,
15113
14917
  event: {
15114
14918
  now: Date.now(),
15115
14919
  time: Date.now(),
@@ -15132,7 +14936,7 @@ function subscribeStore(store) {
15132
14936
  () => unref(store[name]),
15133
14937
  (newValue, oldValue) => {
15134
14938
  timelineApi.addTimelineEvent({
15135
- layerId: LAYER_ID,
14939
+ layerId: LAYER_ID$1,
15136
14940
  event: {
15137
14941
  now: Date.now(),
15138
14942
  time: Date.now(),
@@ -15167,7 +14971,7 @@ function subscribeStore(store) {
15167
14971
  else if (events && !Array.isArray(events))
15168
14972
  eventData.subtitle = events.type;
15169
14973
  timelineApi.addTimelineEvent({
15170
- layerId: LAYER_ID,
14974
+ layerId: LAYER_ID$1,
15171
14975
  event: eventData
15172
14976
  });
15173
14977
  },
@@ -15176,7 +14980,7 @@ function subscribeStore(store) {
15176
14980
  subscribes.value.push(subscribe);
15177
14981
  store._hotUpdate = markRaw((newStore) => {
15178
14982
  timeApi.addTimelineEvent({
15179
- layerId: LAYER_ID,
14983
+ layerId: LAYER_ID$1,
15180
14984
  event: {
15181
14985
  time: Date.now(),
15182
14986
  now: Date.now(),
@@ -15224,16 +15028,55 @@ function updatePinia(component) {
15224
15028
  }
15225
15029
  });
15226
15030
  }
15227
- function initPinia(component) {
15228
- updatePinia(component);
15229
- setTimeout(() => {
15230
- if (stores.value) {
15231
- timelineApi.removeTimelineLayer(LAYER_ID);
15232
- timelineApi.addTimelineLayer({
15233
- id: LAYER_ID,
15234
- label: "Pinia 🍍"
15235
- });
15236
- }
15031
+ function initPinia() {
15032
+ timelineApi.addTimelineLayer({
15033
+ id: LAYER_ID$1,
15034
+ label: "Pinia 🍍"
15035
+ });
15036
+ }
15037
+
15038
+ /* Injected with object hook! */
15039
+
15040
+ const app$1 = shallowRef();
15041
+ const vueVersion = computed(() => app$1.value?.version);
15042
+ const instance = shallowRef();
15043
+ const router$1 = computed(() => app$1.value?.config?.globalProperties?.$router);
15044
+ const currentRoute = computed(() => unref(router$1.value?.currentRoute));
15045
+ const routes = computed(() => {
15046
+ const routesMap = /* @__PURE__ */ new Map();
15047
+ return (router$1.value?.getRoutes() || []).map((i) => {
15048
+ return {
15049
+ ...i
15050
+ };
15051
+ }).filter((i) => !routesMap.has(i.path) && routesMap.set(i.path, 1));
15052
+ });
15053
+ function initApp(params) {
15054
+ const [_, { app: _app }] = params;
15055
+ if (_app) {
15056
+ app$1.value = _app;
15057
+ triggerRef(app$1);
15058
+ hookApi.hook?.emit("init:vue:app");
15059
+ }
15060
+ router$1.value?.afterEach(() => {
15061
+ triggerRef(router$1);
15062
+ });
15063
+ }
15064
+ function updateApp(_app, component) {
15065
+ if (_app) {
15066
+ app$1.value = _app;
15067
+ triggerRef(app$1);
15068
+ }
15069
+ if (component.root) {
15070
+ instance.value = component.root;
15071
+ instance.value && (instance.value.uid = 0);
15072
+ triggerRef(instance);
15073
+ }
15074
+ }
15075
+ function onVueInstanceUpdate(cb) {
15076
+ return watch(instance, () => {
15077
+ cb(instance.value);
15078
+ }, {
15079
+ immediate: true
15237
15080
  });
15238
15081
  }
15239
15082
 
@@ -15242,66 +15085,201 @@ function initPinia(component) {
15242
15085
  function hideInDevtools(component) {
15243
15086
  return component?.root?.type?.devtools?.hide;
15244
15087
  }
15245
- function connect() {
15246
- const client = useClient();
15247
- const hook = client.value.hook;
15248
- hook.on("app:init" /* COMPONENT_INIT */, (app) => {
15088
+ const client = useDevtoolsClient();
15089
+ function produceHook() {
15090
+ const client2 = useDevtoolsClient();
15091
+ const hook = client2.value.hook;
15092
+ hook.on("app:init" /* APP_INIT */, (app) => {
15249
15093
  if (app?._vueDevtools_hidden_)
15250
15094
  return;
15251
15095
  app$1.value = app;
15252
15096
  instance.value = app._instance;
15253
15097
  });
15098
+ function skipCollect(app, uid, component) {
15099
+ return !app || typeof uid !== "number" && !uid || !component || hideInDevtools(component);
15100
+ }
15254
15101
  hook.on("component:updated" /* COMPONENT_UPDATED */, (app, uid, parentUid, component) => {
15255
- if (!app || typeof uid !== "number" && !uid || !component || hideInDevtools(component))
15102
+ if (skipCollect(app, uid, component))
15256
15103
  return;
15257
- initVueApp(app, component);
15104
+ updateApp(app, component);
15258
15105
  });
15259
15106
  hook.on("component:added" /* COMPONENT_ADDED */, (app, uid, parentUid, component) => {
15260
- initPinia(component);
15261
- if (!app || typeof uid !== "number" && !uid || !component || hideInDevtools(component))
15107
+ updatePinia(component);
15108
+ if (skipCollect(app, uid, component))
15262
15109
  return;
15263
- initVueApp(app, component);
15110
+ updateApp(app, component);
15264
15111
  });
15265
15112
  hook.on("component:removed" /* COMPONENT_REMOVED */, (app, uid, parentUid, component) => {
15266
- if (!app || typeof uid !== "number" && !uid || !component || hideInDevtools(component))
15113
+ if (skipCollect(app, uid, component))
15267
15114
  return;
15268
- initVueApp(app, component);
15115
+ updateApp(app, component);
15269
15116
  });
15270
15117
  hook.on("component:emit" /* COMPONENT_EMIT */, (app, uid, parentUid, component) => {
15271
- if (!app || typeof uid !== "number" && !uid || !component || hideInDevtools(component))
15118
+ if (skipCollect(app, uid, component))
15272
15119
  return;
15273
- initVueApp(app, component);
15120
+ updateApp(app, component);
15274
15121
  });
15275
15122
  }
15276
- function initHook(buffer) {
15123
+ function ConsumeHook(buffer) {
15277
15124
  buffer.forEach(([eventType, { app, component }]) => {
15278
15125
  if (eventType === "component:added" /* COMPONENT_ADDED */)
15279
- initPinia(component);
15280
- initVueApp(app, component);
15126
+ updatePinia(component);
15127
+ updateApp(app, component);
15281
15128
  });
15282
15129
  }
15130
+ const hookApi = {
15131
+ hook: client.value.hook,
15132
+ produce: produceHook,
15133
+ consume: ConsumeHook
15134
+ };
15283
15135
 
15284
15136
  /* Injected with object hook! */
15285
15137
 
15286
- function initClient() {
15287
- window.__VUE_DEVTOOLS_VIEW__ = {
15288
- setClient(_client) {
15289
- const client = useClient();
15290
- client.value = _client;
15291
- initTimeline(client.value.hookBuffer.filter(([type]) => type.startsWith("perf:")));
15292
- initHook(client.value.hookBuffer.filter(([type]) => type.startsWith("component:")));
15293
- }
15138
+ const CYAN_400 = 2282478;
15139
+ const ORANGE_400 = 16486972;
15140
+ const DARK = 6710886;
15141
+ const LAYER_ID = "router";
15142
+ const routeRecordMatcher = ref();
15143
+ const activeRouteRecordIndex = ref(0);
15144
+ const map = /* @__PURE__ */ new Map();
15145
+ const routeRecordMatcherState = computed(() => {
15146
+ return routeRecordMatcher.value?.map((route) => {
15147
+ const state = formatRouteRecordMatcherForStateInspector(route);
15148
+ const tags = formatRouteRecordForInspector(route);
15149
+ return {
15150
+ path: state.path,
15151
+ tags,
15152
+ state
15153
+ };
15154
+ }).sort((a, b) => a.path.length - b.path.length).filter((i) => !map.has(i.path) && map.set(i.path, 1));
15155
+ });
15156
+ const activeRouteRecordMatcherState = computed(() => {
15157
+ const state = routeRecordMatcherState.value?.[activeRouteRecordIndex.value]?.state;
15158
+ return {
15159
+ key: "options",
15160
+ value: state
15161
+ };
15162
+ });
15163
+ function formatRouteRecordForInspector(route) {
15164
+ const tags = [];
15165
+ const { record } = route;
15166
+ if (record.name != null) {
15167
+ tags.push({
15168
+ label: String(record.name),
15169
+ bgColor: CYAN_400
15170
+ });
15171
+ }
15172
+ if (record.aliasOf) {
15173
+ tags.push({
15174
+ label: "alias",
15175
+ bgColor: ORANGE_400
15176
+ });
15177
+ }
15178
+ if (record.redirect) {
15179
+ tags.push({
15180
+ label: typeof record.redirect === "string" ? `redirect: ${record.redirect}` : "redirects",
15181
+ bgColor: DARK
15182
+ });
15183
+ }
15184
+ return tags;
15185
+ }
15186
+ function formatRouteRecordMatcherForStateInspector(route) {
15187
+ const { record } = route;
15188
+ const fields = {
15189
+ path: record.path
15294
15190
  };
15191
+ if (record.name != null)
15192
+ fields.name = record.name;
15193
+ fields.regexp = route.re;
15194
+ if (route.keys.length)
15195
+ fields.keys = toRaw(route.keys);
15196
+ if (record.redirect != null)
15197
+ fields.redirect = record.redirect;
15198
+ if (route.alias.length)
15199
+ fields.aliases = route.alias.map((alias) => alias.record.path);
15200
+ if (Object.keys(route.record.meta).length)
15201
+ fields.meta = route.record.meta;
15202
+ fields.score = toRaw(route.score);
15203
+ return fields;
15295
15204
  }
15296
- function initGlobalHook() {
15297
- const router = useRouter();
15298
- const route = useRoute();
15299
- const client = useClient();
15300
- const frameState = useFrameState();
15301
- client.value.hook?.on("host:inspector:close", () => {
15302
- if (route.path === "/__inspecting")
15303
- router.replace(frameState.route.value);
15205
+ function toggleRouteRecordMatcher(index) {
15206
+ activeRouteRecordIndex.value = index;
15207
+ }
15208
+ function formatRouteLocation(routeLocation) {
15209
+ const copy = Object.assign({}, routeLocation, {
15210
+ // remove variables that can contain vue instances
15211
+ matched: routeLocation.matched.map(
15212
+ (matched) => reactiveOmit(matched, ["instances", "children", "aliasOf"])
15213
+ )
15214
+ });
15215
+ return copy;
15216
+ }
15217
+ function subscribeRouterChanged(router2) {
15218
+ router2.onError((error, to) => {
15219
+ timelineApi.addTimelineEvent({
15220
+ layerId: LAYER_ID,
15221
+ event: {
15222
+ title: "Error during Navigation",
15223
+ subtitle: to.fullPath,
15224
+ time: Date.now(),
15225
+ now: Date.now(),
15226
+ data: { error: error.message }
15227
+ }
15228
+ });
15229
+ });
15230
+ router2.beforeEach((to, from) => {
15231
+ const data = {
15232
+ guard: "beforeEach",
15233
+ from: formatRouteLocation(
15234
+ from
15235
+ ),
15236
+ to: formatRouteLocation(to)
15237
+ };
15238
+ timelineApi.addTimelineEvent({
15239
+ layerId: LAYER_ID,
15240
+ event: {
15241
+ time: Date.now(),
15242
+ now: Date.now(),
15243
+ title: "Start of navigation",
15244
+ subtitle: to.fullPath,
15245
+ data
15246
+ }
15247
+ });
15304
15248
  });
15249
+ router2.afterEach((to, from, failure) => {
15250
+ const data = {
15251
+ guard: "afterEach"
15252
+ };
15253
+ if (failure) {
15254
+ data.failure = failure ? failure.message : "";
15255
+ data.status = "❌";
15256
+ } else {
15257
+ data.status = "✅";
15258
+ }
15259
+ data.from = formatRouteLocation(from);
15260
+ data.to = formatRouteLocation(to);
15261
+ timelineApi.addTimelineEvent({
15262
+ layerId: LAYER_ID,
15263
+ event: {
15264
+ title: "End of navigation",
15265
+ subtitle: to.fullPath,
15266
+ time: Date.now(),
15267
+ now: Date.now(),
15268
+ data
15269
+ }
15270
+ });
15271
+ });
15272
+ }
15273
+ function initRoutes() {
15274
+ if (router$1.value) {
15275
+ const matcher = createRouterMatcher(router$1.value?.options.routes, router$1.value?.options);
15276
+ routeRecordMatcher.value = matcher.getRoutes();
15277
+ timelineApi.addTimelineLayer({
15278
+ id: LAYER_ID,
15279
+ label: "Router Navigations"
15280
+ });
15281
+ subscribeRouterChanged(router$1.value);
15282
+ }
15305
15283
  }
15306
15284
 
15307
15285
  /* Injected with object hook! */
@@ -15323,12 +15301,26 @@ const _hoisted_2 = {
15323
15301
  const _sfc_main = /* @__PURE__ */ defineComponent({
15324
15302
  __name: "App",
15325
15303
  setup(__props) {
15326
- const router = useRouter();
15327
15304
  const route = useRoute();
15305
+ const router = useRouter();
15328
15306
  const { scale } = useDevToolsSettings();
15329
15307
  const { route: _route, isFirstVisit } = useFrameState();
15330
- initGlobalHook();
15331
15308
  useColorMode();
15309
+ hookApi.hook.on("init:vue:app", () => {
15310
+ const client = useDevtoolsClient();
15311
+ const frameState = useFrameState();
15312
+ const hookBuffer = client.value.hookBuffer;
15313
+ client.value.markClientLoaded();
15314
+ hookApi.produce();
15315
+ initPerfTimeline(hookBuffer.filter(([type]) => type.startsWith("perf:")));
15316
+ hookApi.consume(hookBuffer.filter(([type]) => type.startsWith("component:")));
15317
+ initRoutes();
15318
+ initPinia();
15319
+ hookApi.hook.on("host:inspector:close", () => {
15320
+ if (route.path === "/__inspecting")
15321
+ router.replace(frameState.route.value);
15322
+ });
15323
+ });
15332
15324
  router.beforeEach((to, _, next) => {
15333
15325
  if (to.path === "/" && !isFirstVisit.value) {
15334
15326
  next("/overview");
@@ -15343,9 +15335,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
15343
15335
  _route.value = path;
15344
15336
  });
15345
15337
  onMounted(() => {
15346
- setTimeout(() => {
15347
- initRoutes();
15348
- }, 800);
15349
15338
  watchEffect(() => {
15350
15339
  document.body.style.fontSize = `${scale.value * 15}px`;
15351
15340
  });
@@ -15370,6 +15359,22 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
15370
15359
 
15371
15360
  /* Injected with object hook! */
15372
15361
 
15362
+ function initDevtoolsClient() {
15363
+ window.__VUE_DEVTOOLS_VIEW__ = {
15364
+ loaded: false,
15365
+ setClient(_client) {
15366
+ const client = useDevtoolsClient();
15367
+ client.value = _client;
15368
+ client.value.markClientLoaded = () => {
15369
+ this.loaded = true;
15370
+ };
15371
+ initApp(client.value.hookBuffer.find(([type]) => type === "app:init"));
15372
+ }
15373
+ };
15374
+ }
15375
+
15376
+ /* Injected with object hook! */
15377
+
15373
15378
  const tailwind = '';
15374
15379
  /* Injected with object hook! */
15375
15380
 
@@ -15380,8 +15385,7 @@ const __uno = '';
15380
15385
  /* Injected with object hook! */
15381
15386
 
15382
15387
  window.console.log = window.parent.print;
15383
- initClient();
15384
- connect();
15388
+ initDevtoolsClient();
15385
15389
  const app = createApp(_sfc_main);
15386
15390
  const router = createRouter({
15387
15391
  history: createMemoryHistory(),
@@ -15393,4 +15397,4 @@ app.mount("#app");
15393
15397
 
15394
15398
  /* Injected with object hook! */
15395
15399
 
15396
- export { router$2 as $, vModelCheckbox as A, withKeys as B, useTabs as C, useCategorizedTabs as D, createTextVNode as E, Fragment as F, useDevToolsSettings as G, _sfc_main$3 as H, _sfc_main$5 as I, router$1 as J, routeRecordMatcherState as K, activeRouteRecordMatcherState as L, activeRouteRecordIndex as M, toggleRouteRecordMatcher as N, normalizeStyle as O, __unplugin_components_1 as P, ref as Q, computed as R, piniaStoresId as S, reactivePick as T, toRaw as U, piniaState as V, piniaGetters as W, resolveComponent as X, withModifiers as Y, currentRoute as Z, _sfc_main$9 as _, createBlock as a, routes as a0, vueVersion as a1, __unplugin_components_0 as a2, useColorMode as a3, reactive as a4, useElementBounding as a5, nextTick as a6, watchEffect as a7, useStorage as a8, vModelText as a9, pushScopeId as aA, popScopeId as aB, vModelDynamic as aC, __vitePreload as aD, useEventListener as aE, useClient as aF, useDark as aa, watch as ab, getInstanceName as ac, classify as ad, kebabize as ae, isFragment as af, camelize as ag, returnError as ah, isBeingDestroyed as ai, getUniqueComponentId as aj, getRenderKey as ak, shallowRef as al, onVueInstanceUpdate as am, instance as an, h as ao, mergeProps as ap, resolveDynamicComponent as aq, useElementSize as ar, onClickOutside as as, Transition as at, useStyleTag as au, computedAsync as av, useTimeAgo as aw, onKeyDown as ax, _export_sfc as ay, resolveDirective as az, createVNode as b, createElementBlock as c, defineComponent as d, createBaseVNode as e, onMounted as f, onUnmounted as g, timelineLayer as h, activeTimelineEvents as i, activeTimelineEventIndex as j, toggleTimelineEventIndex as k, timelineEventDetails as l, createCommentVNode as m, normalizeClass as n, openBlock as o, activeLayerId as p, toggleTimelineLayer as q, renderList as r, useVModel as s, toDisplayString as t, unref as u, renderSlot as v, withCtx as w, withDirectives as x, vModelSelect as y, isRef as z };
15400
+ export { routes as $, vModelCheckbox as A, withKeys as B, useTabs as C, useCategorizedTabs as D, createTextVNode as E, Fragment as F, useDevToolsSettings as G, _sfc_main$3 as H, _sfc_main$5 as I, router$1 as J, routeRecordMatcherState as K, activeRouteRecordMatcherState as L, activeRouteRecordIndex as M, toggleRouteRecordMatcher as N, normalizeStyle as O, __unplugin_components_1 as P, ref as Q, computed as R, piniaStoresId as S, reactivePick as T, toRaw as U, piniaState as V, piniaGetters as W, resolveComponent as X, withModifiers as Y, currentRoute as Z, _sfc_main$9 as _, createBlock as a, vueVersion as a0, __unplugin_components_0 as a1, useColorMode as a2, reactive as a3, useElementBounding as a4, nextTick as a5, watchEffect as a6, useStorage as a7, vModelText as a8, useDark as a9, popScopeId as aA, vModelDynamic as aB, __vitePreload as aC, useEventListener as aD, useDevtoolsClient as aE, watch as aa, getInstanceName as ab, classify as ac, kebabize as ad, isFragment as ae, camelize as af, returnError as ag, isBeingDestroyed as ah, getUniqueComponentId as ai, getRenderKey as aj, shallowRef as ak, onVueInstanceUpdate as al, instance as am, h as an, mergeProps as ao, resolveDynamicComponent as ap, useElementSize as aq, onClickOutside as ar, Transition as as, useStyleTag as at, computedAsync as au, useTimeAgo as av, onKeyDown as aw, _export_sfc as ax, resolveDirective as ay, pushScopeId as az, createVNode as b, createElementBlock as c, defineComponent as d, createBaseVNode as e, onMounted as f, onUnmounted as g, timelineLayer as h, activeTimelineEvents as i, activeTimelineEventIndex as j, toggleTimelineEventIndex as k, timelineEventDetails as l, createCommentVNode as m, normalizeClass as n, openBlock as o, activeLayerId as p, toggleTimelineLayer as q, renderList as r, useVModel as s, toDisplayString as t, unref as u, renderSlot as v, withCtx as w, withDirectives as x, vModelSelect as y, isRef as z };
@@ -1,5 +1,5 @@
1
- import { d as defineComponent, a3 as useColorMode, Q as ref, R as computed, a4 as reactive, a5 as useElementBounding, f as onMounted, a6 as nextTick, a7 as watchEffect, g as onUnmounted, o as openBlock, c as createElementBlock, b as createVNode, u as unref } from './index-f9588832.js';
2
- import { i as inspectClientUrl } from './rpc-cdb4316d.js';
1
+ import { d as defineComponent, a2 as useColorMode, Q as ref, R as computed, a3 as reactive, a4 as useElementBounding, f as onMounted, a5 as nextTick, a6 as watchEffect, g as onUnmounted, o as openBlock, c as createElementBlock, b as createVNode, u as unref } from './index-80f8bde5.js';
2
+ import { i as inspectClientUrl } from './rpc-89874498.js';
3
3
 
4
4
  const iframeCacheMap = /* @__PURE__ */ new Map();
5
5
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
@@ -1,8 +1,8 @@
1
- import { _ as __unplugin_components_0$1 } from './VPanelGrids-406150e2.js';
2
- import { Q as ref, R as computed, a0 as routes, d as defineComponent, o as openBlock, a as createBlock, w as withCtx, e as createBaseVNode, b as createVNode, t as toDisplayString, u as unref, a1 as vueVersion, E as createTextVNode, c as createElementBlock, F as Fragment, a2 as __unplugin_components_0, P as __unplugin_components_1, X as resolveComponent, _ as _sfc_main$1 } from './index-f9588832.js';
3
- import { r as rpc } from './rpc-cdb4316d.js';
1
+ import { _ as __unplugin_components_0$1 } from './VPanelGrids-36f4f0da.js';
2
+ import { Q as ref, R as computed, $ as routes, d as defineComponent, o as openBlock, a as createBlock, w as withCtx, e as createBaseVNode, b as createVNode, t as toDisplayString, u as unref, a0 as vueVersion, E as createTextVNode, c as createElementBlock, F as Fragment, a1 as __unplugin_components_0, P as __unplugin_components_1, X as resolveComponent, _ as _sfc_main$1 } from './index-80f8bde5.js';
3
+ import { r as rpc } from './rpc-89874498.js';
4
4
 
5
- const version = "0.0.1-alpha.5";
5
+ const version = "0.0.1-alpha.7";
6
6
 
7
7
  /* Injected with object hook! */
8
8
 
@@ -1,7 +1,7 @@
1
- import { _ as _sfc_main$3, a as __unplugin_components_3 } from './VTextInput.vue_vue_type_script_setup_true_lang-85ccd5d3.js';
2
- import { d as defineComponent, Q as ref, R as computed, X as resolveComponent, u as unref, o as openBlock, c as createElementBlock, e as createBaseVNode, t as toDisplayString, a as createBlock, w as withCtx, Y as withModifiers, F as Fragment, r as renderList, m as createCommentVNode, b as createVNode, E as createTextVNode, n as normalizeClass, _ as _sfc_main$4, P as __unplugin_components_1, f as onMounted, Z as currentRoute, $ as router, z as isRef, B as withKeys, a0 as routes } from './index-f9588832.js';
3
- import './VIconTitle.vue_vue_type_script_setup_true_lang-6152e4cf.js';
4
- import './VIcon.vue_vue_type_script_setup_true_lang-a13e29ee.js';
1
+ import { _ as _sfc_main$3, a as __unplugin_components_3 } from './VTextInput.vue_vue_type_script_setup_true_lang-8bbedf1b.js';
2
+ import { d as defineComponent, Q as ref, R as computed, X as resolveComponent, u as unref, o as openBlock, c as createElementBlock, e as createBaseVNode, t as toDisplayString, a as createBlock, w as withCtx, Y as withModifiers, F as Fragment, r as renderList, m as createCommentVNode, b as createVNode, E as createTextVNode, n as normalizeClass, _ as _sfc_main$4, P as __unplugin_components_1, f as onMounted, Z as currentRoute, J as router, z as isRef, B as withKeys, $ as routes } from './index-80f8bde5.js';
3
+ import './VIconTitle.vue_vue_type_script_setup_true_lang-cc47c786.js';
4
+ import './VIcon.vue_vue_type_script_setup_true_lang-b2c0c55b.js';
5
5
 
6
6
  const _hoisted_1$2 = {
7
7
  block: "",
@@ -261,6 +261,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
261
261
  }
262
262
  function navigateToRoute(path) {
263
263
  router.value?.push(path);
264
+ routeInput.value = path;
264
265
  }
265
266
  return (_ctx, _cache) => {
266
267
  const _component_VTextInput = _sfc_main$3;
@@ -1,6 +1,6 @@
1
- import { g, M, _ as _sfc_main$1 } from './splitpanes.es-54cc5734.js';
2
- import { d as defineComponent, Q as ref, R as computed, S as piniaStoresId, T as reactivePick, U as toRaw, V as piniaState, W as piniaGetters, u as unref, o as openBlock, c as createElementBlock, b as createVNode, w as withCtx, e as createBaseVNode, F as Fragment, r as renderList, n as normalizeClass, t as toDisplayString, a as createBlock } from './index-f9588832.js';
3
- import './VIcon.vue_vue_type_script_setup_true_lang-a13e29ee.js';
1
+ import { g, M, _ as _sfc_main$1 } from './splitpanes.es-5e9186fe.js';
2
+ import { d as defineComponent, Q as ref, R as computed, S as piniaStoresId, T as reactivePick, U as toRaw, V as piniaState, W as piniaGetters, u as unref, o as openBlock, c as createElementBlock, b as createVNode, w as withCtx, e as createBaseVNode, F as Fragment, r as renderList, n as normalizeClass, t as toDisplayString, a as createBlock } from './index-80f8bde5.js';
3
+ import './VIcon.vue_vue_type_script_setup_true_lang-b2c0c55b.js';
4
4
 
5
5
  const _hoisted_1 = {
6
6
  "h-screen": "",
@@ -1,8 +1,8 @@
1
- import { _ as __unplugin_components_0 } from './VPanelGrids-406150e2.js';
2
- import { _ as __unplugin_components_7 } from './VCard-c6b2e190.js';
3
- import { d as defineComponent, u as unref, J as router, o as openBlock, c as createElementBlock, b as createVNode, w as withCtx, e as createBaseVNode, F as Fragment, r as renderList, K as routeRecordMatcherState, L as activeRouteRecordMatcherState, a as createBlock, I as _sfc_main$2, n as normalizeClass, M as activeRouteRecordIndex, N as toggleRouteRecordMatcher, E as createTextVNode, t as toDisplayString, O as normalizeStyle, P as __unplugin_components_1 } from './index-f9588832.js';
4
- import { g, M, _ as _sfc_main$1 } from './splitpanes.es-54cc5734.js';
5
- import './VIcon.vue_vue_type_script_setup_true_lang-a13e29ee.js';
1
+ import { _ as __unplugin_components_0 } from './VPanelGrids-36f4f0da.js';
2
+ import { _ as __unplugin_components_7 } from './VCard-925fd18d.js';
3
+ import { d as defineComponent, u as unref, J as router, o as openBlock, c as createElementBlock, b as createVNode, w as withCtx, e as createBaseVNode, F as Fragment, r as renderList, K as routeRecordMatcherState, L as activeRouteRecordMatcherState, a as createBlock, I as _sfc_main$2, n as normalizeClass, M as activeRouteRecordIndex, N as toggleRouteRecordMatcher, E as createTextVNode, t as toDisplayString, O as normalizeStyle, P as __unplugin_components_1 } from './index-80f8bde5.js';
4
+ import { g, M, _ as _sfc_main$1 } from './splitpanes.es-5e9186fe.js';
5
+ import './VIcon.vue_vue_type_script_setup_true_lang-b2c0c55b.js';
6
6
 
7
7
  const _hoisted_1 = {
8
8
  key: 0,
@@ -1,4 +1,4 @@
1
- import { aD as __vitePreload } from './index-f9588832.js';
1
+ import { aC as __vitePreload } from './index-80f8bde5.js';
2
2
 
3
3
  const DEFAULT_TIMEOUT = 6e4;
4
4
  function defaultSerialize(i) {
@@ -1,6 +1,6 @@
1
- import { _ as _sfc_main$3 } from './VIcon.vue_vue_type_script_setup_true_lang-a13e29ee.js';
2
- import { d as defineComponent, s as useVModel, o as openBlock, c as createElementBlock, v as renderSlot, x as withDirectives, y as vModelSelect, u as unref, e as createBaseVNode, t as toDisplayString, m as createCommentVNode, z as isRef, a as createBlock, A as vModelCheckbox, B as withKeys, C as useTabs, D as useCategorizedTabs, b as createVNode, F as Fragment, r as renderList, w as withCtx, E as createTextVNode, G as useDevToolsSettings, _ as _sfc_main$5, H as _sfc_main$6, n as normalizeClass, I as _sfc_main$7 } from './index-f9588832.js';
3
- import { _ as _sfc_main$4 } from './VIconTitle.vue_vue_type_script_setup_true_lang-6152e4cf.js';
1
+ import { _ as _sfc_main$3 } from './VIcon.vue_vue_type_script_setup_true_lang-b2c0c55b.js';
2
+ import { d as defineComponent, s as useVModel, o as openBlock, c as createElementBlock, v as renderSlot, x as withDirectives, y as vModelSelect, u as unref, e as createBaseVNode, t as toDisplayString, m as createCommentVNode, z as isRef, a as createBlock, A as vModelCheckbox, B as withKeys, C as useTabs, D as useCategorizedTabs, b as createVNode, F as Fragment, r as renderList, w as withCtx, E as createTextVNode, G as useDevToolsSettings, _ as _sfc_main$5, H as _sfc_main$6, n as normalizeClass, I as _sfc_main$7 } from './index-80f8bde5.js';
3
+ import { _ as _sfc_main$4 } from './VIconTitle.vue_vue_type_script_setup_true_lang-cc47c786.js';
4
4
 
5
5
  const _hoisted_1$2 = { class: "n-text-input flex flex items-center border n-border-base rounded px-2 py-1 focus-within:n-focus-base focus-within:border-context n-bg-base" };
6
6
  const _hoisted_2$2 = ["disabled"];
@@ -1,5 +1,5 @@
1
- import { _ as _sfc_main$3 } from './VIcon.vue_vue_type_script_setup_true_lang-a13e29ee.js';
2
- import { d as defineComponent, o as openBlock, a as createBlock, n as normalizeClass, z as isRef, U as toRaw, R as computed, X as resolveComponent, c as createElementBlock, r as renderList, e as createBaseVNode, t as toDisplayString, m as createCommentVNode, u as unref, F as Fragment, Q as ref, b as createVNode, ao as h, v as renderSlot, O as normalizeStyle } from './index-f9588832.js';
1
+ import { _ as _sfc_main$3 } from './VIcon.vue_vue_type_script_setup_true_lang-b2c0c55b.js';
2
+ import { d as defineComponent, o as openBlock, a as createBlock, n as normalizeClass, z as isRef, U as toRaw, R as computed, X as resolveComponent, c as createElementBlock, r as renderList, e as createBaseVNode, t as toDisplayString, m as createCommentVNode, u as unref, F as Fragment, Q as ref, b as createVNode, an as h, v as renderSlot, O as normalizeStyle } from './index-80f8bde5.js';
3
3
 
4
4
  const _sfc_main$2 = /* @__PURE__ */ defineComponent({
5
5
  __name: "VExpandIcon",
@@ -1,8 +1,8 @@
1
- import { g, M, _ as _sfc_main$2 } from './splitpanes.es-54cc5734.js';
2
- import { _ as __unplugin_components_0 } from './VPanelGrids-406150e2.js';
3
- import { _ as __unplugin_components_7 } from './VCard-c6b2e190.js';
4
- import { d as defineComponent, o as openBlock, c as createElementBlock, F as Fragment, r as renderList, a as createBlock, w as withCtx, b as createVNode, e as createBaseVNode, n as normalizeClass, t as toDisplayString, u as unref, f as onMounted, g as onUnmounted, h as timelineLayer, i as activeTimelineEvents, j as activeTimelineEventIndex, k as toggleTimelineEventIndex, l as timelineEventDetails, m as createCommentVNode, p as activeLayerId, q as toggleTimelineLayer } from './index-f9588832.js';
5
- import './VIcon.vue_vue_type_script_setup_true_lang-a13e29ee.js';
1
+ import { g, M, _ as _sfc_main$2 } from './splitpanes.es-5e9186fe.js';
2
+ import { _ as __unplugin_components_0 } from './VPanelGrids-36f4f0da.js';
3
+ import { _ as __unplugin_components_7 } from './VCard-925fd18d.js';
4
+ import { d as defineComponent, o as openBlock, c as createElementBlock, F as Fragment, r as renderList, a as createBlock, w as withCtx, b as createVNode, e as createBaseVNode, n as normalizeClass, t as toDisplayString, u as unref, f as onMounted, g as onUnmounted, h as timelineLayer, i as activeTimelineEvents, j as activeTimelineEventIndex, k as toggleTimelineEventIndex, l as timelineEventDetails, m as createCommentVNode, p as activeLayerId, q as toggleTimelineLayer } from './index-80f8bde5.js';
5
+ import './VIcon.vue_vue_type_script_setup_true_lang-b2c0c55b.js';
6
6
 
7
7
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
8
8
 
@@ -5,7 +5,7 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <link rel="icon" href="/favicon.svg" type="image/svg+xml">
7
7
  <title>Vue Devtools</title>
8
- <script type="module" crossorigin src="./assets/index-f9588832.js"></script>
8
+ <script type="module" crossorigin src="./assets/index-80f8bde5.js"></script>
9
9
  <link rel="stylesheet" href="./assets/index-f0fa9f81.css">
10
10
  </head>
11
11
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vite-plugin-vue-devtools",
3
- "version": "0.0.1-alpha.5",
3
+ "version": "0.0.1-alpha.7",
4
4
  "packageManager": "pnpm@7.30.0",
5
5
  "description": "A vite plugin for Vue Devtools",
6
6
  "author": "webfansplz",
@@ -1,5 +1,5 @@
1
1
  <script setup>
2
- import { computed, defineProps, ref } from 'vue'
2
+ import { computed, onMounted, ref } from 'vue'
3
3
  import vueDevtoolsOptions from 'virtual:vue-devtools-options'
4
4
 
5
5
  const props = defineProps({
@@ -100,7 +100,7 @@ const toggleButtonPosition = computed(() => {
100
100
  '--hover-translate': 'translate(0, -3px)',
101
101
  }
102
102
  })
103
- const panelPosition = computed(() => panelVisible.value ? panelStyle.value : { zIndex: -100000 })
103
+ const panelPosition = computed(() => panelVisible.value ? panelStyle.value : { zIndex: -100000, left: '-9999px', top: '-9999px' })
104
104
 
105
105
  function togglePanel() {
106
106
  panelVisible.value = !panelVisible.value
@@ -118,7 +118,7 @@ function disableComponentInspector() {
118
118
  panelState.value.viewMode = 'default'
119
119
  }
120
120
 
121
- function waitForClientInjection(retry = 10, timeout = 200) {
121
+ function waitForClientInjection(retry = 30, timeout = 200) {
122
122
  const test = () => !!iframe.value?.contentWindow?.__VUE_DEVTOOLS_VIEW__
123
123
 
124
124
  if (test())
@@ -131,7 +131,6 @@ function waitForClientInjection(retry = 10, timeout = 200) {
131
131
  resolve()
132
132
  }
133
133
  else if (retry-- <= 0) {
134
- console.log(iframe.value.contentWindow.__VUE_DEVTOOLS_VIEW__)
135
134
  clearInterval(interval)
136
135
  // eslint-disable-next-line prefer-promise-reject-errors
137
136
  reject('Vue Devtools client injection failed')
@@ -181,7 +180,7 @@ function initPanelPosition() {
181
180
  function collectHookBuffer() {
182
181
  let sortId = 0
183
182
  const DevtoolsHooks = {
184
- COMPONENT_INIT: 'app:init',
183
+ APP_INIT: 'app:init',
185
184
  COMPONENT_UPDATED: 'component:updated',
186
185
  COMPONENT_ADDED: 'component:added',
187
186
  COMPONENT_REMOVED: 'component:removed',
@@ -190,11 +189,21 @@ function collectHookBuffer() {
190
189
  PERF_END: 'perf:end',
191
190
  }
192
191
 
193
- function skipCollect(component) {
194
- return component?.root?.type?.devtools?.hide || iframe.value?.contentWindow?.__VUE_DEVTOOLS_VIEW__
192
+ function stopCollect(component) {
193
+ return component?.root?.type?.devtools?.hide || iframe.value?.contentWindow?.__VUE_DEVTOOLS_VIEW__?.loaded
195
194
  }
195
+
196
+ props.hook.on(DevtoolsHooks.APP_INIT, (app) => {
197
+ if (!app || app._instance.type?.devtools?.hide)
198
+ return
199
+
200
+ hookBuffer.push([DevtoolsHooks.APP_INIT, {
201
+ app,
202
+ }])
203
+ })
204
+
196
205
  props.hook.on(DevtoolsHooks.PERF_START, (app, uid, component, type, time) => {
197
- if (skipCollect(component))
206
+ if (stopCollect(component))
198
207
  return
199
208
 
200
209
  hookBuffer.push([DevtoolsHooks.PERF_START, {
@@ -208,7 +217,7 @@ function collectHookBuffer() {
208
217
  }])
209
218
  })
210
219
  props.hook.on(DevtoolsHooks.PERF_END, (app, uid, component, type, time) => {
211
- if (skipCollect(component))
220
+ if (stopCollect(component))
212
221
  return
213
222
 
214
223
  hookBuffer.push([DevtoolsHooks.PERF_END, {
@@ -220,16 +229,16 @@ function collectHookBuffer() {
220
229
  time,
221
230
  sortId: sortId++,
222
231
  }])
223
- });
232
+ })
224
233
 
225
- [
234
+ ;[
226
235
  DevtoolsHooks.COMPONENT_UPDATED,
227
236
  DevtoolsHooks.COMPONENT_ADDED,
228
237
  DevtoolsHooks.COMPONENT_REMOVED,
229
238
  DevtoolsHooks.COMPONENT_EMIT,
230
239
  ].forEach((item) => {
231
240
  props.hook.on(item, (app, uid, parentUid, component) => {
232
- if (!app || (typeof uid !== 'number' && !uid) || !component || skipCollect(component))
241
+ if (!app || (typeof uid !== 'number' && !uid) || !component || stopCollect(component))
233
242
  return
234
243
  hookBuffer.push([item, {
235
244
  app, uid, parentUid, component,
@@ -238,6 +247,13 @@ function collectHookBuffer() {
238
247
  })
239
248
  }
240
249
 
250
+ onMounted(() => {
251
+ window.addEventListener('keydown', (e) => {
252
+ if (e.code === 'KeyD' && e.altKey && e.shiftKey)
253
+ togglePanel()
254
+ })
255
+ })
256
+
241
257
  collectHookBuffer()
242
258
  initPanelPosition()
243
259
  </script>