@dimina-kit/devtools 0.4.0-dev.20260828161241 → 0.4.0-dev.20260907055341
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/README.md +52 -729
- package/dist/main/app/app.d.ts +27 -7
- package/dist/main/app/app.js +285 -681
- package/dist/main/app/editor-view.d.ts +21 -0
- package/dist/main/app/editor-view.js +71 -0
- package/dist/main/app/global-mirrors.d.ts +23 -0
- package/dist/main/app/global-mirrors.js +37 -0
- package/dist/main/app/host-sidebar-default.d.ts +19 -0
- package/dist/main/app/host-sidebar-default.js +44 -0
- package/dist/main/app/menu-setup.d.ts +13 -0
- package/dist/main/app/menu-setup.js +49 -0
- package/dist/main/app/open-project-ipc.d.ts +13 -0
- package/dist/main/app/open-project-ipc.js +21 -0
- package/dist/main/app/project-list-surface.d.ts +31 -0
- package/dist/main/app/project-list-surface.js +20 -0
- package/dist/main/app/project-window.d.ts +36 -0
- package/dist/main/app/project-window.js +93 -0
- package/dist/main/app/servers.d.ts +17 -0
- package/dist/main/app/servers.js +60 -0
- package/dist/main/app/ui-extension-targets.d.ts +42 -0
- package/dist/main/app/ui-extension-targets.js +101 -0
- package/dist/main/app/window-close-reveal.harness.d.ts +34 -0
- package/dist/main/app/window-close-reveal.harness.js +65 -0
- package/dist/main/app/window-events.d.ts +15 -0
- package/dist/main/app/window-events.js +45 -0
- package/dist/main/app/window-runtime-services.d.ts +41 -0
- package/dist/main/app/window-runtime-services.js +178 -0
- package/dist/main/app/workbench-modules.d.ts +24 -0
- package/dist/main/app/workbench-modules.js +51 -0
- package/dist/main/app/workbench-window.d.ts +85 -0
- package/dist/main/app/workbench-window.js +310 -0
- package/dist/main/index.bundle.js +10669 -9096
- package/dist/main/ipc/app.d.ts +4 -1
- package/dist/main/ipc/app.js +4 -3
- package/dist/main/ipc/device-picker.d.ts +16 -0
- package/dist/main/ipc/device-picker.js +27 -0
- package/dist/main/ipc/index.d.ts +1 -0
- package/dist/main/ipc/index.js +1 -0
- package/dist/main/ipc/internal-devtools.d.ts +2 -1
- package/dist/main/ipc/internal-devtools.js +4 -3
- package/dist/main/ipc/popover.d.ts +4 -1
- package/dist/main/ipc/popover.js +25 -9
- package/dist/main/ipc/project-create.d.ts +2 -1
- package/dist/main/ipc/project-create.js +6 -5
- package/dist/main/ipc/project-fs.d.ts +3 -1
- package/dist/main/ipc/project-fs.js +17 -17
- package/dist/main/ipc/projects.d.ts +3 -3
- package/dist/main/ipc/projects.js +13 -12
- package/dist/main/ipc/session.d.ts +4 -1
- package/dist/main/ipc/session.js +16 -11
- package/dist/main/ipc/settings.d.ts +4 -1
- package/dist/main/ipc/settings.js +12 -19
- package/dist/main/ipc/simulator-module.d.ts +5 -0
- package/dist/main/ipc/simulator-module.js +9 -5
- package/dist/main/ipc/simulator.d.ts +4 -1
- package/dist/main/ipc/simulator.js +12 -18
- package/dist/main/ipc/tooltip.d.ts +2 -1
- package/dist/main/ipc/tooltip.js +8 -7
- package/dist/main/ipc/views.d.ts +4 -1
- package/dist/main/ipc/views.js +20 -9
- package/dist/main/runtime/devtools-backend-before-quit.harness.d.ts +2 -20
- package/dist/main/runtime/devtools-backend-before-quit.harness.js +14 -283
- package/dist/main/runtime/devtools-backend.js +14 -3
- package/dist/main/runtime/devtools-runtime-mock.harness.d.ts +21 -0
- package/dist/main/runtime/devtools-runtime-mock.harness.js +313 -0
- package/dist/main/services/app-services.d.ts +62 -0
- package/dist/main/services/app-services.js +64 -0
- package/dist/main/services/automation/connection-target.d.ts +36 -0
- package/dist/main/services/automation/connection-target.js +29 -0
- package/dist/main/services/automation/console-bridge.d.ts +28 -0
- package/dist/main/services/automation/console-bridge.js +91 -0
- package/dist/main/services/automation/handlers/app.js +4 -4
- package/dist/main/services/automation/handlers/element.js +55 -21
- package/dist/main/services/automation/index.d.ts +12 -1
- package/dist/main/services/automation/index.js +54 -133
- package/dist/main/services/default-adapter.js +1 -1
- package/dist/main/services/fs-bridge-protocol.d.ts +61 -0
- package/dist/main/services/fs-bridge-protocol.js +34 -0
- package/dist/main/services/fs-watch-sse.d.ts +8 -1
- package/dist/main/services/fs-watch-sse.js +19 -5
- package/dist/main/services/mcp/connection-owner.d.ts +38 -0
- package/dist/main/services/mcp/connection-owner.js +79 -0
- package/dist/main/services/mcp/index.d.ts +3 -1
- package/dist/main/services/mcp/index.js +4 -3
- package/dist/main/services/mcp/opened-project.d.ts +88 -0
- package/dist/main/services/mcp/opened-project.js +60 -0
- package/dist/main/services/mcp/target-manager.d.ts +71 -23
- package/dist/main/services/mcp/target-manager.js +269 -142
- package/dist/main/services/mcp/target-selection.d.ts +47 -0
- package/dist/main/services/mcp/target-selection.js +71 -0
- package/dist/main/services/mcp/tools/context-tools.js +20 -5
- package/dist/main/services/mcp/tools/project-tools.d.ts +29 -6
- package/dist/main/services/mcp/tools/project-tools.js +37 -25
- package/dist/main/services/module.d.ts +13 -5
- package/dist/main/services/notifications/renderer-notifier.d.ts +28 -4
- package/dist/main/services/notifications/renderer-notifier.js +15 -3
- package/dist/main/services/projects/local-provider.js +2 -0
- package/dist/main/services/projects/project-repository.d.ts +31 -1
- package/dist/main/services/projects/project-repository.js +144 -20
- package/dist/main/services/projects/types.d.ts +31 -8
- package/dist/main/services/safe-area/index.d.ts +19 -5
- package/dist/main/services/safe-area/index.js +38 -13
- package/dist/main/services/simulator/ui-extensions.d.ts +8 -0
- package/dist/main/services/simulator/ui-extensions.js +16 -6
- package/dist/main/services/simulator-storage/index.d.ts +12 -1
- package/dist/main/services/simulator-storage/index.js +22 -7
- package/dist/main/services/simulator-storage/window-scope.d.ts +20 -0
- package/dist/main/services/simulator-storage/window-scope.js +20 -0
- package/dist/main/services/views/host-slot-port-channel.d.ts +20 -3
- package/dist/main/services/views/host-slot-port-channel.js +33 -5
- package/dist/main/services/views/managed-web-contents-view.js +21 -1
- package/dist/main/services/views/native-simulator-view.js +13 -16
- package/dist/main/services/views/overlay-panels-view.d.ts +13 -0
- package/dist/main/services/views/overlay-panels-view.js +31 -0
- package/dist/main/services/views/view-manager.d.ts +1 -1
- package/dist/main/services/views/view-manager.js +3 -0
- package/dist/main/services/window-contexts/context-router.d.ts +36 -0
- package/dist/main/services/window-contexts/context-router.js +55 -0
- package/dist/main/services/workbench-coi-host.d.ts +52 -0
- package/dist/main/services/workbench-coi-host.js +227 -0
- package/dist/main/services/workbench-coi-server.js +75 -133
- package/dist/main/services/workbench-coi-shutdown.d.ts +40 -0
- package/dist/main/services/workbench-coi-shutdown.js +69 -0
- package/dist/main/services/workbench-coi-static.d.ts +23 -0
- package/dist/main/services/workbench-coi-static.js +87 -0
- package/dist/main/services/workbench-context.d.ts +27 -3
- package/dist/main/services/workbench-context.js +10 -5
- package/dist/main/services/workspace/compile-mode-adapter.d.ts +18 -0
- package/dist/main/services/workspace/compile-mode-adapter.js +57 -0
- package/dist/main/services/workspace/compile-mode-store.d.ts +25 -0
- package/dist/main/services/workspace/compile-mode-store.js +71 -0
- package/dist/main/services/workspace/workspace-compile-modes.d.ts +59 -0
- package/dist/main/services/workspace/workspace-compile-modes.js +93 -0
- package/dist/main/services/workspace/workspace-referer.d.ts +17 -0
- package/dist/main/services/workspace/workspace-referer.js +26 -0
- package/dist/main/services/workspace/workspace-service.d.ts +4 -0
- package/dist/main/services/workspace/workspace-service.js +51 -84
- package/dist/main/services/workspace/workspace-thumbnails.d.ts +22 -0
- package/dist/main/services/workspace/workspace-thumbnails.js +67 -0
- package/dist/main/utils/ipc-context-source.d.ts +40 -0
- package/dist/main/utils/ipc-context-source.js +23 -0
- package/dist/main/utils/ipc-registry.d.ts +42 -36
- package/dist/main/utils/ipc-registry.js +117 -50
- package/dist/main/utils/sender-policy.d.ts +9 -0
- package/dist/main/utils/sender-policy.js +26 -3
- package/dist/main/utils/theme.d.ts +3 -2
- package/dist/main/utils/theme.js +3 -2
- package/dist/main/windows/main-window/create.d.ts +16 -0
- package/dist/main/windows/main-window/create.js +19 -11
- package/dist/main/windows/main-window/events.d.ts +1 -1
- package/dist/main/windows/main-window/events.js +26 -13
- package/dist/main/windows/main-window/index.d.ts +1 -1
- package/dist/main/windows/main-window/index.js +1 -1
- package/dist/native-host/common/common.js +94 -73
- package/dist/native-host/render/render.js +4079 -3171
- package/dist/native-host/service/service.js +2 -2
- package/dist/preload/runtime/native-host.d.ts +4 -0
- package/dist/preload/runtime/temp-files.js +9 -2
- package/dist/preload/runtime/wait-for-slot-root.d.ts +7 -4
- package/dist/preload/runtime/wait-for-slot-root.js +36 -8
- package/dist/preload/windows/host-dialog-runtime.cjs +10 -3
- package/dist/preload/windows/host-dialog-runtime.cjs.map +2 -2
- package/dist/preload/windows/host-sidebar-runtime.cjs +10 -3
- package/dist/preload/windows/host-sidebar-runtime.cjs.map +2 -2
- package/dist/preload/windows/host-toolbar-runtime.cjs +10 -3
- package/dist/preload/windows/host-toolbar-runtime.cjs.map +2 -2
- package/dist/preload/windows/main.cjs +181 -4
- package/dist/preload/windows/main.cjs.map +4 -4
- package/dist/preload/windows/simulator.cjs +10 -0
- package/dist/preload/windows/simulator.cjs.map +2 -2
- package/dist/preload/windows/simulator.js +10 -0
- package/dist/render-host/pageFrame.html +1 -1
- package/dist/render-host/preload.cjs +16 -4
- package/dist/renderer/assets/button-CB2MWjHY.js +2 -0
- package/dist/renderer/assets/constants-CkoGPQTS.js +2 -0
- package/dist/renderer/assets/constants-zQZ2-y21.js +2 -0
- package/dist/renderer/assets/{createLucideIcon-Bqi8hpdi.js → createLucideIcon-cZ9FlZZw.js} +2 -2
- package/dist/renderer/assets/devicePicker-H2eIO4e1.js +2 -0
- package/dist/renderer/assets/dialog-pHzEA8Vx.js +46 -0
- package/dist/renderer/assets/dist-B5HADirS.js +2 -0
- package/dist/renderer/assets/{dist-DKWdE1TK.js → dist-DIFlRMKe.js} +2 -2
- package/dist/renderer/assets/hostSidebarDefault-DRWh6OCt.js +2 -0
- package/dist/renderer/assets/index-CEL_XFge.js +2 -0
- package/dist/renderer/assets/{input-Ct3alvkq.js → input-CAObw95L.js} +2 -2
- package/dist/renderer/assets/ipc-channels-overlays-gIPUFnqc.js +2 -0
- package/dist/renderer/assets/jsx-runtime-DICEQH_0.css +1 -0
- package/dist/renderer/assets/{jsx-runtime-DGLHmmOq.js → jsx-runtime-DIw5wnYl.js} +1 -1
- package/dist/renderer/assets/plus-BQ9u5EbL.js +2 -0
- package/dist/renderer/assets/popover-Cw7G2Ctp.js +2 -0
- package/dist/renderer/assets/presets-DMZOb9ay.js +2 -0
- package/dist/renderer/assets/project-api-YTOr_Yvo.js +2 -0
- package/dist/renderer/assets/{projectCreateDialog-Bbjz75bP.js → projectCreateDialog-BmLqiYxn.js} +2 -2
- package/dist/renderer/assets/search-BMvuYF48.js +2 -0
- package/dist/renderer/assets/select-nFP95TxM.js +2 -0
- package/dist/renderer/assets/settings-CnpVfSWt.js +2 -0
- package/dist/renderer/assets/settings-api-Ccsf-Nsj.js +2 -0
- package/dist/renderer/assets/settings-tab-bar-CAzrv32m.js +2 -0
- package/dist/renderer/assets/smartphone-Bb2GdIKy.js +2 -0
- package/dist/renderer/assets/tabs-CPKN3Mmq.js +2 -0
- package/dist/renderer/assets/{tooltip-B_-_YVbw.js → tooltip-D6AxXRk5.js} +2 -2
- package/dist/renderer/assets/types-Bh0hA7El.js +2 -0
- package/dist/renderer/assets/updateDialog-CwndJ0Bl.js +2 -0
- package/dist/renderer/assets/{utils-kfQov6Pa.js → utils-sEB5OZEQ.js} +2 -2
- package/dist/renderer/assets/view-api-B-2zPBR5.js +2 -0
- package/dist/renderer/assets/view-ids-BfaDVV5P.js +2 -0
- package/dist/renderer/assets/workbench-BLJ0wKsg.js +5 -0
- package/dist/renderer/assets/{workbenchSettings-CV4LVA9b.js → workbenchSettings-YD0Ctbm_.js} +3 -3
- package/dist/renderer/entries/device-picker/index.html +28 -0
- package/dist/renderer/entries/host-sidebar-default/index.html +6 -5
- package/dist/renderer/entries/main/index.html +16 -17
- package/dist/renderer/entries/popover/index.html +16 -10
- package/dist/renderer/entries/project-create-dialog/index.html +12 -12
- package/dist/renderer/entries/settings/index.html +10 -10
- package/dist/renderer/entries/tooltip/index.html +5 -5
- package/dist/renderer/entries/update-dialog/index.html +10 -10
- package/dist/renderer/entries/workbench/index.html +49 -0
- package/dist/renderer/entries/workbench-settings/index.html +12 -11
- package/dist/service-host/host-env-update.cjs +23 -0
- package/dist/service-host/preload.cjs +24 -49
- package/dist/service-host/service-message-queue.cjs +71 -0
- package/dist/service-host/sync-impls/system-info.js +31 -9
- package/dist/shared/compile-mode-state.d.ts +73 -0
- package/dist/shared/compile-mode-state.js +100 -0
- package/dist/shared/compile-modes.d.ts +152 -0
- package/dist/shared/compile-modes.js +237 -0
- package/dist/shared/ipc-channels-overlays.d.ts +8 -2
- package/dist/shared/ipc-channels-overlays.js +19 -2
- package/dist/shared/ipc-channels.d.ts +5 -10
- package/dist/shared/ipc-channels.js +17 -14
- package/dist/shared/ipc-schemas.d.ts +76 -24
- package/dist/shared/ipc-schemas.js +55 -10
- package/dist/shared/project-window-types.d.ts +42 -0
- package/dist/shared/project-window-types.js +2 -0
- package/dist/shared/types.d.ts +43 -17
- package/dist/shared/view-ids.d.ts +1 -0
- package/dist/shared/view-ids.js +3 -1
- package/dist/simulator/assets/bridge-channels-B3JAmRfl.js +2 -0
- package/dist/simulator/assets/device-shell-ATEhHV2_.css +1 -0
- package/dist/simulator/assets/device-shell-pxnZZp10.js +431 -0
- package/dist/simulator/assets/simulator-Dwp7lnvu.js +10 -0
- package/dist/simulator/assets/simulator-mini-app-DFo7fhi5.js +2 -0
- package/dist/simulator/assets/simulator-ui-B2ddJB1R.js +2 -0
- package/dist/simulator/simulator.html +3 -3
- package/dist/simulator/temp-files.d.ts +6 -0
- package/dist/simulator/temp-files.js +46 -4
- package/dist/simulator/types.d.ts +7 -0
- package/dist/vscode-workbench/assets/__vite-browser-external-JIkWewFf.js +1 -0
- package/dist/vscode-workbench/assets/{dist-CMfmHflW.js → dist-CXG-u1VB.js} +3 -3
- package/dist/vscode-workbench/assets/{iconv-lite-umd-Bx8CgaZq.js → iconv-lite-umd-Dxx9Qyb4.js} +1 -1
- package/dist/vscode-workbench/assets/{index-CdG6YWhW.js → index-6VJMsaWj.js} +460 -460
- package/dist/vscode-workbench/assets/{jschardet-M0qgd2lN.js → jschardet-Ba3D16vt.js} +1 -1
- package/dist/vscode-workbench/index.html +1 -1
- package/package.json +11 -8
- package/dist/renderer/assets/button-D5Q2wkXq.js +0 -2
- package/dist/renderer/assets/constants-D7DfVqMp.js +0 -2
- package/dist/renderer/assets/constants-D8zsejFq.js +0 -2
- package/dist/renderer/assets/dialog-e1TecTOY.js +0 -46
- package/dist/renderer/assets/hostSidebarDefault-B3yLfy8j.js +0 -2
- package/dist/renderer/assets/index-CsPD68N_.js +0 -5
- package/dist/renderer/assets/ipc-channels-overlays-LsDzGAtV.js +0 -2
- package/dist/renderer/assets/jsx-runtime-2vXHouwr.css +0 -1
- package/dist/renderer/assets/popover-Dix5cm_b.js +0 -2
- package/dist/renderer/assets/project-api-k7Oq9iaq.js +0 -2
- package/dist/renderer/assets/select-acGb0AmJ.js +0 -2
- package/dist/renderer/assets/settings-CQrTMr43.js +0 -2
- package/dist/renderer/assets/settings-api-CrUQ9rYV.js +0 -2
- package/dist/renderer/assets/settings-tab-bar-Cw1kVIf2.js +0 -2
- package/dist/renderer/assets/types-CsEKtFyr.js +0 -2
- package/dist/renderer/assets/updateDialog-NsF8223A.js +0 -2
- package/dist/renderer/assets/view-api-CLn3rcQE.js +0 -2
- package/dist/simulator/assets/bridge-channels-zhsumfky.js +0 -2
- package/dist/simulator/assets/device-shell-CmtM1QxP.js +0 -2
- package/dist/simulator/assets/device-shell-iFZo1igL.css +0 -1
- package/dist/simulator/assets/simulator-CIobn3Mh.js +0 -10
- package/dist/simulator/assets/simulator-mini-app-CRe6n9br.js +0 -2
- package/dist/simulator/assets/simulator-ui-C_cP602X.js +0 -2
- package/dist/vscode-workbench/assets/__vite-browser-external-Bc1vizTf.js +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dimina-kit/devtools",
|
|
3
|
-
"version": "0.4.0-dev.
|
|
3
|
+
"version": "0.4.0-dev.20260907055341",
|
|
4
4
|
"description": "Dimina DevTools - modular developer tools for mini app debugging",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"dimina",
|
|
@@ -85,16 +85,19 @@
|
|
|
85
85
|
"node": ">=20"
|
|
86
86
|
},
|
|
87
87
|
"dependencies": {
|
|
88
|
+
"@devicekit/devices": "^0.2.2",
|
|
89
|
+
"@devicekit/frame": "^0.2.2",
|
|
88
90
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
89
91
|
"@radix-ui/react-slot": "^1.3.3",
|
|
90
92
|
"chrome-remote-interface": "^0.34.0",
|
|
91
93
|
"ws": "^8.20.0",
|
|
92
94
|
"zod": "^4.3.6",
|
|
93
|
-
"@dimina-kit/
|
|
94
|
-
"@dimina-kit/
|
|
95
|
-
"@dimina-kit/
|
|
96
|
-
"@dimina-kit/electron-
|
|
97
|
-
"@dimina-kit/
|
|
95
|
+
"@dimina-kit/design": "0.1.0-dev.20260907055341",
|
|
96
|
+
"@dimina-kit/devkit": "0.1.2-dev.20260907055341",
|
|
97
|
+
"@dimina-kit/electron-deck": "0.1.0-dev.20260907055341",
|
|
98
|
+
"@dimina-kit/electron-runtime": "0.1.0-dev.20260907055341",
|
|
99
|
+
"@dimina-kit/inspect": "0.4.0-dev.20260907055341",
|
|
100
|
+
"@dimina-kit/view-anchor": "0.1.0-dev.20260907055341"
|
|
98
101
|
},
|
|
99
102
|
"devDependencies": {
|
|
100
103
|
"@playwright/test": "^1.59.1",
|
|
@@ -138,9 +141,9 @@
|
|
|
138
141
|
"typescript": "5.9.2",
|
|
139
142
|
"vite": "^8.0.8",
|
|
140
143
|
"vitest": "^4.1.4",
|
|
141
|
-
"@dimina-kit/eslint-config": "0.1.0",
|
|
142
144
|
"@dimina-kit/typescript-config": "0.1.0",
|
|
143
|
-
"@dimina-kit/workbench": "0.1.0"
|
|
145
|
+
"@dimina-kit/workbench": "0.1.0",
|
|
146
|
+
"@dimina-kit/eslint-config": "0.1.0"
|
|
144
147
|
},
|
|
145
148
|
"peerDependencies": {
|
|
146
149
|
"electron": "^43.2.0"
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as e,i as t,t as n}from"./jsx-runtime-DGLHmmOq.js";import{r,t as i}from"./utils-kfQov6Pa.js";var a=e(t(),1),o=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,s=r,c=(e,t)=>n=>{if(t?.variants==null)return s(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let s=o(t)||o(a);return r[e][s]}),c=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return s(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...c}[t]):{...i,...c}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)},l=Object.defineProperty,u=(e,t)=>l(e,`name`,{value:t,configurable:!0});function d(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}u(d,`setRef`);function f(...e){return t=>{let n=!1,r=e.map(e=>{let r=d(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():d(e[t],null)}}}}u(f,`composeRefs`);function p(...e){return a.useCallback(f(...e),e)}u(p,`useComposedRefs`);var m=Object.defineProperty,h=(e,t)=>m(e,`name`,{value:t,configurable:!0});function g(e){let t=a.forwardRef((t,n)=>{let{children:r,...i}=t,o=null,s=!1,c=[];T(r)&&typeof k==`function`&&(r=k(r._payload)),a.Children.forEach(r,e=>{if(C(e)){s=!0;let t=e,n=`child`in t.props?t.props.child:t.props.children;T(n)&&typeof k==`function`&&(n=k(n._payload)),o=b(t,n),c.push(o?.props?.children)}else c.push(e)}),o?o=a.cloneElement(o,void 0,c):!s&&a.Children.count(r)===1&&a.isValidElement(r)&&(o=r);let l=o?S(o):void 0,u=p(n,l);if(!o){if(r||r===0)throw Error(s?O(e):D(e));return r}let d=x(i,o.props??{});return o.type!==a.Fragment&&(d.ref=n?u:l),a.cloneElement(o,d)});return t.displayName=`${e}.Slot`,t}h(g,`createSlot`);var _=g(`Slot`),v=Symbol.for(`radix.slottable`);function y(e){let t=h(e=>`child`in e?e.children(e.child):e.children,`Slottable`);return t.displayName=`${e}.Slottable`,t.__radixId=v,t}h(y,`createSlottable`);var b=h((e,t)=>{if(`child`in e.props){let t=e.props.child;return a.isValidElement(t)?a.cloneElement(t,void 0,e.props.children(t.props.children)):null}return a.isValidElement(t)?t:null},`getSlottableElementFromSlottable`);function x(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}h(x,`mergeProps`);function S(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}h(S,`getElementRef`);function C(e){return a.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===v}h(C,`isSlottable`);var w=Symbol.for(`react.lazy`);function T(e){return typeof e==`object`&&!!e&&`$$typeof`in e&&e.$$typeof===w&&`_payload`in e&&E(e._payload)}h(T,`isLazyComponent`);function E(e){return typeof e==`object`&&!!e&&`then`in e}h(E,`isPromiseLike`);var D=h(e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,`createSlotError`),O=h(e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,`createSlottableError`),k=a.use,A=n(),j=c(`inline-flex appearance-none items-center justify-center gap-1 whitespace-nowrap rounded-[var(--qd-radius-md)] font-medium transition-colors outline-none focus-visible:ring-2 focus-visible:ring-[var(--qd-primary)] disabled:pointer-events-none disabled:opacity-50 border-solid [border-width:var(--qd-border-width)] text-[color:var(--btn-fg)] bg-[var(--btn-bg)] border-[var(--btn-border)] [--qd-icon-size:1em]`,{variants:{variant:{default:`[--btn-fg:var(--qd-on-solid)] [--btn-bg:var(--qd-primary)] [--btn-border:transparent] hover:opacity-90`,soft:`[--btn-fg:var(--qd-primary)] [--btn-bg:var(--qd-primary-soft)] [--btn-border:transparent] hover:opacity-90`,secondary:`[--btn-fg:var(--qd-secondary-foreground)] [--btn-bg:var(--qd-secondary)] [--btn-border:transparent] hover:opacity-90`,outline:`[--btn-fg:var(--qd-foreground)] [--btn-bg:var(--qd-background)] [--btn-border:var(--qd-border)] hover:[background-color:var(--qd-muted)]`,ghost:`[--btn-fg:var(--qd-foreground)] [--btn-bg:transparent] [--btn-border:transparent] hover:[background-color:var(--qd-muted)]`,destructive:`[--btn-fg:var(--qd-on-solid)] [--btn-bg:var(--qd-destructive)] [--btn-border:transparent] hover:opacity-90`,link:`[--btn-fg:var(--qd-primary)] [--btn-bg:transparent] [--btn-border:transparent] underline-offset-4 hover:underline`,icon:`rounded [--btn-fg:var(--qd-muted-foreground)] [--btn-bg:transparent] [--btn-border:transparent] hover:[background-color:var(--qd-muted)] hover:[--btn-fg:var(--qd-foreground)]`,toolbar:`rounded [--btn-fg:var(--qd-muted-foreground)] [--btn-bg:transparent] [--btn-border:transparent] hover:[--btn-bg:var(--color-surface-3)] hover:[--btn-fg:var(--qd-foreground)] data-[active=true]:[--btn-bg:var(--color-surface-active)] data-[active=true]:[--btn-fg:var(--qd-foreground)]`,danger:`rounded-full [--btn-fg:var(--qd-muted-foreground)] [--btn-bg:transparent] [--btn-border:transparent] hover:[--btn-fg:var(--qd-destructive)] hover:[background-color:var(--qd-destructive-soft)]`,tab:`rounded text-text-muted hover:text-text hover:bg-surface-3`,"tab-active":`rounded text-text bg-surface-active`},size:{default:`h-[var(--qd-btn-h)] px-4 py-2 text-sm`,sm:`h-[calc(var(--qd-btn-h)-4px)] px-3 text-xs`,lg:`h-[calc(var(--qd-btn-h)+4px)] px-6 text-base`,icon:`size-[var(--qd-btn-h)] text-base`,xs:`h-5 px-2 text-[11px]`,"icon-sm":`h-6 w-6 p-0 text-[14px]`}},defaultVariants:{variant:`default`,size:`default`}}),M=a.forwardRef(function({className:e,variant:t,size:n,asChild:r=!1,type:a,...o},s){let c=r?_:`button`,l=r?a===void 0?o:{type:a,...o}:{type:a??`button`,...o};return(0,A.jsx)(c,{ref:s,"data-slot":`button`,className:i(j({variant:t,size:n}),e),...l})});export{M as t};
|
|
2
|
-
//# sourceMappingURL=button-D5Q2wkXq.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var e=[{name:`iPhone SE`,width:375,height:667,pixelRatio:2,statusBarHeight:20,system:`iOS 15.0`,notchType:`none`,safeAreaInsets:{top:20,right:0,bottom:0,left:0}},{name:`iPhone X`,width:375,height:812,pixelRatio:3,statusBarHeight:44,system:`iOS 16.0`,notchType:`notch`,safeAreaInsets:{top:44,right:0,bottom:34,left:0}},{name:`iPhone 14`,width:390,height:844,pixelRatio:3,statusBarHeight:47,system:`iOS 16.0`,notchType:`notch`,safeAreaInsets:{top:47,right:0,bottom:34,left:0}},{name:`iPhone 14 Pro`,width:393,height:852,pixelRatio:3,statusBarHeight:54,system:`iOS 16.3`,notchType:`dynamic-island`,safeAreaInsets:{top:54,right:0,bottom:34,left:0}},{name:`iPhone 16 Pro`,width:402,height:874,pixelRatio:3,statusBarHeight:59,system:`iOS 18.0`,notchType:`dynamic-island`,safeAreaInsets:{top:59,right:0,bottom:34,left:0}},{name:`iPhone 17 Pro`,width:402,height:874,pixelRatio:3,statusBarHeight:59,system:`iOS 19.0`,notchType:`dynamic-island`,safeAreaInsets:{top:59,right:0,bottom:34,left:0}}],t=[100,85,75,50],n=`auto`,r=1500;export{t as i,r as n,e as r,n as t};
|
|
2
|
-
//# sourceMappingURL=constants-D8zsejFq.js.map
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import{a as e,i as t,r as n,t as r}from"./jsx-runtime-DGLHmmOq.js";import{t as i}from"./utils-kfQov6Pa.js";import{t as a}from"./createLucideIcon-Bqi8hpdi.js";import{a as o,c as s,d as c,f as l,i as u,l as d,n as f,o as p,r as m,s as h,t as g,u as _}from"./dist-DKWdE1TK.js";var v=a(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),y=e(t(),1);function ee(e,t=globalThis?.document){let n=f(e);y.useEffect(()=>{let e=e=>{e.key===`Escape`&&n(e)};return t.addEventListener(`keydown`,e,{capture:!0}),()=>t.removeEventListener(`keydown`,e,{capture:!0})},[n,t])}var b=r(),x=`DismissableLayer`,S=`dismissableLayer.update`,C=`dismissableLayer.pointerDownOutside`,w=`dismissableLayer.focusOutside`,te,ne=y.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),T=y.forwardRef((e,t)=>{let{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:i,onFocusOutside:a,onInteractOutside:o,onDismiss:s,...u}=e,d=y.useContext(ne),[f,p]=y.useState(null),h=f?.ownerDocument??globalThis?.document,[,g]=y.useState({}),_=c(t,e=>p(e)),v=Array.from(d.layers),[x]=[...d.layersWithOutsidePointerEventsDisabled].slice(-1),C=v.indexOf(x),w=f?v.indexOf(f):-1,T=d.layersWithOutsidePointerEventsDisabled.size>0,E=w>=C,re=ie(e=>{let t=e.target,n=[...d.branches].some(e=>e.contains(t));!E||n||(i?.(e),o?.(e),e.defaultPrevented||s?.())},h),D=ae(e=>{let t=e.target;[...d.branches].some(e=>e.contains(t))||(a?.(e),o?.(e),e.defaultPrevented||s?.())},h);return ee(e=>{w===d.layers.size-1&&(r?.(e),!e.defaultPrevented&&s&&(e.preventDefault(),s()))},h),y.useEffect(()=>{if(f)return n&&(d.layersWithOutsidePointerEventsDisabled.size===0&&(te=h.body.style.pointerEvents,h.body.style.pointerEvents=`none`),d.layersWithOutsidePointerEventsDisabled.add(f)),d.layers.add(f),oe(),()=>{n&&d.layersWithOutsidePointerEventsDisabled.size===1&&(h.body.style.pointerEvents=te)}},[f,h,n,d]),y.useEffect(()=>()=>{f&&(d.layers.delete(f),d.layersWithOutsidePointerEventsDisabled.delete(f),oe())},[f,d]),y.useEffect(()=>{let e=()=>g({});return document.addEventListener(S,e),()=>document.removeEventListener(S,e)},[]),(0,b.jsx)(m.div,{...u,ref:_,style:{pointerEvents:T?E?`auto`:`none`:void 0,...e.style},onFocusCapture:l(e.onFocusCapture,D.onFocusCapture),onBlurCapture:l(e.onBlurCapture,D.onBlurCapture),onPointerDownCapture:l(e.onPointerDownCapture,re.onPointerDownCapture)})});T.displayName=x;var E=`DismissableLayerBranch`,re=y.forwardRef((e,t)=>{let n=y.useContext(ne),r=y.useRef(null),i=c(t,r);return y.useEffect(()=>{let e=r.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}},[n.branches]),(0,b.jsx)(m.div,{...e,ref:i})});re.displayName=E;function ie(e,t=globalThis?.document){let n=f(e),r=y.useRef(!1),i=y.useRef(()=>{});return y.useEffect(()=>{let e=e=>{if(e.target&&!r.current){let r=function(){D(C,n,a,{discrete:!0})},a={originalEvent:e};e.pointerType===`touch`?(t.removeEventListener(`click`,i.current),i.current=r,t.addEventListener(`click`,i.current,{once:!0})):r()}else t.removeEventListener(`click`,i.current);r.current=!1},a=window.setTimeout(()=>{t.addEventListener(`pointerdown`,e)},0);return()=>{window.clearTimeout(a),t.removeEventListener(`pointerdown`,e),t.removeEventListener(`click`,i.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function ae(e,t=globalThis?.document){let n=f(e),r=y.useRef(!1);return y.useEffect(()=>{let e=e=>{e.target&&!r.current&&D(w,n,{originalEvent:e},{discrete:!1})};return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function oe(){let e=new CustomEvent(S);document.dispatchEvent(e)}function D(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?u(i,a):i.dispatchEvent(a)}var O=`focusScope.autoFocusOnMount`,k=`focusScope.autoFocusOnUnmount`,se={bubbles:!1,cancelable:!0},ce=`FocusScope`,le=y.forwardRef((e,t)=>{let{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:a,...o}=e,[s,l]=y.useState(null),u=f(i),d=f(a),p=y.useRef(null),h=c(t,e=>l(e)),g=y.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;y.useEffect(()=>{if(r){let e=function(e){if(g.paused||!s)return;let t=e.target;s.contains(t)?p.current=t:A(p.current,{select:!0})},t=function(e){if(g.paused||!s)return;let t=e.relatedTarget;t!==null&&(s.contains(t)||A(p.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&A(s)};document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return s&&r.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[r,s,g.paused]),y.useEffect(()=>{if(s){ge.add(g);let e=document.activeElement;if(!s.contains(e)){let t=new CustomEvent(O,se);s.addEventListener(O,u),s.dispatchEvent(t),t.defaultPrevented||(ue(ye(fe(s)),{select:!0}),document.activeElement===e&&A(s))}return()=>{s.removeEventListener(O,u),setTimeout(()=>{let t=new CustomEvent(k,se);s.addEventListener(k,d),s.dispatchEvent(t),t.defaultPrevented||A(e??document.body,{select:!0}),s.removeEventListener(k,d),ge.remove(g)},0)}}},[s,u,d,g]);let _=y.useCallback(e=>{if(!n&&!r||g.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,i=document.activeElement;if(t&&i){let t=e.currentTarget,[r,a]=de(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&A(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&A(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,g.paused]);return(0,b.jsx)(m.div,{tabIndex:-1,...o,ref:h,onKeyDown:_})});le.displayName=ce;function ue(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(A(r,{select:t}),document.activeElement!==n)return}function de(e){let t=fe(e);return[pe(t,e),pe(t.reverse(),e)]}function fe(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function pe(e,t){for(let n of e)if(!me(n,{upTo:t}))return n}function me(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function he(e){return e instanceof HTMLInputElement&&`select`in e}function A(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&he(e)&&t&&e.select()}}var ge=_e();function _e(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=ve(e,t),e.unshift(t)},remove(t){e=ve(e,t),e[0]?.resume()}}}function ve(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function ye(e){return e.filter(e=>e.tagName!==`A`)}var be=e(n(),1),xe=`Portal`,Se=y.forwardRef((e,t)=>{let{container:n,...r}=e,[i,a]=y.useState(!1);s(()=>a(!0),[]);let o=n||i&&globalThis?.document?.body;return o?be.createPortal((0,b.jsx)(m.div,{...r,ref:t}),o):null});Se.displayName=xe;var j=0;function Ce(){y.useEffect(()=>{let e=document.querySelectorAll(`[data-radix-focus-guard]`);return document.body.insertAdjacentElement(`afterbegin`,e[0]??we()),document.body.insertAdjacentElement(`beforeend`,e[1]??we()),j++,()=>{j===1&&document.querySelectorAll(`[data-radix-focus-guard]`).forEach(e=>e.remove()),j--}},[])}function we(){let e=document.createElement(`span`);return e.setAttribute(`data-radix-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}var M=function(){return M=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},M.apply(this,arguments)};function Te(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function Ee(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var N=`right-scroll-bar-position`,P=`width-before-scroll-bar`,De=`with-scroll-bars-hidden`,Oe=`--removed-body-scroll-bar-size`;function F(e,t){return typeof e==`function`?e(t):e&&(e.current=t),e}function ke(e,t){var n=(0,y.useState)(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}})[0];return n.callback=t,n.facade}var Ae=typeof window<`u`?y.useLayoutEffect:y.useEffect,je=new WeakMap;function Me(e,t){var n=ke(t||null,function(t){return e.forEach(function(e){return F(e,t)})});return Ae(function(){var t=je.get(n);if(t){var r=new Set(t),i=new Set(e),a=n.current;r.forEach(function(e){i.has(e)||F(e,null)}),i.forEach(function(e){r.has(e)||F(e,a)})}je.set(n,e)},[e]),n}function Ne(e){return e}function Pe(e,t){t===void 0&&(t=Ne);var n=[],r=!1;return{read:function(){if(r)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(e){var i=t(e,r);return n.push(i),function(){n=n.filter(function(e){return e!==i})}},assignSyncMedium:function(e){for(r=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){r=!0;var t=[];if(n.length){var i=n;n=[],i.forEach(e),t=n}var a=function(){var n=t;t=[],n.forEach(e)},o=function(){return Promise.resolve().then(a)};o(),n={push:function(e){t.push(e),o()},filter:function(e){return t=t.filter(e),n}}}}}function Fe(e){e===void 0&&(e={});var t=Pe(null);return t.options=M({async:!0,ssr:!1},e),t}var Ie=function(e){var t=e.sideCar,n=Te(e,[`sideCar`]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw Error(`Sidecar medium not found`);return y.createElement(r,M({},n))};Ie.isSideCarExport=!0;function Le(e,t){return e.useMedium(t),Ie}var Re=Fe(),I=function(){},L=y.forwardRef(function(e,t){var n=y.useRef(null),r=y.useState({onScrollCapture:I,onWheelCapture:I,onTouchMoveCapture:I}),i=r[0],a=r[1],o=e.forwardProps,s=e.children,c=e.className,l=e.removeScrollBar,u=e.enabled,d=e.shards,f=e.sideCar,p=e.noRelative,m=e.noIsolation,h=e.inert,g=e.allowPinchZoom,_=e.as,v=_===void 0?`div`:_,ee=e.gapMode,b=Te(e,[`forwardProps`,`children`,`className`,`removeScrollBar`,`enabled`,`shards`,`sideCar`,`noRelative`,`noIsolation`,`inert`,`allowPinchZoom`,`as`,`gapMode`]),x=f,S=Me([n,t]),C=M(M({},b),i);return y.createElement(y.Fragment,null,u&&y.createElement(x,{sideCar:Re,removeScrollBar:l,shards:d,noRelative:p,noIsolation:m,inert:h,setCallbacks:a,allowPinchZoom:!!g,lockRef:n,gapMode:ee}),o?y.cloneElement(y.Children.only(s),M(M({},C),{ref:S})):y.createElement(v,M({},C,{className:c,ref:S}),s))});L.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},L.classNames={fullWidth:P,zeroRight:N};var ze,Be=function(){if(ze)return ze;if(typeof __webpack_nonce__<`u`)return __webpack_nonce__};function Ve(){if(!document)return null;var e=document.createElement(`style`);e.type=`text/css`;var t=Be();return t&&e.setAttribute(`nonce`,t),e}function He(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function Ue(e){(document.head||document.getElementsByTagName(`head`)[0]).appendChild(e)}var We=function(){var e=0,t=null;return{add:function(n){e==0&&(t=Ve())&&(He(t,n),Ue(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Ge=function(){var e=We();return function(t,n){y.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},Ke=function(){var e=Ge();return function(t){var n=t.styles,r=t.dynamic;return e(n,r),null}},qe={left:0,top:0,right:0,gap:0},R=function(e){return parseInt(e||``,10)||0},Je=function(e){var t=window.getComputedStyle(document.body),n=t[e===`padding`?`paddingLeft`:`marginLeft`],r=t[e===`padding`?`paddingTop`:`marginTop`],i=t[e===`padding`?`paddingRight`:`marginRight`];return[R(n),R(r),R(i)]},Ye=function(e){if(e===void 0&&(e=`margin`),typeof window>`u`)return qe;var t=Je(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},Xe=Ke(),z=`data-scroll-locked`,Ze=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),`
|
|
2
|
-
.${De} {
|
|
3
|
-
overflow: hidden ${r};
|
|
4
|
-
padding-right: ${s}px ${r};
|
|
5
|
-
}
|
|
6
|
-
body[${z}] {
|
|
7
|
-
overflow: hidden ${r};
|
|
8
|
-
overscroll-behavior: contain;
|
|
9
|
-
${[t&&`position: relative ${r};`,n===`margin`&&`
|
|
10
|
-
padding-left: ${i}px;
|
|
11
|
-
padding-top: ${a}px;
|
|
12
|
-
padding-right: ${o}px;
|
|
13
|
-
margin-left:0;
|
|
14
|
-
margin-top:0;
|
|
15
|
-
margin-right: ${s}px ${r};
|
|
16
|
-
`,n===`padding`&&`padding-right: ${s}px ${r};`].filter(Boolean).join(``)}
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
.${N} {
|
|
20
|
-
right: ${s}px ${r};
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
.${P} {
|
|
24
|
-
margin-right: ${s}px ${r};
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
.${N} .${N} {
|
|
28
|
-
right: 0 ${r};
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.${P} .${P} {
|
|
32
|
-
margin-right: 0 ${r};
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
body[${z}] {
|
|
36
|
-
${Oe}: ${s}px;
|
|
37
|
-
}
|
|
38
|
-
`},Qe=function(){var e=parseInt(document.body.getAttribute(`data-scroll-locked`)||`0`,10);return isFinite(e)?e:0},$e=function(){y.useEffect(function(){return document.body.setAttribute(z,(Qe()+1).toString()),function(){var e=Qe()-1;e<=0?document.body.removeAttribute(z):document.body.setAttribute(z,e.toString())}},[])},et=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,i=r===void 0?`margin`:r;$e();var a=y.useMemo(function(){return Ye(i)},[i]);return y.createElement(Xe,{styles:Ze(a,!t,i,n?``:`!important`)})},B=!1;if(typeof window<`u`)try{var V=Object.defineProperty({},`passive`,{get:function(){return B=!0,!0}});window.addEventListener(`test`,V,V),window.removeEventListener(`test`,V,V)}catch{B=!1}var H=B?{passive:!1}:!1,tt=function(e){return e.tagName===`TEXTAREA`},nt=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!==`hidden`&&!(n.overflowY===n.overflowX&&!tt(e)&&n[t]===`visible`)},rt=function(e){return nt(e,`overflowY`)},it=function(e){return nt(e,`overflowX`)},at=function(e,t){var n=t.ownerDocument,r=t;do{if(typeof ShadowRoot<`u`&&r instanceof ShadowRoot&&(r=r.host),ct(e,r)){var i=lt(e,r);if(i[1]>i[2])return!0}r=r.parentNode}while(r&&r!==n.body);return!1},ot=function(e){return[e.scrollTop,e.scrollHeight,e.clientHeight]},st=function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]},ct=function(e,t){return e===`v`?rt(t):it(t)},lt=function(e,t){return e===`v`?ot(t):st(t)},ut=function(e,t){return e===`h`&&t===`rtl`?-1:1},dt=function(e,t,n,r,i){var a=ut(e,window.getComputedStyle(t).direction),o=a*r,s=n.target,c=t.contains(s),l=!1,u=o>0,d=0,f=0;do{if(!s)break;var p=lt(e,s),m=p[0],h=p[1]-p[2]-a*m;(m||h)&&ct(e,s)&&(d+=h,f+=m);var g=s.parentNode;s=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!c&&s!==document.body||c&&(t.contains(s)||t===s));return(u&&(i&&Math.abs(d)<1||!i&&o>d)||!u&&(i&&Math.abs(f)<1||!i&&-o>f))&&(l=!0),l},U=function(e){return`changedTouches`in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},ft=function(e){return[e.deltaX,e.deltaY]},pt=function(e){return e&&`current`in e?e.current:e},mt=function(e,t){return e[0]===t[0]&&e[1]===t[1]},ht=function(e){return`
|
|
39
|
-
.block-interactivity-${e} {pointer-events: none;}
|
|
40
|
-
.allow-interactivity-${e} {pointer-events: all;}
|
|
41
|
-
`},gt=0,W=[];function _t(e){var t=y.useRef([]),n=y.useRef([0,0]),r=y.useRef(),i=y.useState(gt++)[0],a=y.useState(Ke)[0],o=y.useRef(e);y.useEffect(function(){o.current=e},[e]),y.useEffect(function(){if(e.inert){document.body.classList.add(`block-interactivity-${i}`);var t=Ee([e.lockRef.current],(e.shards||[]).map(pt),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add(`allow-interactivity-${i}`)}),function(){document.body.classList.remove(`block-interactivity-${i}`),t.forEach(function(e){return e.classList.remove(`allow-interactivity-${i}`)})}}},[e.inert,e.lockRef.current,e.shards]);var s=y.useCallback(function(e,t){if(`touches`in e&&e.touches.length===2||e.type===`wheel`&&e.ctrlKey)return!o.current.allowPinchZoom;var i=U(e),a=n.current,s=`deltaX`in e?e.deltaX:a[0]-i[0],c=`deltaY`in e?e.deltaY:a[1]-i[1],l,u=e.target,d=Math.abs(s)>Math.abs(c)?`h`:`v`;if(`touches`in e&&d===`h`&&u.type===`range`)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===u||p.contains(u)))return!1;var m=at(d,u);if(!m)return!0;if(m?l=d:(l=d===`v`?`h`:`v`,m=at(d,u)),!m)return!1;if(!r.current&&`changedTouches`in e&&(s||c)&&(r.current=l),!l)return!0;var h=r.current||l;return dt(h,t,e,h===`h`?s:c,!0)},[]),c=y.useCallback(function(e){var n=e;if(!(!W.length||W[W.length-1]!==a)){var r=`deltaY`in n?ft(n):U(n),i=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&mt(e.delta,r)})[0];if(i&&i.should){n.cancelable&&n.preventDefault();return}if(!i){var c=(o.current.shards||[]).map(pt).filter(Boolean).filter(function(e){return e.contains(n.target)});(c.length>0?s(n,c[0]):!o.current.noIsolation)&&n.cancelable&&n.preventDefault()}}},[]),l=y.useCallback(function(e,n,r,i){var a={name:e,delta:n,target:r,should:i,shadowParent:vt(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),u=y.useCallback(function(e){n.current=U(e),r.current=void 0},[]),d=y.useCallback(function(t){l(t.type,ft(t),t.target,s(t,e.lockRef.current))},[]),f=y.useCallback(function(t){l(t.type,U(t),t.target,s(t,e.lockRef.current))},[]);y.useEffect(function(){return W.push(a),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:f}),document.addEventListener(`wheel`,c,H),document.addEventListener(`touchmove`,c,H),document.addEventListener(`touchstart`,u,H),function(){W=W.filter(function(e){return e!==a}),document.removeEventListener(`wheel`,c,H),document.removeEventListener(`touchmove`,c,H),document.removeEventListener(`touchstart`,u,H)}},[]);var p=e.removeScrollBar,m=e.inert;return y.createElement(y.Fragment,null,m?y.createElement(a,{styles:ht(i)}):null,p?y.createElement(et,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function vt(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var yt=Le(Re,_t),bt=y.forwardRef(function(e,t){return y.createElement(L,M({},e,{ref:t,sideCar:yt}))});bt.classNames=L.classNames;var xt=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},G=new WeakMap,K=new WeakMap,q={},J=0,St=function(e){return e&&(e.host||St(e.parentNode))},Ct=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=St(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},wt=function(e,t,n,r){var i=Ct(t,Array.isArray(e)?e:[e]);q[n]||(q[n]=new WeakMap);var a=q[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(G.get(e)||0)+1,l=(a.get(e)||0)+1;G.set(e,c),a.set(e,l),o.push(e),c===1&&i&&K.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),J++,function(){o.forEach(function(e){var t=G.get(e)-1,i=a.get(e)-1;G.set(e,t),a.set(e,i),t||(K.has(e)||e.removeAttribute(r),K.delete(e)),i||e.removeAttribute(n)}),J--,J||(G=new WeakMap,G=new WeakMap,K=new WeakMap,q={})}},Tt=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||xt(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),wt(r,i,n,`aria-hidden`)):function(){return null}},Y=`Dialog`,[Et,Dt]=_(Y),[Ot,X]=Et(Y),kt=e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!0}=e,s=y.useRef(null),c=y.useRef(null),[l,u]=p({prop:r,defaultProp:i??!1,onChange:a,caller:Y});return(0,b.jsx)(Ot,{scope:t,triggerRef:s,contentRef:c,contentId:h(),titleId:h(),descriptionId:h(),open:l,onOpenChange:u,onOpenToggle:y.useCallback(()=>u(e=>!e),[u]),modal:o,children:n})};kt.displayName=Y;var At=`DialogTrigger`,jt=y.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=X(At,n),a=c(t,i.triggerRef);return(0,b.jsx)(m.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.contentId,"data-state":Jt(i.open),...r,ref:a,onClick:l(e.onClick,i.onOpenToggle)})});jt.displayName=At;var Z=`DialogPortal`,[Mt,Nt]=Et(Z,{forceMount:void 0}),Pt=e=>{let{__scopeDialog:t,forceMount:n,children:r,container:i}=e,a=X(Z,t);return(0,b.jsx)(Mt,{scope:t,forceMount:n,children:y.Children.map(r,e=>(0,b.jsx)(g,{present:n||a.open,children:(0,b.jsx)(Se,{asChild:!0,container:i,children:e})}))})};Pt.displayName=Z;var Q=`DialogOverlay`,Ft=y.forwardRef((e,t)=>{let n=Nt(Q,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=X(Q,e.__scopeDialog);return a.modal?(0,b.jsx)(g,{present:r||a.open,children:(0,b.jsx)(Lt,{...i,ref:t})}):null});Ft.displayName=Q;var It=o(`DialogOverlay.RemoveScroll`),Lt=y.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=X(Q,n);return(0,b.jsx)(bt,{as:It,allowPinchZoom:!0,shards:[i.contentRef],children:(0,b.jsx)(m.div,{"data-state":Jt(i.open),...r,ref:t,style:{pointerEvents:`auto`,...r.style}})})}),$=`DialogContent`,Rt=y.forwardRef((e,t)=>{let n=Nt($,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=X($,e.__scopeDialog);return(0,b.jsx)(g,{present:r||a.open,children:a.modal?(0,b.jsx)(zt,{...i,ref:t}):(0,b.jsx)(Bt,{...i,ref:t})})});Rt.displayName=$;var zt=y.forwardRef((e,t)=>{let n=X($,e.__scopeDialog),r=y.useRef(null),i=c(t,n.contentRef,r);return y.useEffect(()=>{let e=r.current;if(e)return Tt(e)},[]),(0,b.jsx)(Vt,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:l(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:l(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()}),onFocusOutside:l(e.onFocusOutside,e=>e.preventDefault())})}),Bt=y.forwardRef((e,t)=>{let n=X($,e.__scopeDialog),r=y.useRef(!1),i=y.useRef(!1);return(0,b.jsx)(Vt,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),Vt=y.forwardRef((e,t)=>{let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,...o}=e,s=X($,n),l=y.useRef(null),u=c(t,l);return Ce(),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(le,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,b.jsx)(T,{role:`dialog`,id:s.contentId,"aria-describedby":s.descriptionId,"aria-labelledby":s.titleId,"data-state":Jt(s.open),...o,ref:u,onDismiss:()=>s.onOpenChange(!1)})}),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(Qt,{titleId:s.titleId}),(0,b.jsx)(en,{contentRef:l,descriptionId:s.descriptionId})]})]})}),Ht=`DialogTitle`,Ut=y.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=X(Ht,n);return(0,b.jsx)(m.h2,{id:i.titleId,...r,ref:t})});Ut.displayName=Ht;var Wt=`DialogDescription`,Gt=y.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=X(Wt,n);return(0,b.jsx)(m.p,{id:i.descriptionId,...r,ref:t})});Gt.displayName=Wt;var Kt=`DialogClose`,qt=y.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=X(Kt,n);return(0,b.jsx)(m.button,{type:`button`,...r,ref:t,onClick:l(e.onClick,()=>i.onOpenChange(!1))})});qt.displayName=Kt;function Jt(e){return e?`open`:`closed`}var Yt=`DialogTitleWarning`,[Xt,Zt]=d(Yt,{contentName:$,titleName:Ht,docsSlug:`dialog`}),Qt=({titleId:e})=>{let t=Zt(Yt),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
|
|
42
|
-
|
|
43
|
-
If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
44
|
-
|
|
45
|
-
For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return y.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},$t=`DialogDescriptionWarning`,en=({contentRef:e,descriptionId:t})=>{let n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${Zt($t).contentName}}.`;return y.useEffect(()=>{let r=e.current?.getAttribute(`aria-describedby`);t&&r&&(document.getElementById(t)||console.warn(n))},[n,e,t]),null},tn=kt,nn=Pt,rn=Ft,an=Rt,on=Ut,sn=Gt,cn=qt;function ln(e){return(0,b.jsx)(tn,{...e})}function un(e){return(0,b.jsx)(nn,{...e})}function dn({className:e,...t}){return(0,b.jsx)(rn,{className:i(`fixed inset-0 z-50 bg-[var(--color-overlay-heavy)] data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0`,e),...t})}function fn({className:e,children:t,container:n,...r}){return(0,b.jsxs)(un,{container:n,children:[(0,b.jsx)(dn,{}),(0,b.jsx)(`div`,{className:`pointer-events-none fixed inset-0 z-50 flex overflow-x-hidden overflow-y-auto p-4`,children:(0,b.jsxs)(an,{className:i(`pointer-events-auto relative m-auto flex max-h-[calc(100dvh-2rem)] min-h-0 w-full max-w-lg flex-col gap-4 overflow-x-hidden overflow-y-auto`,`border border-solid border-[var(--qd-border)] bg-[var(--qd-background)] text-text p-6 rounded-lg shadow-[var(--qd-shadow-lg)]`,`data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,`data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95`,e),...r,children:[t,(0,b.jsx)(cn,{className:`absolute right-4 top-4 inline-flex size-6 items-center justify-center rounded-sm border-0 bg-transparent text-text-secondary transition-colors outline-none hover:bg-[var(--qd-muted)] hover:text-text disabled:pointer-events-none`,"aria-label":`Close`,children:(0,b.jsx)(v,{className:`h-4 w-4`})})]})})]})}function pn({className:e,...t}){return(0,b.jsx)(`div`,{className:i(`flex shrink-0 flex-col gap-1.5 text-center sm:text-left`,e),...t})}function mn({className:e,...t}){return(0,b.jsx)(`div`,{className:i(`flex shrink-0 flex-col-reverse gap-2 sm:flex-row sm:justify-end`,e),...t})}function hn({className:e,...t}){return(0,b.jsx)(on,{className:i(`text-lg font-semibold leading-none text-text`,e),...t})}function gn({className:e,...t}){return(0,b.jsx)(sn,{className:i(`text-sm text-text-secondary`,e),...t})}export{pn as a,mn as i,fn as n,hn as o,gn as r,ln as t};
|
|
46
|
-
//# sourceMappingURL=dialog-e1TecTOY.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as e,i as t,n,t as r}from"./jsx-runtime-DGLHmmOq.js";import{t as i}from"./createLucideIcon-Bqi8hpdi.js";import{n as a,t as o}from"./types-CsEKtFyr.js";var s=i(`gamepad-2`,[[`line`,{x1:`6`,x2:`10`,y1:`11`,y2:`11`,key:`1gktln`}],[`line`,{x1:`8`,x2:`8`,y1:`9`,y2:`13`,key:`qnk9ow`}],[`line`,{x1:`15`,x2:`15.01`,y1:`12`,y2:`12`,key:`krot7o`}],[`line`,{x1:`18`,x2:`18.01`,y1:`10`,y2:`10`,key:`1lcuu1`}],[`path`,{d:`M17.32 5H6.68a4 4 0 0 0-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 0 0 3 3c1 0 1.5-.5 2-1l1.414-1.414A2 2 0 0 1 9.828 16h4.344a2 2 0 0 1 1.414.586L17 18c.5.5 1 1 2 1a3 3 0 0 0 3-3c0-1.545-.604-6.584-.685-7.258-.007-.05-.011-.1-.017-.151A4 4 0 0 0 17.32 5z`,key:`mfqc10`}]]),c=e(n(),1),l=e(t(),1),u=r(),d=[{type:`miniprogram`,icon:a},{type:`minigame`,icon:s}];function f(){let[e,t]=(0,l.useState)(`miniprogram`);(0,l.useEffect)(()=>window.diminaHostSidebar?.onMessage(`project-category-forced`,e=>{let n=e?.category;(n===`miniprogram`||n===`minigame`)&&t(n)}),[]);function n(e){t(e),window.diminaHostSidebar?.send(`project-category-selected`,{category:e})}return(0,u.jsx)(`div`,{"data-host-sidebar-root":!0,className:`flex flex-col items-center h-full bg-surface py-3`,style:{width:56},children:(0,u.jsx)(`div`,{className:`flex flex-col gap-1 w-full px-2`,children:d.map(({type:t,icon:r})=>(0,u.jsxs)(`button`,{type:`button`,title:o[t],"aria-label":o[t],"aria-pressed":e===t,onClick:()=>n(t),className:`flex flex-col items-center justify-center gap-1 py-2 w-full rounded-md transition-colors ${e===t?`bg-surface-active text-accent`:`text-text-secondary hover:bg-surface-3 hover:text-text`}`,children:[(0,u.jsx)(r,{className:`size-5`}),(0,u.jsx)(`span`,{className:`text-[10px] leading-none`,children:o[t]})]},t))})})}c.createRoot(document.getElementById(`root`)).render((0,u.jsx)(f,{}));
|
|
2
|
-
//# sourceMappingURL=hostSidebarDefault-B3yLfy8j.js.map
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import{a as e,i as t,n,t as r}from"./jsx-runtime-DGLHmmOq.js";import{S as i,b as a,c as o,f as s,m as c,u as l,v as u,x as d}from"./ipc-channels-overlays-LsDzGAtV.js";import{_ as f,a as p,b as m,c as h,d as g,f as _,g as v,h as y,i as b,l as x,m as S,n as C,o as w,p as T,r as E,s as ee,t as te,u as ne,v as re,y as ie}from"./project-api-k7Oq9iaq.js";import{C as ae,D as oe,E as se,O as ce,S as le,T as ue,_ as de,a as fe,b as pe,d as me,f as he,h as ge,i as _e,k as ve,l as ye,n as be,o as xe,p as Se,s as Ce,t as we,u as Te,v as Ee,x as De}from"./view-api-CLn3rcQE.js";import{u as Oe}from"./settings-api-CrUQ9rYV.js";import{n as ke,t as Ae}from"./utils-kfQov6Pa.js";import{t as D}from"./button-D5Q2wkXq.js";import{t as je}from"./input-Ct3alvkq.js";import{t as O}from"./createLucideIcon-Bqi8hpdi.js";import{n as Me,t as Ne}from"./types-CsEKtFyr.js";import{a as Pe,i as Fe,n as Ie,o as Le,t as Re}from"./dialog-e1TecTOY.js";import{n as ze}from"./constants-D7DfVqMp.js";import{i as Be,n as Ve,r as He,t as Ue}from"./constants-D8zsejFq.js";import{t as We}from"./select-acGb0AmJ.js";function Ge(){return o(s.GetBranding)}function Ke(){return o(c.Open)}var qe=e(n(),1),k=e(t(),1),Je=(0,k.createContext)(null);function Ye(){return(0,k.useContext)(Je)}function Xe(e){let t=e.requestFrame??(e=>requestAnimationFrame(e)),n=e.cancelFrame??(e=>cancelAnimationFrame(e)),r=typeof e.generation==`function`?e.generation:()=>e.generation,i=new Map,a=!1,o=null,s=0,c=!1;function l(){c||o!==null||(o=t(u))}function u(){o=null,!(c||!a)&&(a=!1,e.publish({generation:r(),epoch:s++,views:[...i.values()]}))}return{set(e){c||(i.set(e.viewId,e),a=!0,l())},remove(e){c||i.delete(e)&&(a=!0,l())},dispose(){c||(c=!0,o!==null&&(n(o),o=null),e.publish({generation:r(),epoch:s++,views:[]}))}}}var Ze=0,Qe=!1,$e=5,et=50;function tt(e){return new Promise(t=>setTimeout(t,e))}async function nt(){if(Qe)return;let e;for(let t=0;t<$e;t++)try{let e=await we();if(!Number.isSafeInteger(e))throw Error(`main returned a non-integer placement-generation seed: ${String(e)}`);Ze=e,Qe=!0;return}catch(n){e=n,t<$e-1&&await tt(et)}throw Error(`[placement-generation] failed to allocate a generation seed from main after ${$e} attempts`,{cause:e})}function rt(){return++Ze}function it(){let[e]=(0,k.useState)(()=>rt()),t=(0,k.useMemo)(()=>Xe({generation:e,publish:e=>{ae(e)}}),[e]);return(0,k.useEffect)(()=>()=>t.dispose(),[t]),t}function at(e,t,n){let[r,i]=(0,k.useState)(e);return(0,k.useEffect)(()=>{let e=!1,r=t(t=>{e=!0,i(t)});return n().then(t=>{e||typeof t==`number`&&i(t)}),r},[t,n]),r}var ot=O(`bug`,[[`path`,{d:`M12 20v-9`,key:`1qisl0`}],[`path`,{d:`M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z`,key:`uouzyp`}],[`path`,{d:`M14.12 3.88 16 2`,key:`qol33r`}],[`path`,{d:`M21 21a4 4 0 0 0-3.81-4`,key:`1b0z45`}],[`path`,{d:`M21 5a4 4 0 0 1-3.55 3.97`,key:`5cxbf6`}],[`path`,{d:`M22 13h-4`,key:`1jl80f`}],[`path`,{d:`M3 21a4 4 0 0 1 3.81-4`,key:`1fjd4g`}],[`path`,{d:`M3 5a4 4 0 0 0 3.55 3.97`,key:`1d7oge`}],[`path`,{d:`M6 13H2`,key:`82j7cp`}],[`path`,{d:`m8 2 1.88 1.88`,key:`fmnt4t`}],[`path`,{d:`M9 7.13V6a3 3 0 1 1 6 0v1.13`,key:`1vgav8`}]]),st=O(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),ct=O(`code-xml`,[[`path`,{d:`m18 16 4-4-4-4`,key:`1inbqp`}],[`path`,{d:`m6 8-4 4 4 4`,key:`15zrgr`}],[`path`,{d:`m14.5 4-5 16`,key:`e7oirm`}]]),lt=O(`folder-input`,[[`path`,{d:`M2 9V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-1`,key:`fm4g5t`}],[`path`,{d:`M2 13h10`,key:`pgb2dq`}],[`path`,{d:`m9 16 3-3-3-3`,key:`6m91ic`}]]),ut=O(`panel-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}]]),dt=O(`panel-right`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}]]),ft=O(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),pt=O(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),mt=O(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]),ht=O(`search`,[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]),gt=O(`settings`,[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`,key:`1i5ecw`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),A=r();function _t({children:e}){return(0,A.jsx)(`div`,{className:`aspect-square w-full mb-[calc(-24*var(--qd-card-u))] overflow-hidden`,children:e})}function vt({icon:e,iconUrl:t,name:n,path:r,meta:i}){return(0,A.jsxs)(`div`,{className:`relative flex flex-col gap-[calc(12*var(--qd-card-u))] px-[calc(16*var(--qd-card-u))] pb-[calc(16*var(--qd-card-u))] shrink-0`,children:[(0,A.jsx)(yt,{iconUrl:t,fallback:e}),(0,A.jsxs)(`div`,{className:`flex flex-col gap-[calc(4*var(--qd-card-u))]`,children:[(0,A.jsx)(`div`,{className:`text-[calc(15*var(--qd-card-u))] font-medium leading-[calc(22*var(--qd-card-u))] text-text truncate`,title:n,children:n??`\xA0`}),(0,A.jsx)(`div`,{className:`text-[calc(12*var(--qd-card-u))] leading-[calc(16*var(--qd-card-u))] text-text-secondary truncate`,title:r,children:r??`\xA0`})]}),(0,A.jsx)(`div`,{className:`text-[calc(12*var(--qd-card-u))] leading-[calc(16*var(--qd-card-u))] text-text-secondary`,children:i??`\xA0`})]})}function yt({iconUrl:e,fallback:t}){let[n,r]=(0,k.useState)(!1);(0,k.useEffect)(()=>r(!1),[e]);let i=!!e&&!n;return(0,A.jsx)(`div`,{className:`size-[calc(48*var(--qd-card-u))] shrink-0 rounded-[var(--qd-radius-md)] overflow-hidden flex items-center justify-center text-[calc(20*var(--qd-card-u))] font-medium leading-none ${i?`bg-bg`:t?`bg-[var(--qd-primary)] text-[color:var(--qd-on-solid)]`:``}`,"aria-hidden":`true`,children:i?(0,A.jsx)(`img`,{src:e,alt:``,className:`size-full object-cover`,onError:()=>r(!0)}):t})}function bt(e){let t=Array.from(e.trim())[0];return t?t.toUpperCase():`?`}function xt({project:e,onOpen:t,onEdit:n,onRemove:r,thumbnail:i}){return(0,A.jsxs)(`div`,{"data-qd-card":!0,className:`group relative flex flex-col min-w-[calc(var(--qd-card-w-ref)*1px)] w-full bg-surface border border-border rounded-[var(--qd-radius-xl)] overflow-hidden cursor-pointer transition-all duration-150 hover:border-[var(--qd-primary)] hover:shadow-[var(--qd-shadow-md)]`,onClick:()=>t(e),children:[(0,A.jsx)(_t,{children:i?(0,A.jsx)(`img`,{src:i,className:`size-full object-cover object-top bg-bg`,alt:``}):(0,A.jsx)(`div`,{className:`size-full bg-bg`})}),(0,A.jsx)(vt,{icon:bt(e.name),iconUrl:e.iconUrl,name:e.name,path:e.path,meta:ke(e.lastOpened)}),(0,A.jsxs)(`div`,{className:`absolute top-1.5 right-1.5 flex items-center gap-1 opacity-0 group-hover:opacity-100 focus-within:opacity-100 transition-opacity`,children:[n&&(0,A.jsx)(D,{size:`icon-sm`,className:`w-5 h-5 rounded-full bg-overlay text-text-secondary leading-none hover:text-[var(--qd-primary)]`,onClick:t=>{t.stopPropagation(),n(e)},title:`编辑`,"aria-label":`编辑 ${e.name}`,children:(0,A.jsx)(ft,{className:`size-3`,"aria-hidden":`true`})}),(0,A.jsx)(D,{variant:`danger`,size:`icon-sm`,className:`w-5 h-5 rounded-full bg-overlay text-text-secondary leading-none hover:text-status-error hover:bg-danger-bg`,onClick:t=>{t.stopPropagation(),r(e)},title:`移除`,children:`×`})]})]})}function St(e){let t=`新建${Ne[e.category]}`;return(0,A.jsxs)(`button`,{type:`button`,onClick:e.onClick,"aria-label":t,"data-qd-card":!0,className:`group relative flex flex-col min-w-[calc(var(--qd-card-w-ref)*1px)] w-full bg-surface border border-dashed border-border rounded-[var(--qd-radius-lg)] overflow-hidden cursor-pointer transition-colors duration-150 hover:border-[var(--qd-primary)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--qd-primary)]`,children:[(0,A.jsx)(_t,{}),(0,A.jsx)(vt,{}),(0,A.jsxs)(`span`,{className:`absolute inset-0 flex flex-col items-center justify-center gap-[calc(12*var(--qd-card-u))] text-text-secondary transition-colors duration-150 group-hover:text-[var(--qd-primary)]`,children:[(0,A.jsx)(pt,{className:`size-[calc(40*var(--qd-card-u))]`,"aria-hidden":`true`,strokeWidth:1.5}),(0,A.jsx)(`span`,{className:`text-[calc(13*var(--qd-card-u))] font-medium`,children:t})]})]})}function Ct({projects:e,category:t,onAdd:n,onCreate:r,onOpen:i,onEdit:a,onRemove:o,thumbnails:s}){let[c,l]=(0,k.useState)(``),u=(0,k.useMemo)(()=>{if(!c.trim())return e;let t=c.trim().toLowerCase();return e.filter(e=>(e.name||``).toLowerCase().includes(t)||(e.path||``).toLowerCase().includes(t))},[e,c]),d=r??(()=>{}),f=e.length>0&&u.length===0;return(0,A.jsx)(`div`,{className:`flex flex-col h-screen bg-bg`,children:(0,A.jsxs)(`div`,{className:`flex-1 overflow-y-auto p-6 flex flex-col gap-4`,children:[(0,A.jsxs)(`div`,{className:`flex items-center justify-between w-full shrink-0`,children:[(0,A.jsx)(`h1`,{className:`text-2xl font-medium leading-8 text-text`,children:Ne[t]}),(0,A.jsxs)(D,{variant:`outline`,onClick:n,className:`h-9 gap-2 px-2.5 text-[15px]`,children:[(0,A.jsx)(lt,{className:`size-4`}),`导入`]})]}),(0,A.jsxs)(`div`,{className:`flex items-center gap-2 h-8 px-3 rounded-[8px] bg-surface w-[300px] shrink-0`,children:[(0,A.jsx)(ht,{className:`size-4 text-text-secondary shrink-0`}),(0,A.jsx)(je,{placeholder:`搜索`,value:c,onChange:e=>l(e.target.value),className:`flex-1 min-w-0 h-auto border-0 shadow-none bg-transparent px-0 py-0 text-[13px]`})]}),f?(0,A.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-72 text-text-dim gap-3`,children:[(0,A.jsx)(`span`,{className:`text-5xl opacity-40`,children:`🔍`}),(0,A.jsx)(`span`,{className:`text-sm`,children:`未找到匹配的项目`})]}):(0,A.jsxs)(`div`,{className:`grid gap-4 w-full`,style:{gridTemplateColumns:`repeat(auto-fill, minmax(calc(var(--qd-card-w-ref) * 1px), 1fr))`},children:[(0,A.jsx)(St,{onClick:d,category:t}),u.map(e=>(0,A.jsx)(xt,{project:e,onOpen:i,onEdit:a,onRemove:o,thumbnail:s?.[e.path]},e.path))]})]})})}var wt={x:0,y:0,width:0,height:0},Tt=e=>({x:Math.round(e.x),y:Math.round(e.y),width:Math.max(0,Math.round(e.width)),height:Math.max(0,Math.round(e.height))});function Et(e,t){let n=t.present,r=t.publish,i=null,a=null,o=!1,s=()=>{let t=e.getBoundingClientRect();return Tt({x:t.left,y:t.top,width:t.width,height:t.height})},c=(e,t)=>e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height,l=()=>{if(o||!n)return;let e=s();a&&c(a,e)||(a=e,r(e))},u=()=>{i||(i=new ResizeObserver(l),i.observe(e),window.addEventListener(`resize`,l))},d=()=>{i&&=(i.disconnect(),null),window.removeEventListener(`resize`,l)},f=()=>{a=null,n?(u(),a=s(),r(a)):(d(),r(wt))};return f(),{update(e){o||(r=e.publish,n=e.present,f())},dispose(){o||(o=!0,d())}}}function Dt(e){let t=e.getBoundingClientRect();return{visible:!0,bounds:Tt({x:t.left,y:t.top,width:t.width,height:t.height})}}var Ot=(e,t)=>e.visible===t.visible?e.visible&&t.visible?e.bounds.x===t.bounds.x&&e.bounds.y===t.bounds.y&&e.bounds.width===t.bounds.width&&e.bounds.height===t.bounds.height:!0:!1;function j(e,t){let n=t.visible,r=t.publish,i=t.guardDisplayNone??!1,a=t.followScroll??!1,o=t.followGeometry??!1,s=null,c=null,l=null,u=!1,d=null,f=0,p=!1,m=null,h=()=>{let t=Dt(e);return i&&t.visible&&(t.bounds.width===0||t.bounds.height===0)?{visible:!1}:t},g=()=>{if(u||!n)return;let e=h();l&&Ot(l,e)||(l=e,r(e))},_=()=>l?.visible===!1?!0:f++>=30,v=()=>{if(d=null,u||!n){m=null;return}if(m!==null&&performance.now()>=m){m=null;return}let e=h();if(!e.visible){if(_()){m=null;return}d=requestAnimationFrame(v);return}if(l&&Ot(l,e)){if(f++,f>=2&&!p){m=null;return}}else l=e,r(e),f=0;!u&&n?d=requestAnimationFrame(v):m=null},y=()=>{!o||u||(f=0,d===null&&(d=requestAnimationFrame(v)))},b=()=>{d!==null&&(cancelAnimationFrame(d),d=null),f=0,m=null,p=!1},x=()=>{o?y():g()},S=e=>{let t=e.target;t&&t.closest&&t.closest(`[role="separator"]`)&&(p=!0,y())},C=()=>{p&&(p=!1,y())},w=()=>{s||(s=new ResizeObserver(g),s.observe(e),window.addEventListener(`resize`,g),i&&typeof IntersectionObserver<`u`&&(c=new IntersectionObserver(g),c.observe(e)),a&&window.addEventListener(`scroll`,x,{capture:!0,passive:!0}),o&&(window.addEventListener(`pointerdown`,S,{capture:!0}),window.addEventListener(`pointerup`,C,{capture:!0})))},T=()=>{s&&=(s.disconnect(),null),c&&=(c.disconnect(),null),window.removeEventListener(`resize`,g),window.removeEventListener(`scroll`,x,{capture:!0}),window.removeEventListener(`pointerdown`,S,{capture:!0}),window.removeEventListener(`pointerup`,C,{capture:!0}),b()},E=()=>{if(l=null,n)w(),l=h(),r(l);else{T();let e={visible:!1};l=e,r(e)}};return E(),{update(e){u||(r=e.publish,n=e.visible,E())},dispose(){u||(u=!0,T())},pulse(e){if(!(u||!o)){if(e!==void 0&&e>0){let t=performance.now()+e;m=m===null?t:Math.max(m,t)}y()}}}}function kt(e){let t=(0,k.useRef)(null),n=(0,k.useRef)(null),r=(0,k.useRef)(e);r.current=e;let i=(0,k.useRef)([e.present,e.publish,...e.deps??[]]),a=(0,k.useRef)(()=>{let e=t.current;e&&(e.update({present:!1,publish:r.current.publish}),e.dispose(),t.current=null)}),o=(0,k.useCallback)(e=>{e!==n.current&&(n.current=e,t.current&&(e?(t.current.dispose(),t.current=null):a.current()),e&&(t.current=Et(e,{present:r.current.present,publish:r.current.publish}),i.current=[r.current.present,r.current.publish,...r.current.deps??[]]))},[]);return(0,k.useEffect)(()=>{let n=[e.present,e.publish,...e.deps??[]],r=i.current;(n.length!==r.length||n.some((e,t)=>!Object.is(e,r[t])))&&(i.current=n,t.current?.update({present:e.present,publish:e.publish}))},[e.present,e.publish,...e.deps??[]]),(0,k.useEffect)(()=>{let e=a.current;return n.current&&!t.current&&(t.current=Et(n.current,{present:r.current.present,publish:r.current.publish})),()=>{n.current===null&&e()}},[]),o}var M={simulator:`simulator`,simulatorDevtools:`simulator-devtools`,workbench:`workbench`,hostToolbar:`host-toolbar`,hostSidebar:`host-sidebar`,hostDialog:`host-dialog`,settings:`settings`,popover:`popover`,tooltip:`tooltip`,projectCreateDialog:`project-create-dialog`,updateDialog:`update-dialog`},At={base:0,hostToolbar:5,hostSidebar:5,settings:10,popover:20,tooltip:30,dialog:40,hostDialog:45};function jt(e){let t=it(),n=at(56,me,_e),[r,i]=(0,k.useState)(`miniprogram`);(0,k.useEffect)(()=>Te(i),[]);let a=(0,k.useMemo)(()=>e.projects.filter(e=>(e.type??`miniprogram`)===r),[e.projects,r]),o=kt({present:n>0,publish:e=>{let r=n>0&&e.width>0&&e.height>0;t.set({viewId:M.hostSidebar,placement:r?{visible:!0,bounds:e}:{visible:!1},layer:At.hostSidebar})},deps:[n,t]});return(0,A.jsx)(Je.Provider,{value:t,children:(0,A.jsxs)(`div`,{className:`flex h-screen`,children:[(0,A.jsx)(`div`,{ref:o,style:{width:n},className:`shrink-0 h-full`,"data-area":`host-sidebar`}),(0,A.jsx)(`div`,{className:`flex-1 min-w-0`,children:(0,A.jsx)(Ct,{...e,projects:a,category:r})})]})})}var Mt={selected:`simulator`,simulatorVisible:!0};function Nt(e){return e+48}function Pt(e,t){return Math.max(200,Math.min(t-200,e))}function Ft(e){let{initialDevice:t}=e,[n,r]=(0,k.useState)(t),[i,a]=(0,k.useState)(85),[o,s]=(0,k.useState)(()=>Nt(t.width)),c=(0,k.useRef)(o),l=(0,k.useRef)(n);(0,k.useEffect)(()=>{c.current=o},[o]),(0,k.useEffect)(()=>{l.current=n},[n]);let u=(0,k.useCallback)(e=>{ue({brand:`Apple`,model:e.name,system:e.system,platform:`ios`,pixelRatio:e.pixelRatio,screenWidth:e.width,screenHeight:e.height,statusBarHeight:e.statusBarHeight,notchType:e.notchType,safeAreaInsets:{...e.safeAreaInsets}})},[]);return{device:n,zoom:i,simPanelWidth:o,setSimPanelWidth:s,handleDeviceChange:(0,k.useCallback)(e=>{let t=He.find(t=>t.name===e.target.value)??He[1];r(t),u(t),s(Nt(t.width))},[u]),handleZoomChange:(0,k.useCallback)(e=>{a(e.target.value===`auto`?Ue:Number(e.target.value))},[]),handleSplitterDrag:(0,k.useCallback)((e,t=`trailing`)=>{e.preventDefault();let n=e.clientX,r=c.current,i=e=>{let i=e.clientX-n;s(Pt(r+(t===`trailing`?i:-i),window.innerWidth))},a=()=>{window.removeEventListener(`mousemove`,i),window.removeEventListener(`mouseup`,a)};window.addEventListener(`mousemove`,i),window.addEventListener(`mouseup`,a)},[]),sendDeviceInfo:u,simPanelWidthRef:c,deviceRef:l}}var It=200,Lt=300;function Rt(e){let{projectPath:t}=e,[n,r]=(0,k.useState)({status:`compiling`,message:`正在编译...`}),[i,a]=(0,k.useState)(null),[o,s]=(0,k.useState)([]),[c,l]=(0,k.useState)(0),[u,d]=(0,k.useState)({startPage:``,scene:ze,queryParams:[]});(0,k.useEffect)(()=>{let e=!1;async function n(){try{let n=await v(t);if(e)return;if(!n.success){r({status:`error`,message:n.error});return}let[i,o]=await Promise.all([ee(t),p(t)]);if(e)return;a(n.appInfo),l(n.port),s(i.pages),d({startPage:o.startPage||i.entryPagePath||i.pages[0]||``,scene:o.scene??1001,queryParams:o.queryParams||[]}),r({status:`ready`,message:`编译完成`})}catch(t){if(e)return;r({status:`error`,message:t instanceof Error?t.message:String(t)})}}return n(),()=>{e=!0}},[t]);let[m,h]=(0,k.useState)(0),[y,b]=(0,k.useState)([]),[x,S]=(0,k.useState)([]),C=(0,k.useRef)(0),[w,E]=(0,k.useState)(null),[te,ne]=(0,k.useState)(!1);(0,k.useEffect)(()=>{b([]),S([]),E(null),ne(!1)},[t]),(0,k.useEffect)(()=>_(e=>{r(e),e.pages&&s(e.pages),e.watcher===`dead`&&ne(!0);let t=++C.current;b(n=>{let r=e.hotReload===!0?{at:Date.now(),status:e.status,message:e.message,hotReload:!0,seq:t}:{at:Date.now(),status:e.status,message:e.message,seq:t},i=[...n,r];return i.length>It?i.slice(i.length-It):i}),e.hotReload===!0&&(E(null),h(e=>e+1))}),[]),(0,k.useEffect)(()=>T(e=>{i?.appId&&e.appId!==i.appId||E(e)}),[i]),(0,k.useEffect)(()=>g(e=>{let t=++C.current;S(n=>{let r=[...n,{...e,seq:t}];return r.length>Lt?r.slice(r.length-Lt):r})}),[]);let re=(0,k.useCallback)(()=>{b([]),S([])},[]),ae=(0,k.useRef)(!1),[oe,se]=(0,k.useState)(0);return{compileStatus:n,appInfo:i,port:c,pages:o,compileConfig:u,hotReloadToken:m,compileEvents:y,compileLogs:x,clearCompileEvents:re,relaunch:(0,k.useCallback)(async(e=u)=>{try{if(!i?.appId||ae.current)return;ae.current=!0,r({status:`compiling`,message:`正在编译...`});try{await f(),await ie(t,e),d(e),se(e=>e+1),r({status:`ready`,message:`刷新完成`})}finally{ae.current=!1}}catch(e){ae.current=!1,r({status:`error`,message:e instanceof Error?e.message:`刷新失败`})}},[i,u,t]),relaunchNonce:oe,runtimeStatus:w,watcherDead:te}}var zt=[`appId`,`entry`,`page`];function Bt(e){return encodeURIComponent(e).replace(/%2F/g,`/`).replace(/%2C/g,`,`)}function Vt(e){let t=Object.keys(e.query);if(t.length===0)return e.pagePath;let n=t.map(t=>`${encodeURIComponent(t)}=${encodeURIComponent(e.query[t]??``)}`).join(`&`);return`${e.pagePath}?${n}`}function Ht(e){let t=e.indexOf(`?`);if(t<0)return{pagePath:e,query:{}};let n=e.slice(0,t),r={};for(let n of e.slice(t+1).split(`&`)){if(!n)continue;let e=n.indexOf(`=`),t=e>=0?n.slice(0,e):n,i=e>=0?n.slice(e+1):``;t&&(r[decodeURIComponent(t)]=decodeURIComponent(i))}return{pagePath:n,query:r}}function Ut(e,t,n={}){let r=Vt(t),i=[`appId=${Bt(e)}`,`entry=${Bt(r)}`,`page=${Bt(r)}`];for(let[e,t]of Object.entries(n))zt.includes(e)||i.push(`${encodeURIComponent(e)}=${Bt(t)}`);return i.join(`&`)}function Wt(e){let t=e.host??`localhost`,n=e.pathname??`/simulator.html`,r=Ut(e.appId,e.page,e.extras??{});return`http://${t}:${e.port}${n}?${r}`}function Gt(e,t,n,r){let i=t.startPage||`pages/index/index`,a={};for(let e of t.queryParams??[])e.key&&(a[e.key]=e.value);a.scene=String(t.scene??1001);let o={};return r?.length&&(o.apiNamespaces=r.join(`,`)),Wt({appId:e,page:{pagePath:i,query:a},port:n,extras:o})}function Kt(e){let t=new URLSearchParams(e.startsWith(`?`)?e.slice(1):e),n=t.get(`appId`),r=t.get(`entry`);if(!n||!r)return null;let i=Ht(r),a=t.get(`page`);return{appId:n,entry:i,current:a&&a!==r?Ht(a):i}}function qt(e){if(!e)return null;try{return Kt(new URL(e).search)}catch{return null}}function Jt(e){let t=qt(e);if(!t)return``;let n={...t.current.query};return delete n.scene,Vt({pagePath:t.current.pagePath,query:n})}function Yt(e){let{compileStatus:t,sendDeviceInfo:n,simPanelWidthRef:r,deviceRef:i,appInfo:a,compileConfig:o,port:s,projectPath:c,hotReloadToken:l,relaunchNonce:u}=e,d=(0,k.useMemo)(()=>!a||!s?``:Gt(a.appId,o,s),[a,o,s]),[f,p]=(0,k.useState)(()=>Jt(d)),m=(0,k.useMemo)(()=>Ht(f).pagePath,[f]);(0,k.useEffect)(()=>{p(Jt(d))},[d]),(0,k.useEffect)(()=>Ee(e=>{e&&p(e)}),[]);let h=(0,k.useRef)({currentPage:m,currentRoute:f,compileConfig:o,appInfo:a,port:s});(0,k.useEffect)(()=>{h.current={currentPage:m,currentRoute:f,compileConfig:o,appInfo:a,port:s}});let g=(0,k.useRef)(l),_=(0,k.useRef)(u);return(0,k.useEffect)(()=>{if(t.status!==`ready`||!d)return;let e=u===_.current&&l!==g.current;g.current=l,_.current=u;let a=d;if(e){let e=h.current;if(e.appInfo&&e.port){let t=Ht(e.currentRoute),n=t.pagePath||e.compileConfig.startPage;a=Gt(e.appInfo.appId,{...e.compileConfig,startPage:n,queryParams:Object.entries(t.query).map(([e,t])=>({key:e,value:t}))},e.port)}}n(i.current);let o=!1,s=null,f=()=>{o||(s=window.setTimeout(()=>{o||C(c).catch(()=>{})},3e3))},p=()=>{be(a,r.current).then(f).catch(()=>{})};return e?ve(a).then(e=>{if(!o){if(e===!0){f();return}p()}}).catch(()=>{o||p()}):p(),()=>{o=!0,s!==null&&window.clearTimeout(s)}},[t.status,d,l,u,r,i,n,c]),{simulatorUrl:d,currentPage:m,currentRoute:f}}function Xt(){return{getSnapshot:async()=>await o(i.GetSnapshot)??null,subscribe:e=>l(i.Event,e),setActive:e=>{o(i.SetActive,e)},inspect:async e=>await o(a.Inspect,e)??null,clearInspection:async()=>{await o(a.Clear)}}}var Zt={ok:!1,error:`ipc transport failed`};function Qt(){return{getSnapshot:async()=>await o(d.GetSnapshot)??[],subscribe:e=>l(d.Event,e),setActive:()=>{},setItem:async(e,t)=>await o(d.Set,{key:e,value:t})??Zt,removeItem:async e=>await o(d.Remove,{key:e})??Zt,clear:async()=>await o(d.Clear)??Zt,clearAll:async()=>await o(d.ClearAll)??Zt,getPrefix:async()=>await o(d.GetActivePrefix)??``}}var $t={bridges:[],entries:{}};function en(){return{getSnapshot:async()=>await o(u.GetSnapshot)??$t,subscribe:e=>l(u.Event,e),setActive:()=>{},setData:async(e,t)=>await o(u.SetData,{bridgeId:e,data:t})??!1}}function tn(e){let{compileStatus:t}=e,n=t.status===`ready`;return{wxmlSource:(0,k.useMemo)(()=>Xt(),[]),wxmlEnabled:n,storageSource:(0,k.useMemo)(()=>Qt(),[]),storageEnabled:n,appDataSource:(0,k.useMemo)(()=>en(),[]),appDataEnabled:n}}function nn(e){let{initialRightPane:t}=e,[n,r]=(0,k.useState)(t);return{rightPane:n,selectRightPane:(0,k.useCallback)(e=>{r({selected:e,simulatorVisible:!0})},[]),toggleRightPaneVisible:(0,k.useCallback)(()=>{r(e=>({...e,simulatorVisible:!e.simulatorVisible}))},[])}}function rn(e){let{relaunch:t,compileConfig:n,pages:r,compileDropdownRef:i}=e,[a,o]=(0,k.useState)(!1),s=(0,k.useRef)(t);(0,k.useEffect)(()=>{s.current=t},[t]),(0,k.useEffect)(()=>{let e=Se(()=>o(!1)),t=ge(e=>{o(!1),s.current(e)});return()=>{e(),t()}},[]);let c=(0,k.useRef)(n),l=(0,k.useRef)(r);return(0,k.useEffect)(()=>{c.current=n},[n]),(0,k.useEffect)(()=>{l.current=r},[r]),{showCompilePanel:a,toggleCompilePanel:(0,k.useCallback)(()=>{o(e=>{if(e)return xe(),!1;let t=i.current;if(!t)return e;let n=t.getBoundingClientRect();return se({top:Math.round(n.bottom-40+6),left:Math.round(n.left),config:c.current,pages:l.current}),!0})},[i])}}function an(e){let{projectPath:t,initialDevice:n=He[1],initialRightPane:r=Mt}=e,i=(0,k.useRef)(null),a=(0,k.useRef)(null),o=Ft({initialDevice:n}),s=Rt({projectPath:t});(0,k.useEffect)(()=>{s.compileStatus.status===`ready`&&o.setSimPanelWidth(o.device.width+48)},[o.device.width,s.compileStatus.status,o.setSimPanelWidth]);let c=Yt({compileStatus:s.compileStatus,sendDeviceInfo:o.sendDeviceInfo,simPanelWidthRef:o.simPanelWidthRef,deviceRef:o.deviceRef,appInfo:s.appInfo,compileConfig:s.compileConfig,port:s.port,projectPath:t,hotReloadToken:s.hotReloadToken,relaunchNonce:s.relaunchNonce}),l=tn({compileStatus:s.compileStatus,activePagePath:c.currentPage}),u=nn({initialRightPane:r}),d=rn({relaunch:s.relaunch,compileConfig:s.compileConfig,pages:s.pages,compileDropdownRef:a});return{session:{compileStatus:s.compileStatus,appInfo:s.appInfo,port:s.port,pages:s.pages,compileConfig:s.compileConfig,compileEvents:s.compileEvents,compileLogs:s.compileLogs,clearCompileEvents:s.clearCompileEvents,relaunch:s.relaunch,runtimeStatus:s.runtimeStatus,watcherDead:s.watcherDead},device:{device:o.device,zoom:o.zoom,simPanelWidth:o.simPanelWidth,setSimPanelWidth:o.setSimPanelWidth,handleDeviceChange:o.handleDeviceChange,handleZoomChange:o.handleZoomChange,handleSplitterDrag:o.handleSplitterDrag,sendDeviceInfo:o.sendDeviceInfo},simulator:{simulatorRef:i,simulatorUrl:c.simulatorUrl,currentPage:c.currentPage,currentRoute:c.currentRoute},panelData:{wxmlSource:l.wxmlSource,wxmlEnabled:l.wxmlEnabled,storageSource:l.storageSource,storageEnabled:l.storageEnabled,appDataSource:l.appDataSource,appDataEnabled:l.appDataEnabled},rightPane:{rightPane:u.rightPane,selectRightPane:u.selectRightPane,toggleRightPaneVisible:u.toggleRightPaneVisible},popover:{compileDropdownRef:a,showCompilePanel:d.showCompilePanel,toggleCompilePanel:d.toggleCompilePanel}}}var on={dockTree:null,simulatorAlignment:`left`,devtoolsPosition:`inEditor`},sn=`dimina-devtools.layout.v1`;function cn(){try{let e=window.localStorage.getItem(sn);if(!e)return on;let t=JSON.parse(e);return{dockTree:typeof t.dockTree==`string`?t.dockTree:null,simulatorAlignment:t.simulatorAlignment===`right`?`right`:`left`,devtoolsPosition:t.devtoolsPosition===`belowSimulator`||t.devtoolsPosition===`rightOfSimulator`?t.devtoolsPosition:`inEditor`}}catch{return on}}function ln(e){try{window.localStorage.setItem(sn,JSON.stringify(e))}catch{}}function un(){let[e,t]=(0,k.useState)(cn);return(0,k.useEffect)(()=>{ln(e)},[e]),{state:e,setDockTree:(0,k.useCallback)(e=>{t(t=>t.dockTree===e?t:{...t,dockTree:e})},[]),setSimulatorAlignment:(0,k.useCallback)(e=>{t(t=>t.simulatorAlignment===e?t:{...t,simulatorAlignment:e})},[]),setDevtoolsPosition:(0,k.useCallback)(e=>{t(t=>t.devtoolsPosition===e?t:{...t,devtoolsPosition:e})},[])}}var dn={compiling:`bg-status-warn animate-[pulse_1s_infinite]`,ready:`bg-accent`,error:`bg-status-error`};function fn({status:e}){return(0,A.jsx)(`span`,{className:Ae(`w-1.5 h-1.5 rounded-full shrink-0`,dn[e]??`bg-border`)})}var pn=400,mn=null;function hn(e,t,n){mn=e,ce({anchor:{x:n.x,y:n.y,width:n.width,height:n.height},text:t})}function gn(e){mn===e&&(mn=null,Ce())}function _n(e){let t=(0,k.useRef)(null),n=(0,k.useRef)(void 0),r=(0,k.useRef)(Symbol(`overlay-tooltip-owner`));function i(){window.clearTimeout(n.current),n.current=window.setTimeout(()=>{let n=t.current;n&&hn(r.current,e,n.getBoundingClientRect())},pn)}function a(){window.clearTimeout(n.current),gn(r.current)}return(0,k.useEffect)(()=>a,[]),{ref:t,onMouseEnter:i,onMouseLeave:a}}function vn(){let e=new Map;return{register(t){return e.set(t.id,t),{dispose(){e.get(t.id)===t&&e.delete(t.id)}}},get(t){return e.get(t)},list(){return[...e.values()]}}}var yn=64;function bn(e){return JSON.stringify(e)}function xn(e,t,n,r){e===void 0?r.push(`node missing string id (kind=${String(t)})`):n.seenIds.has(e)?r.push(`duplicate node id: ${e}`):n.seenIds.add(e)}function Sn(e,t,n,r){if(typeof e!=`string`){r.push(`tabs ${t??`?`}: non-string panel id`);return}n.panelOwners.get(e)===void 0?n.panelOwners.set(e,t??`?`):r.push(`duplicate panel id across groups: ${e}`),n.knownPanelIds&&!n.knownPanelIds.has(e)&&r.push(`orphan panel not in known panel ids: ${e}`)}function Cn(e,t,n,r){let i=e,a=Array.isArray(i.panels)?i.panels:null;if(!a){r.push(`tabs ${t??`?`}: panels is not an array`);return}a.length===0&&r.push(`tabs ${t??`?`}: empty tabgroup`);for(let e of a)Sn(e,t,n,r);let o=i.active;(typeof o!=`string`||!a.includes(o))&&r.push(`tabs ${t??`?`}: active ${String(o)} not in panels`)}function wn(e,t,n){if(e===null)return!1;if(typeof e!=`object`)return n.push(`split ${t??`?`}: constraint is not null nor an object: ${String(e)}`),!1;let r=Object.keys(e),i=r.includes(`fixedPx`),a=r.includes(`minPx`);(r.length!==1||!(i||a))&&n.push(`split ${t??`?`}: constraint must have exactly one of 'fixedPx' or 'minPx', got [${r.join(`, `)}]`);let o=i?`fixedPx`:`minPx`,s=i?e.fixedPx:e.minPx;return(typeof s!=`number`||!Number.isFinite(s)||s<=0)&&n.push(`split ${t??`?`}: constraint ${o} must be a finite number > 0, got ${String(s)}`),!0}function Tn(e,t,n){let r=Array.isArray(e)?e:null;if(!r){n.push(`split ${t??`?`}: constraints is not an array`);return}let i=r.length>0;for(let e of r)wn(e,t,n)||(i=!1);i&&n.push(`split ${t??`?`}: all children are px-sized constraints; at least one must be weight-sized`)}function En(e,t,n,r){if(!e||e.length!==t.length){r.push(`split ${n??`?`}: sizes ${e?e.length:`missing`} != children ${t.length}`);return}for(let t of e)(typeof t!=`number`||!Number.isFinite(t))&&r.push(`split ${n??`?`}: non-finite size ${String(t)}`)}function Dn(e,t){let n=[],r={seenIds:new Set,seenObjects:new Set,panelOwners:new Map,knownPanelIds:t},i=(e,t,a)=>{if(t>yn){n.push(`depth exceeds ${yn}`);return}if(typeof e!=`object`||!e){n.push(`node is not an object: ${String(e)}`);return}let o=e;if(a.has(o)){n.push(`cycle detected: node reachable from itself`);return}if(r.seenObjects.has(o)){n.push(`shared node reference: same object appears twice`);return}r.seenObjects.add(o);let s=e,c=s.kind,l=typeof s.id==`string`?s.id:void 0;xn(l,c,r,n),c===`tabs`?Cn(e,l,r,n):c===`split`?On(e,l,t,a,o,r,n,i):n.push(`unknown node kind: ${String(c)}`)};return i(e,0,new Set),n}function On(e,t,n,r,i,a,o,s){let c=e,l=Array.isArray(c.children)?c.children:null,u=Array.isArray(c.sizes)?c.sizes:null,d=c.orientation;if(d!==`row`&&d!==`column`&&o.push(`split ${t??`?`}: invalid orientation ${String(d)}`),c.constraints!==void 0&&Tn(c.constraints,t,o),!l){o.push(`split ${t??`?`}: children is not an array`);return}if(l.length<2&&o.push(`split ${t??`?`}: must have >= 2 children, has ${l.length}`),En(u,l,t,o),c.constraints!==void 0&&Array.isArray(c.constraints)){let e=c.constraints;e.length!==l.length&&o.push(`split ${t??`?`}: constraints ${e.length} != children ${l.length}`)}let f=new Set(r);f.add(i);for(let e of l)s(e,n+1,f)}function kn(e,t){return typeof e!=`object`||!e?[`tree is not an object`]:e.version===1?Dn(e.root,t):[`unsupported version: ${String(e.version)}`]}function An(e){let t;try{t=JSON.parse(e)}catch{throw Error(`parseLayout: input is not valid JSON`)}if(typeof t!=`object`||!t)throw Error(`parseLayout: top-level value is not an object`);let n=t;if(n.version!==1)throw Error(`parseLayout: unsupported version ${String(n.version)}`);if(n.root===void 0||n.root===null)throw Error(`parseLayout: missing root`);let r=Dn(n.root,null);if(r.length>0)throw Error(`parseLayout: illegal layout — ${r.join(`; `)}`);return{version:1,root:n.root}}var jn=1;function Mn(e,t){return(e.constraints?.[t]??null)===null}function Nn(e){if(e.kind===`tabs`)return e;let t=e.children.map(Nn),n=t.some((t,n)=>t!==e.children[n]),r=e.sizes.map((t,r)=>!Mn(e,r)||typeof t==`number`&&Number.isFinite(t)&&t>0?t:(n=!0,jn));if(!n)return e;let i={kind:`split`,id:e.id,orientation:e.orientation,children:t,sizes:r};return e.constraints===void 0?i:{...i,constraints:e.constraints}}function Pn(e){let t=Nn(e.root);return t===e.root?e:{version:1,root:t}}function Fn(e,t){let n=null,r=e=>{n||(e.kind===`tabs`?e.id===t&&(n=e):e.children.forEach(r))};return r(e),n}function In(e,t){let n=null,r=e=>{n||(e.kind===`tabs`?e.panels.includes(t)&&(n=e):e.children.forEach(r))};return r(e),n}function Ln(e,t){return In(e,t)?.id}function Rn(e){return e.kind===`tabs`?e.panels.length:e.children.reduce((e,t)=>e+Rn(t),0)}function N(e,t,n){return{kind:`tabs`,id:e,panels:t,active:n}}function zn(e,t,n){if(e.length===0)return``;if(e.includes(t))return t;let r=Math.min(n,e.length-1);return e[Math.max(0,r)]}function Bn(e){if(e.kind===`tabs`)return e.panels.length===0?null:e;let t=[],n=[],r=[],i=e.constraints!==void 0;if(e.children.forEach((a,o)=>{let s=Bn(a);s!==null&&(t.push(s),n.push(e.sizes[o]??1),i&&r.push(e.constraints[o]??null))}),t.length===0)return null;if(t.length===1)return t[0];let a={kind:`split`,id:e.id,orientation:e.orientation,children:t,sizes:n};return i?(r.length>0&&!r.some(e=>e===null)&&(r[r.length-1]=null),{...a,constraints:r}):a}function P(e){let t=Bn(e);if(t===null)throw Error(`mutation would empty the entire layout`);return t}function Vn(e){let t=new Set,n=e=>{if(e.kind===`tabs`)for(let n of e.panels)t.add(n);else e.children.forEach(n)};return n(e),t}function Hn(e,t){return Vn(e).has(t)}function Un(e){let t=new Set,n=e=>{t.add(e.id),e.kind===`split`&&e.children.forEach(n)};return n(e),t}function F(e,t){let n=t,r=2;for(;e.has(n);)n=`${t}#${r}`,r+=1;return e.add(n),n}function Wn(e,t){let n=null,r=e=>{n||e.kind===`split`&&(e.id===t&&(n=e),e.children.forEach(r))};return r(e),n}function I(e,t,n){if(e.id===t)return n;if(e.kind===`tabs`)return N(e.id,[...e.panels],e.active);let r={kind:`split`,id:e.id,orientation:e.orientation,children:e.children.map(e=>I(e,t,n)),sizes:[...e.sizes]};return e.constraints===void 0?r:{...r,constraints:[...e.constraints]}}function Gn(e){if(e.kind===`tabs`)return N(e.id,[...e.panels],e.active);let t={kind:`split`,id:e.id,orientation:e.orientation,children:e.children.map(Gn),sizes:[...e.sizes]};return e.constraints===void 0?t:{...t,constraints:[...e.constraints]}}function L(e){return{version:1,root:e}}function Kn(e,t,n){let r=Wn(e.root,t);if(!r)throw Error(`setSizes: split not found: ${t}`);if(n.length!==r.children.length)throw Error(`setSizes: sizes length ${n.length} != children length ${r.children.length}`);if(!n.every(e=>Number.isFinite(e)))throw Error(`setSizes: every size must be a finite number, got [${n.join(`, `)}]`);let i={kind:`split`,id:r.id,orientation:r.orientation,children:r.children.map(Gn),sizes:[...n]},a=r.constraints===void 0?i:{...i,constraints:[...r.constraints]};return L(I(e.root,t,a))}function qn(e,t,n,r){let i=Wn(e.root,t);if(!i)throw Error(`setConstraint: split not found: ${t}`);if(!Number.isInteger(n))throw Error(`setConstraint: childIndex must be an integer, got ${n}`);if(n<0||n>=i.children.length)throw Error(`setConstraint: childIndex ${n} out of range [0, ${i.children.length})`);let a=i.constraints===void 0?i.children.map(()=>null):[...i.constraints];if(a[n]=r,a.length>0&&a.every(e=>e!==null))return e;let o={kind:`split`,id:i.id,orientation:i.orientation,children:i.children.map(Gn),sizes:[...i.sizes],constraints:a};return L(I(e.root,t,o))}function Jn(e,t,n){let r=Fn(e.root,t);if(!r)throw Error(`setActive: group not found: ${t}`);if(!r.panels.includes(n))throw Error(`setActive: panel ${n} not in group ${t}`);let i=N(r.id,[...r.panels],n);return L(I(e.root,t,i))}function Yn(e,t){let n=In(e,t);if(!n)throw Error(`panel not found: ${t}`);let r=n.panels.indexOf(t),i=n.panels.filter(e=>e!==t),a=N(n.id,i,zn(i,n.active,r));return P(I(e,n.id,a))}function Xn(e,t){let n=Vn(e.root);return n.size===1&&n.has(t)?e:L(Yn(e.root,t))}function Zn(e,t){if(!In(e.root,t))throw Error(`extractPanel: panel not found: ${t}`);return{tree:L(Yn(e.root,t)),extracted:t}}function Qn(e,t,n){if(Hn(e.root,t))throw Error(`insertPanel: panel already exists in the tree: ${t}`);let r=Fn(e.root,n.groupId);if(!r)throw Error(`insertPanel: dest group not found: ${n.groupId}`);let i=[...r.panels],a=$n(n.index,i.length);i.splice(a,0,t);let o=N(r.id,i,r.active);return L(P(I(e.root,r.id,o)))}function $n(e,t){return e===void 0?t:e<0?0:e>t?t:e}function er(e,t,n){let r=In(e.root,t);if(!r)throw Error(`movePanel: panel not found: ${t}`);let i=Fn(e.root,n.groupId);if(!i)throw Error(`movePanel: dest group not found: ${n.groupId}`);if(r.id===i.id){let i=r.panels.filter(e=>e!==t),a=$n(n.index,i.length),o=[...i];o.splice(a,0,t);let s=N(r.id,o,r.active);return L(P(I(e.root,r.id,s)))}let a=r.panels.indexOf(t),o=r.panels.filter(e=>e!==t),s=N(r.id,o,zn(o,r.active,a)),c=[...i.panels],l=$n(n.index,c.length);c.splice(l,0,t);let u=N(i.id,c,i.active),d=I(e.root,r.id,s);return d=I(d,i.id,u),L(P(d))}function tr(e,t,n,r){if(Hn(e.root,t))throw Error(`wrapRoot: new panel already exists in the tree: ${t}`);let i=Un(e.root),a=e.root.id,o=N(F(i,`${a}__new`),[t],t),s=Gn(e.root),c=r===`after`?[s,o]:[o,s];return L({kind:`split`,id:F(i,`${a}__wrap`),orientation:n,children:c,sizes:[1,1]})}function nr(e,t,n,r,i){if(Hn(e.root,r))throw Error(`splitGroup: new panel already exists in the tree: ${r}`);let a=Fn(e.root,t);if(!a)throw Error(`splitGroup: group not found: ${t}`);let o=Un(e.root),s=N(F(o,`${t}__new`),[r],r),c=Gn(a),l=i===`after`?[c,s]:[s,c],u={kind:`split`,id:F(o,`${t}__sp`),orientation:n,children:l,sizes:[1,1]};return L(P(I(e.root,t,u)))}function R(e,t,n,r,i){if(Hn(e.root,r))throw Error(`splitPanel: new panel already exists in the tree: ${r}`);let a=In(e.root,t);if(!a)throw Error(`splitPanel: panel not found: ${t}`);let o=Un(e.root),s=a.id,c=N(F(o,`${s}__split`),[t],t),l=N(F(o,`${s}__new`),[r],r),u=i===`after`?[c,l]:[l,c],d={kind:`split`,id:F(o,`${s}__sp`),orientation:n,children:u,sizes:[1,1]};if(a.panels.length===1)return L(P(I(e.root,s,d)));let f=a.panels.indexOf(t),p=a.panels.filter(e=>e!==t),m=N(s,p,zn(p,a.active,f)),h=i===`after`?[m,d]:[d,m],g={kind:`split`,id:F(o,`${s}__outer`),orientation:n,children:h,sizes:[1,1]};return L(P(I(e.root,s,g)))}function rr(e){let t=structuredClone(e),n=0,r=new Set,i=!1,a=[],o=e=>{let i=e(t);if(i===t)return;t=i,n+=1;let a={tree:t,revision:n};for(let e of[...r])try{e(a)}catch{}};return{get(){return t},apply(e){if(i){a.push(e);return}i=!0;try{for(o(e);a.length>0;){let e=a.shift();try{o(e)}catch{}}}finally{i=!1}},subscribe(e){return r.add(e),()=>{r.delete(e)}}}}function ir(e,t,n){return n.get(t)?.closable===!1?e:Xn(e,t)}var ar=`dock-root`;function or(){let e=vn();return e.register({kind:`dom`,id:`simulator`,title:`Simulator`,draggable:!1,hideTab:!0}),e.register({kind:`dom`,id:`editor`,title:`Editor`,draggable:!1,hideTab:!0}),e.register({kind:`dom`,id:`wxml`,title:`WXML`,dropPolicy:`reorder-only`,closable:!1}),e.register({kind:`dom`,id:`appdata`,title:`AppData`,dropPolicy:`reorder-only`,closable:!1}),e.register({kind:`dom`,id:`storage`,title:`Storage`,dropPolicy:`reorder-only`,closable:!1}),e.register({kind:`native`,id:`console`,title:`Console`,nativeRef:{id:`console`},dropPolicy:`reorder-only`,closable:!1}),e.register({kind:`dom`,id:`compile`,title:`编译`,dropPolicy:`reorder-only`,closable:!1}),e}function sr(e){return{version:1,root:{kind:`split`,id:ar,orientation:`row`,sizes:[1,6],constraints:[{minPx:e},null],children:[{kind:`tabs`,id:`g-sim`,panels:[`simulator`],active:`simulator`},{kind:`tabs`,id:`g-debug`,panels:[`wxml`,`appdata`,`storage`,`console`,`compile`],active:`wxml`}]}}}var cr={kind:`tabs`,id:`g-debug`,panels:[`wxml`,`appdata`,`storage`,`console`,`compile`],active:`wxml`},lr=()=>({kind:`tabs`,id:`g-sim`,panels:[`simulator`],active:`simulator`}),ur=()=>({kind:`tabs`,id:`g-editor`,panels:[`editor`],active:`editor`}),dr=()=>({...cr,panels:[...cr.panels]});function z(e,t,n,r){return{version:1,root:{kind:`split`,id:ar,orientation:`row`,sizes:e.map((e,t)=>r[t]??1),constraints:e.map((e,r)=>r===t?{minPx:n}:null),children:e}}}function fr(e,t,n){let r=t===`left`;if(n===`belowSimulator`){let t={kind:`split`,id:`col-sim`,orientation:`column`,sizes:[60,40],children:[lr(),dr()]};return r?z([t,ur()],0,e,[1,6]):z([ur(),t],1,e,[6,1])}if(n===`rightOfSimulator`)return r?z([lr(),dr(),ur()],0,e,[1,4,5]):z([ur(),dr(),lr()],2,e,[5,4,1]);let i={kind:`split`,id:`col-main`,orientation:`column`,sizes:[70,30],children:[ur(),dr()]};return r?z([lr(),i],0,e,[1,6]):z([i,lr()],1,e,[6,1])}function pr(e,t,n){return rr(mr(e,t,n))}function mr(e,t,n){if(e===null)return sr(t);try{let r=An(e);if(kn(r,n).length===0)return hr(Pn(gr(r)),t)}catch{}return sr(t)}function hr(e,t){let n=yr(e);return B.some(e=>n.has(e))?B.reduce((e,r)=>n.has(r)?e:wr(e,r,t),e):e}function gr(e){return{...e,root:_r(e.root,`root`,ar)}}function _r(e,t,n){return e.kind===`tabs`?e:{...e,id:e.id===t?n:e.id,children:e.children.map(e=>_r(e,t,n))}}var B=[`wxml`,`appdata`,`storage`,`console`,`compile`];function vr(e,t){if(e.kind===`tabs`){for(let n of e.panels)t.add(n);return}for(let n of e.children)vr(n,t)}function yr(e){let t=new Set;return vr(e.root,t),t}function br(e,t){if(e.kind===`tabs`)return e.panels.includes(t)?e.id:void 0;for(let n of e.children){let e=br(n,t);if(e!==void 0)return e}}function xr(e,t){return t.find(t=>e.has(t))}function Sr(e,t){if(e.kind===`tabs`)return null;for(let n=0;n<e.children.length;n++){if(e.children[n].id===t)return{splitId:e.id,childIndex:n};let r=Sr(e.children[n],t);if(r)return r}return null}function Cr(e,t){let n=br(e.root,`simulator`);if(!n)return e;let r=Sr(e.root,n);return r?qn(e,r.splitId,r.childIndex,{minPx:t}):e}function wr(e,t,n){let r=yr(e);if(r.has(t))return e;if(B.includes(t)){let n=B.find(e=>e!==t&&r.has(e));return n?Qn(e,t,{groupId:br(e.root,n)}):r.has(`editor`)?R(e,`editor`,`column`,t,`after`):r.has(`simulator`)?R(e,`simulator`,`row`,t,`after`):R(e,[...r][0],`column`,t,`after`)}if(t===`editor`){let t=xr(r,B);return t?nr(e,br(e.root,t),`column`,`editor`,`before`):r.has(`simulator`)?R(e,`simulator`,`row`,`editor`,`after`):R(e,[...r][0],`column`,`editor`,`before`)}return t===`simulator`?Cr(tr(e,`simulator`,`row`,`before`),n):R(e,[...r][0],`column`,t,`after`)}function Tr(e,t){let n=yr(e);return t.list().map(e=>({id:e.id,title:e.title??e.id,open:n.has(e.id)}))}var Er=B;function Dr({model:e,registry:t,simPanelWidth:n}){let[,r]=(0,k.useState)(0);(0,k.useEffect)(()=>e.subscribe(()=>r(e=>e+1)),[e]);let i=new Set(Tr(e.get(),t).filter(e=>e.open).map(e=>e.id)),a=i.has(`simulator`),o=i.has(`editor`),s=Er.some(e=>i.has(e)),c=[a,o,s].filter(Boolean).length;function l(r,i){e.apply(e=>i?ir(e,r,t):wr(e,r,n))}function u(){if(s){let t=Er.filter(e=>i.has(e));e.apply(e=>t.reduce((e,t)=>Xn(e,t),e))}else{let t=Er.filter(e=>!i.has(e));e.apply(e=>t.reduce((e,t)=>wr(e,t,n),e))}}return(0,A.jsxs)(`div`,{className:`flex items-center gap-0.5`,role:`group`,"aria-label":`面板可见性`,children:[(0,A.jsx)(Ar,{active:a,disabled:a&&c===1,onClick:()=>l(`simulator`,a),label:a?`隐藏模拟器`:`显示模拟器`,testId:`layout-toolbar-toggle-simulator`,icon:(0,A.jsx)(Me,{className:`size-3.5`})}),(0,A.jsx)(Ar,{active:o,disabled:o&&c===1,onClick:()=>l(`editor`,o),label:o?`隐藏编辑器`:`显示编辑器`,testId:`layout-toolbar-toggle-editor`,icon:(0,A.jsx)(ct,{className:`size-3.5`})}),(0,A.jsx)(Ar,{active:s,disabled:s&&c===1,onClick:u,label:s?`隐藏调试器`:`显示调试器`,testId:`layout-toolbar-toggle-debug`,icon:(0,A.jsx)(ot,{className:`size-3.5`})})]})}function Or({model:e,layout:t,simPanelWidth:n}){let{simulatorAlignment:r,devtoolsPosition:i}=t.state,a=r===`left`;function o(){let r=a?`right`:`left`;t.setSimulatorAlignment(r),e.apply(()=>fr(n,r,i))}let s=a?`模拟器位置:左侧(点击切换到右侧)`:`模拟器位置:右侧(点击切换到左侧)`;return(0,A.jsx)(D,{variant:`toolbar`,size:`icon`,onClick:o,"aria-label":s,"data-testid":`layout-toolbar-alignment-toggle`,"data-alignment":r,..._n(s),children:a?(0,A.jsx)(ut,{className:`size-3.5`}):(0,A.jsx)(dt,{className:`size-3.5`})})}function kr({model:e,layout:t,simPanelWidth:n}){let{simulatorAlignment:r,devtoolsPosition:i}=t.state;function a(i){t.setDevtoolsPosition(i),e.apply(()=>fr(n,r,i))}return(0,A.jsx)(`div`,{className:`flex items-center gap-0.5`,role:`group`,"aria-label":`调试器位置`,children:[{id:`inEditor`,label:`调试器位置:在编辑器面板中`},{id:`belowSimulator`,label:`调试器位置:在模拟器下方`},{id:`rightOfSimulator`,label:`调试器位置:在模拟器右侧`}].map(e=>(0,A.jsx)(Ar,{active:i===e.id,onClick:()=>a(e.id),label:e.label,testId:`layout-toolbar-devtools-${e.id}`,icon:(0,A.jsx)(jr,{variant:e.id})},e.id))})}function Ar({active:e,disabled:t,onClick:n,label:r,testId:i,icon:a}){let o=_n(r);return(0,A.jsx)(D,{variant:`toolbar`,size:`icon`,onClick:n,disabled:t,"aria-label":r,"aria-pressed":e,"data-testid":i,"data-active":e?`true`:`false`,...o,children:a})}function jr({variant:e}){return e===`inEditor`?(0,A.jsxs)(`svg`,{className:`size-3.5`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,A.jsx)(`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}),(0,A.jsx)(`line`,{x1:`9`,y1:`3`,x2:`9`,y2:`21`}),(0,A.jsx)(`path`,{d:`M9 15h12`}),(0,A.jsx)(`rect`,{x:`9`,y:`15`,width:`12`,height:`6`,fill:`currentColor`,stroke:`none`})]}):e===`belowSimulator`?(0,A.jsxs)(`svg`,{className:`size-3.5`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,A.jsx)(`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}),(0,A.jsx)(`line`,{x1:`12`,y1:`3`,x2:`12`,y2:`21`}),(0,A.jsx)(`path`,{d:`M3 15h9`}),(0,A.jsx)(`rect`,{x:`3`,y:`15`,width:`9`,height:`6`,fill:`currentColor`,stroke:`none`})]}):(0,A.jsxs)(`svg`,{className:`size-3.5`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,A.jsx)(`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}),(0,A.jsx)(`line`,{x1:`9`,y1:`3`,x2:`9`,y2:`21`}),(0,A.jsx)(`line`,{x1:`15`,y1:`3`,x2:`15`,y2:`21`}),(0,A.jsx)(`rect`,{x:`9`,y:`3`,width:`6`,height:`18`,fill:`currentColor`,stroke:`none`})]})}function Mr(){return(0,A.jsx)(`div`,{className:`w-px h-4 bg-border mx-1`,"aria-hidden":`true`})}function Nr({compileDropdownRef:e,showCompilePanel:t,onToggleCompilePanel:n,onRelaunch:r,compileStatus:i,dockModel:a,dockRegistry:o,layout:s,simPanelWidth:c}){k.useEffect(()=>{le()},[]);let l=_n(`编译模式`),u=_n(`重新编译`),d=_n(`设置`);return(0,A.jsx)(`div`,{className:`flex flex-col shrink-0`,children:(0,A.jsxs)(`div`,{className:`flex items-center gap-1.5 px-2.5 bg-surface-2 border-b border-border shrink-0`,style:{height:40},children:[(0,A.jsx)(`div`,{ref:e,children:(0,A.jsxs)(D,{variant:`toolbar`,onClick:n,"data-active":t?`true`:`false`,className:`h-7 gap-0.5 pl-2 pr-1.5 text-[13px] text-text-secondary`,...l,children:[`普通编译 `,(0,A.jsx)(st,{className:`size-3.5`})]})}),(0,A.jsx)(Mr,{}),(0,A.jsx)(D,{variant:`toolbar`,size:`icon`,className:`size-7 rounded-[var(--qd-radius-md)]`,onClick:()=>{r()},disabled:i.status===`compiling`,"aria-label":`重新编译`,...u,children:(0,A.jsx)(mt,{className:`size-3.5`})}),(0,A.jsxs)(`div`,{className:`flex items-center gap-1.5 px-1.5 shrink-0`,children:[(0,A.jsx)(fn,{status:i.status}),(0,A.jsx)(`span`,{className:`text-[12px] text-text-secondary max-w-28 truncate`,children:i.message})]}),(0,A.jsx)(`div`,{className:`flex-1 min-w-2`}),(0,A.jsx)(Dr,{model:a,registry:o,simPanelWidth:c}),(0,A.jsx)(Mr,{}),(0,A.jsx)(Or,{model:a,layout:s,simPanelWidth:c}),(0,A.jsx)(Mr,{}),(0,A.jsx)(kr,{model:a,layout:s,simPanelWidth:c}),(0,A.jsx)(Mr,{}),(0,A.jsx)(D,{variant:`toolbar`,size:`icon`,className:`size-7 rounded-[var(--qd-radius-md)]`,onClick:()=>{Oe(!0)},"aria-label":`设置`,...d,children:(0,A.jsx)(gt,{className:`size-3.5`})})]})})}function Pr(e,t){let n=getComputedStyle(e);return t*parseFloat(n.fontSize)}function Fr(e,t){let n=getComputedStyle(e.ownerDocument.body);return t*parseFloat(n.fontSize)}function Ir(e){return e/100*window.innerHeight}function Lr(e){return e/100*window.innerWidth}function Rr(e){switch(typeof e){case`number`:return[e,`px`];case`string`:{let t=parseFloat(e);return e.endsWith(`%`)?[t,`%`]:e.endsWith(`px`)?[t,`px`]:e.endsWith(`rem`)?[t,`rem`]:e.endsWith(`em`)?[t,`em`]:e.endsWith(`vh`)?[t,`vh`]:e.endsWith(`vw`)?[t,`vw`]:[t,`%`]}}}function zr({groupSize:e,panelElement:t,styleProp:n}){let r,[i,a]=Rr(n);switch(a){case`%`:r=i/100*e;break;case`px`:r=i;break;case`rem`:r=Fr(t,i);break;case`em`:r=Pr(t,i);break;case`vh`:r=Ir(i);break;case`vw`:r=Lr(i);break}return r}function V(e){return parseFloat(e.toFixed(3))}function Br({group:e}){let{orientation:t,panels:n}=e;return n.reduce((e,n)=>(e+=t===`horizontal`?n.element.offsetWidth:n.element.offsetHeight,e),0)}function Vr(e){let{panels:t}=e,n=Br({group:e});return n===0?t.map(e=>({groupResizeBehavior:e.panelConstraints.groupResizeBehavior,collapsedSize:0,collapsible:e.panelConstraints.collapsible===!0,defaultSize:void 0,disabled:e.panelConstraints.disabled,minSize:0,maxSize:100,panelId:e.id})):t.map(e=>{let{element:t,panelConstraints:r}=e,i=0;r.collapsedSize!==void 0&&(i=V(zr({groupSize:n,panelElement:t,styleProp:r.collapsedSize})/n*100));let a;r.defaultSize!==void 0&&(a=V(zr({groupSize:n,panelElement:t,styleProp:r.defaultSize})/n*100));let o=0;r.minSize!==void 0&&(o=V(zr({groupSize:n,panelElement:t,styleProp:r.minSize})/n*100));let s=100;return r.maxSize!==void 0&&(s=V(zr({groupSize:n,panelElement:t,styleProp:r.maxSize})/n*100)),{groupResizeBehavior:r.groupResizeBehavior,collapsedSize:i,collapsible:r.collapsible===!0,defaultSize:a,disabled:r.disabled,minSize:o,maxSize:s,panelId:e.id}})}function H(e,t=`Assertion error`){if(!e)throw Error(t)}function Hr(e,t){return Array.from(t).sort(e===`horizontal`?Ur:Wr)}function Ur(e,t){let n=e.element.offsetLeft-t.element.offsetLeft;return n===0?e.element.offsetWidth-t.element.offsetWidth:n}function Wr(e,t){let n=e.element.offsetTop-t.element.offsetTop;return n===0?e.element.offsetHeight-t.element.offsetHeight:n}function Gr(e){return typeof e==`object`&&!!e&&`nodeType`in e&&e.nodeType===Node.ELEMENT_NODE}function Kr(e,t){return{x:e.x>=t.left&&e.x<=t.right?0:Math.min(Math.abs(e.x-t.left),Math.abs(e.x-t.right)),y:e.y>=t.top&&e.y<=t.bottom?0:Math.min(Math.abs(e.y-t.top),Math.abs(e.y-t.bottom))}}function qr({orientation:e,rects:t,targetRect:n}){let r={x:n.x+n.width/2,y:n.y+n.height/2},i,a=Number.MAX_VALUE;for(let n of t){let{x:t,y:o}=Kr(r,n),s=e===`horizontal`?t:o;s<a&&(a=s,i=n)}return H(i,`No rect found`),i}var Jr;function Yr(){return Jr===void 0&&(Jr=typeof matchMedia==`function`?!!matchMedia(`(pointer:coarse)`).matches:!1),Jr}function Xr(e){let{element:t,orientation:n,panels:r,separators:i}=e,a=Hr(n,Array.from(t.children).filter(Gr).map(e=>({element:e}))).map(({element:e})=>e),o=[],s=!1,c=!1,l=-1,u=-1,d=0,f,p=[];{let e=-1;for(let t of a)t.hasAttribute(`data-panel`)&&(e++,t.hasAttribute(`data-disabled`)||(d++,l===-1&&(l=e),u=e))}if(d>1){let t=-1;for(let d of a)if(d.hasAttribute(`data-panel`)){t++;let i=r.find(e=>e.element===d);if(i){if(f){let r=f.element.getBoundingClientRect(),a=d.getBoundingClientRect(),m;if(c){let e=n===`horizontal`?new DOMRect(r.right,r.top,0,r.height):new DOMRect(r.left,r.bottom,r.width,0),t=n===`horizontal`?new DOMRect(a.left,a.top,0,a.height):new DOMRect(a.left,a.top,a.width,0);switch(p.length){case 0:m=[e,t];break;case 1:{let i=p[0];m=[i,qr({orientation:n,rects:[r,a],targetRect:i.element.getBoundingClientRect()})===r?t:e];break}default:m=p;break}}else m=p.length?p:[n===`horizontal`?new DOMRect(r.right,a.top,a.left-r.right,a.height):new DOMRect(a.left,r.bottom,a.width,a.top-r.bottom)];for(let n of m){let r=`width`in n?n:n.element.getBoundingClientRect(),a=Yr()?e.resizeTargetMinimumSize.coarse:e.resizeTargetMinimumSize.fine;if(r.width<a){let e=a-r.width;r=new DOMRect(r.x-e/2,r.y,r.width+e,r.height)}if(r.height<a){let e=a-r.height;r=new DOMRect(r.x,r.y-e/2,r.width,r.height+e)}!s&&!(t<=l||t>u)&&o.push({group:e,groupSize:Br({group:e}),panels:[f,i],separator:`width`in n?void 0:n,rect:r}),s=!1}}c=!1,f=i,p=[]}}else if(d.hasAttribute(`data-separator`)){d.ariaDisabled!==null&&(s=!0);let e=i.find(e=>e.element===d);e?p.push(e):(f=void 0,p=[])}else c=!0}return o}var Zr=class{#e={};addListener(e,t){let n=this.#e[e];return n===void 0?this.#e[e]=[t]:n.includes(t)||n.push(t),()=>{this.removeListener(e,t)}}emit(e,t){let n=this.#e[e];if(n!==void 0)if(n.length===1)n[0].call(null,t);else{let e=!1,r=null,i=Array.from(n);for(let n=0;n<i.length;n++){let a=i[n];try{a.call(null,t)}catch(t){r===null&&(e=!0,r=t)}}if(e)throw r}}removeAllListeners(){this.#e={}}removeListener(e,t){let n=this.#e[e];if(n!==void 0){let e=n.indexOf(t);e>=0&&n.splice(e,1)}}},U=new Map,Qr=new Zr;function $r(e){U=new Map(U),U.delete(e)}function ei(e,t){for(let[t]of U)if(t.id===e)return t}function W(e,t){for(let[t,n]of U)if(t.id===e)return n;if(t)throw Error(`Could not find data for Group with id ${e}`)}function G(){return U}function ti(e,t){return Qr.addListener(`groupChange`,n=>{n.group.id===e&&t(n)})}function K(e,t){let n=U.get(e);U=new Map(U),U.set(e,t),Qr.emit(`groupChange`,{group:e,prev:n,next:t})}function ni(e,t,n){let r,i={x:1/0,y:1/0};for(let a of t){let t=Kr(n,a.rect);switch(e){case`horizontal`:t.x<=i.x&&(r=a,i=t);break;case`vertical`:t.y<=i.y&&(r=a,i=t);break}}return r?{distance:i,hitRegion:r}:void 0}function ri(e){return typeof e==`object`&&!!e&&`nodeType`in e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE}function ii(e,t){if(e===t)throw Error(`Cannot compare node with itself`);let n={a:ui(e),b:ui(t)},r;for(;n.a.at(-1)===n.b.at(-1);)r=n.a.pop(),n.b.pop();H(r,`Stacking order can only be calculated for elements with a common ancestor`);let i={a:li(ci(n.a)),b:li(ci(n.b))};if(i.a===i.b){let e=r.childNodes,t={a:n.a.at(-1),b:n.b.at(-1)},i=e.length;for(;i--;){let n=e[i];if(n===t.a)return 1;if(n===t.b)return-1}}return Math.sign(i.a-i.b)}var ai=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function oi(e){let t=getComputedStyle(di(e)??e).display;return t===`flex`||t===`inline-flex`}function si(e){let t=getComputedStyle(e);return!!(t.position===`fixed`||t.zIndex!==`auto`&&(t.position!==`static`||oi(e))||+t.opacity<1||`transform`in t&&t.transform!==`none`||`webkitTransform`in t&&t.webkitTransform!==`none`||`mixBlendMode`in t&&t.mixBlendMode!==`normal`||`filter`in t&&t.filter!==`none`||`webkitFilter`in t&&t.webkitFilter!==`none`||`isolation`in t&&t.isolation===`isolate`||ai.test(t.willChange)||t.webkitOverflowScrolling===`touch`)}function ci(e){let t=e.length;for(;t--;){let n=e[t];if(H(n,`Missing node`),si(n))return n}return null}function li(e){return e&&Number(getComputedStyle(e).zIndex)||0}function ui(e){let t=[];for(;e;)t.push(e),e=di(e);return t}function di(e){let{parentNode:t}=e;return ri(t)?t.host:t}function fi(e,t){return e.x<t.x+t.width&&e.x+e.width>t.x&&e.y<t.y+t.height&&e.y+e.height>t.y}function pi({groupElement:e,hitRegion:t,pointerEventTarget:n}){if(!Gr(n)||n.contains(e)||e.contains(n))return!0;if(ii(n,e)>0){let r=n;for(;r;){if(r.contains(e))return!0;if(fi(r.getBoundingClientRect(),t))return!1;r=r.parentElement}}return!0}function mi(e,t){let n=[];return t.forEach((t,r)=>{if(r.disabled)return;let i=Xr(r),a=ni(r.orientation,i,{x:e.clientX,y:e.clientY});a&&a.distance.x<=0&&a.distance.y<=0&&pi({groupElement:r.element,hitRegion:a.hitRegion.rect,pointerEventTarget:e.target})&&n.push(a.hitRegion)}),n}function hi(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!=t[n])return!1;return!0}function q(e,t,n=0){return Math.abs(V(e)-V(t))<=n}function J(e,t){return q(e,t)?0:e>t?1:-1}function gi({overrideDisabledPanels:e,panelConstraints:t,prevSize:n,size:r}){let{collapsedSize:i=0,collapsible:a,disabled:o,maxSize:s=100,minSize:c=0}=t;if(o&&!e)return n;if(J(r,c)<0)if(a){let e=(i+c)/2;r=J(r,e)<0?i:c}else r=c;return r=Math.min(s,r),r=V(r),r}function _i({delta:e,initialLayout:t,panelConstraints:n,pivotIndices:r,prevLayout:i,trigger:a}){if(q(e,0))return t;let o=a===`imperative-api`,s=Object.values(t),c=Object.values(i),l=[...s],[u,d]=r;H(u!=null,`Invalid first pivot index`),H(d!=null,`Invalid second pivot index`);let f=0;switch(a){case`keyboard`:{let t=e<0?d:u,r=n[t];H(r,`Panel constraints not found for index ${t}`);let{collapsedSize:i=0,collapsible:a,minSize:o=0}=r;if(a){let n=s[t];if(H(n!=null,`Previous layout not found for panel index ${t}`),q(n,i)){let t=o-n;J(t,Math.abs(e))>0&&(e=e<0?0-t:t)}}}{let t=e<0?u:d,r=n[t];H(r,`No panel constraints found for index ${t}`);let{collapsedSize:i=0,collapsible:a,minSize:o=0}=r;if(a){let n=s[t];if(H(n!=null,`Previous layout not found for panel index ${t}`),q(n,o)){let t=n-i;J(t,Math.abs(e))>0&&(e=e<0?0-t:t)}}}break;default:{let t=e<0?d:u,r=n[t];H(r,`Panel constraints not found for index ${t}`);let i=s[t],{collapsible:a,collapsedSize:o,minSize:c}=r;if(a&&J(i,c)<0)if(e>0){let t=c-o,n=t/2;J(i+e,c)<0&&(e=J(e,n)<=0?0:t)}else{let t=c-o,n=100-t/2;J(i-e,c)<0&&(e=J(100+e,n)>0?0:-t)}break}}{let t=e<0?1:-1,r=e<0?d:u,i=0;for(;;){let e=s[r];H(e!=null,`Previous layout not found for panel index ${r}`);let a=gi({overrideDisabledPanels:o,panelConstraints:n[r],prevSize:e,size:100})-e;if(i+=a,r+=t,r<0||r>=n.length)break}let a=Math.min(Math.abs(e),Math.abs(i));e=e<0?0-a:a}{let t=e<0?u:d;for(;t>=0&&t<n.length;){let r=Math.abs(e)-Math.abs(f),i=s[t];H(i!=null,`Previous layout not found for panel index ${t}`);let a=i-r,c=gi({overrideDisabledPanels:o,panelConstraints:n[t],prevSize:i,size:a});if(!q(i,c)&&(f+=i-c,l[t]=c,f.toFixed(3).localeCompare(Math.abs(e).toFixed(3),void 0,{numeric:!0})>=0))break;e<0?t--:t++}}if(hi(c,l))return i;{let t=e<0?d:u,r=s[t];H(r!=null,`Previous layout not found for panel index ${t}`);let i=r+f,a=gi({overrideDisabledPanels:o,panelConstraints:n[t],prevSize:r,size:i});if(l[t]=a,!q(a,i)){let t=i-a,r=e<0?d:u;for(;r>=0&&r<n.length;){let i=l[r];H(i!=null,`Previous layout not found for panel index ${r}`);let a=i+t,s=gi({overrideDisabledPanels:o,panelConstraints:n[r],prevSize:i,size:a});if(q(i,s)||(t-=s-i,l[r]=s),q(t,0))break;e>0?r--:r++}}}if(!q(Object.values(l).reduce((e,t)=>t+e,0),100,.1))return i;let p=Object.keys(i);return l.reduce((e,t,n)=>(e[p[n]]=t,e),{})}function Y(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(t[n]===void 0||J(e[n],t[n])!==0)return!1;return!0}function X({layout:e,panelConstraints:t}){let n=Object.values(e),r=[...n],i=r.reduce((e,t)=>e+t,0);if(r.length!==t.length)throw Error(`Invalid ${t.length} panel layout: ${r.map(e=>`${e}%`).join(`, `)}`);if(!q(i,100)&&r.length>0)for(let e=0;e<t.length;e++){let t=r[e];H(t!=null,`No layout data found for index ${e}`),r[e]=100/i*t}let a=0;for(let e=0;e<t.length;e++){let i=n[e];H(i!=null,`No layout data found for index ${e}`);let o=r[e];H(o!=null,`No layout data found for index ${e}`);let s=gi({overrideDisabledPanels:!0,panelConstraints:t[e],prevSize:i,size:o});o!=s&&(a+=o-s,r[e]=s)}if(!q(a,0))for(let e=0;e<t.length;e++){let n=r[e];H(n!=null,`No layout data found for index ${e}`);let i=n+a,o=gi({overrideDisabledPanels:!0,panelConstraints:t[e],prevSize:n,size:i});if(n!==o&&(a-=o-n,r[e]=o,q(a,0)))break}let o=Object.keys(e);return r.reduce((e,t,n)=>(e[o[n]]=t,e),{})}function vi({groupId:e,panelId:t}){let n=()=>{let t=G();for(let[n,{defaultLayoutDeferred:r,derivedPanelConstraints:i,layout:a,groupSize:o,separatorToPanels:s}]of t)if(n.id===e)return{defaultLayoutDeferred:r,derivedPanelConstraints:i,group:n,groupSize:o,layout:a,separatorToPanels:s};throw Error(`Group ${e} not found`)},r=()=>{let e=n().derivedPanelConstraints.find(e=>e.panelId===t);if(e!==void 0)return e;throw Error(`Panel constraints not found for Panel ${t}`)},i=()=>{let e=n().group.panels.find(e=>e.id===t);if(e!==void 0)return e;throw Error(`Layout not found for Panel ${t}`)},a=()=>{let e=n().layout[t];if(e!==void 0)return e;throw Error(`Layout not found for Panel ${t}`)},o=e=>{let r=a();if(e===r)return;let{defaultLayoutDeferred:i,derivedPanelConstraints:o,group:s,groupSize:c,layout:l,separatorToPanels:u}=n(),d=s.panels.findIndex(e=>e.id===t),f=d===s.panels.length-1,p=X({layout:_i({delta:f?r-e:e-r,initialLayout:l,panelConstraints:o,pivotIndices:f?[d-1,d]:[d,d+1],prevLayout:l,trigger:`imperative-api`}),panelConstraints:o});Y(l,p)||K(s,{defaultLayoutDeferred:i,derivedPanelConstraints:o,groupSize:c,layout:p,separatorToPanels:u})};return{collapse:()=>{let{collapsible:e,collapsedSize:t}=r(),{mutableValues:n}=i(),s=a();e&&s!==t&&(n.expandToSize=s,o(t))},expand:()=>{let{collapsible:e,collapsedSize:t,minSize:n}=r(),{mutableValues:s}=i(),c=a();if(e&&c===t){let e=s.expandToSize??n;e===0&&(e=1),o(e)}},getSize:()=>{let{group:e}=n(),t=a(),{element:r}=i();return{asPercentage:t,inPixels:e.orientation===`horizontal`?r.offsetWidth:r.offsetHeight}},isCollapsed:()=>{let{collapsible:e,collapsedSize:t}=r(),n=a();return e&&q(t,n)},resize:e=>{let{group:t}=n(),{element:r}=i(),a=Br({group:t});o(V(zr({groupSize:a,panelElement:r,styleProp:e})/a*100))}}}function yi(e){e.defaultPrevented||mi(e,G()).forEach(t=>{if(t.separator&&!t.separator.disableDoubleClick){let n=t.panels.find(e=>e.panelConstraints.defaultSize!==void 0);if(n){let r=n.panelConstraints.defaultSize,i=vi({groupId:t.group.id,panelId:n.id});i&&r!==void 0&&(i.resize(r),e.preventDefault())}}})}function bi(e){let t=G();for(let[n]of t)if(n.separators.some(t=>t.element===e))return n;throw Error(`Could not find parent Group for separator element`)}function xi({groupId:e}){let t=()=>{let t=G();for(let[n,r]of t)if(n.id===e)return{group:n,...r};throw Error(`Could not find Group with id "${e}"`)};return{getLayout(){let{defaultLayoutDeferred:e,layout:n}=t();return e?{}:n},setLayout(e){let{defaultLayoutDeferred:n,derivedPanelConstraints:r,group:i,groupSize:a,layout:o,separatorToPanels:s}=t(),c=X({layout:e,panelConstraints:r});return n?o:(Y(o,c)||K(i,{defaultLayoutDeferred:n,derivedPanelConstraints:r,groupSize:a,layout:c,separatorToPanels:s}),c)}}}function Z(e,t){let n=bi(e),r=W(n.id,!0),i=n.separators.find(t=>t.element===e);H(i,`Matching separator not found`);let a=r.separatorToPanels.get(i);H(a,`Matching panels not found`);let o=a.map(e=>n.panels.indexOf(e)),s=xi({groupId:n.id}).getLayout(),c=X({layout:_i({delta:t,initialLayout:s,panelConstraints:r.derivedPanelConstraints,pivotIndices:o,prevLayout:s,trigger:`keyboard`}),panelConstraints:r.derivedPanelConstraints});Y(s,c)||K(n,{defaultLayoutDeferred:r.defaultLayoutDeferred,derivedPanelConstraints:r.derivedPanelConstraints,groupSize:r.groupSize,layout:c,separatorToPanels:r.separatorToPanels})}function Si(e){if(e.defaultPrevented)return;let t=e.currentTarget,n=bi(t);if(!n.disabled)switch(e.key){case`ArrowDown`:e.preventDefault(),n.orientation===`vertical`&&Z(t,5);break;case`ArrowLeft`:e.preventDefault(),n.orientation===`horizontal`&&Z(t,-5);break;case`ArrowRight`:e.preventDefault(),n.orientation===`horizontal`&&Z(t,5);break;case`ArrowUp`:e.preventDefault(),n.orientation===`vertical`&&Z(t,-5);break;case`End`:e.preventDefault(),Z(t,100);break;case`Enter`:{e.preventDefault();let n=bi(t),{derivedPanelConstraints:r,layout:i,separatorToPanels:a}=W(n.id,!0),o=n.separators.find(e=>e.element===t);H(o,`Matching separator not found`);let s=a.get(o);H(s,`Matching panels not found`);let c=s[0],l=r.find(e=>e.panelId===c.id);if(H(l,`Panel metadata not found`),l.collapsible){let e=i[c.id];Z(t,(l.collapsedSize===e?n.mutableState.expandedPanelSizes[c.id]??l.minSize:l.collapsedSize)-e)}break}case`F6`:{e.preventDefault();let n=bi(t).separators.map(e=>e.element),r=Array.from(n).findIndex(t=>t===e.currentTarget);H(r!==null,`Index not found`),n[e.shiftKey?r>0?r-1:n.length-1:r+1<n.length?r+1:0].focus({preventScroll:!0});break}case`Home`:e.preventDefault(),Z(t,-100);break}}var Ci={cursorFlags:0,state:`inactive`},wi=new Zr;function Q(){return Ci}function Ti(e){return wi.addListener(`change`,e)}function Ei(e){let t=Ci,n={...Ci};n.cursorFlags=e,Ci=n,wi.emit(`change`,{prev:t,next:n})}function Di(e){let t=Ci;Ci=e,wi.emit(`change`,{prev:t,next:e})}function Oi(e){if(e.defaultPrevented||e.pointerType===`mouse`&&e.button>0)return;let t=G(),n=mi(e,t),r=new Map,i=!1;n.forEach(e=>{e.separator&&(i||(i=!0,e.separator.element.focus({preventScroll:!0})));let n=t.get(e.group);n&&r.set(e.group,n.layout)}),Di({cursorFlags:0,hitRegions:n,initialLayoutMap:r,pointerDownAtPoint:{x:e.clientX,y:e.clientY},state:`active`}),n.length&&e.preventDefault()}var ki=e=>e,Ai=()=>{},ji=1,Mi=2,Ni=4,Pi=8,Fi=3,Ii=12,Li;function Ri(){return Li===void 0&&(Li=!1,typeof window<`u`&&(window.navigator.userAgent.includes(`Chrome`)||window.navigator.userAgent.includes(`Firefox`))&&(Li=!0)),Li}function zi({cursorFlags:e,groups:t,state:n}){let r=0,i=0;switch(n){case`active`:case`hover`:t.forEach(e=>{if(!e.mutableState.disableCursor)switch(e.orientation){case`horizontal`:r++;break;case`vertical`:i++;break}})}if(!(r===0&&i===0)){switch(n){case`active`:if(e&&Ri()){let t=(e&ji)!==0,n=(e&Mi)!==0,r=(e&Ni)!==0,i=(e&Pi)!==0;if(t)return r?`se-resize`:i?`ne-resize`:`e-resize`;if(n)return r?`sw-resize`:i?`nw-resize`:`w-resize`;if(r)return`s-resize`;if(i)return`n-resize`}break}return Ri()?r>0&&i>0?`move`:r>0?`ew-resize`:`ns-resize`:r>0&&i>0?`grab`:r>0?`col-resize`:`row-resize`}}var Bi=new WeakMap;function Vi(e){if(e.defaultView===null||e.defaultView===void 0)return;let{prevStyle:t,styleSheet:n}=Bi.get(e)??{};n===void 0&&(n=new e.defaultView.CSSStyleSheet,e.adoptedStyleSheets&&e.adoptedStyleSheets.push(n));let r=Q();switch(r.state){case`active`:case`hover`:{let e=zi({cursorFlags:r.cursorFlags,groups:r.hitRegions.map(e=>e.group),state:r.state}),i=`*, *:hover {cursor: ${e} !important; }`;if(t===i)return;t=i,e?n.cssRules.length===0?n.insertRule(i):n.replaceSync(i):n.cssRules.length===1&&n.deleteRule(0);break}case`inactive`:t=void 0,n.cssRules.length===1&&n.deleteRule(0);break}Bi.set(e,{prevStyle:t,styleSheet:n})}function Hi({document:e,event:t,hitRegions:n,initialLayoutMap:r,mountedGroups:i,pointerDownAtPoint:a,prevCursorFlags:o}){let s=0;n.forEach(e=>{let{group:n,groupSize:o}=e,{orientation:c,panels:l}=n,{disableCursor:u}=n.mutableState,d=0;d=a?c===`horizontal`?(t.clientX-a.x)/o*100:(t.clientY-a.y)/o*100:c===`horizontal`?t.clientX<0?-100:100:t.clientY<0?-100:100;let f=r.get(n),p=i.get(n);if(!f||!p)return;let{defaultLayoutDeferred:m,derivedPanelConstraints:h,groupSize:g,layout:_,separatorToPanels:v}=p;if(h&&_&&v){let t=_i({delta:d,initialLayout:f,panelConstraints:h,pivotIndices:e.panels.map(e=>l.indexOf(e)),prevLayout:_,trigger:`mouse-or-touch`});if(Y(t,_)){if(d!==0&&!u)switch(c){case`horizontal`:s|=d<0?ji:Mi;break;case`vertical`:s|=d<0?Ni:Pi;break}}else K(e.group,{defaultLayoutDeferred:m,derivedPanelConstraints:h,groupSize:g,layout:t,separatorToPanels:v})}});let c=0;t.movementX===0?c|=o&Fi:c|=s&Fi,t.movementY===0?c|=o&Ii:c|=s&Ii,Ei(c),Vi(e)}function Ui(e){let t=G(),n=Q();switch(n.state){case`active`:Hi({document:e.currentTarget,event:e,hitRegions:n.hitRegions,initialLayoutMap:n.initialLayoutMap,mountedGroups:t,prevCursorFlags:n.cursorFlags})}}function Wi(e){if(e.defaultPrevented)return;let t=Q(),n=G();switch(t.state){case`active`:if(e.buttons===0){Di({cursorFlags:0,state:`inactive`}),t.hitRegions.forEach(e=>{let t=W(e.group.id,!0);K(e.group,t)});return}for(let n of t.hitRegions)if(n.separator){let{element:t}=n.separator;t.hasPointerCapture?.(e.pointerId)||t.setPointerCapture?.(e.pointerId)}Hi({document:e.currentTarget,event:e,hitRegions:t.hitRegions,initialLayoutMap:t.initialLayoutMap,mountedGroups:n,pointerDownAtPoint:t.pointerDownAtPoint,prevCursorFlags:t.cursorFlags});break;default:{let r=mi(e,n);r.length===0?t.state!==`inactive`&&Di({cursorFlags:0,state:`inactive`}):Di({cursorFlags:0,hitRegions:r,state:`hover`}),Vi(e.currentTarget);break}}}function Gi(e){if(e.relatedTarget instanceof HTMLIFrameElement)switch(Q().state){case`hover`:Di({cursorFlags:0,state:`inactive`})}}function Ki(e){if(e.defaultPrevented||e.pointerType===`mouse`&&e.button>0)return;let t=Q();switch(t.state){case`active`:Di({cursorFlags:0,state:`inactive`}),t.hitRegions.length>0&&(Vi(e.currentTarget),t.hitRegions.forEach(e=>{let t=W(e.group.id,!0);K(e.group,t)}),e.preventDefault())}}function qi(e){let t=0,n=0,r={};for(let i of e)if(i.defaultSize!==void 0){t++;let e=V(i.defaultSize);n+=e,r[i.panelId]=e}else r[i.panelId]=void 0;let i=e.length-t;if(i!==0){let t=V((100-n)/i);for(let n of e)n.defaultSize===void 0&&(r[n.panelId]=t)}return r}function Ji(e,t,n){if(!n[0])return;let r=e.panels.find(e=>e.element===t);if(!r||!r.onResize)return;let i=Br({group:e}),a=e.orientation===`horizontal`?r.element.offsetWidth:r.element.offsetHeight,o=r.mutableValues.prevSize,s={asPercentage:V(a/i*100),inPixels:a};r.mutableValues.prevSize=s,r.onResize(s,r.id,o)}function Yi(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(e[n]!==t[n])return!1;return!0}function Xi({group:e,nextGroupSize:t,prevGroupSize:n,prevLayout:r}){if(n<=0||t<=0||n===t)return r;let i=0,a=0,o=!1,s=new Map,c=[];for(let l of e.panels){let e=r[l.id]??0;switch(l.panelConstraints.groupResizeBehavior){case`preserve-pixel-size`:{o=!0;let r=V(e/100*n/t*100);s.set(l.id,r),i+=r;break}default:c.push(l.id),a+=e;break}}if(!o||c.length===0)return r;let l=100-i,u={...r};if(s.forEach((e,t)=>{u[t]=e}),a>0)for(let e of c)u[e]=V((r[e]??0)/a*l);else{let e=V(l/c.length);for(let t of c)u[t]=e}return u}function Zi(e,t){let n=e.map(e=>e.id),r=Object.keys(t);if(n.length!==r.length)return!1;for(let e of n)if(!r.includes(e))return!1;return!0}var Qi=new Map;function $i(e){let t=!0;H(e.element.ownerDocument.defaultView,`Cannot register an unmounted Group`);let n=e.element.ownerDocument.defaultView.ResizeObserver,r=new Set,i=new Set,a=new n(n=>{for(let r of n){let{borderBoxSize:n,target:i}=r;if(i===e.element){if(t){let t=Br({group:e});if(t===0)return;let n=W(e.id);if(!n)return;let r=Vr(e),i=n.defaultLayoutDeferred?qi(r):n.layout,a=X({layout:Xi({group:e,nextGroupSize:t,prevGroupSize:n.groupSize,prevLayout:i}),panelConstraints:r});if(!n.defaultLayoutDeferred&&Y(n.layout,a)&&Yi(n.derivedPanelConstraints,r)&&n.groupSize===t)return;K(e,{defaultLayoutDeferred:!1,derivedPanelConstraints:r,groupSize:t,layout:a,separatorToPanels:n.separatorToPanels})}}else Ji(e,i,n)}});a.observe(e.element),e.panels.forEach(e=>{H(!r.has(e.id),`Panel ids must be unique; id "${e.id}" was used more than once`),r.add(e.id),e.onResize&&a.observe(e.element)});let o=Br({group:e}),s=Vr(e),c=e.panels.map(({id:e})=>e).join(`,`),l=e.mutableState.defaultLayout;l&&(Zi(e.panels,l)||(l=void 0));let u=X({layout:e.mutableState.layouts[c]??l??qi(s),panelConstraints:s}),d=e.element.ownerDocument;Qi.set(d,(Qi.get(d)??0)+1);let f=new Map;return Xr(e).forEach(e=>{e.separator&&f.set(e.separator,e.panels)}),K(e,{defaultLayoutDeferred:o===0,derivedPanelConstraints:s,groupSize:o,layout:u,separatorToPanels:f}),e.separators.forEach(e=>{H(!i.has(e.id),`Separator ids must be unique; id "${e.id}" was used more than once`),i.add(e.id),e.element.addEventListener(`keydown`,Si)}),Qi.get(d)===1&&(d.addEventListener(`dblclick`,yi,!0),d.addEventListener(`pointerdown`,Oi,!0),d.addEventListener(`pointerleave`,Ui),d.addEventListener(`pointermove`,Wi),d.addEventListener(`pointerout`,Gi),d.addEventListener(`pointerup`,Ki,!0)),function(){t=!1,Qi.set(d,Math.max(0,(Qi.get(d)??0)-1)),$r(e),e.separators.forEach(e=>{e.element.removeEventListener(`keydown`,Si)}),Qi.get(d)||(d.removeEventListener(`dblclick`,yi,!0),d.removeEventListener(`pointerdown`,Oi,!0),d.removeEventListener(`pointerleave`,Ui),d.removeEventListener(`pointermove`,Wi),d.removeEventListener(`pointerout`,Gi),d.removeEventListener(`pointerup`,Ki,!0)),a.disconnect()}}function ea(){let[e,t]=(0,k.useState)({});return[e,(0,k.useCallback)(()=>t({}),[])]}function ta(e){let t=(0,k.useId)();return`${e??t}`}var $=typeof window<`u`?k.useLayoutEffect:k.useEffect;function na(e){let t=(0,k.useRef)(e);return $(()=>{t.current=e},[e]),(0,k.useCallback)((...e)=>t.current?.(...e),[t])}function ra(...e){return na(t=>{e.forEach(e=>{if(e)switch(typeof e){case`function`:e(t);break;case`object`:e.current=t;break}})})}function ia(e){let t=(0,k.useRef)({...e});return $(()=>{for(let n in e)t.current[n]=e[n]},[e]),t.current}var aa=(0,k.createContext)(null);function oa(e,t){let n=(0,k.useRef)({getLayout:()=>({}),setLayout:ki});(0,k.useImperativeHandle)(t,()=>n.current,[]),$(()=>{Object.assign(n.current,xi({groupId:e}))})}function sa({children:e,className:t,defaultLayout:n,disableCursor:r,disabled:i,elementRef:a,groupRef:o,id:s,onLayoutChange:c,onLayoutChanged:l,orientation:u=`horizontal`,resizeTargetMinimumSize:d={coarse:20,fine:10},style:f,...p}){let m=(0,k.useRef)({onLayoutChange:{},onLayoutChanged:{}}),h=na(e=>{Y(m.current.onLayoutChange,e)||(m.current.onLayoutChange=e,c?.(e))}),g=na(e=>{Y(m.current.onLayoutChanged,e)||(m.current.onLayoutChanged=e,l?.(e))}),_=ta(s),v=(0,k.useRef)(null),[y,b]=ea(),x=(0,k.useRef)({lastExpandedPanelSizes:{},layouts:{},panels:[],resizeTargetMinimumSize:d,separators:[]}),S=ra(v,a);oa(_,o);let C=na((e,t)=>{let r=Q(),i=ei(e),a=W(e);if(a){let e=!1;switch(r.state){case`active`:e=r.hitRegions.some(e=>e.group===i);break}return{flexGrow:a.layout[t]??1,pointerEvents:e?`none`:void 0}}if(n?.[t])return{flexGrow:n?.[t]}}),w=ia({defaultLayout:n,disableCursor:r}),T=(0,k.useMemo)(()=>({get disableCursor(){return!!w.disableCursor},getPanelStyles:C,id:_,orientation:u,registerPanel:e=>{let t=x.current;return t.panels=Hr(u,[...t.panels,e]),b(),()=>{t.panels=t.panels.filter(t=>t!==e),b()}},registerSeparator:e=>{let t=x.current;return t.separators=Hr(u,[...t.separators,e]),b(),()=>{t.separators=t.separators.filter(t=>t!==e),b()}},updatePanelProps:(e,{disabled:t})=>{let n=x.current.panels.find(t=>t.id===e);n&&(n.panelConstraints.disabled=t);let r=ei(_),i=W(_);r&&i&&K(r,{...i,derivedPanelConstraints:Vr(r)})},updateSeparatorProps:(e,{disabled:t,disableDoubleClick:n})=>{let r=x.current.separators.find(t=>t.id===e);r&&(r.disabled=t,r.disableDoubleClick=n)}}),[C,_,b,u,w]),E=(0,k.useRef)(null);return $(()=>{let e=v.current;if(e===null)return;let t=x.current,n;if(w.defaultLayout!==void 0&&Object.keys(w.defaultLayout).length===t.panels.length){n={};for(let e of t.panels){let t=w.defaultLayout[e.id];t!==void 0&&(n[e.id]=t)}}let r={disabled:!!i,element:e,id:_,mutableState:{defaultLayout:n,disableCursor:!!w.disableCursor,expandedPanelSizes:x.current.lastExpandedPanelSizes,layouts:x.current.layouts},orientation:u,panels:t.panels,resizeTargetMinimumSize:t.resizeTargetMinimumSize,separators:t.separators};E.current=r;let a=$i(r),{defaultLayoutDeferred:o,derivedPanelConstraints:s,layout:c}=W(r.id,!0);!o&&s.length>0&&(h(c),g(c));let l=ti(_,e=>{let{defaultLayoutDeferred:t,derivedPanelConstraints:n,layout:i}=e.next;if(t||n.length===0)return;let a=r.panels.map(({id:e})=>e).join(`,`);r.mutableState.layouts[a]=i,n.forEach(t=>{if(t.collapsible){let{layout:n}=e.prev??{};if(n){let e=q(t.collapsedSize,i[t.panelId]),a=q(t.collapsedSize,n[t.panelId]);e&&!a&&(r.mutableState.expandedPanelSizes[t.panelId]=n[t.panelId])}}});let o=Q().state!==`active`;h(i),o&&g(i)});return()=>{E.current=null,a(),l()}},[i,_,g,h,u,y,w]),(0,k.useEffect)(()=>{let e=E.current;e&&(e.mutableState.defaultLayout=n,e.mutableState.disableCursor=!!r)}),(0,A.jsx)(aa.Provider,{value:T,children:(0,A.jsx)(`div`,{...p,className:t,"data-group":!0,"data-testid":_,id:_,ref:S,style:{height:`100%`,width:`100%`,overflow:`hidden`,...f,display:`flex`,flexDirection:u===`horizontal`?`row`:`column`,flexWrap:`nowrap`,touchAction:u===`horizontal`?`pan-y`:`pan-x`},children:e})})}sa.displayName=`Group`;function ca(){let e=(0,k.useContext)(aa);return H(e,`Group Context not found; did you render a Panel or Separator outside of a Group?`),e}function la(e,t){let{id:n}=ca(),r=(0,k.useRef)({collapse:Ai,expand:Ai,getSize:()=>({asPercentage:0,inPixels:0}),isCollapsed:()=>!1,resize:Ai});(0,k.useImperativeHandle)(t,()=>r.current,[]),$(()=>{Object.assign(r.current,vi({groupId:n,panelId:e}))})}function ua({children:e,className:t,collapsedSize:n=`0%`,collapsible:r=!1,defaultSize:i,disabled:a,elementRef:o,groupResizeBehavior:s=`preserve-relative-size`,id:c,maxSize:l=`100%`,minSize:u=`0%`,onResize:d,panelRef:f,style:p,...m}){let h=!!c,g=ta(c),_=ia({disabled:a}),v=(0,k.useRef)(null),y=ra(v,o),{getPanelStyles:b,id:x,orientation:S,registerPanel:C,updatePanelProps:w}=ca(),T=d!==null,E=na((e,t,n)=>{d?.(e,c,n)});$(()=>{let e=v.current;if(e!==null)return C({element:e,id:g,idIsStable:h,mutableValues:{expandToSize:void 0,prevSize:void 0},onResize:T?E:void 0,panelConstraints:{groupResizeBehavior:s,collapsedSize:n,collapsible:r,defaultSize:i,disabled:_.disabled,maxSize:l,minSize:u}})},[s,n,r,i,T,g,h,l,u,E,C,_]),(0,k.useEffect)(()=>{w(g,{disabled:a})},[a,g,w]),la(g,f);let ee=()=>{let e=b(x,g);if(e)return JSON.stringify(e)},te=(0,k.useSyncExternalStore)(e=>ti(x,e),ee,ee),ne;return ne=te?JSON.parse(te):i?{flexGrow:void 0,flexShrink:void 0,flexBasis:i}:{flexGrow:1},(0,A.jsx)(`div`,{...m,"data-disabled":a||void 0,"data-panel":!0,"data-testid":g,id:g,ref:y,style:{...da,display:`flex`,flexBasis:0,flexShrink:1,overflow:`visible`,...ne},children:(0,A.jsx)(`div`,{className:t,style:{maxHeight:`100%`,maxWidth:`100%`,flexGrow:1,overflow:`auto`,...p,touchAction:S===`horizontal`?`pan-y`:`pan-x`},children:e})})}ua.displayName=`Panel`;var da={minHeight:0,maxHeight:`100%`,height:`auto`,minWidth:0,maxWidth:`100%`,width:`auto`,border:`none`,borderWidth:0,padding:0,margin:0};function fa({layout:e,panelConstraints:t,panelId:n,panelIndex:r}){let i,a,o=e[n],s=t.find(e=>e.panelId===n);if(s){let c=s.maxSize,l=s.collapsible?s.collapsedSize:s.minSize,u=[r,r+1];a=X({layout:_i({delta:l-o,initialLayout:e,panelConstraints:t,pivotIndices:u,prevLayout:e}),panelConstraints:t})[n],i=X({layout:_i({delta:c-o,initialLayout:e,panelConstraints:t,pivotIndices:u,prevLayout:e}),panelConstraints:t})[n]}return{valueControls:n,valueMax:i,valueMin:a,valueNow:o}}function pa({children:e,className:t,disabled:n,disableDoubleClick:r,elementRef:i,id:a,style:o,...s}){let c=ta(a),l=ia({disabled:n,disableDoubleClick:r}),[u,d]=(0,k.useState)({}),[f,p]=(0,k.useState)(`inactive`),[m,h]=(0,k.useState)(!1),g=(0,k.useRef)(null),_=ra(g,i),{disableCursor:v,id:y,orientation:b,registerSeparator:x,updateSeparatorProps:S}=ca(),C=b===`horizontal`?`vertical`:`horizontal`;$(()=>{let e=g.current;if(e!==null){let t={disabled:l.disabled,disableDoubleClick:l.disableDoubleClick,element:e,id:c},n=x(t),r=Ti(e=>{p(e.next.state!==`inactive`&&e.next.hitRegions.some(e=>e.separator===t)?e.next.state:`inactive`)}),i=ti(y,e=>{let{derivedPanelConstraints:n,layout:r,separatorToPanels:i}=e.next,a=i.get(t);if(a){let e=a[0],t=a.indexOf(e);d(fa({layout:r,panelConstraints:n,panelId:e.id,panelIndex:t}))}});return()=>{r(),i(),n()}}},[y,c,x,l]),(0,k.useEffect)(()=>{S(c,{disabled:n,disableDoubleClick:r})},[n,r,c,S]);let w;n&&!v&&(w=`not-allowed`);let T;if(n)T=`disabled`;else switch(f){case`active`:T=`active`;break;default:T=m?`focus`:f}return(0,A.jsx)(`div`,{...s,"aria-controls":u.valueControls,"aria-disabled":n||void 0,"aria-orientation":C,"aria-valuemax":u.valueMax,"aria-valuemin":u.valueMin,"aria-valuenow":u.valueNow,children:e,className:t,"data-separator":T,"data-testid":c,id:c,onBlur:()=>h(!1),onFocus:()=>h(!0),ref:_,role:`separator`,style:{flexBasis:`auto`,cursor:w,...o,flexGrow:0,flexShrink:0,touchAction:`none`},tabIndex:n?void 0:0})}pa.displayName=`Separator`;function ma(e,t,n,r){return!(e>0)||!(t>0)||!Number.isFinite(e)||!Number.isFinite(t)||!Number.isFinite(n)||!Number.isFinite(r)}function ha(e){return Number.isFinite(e)?Math.max(0,Math.min(.5,e)):.25}function ga(e,t,n,r){let i=n<0?n:n>e?n-e:0,a=r<0?r:r>t?r-t:0;if(i===0&&a===0)return;let o=Math.abs(i);return o>=Math.abs(a)&&o>0?i<0?`left`:`right`:a<0?`top`:`bottom`}function _a(e,t,n,r,i){let a=i*Math.min(e,t),o=n<a,s=n>e-a,c=r<a,l=r>t-a;return{inLeft:o,inTop:c,activeHoriz:o||s,activeVert:c||l}}function va(e,t,n,r,i,a){return(i?n/e:(e-n)/e)<=(a?r/t:(t-r)/t)?i?`left`:`right`:a?`top`:`bottom`}function ya(e,t,n,r,i){let{inLeft:a,inTop:o,activeHoriz:s,activeVert:c}=_a(e,t,n,r,i);return!s&&!c?`center`:s&&!c?a?`left`:`right`:c&&!s?o?`top`:`bottom`:va(e,t,n,r,a,o)}function ba(e,t,n=.25){let{width:r,height:i}=e,{x:a,y:o}=t;if(ma(r,i,a,o))return`center`;let s=ha(n),c=ga(r,i,a,o);return c===void 0?ya(r,i,a,o,s):c}function xa(e,t,n){if(e===`center`)return{kind:`move`,panelId:t,destGroupId:n.groupId};let r=e===`left`||e===`right`?`row`:`column`,i=e===`left`||e===`top`?`before`:`after`;return{kind:`split`,atPanelId:n.panelId,dir:r,side:i,newPanelId:t}}function Sa(e,t,n,r){return e===n.panelId||r===`center`&&t!==void 0&&t===n.groupId}function Ca(e,t){if(!Number.isFinite(t))return 0;let n=0;for(let r of e)if(t>=r.left+r.width/2)n+=1;else break;return n}function wa(e,t,n,r){let i=t.indexOf(n),a=i>=0&&r>i,o=t.filter(e=>e!==n),s=e.filter(e=>e!==n),c=a?r-1:r;if(c<0&&(c=0),c>o.length&&(c=o.length),c>=o.length)return s.length;let l=o[c],u=s.indexOf(l);return u>=0?u:s.length}var Ta=.5;function Ea(e){let t=e.reduce((e,t)=>e+(t>0?t:0),0);if(t<=0){let t=e.length>0?100/e.length:100;return e.map(()=>t)}return e.map(e=>(e>0?e:0)/t*100)}function Da(e,t){let n=e.map((e,t)=>t).filter(e=>(t?.[e]??null)===null),r=Ea(n.map(t=>e[t]??0)),i=new Map;return n.forEach((e,t)=>{i.set(e,r[t])}),i}function Oa(e){return Math.min(1,Math.max(.5,Math.floor(90/Math.max(1,e))))}function ka(e,t){let n=e.filter((e,n)=>(t?.[n]??null)===null).length,r=Oa(n);return e.map((e,n)=>(t?.[n]??null)===null?Number.isFinite(e)&&e>=r?e:r:e)}function Aa(e,t,n,r=Ta){let i=new Set(n);for(let t of Object.keys(e))if(!i.has(t))return!1;for(let e of Object.keys(t))if(!i.has(e))return!1;for(let i of n){let n=e[i],a=t[i];if(!Number.isFinite(n)||!Number.isFinite(a)||Math.abs(n-a)>r)return!1}return!0}function ja(e,t,n,r,i){let a=e=>(n?.[e]??null)!==null,o=t=>{let a=n?.[t]??null;if(i&&i.containerPx>0&&a){if(a.fixedPx!=null)return a.fixedPx/i.containerPx*100;if(a.minPx!=null&&!i.trustLiveForMinPx)return a.minPx/i.containerPx*100}let o=r[e[t]];return typeof o==`number`?o:null},s=Ma(e,a,o);if(s===null)return null;let c=Math.max(0,100-s),l=0,u=0;for(let n=0;n<e.length;n++){if(a(n))continue;let e=t[n]??0;l+=e>0?e:0,u+=1}let d={};for(let n=0;n<e.length;n++){let r=e[n];d[r]=a(n)?o(n):Na(t[n]??0,c,l,u)}return d}function Ma(e,t,n){let r=0;for(let i=0;i<e.length;i++){if(!t(i))continue;let e=n(i);if(e===null)return null;r+=e}return r}function Na(e,t,n,r){return n<=0?r>0?t/r:t:t*(e>0?e:0)/n}function Pa(e,t,n){let r=[],i=[];for(let a=0;a<e.length;a++){if((t?.[a]??null)!==null)continue;let o=n[e[a]];if(typeof o!=`number`||!Number.isFinite(o))return null;r.push(a),i.push(o>0?o:0)}return r.length===0?null:{indices:r,ratios:Ea(i)}}function Fa(e){let{node:t,ctx:n}=e,r=t.orientation===`row`?`horizontal`:`vertical`,i=Da(t.sizes,t.constraints),a=t.children.filter((e,n)=>(t.constraints?.[n]??null)===null).length,o=String(Oa(a)),s=(0,k.useRef)(null),c=(0,k.useRef)(null),l=(0,k.useRef)(t);l.current=t;let u=[];t.children.forEach((e,r)=>{r>0&&u.push((0,A.jsx)(pa,{"data-deck-resize-handle":``},`handle-${r}`));let a=t.constraints?.[r]??null;if(a?.fixedPx!=null){let t=`${a.fixedPx}px`;u.push((0,A.jsx)(ua,{id:e.id,defaultSize:t,minSize:t,maxSize:t,groupResizeBehavior:`preserve-pixel-size`,children:qa(e,n)},Ia(e)))}else if(a?.minPx!=null){let t=`${a.minPx}px`;u.push((0,A.jsx)(ua,{id:e.id,defaultSize:t,minSize:t,groupResizeBehavior:`preserve-pixel-size`,children:qa(e,n)},Ia(e)))}else{let t=i.get(r);u.push((0,A.jsx)(ua,{id:e.id,defaultSize:t==null?void 0:String(t),minSize:o,children:qa(e,n)},Ia(e)))}});let d=e=>{let t=l.current,r=t.children.map(e=>e.id),i=e=>(t.constraints?.[e]??null)!==null,a=Pa(r,t.constraints,e);if(!a)return;let o=Da(t.sizes,t.constraints),s=a.indices.map(e=>o.get(e)??0);if(!a.ratios.some((e,t)=>Math.abs(e-s[t])>.1))return;let c=r.map((n,r)=>i(r)?t.sizes[r]??1:e[n]);n.onApplyLayout(t.id,ka(c,t.constraints))},f=e=>{c.current=e,e&&(e.__deckApplyLayout=e=>{let t=l.current,r=e=>(t.constraints?.[e]??null)!==null,i=e.map((e,n)=>r(n)?t.sizes[n]??1:e);n.onApplyLayout(t.id,ka(i,t.constraints))},Object.defineProperty(e,`__deckGroupApi`,{configurable:!0,get:()=>s.current??void 0}))},p=(0,k.useCallback)(e=>{let t=s.current;if(!t)return{pushed:!1,stuck:!1};let n=l.current,r=n.children.map(e=>e.id),i=t.getLayout(),a=c.current?.getBoundingClientRect(),o=a?n.orientation===`row`?a.width:a.height:0,u=o>0?{containerPx:o,trustLiveForMinPx:!e}:void 0,d=ja(r,n.sizes,n.constraints,i,u);return d?Aa(i,d,r)?{pushed:!1,stuck:!0}:(t.setLayout(d),{pushed:!0,stuck:Aa(t.getLayout(),d,r)}):{pushed:!1,stuck:!1}},[]),m=t.sizes.join(`,`),h=t.children.length,g=(0,k.useRef)(null);return(0,k.useEffect)(()=>{let e=g.current!==h;if(g.current=h,!e){p(!1);return}let t=!1,n=0,r=0,i=()=>{if(t)return;r+=1;let{stuck:e}=p(!0);!e&&r<8&&(n=requestAnimationFrame(i))};return n=requestAnimationFrame(i),()=>{t=!0,cancelAnimationFrame(n)}},[m,h,p]),(0,A.jsx)(`div`,{ref:f,"data-deck-split":t.id,"data-orientation":t.orientation,"data-deck-sizes":t.sizes.join(`,`),style:{width:`100%`,height:`100%`},children:(0,A.jsx)(sa,{groupRef:s,orientation:r,onLayoutChanged:d,style:{width:`100%`,height:`100%`},children:u},t.children.length)})}function Ia(e){return e.id}function La(e,t){let n=e.active;return n?(0,A.jsxs)(k.Fragment,{children:[t.registry.get(n)?.kind===`native`?(0,A.jsx)(Ra,{panelId:n,bindNativeSlot:t.bindNativeSlot},n):null,e.panels.filter(e=>t.registry.get(e)?.kind!==`native`).slice().sort((e,t)=>e<t?-1:+(e>t)).map(e=>{let r=e===n;return(0,A.jsx)(`div`,{"data-deck-panel-body":e,style:{display:r?`flex`:`none`,flexDirection:`column`,flex:1,minWidth:0,minHeight:0},children:t.renderDomPanel(e,{active:r})},`dom-${e}`)})]}):null}function Ra(e){let{panelId:t,bindNativeSlot:n}=e,r=(0,k.useRef)(n);return r.current=n,(0,A.jsx)(`div`,{ref:(0,k.useCallback)(e=>{r.current(t,e)},[t]),"data-deck-native-slot":t,style:{flex:1,minWidth:0,minHeight:0,height:`100%`}})}var za=`application/x-deck-panel`;function Ba(e){let{node:t,ctx:n}=e,[r,i]=(0,k.useState)(null),a=(0,k.useRef)(t);a.current=t;let o=(0,k.useRef)(n.onRedock);o.current=n.onRedock;let s=e=>{e&&(e.__deckHandleDrop=(e,t)=>{let n=a.current;o.current(n.id,n.active,e,t)})},c=e=>{if(!e.dataTransfer?.types.includes(za))return;e.preventDefault();let t=n.activeDragPanelId.current;if(n.suppressReorderOnlyDropIndicator&&t!==null&&n.registry.get(t)?.dropPolicy===`reorder-only`){i(null);return}let r=e.currentTarget.getBoundingClientRect();i(ba({width:r.width,height:r.height},{x:e.clientX-r.left,y:e.clientY-r.top}))},l=()=>{i(null)},u=e=>{e.preventDefault();let r=e.currentTarget.getBoundingClientRect(),a=ba({width:r.width,height:r.height},{x:e.clientX-r.left,y:e.clientY-r.top});i(null);let o=e.dataTransfer?.getData(za);if(!o||n.registry.get(o)===void 0||!n.isPanelInTree(o))return;let s=Ca(Array.from(e.currentTarget.querySelectorAll(`[data-deck-tab]`)).map(e=>{let t=e.getBoundingClientRect();return{left:t.left,width:t.width}}),e.clientX);n.onRedock(t.id,t.active,o,a,s)},d=e=>{e.dataTransfer?.types.includes(za)&&(e.preventDefault(),e.stopPropagation(),i(null))},f=e=>{e.preventDefault(),e.stopPropagation(),i(null);let r=e.dataTransfer?.getData(za);if(!r||n.registry.get(r)===void 0||!n.isPanelInTree(r))return;let a=Ca(Array.from(e.currentTarget.querySelectorAll(`[data-deck-tab]`)).map(e=>{let t=e.getBoundingClientRect();return{left:t.left,width:t.width}}),e.clientX);n.onRedock(t.id,t.active,r,`center`,a)},p=t.panels.filter(e=>!n.registry.get(e)?.hideTab);return(0,A.jsxs)(`div`,{ref:s,"data-deck-group":t.id,onDragOver:c,onDragLeave:l,onDrop:u,style:{position:`relative`,display:`flex`,flexDirection:`column`,width:`100%`,height:`100%`,minWidth:0,minHeight:0},children:[p.length>0?(0,A.jsx)(`div`,{role:`tablist`,style:{flexShrink:0},onDragOver:d,onDrop:f,children:p.map(e=>{let r=e===t.active,i=n.registry.get(e),a=i?.title??e;return(0,A.jsxs)(`button`,{type:`button`,role:`tab`,draggable:i?.draggable===!1?void 0:`true`,"data-deck-tab":e,"data-active":r?`true`:`false`,onDragStart:t=>{if(t.target instanceof Element&&t.target.closest(`[data-deck-tab-close]`)!==null){t.preventDefault();return}t.dataTransfer.setData(za,e),t.dataTransfer.setData(`text/plain`,e),t.dataTransfer.effectAllowed=`move`,n.activeDragPanelId.current=e},onDragEnd:()=>{n.activeDragPanelId.current=null},onClick:()=>{r?n.onActiveTabClick?.(e):n.onActivate(t.id,e)},children:[a,n.canClose&&i?.closable!==!1?(0,A.jsx)(`span`,{role:`button`,tabIndex:0,"data-deck-tab-close":e,"aria-label":`Close ${a}`,onPointerDown:e=>e.stopPropagation(),onClick:t=>{t.stopPropagation(),t.preventDefault(),n.onClose(e)},onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.stopPropagation(),t.preventDefault(),n.onClose(e))},children:`×`}):null]},e)})}):null,La(t,n),r?(0,A.jsx)(Ha,{zone:r}):null]})}function Va(e){let t={position:`absolute`,pointerEvents:`none`,background:`rgba(64, 128, 255, 0.25)`,outline:`2px solid rgba(64, 128, 255, 0.6)`};switch(e){case`left`:return{...t,left:`0`,top:`0`,width:`50%`,height:`100%`};case`right`:return{...t,right:`0`,top:`0`,width:`50%`,height:`100%`};case`top`:return{...t,left:`0`,top:`0`,width:`100%`,height:`50%`};case`bottom`:return{...t,left:`0`,bottom:`0`,width:`100%`,height:`50%`};default:return{...t,left:`0`,top:`0`,width:`100%`,height:`100%`}}}function Ha(e){return(0,A.jsx)(`div`,{"data-deck-drop-zone":e.zone,style:Va(e.zone)})}var Ua=(0,k.createContext)(0);function Wa(){return(0,k.useContext)(Ua)}function Ga(e,t,n){let{groupId:r,activePanelId:i,draggedPanelId:a,draggedGroupId:o,zone:s,reorderIndex:c}=n;if(o===void 0||o!==r||s!==`center`)return;let l=Fn(e.get().root,r),u;if(c!==void 0&&l){let e=l.panels.filter(e=>t.get(e)?.hideTab!==!0);u=wa(l.panels,e,a,c)}else u=l?l.panels.indexOf(i):void 0;e.apply(e=>er(e,a,{groupId:r,index:u}))}function Ka(e){let{model:t,registry:n,renderDomPanel:r,bindNativeSlot:i,suppressReorderOnlyDropIndicator:a,onActiveTabClick:o}=e,[s,c]=(0,k.useState)(()=>t.get()),[l,u]=(0,k.useState)(0),d=(0,k.useRef)(null);(0,k.useEffect)(()=>(c(t.get()),t.subscribe(e=>{c(e.tree),u(e.revision)})),[t]);let f=(0,k.useCallback)((e,n)=>{t.apply(t=>Jn(t,e,n))},[t]),p=(0,k.useCallback)(e=>{t.apply(t=>ir(t,e,n))},[t,n]),m=Rn(s.root)>1,h=(0,k.useCallback)(e=>Ln(s.root,e)!==void 0,[s]),g=(0,k.useCallback)((e,n)=>{t.apply(t=>Kn(t,e,n))},[t]),_=(0,k.useCallback)((e,r,i,a,o)=>{let s={groupId:e,panelId:r},c=Ln(t.get().root,i);if(n.get(i)?.draggable===!1||n.get(r)?.draggable===!1)return;if(n.get(i)?.dropPolicy===`reorder-only`){Ga(t,n,{groupId:e,activePanelId:r,draggedPanelId:i,draggedGroupId:c,zone:a,reorderIndex:o});return}if(Sa(i,c,s,a))return;let l=xa(a,i,s);if(l.kind===`move`){t.apply(e=>er(e,l.panelId,{groupId:l.destGroupId}));return}t.apply(e=>{let{tree:t}=Zn(e,l.newPanelId);return Ln(t.root,l.atPanelId)===void 0?e:R(t,l.atPanelId,l.dir,l.newPanelId,l.side)})},[t,n]);return(0,A.jsx)(Ua.Provider,{value:l,children:qa(s.root,{registry:n,renderDomPanel:r,bindNativeSlot:i,onActivate:f,onActiveTabClick:o,onApplyLayout:g,onRedock:_,onClose:p,canClose:m,isPanelInTree:h,suppressReorderOnlyDropIndicator:a??!1,activeDragPanelId:d})})}function qa(e,t){return e.kind===`split`?Ja(e,t):Ya(e,t)}function Ja(e,t){return(0,A.jsx)(Fa,{node:e,ctx:t},e.id)}function Ya(e,t){return(0,A.jsx)(Ba,{node:e,ctx:t},e.id)}function Xa({phase:e,code:t,reason:n,onRelaunch:r}){return(0,A.jsx)(`div`,{"data-testid":`sim-runtime-error`,className:`absolute inset-0 flex flex-col items-center justify-center bg-[var(--color-overlay-heavy)] z-10`,children:(0,A.jsxs)(`div`,{className:`text-center p-4`,children:[(0,A.jsx)(`div`,{className:`text-status-error text-[14px] font-medium mb-2`,children:e===`crashed`?`小程序已崩溃`:`小程序启动失败`}),(0,A.jsx)(`div`,{className:`text-status-error text-[11px] max-w-[280px] break-words mb-3`,children:n??t??`未知原因`}),(0,A.jsx)(D,{type:`button`,variant:`outline`,size:`xs`,onClick:r,className:`border-status-error text-status-error hover:bg-status-error/10`,children:`重新启动`})]})})}function Za({requested:e,resolved:t,onDismiss:n}){return(0,A.jsxs)(`div`,{"data-testid":`sim-fallback-banner`,className:`flex items-center gap-2 px-2.5 py-1 bg-status-warn/15 border-b border-status-warn/40 text-[11px] text-status-warn shrink-0`,children:[(0,A.jsxs)(`span`,{className:`flex-1 min-w-0 truncate`,children:[`启动页 "`,e,`" 不存在,已回退到 "`,t,`"`]}),(0,A.jsx)(`button`,{type:`button`,onClick:n,className:`shrink-0 text-status-warn/80 hover:text-status-warn px-1`,title:`关闭`,children:`×`})]})}function Qa(){return(0,A.jsx)(`div`,{"data-testid":`sim-watcher-dead-banner`,className:`flex items-center gap-2 px-2.5 py-1 bg-status-error/15 border-b border-status-error/40 text-[11px] text-status-error shrink-0`,children:`文件监听已停止,后续代码修改将不会自动重新编译`})}var $a=50;function eo(e,t,n){if(e.width<=0||e.height<=0)return n;let r=Math.min(e.width/(t.width+$a),e.height/(t.height+$a));return Math.max(1,Math.min(100,Math.floor(r*100)))}function to({device:e,zoom:t,onDeviceChange:n,onZoomChange:r,compileStatus:i,currentPage:a,copied:o,onCopyPagePath:s,runtimeStatus:c=null,watcherDead:l=!1,onRelaunch:u=()=>{},onOpenInternalDevtools:d=()=>{}}){let f=(0,k.useRef)(typeof t==`number`?t:100),p=(0,k.useRef)(t),m=(0,k.useRef)(e),h=(0,k.useRef)(null),[g,_]=(0,k.useState)(!1);(0,k.useEffect)(()=>{i.status===`ready`&&_(!0)},[i.status]);let v=c?.phase===`launch-failed`||c?.phase===`crashed`,[y,b]=(0,k.useState)(!1);(0,k.useEffect)(()=>{c||b(!1)},[c]);let x=!!c?.pageFallback&&!v&&!y,S=i.status===`compiling`&&g,C=Ye(),w=(0,k.useCallback)(e=>{if(e.visible){let t=p.current;f.current=t===`auto`?eo(e.bounds,m.current,f.current):t}C?.set({viewId:M.simulator,placement:e,layer:At.base,extra:{zoom:f.current}})},[C]),T=(0,k.useCallback)(e=>{let t=h.current;if(t){e?(t.dispose(),h.current=j(e,{visible:!0,followGeometry:!0,guardDisplayNone:!0,publish:w})):(t.update({visible:!1,publish:w}),t.dispose(),h.current=null);return}e&&(h.current=j(e,{visible:!0,followGeometry:!0,guardDisplayNone:!0,publish:w}))},[w]);return(0,k.useLayoutEffect)(()=>{p.current=t,m.current=e}),(0,k.useLayoutEffect)(()=>{h.current?.update({visible:!0,publish:w})},[t,e,w]),(0,k.useEffect)(()=>{h.current?.pulse(300)},[Wa()]),(0,k.useEffect)(()=>()=>{h.current?.dispose(),h.current=null,C?.remove(M.simulator)},[C]),(0,A.jsxs)(`div`,{className:`bg-sim-bg flex flex-col overflow-hidden h-full w-full`,children:[(0,A.jsxs)(`div`,{className:`flex items-center gap-2 px-5 py-2 shrink-0 border-b border-border-subtle`,children:[(0,A.jsx)(We,{value:e.name,onChange:n,children:He.map(e=>(0,A.jsx)(`option`,{value:e.name,children:e.name},e.name))}),(0,A.jsxs)(We,{value:t,onChange:r,className:`w-[76px] shrink-0`,children:[Be.map(e=>(0,A.jsxs)(`option`,{value:e,children:[e,`%`]},e)),(0,A.jsx)(`option`,{value:Ue,children:`自适应`})]})]}),l&&(0,A.jsx)(Qa,{}),x&&c?.pageFallback&&(0,A.jsx)(Za,{requested:c.pageFallback.requested,resolved:c.pageFallback.resolved,onDismiss:()=>b(!0)}),(0,A.jsxs)(`div`,{ref:T,className:`flex-1 min-h-0 bg-sim-bg relative`,"data-area":`native-simulator`,children:[i.status===`compiling`&&!g&&(0,A.jsx)(`div`,{"data-testid":`sim-compiling-overlay`,className:`absolute inset-0 flex items-center justify-center bg-[var(--color-overlay)] z-10`,children:(0,A.jsx)(`div`,{className:`text-text-dim text-[13px]`,children:`正在编译中...`})}),S&&(0,A.jsxs)(`div`,{"data-testid":`sim-recompiling-indicator`,className:`absolute top-2 right-2 z-10 flex items-center gap-1.5 rounded bg-black/60 px-2 py-0.5 pointer-events-none`,children:[(0,A.jsx)(`span`,{className:`w-1.5 h-1.5 rounded-full bg-accent animate-pulse`}),(0,A.jsx)(`span`,{className:`text-text-dim text-[11px]`,children:`编译中…`})]}),i.status===`error`&&(0,A.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center bg-[var(--color-overlay-heavy)] z-10`,children:(0,A.jsxs)(`div`,{className:`text-center p-4`,children:[(0,A.jsx)(`div`,{className:`text-status-error text-[14px] font-medium mb-2`,children:`编译失败`}),(0,A.jsx)(`div`,{className:`text-status-error text-[11px] max-w-[280px] break-words`,children:i.message})]})}),i.status!==`error`&&c&&(c.phase===`launch-failed`||c.phase===`crashed`)&&(0,A.jsx)(Xa,{phase:c.phase,code:c.code,reason:c.reason,onRelaunch:u})]}),(0,A.jsxs)(`div`,{className:`flex items-center px-2.5 bg-sim-bottom border-t border-border-subtle shrink-0 h-[30px] min-w-0`,children:[(0,A.jsxs)(`div`,{className:`flex items-center gap-1 min-w-0`,children:[(0,A.jsx)(`span`,{className:`text-[11px] text-text-dim truncate min-w-0`,title:a||void 0,children:a||`—`}),a&&(0,A.jsx)(`button`,{className:Ae(`shrink-0 flex items-center justify-center w-4 h-4 rounded transition-colors`,o?`text-accent`:`text-text-dim hover:text-text`),onClick:s,title:`复制路径`,children:o?(0,A.jsx)(`svg`,{width:`10`,height:`10`,viewBox:`0 0 10 10`,fill:`none`,children:(0,A.jsx)(`polyline`,{points:`1.5,5 4,7.5 8.5,2.5`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})}):(0,A.jsxs)(`svg`,{width:`10`,height:`10`,viewBox:`0 0 10 10`,fill:`none`,children:[(0,A.jsx)(`rect`,{x:`1`,y:`3`,width:`6`,height:`6.5`,rx:`1`,stroke:`currentColor`,strokeWidth:`1`}),(0,A.jsx)(`path`,{d:`M3 3V2a1 1 0 011-1h4a1 1 0 011 1v5a1 1 0 01-1 1H7`,stroke:`currentColor`,strokeWidth:`1`})]})})]}),(0,A.jsx)(`button`,{className:`ml-auto shrink-0 flex items-center justify-center w-4 h-4 rounded text-text-dim hover:text-text transition-colors`,onClick:d,title:`调试开发者工具`,"data-testid":`sim-open-internal-devtools`,children:(0,A.jsxs)(`svg`,{width:`11`,height:`11`,viewBox:`0 0 11 11`,fill:`none`,children:[(0,A.jsx)(`rect`,{x:`3`,y:`3.5`,width:`5`,height:`5.5`,rx:`1.5`,stroke:`currentColor`,strokeWidth:`1`}),(0,A.jsx)(`path`,{d:`M4 3.5V3a1.5 1.5 0 013 0v.5M1.5 5.5H3M8 5.5h1.5M2 8.5l1.3-1M9 8.5l-1.3-1M2 3l1.3 1M9 3L7.7 4`,stroke:`currentColor`,strokeWidth:`1`,strokeLinecap:`round`})]})})]})]})}function no(){let e=(0,k.useRef)(null),t=Ye(),n=(0,k.useCallback)(e=>{t?.set({viewId:M.workbench,placement:e,layer:At.base})},[t]),r=(0,k.useCallback)(t=>{let r=e.current;if(r){t?(r.dispose(),e.current=j(t,{visible:!0,guardDisplayNone:!0,followScroll:!0,followGeometry:!0,publish:n})):(r.update({visible:!1,publish:n}),r.dispose(),e.current=null);return}t&&(e.current=j(t,{visible:!0,guardDisplayNone:!0,followScroll:!0,followGeometry:!0,publish:n}))},[n]);return(0,k.useEffect)(()=>{e.current?.pulse(300)},[Wa()]),(0,k.useEffect)(()=>()=>{e.current?.dispose(),e.current=null,t?.remove(M.workbench)},[t]),(0,A.jsx)(`div`,{ref:r,className:`h-full w-full`,"data-area":`editor`})}function ro(e,t){return!!(t===0||e.tagName===`#shadow-root`||e.tagName.includes(`/`))}function io({entries:e}){return(0,A.jsx)(A.Fragment,{children:e.map(([e,t])=>(0,A.jsxs)(`span`,{children:[` `,(0,A.jsx)(`span`,{className:`text-code-blue`,children:e}),(0,A.jsx)(`span`,{className:`text-text-dim`,children:`=`}),(0,A.jsxs)(`span`,{className:`text-code-orange`,children:[`"`,t,`"`]})]},e))})}function ao({node:e,depth:t}){return(0,A.jsxs)(`div`,{className:`py-px leading-[18px] hover:bg-surface-2`,style:{paddingLeft:t*16},children:[(0,A.jsx)(`span`,{className:`w-3 inline-block`}),(0,A.jsx)(`span`,{className:`text-text`,children:e.text})]})}function oo({node:e,depth:t,inspectedSid:n,onInspect:r}){return(0,A.jsx)(A.Fragment,{children:(e.children??[]).map((e,i)=>(0,A.jsx)(fo,{node:e,depth:t,inspectedSid:n,onInspect:r},i))})}function so({node:e,depth:t,inspectedSid:n,onInspect:r}){let[i,a]=(0,k.useState)(()=>ro(e,t)),o=t*16,s=(e.children??[]).length>0;return(0,A.jsxs)(`div`,{children:[(0,A.jsxs)(`div`,{className:`py-px leading-[18px] hover:bg-surface-2 cursor-pointer`,style:{paddingLeft:o},onClick:()=>s&&a(!i),children:[(0,A.jsx)(`span`,{className:`text-text-dim w-3 shrink-0 inline-block text-center select-none`,children:s?i?`▾`:`▸`:` `}),(0,A.jsx)(`span`,{className:`text-text-dim italic`,children:`#shadow-root`})]}),i&&e.children.map((e,i)=>(0,A.jsx)(fo,{node:e,depth:t+1,inspectedSid:n,onInspect:r},i))]})}function co({node:e,indent:t,attrEntries:n,isInspected:r,onMouseEnter:i,inlineText:a}){return(0,A.jsxs)(`div`,{className:`py-px leading-[18px] hover:bg-surface-2${r?` bg-surface-2`:``}`,style:{paddingLeft:t},onMouseEnter:i,"data-wxml-sid":e.sid,children:[(0,A.jsx)(`span`,{className:`w-3 inline-block`}),(0,A.jsxs)(`span`,{className:`text-code-keyword`,children:[`<`,e.tagName]}),(0,A.jsx)(io,{entries:n}),(0,A.jsx)(`span`,{className:`text-code-keyword`,children:`>`}),(0,A.jsx)(`span`,{className:`text-text`,children:a}),(0,A.jsxs)(`span`,{className:`text-code-keyword`,children:[`</`,e.tagName,`>`]})]})}function lo({node:e,depth:t,indent:n,attrEntries:r,hasChildren:i,expanded:a,isInspected:o,inspectedSid:s,onInspect:c,onToggle:l,onMouseEnter:u}){return(0,A.jsxs)(`div`,{children:[(0,A.jsxs)(`div`,{className:`flex items-start hover:bg-surface-2 py-px leading-[18px]${i?` cursor-pointer`:``}${o?` bg-surface-2`:``}`,style:{paddingLeft:n},onMouseEnter:u,onClick:()=>{i&&l()},"data-wxml-sid":e.sid,children:[(0,A.jsx)(`span`,{className:`text-text-dim w-3 shrink-0 text-center select-none`,children:i?a?`▾`:`▸`:` `}),(0,A.jsxs)(`span`,{children:[(0,A.jsxs)(`span`,{className:`text-code-keyword`,children:[`<`,e.tagName]}),(0,A.jsx)(io,{entries:r}),(0,A.jsx)(`span`,{className:`text-code-keyword`,children:i?`>`:` />`})]})]}),a&&i&&(0,A.jsxs)(A.Fragment,{children:[e.children.map((e,n)=>(0,A.jsx)(fo,{node:e,depth:t+1,inspectedSid:s,onInspect:c},n)),(0,A.jsxs)(`div`,{style:{paddingLeft:n},className:`py-px leading-[18px]`,children:[(0,A.jsx)(`span`,{className:`w-3 inline-block`}),(0,A.jsxs)(`span`,{className:`text-code-keyword`,children:[`</`,e.tagName,`>`]})]})]})]})}function uo({node:e,depth:t,inspectedSid:n,onInspect:r}){let[i,a]=(0,k.useState)(()=>ro(e,t)),o=t*16,s=!!(e.sid&&e.sid===n),c=(e.children??[]).length>0,l=Object.entries(e.attrs),u=()=>{e.sid&&r?.(e)},d=c&&e.children.length===1&&e.children[0].tagName===`#text`?e.children[0].text:null;return d?(0,A.jsx)(co,{node:e,indent:o,attrEntries:l,isInspected:s,onMouseEnter:u,inlineText:d}):(0,A.jsx)(lo,{node:e,depth:t,indent:o,attrEntries:l,hasChildren:c,expanded:i,isInspected:s,inspectedSid:n,onInspect:r,onToggle:()=>a(!i),onMouseEnter:u})}function fo({node:e,depth:t,inspectedSid:n,onInspect:r}){return e.tagName===`#text`?(0,A.jsx)(ao,{node:e,depth:t}):e.tagName===`#fragment`?(0,A.jsx)(oo,{node:e,depth:t,inspectedSid:n,onInspect:r}):e.tagName===`#shadow-root`?(0,A.jsx)(so,{node:e,depth:t,inspectedSid:n,onInspect:r}):(0,A.jsx)(uo,{node:e,depth:t,inspectedSid:n,onInspect:r})}function po({inspection:e}){if(!e)return null;let{rect:t,style:n}=e,r=[n.display,n.position===`static`?null:n.position,n.boxSizing].filter(Boolean);return(0,A.jsxs)(`div`,{className:`border-t border-border-subtle bg-bg-panel px-2.5 py-1.5 font-mono text-[11px] text-text-dim shrink-0`,children:[(0,A.jsx)(`span`,{className:`text-text`,children:`box`}),` `,Math.round(t.width),` x `,Math.round(t.height),` @ `,Math.round(t.x),`, `,Math.round(t.y),(0,A.jsx)(`span`,{className:`mx-2 text-border-subtle`,children:`|`}),r.join(` / `),(0,A.jsx)(`span`,{className:`mx-2 text-border-subtle`,children:`|`}),`font `,n.fontSize]})}function mo({tree:e,onInspectElement:t,onClearInspection:n,isRuntimeRunning:r=!0}){let[i,a]=(0,k.useState)(null),o=(0,k.useRef)(0),s=(0,k.useRef)(null);(0,k.useEffect)(()=>()=>{s.current!==null&&cancelAnimationFrame(s.current)},[]);let c=(0,k.useCallback)(e=>{if(!e.sid||!t)return;let n=e.sid;s.current!==null&&cancelAnimationFrame(s.current),s.current=requestAnimationFrame(()=>{s.current=null;let e=++o.current;t(n).then(t=>{e===o.current&&a(t)}).catch(()=>{e===o.current&&a(null)})})},[t]),l=(0,k.useCallback)(()=>{s.current!==null&&(cancelAnimationFrame(s.current),s.current=null),o.current++,a(null),n?.()},[n]);return e?(0,A.jsxs)(`div`,{className:`flex flex-col flex-1 overflow-hidden`,onMouseLeave:l,"data-testid":`wxml-panel`,children:[(0,A.jsx)(`div`,{className:`flex-1 overflow-y-auto p-2 font-mono text-[12px]`,children:(0,A.jsx)(fo,{node:e,depth:0,inspectedSid:i?.sid??null,onInspect:c})}),(0,A.jsx)(po,{inspection:i})]}):(0,A.jsx)(`div`,{className:`flex flex-col flex-1 overflow-hidden`,"data-testid":`wxml-panel`,children:(0,A.jsx)(`div`,{className:`text-[12px] text-text-dim text-center px-4 py-6`,children:r?`等待小程序加载...`:`小程序未运行`})})}function ho(e){let{source:t,enabled:n,active:r}=e,i=(0,k.useRef)({subscribe:e.subscribe,seed:e.seed});(0,k.useEffect)(()=>{i.current={subscribe:e.subscribe,seed:e.seed}}),(0,k.useEffect)(()=>{if(!n)return;let e=i.current.subscribe(t);return()=>{e(),t.setActive(!1)}},[t,n]),(0,k.useEffect)(()=>{n&&t.setActive(r)},[t,n,r]);let a=(0,k.useRef)({source:null,on:!1});(0,k.useEffect)(()=>{let e=n&&r,o=a.current,s=e&&(!o.on||o.source!==t);if(a.current={source:t,on:e},!s)return;let c=!1;return i.current.seed(t,()=>c),()=>{c=!0}},[t,n,r])}function go({source:e,active:t=!0,enabled:n=!0,isRuntimeRunning:r=!0}){let[i,a]=(0,k.useState)(null);return ho({source:e,enabled:n,active:t,subscribe:e=>e.subscribe(a),seed:(e,t)=>{e.getSnapshot().then(e=>{t()||a(e)})}}),(0,A.jsx)(mo,{tree:i,onInspectElement:t=>e.inspect(t),onClearInspection:async()=>{await e.clearInspection()},isRuntimeRunning:r})}var _o=`inline-flex items-center justify-center gap-1.5 font-medium transition-colors focus:outline-none disabled:opacity-35 disabled:cursor-not-allowed whitespace-nowrap shrink-0 border border-border text-text-muted hover:text-text rounded h-5 px-2 text-[11px]`;function vo({items:e,onSet:t,onRemove:n,onClear:r,onClearAll:i,getPrefix:a,isRuntimeRunning:o=!0}){let[s,c]=(0,k.useState)(null),[l,u]=(0,k.useState)(null),[d,f]=(0,k.useState)(!1),[p,m]=(0,k.useState)(``),[h,g]=(0,k.useState)(``),[_,v]=(0,k.useState)(``);(0,k.useEffect)(()=>{let e=!1,t,n=()=>{a().then(r=>{if(!e){if(r){m(r);return}t=setTimeout(n,300)}})};return n(),()=>{e=!0,t&&clearTimeout(t)}},[a]);async function y(e){f(!0),u(null);try{let t=await e();return t.ok?t:(u(t.error),null)}finally{f(!1)}}function b(e){c({key:e.key,draft:e.value})}async function x(){if(!s)return;let{key:e,draft:n}=s;c(null),await y(()=>t(e,n))}async function S(e){await y(()=>n(e))}async function C(){e.length!==0&&await y(()=>r())}async function w(){i&&(typeof window<`u`&&!window.confirm(`清空所有 appId 的 Storage 数据?该操作不可撤销。`)||await y(()=>i()))}async function T(){let e=h.trim();if(!e){u(`key 不能为空`);return}let n=p+e;await y(()=>t(n,_))&&(g(``),v(``))}return(0,A.jsxs)(`div`,{className:`flex flex-col overflow-hidden flex-1`,"data-testid":`storage-panel`,children:[(0,A.jsxs)(`div`,{className:`flex items-center gap-1.5 px-2.5 py-1.5 border-b border-border-subtle shrink-0 bg-bg-panel`,children:[(0,A.jsx)(`button`,{type:`button`,onClick:()=>void C(),disabled:d||e.length===0,className:`${_o} hover:border-status-error hover:text-status-error`,title:`仅清空当前 appId 的 Storage`,children:`清空`}),i&&(0,A.jsx)(`button`,{type:`button`,onClick:()=>void w(),disabled:d,className:`${_o} hover:border-status-error hover:text-status-error`,title:`清空所有 appId 的 Storage`,children:`清空所有`}),l&&(0,A.jsx)(`span`,{className:`ml-2 text-[11px] text-status-error truncate`,title:l,children:l})]}),(0,A.jsx)(`div`,{className:`flex-1 overflow-y-auto`,children:(0,A.jsxs)(`table`,{className:`w-full border-collapse text-[12px]`,children:[(0,A.jsx)(`thead`,{children:(0,A.jsxs)(`tr`,{children:[(0,A.jsx)(`th`,{className:`text-left text-code-label font-normal px-2.5 py-1 border-b border-border-subtle text-[11px] sticky top-0 bg-bg-panel z-10 w-px pr-5`,children:`Key`}),(0,A.jsx)(`th`,{className:`text-left text-code-label font-normal px-2.5 py-1 border-b border-border-subtle text-[11px] sticky top-0 bg-bg-panel z-10`,children:`Value`}),(0,A.jsx)(`th`,{className:`w-px sticky top-0 bg-bg-panel z-10 border-b border-border-subtle`})]})}),(0,A.jsx)(`tbody`,{children:e.length===0?(0,A.jsx)(`tr`,{children:(0,A.jsx)(`td`,{colSpan:3,className:`text-[12px] text-text-dim text-center px-4 py-6`,children:o?`暂无 Storage 数据`:`小程序未运行`})}):e.map(e=>{let t=s?.key===e.key,n=p&&e.key.startsWith(p)?e.key.slice(p.length):e.key;return(0,A.jsxs)(`tr`,{className:`hover:[&>td]:bg-surface`,children:[(0,A.jsx)(`td`,{className:`px-2.5 py-0.5 border-b border-border-subtle w-px pr-5 align-top`,children:(0,A.jsx)(`div`,{className:`font-mono text-code-blue max-w-[240px] truncate`,title:e.key,children:n})}),(0,A.jsx)(`td`,{className:`px-2.5 py-0.5 border-b border-border-subtle font-mono text-code-orange break-all align-top cursor-text`,onClick:()=>{t||b(e)},children:t?(0,A.jsx)(`input`,{autoFocus:!0,type:`text`,value:s.draft,onChange:t=>c({key:e.key,draft:t.target.value}),onBlur:()=>void x(),onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),x()):e.key===`Escape`&&(e.preventDefault(),c(null))},className:`w-full bg-transparent outline-none border border-accent/60 rounded px-1 py-0 font-mono text-code-orange`}):e.value}),(0,A.jsx)(`td`,{className:`px-1 py-0.5 border-b border-border-subtle align-top`,children:(0,A.jsx)(`button`,{type:`button`,onClick:()=>void S(e.key),disabled:d,title:`删除`,className:`text-text-dim hover:text-status-error px-1 leading-none`,children:`×`})})]},e.key)})})]})}),(0,A.jsxs)(`div`,{className:`flex items-center gap-1.5 px-2.5 py-1.5 border-t border-border-subtle shrink-0 bg-bg-panel`,children:[(0,A.jsx)(`input`,{type:`text`,placeholder:`key`,value:h,onChange:e=>g(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),T())},className:`w-32 bg-transparent border border-border-subtle rounded px-1.5 py-0.5 text-[12px] font-mono outline-none focus:border-accent`}),(0,A.jsx)(`input`,{type:`text`,placeholder:`value`,value:_,onChange:e=>v(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),T())},className:`flex-1 bg-transparent border border-border-subtle rounded px-1.5 py-0.5 text-[12px] font-mono outline-none focus:border-accent`}),(0,A.jsx)(`button`,{type:`button`,onClick:()=>void T(),disabled:d||!h.trim(),className:`${_o} hover:border-accent hover:text-accent`,children:`+ 新增`})]})]})}function yo(e,t){switch(t.type){case`added`:case`updated`:{let n=e.findIndex(e=>e.key===t.key);if(n<0)return[...e,{key:t.key,value:t.newValue}];let r=[...e];return r[n]={key:t.key,value:t.newValue},r}case`removed`:return e.filter(e=>e.key!==t.key);case`cleared`:return[]}}function bo({source:e,active:t=!0,enabled:n=!0,isRuntimeRunning:r=!0}){let[i,a]=(0,k.useState)([]);ho({source:e,enabled:n,active:t,subscribe:e=>e.subscribe(e=>{a(t=>yo(t,e))}),seed:(e,t)=>{e.getSnapshot().then(e=>{t()||a(e)})}});let o=e.clearAll?.bind(e);return(0,A.jsx)(vo,{items:i,onSet:(t,n)=>e.setItem(t,n),onRemove:t=>e.removeItem(t),onClear:()=>e.clear(),onClearAll:o,getPrefix:()=>e.getPrefix(),isRuntimeRunning:r})}function xo(e,t){return typeof t==`number`?`${e}[${t}]`:e===``?t:`${e}.${t}`}function So(e){return typeof e==`object`&&!!e}function Co(e){return Array.isArray(e)?e.map((e,t)=>[t,e]):Object.keys(e).sort().map(t=>[t,e[t]])}function wo(e){return Array.isArray(e)?`[${e.length}]`:`{${Object.keys(e).length}}`}var To=``;function Eo(e,t){let n=e.overrides.get(t);return n===void 0?e.baseline===`expanded`?!0:e.baseline===`collapsed`?!1:t===To:n}function Do({path:e,value:t,editable:n,ctx:r}){if(typeof t==`boolean`)return(0,A.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-code-keyword`,children:[n&&(0,A.jsx)(`input`,{type:`checkbox`,checked:t,onChange:()=>r.onCommit?.(e,!t,t),className:`accent-accent`}),String(t)]});if(t==null)return(0,A.jsx)(`span`,{className:`text-code-keyword`,children:String(t)});if(r.state.editingPath===e){let n=()=>{let n=t;if(typeof n==`number`){let t=r.state.draft.trim(),i=Number(t);if(r.endEdit(),t===``||!Number.isFinite(i))return;r.onCommit?.(e,i,n);return}let i=r.state.draft;r.endEdit(),r.onCommit?.(e,i,n)};return(0,A.jsx)(`input`,{type:`text`,autoFocus:!0,value:r.state.draft,onChange:e=>r.setDraft(e.target.value),onKeyDown:e=>{e.key===`Enter`?n():e.key===`Escape`&&r.endEdit()},onBlur:n,className:`bg-surface-3 border border-accent rounded px-1 text-[12px] font-mono min-w-0 w-40`})}return(0,A.jsx)(`span`,{"data-testid":`appdata-value`,className:typeof t==`string`?`text-code-orange`:void 0,style:typeof t==`number`?{color:`var(--color-code-number)`}:void 0,onDoubleClick:n?()=>r.beginEdit(e,String(t)):void 0,children:String(t)})}function Oo(e){return typeof e==`string`&&(e===``||/[.[\]]/.test(e))}function ko({path:e,label:t,value:n,depth:r,unsafeSegments:i,ctx:a}){let o={paddingLeft:r*14};if(So(n)){let s=Eo(a.state,e);return(0,A.jsxs)(`div`,{children:[(0,A.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-px cursor-pointer hover:bg-surface-3 text-[12px] font-mono`,style:o,onClick:()=>a.toggle(e,n),children:[(0,A.jsx)(`span`,{className:`text-text-secondary w-3 shrink-0 text-center select-none`,children:s?`▾`:`▸`}),(0,A.jsx)(`span`,{className:`text-code-blue`,children:t}),(0,A.jsx)(`span`,{className:`text-text-secondary`,children:wo(n)})]}),s&&Co(n).map(([t,n])=>(0,A.jsx)(ko,{path:xo(e,t),label:String(t),value:n,depth:r+1,unsafeSegments:i||Oo(t),ctx:a},String(t)))]})}let s=typeof n==`string`||typeof n==`number`||typeof n==`boolean`,c=r>1&&i||t===`__proto__`,l=s&&a.onCommit!==void 0&&!c;return(0,A.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-px text-[12px] font-mono`,style:o,...l?{"data-path":e}:{},children:[(0,A.jsx)(`span`,{className:`w-3 shrink-0`}),(0,A.jsx)(`span`,{className:`text-code-blue`,children:t}),(0,A.jsx)(`span`,{className:`text-text-secondary`,children:`:`}),(0,A.jsx)(Do,{path:e,value:n,editable:l,ctx:a})]})}function Ao({root:e,bridgeId:t,command:n,onCommit:r}){let[i,a]=(0,k.useState)(`default`),[o,s]=(0,k.useState)(new Map),[c,l]=(0,k.useState)(0),[u,d]=(0,k.useState)(null),[f,p]=(0,k.useState)(``);n&&n.bridgeId===t&&n.seq!==c&&(a(n.mode),s(new Map),l(n.seq));let m={baseline:i,overrides:o,editingPath:u,draft:f};return(0,A.jsx)(`div`,{"data-testid":`appdata-tree`,className:`py-1`,children:(0,A.jsx)(ko,{path:To,label:`object`,value:e,depth:0,unsafeSegments:!1,ctx:{state:m,toggle:(e,t)=>{let n=new Map(o),r=!Eo(m,e);n.set(e,r),r&&Array.isArray(t)&&t.forEach((t,r)=>{So(t)&&n.set(xo(e,r),!0)}),s(n)},beginEdit:(e,t)=>{d(e),p(t)},setDraft:p,endEdit:()=>d(null),onCommit:r}})})}function jo(e){return e.pagePath??e.id}function Mo(e){return e!=null&&(typeof e==`object`||typeof e==`function`)&&typeof e.then==`function`}function No(e){let t={};for(let n of Object.keys(e)){let r=e[n];if(!(!r||typeof r!=`object`))for(let e of Object.keys(r))Object.defineProperty(t,e,{value:r[e],enumerable:!0,writable:!0,configurable:!0})}return t}function Po({title:e,disabled:t,onClick:n,children:r}){return(0,A.jsx)(`button`,{title:e,disabled:t,onClick:n,className:`px-1.5 py-0.5 text-[12px] rounded text-text-secondary hover:bg-surface-3 hover:text-text-primary disabled:opacity-40 disabled:hover:bg-transparent`,children:r})}function Fo({state:e,onSelectBridge:t,isRuntimeRunning:n=!0,onSetData:r}){let{bridges:i,activeBridgeId:a,entries:o}=e,[s,c]=(0,k.useState)(null),[l,u]=(0,k.useState)([]),[d,f]=(0,k.useState)([]),p=(0,k.useRef)(!1),[m,h]=(0,k.useState)(!1),g=n?`暂无页面数据(仅显示 Page 级 data)`:`小程序未运行`,_=e=>{a&&c({seq:(s?.seq??0)+1,mode:e,bridgeId:a})},v=(e,t,n)=>{let i;try{i=r?.(e,t)}catch{n(!1);return}if(Mo(i)){Promise.resolve(i).then(e=>e!==!1,()=>!1).then(n);return}n(i!==!1)},y=(e,t,n)=>{p.current||(p.current=!0,h(!0),v(e,t,e=>{p.current=!1,h(!1),n(e)}))},b=e=>(t,n,r)=>{y(e,{[t]:n},i=>{i&&(u(i=>[...i,{bridgeId:e,path:t,before:r,after:n}]),f([]))})},x=e=>i.some(t=>t.id===e),S=(e,t,n)=>{y(e.bridgeId,{[e.path]:t},t=>{t&&n(e)})};return i.length===0?(0,A.jsx)(`div`,{className:`flex flex-col overflow-hidden flex-1`,"data-testid":`appdata-panel`,children:(0,A.jsx)(`div`,{className:`text-[12px] text-text-dim text-center px-4 py-6`,children:g})}):(0,A.jsxs)(`div`,{className:`flex overflow-hidden flex-1`,"data-testid":`appdata-panel`,children:[(0,A.jsxs)(`div`,{"data-testid":`appdata-pages`,className:`w-40 shrink-0 border-r border-border-subtle bg-bg-panel flex flex-col overflow-hidden`,children:[(0,A.jsx)(`div`,{className:`px-2 py-1 text-[11px] text-text-secondary border-b border-border-subtle shrink-0`,children:`Pages`}),(0,A.jsx)(`div`,{className:`flex-1 overflow-y-auto`,role:`listbox`,children:i.map(e=>{let n=e.id===a;return(0,A.jsx)(`button`,{"data-testid":`appdata-page-item`,role:`option`,"aria-selected":n,title:e.id,onClick:()=>t(e.id),className:`block w-full text-left px-2 py-1 text-[11px] truncate `+(n?`bg-accent/20 text-accent`:`text-text-dim hover:bg-surface-3`),children:jo(e)},e.id)})})]}),(0,A.jsxs)(`div`,{className:`flex-1 flex flex-col overflow-hidden`,children:[(0,A.jsxs)(`div`,{"data-testid":`appdata-toolbar`,className:`flex items-center gap-1 px-2 py-0.5 border-b border-border-subtle shrink-0 bg-bg-panel`,children:[(0,A.jsx)(Po,{title:`全部展开`,onClick:()=>_(`expanded`),children:`⊕`}),(0,A.jsx)(Po,{title:`全部收起`,onClick:()=>_(`collapsed`),children:`⊖`}),(0,A.jsx)(Po,{title:`撤销`,disabled:l.length===0||m,onClick:()=>{let e=l.at(-1);if(e){if(!x(e.bridgeId)){u(t=>t.filter(t=>t!==e));return}S(e,e.before,e=>{u(t=>t.filter(t=>t!==e)),f(t=>[...t,e])})}},children:`↶`}),(0,A.jsx)(Po,{title:`重做`,disabled:d.length===0||m,onClick:()=>{let e=d.at(-1);if(e){if(!x(e.bridgeId)){f(t=>t.filter(t=>t!==e));return}S(e,e.after,e=>{f(t=>t.filter(t=>t!==e)),u(t=>[...t,e])})}},children:`↷`})]}),(0,A.jsx)(`div`,{className:`flex-1 overflow-hidden relative`,children:i.map(e=>{let t=e.id===a,n=o[e.id]??{},i=Object.keys(n).length>0;return(0,A.jsx)(`div`,{"data-bridge-id":e.id,className:`absolute inset-0 flex-col overflow-y-auto`,style:{display:t?`flex`:`none`},children:i?(0,A.jsx)(Ao,{root:No(n),bridgeId:e.id,command:s,onCommit:r?b(e.id):void 0}):(0,A.jsx)(`div`,{className:`text-[12px] text-text-dim text-center px-4 py-6`,children:g})},e.id)})})]})]})}function Io(e){return(e??``).replace(/^\/+/,``)}function Lo(e,t=``){let n=e.map(e=>e.id),r=n.join(`\0`),[i,a]=(0,k.useState)(null),[o,s]=(0,k.useState)(``),[c,l]=(0,k.useState)(t);if(r!==o){let e=o?o.split(`\0`):[];n.some(t=>!e.includes(t))&&a(null),s(r)}t!==c&&(a(null),l(t));let u=t?e.find(e=>Io(e.pagePath)===Io(t))?.id??null:null;return{activeBridgeId:i&&n.includes(i)?i:u??n.at(-1)??null,setActiveBridge:e=>{n.includes(e)&&a(e)}}}var Ro={bridges:[],entries:{}};function zo({source:e,active:t=!0,enabled:n=!0,isRuntimeRunning:r=!0,activePagePath:i=``}){let[a,o]=(0,k.useState)(Ro);ho({source:e,enabled:n,active:t,subscribe:e=>e.subscribe(e=>{o(e)}),seed:(e,t)=>{e.getSnapshot().then(e=>{t()||o(e)})}});let{activeBridgeId:s,setActiveBridge:c}=Lo(a.bridges,i),l=e.setData?.bind(e),u=l?(e,t)=>l(e,t):void 0;return(0,A.jsx)(Fo,{state:{bridges:a.bridges,activeBridgeId:s,entries:a.entries},onSelectBridge:c,isRuntimeRunning:r,onSetData:u})}function Bo(...e){return e.filter(Boolean).join(` `)}function Vo(e){let t=new Date(e);return[t.getHours(),t.getMinutes(),t.getSeconds()].map(e=>String(e).padStart(2,`0`)).join(`:`)}function Ho(e){return e===`error`?`text-red-500`:e===`compiling`?`text-amber-500`:e===`ready`?`text-emerald-600`:`text-text-muted`}function Uo(e){return e.kind===`event`?e.event.message:e.log.text}function Wo({events:e,logs:t=[],onClear:n}){let r=e.length>0?e[e.length-1]:null,[i,a]=(0,k.useState)(``),o=(0,k.useRef)(null),s=(0,k.useRef)(null),c=(0,k.useRef)(!0);(0,k.useEffect)(()=>{let e=o.current;if(!e)return;let t=()=>{let{scrollTop:t,scrollHeight:n,clientHeight:r}=e;c.current=n-t-r<30};return e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)},[]),(0,k.useEffect)(()=>{c.current&&s.current?.scrollIntoView?.({behavior:`auto`})},[e.length+t.length]);let l=(0,k.useMemo)(()=>{let n=[];e.forEach((t,r)=>{let i=r>0?e[r-1]:null,a=t.status===`ready`&&i?.status===`compiling`?t.at-i.at:null;n.push({kind:`event`,at:t.at,seq:t.seq,event:t,durationMs:a})});for(let e of t)n.push({kind:`log`,at:e.at,seq:e.seq,log:e});return n.sort((e,t)=>e.at===t.at?e.seq!==void 0&&t.seq!==void 0?e.seq-t.seq:0:e.at-t.at)},[e,t]),u=(0,k.useMemo)(()=>{if(!i)return l;let e=i.toLowerCase();return l.filter(t=>Uo(t).toLowerCase().includes(e))},[l,i]),d=e.length===0&&t.length===0;return(0,A.jsxs)(`div`,{className:`flex flex-col h-full w-full min-h-0 text-[12px]`,children:[(0,A.jsxs)(`div`,{className:`flex items-center gap-2 px-2 h-8 shrink-0 border-b border-border-subtle`,children:[r?(0,A.jsx)(`span`,{"data-compile-current":!0,"data-status":r.status,className:Bo(`truncate font-medium shrink-0`,Ho(r.status)),children:r.message}):(0,A.jsx)(`span`,{className:`text-text-muted shrink-0`,children:`编译信息`}),(0,A.jsx)(`div`,{className:`flex-1 min-w-0`}),(0,A.jsx)(`input`,{type:`text`,value:i,onChange:e=>a(e.target.value),placeholder:`过滤...`,className:`h-6 px-2 text-[12px] rounded-sm border border-border-subtle bg-surface
|
|
2
|
-
text-text placeholder:text-text-dim
|
|
3
|
-
focus:outline-none focus:border-text-muted
|
|
4
|
-
w-40 shrink-0`}),i&&(0,A.jsxs)(`span`,{className:`text-[11px] text-text-muted tabular-nums shrink-0`,children:[u.length,`/`,l.length]}),(0,A.jsx)(`button`,{type:`button`,onClick:n,className:`px-2 h-6 rounded-sm text-text-muted hover:text-text hover:bg-surface-2 transition-colors shrink-0`,children:`清空`})]}),(0,A.jsx)(`div`,{ref:o,className:`flex-1 min-h-0 overflow-auto`,children:d?(0,A.jsx)(`div`,{className:`flex items-center justify-center h-full text-text-muted`,children:`暂无编译信息`}):u.length===0?(0,A.jsx)(`div`,{className:`flex items-center justify-center h-full text-text-muted`,children:`无匹配日志`}):(0,A.jsxs)(`ul`,{className:`px-2 py-1 space-y-0.5`,children:[u.map((e,t)=>e.kind===`event`?(0,A.jsxs)(`li`,{"data-compile-row":!0,"data-status":e.event.status,className:`flex items-baseline gap-2 leading-5`,children:[(0,A.jsx)(`span`,{className:`text-text-muted tabular-nums shrink-0`,children:Vo(e.at)}),(0,A.jsx)(`span`,{className:Bo(`break-all`,Ho(e.event.status)),children:e.event.message}),e.event.hotReload===!0&&(0,A.jsx)(`span`,{className:`shrink-0 px-1 rounded-sm bg-surface-2 text-text-muted`,children:`已重启`}),e.durationMs!==null&&(0,A.jsxs)(`span`,{"data-compile-duration":!0,className:`shrink-0 text-text-muted tabular-nums`,children:[(e.durationMs/1e3).toFixed(1),`s`]})]},`e-${e.at}-${t}`):(0,A.jsxs)(`li`,{"data-compile-log":!0,"data-stream":e.log.stream,className:`flex items-baseline gap-2 leading-5`,children:[(0,A.jsx)(`span`,{className:`text-text-muted tabular-nums shrink-0`,children:Vo(e.at)}),(0,A.jsx)(`span`,{className:Bo(`break-all font-mono`,e.log.stream===`stderr`?`text-red-500`:`text-text`),children:e.log.text})]},`l-${e.at}-${t}`)),(0,A.jsx)(`div`,{ref:s})]})})]})}function Go(e){let{tabId:t,wxmlSource:n,wxmlEnabled:r=!0,storageSource:i,storageEnabled:a=!0,appDataSource:o,appDataEnabled:s=!0,activePagePath:c,tabActive:l=!0,compileEvents:u=[],compileLogs:d=[],onClearCompileEvents:f,isRuntimeRunning:p=!0}=e;switch(t){case`wxml`:return(0,A.jsx)(go,{source:n,enabled:r,active:l,isRuntimeRunning:p});case`appdata`:return(0,A.jsx)(zo,{source:o,enabled:s,active:l,isRuntimeRunning:p,activePagePath:c});case`storage`:return(0,A.jsx)(bo,{source:i,enabled:a,active:l,isRuntimeRunning:p});case`compile`:return(0,A.jsx)(Wo,{events:u,logs:d,onClear:f??(()=>{})})}}var Ko=new Set([`simulator`,`editor`,`wxml`,`appdata`,`storage`,`console`,`compile`]);function qo({project:e}){let t=(0,k.useRef)(null),[n,r]=(0,k.useState)(!1),{session:i,device:a,simulator:o,panelData:s,rightPane:c,popover:l}=an({projectPath:e.path}),u=un(),{state:d}=u,[f]=(0,k.useState)(()=>pr(d.dockTree??null,a.simPanelWidth,Ko)),p=(0,k.useMemo)(()=>or(),[]),m=it(),h=at(0,he,fe),g=kt({present:h>0,publish:e=>{let t=h>0&&e.width>0&&e.height>0;m.set({viewId:M.hostToolbar,placement:t?{visible:!0,bounds:e}:{visible:!1},layer:At.hostToolbar})},deps:[h,m]});(0,k.useEffect)(()=>{let t=`Dimina DevTools`;return document.title=`${e.name} - ${t}`,Ge().then(n=>{n?.appName&&(t=n.appName,document.title=`${e.name} - ${t}`)}).catch(()=>{}),()=>{document.title=t}},[e.name]),(0,k.useEffect)(()=>()=>{t.current!==null&&window.clearTimeout(t.current)},[]);async function _(){if(o.currentRoute)try{await navigator.clipboard.writeText(o.currentRoute),r(!0),t.current!==null&&window.clearTimeout(t.current),t.current=window.setTimeout(()=>r(!1),Ve)}catch{r(!1)}}let v={rightPane:c.rightPane,onSelectTab:c.selectRightPane,wxmlSource:s.wxmlSource,wxmlEnabled:s.wxmlEnabled,storageSource:s.storageSource,storageEnabled:s.storageEnabled,appDataSource:s.appDataSource,appDataEnabled:s.appDataEnabled,activePagePath:o.currentPage,compileEvents:i.compileEvents,compileLogs:i.compileLogs,onClearCompileEvents:i.clearCompileEvents,isRuntimeRunning:i.runtimeStatus?.phase===`running`};return(0,A.jsx)(Je.Provider,{value:m,children:(0,A.jsxs)(`div`,{className:`flex flex-col h-screen`,children:[(0,A.jsx)(`div`,{ref:g,style:{height:h},className:`shrink-0 w-full`,"data-area":`host-toolbar`}),(0,A.jsx)(Nr,{compileDropdownRef:l.compileDropdownRef,showCompilePanel:l.showCompilePanel,onToggleCompilePanel:l.toggleCompilePanel,onRelaunch:()=>i.relaunch(),compileStatus:i.compileStatus,dockModel:f,dockRegistry:p,layout:u,simPanelWidth:a.simPanelWidth}),(0,A.jsx)(`div`,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,A.jsx)(Qo,{dockModel:f,dockRegistry:p,simPanelWidth:a.simPanelWidth,renderDomPanel:(e,t)=>e===`simulator`?(0,A.jsx)(to,{device:a.device,zoom:a.zoom,onDeviceChange:a.handleDeviceChange,onZoomChange:a.handleZoomChange,compileStatus:i.compileStatus,currentPage:o.currentRoute,copied:n,onCopyPagePath:_,runtimeStatus:i.runtimeStatus,watcherDead:i.watcherDead,onRelaunch:()=>i.relaunch(),onOpenInternalDevtools:()=>{Ke()}}):e===`editor`?(0,A.jsx)(no,{}):e===`wxml`||e===`appdata`||e===`storage`||e===`compile`?(0,A.jsx)(Zo,{tabId:e,active:t.active,panelProps:v}):null,onPersistTree:u.setDockTree,persistedTree:d.dockTree??null})})]})})}function Jo(e){return e.kind===`tabs`?e.panels.includes(`simulator`):e.children.some(Jo)}function Yo(e,t){function n(e){if(e.kind===`tabs`)return null;if(e.id===t.splitId)return(e.constraints?.[t.childIndex]??null)?.minPx??null;for(let t of e.children){let e=n(t);if(e!==null)return e}return null}return n(e)}function Xo(e){if(e.kind===`tabs`)return null;for(let t=0;t<e.children.length;t++){let n=e.children[t];if((e.constraints?.[t]??null)!==null&&Jo(n))return{splitId:e.id,childIndex:t};let r=Xo(n);if(r)return r}return null}function Zo({tabId:e,active:t,panelProps:n}){return(0,A.jsx)(Go,{tabId:e,...n,tabActive:t})}function Qo(e){let{dockModel:t,dockRegistry:n,simPanelWidth:r,renderDomPanel:i,onPersistTree:a,persistedTree:o}=e,s=(0,k.useRef)(null),c=Ye(),l=(0,k.useCallback)(e=>{c?.set({viewId:M.simulatorDevtools,placement:e,layer:At.base})},[c]),u=(0,k.useCallback)((e,t,n)=>{if(e.current){t?(e.current.dispose(),e.current=j(t,{visible:!0,guardDisplayNone:!0,followScroll:!0,followGeometry:!0,publish:n})):(e.current.update({visible:!1,publish:n}),e.current.dispose(),e.current=null);return}t&&(e.current=j(t,{visible:!0,guardDisplayNone:!0,followScroll:!0,followGeometry:!0,publish:n}))},[]),d=(0,k.useCallback)((e,t)=>{e===`console`&&u(s,t,l)},[u,l]);return(0,k.useEffect)(()=>{let e=t.get().root,n=Xo(e);n&&Yo(e,n)!==r&&t.apply(e=>{let t=Xo(e.root);return!t||Yo(e.root,t)===r?e:qn(e,t.splitId,t.childIndex,{minPx:r})})},[t,r]),(0,k.useEffect)(()=>()=>{s.current?.dispose(),s.current=null,c?.remove(M.simulatorDevtools)},[c]),(0,k.useEffect)(()=>t.subscribe(e=>{a(bn(e.tree))}),[t,a]),(0,k.useEffect)(()=>{let e=bn(t.get());e!==o&&a(e)},[]),(0,A.jsx)(Ka,{model:t,registry:n,renderDomPanel:i,bindNativeSlot:d,onActiveTabClick:(0,k.useCallback)(e=>{e===`simulator`||e===`editor`||t.apply(t=>ir(t,e,n))},[t,n])})}function $o(e){let{open:t,project:n,error:r,submitting:i,onSubmit:a,onCancel:o}=e,[s,c]=(0,k.useState)(``),[l,u]=(0,k.useState)(``),d=n?.path,f=n?.name,p=n?.iconUrl;if((0,k.useEffect)(()=>{!t||d===void 0||(c(f??``),u(p??``))},[t,d,f,p]),!t||!n)return null;let m=n,h=s.trim(),g=h.length>0&&!i;function _(){if(!g)return;let e={};h!==m.name&&(e.name=h);let t=l.trim();t!==(m.iconUrl??``)&&(e.iconUrl=t),a(e)}return(0,A.jsx)(Re,{open:!0,onOpenChange:e=>{e||o()},children:(0,A.jsxs)(Ie,{className:`w-[480px] max-w-[calc(100vw-2rem)] gap-4 p-5`,children:[(0,A.jsx)(Pe,{children:(0,A.jsx)(Le,{children:`编辑项目`})}),(0,A.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,A.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,A.jsxs)(`label`,{className:`flex flex-col gap-1.5`,children:[(0,A.jsx)(`span`,{className:`text-sm text-text-secondary`,children:`项目名称`}),(0,A.jsx)(je,{value:s,autoFocus:!0,onChange:e=>c(e.target.value),onKeyDown:e=>{e.nativeEvent.isComposing||e.key===`Enter`&&_()}})]}),(0,A.jsx)(`span`,{className:`text-xs text-text-dim`,children:`会写入项目目录下的 project.private.config.json`})]}),(0,A.jsxs)(`label`,{className:`flex flex-col gap-1.5`,children:[(0,A.jsx)(`span`,{className:`text-sm text-text-secondary`,children:`图标地址`}),(0,A.jsx)(je,{value:l,placeholder:`https://… ,留空则显示项目名首字母`,onChange:e=>u(e.target.value),onKeyDown:e=>{e.nativeEvent.isComposing||e.key===`Enter`&&_()}})]}),(0,A.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,A.jsxs)(`label`,{className:`flex flex-col gap-1.5`,children:[(0,A.jsx)(`span`,{className:`text-sm text-text-secondary`,children:`项目目录`}),(0,A.jsx)(je,{value:n.path,readOnly:!0,disabled:!0,title:n.path,className:`cursor-default text-text-secondary`})]}),(0,A.jsx)(`span`,{className:`text-xs text-text-dim`,children:`目录不可修改。要换目录请重新导入。`})]}),r&&(0,A.jsx)(`span`,{className:`text-sm text-status-error`,children:r})]}),(0,A.jsxs)(Fe,{children:[(0,A.jsx)(D,{variant:`outline`,onClick:o,children:`取消`}),(0,A.jsx)(D,{onClick:_,disabled:!g,children:`保存`})]})]})})}var es=`Dimina DevTools`;function ts(){let[e,t]=(0,k.useState)(`list`),[n,r]=(0,k.useState)(null),[i,a]=(0,k.useState)([]),[o,s]=(0,k.useState)({}),[c,l]=(0,k.useState)(null),[u,d]=(0,k.useState)(!1),[f,p]=(0,k.useState)(null),[g,_]=(0,k.useState)(es);async function v(){a(await x())}(0,k.useEffect)(()=>{v(),Ge().then(e=>{e?.appName&&(_(e.appName),document.title=e.appName)}).catch(()=>{})},[]),(0,k.useEffect)(()=>{i.length!==0&&Promise.all(i.map(e=>h(e.path).then(t=>[e.path,t]))).then(e=>s(Object.fromEntries(e)))},[i]),(0,k.useEffect)(()=>{ye(e===`project`?`project`:`list`)},[e]),(0,k.useEffect)(()=>pe(()=>{document.title=g,t(`list`),r(null),x().then(a)}),[g]),(0,k.useEffect)(()=>De(e=>{r({name:e.name,path:e.path}),t(`project`)}),[]),(0,k.useEffect)(()=>de(ee),[]);async function C(){let e=await E();if(!e)return;let t;try{t=await te(e)}catch{return}await v(),le(t)}async function T(){let e;try{e=await S()}catch{e=null}if(e&&`ready`in e){await v(),le(e.ready);return}if(e){let t;try{t=await b(e)}catch{return}await v(),le(t);return}let[t,n]=await Promise.allSettled([ne(),w()]);oe({templates:t.status===`fulfilled`?t.value:[],defaultBaseDir:n.status===`fulfilled`?n.value.baseDir:``})}async function ee(e){let t;try{t=await b(e)}catch{return}await v(),le(t)}async function ie(e){await re(e.path),await v()}async function ae(e){let t;try{t=await y(e.path)}catch{t=null}if(!t){p(null),d(!1),l(e);return}let n=t.result;if(n){if(`updated`in n){await v();return}try{await m(e.path,n)}catch(e){console.warn(`[projects] failed to update project`,e);return}await v()}}async function se(e){let t=c;if(!t||u)return;if(Object.keys(e).length===0){l(null);return}d(!0),p(null);let n;try{n=await m(t.path,e)}catch(e){p(e instanceof Error?e.message:String(e)),d(!1);return}a(e=>e.map(e=>e.path===t.path?n:e)),d(!1),l(null),v().catch(e=>console.warn(`[projects] failed to reload after edit`,e))}function ce(){p(null),d(!1),l(null)}function le(e){r(e),t(`project`)}return e===`list`?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(jt,{projects:i,onAdd:C,onCreate:T,onOpen:le,onEdit:ae,onRemove:ie,thumbnails:o}),(0,A.jsx)($o,{open:c!==null,project:c,error:f,submitting:u,onSubmit:se,onCancel:ce})]}):(0,A.jsx)(qo,{project:n},n?.path)}function ns(e){console.error(`[devtools] fatal: could not allocate a placement-generation seed before first render`,e);let t=document.getElementById(`root`);t&&(t.textContent=`Dimina DevTools failed to start. Please restart the app.`)}nt().then(()=>{qe.createRoot(document.getElementById(`root`)).render((0,A.jsx)(ts,{}))}).catch(ns);
|
|
5
|
-
//# sourceMappingURL=index-CsPD68N_.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var e={AttachNative:`simulator:attach-native`,SetDeviceInfo:`simulator:set-device-info`,SoftReload:`simulator:soft-reload`,Detach:`simulator:detach`,Console:`simulator:console`,CurrentPage:`simulator:current-page`},t={GetSnapshot:`simulator:storage:snapshot`,GetActivePrefix:`simulator:storage:activePrefix`,Set:`simulator:storage:set`,Remove:`simulator:storage:remove`,Clear:`simulator:storage:clear`,ClearAll:`simulator:storage:clearAll`,Event:`simulator:storage:event`},n={Inspect:`simulator:element:inspect`,Clear:`simulator:element:clear`},r={GetSnapshot:`simulator:wxml:snapshot`,Event:`simulator:wxml:event`,SetActive:`simulator:wxml:setActive`},i={GetSnapshot:`simulator:appdata:snapshot`,Event:`simulator:appdata:event`,SetData:`simulator:appdata:set-data`},a={Get:`workbenchSettings:get`,Save:`workbenchSettings:save`,SetTheme:`workbenchSettings:setTheme`,Restart:`workbenchSettings:restart`,GetCdpStatus:`workbenchSettings:getCdpStatus`,GetMcpStatus:`workbenchSettings:getMcpStatus`,Init:`workbenchSettings:init`,ThemeChanged:`workbenchSettings:themeChanged`},o={Open:`project:open`,Close:`project:close`,Rebuild:`project:rebuild`,GetPages:`project:getPages`,GetCompileConfig:`project:getCompileConfig`,SaveCompileConfig:`project:saveCompileConfig`,Status:`project:status`,CompileLog:`project:compileLog`,CaptureThumbnail:`project:captureThumbnail`,GetThumbnail:`project:getThumbnail`},s={RuntimeStatus:`session:runtimeStatus`},c={List:`projects:list`,Add:`projects:add`,Remove:`projects:remove`,Update:`projects:update`,ListTemplates:`projects:listTemplates`,OpenCreateDialog:`projects:openCreateDialog`,OpenEditDialog:`projects:openEditDialog`,Create:`projects:create`,GetCreateDefaults:`projects:getCreateDefaults`},l={OpenDirectory:`dialog:openDirectory`},u={NavigateBack:`window:navigateBack`,OpenProject:`window:openProject`,ScreenState:`window:screenState`},d={GetBranding:`app:getBranding`},f={Open:`internal-devtools:open`};function p(){let e=window.devtools?.ipc;if(!e)throw Error(`[devtools] preload bridge missing; check webPreferences.preload`);return e}function m(e,...t){return p().invoke(e,...t).catch(t=>{console.warn(`[ipc] ${e} failed:`,t)})}function h(e,...t){return p().invoke(e,...t)}function g(e,...t){p().send(e,...t)}function _(e,t){return p().on(e,(e,...n)=>{t(...n)})}var v={HostToolbarAdvertiseHeight:`view:host-toolbar:advertise-height`,HostToolbarPort:`view:host-toolbar:port`,HostToolbarHeightChanged:`view:host-toolbar:height-changed`,HostToolbarGetHeight:`view:host-toolbar:get-height`,HostSidebarAdvertiseWidth:`view:host-sidebar:advertise-width`,HostSidebarPort:`view:host-sidebar:port`,HostSidebarWidthChanged:`view:host-sidebar:width-changed`,HostSidebarGetWidth:`view:host-sidebar:get-width`,HostSidebarCategorySelected:`view:host-sidebar:category-selected`,HostDialogAdvertiseSize:`view:host-dialog:advertise-size`,HostDialogPort:`view:host-dialog:port`,PlacementSnapshot:`view:placement-snapshot`,AllocatePlacementGeneration:`view:allocate-placement-generation`},y={Show:`popover:show`,Hide:`popover:hide`,Relaunch:`popover:relaunch`,Closed:`popover:closed`,Init:`popover:init`},b={Ready:`overlay:ready`},x={Prepare:`tooltip:prepare`,Show:`tooltip:show`,Hide:`tooltip:hide`,Init:`tooltip:init`,Measured:`tooltip:measured`},S={Show:`projectCreate:show`,Init:`projectCreate:init`,Submit:`projectCreate:submit`,Cancel:`projectCreate:cancel`,Submitted:`projectCreate:submitted`},C={SetVisible:`settings:setVisible`,ConfigChanged:`settings:configChanged`,ProjectSettingsChanged:`settings:projectSettingsChanged`,Init:`settings:init`},w={Check:`updates:check`,Download:`updates:download`,Install:`updates:install`,DownloadProgress:`updates:downloadProgress`,Available:`updates:available`,Close:`updates:close`};export{u as C,r as S,s as _,x as a,n as b,m as c,g as d,d as f,c as g,o as h,C as i,h as l,f as m,y as n,w as o,l as p,S as r,v as s,b as t,_ as u,i as v,a as w,t as x,e as y};
|
|
2
|
-
//# sourceMappingURL=ipc-channels-overlays-LsDzGAtV.js.map
|