@vue/devtools-kit 7.4.4 → 7.4.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -33,9 +33,9 @@ var __toESM = (mod, isNodeMode, target22) => (target22 = mod != null ? __create(
33
33
  ));
34
34
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
35
35
 
36
- // ../../node_modules/.pnpm/tsup@8.2.4_@microsoft+api-extractor@7.43.0_@types+node@20.16.3__@swc+core@1.5.29_jiti@1.21.6__poim247rgdwcqyeqwscqjhxddq/node_modules/tsup/assets/cjs_shims.js
36
+ // ../../node_modules/.pnpm/tsup@8.3.0_@microsoft+api-extractor@7.43.0_@types+node@20.16.5__@swc+core@1.5.29_jiti@1.21.6__ldnw4a7r4ccknnz6q542psuydy/node_modules/tsup/assets/cjs_shims.js
37
37
  var init_cjs_shims = __esm({
38
- "../../node_modules/.pnpm/tsup@8.2.4_@microsoft+api-extractor@7.43.0_@types+node@20.16.3__@swc+core@1.5.29_jiti@1.21.6__poim247rgdwcqyeqwscqjhxddq/node_modules/tsup/assets/cjs_shims.js"() {
38
+ "../../node_modules/.pnpm/tsup@8.3.0_@microsoft+api-extractor@7.43.0_@types+node@20.16.5__@swc+core@1.5.29_jiti@1.21.6__ldnw4a7r4ccknnz6q542psuydy/node_modules/tsup/assets/cjs_shims.js"() {
39
39
  "use strict";
40
40
  }
41
41
  });
@@ -1669,55 +1669,33 @@ init_cjs_shims();
1669
1669
  init_cjs_shims();
1670
1670
  var import_devtools_shared19 = require("@vue/devtools-shared");
1671
1671
 
1672
- // src/hook/index.ts
1673
- init_cjs_shims();
1674
- var import_devtools_shared16 = require("@vue/devtools-shared");
1675
- var import_hookable2 = require("hookable");
1676
-
1677
- // src/types/index.ts
1678
- init_cjs_shims();
1679
-
1680
- // src/types/inspector.ts
1681
- init_cjs_shims();
1682
-
1683
- // src/types/plugin.ts
1684
- init_cjs_shims();
1685
-
1686
- // src/types/app.ts
1687
- init_cjs_shims();
1688
-
1689
- // src/types/timeline.ts
1690
- init_cjs_shims();
1691
-
1692
- // src/types/component.ts
1693
- init_cjs_shims();
1694
-
1695
- // src/types/hook.ts
1696
- init_cjs_shims();
1697
-
1698
- // src/types/tab.ts
1699
- init_cjs_shims();
1700
-
1701
- // src/types/command.ts
1702
- init_cjs_shims();
1703
-
1704
- // src/types/router.ts
1672
+ // src/compat/index.ts
1705
1673
  init_cjs_shims();
1674
+ var import_devtools_shared = require("@vue/devtools-shared");
1675
+ function onLegacyDevToolsPluginApiAvailable(cb) {
1676
+ if (import_devtools_shared.target.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__) {
1677
+ cb();
1678
+ return;
1679
+ }
1680
+ Object.defineProperty(import_devtools_shared.target, "__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__", {
1681
+ set(value) {
1682
+ if (value)
1683
+ cb();
1684
+ },
1685
+ configurable: true
1686
+ });
1687
+ }
1706
1688
 
1707
1689
  // src/ctx/index.ts
1708
1690
  init_cjs_shims();
1709
- var import_devtools_shared15 = require("@vue/devtools-shared");
1710
-
1711
- // src/ctx/hook.ts
1712
- init_cjs_shims();
1713
- var import_hookable = require("hookable");
1691
+ var import_devtools_shared17 = require("@vue/devtools-shared");
1714
1692
 
1715
- // src/core/component-highlighter/index.ts
1693
+ // src/ctx/api.ts
1716
1694
  init_cjs_shims();
1695
+ var import_devtools_shared15 = require("@vue/devtools-shared");
1717
1696
 
1718
- // src/core/component/utils/index.ts
1697
+ // src/core/component/state/editor.ts
1719
1698
  init_cjs_shims();
1720
- var import_devtools_shared = require("@vue/devtools-shared");
1721
1699
 
1722
1700
  // src/shared/stub-vue.ts
1723
1701
  init_cjs_shims();
@@ -1740,13 +1718,15 @@ function toRaw(observed) {
1740
1718
  var Fragment = Symbol.for("v-fgt");
1741
1719
 
1742
1720
  // src/core/component/utils/index.ts
1721
+ init_cjs_shims();
1722
+ var import_devtools_shared2 = require("@vue/devtools-shared");
1743
1723
  function getComponentTypeName(options) {
1744
1724
  return options.name || options._componentTag || options.__VUE_DEVTOOLS_COMPONENT_GUSSED_NAME__ || options.__name;
1745
1725
  }
1746
1726
  function getComponentFileName(options) {
1747
1727
  const file = options.__file;
1748
1728
  if (file)
1749
- return (0, import_devtools_shared.classify)((0, import_devtools_shared.basename)(file, ".vue"));
1729
+ return (0, import_devtools_shared2.classify)((0, import_devtools_shared2.basename)(file, ".vue"));
1750
1730
  }
1751
1731
  function getComponentName(options) {
1752
1732
  const name = options.displayName || options.name || options._componentTag;
@@ -1839,6 +1819,146 @@ function ensurePropertyExists(obj, key, skipObjCheck = false) {
1839
1819
  return skipObjCheck ? key in obj : typeof obj === "object" && obj !== null ? key in obj : false;
1840
1820
  }
1841
1821
 
1822
+ // src/core/component/state/editor.ts
1823
+ var StateEditor = class {
1824
+ constructor() {
1825
+ this.refEditor = new RefStateEditor();
1826
+ }
1827
+ set(object, path, value, cb) {
1828
+ const sections = Array.isArray(path) ? path : path.split(".");
1829
+ const markRef = false;
1830
+ while (sections.length > 1) {
1831
+ const section = sections.shift();
1832
+ if (object instanceof Map)
1833
+ object = object.get(section);
1834
+ if (object instanceof Set)
1835
+ object = Array.from(object.values())[section];
1836
+ else object = object[section];
1837
+ if (this.refEditor.isRef(object))
1838
+ object = this.refEditor.get(object);
1839
+ }
1840
+ const field = sections[0];
1841
+ const item = this.refEditor.get(object)[field];
1842
+ if (cb) {
1843
+ cb(object, field, value);
1844
+ } else {
1845
+ if (this.refEditor.isRef(item))
1846
+ this.refEditor.set(item, value);
1847
+ else if (markRef)
1848
+ object[field] = value;
1849
+ else
1850
+ object[field] = value;
1851
+ }
1852
+ }
1853
+ get(object, path) {
1854
+ const sections = Array.isArray(path) ? path : path.split(".");
1855
+ for (let i = 0; i < sections.length; i++) {
1856
+ if (object instanceof Map)
1857
+ object = object.get(sections[i]);
1858
+ else
1859
+ object = object[sections[i]];
1860
+ if (this.refEditor.isRef(object))
1861
+ object = this.refEditor.get(object);
1862
+ if (!object)
1863
+ return void 0;
1864
+ }
1865
+ return object;
1866
+ }
1867
+ has(object, path, parent = false) {
1868
+ if (typeof object === "undefined")
1869
+ return false;
1870
+ const sections = Array.isArray(path) ? path.slice() : path.split(".");
1871
+ const size = !parent ? 1 : 2;
1872
+ while (object && sections.length > size) {
1873
+ const section = sections.shift();
1874
+ object = object[section];
1875
+ if (this.refEditor.isRef(object))
1876
+ object = this.refEditor.get(object);
1877
+ }
1878
+ return object != null && Object.prototype.hasOwnProperty.call(object, sections[0]);
1879
+ }
1880
+ createDefaultSetCallback(state) {
1881
+ return (object, field, value) => {
1882
+ if (state.remove || state.newKey) {
1883
+ if (Array.isArray(object))
1884
+ object.splice(field, 1);
1885
+ else if (toRaw(object) instanceof Map)
1886
+ object.delete(field);
1887
+ else if (toRaw(object) instanceof Set)
1888
+ object.delete(Array.from(object.values())[field]);
1889
+ else Reflect.deleteProperty(object, field);
1890
+ }
1891
+ if (!state.remove) {
1892
+ const target22 = object[state.newKey || field];
1893
+ if (this.refEditor.isRef(target22))
1894
+ this.refEditor.set(target22, value);
1895
+ else if (toRaw(object) instanceof Map)
1896
+ object.set(state.newKey || field, value);
1897
+ else if (toRaw(object) instanceof Set)
1898
+ object.add(value);
1899
+ else
1900
+ object[state.newKey || field] = value;
1901
+ }
1902
+ };
1903
+ }
1904
+ };
1905
+ var RefStateEditor = class {
1906
+ set(ref, value) {
1907
+ if (isRef(ref)) {
1908
+ ref.value = value;
1909
+ } else {
1910
+ if (ref instanceof Set && Array.isArray(value)) {
1911
+ ref.clear();
1912
+ value.forEach((v) => ref.add(v));
1913
+ return;
1914
+ }
1915
+ const currentKeys = Object.keys(value);
1916
+ if (ref instanceof Map) {
1917
+ const previousKeysSet2 = new Set(ref.keys());
1918
+ currentKeys.forEach((key) => {
1919
+ ref.set(key, Reflect.get(value, key));
1920
+ previousKeysSet2.delete(key);
1921
+ });
1922
+ previousKeysSet2.forEach((key) => ref.delete(key));
1923
+ return;
1924
+ }
1925
+ const previousKeysSet = new Set(Object.keys(ref));
1926
+ currentKeys.forEach((key) => {
1927
+ Reflect.set(ref, key, Reflect.get(value, key));
1928
+ previousKeysSet.delete(key);
1929
+ });
1930
+ previousKeysSet.forEach((key) => Reflect.deleteProperty(ref, key));
1931
+ }
1932
+ }
1933
+ get(ref) {
1934
+ return isRef(ref) ? ref.value : ref;
1935
+ }
1936
+ isRef(ref) {
1937
+ return isRef(ref) || isReactive(ref);
1938
+ }
1939
+ };
1940
+ async function editComponentState(payload, stateEditor2) {
1941
+ const { path, nodeId, state, type } = payload;
1942
+ const instance = getComponentInstance(activeAppRecord.value, nodeId);
1943
+ if (!instance)
1944
+ return;
1945
+ const targetPath = path.slice();
1946
+ let target22;
1947
+ if (instance.devtoolsRawSetupState && Object.keys(instance.devtoolsRawSetupState).includes(path[0]))
1948
+ target22 = instance.devtoolsRawSetupState;
1949
+ if (instance.data && Object.keys(instance.data).includes(path[0]))
1950
+ target22 = instance.data;
1951
+ if (target22 && targetPath) {
1952
+ if (state.type === "object" && type === "reactive") {
1953
+ }
1954
+ stateEditor2.set(target22, targetPath, state.value, stateEditor2.createDefaultSetCallback(state));
1955
+ }
1956
+ }
1957
+ var stateEditor = new StateEditor();
1958
+ async function editState(payload) {
1959
+ editComponentState(payload, stateEditor);
1960
+ }
1961
+
1842
1962
  // src/core/component/tree/el.ts
1843
1963
  init_cjs_shims();
1844
1964
  function getRootElementsFromComponentInstance(instance) {
@@ -1861,6 +1981,9 @@ function getFragmentRootElements(vnode) {
1861
1981
  return list;
1862
1982
  }
1863
1983
 
1984
+ // src/core/component-highlighter/index.ts
1985
+ init_cjs_shims();
1986
+
1864
1987
  // src/core/component/state/bounding-rect.ts
1865
1988
  init_cjs_shims();
1866
1989
  function createRect() {
@@ -2150,194 +2273,75 @@ function scrollToComponent(options) {
2150
2273
  }
2151
2274
  }
2152
2275
 
2153
- // src/ctx/inspector.ts
2154
- init_cjs_shims();
2155
- var import_devtools_shared4 = require("@vue/devtools-shared");
2156
- var import_perfect_debounce2 = require("perfect-debounce");
2157
-
2158
- // src/ctx/state.ts
2276
+ // src/core/component-inspector/index.ts
2159
2277
  init_cjs_shims();
2160
- var import_devtools_shared2 = require("@vue/devtools-shared");
2161
- var import_perfect_debounce = require("perfect-debounce");
2278
+ var import_devtools_shared3 = require("@vue/devtools-shared");
2162
2279
  var _a, _b;
2163
- (_b = (_a = import_devtools_shared2.target).__VUE_DEVTOOLS_KIT_APP_RECORDS__) != null ? _b : _a.__VUE_DEVTOOLS_KIT_APP_RECORDS__ = [];
2164
- var _a2, _b2;
2165
- (_b2 = (_a2 = import_devtools_shared2.target).__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__) != null ? _b2 : _a2.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__ = {};
2166
- var _a3, _b3;
2167
- (_b3 = (_a3 = import_devtools_shared2.target).__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__) != null ? _b3 : _a3.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__ = "";
2168
- var _a4, _b4;
2169
- (_b4 = (_a4 = import_devtools_shared2.target).__VUE_DEVTOOLS_KIT_CUSTOM_TABS__) != null ? _b4 : _a4.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__ = [];
2170
- var _a5, _b5;
2171
- (_b5 = (_a5 = import_devtools_shared2.target).__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__) != null ? _b5 : _a5.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__ = [];
2172
- var STATE_KEY = "__VUE_DEVTOOLS_KIT_GLOBAL_STATE__";
2173
- function initStateFactory() {
2174
- return {
2175
- connected: false,
2176
- clientConnected: false,
2177
- vitePluginDetected: true,
2178
- appRecords: [],
2179
- activeAppRecordId: "",
2180
- tabs: [],
2181
- commands: [],
2182
- highPerfModeEnabled: true,
2183
- devtoolsClientDetected: {}
2280
+ (_b = (_a = import_devtools_shared3.target).__VUE_DEVTOOLS_COMPONENT_INSPECTOR_ENABLED__) != null ? _b : _a.__VUE_DEVTOOLS_COMPONENT_INSPECTOR_ENABLED__ = true;
2281
+ function toggleComponentInspectorEnabled(enabled) {
2282
+ import_devtools_shared3.target.__VUE_DEVTOOLS_COMPONENT_INSPECTOR_ENABLED__ = enabled;
2283
+ }
2284
+ function waitForInspectorInit(cb) {
2285
+ let total = 0;
2286
+ const timer = setInterval(() => {
2287
+ if (import_devtools_shared3.target.__VUE_INSPECTOR__) {
2288
+ clearInterval(timer);
2289
+ total += 30;
2290
+ cb();
2291
+ }
2292
+ if (total >= /* 5s */
2293
+ 5e3)
2294
+ clearInterval(timer);
2295
+ }, 30);
2296
+ }
2297
+ function setupInspector() {
2298
+ const inspector = import_devtools_shared3.target.__VUE_INSPECTOR__;
2299
+ const _openInEditor = inspector.openInEditor;
2300
+ inspector.openInEditor = async (...params) => {
2301
+ inspector.disable();
2302
+ _openInEditor(...params);
2184
2303
  };
2185
2304
  }
2186
- var _a6, _b6;
2187
- (_b6 = (_a6 = import_devtools_shared2.target)[STATE_KEY]) != null ? _b6 : _a6[STATE_KEY] = initStateFactory();
2188
- var callStateUpdatedHook = (0, import_perfect_debounce.debounce)((state) => {
2189
- devtoolsContext.hooks.callHook("devtoolsStateUpdated" /* DEVTOOLS_STATE_UPDATED */, { state });
2190
- });
2191
- var callConnectedUpdatedHook = (0, import_perfect_debounce.debounce)((state, oldState) => {
2192
- devtoolsContext.hooks.callHook("devtoolsConnectedUpdated" /* DEVTOOLS_CONNECTED_UPDATED */, { state, oldState });
2193
- });
2194
- var devtoolsAppRecords = new Proxy(import_devtools_shared2.target.__VUE_DEVTOOLS_KIT_APP_RECORDS__, {
2195
- get(_target, prop, receiver) {
2196
- if (prop === "value")
2197
- return import_devtools_shared2.target.__VUE_DEVTOOLS_KIT_APP_RECORDS__;
2198
- return import_devtools_shared2.target.__VUE_DEVTOOLS_KIT_APP_RECORDS__[prop];
2199
- }
2200
- });
2201
- var addDevToolsAppRecord = (app) => {
2202
- import_devtools_shared2.target.__VUE_DEVTOOLS_KIT_APP_RECORDS__ = [
2203
- ...import_devtools_shared2.target.__VUE_DEVTOOLS_KIT_APP_RECORDS__,
2204
- app
2205
- ];
2206
- };
2207
- var removeDevToolsAppRecord = (app) => {
2208
- import_devtools_shared2.target.__VUE_DEVTOOLS_KIT_APP_RECORDS__ = devtoolsAppRecords.value.filter((record) => record.app !== app);
2209
- };
2210
- var activeAppRecord = new Proxy(import_devtools_shared2.target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__, {
2211
- get(_target, prop, receiver) {
2212
- if (prop === "value")
2213
- return import_devtools_shared2.target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__;
2214
- else if (prop === "id")
2215
- return import_devtools_shared2.target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__;
2216
- return import_devtools_shared2.target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__[prop];
2217
- }
2218
- });
2219
- function updateAllStates() {
2220
- callStateUpdatedHook({
2221
- ...import_devtools_shared2.target[STATE_KEY],
2222
- appRecords: devtoolsAppRecords.value,
2223
- activeAppRecordId: activeAppRecord.id,
2224
- tabs: import_devtools_shared2.target.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__,
2225
- commands: import_devtools_shared2.target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__
2226
- });
2227
- }
2228
- function setActiveAppRecord(app) {
2229
- import_devtools_shared2.target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__ = app;
2230
- updateAllStates();
2231
- }
2232
- function setActiveAppRecordId(id) {
2233
- import_devtools_shared2.target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__ = id;
2234
- updateAllStates();
2235
- }
2236
- var devtoolsState = new Proxy(import_devtools_shared2.target[STATE_KEY], {
2237
- get(target22, property) {
2238
- if (property === "appRecords") {
2239
- return devtoolsAppRecords;
2240
- } else if (property === "activeAppRecordId") {
2241
- return activeAppRecord.id;
2242
- } else if (property === "tabs") {
2243
- return import_devtools_shared2.target.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__;
2244
- } else if (property === "commands") {
2245
- return import_devtools_shared2.target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__;
2246
- }
2247
- return import_devtools_shared2.target[STATE_KEY][property];
2248
- },
2249
- deleteProperty(target22, property) {
2250
- delete target22[property];
2251
- return true;
2252
- },
2253
- set(target22, property, value) {
2254
- const oldState = { ...import_devtools_shared2.target[STATE_KEY] };
2255
- target22[property] = value;
2256
- import_devtools_shared2.target[STATE_KEY][property] = value;
2257
- return true;
2258
- }
2259
- });
2260
- function resetDevToolsState() {
2261
- Object.assign(import_devtools_shared2.target[STATE_KEY], initStateFactory());
2262
- }
2263
- function updateDevToolsState(state) {
2264
- const oldState = {
2265
- ...import_devtools_shared2.target[STATE_KEY],
2266
- appRecords: devtoolsAppRecords.value,
2267
- activeAppRecordId: activeAppRecord.id
2268
- };
2269
- if (oldState.connected !== state.connected && state.connected || oldState.clientConnected !== state.clientConnected && state.clientConnected) {
2270
- callConnectedUpdatedHook(import_devtools_shared2.target[STATE_KEY], oldState);
2271
- }
2272
- Object.assign(import_devtools_shared2.target[STATE_KEY], state);
2273
- updateAllStates();
2274
- }
2275
- function onDevToolsConnected(fn) {
2305
+ function getComponentInspector() {
2276
2306
  return new Promise((resolve) => {
2277
- if (devtoolsState.connected) {
2278
- fn();
2279
- resolve();
2307
+ function setup() {
2308
+ setupInspector();
2309
+ resolve(import_devtools_shared3.target.__VUE_INSPECTOR__);
2310
+ }
2311
+ if (!import_devtools_shared3.target.__VUE_INSPECTOR__) {
2312
+ waitForInspectorInit(() => {
2313
+ setup();
2314
+ });
2315
+ } else {
2316
+ setup();
2280
2317
  }
2281
- devtoolsContext.hooks.hook("devtoolsConnectedUpdated" /* DEVTOOLS_CONNECTED_UPDATED */, ({ state }) => {
2282
- if (state.connected) {
2283
- fn();
2284
- resolve();
2285
- }
2286
- });
2287
- });
2288
- }
2289
- var resolveIcon = (icon) => {
2290
- if (!icon)
2291
- return;
2292
- if (icon.startsWith("baseline-")) {
2293
- return `custom-ic-${icon}`;
2294
- }
2295
- if (icon.startsWith("i-") || (0, import_devtools_shared2.isUrlString)(icon))
2296
- return icon;
2297
- return `custom-ic-baseline-${icon}`;
2298
- };
2299
- function addCustomTab(tab) {
2300
- const tabs = import_devtools_shared2.target.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__;
2301
- if (tabs.some((t) => t.name === tab.name))
2302
- return;
2303
- tabs.push({
2304
- ...tab,
2305
- icon: resolveIcon(tab.icon)
2306
- });
2307
- updateAllStates();
2308
- }
2309
- function addCustomCommand(action) {
2310
- const commands = import_devtools_shared2.target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__;
2311
- if (commands.some((t) => t.id === action.id))
2312
- return;
2313
- commands.push({
2314
- ...action,
2315
- icon: resolveIcon(action.icon),
2316
- children: action.children ? action.children.map((child) => ({
2317
- ...child,
2318
- icon: resolveIcon(child.icon)
2319
- })) : void 0
2320
2318
  });
2321
- updateAllStates();
2322
- }
2323
- function removeCustomCommand(actionId) {
2324
- const commands = import_devtools_shared2.target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__;
2325
- const index = commands.findIndex((t) => t.id === actionId);
2326
- if (index === -1)
2327
- return;
2328
- commands.splice(index, 1);
2329
- updateAllStates();
2330
- }
2331
- function toggleClientConnected(state) {
2332
- updateDevToolsState({ clientConnected: state });
2333
2319
  }
2334
2320
 
2321
+ // src/core/open-in-editor/index.ts
2322
+ init_cjs_shims();
2323
+ var import_devtools_shared7 = require("@vue/devtools-shared");
2324
+
2325
+ // src/ctx/state.ts
2326
+ init_cjs_shims();
2327
+ var import_devtools_shared6 = require("@vue/devtools-shared");
2328
+ var import_perfect_debounce2 = require("perfect-debounce");
2329
+
2330
+ // src/ctx/hook.ts
2331
+ init_cjs_shims();
2332
+ var import_hookable = require("hookable");
2333
+
2334
+ // src/ctx/inspector.ts
2335
+ init_cjs_shims();
2336
+ var import_devtools_shared5 = require("@vue/devtools-shared");
2337
+ var import_perfect_debounce = require("perfect-debounce");
2338
+
2335
2339
  // src/ctx/timeline.ts
2336
2340
  init_cjs_shims();
2337
- var import_devtools_shared3 = require("@vue/devtools-shared");
2338
- var _a7, _b7;
2339
- (_b7 = (_a7 = import_devtools_shared3.target).__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS) != null ? _b7 : _a7.__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS = [];
2340
- var devtoolsTimelineLayers = new Proxy(import_devtools_shared3.target.__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS, {
2341
+ var import_devtools_shared4 = require("@vue/devtools-shared");
2342
+ var _a2, _b2;
2343
+ (_b2 = (_a2 = import_devtools_shared4.target).__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS) != null ? _b2 : _a2.__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS = [];
2344
+ var devtoolsTimelineLayers = new Proxy(import_devtools_shared4.target.__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS, {
2341
2345
  get(target22, prop, receiver) {
2342
2346
  return Reflect.get(target22, prop, receiver);
2343
2347
  }
@@ -2351,14 +2355,14 @@ function addTimelineLayer(options, descriptor) {
2351
2355
  }
2352
2356
 
2353
2357
  // src/ctx/inspector.ts
2354
- var _a8, _b8;
2355
- (_b8 = (_a8 = import_devtools_shared4.target).__VUE_DEVTOOLS_KIT_INSPECTOR__) != null ? _b8 : _a8.__VUE_DEVTOOLS_KIT_INSPECTOR__ = [];
2356
- var devtoolsInspector = new Proxy(import_devtools_shared4.target.__VUE_DEVTOOLS_KIT_INSPECTOR__, {
2358
+ var _a3, _b3;
2359
+ (_b3 = (_a3 = import_devtools_shared5.target).__VUE_DEVTOOLS_KIT_INSPECTOR__) != null ? _b3 : _a3.__VUE_DEVTOOLS_KIT_INSPECTOR__ = [];
2360
+ var devtoolsInspector = new Proxy(import_devtools_shared5.target.__VUE_DEVTOOLS_KIT_INSPECTOR__, {
2357
2361
  get(target22, prop, receiver) {
2358
2362
  return Reflect.get(target22, prop, receiver);
2359
2363
  }
2360
2364
  });
2361
- var callInspectorUpdatedHook = (0, import_perfect_debounce2.debounce)(() => {
2365
+ var callInspectorUpdatedHook = (0, import_perfect_debounce.debounce)(() => {
2362
2366
  devtoolsContext.hooks.callHook("sendInspectorToClient" /* SEND_INSPECTOR_TO_CLIENT */, getActiveInspectors());
2363
2367
  });
2364
2368
  function addInspector(inspector, descriptor) {
@@ -2382,7 +2386,8 @@ function getActiveInspectors() {
2382
2386
  logo: descriptor.logo,
2383
2387
  icon: `custom-ic-baseline-${(_a25 = options == null ? void 0 : options.icon) == null ? void 0 : _a25.replace(/_/g, "-")}`,
2384
2388
  packageName: descriptor.packageName,
2385
- homepage: descriptor.homepage
2389
+ homepage: descriptor.homepage,
2390
+ pluginId: descriptor.id
2386
2391
  };
2387
2392
  });
2388
2393
  }
@@ -2557,156 +2562,183 @@ function createDevToolsCtxHooks() {
2557
2562
  return hooks2;
2558
2563
  }
2559
2564
 
2560
- // src/ctx/api.ts
2561
- init_cjs_shims();
2562
- var import_devtools_shared13 = require("@vue/devtools-shared");
2563
-
2564
- // src/core/component/state/editor.ts
2565
- init_cjs_shims();
2566
- var StateEditor = class {
2567
- constructor() {
2568
- this.refEditor = new RefStateEditor();
2565
+ // src/ctx/state.ts
2566
+ var _a4, _b4;
2567
+ (_b4 = (_a4 = import_devtools_shared6.target).__VUE_DEVTOOLS_KIT_APP_RECORDS__) != null ? _b4 : _a4.__VUE_DEVTOOLS_KIT_APP_RECORDS__ = [];
2568
+ var _a5, _b5;
2569
+ (_b5 = (_a5 = import_devtools_shared6.target).__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__) != null ? _b5 : _a5.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__ = {};
2570
+ var _a6, _b6;
2571
+ (_b6 = (_a6 = import_devtools_shared6.target).__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__) != null ? _b6 : _a6.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__ = "";
2572
+ var _a7, _b7;
2573
+ (_b7 = (_a7 = import_devtools_shared6.target).__VUE_DEVTOOLS_KIT_CUSTOM_TABS__) != null ? _b7 : _a7.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__ = [];
2574
+ var _a8, _b8;
2575
+ (_b8 = (_a8 = import_devtools_shared6.target).__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__) != null ? _b8 : _a8.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__ = [];
2576
+ var STATE_KEY = "__VUE_DEVTOOLS_KIT_GLOBAL_STATE__";
2577
+ function initStateFactory() {
2578
+ return {
2579
+ connected: false,
2580
+ clientConnected: false,
2581
+ vitePluginDetected: true,
2582
+ appRecords: [],
2583
+ activeAppRecordId: "",
2584
+ tabs: [],
2585
+ commands: [],
2586
+ highPerfModeEnabled: true,
2587
+ devtoolsClientDetected: {}
2588
+ };
2589
+ }
2590
+ var _a9, _b9;
2591
+ (_b9 = (_a9 = import_devtools_shared6.target)[STATE_KEY]) != null ? _b9 : _a9[STATE_KEY] = initStateFactory();
2592
+ var callStateUpdatedHook = (0, import_perfect_debounce2.debounce)((state) => {
2593
+ devtoolsContext.hooks.callHook("devtoolsStateUpdated" /* DEVTOOLS_STATE_UPDATED */, { state });
2594
+ });
2595
+ var callConnectedUpdatedHook = (0, import_perfect_debounce2.debounce)((state, oldState) => {
2596
+ devtoolsContext.hooks.callHook("devtoolsConnectedUpdated" /* DEVTOOLS_CONNECTED_UPDATED */, { state, oldState });
2597
+ });
2598
+ var devtoolsAppRecords = new Proxy(import_devtools_shared6.target.__VUE_DEVTOOLS_KIT_APP_RECORDS__, {
2599
+ get(_target, prop, receiver) {
2600
+ if (prop === "value")
2601
+ return import_devtools_shared6.target.__VUE_DEVTOOLS_KIT_APP_RECORDS__;
2602
+ return import_devtools_shared6.target.__VUE_DEVTOOLS_KIT_APP_RECORDS__[prop];
2569
2603
  }
2570
- set(object, path, value, cb) {
2571
- const sections = Array.isArray(path) ? path : path.split(".");
2572
- const markRef = false;
2573
- while (sections.length > 1) {
2574
- const section = sections.shift();
2575
- if (object instanceof Map)
2576
- object = object.get(section);
2577
- if (object instanceof Set)
2578
- object = Array.from(object.values())[section];
2579
- else object = object[section];
2580
- if (this.refEditor.isRef(object))
2581
- object = this.refEditor.get(object);
2582
- }
2583
- const field = sections[0];
2584
- const item = this.refEditor.get(object)[field];
2585
- if (cb) {
2586
- cb(object, field, value);
2587
- } else {
2588
- if (this.refEditor.isRef(item))
2589
- this.refEditor.set(item, value);
2590
- else if (markRef)
2591
- object[field] = value;
2592
- else
2593
- object[field] = value;
2594
- }
2604
+ });
2605
+ var addDevToolsAppRecord = (app) => {
2606
+ import_devtools_shared6.target.__VUE_DEVTOOLS_KIT_APP_RECORDS__ = [
2607
+ ...import_devtools_shared6.target.__VUE_DEVTOOLS_KIT_APP_RECORDS__,
2608
+ app
2609
+ ];
2610
+ };
2611
+ var removeDevToolsAppRecord = (app) => {
2612
+ import_devtools_shared6.target.__VUE_DEVTOOLS_KIT_APP_RECORDS__ = devtoolsAppRecords.value.filter((record) => record.app !== app);
2613
+ };
2614
+ var activeAppRecord = new Proxy(import_devtools_shared6.target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__, {
2615
+ get(_target, prop, receiver) {
2616
+ if (prop === "value")
2617
+ return import_devtools_shared6.target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__;
2618
+ else if (prop === "id")
2619
+ return import_devtools_shared6.target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__;
2620
+ return import_devtools_shared6.target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__[prop];
2595
2621
  }
2596
- get(object, path) {
2597
- const sections = Array.isArray(path) ? path : path.split(".");
2598
- for (let i = 0; i < sections.length; i++) {
2599
- if (object instanceof Map)
2600
- object = object.get(sections[i]);
2601
- else
2602
- object = object[sections[i]];
2603
- if (this.refEditor.isRef(object))
2604
- object = this.refEditor.get(object);
2605
- if (!object)
2606
- return void 0;
2622
+ });
2623
+ function updateAllStates() {
2624
+ callStateUpdatedHook({
2625
+ ...import_devtools_shared6.target[STATE_KEY],
2626
+ appRecords: devtoolsAppRecords.value,
2627
+ activeAppRecordId: activeAppRecord.id,
2628
+ tabs: import_devtools_shared6.target.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__,
2629
+ commands: import_devtools_shared6.target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__
2630
+ });
2631
+ }
2632
+ function setActiveAppRecord(app) {
2633
+ import_devtools_shared6.target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__ = app;
2634
+ updateAllStates();
2635
+ }
2636
+ function setActiveAppRecordId(id) {
2637
+ import_devtools_shared6.target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__ = id;
2638
+ updateAllStates();
2639
+ }
2640
+ var devtoolsState = new Proxy(import_devtools_shared6.target[STATE_KEY], {
2641
+ get(target22, property) {
2642
+ if (property === "appRecords") {
2643
+ return devtoolsAppRecords;
2644
+ } else if (property === "activeAppRecordId") {
2645
+ return activeAppRecord.id;
2646
+ } else if (property === "tabs") {
2647
+ return import_devtools_shared6.target.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__;
2648
+ } else if (property === "commands") {
2649
+ return import_devtools_shared6.target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__;
2607
2650
  }
2608
- return object;
2651
+ return import_devtools_shared6.target[STATE_KEY][property];
2652
+ },
2653
+ deleteProperty(target22, property) {
2654
+ delete target22[property];
2655
+ return true;
2656
+ },
2657
+ set(target22, property, value) {
2658
+ const oldState = { ...import_devtools_shared6.target[STATE_KEY] };
2659
+ target22[property] = value;
2660
+ import_devtools_shared6.target[STATE_KEY][property] = value;
2661
+ return true;
2609
2662
  }
2610
- has(object, path, parent = false) {
2611
- if (typeof object === "undefined")
2612
- return false;
2613
- const sections = Array.isArray(path) ? path.slice() : path.split(".");
2614
- const size = !parent ? 1 : 2;
2615
- while (object && sections.length > size) {
2616
- const section = sections.shift();
2617
- object = object[section];
2618
- if (this.refEditor.isRef(object))
2619
- object = this.refEditor.get(object);
2620
- }
2621
- return object != null && Object.prototype.hasOwnProperty.call(object, sections[0]);
2622
- }
2623
- createDefaultSetCallback(state) {
2624
- return (object, field, value) => {
2625
- if (state.remove || state.newKey) {
2626
- if (Array.isArray(object))
2627
- object.splice(field, 1);
2628
- else if (toRaw(object) instanceof Map)
2629
- object.delete(field);
2630
- else if (toRaw(object) instanceof Set)
2631
- object.delete(Array.from(object.values())[field]);
2632
- else Reflect.deleteProperty(object, field);
2633
- }
2634
- if (!state.remove) {
2635
- const target22 = object[state.newKey || field];
2636
- if (this.refEditor.isRef(target22))
2637
- this.refEditor.set(target22, value);
2638
- else if (toRaw(object) instanceof Map)
2639
- object.set(state.newKey || field, value);
2640
- else if (toRaw(object) instanceof Set)
2641
- object.add(value);
2642
- else
2643
- object[state.newKey || field] = value;
2644
- }
2645
- };
2663
+ });
2664
+ function resetDevToolsState() {
2665
+ Object.assign(import_devtools_shared6.target[STATE_KEY], initStateFactory());
2666
+ }
2667
+ function updateDevToolsState(state) {
2668
+ const oldState = {
2669
+ ...import_devtools_shared6.target[STATE_KEY],
2670
+ appRecords: devtoolsAppRecords.value,
2671
+ activeAppRecordId: activeAppRecord.id
2672
+ };
2673
+ if (oldState.connected !== state.connected && state.connected || oldState.clientConnected !== state.clientConnected && state.clientConnected) {
2674
+ callConnectedUpdatedHook(import_devtools_shared6.target[STATE_KEY], oldState);
2646
2675
  }
2647
- };
2648
- var RefStateEditor = class {
2649
- set(ref, value) {
2650
- if (isRef(ref)) {
2651
- ref.value = value;
2652
- } else {
2653
- if (ref instanceof Set && Array.isArray(value)) {
2654
- ref.clear();
2655
- value.forEach((v) => ref.add(v));
2656
- return;
2657
- }
2658
- const currentKeys = Object.keys(value);
2659
- if (ref instanceof Map) {
2660
- const previousKeysSet2 = new Set(ref.keys());
2661
- currentKeys.forEach((key) => {
2662
- ref.set(key, Reflect.get(value, key));
2663
- previousKeysSet2.delete(key);
2664
- });
2665
- previousKeysSet2.forEach((key) => ref.delete(key));
2666
- return;
2667
- }
2668
- const previousKeysSet = new Set(Object.keys(ref));
2669
- currentKeys.forEach((key) => {
2670
- Reflect.set(ref, key, Reflect.get(value, key));
2671
- previousKeysSet.delete(key);
2672
- });
2673
- previousKeysSet.forEach((key) => Reflect.deleteProperty(ref, key));
2676
+ Object.assign(import_devtools_shared6.target[STATE_KEY], state);
2677
+ updateAllStates();
2678
+ }
2679
+ function onDevToolsConnected(fn) {
2680
+ return new Promise((resolve) => {
2681
+ if (devtoolsState.connected) {
2682
+ fn();
2683
+ resolve();
2674
2684
  }
2685
+ devtoolsContext.hooks.hook("devtoolsConnectedUpdated" /* DEVTOOLS_CONNECTED_UPDATED */, ({ state }) => {
2686
+ if (state.connected) {
2687
+ fn();
2688
+ resolve();
2689
+ }
2690
+ });
2691
+ });
2692
+ }
2693
+ var resolveIcon = (icon) => {
2694
+ if (!icon)
2695
+ return;
2696
+ if (icon.startsWith("baseline-")) {
2697
+ return `custom-ic-${icon}`;
2675
2698
  }
2676
- get(ref) {
2677
- return isRef(ref) ? ref.value : ref;
2678
- }
2679
- isRef(ref) {
2680
- return isRef(ref) || isReactive(ref);
2681
- }
2699
+ if (icon.startsWith("i-") || (0, import_devtools_shared6.isUrlString)(icon))
2700
+ return icon;
2701
+ return `custom-ic-baseline-${icon}`;
2682
2702
  };
2683
- async function editComponentState(payload, stateEditor2) {
2684
- const { path, nodeId, state, type } = payload;
2685
- const instance = getComponentInstance(activeAppRecord.value, nodeId);
2686
- if (!instance)
2703
+ function addCustomTab(tab) {
2704
+ const tabs = import_devtools_shared6.target.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__;
2705
+ if (tabs.some((t) => t.name === tab.name))
2687
2706
  return;
2688
- const targetPath = path.slice();
2689
- let target22;
2690
- if (instance.devtoolsRawSetupState && Object.keys(instance.devtoolsRawSetupState).includes(path[0]))
2691
- target22 = instance.devtoolsRawSetupState;
2692
- if (instance.data && Object.keys(instance.data).includes(path[0]))
2693
- target22 = instance.data;
2694
- if (target22 && targetPath) {
2695
- if (state.type === "object" && type === "reactive") {
2696
- }
2697
- stateEditor2.set(target22, targetPath, state.value, stateEditor2.createDefaultSetCallback(state));
2698
- }
2707
+ tabs.push({
2708
+ ...tab,
2709
+ icon: resolveIcon(tab.icon)
2710
+ });
2711
+ updateAllStates();
2699
2712
  }
2700
- var stateEditor = new StateEditor();
2701
- async function editState(payload) {
2702
- editComponentState(payload, stateEditor);
2713
+ function addCustomCommand(action) {
2714
+ const commands = import_devtools_shared6.target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__;
2715
+ if (commands.some((t) => t.id === action.id))
2716
+ return;
2717
+ commands.push({
2718
+ ...action,
2719
+ icon: resolveIcon(action.icon),
2720
+ children: action.children ? action.children.map((child) => ({
2721
+ ...child,
2722
+ icon: resolveIcon(child.icon)
2723
+ })) : void 0
2724
+ });
2725
+ updateAllStates();
2726
+ }
2727
+ function removeCustomCommand(actionId) {
2728
+ const commands = import_devtools_shared6.target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__;
2729
+ const index = commands.findIndex((t) => t.id === actionId);
2730
+ if (index === -1)
2731
+ return;
2732
+ commands.splice(index, 1);
2733
+ updateAllStates();
2734
+ }
2735
+ function toggleClientConnected(state) {
2736
+ updateDevToolsState({ clientConnected: state });
2703
2737
  }
2704
2738
 
2705
2739
  // src/core/open-in-editor/index.ts
2706
- init_cjs_shims();
2707
- var import_devtools_shared5 = require("@vue/devtools-shared");
2708
2740
  function setOpenInEditorBaseUrl(url) {
2709
- import_devtools_shared5.target.__VUE_DEVTOOLS_OPEN_IN_EDITOR_BASE_URL__ = url;
2741
+ import_devtools_shared7.target.__VUE_DEVTOOLS_OPEN_IN_EDITOR_BASE_URL__ = url;
2710
2742
  }
2711
2743
  function openInEditor(options = {}) {
2712
2744
  var _a25, _b25, _c;
@@ -2722,211 +2754,78 @@ function openInEditor(options = {}) {
2722
2754
  }
2723
2755
  });
2724
2756
  } else if (devtoolsState.vitePluginDetected) {
2725
- const _baseUrl = (_c = import_devtools_shared5.target.__VUE_DEVTOOLS_OPEN_IN_EDITOR_BASE_URL__) != null ? _c : baseUrl;
2726
- import_devtools_shared5.target.__VUE_INSPECTOR__.openInEditor(_baseUrl, file, line, column);
2757
+ const _baseUrl = (_c = import_devtools_shared7.target.__VUE_DEVTOOLS_OPEN_IN_EDITOR_BASE_URL__) != null ? _c : baseUrl;
2758
+ import_devtools_shared7.target.__VUE_INSPECTOR__.openInEditor(_baseUrl, file, line, column);
2727
2759
  }
2728
2760
  }
2729
2761
  }
2730
2762
 
2731
- // src/core/router/index.ts
2763
+ // src/core/plugin/index.ts
2732
2764
  init_cjs_shims();
2733
- var import_devtools_shared7 = require("@vue/devtools-shared");
2734
- var import_perfect_debounce3 = require("perfect-debounce");
2765
+ var import_devtools_shared12 = require("@vue/devtools-shared");
2735
2766
 
2736
- // src/ctx/router.ts
2767
+ // src/api/index.ts
2737
2768
  init_cjs_shims();
2738
- var import_devtools_shared6 = require("@vue/devtools-shared");
2739
- var ROUTER_KEY = "__VUE_DEVTOOLS_ROUTER__";
2740
- var ROUTER_INFO_KEY = "__VUE_DEVTOOLS_ROUTER_INFO__";
2741
- var _a9, _b9;
2742
- (_b9 = (_a9 = import_devtools_shared6.target)[ROUTER_INFO_KEY]) != null ? _b9 : _a9[ROUTER_INFO_KEY] = {
2743
- currentRoute: null,
2744
- routes: []
2745
- };
2769
+
2770
+ // src/api/v6/index.ts
2771
+ init_cjs_shims();
2772
+
2773
+ // src/core/plugin/plugin-settings.ts
2774
+ init_cjs_shims();
2775
+
2776
+ // src/ctx/plugin.ts
2777
+ init_cjs_shims();
2778
+ var import_devtools_shared8 = require("@vue/devtools-shared");
2746
2779
  var _a10, _b10;
2747
- (_b10 = (_a10 = import_devtools_shared6.target)[ROUTER_KEY]) != null ? _b10 : _a10[ROUTER_KEY] = {};
2748
- var devtoolsRouterInfo = new Proxy(import_devtools_shared6.target[ROUTER_INFO_KEY], {
2749
- get(target22, property) {
2750
- return import_devtools_shared6.target[ROUTER_INFO_KEY][property];
2751
- }
2752
- });
2753
- var devtoolsRouter = new Proxy(import_devtools_shared6.target[ROUTER_KEY], {
2754
- get(target22, property) {
2755
- if (property === "value") {
2756
- return import_devtools_shared6.target[ROUTER_KEY];
2757
- }
2780
+ (_b10 = (_a10 = import_devtools_shared8.target).__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__) != null ? _b10 : _a10.__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__ = [];
2781
+ var devtoolsPluginBuffer = new Proxy(import_devtools_shared8.target.__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__, {
2782
+ get(target22, prop, receiver) {
2783
+ return Reflect.get(target22, prop, receiver);
2758
2784
  }
2759
2785
  });
2760
-
2761
- // src/core/router/index.ts
2762
- function getRoutes(router) {
2763
- const routesMap = /* @__PURE__ */ new Map();
2764
- return ((router == null ? void 0 : router.getRoutes()) || []).filter((i) => !routesMap.has(i.path) && routesMap.set(i.path, 1));
2786
+ function addDevToolsPluginToBuffer(pluginDescriptor, setupFn) {
2787
+ devtoolsPluginBuffer.push([pluginDescriptor, setupFn]);
2765
2788
  }
2766
- function filterRoutes(routes) {
2767
- return routes.map((item) => {
2768
- let { path, name, children, meta } = item;
2769
- if (children == null ? void 0 : children.length)
2770
- children = filterRoutes(children);
2771
- return {
2772
- path,
2773
- name,
2774
- children,
2775
- meta
2776
- };
2789
+
2790
+ // src/core/plugin/plugin-settings.ts
2791
+ function _getSettings(settings) {
2792
+ const _settings = {};
2793
+ Object.keys(settings).forEach((key) => {
2794
+ _settings[key] = settings[key].defaultValue;
2777
2795
  });
2796
+ return _settings;
2778
2797
  }
2779
- function filterCurrentRoute(route) {
2780
- if (route) {
2781
- const { fullPath, hash, href, path, name, matched, params, query } = route;
2782
- return {
2783
- fullPath,
2784
- hash,
2785
- href,
2786
- path,
2787
- name,
2788
- params,
2789
- query,
2790
- matched: filterRoutes(matched)
2791
- };
2798
+ function getPluginLocalKey(pluginId) {
2799
+ return `__VUE_DEVTOOLS_NEXT_PLUGIN_SETTINGS__${pluginId}__`;
2800
+ }
2801
+ function getPluginSettingsOptions(pluginId) {
2802
+ var _a25, _b25, _c;
2803
+ const item = (_b25 = (_a25 = devtoolsPluginBuffer.find((item2) => {
2804
+ var _a26;
2805
+ return item2[0].id === pluginId && !!((_a26 = item2[0]) == null ? void 0 : _a26.settings);
2806
+ })) == null ? void 0 : _a25[0]) != null ? _b25 : null;
2807
+ return (_c = item == null ? void 0 : item.settings) != null ? _c : null;
2808
+ }
2809
+ function getPluginSettings(pluginId, fallbackValue) {
2810
+ var _a25, _b25, _c;
2811
+ const localKey = getPluginLocalKey(pluginId);
2812
+ if (localKey) {
2813
+ const localSettings = localStorage.getItem(localKey);
2814
+ if (localSettings) {
2815
+ return JSON.parse(localSettings);
2816
+ }
2792
2817
  }
2793
- return route;
2818
+ if (pluginId) {
2819
+ const item = (_b25 = (_a25 = devtoolsPluginBuffer.find((item2) => item2[0].id === pluginId)) == null ? void 0 : _a25[0]) != null ? _b25 : null;
2820
+ return _getSettings((_c = item == null ? void 0 : item.settings) != null ? _c : {});
2821
+ }
2822
+ return _getSettings(fallbackValue);
2794
2823
  }
2795
- function normalizeRouterInfo(appRecord, activeAppRecord2) {
2796
- function init() {
2797
- var _a25;
2798
- const router = (_a25 = appRecord.app) == null ? void 0 : _a25.config.globalProperties.$router;
2799
- const currentRoute = filterCurrentRoute(router == null ? void 0 : router.currentRoute.value);
2800
- const routes = filterRoutes(getRoutes(router));
2801
- const c = console.warn;
2802
- console.warn = () => {
2803
- };
2804
- import_devtools_shared7.target[ROUTER_INFO_KEY] = {
2805
- currentRoute: currentRoute ? (0, import_devtools_shared7.deepClone)(currentRoute) : {},
2806
- routes: (0, import_devtools_shared7.deepClone)(routes)
2807
- };
2808
- import_devtools_shared7.target[ROUTER_KEY] = router;
2809
- console.warn = c;
2810
- }
2811
- init();
2812
- hook.on.componentUpdated((0, import_perfect_debounce3.debounce)(() => {
2813
- var _a25;
2814
- if (((_a25 = activeAppRecord2.value) == null ? void 0 : _a25.app) !== appRecord.app)
2815
- return;
2816
- init();
2817
- devtoolsContext.hooks.callHook("routerInfoUpdated" /* ROUTER_INFO_UPDATED */, { state: import_devtools_shared7.target[ROUTER_INFO_KEY] });
2818
- }, 200));
2819
- }
2820
-
2821
- // src/core/component-inspector/index.ts
2822
- init_cjs_shims();
2823
- var import_devtools_shared8 = require("@vue/devtools-shared");
2824
- var _a11, _b11;
2825
- (_b11 = (_a11 = import_devtools_shared8.target).__VUE_DEVTOOLS_COMPONENT_INSPECTOR_ENABLED__) != null ? _b11 : _a11.__VUE_DEVTOOLS_COMPONENT_INSPECTOR_ENABLED__ = true;
2826
- function toggleComponentInspectorEnabled(enabled) {
2827
- import_devtools_shared8.target.__VUE_DEVTOOLS_COMPONENT_INSPECTOR_ENABLED__ = enabled;
2828
- }
2829
- function waitForInspectorInit(cb) {
2830
- let total = 0;
2831
- const timer = setInterval(() => {
2832
- if (import_devtools_shared8.target.__VUE_INSPECTOR__) {
2833
- clearInterval(timer);
2834
- total += 30;
2835
- cb();
2836
- }
2837
- if (total >= /* 5s */
2838
- 5e3)
2839
- clearInterval(timer);
2840
- }, 30);
2841
- }
2842
- function setupInspector() {
2843
- const inspector = import_devtools_shared8.target.__VUE_INSPECTOR__;
2844
- const _openInEditor = inspector.openInEditor;
2845
- inspector.openInEditor = async (...params) => {
2846
- inspector.disable();
2847
- _openInEditor(...params);
2848
- };
2849
- }
2850
- function getComponentInspector() {
2851
- return new Promise((resolve) => {
2852
- function setup() {
2853
- setupInspector();
2854
- resolve(import_devtools_shared8.target.__VUE_INSPECTOR__);
2855
- }
2856
- if (!import_devtools_shared8.target.__VUE_INSPECTOR__) {
2857
- waitForInspectorInit(() => {
2858
- setup();
2859
- });
2860
- } else {
2861
- setup();
2862
- }
2863
- });
2864
- }
2865
-
2866
- // src/core/plugin/index.ts
2867
- init_cjs_shims();
2868
- var import_devtools_shared12 = require("@vue/devtools-shared");
2869
-
2870
- // src/api/index.ts
2871
- init_cjs_shims();
2872
-
2873
- // src/api/v6/index.ts
2874
- init_cjs_shims();
2875
-
2876
- // src/core/plugin/plugin-settings.ts
2877
- init_cjs_shims();
2878
-
2879
- // src/ctx/plugin.ts
2880
- init_cjs_shims();
2881
- var import_devtools_shared9 = require("@vue/devtools-shared");
2882
- var _a12, _b12;
2883
- (_b12 = (_a12 = import_devtools_shared9.target).__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__) != null ? _b12 : _a12.__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__ = [];
2884
- var devtoolsPluginBuffer = new Proxy(import_devtools_shared9.target.__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__, {
2885
- get(target22, prop, receiver) {
2886
- return Reflect.get(target22, prop, receiver);
2887
- }
2888
- });
2889
- function addDevToolsPluginToBuffer(pluginDescriptor, setupFn) {
2890
- devtoolsPluginBuffer.push([pluginDescriptor, setupFn]);
2891
- }
2892
-
2893
- // src/core/plugin/plugin-settings.ts
2894
- function _getSettings(settings) {
2895
- const _settings = {};
2896
- Object.keys(settings).forEach((key) => {
2897
- _settings[key] = settings[key].defaultValue;
2898
- });
2899
- return _settings;
2900
- }
2901
- function getPluginLocalKey(pluginId) {
2902
- return `__VUE_DEVTOOLS_NEXT_PLUGIN_SETTINGS__${pluginId}__`;
2903
- }
2904
- function getPluginSettingsOptions(pluginId) {
2905
- var _a25, _b25, _c, _d;
2906
- const descriptor = (_a25 = getInspector(pluginId)) == null ? void 0 : _a25.descriptor;
2907
- const item = (_c = (_b25 = devtoolsPluginBuffer.find((item2) => item2[0].id === (descriptor == null ? void 0 : descriptor.id))) == null ? void 0 : _b25[0]) != null ? _c : null;
2908
- return (_d = item == null ? void 0 : item.settings) != null ? _d : null;
2909
- }
2910
- function getPluginSettings(pluginId, fallbackValue) {
2911
- var _a25, _b25, _c;
2912
- const localKey = getPluginLocalKey(pluginId);
2913
- if (localKey) {
2914
- const localSettings = localStorage.getItem(localKey);
2915
- if (localSettings) {
2916
- return JSON.parse(localSettings);
2917
- }
2918
- }
2919
- if (pluginId) {
2920
- const item = (_b25 = (_a25 = devtoolsPluginBuffer.find((item2) => item2[0].id === pluginId)) == null ? void 0 : _a25[0]) != null ? _b25 : null;
2921
- return _getSettings((_c = item == null ? void 0 : item.settings) != null ? _c : {});
2922
- }
2923
- return _getSettings(fallbackValue);
2924
- }
2925
- function initPluginSettings(pluginId, settings) {
2926
- const localKey = getPluginLocalKey(pluginId);
2927
- const localSettings = localStorage.getItem(localKey);
2928
- if (!localSettings) {
2929
- localStorage.setItem(localKey, JSON.stringify(_getSettings(settings)));
2824
+ function initPluginSettings(pluginId, settings) {
2825
+ const localKey = getPluginLocalKey(pluginId);
2826
+ const localSettings = localStorage.getItem(localKey);
2827
+ if (!localSettings) {
2828
+ localStorage.setItem(localKey, JSON.stringify(_getSettings(settings)));
2930
2829
  }
2931
2830
  }
2932
2831
  function setPluginSettings(pluginId, key, value) {
@@ -2949,6 +2848,146 @@ function setPluginSettings(pluginId, key, value) {
2949
2848
  }, "setPluginSettings" /* SET_PLUGIN_SETTINGS */);
2950
2849
  }
2951
2850
 
2851
+ // src/hook/index.ts
2852
+ init_cjs_shims();
2853
+ var import_devtools_shared9 = require("@vue/devtools-shared");
2854
+ var import_hookable2 = require("hookable");
2855
+
2856
+ // src/types/index.ts
2857
+ init_cjs_shims();
2858
+
2859
+ // src/types/app.ts
2860
+ init_cjs_shims();
2861
+
2862
+ // src/types/command.ts
2863
+ init_cjs_shims();
2864
+
2865
+ // src/types/component.ts
2866
+ init_cjs_shims();
2867
+
2868
+ // src/types/hook.ts
2869
+ init_cjs_shims();
2870
+
2871
+ // src/types/inspector.ts
2872
+ init_cjs_shims();
2873
+
2874
+ // src/types/plugin.ts
2875
+ init_cjs_shims();
2876
+
2877
+ // src/types/router.ts
2878
+ init_cjs_shims();
2879
+
2880
+ // src/types/tab.ts
2881
+ init_cjs_shims();
2882
+
2883
+ // src/types/timeline.ts
2884
+ init_cjs_shims();
2885
+
2886
+ // src/hook/index.ts
2887
+ var _a11, _b11;
2888
+ var devtoolsHooks = (_b11 = (_a11 = import_devtools_shared9.target).__VUE_DEVTOOLS_HOOK) != null ? _b11 : _a11.__VUE_DEVTOOLS_HOOK = (0, import_hookable2.createHooks)();
2889
+ var on = {
2890
+ vueAppInit(fn) {
2891
+ devtoolsHooks.hook("app:init" /* APP_INIT */, fn);
2892
+ },
2893
+ vueAppUnmount(fn) {
2894
+ devtoolsHooks.hook("app:unmount" /* APP_UNMOUNT */, fn);
2895
+ },
2896
+ vueAppConnected(fn) {
2897
+ devtoolsHooks.hook("app:connected" /* APP_CONNECTED */, fn);
2898
+ },
2899
+ componentAdded(fn) {
2900
+ return devtoolsHooks.hook("component:added" /* COMPONENT_ADDED */, fn);
2901
+ },
2902
+ componentUpdated(fn) {
2903
+ return devtoolsHooks.hook("component:updated" /* COMPONENT_UPDATED */, fn);
2904
+ },
2905
+ componentRemoved(fn) {
2906
+ return devtoolsHooks.hook("component:removed" /* COMPONENT_REMOVED */, fn);
2907
+ },
2908
+ setupDevtoolsPlugin(fn) {
2909
+ devtoolsHooks.hook("devtools-plugin:setup" /* SETUP_DEVTOOLS_PLUGIN */, fn);
2910
+ }
2911
+ };
2912
+ function createDevToolsHook() {
2913
+ return {
2914
+ id: "vue-devtools-next",
2915
+ devtoolsVersion: "7.0",
2916
+ enabled: false,
2917
+ appRecords: [],
2918
+ apps: [],
2919
+ events: /* @__PURE__ */ new Map(),
2920
+ on(event, fn) {
2921
+ var _a25;
2922
+ if (!this.events.has(event))
2923
+ this.events.set(event, []);
2924
+ (_a25 = this.events.get(event)) == null ? void 0 : _a25.push(fn);
2925
+ return () => this.off(event, fn);
2926
+ },
2927
+ once(event, fn) {
2928
+ const onceFn = (...args) => {
2929
+ this.off(event, onceFn);
2930
+ fn(...args);
2931
+ };
2932
+ this.on(event, onceFn);
2933
+ return [event, onceFn];
2934
+ },
2935
+ off(event, fn) {
2936
+ if (this.events.has(event)) {
2937
+ const eventCallbacks = this.events.get(event);
2938
+ const index = eventCallbacks.indexOf(fn);
2939
+ if (index !== -1)
2940
+ eventCallbacks.splice(index, 1);
2941
+ }
2942
+ },
2943
+ emit(event, ...payload) {
2944
+ if (this.events.has(event))
2945
+ this.events.get(event).forEach((fn) => fn(...payload));
2946
+ }
2947
+ };
2948
+ }
2949
+ function subscribeDevToolsHook() {
2950
+ const hook2 = import_devtools_shared9.target.__VUE_DEVTOOLS_GLOBAL_HOOK__;
2951
+ hook2.on("app:init" /* APP_INIT */, (app, version) => {
2952
+ var _a25, _b25, _c;
2953
+ if ((_c = (_b25 = (_a25 = app == null ? void 0 : app._instance) == null ? void 0 : _a25.type) == null ? void 0 : _b25.devtools) == null ? void 0 : _c.hide)
2954
+ return;
2955
+ devtoolsHooks.callHook("app:init" /* APP_INIT */, app, version);
2956
+ });
2957
+ hook2.on("app:unmount" /* APP_UNMOUNT */, (app) => {
2958
+ devtoolsHooks.callHook("app:unmount" /* APP_UNMOUNT */, app);
2959
+ });
2960
+ hook2.on("component:added" /* COMPONENT_ADDED */, async (app, uid, parentUid, component) => {
2961
+ var _a25, _b25, _c;
2962
+ if (((_c = (_b25 = (_a25 = app == null ? void 0 : app._instance) == null ? void 0 : _a25.type) == null ? void 0 : _b25.devtools) == null ? void 0 : _c.hide) || devtoolsState.highPerfModeEnabled)
2963
+ return;
2964
+ if (!app || typeof uid !== "number" && !uid || !component)
2965
+ return;
2966
+ devtoolsHooks.callHook("component:added" /* COMPONENT_ADDED */, app, uid, parentUid, component);
2967
+ });
2968
+ hook2.on("component:updated" /* COMPONENT_UPDATED */, (app, uid, parentUid, component) => {
2969
+ if (!app || typeof uid !== "number" && !uid || !component || devtoolsState.highPerfModeEnabled)
2970
+ return;
2971
+ devtoolsHooks.callHook("component:updated" /* COMPONENT_UPDATED */, app, uid, parentUid, component);
2972
+ });
2973
+ hook2.on("component:removed" /* COMPONENT_REMOVED */, async (app, uid, parentUid, component) => {
2974
+ if (!app || typeof uid !== "number" && !uid || !component || devtoolsState.highPerfModeEnabled)
2975
+ return;
2976
+ devtoolsHooks.callHook("component:removed" /* COMPONENT_REMOVED */, app, uid, parentUid, component);
2977
+ });
2978
+ hook2.on("devtools-plugin:setup" /* SETUP_DEVTOOLS_PLUGIN */, (pluginDescriptor, setupFn, options) => {
2979
+ if ((options == null ? void 0 : options.target) === "legacy")
2980
+ return;
2981
+ devtoolsHooks.callHook("devtools-plugin:setup" /* SETUP_DEVTOOLS_PLUGIN */, pluginDescriptor, setupFn);
2982
+ });
2983
+ }
2984
+ var hook = {
2985
+ on,
2986
+ setupDevToolsPlugin(pluginDescriptor, setupFn) {
2987
+ return devtoolsHooks.callHook("devtools-plugin:setup" /* SETUP_DEVTOOLS_PLUGIN */, pluginDescriptor, setupFn);
2988
+ }
2989
+ };
2990
+
2952
2991
  // src/api/v6/index.ts
2953
2992
  var DevToolsV6PluginAPI = class {
2954
2993
  constructor({ plugin, ctx }) {
@@ -3012,283 +3051,65 @@ var DevToolsV6PluginAPI = class {
3012
3051
  // custom inspector
3013
3052
  addInspector(options) {
3014
3053
  this.hooks.callHook("addInspector" /* ADD_INSPECTOR */, { inspector: options, plugin: this.plugin });
3015
- if (this.plugin.descriptor.settings) {
3016
- initPluginSettings(options.id, this.plugin.descriptor.settings);
3017
- }
3018
- }
3019
- sendInspectorTree(inspectorId) {
3020
- this.hooks.callHook("sendInspectorTree" /* SEND_INSPECTOR_TREE */, { inspectorId, plugin: this.plugin });
3021
- }
3022
- sendInspectorState(inspectorId) {
3023
- this.hooks.callHook("sendInspectorState" /* SEND_INSPECTOR_STATE */, { inspectorId, plugin: this.plugin });
3024
- }
3025
- selectInspectorNode(inspectorId, nodeId) {
3026
- this.hooks.callHook("customInspectorSelectNode" /* CUSTOM_INSPECTOR_SELECT_NODE */, { inspectorId, nodeId, plugin: this.plugin });
3027
- }
3028
- // timeline
3029
- now() {
3030
- return Date.now();
3031
- }
3032
- addTimelineLayer(options) {
3033
- this.hooks.callHook("timelineLayerAdded" /* TIMELINE_LAYER_ADDED */, { options, plugin: this.plugin });
3034
- }
3035
- addTimelineEvent(options) {
3036
- this.hooks.callHook("timelineEventAdded" /* TIMELINE_EVENT_ADDED */, { options, plugin: this.plugin });
3037
- }
3038
- // settings
3039
- getSettings(pluginId) {
3040
- const inspector = getActiveInspectors().find((i) => i.packageName === this.plugin.descriptor.packageName);
3041
- return getPluginSettings(pluginId != null ? pluginId : inspector == null ? void 0 : inspector.id, this.plugin.descriptor.settings);
3042
- }
3043
- // utilities
3044
- getComponentInstances(app) {
3045
- return this.hooks.callHook("getComponentInstances" /* GET_COMPONENT_INSTANCES */, { app });
3046
- }
3047
- getComponentBounds(instance) {
3048
- return this.hooks.callHook("getComponentBounds" /* GET_COMPONENT_BOUNDS */, { instance });
3049
- }
3050
- getComponentName(instance) {
3051
- return this.hooks.callHook("getComponentName" /* GET_COMPONENT_NAME */, { instance });
3052
- }
3053
- highlightElement(instance) {
3054
- const uid = instance.__VUE_DEVTOOLS_NEXT_UID__;
3055
- return this.hooks.callHook("componentHighlight" /* COMPONENT_HIGHLIGHT */, { uid });
3056
- }
3057
- unhighlightElement() {
3058
- return this.hooks.callHook("componentUnhighlight" /* COMPONENT_UNHIGHLIGHT */);
3059
- }
3060
- };
3061
-
3062
- // src/api/index.ts
3063
- var DevToolsPluginAPI = DevToolsV6PluginAPI;
3064
-
3065
- // src/core/plugin/components.ts
3066
- init_cjs_shims();
3067
- var import_perfect_debounce4 = require("perfect-debounce");
3068
-
3069
- // src/core/component/tree/walker.ts
3070
- init_cjs_shims();
3071
-
3072
- // src/core/component/tree/filter.ts
3073
- init_cjs_shims();
3074
- var import_devtools_shared10 = require("@vue/devtools-shared");
3075
- var ComponentFilter = class {
3076
- constructor(filter) {
3077
- this.filter = filter || "";
3078
- }
3079
- /**
3080
- * Check if an instance is qualified.
3081
- *
3082
- * @param {Vue|Vnode} instance
3083
- * @return {boolean}
3084
- */
3085
- isQualified(instance) {
3086
- const name = getInstanceName(instance);
3087
- return (0, import_devtools_shared10.classify)(name).toLowerCase().includes(this.filter) || (0, import_devtools_shared10.kebabize)(name).toLowerCase().includes(this.filter);
3088
- }
3089
- };
3090
- function createComponentFilter(filterText) {
3091
- return new ComponentFilter(filterText);
3092
- }
3093
-
3094
- // src/core/component/tree/walker.ts
3095
- var ComponentWalker = class {
3096
- constructor(options) {
3097
- // Dedupe instances (Some instances may be both on a component and on a child abstract/functional component)
3098
- this.captureIds = /* @__PURE__ */ new Map();
3099
- const { filterText = "", maxDepth, recursively } = options;
3100
- this.componentFilter = createComponentFilter(filterText);
3101
- this.maxDepth = maxDepth;
3102
- this.recursively = recursively;
3103
- }
3104
- getComponentTree(instance) {
3105
- this.captureIds = /* @__PURE__ */ new Map();
3106
- return this.findQualifiedChildren(instance, 0);
3107
- }
3108
- getComponentParents(instance) {
3109
- this.captureIds = /* @__PURE__ */ new Map();
3110
- const parents = [];
3111
- this.captureId(instance);
3112
- let parent = instance;
3113
- while (parent = parent.parent) {
3114
- this.captureId(parent);
3115
- parents.push(parent);
3116
- }
3117
- return parents;
3118
- }
3119
- captureId(instance) {
3120
- if (!instance)
3121
- return null;
3122
- const id = instance.__VUE_DEVTOOLS_NEXT_UID__ != null ? instance.__VUE_DEVTOOLS_NEXT_UID__ : getUniqueComponentId(instance);
3123
- instance.__VUE_DEVTOOLS_NEXT_UID__ = id;
3124
- if (this.captureIds.has(id))
3125
- return null;
3126
- else
3127
- this.captureIds.set(id, void 0);
3128
- this.mark(instance);
3129
- return id;
3130
- }
3131
- /**
3132
- * Capture the meta information of an instance. (recursive)
3133
- *
3134
- * @param {Vue} instance
3135
- * @return {object}
3136
- */
3137
- async capture(instance, depth) {
3138
- var _a25;
3139
- if (!instance)
3140
- return null;
3141
- const id = this.captureId(instance);
3142
- const name = getInstanceName(instance);
3143
- const children = this.getInternalInstanceChildren(instance.subTree).filter((child) => !isBeingDestroyed(child));
3144
- const parents = this.getComponentParents(instance) || [];
3145
- const inactive = !!instance.isDeactivated || parents.some((parent) => parent.isDeactivated);
3146
- const treeNode = {
3147
- uid: instance.uid,
3148
- id,
3149
- name,
3150
- renderKey: getRenderKey(instance.vnode ? instance.vnode.key : null),
3151
- inactive,
3152
- children: [],
3153
- isFragment: isFragment(instance),
3154
- tags: typeof instance.type !== "function" ? [] : [
3155
- {
3156
- label: "functional",
3157
- textColor: 5592405,
3158
- backgroundColor: 15658734
3159
- }
3160
- ],
3161
- autoOpen: this.recursively,
3162
- file: instance.type.__file || ""
3163
- };
3164
- if (depth < this.maxDepth || instance.type.__isKeepAlive || parents.some((parent) => parent.type.__isKeepAlive)) {
3165
- treeNode.children = await Promise.all(children.map((child) => this.capture(child, depth + 1)).filter(Boolean));
3166
- }
3167
- if (this.isKeepAlive(instance)) {
3168
- const cachedComponents = this.getKeepAliveCachedInstances(instance);
3169
- const childrenIds = children.map((child) => child.__VUE_DEVTOOLS_NEXT_UID__);
3170
- for (const cachedChild of cachedComponents) {
3171
- if (!childrenIds.includes(cachedChild.__VUE_DEVTOOLS_NEXT_UID__)) {
3172
- const node = await this.capture({ ...cachedChild, isDeactivated: true }, depth + 1);
3173
- if (node)
3174
- treeNode.children.push(node);
3175
- }
3176
- }
3177
- }
3178
- const rootElements = getRootElementsFromComponentInstance(instance);
3179
- const firstElement = rootElements[0];
3180
- if (firstElement == null ? void 0 : firstElement.parentElement) {
3181
- const parentInstance = instance.parent;
3182
- const parentRootElements = parentInstance ? getRootElementsFromComponentInstance(parentInstance) : [];
3183
- let el = firstElement;
3184
- const indexList = [];
3185
- do {
3186
- indexList.push(Array.from(el.parentElement.childNodes).indexOf(el));
3187
- el = el.parentElement;
3188
- } while (el.parentElement && parentRootElements.length && !parentRootElements.includes(el));
3189
- treeNode.domOrder = indexList.reverse();
3190
- } else {
3191
- treeNode.domOrder = [-1];
3192
- }
3193
- if ((_a25 = instance.suspense) == null ? void 0 : _a25.suspenseKey) {
3194
- treeNode.tags.push({
3195
- label: instance.suspense.suspenseKey,
3196
- backgroundColor: 14979812,
3197
- textColor: 16777215
3198
- });
3199
- this.mark(instance, true);
3200
- }
3201
- return treeNode;
3202
- }
3203
- /**
3204
- * Find qualified children from a single instance.
3205
- * If the instance itself is qualified, just return itself.
3206
- * This is ok because [].concat works in both cases.
3207
- *
3208
- * @param {Vue|Vnode} instance
3209
- * @return {Vue|Array}
3210
- */
3211
- async findQualifiedChildren(instance, depth) {
3212
- var _a25;
3213
- if (this.componentFilter.isQualified(instance) && !((_a25 = instance.type.devtools) == null ? void 0 : _a25.hide)) {
3214
- return [await this.capture(instance, depth)];
3215
- } else if (instance.subTree) {
3216
- const list = this.isKeepAlive(instance) ? this.getKeepAliveCachedInstances(instance) : this.getInternalInstanceChildren(instance.subTree);
3217
- return this.findQualifiedChildrenFromList(list, depth);
3218
- } else {
3219
- return [];
3220
- }
3221
- }
3222
- /**
3223
- * Iterate through an array of instances and flatten it into
3224
- * an array of qualified instances. This is a depth-first
3225
- * traversal - e.g. if an instance is not matched, we will
3226
- * recursively go deeper until a qualified child is found.
3227
- *
3228
- * @param {Array} instances
3229
- * @return {Array}
3230
- */
3231
- async findQualifiedChildrenFromList(instances, depth) {
3232
- instances = instances.filter((child) => {
3233
- var _a25;
3234
- return !isBeingDestroyed(child) && !((_a25 = child.type.devtools) == null ? void 0 : _a25.hide);
3235
- });
3236
- if (!this.componentFilter.filter)
3237
- return Promise.all(instances.map((child) => this.capture(child, depth)));
3238
- else
3239
- return Array.prototype.concat.apply([], await Promise.all(instances.map((i) => this.findQualifiedChildren(i, depth))));
3240
- }
3241
- /**
3242
- * Get children from a component instance.
3243
- */
3244
- getInternalInstanceChildren(subTree, suspense = null) {
3245
- const list = [];
3246
- if (subTree) {
3247
- if (subTree.component) {
3248
- !suspense ? list.push(subTree.component) : list.push({ ...subTree.component, suspense });
3249
- } else if (subTree.suspense) {
3250
- const suspenseKey = !subTree.suspense.isInFallback ? "suspense default" : "suspense fallback";
3251
- list.push(...this.getInternalInstanceChildren(subTree.suspense.activeBranch, { ...subTree.suspense, suspenseKey }));
3252
- } else if (Array.isArray(subTree.children)) {
3253
- subTree.children.forEach((childSubTree) => {
3254
- if (childSubTree.component)
3255
- !suspense ? list.push(childSubTree.component) : list.push({ ...childSubTree.component, suspense });
3256
- else
3257
- list.push(...this.getInternalInstanceChildren(childSubTree, suspense));
3258
- });
3259
- }
3260
- }
3261
- return list.filter((child) => {
3262
- var _a25;
3263
- return !isBeingDestroyed(child) && !((_a25 = child.type.devtools) == null ? void 0 : _a25.hide);
3264
- });
3265
- }
3266
- /**
3267
- * Mark an instance as captured and store it in the instance map.
3268
- *
3269
- * @param {Vue} instance
3270
- */
3271
- mark(instance, force = false) {
3272
- const instanceMap = getAppRecord(instance).instanceMap;
3273
- if (force || !instanceMap.has(instance.__VUE_DEVTOOLS_NEXT_UID__)) {
3274
- instanceMap.set(instance.__VUE_DEVTOOLS_NEXT_UID__, instance);
3275
- activeAppRecord.value.instanceMap = instanceMap;
3054
+ if (this.plugin.descriptor.settings) {
3055
+ initPluginSettings(options.id, this.plugin.descriptor.settings);
3276
3056
  }
3277
3057
  }
3278
- isKeepAlive(instance) {
3279
- return instance.type.__isKeepAlive && instance.__v_cache;
3058
+ sendInspectorTree(inspectorId) {
3059
+ this.hooks.callHook("sendInspectorTree" /* SEND_INSPECTOR_TREE */, { inspectorId, plugin: this.plugin });
3280
3060
  }
3281
- getKeepAliveCachedInstances(instance) {
3282
- return Array.from(instance.__v_cache.values()).map((vnode) => vnode.component).filter(Boolean);
3061
+ sendInspectorState(inspectorId) {
3062
+ this.hooks.callHook("sendInspectorState" /* SEND_INSPECTOR_STATE */, { inspectorId, plugin: this.plugin });
3063
+ }
3064
+ selectInspectorNode(inspectorId, nodeId) {
3065
+ this.hooks.callHook("customInspectorSelectNode" /* CUSTOM_INSPECTOR_SELECT_NODE */, { inspectorId, nodeId, plugin: this.plugin });
3066
+ }
3067
+ // timeline
3068
+ now() {
3069
+ return Date.now();
3070
+ }
3071
+ addTimelineLayer(options) {
3072
+ this.hooks.callHook("timelineLayerAdded" /* TIMELINE_LAYER_ADDED */, { options, plugin: this.plugin });
3073
+ }
3074
+ addTimelineEvent(options) {
3075
+ this.hooks.callHook("timelineEventAdded" /* TIMELINE_EVENT_ADDED */, { options, plugin: this.plugin });
3076
+ }
3077
+ // settings
3078
+ getSettings(pluginId) {
3079
+ return getPluginSettings(pluginId != null ? pluginId : this.plugin.descriptor.id, this.plugin.descriptor.settings);
3080
+ }
3081
+ // utilities
3082
+ getComponentInstances(app) {
3083
+ return this.hooks.callHook("getComponentInstances" /* GET_COMPONENT_INSTANCES */, { app });
3084
+ }
3085
+ getComponentBounds(instance) {
3086
+ return this.hooks.callHook("getComponentBounds" /* GET_COMPONENT_BOUNDS */, { instance });
3087
+ }
3088
+ getComponentName(instance) {
3089
+ return this.hooks.callHook("getComponentName" /* GET_COMPONENT_NAME */, { instance });
3090
+ }
3091
+ highlightElement(instance) {
3092
+ const uid = instance.__VUE_DEVTOOLS_NEXT_UID__;
3093
+ return this.hooks.callHook("componentHighlight" /* COMPONENT_HIGHLIGHT */, { uid });
3094
+ }
3095
+ unhighlightElement() {
3096
+ return this.hooks.callHook("componentUnhighlight" /* COMPONENT_UNHIGHLIGHT */);
3283
3097
  }
3284
3098
  };
3285
3099
 
3100
+ // src/api/index.ts
3101
+ var DevToolsPluginAPI = DevToolsV6PluginAPI;
3102
+
3103
+ // src/core/plugin/components.ts
3104
+ init_cjs_shims();
3105
+ var import_perfect_debounce3 = require("perfect-debounce");
3106
+
3286
3107
  // src/core/component/state/index.ts
3287
3108
  init_cjs_shims();
3288
3109
 
3289
3110
  // src/core/component/state/process.ts
3290
3111
  init_cjs_shims();
3291
- var import_devtools_shared11 = require("@vue/devtools-shared");
3112
+ var import_devtools_shared10 = require("@vue/devtools-shared");
3292
3113
 
3293
3114
  // src/core/component/state/constants.ts
3294
3115
  init_cjs_shims();
@@ -3498,7 +3319,7 @@ function processProps(instance) {
3498
3319
  const propDefinitions = instance.type.props;
3499
3320
  for (const key in instance.props) {
3500
3321
  const propDefinition = propDefinitions ? propDefinitions[key] : null;
3501
- const camelizeKey = (0, import_devtools_shared11.camelize)(key);
3322
+ const camelizeKey = (0, import_devtools_shared10.camelize)(key);
3502
3323
  props.push({
3503
3324
  type: "props",
3504
3325
  key: camelizeKey,
@@ -3667,38 +3488,255 @@ function processEventListeners(instance) {
3667
3488
  });
3668
3489
  }
3669
3490
  }
3670
- return result;
3671
- }
3672
- function processInstanceState(instance) {
3673
- const mergedType = resolveMergedOptions(instance);
3674
- return processProps(instance).concat(
3675
- processState(instance),
3676
- processSetupState(instance),
3677
- processComputed(instance, mergedType),
3678
- processAttrs(instance),
3679
- processProvide(instance),
3680
- processInject(instance, mergedType),
3681
- processRefs(instance),
3682
- processEventListeners(instance)
3683
- );
3684
- }
3685
-
3686
- // src/core/component/state/index.ts
3687
- function getInstanceState(params) {
3688
- var _a25;
3689
- const instance = getComponentInstance(activeAppRecord.value, params.instanceId);
3690
- const id = getUniqueComponentId(instance);
3691
- const name = getInstanceName(instance);
3692
- const file = (_a25 = instance == null ? void 0 : instance.type) == null ? void 0 : _a25.__file;
3693
- const state = processInstanceState(instance);
3694
- return {
3695
- id,
3696
- name,
3697
- file,
3698
- state,
3699
- instance
3700
- };
3701
- }
3491
+ return result;
3492
+ }
3493
+ function processInstanceState(instance) {
3494
+ const mergedType = resolveMergedOptions(instance);
3495
+ return processProps(instance).concat(
3496
+ processState(instance),
3497
+ processSetupState(instance),
3498
+ processComputed(instance, mergedType),
3499
+ processAttrs(instance),
3500
+ processProvide(instance),
3501
+ processInject(instance, mergedType),
3502
+ processRefs(instance),
3503
+ processEventListeners(instance)
3504
+ );
3505
+ }
3506
+
3507
+ // src/core/component/state/index.ts
3508
+ function getInstanceState(params) {
3509
+ var _a25;
3510
+ const instance = getComponentInstance(activeAppRecord.value, params.instanceId);
3511
+ const id = getUniqueComponentId(instance);
3512
+ const name = getInstanceName(instance);
3513
+ const file = (_a25 = instance == null ? void 0 : instance.type) == null ? void 0 : _a25.__file;
3514
+ const state = processInstanceState(instance);
3515
+ return {
3516
+ id,
3517
+ name,
3518
+ file,
3519
+ state,
3520
+ instance
3521
+ };
3522
+ }
3523
+
3524
+ // src/core/component/tree/walker.ts
3525
+ init_cjs_shims();
3526
+
3527
+ // src/core/component/tree/filter.ts
3528
+ init_cjs_shims();
3529
+ var import_devtools_shared11 = require("@vue/devtools-shared");
3530
+ var ComponentFilter = class {
3531
+ constructor(filter) {
3532
+ this.filter = filter || "";
3533
+ }
3534
+ /**
3535
+ * Check if an instance is qualified.
3536
+ *
3537
+ * @param {Vue|Vnode} instance
3538
+ * @return {boolean}
3539
+ */
3540
+ isQualified(instance) {
3541
+ const name = getInstanceName(instance);
3542
+ return (0, import_devtools_shared11.classify)(name).toLowerCase().includes(this.filter) || (0, import_devtools_shared11.kebabize)(name).toLowerCase().includes(this.filter);
3543
+ }
3544
+ };
3545
+ function createComponentFilter(filterText) {
3546
+ return new ComponentFilter(filterText);
3547
+ }
3548
+
3549
+ // src/core/component/tree/walker.ts
3550
+ var ComponentWalker = class {
3551
+ constructor(options) {
3552
+ // Dedupe instances (Some instances may be both on a component and on a child abstract/functional component)
3553
+ this.captureIds = /* @__PURE__ */ new Map();
3554
+ const { filterText = "", maxDepth, recursively } = options;
3555
+ this.componentFilter = createComponentFilter(filterText);
3556
+ this.maxDepth = maxDepth;
3557
+ this.recursively = recursively;
3558
+ }
3559
+ getComponentTree(instance) {
3560
+ this.captureIds = /* @__PURE__ */ new Map();
3561
+ return this.findQualifiedChildren(instance, 0);
3562
+ }
3563
+ getComponentParents(instance) {
3564
+ this.captureIds = /* @__PURE__ */ new Map();
3565
+ const parents = [];
3566
+ this.captureId(instance);
3567
+ let parent = instance;
3568
+ while (parent = parent.parent) {
3569
+ this.captureId(parent);
3570
+ parents.push(parent);
3571
+ }
3572
+ return parents;
3573
+ }
3574
+ captureId(instance) {
3575
+ if (!instance)
3576
+ return null;
3577
+ const id = instance.__VUE_DEVTOOLS_NEXT_UID__ != null ? instance.__VUE_DEVTOOLS_NEXT_UID__ : getUniqueComponentId(instance);
3578
+ instance.__VUE_DEVTOOLS_NEXT_UID__ = id;
3579
+ if (this.captureIds.has(id))
3580
+ return null;
3581
+ else
3582
+ this.captureIds.set(id, void 0);
3583
+ this.mark(instance);
3584
+ return id;
3585
+ }
3586
+ /**
3587
+ * Capture the meta information of an instance. (recursive)
3588
+ *
3589
+ * @param {Vue} instance
3590
+ * @return {object}
3591
+ */
3592
+ async capture(instance, depth) {
3593
+ var _a25;
3594
+ if (!instance)
3595
+ return null;
3596
+ const id = this.captureId(instance);
3597
+ const name = getInstanceName(instance);
3598
+ const children = this.getInternalInstanceChildren(instance.subTree).filter((child) => !isBeingDestroyed(child));
3599
+ const parents = this.getComponentParents(instance) || [];
3600
+ const inactive = !!instance.isDeactivated || parents.some((parent) => parent.isDeactivated);
3601
+ const treeNode = {
3602
+ uid: instance.uid,
3603
+ id,
3604
+ name,
3605
+ renderKey: getRenderKey(instance.vnode ? instance.vnode.key : null),
3606
+ inactive,
3607
+ children: [],
3608
+ isFragment: isFragment(instance),
3609
+ tags: typeof instance.type !== "function" ? [] : [
3610
+ {
3611
+ label: "functional",
3612
+ textColor: 5592405,
3613
+ backgroundColor: 15658734
3614
+ }
3615
+ ],
3616
+ autoOpen: this.recursively,
3617
+ file: instance.type.__file || ""
3618
+ };
3619
+ if (depth < this.maxDepth || instance.type.__isKeepAlive || parents.some((parent) => parent.type.__isKeepAlive)) {
3620
+ treeNode.children = await Promise.all(children.map((child) => this.capture(child, depth + 1)).filter(Boolean));
3621
+ }
3622
+ if (this.isKeepAlive(instance)) {
3623
+ const cachedComponents = this.getKeepAliveCachedInstances(instance);
3624
+ const childrenIds = children.map((child) => child.__VUE_DEVTOOLS_NEXT_UID__);
3625
+ for (const cachedChild of cachedComponents) {
3626
+ if (!childrenIds.includes(cachedChild.__VUE_DEVTOOLS_NEXT_UID__)) {
3627
+ const node = await this.capture({ ...cachedChild, isDeactivated: true }, depth + 1);
3628
+ if (node)
3629
+ treeNode.children.push(node);
3630
+ }
3631
+ }
3632
+ }
3633
+ const rootElements = getRootElementsFromComponentInstance(instance);
3634
+ const firstElement = rootElements[0];
3635
+ if (firstElement == null ? void 0 : firstElement.parentElement) {
3636
+ const parentInstance = instance.parent;
3637
+ const parentRootElements = parentInstance ? getRootElementsFromComponentInstance(parentInstance) : [];
3638
+ let el = firstElement;
3639
+ const indexList = [];
3640
+ do {
3641
+ indexList.push(Array.from(el.parentElement.childNodes).indexOf(el));
3642
+ el = el.parentElement;
3643
+ } while (el.parentElement && parentRootElements.length && !parentRootElements.includes(el));
3644
+ treeNode.domOrder = indexList.reverse();
3645
+ } else {
3646
+ treeNode.domOrder = [-1];
3647
+ }
3648
+ if ((_a25 = instance.suspense) == null ? void 0 : _a25.suspenseKey) {
3649
+ treeNode.tags.push({
3650
+ label: instance.suspense.suspenseKey,
3651
+ backgroundColor: 14979812,
3652
+ textColor: 16777215
3653
+ });
3654
+ this.mark(instance, true);
3655
+ }
3656
+ return treeNode;
3657
+ }
3658
+ /**
3659
+ * Find qualified children from a single instance.
3660
+ * If the instance itself is qualified, just return itself.
3661
+ * This is ok because [].concat works in both cases.
3662
+ *
3663
+ * @param {Vue|Vnode} instance
3664
+ * @return {Vue|Array}
3665
+ */
3666
+ async findQualifiedChildren(instance, depth) {
3667
+ var _a25;
3668
+ if (this.componentFilter.isQualified(instance) && !((_a25 = instance.type.devtools) == null ? void 0 : _a25.hide)) {
3669
+ return [await this.capture(instance, depth)];
3670
+ } else if (instance.subTree) {
3671
+ const list = this.isKeepAlive(instance) ? this.getKeepAliveCachedInstances(instance) : this.getInternalInstanceChildren(instance.subTree);
3672
+ return this.findQualifiedChildrenFromList(list, depth);
3673
+ } else {
3674
+ return [];
3675
+ }
3676
+ }
3677
+ /**
3678
+ * Iterate through an array of instances and flatten it into
3679
+ * an array of qualified instances. This is a depth-first
3680
+ * traversal - e.g. if an instance is not matched, we will
3681
+ * recursively go deeper until a qualified child is found.
3682
+ *
3683
+ * @param {Array} instances
3684
+ * @return {Array}
3685
+ */
3686
+ async findQualifiedChildrenFromList(instances, depth) {
3687
+ instances = instances.filter((child) => {
3688
+ var _a25;
3689
+ return !isBeingDestroyed(child) && !((_a25 = child.type.devtools) == null ? void 0 : _a25.hide);
3690
+ });
3691
+ if (!this.componentFilter.filter)
3692
+ return Promise.all(instances.map((child) => this.capture(child, depth)));
3693
+ else
3694
+ return Array.prototype.concat.apply([], await Promise.all(instances.map((i) => this.findQualifiedChildren(i, depth))));
3695
+ }
3696
+ /**
3697
+ * Get children from a component instance.
3698
+ */
3699
+ getInternalInstanceChildren(subTree, suspense = null) {
3700
+ const list = [];
3701
+ if (subTree) {
3702
+ if (subTree.component) {
3703
+ !suspense ? list.push(subTree.component) : list.push({ ...subTree.component, suspense });
3704
+ } else if (subTree.suspense) {
3705
+ const suspenseKey = !subTree.suspense.isInFallback ? "suspense default" : "suspense fallback";
3706
+ list.push(...this.getInternalInstanceChildren(subTree.suspense.activeBranch, { ...subTree.suspense, suspenseKey }));
3707
+ } else if (Array.isArray(subTree.children)) {
3708
+ subTree.children.forEach((childSubTree) => {
3709
+ if (childSubTree.component)
3710
+ !suspense ? list.push(childSubTree.component) : list.push({ ...childSubTree.component, suspense });
3711
+ else
3712
+ list.push(...this.getInternalInstanceChildren(childSubTree, suspense));
3713
+ });
3714
+ }
3715
+ }
3716
+ return list.filter((child) => {
3717
+ var _a25;
3718
+ return !isBeingDestroyed(child) && !((_a25 = child.type.devtools) == null ? void 0 : _a25.hide);
3719
+ });
3720
+ }
3721
+ /**
3722
+ * Mark an instance as captured and store it in the instance map.
3723
+ *
3724
+ * @param {Vue} instance
3725
+ */
3726
+ mark(instance, force = false) {
3727
+ const instanceMap = getAppRecord(instance).instanceMap;
3728
+ if (force || !instanceMap.has(instance.__VUE_DEVTOOLS_NEXT_UID__)) {
3729
+ instanceMap.set(instance.__VUE_DEVTOOLS_NEXT_UID__, instance);
3730
+ activeAppRecord.value.instanceMap = instanceMap;
3731
+ }
3732
+ }
3733
+ isKeepAlive(instance) {
3734
+ return instance.type.__isKeepAlive && instance.__v_cache;
3735
+ }
3736
+ getKeepAliveCachedInstances(instance) {
3737
+ return Array.from(instance.__v_cache.values()).map((vnode) => vnode.component).filter(Boolean);
3738
+ }
3739
+ };
3702
3740
 
3703
3741
  // src/core/vm/index.ts
3704
3742
  init_cjs_shims();
@@ -3776,10 +3814,10 @@ function createComponentsDevToolsPlugin(app) {
3776
3814
  await api.sendInspectorState("components");
3777
3815
  }
3778
3816
  });
3779
- const debounceSendInspectorTree = (0, import_perfect_debounce4.debounce)(() => {
3817
+ const debounceSendInspectorTree = (0, import_perfect_debounce3.debounce)(() => {
3780
3818
  api.sendInspectorTree(INSPECTOR_ID);
3781
3819
  }, 120);
3782
- const debounceSendInspectorState = (0, import_perfect_debounce4.debounce)(() => {
3820
+ const debounceSendInspectorState = (0, import_perfect_debounce3.debounce)(() => {
3783
3821
  api.sendInspectorState(INSPECTOR_ID);
3784
3822
  }, 120);
3785
3823
  const componentAddedCleanup = hook.on.componentAdded(async (app2, uid, parentUid, component) => {
@@ -3863,8 +3901,8 @@ function createComponentsDevToolsPlugin(app) {
3863
3901
  }
3864
3902
 
3865
3903
  // src/core/plugin/index.ts
3866
- var _a13, _b13;
3867
- (_b13 = (_a13 = import_devtools_shared12.target).__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__) != null ? _b13 : _a13.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__ = /* @__PURE__ */ new Set();
3904
+ var _a12, _b12;
3905
+ (_b12 = (_a12 = import_devtools_shared12.target).__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__) != null ? _b12 : _a12.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__ = /* @__PURE__ */ new Set();
3868
3906
  function setupDevToolsPlugin(pluginDescriptor, setupFn) {
3869
3907
  return hook.setupDevToolsPlugin(pluginDescriptor, setupFn);
3870
3908
  }
@@ -3885,13 +3923,6 @@ function callDevToolsPluginSetupFn(plugin, app) {
3885
3923
  });
3886
3924
  }
3887
3925
  setupFn(api);
3888
- if (pluginDescriptor.settings) {
3889
- const inspector = devtoolsInspector.find((inspector2) => inspector2.descriptor.id === pluginDescriptor.id);
3890
- if (inspector) {
3891
- inspector.descriptor.settings = pluginDescriptor.settings;
3892
- initPluginSettings(inspector.options.id, pluginDescriptor.settings);
3893
- }
3894
- }
3895
3926
  }
3896
3927
  function removeRegisteredPluginApp(app) {
3897
3928
  import_devtools_shared12.target.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__.delete(app);
@@ -3905,6 +3936,96 @@ function registerDevToolsPlugin(app) {
3905
3936
  });
3906
3937
  }
3907
3938
 
3939
+ // src/core/router/index.ts
3940
+ init_cjs_shims();
3941
+ var import_devtools_shared14 = require("@vue/devtools-shared");
3942
+ var import_perfect_debounce4 = require("perfect-debounce");
3943
+
3944
+ // src/ctx/router.ts
3945
+ init_cjs_shims();
3946
+ var import_devtools_shared13 = require("@vue/devtools-shared");
3947
+ var ROUTER_KEY = "__VUE_DEVTOOLS_ROUTER__";
3948
+ var ROUTER_INFO_KEY = "__VUE_DEVTOOLS_ROUTER_INFO__";
3949
+ var _a13, _b13;
3950
+ (_b13 = (_a13 = import_devtools_shared13.target)[ROUTER_INFO_KEY]) != null ? _b13 : _a13[ROUTER_INFO_KEY] = {
3951
+ currentRoute: null,
3952
+ routes: []
3953
+ };
3954
+ var _a14, _b14;
3955
+ (_b14 = (_a14 = import_devtools_shared13.target)[ROUTER_KEY]) != null ? _b14 : _a14[ROUTER_KEY] = {};
3956
+ var devtoolsRouterInfo = new Proxy(import_devtools_shared13.target[ROUTER_INFO_KEY], {
3957
+ get(target22, property) {
3958
+ return import_devtools_shared13.target[ROUTER_INFO_KEY][property];
3959
+ }
3960
+ });
3961
+ var devtoolsRouter = new Proxy(import_devtools_shared13.target[ROUTER_KEY], {
3962
+ get(target22, property) {
3963
+ if (property === "value") {
3964
+ return import_devtools_shared13.target[ROUTER_KEY];
3965
+ }
3966
+ }
3967
+ });
3968
+
3969
+ // src/core/router/index.ts
3970
+ function getRoutes(router) {
3971
+ const routesMap = /* @__PURE__ */ new Map();
3972
+ return ((router == null ? void 0 : router.getRoutes()) || []).filter((i) => !routesMap.has(i.path) && routesMap.set(i.path, 1));
3973
+ }
3974
+ function filterRoutes(routes) {
3975
+ return routes.map((item) => {
3976
+ let { path, name, children, meta } = item;
3977
+ if (children == null ? void 0 : children.length)
3978
+ children = filterRoutes(children);
3979
+ return {
3980
+ path,
3981
+ name,
3982
+ children,
3983
+ meta
3984
+ };
3985
+ });
3986
+ }
3987
+ function filterCurrentRoute(route) {
3988
+ if (route) {
3989
+ const { fullPath, hash, href, path, name, matched, params, query } = route;
3990
+ return {
3991
+ fullPath,
3992
+ hash,
3993
+ href,
3994
+ path,
3995
+ name,
3996
+ params,
3997
+ query,
3998
+ matched: filterRoutes(matched)
3999
+ };
4000
+ }
4001
+ return route;
4002
+ }
4003
+ function normalizeRouterInfo(appRecord, activeAppRecord2) {
4004
+ function init() {
4005
+ var _a25;
4006
+ const router = (_a25 = appRecord.app) == null ? void 0 : _a25.config.globalProperties.$router;
4007
+ const currentRoute = filterCurrentRoute(router == null ? void 0 : router.currentRoute.value);
4008
+ const routes = filterRoutes(getRoutes(router));
4009
+ const c = console.warn;
4010
+ console.warn = () => {
4011
+ };
4012
+ import_devtools_shared14.target[ROUTER_INFO_KEY] = {
4013
+ currentRoute: currentRoute ? (0, import_devtools_shared14.deepClone)(currentRoute) : {},
4014
+ routes: (0, import_devtools_shared14.deepClone)(routes)
4015
+ };
4016
+ import_devtools_shared14.target[ROUTER_KEY] = router;
4017
+ console.warn = c;
4018
+ }
4019
+ init();
4020
+ hook.on.componentUpdated((0, import_perfect_debounce4.debounce)(() => {
4021
+ var _a25;
4022
+ if (((_a25 = activeAppRecord2.value) == null ? void 0 : _a25.app) !== appRecord.app)
4023
+ return;
4024
+ init();
4025
+ devtoolsContext.hooks.callHook("routerInfoUpdated" /* ROUTER_INFO_UPDATED */, { state: import_devtools_shared14.target[ROUTER_INFO_KEY] });
4026
+ }, 200));
4027
+ }
4028
+
3908
4029
  // src/ctx/api.ts
3909
4030
  function createDevToolsApi(hooks2) {
3910
4031
  return {
@@ -4001,183 +4122,61 @@ function createDevToolsApi(hooks2) {
4001
4122
  const instance = getComponentInstance(activeAppRecord.value, instanceId);
4002
4123
  if (instance) {
4003
4124
  const [el] = getRootElementsFromComponentInstance(instance);
4004
- if (el) {
4005
- import_devtools_shared13.target.__VUE_DEVTOOLS_INSPECT_DOM_TARGET__ = el;
4006
- }
4007
- }
4008
- },
4009
- updatePluginSettings(pluginId, key, value) {
4010
- setPluginSettings(pluginId, key, value);
4011
- },
4012
- getPluginSettings(pluginId) {
4013
- return {
4014
- options: getPluginSettingsOptions(pluginId),
4015
- values: getPluginSettings(pluginId)
4016
- };
4017
- }
4018
- };
4019
- }
4020
-
4021
- // src/ctx/env.ts
4022
- init_cjs_shims();
4023
- var import_devtools_shared14 = require("@vue/devtools-shared");
4024
- var _a14, _b14;
4025
- (_b14 = (_a14 = import_devtools_shared14.target).__VUE_DEVTOOLS_ENV__) != null ? _b14 : _a14.__VUE_DEVTOOLS_ENV__ = {
4026
- vitePluginDetected: false
4027
- };
4028
- function getDevToolsEnv() {
4029
- return import_devtools_shared14.target.__VUE_DEVTOOLS_ENV__;
4030
- }
4031
- function setDevToolsEnv(env) {
4032
- import_devtools_shared14.target.__VUE_DEVTOOLS_ENV__ = {
4033
- ...import_devtools_shared14.target.__VUE_DEVTOOLS_ENV__,
4034
- ...env
4035
- };
4036
- }
4037
-
4038
- // src/ctx/index.ts
4039
- var hooks = createDevToolsCtxHooks();
4040
- var _a15, _b15;
4041
- (_b15 = (_a15 = import_devtools_shared15.target).__VUE_DEVTOOLS_KIT_CONTEXT__) != null ? _b15 : _a15.__VUE_DEVTOOLS_KIT_CONTEXT__ = {
4042
- hooks,
4043
- get state() {
4044
- return {
4045
- ...devtoolsState,
4046
- activeAppRecordId: activeAppRecord.id,
4047
- activeAppRecord: activeAppRecord.value,
4048
- appRecords: devtoolsAppRecords.value
4049
- };
4050
- },
4051
- api: createDevToolsApi(hooks)
4052
- };
4053
- var devtoolsContext = import_devtools_shared15.target.__VUE_DEVTOOLS_KIT_CONTEXT__;
4054
-
4055
- // src/hook/index.ts
4056
- var _a16, _b16;
4057
- var devtoolsHooks = (_b16 = (_a16 = import_devtools_shared16.target).__VUE_DEVTOOLS_HOOK) != null ? _b16 : _a16.__VUE_DEVTOOLS_HOOK = (0, import_hookable2.createHooks)();
4058
- var on = {
4059
- vueAppInit(fn) {
4060
- devtoolsHooks.hook("app:init" /* APP_INIT */, fn);
4061
- },
4062
- vueAppUnmount(fn) {
4063
- devtoolsHooks.hook("app:unmount" /* APP_UNMOUNT */, fn);
4064
- },
4065
- vueAppConnected(fn) {
4066
- devtoolsHooks.hook("app:connected" /* APP_CONNECTED */, fn);
4067
- },
4068
- componentAdded(fn) {
4069
- return devtoolsHooks.hook("component:added" /* COMPONENT_ADDED */, fn);
4070
- },
4071
- componentUpdated(fn) {
4072
- return devtoolsHooks.hook("component:updated" /* COMPONENT_UPDATED */, fn);
4073
- },
4074
- componentRemoved(fn) {
4075
- return devtoolsHooks.hook("component:removed" /* COMPONENT_REMOVED */, fn);
4076
- },
4077
- setupDevtoolsPlugin(fn) {
4078
- devtoolsHooks.hook("devtools-plugin:setup" /* SETUP_DEVTOOLS_PLUGIN */, fn);
4079
- }
4080
- };
4081
- function createDevToolsHook() {
4082
- return {
4083
- id: "vue-devtools-next",
4084
- devtoolsVersion: "7.0",
4085
- enabled: false,
4086
- appRecords: [],
4087
- apps: [],
4088
- events: /* @__PURE__ */ new Map(),
4089
- on(event, fn) {
4090
- var _a25;
4091
- if (!this.events.has(event))
4092
- this.events.set(event, []);
4093
- (_a25 = this.events.get(event)) == null ? void 0 : _a25.push(fn);
4094
- return () => this.off(event, fn);
4095
- },
4096
- once(event, fn) {
4097
- const onceFn = (...args) => {
4098
- this.off(event, onceFn);
4099
- fn(...args);
4100
- };
4101
- this.on(event, onceFn);
4102
- return [event, onceFn];
4103
- },
4104
- off(event, fn) {
4105
- if (this.events.has(event)) {
4106
- const eventCallbacks = this.events.get(event);
4107
- const index = eventCallbacks.indexOf(fn);
4108
- if (index !== -1)
4109
- eventCallbacks.splice(index, 1);
4125
+ if (el) {
4126
+ import_devtools_shared15.target.__VUE_DEVTOOLS_INSPECT_DOM_TARGET__ = el;
4127
+ }
4110
4128
  }
4111
4129
  },
4112
- emit(event, ...payload) {
4113
- if (this.events.has(event))
4114
- this.events.get(event).forEach((fn) => fn(...payload));
4130
+ updatePluginSettings(pluginId, key, value) {
4131
+ setPluginSettings(pluginId, key, value);
4132
+ },
4133
+ getPluginSettings(pluginId) {
4134
+ return {
4135
+ options: getPluginSettingsOptions(pluginId),
4136
+ values: getPluginSettings(pluginId)
4137
+ };
4115
4138
  }
4116
4139
  };
4117
4140
  }
4118
- function subscribeDevToolsHook() {
4119
- const hook2 = import_devtools_shared16.target.__VUE_DEVTOOLS_GLOBAL_HOOK__;
4120
- hook2.on("app:init" /* APP_INIT */, (app, version) => {
4121
- var _a25, _b25, _c;
4122
- if ((_c = (_b25 = (_a25 = app == null ? void 0 : app._instance) == null ? void 0 : _a25.type) == null ? void 0 : _b25.devtools) == null ? void 0 : _c.hide)
4123
- return;
4124
- devtoolsHooks.callHook("app:init" /* APP_INIT */, app, version);
4125
- });
4126
- hook2.on("app:unmount" /* APP_UNMOUNT */, (app) => {
4127
- devtoolsHooks.callHook("app:unmount" /* APP_UNMOUNT */, app);
4128
- });
4129
- hook2.on("component:added" /* COMPONENT_ADDED */, async (app, uid, parentUid, component) => {
4130
- var _a25, _b25, _c;
4131
- if (((_c = (_b25 = (_a25 = app == null ? void 0 : app._instance) == null ? void 0 : _a25.type) == null ? void 0 : _b25.devtools) == null ? void 0 : _c.hide) || devtoolsState.highPerfModeEnabled)
4132
- return;
4133
- if (!app || typeof uid !== "number" && !uid || !component)
4134
- return;
4135
- devtoolsHooks.callHook("component:added" /* COMPONENT_ADDED */, app, uid, parentUid, component);
4136
- });
4137
- hook2.on("component:updated" /* COMPONENT_UPDATED */, (app, uid, parentUid, component) => {
4138
- if (!app || typeof uid !== "number" && !uid || !component || devtoolsState.highPerfModeEnabled)
4139
- return;
4140
- devtoolsHooks.callHook("component:updated" /* COMPONENT_UPDATED */, app, uid, parentUid, component);
4141
- });
4142
- hook2.on("component:removed" /* COMPONENT_REMOVED */, async (app, uid, parentUid, component) => {
4143
- if (!app || typeof uid !== "number" && !uid || !component || devtoolsState.highPerfModeEnabled)
4144
- return;
4145
- devtoolsHooks.callHook("component:removed" /* COMPONENT_REMOVED */, app, uid, parentUid, component);
4146
- });
4147
- hook2.on("devtools-plugin:setup" /* SETUP_DEVTOOLS_PLUGIN */, (pluginDescriptor, setupFn, options) => {
4148
- if ((options == null ? void 0 : options.target) === "legacy")
4149
- return;
4150
- devtoolsHooks.callHook("devtools-plugin:setup" /* SETUP_DEVTOOLS_PLUGIN */, pluginDescriptor, setupFn);
4151
- });
4152
- }
4153
- var hook = {
4154
- on,
4155
- setupDevToolsPlugin(pluginDescriptor, setupFn) {
4156
- return devtoolsHooks.callHook("devtools-plugin:setup" /* SETUP_DEVTOOLS_PLUGIN */, pluginDescriptor, setupFn);
4157
- }
4158
- };
4159
4141
 
4160
- // src/compat/index.ts
4142
+ // src/ctx/env.ts
4161
4143
  init_cjs_shims();
4162
- var import_devtools_shared17 = require("@vue/devtools-shared");
4163
- function onLegacyDevToolsPluginApiAvailable(cb) {
4164
- if (import_devtools_shared17.target.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__) {
4165
- cb();
4166
- return;
4167
- }
4168
- Object.defineProperty(import_devtools_shared17.target, "__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__", {
4169
- set(value) {
4170
- if (value)
4171
- cb();
4172
- },
4173
- configurable: true
4174
- });
4144
+ var import_devtools_shared16 = require("@vue/devtools-shared");
4145
+ var _a15, _b15;
4146
+ (_b15 = (_a15 = import_devtools_shared16.target).__VUE_DEVTOOLS_ENV__) != null ? _b15 : _a15.__VUE_DEVTOOLS_ENV__ = {
4147
+ vitePluginDetected: false
4148
+ };
4149
+ function getDevToolsEnv() {
4150
+ return import_devtools_shared16.target.__VUE_DEVTOOLS_ENV__;
4151
+ }
4152
+ function setDevToolsEnv(env) {
4153
+ import_devtools_shared16.target.__VUE_DEVTOOLS_ENV__ = {
4154
+ ...import_devtools_shared16.target.__VUE_DEVTOOLS_ENV__,
4155
+ ...env
4156
+ };
4175
4157
  }
4176
4158
 
4159
+ // src/ctx/index.ts
4160
+ var hooks = createDevToolsCtxHooks();
4161
+ var _a16, _b16;
4162
+ (_b16 = (_a16 = import_devtools_shared17.target).__VUE_DEVTOOLS_KIT_CONTEXT__) != null ? _b16 : _a16.__VUE_DEVTOOLS_KIT_CONTEXT__ = {
4163
+ hooks,
4164
+ get state() {
4165
+ return {
4166
+ ...devtoolsState,
4167
+ activeAppRecordId: activeAppRecord.id,
4168
+ activeAppRecord: activeAppRecord.value,
4169
+ appRecords: devtoolsAppRecords.value
4170
+ };
4171
+ },
4172
+ api: createDevToolsApi(hooks)
4173
+ };
4174
+ var devtoolsContext = import_devtools_shared17.target.__VUE_DEVTOOLS_KIT_CONTEXT__;
4175
+
4177
4176
  // src/core/app/index.ts
4178
4177
  init_cjs_shims();
4179
- var import_speakingurl = __toESM(require_speakingurl2(), 1);
4180
4178
  var import_devtools_shared18 = require("@vue/devtools-shared");
4179
+ var import_speakingurl = __toESM(require_speakingurl2(), 1);
4181
4180
  var _a17, _b17;
4182
4181
  var appRecordInfo = (_b17 = (_a17 = import_devtools_shared18.target).__VUE_DEVTOOLS_NEXT_APP_RECORD_INFO__) != null ? _b17 : _a17.__VUE_DEVTOOLS_NEXT_APP_RECORD_INFO__ = {
4183
4182
  id: 0,
@@ -4253,10 +4252,21 @@ function initDevTools() {
4253
4252
  Object.assign(__VUE_DEVTOOLS_GLOBAL_HOOK__, createDevToolsHook());
4254
4253
  }
4255
4254
  }
4255
+ import_devtools_shared19.target.__VUE_DEVTOOLS_GLOBAL_HOOK__.once("init", (Vue) => {
4256
+ console.log("%c[_____Vue DevTools v7 log_____]", "color: red; font-bold: 700; font-size: 20px;");
4257
+ console.log("%cVue DevTools v7 detected in your Vue2 project. v7 only supports Vue3 and will not work.", "font-bold: 700; font-size: 16px;");
4258
+ const url = "https://chromewebstore.google.com/detail/vuejs-devtools/iaajmlceplecbljialhhkmedjlpdblhp";
4259
+ console.log(`%cThe legacy version that supports both Vue 2 and Vue 3 has been moved to %c ${url}`, "font-size: 16px;", "text-decoration: underline; cursor: pointer;font-size: 16px;");
4260
+ console.log("%cPlease install and enable only the legacy version for your Vue2 app.", "font-bold: 700; font-size: 16px;");
4261
+ console.log("%c[_____Vue DevTools v7 log_____]", "color: red; font-bold: 700; font-size: 20px;");
4262
+ });
4256
4263
  hook.on.setupDevtoolsPlugin((pluginDescriptor, setupFn) => {
4257
4264
  var _a26;
4258
4265
  addDevToolsPluginToBuffer(pluginDescriptor, setupFn);
4259
4266
  const { app } = (_a26 = activeAppRecord) != null ? _a26 : {};
4267
+ if (pluginDescriptor.settings) {
4268
+ initPluginSettings(pluginDescriptor.id, pluginDescriptor.settings);
4269
+ }
4260
4270
  if (!app)
4261
4271
  return;
4262
4272
  callDevToolsPluginSetupFn([pluginDescriptor, setupFn], app);
@@ -4327,20 +4337,186 @@ function toggleHighPerfMode(state) {
4327
4337
  devtoolsState.highPerfModeEnabled = state != null ? state : !devtoolsState.highPerfModeEnabled;
4328
4338
  }
4329
4339
 
4340
+ // src/core/component/state/format.ts
4341
+ init_cjs_shims();
4342
+
4343
+ // src/core/component/state/reviver.ts
4344
+ init_cjs_shims();
4345
+ var import_devtools_shared20 = require("@vue/devtools-shared");
4346
+ function reviveSet(val) {
4347
+ const result = /* @__PURE__ */ new Set();
4348
+ const list = val._custom.value;
4349
+ for (let i = 0; i < list.length; i++) {
4350
+ const value = list[i];
4351
+ result.add(revive(value));
4352
+ }
4353
+ return result;
4354
+ }
4355
+ function reviveMap(val) {
4356
+ const result = /* @__PURE__ */ new Map();
4357
+ const list = val._custom.value;
4358
+ for (let i = 0; i < list.length; i++) {
4359
+ const { key, value } = list[i];
4360
+ result.set(key, revive(value));
4361
+ }
4362
+ return result;
4363
+ }
4364
+ function revive(val) {
4365
+ if (val === UNDEFINED) {
4366
+ return void 0;
4367
+ } else if (val === INFINITY) {
4368
+ return Number.POSITIVE_INFINITY;
4369
+ } else if (val === NEGATIVE_INFINITY) {
4370
+ return Number.NEGATIVE_INFINITY;
4371
+ } else if (val === NAN) {
4372
+ return Number.NaN;
4373
+ } else if (val && val._custom) {
4374
+ const { _custom: custom } = val;
4375
+ if (custom.type === "component")
4376
+ return activeAppRecord.value.instanceMap.get(custom.id);
4377
+ else if (custom.type === "map")
4378
+ return reviveMap(val);
4379
+ else if (custom.type === "set")
4380
+ return reviveSet(val);
4381
+ else if (custom.type === "bigint")
4382
+ return BigInt(custom.value);
4383
+ else
4384
+ return revive(custom.value);
4385
+ } else if (symbolRE.test(val)) {
4386
+ const [, string] = symbolRE.exec(val);
4387
+ return Symbol.for(string);
4388
+ } else if (specialTypeRE.test(val)) {
4389
+ const [, type, string, , details] = specialTypeRE.exec(val);
4390
+ const result = new import_devtools_shared20.target[type](string);
4391
+ if (type === "Error" && details)
4392
+ result.stack = details;
4393
+ return result;
4394
+ } else {
4395
+ return val;
4396
+ }
4397
+ }
4398
+ function reviver(key, value) {
4399
+ return revive(value);
4400
+ }
4401
+
4402
+ // src/core/component/state/format.ts
4403
+ function getInspectorStateValueType(value, raw = true) {
4404
+ const type = typeof value;
4405
+ if (value == null || value === UNDEFINED || value === "undefined") {
4406
+ return "null";
4407
+ } else if (type === "boolean" || type === "number" || value === INFINITY || value === NEGATIVE_INFINITY || value === NAN) {
4408
+ return "literal";
4409
+ } else if (value == null ? void 0 : value._custom) {
4410
+ if (raw || value._custom.display != null || value._custom.displayText != null)
4411
+ return "custom";
4412
+ else
4413
+ return getInspectorStateValueType(value._custom.value);
4414
+ } else if (typeof value === "string") {
4415
+ const typeMatch = specialTypeRE.exec(value);
4416
+ if (typeMatch) {
4417
+ const [, type2] = typeMatch;
4418
+ return `native ${type2}`;
4419
+ } else {
4420
+ return "string";
4421
+ }
4422
+ } else if (Array.isArray(value) || (value == null ? void 0 : value._isArray)) {
4423
+ return "array";
4424
+ } else if (isPlainObject(value)) {
4425
+ return "plain-object";
4426
+ } else {
4427
+ return "unknown";
4428
+ }
4429
+ }
4430
+ function formatInspectorStateValue(value, quotes = false, options) {
4431
+ var _a25, _b25, _c;
4432
+ const { customClass } = options != null ? options : {};
4433
+ let result;
4434
+ const type = getInspectorStateValueType(value, false);
4435
+ if (type !== "custom" && (value == null ? void 0 : value._custom))
4436
+ value = value._custom.value;
4437
+ if (result = internalStateTokenToString(value)) {
4438
+ return result;
4439
+ } else if (type === "custom") {
4440
+ const nestedName = ((_a25 = value._custom.value) == null ? void 0 : _a25._custom) && formatInspectorStateValue(value._custom.value, quotes, options);
4441
+ return nestedName || value._custom.displayText || value._custom.display;
4442
+ } else if (type === "array") {
4443
+ return `Array[${value.length}]`;
4444
+ } else if (type === "plain-object") {
4445
+ return `Object${Object.keys(value).length ? "" : " (empty)"}`;
4446
+ } else if (type == null ? void 0 : type.includes("native")) {
4447
+ return escape((_b25 = specialTypeRE.exec(value)) == null ? void 0 : _b25[2]);
4448
+ } else if (typeof value === "string") {
4449
+ const typeMatch = value.match(rawTypeRE);
4450
+ if (typeMatch) {
4451
+ value = escapeString(typeMatch[1]);
4452
+ } else if (quotes) {
4453
+ value = `<span>"</span>${(customClass == null ? void 0 : customClass.string) ? `<span class=${customClass.string}>${escapeString(value)}</span>` : escapeString(value)}<span>"</span>`;
4454
+ } else {
4455
+ value = (customClass == null ? void 0 : customClass.string) ? `<span class="${(_c = customClass == null ? void 0 : customClass.string) != null ? _c : ""}">${escapeString(value)}</span>` : escapeString(value);
4456
+ }
4457
+ }
4458
+ return value;
4459
+ }
4460
+ function escapeString(value) {
4461
+ return escape(value).replace(/ /g, "&nbsp;").replace(/\n/g, "<span>\\n</span>");
4462
+ }
4463
+ function getRaw(value) {
4464
+ var _a25, _b25, _c;
4465
+ let customType;
4466
+ const isCustom = getInspectorStateValueType(value) === "custom";
4467
+ let inherit = {};
4468
+ if (isCustom) {
4469
+ const data = value;
4470
+ const customValue = (_a25 = data._custom) == null ? void 0 : _a25.value;
4471
+ const currentCustomType = (_b25 = data._custom) == null ? void 0 : _b25.type;
4472
+ const nestedCustom = typeof customValue === "object" && customValue !== null && "_custom" in customValue ? getRaw(customValue) : { inherit: void 0, value: void 0, customType: void 0 };
4473
+ inherit = nestedCustom.inherit || ((_c = data._custom) == null ? void 0 : _c.fields) || {};
4474
+ value = nestedCustom.value || customValue;
4475
+ customType = nestedCustom.customType || currentCustomType;
4476
+ }
4477
+ if (value && value._isArray)
4478
+ value = value.items;
4479
+ return { value, inherit, customType };
4480
+ }
4481
+ function toEdit(value, customType) {
4482
+ if (customType === "bigint")
4483
+ return value;
4484
+ if (customType === "date")
4485
+ return value;
4486
+ return replaceTokenToString(JSON.stringify(value));
4487
+ }
4488
+ function toSubmit(value, customType) {
4489
+ if (customType === "bigint")
4490
+ return BigInt(value);
4491
+ if (customType === "date")
4492
+ return new Date(value);
4493
+ return JSON.parse(replaceStringToToken(value), reviver);
4494
+ }
4495
+
4496
+ // src/core/devtools-client/detected.ts
4497
+ init_cjs_shims();
4498
+ var import_devtools_shared21 = require("@vue/devtools-shared");
4499
+ function updateDevToolsClientDetected(params) {
4500
+ devtoolsState.devtoolsClientDetected = {
4501
+ ...devtoolsState.devtoolsClientDetected,
4502
+ ...params
4503
+ };
4504
+ const devtoolsClientVisible = Object.values(devtoolsState.devtoolsClientDetected).some(Boolean);
4505
+ toggleHighPerfMode(!devtoolsClientVisible);
4506
+ }
4507
+ var _a18, _b18;
4508
+ (_b18 = (_a18 = import_devtools_shared21.target).__VUE_DEVTOOLS_UPDATE_CLIENT_DETECTED__) != null ? _b18 : _a18.__VUE_DEVTOOLS_UPDATE_CLIENT_DETECTED__ = updateDevToolsClientDetected;
4509
+
4330
4510
  // src/messaging/index.ts
4331
4511
  init_cjs_shims();
4512
+ var import_devtools_shared29 = require("@vue/devtools-shared");
4332
4513
  var import_birpc = require("birpc");
4333
- var import_devtools_shared27 = require("@vue/devtools-shared");
4334
4514
 
4335
4515
  // src/messaging/presets/index.ts
4336
4516
  init_cjs_shims();
4337
4517
 
4338
- // src/messaging/presets/iframe/index.ts
4339
- init_cjs_shims();
4340
-
4341
- // src/messaging/presets/iframe/client.ts
4518
+ // src/messaging/presets/broadcast-channel/index.ts
4342
4519
  init_cjs_shims();
4343
- var import_devtools_shared21 = require("@vue/devtools-shared");
4344
4520
 
4345
4521
  // ../../node_modules/.pnpm/superjson@2.2.1/node_modules/superjson/dist/index.js
4346
4522
  init_cjs_shims();
@@ -5150,84 +5326,6 @@ var registerCustom = SuperJSON.registerCustom;
5150
5326
  var registerSymbol = SuperJSON.registerSymbol;
5151
5327
  var allowErrorProps = SuperJSON.allowErrorProps;
5152
5328
 
5153
- // src/messaging/presets/iframe/context.ts
5154
- init_cjs_shims();
5155
- var import_devtools_shared20 = require("@vue/devtools-shared");
5156
- var __DEVTOOLS_KIT_IFRAME_MESSAGING_EVENT_KEY = "__devtools-kit-iframe-messaging-event-key__";
5157
- var __IFRAME_SERVER_CONTEXT__ = "iframe:server-context";
5158
- function getIframeServerContext() {
5159
- return import_devtools_shared20.target[__IFRAME_SERVER_CONTEXT__];
5160
- }
5161
- function setIframeServerContext(context) {
5162
- import_devtools_shared20.target[__IFRAME_SERVER_CONTEXT__] = context;
5163
- }
5164
-
5165
- // src/messaging/presets/iframe/client.ts
5166
- function createIframeClientChannel() {
5167
- if (!import_devtools_shared21.isBrowser) {
5168
- return {
5169
- post: (data) => {
5170
- },
5171
- on: (handler) => {
5172
- }
5173
- };
5174
- }
5175
- return {
5176
- post: (data) => window.parent.postMessage(SuperJSON.stringify({
5177
- event: __DEVTOOLS_KIT_IFRAME_MESSAGING_EVENT_KEY,
5178
- data
5179
- }), "*"),
5180
- on: (handler) => window.addEventListener("message", (event) => {
5181
- try {
5182
- const parsed = SuperJSON.parse(event.data);
5183
- if (event.source === window.parent && parsed.event === __DEVTOOLS_KIT_IFRAME_MESSAGING_EVENT_KEY) {
5184
- handler(parsed.data);
5185
- }
5186
- } catch (e) {
5187
- }
5188
- })
5189
- };
5190
- }
5191
-
5192
- // src/messaging/presets/iframe/server.ts
5193
- init_cjs_shims();
5194
- var import_devtools_shared22 = require("@vue/devtools-shared");
5195
- function createIframeServerChannel() {
5196
- if (!import_devtools_shared22.isBrowser) {
5197
- return {
5198
- post: (data) => {
5199
- },
5200
- on: (handler) => {
5201
- }
5202
- };
5203
- }
5204
- return {
5205
- post: (data) => {
5206
- var _a25;
5207
- const iframe = getIframeServerContext();
5208
- (_a25 = iframe == null ? void 0 : iframe.contentWindow) == null ? void 0 : _a25.postMessage(SuperJSON.stringify({
5209
- event: __DEVTOOLS_KIT_IFRAME_MESSAGING_EVENT_KEY,
5210
- data
5211
- }), "*");
5212
- },
5213
- on: (handler) => {
5214
- window.addEventListener("message", (event) => {
5215
- const iframe = getIframeServerContext();
5216
- try {
5217
- const parsed = SuperJSON.parse(event.data);
5218
- if (event.source === (iframe == null ? void 0 : iframe.contentWindow) && parsed.event === __DEVTOOLS_KIT_IFRAME_MESSAGING_EVENT_KEY) {
5219
- handler(parsed.data);
5220
- }
5221
- } catch (e) {
5222
- }
5223
- });
5224
- }
5225
- };
5226
- }
5227
-
5228
- // src/messaging/presets/broadcast-channel/index.ts
5229
- init_cjs_shims();
5230
-
5231
5329
  // src/messaging/presets/broadcast-channel/context.ts
5232
5330
  init_cjs_shims();
5233
5331
  var __DEVTOOLS_KIT_BROADCAST_MESSAGING_EVENT_KEY = "__devtools-kit-broadcast-messaging-event-key__";
@@ -5254,79 +5352,15 @@ function createBroadcastChannel() {
5254
5352
  };
5255
5353
  }
5256
5354
 
5257
- // src/messaging/presets/vite/index.ts
5258
- init_cjs_shims();
5259
-
5260
- // src/messaging/presets/vite/client.ts
5261
- init_cjs_shims();
5262
-
5263
- // src/messaging/presets/vite/context.ts
5264
- init_cjs_shims();
5265
- var import_devtools_shared23 = require("@vue/devtools-shared");
5266
- var __DEVTOOLS_KIT_VITE_MESSAGING_EVENT_KEY = "__devtools-kit-vite-messaging-event-key__";
5267
- var __VITE_CLIENT_CONTEXT__ = "vite:client-context";
5268
- var __VITE_SERVER_CONTEXT__ = "vite:server-context";
5269
- function getViteClientContext() {
5270
- return import_devtools_shared23.target[__VITE_CLIENT_CONTEXT__];
5271
- }
5272
- function setViteClientContext(context) {
5273
- import_devtools_shared23.target[__VITE_CLIENT_CONTEXT__] = context;
5274
- }
5275
- function getViteServerContext() {
5276
- return import_devtools_shared23.target[__VITE_SERVER_CONTEXT__];
5277
- }
5278
- function setViteServerContext(context) {
5279
- import_devtools_shared23.target[__VITE_SERVER_CONTEXT__] = context;
5280
- }
5281
-
5282
- // src/messaging/presets/vite/client.ts
5283
- function createViteClientChannel() {
5284
- const client = getViteClientContext();
5285
- return {
5286
- post: (data) => {
5287
- client == null ? void 0 : client.send(__DEVTOOLS_KIT_VITE_MESSAGING_EVENT_KEY, SuperJSON.stringify(data));
5288
- },
5289
- on: (handler) => {
5290
- client == null ? void 0 : client.on(__DEVTOOLS_KIT_VITE_MESSAGING_EVENT_KEY, (event) => {
5291
- handler(SuperJSON.parse(event));
5292
- });
5293
- }
5294
- };
5295
- }
5296
-
5297
- // src/messaging/presets/vite/server.ts
5298
- init_cjs_shims();
5299
- function createViteServerChannel() {
5300
- var _a25;
5301
- const viteServer = getViteServerContext();
5302
- const ws = (_a25 = viteServer.hot) != null ? _a25 : viteServer.ws;
5303
- return {
5304
- post: (data) => ws == null ? void 0 : ws.send(__DEVTOOLS_KIT_VITE_MESSAGING_EVENT_KEY, SuperJSON.stringify(data)),
5305
- on: (handler) => ws == null ? void 0 : ws.on(__DEVTOOLS_KIT_VITE_MESSAGING_EVENT_KEY, (event) => {
5306
- handler(SuperJSON.parse(event));
5307
- })
5308
- };
5309
- }
5310
-
5311
- // src/messaging/presets/ws/index.ts
5312
- init_cjs_shims();
5313
-
5314
- // src/messaging/presets/ws/client.ts
5315
- init_cjs_shims();
5316
-
5317
- // src/messaging/presets/ws/context.ts
5318
- init_cjs_shims();
5319
- var import_devtools_shared24 = require("@vue/devtools-shared");
5320
-
5321
- // src/messaging/presets/ws/server.ts
5355
+ // src/messaging/presets/electron/index.ts
5322
5356
  init_cjs_shims();
5323
5357
 
5324
- // src/messaging/presets/electron/index.ts
5358
+ // src/messaging/presets/electron/client.ts
5325
5359
  init_cjs_shims();
5326
5360
 
5327
5361
  // src/messaging/presets/electron/context.ts
5328
5362
  init_cjs_shims();
5329
- var import_devtools_shared25 = require("@vue/devtools-shared");
5363
+ var import_devtools_shared22 = require("@vue/devtools-shared");
5330
5364
  var __ELECTRON_CLIENT_CONTEXT__ = "electron:client-context";
5331
5365
  var __ELECTRON_RPOXY_CONTEXT__ = "electron:proxy-context";
5332
5366
  var __ELECTRON_SERVER_CONTEXT__ = "electron:server-context";
@@ -5344,26 +5378,25 @@ var __DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__ = {
5344
5378
  // on: proxy->server
5345
5379
  };
5346
5380
  function getElectronClientContext() {
5347
- return import_devtools_shared25.target[__ELECTRON_CLIENT_CONTEXT__];
5381
+ return import_devtools_shared22.target[__ELECTRON_CLIENT_CONTEXT__];
5348
5382
  }
5349
5383
  function setElectronClientContext(context) {
5350
- import_devtools_shared25.target[__ELECTRON_CLIENT_CONTEXT__] = context;
5384
+ import_devtools_shared22.target[__ELECTRON_CLIENT_CONTEXT__] = context;
5351
5385
  }
5352
5386
  function getElectronProxyContext() {
5353
- return import_devtools_shared25.target[__ELECTRON_RPOXY_CONTEXT__];
5387
+ return import_devtools_shared22.target[__ELECTRON_RPOXY_CONTEXT__];
5354
5388
  }
5355
5389
  function setElectronProxyContext(context) {
5356
- import_devtools_shared25.target[__ELECTRON_RPOXY_CONTEXT__] = context;
5390
+ import_devtools_shared22.target[__ELECTRON_RPOXY_CONTEXT__] = context;
5357
5391
  }
5358
5392
  function getElectronServerContext() {
5359
- return import_devtools_shared25.target[__ELECTRON_SERVER_CONTEXT__];
5393
+ return import_devtools_shared22.target[__ELECTRON_SERVER_CONTEXT__];
5360
5394
  }
5361
5395
  function setElectronServerContext(context) {
5362
- import_devtools_shared25.target[__ELECTRON_SERVER_CONTEXT__] = context;
5396
+ import_devtools_shared22.target[__ELECTRON_SERVER_CONTEXT__] = context;
5363
5397
  }
5364
5398
 
5365
5399
  // src/messaging/presets/electron/client.ts
5366
- init_cjs_shims();
5367
5400
  function createElectronClientChannel() {
5368
5401
  const socket = getElectronClientContext();
5369
5402
  return {
@@ -5415,9 +5448,12 @@ function createElectronServerChannel() {
5415
5448
  // src/messaging/presets/extension/index.ts
5416
5449
  init_cjs_shims();
5417
5450
 
5451
+ // src/messaging/presets/extension/client.ts
5452
+ init_cjs_shims();
5453
+
5418
5454
  // src/messaging/presets/extension/context.ts
5419
5455
  init_cjs_shims();
5420
- var import_devtools_shared26 = require("@vue/devtools-shared");
5456
+ var import_devtools_shared23 = require("@vue/devtools-shared");
5421
5457
  var __EXTENSION_CLIENT_CONTEXT__ = "electron:client-context";
5422
5458
  var __DEVTOOLS_KIT_EXTENSION_MESSAGING_EVENT_KEY__ = {
5423
5459
  // client
@@ -5433,14 +5469,13 @@ var __DEVTOOLS_KIT_EXTENSION_MESSAGING_EVENT_KEY__ = {
5433
5469
  // on: proxy->server
5434
5470
  };
5435
5471
  function getExtensionClientContext() {
5436
- return import_devtools_shared26.target[__EXTENSION_CLIENT_CONTEXT__];
5472
+ return import_devtools_shared23.target[__EXTENSION_CLIENT_CONTEXT__];
5437
5473
  }
5438
5474
  function setExtensionClientContext(context) {
5439
- import_devtools_shared26.target[__EXTENSION_CLIENT_CONTEXT__] = context;
5475
+ import_devtools_shared23.target[__EXTENSION_CLIENT_CONTEXT__] = context;
5440
5476
  }
5441
5477
 
5442
5478
  // src/messaging/presets/extension/client.ts
5443
- init_cjs_shims();
5444
5479
  function createExtensionClientChannel() {
5445
5480
  let disconnected = false;
5446
5481
  let port = null;
@@ -5523,66 +5558,215 @@ function createExtensionProxyChannel() {
5523
5558
  };
5524
5559
  }
5525
5560
 
5526
- // src/messaging/presets/extension/server.ts
5561
+ // src/messaging/presets/extension/server.ts
5562
+ init_cjs_shims();
5563
+ function createExtensionServerChannel() {
5564
+ return {
5565
+ post: (data) => {
5566
+ window.postMessage({
5567
+ source: __DEVTOOLS_KIT_EXTENSION_MESSAGING_EVENT_KEY__.SERVER_TO_PROXY,
5568
+ payload: SuperJSON.stringify(data)
5569
+ }, "*");
5570
+ },
5571
+ on: (handler) => {
5572
+ const listener = (event) => {
5573
+ if (event.data.source === __DEVTOOLS_KIT_EXTENSION_MESSAGING_EVENT_KEY__.PROXY_TO_SERVER && event.data.payload) {
5574
+ handler(SuperJSON.parse(event.data.payload));
5575
+ }
5576
+ };
5577
+ window.addEventListener("message", listener);
5578
+ return () => {
5579
+ window.removeEventListener("message", listener);
5580
+ };
5581
+ }
5582
+ };
5583
+ }
5584
+
5585
+ // src/messaging/presets/iframe/index.ts
5586
+ init_cjs_shims();
5587
+
5588
+ // src/messaging/presets/iframe/client.ts
5589
+ init_cjs_shims();
5590
+ var import_devtools_shared25 = require("@vue/devtools-shared");
5591
+
5592
+ // src/messaging/presets/iframe/context.ts
5593
+ init_cjs_shims();
5594
+ var import_devtools_shared24 = require("@vue/devtools-shared");
5595
+ var __DEVTOOLS_KIT_IFRAME_MESSAGING_EVENT_KEY = "__devtools-kit-iframe-messaging-event-key__";
5596
+ var __IFRAME_SERVER_CONTEXT__ = "iframe:server-context";
5597
+ function getIframeServerContext() {
5598
+ return import_devtools_shared24.target[__IFRAME_SERVER_CONTEXT__];
5599
+ }
5600
+ function setIframeServerContext(context) {
5601
+ import_devtools_shared24.target[__IFRAME_SERVER_CONTEXT__] = context;
5602
+ }
5603
+
5604
+ // src/messaging/presets/iframe/client.ts
5605
+ function createIframeClientChannel() {
5606
+ if (!import_devtools_shared25.isBrowser) {
5607
+ return {
5608
+ post: (data) => {
5609
+ },
5610
+ on: (handler) => {
5611
+ }
5612
+ };
5613
+ }
5614
+ return {
5615
+ post: (data) => window.parent.postMessage(SuperJSON.stringify({
5616
+ event: __DEVTOOLS_KIT_IFRAME_MESSAGING_EVENT_KEY,
5617
+ data
5618
+ }), "*"),
5619
+ on: (handler) => window.addEventListener("message", (event) => {
5620
+ try {
5621
+ const parsed = SuperJSON.parse(event.data);
5622
+ if (event.source === window.parent && parsed.event === __DEVTOOLS_KIT_IFRAME_MESSAGING_EVENT_KEY) {
5623
+ handler(parsed.data);
5624
+ }
5625
+ } catch (e) {
5626
+ }
5627
+ })
5628
+ };
5629
+ }
5630
+
5631
+ // src/messaging/presets/iframe/server.ts
5632
+ init_cjs_shims();
5633
+ var import_devtools_shared26 = require("@vue/devtools-shared");
5634
+ function createIframeServerChannel() {
5635
+ if (!import_devtools_shared26.isBrowser) {
5636
+ return {
5637
+ post: (data) => {
5638
+ },
5639
+ on: (handler) => {
5640
+ }
5641
+ };
5642
+ }
5643
+ return {
5644
+ post: (data) => {
5645
+ var _a25;
5646
+ const iframe = getIframeServerContext();
5647
+ (_a25 = iframe == null ? void 0 : iframe.contentWindow) == null ? void 0 : _a25.postMessage(SuperJSON.stringify({
5648
+ event: __DEVTOOLS_KIT_IFRAME_MESSAGING_EVENT_KEY,
5649
+ data
5650
+ }), "*");
5651
+ },
5652
+ on: (handler) => {
5653
+ window.addEventListener("message", (event) => {
5654
+ const iframe = getIframeServerContext();
5655
+ try {
5656
+ const parsed = SuperJSON.parse(event.data);
5657
+ if (event.source === (iframe == null ? void 0 : iframe.contentWindow) && parsed.event === __DEVTOOLS_KIT_IFRAME_MESSAGING_EVENT_KEY) {
5658
+ handler(parsed.data);
5659
+ }
5660
+ } catch (e) {
5661
+ }
5662
+ });
5663
+ }
5664
+ };
5665
+ }
5666
+
5667
+ // src/messaging/presets/vite/index.ts
5527
5668
  init_cjs_shims();
5528
- function createExtensionServerChannel() {
5669
+
5670
+ // src/messaging/presets/vite/client.ts
5671
+ init_cjs_shims();
5672
+
5673
+ // src/messaging/presets/vite/context.ts
5674
+ init_cjs_shims();
5675
+ var import_devtools_shared27 = require("@vue/devtools-shared");
5676
+ var __DEVTOOLS_KIT_VITE_MESSAGING_EVENT_KEY = "__devtools-kit-vite-messaging-event-key__";
5677
+ var __VITE_CLIENT_CONTEXT__ = "vite:client-context";
5678
+ var __VITE_SERVER_CONTEXT__ = "vite:server-context";
5679
+ function getViteClientContext() {
5680
+ return import_devtools_shared27.target[__VITE_CLIENT_CONTEXT__];
5681
+ }
5682
+ function setViteClientContext(context) {
5683
+ import_devtools_shared27.target[__VITE_CLIENT_CONTEXT__] = context;
5684
+ }
5685
+ function getViteServerContext() {
5686
+ return import_devtools_shared27.target[__VITE_SERVER_CONTEXT__];
5687
+ }
5688
+ function setViteServerContext(context) {
5689
+ import_devtools_shared27.target[__VITE_SERVER_CONTEXT__] = context;
5690
+ }
5691
+
5692
+ // src/messaging/presets/vite/client.ts
5693
+ function createViteClientChannel() {
5694
+ const client = getViteClientContext();
5529
5695
  return {
5530
5696
  post: (data) => {
5531
- window.postMessage({
5532
- source: __DEVTOOLS_KIT_EXTENSION_MESSAGING_EVENT_KEY__.SERVER_TO_PROXY,
5533
- payload: SuperJSON.stringify(data)
5534
- }, "*");
5697
+ client == null ? void 0 : client.send(__DEVTOOLS_KIT_VITE_MESSAGING_EVENT_KEY, SuperJSON.stringify(data));
5535
5698
  },
5536
5699
  on: (handler) => {
5537
- const listener = (event) => {
5538
- if (event.data.source === __DEVTOOLS_KIT_EXTENSION_MESSAGING_EVENT_KEY__.PROXY_TO_SERVER && event.data.payload) {
5539
- handler(SuperJSON.parse(event.data.payload));
5540
- }
5541
- };
5542
- window.addEventListener("message", listener);
5543
- return () => {
5544
- window.removeEventListener("message", listener);
5545
- };
5700
+ client == null ? void 0 : client.on(__DEVTOOLS_KIT_VITE_MESSAGING_EVENT_KEY, (event) => {
5701
+ handler(SuperJSON.parse(event));
5702
+ });
5546
5703
  }
5547
5704
  };
5548
5705
  }
5549
5706
 
5707
+ // src/messaging/presets/vite/server.ts
5708
+ init_cjs_shims();
5709
+ function createViteServerChannel() {
5710
+ var _a25;
5711
+ const viteServer = getViteServerContext();
5712
+ const ws = (_a25 = viteServer.hot) != null ? _a25 : viteServer.ws;
5713
+ return {
5714
+ post: (data) => ws == null ? void 0 : ws.send(__DEVTOOLS_KIT_VITE_MESSAGING_EVENT_KEY, SuperJSON.stringify(data)),
5715
+ on: (handler) => ws == null ? void 0 : ws.on(__DEVTOOLS_KIT_VITE_MESSAGING_EVENT_KEY, (event) => {
5716
+ handler(SuperJSON.parse(event));
5717
+ })
5718
+ };
5719
+ }
5720
+
5721
+ // src/messaging/presets/ws/index.ts
5722
+ init_cjs_shims();
5723
+
5724
+ // src/messaging/presets/ws/client.ts
5725
+ init_cjs_shims();
5726
+
5727
+ // src/messaging/presets/ws/context.ts
5728
+ init_cjs_shims();
5729
+ var import_devtools_shared28 = require("@vue/devtools-shared");
5730
+
5731
+ // src/messaging/presets/ws/server.ts
5732
+ init_cjs_shims();
5733
+
5550
5734
  // src/messaging/index.ts
5551
- var _a18, _b18;
5552
- (_b18 = (_a18 = import_devtools_shared27.target).__VUE_DEVTOOLS_KIT_MESSAGE_CHANNELS__) != null ? _b18 : _a18.__VUE_DEVTOOLS_KIT_MESSAGE_CHANNELS__ = [];
5553
5735
  var _a19, _b19;
5554
- (_b19 = (_a19 = import_devtools_shared27.target).__VUE_DEVTOOLS_KIT_RPC_CLIENT__) != null ? _b19 : _a19.__VUE_DEVTOOLS_KIT_RPC_CLIENT__ = null;
5736
+ (_b19 = (_a19 = import_devtools_shared29.target).__VUE_DEVTOOLS_KIT_MESSAGE_CHANNELS__) != null ? _b19 : _a19.__VUE_DEVTOOLS_KIT_MESSAGE_CHANNELS__ = [];
5555
5737
  var _a20, _b20;
5556
- (_b20 = (_a20 = import_devtools_shared27.target).__VUE_DEVTOOLS_KIT_RPC_SERVER__) != null ? _b20 : _a20.__VUE_DEVTOOLS_KIT_RPC_SERVER__ = null;
5738
+ (_b20 = (_a20 = import_devtools_shared29.target).__VUE_DEVTOOLS_KIT_RPC_CLIENT__) != null ? _b20 : _a20.__VUE_DEVTOOLS_KIT_RPC_CLIENT__ = null;
5557
5739
  var _a21, _b21;
5558
- (_b21 = (_a21 = import_devtools_shared27.target).__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__) != null ? _b21 : _a21.__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__ = null;
5740
+ (_b21 = (_a21 = import_devtools_shared29.target).__VUE_DEVTOOLS_KIT_RPC_SERVER__) != null ? _b21 : _a21.__VUE_DEVTOOLS_KIT_RPC_SERVER__ = null;
5559
5741
  var _a22, _b22;
5560
- (_b22 = (_a22 = import_devtools_shared27.target).__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__) != null ? _b22 : _a22.__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__ = null;
5742
+ (_b22 = (_a22 = import_devtools_shared29.target).__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__) != null ? _b22 : _a22.__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__ = null;
5561
5743
  var _a23, _b23;
5562
- (_b23 = (_a23 = import_devtools_shared27.target).__VUE_DEVTOOLS_KIT_BROADCAST_RPC_SERVER__) != null ? _b23 : _a23.__VUE_DEVTOOLS_KIT_BROADCAST_RPC_SERVER__ = null;
5744
+ (_b23 = (_a23 = import_devtools_shared29.target).__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__) != null ? _b23 : _a23.__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__ = null;
5745
+ var _a24, _b24;
5746
+ (_b24 = (_a24 = import_devtools_shared29.target).__VUE_DEVTOOLS_KIT_BROADCAST_RPC_SERVER__) != null ? _b24 : _a24.__VUE_DEVTOOLS_KIT_BROADCAST_RPC_SERVER__ = null;
5563
5747
  function setRpcClientToGlobal(rpc) {
5564
- import_devtools_shared27.target.__VUE_DEVTOOLS_KIT_RPC_CLIENT__ = rpc;
5748
+ import_devtools_shared29.target.__VUE_DEVTOOLS_KIT_RPC_CLIENT__ = rpc;
5565
5749
  }
5566
5750
  function setRpcServerToGlobal(rpc) {
5567
- import_devtools_shared27.target.__VUE_DEVTOOLS_KIT_RPC_SERVER__ = rpc;
5751
+ import_devtools_shared29.target.__VUE_DEVTOOLS_KIT_RPC_SERVER__ = rpc;
5568
5752
  }
5569
5753
  function getRpcClient() {
5570
- return import_devtools_shared27.target.__VUE_DEVTOOLS_KIT_RPC_CLIENT__;
5754
+ return import_devtools_shared29.target.__VUE_DEVTOOLS_KIT_RPC_CLIENT__;
5571
5755
  }
5572
5756
  function getRpcServer() {
5573
- return import_devtools_shared27.target.__VUE_DEVTOOLS_KIT_RPC_SERVER__;
5757
+ return import_devtools_shared29.target.__VUE_DEVTOOLS_KIT_RPC_SERVER__;
5574
5758
  }
5575
5759
  function setViteRpcClientToGlobal(rpc) {
5576
- import_devtools_shared27.target.__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__ = rpc;
5760
+ import_devtools_shared29.target.__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__ = rpc;
5577
5761
  }
5578
5762
  function setViteRpcServerToGlobal(rpc) {
5579
- import_devtools_shared27.target.__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__ = rpc;
5763
+ import_devtools_shared29.target.__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__ = rpc;
5580
5764
  }
5581
5765
  function getViteRpcClient() {
5582
- return import_devtools_shared27.target.__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__;
5766
+ return import_devtools_shared29.target.__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__;
5583
5767
  }
5584
5768
  function getViteRpcServer() {
5585
- return import_devtools_shared27.target.__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__;
5769
+ return import_devtools_shared29.target.__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__;
5586
5770
  }
5587
5771
  function getChannel(preset, host = "client") {
5588
5772
  const channel = {
@@ -5659,6 +5843,12 @@ function createRpcProxy(options = {}) {
5659
5843
  // src/shared/index.ts
5660
5844
  init_cjs_shims();
5661
5845
 
5846
+ // src/shared/env.ts
5847
+ init_cjs_shims();
5848
+
5849
+ // src/shared/time.ts
5850
+ init_cjs_shims();
5851
+
5662
5852
  // src/shared/util.ts
5663
5853
  init_cjs_shims();
5664
5854
 
@@ -5967,65 +6157,6 @@ function stringifyReplacer(key, _value, depth, seenInstance) {
5967
6157
  return sanitize(val);
5968
6158
  }
5969
6159
 
5970
- // src/core/component/state/reviver.ts
5971
- init_cjs_shims();
5972
- var import_devtools_shared28 = require("@vue/devtools-shared");
5973
- function reviveSet(val) {
5974
- const result = /* @__PURE__ */ new Set();
5975
- const list = val._custom.value;
5976
- for (let i = 0; i < list.length; i++) {
5977
- const value = list[i];
5978
- result.add(revive(value));
5979
- }
5980
- return result;
5981
- }
5982
- function reviveMap(val) {
5983
- const result = /* @__PURE__ */ new Map();
5984
- const list = val._custom.value;
5985
- for (let i = 0; i < list.length; i++) {
5986
- const { key, value } = list[i];
5987
- result.set(key, revive(value));
5988
- }
5989
- return result;
5990
- }
5991
- function revive(val) {
5992
- if (val === UNDEFINED) {
5993
- return void 0;
5994
- } else if (val === INFINITY) {
5995
- return Number.POSITIVE_INFINITY;
5996
- } else if (val === NEGATIVE_INFINITY) {
5997
- return Number.NEGATIVE_INFINITY;
5998
- } else if (val === NAN) {
5999
- return Number.NaN;
6000
- } else if (val && val._custom) {
6001
- const { _custom: custom } = val;
6002
- if (custom.type === "component")
6003
- return activeAppRecord.value.instanceMap.get(custom.id);
6004
- else if (custom.type === "map")
6005
- return reviveMap(val);
6006
- else if (custom.type === "set")
6007
- return reviveSet(val);
6008
- else if (custom.type === "bigint")
6009
- return BigInt(custom.value);
6010
- else
6011
- return revive(custom.value);
6012
- } else if (symbolRE.test(val)) {
6013
- const [, string] = symbolRE.exec(val);
6014
- return Symbol.for(string);
6015
- } else if (specialTypeRE.test(val)) {
6016
- const [, type, string, , details] = specialTypeRE.exec(val);
6017
- const result = new import_devtools_shared28.target[type](string);
6018
- if (type === "Error" && details)
6019
- result.stack = details;
6020
- return result;
6021
- } else {
6022
- return val;
6023
- }
6024
- }
6025
- function reviver(key, value) {
6026
- return revive(value);
6027
- }
6028
-
6029
6160
  // src/shared/transfer.ts
6030
6161
  init_cjs_shims();
6031
6162
  var MAX_SERIALIZED_SIZE = 2 * 1024 * 1024;
@@ -6150,101 +6281,6 @@ function parseCircularAutoChunks(data, reviver2 = null) {
6150
6281
  }
6151
6282
  }
6152
6283
 
6153
- // src/core/component/state/format.ts
6154
- init_cjs_shims();
6155
- function getInspectorStateValueType(value, raw = true) {
6156
- const type = typeof value;
6157
- if (value == null || value === UNDEFINED || value === "undefined") {
6158
- return "null";
6159
- } else if (type === "boolean" || type === "number" || value === INFINITY || value === NEGATIVE_INFINITY || value === NAN) {
6160
- return "literal";
6161
- } else if (value == null ? void 0 : value._custom) {
6162
- if (raw || value._custom.display != null || value._custom.displayText != null)
6163
- return "custom";
6164
- else
6165
- return getInspectorStateValueType(value._custom.value);
6166
- } else if (typeof value === "string") {
6167
- const typeMatch = specialTypeRE.exec(value);
6168
- if (typeMatch) {
6169
- const [, type2] = typeMatch;
6170
- return `native ${type2}`;
6171
- } else {
6172
- return "string";
6173
- }
6174
- } else if (Array.isArray(value) || (value == null ? void 0 : value._isArray)) {
6175
- return "array";
6176
- } else if (isPlainObject(value)) {
6177
- return "plain-object";
6178
- } else {
6179
- return "unknown";
6180
- }
6181
- }
6182
- function formatInspectorStateValue(value, quotes = false, options) {
6183
- var _a25, _b25, _c;
6184
- const { customClass } = options != null ? options : {};
6185
- let result;
6186
- const type = getInspectorStateValueType(value, false);
6187
- if (type !== "custom" && (value == null ? void 0 : value._custom))
6188
- value = value._custom.value;
6189
- if (result = internalStateTokenToString(value)) {
6190
- return result;
6191
- } else if (type === "custom") {
6192
- const nestedName = ((_a25 = value._custom.value) == null ? void 0 : _a25._custom) && formatInspectorStateValue(value._custom.value, quotes, options);
6193
- return nestedName || value._custom.displayText || value._custom.display;
6194
- } else if (type === "array") {
6195
- return `Array[${value.length}]`;
6196
- } else if (type === "plain-object") {
6197
- return `Object${Object.keys(value).length ? "" : " (empty)"}`;
6198
- } else if (type == null ? void 0 : type.includes("native")) {
6199
- return escape((_b25 = specialTypeRE.exec(value)) == null ? void 0 : _b25[2]);
6200
- } else if (typeof value === "string") {
6201
- const typeMatch = value.match(rawTypeRE);
6202
- if (typeMatch) {
6203
- value = escapeString(typeMatch[1]);
6204
- } else if (quotes) {
6205
- value = `<span>"</span>${(customClass == null ? void 0 : customClass.string) ? `<span class=${customClass.string}>${escapeString(value)}</span>` : escapeString(value)}<span>"</span>`;
6206
- } else {
6207
- value = (customClass == null ? void 0 : customClass.string) ? `<span class="${(_c = customClass == null ? void 0 : customClass.string) != null ? _c : ""}">${escapeString(value)}</span>` : escapeString(value);
6208
- }
6209
- }
6210
- return value;
6211
- }
6212
- function escapeString(value) {
6213
- return escape(value).replace(/ /g, "&nbsp;").replace(/\n/g, "<span>\\n</span>");
6214
- }
6215
- function getRaw(value) {
6216
- var _a25, _b25, _c;
6217
- let customType;
6218
- const isCustom = getInspectorStateValueType(value) === "custom";
6219
- let inherit = {};
6220
- if (isCustom) {
6221
- const data = value;
6222
- const customValue = (_a25 = data._custom) == null ? void 0 : _a25.value;
6223
- const currentCustomType = (_b25 = data._custom) == null ? void 0 : _b25.type;
6224
- const nestedCustom = typeof customValue === "object" && customValue !== null && "_custom" in customValue ? getRaw(customValue) : { inherit: void 0, value: void 0, customType: void 0 };
6225
- inherit = nestedCustom.inherit || ((_c = data._custom) == null ? void 0 : _c.fields) || {};
6226
- value = nestedCustom.value || customValue;
6227
- customType = nestedCustom.customType || currentCustomType;
6228
- }
6229
- if (value && value._isArray)
6230
- value = value.items;
6231
- return { value, inherit, customType };
6232
- }
6233
- function toEdit(value, customType) {
6234
- if (customType === "bigint")
6235
- return value;
6236
- if (customType === "date")
6237
- return value;
6238
- return replaceTokenToString(JSON.stringify(value));
6239
- }
6240
- function toSubmit(value, customType) {
6241
- if (customType === "bigint")
6242
- return BigInt(value);
6243
- if (customType === "date")
6244
- return new Date(value);
6245
- return JSON.parse(replaceStringToToken(value), reviver);
6246
- }
6247
-
6248
6284
  // src/shared/util.ts
6249
6285
  function stringify2(data) {
6250
6286
  return stringifyCircularAutoChunks(data, stringifyReplacer);
@@ -6255,26 +6291,6 @@ function parse2(data, revive2 = false) {
6255
6291
  return revive2 ? parseCircularAutoChunks(data, reviver) : parseCircularAutoChunks(data);
6256
6292
  }
6257
6293
 
6258
- // src/shared/time.ts
6259
- init_cjs_shims();
6260
-
6261
- // src/shared/env.ts
6262
- init_cjs_shims();
6263
-
6264
- // src/core/devtools-client/detected.ts
6265
- init_cjs_shims();
6266
- var import_devtools_shared29 = require("@vue/devtools-shared");
6267
- function updateDevToolsClientDetected(params) {
6268
- devtoolsState.devtoolsClientDetected = {
6269
- ...devtoolsState.devtoolsClientDetected,
6270
- ...params
6271
- };
6272
- const devtoolsClientVisible = Object.values(devtoolsState.devtoolsClientDetected).some(Boolean);
6273
- toggleHighPerfMode(!devtoolsClientVisible);
6274
- }
6275
- var _a24, _b24;
6276
- (_b24 = (_a24 = import_devtools_shared29.target).__VUE_DEVTOOLS_UPDATE_CLIENT_DETECTED__) != null ? _b24 : _a24.__VUE_DEVTOOLS_UPDATE_CLIENT_DETECTED__ = updateDevToolsClientDetected;
6277
-
6278
6294
  // src/index.ts
6279
6295
  var devtools = {
6280
6296
  hook,