@dimina-kit/devtools 0.4.0-dev.20260728110120 → 0.4.0-dev.20260731100034

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/README.md +68 -0
  2. package/dist/main/api.d.ts +1 -0
  3. package/dist/main/app/app.d.ts +3 -0
  4. package/dist/main/app/app.js +15 -0
  5. package/dist/main/app/bootstrap.d.ts +8 -5
  6. package/dist/main/app/bootstrap.js +15 -15
  7. package/dist/main/index.bundle.js +2359 -5132
  8. package/dist/main/ipc/app-lifecycle.d.ts +1 -31
  9. package/dist/main/ipc/app-lifecycle.js +1 -53
  10. package/dist/main/ipc/bridge-router.d.ts +19 -152
  11. package/dist/main/ipc/bridge-router.js +28 -2186
  12. package/dist/main/ipc/page-scroll.d.ts +1 -13
  13. package/dist/main/ipc/page-scroll.js +1 -16
  14. package/dist/main/ipc/session-listener-bag.d.ts +1 -40
  15. package/dist/main/ipc/session-listener-bag.js +1 -39
  16. package/dist/main/services/console-forward/index.d.ts +1 -60
  17. package/dist/main/services/console-forward/index.js +1 -225
  18. package/dist/main/services/console-forward/internal-log.d.ts +1 -10
  19. package/dist/main/services/console-forward/internal-log.js +1 -22
  20. package/dist/main/services/diagnostics/index.d.ts +1 -58
  21. package/dist/main/services/diagnostics/index.js +1 -60
  22. package/dist/main/services/dimina-resource-server.d.ts +1 -6
  23. package/dist/main/services/dimina-resource-server.js +1 -98
  24. package/dist/main/services/network-forward/index.d.ts +15 -3
  25. package/dist/main/services/network-forward/index.js +30 -4
  26. package/dist/main/services/network-forward/websocket.d.ts +36 -0
  27. package/dist/main/services/network-forward/websocket.js +120 -0
  28. package/dist/main/services/service-host-pool/pool.d.ts +1 -196
  29. package/dist/main/services/service-host-pool/pool.js +1 -363
  30. package/dist/main/services/simulator/custom-apis.d.ts +1 -42
  31. package/dist/main/services/simulator/custom-apis.js +1 -46
  32. package/dist/main/services/simulator/referer.d.ts +1 -9
  33. package/dist/main/services/simulator/referer.js +1 -19
  34. package/dist/main/services/simulator/ui-extensions.d.ts +13 -0
  35. package/dist/main/services/simulator/ui-extensions.js +166 -0
  36. package/dist/main/services/simulator-storage/service-storage-ops.d.ts +1 -39
  37. package/dist/main/services/simulator-storage/service-storage-ops.js +1 -66
  38. package/dist/main/services/simulator-temp-files/disk.d.ts +1 -54
  39. package/dist/main/services/simulator-temp-files/disk.js +1 -237
  40. package/dist/main/services/simulator-temp-files/fs-channels.d.ts +1 -68
  41. package/dist/main/services/simulator-temp-files/fs-channels.js +1 -107
  42. package/dist/main/services/simulator-temp-files/index.d.ts +1 -32
  43. package/dist/main/services/simulator-temp-files/index.js +1 -181
  44. package/dist/main/services/simulator-temp-files/request-handler.d.ts +1 -29
  45. package/dist/main/services/simulator-temp-files/request-handler.js +1 -177
  46. package/dist/main/services/simulator-temp-files/resolver.d.ts +1 -21
  47. package/dist/main/services/simulator-temp-files/resolver.js +1 -21
  48. package/dist/main/services/simulator-temp-files/store.d.ts +1 -13
  49. package/dist/main/services/simulator-temp-files/store.js +1 -23
  50. package/dist/main/services/views/miniapp-partition.d.ts +1 -89
  51. package/dist/main/services/views/miniapp-partition.js +1 -158
  52. package/dist/main/services/views/native-simulator-view.js +3 -0
  53. package/dist/main/services/views/simulator-session-policy.d.ts +1 -27
  54. package/dist/main/services/views/simulator-session-policy.js +1 -98
  55. package/dist/main/services/views/view-manager.d.ts +5 -0
  56. package/dist/main/services/workbench-context.d.ts +10 -1
  57. package/dist/main/services/workbench-context.js +20 -0
  58. package/dist/main/utils/ipc-registry.d.ts +21 -3
  59. package/dist/main/utils/ipc-registry.js +26 -23
  60. package/dist/main/utils/paths.d.ts +14 -0
  61. package/dist/main/utils/paths.js +14 -0
  62. package/dist/main/windows/service-host-window/create.d.ts +1 -92
  63. package/dist/main/windows/service-host-window/create.js +1 -154
  64. package/dist/native-host/render/render.js +51 -52
  65. package/dist/native-host/service/service.js +2 -2
  66. package/dist/preload/index.d.ts +2 -0
  67. package/dist/preload/index.js +1 -0
  68. package/dist/preload/runtime/clipboard.d.ts +6 -0
  69. package/dist/preload/runtime/clipboard.js +12 -0
  70. package/dist/preload/runtime/native-host.js +4 -10
  71. package/dist/preload/windows/host-toolbar-runtime.cjs.map +2 -2
  72. package/dist/preload/windows/main.cjs +46 -126
  73. package/dist/preload/windows/main.cjs.map +3 -3
  74. package/dist/preload/windows/simulator.cjs +83 -56
  75. package/dist/preload/windows/simulator.cjs.map +4 -4
  76. package/dist/preload/windows/simulator.js +83 -56
  77. package/dist/renderer/assets/{index-BJlFbXHb.js → index-BBg3YI5b.js} +2 -2
  78. package/dist/renderer/entries/main/index.html +1 -1
  79. package/dist/shared/bridge-channels.d.ts +1 -419
  80. package/dist/shared/bridge-channels.js +1 -89
  81. package/dist/shared/dmb-resource-url.d.ts +2 -0
  82. package/dist/shared/dmb-resource-url.js +2 -0
  83. package/dist/shared/ipc-channels.d.ts +2 -32
  84. package/dist/shared/ipc-channels.js +2 -5
  85. package/dist/shared/request-core.d.ts +1 -83
  86. package/dist/shared/request-core.js +1 -167
  87. package/dist/shared/simulator-ui.d.ts +61 -0
  88. package/dist/shared/simulator-ui.js +12 -0
  89. package/dist/shared/types.d.ts +7 -0
  90. package/dist/simulator/assets/device-shell-B03OuytR.js +2 -0
  91. package/dist/simulator/assets/device-shell-DbC5ccs8.css +1 -0
  92. package/dist/simulator/assets/{jsx-runtime-BDTY6fEq.js → jsx-runtime-hBv-rHqQ.js} +2 -2
  93. package/dist/simulator/assets/{simulator-CRyLSz1N.js → simulator-DpdXUf--.js} +5 -5
  94. package/dist/simulator/simulator.html +2 -2
  95. package/dist/simulator/temp-files.d.ts +29 -0
  96. package/dist/simulator/temp-files.js +79 -0
  97. package/dist/simulator/types.d.ts +43 -0
  98. package/dist/simulator/types.js +2 -0
  99. package/package.json +10 -5
  100. package/dist/shared/simulator-api-metadata.d.ts +0 -26
  101. package/dist/shared/simulator-api-metadata.js +0 -59
  102. package/dist/shared/vpath.d.ts +0 -42
  103. package/dist/shared/vpath.js +0 -105
  104. package/dist/simulator/assets/device-shell-DOy53Y0s.css +0 -1
  105. package/dist/simulator/assets/device-shell-Sbkjw8Nb.js +0 -2
