vite-plugin-vue-devtools 0.0.7 → 0.0.9

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 (23) hide show
  1. package/dist/client/assets/{VCard-415c7ae5.js → VCard-0472da6f.js} +1 -1
  2. package/dist/client/assets/{VIcon.vue_vue_type_script_setup_true_lang-60e8343f.js → VIcon.vue_vue_type_script_setup_true_lang-15751023.js} +1 -1
  3. package/dist/client/assets/{VIconTitle.vue_vue_type_script_setup_true_lang-e52820ad.js → VIconTitle.vue_vue_type_script_setup_true_lang-36af287a.js} +1 -1
  4. package/dist/client/assets/{VPanelGrids-155c3f49.js → VPanelGrids-3b54987c.js} +1 -1
  5. package/dist/client/assets/{VTextInput.vue_vue_type_script_setup_true_lang-a7aeaac7.js → VTextInput.vue_vue_type_script_setup_true_lang-6fec654b.js} +3 -3
  6. package/dist/client/assets/{__inspecting-952b7753.js → __inspecting-57a351ce.js} +2 -2
  7. package/dist/client/assets/{assets-606d73ab.js → assets-453168e0.js} +7 -7
  8. package/dist/client/assets/{components-bd34817a.js → components-8b73bb7e.js} +6 -6
  9. package/dist/client/assets/{graph-1c1d01ca.js → graph-bf395a07.js} +2 -2
  10. package/dist/client/assets/{index-89bcc57b.js → index-6d7c9dec.js} +61 -19
  11. package/dist/client/assets/{index-21cc52d6.js → index-d7bd5f5d.js} +1 -1
  12. package/dist/client/assets/{inspect-f75be7cc.js → inspect-09e36123.js} +2 -2
  13. package/dist/client/assets/{overview-a18b9320.js → overview-0e6f7fe5.js} +5 -5
  14. package/dist/client/assets/{pages-da50bc3a.js → pages-1efbbfe9.js} +4 -4
  15. package/dist/client/assets/{pinia-a857fe5f.js → pinia-4eef2ee3.js} +4 -4
  16. package/dist/client/assets/{routes-012c9d6a.js → routes-9b71e10a.js} +6 -6
  17. package/dist/client/assets/{rpc-115351a6.js → rpc-3eeb6f82.js} +1 -1
  18. package/dist/client/assets/{settings-cf21bbcf.js → settings-b043f2cf.js} +3 -3
  19. package/dist/client/assets/{splitpanes.es-3cb512fa.js → splitpanes.es-741c1942.js} +3 -3
  20. package/dist/client/assets/{timeline-d187c4c5.js → timeline-22af7a37.js} +6 -10
  21. package/dist/client/index.html +1 -1
  22. package/package.json +1 -1
  23. package/src/node/Container.vue +75 -33
@@ -1,4 +1,4 @@
1
- import { aw as _export_sfc, o as openBlock, e as createElementBlock, f as renderSlot } from './index-89bcc57b.js';
1
+ import { aw as _export_sfc, o as openBlock, e as createElementBlock, f as renderSlot } from './index-6d7c9dec.js';
2
2
 
3
3
  /* unplugin-vue-components disabled */const _sfc_main = {};
4
4
 
@@ -1,4 +1,4 @@
1
- import { v as defineComponent, o as openBlock, e as createElementBlock, q as normalizeClass } from './index-89bcc57b.js';
1
+ import { v as defineComponent, o as openBlock, e as createElementBlock, q as normalizeClass } from './index-6d7c9dec.js';
2
2
 
