@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
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function e(t){var n,r,i=``;if(typeof t==`string`||typeof t==`number`)i+=t;else if(typeof t==`object`)if(Array.isArray(t)){var a=t.length;for(n=0;n<a;n++)t[n]&&(r=e(t[n]))&&(i&&(i+=` `),i+=r)}else for(r in t)t[r]&&(i&&(i+=` `),i+=r);return i}function t(){for(var t,n,r=0,i=``,a=arguments.length;r<a;r++)(t=arguments[r])&&(n=e(t))&&(i&&(i+=` `),i+=n);return i}var n=`-`,r=e=>{let t=s(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:a}=e;return{getClassGroupId:e=>{let r=e.split(n);return r[0]===``&&r.length!==1&&r.shift(),i(r,t)||o(e)},getConflictingClassGroupIds:(e,t)=>{let n=r[e]||[];return t&&a[e]?[...n,...a[e]]:n}}},i=(e,t)=>{if(e.length===0)return t.classGroupId;let r=e[0],a=t.nextPart.get(r),o=a?i(e.slice(1),a):void 0;if(o)return o;if(t.validators.length===0)return;let s=e.join(n);return t.validators.find(({validator:e})=>e(s))?.classGroupId},a=/^\[(.+)\]$/,o=e=>{if(a.test(e)){let t=a.exec(e)[1],n=t?.substring(0,t.indexOf(`:`));if(n)return`arbitrary..`+n}},s=e=>{let{theme:t,prefix:n}=e,r={nextPart:new Map,validators:[]};return d(Object.entries(e.classGroups),n).forEach(([e,n])=>{c(n,r,e,t)}),r},c=(e,t,n,r)=>{e.forEach(e=>{if(typeof e==`string`){let r=e===``?t:l(t,e);r.classGroupId=n;return}if(typeof e==`function`){if(u(e)){c(e(r),t,n,r);return}t.validators.push({validator:e,classGroupId:n});return}Object.entries(e).forEach(([e,i])=>{c(i,l(t,e),n,r)})})},l=(e,t)=>{let r=e;return t.split(n).forEach(e=>{r.nextPart.has(e)||r.nextPart.set(e,{nextPart:new Map,validators:[]}),r=r.nextPart.get(e)}),r},u=e=>e.isThemeGetter,d=(e,t)=>t?e.map(([e,n])=>[e,n.map(e=>typeof e==`string`?t+e:typeof e==`object`?Object.fromEntries(Object.entries(e).map(([e,n])=>[t+e,n])):e)]):e,f=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=new Map,r=new Map,i=(i,a)=>{n.set(i,a),t++,t>e&&(t=0,r=n,n=new Map)};return{get(e){let t=n.get(e);if(t!==void 0)return t;if((t=r.get(e))!==void 0)return i(e,t),t},set(e,t){n.has(e)?n.set(e,t):i(e,t)}}},p=`!`,m=e=>{let{separator:t,experimentalParseClassName:n}=e,r=t.length===1,i=t[0],a=t.length,o=e=>{let n=[],o=0,s=0,c;for(let l=0;l<e.length;l++){let u=e[l];if(o===0){if(u===i&&(r||e.slice(l,l+a)===t)){n.push(e.slice(s,l)),s=l+a;continue}if(u===`/`){c=l;continue}}u===`[`?o++:u===`]`&&o--}let l=n.length===0?e:e.substring(s),u=l.startsWith(p);return{modifiers:n,hasImportantModifier:u,baseClassName:u?l.substring(1):l,maybePostfixModifierPosition:c&&c>s?c-s:void 0}};return n?e=>n({className:e,parseClassName:o}):o},h=e=>{if(e.length<=1)return e;let t=[],n=[];return e.forEach(e=>{e[0]===`[`?(t.push(...n.sort(),e),n=[]):n.push(e)}),t.push(...n.sort()),t},g=e=>({cache:f(e.cacheSize),parseClassName:m(e),...r(e)}),_=/\s+/,v=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i}=t,a=[],o=e.trim().split(_),s=``;for(let e=o.length-1;e>=0;--e){let t=o[e],{modifiers:c,hasImportantModifier:l,baseClassName:u,maybePostfixModifierPosition:d}=n(t),f=!!d,m=r(f?u.substring(0,d):u);if(!m){if(!f){s=t+(s.length>0?` `+s:s);continue}if(m=r(u),!m){s=t+(s.length>0?` `+s:s);continue}f=!1}let g=h(c).join(`:`),_=l?g+p:g,v=_+m;if(a.includes(v))continue;a.push(v);let y=i(m,f);for(let e=0;e<y.length;++e){let t=y[e];a.push(_+t)}s=t+(s.length>0?` `+s:s)}return s};function y(){let e=0,t,n,r=``;for(;e<arguments.length;)(t=arguments[e++])&&(n=b(t))&&(r&&(r+=` `),r+=n);return r}var b=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=b(e[r]))&&(n&&(n+=` `),n+=t);return n};function x(e,...t){let n,r,i,a=o;function o(o){return n=g(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)}function s(e){let t=r(e);if(t)return t;let a=v(e,n);return i(e,a),a}return function(){return a(y.apply(null,arguments))}}var S=e=>{let t=t=>t[e]||[];return t.isThemeGetter=!0,t},C=/^\[(?:([a-z-]+):)?(.+)\]$/i,w=/^\d+\/\d+$/,T=new Set([`px`,`full`,`screen`]),E=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,D=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,O=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,k=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,A=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,j=e=>N(e)||T.has(e)||w.test(e),M=e=>K(e,`length`,q),N=e=>!!e&&!Number.isNaN(Number(e)),P=e=>K(e,`number`,N),F=e=>!!e&&Number.isInteger(Number(e)),I=e=>e.endsWith(`%`)&&N(e.slice(0,-1)),L=e=>C.test(e),R=e=>E.test(e),z=new Set([`length`,`size`,`percentage`]),B=e=>K(e,z,J),V=e=>K(e,`position`,J),H=new Set([`image`,`url`]),U=e=>K(e,H,X),W=e=>K(e,``,Y),G=()=>!0,K=(e,t,n)=>{let r=C.exec(e);return r?r[1]?typeof t==`string`?r[1]===t:t.has(r[1]):n(r[2]):!1},q=e=>D.test(e)&&!O.test(e),J=()=>!1,Y=e=>k.test(e),X=e=>A.test(e),Z=x(()=>{let e=S(`colors`),t=S(`spacing`),n=S(`blur`),r=S(`brightness`),i=S(`borderColor`),a=S(`borderRadius`),o=S(`borderSpacing`),s=S(`borderWidth`),c=S(`contrast`),l=S(`grayscale`),u=S(`hueRotate`),d=S(`invert`),f=S(`gap`),p=S(`gradientColorStops`),m=S(`gradientColorStopPositions`),h=S(`inset`),g=S(`margin`),_=S(`opacity`),v=S(`padding`),y=S(`saturate`),b=S(`scale`),x=S(`sepia`),C=S(`skew`),w=S(`space`),T=S(`translate`),E=()=>[`auto`,`contain`,`none`],D=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],O=()=>[`auto`,L,t],k=()=>[L,t],A=()=>[``,j,M],z=()=>[`auto`,N,L],H=()=>[`bottom`,`center`,`left`,`left-bottom`,`left-top`,`right`,`right-bottom`,`right-top`,`top`],K=()=>[`solid`,`dashed`,`dotted`,`double`,`none`],q=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],J=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`],Y=()=>[``,`0`,L],X=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],Z=()=>[N,L];return{cacheSize:500,separator:`:`,theme:{colors:[G],spacing:[j,M],blur:[`none`,``,R,L],brightness:Z(),borderColor:[e],borderRadius:[`none`,``,`full`,R,L],borderSpacing:k(),borderWidth:A(),contrast:Z(),grayscale:Y(),hueRotate:Z(),invert:Y(),gap:k(),gradientColorStops:[e],gradientColorStopPositions:[I,M],inset:O(),margin:O(),opacity:Z(),padding:k(),saturate:Z(),scale:Z(),sepia:Y(),skew:Z(),space:k(),translate:k()},classGroups:{aspect:[{aspect:[`auto`,`square`,`video`,L]}],container:[`container`],columns:[{columns:[R]}],"break-after":[{"break-after":X()}],"break-before":[{"break-before":X()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:[...H(),L]}],overflow:[{overflow:D()}],"overflow-x":[{"overflow-x":D()}],"overflow-y":[{"overflow-y":D()}],overscroll:[{overscroll:E()}],"overscroll-x":[{"overscroll-x":E()}],"overscroll-y":[{"overscroll-y":E()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:[h]}],"inset-x":[{"inset-x":[h]}],"inset-y":[{"inset-y":[h]}],start:[{start:[h]}],end:[{end:[h]}],top:[{top:[h]}],right:[{right:[h]}],bottom:[{bottom:[h]}],left:[{left:[h]}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[`auto`,F,L]}],basis:[{basis:O()}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`wrap`,`wrap-reverse`,`nowrap`]}],flex:[{flex:[`1`,`auto`,`initial`,`none`,L]}],grow:[{grow:Y()}],shrink:[{shrink:Y()}],order:[{order:[`first`,`last`,`none`,F,L]}],"grid-cols":[{"grid-cols":[G]}],"col-start-end":[{col:[`auto`,{span:[`full`,F,L]},L]}],"col-start":[{"col-start":z()}],"col-end":[{"col-end":z()}],"grid-rows":[{"grid-rows":[G]}],"row-start-end":[{row:[`auto`,{span:[F,L]},L]}],"row-start":[{"row-start":z()}],"row-end":[{"row-end":z()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":[`auto`,`min`,`max`,`fr`,L]}],"auto-rows":[{"auto-rows":[`auto`,`min`,`max`,`fr`,L]}],gap:[{gap:[f]}],"gap-x":[{"gap-x":[f]}],"gap-y":[{"gap-y":[f]}],"justify-content":[{justify:[`normal`,...J()]}],"justify-items":[{"justify-items":[`start`,`end`,`center`,`stretch`]}],"justify-self":[{"justify-self":[`auto`,`start`,`end`,`center`,`stretch`]}],"align-content":[{content:[`normal`,...J(),`baseline`]}],"align-items":[{items:[`start`,`end`,`center`,`baseline`,`stretch`]}],"align-self":[{self:[`auto`,`start`,`end`,`center`,`stretch`,`baseline`]}],"place-content":[{"place-content":[...J(),`baseline`]}],"place-items":[{"place-items":[`start`,`end`,`center`,`baseline`,`stretch`]}],"place-self":[{"place-self":[`auto`,`start`,`end`,`center`,`stretch`]}],p:[{p:[v]}],px:[{px:[v]}],py:[{py:[v]}],ps:[{ps:[v]}],pe:[{pe:[v]}],pt:[{pt:[v]}],pr:[{pr:[v]}],pb:[{pb:[v]}],pl:[{pl:[v]}],m:[{m:[g]}],mx:[{mx:[g]}],my:[{my:[g]}],ms:[{ms:[g]}],me:[{me:[g]}],mt:[{mt:[g]}],mr:[{mr:[g]}],mb:[{mb:[g]}],ml:[{ml:[g]}],"space-x":[{"space-x":[w]}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":[w]}],"space-y-reverse":[`space-y-reverse`],w:[{w:[`auto`,`min`,`max`,`fit`,`svw`,`lvw`,`dvw`,L,t]}],"min-w":[{"min-w":[L,t,`min`,`max`,`fit`]}],"max-w":[{"max-w":[L,t,`none`,`full`,`min`,`max`,`fit`,`prose`,{screen:[R]},R]}],h:[{h:[L,t,`auto`,`min`,`max`,`fit`,`svh`,`lvh`,`dvh`]}],"min-h":[{"min-h":[L,t,`min`,`max`,`fit`,`svh`,`lvh`,`dvh`]}],"max-h":[{"max-h":[L,t,`min`,`max`,`fit`,`svh`,`lvh`,`dvh`]}],size:[{size:[L,t,`auto`,`min`,`max`,`fit`]}],"font-size":[{text:[`base`,R,M]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`,P]}],"font-family":[{font:[G]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`,L]}],"line-clamp":[{"line-clamp":[`none`,N,P]}],leading:[{leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`,j,L]}],"list-image":[{"list-image":[`none`,L]}],"list-style-type":[{list:[`none`,`disc`,`decimal`,L]}],"list-style-position":[{list:[`inside`,`outside`]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[_]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[_]}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...K(),`wavy`]}],"text-decoration-thickness":[{decoration:[`auto`,`from-font`,j,M]}],"underline-offset":[{"underline-offset":[`auto`,j,L]}],"text-decoration-color":[{decoration:[e]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:k()}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,L]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,L]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-opacity":[{"bg-opacity":[_]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:[...H(),V]}],"bg-repeat":[{bg:[`no-repeat`,{repeat:[``,`x`,`y`,`round`,`space`]}]}],"bg-size":[{bg:[`auto`,`cover`,`contain`,B]}],"bg-image":[{bg:[`none`,{"gradient-to":[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},U]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[m]}],"gradient-via-pos":[{via:[m]}],"gradient-to-pos":[{to:[m]}],"gradient-from":[{from:[p]}],"gradient-via":[{via:[p]}],"gradient-to":[{to:[p]}],rounded:[{rounded:[a]}],"rounded-s":[{"rounded-s":[a]}],"rounded-e":[{"rounded-e":[a]}],"rounded-t":[{"rounded-t":[a]}],"rounded-r":[{"rounded-r":[a]}],"rounded-b":[{"rounded-b":[a]}],"rounded-l":[{"rounded-l":[a]}],"rounded-ss":[{"rounded-ss":[a]}],"rounded-se":[{"rounded-se":[a]}],"rounded-ee":[{"rounded-ee":[a]}],"rounded-es":[{"rounded-es":[a]}],"rounded-tl":[{"rounded-tl":[a]}],"rounded-tr":[{"rounded-tr":[a]}],"rounded-br":[{"rounded-br":[a]}],"rounded-bl":[{"rounded-bl":[a]}],"border-w":[{border:[s]}],"border-w-x":[{"border-x":[s]}],"border-w-y":[{"border-y":[s]}],"border-w-s":[{"border-s":[s]}],"border-w-e":[{"border-e":[s]}],"border-w-t":[{"border-t":[s]}],"border-w-r":[{"border-r":[s]}],"border-w-b":[{"border-b":[s]}],"border-w-l":[{"border-l":[s]}],"border-opacity":[{"border-opacity":[_]}],"border-style":[{border:[...K(),`hidden`]}],"divide-x":[{"divide-x":[s]}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":[s]}],"divide-y-reverse":[`divide-y-reverse`],"divide-opacity":[{"divide-opacity":[_]}],"divide-style":[{divide:K()}],"border-color":[{border:[i]}],"border-color-x":[{"border-x":[i]}],"border-color-y":[{"border-y":[i]}],"border-color-s":[{"border-s":[i]}],"border-color-e":[{"border-e":[i]}],"border-color-t":[{"border-t":[i]}],"border-color-r":[{"border-r":[i]}],"border-color-b":[{"border-b":[i]}],"border-color-l":[{"border-l":[i]}],"divide-color":[{divide:[i]}],"outline-style":[{outline:[``,...K()]}],"outline-offset":[{"outline-offset":[j,L]}],"outline-w":[{outline:[j,M]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:A()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[_]}],"ring-offset-w":[{"ring-offset":[j,M]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:[``,`inner`,`none`,R,W]}],"shadow-color":[{shadow:[G]}],opacity:[{opacity:[_]}],"mix-blend":[{"mix-blend":[...q(),`plus-lighter`,`plus-darker`]}],"bg-blend":[{"bg-blend":q()}],filter:[{filter:[``,`none`]}],blur:[{blur:[n]}],brightness:[{brightness:[r]}],contrast:[{contrast:[c]}],"drop-shadow":[{"drop-shadow":[``,`none`,R,L]}],grayscale:[{grayscale:[l]}],"hue-rotate":[{"hue-rotate":[u]}],invert:[{invert:[d]}],saturate:[{saturate:[y]}],sepia:[{sepia:[x]}],"backdrop-filter":[{"backdrop-filter":[``,`none`]}],"backdrop-blur":[{"backdrop-blur":[n]}],"backdrop-brightness":[{"backdrop-brightness":[r]}],"backdrop-contrast":[{"backdrop-contrast":[c]}],"backdrop-grayscale":[{"backdrop-grayscale":[l]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[u]}],"backdrop-invert":[{"backdrop-invert":[d]}],"backdrop-opacity":[{"backdrop-opacity":[_]}],"backdrop-saturate":[{"backdrop-saturate":[y]}],"backdrop-sepia":[{"backdrop-sepia":[x]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":[o]}],"border-spacing-x":[{"border-spacing-x":[o]}],"border-spacing-y":[{"border-spacing-y":[o]}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[`none`,`all`,``,`colors`,`opacity`,`shadow`,`transform`,L]}],duration:[{duration:Z()}],ease:[{ease:[`linear`,`in`,`out`,`in-out`,L]}],delay:[{delay:Z()}],animate:[{animate:[`none`,`spin`,`ping`,`pulse`,`bounce`,L]}],transform:[{transform:[``,`gpu`,`none`]}],scale:[{scale:[b]}],"scale-x":[{"scale-x":[b]}],"scale-y":[{"scale-y":[b]}],rotate:[{rotate:[F,L]}],"translate-x":[{"translate-x":[T]}],"translate-y":[{"translate-y":[T]}],"skew-x":[{"skew-x":[C]}],"skew-y":[{"skew-y":[C]}],"transform-origin":[{origin:[`center`,`top`,`top-right`,`right`,`bottom-right`,`bottom`,`bottom-left`,`left`,`top-left`,L]}],accent:[{accent:[`auto`,e]}],appearance:[{appearance:[`none`,`auto`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,L]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":[`none`,`auto`]}],resize:[{resize:[`none`,`y`,`x`,``]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scroll-m":[{"scroll-m":k()}],"scroll-mx":[{"scroll-mx":k()}],"scroll-my":[{"scroll-my":k()}],"scroll-ms":[{"scroll-ms":k()}],"scroll-me":[{"scroll-me":k()}],"scroll-mt":[{"scroll-mt":k()}],"scroll-mr":[{"scroll-mr":k()}],"scroll-mb":[{"scroll-mb":k()}],"scroll-ml":[{"scroll-ml":k()}],"scroll-p":[{"scroll-p":k()}],"scroll-px":[{"scroll-px":k()}],"scroll-py":[{"scroll-py":k()}],"scroll-ps":[{"scroll-ps":k()}],"scroll-pe":[{"scroll-pe":k()}],"scroll-pt":[{"scroll-pt":k()}],"scroll-pr":[{"scroll-pr":k()}],"scroll-pb":[{"scroll-pb":k()}],"scroll-pl":[{"scroll-pl":k()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,L]}],fill:[{fill:[e,`none`]}],"stroke-w":[{stroke:[j,M,P]}],stroke:[{stroke:[e,`none`]}],sr:[`sr-only`,`not-sr-only`],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-s`,`border-w-e`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-s`,`border-color-e`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]}}});function Q(...e){return Z(t(e))}function $(e){if(!e)return`从未打开`;let t=new Date(e),n=Date.now()-t.getTime();return n<6e4?`刚刚`:n<36e5?`${Math.floor(n/6e4)} 分钟前`:n<864e5?`${Math.floor(n/36e5)} 小时前`:t.toLocaleDateString(`zh-CN`)}export{$ as n,t as r,Q as t};
|
|
2
|
-
//# sourceMappingURL=utils-
|
|
1
|
+
function e(t){var n,r,i=``;if(typeof t==`string`||typeof t==`number`)i+=t;else if(typeof t==`object`)if(Array.isArray(t)){var a=t.length;for(n=0;n<a;n++)t[n]&&(r=e(t[n]))&&(i&&(i+=` `),i+=r)}else for(r in t)t[r]&&(i&&(i+=` `),i+=r);return i}function t(){for(var t,n,r=0,i=``,a=arguments.length;r<a;r++)(t=arguments[r])&&(n=e(t))&&(i&&(i+=` `),i+=n);return i}var n=`-`,r=e=>{let t=s(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:a}=e;return{getClassGroupId:e=>{let r=e.split(n);return r[0]===``&&r.length!==1&&r.shift(),i(r,t)||o(e)},getConflictingClassGroupIds:(e,t)=>{let n=r[e]||[];return t&&a[e]?[...n,...a[e]]:n}}},i=(e,t)=>{if(e.length===0)return t.classGroupId;let r=e[0],a=t.nextPart.get(r),o=a?i(e.slice(1),a):void 0;if(o)return o;if(t.validators.length===0)return;let s=e.join(n);return t.validators.find(({validator:e})=>e(s))?.classGroupId},a=/^\[(.+)\]$/,o=e=>{if(a.test(e)){let t=a.exec(e)[1],n=t?.substring(0,t.indexOf(`:`));if(n)return`arbitrary..`+n}},s=e=>{let{theme:t,prefix:n}=e,r={nextPart:new Map,validators:[]};return d(Object.entries(e.classGroups),n).forEach(([e,n])=>{c(n,r,e,t)}),r},c=(e,t,n,r)=>{e.forEach(e=>{if(typeof e==`string`){let r=e===``?t:l(t,e);r.classGroupId=n;return}if(typeof e==`function`){if(u(e)){c(e(r),t,n,r);return}t.validators.push({validator:e,classGroupId:n});return}Object.entries(e).forEach(([e,i])=>{c(i,l(t,e),n,r)})})},l=(e,t)=>{let r=e;return t.split(n).forEach(e=>{r.nextPart.has(e)||r.nextPart.set(e,{nextPart:new Map,validators:[]}),r=r.nextPart.get(e)}),r},u=e=>e.isThemeGetter,d=(e,t)=>t?e.map(([e,n])=>[e,n.map(e=>typeof e==`string`?t+e:typeof e==`object`?Object.fromEntries(Object.entries(e).map(([e,n])=>[t+e,n])):e)]):e,f=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=new Map,r=new Map,i=(i,a)=>{n.set(i,a),t++,t>e&&(t=0,r=n,n=new Map)};return{get(e){let t=n.get(e);if(t!==void 0)return t;if((t=r.get(e))!==void 0)return i(e,t),t},set(e,t){n.has(e)?n.set(e,t):i(e,t)}}},p=`!`,m=e=>{let{separator:t,experimentalParseClassName:n}=e,r=t.length===1,i=t[0],a=t.length,o=e=>{let n=[],o=0,s=0,c;for(let l=0;l<e.length;l++){let u=e[l];if(o===0){if(u===i&&(r||e.slice(l,l+a)===t)){n.push(e.slice(s,l)),s=l+a;continue}if(u===`/`){c=l;continue}}u===`[`?o++:u===`]`&&o--}let l=n.length===0?e:e.substring(s),u=l.startsWith(p);return{modifiers:n,hasImportantModifier:u,baseClassName:u?l.substring(1):l,maybePostfixModifierPosition:c&&c>s?c-s:void 0}};return n?e=>n({className:e,parseClassName:o}):o},h=e=>{if(e.length<=1)return e;let t=[],n=[];return e.forEach(e=>{e[0]===`[`?(t.push(...n.sort(),e),n=[]):n.push(e)}),t.push(...n.sort()),t},g=e=>({cache:f(e.cacheSize),parseClassName:m(e),...r(e)}),_=/\s+/,v=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i}=t,a=[],o=e.trim().split(_),s=``;for(let e=o.length-1;e>=0;--e){let t=o[e],{modifiers:c,hasImportantModifier:l,baseClassName:u,maybePostfixModifierPosition:d}=n(t),f=!!d,m=r(f?u.substring(0,d):u);if(!m){if(!f){s=t+(s.length>0?` `+s:s);continue}if(m=r(u),!m){s=t+(s.length>0?` `+s:s);continue}f=!1}let g=h(c).join(`:`),_=l?g+p:g,v=_+m;if(a.includes(v))continue;a.push(v);let y=i(m,f);for(let e=0;e<y.length;++e){let t=y[e];a.push(_+t)}s=t+(s.length>0?` `+s:s)}return s};function y(){let e=0,t,n,r=``;for(;e<arguments.length;)(t=arguments[e++])&&(n=b(t))&&(r&&(r+=` `),r+=n);return r}var b=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=b(e[r]))&&(n&&(n+=` `),n+=t);return n};function x(e,...t){let n,r,i,a=o;function o(o){return n=g(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)}function s(e){let t=r(e);if(t)return t;let a=v(e,n);return i(e,a),a}return function(){return a(y.apply(null,arguments))}}var S=e=>{let t=t=>t[e]||[];return t.isThemeGetter=!0,t},C=/^\[(?:([a-z-]+):)?(.+)\]$/i,w=/^\d+\/\d+$/,T=new Set([`px`,`full`,`screen`]),E=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,D=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,O=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,k=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,A=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,j=e=>N(e)||T.has(e)||w.test(e),M=e=>K(e,`length`,q),N=e=>!!e&&!Number.isNaN(Number(e)),P=e=>K(e,`number`,N),F=e=>!!e&&Number.isInteger(Number(e)),I=e=>e.endsWith(`%`)&&N(e.slice(0,-1)),L=e=>C.test(e),R=e=>E.test(e),z=new Set([`length`,`size`,`percentage`]),B=e=>K(e,z,J),V=e=>K(e,`position`,J),H=new Set([`image`,`url`]),U=e=>K(e,H,X),W=e=>K(e,``,Y),G=()=>!0,K=(e,t,n)=>{let r=C.exec(e);return r?r[1]?typeof t==`string`?r[1]===t:t.has(r[1]):n(r[2]):!1},q=e=>D.test(e)&&!O.test(e),J=()=>!1,Y=e=>k.test(e),X=e=>A.test(e),Z=x(()=>{let e=S(`colors`),t=S(`spacing`),n=S(`blur`),r=S(`brightness`),i=S(`borderColor`),a=S(`borderRadius`),o=S(`borderSpacing`),s=S(`borderWidth`),c=S(`contrast`),l=S(`grayscale`),u=S(`hueRotate`),d=S(`invert`),f=S(`gap`),p=S(`gradientColorStops`),m=S(`gradientColorStopPositions`),h=S(`inset`),g=S(`margin`),_=S(`opacity`),v=S(`padding`),y=S(`saturate`),b=S(`scale`),x=S(`sepia`),C=S(`skew`),w=S(`space`),T=S(`translate`),E=()=>[`auto`,`contain`,`none`],D=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],O=()=>[`auto`,L,t],k=()=>[L,t],A=()=>[``,j,M],z=()=>[`auto`,N,L],H=()=>[`bottom`,`center`,`left`,`left-bottom`,`left-top`,`right`,`right-bottom`,`right-top`,`top`],K=()=>[`solid`,`dashed`,`dotted`,`double`,`none`],q=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],J=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`],Y=()=>[``,`0`,L],X=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],Z=()=>[N,L];return{cacheSize:500,separator:`:`,theme:{colors:[G],spacing:[j,M],blur:[`none`,``,R,L],brightness:Z(),borderColor:[e],borderRadius:[`none`,``,`full`,R,L],borderSpacing:k(),borderWidth:A(),contrast:Z(),grayscale:Y(),hueRotate:Z(),invert:Y(),gap:k(),gradientColorStops:[e],gradientColorStopPositions:[I,M],inset:O(),margin:O(),opacity:Z(),padding:k(),saturate:Z(),scale:Z(),sepia:Y(),skew:Z(),space:k(),translate:k()},classGroups:{aspect:[{aspect:[`auto`,`square`,`video`,L]}],container:[`container`],columns:[{columns:[R]}],"break-after":[{"break-after":X()}],"break-before":[{"break-before":X()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:[...H(),L]}],overflow:[{overflow:D()}],"overflow-x":[{"overflow-x":D()}],"overflow-y":[{"overflow-y":D()}],overscroll:[{overscroll:E()}],"overscroll-x":[{"overscroll-x":E()}],"overscroll-y":[{"overscroll-y":E()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:[h]}],"inset-x":[{"inset-x":[h]}],"inset-y":[{"inset-y":[h]}],start:[{start:[h]}],end:[{end:[h]}],top:[{top:[h]}],right:[{right:[h]}],bottom:[{bottom:[h]}],left:[{left:[h]}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[`auto`,F,L]}],basis:[{basis:O()}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`wrap`,`wrap-reverse`,`nowrap`]}],flex:[{flex:[`1`,`auto`,`initial`,`none`,L]}],grow:[{grow:Y()}],shrink:[{shrink:Y()}],order:[{order:[`first`,`last`,`none`,F,L]}],"grid-cols":[{"grid-cols":[G]}],"col-start-end":[{col:[`auto`,{span:[`full`,F,L]},L]}],"col-start":[{"col-start":z()}],"col-end":[{"col-end":z()}],"grid-rows":[{"grid-rows":[G]}],"row-start-end":[{row:[`auto`,{span:[F,L]},L]}],"row-start":[{"row-start":z()}],"row-end":[{"row-end":z()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":[`auto`,`min`,`max`,`fr`,L]}],"auto-rows":[{"auto-rows":[`auto`,`min`,`max`,`fr`,L]}],gap:[{gap:[f]}],"gap-x":[{"gap-x":[f]}],"gap-y":[{"gap-y":[f]}],"justify-content":[{justify:[`normal`,...J()]}],"justify-items":[{"justify-items":[`start`,`end`,`center`,`stretch`]}],"justify-self":[{"justify-self":[`auto`,`start`,`end`,`center`,`stretch`]}],"align-content":[{content:[`normal`,...J(),`baseline`]}],"align-items":[{items:[`start`,`end`,`center`,`baseline`,`stretch`]}],"align-self":[{self:[`auto`,`start`,`end`,`center`,`stretch`,`baseline`]}],"place-content":[{"place-content":[...J(),`baseline`]}],"place-items":[{"place-items":[`start`,`end`,`center`,`baseline`,`stretch`]}],"place-self":[{"place-self":[`auto`,`start`,`end`,`center`,`stretch`]}],p:[{p:[v]}],px:[{px:[v]}],py:[{py:[v]}],ps:[{ps:[v]}],pe:[{pe:[v]}],pt:[{pt:[v]}],pr:[{pr:[v]}],pb:[{pb:[v]}],pl:[{pl:[v]}],m:[{m:[g]}],mx:[{mx:[g]}],my:[{my:[g]}],ms:[{ms:[g]}],me:[{me:[g]}],mt:[{mt:[g]}],mr:[{mr:[g]}],mb:[{mb:[g]}],ml:[{ml:[g]}],"space-x":[{"space-x":[w]}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":[w]}],"space-y-reverse":[`space-y-reverse`],w:[{w:[`auto`,`min`,`max`,`fit`,`svw`,`lvw`,`dvw`,L,t]}],"min-w":[{"min-w":[L,t,`min`,`max`,`fit`]}],"max-w":[{"max-w":[L,t,`none`,`full`,`min`,`max`,`fit`,`prose`,{screen:[R]},R]}],h:[{h:[L,t,`auto`,`min`,`max`,`fit`,`svh`,`lvh`,`dvh`]}],"min-h":[{"min-h":[L,t,`min`,`max`,`fit`,`svh`,`lvh`,`dvh`]}],"max-h":[{"max-h":[L,t,`min`,`max`,`fit`,`svh`,`lvh`,`dvh`]}],size:[{size:[L,t,`auto`,`min`,`max`,`fit`]}],"font-size":[{text:[`base`,R,M]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`,P]}],"font-family":[{font:[G]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`,L]}],"line-clamp":[{"line-clamp":[`none`,N,P]}],leading:[{leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`,j,L]}],"list-image":[{"list-image":[`none`,L]}],"list-style-type":[{list:[`none`,`disc`,`decimal`,L]}],"list-style-position":[{list:[`inside`,`outside`]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[_]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[_]}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...K(),`wavy`]}],"text-decoration-thickness":[{decoration:[`auto`,`from-font`,j,M]}],"underline-offset":[{"underline-offset":[`auto`,j,L]}],"text-decoration-color":[{decoration:[e]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:k()}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,L]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,L]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-opacity":[{"bg-opacity":[_]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:[...H(),V]}],"bg-repeat":[{bg:[`no-repeat`,{repeat:[``,`x`,`y`,`round`,`space`]}]}],"bg-size":[{bg:[`auto`,`cover`,`contain`,B]}],"bg-image":[{bg:[`none`,{"gradient-to":[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},U]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[m]}],"gradient-via-pos":[{via:[m]}],"gradient-to-pos":[{to:[m]}],"gradient-from":[{from:[p]}],"gradient-via":[{via:[p]}],"gradient-to":[{to:[p]}],rounded:[{rounded:[a]}],"rounded-s":[{"rounded-s":[a]}],"rounded-e":[{"rounded-e":[a]}],"rounded-t":[{"rounded-t":[a]}],"rounded-r":[{"rounded-r":[a]}],"rounded-b":[{"rounded-b":[a]}],"rounded-l":[{"rounded-l":[a]}],"rounded-ss":[{"rounded-ss":[a]}],"rounded-se":[{"rounded-se":[a]}],"rounded-ee":[{"rounded-ee":[a]}],"rounded-es":[{"rounded-es":[a]}],"rounded-tl":[{"rounded-tl":[a]}],"rounded-tr":[{"rounded-tr":[a]}],"rounded-br":[{"rounded-br":[a]}],"rounded-bl":[{"rounded-bl":[a]}],"border-w":[{border:[s]}],"border-w-x":[{"border-x":[s]}],"border-w-y":[{"border-y":[s]}],"border-w-s":[{"border-s":[s]}],"border-w-e":[{"border-e":[s]}],"border-w-t":[{"border-t":[s]}],"border-w-r":[{"border-r":[s]}],"border-w-b":[{"border-b":[s]}],"border-w-l":[{"border-l":[s]}],"border-opacity":[{"border-opacity":[_]}],"border-style":[{border:[...K(),`hidden`]}],"divide-x":[{"divide-x":[s]}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":[s]}],"divide-y-reverse":[`divide-y-reverse`],"divide-opacity":[{"divide-opacity":[_]}],"divide-style":[{divide:K()}],"border-color":[{border:[i]}],"border-color-x":[{"border-x":[i]}],"border-color-y":[{"border-y":[i]}],"border-color-s":[{"border-s":[i]}],"border-color-e":[{"border-e":[i]}],"border-color-t":[{"border-t":[i]}],"border-color-r":[{"border-r":[i]}],"border-color-b":[{"border-b":[i]}],"border-color-l":[{"border-l":[i]}],"divide-color":[{divide:[i]}],"outline-style":[{outline:[``,...K()]}],"outline-offset":[{"outline-offset":[j,L]}],"outline-w":[{outline:[j,M]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:A()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[_]}],"ring-offset-w":[{"ring-offset":[j,M]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:[``,`inner`,`none`,R,W]}],"shadow-color":[{shadow:[G]}],opacity:[{opacity:[_]}],"mix-blend":[{"mix-blend":[...q(),`plus-lighter`,`plus-darker`]}],"bg-blend":[{"bg-blend":q()}],filter:[{filter:[``,`none`]}],blur:[{blur:[n]}],brightness:[{brightness:[r]}],contrast:[{contrast:[c]}],"drop-shadow":[{"drop-shadow":[``,`none`,R,L]}],grayscale:[{grayscale:[l]}],"hue-rotate":[{"hue-rotate":[u]}],invert:[{invert:[d]}],saturate:[{saturate:[y]}],sepia:[{sepia:[x]}],"backdrop-filter":[{"backdrop-filter":[``,`none`]}],"backdrop-blur":[{"backdrop-blur":[n]}],"backdrop-brightness":[{"backdrop-brightness":[r]}],"backdrop-contrast":[{"backdrop-contrast":[c]}],"backdrop-grayscale":[{"backdrop-grayscale":[l]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[u]}],"backdrop-invert":[{"backdrop-invert":[d]}],"backdrop-opacity":[{"backdrop-opacity":[_]}],"backdrop-saturate":[{"backdrop-saturate":[y]}],"backdrop-sepia":[{"backdrop-sepia":[x]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":[o]}],"border-spacing-x":[{"border-spacing-x":[o]}],"border-spacing-y":[{"border-spacing-y":[o]}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[`none`,`all`,``,`colors`,`opacity`,`shadow`,`transform`,L]}],duration:[{duration:Z()}],ease:[{ease:[`linear`,`in`,`out`,`in-out`,L]}],delay:[{delay:Z()}],animate:[{animate:[`none`,`spin`,`ping`,`pulse`,`bounce`,L]}],transform:[{transform:[``,`gpu`,`none`]}],scale:[{scale:[b]}],"scale-x":[{"scale-x":[b]}],"scale-y":[{"scale-y":[b]}],rotate:[{rotate:[F,L]}],"translate-x":[{"translate-x":[T]}],"translate-y":[{"translate-y":[T]}],"skew-x":[{"skew-x":[C]}],"skew-y":[{"skew-y":[C]}],"transform-origin":[{origin:[`center`,`top`,`top-right`,`right`,`bottom-right`,`bottom`,`bottom-left`,`left`,`top-left`,L]}],accent:[{accent:[`auto`,e]}],appearance:[{appearance:[`none`,`auto`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,L]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":[`none`,`auto`]}],resize:[{resize:[`none`,`y`,`x`,``]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scroll-m":[{"scroll-m":k()}],"scroll-mx":[{"scroll-mx":k()}],"scroll-my":[{"scroll-my":k()}],"scroll-ms":[{"scroll-ms":k()}],"scroll-me":[{"scroll-me":k()}],"scroll-mt":[{"scroll-mt":k()}],"scroll-mr":[{"scroll-mr":k()}],"scroll-mb":[{"scroll-mb":k()}],"scroll-ml":[{"scroll-ml":k()}],"scroll-p":[{"scroll-p":k()}],"scroll-px":[{"scroll-px":k()}],"scroll-py":[{"scroll-py":k()}],"scroll-ps":[{"scroll-ps":k()}],"scroll-pe":[{"scroll-pe":k()}],"scroll-pt":[{"scroll-pt":k()}],"scroll-pr":[{"scroll-pr":k()}],"scroll-pb":[{"scroll-pb":k()}],"scroll-pl":[{"scroll-pl":k()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,L]}],fill:[{fill:[e,`none`]}],"stroke-w":[{stroke:[j,M,P]}],stroke:[{stroke:[e,`none`]}],sr:[`sr-only`,`not-sr-only`],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-s`,`border-w-e`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-s`,`border-color-e`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]}}});function Q(...e){return Z(t(e))}function $(e){if(!e)return`从未打开`;let t=new Date(e),n=Date.now()-t.getTime();return n<6e4?`刚刚`:n<36e5?`${Math.floor(n/6e4)} 分钟前`:n<864e5?`${Math.floor(n/36e5)} 小时前`:t.toLocaleDateString(`zh-CN`)}export{Q as n,t as r,$ as t};
|
|
2
|
+
//# sourceMappingURL=utils-sEB5OZEQ.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{b as e,c as t,d as n,f as r,g as i,i as a,l as o,n as s,o as c,r as l,t as u,u as d,w as f}from"./ipc-channels-overlays-gIPUFnqc.js";function p(t,n){return o(e.AttachNative,t,n)}function m(t){return o(e.SoftReload,t)}function h(t){return o(e.SetDeviceInfo,t)}function g(e){return o(l.Show,e)}function _(){return o(l.Hide)}function v(){r(c.Prepare)}function y(e){r(c.Show,e)}function b(){r(c.Hide)}function x(){r(s.Ready)}function S(e){return n(c.Init,t=>e(t))}function C(e){r(c.Measured,e)}function w(e){r(a.Show,e)}function T(){r(a.Cancel)}function E(e){r(a.Submit,e)}function D(e){return n(a.Init,t=>e(t))}function O(e){return n(a.Submitted,t=>e(t))}function k(e){r(u.Show,e)}function A(){r(u.Cancel)}function j(e){r(u.Select,e)}function M(e){return n(u.Init,t=>e(t))}function N(e){return n(u.Selected,t=>e(t))}function P(e){return n(l.Closed,()=>e())}function F(e){return n(l.Init,t=>e(t))}function I(e){return n(i.CompileModesChanged,t=>e(t))}function L(e){return n(i.CompileModesApplyFailed,t=>e(t))}function R(e){return n(f.NavigateBack,()=>e())}function z(e){return n(f.OpenProject,t=>e(t))}function B(e){return o(f.OpenProjectWindow,e)}function V(t){return n(e.CurrentPage,e=>t(e))}function H(e){return o(t.PlacementSnapshot,e)}function U(e){return n(t.HostToolbarHeightChanged,t=>e(t))}function W(){return o(t.HostToolbarGetHeight)}function G(e){return n(t.HostSidebarWidthChanged,t=>e(t))}function K(){return o(t.HostSidebarGetWidth)}function q(e){return n(t.HostSidebarCategorySelected,t=>e(t))}function J(){return d(t.AllocatePlacementGeneration)}export{h as A,R as C,H as D,v as E,m as F,E as I,g as M,w as N,C as O,y as P,S,B as T,P as _,K as a,O as b,b as c,I as d,M as f,U as g,G as h,T as i,k as j,j as k,x as l,q as m,p as n,W as o,N as p,A as r,_ as s,J as t,L as u,F as v,z as w,V as x,D as y};
|
|
2
|
+
//# sourceMappingURL=view-api-B-2zPBR5.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as e,i as t}from"./jsx-runtime-DIw5wnYl.js";import{l as n,p as r}from"./ipc-channels-overlays-gIPUFnqc.js";import{D as i,t as a}from"./view-api-B-2zPBR5.js";function o(){return n(r.GetBranding)}var s=e(t(),1),c=(0,s.createContext)(null);function l(){return(0,s.useContext)(c)}function u(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 d=0,f=!1,p=5,m=50;function h(e){return new Promise(t=>setTimeout(t,e))}async function g(){if(f)return;let e;for(let t=0;t<p;t++)try{let e=await a();if(!Number.isSafeInteger(e))throw Error(`main returned a non-integer placement-generation seed: ${String(e)}`);d=e,f=!0;return}catch(n){e=n,t<p-1&&await h(m)}throw Error(`[placement-generation] failed to allocate a generation seed from main after ${p} attempts`,{cause:e})}function _(){return++d}function v(){let[e]=(0,s.useState)(()=>_()),t=(0,s.useMemo)(()=>u({generation:e,publish:e=>{i(e)}}),[e]);return(0,s.useEffect)(()=>()=>t.dispose(),[t]),t}function y(e,t,n){let[r,i]=(0,s.useState)(e);return(0,s.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 b={x:0,y:0,width:0,height:0},x=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 S(e,t){let n=t.present,r=t.publish,i=null,a=null,o=!1,s=()=>{let t=e.getBoundingClientRect();return x({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(b))};return f(),{update(e){o||(r=e.publish,n=e.present,f())},dispose(){o||(o=!0,d())}}}function C(e){let t=e.getBoundingClientRect();return{visible:!0,bounds:x({x:t.left,y:t.top,width:t.width,height:t.height})}}var w=(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 T(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=C(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&&w(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&&w(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())},T=()=>{p&&(p=!1,y())},E=()=>{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`,T,{capture:!0})))},D=()=>{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`,T,{capture:!0}),b()},O=()=>{if(l=null,n)E(),l=h(),r(l);else{D();let e={visible:!1};l=e,r(e)}};return O(),{update(e){u||(r=e.publish,n=e.visible,O())},dispose(){u||(u=!0,D())},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 E(e){let t=(0,s.useRef)(null),n=(0,s.useRef)(null),r=(0,s.useRef)(e);r.current=e;let i=(0,s.useRef)([e.present,e.publish,...e.deps??[]]),a=(0,s.useRef)(()=>{let e=t.current;e&&(e.update({present:!1,publish:r.current.publish}),e.dispose(),t.current=null)}),o=(0,s.useCallback)(e=>{e!==n.current&&(n.current=e,t.current&&(e?(t.current.dispose(),t.current=null):a.current()),e&&(t.current=S(e,{present:r.current.present,publish:r.current.publish}),i.current=[r.current.present,r.current.publish,...r.current.deps??[]]))},[]);return(0,s.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,s.useEffect)(()=>{let e=a.current;return n.current&&!t.current&&(t.current=S(n.current,{present:r.current.present,publish:r.current.publish})),()=>{n.current===null&&e()}},[]),o}var D={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`,devicePicker:`device-picker`},O={base:0,hostToolbar:5,hostSidebar:5,settings:10,popover:20,tooltip:30,dialog:40,hostDialog:45};export{y as a,c,T as i,l,O as n,v as o,E as r,g as s,D as t,o as u};
|
|
2
|
+
//# sourceMappingURL=view-ids-BfaDVV5P.js.map
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{a as e,i as t,n,t as r}from"./jsx-runtime-DIw5wnYl.js";import{C as i,S as a,d as o,h as s,l as c,x as l,y as u}from"./ipc-channels-overlays-gIPUFnqc.js";import{a as d,c as f,i as p,l as m,n as h,o as g,r as _,s as v,t as y,u as b}from"./view-ids-BfaDVV5P.js";import{_ as x,a as S,d as C,f as w,g as T,n as E,p as ee,s as te}from"./project-api-YTOr_Yvo.js";import{A as D,E as ne,F as O,M as re,P as ie,_ as ae,c as oe,d as se,g as ce,j as le,n as ue,o as de,p as fe,s as pe,u as me,x as he}from"./view-api-B-2zPBR5.js";import{l as ge}from"./settings-api-Ccsf-Nsj.js";import{n as _e}from"./utils-sEB5OZEQ.js";import{t as k}from"./button-CB2MWjHY.js";import{t as A}from"./createLucideIcon-cZ9FlZZw.js";import{t as ve}from"./smartphone-Bb2GdIKy.js";import{n as ye,r as be,t as xe}from"./constants-zQZ2-y21.js";import{r as Se,t as Ce}from"./presets-DMZOb9ay.js";import{a as we,n as Te,o as Ee,r as De,t as Oe}from"./select-nFP95TxM.js";function ke(){return c(s.Open)}var Ae=A(`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`}]]),je=A(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),Me=A(`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`}]]),Ne=A(`panel-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}]]),Pe=A(`panel-right`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}]]),Fe=A(`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`}]]),Ie=A(`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`}]]),Le=`149.0.7827.55`,Re=`ArkWeb/4.1.6.1 Mobile`,ze=`AppleWebKit/605.1.15 (KHTML, like Gecko)`,Be=`AppleWebKit/537.36 (KHTML, like Gecko)`,Ve={ios:`18.0`,android:`13`,harmony:`5.0`};function He(e){return/(\d[\d.]*)/.exec(e.system??``)?.[1]??Ve[e.os]??``}function Ue(e){if(e.userAgent)return e.userAgent;let t=He(e),n=e.formFactor===`tablet`;switch(e.os){case`ios`:{let e=Number.parseInt(t,10)>=26?`18_6`:t.replace(/\./g,`_`);return n?`Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) ${ze} Version/${t} Safari/605.1.15`:`Mozilla/5.0 (iPhone; CPU iPhone OS ${e} like Mac OS X) ${ze} Version/${t} Mobile/15E148 Safari/604.1`}case`harmony`:return`Mozilla/5.0 (${n?`Tablet`:`Phone`}; OpenHarmony ${t}) ${Be} Chrome/114.0.0.0 Safari/537.36 ${Re}`;default:return n?`Mozilla/5.0 (Linux; Android ${t}; ${e.name}) ${Be} Chrome/${Le} Safari/537.36`:`Mozilla/5.0 (Linux; Android ${t}; ${e.name}) ${Be} Chrome/${Le} Mobile Safari/537.36`}}function We(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function j(e,t,n,r){if(!(typeof t==`number`&&Number.isFinite(t)&&(r?t>n:t>=n))){let i=r?`greater than ${n}`:`>= ${n}`;throw TypeError(`${e} must be a finite number ${i}, got ${t}`)}}function Ge(e,t,n,r){if(!(typeof t==`number`&&Number.isFinite(t)&&t>=n&&t<=r))throw TypeError(`${e} must be a finite number between ${n} and ${r}, got ${t}`)}function Ke(e,t){if(typeof t!=`string`)throw TypeError(`${e} must be a string, got ${JSON.stringify(t)}`)}var qe=[`top`,`right`,`bottom`,`left`],Je=[`statusBarHeight`,`statusBarHeightLandscape`,`navigationBarHeight`,`navigationBarHeightLandscape`],Ye=[`system`,`userAgent`],Xe=[`safeAreaInsets`,`safeAreaInsetsLandscape`],Ze=[`screenRadius`,`bezel`,`bodyRadius`],Qe=[`notch`,`pill`,`circle`];function $e(e,t=`deviceProfile`){if(!We(e))throw TypeError(`${t} must be an object, got ${e===null?`null`:typeof e}`);let n=e.os;if(n!==`ios`&&n!==`android`&&n!==`harmony`)throw TypeError(`${t}.os must be one of "ios", "android", "harmony", got ${JSON.stringify(n)}`);if(e.formFactor!==void 0){let n=e.formFactor;if(n!==`phone`&&n!==`tablet`)throw TypeError(`${t}.formFactor must be one of "phone", "tablet", got ${JSON.stringify(n)}`)}let r=e.screen;if(!We(r))throw TypeError(`${t}.screen must be an object, got ${r===null?`null`:typeof r}`);j(`${t}.screen.width`,r.width,0,!0),j(`${t}.screen.height`,r.height,0,!0),Ke(`${t}.name`,e.name),j(`${t}.pixelRatio`,e.pixelRatio,0,!0);for(let n of Je)e[n]!==void 0&&j(`${t}.${n}`,e[n],0,!1);for(let n of Xe){let r=e[n];if(r!==void 0){if(!We(r))throw TypeError(`${t}.${n} must be an object, got ${r===null?`null`:typeof r}`);for(let e of qe)r[e]!==void 0&&j(`${t}.${n}.${e}`,r[e],0,!1)}}for(let n of Ye)e[n]!==void 0&&Ke(`${t}.${n}`,e[n]);if(e.cutout!==void 0){let n=e.cutout;if(!We(n))throw TypeError(`${t}.cutout must be an object, got ${n===null?`null`:typeof n}`);let r=n.shape;if(!Qe.includes(r))throw TypeError(`${t}.cutout.shape must be one of "notch", "pill", "circle", got ${JSON.stringify(r)}`);j(`${t}.cutout.width`,n.width,0,!1),j(`${t}.cutout.height`,n.height,0,!1),j(`${t}.cutout.top`,n.top,0,!1),n.centerX!==void 0&&Ge(`${t}.cutout.centerX`,n.centerX,0,1)}if(e.shell!==void 0){let n=e.shell;if(!We(n))throw TypeError(`${t}.shell must be an object, got ${n===null?`null`:typeof n}`);for(let e of Ze)n[e]!==void 0&&j(`${t}.shell.${e}`,n[e],0,!1)}}var et={ios:{statusBarHeight:44,statusBarHeightLandscape:0,navigationBarHeight:44,navigationBarHeightLandscape:32,shell:{screenRadius:38,bezel:6}},android:{statusBarHeight:24,statusBarHeightLandscape:24,navigationBarHeight:48,navigationBarHeightLandscape:48,shell:{screenRadius:16,bezel:4}},harmony:{statusBarHeight:36,statusBarHeightLandscape:36,navigationBarHeight:28,navigationBarHeightLandscape:28,shell:{screenRadius:34,bezel:4}}},tt={top:0,right:0,bottom:0,left:0};function nt(e,t){return e?{top:e.top??t.top,right:e.right??t.right,bottom:e.bottom??t.bottom,left:e.left??t.left}:t}function rt(e){$e(e,`device`);let t=et[e.os],n=e.statusBarHeight??t.statusBarHeight,r=e.statusBarHeightLandscape??t.statusBarHeightLandscape,i=e.shell?.screenRadius??t.shell.screenRadius,a=e.shell?.bezel??t.shell.bezel;return{name:e.name,os:e.os,screen:e.screen,pixelRatio:e.pixelRatio,formFactor:e.formFactor??`phone`,system:e.system??``,userAgent:e.userAgent??Ue(e),statusBarHeight:n,statusBarHeightLandscape:r,navigationBarHeight:e.navigationBarHeight??t.navigationBarHeight,navigationBarHeightLandscape:e.navigationBarHeightLandscape??t.navigationBarHeightLandscape,safeAreaInsets:nt(e.safeAreaInsets,{...tt,top:n}),safeAreaInsetsLandscape:nt(e.safeAreaInsetsLandscape,{...tt,top:r}),cutout:e.cutout??null,shell:{screenRadius:i,bezel:a,bodyRadius:e.shell?.bodyRadius??i+a}}}function it(e,t){return t===`landscape`?e.statusBarHeightLandscape:e.statusBarHeight}function at(e,t){return t===`landscape`?e.safeAreaInsetsLandscape:e.safeAreaInsets}function ot(e,t=`portrait`){let{screen:n}=e;return t===`landscape`?{width:n.height,height:n.width}:{width:n.width,height:n.height}}function st(e,t){let n=ot(e,t),r=2*(rt(e).shell.bezel+1);return{width:n.width+r,height:n.height+r}}var M=e(t(),1),ct=e(n(),1);function lt(e){return e+48}function ut(e,t){return Math.max(200,Math.min(t-200,e))}var dt={selected:`simulator`,simulatorVisible:!0};function ft(e){return e.os===`ios`?`Apple`:e.os===`harmony`?`HUAWEI`:e.name.split(` `)[0]??e.name}function pt(e){let{initialDevice:t}=e,[n,r]=(0,M.useState)(t),[i,a]=(0,M.useState)(`portrait`),[o,s]=(0,M.useState)(85),[c,l]=(0,M.useState)(()=>lt(st(t,`portrait`).width)),u=(0,M.useRef)(c),d=(0,M.useRef)(n),f=(0,M.useRef)(i);(0,M.useEffect)(()=>{u.current=c},[c]),(0,M.useEffect)(()=>{d.current=n},[n]),(0,M.useEffect)(()=>{f.current=i},[i]);let p=(0,M.useCallback)((e,t)=>{let n=rt(e),r=t===`landscape`?{width:n.screen.height,height:n.screen.width}:n.screen;D({device:e.name,brand:ft(e),model:e.name,system:n.system,platform:e.os,orientation:t,pixelRatio:e.pixelRatio,screenWidth:r.width,screenHeight:r.height,statusBarHeight:it(n,t),safeAreaInsets:at(n,t)})},[]),m=(0,M.useCallback)(e=>{let t=Se(e)??Ce;r(t),p(t,i),l(lt(st(t,i).width))},[i,p]),h=(0,M.useCallback)(()=>{le({deviceName:d.current.name})},[]);(0,M.useEffect)(()=>fe(({deviceName:e})=>m(e)),[m]);let g=(0,M.useCallback)(e=>{a(e),p(n,e),l(lt(st(n,e).width))},[n,p]),_=(0,M.useCallback)(e=>{p(e,f.current)},[p]);return{device:n,orientation:i,zoom:o,simPanelWidth:c,setSimPanelWidth:l,handleDeviceChange:m,openDevicePicker:h,handleOrientationChange:g,handleZoomChange:(0,M.useCallback)(e=>{s(e.target.value===`auto`?xe:Number(e.target.value))},[]),handleSplitterDrag:(0,M.useCallback)((e,t=`trailing`)=>{e.preventDefault();let n=e.clientX,r=u.current,i=e=>{let i=e.clientX-n;l(ut(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:_,simPanelWidthRef:u,deviceRef:d}}var mt=200,ht=300;function gt(e){let{projectPath:t}=e,[n,r]=(0,M.useState)({status:`compiling`,message:`正在编译...`}),[i,a]=(0,M.useState)(null),[o,s]=(0,M.useState)([]),[c,l]=(0,M.useState)(0),[u,d]=(0,M.useState)(``),[f,p]=(0,M.useState)(Te()),[m,h]=(0,M.useState)(!1),g=(0,M.useMemo)(()=>{let e=we(De(f));return{...e,startPage:e.startPage||u||o[0]||``}},[f,u,o]),_=(0,M.useRef)(-1),v=(0,M.useRef)(async()=>{});(0,M.useEffect)(()=>{let e=!1;_.current=-1,h(!1);let n=se(t=>{e||t.revision<=_.current||(_.current=t.revision,p(t.state),h(!0),t.relaunch&&v.current())}),i=me(t=>{e||r({status:`error`,message:t.message})});async function o(){try{let n=await T(t);if(e)return;if(!n.success){r({status:`error`,message:n.error});return}let[i,o]=await Promise.all([te(t),S(t)]);if(e)return;a(n.appInfo),l(n.port),s(i.pages),d(i.entryPagePath||i.pages[0]||``),o.revision>_.current&&(_.current=o.revision,p(o.state),h(!0)),r({status:`ready`,message:`编译完成`})}catch(t){if(e)return;r({status:`error`,message:t instanceof Error?t.message:String(t)})}}return o(),()=>{e=!0,n(),i()}},[t]);let[y,b]=(0,M.useState)(0),[E,D]=(0,M.useState)([]),[ne,O]=(0,M.useState)([]),re=(0,M.useRef)(0),[ie,ae]=(0,M.useState)(null),[oe,ce]=(0,M.useState)(!1);(0,M.useEffect)(()=>{D([]),O([]),ae(null),ce(!1)},[t]),(0,M.useEffect)(()=>w(e=>{r(e),e.pages&&s(e.pages),e.watcher===`dead`&&ce(!0);let t=++re.current;D(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>mt?i.slice(i.length-mt):i}),e.hotReload===!0&&(ae(null),b(e=>e+1))}),[]),(0,M.useEffect)(()=>ee(e=>{i?.appId&&e.appId!==i.appId||ae(e)}),[i]),(0,M.useEffect)(()=>C(e=>{let t=++re.current;O(n=>{let r=[...n,{...e,seq:t}];return r.length>ht?r.slice(r.length-ht):r})}),[]);let le=(0,M.useCallback)(()=>{D([]),O([])},[]),ue=(0,M.useRef)(!1),[de,fe]=(0,M.useState)(0),pe=(0,M.useCallback)(async()=>{try{if(!i?.appId||ue.current)return;ue.current=!0,r({status:`compiling`,message:`正在编译...`});try{await x(),fe(e=>e+1),r({status:`ready`,message:`刷新完成`})}finally{ue.current=!1}}catch(e){ue.current=!1,r({status:`error`,message:e instanceof Error?e.message:`刷新失败`})}},[i]);return(0,M.useEffect)(()=>{v.current=pe},[pe]),{compileStatus:n,appInfo:i,port:c,pages:o,entryPagePath:u,compileModes:f,compileModesReady:m,compileConfig:g,hotReloadToken:y,compileEvents:E,compileLogs:ne,clearCompileEvents:le,relaunch:pe,relaunchNonce:de,runtimeStatus:ie,watcherDead:oe}}var _t=[`appId`,`entry`,`page`];function vt(e){return encodeURIComponent(e).replace(/%2F/g,`/`).replace(/%2C/g,`,`)}function yt(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 bt(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 xt(e,t,n={}){let r=yt(t),i=[`appId=${vt(e)}`,`entry=${vt(r)}`,`page=${vt(r)}`];for(let[e,t]of Object.entries(n))_t.includes(e)||i.push(`${encodeURIComponent(e)}=${vt(t)}`);return i.join(`&`)}function St(e){let t=e.host??`localhost`,n=e.pathname??`/simulator.html`,r=xt(e.appId,e.page,e.extras??{});return`http://${t}:${e.port}${n}?${r}`}function Ct(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(`,`)),St({appId:e,page:{pagePath:i,query:a},port:n,extras:o})}function wt(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=bt(r),a=t.get(`page`);return{appId:n,entry:i,current:a&&a!==r?bt(a):i}}function Tt(e){if(!e)return null;try{return wt(new URL(e).search)}catch{return null}}function Et(e){let t=Tt(e);if(!t)return``;let n={...t.current.query};return delete n.scene,yt({pagePath:t.current.pagePath,query:n})}function Dt(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,M.useMemo)(()=>!a||!s?``:Ct(a.appId,o,s),[a,o,s]),[f,p]=(0,M.useState)(()=>Et(d)),m=(0,M.useMemo)(()=>bt(f).pagePath,[f]);(0,M.useEffect)(()=>{p(Et(d))},[d]),(0,M.useEffect)(()=>he(e=>{e&&p(e)}),[]);let h=(0,M.useRef)({currentPage:m,currentRoute:f,compileConfig:o,appInfo:a,port:s});(0,M.useEffect)(()=>{h.current={currentPage:m,currentRoute:f,compileConfig:o,appInfo:a,port:s}});let g=(0,M.useRef)(l),_=(0,M.useRef)(u);return(0,M.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=bt(e.currentRoute),n=t.pagePath||e.compileConfig.startPage;a=Ct(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||E(c).catch(()=>{})},3e3))},p=()=>{ue(a,r.current).then(f).catch(()=>{})};return e?O(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 Ot(){return{getSnapshot:async()=>await c(i.GetSnapshot)??null,subscribe:e=>o(i.Event,e),setActive:e=>{c(i.SetActive,e)},inspect:async e=>await c(l.Inspect,e)??null,clearInspection:async()=>{await c(l.Clear)}}}var kt={ok:!1,error:`ipc transport failed`};function At(){return{getSnapshot:async()=>await c(a.GetSnapshot)??[],subscribe:e=>o(a.Event,e),setActive:()=>{},setItem:async(e,t)=>await c(a.Set,{key:e,value:t})??kt,removeItem:async e=>await c(a.Remove,{key:e})??kt,clear:async()=>await c(a.Clear)??kt,clearAll:async()=>await c(a.ClearAll)??kt,getPrefix:async()=>await c(a.GetActivePrefix)??``}}var jt={bridges:[],entries:{}};function Mt(){return{getSnapshot:async()=>await c(u.GetSnapshot)??jt,subscribe:e=>o(u.Event,e),setActive:()=>{},setData:async(e,t)=>await c(u.SetData,{bridgeId:e,data:t})??!1}}function Nt(e){let{compileStatus:t}=e,n=t.status===`ready`;return{wxmlSource:(0,M.useMemo)(()=>Ot(),[]),wxmlEnabled:n,storageSource:(0,M.useMemo)(()=>At(),[]),storageEnabled:n,appDataSource:(0,M.useMemo)(()=>Mt(),[]),appDataEnabled:n}}function Pt(e){let{initialRightPane:t}=e,[n,r]=(0,M.useState)(t);return{rightPane:n,selectRightPane:(0,M.useCallback)(e=>{r({selected:e,simulatorVisible:!0})},[]),toggleRightPaneVisible:(0,M.useCallback)(()=>{r(e=>({...e,simulatorVisible:!e.simulatorVisible}))},[])}}function Ft(e){let{pages:t,entryPagePath:n,currentRoute:r,compileDropdownRef:i}=e,[a,o]=(0,M.useState)(!1);(0,M.useEffect)(()=>ae(()=>o(!1)),[]);let s=(0,M.useRef)({pages:t,entryPagePath:n,currentRoute:r});return(0,M.useEffect)(()=>{s.current={pages:t,entryPagePath:n,currentRoute:r}},[t,n,r]),{showCompilePanel:a,toggleCompilePanel:(0,M.useCallback)(()=>{o(e=>{if(e)return pe(),!1;let t=i.current;if(!t)return e;let n=t.getBoundingClientRect();return re({top:Math.round(n.bottom-40+6),left:Math.round(n.left),pages:s.current.pages,entryPagePath:s.current.entryPagePath,currentRoute:s.current.currentRoute}),!0})},[i])}}function It(e){let{projectPath:t,initialDevice:n=Ce,initialRightPane:r=dt}=e,i=(0,M.useRef)(null),a=(0,M.useRef)(null),o=pt({initialDevice:n}),s=gt({projectPath:t});(0,M.useEffect)(()=>{s.compileStatus.status===`ready`&&o.setSimPanelWidth(lt(st(o.device,o.orientation).width))},[o.device,o.orientation,s.compileStatus.status,o.setSimPanelWidth]);let c=Dt({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=Nt({compileStatus:s.compileStatus,activePagePath:c.currentPage}),u=Pt({initialRightPane:r}),d=Ft({pages:s.pages,entryPagePath:s.entryPagePath,currentRoute:c.currentRoute,compileDropdownRef:a});return{session:{compileStatus:s.compileStatus,appInfo:s.appInfo,port:s.port,pages:s.pages,entryPagePath:s.entryPagePath,compileModes:s.compileModes,compileModesReady:s.compileModesReady,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,orientation:o.orientation,zoom:o.zoom,simPanelWidth:o.simPanelWidth,setSimPanelWidth:o.setSimPanelWidth,handleDeviceChange:o.handleDeviceChange,openDevicePicker:o.openDevicePicker,handleOrientationChange:o.handleOrientationChange,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 Lt={dockTree:null,simulatorAlignment:`left`,devtoolsPosition:`inEditor`},Rt=`dimina-devtools.layout.v1`,zt=`dimina-devtools.layout.p.`,Bt=24;function Vt(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t+e.charCodeAt(n)>>>0;return`${zt}${t.toString(36)}`}function Ht(e){return{dockTree:typeof e.dockTree==`string`?e.dockTree:null,simulatorAlignment:e.simulatorAlignment===`right`?`right`:`left`,devtoolsPosition:e.devtoolsPosition===`belowSimulator`||e.devtoolsPosition===`rightOfSimulator`?e.devtoolsPosition:`inEditor`}}function Ut(e){try{let t=window.localStorage.getItem(e);if(!t)return null;let n=JSON.parse(t);return n&&typeof n==`object`?n:null}catch{return null}}function Wt(e){if(!e)return Lt;let t=Ut(Vt(e));return t&&t.projectPath===e?Ht(t):Ht(Ut(Rt)??{})}var Gt=0;function Kt(e,t){if(!e)return;Gt=Math.max(Date.now(),Gt+1);let n={...t,projectPath:e,savedAt:Gt};try{window.localStorage.setItem(Vt(e),JSON.stringify(n))}catch{return}qt()}function qt(){try{let e=[];for(let t=0;t<window.localStorage.length;t++){let n=window.localStorage.key(t);if(!n?.startsWith(zt))continue;let r=Ut(n)?.savedAt;e.push({key:n,savedAt:typeof r==`number`?r:0})}if(e.length<=Bt)return;e.sort((e,t)=>e.savedAt-t.savedAt);for(let{key:t}of e.slice(0,e.length-Bt))window.localStorage.removeItem(t)}catch{}}function Jt(e){let[t,n]=(0,M.useState)(()=>Wt(e)),r=(0,M.useRef)(e);return(0,M.useEffect)(()=>{if(r.current!==e){r.current=e,n(Wt(e));return}Kt(e,t)},[e,t]),{state:t,setDockTree:(0,M.useCallback)(e=>{n(t=>t.dockTree===e?t:{...t,dockTree:e})},[]),setSimulatorAlignment:(0,M.useCallback)(e=>{n(t=>t.simulatorAlignment===e?t:{...t,simulatorAlignment:e})},[]),setDevtoolsPosition:(0,M.useCallback)(e=>{n(t=>t.devtoolsPosition===e?t:{...t,devtoolsPosition:e})},[])}}var N=r(),Yt={compiling:`bg-status-warn animate-[pulse_1s_infinite]`,ready:`bg-accent`,error:`bg-status-error`};function Xt({status:e}){return(0,N.jsx)(`span`,{className:_e(`w-1.5 h-1.5 rounded-full shrink-0`,Yt[e]??`bg-border`)})}var Zt=400,Qt=null;function $t(e,t,n){Qt=e,ie({anchor:{x:n.x,y:n.y,width:n.width,height:n.height},text:t})}function en(e){Qt===e&&(Qt=null,oe())}function tn(e){let t=(0,M.useRef)(null),n=(0,M.useRef)(void 0),r=(0,M.useRef)(Symbol(`overlay-tooltip-owner`));function i(){window.clearTimeout(n.current),n.current=window.setTimeout(()=>{let n=t.current;n&&$t(r.current,e,n.getBoundingClientRect())},Zt)}function a(){window.clearTimeout(n.current),en(r.current)}return(0,M.useEffect)(()=>a,[]),{ref:t,onMouseEnter:i,onMouseLeave:a}}function nn(){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 rn=64;function an(e){return JSON.stringify(e)}function on(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 ln(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 un(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)ln(e,t,n)||(i=!1);i&&n.push(`split ${t??`?`}: all children are px-sized constraints; at least one must be weight-sized`)}function dn(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 fn(e,t){let n=[],r={seenIds:new Set,seenObjects:new Set,panelOwners:new Map,knownPanelIds:t},i=(e,t,a)=>{if(t>rn){n.push(`depth exceeds ${rn}`);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;on(l,c,r,n),c===`tabs`?cn(e,l,r,n):c===`split`?pn(e,l,t,a,o,r,n,i):n.push(`unknown node kind: ${String(c)}`)};return i(e,0,new Set),n}function pn(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&&un(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}`),dn(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 mn(e,t){return typeof e!=`object`||!e?[`tree is not an object`]:e.version===1?fn(e.root,t):[`unsupported version: ${String(e.version)}`]}function hn(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=fn(n.root,null);if(r.length>0)throw Error(`parseLayout: illegal layout — ${r.join(`; `)}`);return{version:1,root:n.root}}var gn=1;function _n(e,t){return(e.constraints?.[t]??null)===null}function vn(e){if(e.kind===`tabs`)return e;let t=e.children.map(vn),n=t.some((t,n)=>t!==e.children[n]),r=e.sizes.map((t,r)=>!_n(e,r)||typeof t==`number`&&Number.isFinite(t)&&t>0?t:(n=!0,gn));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 yn(e){let t=vn(e.root);return t===e.root?e:{version:1,root:t}}function bn(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 xn(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 Sn(e,t){return xn(e,t)?.id}function Cn(e){return e.kind===`tabs`?e.panels.length:e.children.reduce((e,t)=>e+Cn(t),0)}function P(e,t,n){return{kind:`tabs`,id:e,panels:t,active:n}}function wn(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 Tn(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=Tn(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 F(e){let t=Tn(e);if(t===null)throw Error(`mutation would empty the entire layout`);return t}function En(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 Dn(e,t){return En(e).has(t)}function On(e){let t=new Set,n=e=>{t.add(e.id),e.kind===`split`&&e.children.forEach(n)};return n(e),t}function I(e,t){let n=t,r=2;for(;e.has(n);)n=`${t}#${r}`,r+=1;return e.add(n),n}function kn(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 L(e,t,n){if(e.id===t)return n;if(e.kind===`tabs`)return P(e.id,[...e.panels],e.active);let r={kind:`split`,id:e.id,orientation:e.orientation,children:e.children.map(e=>L(e,t,n)),sizes:[...e.sizes]};return e.constraints===void 0?r:{...r,constraints:[...e.constraints]}}function An(e){if(e.kind===`tabs`)return P(e.id,[...e.panels],e.active);let t={kind:`split`,id:e.id,orientation:e.orientation,children:e.children.map(An),sizes:[...e.sizes]};return e.constraints===void 0?t:{...t,constraints:[...e.constraints]}}function R(e){return{version:1,root:e}}function jn(e,t,n){let r=kn(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(An),sizes:[...n]},a=r.constraints===void 0?i:{...i,constraints:[...r.constraints]};return R(L(e.root,t,a))}function Mn(e,t,n,r){let i=kn(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(An),sizes:[...i.sizes],constraints:a};return R(L(e.root,t,o))}function Nn(e,t,n){let r=bn(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=P(r.id,[...r.panels],n);return R(L(e.root,t,i))}function Pn(e,t){let n=xn(e,t);if(!n)throw Error(`panel not found: ${t}`);let r=n.panels.indexOf(t),i=n.panels.filter(e=>e!==t),a=P(n.id,i,wn(i,n.active,r));return F(L(e,n.id,a))}function Fn(e,t){let n=En(e.root);return n.size===1&&n.has(t)?e:R(Pn(e.root,t))}function In(e,t){if(!xn(e.root,t))throw Error(`extractPanel: panel not found: ${t}`);return{tree:R(Pn(e.root,t)),extracted:t}}function Ln(e,t,n){if(Dn(e.root,t))throw Error(`insertPanel: panel already exists in the tree: ${t}`);let r=bn(e.root,n.groupId);if(!r)throw Error(`insertPanel: dest group not found: ${n.groupId}`);let i=[...r.panels],a=Rn(n.index,i.length);i.splice(a,0,t);let o=P(r.id,i,r.active);return R(F(L(e.root,r.id,o)))}function Rn(e,t){return e===void 0?t:e<0?0:e>t?t:e}function zn(e,t,n){let r=xn(e.root,t);if(!r)throw Error(`movePanel: panel not found: ${t}`);let i=bn(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=Rn(n.index,i.length),o=[...i];o.splice(a,0,t);let s=P(r.id,o,r.active);return R(F(L(e.root,r.id,s)))}let a=r.panels.indexOf(t),o=r.panels.filter(e=>e!==t),s=P(r.id,o,wn(o,r.active,a)),c=[...i.panels],l=Rn(n.index,c.length);c.splice(l,0,t);let u=P(i.id,c,i.active),d=L(e.root,r.id,s);return d=L(d,i.id,u),R(F(d))}function Bn(e,t,n,r){if(Dn(e.root,t))throw Error(`wrapRoot: new panel already exists in the tree: ${t}`);let i=On(e.root),a=e.root.id,o=P(I(i,`${a}__new`),[t],t),s=An(e.root),c=r===`after`?[s,o]:[o,s];return R({kind:`split`,id:I(i,`${a}__wrap`),orientation:n,children:c,sizes:[1,1]})}function Vn(e,t,n,r,i){if(Dn(e.root,r))throw Error(`splitGroup: new panel already exists in the tree: ${r}`);let a=bn(e.root,t);if(!a)throw Error(`splitGroup: group not found: ${t}`);let o=On(e.root),s=P(I(o,`${t}__new`),[r],r),c=An(a),l=i===`after`?[c,s]:[s,c],u={kind:`split`,id:I(o,`${t}__sp`),orientation:n,children:l,sizes:[1,1]};return R(F(L(e.root,t,u)))}function z(e,t,n,r,i){if(Dn(e.root,r))throw Error(`splitPanel: new panel already exists in the tree: ${r}`);let a=xn(e.root,t);if(!a)throw Error(`splitPanel: panel not found: ${t}`);let o=On(e.root),s=a.id,c=P(I(o,`${s}__split`),[t],t),l=P(I(o,`${s}__new`),[r],r),u=i===`after`?[c,l]:[l,c],d={kind:`split`,id:I(o,`${s}__sp`),orientation:n,children:u,sizes:[1,1]};if(a.panels.length===1)return R(F(L(e.root,s,d)));let f=a.panels.indexOf(t),p=a.panels.filter(e=>e!==t),m=P(s,p,wn(p,a.active,f)),h=i===`after`?[m,d]:[d,m],g={kind:`split`,id:I(o,`${s}__outer`),orientation:n,children:h,sizes:[1,1]};return R(F(L(e.root,s,g)))}function Hn(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 Un(e,t,n){return n.get(t)?.closable===!1?e:Fn(e,t)}var Wn=`dock-root`;function Gn(){let e=nn();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 Kn(e){return{version:1,root:{kind:`split`,id:Wn,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 qn={kind:`tabs`,id:`g-debug`,panels:[`wxml`,`appdata`,`storage`,`console`,`compile`],active:`wxml`},Jn=()=>({kind:`tabs`,id:`g-sim`,panels:[`simulator`],active:`simulator`}),Yn=()=>({kind:`tabs`,id:`g-editor`,panels:[`editor`],active:`editor`}),Xn=()=>({...qn,panels:[...qn.panels]});function Zn(e,t,n,r){return{version:1,root:{kind:`split`,id:Wn,orientation:`row`,sizes:e.map((e,t)=>r[t]??1),constraints:e.map((e,r)=>r===t?{minPx:n}:null),children:e}}}function Qn(e,t,n){let r=t===`left`;if(n===`belowSimulator`){let t={kind:`split`,id:`col-sim`,orientation:`column`,sizes:[60,40],children:[Jn(),Xn()]};return r?Zn([t,Yn()],0,e,[1,6]):Zn([Yn(),t],1,e,[6,1])}if(n===`rightOfSimulator`)return r?Zn([Jn(),Xn(),Yn()],0,e,[1,4,5]):Zn([Yn(),Xn(),Jn()],2,e,[5,4,1]);let i={kind:`split`,id:`col-main`,orientation:`column`,sizes:[70,30],children:[Yn(),Xn()]};return r?Zn([Jn(),i],0,e,[1,6]):Zn([i,Jn()],1,e,[6,1])}function $n(e,t,n){return Hn(er(e,t,n))}function er(e,t,n){if(e===null)return Kn(t);try{let r=hn(e);if(mn(r,n).length===0)return tr(yn(nr(r)),t)}catch{}return Kn(t)}function tr(e,t){let n=or(e);return ir.some(e=>n.has(e))?ir.reduce((e,r)=>n.has(r)?e:dr(e,r,t),e):e}function nr(e){return{...e,root:rr(e.root,`root`,Wn)}}function rr(e,t,n){return e.kind===`tabs`?e:{...e,id:e.id===t?n:e.id,children:e.children.map(e=>rr(e,t,n))}}var ir=[`wxml`,`appdata`,`storage`,`console`,`compile`];function ar(e,t){if(e.kind===`tabs`){for(let n of e.panels)t.add(n);return}for(let n of e.children)ar(n,t)}function or(e){let t=new Set;return ar(e.root,t),t}function sr(e,t){if(e.kind===`tabs`)return e.panels.includes(t)?e.id:void 0;for(let n of e.children){let e=sr(n,t);if(e!==void 0)return e}}function cr(e,t){return t.find(t=>e.has(t))}function lr(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=lr(e.children[n],t);if(r)return r}return null}function ur(e,t){let n=sr(e.root,`simulator`);if(!n)return e;let r=lr(e.root,n);return r?Mn(e,r.splitId,r.childIndex,{minPx:t}):e}function dr(e,t,n){let r=or(e);if(r.has(t))return e;if(ir.includes(t)){let n=ir.find(e=>e!==t&&r.has(e));return n?Ln(e,t,{groupId:sr(e.root,n)}):r.has(`editor`)?z(e,`editor`,`column`,t,`after`):r.has(`simulator`)?z(e,`simulator`,`row`,t,`after`):z(e,[...r][0],`column`,t,`after`)}if(t===`editor`){let t=cr(r,ir);return t?Vn(e,sr(e.root,t),`column`,`editor`,`before`):r.has(`simulator`)?z(e,`simulator`,`row`,`editor`,`after`):z(e,[...r][0],`column`,`editor`,`before`)}return t===`simulator`?ur(Bn(e,`simulator`,`row`,`before`),n):z(e,[...r][0],`column`,t,`after`)}function fr(e,t){let n=or(e);return t.list().map(e=>({id:e.id,title:e.title??e.id,open:n.has(e.id)}))}var pr=ir;function mr({model:e,registry:t,simPanelWidth:n}){let[,r]=(0,M.useState)(0);(0,M.useEffect)(()=>e.subscribe(()=>r(e=>e+1)),[e]);let i=new Set(fr(e.get(),t).filter(e=>e.open).map(e=>e.id)),a=i.has(`simulator`),o=i.has(`editor`),s=pr.some(e=>i.has(e)),c=[a,o,s].filter(Boolean).length;function l(r,i){e.apply(e=>i?Un(e,r,t):dr(e,r,n))}function u(){if(s){let t=pr.filter(e=>i.has(e));e.apply(e=>t.reduce((e,t)=>Fn(e,t),e))}else{let t=pr.filter(e=>!i.has(e));e.apply(e=>t.reduce((e,t)=>dr(e,t,n),e))}}return(0,N.jsxs)(`div`,{className:`flex items-center gap-0.5`,role:`group`,"aria-label":`面板可见性`,children:[(0,N.jsx)(_r,{active:a,disabled:a&&c===1,onClick:()=>l(`simulator`,a),label:a?`隐藏模拟器`:`显示模拟器`,testId:`layout-toolbar-toggle-simulator`,icon:(0,N.jsx)(ve,{className:`size-3.5`})}),(0,N.jsx)(_r,{active:o,disabled:o&&c===1,onClick:()=>l(`editor`,o),label:o?`隐藏编辑器`:`显示编辑器`,testId:`layout-toolbar-toggle-editor`,icon:(0,N.jsx)(Me,{className:`size-3.5`})}),(0,N.jsx)(_r,{active:s,disabled:s&&c===1,onClick:u,label:s?`隐藏调试器`:`显示调试器`,testId:`layout-toolbar-toggle-debug`,icon:(0,N.jsx)(Ae,{className:`size-3.5`})})]})}function hr({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(()=>Qn(n,r,i))}let s=a?`模拟器位置:左侧(点击切换到右侧)`:`模拟器位置:右侧(点击切换到左侧)`;return(0,N.jsx)(k,{variant:`toolbar`,size:`icon`,onClick:o,"aria-label":s,"data-testid":`layout-toolbar-alignment-toggle`,"data-alignment":r,...tn(s),children:a?(0,N.jsx)(Ne,{className:`size-3.5`}):(0,N.jsx)(Pe,{className:`size-3.5`})})}function gr({model:e,layout:t,simPanelWidth:n}){let{simulatorAlignment:r,devtoolsPosition:i}=t.state;function a(i){t.setDevtoolsPosition(i),e.apply(()=>Qn(n,r,i))}return(0,N.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,N.jsx)(_r,{active:i===e.id,onClick:()=>a(e.id),label:e.label,testId:`layout-toolbar-devtools-${e.id}`,icon:(0,N.jsx)(vr,{variant:e.id})},e.id))})}function _r({active:e,disabled:t,onClick:n,label:r,testId:i,icon:a}){let o=tn(r);return(0,N.jsx)(k,{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 vr({variant:e}){return e===`inEditor`?(0,N.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,N.jsx)(`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}),(0,N.jsx)(`line`,{x1:`9`,y1:`3`,x2:`9`,y2:`21`}),(0,N.jsx)(`path`,{d:`M9 15h12`}),(0,N.jsx)(`rect`,{x:`9`,y:`15`,width:`12`,height:`6`,fill:`currentColor`,stroke:`none`})]}):e===`belowSimulator`?(0,N.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,N.jsx)(`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}),(0,N.jsx)(`line`,{x1:`12`,y1:`3`,x2:`12`,y2:`21`}),(0,N.jsx)(`path`,{d:`M3 15h9`}),(0,N.jsx)(`rect`,{x:`3`,y:`15`,width:`9`,height:`6`,fill:`currentColor`,stroke:`none`})]}):(0,N.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,N.jsx)(`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}),(0,N.jsx)(`line`,{x1:`9`,y1:`3`,x2:`9`,y2:`21`}),(0,N.jsx)(`line`,{x1:`15`,y1:`3`,x2:`15`,y2:`21`}),(0,N.jsx)(`rect`,{x:`9`,y:`3`,width:`6`,height:`18`,fill:`currentColor`,stroke:`none`})]})}function yr(){return(0,N.jsx)(`div`,{className:`w-px h-4 bg-border mx-1`,"aria-hidden":`true`})}function br({compileDropdownRef:e,showCompilePanel:t,onToggleCompilePanel:n,compileModeLabel:r,compileModesReady:i,onRelaunch:a,compileStatus:o,dockModel:s,dockRegistry:c,layout:l,simPanelWidth:u}){M.useEffect(()=>{ne()},[]);let d=tn(`重新编译`),f=tn(`设置`);return(0,N.jsx)(`div`,{className:`flex flex-col shrink-0`,children:(0,N.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,N.jsx)(`div`,{ref:e,children:(0,N.jsxs)(k,{variant:`toolbar`,onClick:n,disabled:!i,"data-active":t?`true`:`false`,"data-testid":`compile-mode-button`,className:`h-7 gap-0.5 pl-2 pr-1.5 text-[13px] text-text-secondary max-w-40`,children:[(0,N.jsx)(`span`,{className:`truncate`,children:r}),(0,N.jsx)(je,{className:`size-3.5 shrink-0`})]})}),(0,N.jsx)(yr,{}),(0,N.jsx)(k,{variant:`toolbar`,size:`icon`,className:`size-7 rounded-[var(--qd-radius-md)]`,onClick:()=>{a()},disabled:o.status===`compiling`,"aria-label":`重新编译`,...d,children:(0,N.jsx)(Fe,{className:`size-3.5`})}),(0,N.jsxs)(`div`,{className:`flex items-center gap-1.5 px-1.5 shrink-0`,children:[(0,N.jsx)(Xt,{status:o.status}),(0,N.jsx)(`span`,{"data-testid":`compile-status-message`,className:`text-[12px] text-text-secondary max-w-28 truncate`,children:o.message})]}),(0,N.jsx)(`div`,{className:`flex-1 min-w-2`}),(0,N.jsx)(mr,{model:s,registry:c,simPanelWidth:u}),(0,N.jsx)(yr,{}),(0,N.jsx)(hr,{model:s,layout:l,simPanelWidth:u}),(0,N.jsx)(yr,{}),(0,N.jsx)(gr,{model:s,layout:l,simPanelWidth:u}),(0,N.jsx)(yr,{}),(0,N.jsx)(k,{variant:`toolbar`,size:`icon`,className:`size-7 rounded-[var(--qd-radius-md)]`,onClick:()=>{ge(!0)},"aria-label":`设置`,...f,children:(0,N.jsx)(Ie,{className:`size-3.5`})})]})})}function xr(e,t){let n=getComputedStyle(e);return t*parseFloat(n.fontSize)}function Sr(e,t){let n=getComputedStyle(e.ownerDocument.body);return t*parseFloat(n.fontSize)}function Cr(e){return e/100*window.innerHeight}function wr(e){return e/100*window.innerWidth}function Tr(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 Er({groupSize:e,panelElement:t,styleProp:n}){let r,[i,a]=Tr(n);switch(a){case`%`:r=i/100*e;break;case`px`:r=i;break;case`rem`:r=Sr(t,i);break;case`em`:r=xr(t,i);break;case`vh`:r=Cr(i);break;case`vw`:r=wr(i);break}return r}function B(e){return parseFloat(e.toFixed(3))}function Dr({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 Or(e){let{panels:t}=e,n=Dr({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=B(Er({groupSize:n,panelElement:t,styleProp:r.collapsedSize})/n*100));let a;r.defaultSize!==void 0&&(a=B(Er({groupSize:n,panelElement:t,styleProp:r.defaultSize})/n*100));let o=0;r.minSize!==void 0&&(o=B(Er({groupSize:n,panelElement:t,styleProp:r.minSize})/n*100));let s=100;return r.maxSize!==void 0&&(s=B(Er({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 V(e,t=`Assertion error`){if(!e)throw Error(t)}function kr(e,t){return Array.from(t).sort(e===`horizontal`?Ar:jr)}function Ar(e,t){let n=e.element.offsetLeft-t.element.offsetLeft;return n===0?e.element.offsetWidth-t.element.offsetWidth:n}function jr(e,t){let n=e.element.offsetTop-t.element.offsetTop;return n===0?e.element.offsetHeight-t.element.offsetHeight:n}function Mr(e){return typeof e==`object`&&!!e&&`nodeType`in e&&e.nodeType===Node.ELEMENT_NODE}function Nr(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 Pr({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}=Nr(r,n),s=e===`horizontal`?t:o;s<a&&(a=s,i=n)}return V(i,`No rect found`),i}var Fr;function Ir(){return Fr===void 0&&(Fr=typeof matchMedia==`function`?!!matchMedia(`(pointer:coarse)`).matches:!1),Fr}function Lr(e){let{element:t,orientation:n,panels:r,separators:i}=e,a=kr(n,Array.from(t.children).filter(Mr).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,Pr({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=Ir()?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:Dr({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 Rr=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)}}},H=new Map,zr=new Rr;function Br(e){H=new Map(H),H.delete(e)}function Vr(e,t){for(let[t]of H)if(t.id===e)return t}function U(e,t){for(let[t,n]of H)if(t.id===e)return n;if(t)throw Error(`Could not find data for Group with id ${e}`)}function W(){return H}function Hr(e,t){return zr.addListener(`groupChange`,n=>{n.group.id===e&&t(n)})}function G(e,t){let n=H.get(e);H=new Map(H),H.set(e,t),zr.emit(`groupChange`,{group:e,prev:n,next:t})}function Ur(e,t,n){let r,i={x:1/0,y:1/0};for(let a of t){let t=Nr(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 Wr(e){return typeof e==`object`&&!!e&&`nodeType`in e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE}function Gr(e,t){if(e===t)throw Error(`Cannot compare node with itself`);let n={a:Zr(e),b:Zr(t)},r;for(;n.a.at(-1)===n.b.at(-1);)r=n.a.pop(),n.b.pop();V(r,`Stacking order can only be calculated for elements with a common ancestor`);let i={a:Xr(Yr(n.a)),b:Xr(Yr(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 Kr=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function qr(e){let t=getComputedStyle(Qr(e)??e).display;return t===`flex`||t===`inline-flex`}function Jr(e){let t=getComputedStyle(e);return!!(t.position===`fixed`||t.zIndex!==`auto`&&(t.position!==`static`||qr(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`||Kr.test(t.willChange)||t.webkitOverflowScrolling===`touch`)}function Yr(e){let t=e.length;for(;t--;){let n=e[t];if(V(n,`Missing node`),Jr(n))return n}return null}function Xr(e){return e&&Number(getComputedStyle(e).zIndex)||0}function Zr(e){let t=[];for(;e;)t.push(e),e=Qr(e);return t}function Qr(e){let{parentNode:t}=e;return Wr(t)?t.host:t}function $r(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 ei({groupElement:e,hitRegion:t,pointerEventTarget:n}){if(!Mr(n)||n.contains(e)||e.contains(n))return!0;if(Gr(n,e)>0){let r=n;for(;r;){if(r.contains(e))return!0;if($r(r.getBoundingClientRect(),t))return!1;r=r.parentElement}}return!0}function ti(e,t){let n=[];return t.forEach((t,r)=>{if(r.disabled)return;let i=Lr(r),a=Ur(r.orientation,i,{x:e.clientX,y:e.clientY});a&&a.distance.x<=0&&a.distance.y<=0&&ei({groupElement:r.element,hitRegion:a.hitRegion.rect,pointerEventTarget:e.target})&&n.push(a.hitRegion)}),n}function ni(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 K(e,t,n=0){return Math.abs(B(e)-B(t))<=n}function q(e,t){return K(e,t)?0:e>t?1:-1}function ri({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(q(r,c)<0)if(a){let e=(i+c)/2;r=q(r,e)<0?i:c}else r=c;return r=Math.min(s,r),r=B(r),r}function ii({delta:e,initialLayout:t,panelConstraints:n,pivotIndices:r,prevLayout:i,trigger:a}){if(K(e,0))return t;let o=a===`imperative-api`,s=Object.values(t),c=Object.values(i),l=[...s],[u,d]=r;V(u!=null,`Invalid first pivot index`),V(d!=null,`Invalid second pivot index`);let f=0;switch(a){case`keyboard`:{let t=e<0?d:u,r=n[t];V(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(V(n!=null,`Previous layout not found for panel index ${t}`),K(n,i)){let t=o-n;q(t,Math.abs(e))>0&&(e=e<0?0-t:t)}}}{let t=e<0?u:d,r=n[t];V(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(V(n!=null,`Previous layout not found for panel index ${t}`),K(n,o)){let t=n-i;q(t,Math.abs(e))>0&&(e=e<0?0-t:t)}}}break;default:{let t=e<0?d:u,r=n[t];V(r,`Panel constraints not found for index ${t}`);let i=s[t],{collapsible:a,collapsedSize:o,minSize:c}=r;if(a&&q(i,c)<0)if(e>0){let t=c-o,n=t/2;q(i+e,c)<0&&(e=q(e,n)<=0?0:t)}else{let t=c-o,n=100-t/2;q(i-e,c)<0&&(e=q(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];V(e!=null,`Previous layout not found for panel index ${r}`);let a=ri({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];V(i!=null,`Previous layout not found for panel index ${t}`);let a=i-r,c=ri({overrideDisabledPanels:o,panelConstraints:n[t],prevSize:i,size:a});if(!K(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(ni(c,l))return i;{let t=e<0?d:u,r=s[t];V(r!=null,`Previous layout not found for panel index ${t}`);let i=r+f,a=ri({overrideDisabledPanels:o,panelConstraints:n[t],prevSize:r,size:i});if(l[t]=a,!K(a,i)){let t=i-a,r=e<0?d:u;for(;r>=0&&r<n.length;){let i=l[r];V(i!=null,`Previous layout not found for panel index ${r}`);let a=i+t,s=ri({overrideDisabledPanels:o,panelConstraints:n[r],prevSize:i,size:a});if(K(i,s)||(t-=s-i,l[r]=s),K(t,0))break;e>0?r--:r++}}}if(!K(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 J(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(t[n]===void 0||q(e[n],t[n])!==0)return!1;return!0}function Y({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(!K(i,100)&&r.length>0)for(let e=0;e<t.length;e++){let t=r[e];V(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];V(i!=null,`No layout data found for index ${e}`);let o=r[e];V(o!=null,`No layout data found for index ${e}`);let s=ri({overrideDisabledPanels:!0,panelConstraints:t[e],prevSize:i,size:o});o!=s&&(a+=o-s,r[e]=s)}if(!K(a,0))for(let e=0;e<t.length;e++){let n=r[e];V(n!=null,`No layout data found for index ${e}`);let i=n+a,o=ri({overrideDisabledPanels:!0,panelConstraints:t[e],prevSize:n,size:i});if(n!==o&&(a-=o-n,r[e]=o,K(a,0)))break}let o=Object.keys(e);return r.reduce((e,t,n)=>(e[o[n]]=t,e),{})}function ai({groupId:e,panelId:t}){let n=()=>{let t=W();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=Y({layout:ii({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});J(l,p)||G(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&&K(t,n)},resize:e=>{let{group:t}=n(),{element:r}=i(),a=Dr({group:t});o(B(Er({groupSize:a,panelElement:r,styleProp:e})/a*100))}}}function oi(e){e.defaultPrevented||ti(e,W()).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=ai({groupId:t.group.id,panelId:n.id});i&&r!==void 0&&(i.resize(r),e.preventDefault())}}})}function si(e){let t=W();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 ci({groupId:e}){let t=()=>{let t=W();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=Y({layout:e,panelConstraints:r});return n?o:(J(o,c)||G(i,{defaultLayoutDeferred:n,derivedPanelConstraints:r,groupSize:a,layout:c,separatorToPanels:s}),c)}}}function X(e,t){let n=si(e),r=U(n.id,!0),i=n.separators.find(t=>t.element===e);V(i,`Matching separator not found`);let a=r.separatorToPanels.get(i);V(a,`Matching panels not found`);let o=a.map(e=>n.panels.indexOf(e)),s=ci({groupId:n.id}).getLayout(),c=Y({layout:ii({delta:t,initialLayout:s,panelConstraints:r.derivedPanelConstraints,pivotIndices:o,prevLayout:s,trigger:`keyboard`}),panelConstraints:r.derivedPanelConstraints});J(s,c)||G(n,{defaultLayoutDeferred:r.defaultLayoutDeferred,derivedPanelConstraints:r.derivedPanelConstraints,groupSize:r.groupSize,layout:c,separatorToPanels:r.separatorToPanels})}function li(e){if(e.defaultPrevented)return;let t=e.currentTarget,n=si(t);if(!n.disabled)switch(e.key){case`ArrowDown`:e.preventDefault(),n.orientation===`vertical`&&X(t,5);break;case`ArrowLeft`:e.preventDefault(),n.orientation===`horizontal`&&X(t,-5);break;case`ArrowRight`:e.preventDefault(),n.orientation===`horizontal`&&X(t,5);break;case`ArrowUp`:e.preventDefault(),n.orientation===`vertical`&&X(t,-5);break;case`End`:e.preventDefault(),X(t,100);break;case`Enter`:{e.preventDefault();let n=si(t),{derivedPanelConstraints:r,layout:i,separatorToPanels:a}=U(n.id,!0),o=n.separators.find(e=>e.element===t);V(o,`Matching separator not found`);let s=a.get(o);V(s,`Matching panels not found`);let c=s[0],l=r.find(e=>e.panelId===c.id);if(V(l,`Panel metadata not found`),l.collapsible){let e=i[c.id];X(t,(l.collapsedSize===e?n.mutableState.expandedPanelSizes[c.id]??l.minSize:l.collapsedSize)-e)}break}case`F6`:{e.preventDefault();let n=si(t).separators.map(e=>e.element),r=Array.from(n).findIndex(t=>t===e.currentTarget);V(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(),X(t,-100);break}}var ui={cursorFlags:0,state:`inactive`},di=new Rr;function Z(){return ui}function fi(e){return di.addListener(`change`,e)}function pi(e){let t=ui,n={...ui};n.cursorFlags=e,ui=n,di.emit(`change`,{prev:t,next:n})}function Q(e){let t=ui;ui=e,di.emit(`change`,{prev:t,next:e})}function mi(e){if(e.defaultPrevented||e.pointerType===`mouse`&&e.button>0)return;let t=W(),n=ti(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)}),Q({cursorFlags:0,hitRegions:n,initialLayoutMap:r,pointerDownAtPoint:{x:e.clientX,y:e.clientY},state:`active`}),n.length&&e.preventDefault()}var hi=e=>e,gi=()=>{},_i=1,vi=2,yi=4,bi=8,xi=3,Si=12,Ci;function wi(){return Ci===void 0&&(Ci=!1,typeof window<`u`&&(window.navigator.userAgent.includes(`Chrome`)||window.navigator.userAgent.includes(`Firefox`))&&(Ci=!0)),Ci}function Ti({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&&wi()){let t=(e&_i)!==0,n=(e&vi)!==0,r=(e&yi)!==0,i=(e&bi)!==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 wi()?r>0&&i>0?`move`:r>0?`ew-resize`:`ns-resize`:r>0&&i>0?`grab`:r>0?`col-resize`:`row-resize`}}var Ei=new WeakMap;function Di(e){if(e.defaultView===null||e.defaultView===void 0)return;let{prevStyle:t,styleSheet:n}=Ei.get(e)??{};n===void 0&&(n=new e.defaultView.CSSStyleSheet,e.adoptedStyleSheets&&e.adoptedStyleSheets.push(n));let r=Z();switch(r.state){case`active`:case`hover`:{let e=Ti({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}Ei.set(e,{prevStyle:t,styleSheet:n})}function Oi({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=ii({delta:d,initialLayout:f,panelConstraints:h,pivotIndices:e.panels.map(e=>l.indexOf(e)),prevLayout:_,trigger:`mouse-or-touch`});if(J(t,_)){if(d!==0&&!u)switch(c){case`horizontal`:s|=d<0?_i:vi;break;case`vertical`:s|=d<0?yi:bi;break}}else G(e.group,{defaultLayoutDeferred:m,derivedPanelConstraints:h,groupSize:g,layout:t,separatorToPanels:v})}});let c=0;t.movementX===0?c|=o&xi:c|=s&xi,t.movementY===0?c|=o&Si:c|=s&Si,pi(c),Di(e)}function ki(e){let t=W(),n=Z();switch(n.state){case`active`:Oi({document:e.currentTarget,event:e,hitRegions:n.hitRegions,initialLayoutMap:n.initialLayoutMap,mountedGroups:t,prevCursorFlags:n.cursorFlags})}}function Ai(e){if(e.defaultPrevented)return;let t=Z(),n=W();switch(t.state){case`active`:if(e.buttons===0){Q({cursorFlags:0,state:`inactive`}),t.hitRegions.forEach(e=>{let t=U(e.group.id,!0);G(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)}Oi({document:e.currentTarget,event:e,hitRegions:t.hitRegions,initialLayoutMap:t.initialLayoutMap,mountedGroups:n,pointerDownAtPoint:t.pointerDownAtPoint,prevCursorFlags:t.cursorFlags});break;default:{let r=ti(e,n);r.length===0?t.state!==`inactive`&&Q({cursorFlags:0,state:`inactive`}):Q({cursorFlags:0,hitRegions:r,state:`hover`}),Di(e.currentTarget);break}}}function ji(e){if(e.relatedTarget instanceof HTMLIFrameElement)switch(Z().state){case`hover`:Q({cursorFlags:0,state:`inactive`})}}function Mi(e){if(e.defaultPrevented||e.pointerType===`mouse`&&e.button>0)return;let t=Z();switch(t.state){case`active`:Q({cursorFlags:0,state:`inactive`}),t.hitRegions.length>0&&(Di(e.currentTarget),t.hitRegions.forEach(e=>{let t=U(e.group.id,!0);G(e.group,t)}),e.preventDefault())}}function Ni(e){let t=0,n=0,r={};for(let i of e)if(i.defaultSize!==void 0){t++;let e=B(i.defaultSize);n+=e,r[i.panelId]=e}else r[i.panelId]=void 0;let i=e.length-t;if(i!==0){let t=B((100-n)/i);for(let n of e)n.defaultSize===void 0&&(r[n.panelId]=t)}return r}function Pi(e,t,n){if(!n[0])return;let r=e.panels.find(e=>e.element===t);if(!r||!r.onResize)return;let i=Dr({group:e}),a=e.orientation===`horizontal`?r.element.offsetWidth:r.element.offsetHeight,o=r.mutableValues.prevSize,s={asPercentage:B(a/i*100),inPixels:a};r.mutableValues.prevSize=s,r.onResize(s,r.id,o)}function Fi(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 Ii({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=B(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]=B((r[e]??0)/a*l);else{let e=B(l/c.length);for(let t of c)u[t]=e}return u}function Li(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 Ri=new Map;function zi(e){let t=!0;V(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=Dr({group:e});if(t===0)return;let n=U(e.id);if(!n)return;let r=Or(e),i=n.defaultLayoutDeferred?Ni(r):n.layout,a=Y({layout:Ii({group:e,nextGroupSize:t,prevGroupSize:n.groupSize,prevLayout:i}),panelConstraints:r});if(!n.defaultLayoutDeferred&&J(n.layout,a)&&Fi(n.derivedPanelConstraints,r)&&n.groupSize===t)return;G(e,{defaultLayoutDeferred:!1,derivedPanelConstraints:r,groupSize:t,layout:a,separatorToPanels:n.separatorToPanels})}}else Pi(e,i,n)}});a.observe(e.element),e.panels.forEach(e=>{V(!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=Dr({group:e}),s=Or(e),c=e.panels.map(({id:e})=>e).join(`,`),l=e.mutableState.defaultLayout;l&&(Li(e.panels,l)||(l=void 0));let u=Y({layout:e.mutableState.layouts[c]??l??Ni(s),panelConstraints:s}),d=e.element.ownerDocument;Ri.set(d,(Ri.get(d)??0)+1);let f=new Map;return Lr(e).forEach(e=>{e.separator&&f.set(e.separator,e.panels)}),G(e,{defaultLayoutDeferred:o===0,derivedPanelConstraints:s,groupSize:o,layout:u,separatorToPanels:f}),e.separators.forEach(e=>{V(!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`,li)}),Ri.get(d)===1&&(d.addEventListener(`dblclick`,oi,!0),d.addEventListener(`pointerdown`,mi,!0),d.addEventListener(`pointerleave`,ki),d.addEventListener(`pointermove`,Ai),d.addEventListener(`pointerout`,ji),d.addEventListener(`pointerup`,Mi,!0)),function(){t=!1,Ri.set(d,Math.max(0,(Ri.get(d)??0)-1)),Br(e),e.separators.forEach(e=>{e.element.removeEventListener(`keydown`,li)}),Ri.get(d)||(d.removeEventListener(`dblclick`,oi,!0),d.removeEventListener(`pointerdown`,mi,!0),d.removeEventListener(`pointerleave`,ki),d.removeEventListener(`pointermove`,Ai),d.removeEventListener(`pointerout`,ji),d.removeEventListener(`pointerup`,Mi,!0)),a.disconnect()}}function Bi(){let[e,t]=(0,M.useState)({});return[e,(0,M.useCallback)(()=>t({}),[])]}function Vi(e){let t=(0,M.useId)();return`${e??t}`}var $=typeof window<`u`?M.useLayoutEffect:M.useEffect;function Hi(e){let t=(0,M.useRef)(e);return $(()=>{t.current=e},[e]),(0,M.useCallback)((...e)=>t.current?.(...e),[t])}function Ui(...e){return Hi(t=>{e.forEach(e=>{if(e)switch(typeof e){case`function`:e(t);break;case`object`:e.current=t;break}})})}function Wi(e){let t=(0,M.useRef)({...e});return $(()=>{for(let n in e)t.current[n]=e[n]},[e]),t.current}var Gi=(0,M.createContext)(null);function Ki(e,t){let n=(0,M.useRef)({getLayout:()=>({}),setLayout:hi});(0,M.useImperativeHandle)(t,()=>n.current,[]),$(()=>{Object.assign(n.current,ci({groupId:e}))})}function qi({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,M.useRef)({onLayoutChange:{},onLayoutChanged:{}}),h=Hi(e=>{J(m.current.onLayoutChange,e)||(m.current.onLayoutChange=e,c?.(e))}),g=Hi(e=>{J(m.current.onLayoutChanged,e)||(m.current.onLayoutChanged=e,l?.(e))}),_=Vi(s),v=(0,M.useRef)(null),[y,b]=Bi(),x=(0,M.useRef)({lastExpandedPanelSizes:{},layouts:{},panels:[],resizeTargetMinimumSize:d,separators:[]}),S=Ui(v,a);Ki(_,o);let C=Hi((e,t)=>{let r=Z(),i=Vr(e),a=U(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=Wi({defaultLayout:n,disableCursor:r}),T=(0,M.useMemo)(()=>({get disableCursor(){return!!w.disableCursor},getPanelStyles:C,id:_,orientation:u,registerPanel:e=>{let t=x.current;return t.panels=kr(u,[...t.panels,e]),b(),()=>{t.panels=t.panels.filter(t=>t!==e),b()}},registerSeparator:e=>{let t=x.current;return t.separators=kr(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=Vr(_),i=U(_);r&&i&&G(r,{...i,derivedPanelConstraints:Or(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,M.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=zi(r),{defaultLayoutDeferred:o,derivedPanelConstraints:s,layout:c}=U(r.id,!0);!o&&s.length>0&&(h(c),g(c));let l=Hr(_,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=K(t.collapsedSize,i[t.panelId]),a=K(t.collapsedSize,n[t.panelId]);e&&!a&&(r.mutableState.expandedPanelSizes[t.panelId]=n[t.panelId])}}});let o=Z().state!==`active`;h(i),o&&g(i)});return()=>{E.current=null,a(),l()}},[i,_,g,h,u,y,w]),(0,M.useEffect)(()=>{let e=E.current;e&&(e.mutableState.defaultLayout=n,e.mutableState.disableCursor=!!r)}),(0,N.jsx)(Gi.Provider,{value:T,children:(0,N.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})})}qi.displayName=`Group`;function Ji(){let e=(0,M.useContext)(Gi);return V(e,`Group Context not found; did you render a Panel or Separator outside of a Group?`),e}function Yi(e,t){let{id:n}=Ji(),r=(0,M.useRef)({collapse:gi,expand:gi,getSize:()=>({asPercentage:0,inPixels:0}),isCollapsed:()=>!1,resize:gi});(0,M.useImperativeHandle)(t,()=>r.current,[]),$(()=>{Object.assign(r.current,ai({groupId:n,panelId:e}))})}function Xi({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=Vi(c),_=Wi({disabled:a}),v=(0,M.useRef)(null),y=Ui(v,o),{getPanelStyles:b,id:x,orientation:S,registerPanel:C,updatePanelProps:w}=Ji(),T=d!==null,E=Hi((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,M.useEffect)(()=>{w(g,{disabled:a})},[a,g,w]),Yi(g,f);let ee=()=>{let e=b(x,g);if(e)return JSON.stringify(e)},te=(0,M.useSyncExternalStore)(e=>Hr(x,e),ee,ee),D;return D=te?JSON.parse(te):i?{flexGrow:void 0,flexShrink:void 0,flexBasis:i}:{flexGrow:1},(0,N.jsx)(`div`,{...m,"data-disabled":a||void 0,"data-panel":!0,"data-testid":g,id:g,ref:y,style:{...Zi,display:`flex`,flexBasis:0,flexShrink:1,overflow:`visible`,...D},children:(0,N.jsx)(`div`,{className:t,style:{maxHeight:`100%`,maxWidth:`100%`,flexGrow:1,overflow:`auto`,...p,touchAction:S===`horizontal`?`pan-y`:`pan-x`},children:e})})}Xi.displayName=`Panel`;var Zi={minHeight:0,maxHeight:`100%`,height:`auto`,minWidth:0,maxWidth:`100%`,width:`auto`,border:`none`,borderWidth:0,padding:0,margin:0};function Qi({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=Y({layout:ii({delta:l-o,initialLayout:e,panelConstraints:t,pivotIndices:u,prevLayout:e}),panelConstraints:t})[n],i=Y({layout:ii({delta:c-o,initialLayout:e,panelConstraints:t,pivotIndices:u,prevLayout:e}),panelConstraints:t})[n]}return{valueControls:n,valueMax:i,valueMin:a,valueNow:o}}function $i({children:e,className:t,disabled:n,disableDoubleClick:r,elementRef:i,id:a,style:o,...s}){let c=Vi(a),l=Wi({disabled:n,disableDoubleClick:r}),[u,d]=(0,M.useState)({}),[f,p]=(0,M.useState)(`inactive`),[m,h]=(0,M.useState)(!1),g=(0,M.useRef)(null),_=Ui(g,i),{disableCursor:v,id:y,orientation:b,registerSeparator:x,updateSeparatorProps:S}=Ji(),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=fi(e=>{p(e.next.state!==`inactive`&&e.next.hitRegions.some(e=>e.separator===t)?e.next.state:`inactive`)}),i=Hr(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(Qi({layout:r,panelConstraints:n,panelId:e.id,panelIndex:t}))}});return()=>{r(),i(),n()}}},[y,c,x,l]),(0,M.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,N.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})}$i.displayName=`Separator`;function ea(e,t,n,r){return!(e>0)||!(t>0)||!Number.isFinite(e)||!Number.isFinite(t)||!Number.isFinite(n)||!Number.isFinite(r)}function ta(e){return Number.isFinite(e)?Math.max(0,Math.min(.5,e)):.25}function na(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 ra(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 ia(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 aa(e,t,n,r,i){let{inLeft:a,inTop:o,activeHoriz:s,activeVert:c}=ra(e,t,n,r,i);return!s&&!c?`center`:s&&!c?a?`left`:`right`:c&&!s?o?`top`:`bottom`:ia(e,t,n,r,a,o)}function oa(e,t,n=.25){let{width:r,height:i}=e,{x:a,y:o}=t;if(ea(r,i,a,o))return`center`;let s=ta(n),c=na(r,i,a,o);return c===void 0?aa(r,i,a,o,s):c}function sa(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 ca(e,t,n,r){return e===n.panelId||r===`center`&&t!==void 0&&t===n.groupId}function la(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 ua(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 da=.5;function fa(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 pa(e,t){let n=e.map((e,t)=>t).filter(e=>(t?.[e]??null)===null),r=fa(n.map(t=>e[t]??0)),i=new Map;return n.forEach((e,t)=>{i.set(e,r[t])}),i}function ma(e){return Math.min(1,Math.max(.5,Math.floor(90/Math.max(1,e))))}function ha(e,t){let n=e.filter((e,n)=>(t?.[n]??null)===null).length,r=ma(n);return e.map((e,n)=>(t?.[n]??null)===null?Number.isFinite(e)&&e>=r?e:r:e)}function ga(e,t,n,r=da){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 _a(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=va(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):ya(t[n]??0,c,l,u)}return d}function va(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 ya(e,t,n,r){return n<=0?r>0?t/r:t:t*(e>0?e:0)/n}function ba(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:fa(i)}}function xa(e){let{node:t,ctx:n}=e,r=t.orientation===`row`?`horizontal`:`vertical`,i=pa(t.sizes,t.constraints),a=t.children.filter((e,n)=>(t.constraints?.[n]??null)===null).length,o=String(ma(a)),s=(0,M.useRef)(null),c=(0,M.useRef)(null),l=(0,M.useRef)(t);l.current=t;let u=[];t.children.forEach((e,r)=>{r>0&&u.push((0,N.jsx)($i,{"data-deck-resize-handle":``},`handle-${r}`));let a=t.constraints?.[r]??null;if(a?.fixedPx!=null){let t=`${a.fixedPx}px`;u.push((0,N.jsx)(Xi,{id:e.id,defaultSize:t,minSize:t,maxSize:t,groupResizeBehavior:`preserve-pixel-size`,children:Na(e,n)},Sa(e)))}else if(a?.minPx!=null){let t=`${a.minPx}px`;u.push((0,N.jsx)(Xi,{id:e.id,defaultSize:t,minSize:t,groupResizeBehavior:`preserve-pixel-size`,children:Na(e,n)},Sa(e)))}else{let t=i.get(r);u.push((0,N.jsx)(Xi,{id:e.id,defaultSize:t==null?void 0:String(t),minSize:o,children:Na(e,n)},Sa(e)))}});let d=e=>{let t=l.current,r=t.children.map(e=>e.id),i=e=>(t.constraints?.[e]??null)!==null,a=ba(r,t.constraints,e);if(!a)return;let o=pa(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,ha(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,ha(i,t.constraints))},Object.defineProperty(e,`__deckGroupApi`,{configurable:!0,get:()=>s.current??void 0}))},p=(0,M.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=_a(r,n.sizes,n.constraints,i,u);return d?ga(i,d,r)?{pushed:!1,stuck:!0}:(t.setLayout(d),{pushed:!0,stuck:ga(t.getLayout(),d,r)}):{pushed:!1,stuck:!1}},[]),m=t.sizes.join(`,`),h=t.children.length,g=(0,M.useRef)(null);return(0,M.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,N.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,N.jsx)(qi,{groupRef:s,orientation:r,onLayoutChanged:d,style:{width:`100%`,height:`100%`},children:u},t.children.length)})}function Sa(e){return e.id}function Ca(e,t){let n=e.active;return n?(0,N.jsxs)(M.Fragment,{children:[t.registry.get(n)?.kind===`native`?(0,N.jsx)(wa,{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,N.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 wa(e){let{panelId:t,bindNativeSlot:n}=e,r=(0,M.useRef)(n);return r.current=n,(0,N.jsx)(`div`,{ref:(0,M.useCallback)(e=>{r.current(t,e)},[t]),"data-deck-native-slot":t,style:{flex:1,minWidth:0,minHeight:0,height:`100%`}})}var Ta=`application/x-deck-panel`;function Ea(e){let{node:t,ctx:n}=e,[r,i]=(0,M.useState)(null),a=(0,M.useRef)(t);a.current=t;let o=(0,M.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(Ta))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(oa({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=oa({width:r.width,height:r.height},{x:e.clientX-r.left,y:e.clientY-r.top});i(null);let o=e.dataTransfer?.getData(Ta);if(!o||n.registry.get(o)===void 0||!n.isPanelInTree(o))return;let s=la(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(Ta)&&(e.preventDefault(),e.stopPropagation(),i(null))},f=e=>{e.preventDefault(),e.stopPropagation(),i(null);let r=e.dataTransfer?.getData(Ta);if(!r||n.registry.get(r)===void 0||!n.isPanelInTree(r))return;let a=la(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,N.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,N.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,N.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(Ta,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,N.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,Ca(t,n),r?(0,N.jsx)(Oa,{zone:r}):null]})}function Da(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 Oa(e){return(0,N.jsx)(`div`,{"data-deck-drop-zone":e.zone,style:Da(e.zone)})}var ka=(0,M.createContext)(0);function Aa(){return(0,M.useContext)(ka)}function ja(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=bn(e.get().root,r),u;if(c!==void 0&&l){let e=l.panels.filter(e=>t.get(e)?.hideTab!==!0);u=ua(l.panels,e,a,c)}else u=l?l.panels.indexOf(i):void 0;e.apply(e=>zn(e,a,{groupId:r,index:u}))}function Ma(e){let{model:t,registry:n,renderDomPanel:r,bindNativeSlot:i,suppressReorderOnlyDropIndicator:a,onActiveTabClick:o}=e,[s,c]=(0,M.useState)(()=>t.get()),[l,u]=(0,M.useState)(0),d=(0,M.useRef)(null);(0,M.useEffect)(()=>(c(t.get()),t.subscribe(e=>{c(e.tree),u(e.revision)})),[t]);let f=(0,M.useCallback)((e,n)=>{t.apply(t=>Nn(t,e,n))},[t]),p=(0,M.useCallback)(e=>{t.apply(t=>Un(t,e,n))},[t,n]),m=Cn(s.root)>1,h=(0,M.useCallback)(e=>Sn(s.root,e)!==void 0,[s]),g=(0,M.useCallback)((e,n)=>{t.apply(t=>jn(t,e,n))},[t]),_=(0,M.useCallback)((e,r,i,a,o)=>{let s={groupId:e,panelId:r},c=Sn(t.get().root,i);if(n.get(i)?.draggable===!1||n.get(r)?.draggable===!1)return;if(n.get(i)?.dropPolicy===`reorder-only`){ja(t,n,{groupId:e,activePanelId:r,draggedPanelId:i,draggedGroupId:c,zone:a,reorderIndex:o});return}if(ca(i,c,s,a))return;let l=sa(a,i,s);if(l.kind===`move`){t.apply(e=>zn(e,l.panelId,{groupId:l.destGroupId}));return}t.apply(e=>{let{tree:t}=In(e,l.newPanelId);return Sn(t.root,l.atPanelId)===void 0?e:z(t,l.atPanelId,l.dir,l.newPanelId,l.side)})},[t,n]);return(0,N.jsx)(ka.Provider,{value:l,children:Na(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 Na(e,t){return e.kind===`split`?Pa(e,t):Fa(e,t)}function Pa(e,t){return(0,N.jsx)(xa,{node:e,ctx:t},e.id)}function Fa(e,t){return(0,N.jsx)(Ea,{node:e,ctx:t},e.id)}function Ia({phase:e,code:t,reason:n,onRelaunch:r}){return(0,N.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,N.jsxs)(`div`,{className:`text-center p-4`,children:[(0,N.jsx)(`div`,{className:`text-status-error text-[14px] font-medium mb-2`,children:e===`crashed`?`小程序已崩溃`:`小程序启动失败`}),(0,N.jsx)(`div`,{className:`text-status-error text-[11px] max-w-[280px] break-words mb-3`,children:n??t??`未知原因`}),(0,N.jsx)(k,{type:`button`,variant:`outline`,size:`xs`,onClick:r,className:`border-status-error text-status-error hover:bg-status-error/10`,children:`重新启动`})]})})}function La({requested:e,resolved:t,onDismiss:n}){return(0,N.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,N.jsxs)(`span`,{className:`flex-1 min-w-0 truncate`,children:[`启动页 "`,e,`" 不存在,已回退到 "`,t,`"`]}),(0,N.jsx)(`button`,{type:`button`,onClick:n,className:`shrink-0 text-status-warn/80 hover:text-status-warn px-1`,title:`关闭`,children:`×`})]})}function Ra(){return(0,N.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 za=48;function Ba(e,t,n){if(e.width<=0||e.height<=0)return n;let r=Math.min(e.width/(t.width+za),e.height/(t.height+za));return Math.max(1,Math.min(100,Math.floor(r*100)))}function Va({device:e,orientation:t=`portrait`,zoom:n,onOpenDevicePicker:r,onOrientationChange:i=()=>{},onZoomChange:a,compileStatus:o,currentPage:s,copied:c,onCopyPagePath:l,runtimeStatus:u=null,watcherDead:d=!1,onRelaunch:f=()=>{},onOpenInternalDevtools:g=()=>{}}){let _=(0,M.useRef)(typeof n==`number`?n:100),v=(0,M.useRef)(n),b=(0,M.useRef)(e),x=(0,M.useRef)(t),S=(0,M.useRef)(null),[C,w]=(0,M.useState)(!1);(0,M.useEffect)(()=>{o.status===`ready`&&w(!0)},[o.status]);let T=u?.phase===`launch-failed`||u?.phase===`crashed`,[E,ee]=(0,M.useState)(!1);(0,M.useEffect)(()=>{u||ee(!1)},[u]);let te=!!u?.pageFallback&&!T&&!E,D=o.status===`compiling`&&C,ne=m(),O=(0,M.useCallback)(e=>{if(e.visible){let t=v.current;_.current=t===`auto`?Ba(e.bounds,st(b.current,x.current),_.current):t}ne?.set({viewId:y.simulator,placement:e,layer:h.base,extra:{zoom:_.current}})},[ne]),re=(0,M.useCallback)(e=>{let t=S.current;if(t){e?(t.dispose(),S.current=p(e,{visible:!0,followGeometry:!0,guardDisplayNone:!0,publish:O})):(t.update({visible:!1,publish:O}),t.dispose(),S.current=null);return}e&&(S.current=p(e,{visible:!0,followGeometry:!0,guardDisplayNone:!0,publish:O}))},[O]);return(0,M.useLayoutEffect)(()=>{v.current=n,b.current=e,x.current=t}),(0,M.useLayoutEffect)(()=>{S.current?.update({visible:!0,publish:O})},[n,e,t,O]),(0,M.useEffect)(()=>{S.current?.pulse(300)},[Aa()]),(0,M.useEffect)(()=>()=>{S.current?.dispose(),S.current=null,ne?.remove(y.simulator)},[ne]),(0,N.jsxs)(`div`,{className:`bg-sim-bg flex flex-col overflow-hidden h-full w-full`,children:[(0,N.jsxs)(`div`,{className:`flex items-center gap-2 px-5 py-2 shrink-0 border-b border-border-subtle`,children:[(0,N.jsx)(k,{variant:`outline`,size:`sm`,"data-testid":`device-picker-button`,className:`h-7 justify-start px-2 text-[13px] font-medium text-text-secondary`,onClick:r,children:e.name}),(0,N.jsxs)(Oe,{value:t,onChange:e=>i(e.target.value),className:`w-[76px] shrink-0`,children:[(0,N.jsx)(`option`,{value:`portrait`,children:`竖屏`}),(0,N.jsx)(`option`,{value:`landscape`,children:`横屏`})]}),(0,N.jsxs)(Oe,{value:n,onChange:a,className:`w-[76px] shrink-0`,children:[be.map(e=>(0,N.jsxs)(`option`,{value:e,children:[e,`%`]},e)),(0,N.jsx)(`option`,{value:xe,children:`自适应`})]})]}),d&&(0,N.jsx)(Ra,{}),te&&u?.pageFallback&&(0,N.jsx)(La,{requested:u.pageFallback.requested,resolved:u.pageFallback.resolved,onDismiss:()=>ee(!0)}),(0,N.jsxs)(`div`,{ref:re,className:`flex-1 min-h-0 bg-sim-bg relative`,"data-area":`native-simulator`,children:[o.status===`compiling`&&!C&&(0,N.jsx)(`div`,{"data-testid":`sim-compiling-overlay`,className:`absolute inset-0 flex items-center justify-center bg-[var(--color-overlay)] z-10`,children:(0,N.jsx)(`div`,{className:`text-text-dim text-[13px]`,children:`正在编译中...`})}),D&&(0,N.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,N.jsx)(`span`,{className:`w-1.5 h-1.5 rounded-full bg-accent animate-pulse`}),(0,N.jsx)(`span`,{className:`text-text-dim text-[11px]`,children:`编译中…`})]}),o.status===`error`&&(0,N.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center bg-[var(--color-overlay-heavy)] z-10`,children:(0,N.jsxs)(`div`,{className:`text-center p-4`,children:[(0,N.jsx)(`div`,{className:`text-status-error text-[14px] font-medium mb-2`,children:`编译失败`}),(0,N.jsx)(`div`,{className:`text-status-error text-[11px] max-w-[280px] break-words`,children:o.message})]})}),o.status!==`error`&&u&&(u.phase===`launch-failed`||u.phase===`crashed`)&&(0,N.jsx)(Ia,{phase:u.phase,code:u.code,reason:u.reason,onRelaunch:f})]}),(0,N.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,N.jsxs)(`div`,{className:`flex items-center gap-1 min-w-0`,children:[(0,N.jsx)(`span`,{className:`text-[11px] text-text-dim truncate min-w-0`,title:s||void 0,children:s||`—`}),s&&(0,N.jsx)(`button`,{className:_e(`shrink-0 flex items-center justify-center w-4 h-4 rounded transition-colors`,c?`text-accent`:`text-text-dim hover:text-text`),onClick:l,title:`复制路径`,children:c?(0,N.jsx)(`svg`,{width:`10`,height:`10`,viewBox:`0 0 10 10`,fill:`none`,children:(0,N.jsx)(`polyline`,{points:`1.5,5 4,7.5 8.5,2.5`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})}):(0,N.jsxs)(`svg`,{width:`10`,height:`10`,viewBox:`0 0 10 10`,fill:`none`,children:[(0,N.jsx)(`rect`,{x:`1`,y:`3`,width:`6`,height:`6.5`,rx:`1`,stroke:`currentColor`,strokeWidth:`1`}),(0,N.jsx)(`path`,{d:`M3 3V2a1 1 0 011-1h4a1 1 0 011 1v5a1 1 0 01-1 1H7`,stroke:`currentColor`,strokeWidth:`1`})]})})]}),(0,N.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:g,title:`调试开发者工具`,"data-testid":`sim-open-internal-devtools`,children:(0,N.jsxs)(`svg`,{width:`11`,height:`11`,viewBox:`0 0 11 11`,fill:`none`,children:[(0,N.jsx)(`rect`,{x:`3`,y:`3.5`,width:`5`,height:`5.5`,rx:`1.5`,stroke:`currentColor`,strokeWidth:`1`}),(0,N.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 Ha(){let e=(0,M.useRef)(null),t=m(),n=(0,M.useCallback)(e=>{t?.set({viewId:y.workbench,placement:e,layer:h.base})},[t]),r=(0,M.useCallback)(t=>{let r=e.current;if(r){t?(r.dispose(),e.current=p(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=p(t,{visible:!0,guardDisplayNone:!0,followScroll:!0,followGeometry:!0,publish:n}))},[n]);return(0,M.useEffect)(()=>{e.current?.pulse(300)},[Aa()]),(0,M.useEffect)(()=>()=>{e.current?.dispose(),e.current=null,t?.remove(y.workbench)},[t]),(0,N.jsx)(`div`,{ref:r,className:`h-full w-full`,"data-area":`editor`})}function Ua(e,t){return!!(t===0||e.tagName===`#shadow-root`||e.tagName.includes(`/`))}function Wa({entries:e}){return(0,N.jsx)(N.Fragment,{children:e.map(([e,t])=>(0,N.jsxs)(`span`,{children:[` `,(0,N.jsx)(`span`,{className:`text-code-blue`,children:e}),(0,N.jsx)(`span`,{className:`text-text-dim`,children:`=`}),(0,N.jsxs)(`span`,{className:`text-code-orange`,children:[`"`,t,`"`]})]},e))})}function Ga({node:e,depth:t}){return(0,N.jsxs)(`div`,{className:`py-px leading-[18px] hover:bg-surface-2`,style:{paddingLeft:t*16},children:[(0,N.jsx)(`span`,{className:`w-3 inline-block`}),(0,N.jsx)(`span`,{className:`text-text`,children:e.text})]})}function Ka({node:e,depth:t,inspectedSid:n,onInspect:r}){return(0,N.jsx)(N.Fragment,{children:(e.children??[]).map((e,i)=>(0,N.jsx)(Za,{node:e,depth:t,inspectedSid:n,onInspect:r},i))})}function qa({node:e,depth:t,inspectedSid:n,onInspect:r}){let[i,a]=(0,M.useState)(()=>Ua(e,t)),o=t*16,s=(e.children??[]).length>0;return(0,N.jsxs)(`div`,{children:[(0,N.jsxs)(`div`,{className:`py-px leading-[18px] hover:bg-surface-2 cursor-pointer`,style:{paddingLeft:o},onClick:()=>s&&a(!i),children:[(0,N.jsx)(`span`,{className:`text-text-dim w-3 shrink-0 inline-block text-center select-none`,children:s?i?`▾`:`▸`:` `}),(0,N.jsx)(`span`,{className:`text-text-dim italic`,children:`#shadow-root`})]}),i&&e.children.map((e,i)=>(0,N.jsx)(Za,{node:e,depth:t+1,inspectedSid:n,onInspect:r},i))]})}function Ja({node:e,indent:t,attrEntries:n,isInspected:r,onMouseEnter:i,inlineText:a}){return(0,N.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,N.jsx)(`span`,{className:`w-3 inline-block`}),(0,N.jsxs)(`span`,{className:`text-code-keyword`,children:[`<`,e.tagName]}),(0,N.jsx)(Wa,{entries:n}),(0,N.jsx)(`span`,{className:`text-code-keyword`,children:`>`}),(0,N.jsx)(`span`,{className:`text-text`,children:a}),(0,N.jsxs)(`span`,{className:`text-code-keyword`,children:[`</`,e.tagName,`>`]})]})}function Ya({node:e,depth:t,indent:n,attrEntries:r,hasChildren:i,expanded:a,isInspected:o,inspectedSid:s,onInspect:c,onToggle:l,onMouseEnter:u}){return(0,N.jsxs)(`div`,{children:[(0,N.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,N.jsx)(`span`,{className:`text-text-dim w-3 shrink-0 text-center select-none`,children:i?a?`▾`:`▸`:` `}),(0,N.jsxs)(`span`,{children:[(0,N.jsxs)(`span`,{className:`text-code-keyword`,children:[`<`,e.tagName]}),(0,N.jsx)(Wa,{entries:r}),(0,N.jsx)(`span`,{className:`text-code-keyword`,children:i?`>`:` />`})]})]}),a&&i&&(0,N.jsxs)(N.Fragment,{children:[e.children.map((e,n)=>(0,N.jsx)(Za,{node:e,depth:t+1,inspectedSid:s,onInspect:c},n)),(0,N.jsxs)(`div`,{style:{paddingLeft:n},className:`py-px leading-[18px]`,children:[(0,N.jsx)(`span`,{className:`w-3 inline-block`}),(0,N.jsxs)(`span`,{className:`text-code-keyword`,children:[`</`,e.tagName,`>`]})]})]})]})}function Xa({node:e,depth:t,inspectedSid:n,onInspect:r}){let[i,a]=(0,M.useState)(()=>Ua(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,N.jsx)(Ja,{node:e,indent:o,attrEntries:l,isInspected:s,onMouseEnter:u,inlineText:d}):(0,N.jsx)(Ya,{node:e,depth:t,indent:o,attrEntries:l,hasChildren:c,expanded:i,isInspected:s,inspectedSid:n,onInspect:r,onToggle:()=>a(!i),onMouseEnter:u})}function Za({node:e,depth:t,inspectedSid:n,onInspect:r}){return e.tagName===`#text`?(0,N.jsx)(Ga,{node:e,depth:t}):e.tagName===`#fragment`?(0,N.jsx)(Ka,{node:e,depth:t,inspectedSid:n,onInspect:r}):e.tagName===`#shadow-root`?(0,N.jsx)(qa,{node:e,depth:t,inspectedSid:n,onInspect:r}):(0,N.jsx)(Xa,{node:e,depth:t,inspectedSid:n,onInspect:r})}function Qa({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,N.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,N.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,N.jsx)(`span`,{className:`mx-2 text-border-subtle`,children:`|`}),r.join(` / `),(0,N.jsx)(`span`,{className:`mx-2 text-border-subtle`,children:`|`}),`font `,n.fontSize]})}function $a({tree:e,onInspectElement:t,onClearInspection:n,isRuntimeRunning:r=!0}){let[i,a]=(0,M.useState)(null),o=(0,M.useRef)(0),s=(0,M.useRef)(null);(0,M.useEffect)(()=>()=>{s.current!==null&&cancelAnimationFrame(s.current)},[]);let c=(0,M.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,M.useCallback)(()=>{s.current!==null&&(cancelAnimationFrame(s.current),s.current=null),o.current++,a(null),n?.()},[n]);return e?(0,N.jsxs)(`div`,{className:`flex flex-col flex-1 overflow-hidden`,onMouseLeave:l,"data-testid":`wxml-panel`,children:[(0,N.jsx)(`div`,{className:`flex-1 overflow-y-auto p-2 font-mono text-[12px]`,children:(0,N.jsx)(Za,{node:e,depth:0,inspectedSid:i?.sid??null,onInspect:c})}),(0,N.jsx)(Qa,{inspection:i})]}):(0,N.jsx)(`div`,{className:`flex flex-col flex-1 overflow-hidden`,"data-testid":`wxml-panel`,children:(0,N.jsx)(`div`,{className:`text-[12px] text-text-dim text-center px-4 py-6`,children:r?`等待小程序加载...`:`小程序未运行`})})}function eo(e){let{source:t,enabled:n,active:r}=e,i=(0,M.useRef)({subscribe:e.subscribe,seed:e.seed});(0,M.useEffect)(()=>{i.current={subscribe:e.subscribe,seed:e.seed}}),(0,M.useEffect)(()=>{if(!n)return;let e=i.current.subscribe(t);return()=>{e(),t.setActive(!1)}},[t,n]),(0,M.useEffect)(()=>{n&&t.setActive(r)},[t,n,r]);let a=(0,M.useRef)({source:null,on:!1});(0,M.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 to({source:e,active:t=!0,enabled:n=!0,isRuntimeRunning:r=!0}){let[i,a]=(0,M.useState)(null);return eo({source:e,enabled:n,active:t,subscribe:e=>e.subscribe(a),seed:(e,t)=>{e.getSnapshot().then(e=>{t()||a(e)})}}),(0,N.jsx)($a,{tree:i,onInspectElement:t=>e.inspect(t),onClearInspection:async()=>{await e.clearInspection()},isRuntimeRunning:r})}var no=`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 ro({items:e,onSet:t,onRemove:n,onClear:r,onClearAll:i,getPrefix:a,isRuntimeRunning:o=!0}){let[s,c]=(0,M.useState)(null),[l,u]=(0,M.useState)(null),[d,f]=(0,M.useState)(!1),[p,m]=(0,M.useState)(``),[h,g]=(0,M.useState)(``),[_,v]=(0,M.useState)(``);(0,M.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,N.jsxs)(`div`,{className:`flex flex-col overflow-hidden flex-1`,"data-testid":`storage-panel`,children:[(0,N.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,N.jsx)(`button`,{type:`button`,onClick:()=>void C(),disabled:d||e.length===0,className:`${no} hover:border-status-error hover:text-status-error`,title:`仅清空当前 appId 的 Storage`,children:`清空`}),i&&(0,N.jsx)(`button`,{type:`button`,onClick:()=>void w(),disabled:d,className:`${no} hover:border-status-error hover:text-status-error`,title:`清空所有 appId 的 Storage`,children:`清空所有`}),l&&(0,N.jsx)(`span`,{className:`ml-2 text-[11px] text-status-error truncate`,title:l,children:l})]}),(0,N.jsx)(`div`,{className:`flex-1 overflow-y-auto`,children:(0,N.jsxs)(`table`,{className:`w-full border-collapse text-[12px]`,children:[(0,N.jsx)(`thead`,{children:(0,N.jsxs)(`tr`,{children:[(0,N.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,N.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,N.jsx)(`th`,{className:`w-px sticky top-0 bg-bg-panel z-10 border-b border-border-subtle`})]})}),(0,N.jsx)(`tbody`,{children:e.length===0?(0,N.jsx)(`tr`,{children:(0,N.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,N.jsxs)(`tr`,{className:`hover:[&>td]:bg-surface`,children:[(0,N.jsx)(`td`,{className:`px-2.5 py-0.5 border-b border-border-subtle w-px pr-5 align-top`,children:(0,N.jsx)(`div`,{className:`font-mono text-code-blue max-w-[240px] truncate`,title:e.key,children:n})}),(0,N.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,N.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,N.jsx)(`td`,{className:`px-1 py-0.5 border-b border-border-subtle align-top`,children:(0,N.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,N.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,N.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,N.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,N.jsx)(`button`,{type:`button`,onClick:()=>void T(),disabled:d||!h.trim(),className:`${no} hover:border-accent hover:text-accent`,children:`+ 新增`})]})]})}function io(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 ao({source:e,active:t=!0,enabled:n=!0,isRuntimeRunning:r=!0}){let[i,a]=(0,M.useState)([]);eo({source:e,enabled:n,active:t,subscribe:e=>e.subscribe(e=>{a(t=>io(t,e))}),seed:(e,t)=>{e.getSnapshot().then(e=>{t()||a(e)})}});let o=e.clearAll?.bind(e);return(0,N.jsx)(ro,{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 oo(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 lo(e){return Array.isArray(e)?`[${e.length}]`:`{${Object.keys(e).length}}`}var uo=``;function fo(e,t){let n=e.overrides.get(t);return n===void 0?e.baseline===`expanded`?!0:e.baseline===`collapsed`?!1:t===uo:n}function po({path:e,value:t,editable:n,ctx:r}){if(typeof t==`boolean`)return(0,N.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-code-keyword`,children:[n&&(0,N.jsx)(`input`,{type:`checkbox`,checked:t,onChange:()=>r.onCommit?.(e,!t,t),className:`accent-accent`}),String(t)]});if(t==null)return(0,N.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,N.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,N.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 mo(e){return typeof e==`string`&&(e===``||/[.[\]]/.test(e))}function ho({path:e,label:t,value:n,depth:r,unsafeSegments:i,ctx:a}){let o={paddingLeft:r*14};if(so(n)){let s=fo(a.state,e);return(0,N.jsxs)(`div`,{children:[(0,N.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,N.jsx)(`span`,{className:`text-text-secondary w-3 shrink-0 text-center select-none`,children:s?`▾`:`▸`}),(0,N.jsx)(`span`,{className:`text-code-blue`,children:t}),(0,N.jsx)(`span`,{className:`text-text-secondary`,children:lo(n)})]}),s&&co(n).map(([t,n])=>(0,N.jsx)(ho,{path:oo(e,t),label:String(t),value:n,depth:r+1,unsafeSegments:i||mo(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,N.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-px text-[12px] font-mono`,style:o,...l?{"data-path":e}:{},children:[(0,N.jsx)(`span`,{className:`w-3 shrink-0`}),(0,N.jsx)(`span`,{className:`text-code-blue`,children:t}),(0,N.jsx)(`span`,{className:`text-text-secondary`,children:`:`}),(0,N.jsx)(po,{path:e,value:n,editable:l,ctx:a})]})}function go({root:e,bridgeId:t,command:n,onCommit:r}){let[i,a]=(0,M.useState)(`default`),[o,s]=(0,M.useState)(new Map),[c,l]=(0,M.useState)(0),[u,d]=(0,M.useState)(null),[f,p]=(0,M.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,N.jsx)(`div`,{"data-testid":`appdata-tree`,className:`py-1`,children:(0,N.jsx)(ho,{path:uo,label:`object`,value:e,depth:0,unsafeSegments:!1,ctx:{state:m,toggle:(e,t)=>{let n=new Map(o),r=!fo(m,e);n.set(e,r),r&&Array.isArray(t)&&t.forEach((t,r)=>{so(t)&&n.set(oo(e,r),!0)}),s(n)},beginEdit:(e,t)=>{d(e),p(t)},setDraft:p,endEdit:()=>d(null),onCommit:r}})})}function _o(e){return e.pagePath??e.id}function vo(e){return e!=null&&(typeof e==`object`||typeof e==`function`)&&typeof e.then==`function`}function yo(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 bo({title:e,disabled:t,onClick:n,children:r}){return(0,N.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 xo({state:e,onSelectBridge:t,isRuntimeRunning:n=!0,onSetData:r}){let{bridges:i,activeBridgeId:a,entries:o}=e,[s,c]=(0,M.useState)(null),[l,u]=(0,M.useState)([]),[d,f]=(0,M.useState)([]),p=(0,M.useRef)(!1),[m,h]=(0,M.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(vo(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,N.jsx)(`div`,{className:`flex flex-col overflow-hidden flex-1`,"data-testid":`appdata-panel`,children:(0,N.jsx)(`div`,{className:`text-[12px] text-text-dim text-center px-4 py-6`,children:g})}):(0,N.jsxs)(`div`,{className:`flex overflow-hidden flex-1`,"data-testid":`appdata-panel`,children:[(0,N.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,N.jsx)(`div`,{className:`px-2 py-1 text-[11px] text-text-secondary border-b border-border-subtle shrink-0`,children:`Pages`}),(0,N.jsx)(`div`,{className:`flex-1 overflow-y-auto`,role:`listbox`,children:i.map(e=>{let n=e.id===a;return(0,N.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:_o(e)},e.id)})})]}),(0,N.jsxs)(`div`,{className:`flex-1 flex flex-col overflow-hidden`,children:[(0,N.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,N.jsx)(bo,{title:`全部展开`,onClick:()=>_(`expanded`),children:`⊕`}),(0,N.jsx)(bo,{title:`全部收起`,onClick:()=>_(`collapsed`),children:`⊖`}),(0,N.jsx)(bo,{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,N.jsx)(bo,{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,N.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,N.jsx)(`div`,{"data-bridge-id":e.id,className:`absolute inset-0 flex-col overflow-y-auto`,style:{display:t?`flex`:`none`},children:i?(0,N.jsx)(go,{root:yo(n),bridgeId:e.id,command:s,onCommit:r?b(e.id):void 0}):(0,N.jsx)(`div`,{className:`text-[12px] text-text-dim text-center px-4 py-6`,children:g})},e.id)})})]})]})}function So(e){return(e??``).replace(/^\/+/,``)}function Co(e,t=``){let n=e.map(e=>e.id),r=n.join(`\0`),[i,a]=(0,M.useState)(null),[o,s]=(0,M.useState)(``),[c,l]=(0,M.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=>So(e.pagePath)===So(t))?.id??null:null;return{activeBridgeId:i&&n.includes(i)?i:u??n.at(-1)??null,setActiveBridge:e=>{n.includes(e)&&a(e)}}}var wo={bridges:[],entries:{}};function To({source:e,active:t=!0,enabled:n=!0,isRuntimeRunning:r=!0,activePagePath:i=``}){let[a,o]=(0,M.useState)(wo);eo({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}=Co(a.bridges,i),l=e.setData?.bind(e),u=l?(e,t)=>l(e,t):void 0;return(0,N.jsx)(xo,{state:{bridges:a.bridges,activeBridgeId:s,entries:a.entries},onSelectBridge:c,isRuntimeRunning:r,onSetData:u})}function Eo(...e){return e.filter(Boolean).join(` `)}function Do(e){let t=new Date(e);return[t.getHours(),t.getMinutes(),t.getSeconds()].map(e=>String(e).padStart(2,`0`)).join(`:`)}function Oo(e){return e===`error`?`text-red-500`:e===`compiling`?`text-amber-500`:e===`ready`?`text-emerald-600`:`text-text-muted`}function ko(e){return e.kind===`event`?e.event.message:e.log.text}function Ao({events:e,logs:t=[],onClear:n}){let r=e.length>0?e[e.length-1]:null,[i,a]=(0,M.useState)(``),o=(0,M.useRef)(null),s=(0,M.useRef)(null),c=(0,M.useRef)(!0);(0,M.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,M.useEffect)(()=>{c.current&&s.current?.scrollIntoView?.({behavior:`auto`})},[e.length+t.length]);let l=(0,M.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,M.useMemo)(()=>{if(!i)return l;let e=i.toLowerCase();return l.filter(t=>ko(t).toLowerCase().includes(e))},[l,i]),d=e.length===0&&t.length===0;return(0,N.jsxs)(`div`,{className:`flex flex-col h-full w-full min-h-0 text-[12px]`,children:[(0,N.jsxs)(`div`,{className:`flex items-center gap-2 px-2 h-8 shrink-0 border-b border-border-subtle`,children:[r?(0,N.jsx)(`span`,{"data-compile-current":!0,"data-status":r.status,className:Eo(`truncate font-medium shrink-0`,Oo(r.status)),children:r.message}):(0,N.jsx)(`span`,{className:`text-text-muted shrink-0`,children:`编译信息`}),(0,N.jsx)(`div`,{className:`flex-1 min-w-0`}),(0,N.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,N.jsxs)(`span`,{className:`text-[11px] text-text-muted tabular-nums shrink-0`,children:[u.length,`/`,l.length]}),(0,N.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,N.jsx)(`div`,{ref:o,className:`flex-1 min-h-0 overflow-auto`,children:d?(0,N.jsx)(`div`,{className:`flex items-center justify-center h-full text-text-muted`,children:`暂无编译信息`}):u.length===0?(0,N.jsx)(`div`,{className:`flex items-center justify-center h-full text-text-muted`,children:`无匹配日志`}):(0,N.jsxs)(`ul`,{className:`px-2 py-1 space-y-0.5`,children:[u.map((e,t)=>e.kind===`event`?(0,N.jsxs)(`li`,{"data-compile-row":!0,"data-status":e.event.status,className:`flex items-baseline gap-2 leading-5`,children:[(0,N.jsx)(`span`,{className:`text-text-muted tabular-nums shrink-0`,children:Do(e.at)}),(0,N.jsx)(`span`,{className:Eo(`break-all`,Oo(e.event.status)),children:e.event.message}),e.event.hotReload===!0&&(0,N.jsx)(`span`,{className:`shrink-0 px-1 rounded-sm bg-surface-2 text-text-muted`,children:`已重启`}),e.durationMs!==null&&(0,N.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,N.jsxs)(`li`,{"data-compile-log":!0,"data-stream":e.log.stream,className:`flex items-baseline gap-2 leading-5`,children:[(0,N.jsx)(`span`,{className:`text-text-muted tabular-nums shrink-0`,children:Do(e.at)}),(0,N.jsx)(`span`,{className:Eo(`break-all font-mono`,e.log.stream===`stderr`?`text-red-500`:`text-text`),children:e.log.text})]},`l-${e.at}-${t}`)),(0,N.jsx)(`div`,{ref:s})]})})]})}function jo(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,N.jsx)(to,{source:n,enabled:r,active:l,isRuntimeRunning:p});case`appdata`:return(0,N.jsx)(To,{source:o,enabled:s,active:l,isRuntimeRunning:p,activePagePath:c});case`storage`:return(0,N.jsx)(ao,{source:i,enabled:a,active:l,isRuntimeRunning:p});case`compile`:return(0,N.jsx)(Ao,{events:u,logs:d,onClear:f??(()=>{})})}}var Mo=new Set([`simulator`,`editor`,`wxml`,`appdata`,`storage`,`console`,`compile`]);function No({project:e}){let t=(0,M.useRef)(null),[n,r]=(0,M.useState)(!1),{session:i,device:a,simulator:o,panelData:s,rightPane:c,popover:l}=It({projectPath:e.path}),u=Jt(e.path),{state:p}=u,[m]=(0,M.useState)(()=>$n(p.dockTree??null,a.simPanelWidth,Mo)),v=(0,M.useMemo)(()=>Gn(),[]),x=g(),S=d(0,ce,de),C=_({present:S>0,publish:e=>{let t=S>0&&e.width>0&&e.height>0;x.set({viewId:y.hostToolbar,placement:t?{visible:!0,bounds:e}:{visible:!1},layer:h.hostToolbar})},deps:[S,x]});(0,M.useEffect)(()=>{let t=`Dimina DevTools`;return document.title=`${e.name} - ${t}`,b().then(n=>{n?.appName&&(t=n.appName,document.title=`${e.name} - ${t}`)}).catch(()=>{}),()=>{document.title=t}},[e.name]),(0,M.useEffect)(()=>()=>{t.current!==null&&window.clearTimeout(t.current)},[]);async function w(){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),ye)}catch{r(!1)}}let T={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,N.jsx)(f.Provider,{value:x,children:(0,N.jsxs)(`div`,{className:`flex flex-col h-screen`,children:[(0,N.jsx)(`div`,{ref:C,style:{height:S},className:`shrink-0 w-full`,"data-area":`host-toolbar`}),(0,N.jsx)(br,{compileDropdownRef:l.compileDropdownRef,showCompilePanel:l.showCompilePanel,onToggleCompilePanel:l.toggleCompilePanel,compileModeLabel:Ee(De(i.compileModes)),compileModesReady:i.compileModesReady,onRelaunch:()=>i.relaunch(),compileStatus:i.compileStatus,dockModel:m,dockRegistry:v,layout:u,simPanelWidth:a.simPanelWidth}),(0,N.jsx)(`div`,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,N.jsx)(Ro,{dockModel:m,dockRegistry:v,simPanelWidth:a.simPanelWidth,renderDomPanel:(e,t)=>e===`simulator`?(0,N.jsx)(Va,{device:a.device,orientation:a.orientation,zoom:a.zoom,onOpenDevicePicker:a.openDevicePicker,onOrientationChange:a.handleOrientationChange,onZoomChange:a.handleZoomChange,compileStatus:i.compileStatus,currentPage:o.currentRoute,copied:n,onCopyPagePath:w,runtimeStatus:i.runtimeStatus,watcherDead:i.watcherDead,onRelaunch:()=>i.relaunch(),onOpenInternalDevtools:()=>{ke()}}):e===`editor`?(0,N.jsx)(Ha,{}):e===`wxml`||e===`appdata`||e===`storage`||e===`compile`?(0,N.jsx)(Lo,{tabId:e,active:t.active,panelProps:T}):null,onPersistTree:u.setDockTree,persistedTree:p.dockTree??null})})]})})}function Po(e){return e.kind===`tabs`?e.panels.includes(`simulator`):e.children.some(Po)}function Fo(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 Io(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&&Po(n))return{splitId:e.id,childIndex:t};let r=Io(n);if(r)return r}return null}function Lo({tabId:e,active:t,panelProps:n}){return(0,N.jsx)(jo,{tabId:e,...n,tabActive:t})}function Ro(e){let{dockModel:t,dockRegistry:n,simPanelWidth:r,renderDomPanel:i,onPersistTree:a,persistedTree:o}=e,s=(0,M.useRef)(null),c=m(),l=(0,M.useCallback)(e=>{c?.set({viewId:y.simulatorDevtools,placement:e,layer:h.base})},[c]),u=(0,M.useCallback)((e,t,n)=>{if(e.current){t?(e.current.dispose(),e.current=p(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=p(t,{visible:!0,guardDisplayNone:!0,followScroll:!0,followGeometry:!0,publish:n}))},[]),d=(0,M.useCallback)((e,t)=>{e===`console`&&u(s,t,l)},[u,l]);return(0,M.useEffect)(()=>{let e=t.get().root,n=Io(e);n&&Fo(e,n)!==r&&t.apply(e=>{let t=Io(e.root);return!t||Fo(e.root,t)===r?e:Mn(e,t.splitId,t.childIndex,{minPx:r})})},[t,r]),(0,M.useEffect)(()=>()=>{s.current?.dispose(),s.current=null,c?.remove(y.simulatorDevtools)},[c]),(0,M.useEffect)(()=>t.subscribe(e=>{a(an(e.tree))}),[t,a]),(0,M.useEffect)(()=>{let e=an(t.get());e!==o&&a(e)},[]),(0,N.jsx)(Ma,{model:t,registry:n,renderDomPanel:i,bindNativeSlot:d,onActiveTabClick:(0,M.useCallback)(e=>{e===`simulator`||e===`editor`||t.apply(t=>Un(t,e,n))},[t,n])})}function zo(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.`)}function Bo(){let e=new URLSearchParams(location.search),t=e.get(`path`);return t?{name:e.get(`name`)||t,path:t}:null}function Vo(){return(0,N.jsx)(`div`,{style:{padding:24,fontFamily:`sans-serif`},children:`无法打开项目:窗口地址缺少 path 参数。请关闭此窗口并从项目列表重新打开。`})}function Ho({project:e}){return(0,M.useEffect)(()=>{e&&(document.title=e.name)},[e]),e?(0,N.jsx)(No,{project:e}):(0,N.jsx)(Vo,{})}var Uo=Bo();v().then(()=>{ct.createRoot(document.getElementById(`root`)).render((0,N.jsx)(Ho,{project:Uo}))}).catch(zo);
|
|
5
|
+
//# sourceMappingURL=workbench-BLJ0wKsg.js.map
|
package/dist/renderer/assets/{workbenchSettings-CV4LVA9b.js → workbenchSettings-YD0Ctbm_.js}
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import{a as e,i as t,n,t as r}from"./jsx-runtime-
|
|
1
|
+
import{a as e,i as t,n,t as r}from"./jsx-runtime-DIw5wnYl.js";import{c as i,i as a,n as o,o as s,r as c,s as l,u}from"./settings-api-Ccsf-Nsj.js";import{t as d}from"./button-CB2MWjHY.js";import{t as f}from"./input-CAObw95L.js";import{t as p}from"./constants-CkoGPQTS.js";import{n as m,t as h}from"./settings-tab-bar-CAzrv32m.js";var g=e(t(),1),_=e(n(),1),v=r(),y=`dimina`;function b(e){let t=`http://127.0.0.1:${e}/sse`;return{url:t,claudeCode:`claude mcp add --transport sse ${y} ${t}`,codex:`codex mcp add ${y} --url ${t}`,mcpJson:`{
|
|
2
2
|
"mcpServers": {
|
|
3
3
|
"${y}": {
|
|
4
4
|
"url": "${t}"
|
|
5
5
|
}
|
|
6
6
|
}
|
|
7
|
-
}`}}function x(e,t){return e?t.enabled===e.running?t.enabled&&e.running&&t.port!==e.activePort:!0:!1}var S={dim:`bg-text-dim`,success:`bg-status-success`,error:`bg-status-error`};function C({tone:e,children:t}){return(0,v.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,v.jsx)(`span`,{className:`inline-block w-2 h-2 rounded-full ${S[e]}`}),(0,v.jsx)(`span`,{className:`text-[12px] text-text-secondary`,children:t})]})}function w({mcpEnabled:e,mcpStatus:t}){return(0,v.jsxs)(`div`,{className:`rounded p-3 space-y-2 border border-border bg-surface`,children:[(0,v.jsx)(`div`,{className:`text-[11px] font-medium text-text-secondary`,children:`当前状态`}),e?t?.running?(0,v.jsxs)(C,{tone:`success`,children:[`MCP 已运行 - 端口 `,t.activePort]}):(0,v.jsxs)(C,{tone:`error`,children:[`MCP 未运行`,t?.error===`port-in-use`?`(端口 ${t.configuredPort} 已被占用)`:t?.error?`(${t.error})`:``]}):(0,v.jsx)(C,{tone:`dim`,children:`MCP 未启用`})]})}function T({mcpEnabled:e,onToggleMcp:t,mcpPortInput:n,onMcpPortInputChange:r,mcpStatus:i,mcpPort:a,needsRestart:o,onSave:s,onRestart:c,saved:l}){let u=b(a);return(0,v.jsxs)(`section`,{className:`rounded-lg border border-border p-4 space-y-4 bg-bg`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`h2`,{className:`text-[13px] font-medium mb-1`,children:`MCP 配置`}),(0,v.jsx)(`p`,{className:`text-[11px] leading-relaxed text-text-secondary`,children:`AI 助手可以通过 MCP 连接当前开发工具,读取 console、截图、执行 JS、查看 DOM / Storage / 网络请求。启用后开发工具启动时会自动监听 SSE 端点,并自动启用 CDP。`})]}),(0,v.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,v.jsx)(`span`,{className:`text-[12px] text-text-secondary`,children:`启用 MCP 服务`}),(0,v.jsx)(m,{checked:e,onCheckedChange:t})]}),(0,v.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,v.jsx)(`label`,{className:`text-[12px] shrink-0 w-16 text-text-secondary`,children:`SSE 端口`}),(0,v.jsx)(f,{type:`number`,min:1024,max:65535,value:n,onChange:e=>r(e.target.value),disabled:!e,className:`w-24 h-7 px-2 text-[12px]`}),(0,v.jsx)(`span`,{className:`text-[11px] text-text-dim`,children:`默认 7789`})]}),(0,v.jsx)(w,{mcpEnabled:e,mcpStatus:i}),o&&(0,v.jsxs)(`div`,{className:`rounded px-3 py-2 text-[12px] border bg-warn-bg text-[var(--color-status-warn)] flex items-center justify-between gap-3`,children:[(0,v.jsx)(`span`,{children:`配置已变更,需要重启应用后生效`}),(0,v.jsx)(d,{size:`xs`,onClick:c,className:`shrink-0`,children:`保存并重启`})]}),(0,v.jsxs)(`div`,{className:`rounded p-3 border border-border bg-surface`,children:[(0,v.jsx)(`div`,{className:`text-[11px] font-medium mb-2 text-text-secondary`,children:`本地客户端注册`}),(0,v.jsxs)(`div`,{className:`space-y-3`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`div`,{className:`text-[11px] mb-1 text-text-dim`,children:`Claude Code`}),(0,v.jsx)(`pre`,{className:`text-[11px] whitespace-pre-wrap leading-relaxed text-[var(--color-code-blue)] font-mono`,children:u.claudeCode})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`div`,{className:`text-[11px] mb-1 text-text-dim`,children:`Codex`}),(0,v.jsx)(`pre`,{className:`text-[11px] whitespace-pre-wrap leading-relaxed text-[var(--color-code-blue)] font-mono`,children:u.codex})]})]})]}),(0,v.jsxs)(`div`,{className:`rounded p-3 border border-border bg-surface`,children:[(0,v.jsx)(`div`,{className:`text-[11px] font-medium mb-2 text-text-secondary`,children:"`.mcp.json` 示例(SSE 传输)"}),(0,v.jsx)(`pre`,{className:`text-[11px] whitespace-pre-wrap leading-relaxed text-[var(--color-code-blue)] font-mono`,children:u.mcpJson})]}),(0,v.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,v.jsx)(d,{size:`sm`,onClick:s,children:`保存`}),l&&(0,v.jsx)(`span`,{className:`text-[11px] text-status-success`,children:`已保存`})]})]})}var E=[{id:`general`,label:`通用`},{id:`debug`,label:`调试`},{id:`mcp`,label:`MCP`}],D={system:`跟随系统`,dark:`深色`,light:`浅色`};function O({theme:e,onSelect:t}){return(0,v.jsx)(`div`,{className:`flex gap-1`,children:[`system`,`dark`,`light`].map(n=>(0,v.jsx)(d,{variant:e===n?`secondary`:`ghost`,size:`xs`,onClick:()=>t(n),children:D[n]},n))})}function k({autoBuildEnabled:e,onAutoBuildChange:t,autoReloadEnabled:n,onAutoReloadChange:r,theme:i,onThemeChange:a,saved:o}){return(0,v.jsxs)(`div`,{className:`space-y-4`,children:[(0,v.jsxs)(`section`,{className:`rounded-lg border border-border p-4 space-y-4 bg-bg`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`h2`,{className:`text-[13px] font-medium mb-1`,children:`编译与预览`}),(0,v.jsx)(`p`,{className:`text-[11px] leading-relaxed text-text-secondary`,children:`开启「自动编译」后,打开项目时会监听源文件改动并自动重新编译。开启「自动刷新」后,每次编译完成会刷新模拟器(仅改样式时原地热替换,保留当前页面栈与表单状态);关闭它则任何改动都不刷新,仅手动刷新。配置在下次打开项目时生效。`})]}),(0,v.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,v.jsx)(`span`,{className:`text-[12px] text-text-secondary`,children:`监听文件变化自动编译`}),(0,v.jsx)(m,{checked:e,onCheckedChange:t})]}),(0,v.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,v.jsx)(`span`,{className:`text-[12px] text-text-secondary`,children:`编译完成后自动刷新模拟器`}),(0,v.jsx)(m,{checked:n,onCheckedChange:r})]})]}),(0,v.jsxs)(`section`,{className:`rounded-lg border border-border p-4 space-y-3 bg-bg`,children:[(0,v.jsx)(`div`,{children:(0,v.jsx)(`h2`,{className:`text-[13px] font-medium mb-1`,children:`外观`})}),(0,v.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,v.jsx)(`span`,{className:`text-[12px] text-text-secondary`,children:`颜色模式`}),(0,v.jsx)(O,{theme:i,onSelect:a})]})]}),o&&(0,v.jsx)(`div`,{className:`text-[11px] text-status-success`,children:`已保存`})]})}function A({cdpStatus:e}){return(0,v.jsxs)(`div`,{className:`rounded p-3 space-y-2 border border-border bg-surface`,children:[(0,v.jsx)(`div`,{className:`text-[11px] font-medium text-text-secondary`,children:`当前状态`}),(0,v.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,v.jsx)(`span`,{className:`inline-block w-2 h-2 rounded-full ${e?.active?`bg-status-success`:`bg-text-dim`}`}),(0,v.jsx)(`span`,{className:`text-[12px] text-text-secondary`,children:e?.active?`CDP 已激活 - 端口 ${e.activePort}`:`CDP 未激活`})]}),e?.implicitDevDefault&&(0,v.jsx)(`div`,{className:`text-[11px] text-text-dim`,children:`当前为开发模式默认端口`}),e?.active&&(0,v.jsxs)(`div`,{className:`text-[11px] text-text-dim font-mono`,children:[`调试地址: http://localhost:`,e.activePort]})]})}function j(e,t){return!e||e.implicitDevDefault?!1:t.enabled===e.active?t.enabled&&e.active&&t.port!==e.activePort:!0}function M({cdpEnabled:e,onToggleCdp:t,portInput:n,onPortInputChange:r,cdpStatus:i,needsRestart:a,onSave:o,saved:s}){return(0,v.jsxs)(`section`,{className:`rounded-lg border border-border p-4 space-y-4 bg-bg`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`h2`,{className:`text-[13px] font-medium mb-1`,children:`DevTools Protocol`}),(0,v.jsx)(`p`,{className:`text-[11px] leading-relaxed text-text-secondary`,children:`开启后可通过 DevTools Protocol 连接调试模拟器。配置变更需要重启应用后生效。`})]}),(0,v.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,v.jsx)(`span`,{className:`text-[12px] text-text-secondary`,children:`启用 DevTools Protocol`}),(0,v.jsx)(m,{checked:e,onCheckedChange:t})]}),(0,v.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,v.jsx)(`label`,{className:`text-[12px] shrink-0 w-16 text-text-secondary`,children:`调试端口`}),(0,v.jsx)(f,{type:`number`,min:1024,max:65535,value:n,onChange:e=>r(e.target.value),disabled:!e,className:`w-24 h-7 px-2 text-[12px]`}),(0,v.jsxs)(`span`,{className:`text-[11px] text-text-dim`,children:[`默认 `,p]})]}),(0,v.jsx)(A,{cdpStatus:i}),a&&(0,v.jsx)(`div`,{className:`rounded px-3 py-2 text-[12px] border bg-warn-bg text-[var(--color-status-warn)]`,children:`配置已变更,需要重启应用后生效`}),(0,v.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,v.jsx)(d,{size:`sm`,onClick:o,children:`保存`}),s&&(0,v.jsx)(`span`,{className:`text-[11px] text-status-success`,children:`已保存`})]})]})}function N(){let[e,t]=(0,g.useState)({cdp:{enabled:!1,port:p},mcp:{enabled:!1,port:7789},compile:{autoBuild:!0},preview:{autoReload:!0},theme:`system`,lastCreateBaseDir:null}),[n,r]=(0,g.useState)(null),[d,f]=(0,g.useState)(null),[m,_]=(0,g.useState)(`general`),[y,b]=(0,g.useState)(!1),[S,C]=(0,g.useState)(String(p)),[w,D]=(0,g.useState)(`7789`);(0,g.useEffect)(()=>{let e=
|
|
8
|
-
//# sourceMappingURL=workbenchSettings-
|
|
7
|
+
}`}}function x(e,t){return e?t.enabled===e.running?t.enabled&&e.running&&t.port!==e.activePort:!0:!1}var S={dim:`bg-text-dim`,success:`bg-status-success`,error:`bg-status-error`};function C({tone:e,children:t}){return(0,v.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,v.jsx)(`span`,{className:`inline-block w-2 h-2 rounded-full ${S[e]}`}),(0,v.jsx)(`span`,{className:`text-[12px] text-text-secondary`,children:t})]})}function w({mcpEnabled:e,mcpStatus:t}){return(0,v.jsxs)(`div`,{className:`rounded p-3 space-y-2 border border-border bg-surface`,children:[(0,v.jsx)(`div`,{className:`text-[11px] font-medium text-text-secondary`,children:`当前状态`}),e?t?.running?(0,v.jsxs)(C,{tone:`success`,children:[`MCP 已运行 - 端口 `,t.activePort]}):(0,v.jsxs)(C,{tone:`error`,children:[`MCP 未运行`,t?.error===`port-in-use`?`(端口 ${t.configuredPort} 已被占用)`:t?.error?`(${t.error})`:``]}):(0,v.jsx)(C,{tone:`dim`,children:`MCP 未启用`})]})}function T({mcpEnabled:e,onToggleMcp:t,mcpPortInput:n,onMcpPortInputChange:r,mcpStatus:i,mcpPort:a,needsRestart:o,onSave:s,onRestart:c,saved:l}){let u=b(a);return(0,v.jsxs)(`section`,{className:`rounded-lg border border-border p-4 space-y-4 bg-bg`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`h2`,{className:`text-[13px] font-medium mb-1`,children:`MCP 配置`}),(0,v.jsx)(`p`,{className:`text-[11px] leading-relaxed text-text-secondary`,children:`AI 助手可以通过 MCP 连接当前开发工具,读取 console、截图、执行 JS、查看 DOM / Storage / 网络请求。启用后开发工具启动时会自动监听 SSE 端点,并自动启用 CDP。`})]}),(0,v.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,v.jsx)(`span`,{className:`text-[12px] text-text-secondary`,children:`启用 MCP 服务`}),(0,v.jsx)(m,{checked:e,onCheckedChange:t})]}),(0,v.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,v.jsx)(`label`,{className:`text-[12px] shrink-0 w-16 text-text-secondary`,children:`SSE 端口`}),(0,v.jsx)(f,{type:`number`,min:1024,max:65535,value:n,onChange:e=>r(e.target.value),disabled:!e,className:`w-24 h-7 px-2 text-[12px]`}),(0,v.jsx)(`span`,{className:`text-[11px] text-text-dim`,children:`默认 7789`})]}),(0,v.jsx)(w,{mcpEnabled:e,mcpStatus:i}),o&&(0,v.jsxs)(`div`,{className:`rounded px-3 py-2 text-[12px] border bg-warn-bg text-[var(--color-status-warn)] flex items-center justify-between gap-3`,children:[(0,v.jsx)(`span`,{children:`配置已变更,需要重启应用后生效`}),(0,v.jsx)(d,{size:`xs`,onClick:c,className:`shrink-0`,children:`保存并重启`})]}),(0,v.jsxs)(`div`,{className:`rounded p-3 border border-border bg-surface`,children:[(0,v.jsx)(`div`,{className:`text-[11px] font-medium mb-2 text-text-secondary`,children:`本地客户端注册`}),(0,v.jsxs)(`div`,{className:`space-y-3`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`div`,{className:`text-[11px] mb-1 text-text-dim`,children:`Claude Code`}),(0,v.jsx)(`pre`,{className:`text-[11px] whitespace-pre-wrap leading-relaxed text-[var(--color-code-blue)] font-mono`,children:u.claudeCode})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`div`,{className:`text-[11px] mb-1 text-text-dim`,children:`Codex`}),(0,v.jsx)(`pre`,{className:`text-[11px] whitespace-pre-wrap leading-relaxed text-[var(--color-code-blue)] font-mono`,children:u.codex})]})]})]}),(0,v.jsxs)(`div`,{className:`rounded p-3 border border-border bg-surface`,children:[(0,v.jsx)(`div`,{className:`text-[11px] font-medium mb-2 text-text-secondary`,children:"`.mcp.json` 示例(SSE 传输)"}),(0,v.jsx)(`pre`,{className:`text-[11px] whitespace-pre-wrap leading-relaxed text-[var(--color-code-blue)] font-mono`,children:u.mcpJson})]}),(0,v.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,v.jsx)(d,{size:`sm`,onClick:s,children:`保存`}),l&&(0,v.jsx)(`span`,{className:`text-[11px] text-status-success`,children:`已保存`})]})]})}var E=[{id:`general`,label:`通用`},{id:`debug`,label:`调试`},{id:`mcp`,label:`MCP`}],D={system:`跟随系统`,dark:`深色`,light:`浅色`};function O({theme:e,onSelect:t}){return(0,v.jsx)(`div`,{className:`flex gap-1`,children:[`system`,`dark`,`light`].map(n=>(0,v.jsx)(d,{variant:e===n?`secondary`:`ghost`,size:`xs`,onClick:()=>t(n),children:D[n]},n))})}function k({autoBuildEnabled:e,onAutoBuildChange:t,autoReloadEnabled:n,onAutoReloadChange:r,theme:i,onThemeChange:a,saved:o}){return(0,v.jsxs)(`div`,{className:`space-y-4`,children:[(0,v.jsxs)(`section`,{className:`rounded-lg border border-border p-4 space-y-4 bg-bg`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`h2`,{className:`text-[13px] font-medium mb-1`,children:`编译与预览`}),(0,v.jsx)(`p`,{className:`text-[11px] leading-relaxed text-text-secondary`,children:`开启「自动编译」后,打开项目时会监听源文件改动并自动重新编译。开启「自动刷新」后,每次编译完成会刷新模拟器(仅改样式时原地热替换,保留当前页面栈与表单状态);关闭它则任何改动都不刷新,仅手动刷新。配置在下次打开项目时生效。`})]}),(0,v.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,v.jsx)(`span`,{className:`text-[12px] text-text-secondary`,children:`监听文件变化自动编译`}),(0,v.jsx)(m,{checked:e,onCheckedChange:t})]}),(0,v.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,v.jsx)(`span`,{className:`text-[12px] text-text-secondary`,children:`编译完成后自动刷新模拟器`}),(0,v.jsx)(m,{checked:n,onCheckedChange:r})]})]}),(0,v.jsxs)(`section`,{className:`rounded-lg border border-border p-4 space-y-3 bg-bg`,children:[(0,v.jsx)(`div`,{children:(0,v.jsx)(`h2`,{className:`text-[13px] font-medium mb-1`,children:`外观`})}),(0,v.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,v.jsx)(`span`,{className:`text-[12px] text-text-secondary`,children:`颜色模式`}),(0,v.jsx)(O,{theme:i,onSelect:a})]})]}),o&&(0,v.jsx)(`div`,{className:`text-[11px] text-status-success`,children:`已保存`})]})}function A({cdpStatus:e}){return(0,v.jsxs)(`div`,{className:`rounded p-3 space-y-2 border border-border bg-surface`,children:[(0,v.jsx)(`div`,{className:`text-[11px] font-medium text-text-secondary`,children:`当前状态`}),(0,v.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,v.jsx)(`span`,{className:`inline-block w-2 h-2 rounded-full ${e?.active?`bg-status-success`:`bg-text-dim`}`}),(0,v.jsx)(`span`,{className:`text-[12px] text-text-secondary`,children:e?.active?`CDP 已激活 - 端口 ${e.activePort}`:`CDP 未激活`})]}),e?.implicitDevDefault&&(0,v.jsx)(`div`,{className:`text-[11px] text-text-dim`,children:`当前为开发模式默认端口`}),e?.active&&(0,v.jsxs)(`div`,{className:`text-[11px] text-text-dim font-mono`,children:[`调试地址: http://localhost:`,e.activePort]})]})}function j(e,t){return!e||e.implicitDevDefault?!1:t.enabled===e.active?t.enabled&&e.active&&t.port!==e.activePort:!0}function M({cdpEnabled:e,onToggleCdp:t,portInput:n,onPortInputChange:r,cdpStatus:i,needsRestart:a,onSave:o,saved:s}){return(0,v.jsxs)(`section`,{className:`rounded-lg border border-border p-4 space-y-4 bg-bg`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`h2`,{className:`text-[13px] font-medium mb-1`,children:`DevTools Protocol`}),(0,v.jsx)(`p`,{className:`text-[11px] leading-relaxed text-text-secondary`,children:`开启后可通过 DevTools Protocol 连接调试模拟器。配置变更需要重启应用后生效。`})]}),(0,v.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,v.jsx)(`span`,{className:`text-[12px] text-text-secondary`,children:`启用 DevTools Protocol`}),(0,v.jsx)(m,{checked:e,onCheckedChange:t})]}),(0,v.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,v.jsx)(`label`,{className:`text-[12px] shrink-0 w-16 text-text-secondary`,children:`调试端口`}),(0,v.jsx)(f,{type:`number`,min:1024,max:65535,value:n,onChange:e=>r(e.target.value),disabled:!e,className:`w-24 h-7 px-2 text-[12px]`}),(0,v.jsxs)(`span`,{className:`text-[11px] text-text-dim`,children:[`默认 `,p]})]}),(0,v.jsx)(A,{cdpStatus:i}),a&&(0,v.jsx)(`div`,{className:`rounded px-3 py-2 text-[12px] border bg-warn-bg text-[var(--color-status-warn)]`,children:`配置已变更,需要重启应用后生效`}),(0,v.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,v.jsx)(d,{size:`sm`,onClick:o,children:`保存`}),s&&(0,v.jsx)(`span`,{className:`text-[11px] text-status-success`,children:`已保存`})]})]})}function N(){let[e,t]=(0,g.useState)({cdp:{enabled:!1,port:p},mcp:{enabled:!1,port:7789},compile:{autoBuild:!0},preview:{autoReload:!0},theme:`system`,lastCreateBaseDir:null}),[n,r]=(0,g.useState)(null),[d,f]=(0,g.useState)(null),[m,_]=(0,g.useState)(`general`),[y,b]=(0,g.useState)(!1),[S,C]=(0,g.useState)(String(p)),[w,D]=(0,g.useState)(`7789`);(0,g.useEffect)(()=>{let e=s(e=>{t(e.settings),C(String(e.settings.cdp.port)),D(String(e.settings.mcp.port))});return a().then(e=>{t(e),C(String(e.cdp.port)),D(String(e.mcp.port))}),o().then(r),c().then(f),e},[]);function O(){b(!0),window.setTimeout(()=>b(!1),2e3)}function A(){t(e=>({...e,cdp:{...e.cdp,enabled:!e.cdp.enabled}}))}function N(){t(e=>({...e,mcp:{...e.mcp,enabled:!e.mcp.enabled}}))}function P(n){let r={...e,theme:n};t(r),u(n),i(r)}function F(e){t(e),i(e).then(O)}function I(){let t=parseInt(S,10);if(Number.isNaN(t)||t<1024||t>65535)return null;let n=parseInt(w,10);return Number.isNaN(n)||n<1024||n>65535?null:{...e,cdp:{...e.cdp,port:t},mcp:{...e.mcp,port:n}}}async function L(){let e=I();e&&(t(e),await i(e),r(await o()),f(await c()),O())}async function R(){let e=I();e&&(t(e),await i(e),await l())}let z=I()??e,B=j(n,z.cdp),V=x(d,z.mcp);return(0,v.jsxs)(`div`,{className:`flex flex-col h-screen bg-surface text-text`,children:[(0,v.jsx)(h,{tabs:E,activeTab:m,onTabChange:_}),(0,v.jsxs)(`div`,{className:`flex-1 overflow-y-auto p-4`,children:[m===`general`&&(0,v.jsx)(k,{autoBuildEnabled:e.compile.autoBuild,onAutoBuildChange:t=>F({...e,compile:{...e.compile,autoBuild:t}}),autoReloadEnabled:e.preview.autoReload,onAutoReloadChange:t=>F({...e,preview:{...e.preview,autoReload:t}}),theme:e.theme,onThemeChange:P,saved:y}),m===`debug`&&(0,v.jsx)(M,{cdpEnabled:e.cdp.enabled,onToggleCdp:A,portInput:S,onPortInputChange:C,cdpStatus:n,needsRestart:B,onSave:L,saved:y}),m===`mcp`&&(0,v.jsx)(T,{mcpEnabled:e.mcp.enabled,onToggleMcp:N,mcpPortInput:w,onMcpPortInputChange:D,mcpStatus:d,mcpPort:z.mcp.port,needsRestart:V,onSave:L,onRestart:R,saved:y})]})]})}_.createRoot(document.getElementById(`root`)).render((0,v.jsx)(N,{}));
|
|
8
|
+
//# sourceMappingURL=workbenchSettings-YD0Ctbm_.js.map
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="zh-CN">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<!-- See main/index.html for CSP rationale. -->
|
|
6
|
+
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: http: https:; font-src 'self' data:; media-src 'self' blob: http: https:; connect-src 'self' http: https: ws: wss:;" />
|
|
7
|
+
<title>Device Picker</title>
|
|
8
|
+
<style>
|
|
9
|
+
html, body { margin: 0; padding: 0; width: 100%; height: 100%; overflow: hidden; background: transparent !important; }
|
|
10
|
+
</style>
|
|
11
|
+
<script type="module" crossorigin src="../../assets/devicePicker-H2eIO4e1.js"></script>
|
|
12
|
+
<link rel="modulepreload" crossorigin href="../../assets/jsx-runtime-DIw5wnYl.js">
|
|
13
|
+
<link rel="modulepreload" crossorigin href="../../assets/presets-DMZOb9ay.js">
|
|
14
|
+
<link rel="modulepreload" crossorigin href="../../assets/dist-DIFlRMKe.js">
|
|
15
|
+
<link rel="modulepreload" crossorigin href="../../assets/utils-sEB5OZEQ.js">
|
|
16
|
+
<link rel="modulepreload" crossorigin href="../../assets/button-CB2MWjHY.js">
|
|
17
|
+
<link rel="modulepreload" crossorigin href="../../assets/createLucideIcon-cZ9FlZZw.js">
|
|
18
|
+
<link rel="modulepreload" crossorigin href="../../assets/dialog-pHzEA8Vx.js">
|
|
19
|
+
<link rel="modulepreload" crossorigin href="../../assets/dist-B5HADirS.js">
|
|
20
|
+
<link rel="modulepreload" crossorigin href="../../assets/search-BMvuYF48.js">
|
|
21
|
+
<link rel="modulepreload" crossorigin href="../../assets/ipc-channels-overlays-gIPUFnqc.js">
|
|
22
|
+
<link rel="modulepreload" crossorigin href="../../assets/view-api-B-2zPBR5.js">
|
|
23
|
+
<link rel="stylesheet" crossorigin href="../../assets/jsx-runtime-DICEQH_0.css">
|
|
24
|
+
</head>
|
|
25
|
+
<body>
|
|
26
|
+
<div id="root"></div>
|
|
27
|
+
</body>
|
|
28
|
+
</html>
|
|
@@ -9,11 +9,12 @@
|
|
|
9
9
|
html, body { margin: 0; padding: 0; height: 100%; overflow: hidden; }
|
|
10
10
|
#root { height: 100%; }
|
|
11
11
|
</style>
|
|
12
|
-
<script type="module" crossorigin src="../../assets/hostSidebarDefault-
|
|
13
|
-
<link rel="modulepreload" crossorigin href="../../assets/jsx-runtime-
|
|
14
|
-
<link rel="modulepreload" crossorigin href="../../assets/createLucideIcon-
|
|
15
|
-
<link rel="modulepreload" crossorigin href="../../assets/
|
|
16
|
-
<link rel="
|
|
12
|
+
<script type="module" crossorigin src="../../assets/hostSidebarDefault-DRWh6OCt.js"></script>
|
|
13
|
+
<link rel="modulepreload" crossorigin href="../../assets/jsx-runtime-DIw5wnYl.js">
|
|
14
|
+
<link rel="modulepreload" crossorigin href="../../assets/createLucideIcon-cZ9FlZZw.js">
|
|
15
|
+
<link rel="modulepreload" crossorigin href="../../assets/smartphone-Bb2GdIKy.js">
|
|
16
|
+
<link rel="modulepreload" crossorigin href="../../assets/types-Bh0hA7El.js">
|
|
17
|
+
<link rel="stylesheet" crossorigin href="../../assets/jsx-runtime-DICEQH_0.css">
|
|
17
18
|
</head>
|
|
18
19
|
<body>
|
|
19
20
|
<div id="root"></div>
|