@@ -1,93 +1,2 @@
1
- import { BrowserWindow } from 'electron';
2
- import type { ServiceHostSpec } from '../../services/service-host-pool/pool.js';
3
- /**
4
- * Default service-host partition when no project `appId` is supplied (the
5
- * pre-warm pool's shared, isolation-UNAWARE session — see `serviceHostSpec`).
6
- * Per-project service hosts get a `persist:miniapp-<key>` partition instead so
7
- * their localStorage/cookies are shared with that project's render side only.
8
- */
9
- export declare const SERVICE_HOST_PARTITION = "persist:simulator";
10
- /** Absolute path to the service-host preload (loaded at runtime by path). */
11
- export declare const serviceHostPreloadPath: string;
12
- export interface ServiceHostWindowOptions {
13
- bridgeId: string;
14
- appId: string;
15
- /** Current project root. Folded into the session partition (with appId) so a
16
- * different project declaring the same appId gets isolated storage. Omitted on
17
- * the pre-warm pool path (no project known yet → shared partition). */
18
- projectPath?: string;
19
- pagePath: string;
20
- pkgRoot: string;
21
- root?: string;
22
- resourceBaseUrl: string;
23
- hostEnvSnapshot?: Record<string, unknown>;
24
- /**
25
- * Custom API namespace names (host config `apiNamespaces`, e.g. `['qd']`).
26
- * Encoded into the spawn URL so the service-host preload can install them as
27
- * `globalThis.__diminaApiNamespaces` before service.js evaluates — without
28
- * which page logic referencing `qd.*` throws `ReferenceError: qd is not defined`.
29
- */
30
- apiNamespaces?: string[];
31
- /**
32
- * Observes a spawn-navigation `loadURL` rejection (NOT encoded into the
33
- * spawn URL). Without it the fresh-window path swallows the failure entirely
34
- * — `did-finish-load` never fires, the session hangs, and the only signal is
35
- * the launch watchdog's late timeout instead of the real cause.
36
- */
37
- onLoadFailed?: (err: unknown) => void;
38
- }
39
- /**
40
- * Construct an (un-navigated) service-host BrowserWindow. Split out from
41
- * `createServiceHostWindow` so a pre-warm pool can build the window once and
42
- * navigate it per spawn (the spawn context lives in the URL — see
43
- * `buildServiceHostSpawnUrl`). The process-model flags here are the contract
44
- * the service-host preload depends on (it `require('electron')` and writes
45
- * globals onto the page realm).
46
- */
47
- export declare function constructServiceHostWindow(opts?: {
48
- appId?: string;
49
- partition?: string;
50
- }): BrowserWindow;
51
- /**
52
- * Build the file:// spawn URL carrying the per-spawn context the preload reads
53
- * from `location.search` at eval time (bridgeId/appId/pagePath/pkgRoot/
54
- * resourceBaseUrl/hostEnv).
55
- */
56
- export declare function buildServiceHostSpawnUrl(opts: ServiceHostWindowOptions): string;
57
- /**
58
- * Navigate a (constructed or pooled) service-host window to its spawn URL. The
59
- * preload re-evaluates on this navigation, rebuilding `__diminaSpawnContext`.
60
- * Returns the load promise (resolves on did-finish-load). Attaches the dev-only
61
- * detached-DevTools hook, matching the original behavior.
62
- *
63
- * A `loadURL` rejection is swallowed — the pooled-window recycle path expects
64
- * a failed navigation not to reject the caller — but `opts.onLoadFailed`, when
65
- * given, still observes the original rejection reason (routed by the caller
66
- * into the diagnostics bus) before this resolves.
67
- */
68
- export declare function navigateServiceHost(win: BrowserWindow, url: string, opts?: {
69
- onLoadFailed?: (err: unknown) => void;
70
- }): Promise<void>;
71
- /**
72
- * The spec a `ServiceHostPool` uses to pre-warm service-host windows. Keeps the
73
- * pooled window byte-equivalent to `constructServiceHostWindow`'s output, and
74
- * opts out of the reset storage-clear because the service host shares its
75
- * session with live projects (see ServiceHostSpec docs).
76
- *
77
- * KNOWN BLOCKER (intentional): the pre-warm pool is NOT per-project isolation
78
- * aware. It warms windows on ONE `defaultSpec` partition before any project is
79
- * known, so a pooled window cannot carry a project-derived partition — handing
80
- * one project's warmed window to another project would cross-contaminate
81
- * storage. Therefore the pool's `defaultSpec` (and pooled `acquire`) call this
82
- * with NO appId → the shared `persist:simulator` partition; per-project
83
- * isolation only applies on the default (non-pooled) `createServiceHostWindow`
84
- * path, which passes the project's appId. Reconciling pooling with per-project
85
- * partitions (e.g. per-partition sub-pools) is out of scope for this change.
86
- */
87
- export declare function serviceHostSpec(appId?: string, projectPath?: string): ServiceHostSpec;
88
- /**
89
- * Construct + navigate a fresh service-host window (the non-pool path).
90
- * Behavior-identical to the pre-refactor implementation.
91
- */
92
- export declare function createServiceHostWindow(opts: ServiceHostWindowOptions): BrowserWindow;
1
+ export * from '@dimina-kit/electron-runtime/main/service-host-window';
93
2
  //# sourceMappingURL=create.d.ts.map