3
3
  const _sfc_main = /* @__PURE__ */ defineComponent({
4
4
  __name: "VIcon",
@@ -1,4 +1,4 @@
1
- import { v as defineComponent, o as openBlock, e as createElementBlock, q as normalizeClass, g as createCommentVNode, f as renderSlot, x as createBaseVNode, y as toDisplayString } from './index-89bcc57b.js';
1
+ import { v as defineComponent, o as openBlock, e as createElementBlock, q as normalizeClass, g as createCommentVNode, f as renderSlot, x as createBaseVNode, y as toDisplayString } from './index-6d7c9dec.js';
2
2
 
3
3
  const _hoisted_1 = {
4
4
  flex: "~ gap-3",
@@ -1,4 +1,4 @@
1
- import { aw as _export_sfc, o as openBlock, e as createElementBlock, f as renderSlot } from './index-89bcc57b.js';
1
+ import { aw as _export_sfc, o as openBlock, e as createElementBlock, f as renderSlot } from './index-6d7c9dec.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-e52820ad.js';
2
- import { _ as _sfc_main$3 } from './VIcon.vue_vue_type_script_setup_true_lang-60e8343f.js';
3
- import { v as defineComponent, K as useVModel, o as openBlock, e as createElementBlock, x as createBaseVNode, q as normalizeClass, u as createVNode, h as withCtx, f as renderSlot, g as createCommentVNode, c as createBlock, z as unref, d as withDirectives, F as Fragment, b as resolveDirective, Q as createTextVNode, y as toDisplayString, p as pushScopeId, a as popScopeId, aw as _export_sfc, ax as vModelDynamic, k as mergeProps, M as isRef } from './index-89bcc57b.js';
1
+ import { _ as _sfc_main$2 } from './VIconTitle.vue_vue_type_script_setup_true_lang-36af287a.js';
2
+ import { _ as _sfc_main$3 } from './VIcon.vue_vue_type_script_setup_true_lang-15751023.js';
3
+ import { v as defineComponent, I as useVModel, o as openBlock, e as createElementBlock, x as createBaseVNode, q as normalizeClass, u as createVNode, h as withCtx, f as renderSlot, g as createCommentVNode, c as createBlock, z as unref, d as withDirectives, F as Fragment, b as resolveDirective, O as createTextVNode, y as toDisplayString, p as pushScopeId, a as popScopeId, aw as _export_sfc, ax as vModelDynamic, k as mergeProps, K as isRef } from './index-6d7c9dec.js';
4
4
 
5
5
  const _withScopeId = (n) => (pushScopeId("data-v-cf2e46eb"), n = n(), popScopeId(), n);
6
6
  const _hoisted_1$1 = ["open"];
@@ -1,5 +1,5 @@
1
- import { _ as __unplugin_components_0 } from './VPanelGrids-155c3f49.js';
2
- import { v as defineComponent, az as useEventListener, o as openBlock, c as createBlock, h as withCtx, x as createBaseVNode, aA as useDevtoolsClient } from './index-89bcc57b.js';
1
+ import { _ as __unplugin_components_0 } from './VPanelGrids-3b54987c.js';
2
+ import { v as defineComponent, az as useEventListener, o as openBlock, c as createBlock, h as withCtx, x as createBaseVNode, aA as useDevtoolsClient } from './index-6d7c9dec.js';
3
3
 
4
4
  const _hoisted_1 = /* @__PURE__ */ createBaseVNode("div", null, " Inspecting Vue components ", -1);
5
5
  const _sfc_main = /* @__PURE__ */ defineComponent({
@@ -1,11 +1,11 @@
1
- import { _ as __unplugin_components_0 } from './VPanelGrids-155c3f49.js';
2
- import { _ as __unplugin_components_7 } from './VCard-415c7ae5.js';
3
- import { _ as _sfc_main$a } from './VIcon.vue_vue_type_script_setup_true_lang-60e8343f.js';
4
- import { v as defineComponent, o as openBlock, c as createBlock, h as withCtx, u as createVNode, k as mergeProps, j as resolveDynamicComponent, a0 as ref, ap as useElementSize, aq as onClickOutside, e as createElementBlock, x as createBaseVNode, f as renderSlot, z as unref, g as createCommentVNode, ar as Transition, a1 as computed, y as toDisplayString, q as normalizeClass, as as useStyleTag, l as normalizeStyle, at as computedAsync, au as useTimeAgo, F as Fragment, Q as createTextVNode, S as _sfc_main$b, av as onKeyDown, M as isRef, i as renderList } from './index-89bcc57b.js';
5
- import { r as rpc } from './rpc-115351a6.js';
6
- import { _ as _sfc_main$c, a as __unplugin_components_3 } from './VTextInput.vue_vue_type_script_setup_true_lang-a7aeaac7.js';
1
+ import { _ as __unplugin_components_0 } from './VPanelGrids-3b54987c.js';
2
+ import { _ as __unplugin_components_7 } from './VCard-0472da6f.js';
3
+ import { _ as _sfc_main$a } from './VIcon.vue_vue_type_script_setup_true_lang-15751023.js';
4
+ import { v as defineComponent, o as openBlock, c as createBlock, h as withCtx, u as createVNode, k as mergeProps, j as resolveDynamicComponent, Z as ref, ap as useElementSize, aq as onClickOutside, e as createElementBlock, x as createBaseVNode, f as renderSlot, z as unref, g as createCommentVNode, ar as Transition, $ as computed, y as toDisplayString, q as normalizeClass, as as useStyleTag, l as normalizeStyle, at as computedAsync, au as useTimeAgo, F as Fragment, O as createTextVNode, Q as _sfc_main$b, av as onKeyDown, K as isRef, i as renderList } from './index-6d7c9dec.js';
5
+ import { r as rpc } from './rpc-3eeb6f82.js';
6
+ import { _ as _sfc_main$c, a as __unplugin_components_3 } from './VTextInput.vue_vue_type_script_setup_true_lang-6fec654b.js';
7
7
  import { F as Fuse } from './fuse.esm-c317b696.js';
8
- import './VIconTitle.vue_vue_type_script_setup_true_lang-e52820ad.js';
8
+ import './VIconTitle.vue_vue_type_script_setup_true_lang-36af287a.js';
9
9
 
10
10
  const _sfc_main$9 = /* @__PURE__ */ defineComponent({
11
11
  __name: "VIconButton",
@@ -1,9 +1,9 @@
1
- import { _ as __unplugin_components_0 } from './VPanelGrids-155c3f49.js';
2
- import { _ as __unplugin_components_7 } from './VCard-415c7ae5.js';
3
- import { a as _sfc_main$2, g, M, _ as _sfc_main$3 } from './splitpanes.es-3cb512fa.js';
4
- import { F as Fragment, a0 as ref, aj as shallowRef, a1 as computed, v as defineComponent, r as resolveComponent, o as openBlock, e as createElementBlock, x as createBaseVNode, z as unref, c as createBlock, q as normalizeClass, y as toDisplayString, l as normalizeStyle, i as renderList, g as createCommentVNode, A as onMounted, ak as onVueInstanceUpdate, u as createVNode, h as withCtx, ac as reactive, al as instance } from './index-89bcc57b.js';
5
- import './VIcon.vue_vue_type_script_setup_true_lang-60e8343f.js';
6
- import './index-21cc52d6.js';
1
+ import { _ as __unplugin_components_0 } from './VPanelGrids-3b54987c.js';
2
+ import { _ as __unplugin_components_7 } from './VCard-0472da6f.js';
3
+ import { a as _sfc_main$2, g, M, _ as _sfc_main$3 } from './splitpanes.es-741c1942.js';
4
+ import { F as Fragment, Z as ref, aj as shallowRef, $ as computed, v as defineComponent, r as resolveComponent, o as openBlock, e as createElementBlock, x as createBaseVNode, z as unref, c as createBlock, q as normalizeClass, y as toDisplayString, l as normalizeStyle, i as renderList, g as createCommentVNode, a5 as onMounted, ak as onVueInstanceUpdate, u as createVNode, h as withCtx, ab as reactive, al as instance } from './index-6d7c9dec.js';
5
+ import './VIcon.vue_vue_type_script_setup_true_lang-15751023.js';
6
+ import './index-d7bd5f5d.js';
7
7
 
8
8
  function isBeingDestroyed(instance) {
9
9
  return instance._isBeingDestroyed || instance.isUnmounted;
@@ -1,6 +1,6 @@
1
- import { a0 as ref, af as useStorage, a1 as computed, v as defineComponent, o as openBlock, e as createElementBlock, d as withDirectives, ag as vModelText, z as unref, x as createBaseVNode, M as isRef, N as vModelCheckbox, ah as useDark, A as onMounted, ai as watch, u as createVNode } from './index-89bcc57b.js';
1
+ import { Z as ref, af as useStorage, $ as computed, v as defineComponent, o as openBlock, e as createElementBlock, d as withDirectives, ag as vModelText, z as unref, x as createBaseVNode, K as isRef, L as vModelCheckbox, ah as useDark, a5 as onMounted, ai as watch, u as createVNode } from './index-6d7c9dec.js';
2
2
  import { F as Fuse } from './fuse.esm-c317b696.js';
3
- import { r as rpc } from './rpc-115351a6.js';
3
+ import { r as rpc } from './rpc-3eeb6f82.js';
4
4
 
5
5
  const list = ref(await rpc.componentGraph());
6
6
  const searchText = useStorage("vite-inspect-search-text", "");
@@ -10501,7 +10501,7 @@ function createMemoryHistory(base = '') {
10501
10501
  function isRouteLocation(route) {
10502
10502
  return typeof route === 'string' || (route && typeof route === 'object');
10503
10503
  }
10504
- function isRouteName(name) {
10504
+ function isRouteName$1(name) {
10505
10505
  return typeof name === 'string' || typeof name === 'symbol';
10506
10506
  }
10507
10507
 
@@ -11087,7 +11087,7 @@ function createRouterMatcher(routes, globalOptions) {
11087
11087
  : noop$1;
11088
11088
  }
11089
11089
  function removeRoute(matcherRef) {
11090
- if (isRouteName(matcherRef)) {
11090
+ if (isRouteName$1(matcherRef)) {
11091
11091
  const matcher = matcherMap.get(matcherRef);
11092
11092
  if (matcher) {
11093
11093
  matcherMap.delete(matcherRef);
@@ -11974,7 +11974,7 @@ function createRouter(options) {
11974
11974
  function addRoute(parentOrRoute, route) {
11975
11975
  let parent;
11976
11976
  let record;
11977
- if (isRouteName(parentOrRoute)) {
11977
+ if (isRouteName$1(parentOrRoute)) {
11978
11978
  parent = matcher.getRecordMatcher(parentOrRoute);
11979
11979
  record = route;
11980
11980
  }
@@ -14157,17 +14157,17 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
14157
14157
 
14158
14158
  /* Injected with object hook! */
14159
14159
 
14160
- const __pages_import_0__ = () => __vitePreload(() => import('./timeline-d187c4c5.js'),true?["./timeline-d187c4c5.js","./splitpanes.es-3cb512fa.js","./VIcon.vue_vue_type_script_setup_true_lang-60e8343f.js","./index-21cc52d6.js","./VPanelGrids-155c3f49.js","./VCard-415c7ae5.js","./timeline-b315b2e0.css"]:void 0,import.meta.url);
14161
- const __pages_import_1__ = () => __vitePreload(() => import('./settings-cf21bbcf.js'),true?["./settings-cf21bbcf.js","./VIcon.vue_vue_type_script_setup_true_lang-60e8343f.js","./VIconTitle.vue_vue_type_script_setup_true_lang-e52820ad.js"]:void 0,import.meta.url);
14162
- const __pages_import_2__ = () => __vitePreload(() => import('./routes-012c9d6a.js'),true?["./routes-012c9d6a.js","./VPanelGrids-155c3f49.js","./VCard-415c7ae5.js","./splitpanes.es-3cb512fa.js","./VIcon.vue_vue_type_script_setup_true_lang-60e8343f.js","./index-21cc52d6.js"]:void 0,import.meta.url);
14163
- const __pages_import_3__ = () => __vitePreload(() => import('./pinia-a857fe5f.js'),true?["./pinia-a857fe5f.js","./splitpanes.es-3cb512fa.js","./VIcon.vue_vue_type_script_setup_true_lang-60e8343f.js","./index-21cc52d6.js"]:void 0,import.meta.url);
14164
- const __pages_import_4__ = () => __vitePreload(() => import('./pages-da50bc3a.js'),true?["./pages-da50bc3a.js","./VTextInput.vue_vue_type_script_setup_true_lang-a7aeaac7.js","./VIconTitle.vue_vue_type_script_setup_true_lang-e52820ad.js","./VIcon.vue_vue_type_script_setup_true_lang-60e8343f.js","./VTextInput-52804693.css"]:void 0,import.meta.url);
14165
- const __pages_import_5__ = () => __vitePreload(() => import('./overview-a18b9320.js'),true?["./overview-a18b9320.js","./VPanelGrids-155c3f49.js","./rpc-115351a6.js","./index-21cc52d6.js"]:void 0,import.meta.url);
14166
- const __pages_import_6__ = () => __vitePreload(() => import('./inspect-f75be7cc.js'),true?["./inspect-f75be7cc.js","./rpc-115351a6.js"]:void 0,import.meta.url);
14167
- const __pages_import_8__ = () => __vitePreload(() => import('./graph-1c1d01ca.js'),true?["./graph-1c1d01ca.js","./fuse.esm-c317b696.js","./rpc-115351a6.js"]:void 0,import.meta.url);
14168
- const __pages_import_9__ = () => __vitePreload(() => import('./components-bd34817a.js'),true?["./components-bd34817a.js","./VPanelGrids-155c3f49.js","./VCard-415c7ae5.js","./splitpanes.es-3cb512fa.js","./VIcon.vue_vue_type_script_setup_true_lang-60e8343f.js","./index-21cc52d6.js"]:void 0,import.meta.url);
14169
- const __pages_import_10__ = () => __vitePreload(() => import('./assets-606d73ab.js'),true?["./assets-606d73ab.js","./VPanelGrids-155c3f49.js","./VCard-415c7ae5.js","./VIcon.vue_vue_type_script_setup_true_lang-60e8343f.js","./rpc-115351a6.js","./VTextInput.vue_vue_type_script_setup_true_lang-a7aeaac7.js","./VIconTitle.vue_vue_type_script_setup_true_lang-e52820ad.js","./VTextInput-52804693.css","./fuse.esm-c317b696.js"]:void 0,import.meta.url);
14170
- const __pages_import_11__ = () => __vitePreload(() => import('./__inspecting-952b7753.js'),true?["./__inspecting-952b7753.js","./VPanelGrids-155c3f49.js"]:void 0,import.meta.url);
14160
+ const __pages_import_0__ = () => __vitePreload(() => import('./timeline-22af7a37.js'),true?["./timeline-22af7a37.js","./splitpanes.es-741c1942.js","./VIcon.vue_vue_type_script_setup_true_lang-15751023.js","./index-d7bd5f5d.js","./VPanelGrids-3b54987c.js","./VCard-0472da6f.js","./timeline-b315b2e0.css"]:void 0,import.meta.url);
14161
+ const __pages_import_1__ = () => __vitePreload(() => import('./settings-b043f2cf.js'),true?["./settings-b043f2cf.js","./VIcon.vue_vue_type_script_setup_true_lang-15751023.js","./VIconTitle.vue_vue_type_script_setup_true_lang-36af287a.js"]:void 0,import.meta.url);
14162
+ const __pages_import_2__ = () => __vitePreload(() => import('./routes-9b71e10a.js'),true?["./routes-9b71e10a.js","./VPanelGrids-3b54987c.js","./VCard-0472da6f.js","./splitpanes.es-741c1942.js","./VIcon.vue_vue_type_script_setup_true_lang-15751023.js","./index-d7bd5f5d.js"]:void 0,import.meta.url);
14163
+ const __pages_import_3__ = () => __vitePreload(() => import('./pinia-4eef2ee3.js'),true?["./pinia-4eef2ee3.js","./splitpanes.es-741c1942.js","./VIcon.vue_vue_type_script_setup_true_lang-15751023.js","./index-d7bd5f5d.js"]:void 0,import.meta.url);
14164
+ const __pages_import_4__ = () => __vitePreload(() => import('./pages-1efbbfe9.js'),true?["./pages-1efbbfe9.js","./VTextInput.vue_vue_type_script_setup_true_lang-6fec654b.js","./VIconTitle.vue_vue_type_script_setup_true_lang-36af287a.js","./VIcon.vue_vue_type_script_setup_true_lang-15751023.js","./VTextInput-52804693.css"]:void 0,import.meta.url);
14165
+ const __pages_import_5__ = () => __vitePreload(() => import('./overview-0e6f7fe5.js'),true?["./overview-0e6f7fe5.js","./VPanelGrids-3b54987c.js","./rpc-3eeb6f82.js","./index-d7bd5f5d.js"]:void 0,import.meta.url);
14166
+ const __pages_import_6__ = () => __vitePreload(() => import('./inspect-09e36123.js'),true?["./inspect-09e36123.js","./rpc-3eeb6f82.js"]:void 0,import.meta.url);
14167
+ const __pages_import_8__ = () => __vitePreload(() => import('./graph-bf395a07.js'),true?["./graph-bf395a07.js","./fuse.esm-c317b696.js","./rpc-3eeb6f82.js"]:void 0,import.meta.url);
14168
+ const __pages_import_9__ = () => __vitePreload(() => import('./components-8b73bb7e.js'),true?["./components-8b73bb7e.js","./VPanelGrids-3b54987c.js","./VCard-0472da6f.js","./splitpanes.es-741c1942.js","./VIcon.vue_vue_type_script_setup_true_lang-15751023.js","./index-d7bd5f5d.js"]:void 0,import.meta.url);
14169
+ const __pages_import_10__ = () => __vitePreload(() => import('./assets-453168e0.js'),true?["./assets-453168e0.js","./VPanelGrids-3b54987c.js","./VCard-0472da6f.js","./VIcon.vue_vue_type_script_setup_true_lang-15751023.js","./rpc-3eeb6f82.js","./VTextInput.vue_vue_type_script_setup_true_lang-6fec654b.js","./VIconTitle.vue_vue_type_script_setup_true_lang-36af287a.js","./VTextInput-52804693.css","./fuse.esm-c317b696.js"]:void 0,import.meta.url);
14170
+ const __pages_import_11__ = () => __vitePreload(() => import('./__inspecting-57a351ce.js'),true?["./__inspecting-57a351ce.js","./VPanelGrids-3b54987c.js"]:void 0,import.meta.url);
14171
14171
 
14172
14172
  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$7,"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}];
14173
14173
  /* Injected with object hook! */
@@ -15069,7 +15069,10 @@ const DARK = 6710886;
15069
15069
  const LAYER_ID = "router";
15070
15070
  const routeRecordMatcher = ref();
15071
15071
  const activeRouteRecordIndex = ref(0);
15072
- const map = /* @__PURE__ */ new Map();
15072
+ let routeRecordMatcherStateMap = /* @__PURE__ */ new Map();
15073
+ function isRouteName(name) {
15074
+ return typeof name === "string" || typeof name === "symbol";
15075
+ }
15073
15076
  const routeRecordMatcherState = computed(() => {
15074
15077
  return routeRecordMatcher.value?.map((route) => {
15075
15078
  const state = formatRouteRecordMatcherForStateInspector(route);
@@ -15079,7 +15082,7 @@ const routeRecordMatcherState = computed(() => {
15079
15082
  tags,
15080
15083
  state
15081
15084
  };
15082
- }).sort((a, b) => a.path.length - b.path.length).filter((i) => !map.has(i.path) && map.set(i.path, 1));
15085
+ }).sort((a, b) => a.path.length - b.path.length).filter((i) => !routeRecordMatcherStateMap.has(i.path) && routeRecordMatcherStateMap.set(i.path, 1));
15083
15086
  });
15084
15087
  const activeRouteRecordMatcherState = computed(() => {
15085
15088
  const state = routeRecordMatcherState.value?.[activeRouteRecordIndex.value]?.state;
@@ -15198,10 +15201,49 @@ function subscribeRouterChanged(router2) {
15198
15201
  });
15199
15202
  });
15200
15203
  }
15201
- function initRoutes() {
15204
+ function initRoutes(buffer) {
15202
15205
  if (router$1.value) {
15206
+ let addRoute = function(parentOrRoute, route) {
15207
+ let parent;
15208
+ let record;
15209
+ if (isRouteName(parentOrRoute)) {
15210
+ parent = matcher.getRecordMatcher(parentOrRoute);
15211
+ record = route;
15212
+ } else {
15213
+ record = parentOrRoute;
15214
+ }
15215
+ return matcher.addRoute(record, parent);
15216
+ }, removeRoute = function(name) {
15217
+ const recordMatcher = matcher.getRecordMatcher(name);
15218
+ if (recordMatcher)
15219
+ matcher.removeRoute(recordMatcher);
15220
+ }, updateRecordMatcher = function() {
15221
+ triggerRef(router$1);
15222
+ routeRecordMatcherStateMap = /* @__PURE__ */ new Map();
15223
+ routeRecordMatcher.value = matcher.getRoutes();
15224
+ triggerRef(routeRecordMatcher);
15225
+ activeRouteRecordIndex.value = 0;
15226
+ };
15203
15227
  const matcher = createRouterMatcher(router$1.value?.options.routes, router$1.value?.options);
15204
15228
  routeRecordMatcher.value = matcher.getRoutes();
15229
+ buffer.forEach(([type, payload]) => {
15230
+ type === "router:add-route" ? addRoute(...payload.args) : removeRoute(...payload.args);
15231
+ updateRecordMatcher();
15232
+ });
15233
+ const _addRoute = router$1.value.addRoute;
15234
+ router$1.value.addRoute = (...args) => {
15235
+ const res = _addRoute(...args);
15236
+ addRoute(...args);
15237
+ updateRecordMatcher();
15238
+ return res;
15239
+ };
15240
+ const _removeRoute = router$1.value.removeRoute;
15241
+ router$1.value.removeRoute = (...args) => {
15242
+ const res = _removeRoute(...args);
15243
+ removeRoute(...args);
15244
+ updateRecordMatcher();
15245
+ return res;
15246
+ };
15205
15247
  timelineApi.addTimelineLayer({
15206
15248
  id: LAYER_ID,
15207
15249
  label: "Router Navigations"
@@ -15241,7 +15283,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
15241
15283
  client.value.markClientLoaded();
15242
15284
  hookApi.produce();
15243
15285
  hookApi.consume(hookBuffer.filter(([type]) => type.startsWith("component:")));
15244
- initRoutes();
15286
+ initRoutes(hookBuffer.filter(([type]) => type.startsWith("router:")));
15245
15287
  initPinia();
15246
15288
  hookApi.hook.on("host:inspector:close", () => {
15247
15289
  if (route.path === "/__inspecting")
@@ -15330,4 +15372,4 @@ app.mount("#app");
15330
15372
 
15331
15373
  /* Injected with object hook! */
15332
15374
 
15333
- export { __unplugin_components_1 as $, onMounted as A, onUnmounted as B, timelineLayer as C, activeTimelineEvents as D, activeTimelineEventIndex as E, Fragment as F, toggleTimelineEventIndex as G, timelineEventDetails as H, activeLayerId as I, toggleTimelineLayer as J, useVModel as K, vModelSelect as L, isRef as M, vModelCheckbox as N, withKeys as O, useCategorizedTabs as P, createTextVNode as Q, useDevToolsSettings as R, _sfc_main$a as S, _sfc_main$4 as T, _sfc_main$6 as U, router$1 as V, routeRecordMatcherState as W, activeRouteRecordMatcherState as X, activeRouteRecordIndex as Y, toggleRouteRecordMatcher as Z, _sfc_main$3 as _, popScopeId as a, ref as a0, computed as a1, piniaStoresCategory as a2, toRaw as a3, piniaState as a4, piniaGetters as a5, withModifiers as a6, currentRoute as a7, routes as a8, vueVersion as a9, useDevtoolsClient as aA, __unplugin_components_0$1 as aa, useColorMode as ab, reactive as ac, useElementBounding as ad, watchEffect as ae, useStorage as af, vModelText as ag, useDark as ah, watch as ai, shallowRef as aj, onVueInstanceUpdate as ak, instance as al, nanoid as am, vShow as an, h as ao, useElementSize as ap, onClickOutside as aq, Transition as ar, useStyleTag as as, computedAsync as at, useTimeAgo as au, onKeyDown as av, _export_sfc as aw, vModelDynamic as ax, __vitePreload as ay, useEventListener as az, resolveDirective as b, createBlock as c, withDirectives as d, createElementBlock as e, renderSlot as f, createCommentVNode as g, withCtx as h, renderList as i, resolveDynamicComponent as j, mergeProps as k, normalizeStyle as l, markRaw as m, nextTick as n, openBlock as o, pushScopeId as p, normalizeClass as q, resolveComponent as r, shallowReactive as s, toHandlers as t, createVNode as u, defineComponent as v, withScopeId as w, createBaseVNode as x, toDisplayString as y, unref as z };
15375
+ export { computed as $, timelineLayer as A, activeTimelineEvents as B, activeTimelineEventIndex as C, toggleTimelineEventIndex as D, timelineEventDetails as E, Fragment as F, activeLayerId as G, toggleTimelineLayer as H, useVModel as I, vModelSelect as J, isRef as K, vModelCheckbox as L, withKeys as M, useCategorizedTabs as N, createTextVNode as O, useDevToolsSettings as P, _sfc_main$a as Q, _sfc_main$4 as R, _sfc_main$6 as S, router$1 as T, routeRecordMatcherState as U, activeRouteRecordMatcherState as V, activeRouteRecordIndex as W, toggleRouteRecordMatcher as X, __unplugin_components_1 as Y, ref as Z, _sfc_main$3 as _, popScopeId as a, piniaStoresCategory as a0, toRaw as a1, piniaState as a2, piniaGetters as a3, withModifiers as a4, onMounted as a5, currentRoute as a6, routes as a7, vueVersion as a8, __unplugin_components_0$1 as a9, useDevtoolsClient as aA, useColorMode as aa, reactive as ab, useElementBounding as ac, watchEffect as ad, onUnmounted as ae, useStorage as af, vModelText as ag, useDark as ah, watch as ai, shallowRef as aj, onVueInstanceUpdate as ak, instance as al, nanoid as am, vShow as an, h as ao, useElementSize as ap, onClickOutside as aq, Transition as ar, useStyleTag as as, computedAsync as at, useTimeAgo as au, onKeyDown as av, _export_sfc as aw, vModelDynamic as ax, __vitePreload as ay, useEventListener as az, resolveDirective as b, createBlock as c, withDirectives as d, createElementBlock as e, renderSlot as f, createCommentVNode as g, withCtx as h, renderList as i, resolveDynamicComponent as j, mergeProps as k, normalizeStyle as l, markRaw as m, nextTick as n, openBlock as o, pushScopeId as p, normalizeClass as q, resolveComponent as r, shallowReactive as s, toHandlers as t, createVNode as u, defineComponent as v, withScopeId as w, createBaseVNode as x, toDisplayString as y, unref as z };
@@ -1,4 +1,4 @@
1
- import { M as isRef } from './index-89bcc57b.js';
1
+ import { K as isRef } from './index-6d7c9dec.js';
2
2
 
3
3
  const objectToString = Object.prototype.toString;
4
4
  function toTypeString(value) {
@@ -1,5 +1,5 @@
1
- import { v as defineComponent, ab as useColorMode, a0 as ref, a1 as computed, ac as reactive, ad as useElementBounding, A as onMounted, n as nextTick, ae as watchEffect, B as onUnmounted, o as openBlock, e as createElementBlock, u as createVNode, z as unref } from './index-89bcc57b.js';
2
- import { i as inspectClientUrl } from './rpc-115351a6.js';
1
+ import { v as defineComponent, aa as useColorMode, Z as ref, $ as computed, ab as reactive, ac as useElementBounding, a5 as onMounted, n as nextTick, ad as watchEffect, ae as onUnmounted, o as openBlock, e as createElementBlock, u as createVNode, z as unref } from './index-6d7c9dec.js';
2
+ import { i as inspectClientUrl } from './rpc-3eeb6f82.js';
3
3
 
4
4
  const iframeCacheMap = /* @__PURE__ */ new Map();
5
5
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
@@ -1,9 +1,9 @@
1
- import { _ as __unplugin_components_0$1 } from './VPanelGrids-155c3f49.js';
2
- import { a0 as ref, a1 as computed, a8 as routes, v as defineComponent, o as openBlock, c as createBlock, h as withCtx, x as createBaseVNode, u as createVNode, y as toDisplayString, z as unref, a9 as vueVersion, Q as createTextVNode, e as createElementBlock, F as Fragment, aa as __unplugin_components_0, $ as __unplugin_components_1, r as resolveComponent, S as _sfc_main$1 } from './index-89bcc57b.js';
3
- import { r as rpc } from './rpc-115351a6.js';
4
- import { i as isMacOS } from './index-21cc52d6.js';
1
+ import { _ as __unplugin_components_0$1 } from './VPanelGrids-3b54987c.js';
2
+ import { Z as ref, $ as computed, a7 as routes, v as defineComponent, o as openBlock, c as createBlock, h as withCtx, x as createBaseVNode, u as createVNode, y as toDisplayString, z as unref, a8 as vueVersion, O as createTextVNode, e as createElementBlock, F as Fragment, a9 as __unplugin_components_0, Y as __unplugin_components_1, r as resolveComponent, Q as _sfc_main$1 } from './index-6d7c9dec.js';
3
+ import { r as rpc } from './rpc-3eeb6f82.js';
4
+ import { i as isMacOS } from './index-d7bd5f5d.js';
5
5
 
6
- const version = "0.0.7";
6
+ const version = "0.0.9";
7
7
 
8
8
  /* Injected with object hook! */
9
9
 
@@ -1,7 +1,7 @@
1
- import { _ as _sfc_main$3, a as __unplugin_components_3 } from './VTextInput.vue_vue_type_script_setup_true_lang-a7aeaac7.js';
2
- import { v as defineComponent, a0 as ref, a1 as computed, r as resolveComponent, z as unref, o as openBlock, e as createElementBlock, x as createBaseVNode, y as toDisplayString, c as createBlock, h as withCtx, a6 as withModifiers, F as Fragment, i as renderList, g as createCommentVNode, u as createVNode, Q as createTextVNode, q as normalizeClass, S as _sfc_main$4, $ as __unplugin_components_1, A as onMounted, a7 as currentRoute, V as router, M as isRef, O as withKeys, a8 as routes } from './index-89bcc57b.js';
3
- import './VIconTitle.vue_vue_type_script_setup_true_lang-e52820ad.js';
4
- import './VIcon.vue_vue_type_script_setup_true_lang-60e8343f.js';
1
+ import { _ as _sfc_main$3, a as __unplugin_components_3 } from './VTextInput.vue_vue_type_script_setup_true_lang-6fec654b.js';
2
+ import { v as defineComponent, Z as ref, $ as computed, r as resolveComponent, z as unref, o as openBlock, e as createElementBlock, x as createBaseVNode, y as toDisplayString, c as createBlock, h as withCtx, a4 as withModifiers, F as Fragment, i as renderList, g as createCommentVNode, u as createVNode, O as createTextVNode, q as normalizeClass, Q as _sfc_main$4, Y as __unplugin_components_1, a5 as onMounted, a6 as currentRoute, T as router, K as isRef, M as withKeys, a7 as routes } from './index-6d7c9dec.js';
3
+ import './VIconTitle.vue_vue_type_script_setup_true_lang-36af287a.js';
4
+ import './VIcon.vue_vue_type_script_setup_true_lang-15751023.js';
5
5
 
6
6
  const _hoisted_1$2 = {
7
7
  block: "",
@@ -1,7 +1,7 @@
1
- import { g, M, _ as _sfc_main$1 } from './splitpanes.es-3cb512fa.js';
2
- import { v as defineComponent, a0 as ref, a1 as computed, a2 as piniaStoresCategory, a3 as toRaw, a4 as piniaState, a5 as piniaGetters, z as unref, o as openBlock, e as createElementBlock, u as createVNode, h as withCtx, x as createBaseVNode, F as Fragment, i as renderList, q as normalizeClass, y as toDisplayString, c as createBlock } from './index-89bcc57b.js';
3
- import { p as pick } from './index-21cc52d6.js';
4
- import './VIcon.vue_vue_type_script_setup_true_lang-60e8343f.js';
1
+ import { g, M, _ as _sfc_main$1 } from './splitpanes.es-741c1942.js';
2
+ import { v as defineComponent, Z as ref, $ as computed, a0 as piniaStoresCategory, a1 as toRaw, a2 as piniaState, a3 as piniaGetters, z as unref, o as openBlock, e as createElementBlock, u as createVNode, h as withCtx, x as createBaseVNode, F as Fragment, i as renderList, q as normalizeClass, y as toDisplayString, c as createBlock } from './index-6d7c9dec.js';
3
+ import { p as pick } from './index-d7bd5f5d.js';
4
+ import './VIcon.vue_vue_type_script_setup_true_lang-15751023.js';
5
5
 
6
6
  const _hoisted_1 = {
7
7
  "h-screen": "",
@@ -1,9 +1,9 @@
1
- import { _ as __unplugin_components_0 } from './VPanelGrids-155c3f49.js';
2
- import { _ as __unplugin_components_7 } from './VCard-415c7ae5.js';
3
- import { v as defineComponent, z as unref, V as router, o as openBlock, e as createElementBlock, u as createVNode, h as withCtx, x as createBaseVNode, F as Fragment, i as renderList, W as routeRecordMatcherState, X as activeRouteRecordMatcherState, c as createBlock, U as _sfc_main$2, q as normalizeClass, Y as activeRouteRecordIndex, Z as toggleRouteRecordMatcher, Q as createTextVNode, y as toDisplayString, l as normalizeStyle, g as createCommentVNode, $ as __unplugin_components_1 } from './index-89bcc57b.js';
4
- import { g, M, _ as _sfc_main$1 } from './splitpanes.es-3cb512fa.js';
5
- import './VIcon.vue_vue_type_script_setup_true_lang-60e8343f.js';
6
- import './index-21cc52d6.js';
1
+ import { _ as __unplugin_components_0 } from './VPanelGrids-3b54987c.js';
2
+ import { _ as __unplugin_components_7 } from './VCard-0472da6f.js';
3
+ import { v as defineComponent, z as unref, T as router, o as openBlock, e as createElementBlock, u as createVNode, h as withCtx, x as createBaseVNode, F as Fragment, i as renderList, U as routeRecordMatcherState, V as activeRouteRecordMatcherState, c as createBlock, S as _sfc_main$2, q as normalizeClass, W as activeRouteRecordIndex, X as toggleRouteRecordMatcher, O as createTextVNode, y as toDisplayString, l as normalizeStyle, g as createCommentVNode, Y as __unplugin_components_1 } from './index-6d7c9dec.js';
4
+ import { g, M, _ as _sfc_main$1 } from './splitpanes.es-741c1942.js';
5
+ import './VIcon.vue_vue_type_script_setup_true_lang-15751023.js';
6
+ import './index-d7bd5f5d.js';
7
7
 
8
8
  const _hoisted_1 = {
9
9
  key: 0,
@@ -1,4 +1,4 @@
1
- import { ay as __vitePreload } from './index-89bcc57b.js';
1
+ import { ay as __vitePreload } from './index-6d7c9dec.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-60e8343f.js';
2
- import { v as defineComponent, K as useVModel, o as openBlock, e as createElementBlock, f as renderSlot, d as withDirectives, L as vModelSelect, z as unref, x as createBaseVNode, y as toDisplayString, g as createCommentVNode, M as isRef, c as createBlock, N as vModelCheckbox, O as withKeys, P as useCategorizedTabs, u as createVNode, F as Fragment, i as renderList, h as withCtx, Q as createTextVNode, R as useDevToolsSettings, _ as _sfc_main$5, S as _sfc_main$6, T as _sfc_main$7, q as normalizeClass, U as _sfc_main$8 } from './index-89bcc57b.js';
3
- import { _ as _sfc_main$4 } from './VIconTitle.vue_vue_type_script_setup_true_lang-e52820ad.js';
1
+ import { _ as _sfc_main$3 } from './VIcon.vue_vue_type_script_setup_true_lang-15751023.js';
2
+ import { v as defineComponent, I as useVModel, o as openBlock, e as createElementBlock, f as renderSlot, d as withDirectives, J as vModelSelect, z as unref, x as createBaseVNode, y as toDisplayString, g as createCommentVNode, K as isRef, c as createBlock, L as vModelCheckbox, M as withKeys, N as useCategorizedTabs, u as createVNode, F as Fragment, i as renderList, h as withCtx, O as createTextVNode, P as useDevToolsSettings, _ as _sfc_main$5, Q as _sfc_main$6, R as _sfc_main$7, q as normalizeClass, S as _sfc_main$8 } from './index-6d7c9dec.js';
3
+ import { _ as _sfc_main$4 } from './VIconTitle.vue_vue_type_script_setup_true_lang-36af287a.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,6 +1,6 @@
1
- import { _ as _sfc_main$3 } from './VIcon.vue_vue_type_script_setup_true_lang-60e8343f.js';
2
- import { v as defineComponent, o as openBlock, c as createBlock, q as normalizeClass, M as isRef, a3 as toRaw, a1 as computed, r as resolveComponent, e as createElementBlock, i as renderList, z as unref, am as nanoid, x as createBaseVNode, y as toDisplayString, g as createCommentVNode, F as Fragment, a0 as ref, u as createVNode, d as withDirectives, an as vShow, ao as h, f as renderSlot, l as normalizeStyle } from './index-89bcc57b.js';
3
- import { a as isComputed, b as isArray, c as isMap, d as isSet, e as isRegExp, t as toRawType, f as isPlainObject, g as escape } from './index-21cc52d6.js';
1
+ import { _ as _sfc_main$3 } from './VIcon.vue_vue_type_script_setup_true_lang-15751023.js';
2
+ import { v as defineComponent, o as openBlock, c as createBlock, q as normalizeClass, K as isRef, a1 as toRaw, $ as computed, r as resolveComponent, e as createElementBlock, i as renderList, z as unref, am as nanoid, x as createBaseVNode, y as toDisplayString, g as createCommentVNode, F as Fragment, Z as ref, u as createVNode, d as withDirectives, an as vShow, ao as h, f as renderSlot, l as normalizeStyle } from './index-6d7c9dec.js';
3
+ import { a as isComputed, b as isArray, c as isMap, d as isSet, e as isRegExp, t as toRawType, f as isPlainObject, g as escape } from './index-d7bd5f5d.js';
4
4
 
5
5
  const _sfc_main$2 = /* @__PURE__ */ defineComponent({
6
6
  __name: "VExpandIcon",
@@ -1,9 +1,9 @@
1
- import { g, M, _ as _sfc_main$2 } from './splitpanes.es-3cb512fa.js';
2
- import { _ as __unplugin_components_0 } from './VPanelGrids-155c3f49.js';
3
- import { _ as __unplugin_components_7 } from './VCard-415c7ae5.js';
4
- import { p as pushScopeId, a as popScopeId, n as nextTick, o as openBlock, c as createBlock, w as withScopeId, m as markRaw, s as shallowReactive, r as resolveComponent, b as resolveDirective, d as withDirectives, e as createElementBlock, f as renderSlot, g as createCommentVNode, h as withCtx, F as Fragment, i as renderList, j as resolveDynamicComponent, k as mergeProps, t as toHandlers, l as normalizeStyle, q as normalizeClass, u as createVNode, v as defineComponent, x as createBaseVNode, y as toDisplayString, z as unref, A as onMounted, B as onUnmounted, C as timelineLayer, D as activeTimelineEvents, E as activeTimelineEventIndex, G as toggleTimelineEventIndex, H as timelineEventDetails, I as activeLayerId, J as toggleTimelineLayer } from './index-89bcc57b.js';
5
- import './VIcon.vue_vue_type_script_setup_true_lang-60e8343f.js';
6
- import './index-21cc52d6.js';
1
+ import { g, M, _ as _sfc_main$2 } from './splitpanes.es-741c1942.js';
2
+ import { _ as __unplugin_components_0 } from './VPanelGrids-3b54987c.js';
3
+ import { _ as __unplugin_components_7 } from './VCard-0472da6f.js';
4
+ import { p as pushScopeId, a as popScopeId, n as nextTick, o as openBlock, c as createBlock, w as withScopeId, m as markRaw, s as shallowReactive, r as resolveComponent, b as resolveDirective, d as withDirectives, e as createElementBlock, f as renderSlot, g as createCommentVNode, h as withCtx, F as Fragment, i as renderList, j as resolveDynamicComponent, k as mergeProps, t as toHandlers, l as normalizeStyle, q as normalizeClass, u as createVNode, v as defineComponent, x as createBaseVNode, y as toDisplayString, z as unref, A as timelineLayer, B as activeTimelineEvents, C as activeTimelineEventIndex, D as toggleTimelineEventIndex, E as timelineEventDetails, G as activeLayerId, H as toggleTimelineLayer } from './index-6d7c9dec.js';
5
+ import './VIcon.vue_vue_type_script_setup_true_lang-15751023.js';
6
+ import './index-d7bd5f5d.js';
7
7
 
8
8
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
9
9
 
@@ -1425,10 +1425,6 @@ const _hoisted_6 = {
1425
1425
  const _sfc_main = /* @__PURE__ */ defineComponent({
1426
1426
  __name: "timeline",
1427
1427
  setup(__props) {
1428
- onMounted(() => {
1429
- });
1430
- onUnmounted(() => {
1431
- });
1432
1428
  return (_ctx, _cache) => {
1433
1429
  const _component_TimelineEvent = _sfc_main$1;
1434
1430
  const _component_StateFields = _sfc_main$2;
@@ -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-89bcc57b.js"></script>
8
+ <script type="module" crossorigin src="./assets/index-6d7c9dec.js"></script>
9
9
  <link rel="stylesheet" href="./assets/index-62a10721.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.7",
3
+ "version": "0.0.9",
4
4
  "packageManager": "pnpm@8.4.0",
5
5
  "description": "A vite plugin for Vue Devtools",
6
6
  "author": "webfansplz",
@@ -8,6 +8,18 @@ const props = defineProps({
8
8
  },
9
9
  })
10
10
 
11
+ const DevtoolsHooks = {
12
+ APP_INIT: 'app:init',
13
+ COMPONENT_UPDATED: 'component:updated',
14
+ COMPONENT_ADDED: 'component:added',
15
+ COMPONENT_REMOVED: 'component:removed',
16
+ COMPONENT_EMIT: 'component:emit',
17
+ PERF_START: 'perf:start',
18
+ PERF_END: 'perf:end',
19
+ ADD_ROUTE: 'router:add-route',
20
+ REMOVE_ROUTE: 'router:remove-route',
21
+ }
22
+
11
23
  window.__VUE_DEVTOOLS_GLOBAL_HOOKS__ = function () {
12
24
  return props.hook
13
25
  }
@@ -240,17 +252,40 @@ function initPanelPosition() {
240
252
  }
241
253
  }
242
254
 
255
+ function captureDynamicRoute(app) {
256
+ const router = app?.config?.globalProperties?.$router
257
+ if (!router)
258
+ return
259
+
260
+ const _addRoute = router.addRoute
261
+ router.addRoute = (...args) => {
262
+ const res = _addRoute(...args)
263
+
264
+ if (!iframe.value?.contentWindow?.__VUE_DEVTOOLS_VIEW__?.loaded) {
265
+ hookBuffer.push([DevtoolsHooks.ADD_ROUTE, {
266
+ args: [...args],
267
+ }])
268
+ }
269
+
270
+ return res
271
+ }
272
+
273
+ const _removeRoute = router.removeRoute
274
+ router.removeRoute = (...args) => {
275
+ const res = _removeRoute(...args)
276
+
277
+ if (!iframe.value?.contentWindow?.__VUE_DEVTOOLS_VIEW__?.loaded) {
278
+ hookBuffer.push([DevtoolsHooks.REMOVE_ROUTE, {
279
+ args: [...args],
280
+ }])
281
+ }
282
+
283
+ return res
284
+ }
285
+ }
286
+
243
287
  function collectHookBuffer() {
244
288
  let sortId = 0
245
- const DevtoolsHooks = {
246
- APP_INIT: 'app:init',
247
- COMPONENT_UPDATED: 'component:updated',
248
- COMPONENT_ADDED: 'component:added',
249
- COMPONENT_REMOVED: 'component:removed',
250
- COMPONENT_EMIT: 'component:emit',
251
- PERF_START: 'perf:start',
252
- PERF_END: 'perf:end',
253
- }
254
289
 
255
290
  function stopCollect(component) {
256
291
  return component?.root?.type?.devtools?.hide || iframe.value?.contentWindow?.__VUE_DEVTOOLS_VIEW__?.loaded
@@ -260,6 +295,7 @@ function collectHookBuffer() {
260
295
  if (!app || app._instance.type?.devtools?.hide)
261
296
  return
262
297
 
298
+ captureDynamicRoute(app)
263
299
  hookBuffer.push([DevtoolsHooks.APP_INIT, {
264
300
  app,
265
301
  }])
@@ -295,9 +331,9 @@ function collectHookBuffer() {
295
331
  time,
296
332
  sortId: sortId++,
297
333
  }])
298
- })
334
+ });
299
335
 
300
- ;[
336
+ [
301
337
  DevtoolsHooks.COMPONENT_UPDATED,
302
338
  DevtoolsHooks.COMPONENT_ADDED,
303
339
  DevtoolsHooks.COMPONENT_REMOVED,
@@ -326,29 +362,35 @@ initPanelPosition()
326
362
 
327
363
  <template>
328
364
  <div class="vue-devtools-panel" :style="panelPosition">
329
- <iframe
330
- ref="iframe"
331
- :src="clientUrl"
332
- :style="{
333
- 'pointer-events': isDragging ? 'none' : 'auto',
334
- }"
335
- @load="onLoad"
336
- />
365
+ <iframe ref="iframe" :src="clientUrl" :style="{
366
+ 'pointer-events': isDragging ? 'none' : 'auto',
367
+ }" @load="onLoad" />
337
368
  <template v-if="panelState.viewMode === 'default'">
338
- <div v-if="panelState.position !== 'top'" class="vue-devtools-resize-handle vue-devtools-resize-handle-horizontal" :style="{ top: 0 }" @mousedown.prevent="() => isDragging = 'horizontal'" />
339
- <div v-if="panelState.position !== 'bottom'" class="vue-devtools-resize-handle vue-devtools-resize-handle-horizontal" :style="{ bottom: 0 }" @mousedown.prevent="() => isDragging = 'horizontal'" />
340
- <div v-if="panelState.position !== 'left'" class="vue-devtools-resize-handle vue-devtools-resize-handle-vertical" :style="{ left: 0 }" @mousedown.prevent="() => isDragging = 'vertical'" />
341
- <div v-if="panelState.position !== 'right'" class="vue-devtools-resize-handle vue-devtools-resize-handle-vertical" :style="{ right: 0 }" @mousedown.prevent="() => isDragging = 'vertical'" />
342
- <div v-if="panelState.position !== 'top' && panelState.position !== 'left'" class="vue-devtools-resize-handle vue-devtools-resize-handle-corner" :style="{ top: 0, left: 0, cursor: 'nwse-resize' }" @mousedown.prevent="() => isDragging = 'both'" />
343
- <div v-if="panelState.position !== 'top' && panelState.position !== 'right'" class="vue-devtools-resize-handle vue-devtools-resize-handle-corner" :style="{ top: 0, right: 0, cursor: 'nesw-resize' }" @mousedown.prevent="() => isDragging = 'both'" />
344
- <div v-if="panelState.position !== 'bottom' && panelState.position !== 'right'" class="vue-devtools-resize-handle vue-devtools-resize-handle-corner" :style="{ bottom: 0, right: 0, cursor: 'nwse-resize' }" @mousedown.prevent="() => isDragging = 'both'" />
345
- <div v-if="panelState.position !== 'bottom' && panelState.position !== 'left'" class="vue-devtools-resize-handle vue-devtools-resize-handle-corner" :style="{ bottom: 0, left: 0, cursor: 'nesw-resize' }" @mousedown.prevent="() => isDragging = 'both'" />
369
+ <div v-if="panelState.position !== 'top'" class="vue-devtools-resize-handle vue-devtools-resize-handle-horizontal"
370
+ :style="{ top: 0 }" @mousedown.prevent="() => isDragging = 'horizontal'" />
371
+ <div v-if="panelState.position !== 'bottom'"
372
+ class="vue-devtools-resize-handle vue-devtools-resize-handle-horizontal" :style="{ bottom: 0 }"
373
+ @mousedown.prevent="() => isDragging = 'horizontal'" />
374
+ <div v-if="panelState.position !== 'left'" class="vue-devtools-resize-handle vue-devtools-resize-handle-vertical"
375
+ :style="{ left: 0 }" @mousedown.prevent="() => isDragging = 'vertical'" />
376
+ <div v-if="panelState.position !== 'right'" class="vue-devtools-resize-handle vue-devtools-resize-handle-vertical"
377
+ :style="{ right: 0 }" @mousedown.prevent="() => isDragging = 'vertical'" />
378
+ <div v-if="panelState.position !== 'top' && panelState.position !== 'left'"
379
+ class="vue-devtools-resize-handle vue-devtools-resize-handle-corner"
380
+ :style="{ top: 0, left: 0, cursor: 'nwse-resize' }" @mousedown.prevent="() => isDragging = 'both'" />
381
+ <div v-if="panelState.position !== 'top' && panelState.position !== 'right'"
382
+ class="vue-devtools-resize-handle vue-devtools-resize-handle-corner"
383
+ :style="{ top: 0, right: 0, cursor: 'nesw-resize' }" @mousedown.prevent="() => isDragging = 'both'" />
384
+ <div v-if="panelState.position !== 'bottom' && panelState.position !== 'right'"
385
+ class="vue-devtools-resize-handle vue-devtools-resize-handle-corner"
386
+ :style="{ bottom: 0, right: 0, cursor: 'nwse-resize' }" @mousedown.prevent="() => isDragging = 'both'" />
387
+ <div v-if="panelState.position !== 'bottom' && panelState.position !== 'left'"
388
+ class="vue-devtools-resize-handle vue-devtools-resize-handle-corner"
389
+ :style="{ bottom: 0, left: 0, cursor: 'nesw-resize' }" @mousedown.prevent="() => isDragging = 'both'" />
346
390
  </template>
347
391
  </div>
348
- <button
349
- class="vue-devtools-toggle" aria-label="Toggle devtools panel" :style="toggleButtonPosition"
350
- @click.prevent="togglePanel"
351
- >
392
+ <button class="vue-devtools-toggle" aria-label="Toggle devtools panel" :style="toggleButtonPosition"
393
+ @click.prevent="togglePanel">
352
394
  <svg viewBox="0 0 256 198" fill="none" xmlns="http://www.w3.org/2000/svg">
353
395
  <path fill="#41B883" d="M204.8 0H256L128 220.8L0 0h97.92L128 51.2L157.44 0h47.36Z" />
354
396
  <path fill="#41B883" d="m0 0l128 220.8L256 0h-51.2L128 132.48L50.56 0H0Z" />
@@ -400,7 +442,7 @@ initPanelPosition()
400
442
  }
401
443
 
402
444
  .vue-devtools-resize-handle:hover {
403
- background: rgba(125,125,125,0.1);
445
+ background: rgba(125, 125, 125, 0.1);
404
446
  }
405
447
 
406
448
  .vue-devtools-resize-handle-horizontal {
@@ -421,7 +463,7 @@ initPanelPosition()
421
463
  border-radius: 6px;
422
464
  }
423
465
 
424
- .vue-devtools-resize-handle-vertical{
466
+ .vue-devtools-resize-handle-vertical {
425
467
  position: absolute;
426
468
  top: 6px;
427
469
  bottom: 0;