@@ -1,155 +1,2 @@
1
- import { app, BrowserWindow } from 'electron';
2
- import path from 'node:path';
3
- import { pathToFileURL } from 'node:url';
4
- import { devtoolsPackageRoot } from '../../utils/paths.js';
5
- import { configureMiniappSession, miniappPartition, SHARED_MINIAPP_PARTITION } from '../../services/views/miniapp-partition.js';
6
- /**
7
- * Default service-host partition when no project `appId` is supplied (the
8
- * pre-warm pool's shared, isolation-UNAWARE session — see `serviceHostSpec`).
9
- * Per-project service hosts get a `persist:miniapp-<key>` partition instead so
10
- * their localStorage/cookies are shared with that project's render side only.
11
- */
12
- export const SERVICE_HOST_PARTITION = SHARED_MINIAPP_PARTITION;
13
- /** Absolute path to the service-host preload (loaded at runtime by path). */
14
- export const serviceHostPreloadPath = path.join(devtoolsPackageRoot, 'dist/service-host/preload.cjs');
15
- const serviceHostHtmlPath = path.join(devtoolsPackageRoot, 'dist/service-host/service.html');
16
- /**
17
- * Construct an (un-navigated) service-host BrowserWindow. Split out from
18
- * `createServiceHostWindow` so a pre-warm pool can build the window once and
19
- * navigate it per spawn (the spawn context lives in the URL — see
20
- * `buildServiceHostSpawnUrl`). The process-model flags here are the contract
21
- * the service-host preload depends on (it `require('electron')` and writes
22
- * globals onto the page realm).
23
- */
24
- export function constructServiceHostWindow(opts = {}) {
25
- const partition = opts.partition ?? SERVICE_HOST_PARTITION;
26
- // Apply the simulator runtime's protocol handlers + webRequest policies to
27
- // THIS project's session before the window loads. Idempotent per partition.
28
- configureMiniappSession(partition);
29
- return new BrowserWindow({
30
- width: 980,
31
- height: 720,
32
- show: false,
33
- title: opts.appId ? `Dimina Service Host: ${opts.appId}` : 'Dimina Service Host',
34
- webPreferences: {
35
- partition,
36
- nodeIntegration: false,
37
- contextIsolation: false,
38
- sandbox: false,
39
- preload: serviceHostPreloadPath,
40
- devTools: true,
41
- },
42
- });
43
- }
44
- /**
45
- * Build the file:// spawn URL carrying the per-spawn context the preload reads
46
- * from `location.search` at eval time (bridgeId/appId/pagePath/pkgRoot/
47
- * resourceBaseUrl/hostEnv).
48
- */
49
- export function buildServiceHostSpawnUrl(opts) {
50
- const url = new URL(pathToFileURL(serviceHostHtmlPath).toString());
51
- url.searchParams.set('bridgeId', opts.bridgeId);
52
- url.searchParams.set('appId', opts.appId);
53
- url.searchParams.set('pagePath', opts.pagePath);
54
- url.searchParams.set('pkgRoot', opts.pkgRoot);
55
- url.searchParams.set('root', opts.root || 'main');
56
- url.searchParams.set('resourceBaseUrl', opts.resourceBaseUrl);
57
- if (opts.hostEnvSnapshot) {
58
- // Encode the resolved host-env so preload can hydrate
59
- // `__diminaSpawnContext.hostEnvSnapshot` before service.js loads.
60
- // Without this, sync-impls/system-info.ts falls back to generic defaults.
61
- url.searchParams.set('hostEnv', encodeURIComponent(JSON.stringify(opts.hostEnvSnapshot)));
62
- }
63
- if (opts.apiNamespaces && opts.apiNamespaces.length > 0) {
64
- // CSV of namespace names; the preload reads this back into
65
- // `globalThis.__diminaApiNamespaces`. URLSearchParams round-trips the comma.
66
- url.searchParams.set('apiNamespaces', opts.apiNamespaces.join(','));
67
- }
68
- return url.toString();
69
- }
70
- /**
71
- * Navigate a (constructed or pooled) service-host window to its spawn URL. The
72
- * preload re-evaluates on this navigation, rebuilding `__diminaSpawnContext`.
73
- * Returns the load promise (resolves on did-finish-load). Attaches the dev-only
74
- * detached-DevTools hook, matching the original behavior.
75
- *
76
- * A `loadURL` rejection is swallowed — the pooled-window recycle path expects
77
- * a failed navigation not to reject the caller — but `opts.onLoadFailed`, when
78
- * given, still observes the original rejection reason (routed by the caller
79
- * into the diagnostics bus) before this resolves.
80
- */
81
- export function navigateServiceHost(win, url, opts) {
82
- const loaded = Promise.resolve(win.loadURL(url)).then(() => undefined, (err) => {
83
- opts?.onLoadFailed?.(err);
84
- return undefined;
85
- });
86
- if (!app.isPackaged && process.env.NODE_ENV !== 'test') {
87
- // Recycled pooled windows get navigated repeatedly. A `once` hook that never
88
- // fires (the spawn was disposed before its service.html settled) stays on the
89
- // reused webContents and the next spawn's hook fires alongside it → DevTools
90
- // can open twice and stale hooks accumulate. Remove the prior hook before
91
- // attaching a fresh one. (Audit A6; dev-only.)
92
- const w = win;
93
- if (w.__diminaDevToolsHook) {
94
- try {
95
- win.webContents.removeListener('did-finish-load', w.__diminaDevToolsHook);
96
- }
97
- catch { /* wc gone */ }
98
- }
99
- const hook = () => {
100
- // URL-guard so a reset's about:blank load doesn't pop DevTools.
101
- if (!win.isDestroyed() && win.webContents.getURL().includes('service.html')) {
102
- win.webContents.openDevTools({ mode: 'detach' });
103
- }
104
- };
105
- w.__diminaDevToolsHook = hook;
106
- win.webContents.once('did-finish-load', hook);
107
- }
108
- return loaded;
109
- }
110
- /**
111
- * The spec a `ServiceHostPool` uses to pre-warm service-host windows. Keeps the
112
- * pooled window byte-equivalent to `constructServiceHostWindow`'s output, and
113
- * opts out of the reset storage-clear because the service host shares its
114
- * session with live projects (see ServiceHostSpec docs).
115
- *
116
- * KNOWN BLOCKER (intentional): the pre-warm pool is NOT per-project isolation
117
- * aware. It warms windows on ONE `defaultSpec` partition before any project is
118
- * known, so a pooled window cannot carry a project-derived partition — handing
119
- * one project's warmed window to another project would cross-contaminate
120
- * storage. Therefore the pool's `defaultSpec` (and pooled `acquire`) call this
121
- * with NO appId → the shared `persist:simulator` partition; per-project
122
- * isolation only applies on the default (non-pooled) `createServiceHostWindow`
123
- * path, which passes the project's appId. Reconciling pooling with per-project
124
- * partitions (e.g. per-partition sub-pools) is out of scope for this change.
125
- */
126
- export function serviceHostSpec(appId, projectPath) {
127
- return {
128
- // Per-project partition when an appId is known (so this project's service
129
- // host shares storage ONLY with its own render side); the shared partition
130
- // for the pre-warm pool's default spec (no appId — see KNOWN BLOCKER below).
131
- // projectPath joins the key so same-appId/different-path projects isolate;
132
- // it must match the simulator WCV's partition (view-manager passes the same
133
- // (appId, projectPath)).
134
- partition: appId ? miniappPartition(appId, projectPath) : SERVICE_HOST_PARTITION,
135
- preloadPath: serviceHostPreloadPath,
136
- size: { width: 980, height: 720 },
137
- contextIsolation: false,
138
- sandbox: false,
139
- nodeIntegration: false,
140
- clearStorageOnReset: false,
141
- };
142
- }
143
- /**
144
- * Construct + navigate a fresh service-host window (the non-pool path).
145
- * Behavior-identical to the pre-refactor implementation.
146
- */
147
- export function createServiceHostWindow(opts) {
148
- // Default (non-pooled) path: pin the service host to THIS project's partition
149
- // so its logic-layer localStorage/cookies are shared with the project's render
150
- // side only, never with other projects.
151
- const win = constructServiceHostWindow({ appId: opts.appId, partition: miniappPartition(opts.appId, opts.projectPath) });
152
- void navigateServiceHost(win, buildServiceHostSpawnUrl(opts), { onLoadFailed: opts.onLoadFailed });
153
- return win;
154
- }
1
+ export * from '@dimina-kit/electron-runtime/main/service-host-window';
155
2
  //# sourceMappingURL=create.js.map
@@ -401,7 +401,8 @@ function P(e) {
401
401
  if (i) for (let e in i) t[e] = i[e];
402
402
  }
403
403
  return t;
404
- } else if (M(e) || N(e)) return e;
404
+ }
405
+ if (M(e) || N(e)) return e;
405
406
  }
406
407
  var Ue = /;(?![^(]*\))/g, We = /:([^]+)/, Ge = /\/\*[^]*?\*\//g;
407
408
  function Ke(e) {
@@ -465,7 +466,7 @@ function dt(e, ...t) {
465
466
  }
466
467
  var ft, pt = class {
467
468
  constructor(e = !1) {
468
- this.detached = e, this._active = !0, this._on = 0, this.effects = [], this.cleanups = [], this._isPaused = !1, this._warnOnRun = !0, this.__v_skip = !0, !e && ft && (ft.active ? (this.parent = ft, this.index = (ft.scopes ||= []).push(this) - 1) : (this._active = !1, this._warnOnRun = !1));
469
+ this.detached = e, this._active = !0, this._on = 0, this.effects = [], this.cleanups = [], this._isPaused = !1, this._warnOnRun = !0, this.__v_skip = !0, !e && ft && (ft.active ? (this.parent = ft, this.index = (ft.scopes || (ft.scopes = [])).push(this) - 1) : (this._active = !1, this._warnOnRun = !1));
469
470
  }
470
471
  get active() {
471
472
  return this._active;
@@ -501,7 +502,8 @@ var ft, pt = class {
501
502
  } finally {
502
503
  ft = t;
503
504
  }
504
- } else process.env.NODE_ENV !== "production" && this._warnOnRun && dt("cannot run an inactive effect scope.");
505
+ }
506
+ process.env.NODE_ENV !== "production" && this._warnOnRun && dt("cannot run an inactive effect scope.");
505
507
  }
506
508
  on() {
507
509
  ++this._on === 1 && (this.prevScope = ft, ft = this);
@@ -766,9 +768,7 @@ function Ut(e, t, n, r, i, a) {
766
768
  case "delete":
767
769
  i || (s(o.get(zt)), _e(e) && s(o.get(Bt)));
768
770
  break;
769
- case "set":
770
- _e(e) && s(o.get(zt));
771
- break;
771
+ case "set": _e(e) && s(o.get(zt));
772
772
  }
773
773
  }
774
774
  St();
@@ -1418,7 +1418,8 @@ function ur(e, t, n, r) {
1418
1418
  let i = [];
1419
1419
  for (let a = 0; a < e.length; a++) i.push(ur(e[a], t, n, r));
1420
1420
  return i;
1421
- } else process.env.NODE_ENV !== "production" && z(`Invalid value type passed to callWithAsyncErrorHandling(): ${typeof e}`);
1421
+ }
1422
+ process.env.NODE_ENV !== "production" && z(`Invalid value type passed to callWithAsyncErrorHandling(): ${typeof e}`);
1422
1423
  }
1423
1424
  function dr(e, t, n, r = !0) {
1424
1425
  let i = t ? t.vnode : null, { errorHandler: a, throwUnhandledErrorInProduction: o } = t && t.appContext.config || D;
@@ -1547,7 +1548,7 @@ function Ir(e) {
1547
1548
  Pr.get(e.type.__hmrId).instances.delete(e);
1548
1549
  }
1549
1550
  function Lr(e, t) {
1550
- return Pr.has(e) ? !1 : (Pr.set(e, {
1551
+ return !Pr.has(e) && (Pr.set(e, {
1551
1552
  initialDef: Rr(t),
1552
1553
  instances: /* @__PURE__ */ new Set()
1553
1554
  }), !0);
@@ -1763,7 +1764,7 @@ var yi = /* @__PURE__ */ new WeakMap(), bi = /* @__PURE__ */ Symbol("_vte"), xi
1763
1764
  let r = t(n);
1764
1765
  return process.env.NODE_ENV !== "production" && !r && !Si(e) && z(`Failed to locate Teleport target with selector "${n}". Note the target element must exist before the component is mounted - i.e. the target cannot be rendered by the component itself, and ideally should be outside of the entire Vue component tree.`), r;
1765
1766
  } else return process.env.NODE_ENV !== "production" && z("Current renderer does not support string target for Teleports. (missing querySelector renderer option)"), null;
1766
- else return process.env.NODE_ENV !== "production" && !n && !Si(e) && z(`Invalid Teleport target: ${n}`), n;
1767
+ return process.env.NODE_ENV !== "production" && !n && !Si(e) && z(`Invalid Teleport target: ${n}`), n;
1767
1768
  }, Di = {
1768
1769
  name: "Teleport",
1769
1770
  __isTeleport: !0,
@@ -1972,7 +1973,8 @@ function Ji(e, t, n = qs, r = !1) {
1972
1973
  return i(), Mt(), a;
1973
1974
  };
1974
1975
  return r ? i.unshift(a) : i.push(a), a;
1975
- } else process.env.NODE_ENV !== "production" && z(`${Fe(cr[e].replace(/ hook$/, ""))} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.`);
1976
+ }
1977
+ process.env.NODE_ENV !== "production" && z(`${Fe(cr[e].replace(/ hook$/, ""))} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.`);
1976
1978
  }
1977
1979
  var Yi = (e) => (t, n = qs) => {
1978
1980
  (!nc || e === "sp") && Ji(e, (...e) => t(...e), n);
@@ -2006,7 +2008,8 @@ function da(e, t, n = !0, r = !1) {
2006
2008
  z(`Failed to resolve ${e.slice(0, -1)}: ${t}${n}`);
2007
2009
  }
2008
2010
  return o;
2009
- } else process.env.NODE_ENV !== "production" && z(`resolve${Pe(e.slice(0, -1))} can only be used in render() or setup().`);
2011
+ }
2012
+ process.env.NODE_ENV !== "production" && z(`resolve${Pe(e.slice(0, -1))} can only be used in render() or setup().`);
2010
2013
  }
2011
2014
  function fa(e, t) {
2012
2015
  return e && (e[t] || e[je(t)] || e[Pe(je(t))]);
@@ -2607,7 +2610,7 @@ function ho(e, t, n, r = !1) {
2607
2610
  let i = {}, a = po();
2608
2611
  e.propsDefaults = /* @__PURE__ */ Object.create(null), vo(e, t, i, a);
2609
2612
  for (let t in e.propsOptions[0]) t in i || (i[t] = void 0);
2610
- process.env.NODE_ENV !== "production" && wo(t || {}, i, e), n ? e.props = r ? i : /* @__PURE__ */ On(i) : e.type.props ? e.props = i : e.props = a, e.attrs = a;
2613
+ process.env.NODE_ENV !== "production" && wo(t || {}, i, e), e.props = n ? r ? i : /* @__PURE__ */ On(i) : e.type.props ? i : a, e.attrs = a;
2611
2614
  }
2612
2615
  function go(e) {
2613
2616
  for (; e;) {
@@ -2706,7 +2709,8 @@ function xo(e, t, n = !1) {
2706
2709
  if (n === "Boolean") {
2707
2710
  c = !0;
2708
2711
  break;
2709
- } else n === "String" && (l = !1);
2712
+ }
2713
+ n === "String" && (l = !1);
2710
2714
  }
2711
2715
  else c = j(i) && i.name === "Boolean";
2712
2716
  r[0] = c, r[1] = l, (c || k(r, "default")) && s.push(t);
@@ -2717,7 +2721,7 @@ function xo(e, t, n = !1) {
2717
2721
  return N(e) && r.set(e, l), l;
2718
2722
  }
2719
2723
  function So(e) {
2720
- return e[0] !== "$" && !De(e) ? !0 : (process.env.NODE_ENV !== "production" && z(`Invalid prop name: "${e}" is a reserved property.`), !1);
2724
+ return e[0] !== "$" && !De(e) || (process.env.NODE_ENV !== "production" && z(`Invalid prop name: "${e}" is a reserved property.`), !1);
2721
2725
  }
2722
2726
  function Co(e) {
2723
2727
  return e === null ? "null" : typeof e == "function" ? e.name || "" : typeof e == "object" && e.constructor && e.constructor.name || "";
@@ -3048,7 +3052,8 @@ function Jo(e, t) {
3048
3052
  if (p & 128) {
3049
3053
  fe(l, f, n, r, i, a, o, s, c);
3050
3054
  return;
3051
- } else if (p & 256) {
3055
+ }
3056
+ if (p & 256) {
3052
3057
  le(l, f, n, r, i, a, o, s, c);
3053
3058
  return;
3054
3059
  }
@@ -3297,7 +3302,7 @@ function cs(e, t, n, r, i, a, o, s, { p: c, um: l, o: { createElement: u } }) {
3297
3302
  let f = t.ssContent, p = t.ssFallback, { activeBranch: m, pendingBranch: h, isInFallback: g, isHydrating: _ } = d;
3298
3303
  if (h) d.pendingBranch = f, Os(h, f) ? (c(h, f, d.hiddenContainer, null, i, d, a, o, s), d.deps <= 0 ? d.resolve() : g && (_ || (c(m, p, n, r, i, null, a, o, s), hs(d, p)))) : (d.pendingId = is++, _ ? (d.isHydrating = !1, d.activeBranch = h) : l(h, i, d), d.deps = 0, d.effects.length = 0, d.hiddenContainer = u("div"), g ? (c(null, f, d.hiddenContainer, null, i, d, a, o, s), d.deps <= 0 ? d.resolve() : (c(m, p, n, r, i, null, a, o, s), hs(d, p))) : m && Os(m, f) ? (c(m, f, n, r, i, d, a, o, s), d.resolve(!0)) : (c(null, f, d.hiddenContainer, null, i, d, a, o, s), d.deps <= 0 && d.resolve()));
3299
3304
  else if (m && Os(m, f)) c(m, f, n, r, i, d, a, o, s), hs(d, f);
3300
- else if (os(t, "onPending"), d.pendingBranch = f, f.shapeFlag & 512 ? d.pendingId = f.component.suspenseId : d.pendingId = is++, c(null, f, d.hiddenContainer, null, i, d, a, o, s), d.deps <= 0) d.resolve();
3305
+ else if (os(t, "onPending"), d.pendingBranch = f, d.pendingId = f.shapeFlag & 512 ? f.component.suspenseId : is++, c(null, f, d.hiddenContainer, null, i, d, a, o, s), d.deps <= 0) d.resolve();
3301
3306
  else {
3302
3307
  let { timeout: e, pendingId: t } = d;
3303
3308
  e > 0 ? setTimeout(() => {
@@ -3665,7 +3670,7 @@ function Ks(e, t, n) {
3665
3670
  ec: null,
3666
3671
  sp: null
3667
3672
  };
3668
- return process.env.NODE_ENV === "production" ? a.ctx = { _: a } : a.ctx = xa(a), a.root = t ? t.root : a, a.emit = Ya.bind(null, a), e.ce && e.ce(a), a;
3673
+ return a.ctx = process.env.NODE_ENV === "production" ? { _: a } : xa(a), a.root = t ? t.root : a, a.emit = Ya.bind(null, a), e.ce && e.ce(a), a;
3669
3674
  }
3670
3675
  var qs = null, Js = () => qs || ai, Ys, Xs;
3671
3676
  {
@@ -3798,7 +3803,8 @@ function fc(e) {
3798
3803
  },
3799
3804
  expose: t
3800
3805
  });
3801
- } else return {
3806
+ }
3807
+ return {
3802
3808
  attrs: new Proxy(e.attrs, uc),
3803
3809
  slots: e.slots,
3804
3810
  emit: e.emit,
@@ -3880,7 +3886,8 @@ function bc() {
3880
3886
  s(n),
3881
3887
  ">"
3882
3888
  ];
3883
- } else if (/* @__PURE__ */ Mn(t)) return [
3889
+ }
3890
+ return /* @__PURE__ */ Mn(t) ? [
3884
3891
  "div",
3885
3892
  {},
3886
3893
  [
@@ -3891,8 +3898,7 @@ function bc() {
3891
3898
  "<",
3892
3899
  s(t),
3893
3900
  `>${/* @__PURE__ */ Nn(t) ? " (readonly)" : ""}`
3894
- ];
3895
- else if (/* @__PURE__ */ Nn(t)) return [
3901
+ ] : /* @__PURE__ */ Nn(t) ? [
3896
3902
  "div",
3897
3903
  {},
3898
3904
  [
@@ -3903,8 +3909,7 @@ function bc() {
3903
3909
  "<",
3904
3910
  s(t),
3905
3911
  ">"
3906
- ];
3907
- return null;
3912
+ ] : null;
3908
3913
  },
3909
3914
  hasBody(e) {
3910
3915
  return e && e.__isVue;
@@ -4735,7 +4740,7 @@ function lu(e) {
4735
4740
  let t = {};
4736
4741
  for (let n in e) if (Object.prototype.hasOwnProperty.call(e, n)) {
4737
4742
  let r = e[n];
4738
- /* @__PURE__ */ zn(r) ? t[n] = R(r) : /* @__PURE__ */ Mn(r) ? t[n] = /* @__PURE__ */ I(r) : typeof r == "object" && r ? t[n] = lu(r) : t[n] = r;
4743
+ t[n] = /* @__PURE__ */ zn(r) ? R(r) : /* @__PURE__ */ Mn(r) ? /* @__PURE__ */ I(r) : typeof r == "object" && r ? lu(r) : r;
4739
4744
  }
4740
4745
  return t;
4741
4746
  }
@@ -5471,16 +5476,14 @@ var Ru = {
5471
5476
  });
5472
5477
  }
5473
5478
  break;
5474
- case "focusout":
5475
- Q("blur", {
5476
- event: e,
5477
- info: h,
5478
- detail: {
5479
- value: t,
5480
- cursor: e.target.selectionEnd
5481
- }
5482
- });
5483
- break;
5479
+ case "focusout": Q("blur", {
5480
+ event: e,
5481
+ info: h,
5482
+ detail: {
5483
+ value: t,
5484
+ cursor: e.target.selectionEnd
5485
+ }
5486
+ });
5484
5487
  }
5485
5488
  }
5486
5489
  return (t, n) => (G(), K("div", J({
@@ -6073,9 +6076,7 @@ var Ru = {
6073
6076
  case "navigateBack":
6074
6077
  tu("navigateBack", { bridgeId: a.bridgeId });
6075
6078
  break;
6076
- case "exit":
6077
- n === "miniProgram" && tu("exit", { bridgeId: a.bridgeId });
6078
- break;
6079
+ case "exit": n === "miniProgram" && tu("exit", { bridgeId: a.bridgeId });
6079
6080
  }
6080
6081
  }
6081
6082
  }
@@ -7780,16 +7781,14 @@ var Ru = {
7780
7781
  });
7781
7782
  }
7782
7783
  break;
7783
- case "focusout":
7784
- Q("blur", {
7785
- event: e,
7786
- info: f,
7787
- detail: {
7788
- value: t,
7789
- cursor: e.target.selectionEnd
7790
- }
7791
- });
7792
- break;
7784
+ case "focusout": Q("blur", {
7785
+ event: e,
7786
+ info: f,
7787
+ detail: {
7788
+ value: t,
7789
+ cursor: e.target.selectionEnd
7790
+ }
7791
+ });
7793
7792
  }
7794
7793
  }
7795
7794
  let h = Y(() => ({
@@ -8183,10 +8182,7 @@ var vp = ["id", "data-dimina-native-id"], yp = ["id"], bp = ["id"], xp = [
8183
8182
  case "exitFullScreen":
8184
8183
  document.exitFullscreen?.() || document.webkitExitFullscreen?.();
8185
8184
  break;
8186
- case "exitPictureInPicture":
8187
- document.pictureInPictureElement && document.exitPictureInPicture?.();
8188
- break;
8189
- default: break;
8185
+ case "exitPictureInPicture": document.pictureInPictureElement && document.exitPictureInPicture?.();
8190
8186
  }
8191
8187
  }
8192
8188
  function g() {
@@ -8643,6 +8639,7 @@ var Jp = new class {
8643
8639
  } }, { default: () => yc(e, { class: "dd-page" }) });
8644
8640
  },
8645
8641
  components: { [u]: {
8642
+ name: t,
8646
8643
  __scopeId: d,
8647
8644
  async setup(e, { expose: r }) {
8648
8645
  r(), B("bridgeId", n), B("path", t), B(t, { id: l.pageId }), B("info", {
@@ -8733,6 +8730,7 @@ var Jp = new class {
8733
8730
  if (!r?.moduleInfo) continue;
8734
8731
  let { id: l, usingComponents: u } = r.moduleInfo, d = this.createComponent(c, t, u, s), f = `data-v-${l}`;
8735
8732
  a[`dd-${i}`] = {
8733
+ name: c,
8736
8734
  __scopeId: f,
8737
8735
  components: d,
8738
8736
  props: r.props,
@@ -9060,7 +9058,8 @@ var Jp = new class {
9060
9058
  if (r) {
9061
9059
  let e = a.querySelector(o);
9062
9060
  return e ? await this.parseElement(e, i) : null;
9063
- } else {
9061
+ }
9062
+ {
9064
9063
  let e = a.querySelectorAll(o), t = [];
9065
9064
  for (let n of e) {
9066
9065
  let e = await this.parseElement(n, i);