@forgeax/interface 0.4.1
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/LICENSE +202 -0
- package/NOTICE +9 -0
- package/README.md +111 -0
- package/dist/package/browser/App.css +192 -0
- package/dist/package/browser/App.d.ts +11 -0
- package/dist/package/browser/App.js +11 -0
- package/dist/package/browser/ApplicationDetachedShell.d.ts +13 -0
- package/dist/package/browser/ApplicationDetachedShell.js +10 -0
- package/dist/package/browser/ApplicationShell.d.ts +19 -0
- package/dist/package/browser/ApplicationShell.js +62 -0
- package/dist/package/browser/app-kit.d.ts +1 -0
- package/dist/package/browser/app-kit.js +4 -0
- package/dist/package/browser/appHostBootstrap.d.ts +16 -0
- package/dist/package/browser/appHostBootstrap.js +145 -0
- package/dist/package/browser/application.d.ts +35 -0
- package/dist/package/browser/application.js +64 -0
- package/dist/package/browser/assets/icons/agent-icon.png +0 -0
- package/dist/package/browser/assets/icons/at.svg +3 -0
- package/dist/package/browser/assets/icons/chevron-collapse.svg +3 -0
- package/dist/package/browser/assets/icons/chevron-expand.svg +3 -0
- package/dist/package/browser/assets/icons/chevron-up.svg +3 -0
- package/dist/package/browser/assets/icons/close-x.svg +3 -0
- package/dist/package/browser/assets/icons/close.svg +3 -0
- package/dist/package/browser/assets/icons/copy.svg +4 -0
- package/dist/package/browser/assets/icons/edit.svg +3 -0
- package/dist/package/browser/assets/icons/fullscreen.svg +3 -0
- package/dist/package/browser/assets/icons/pause.svg +4 -0
- package/dist/package/browser/assets/icons/play.svg +3 -0
- package/dist/package/browser/assets/icons/select.svg +3 -0
- package/dist/package/browser/assets/icons/sendMessage-enable.svg +4 -0
- package/dist/package/browser/assets/icons/sendMessage.svg +4 -0
- package/dist/package/browser/assets/icons/status-done.svg +11 -0
- package/dist/package/browser/assets/icons/status-running.svg +10 -0
- package/dist/package/browser/assets/icons/status-waiting.svg +10 -0
- package/dist/package/browser/assets/icons/tool-execute-script.svg +3 -0
- package/dist/package/browser/assets/icons/tool-other.svg +10 -0
- package/dist/package/browser/assets/icons/tool-read-file.svg +3 -0
- package/dist/package/browser/assets/icons/tool-resource-search.svg +3 -0
- package/dist/package/browser/assets/icons/tool-task-todo.svg +4 -0
- package/dist/package/browser/assets/icons/tool-write-file.svg +3 -0
- package/dist/package/browser/boot/SettingsSection.d.ts +14 -0
- package/dist/package/browser/boot/SettingsSection.js +82 -0
- package/dist/package/browser/boot/broadcast.d.ts +2 -0
- package/dist/package/browser/boot/broadcast.js +32 -0
- package/dist/package/browser/boot/driver.d.ts +22 -0
- package/dist/package/browser/boot/driver.js +47 -0
- package/dist/package/browser/boot/store.d.ts +29 -0
- package/dist/package/browser/boot/store.js +114 -0
- package/dist/package/browser/boot/themes.d.ts +19 -0
- package/dist/package/browser/boot/themes.js +21 -0
- package/dist/package/browser/boot/types.d.ts +22 -0
- package/dist/package/browser/boot/types.js +30 -0
- package/dist/package/browser/brand/BrandProvider.d.ts +19 -0
- package/dist/package/browser/brand/BrandProvider.js +35 -0
- package/dist/package/browser/brand/index.d.ts +4 -0
- package/dist/package/browser/brand/index.js +3 -0
- package/dist/package/browser/brand/runtime.d.ts +17 -0
- package/dist/package/browser/brand/runtime.js +71 -0
- package/dist/package/browser/brand/types.d.ts +77 -0
- package/dist/package/browser/brand/types.js +9 -0
- package/dist/package/browser/components/ActivityRail/ActivityRail.css +294 -0
- package/dist/package/browser/components/ActivityRail/ActivityRail.d.ts +2 -0
- package/dist/package/browser/components/ActivityRail/ActivityRail.js +164 -0
- package/dist/package/browser/components/ActivityRail/activity-rail-model.d.ts +18 -0
- package/dist/package/browser/components/ActivityRail/activity-rail-model.js +144 -0
- package/dist/package/browser/components/AgentAvatar/AgentAvatar.d.ts +17 -0
- package/dist/package/browser/components/AgentAvatar/AgentAvatar.js +50 -0
- package/dist/package/browser/components/BuildBadge/BuildBadge.d.ts +1 -0
- package/dist/package/browser/components/BuildBadge/BuildBadge.js +279 -0
- package/dist/package/browser/components/Bus/BusAdminPanel.css +2425 -0
- package/dist/package/browser/components/Bus/BusAdminPanel.d.ts +2 -0
- package/dist/package/browser/components/Bus/BusAdminPanel.js +1385 -0
- package/dist/package/browser/components/Bus/CapabilityOverview.d.ts +3 -0
- package/dist/package/browser/components/Bus/CapabilityOverview.js +50 -0
- package/dist/package/browser/components/ChatColumn/ChatColumn.d.ts +2 -0
- package/dist/package/browser/components/ChatColumn/ChatColumn.js +18 -0
- package/dist/package/browser/components/ChatColumn/SessionTabStrip.d.ts +1 -0
- package/dist/package/browser/components/ChatColumn/SessionTabStrip.js +103 -0
- package/dist/package/browser/components/ChatColumn/useChatWidth.d.ts +5 -0
- package/dist/package/browser/components/ChatColumn/useChatWidth.js +13 -0
- package/dist/package/browser/components/CommandPalette/CommandPalette.css +199 -0
- package/dist/package/browser/components/CommandPalette/CommandPalette.d.ts +2 -0
- package/dist/package/browser/components/CommandPalette/CommandPalette.js +242 -0
- package/dist/package/browser/components/Confirm/ConfirmDialog.d.ts +2 -0
- package/dist/package/browser/components/Confirm/ConfirmDialog.js +113 -0
- package/dist/package/browser/components/ContextMenu/ContextMenu.d.ts +10 -0
- package/dist/package/browser/components/ContextMenu/ContextMenu.js +218 -0
- package/dist/package/browser/components/ContextMenu/menuRegistry.d.ts +18 -0
- package/dist/package/browser/components/ContextMenu/menuRegistry.js +152 -0
- package/dist/package/browser/components/DetachedSurface.d.ts +20 -0
- package/dist/package/browser/components/DetachedSurface.js +102 -0
- package/dist/package/browser/components/DockShell/DockPanelHost.d.ts +4 -0
- package/dist/package/browser/components/DockShell/DockPanelHost.js +7 -0
- package/dist/package/browser/components/DockShell/DockRegion.d.ts +7 -0
- package/dist/package/browser/components/DockShell/DockRegion.js +315 -0
- package/dist/package/browser/components/DockShell/DockShell.css +1018 -0
- package/dist/package/browser/components/DockShell/DockTab.d.ts +3 -0
- package/dist/package/browser/components/DockShell/DockTab.js +139 -0
- package/dist/package/browser/components/DockShell/ExtensionHostPanel.d.ts +9 -0
- package/dist/package/browser/components/DockShell/ExtensionHostPanel.js +68 -0
- package/dist/package/browser/components/DockShell/ExtensionRuntimeFrame.d.ts +14 -0
- package/dist/package/browser/components/DockShell/ExtensionRuntimeFrame.js +56 -0
- package/dist/package/browser/components/DockShell/PanelWindowingBoundary.d.ts +6 -0
- package/dist/package/browser/components/DockShell/PanelWindowingBoundary.js +9 -0
- package/dist/package/browser/components/DockShell/chatDockAnimation.d.ts +45 -0
- package/dist/package/browser/components/DockShell/chatDockAnimation.js +101 -0
- package/dist/package/browser/components/DockShell/chatDockFullscreen.d.ts +17 -0
- package/dist/package/browser/components/DockShell/chatDockFullscreen.js +22 -0
- package/dist/package/browser/components/DockShell/chatDockLayout.d.ts +10 -0
- package/dist/package/browser/components/DockShell/chatDockLayout.js +11 -0
- package/dist/package/browser/components/DockShell/compact-empty-dock-groups.d.ts +16 -0
- package/dist/package/browser/components/DockShell/compact-empty-dock-groups.js +28 -0
- package/dist/package/browser/components/DockShell/crossInstanceDrop.d.ts +1 -0
- package/dist/package/browser/components/DockShell/crossInstanceDrop.js +1 -0
- package/dist/package/browser/components/DockShell/dockResetEpoch.d.ts +2 -0
- package/dist/package/browser/components/DockShell/dockResetEpoch.js +13 -0
- package/dist/package/browser/components/DockShell/dockTitle.d.ts +12 -0
- package/dist/package/browser/components/DockShell/dockTitle.js +36 -0
- package/dist/package/browser/components/DockShell/dockviewRegistry.d.ts +1 -0
- package/dist/package/browser/components/DockShell/dockviewRegistry.js +1 -0
- package/dist/package/browser/components/DockShell/edgeDrawer.d.ts +24 -0
- package/dist/package/browser/components/DockShell/edgeDrawer.js +1144 -0
- package/dist/package/browser/components/DockShell/edgePinStore.d.ts +12 -0
- package/dist/package/browser/components/DockShell/edgePinStore.js +37 -0
- package/dist/package/browser/components/DockShell/extension-editor-bridge.d.ts +13 -0
- package/dist/package/browser/components/DockShell/extension-editor-bridge.js +100 -0
- package/dist/package/browser/components/DockShell/extension-runtime-selection.d.ts +8 -0
- package/dist/package/browser/components/DockShell/extension-runtime-selection.js +6 -0
- package/dist/package/browser/components/DockShell/extensionRuntime.d.ts +17 -0
- package/dist/package/browser/components/DockShell/extensionRuntime.js +84 -0
- package/dist/package/browser/components/DockShell/footer-panel-visibility.d.ts +7 -0
- package/dist/package/browser/components/DockShell/footer-panel-visibility.js +43 -0
- package/dist/package/browser/components/DockShell/footer-panels.d.ts +2 -0
- package/dist/package/browser/components/DockShell/footer-panels.js +7 -0
- package/dist/package/browser/components/DockShell/panelRegistry.d.ts +37 -0
- package/dist/package/browser/components/DockShell/panelRegistry.js +126 -0
- package/dist/package/browser/components/DockShell/panelRenderers.d.ts +325 -0
- package/dist/package/browser/components/DockShell/panelRenderers.js +25 -0
- package/dist/package/browser/components/DockShell/panelTabCommands.d.ts +18 -0
- package/dist/package/browser/components/DockShell/panelTabCommands.js +133 -0
- package/dist/package/browser/components/DockShell/panelWindowing.d.ts +32 -0
- package/dist/package/browser/components/DockShell/panelWindowing.js +42 -0
- package/dist/package/browser/components/DockShell/regions.d.ts +1 -0
- package/dist/package/browser/components/DockShell/regions.js +1 -0
- package/dist/package/browser/components/DockShell/resolveRegion.d.ts +1 -0
- package/dist/package/browser/components/DockShell/resolveRegion.js +1 -0
- package/dist/package/browser/components/DockShell/sanitizeDockLayout.d.ts +3 -0
- package/dist/package/browser/components/DockShell/sanitizeDockLayout.js +46 -0
- package/dist/package/browser/components/DockShell/sideEdgeMove.d.ts +1 -0
- package/dist/package/browser/components/DockShell/sideEdgeMove.js +1 -0
- package/dist/package/browser/components/DockShell/studioTabMenuProvider.d.ts +13 -0
- package/dist/package/browser/components/DockShell/studioTabMenuProvider.js +39 -0
- package/dist/package/browser/components/DockShell/tabContextMenu.d.ts +29 -0
- package/dist/package/browser/components/DockShell/tabContextMenu.js +68 -0
- package/dist/package/browser/components/DockShell/ueDrag/controller.d.ts +80 -0
- package/dist/package/browser/components/DockShell/ueDrag/controller.js +785 -0
- package/dist/package/browser/components/DockShell/ueDrag/geometry.d.ts +94 -0
- package/dist/package/browser/components/DockShell/ueDrag/geometry.js +217 -0
- package/dist/package/browser/components/DockShell/ueDrag/overlay.d.ts +32 -0
- package/dist/package/browser/components/DockShell/ueDrag/overlay.js +206 -0
- package/dist/package/browser/components/DockShell/ueDrag/ueDrag.css +199 -0
- package/dist/package/browser/components/DockShell/useAuxBarWidth.d.ts +5 -0
- package/dist/package/browser/components/DockShell/useAuxBarWidth.js +13 -0
- package/dist/package/browser/components/Drawer/DrawerHostView.css +143 -0
- package/dist/package/browser/components/Drawer/DrawerHostView.d.ts +19 -0
- package/dist/package/browser/components/Drawer/DrawerHostView.js +93 -0
- package/dist/package/browser/components/Drawer/DrawerLauncher.d.ts +12 -0
- package/dist/package/browser/components/Drawer/DrawerLauncher.js +22 -0
- package/dist/package/browser/components/Drawer/useDrawerStore.d.ts +15 -0
- package/dist/package/browser/components/Drawer/useDrawerStore.js +80 -0
- package/dist/package/browser/components/ErrorBoundary.d.ts +55 -0
- package/dist/package/browser/components/ErrorBoundary.js +131 -0
- package/dist/package/browser/components/ExtensionHost/ExtensionIframeHost.d.ts +28 -0
- package/dist/package/browser/components/ExtensionHost/ExtensionIframeHost.js +179 -0
- package/dist/package/browser/components/ExtensionHost/NativeExtensionHost.d.ts +14 -0
- package/dist/package/browser/components/ExtensionHost/NativeExtensionHost.js +152 -0
- package/dist/package/browser/components/Feedback/FeedbackPanel.css +640 -0
- package/dist/package/browser/components/Feedback/FeedbackPanel.d.ts +8 -0
- package/dist/package/browser/components/Feedback/FeedbackPanel.js +118 -0
- package/dist/package/browser/components/Feedback/PassiveFeedback.css +179 -0
- package/dist/package/browser/components/Feedback/PassiveFeedback.d.ts +2 -0
- package/dist/package/browser/components/Feedback/PassiveFeedback.js +218 -0
- package/dist/package/browser/components/Feedback/collect.d.ts +15 -0
- package/dist/package/browser/components/Feedback/collect.js +80 -0
- package/dist/package/browser/components/Feedback/store.d.ts +61 -0
- package/dist/package/browser/components/Feedback/store.js +174 -0
- package/dist/package/browser/components/LangSwitcher/LangSwitcher.css +78 -0
- package/dist/package/browser/components/LangSwitcher/LangSwitcher.d.ts +14 -0
- package/dist/package/browser/components/LangSwitcher/LangSwitcher.js +44 -0
- package/dist/package/browser/components/MainArea/ConsolePanel.d.ts +1 -0
- package/dist/package/browser/components/MainArea/ConsolePanel.js +16 -0
- package/dist/package/browser/components/MainArea/MainArea.css +2130 -0
- package/dist/package/browser/components/MainArea/MainArea.d.ts +2 -0
- package/dist/package/browser/components/MainArea/MainArea.js +20 -0
- package/dist/package/browser/components/MainArea/StandaloneExtensionIframe.d.ts +25 -0
- package/dist/package/browser/components/MainArea/StandaloneExtensionIframe.js +155 -0
- package/dist/package/browser/components/MainArea/SurfacePanels.d.ts +3 -0
- package/dist/package/browser/components/MainArea/SurfacePanels.js +27 -0
- package/dist/package/browser/components/MainArea/TelemetryViewer.css +122 -0
- package/dist/package/browser/components/MainArea/TelemetryViewer.d.ts +36 -0
- package/dist/package/browser/components/MainArea/TelemetryViewer.js +116 -0
- package/dist/package/browser/components/MenuBar/MenuBar.css +186 -0
- package/dist/package/browser/components/MenuBar/MenuBar.d.ts +27 -0
- package/dist/package/browser/components/MenuBar/MenuBar.js +286 -0
- package/dist/package/browser/components/MenuBar/index.d.ts +1 -0
- package/dist/package/browser/components/MenuBar/index.js +1 -0
- package/dist/package/browser/components/MenuBar/menubar-open-state.d.ts +8 -0
- package/dist/package/browser/components/MenuBar/menubar-open-state.js +11 -0
- package/dist/package/browser/components/MenuBar/menubar-surface.d.ts +30 -0
- package/dist/package/browser/components/MenuBar/menubar-surface.js +201 -0
- package/dist/package/browser/components/ModelPicker/index.d.ts +1 -0
- package/dist/package/browser/components/ModelPicker/index.js +1 -0
- package/dist/package/browser/components/ModelPicker/useModelCatalog.d.ts +22 -0
- package/dist/package/browser/components/ModelPicker/useModelCatalog.js +100 -0
- package/dist/package/browser/components/Onboarding/ConnectModelPrompt.d.ts +2 -0
- package/dist/package/browser/components/Onboarding/ConnectModelPrompt.js +40 -0
- package/dist/package/browser/components/Onboarding/Onboarding.css +232 -0
- package/dist/package/browser/components/Onboarding/OnboardingController.d.ts +10 -0
- package/dist/package/browser/components/Onboarding/OnboardingController.js +549 -0
- package/dist/package/browser/components/Onboarding/connect-selection.d.ts +17 -0
- package/dist/package/browser/components/Onboarding/connect-selection.js +18 -0
- package/dist/package/browser/components/Onboarding/home-transition.d.ts +9 -0
- package/dist/package/browser/components/Onboarding/home-transition.js +20 -0
- package/dist/package/browser/components/Onboarding/index.d.ts +4 -0
- package/dist/package/browser/components/Onboarding/index.js +3 -0
- package/dist/package/browser/components/Onboarding/prepareTourShell.d.ts +5 -0
- package/dist/package/browser/components/Onboarding/prepareTourShell.js +11 -0
- package/dist/package/browser/components/Onboarding/project-name.d.ts +17 -0
- package/dist/package/browser/components/Onboarding/project-name.js +29 -0
- package/dist/package/browser/components/Onboarding/types.d.ts +31 -0
- package/dist/package/browser/components/Onboarding/types.js +77 -0
- package/dist/package/browser/components/PageTabs/PageTabStrip.css +221 -0
- package/dist/package/browser/components/PageTabs/PageTabStrip.d.ts +3 -0
- package/dist/package/browser/components/PageTabs/PageTabStrip.js +214 -0
- package/dist/package/browser/components/PageTabs/openablePageTypes.d.ts +9 -0
- package/dist/package/browser/components/PageTabs/openablePageTypes.js +13 -0
- package/dist/package/browser/components/PanelShell/PanelShell.css +517 -0
- package/dist/package/browser/components/PanelShell/PanelShell.d.ts +7 -0
- package/dist/package/browser/components/PanelShell/PanelShell.js +459 -0
- package/dist/package/browser/components/Resize/ResizeHandle.d.ts +1 -0
- package/dist/package/browser/components/Resize/ResizeHandle.js +1 -0
- package/dist/package/browser/components/SceneBackground/SceneBackground.d.ts +2 -0
- package/dist/package/browser/components/SceneBackground/SceneBackground.js +5 -0
- package/dist/package/browser/components/SchemaForm/SchemaForm.css +138 -0
- package/dist/package/browser/components/SchemaForm/SchemaForm.d.ts +17 -0
- package/dist/package/browser/components/SchemaForm/SchemaForm.js +86 -0
- package/dist/package/browser/components/SchemaForm/schema-form-utils.d.ts +30 -0
- package/dist/package/browser/components/SchemaForm/schema-form-utils.js +51 -0
- package/dist/package/browser/components/SettingsPrimitives.d.ts +24 -0
- package/dist/package/browser/components/SettingsPrimitives.js +145 -0
- package/dist/package/browser/components/Sidebar/BusHealthLamp.d.ts +1 -0
- package/dist/package/browser/components/Sidebar/BusHealthLamp.js +72 -0
- package/dist/package/browser/components/Sidebar/FilesPanel.d.ts +1 -0
- package/dist/package/browser/components/Sidebar/FilesPanel.js +234 -0
- package/dist/package/browser/components/Sidebar/Sidebar.css +1393 -0
- package/dist/package/browser/components/Sidebar/Sidebar.d.ts +3 -0
- package/dist/package/browser/components/Sidebar/Sidebar.js +8 -0
- package/dist/package/browser/components/Sidebar/sidebar-types.d.ts +18 -0
- package/dist/package/browser/components/Sidebar/sidebar-types.js +1 -0
- package/dist/package/browser/components/SlotDebugOverlay/SlotDebugOverlay.d.ts +1 -0
- package/dist/package/browser/components/SlotDebugOverlay/SlotDebugOverlay.js +1 -0
- package/dist/package/browser/components/SlotDebugOverlay/hashHue.d.ts +1 -0
- package/dist/package/browser/components/SlotDebugOverlay/hashHue.js +1 -0
- package/dist/package/browser/components/SlotDebugOverlay/index.d.ts +1 -0
- package/dist/package/browser/components/SlotDebugOverlay/index.js +1 -0
- package/dist/package/browser/components/SlotDebugOverlay/isSlotDebugEnabled.d.ts +1 -0
- package/dist/package/browser/components/SlotDebugOverlay/isSlotDebugEnabled.js +1 -0
- package/dist/package/browser/components/StatusBar/FatalBanner.d.ts +25 -0
- package/dist/package/browser/components/StatusBar/FatalBanner.js +52 -0
- package/dist/package/browser/components/StatusBar/GlobalStatusBar.css +304 -0
- package/dist/package/browser/components/StatusBar/InfoPanel.css +174 -0
- package/dist/package/browser/components/StatusBar/InfoPanel.d.ts +19 -0
- package/dist/package/browser/components/StatusBar/InfoPanel.js +128 -0
- package/dist/package/browser/components/StatusBar/StatusChip.css +52 -0
- package/dist/package/browser/components/StatusBar/StatusChip.d.ts +40 -0
- package/dist/package/browser/components/StatusBar/StatusChip.js +13 -0
- package/dist/package/browser/components/StatusBar/StripHostView.d.ts +2 -0
- package/dist/package/browser/components/StatusBar/StripHostView.js +91 -0
- package/dist/package/browser/components/StatusBar/StripPopover.css +58 -0
- package/dist/package/browser/components/StatusBar/StripPopover.d.ts +16 -0
- package/dist/package/browser/components/StatusBar/StripPopover.js +15 -0
- package/dist/package/browser/components/StatusBar/feeds/PulseFeeds.d.ts +16 -0
- package/dist/package/browser/components/StatusBar/feeds/PulseFeeds.js +88 -0
- package/dist/package/browser/components/StatusBar/footer/CheckpointsDrawer.d.ts +4 -0
- package/dist/package/browser/components/StatusBar/footer/CheckpointsDrawer.js +77 -0
- package/dist/package/browser/components/StatusBar/footer/DiagnosticsPopover.d.ts +4 -0
- package/dist/package/browser/components/StatusBar/footer/DiagnosticsPopover.js +108 -0
- package/dist/package/browser/components/StatusBar/footer/EventsDrawer.d.ts +14 -0
- package/dist/package/browser/components/StatusBar/footer/EventsDrawer.js +25 -0
- package/dist/package/browser/components/StatusBar/footer/ForgeaxBuildPopover.d.ts +4 -0
- package/dist/package/browser/components/StatusBar/footer/ForgeaxBuildPopover.js +62 -0
- package/dist/package/browser/components/StatusBar/footer/footer.css +178 -0
- package/dist/package/browser/components/StatusBar/healthBridge.d.ts +38 -0
- package/dist/package/browser/components/StatusBar/healthBridge.js +245 -0
- package/dist/package/browser/components/StatusBar/healthStore.d.ts +80 -0
- package/dist/package/browser/components/StatusBar/healthStore.js +129 -0
- package/dist/package/browser/components/StatusBar/useStatusItem.d.ts +10 -0
- package/dist/package/browser/components/StatusBar/useStatusItem.js +35 -0
- package/dist/package/browser/components/Surfaces/SurfaceKeepAlive.css +34 -0
- package/dist/package/browser/components/Surfaces/SurfaceKeepAliveLayer.d.ts +3 -0
- package/dist/package/browser/components/Surfaces/SurfaceKeepAliveLayer.js +218 -0
- package/dist/package/browser/components/Surfaces/SurfaceOverlay.css +160 -0
- package/dist/package/browser/components/Surfaces/SurfaceOverlay.d.ts +9 -0
- package/dist/package/browser/components/Surfaces/SurfaceOverlay.js +144 -0
- package/dist/package/browser/components/TopBar/AndroidPackageDialog.d.ts +23 -0
- package/dist/package/browser/components/TopBar/AndroidPackageDialog.js +115 -0
- package/dist/package/browser/components/TopBar/FsBrowser.css +156 -0
- package/dist/package/browser/components/TopBar/FsBrowser.d.ts +8 -0
- package/dist/package/browser/components/TopBar/FsBrowser.js +93 -0
- package/dist/package/browser/components/TopBar/GameSwitcher.d.ts +29 -0
- package/dist/package/browser/components/TopBar/GameSwitcher.js +157 -0
- package/dist/package/browser/components/TopBar/IosPackageDialog.d.ts +23 -0
- package/dist/package/browser/components/TopBar/IosPackageDialog.js +115 -0
- package/dist/package/browser/components/TopBar/ProjectSwitcher.d.ts +3 -0
- package/dist/package/browser/components/TopBar/ProjectSwitcher.js +41 -0
- package/dist/package/browser/components/TopBar/PublishOnboarding.css +133 -0
- package/dist/package/browser/components/TopBar/PublishOnboarding.d.ts +10 -0
- package/dist/package/browser/components/TopBar/PublishOnboarding.js +144 -0
- package/dist/package/browser/components/TopBar/SessionSwitcher.d.ts +2 -0
- package/dist/package/browser/components/TopBar/SessionSwitcher.js +124 -0
- package/dist/package/browser/components/TopBar/TopBar.css +1672 -0
- package/dist/package/browser/components/TopBar/TopBar.d.ts +2 -0
- package/dist/package/browser/components/TopBar/TopBar.js +606 -0
- package/dist/package/browser/components/TopBar/publish-options.d.ts +20 -0
- package/dist/package/browser/components/TopBar/publish-options.js +28 -0
- package/dist/package/browser/components/TourOverlay/TourOverlay.css +122 -0
- package/dist/package/browser/components/TourOverlay/TourOverlay.d.ts +26 -0
- package/dist/package/browser/components/TourOverlay/TourOverlay.js +233 -0
- package/dist/package/browser/components/TourOverlay/index.d.ts +2 -0
- package/dist/package/browser/components/TourOverlay/index.js +1 -0
- package/dist/package/browser/components/ownership.d.ts +7 -0
- package/dist/package/browser/components/ownership.js +7 -0
- package/dist/package/browser/components/ui/SearchableMenu.css +143 -0
- package/dist/package/browser/components/ui/SearchableMenu.d.ts +30 -0
- package/dist/package/browser/components/ui/SearchableMenu.js +40 -0
- package/dist/package/browser/components/ui/alert-dialog.d.ts +20 -0
- package/dist/package/browser/components/ui/alert-dialog.js +38 -0
- package/dist/package/browser/components/ui/button.d.ts +11 -0
- package/dist/package/browser/components/ui/button.js +33 -0
- package/dist/package/browser/components/ui/checkbox.d.ts +4 -0
- package/dist/package/browser/components/ui/checkbox.js +8 -0
- package/dist/package/browser/components/ui/command.d.ts +74 -0
- package/dist/package/browser/components/ui/command.js +20 -0
- package/dist/package/browser/components/ui/dialog.d.ts +21 -0
- package/dist/package/browser/components/ui/dialog.js +34 -0
- package/dist/package/browser/components/ui/dropdown-menu.d.ts +18 -0
- package/dist/package/browser/components/ui/dropdown-menu.js +30 -0
- package/dist/package/browser/components/ui/input.d.ts +3 -0
- package/dist/package/browser/components/ui/input.js +8 -0
- package/dist/package/browser/components/ui/label.d.ts +4 -0
- package/dist/package/browser/components/ui/label.js +7 -0
- package/dist/package/browser/components/ui/popover.d.ts +7 -0
- package/dist/package/browser/components/ui/popover.js +10 -0
- package/dist/package/browser/components/ui/select.d.ts +11 -0
- package/dist/package/browser/components/ui/select.js +31 -0
- package/dist/package/browser/components/ui/tabs.d.ts +7 -0
- package/dist/package/browser/components/ui/tabs.js +12 -0
- package/dist/package/browser/components/ui/textarea.d.ts +3 -0
- package/dist/package/browser/components/ui/textarea.js +8 -0
- package/dist/package/browser/components/ui/tooltip.d.ts +7 -0
- package/dist/package/browser/components/ui/tooltip.js +10 -0
- package/dist/package/browser/core/app-shell/catalog-page-extensions.d.ts +28 -0
- package/dist/package/browser/core/app-shell/catalog-page-extensions.js +234 -0
- package/dist/package/browser/core/app-shell/derive-panel-renderers.d.ts +2 -0
- package/dist/package/browser/core/app-shell/derive-panel-renderers.js +17 -0
- package/dist/package/browser/core/app-shell/host.d.ts +31 -0
- package/dist/package/browser/core/app-shell/host.js +188 -0
- package/dist/package/browser/core/app-shell/index.d.ts +7 -0
- package/dist/package/browser/core/app-shell/index.js +8 -0
- package/dist/package/browser/core/app-shell/logger.d.ts +2 -0
- package/dist/package/browser/core/app-shell/logger.js +6 -0
- package/dist/package/browser/core/app-shell/ownership.d.ts +7 -0
- package/dist/package/browser/core/app-shell/ownership.js +7 -0
- package/dist/package/browser/core/app-shell/react/HostProvider.d.ts +10 -0
- package/dist/package/browser/core/app-shell/react/HostProvider.js +35 -0
- package/dist/package/browser/core/app-shell/surface-extension.d.ts +17 -0
- package/dist/package/browser/core/app-shell/surface-extension.js +33 -0
- package/dist/package/browser/core/app-shell/types.d.ts +176 -0
- package/dist/package/browser/core/app-shell/types.js +1 -0
- package/dist/package/browser/core/contextual-keybindings.d.ts +71 -0
- package/dist/package/browser/core/contextual-keybindings.js +198 -0
- package/dist/package/browser/core/extension-foundation/bus.d.ts +2 -0
- package/dist/package/browser/core/extension-foundation/bus.js +3 -0
- package/dist/package/browser/core/extension-foundation/capabilities.d.ts +2 -0
- package/dist/package/browser/core/extension-foundation/capabilities.js +3 -0
- package/dist/package/browser/core/extension-foundation/commands.d.ts +2 -0
- package/dist/package/browser/core/extension-foundation/commands.js +3 -0
- package/dist/package/browser/core/extension-foundation/context-keys.d.ts +2 -0
- package/dist/package/browser/core/extension-foundation/context-keys.js +3 -0
- package/dist/package/browser/core/extension-foundation/contribution-registry.d.ts +2 -0
- package/dist/package/browser/core/extension-foundation/contribution-registry.js +3 -0
- package/dist/package/browser/core/extension-foundation/errors.d.ts +2 -0
- package/dist/package/browser/core/extension-foundation/errors.js +3 -0
- package/dist/package/browser/core/extension-foundation/index.d.ts +8 -0
- package/dist/package/browser/core/extension-foundation/index.js +9 -0
- package/dist/package/browser/core/extension-foundation/loader.d.ts +2 -0
- package/dist/package/browser/core/extension-foundation/loader.js +3 -0
- package/dist/package/browser/core/extension-foundation/storage.d.ts +2 -0
- package/dist/package/browser/core/extension-foundation/storage.js +3 -0
- package/dist/package/browser/core/extension-foundation/types.d.ts +2 -0
- package/dist/package/browser/core/extension-foundation/types.js +1 -0
- package/dist/package/browser/core/extensions/builtin-commands.d.ts +2 -0
- package/dist/package/browser/core/extensions/builtin-commands.js +256 -0
- package/dist/package/browser/core/extensions/builtin-menus.d.ts +2 -0
- package/dist/package/browser/core/extensions/builtin-menus.js +252 -0
- package/dist/package/browser/core/extensions/chrome-drawer.d.ts +3 -0
- package/dist/package/browser/core/extensions/chrome-drawer.js +45 -0
- package/dist/package/browser/core/extensions/chrome-statusbar.d.ts +6 -0
- package/dist/package/browser/core/extensions/chrome-statusbar.js +26 -0
- package/dist/package/browser/core/extensions/detached-agents-browser.d.ts +3 -0
- package/dist/package/browser/core/extensions/detached-agents-browser.js +9 -0
- package/dist/package/browser/core/extensions/detached-files-browser.d.ts +3 -0
- package/dist/package/browser/core/extensions/detached-files-browser.js +6 -0
- package/dist/package/browser/core/extensions/editor-commands.d.ts +2 -0
- package/dist/package/browser/core/extensions/editor-commands.js +182 -0
- package/dist/package/browser/core/extensions/foundation-bus.d.ts +2 -0
- package/dist/package/browser/core/extensions/foundation-bus.js +3 -0
- package/dist/package/browser/core/extensions/foundation-commands.d.ts +2 -0
- package/dist/package/browser/core/extensions/foundation-commands.js +6 -0
- package/dist/package/browser/core/extensions/foundation-storage.d.ts +2 -0
- package/dist/package/browser/core/extensions/foundation-storage.js +3 -0
- package/dist/package/browser/core/extensions/host-commands.d.ts +18 -0
- package/dist/package/browser/core/extensions/host-commands.js +52 -0
- package/dist/package/browser/core/extensions/observability.d.ts +14 -0
- package/dist/package/browser/core/extensions/observability.js +18 -0
- package/dist/package/browser/core/extensions/panels-chat.d.ts +2 -0
- package/dist/package/browser/core/extensions/panels-chat.js +41 -0
- package/dist/package/browser/core/extensions/panels-editor.d.ts +8 -0
- package/dist/package/browser/core/extensions/panels-editor.js +26 -0
- package/dist/package/browser/core/extensions/panels-viewport.d.ts +2 -0
- package/dist/package/browser/core/extensions/panels-viewport.js +20 -0
- package/dist/package/browser/core/extensions/session-client.d.ts +29 -0
- package/dist/package/browser/core/extensions/session-client.js +42 -0
- package/dist/package/browser/core/extensions/slots-corner-agent-picker.d.ts +5 -0
- package/dist/package/browser/core/extensions/slots-corner-agent-picker.js +6 -0
- package/dist/package/browser/core/extensions/slots-main-area-body.d.ts +3 -0
- package/dist/package/browser/core/extensions/slots-main-area-body.js +6 -0
- package/dist/package/browser/core/extensions/slots-sidebar-agents.d.ts +3 -0
- package/dist/package/browser/core/extensions/slots-sidebar-agents.js +6 -0
- package/dist/package/browser/core/extensions/studio-domain-clients.d.ts +12 -0
- package/dist/package/browser/core/extensions/studio-domain-clients.js +15 -0
- package/dist/package/browser/core/extensions/surfaces-scene-editor.d.ts +3 -0
- package/dist/package/browser/core/extensions/surfaces-scene-editor.js +6 -0
- package/dist/package/browser/core/extensions/trajectory.d.ts +2 -0
- package/dist/package/browser/core/extensions/trajectory.js +50 -0
- package/dist/package/browser/core/page-navigation.d.ts +1 -0
- package/dist/package/browser/core/page-navigation.js +1 -0
- package/dist/package/browser/core/page-platform/activity.d.ts +4 -0
- package/dist/package/browser/core/page-platform/activity.js +46 -0
- package/dist/package/browser/core/page-platform/dockview-layout.d.ts +7 -0
- package/dist/package/browser/core/page-platform/dockview-layout.js +63 -0
- package/dist/package/browser/core/page-platform/index.d.ts +8 -0
- package/dist/package/browser/core/page-platform/index.js +8 -0
- package/dist/package/browser/core/page-platform/layout-store.d.ts +18 -0
- package/dist/package/browser/core/page-platform/layout-store.js +54 -0
- package/dist/package/browser/core/page-platform/page-dirty-probe.d.ts +1 -0
- package/dist/package/browser/core/page-platform/page-dirty-probe.js +4 -0
- package/dist/package/browser/core/page-platform/registry.d.ts +3 -0
- package/dist/package/browser/core/page-platform/registry.js +194 -0
- package/dist/package/browser/core/page-platform/resource-editor.d.ts +3 -0
- package/dist/package/browser/core/page-platform/resource-editor.js +74 -0
- package/dist/package/browser/core/page-platform/session.d.ts +10 -0
- package/dist/package/browser/core/page-platform/session.js +327 -0
- package/dist/package/browser/core/page-platform/types.d.ts +242 -0
- package/dist/package/browser/core/page-platform/types.js +10 -0
- package/dist/package/browser/core/panels/context-expression.d.ts +1 -0
- package/dist/package/browser/core/panels/context-expression.js +1 -0
- package/dist/package/browser/core/panels/drawer.d.ts +23 -0
- package/dist/package/browser/core/panels/drawer.js +1 -0
- package/dist/package/browser/core/panels/index.d.ts +7 -0
- package/dist/package/browser/core/panels/index.js +7 -0
- package/dist/package/browser/core/panels/panel-action-registry.d.ts +6 -0
- package/dist/package/browser/core/panels/panel-action-registry.js +62 -0
- package/dist/package/browser/core/panels/panel-control-registry.d.ts +6 -0
- package/dist/package/browser/core/panels/panel-control-registry.js +54 -0
- package/dist/package/browser/core/panels/resolve-panel-action-state.d.ts +10 -0
- package/dist/package/browser/core/panels/resolve-panel-action-state.js +9 -0
- package/dist/package/browser/core/panels/strip.d.ts +40 -0
- package/dist/package/browser/core/panels/strip.js +1 -0
- package/dist/package/browser/core/panels/types.d.ts +143 -0
- package/dist/package/browser/core/panels/types.js +1 -0
- package/dist/package/browser/i18n/index.d.ts +50 -0
- package/dist/package/browser/i18n/index.js +207 -0
- package/dist/package/browser/i18n/locales/en.json +1959 -0
- package/dist/package/browser/i18n/locales/zh.json +1959 -0
- package/dist/package/browser/index.d.ts +2 -0
- package/dist/package/browser/index.js +2 -0
- package/dist/package/browser/lib/a11y-summary.d.ts +17 -0
- package/dist/package/browser/lib/a11y-summary.js +66 -0
- package/dist/package/browser/lib/action-dom-discovery.d.ts +2 -0
- package/dist/package/browser/lib/action-dom-discovery.js +84 -0
- package/dist/package/browser/lib/action-registry.d.ts +94 -0
- package/dist/package/browser/lib/action-registry.js +210 -0
- package/dist/package/browser/lib/aegis.d.ts +40 -0
- package/dist/package/browser/lib/aegis.js +230 -0
- package/dist/package/browser/lib/agent-catalog-url.d.ts +9 -0
- package/dist/package/browser/lib/agent-catalog-url.js +24 -0
- package/dist/package/browser/lib/agent-cli-provider.d.ts +10 -0
- package/dist/package/browser/lib/agent-cli-provider.js +81 -0
- package/dist/package/browser/lib/ai-intents.d.ts +30 -0
- package/dist/package/browser/lib/ai-intents.js +52 -0
- package/dist/package/browser/lib/broadcast-stream.d.ts +17 -0
- package/dist/package/browser/lib/broadcast-stream.js +163 -0
- package/dist/package/browser/lib/browser-prefs-sync.d.ts +16 -0
- package/dist/package/browser/lib/browser-prefs-sync.js +151 -0
- package/dist/package/browser/lib/builtin-actions.d.ts +2 -0
- package/dist/package/browser/lib/builtin-actions.js +558 -0
- package/dist/package/browser/lib/bus.d.ts +25 -0
- package/dist/package/browser/lib/bus.js +71 -0
- package/dist/package/browser/lib/checkpoint-api.d.ts +54 -0
- package/dist/package/browser/lib/checkpoint-api.js +41 -0
- package/dist/package/browser/lib/cli-providers.d.ts +33 -0
- package/dist/package/browser/lib/cli-providers.js +61 -0
- package/dist/package/browser/lib/command-palette-store.d.ts +5 -0
- package/dist/package/browser/lib/command-palette-store.js +22 -0
- package/dist/package/browser/lib/composer-bridge.d.ts +103 -0
- package/dist/package/browser/lib/composer-bridge.js +448 -0
- package/dist/package/browser/lib/dashboard-api.d.ts +104 -0
- package/dist/package/browser/lib/dashboard-api.js +125 -0
- package/dist/package/browser/lib/deep-link-bus.d.ts +10 -0
- package/dist/package/browser/lib/deep-link-bus.js +35 -0
- package/dist/package/browser/lib/dialog.d.ts +40 -0
- package/dist/package/browser/lib/dialog.js +103 -0
- package/dist/package/browser/lib/editor-facts-bus.d.ts +27 -0
- package/dist/package/browser/lib/editor-facts-bus.js +25 -0
- package/dist/package/browser/lib/extension-api.d.ts +140 -0
- package/dist/package/browser/lib/extension-api.js +90 -0
- package/dist/package/browser/lib/file-activity-stream.d.ts +54 -0
- package/dist/package/browser/lib/file-activity-stream.js +123 -0
- package/dist/package/browser/lib/file-family.d.ts +15 -0
- package/dist/package/browser/lib/file-family.js +25 -0
- package/dist/package/browser/lib/game-templates.d.ts +7 -0
- package/dist/package/browser/lib/game-templates.js +15 -0
- package/dist/package/browser/lib/global-shortcuts.d.ts +121 -0
- package/dist/package/browser/lib/global-shortcuts.js +551 -0
- package/dist/package/browser/lib/logSink.d.ts +16 -0
- package/dist/package/browser/lib/logSink.js +128 -0
- package/dist/package/browser/lib/lucide-icon.d.ts +5 -0
- package/dist/package/browser/lib/lucide-icon.js +20 -0
- package/dist/package/browser/lib/menu-registry.d.ts +113 -0
- package/dist/package/browser/lib/menu-registry.js +197 -0
- package/dist/package/browser/lib/model-config.d.ts +89 -0
- package/dist/package/browser/lib/model-config.js +72 -0
- package/dist/package/browser/lib/model-prefs.d.ts +5 -0
- package/dist/package/browser/lib/model-prefs.js +53 -0
- package/dist/package/browser/lib/model-route/index.d.ts +81 -0
- package/dist/package/browser/lib/model-route/index.js +175 -0
- package/dist/package/browser/lib/narrative-copilot.d.ts +20 -0
- package/dist/package/browser/lib/narrative-copilot.js +105 -0
- package/dist/package/browser/lib/native-menu-bridge.d.ts +37 -0
- package/dist/package/browser/lib/native-menu-bridge.js +151 -0
- package/dist/package/browser/lib/page-tab-icons.d.ts +21 -0
- package/dist/package/browser/lib/page-tab-icons.js +64 -0
- package/dist/package/browser/lib/panel-tab-icons.d.ts +21 -0
- package/dist/package/browser/lib/panel-tab-icons.js +49 -0
- package/dist/package/browser/lib/passive-feedback.d.ts +50 -0
- package/dist/package/browser/lib/passive-feedback.js +171 -0
- package/dist/package/browser/lib/perception-stream.d.ts +27 -0
- package/dist/package/browser/lib/perception-stream.js +42 -0
- package/dist/package/browser/lib/platform/index.d.ts +14 -0
- package/dist/package/browser/lib/platform/index.js +13 -0
- package/dist/package/browser/lib/platform/runtime.d.ts +22 -0
- package/dist/package/browser/lib/platform/runtime.js +42 -0
- package/dist/package/browser/lib/platform/shell-adapter.d.ts +24 -0
- package/dist/package/browser/lib/platform/shell-adapter.js +74 -0
- package/dist/package/browser/lib/platform/surface-windowing.d.ts +4 -0
- package/dist/package/browser/lib/platform/surface-windowing.js +16 -0
- package/dist/package/browser/lib/platform/surface.d.ts +13 -0
- package/dist/package/browser/lib/platform/surface.js +27 -0
- package/dist/package/browser/lib/platform/use-surface-windowing.d.ts +1 -0
- package/dist/package/browser/lib/platform/use-surface-windowing.js +6 -0
- package/dist/package/browser/lib/platform/window-manager.d.ts +2 -0
- package/dist/package/browser/lib/platform/window-manager.js +82 -0
- package/dist/package/browser/lib/project-context.d.ts +4 -0
- package/dist/package/browser/lib/project-context.js +42 -0
- package/dist/package/browser/lib/project.d.ts +5 -0
- package/dist/package/browser/lib/project.js +8 -0
- package/dist/package/browser/lib/recent-games.d.ts +24 -0
- package/dist/package/browser/lib/recent-games.js +50 -0
- package/dist/package/browser/lib/repair-builtin-menus.d.ts +6 -0
- package/dist/package/browser/lib/repair-builtin-menus.js +18 -0
- package/dist/package/browser/lib/reply-language.d.ts +9 -0
- package/dist/package/browser/lib/reply-language.js +11 -0
- package/dist/package/browser/lib/resilient-polling.d.ts +9 -0
- package/dist/package/browser/lib/resilient-polling.js +16 -0
- package/dist/package/browser/lib/session-time.d.ts +8 -0
- package/dist/package/browser/lib/session-time.js +40 -0
- package/dist/package/browser/lib/shell-live-data.d.ts +12 -0
- package/dist/package/browser/lib/shell-live-data.js +66 -0
- package/dist/package/browser/lib/sse.d.ts +5 -0
- package/dist/package/browser/lib/sse.js +42 -0
- package/dist/package/browser/lib/storageKeys.d.ts +70 -0
- package/dist/package/browser/lib/storageKeys.js +89 -0
- package/dist/package/browser/lib/surface-store.d.ts +38 -0
- package/dist/package/browser/lib/surface-store.js +62 -0
- package/dist/package/browser/lib/surface.d.ts +56 -0
- package/dist/package/browser/lib/surface.js +225 -0
- package/dist/package/browser/lib/surfaceAnchors.d.ts +16 -0
- package/dist/package/browser/lib/surfaceAnchors.js +76 -0
- package/dist/package/browser/lib/surfaceKeepAliveLayout.d.ts +7 -0
- package/dist/package/browser/lib/surfaceKeepAliveLayout.js +12 -0
- package/dist/package/browser/lib/telemetry-test-prelude.d.ts +0 -0
- package/dist/package/browser/lib/telemetry-test-prelude.js +14 -0
- package/dist/package/browser/lib/text-edit-actions.d.ts +14 -0
- package/dist/package/browser/lib/text-edit-actions.js +184 -0
- package/dist/package/browser/lib/trace.d.ts +34 -0
- package/dist/package/browser/lib/trace.js +273 -0
- package/dist/package/browser/lib/trustedOrigins.d.ts +4 -0
- package/dist/package/browser/lib/trustedOrigins.js +36 -0
- package/dist/package/browser/lib/ui-action-highlight.d.ts +2 -0
- package/dist/package/browser/lib/ui-action-highlight.js +93 -0
- package/dist/package/browser/lib/ui-bridge.d.ts +2 -0
- package/dist/package/browser/lib/ui-bridge.js +224 -0
- package/dist/package/browser/lib/ui-screenshot.d.ts +31 -0
- package/dist/package/browser/lib/ui-screenshot.js +155 -0
- package/dist/package/browser/lib/ui-trajectory.d.ts +47 -0
- package/dist/package/browser/lib/ui-trajectory.js +99 -0
- package/dist/package/browser/lib/use-bus-snapshot.d.ts +3 -0
- package/dist/package/browser/lib/use-bus-snapshot.js +13 -0
- package/dist/package/browser/lib/use-extension-manifest.d.ts +19 -0
- package/dist/package/browser/lib/use-extension-manifest.js +67 -0
- package/dist/package/browser/lib/useConfirmToast.d.ts +26 -0
- package/dist/package/browser/lib/useConfirmToast.js +120 -0
- package/dist/package/browser/lib/utils.d.ts +2 -0
- package/dist/package/browser/lib/utils.js +5 -0
- package/dist/package/browser/lib/vag-action-bridge.d.ts +2 -0
- package/dist/package/browser/lib/vag-action-bridge.js +130 -0
- package/dist/package/browser/main.d.ts +1 -0
- package/dist/package/browser/main.js +157 -0
- package/dist/package/browser/store-parts/domain-clients.d.ts +149 -0
- package/dist/package/browser/store-parts/domain-clients.js +17 -0
- package/dist/package/browser/store-parts/observability.d.ts +4 -0
- package/dist/package/browser/store-parts/observability.js +35 -0
- package/dist/package/browser/store-parts/persistence.d.ts +40 -0
- package/dist/package/browser/store-parts/persistence.js +245 -0
- package/dist/package/browser/store-parts/session-client.d.ts +73 -0
- package/dist/package/browser/store-parts/session-client.js +17 -0
- package/dist/package/browser/store-parts/session-pick.d.ts +8 -0
- package/dist/package/browser/store-parts/session-pick.js +21 -0
- package/dist/package/browser/store-parts/shell.d.ts +5 -0
- package/dist/package/browser/store-parts/shell.js +37 -0
- package/dist/package/browser/store.d.ts +455 -0
- package/dist/package/browser/store.js +890 -0
- package/dist/package/browser/styles/forgeax-preview/agent-avatar.css +69 -0
- package/dist/package/browser/styles/forgeax-preview/aliases.css +21 -0
- package/dist/package/browser/styles/forgeax-preview/chat-popover.css +141 -0
- package/dist/package/browser/styles/forgeax-preview/chat-session.css +896 -0
- package/dist/package/browser/styles/forgeax-preview/composer-port.css +531 -0
- package/dist/package/browser/styles/forgeax-preview/design-tokens.css +25 -0
- package/dist/package/browser/styles/forgeax-preview/index.css +9 -0
- package/dist/package/browser/styles/forgeax-preview/scene-fx.css +117 -0
- package/dist/package/browser/styles/forgeax-preview/shell-layout.css +280 -0
- package/dist/package/browser/styles/forgeax-preview/shell-skin.css +128 -0
- package/dist/package/browser/styles/foundation.tokens.json +2755 -0
- package/dist/package/browser/styles/global.css +196 -0
- package/dist/package/browser/styles/motion.css +558 -0
- package/dist/package/browser/styles/plugin-token-bridge.css +19 -0
- package/dist/package/browser/styles/primitive.css +197 -0
- package/dist/package/browser/styles/semantic.tokens.json +1524 -0
- package/dist/package/browser/styles/tokens.css +304 -0
- package/dist/package/node/App.js +11 -0
- package/dist/package/node/ApplicationDetachedShell.js +10 -0
- package/dist/package/node/ApplicationShell.js +62 -0
- package/dist/package/node/app-kit.js +4 -0
- package/dist/package/node/appHostBootstrap.js +145 -0
- package/dist/package/node/application.js +64 -0
- package/dist/package/node/boot/SettingsSection.js +82 -0
- package/dist/package/node/boot/broadcast.js +32 -0
- package/dist/package/node/boot/driver.js +47 -0
- package/dist/package/node/boot/store.js +114 -0
- package/dist/package/node/boot/themes.js +21 -0
- package/dist/package/node/boot/types.js +30 -0
- package/dist/package/node/brand/BrandProvider.js +35 -0
- package/dist/package/node/brand/index.js +3 -0
- package/dist/package/node/brand/runtime.js +71 -0
- package/dist/package/node/brand/types.js +9 -0
- package/dist/package/node/components/ActivityRail/ActivityRail.js +164 -0
- package/dist/package/node/components/ActivityRail/activity-rail-model.js +144 -0
- package/dist/package/node/components/AgentAvatar/AgentAvatar.js +50 -0
- package/dist/package/node/components/BuildBadge/BuildBadge.js +279 -0
- package/dist/package/node/components/Bus/BusAdminPanel.js +1385 -0
- package/dist/package/node/components/Bus/CapabilityOverview.js +50 -0
- package/dist/package/node/components/ChatColumn/ChatColumn.js +18 -0
- package/dist/package/node/components/ChatColumn/SessionTabStrip.js +103 -0
- package/dist/package/node/components/ChatColumn/useChatWidth.js +13 -0
- package/dist/package/node/components/CommandPalette/CommandPalette.js +242 -0
- package/dist/package/node/components/Confirm/ConfirmDialog.js +113 -0
- package/dist/package/node/components/ContextMenu/ContextMenu.js +218 -0
- package/dist/package/node/components/ContextMenu/menuRegistry.js +152 -0
- package/dist/package/node/components/DetachedSurface.js +102 -0
- package/dist/package/node/components/DockShell/DockPanelHost.js +7 -0
- package/dist/package/node/components/DockShell/DockRegion.js +315 -0
- package/dist/package/node/components/DockShell/DockTab.js +139 -0
- package/dist/package/node/components/DockShell/ExtensionHostPanel.js +68 -0
- package/dist/package/node/components/DockShell/ExtensionRuntimeFrame.js +56 -0
- package/dist/package/node/components/DockShell/PanelWindowingBoundary.js +9 -0
- package/dist/package/node/components/DockShell/chatDockAnimation.js +101 -0
- package/dist/package/node/components/DockShell/chatDockFullscreen.js +22 -0
- package/dist/package/node/components/DockShell/chatDockLayout.js +11 -0
- package/dist/package/node/components/DockShell/compact-empty-dock-groups.js +28 -0
- package/dist/package/node/components/DockShell/crossInstanceDrop.js +1 -0
- package/dist/package/node/components/DockShell/dockResetEpoch.js +13 -0
- package/dist/package/node/components/DockShell/dockTitle.js +36 -0
- package/dist/package/node/components/DockShell/dockviewRegistry.js +1 -0
- package/dist/package/node/components/DockShell/edgeDrawer.js +1144 -0
- package/dist/package/node/components/DockShell/edgePinStore.js +37 -0
- package/dist/package/node/components/DockShell/extension-editor-bridge.js +100 -0
- package/dist/package/node/components/DockShell/extension-runtime-selection.js +6 -0
- package/dist/package/node/components/DockShell/extensionRuntime.js +84 -0
- package/dist/package/node/components/DockShell/footer-panel-visibility.js +43 -0
- package/dist/package/node/components/DockShell/footer-panels.js +7 -0
- package/dist/package/node/components/DockShell/panelRegistry.js +126 -0
- package/dist/package/node/components/DockShell/panelRenderers.js +25 -0
- package/dist/package/node/components/DockShell/panelTabCommands.js +133 -0
- package/dist/package/node/components/DockShell/panelWindowing.js +42 -0
- package/dist/package/node/components/DockShell/regions.js +1 -0
- package/dist/package/node/components/DockShell/resolveRegion.js +1 -0
- package/dist/package/node/components/DockShell/sanitizeDockLayout.js +46 -0
- package/dist/package/node/components/DockShell/sideEdgeMove.js +1 -0
- package/dist/package/node/components/DockShell/studioTabMenuProvider.js +39 -0
- package/dist/package/node/components/DockShell/tabContextMenu.js +68 -0
- package/dist/package/node/components/DockShell/ueDrag/controller.js +785 -0
- package/dist/package/node/components/DockShell/ueDrag/geometry.js +217 -0
- package/dist/package/node/components/DockShell/ueDrag/overlay.js +206 -0
- package/dist/package/node/components/DockShell/useAuxBarWidth.js +13 -0
- package/dist/package/node/components/Drawer/DrawerHostView.js +93 -0
- package/dist/package/node/components/Drawer/DrawerLauncher.js +22 -0
- package/dist/package/node/components/Drawer/useDrawerStore.js +80 -0
- package/dist/package/node/components/ErrorBoundary.js +131 -0
- package/dist/package/node/components/ExtensionHost/ExtensionIframeHost.js +179 -0
- package/dist/package/node/components/ExtensionHost/NativeExtensionHost.js +152 -0
- package/dist/package/node/components/Feedback/FeedbackPanel.js +118 -0
- package/dist/package/node/components/Feedback/PassiveFeedback.js +218 -0
- package/dist/package/node/components/Feedback/collect.js +80 -0
- package/dist/package/node/components/Feedback/store.js +174 -0
- package/dist/package/node/components/LangSwitcher/LangSwitcher.js +44 -0
- package/dist/package/node/components/MainArea/ConsolePanel.js +16 -0
- package/dist/package/node/components/MainArea/MainArea.js +20 -0
- package/dist/package/node/components/MainArea/StandaloneExtensionIframe.js +155 -0
- package/dist/package/node/components/MainArea/SurfacePanels.js +27 -0
- package/dist/package/node/components/MainArea/TelemetryViewer.js +116 -0
- package/dist/package/node/components/MenuBar/MenuBar.js +286 -0
- package/dist/package/node/components/MenuBar/index.js +1 -0
- package/dist/package/node/components/MenuBar/menubar-open-state.js +11 -0
- package/dist/package/node/components/MenuBar/menubar-surface.js +201 -0
- package/dist/package/node/components/ModelPicker/index.js +1 -0
- package/dist/package/node/components/ModelPicker/useModelCatalog.js +100 -0
- package/dist/package/node/components/Onboarding/ConnectModelPrompt.js +40 -0
- package/dist/package/node/components/Onboarding/OnboardingController.js +549 -0
- package/dist/package/node/components/Onboarding/connect-selection.js +18 -0
- package/dist/package/node/components/Onboarding/home-transition.js +20 -0
- package/dist/package/node/components/Onboarding/index.js +3 -0
- package/dist/package/node/components/Onboarding/prepareTourShell.js +11 -0
- package/dist/package/node/components/Onboarding/project-name.js +29 -0
- package/dist/package/node/components/Onboarding/types.js +77 -0
- package/dist/package/node/components/PageTabs/PageTabStrip.js +214 -0
- package/dist/package/node/components/PageTabs/openablePageTypes.js +13 -0
- package/dist/package/node/components/PanelShell/PanelShell.js +459 -0
- package/dist/package/node/components/Resize/ResizeHandle.js +1 -0
- package/dist/package/node/components/SceneBackground/SceneBackground.js +5 -0
- package/dist/package/node/components/SchemaForm/SchemaForm.js +86 -0
- package/dist/package/node/components/SchemaForm/schema-form-utils.js +51 -0
- package/dist/package/node/components/SettingsPrimitives.js +145 -0
- package/dist/package/node/components/Sidebar/BusHealthLamp.js +72 -0
- package/dist/package/node/components/Sidebar/FilesPanel.js +234 -0
- package/dist/package/node/components/Sidebar/Sidebar.js +8 -0
- package/dist/package/node/components/Sidebar/sidebar-types.js +1 -0
- package/dist/package/node/components/SlotDebugOverlay/SlotDebugOverlay.js +1 -0
- package/dist/package/node/components/SlotDebugOverlay/hashHue.js +1 -0
- package/dist/package/node/components/SlotDebugOverlay/index.js +1 -0
- package/dist/package/node/components/SlotDebugOverlay/isSlotDebugEnabled.js +1 -0
- package/dist/package/node/components/StatusBar/FatalBanner.js +52 -0
- package/dist/package/node/components/StatusBar/InfoPanel.js +128 -0
- package/dist/package/node/components/StatusBar/StatusChip.js +13 -0
- package/dist/package/node/components/StatusBar/StripHostView.js +91 -0
- package/dist/package/node/components/StatusBar/StripPopover.js +15 -0
- package/dist/package/node/components/StatusBar/feeds/PulseFeeds.js +88 -0
- package/dist/package/node/components/StatusBar/footer/CheckpointsDrawer.js +77 -0
- package/dist/package/node/components/StatusBar/footer/DiagnosticsPopover.js +108 -0
- package/dist/package/node/components/StatusBar/footer/EventsDrawer.js +25 -0
- package/dist/package/node/components/StatusBar/footer/ForgeaxBuildPopover.js +62 -0
- package/dist/package/node/components/StatusBar/healthBridge.js +245 -0
- package/dist/package/node/components/StatusBar/healthStore.js +129 -0
- package/dist/package/node/components/StatusBar/useStatusItem.js +35 -0
- package/dist/package/node/components/Surfaces/SurfaceKeepAliveLayer.js +218 -0
- package/dist/package/node/components/Surfaces/SurfaceOverlay.js +144 -0
- package/dist/package/node/components/TopBar/AndroidPackageDialog.js +115 -0
- package/dist/package/node/components/TopBar/FsBrowser.js +93 -0
- package/dist/package/node/components/TopBar/GameSwitcher.js +157 -0
- package/dist/package/node/components/TopBar/IosPackageDialog.js +115 -0
- package/dist/package/node/components/TopBar/ProjectSwitcher.js +41 -0
- package/dist/package/node/components/TopBar/PublishOnboarding.js +144 -0
- package/dist/package/node/components/TopBar/SessionSwitcher.js +124 -0
- package/dist/package/node/components/TopBar/TopBar.js +606 -0
- package/dist/package/node/components/TopBar/publish-options.js +28 -0
- package/dist/package/node/components/TourOverlay/TourOverlay.js +233 -0
- package/dist/package/node/components/TourOverlay/index.js +1 -0
- package/dist/package/node/components/ownership.js +7 -0
- package/dist/package/node/components/ui/SearchableMenu.js +40 -0
- package/dist/package/node/components/ui/alert-dialog.js +38 -0
- package/dist/package/node/components/ui/button.js +33 -0
- package/dist/package/node/components/ui/checkbox.js +8 -0
- package/dist/package/node/components/ui/command.js +20 -0
- package/dist/package/node/components/ui/dialog.js +34 -0
- package/dist/package/node/components/ui/dropdown-menu.js +30 -0
- package/dist/package/node/components/ui/input.js +8 -0
- package/dist/package/node/components/ui/label.js +7 -0
- package/dist/package/node/components/ui/popover.js +10 -0
- package/dist/package/node/components/ui/select.js +31 -0
- package/dist/package/node/components/ui/tabs.js +12 -0
- package/dist/package/node/components/ui/textarea.js +8 -0
- package/dist/package/node/components/ui/tooltip.js +10 -0
- package/dist/package/node/core/app-shell/catalog-page-extensions.js +234 -0
- package/dist/package/node/core/app-shell/derive-panel-renderers.js +17 -0
- package/dist/package/node/core/app-shell/host.js +188 -0
- package/dist/package/node/core/app-shell/index.js +8 -0
- package/dist/package/node/core/app-shell/logger.js +6 -0
- package/dist/package/node/core/app-shell/ownership.js +7 -0
- package/dist/package/node/core/app-shell/react/HostProvider.js +35 -0
- package/dist/package/node/core/app-shell/surface-extension.js +33 -0
- package/dist/package/node/core/app-shell/types.js +1 -0
- package/dist/package/node/core/contextual-keybindings.js +198 -0
- package/dist/package/node/core/extension-foundation/bus.js +3 -0
- package/dist/package/node/core/extension-foundation/capabilities.js +3 -0
- package/dist/package/node/core/extension-foundation/commands.js +3 -0
- package/dist/package/node/core/extension-foundation/context-keys.js +3 -0
- package/dist/package/node/core/extension-foundation/contribution-registry.js +3 -0
- package/dist/package/node/core/extension-foundation/errors.js +3 -0
- package/dist/package/node/core/extension-foundation/index.js +9 -0
- package/dist/package/node/core/extension-foundation/loader.js +3 -0
- package/dist/package/node/core/extension-foundation/storage.js +3 -0
- package/dist/package/node/core/extension-foundation/types.js +1 -0
- package/dist/package/node/core/extensions/builtin-commands.js +256 -0
- package/dist/package/node/core/extensions/builtin-menus.js +252 -0
- package/dist/package/node/core/extensions/chrome-drawer.js +45 -0
- package/dist/package/node/core/extensions/chrome-statusbar.js +26 -0
- package/dist/package/node/core/extensions/detached-agents-browser.js +9 -0
- package/dist/package/node/core/extensions/detached-files-browser.js +6 -0
- package/dist/package/node/core/extensions/editor-commands.js +182 -0
- package/dist/package/node/core/extensions/foundation-bus.js +3 -0
- package/dist/package/node/core/extensions/foundation-commands.js +6 -0
- package/dist/package/node/core/extensions/foundation-storage.js +3 -0
- package/dist/package/node/core/extensions/host-commands.js +52 -0
- package/dist/package/node/core/extensions/observability.js +18 -0
- package/dist/package/node/core/extensions/panels-chat.js +41 -0
- package/dist/package/node/core/extensions/panels-editor.js +26 -0
- package/dist/package/node/core/extensions/panels-viewport.js +20 -0
- package/dist/package/node/core/extensions/session-client.js +42 -0
- package/dist/package/node/core/extensions/slots-corner-agent-picker.js +6 -0
- package/dist/package/node/core/extensions/slots-main-area-body.js +6 -0
- package/dist/package/node/core/extensions/slots-sidebar-agents.js +6 -0
- package/dist/package/node/core/extensions/studio-domain-clients.js +15 -0
- package/dist/package/node/core/extensions/surfaces-scene-editor.js +6 -0
- package/dist/package/node/core/extensions/trajectory.js +50 -0
- package/dist/package/node/core/page-navigation.js +1 -0
- package/dist/package/node/core/page-platform/activity.js +46 -0
- package/dist/package/node/core/page-platform/dockview-layout.js +63 -0
- package/dist/package/node/core/page-platform/index.js +8 -0
- package/dist/package/node/core/page-platform/layout-store.js +54 -0
- package/dist/package/node/core/page-platform/page-dirty-probe.js +4 -0
- package/dist/package/node/core/page-platform/registry.js +194 -0
- package/dist/package/node/core/page-platform/resource-editor.js +74 -0
- package/dist/package/node/core/page-platform/session.js +327 -0
- package/dist/package/node/core/page-platform/types.js +10 -0
- package/dist/package/node/core/panels/context-expression.js +1 -0
- package/dist/package/node/core/panels/drawer.js +1 -0
- package/dist/package/node/core/panels/index.js +7 -0
- package/dist/package/node/core/panels/panel-action-registry.js +62 -0
- package/dist/package/node/core/panels/panel-control-registry.js +54 -0
- package/dist/package/node/core/panels/resolve-panel-action-state.js +9 -0
- package/dist/package/node/core/panels/strip.js +1 -0
- package/dist/package/node/core/panels/types.js +1 -0
- package/dist/package/node/i18n/index.js +207 -0
- package/dist/package/node/i18n/locales/en.json +1959 -0
- package/dist/package/node/i18n/locales/zh.json +1959 -0
- package/dist/package/node/index.js +2 -0
- package/dist/package/node/lib/a11y-summary.js +66 -0
- package/dist/package/node/lib/action-dom-discovery.js +84 -0
- package/dist/package/node/lib/action-registry.js +210 -0
- package/dist/package/node/lib/aegis.js +230 -0
- package/dist/package/node/lib/agent-catalog-url.js +24 -0
- package/dist/package/node/lib/agent-cli-provider.js +81 -0
- package/dist/package/node/lib/ai-intents.js +52 -0
- package/dist/package/node/lib/broadcast-stream.js +163 -0
- package/dist/package/node/lib/browser-prefs-sync.js +151 -0
- package/dist/package/node/lib/builtin-actions.js +558 -0
- package/dist/package/node/lib/bus.js +71 -0
- package/dist/package/node/lib/checkpoint-api.js +41 -0
- package/dist/package/node/lib/cli-providers.js +61 -0
- package/dist/package/node/lib/command-palette-store.js +22 -0
- package/dist/package/node/lib/composer-bridge.js +448 -0
- package/dist/package/node/lib/dashboard-api.js +125 -0
- package/dist/package/node/lib/deep-link-bus.js +35 -0
- package/dist/package/node/lib/dialog.js +103 -0
- package/dist/package/node/lib/editor-facts-bus.js +25 -0
- package/dist/package/node/lib/extension-api.js +90 -0
- package/dist/package/node/lib/file-activity-stream.js +123 -0
- package/dist/package/node/lib/file-family.js +25 -0
- package/dist/package/node/lib/game-templates.js +15 -0
- package/dist/package/node/lib/global-shortcuts.js +551 -0
- package/dist/package/node/lib/logSink.js +128 -0
- package/dist/package/node/lib/lucide-icon.js +20 -0
- package/dist/package/node/lib/menu-registry.js +197 -0
- package/dist/package/node/lib/model-config.js +72 -0
- package/dist/package/node/lib/model-prefs.js +53 -0
- package/dist/package/node/lib/model-route/index.js +175 -0
- package/dist/package/node/lib/narrative-copilot.js +105 -0
- package/dist/package/node/lib/native-menu-bridge.js +151 -0
- package/dist/package/node/lib/page-tab-icons.js +64 -0
- package/dist/package/node/lib/panel-tab-icons.js +49 -0
- package/dist/package/node/lib/passive-feedback.js +171 -0
- package/dist/package/node/lib/perception-stream.js +42 -0
- package/dist/package/node/lib/platform/index.js +13 -0
- package/dist/package/node/lib/platform/runtime.js +42 -0
- package/dist/package/node/lib/platform/shell-adapter.js +74 -0
- package/dist/package/node/lib/platform/surface-windowing.js +16 -0
- package/dist/package/node/lib/platform/surface.js +27 -0
- package/dist/package/node/lib/platform/use-surface-windowing.js +6 -0
- package/dist/package/node/lib/platform/window-manager.js +82 -0
- package/dist/package/node/lib/project-context.js +42 -0
- package/dist/package/node/lib/project.js +8 -0
- package/dist/package/node/lib/recent-games.js +50 -0
- package/dist/package/node/lib/repair-builtin-menus.js +18 -0
- package/dist/package/node/lib/reply-language.js +11 -0
- package/dist/package/node/lib/resilient-polling.js +16 -0
- package/dist/package/node/lib/session-time.js +40 -0
- package/dist/package/node/lib/shell-live-data.js +66 -0
- package/dist/package/node/lib/sse.js +42 -0
- package/dist/package/node/lib/storageKeys.js +89 -0
- package/dist/package/node/lib/surface-store.js +62 -0
- package/dist/package/node/lib/surface.js +225 -0
- package/dist/package/node/lib/surfaceAnchors.js +76 -0
- package/dist/package/node/lib/surfaceKeepAliveLayout.js +12 -0
- package/dist/package/node/lib/telemetry-test-prelude.js +14 -0
- package/dist/package/node/lib/text-edit-actions.js +184 -0
- package/dist/package/node/lib/trace.js +273 -0
- package/dist/package/node/lib/trustedOrigins.js +36 -0
- package/dist/package/node/lib/ui-action-highlight.js +93 -0
- package/dist/package/node/lib/ui-bridge.js +224 -0
- package/dist/package/node/lib/ui-screenshot.js +155 -0
- package/dist/package/node/lib/ui-trajectory.js +99 -0
- package/dist/package/node/lib/use-bus-snapshot.js +13 -0
- package/dist/package/node/lib/use-extension-manifest.js +67 -0
- package/dist/package/node/lib/useConfirmToast.js +120 -0
- package/dist/package/node/lib/utils.js +5 -0
- package/dist/package/node/lib/vag-action-bridge.js +130 -0
- package/dist/package/node/main.js +157 -0
- package/dist/package/node/store-parts/domain-clients.js +17 -0
- package/dist/package/node/store-parts/observability.js +35 -0
- package/dist/package/node/store-parts/persistence.js +245 -0
- package/dist/package/node/store-parts/session-client.js +17 -0
- package/dist/package/node/store-parts/session-pick.js +21 -0
- package/dist/package/node/store-parts/shell.js +37 -0
- package/dist/package/node/store.js +890 -0
- package/dist/package/node/styles/foundation.tokens.json +2755 -0
- package/dist/package/node/styles/semantic.tokens.json +1524 -0
- package/dist/package/packages/design/styles/fx-bridge.css +25 -0
- package/dist/package/packages/design/styles/primitive.css +199 -0
- package/dist/package/packages/design/styles/semantic.css +262 -0
- package/dist/package/packages/design/theme.d.ts +15 -0
- package/dist/package/packages/design/theme.js +31 -0
- package/dist/package/packages/design/tokens.css +14 -0
- package/package.json +145 -0
|
@@ -0,0 +1,1018 @@
|
|
|
1
|
+
/* DockShell — square, padding-free dock styling. Dockview's theme contract owns
|
|
2
|
+
the 6px inter-group gap; CSS only skins the groups and chrome. */
|
|
3
|
+
.fx-dockshell {
|
|
4
|
+
flex: 1 1 auto;
|
|
5
|
+
height: 100%;
|
|
6
|
+
width: 100%;
|
|
7
|
+
min-width: 0;
|
|
8
|
+
min-height: 0;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
/* Map dockview's theme variables to the studio tokens so it matches the shell
|
|
12
|
+
skin. Dockview mounts overflow popovers beside .fx-dockshell under .dv-shell,
|
|
13
|
+
so the shell must receive the same variables as the main dockview element.
|
|
14
|
+
These compound selectors also beat the abyss theme's own declarations. */
|
|
15
|
+
.fx-dockwrap .dv-shell.dockview-theme-abyss,
|
|
16
|
+
.dockview-theme-abyss.fx-dockshell,
|
|
17
|
+
.fx-dockshell {
|
|
18
|
+
/* UE-style depth: the dock canvas is the darkest layer and shows through the
|
|
19
|
+
native 6px group gaps; panel surfaces sit one semantic step above it. */
|
|
20
|
+
--fx-dock-container-background: var(--color-background-canvas, #0d0d0d);
|
|
21
|
+
--fx-dock-panel-background: var(--color-background-base, #191919);
|
|
22
|
+
|
|
23
|
+
/* ── background / chrome ── */
|
|
24
|
+
--dv-background-color: var(--fx-dock-container-background);
|
|
25
|
+
--dv-group-view-background-color: var(--fx-dock-panel-background);
|
|
26
|
+
--dv-tabs-and-actions-container-background-color: var(--color-background-elevated, #161619);
|
|
27
|
+
|
|
28
|
+
/* ── tab colours. The SELECTED tab (the one whose panel is showing) is the
|
|
29
|
+
DARKEST shade so it reads as connected to its content — this is true
|
|
30
|
+
whether or not its group has focus. Focus only adds the lime accent bar
|
|
31
|
+
(::before, active-group-only), so an "open but unfocused" tab looks like
|
|
32
|
+
a focused tab minus that top bar. Hidden/background tabs stay lighter.
|
|
33
|
+
active group / active tab → darkest (#0d0d0f) fg=primary + accent bar
|
|
34
|
+
active group / hidden tab → mid (#161619) fg=secondary
|
|
35
|
+
inactive group / active tab → darkest (#0d0d0f) fg=primary (= "open")
|
|
36
|
+
inactive group / hidden tab → lightest (#1e1e22) fg=muted
|
|
37
|
+
No blue. No abyss purple. Consistent with the rest of the studio UI. ── */
|
|
38
|
+
--dv-activegroup-visiblepanel-tab-background-color: var(--fx-dock-panel-background);
|
|
39
|
+
--dv-activegroup-hiddenpanel-tab-background-color: var(--color-background-elevated, #161619);
|
|
40
|
+
--dv-inactivegroup-visiblepanel-tab-background-color: var(--fx-dock-panel-background);
|
|
41
|
+
--dv-inactivegroup-hiddenpanel-tab-background-color: var(--color-background-overlay, #1e1e22);
|
|
42
|
+
|
|
43
|
+
--dv-activegroup-visiblepanel-tab-color: var(--color-text-primary, #e8eaed);
|
|
44
|
+
--dv-activegroup-hiddenpanel-tab-color: var(--color-text-secondary, #9aa0aa);
|
|
45
|
+
--dv-inactivegroup-visiblepanel-tab-color: var(--color-text-primary, #e8eaed);
|
|
46
|
+
--dv-inactivegroup-hiddenpanel-tab-color: var(--color-text-tertiary, #5f6368);
|
|
47
|
+
|
|
48
|
+
/* ── borders / separators ── */
|
|
49
|
+
--dv-tab-divider-color: var(--color-border-default, #2a2d30);
|
|
50
|
+
--dv-separator-border: var(--color-border-default, #2a2d30);
|
|
51
|
+
|
|
52
|
+
/* ── interactive accent (sash resize + drop zone): lime, NOT blue ── */
|
|
53
|
+
--dv-paneview-active-outline-color: var(--lime, #7ee04a);
|
|
54
|
+
--dv-active-sash-color: transparent;
|
|
55
|
+
--dv-tabs-container-scrollbar-color: var(--color-border-default, #2a2d30);
|
|
56
|
+
--dv-drag-over-background-color: rgba(126, 224, 74, 0.18);
|
|
57
|
+
--dv-drag-over-border-color: var(--lime, #7ee04a);
|
|
58
|
+
|
|
59
|
+
/* Neutralise the abyss-theme colour palette that bleeds through (#007acc etc.) */
|
|
60
|
+
--dv-color-abyss-dark: var(--color-background-base, #0d0d0f);
|
|
61
|
+
--dv-color-abyss: var(--color-background-elevated, #161619);
|
|
62
|
+
--dv-color-abyss-light: var(--color-background-overlay, #1e1e22);
|
|
63
|
+
--dv-color-abyss-lighter: var(--color-background-raised, #252529);
|
|
64
|
+
--dv-color-abyss-accent: var(--lime, #7ee04a);
|
|
65
|
+
|
|
66
|
+
/* Tab context menu base chrome — PageTabStrip DropdownMenu (bg-popover). */
|
|
67
|
+
--dv-context-menu-background-color: var(--color-background-elevated, #242424);
|
|
68
|
+
--dv-context-menu-color: var(--color-text-secondary, rgba(255, 255, 255, 0.60));
|
|
69
|
+
--dv-floating-box-shadow: 0 4px 16px rgba(0, 0, 0, 0.45);
|
|
70
|
+
--dv-border-radius: var(--radius-md, 8px);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/* Dockview paints its root with the group color by default. Override only the
|
|
74
|
+
core grid root so the gap exposes the darker canvas without affecting edge
|
|
75
|
+
drawers or floating groups. */
|
|
76
|
+
.fx-dockshell .dv-dockview {
|
|
77
|
+
--dv-separator-border: transparent;
|
|
78
|
+
background-color: var(--fx-dock-container-background);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/* Core grid groups are borderless UE-style surfaces: separation comes only
|
|
82
|
+
from the darker 6px canvas gap. Keep this scoped under the inner dv-dockview;
|
|
83
|
+
edge groups are hoisted beside it into .dv-shell, so their drawer outline
|
|
84
|
+
(defined below on .dv-groupview-edge > .dv-content-container) is preserved. */
|
|
85
|
+
.fx-dockshell .dv-dockview .dv-groupview:not(.dv-groupview-edge),
|
|
86
|
+
.fx-dockshell .dv-dockview .groupview:not(.groupview-edge) {
|
|
87
|
+
border: 0 !important;
|
|
88
|
+
outline: 0;
|
|
89
|
+
box-shadow: none;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/* Edge groups and the core grid are siblings in Dockview's outer shell
|
|
93
|
+
splitviews. Their separator pseudo-elements are outside `.dv-dockview`, so
|
|
94
|
+
hideBorders on the core cannot reach them. Remove only those static shell
|
|
95
|
+
separators; do not touch the edge drawer content border. */
|
|
96
|
+
.fx-dockwrap
|
|
97
|
+
.dv-shell
|
|
98
|
+
> .dv-split-view-container.dv-separator-border
|
|
99
|
+
> .dv-view-container
|
|
100
|
+
> .dv-view:not(:first-child)::before,
|
|
101
|
+
.fx-dockwrap
|
|
102
|
+
.dv-shell-middle-column
|
|
103
|
+
> .dv-split-view-container.dv-separator-border
|
|
104
|
+
> .dv-view-container
|
|
105
|
+
> .dv-view:not(:first-child)::before {
|
|
106
|
+
display: none;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/* Flush + square: no rounded corners, no extra padding on the docked content. */
|
|
110
|
+
.fx-dockshell .dv-react-part,
|
|
111
|
+
.fx-dockshell .dv-tabs-and-actions-container,
|
|
112
|
+
.fx-dockshell .groupview,
|
|
113
|
+
.fx-dockshell .tab,
|
|
114
|
+
.fx-dockshell .dv-tab { border-radius: 0 !important; }
|
|
115
|
+
|
|
116
|
+
/* Keep the shell and edge strips flush, but round only the TOP corners of
|
|
117
|
+
ordinary workspace tabs so the selected tab reads as a surface without
|
|
118
|
+
turning the dock into a set of floating cards. */
|
|
119
|
+
.fx-dockshell .dv-groupview:not(.dv-groupview-edge):not(.groupview-edge) .dv-tab,
|
|
120
|
+
.fx-dockshell .groupview:not(.dv-groupview-edge):not(.groupview-edge) .dv-tab {
|
|
121
|
+
border-radius: 6px 6px 0 0 !important;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/* Asymmetric padding: keep the label inset on the left, but trim the right so
|
|
125
|
+
the close (X) action sits close to the tab's right edge instead of floating
|
|
126
|
+
~10px in. */
|
|
127
|
+
.fx-dockshell .dv-default-tab { padding: 0 4px 0 10px; }
|
|
128
|
+
.fx-dockshell .content-container { inset: 0; }
|
|
129
|
+
|
|
130
|
+
/* Leading panel icon on every tab (DockTab → iconForDockPanel). Dimmed at rest,
|
|
131
|
+
brightens with the label on the active tab / hover so it never out-shouts the
|
|
132
|
+
title. `flex: 0 0 auto` keeps it from squishing when the tab strip overflows. */
|
|
133
|
+
.fx-dockwrap .fx-dock-tab-icon {
|
|
134
|
+
flex: 0 0 auto;
|
|
135
|
+
margin-right: 6px;
|
|
136
|
+
color: var(--color-text-tertiary, #6b7078);
|
|
137
|
+
}
|
|
138
|
+
.fx-dockwrap .dv-tab.dv-active-tab .fx-dock-tab-icon,
|
|
139
|
+
.fx-dockwrap .dv-tab:hover .fx-dock-tab-icon {
|
|
140
|
+
color: var(--color-text-primary, #e6e7ea);
|
|
141
|
+
}
|
|
142
|
+
/* The custom close (X) uses a lucide glyph; match the dimmed action treatment. */
|
|
143
|
+
.fx-dockwrap .dv-default-tab-action { display: inline-flex; align-items: center; justify-content: center; }
|
|
144
|
+
|
|
145
|
+
/* Hover feedback on tabs. Our neutral 3-shade tab palette (#0d0d0f / #161619 /
|
|
146
|
+
#1e1e22) sits too close together for dockview's default hover to register, so
|
|
147
|
+
paint an explicit overlay. The active tab already reads via its accent bar +
|
|
148
|
+
darkest bg, so only NON-active tabs take the hover lift.
|
|
149
|
+
dockview sets the resting tab background via very high-specificity selector
|
|
150
|
+
chains (group-active/inactive × panel-visible/hidden), which a plain
|
|
151
|
+
`.dv-tab:hover` can't beat — a static (0,5,0) resting rule wins over an
|
|
152
|
+
(0,3,0) hover rule regardless of :hover. `!important` is the pragmatic
|
|
153
|
+
override (same tactic as the border-radius reset above). */
|
|
154
|
+
.fx-dockshell .dv-tab:not(.dv-active-tab):hover {
|
|
155
|
+
background-color: var(--color-interaction-selected-neutral) !important;
|
|
156
|
+
color: var(--color-text-primary) !important;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
/* UE-style focus tab: thin accent bar on the focused group's active tab only.
|
|
160
|
+
Inactive groups keep their selected tab without the bar (UE "which panel has
|
|
161
|
+
keyboard/focus" cue). Use ::before — dockview already paints a focus ring on
|
|
162
|
+
::after (.dv-tab:focus-within::after). Suppress that ring so it doesn't fight
|
|
163
|
+
the accent. Scoped to .fx-dockwrap (shell + edge groups live under it). */
|
|
164
|
+
.fx-dockwrap .dv-tab:focus-within::after,
|
|
165
|
+
.fx-dockwrap .dv-tab:focus::after {
|
|
166
|
+
content: none;
|
|
167
|
+
}
|
|
168
|
+
/* Grid / floating groups: accent on the focused group's active tab.
|
|
169
|
+
Edge strips: only while the drawer is open — clicking void chrome activates
|
|
170
|
+
the group without opening a tab, which must NOT light the last active tab. */
|
|
171
|
+
.fx-dockwrap
|
|
172
|
+
.dv-groupview.dv-active-group:not(.dv-groupview-edge)
|
|
173
|
+
> .dv-tabs-and-actions-container
|
|
174
|
+
.dv-tabs-container
|
|
175
|
+
> .dv-tab.dv-active-tab,
|
|
176
|
+
.fx-dockwrap
|
|
177
|
+
.dv-groupview-edge.fx-edge-drawer-open.dv-active-group
|
|
178
|
+
> .dv-tabs-and-actions-container
|
|
179
|
+
.dv-tabs-container
|
|
180
|
+
> .dv-tab.dv-active-tab {
|
|
181
|
+
position: relative;
|
|
182
|
+
}
|
|
183
|
+
.fx-dockwrap
|
|
184
|
+
.dv-groupview.dv-active-group:not(.dv-groupview-edge)
|
|
185
|
+
> .dv-tabs-and-actions-container
|
|
186
|
+
.dv-tabs-container
|
|
187
|
+
> .dv-tab.dv-active-tab::before,
|
|
188
|
+
.fx-dockwrap
|
|
189
|
+
.dv-groupview-edge.fx-edge-drawer-open.dv-active-group
|
|
190
|
+
> .dv-tabs-and-actions-container
|
|
191
|
+
.dv-tabs-container
|
|
192
|
+
> .dv-tab.dv-active-tab::before {
|
|
193
|
+
content: '';
|
|
194
|
+
position: absolute;
|
|
195
|
+
pointer-events: none;
|
|
196
|
+
z-index: 2;
|
|
197
|
+
/* UE: brightest at center, falloff to transparent at both ends */
|
|
198
|
+
background: linear-gradient(
|
|
199
|
+
90deg,
|
|
200
|
+
transparent 0%,
|
|
201
|
+
color-mix(in srgb, var(--lime, #7ee04a) 55%, transparent) 22%,
|
|
202
|
+
var(--lime, #7ee04a) 50%,
|
|
203
|
+
color-mix(in srgb, var(--lime, #7ee04a) 55%, transparent) 78%,
|
|
204
|
+
transparent 100%
|
|
205
|
+
);
|
|
206
|
+
/* default: horizontal tab strip → top edge (UE is ~1px). top:1px (not 0) so
|
|
207
|
+
the accent clears the splitview sash that overlays the boundary above a
|
|
208
|
+
lower group's header — at top:0 it was hidden under the sash for every
|
|
209
|
+
group that isn't in the top row. */
|
|
210
|
+
left: 0;
|
|
211
|
+
right: 0;
|
|
212
|
+
top: 1px;
|
|
213
|
+
height: 1px;
|
|
214
|
+
width: auto;
|
|
215
|
+
}
|
|
216
|
+
/* Left/right edge strips: tabs are vertical — put the bar on the outer edge. */
|
|
217
|
+
.fx-dockwrap
|
|
218
|
+
.dv-groupview-edge.fx-edge-drawer-open.dv-active-group.dv-groupview-header-left
|
|
219
|
+
> .dv-tabs-and-actions-container
|
|
220
|
+
.dv-tabs-container.dv-tabs-container-vertical
|
|
221
|
+
> .dv-tab.dv-active-tab::before {
|
|
222
|
+
top: 0;
|
|
223
|
+
bottom: 0;
|
|
224
|
+
left: 0;
|
|
225
|
+
right: auto;
|
|
226
|
+
width: 1px;
|
|
227
|
+
height: auto;
|
|
228
|
+
background: linear-gradient(
|
|
229
|
+
180deg,
|
|
230
|
+
transparent 0%,
|
|
231
|
+
color-mix(in srgb, var(--lime, #7ee04a) 55%, transparent) 22%,
|
|
232
|
+
var(--lime, #7ee04a) 50%,
|
|
233
|
+
color-mix(in srgb, var(--lime, #7ee04a) 55%, transparent) 78%,
|
|
234
|
+
transparent 100%
|
|
235
|
+
);
|
|
236
|
+
}
|
|
237
|
+
.fx-dockwrap
|
|
238
|
+
.dv-groupview-edge.fx-edge-drawer-open.dv-active-group.dv-groupview-header-right
|
|
239
|
+
> .dv-tabs-and-actions-container
|
|
240
|
+
.dv-tabs-container.dv-tabs-container-vertical
|
|
241
|
+
> .dv-tab.dv-active-tab::before {
|
|
242
|
+
top: 0;
|
|
243
|
+
bottom: 0;
|
|
244
|
+
right: 0;
|
|
245
|
+
left: auto;
|
|
246
|
+
width: 1px;
|
|
247
|
+
height: auto;
|
|
248
|
+
background: linear-gradient(
|
|
249
|
+
180deg,
|
|
250
|
+
transparent 0%,
|
|
251
|
+
color-mix(in srgb, var(--lime, #7ee04a) 55%, transparent) 22%,
|
|
252
|
+
var(--lime, #7ee04a) 50%,
|
|
253
|
+
color-mix(in srgb, var(--lime, #7ee04a) 55%, transparent) 78%,
|
|
254
|
+
transparent 100%
|
|
255
|
+
);
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
/* dockview keeps EXACTLY ONE active panel per group — no group can have zero — so
|
|
259
|
+
a collapsed edge group's selected tab always carries `.dv-active-tab`, and the
|
|
260
|
+
base theme's generic rule (dockview.css: `.dv-groupview.dv-{active,inactive}-
|
|
261
|
+
group > … > .dv-tab.dv-active-tab`) paints it a distinct "visible panel"
|
|
262
|
+
background. On a closed edge strip that reads as a phantom "selected" tab with
|
|
263
|
+
no drawer open. An edge group should only look active WHILE its drawer is open
|
|
264
|
+
(`.fx-edge-drawer-open`), so until then render the active tab exactly like its
|
|
265
|
+
hidden-panel siblings — the strip becomes a row of equal launchers, no selection.
|
|
266
|
+
Higher specificity than the base rule (extra classes), so no `!important`. */
|
|
267
|
+
.fx-dockwrap
|
|
268
|
+
.dv-groupview-edge.dv-active-group:not(.fx-edge-drawer-open)
|
|
269
|
+
> .dv-tabs-and-actions-container
|
|
270
|
+
.dv-tabs-container
|
|
271
|
+
> .dv-tab.dv-active-tab {
|
|
272
|
+
background-color: var(--dv-activegroup-hiddenpanel-tab-background-color);
|
|
273
|
+
color: var(--dv-activegroup-hiddenpanel-tab-color);
|
|
274
|
+
}
|
|
275
|
+
.fx-dockwrap
|
|
276
|
+
.dv-groupview-edge.dv-inactive-group:not(.fx-edge-drawer-open)
|
|
277
|
+
> .dv-tabs-and-actions-container
|
|
278
|
+
.dv-tabs-container
|
|
279
|
+
> .dv-tab.dv-active-tab {
|
|
280
|
+
background-color: var(--dv-inactivegroup-hiddenpanel-tab-background-color);
|
|
281
|
+
color: var(--dv-inactivegroup-hiddenpanel-tab-color);
|
|
282
|
+
}
|
|
283
|
+
/* The leading lucide glyph (`.fx-dock-tab-icon`) has its OWN active/hover color
|
|
284
|
+
rule (brightens to --color-text-primary), which the neutralizers above don't
|
|
285
|
+
touch — so a closed edge group's active tab still lit its icon. Dim it back to
|
|
286
|
+
the tertiary (idle) color unless the drawer is open, matching the tab text. */
|
|
287
|
+
.fx-dockwrap
|
|
288
|
+
.dv-groupview-edge:not(.fx-edge-drawer-open)
|
|
289
|
+
> .dv-tabs-and-actions-container
|
|
290
|
+
.dv-tabs-container
|
|
291
|
+
> .dv-tab.dv-active-tab:not(:hover)
|
|
292
|
+
.fx-dock-tab-icon {
|
|
293
|
+
color: var(--color-text-tertiary, #6b7078);
|
|
294
|
+
}
|
|
295
|
+
/* Uniform hover feedback for EVERY tab in a closed edge group — active AND
|
|
296
|
+
inactive. The base hover rule (`.fx-dockshell .dv-tab:not(.dv-active-tab):hover`)
|
|
297
|
+
can't reach edge groups (ShellManager hoists them into `.dv-shell`, outside the
|
|
298
|
+
inner `.fx-dockshell`) AND deliberately skips the active tab, so left/right side
|
|
299
|
+
strips got the wrong hover on inactive tabs and none on the (neutralized) active
|
|
300
|
+
tab. This single `.fx-dockwrap`-anchored rule (the ancestor edge groups DO live
|
|
301
|
+
under, same as the neutralizers) restores a consistent hover for both.
|
|
302
|
+
`!important` to beat the neutralizers above and the base theme. */
|
|
303
|
+
.fx-dockwrap
|
|
304
|
+
.dv-groupview-edge:not(.fx-edge-drawer-open)
|
|
305
|
+
.dv-tab:hover {
|
|
306
|
+
background-color: var(--color-interaction-selected-neutral) !important;
|
|
307
|
+
color: var(--color-text-primary) !important;
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
/* Declarative single-tab strategies. Dockview owns tab counting and adds
|
|
311
|
+
`.dv-single-tab`; panel descriptors only declare the preferred presentation.
|
|
312
|
+
`data-fx-dock-title-state="visible"` is the user override used by the
|
|
313
|
+
restore affordance, while `hidden` is set by the tab context menu. */
|
|
314
|
+
.fx-dockshell
|
|
315
|
+
.dv-groupview:has(.fx-panel[data-dock-single-tab="hideTitle"]):not([data-fx-dock-title-state="visible"])
|
|
316
|
+
> .dv-tabs-and-actions-container.dv-single-tab,
|
|
317
|
+
.fx-dockshell
|
|
318
|
+
.groupview:has(.fx-panel[data-dock-single-tab="hideTitle"]):not([data-fx-dock-title-state="visible"])
|
|
319
|
+
> .dv-tabs-and-actions-container.dv-single-tab,
|
|
320
|
+
.fx-dockshell
|
|
321
|
+
.dv-groupview[data-fx-dock-title-state="hidden"]
|
|
322
|
+
> .dv-tabs-and-actions-container.dv-single-tab,
|
|
323
|
+
.fx-dockshell
|
|
324
|
+
.groupview[data-fx-dock-title-state="hidden"]
|
|
325
|
+
> .dv-tabs-and-actions-container.dv-single-tab {
|
|
326
|
+
height: 0 !important;
|
|
327
|
+
min-height: 0 !important;
|
|
328
|
+
max-height: 0 !important;
|
|
329
|
+
overflow: hidden !important;
|
|
330
|
+
opacity: 0;
|
|
331
|
+
border: 0;
|
|
332
|
+
pointer-events: none;
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
/* The triangle is a real button, so a title-less single-panel group remains
|
|
336
|
+
keyboard- and screen-reader-reachable. It is emitted for every panel but
|
|
337
|
+
only exposed when the current group is actually title-less. */
|
|
338
|
+
.fx-dock-title-restore {
|
|
339
|
+
display: none;
|
|
340
|
+
position: absolute;
|
|
341
|
+
top: 0;
|
|
342
|
+
left: 0;
|
|
343
|
+
z-index: 3;
|
|
344
|
+
align-items: flex-start;
|
|
345
|
+
justify-content: flex-start;
|
|
346
|
+
width: 14px !important;
|
|
347
|
+
height: 20px !important;
|
|
348
|
+
margin: 0;
|
|
349
|
+
padding: 0;
|
|
350
|
+
border: 0;
|
|
351
|
+
background: transparent;
|
|
352
|
+
color: var(--color-text-tertiary, #778);
|
|
353
|
+
cursor: pointer;
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
.fx-dock-title-restore::before {
|
|
357
|
+
content: '';
|
|
358
|
+
width: 10px;
|
|
359
|
+
height: 10px;
|
|
360
|
+
align-self: flex-start;
|
|
361
|
+
background: var(--color-text-tertiary, #778);
|
|
362
|
+
clip-path: polygon(0 0, 100% 0, 0 100%);
|
|
363
|
+
transition: background 120ms ease;
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
.fx-dock-title-restore:hover::before,
|
|
367
|
+
.fx-dock-title-restore:focus-visible::before {
|
|
368
|
+
background: var(--lime, #7ee04a);
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
.fx-dock-title-restore:focus-visible {
|
|
372
|
+
outline: none;
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
.fx-dockshell .dv-groupview[data-fx-dock-title-state="hidden"] .fx-dock-title-restore,
|
|
376
|
+
.fx-dockshell .groupview[data-fx-dock-title-state="hidden"] .fx-dock-title-restore,
|
|
377
|
+
.fx-dockshell .dv-groupview:has(.fx-panel[data-dock-single-tab="hideTitle"]):not([data-fx-dock-title-state="visible"]) .fx-dock-title-restore,
|
|
378
|
+
.fx-dockshell .groupview:has(.fx-panel[data-dock-single-tab="hideTitle"]):not([data-fx-dock-title-state="visible"]) .fx-dock-title-restore {
|
|
379
|
+
display: inline-flex;
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
.fx-dockshell
|
|
383
|
+
.dv-groupview:has(.fx-panel[data-dock-single-tab="full"])
|
|
384
|
+
> .dv-tabs-and-actions-container.dv-single-tab .dv-scrollable,
|
|
385
|
+
.fx-dockshell
|
|
386
|
+
.groupview:has(.fx-panel[data-dock-single-tab="full"])
|
|
387
|
+
> .dv-tabs-and-actions-container.dv-single-tab .dv-scrollable,
|
|
388
|
+
.fx-dockshell
|
|
389
|
+
.dv-groupview:has(.fx-panel[data-dock-single-tab="full"])
|
|
390
|
+
> .dv-tabs-and-actions-container.dv-single-tab .dv-tabs-container,
|
|
391
|
+
.fx-dockshell
|
|
392
|
+
.groupview:has(.fx-panel[data-dock-single-tab="full"])
|
|
393
|
+
> .dv-tabs-and-actions-container.dv-single-tab .dv-tabs-container {
|
|
394
|
+
flex-grow: 1;
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
.fx-dockshell
|
|
398
|
+
.dv-groupview:has(.fx-panel[data-dock-single-tab="full"])
|
|
399
|
+
> .dv-tabs-and-actions-container.dv-single-tab .dv-tabs-container .dv-tab,
|
|
400
|
+
.fx-dockshell
|
|
401
|
+
.groupview:has(.fx-panel[data-dock-single-tab="full"])
|
|
402
|
+
> .dv-tabs-and-actions-container.dv-single-tab .dv-tabs-container .dv-tab {
|
|
403
|
+
flex-grow: 1;
|
|
404
|
+
padding: 0;
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
.fx-dockshell
|
|
408
|
+
.dv-groupview:has(.fx-panel[data-dock-single-tab="full"])
|
|
409
|
+
> .dv-tabs-and-actions-container.dv-single-tab .dv-void-container,
|
|
410
|
+
.fx-dockshell
|
|
411
|
+
.groupview:has(.fx-panel[data-dock-single-tab="full"])
|
|
412
|
+
> .dv-tabs-and-actions-container.dv-single-tab .dv-void-container {
|
|
413
|
+
flex-grow: 0;
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
/* UE-style resize affordance for CORE grid gaps only. Dockview's sash remains
|
|
417
|
+
the real hit target; hovering that target (not either panel body) reveals a
|
|
418
|
+
full-width 6px lime bar, which stays visible while resizing. Edge groups are
|
|
419
|
+
hoisted outside `.dv-dockview`, so their native shell sashes and overlay
|
|
420
|
+
drawer grip keep their existing behavior. */
|
|
421
|
+
.fx-dockshell .dv-dockview .dv-sash {
|
|
422
|
+
background: transparent !important;
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
.fx-dockshell .dv-dockview .dv-sash::after {
|
|
426
|
+
content: '';
|
|
427
|
+
position: absolute;
|
|
428
|
+
pointer-events: none;
|
|
429
|
+
opacity: 0;
|
|
430
|
+
background: var(--lime, #7ee04a);
|
|
431
|
+
transition: opacity 100ms ease;
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
/* Extend the 4px native hit target across the full 6px visual gap. */
|
|
435
|
+
.fx-dockshell
|
|
436
|
+
.dv-dockview
|
|
437
|
+
.dv-split-view-container.dv-horizontal
|
|
438
|
+
> .dv-sash-container
|
|
439
|
+
> .dv-sash::before {
|
|
440
|
+
content: '';
|
|
441
|
+
position: absolute;
|
|
442
|
+
inset: 0 -1px;
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
.fx-dockshell
|
|
446
|
+
.dv-dockview
|
|
447
|
+
.dv-split-view-container.dv-vertical
|
|
448
|
+
> .dv-sash-container
|
|
449
|
+
> .dv-sash::before {
|
|
450
|
+
content: '';
|
|
451
|
+
position: absolute;
|
|
452
|
+
inset: -1px 0;
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
.fx-dockshell
|
|
456
|
+
.dv-dockview
|
|
457
|
+
.dv-split-view-container.dv-horizontal
|
|
458
|
+
> .dv-sash-container
|
|
459
|
+
> .dv-sash::after {
|
|
460
|
+
inset: 0 -1px;
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
.fx-dockshell
|
|
464
|
+
.dv-dockview
|
|
465
|
+
.dv-split-view-container.dv-vertical
|
|
466
|
+
> .dv-sash-container
|
|
467
|
+
> .dv-sash::after {
|
|
468
|
+
inset: -1px 0;
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
.fx-dockshell .dv-dockview .dv-sash:hover::after,
|
|
472
|
+
.fx-dockshell .dv-dockview .dv-sash:active::after,
|
|
473
|
+
.fx-dockshell .dv-dockview .dv-sash.dv-sash-active::after {
|
|
474
|
+
opacity: 1;
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
/* Edge-strip tab titles: dockview uses writing-mode:vertical-rl. Default
|
|
478
|
+
text-orientation:mixed keeps CJK upright (stacked glyph-by-glyph) while
|
|
479
|
+
Latin rotates — Chinese then looks wrong next to English. Force sideways so
|
|
480
|
+
every title rotates the same way as "History" / "Capabilities".
|
|
481
|
+
No `.fx-dockshell` prefix: ShellManager hoists edge groups into `.dv-shell`. */
|
|
482
|
+
.dv-groupview-edge .dv-tabs-container.dv-tabs-container-vertical {
|
|
483
|
+
text-orientation: sideways;
|
|
484
|
+
/* Left/right strips render their first tab flush to the strip top; the drawer
|
|
485
|
+
it opens is inset 6px from that top. Pad the strip by the same 6px so the
|
|
486
|
+
first tab's top lines up with the flyout's top edge. */
|
|
487
|
+
padding-top: 6px;
|
|
488
|
+
}
|
|
489
|
+
/* Belt-and-suspenders: empty edge chrome stays unpainted. Drop-back uses the
|
|
490
|
+
root thin-edge overlay → onWillDrop routes into the edge group (edgeDrawer). */
|
|
491
|
+
.dv-groupview-edge.fx-edge-empty {
|
|
492
|
+
visibility: hidden;
|
|
493
|
+
pointer-events: none;
|
|
494
|
+
}
|
|
495
|
+
/* Edge tab hit-target + breathing room: labels must not hug the strip edges.
|
|
496
|
+
vertical-rl: physical padding-block ≈ along the strip, padding-inline ≈ thickness.
|
|
497
|
+
Bottom/top strips stay horizontal — same padding, min-width for length. */
|
|
498
|
+
.dv-groupview-edge .dv-tabs-container.dv-tabs-container-vertical > .dv-tab {
|
|
499
|
+
min-height: 104px;
|
|
500
|
+
padding: 10px 6px;
|
|
501
|
+
box-sizing: border-box;
|
|
502
|
+
}
|
|
503
|
+
.dv-groupview-edge .dv-tabs-container:not(.dv-tabs-container-vertical) > .dv-tab {
|
|
504
|
+
min-width: 104px;
|
|
505
|
+
padding: 6px 12px;
|
|
506
|
+
box-sizing: border-box;
|
|
507
|
+
}
|
|
508
|
+
.dv-groupview-edge .dv-default-tab {
|
|
509
|
+
padding: 4px 2px;
|
|
510
|
+
gap: 6px;
|
|
511
|
+
box-sizing: border-box;
|
|
512
|
+
}
|
|
513
|
+
.dv-groupview-edge .dv-default-tab .dv-default-tab-content {
|
|
514
|
+
margin: 0;
|
|
515
|
+
padding: 2px 0;
|
|
516
|
+
}
|
|
517
|
+
/* Vertical edge strips rotate the label via writing-mode; keep the leading icon
|
|
518
|
+
upright (and give it a hair more breathing room) so it reads at the tab head. */
|
|
519
|
+
.dv-groupview-edge .dv-tabs-container-vertical .fx-dock-tab-icon {
|
|
520
|
+
writing-mode: horizontal-tb;
|
|
521
|
+
margin-right: 0;
|
|
522
|
+
margin-bottom: 6px;
|
|
523
|
+
}
|
|
524
|
+
|
|
525
|
+
/* Edge tabs render a per-TAB Pin toggle in place of close (X) — DockTab picks the
|
|
526
|
+
glyph off `api.location`, so an edge tab never has a raw X to hide.
|
|
527
|
+
Gated exactly like the active-tab highlight: HIDDEN by default (dockview keeps
|
|
528
|
+
one tab "active" per group even while the drawer is closed, so a persistent pin
|
|
529
|
+
read like a selection). Revealed on hover, or on the active tab WHILE THE DRAWER
|
|
530
|
+
IS OPEN (`.fx-edge-drawer-open`); pinned tabs stay lit unconditionally. */
|
|
531
|
+
.dv-groupview-edge .dv-default-tab-action.fx-edge-pin {
|
|
532
|
+
display: inline-flex !important;
|
|
533
|
+
align-items: center;
|
|
534
|
+
justify-content: center;
|
|
535
|
+
opacity: 0;
|
|
536
|
+
color: var(--dv-activegroup-hiddenpanel-tab-color, #9aa0aa);
|
|
537
|
+
}
|
|
538
|
+
.dv-groupview-edge .dv-tab:hover .dv-default-tab-action.fx-edge-pin,
|
|
539
|
+
.dv-groupview-edge.fx-edge-drawer-open .dv-tab.dv-active-tab .dv-default-tab-action.fx-edge-pin {
|
|
540
|
+
opacity: 0.85;
|
|
541
|
+
}
|
|
542
|
+
.dv-groupview-edge .dv-default-tab-action.fx-edge-pin.fx-edge-pin--on {
|
|
543
|
+
opacity: 1;
|
|
544
|
+
color: var(--lime, #7ee04a);
|
|
545
|
+
}
|
|
546
|
+
.dv-groupview-edge .dv-default-tab-action.fx-edge-pin .fx-edge-pin-icon {
|
|
547
|
+
display: block;
|
|
548
|
+
width: 12px;
|
|
549
|
+
height: 12px;
|
|
550
|
+
flex: 0 0 auto;
|
|
551
|
+
}
|
|
552
|
+
|
|
553
|
+
:root {
|
|
554
|
+
/* Shared by the open-drawer group and the popover rule that must stay above
|
|
555
|
+
it — both live in the dock shell's stacking context. */
|
|
556
|
+
--fx-edge-drawer-z: 1000;
|
|
557
|
+
}
|
|
558
|
+
|
|
559
|
+
/* A keep-alive viewport is portalled outside dockview's stacking tree. While
|
|
560
|
+
an edge drawer owns foreground interaction, make the underlying surface
|
|
561
|
+
click-through so drawer controls cannot be intercepted by its canvas. */
|
|
562
|
+
html.fx-edge-drawer-visible .fx-surface-keepalive-item {
|
|
563
|
+
pointer-events: none !important;
|
|
564
|
+
}
|
|
565
|
+
|
|
566
|
+
/* Body-level host for the open edge-drawer flyout (see edgeDrawer.ts). Sits
|
|
567
|
+
above the keep-alive viewport (z-index: 40) but below footer drop overlays
|
|
568
|
+
(100) and dock popovers (1000). Viewport stays visible underneath. */
|
|
569
|
+
.fx-edge-drawer-portal-host {
|
|
570
|
+
position: fixed;
|
|
571
|
+
inset: 0;
|
|
572
|
+
pointer-events: none;
|
|
573
|
+
z-index: 50;
|
|
574
|
+
}
|
|
575
|
+
.fx-edge-drawer-portal-host > .fx-edge-drawer-grip {
|
|
576
|
+
pointer-events: auto;
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
/* Tab context menu — PageTabStrip DropdownMenu parity (lime hover + black text).
|
|
580
|
+
Scope under .fx-dockwrap (popover anchor lives on .dv-shell inside it).
|
|
581
|
+
CSS only; do NOT relocate .dv-popover-anchor (breaks edgeDrawer portal). */
|
|
582
|
+
.fx-dockwrap .dv-context-menu {
|
|
583
|
+
min-width: 186px;
|
|
584
|
+
padding: 4px !important;
|
|
585
|
+
background-color: var(--color-background-elevated, #242424) !important;
|
|
586
|
+
color: var(--color-text-secondary, rgba(255, 255, 255, 0.60));
|
|
587
|
+
border: 1px solid var(--color-border-default, #404040);
|
|
588
|
+
border-radius: var(--radius-md, 8px);
|
|
589
|
+
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.45);
|
|
590
|
+
}
|
|
591
|
+
.fx-dockwrap .dv-context-menu-item {
|
|
592
|
+
height: auto;
|
|
593
|
+
min-height: 28px;
|
|
594
|
+
gap: 8px;
|
|
595
|
+
padding: 6px 8px;
|
|
596
|
+
border-radius: var(--radius-sm, 4px);
|
|
597
|
+
font-size: 12px;
|
|
598
|
+
line-height: 1.25;
|
|
599
|
+
color: var(--color-text-secondary, rgba(255, 255, 255, 0.60));
|
|
600
|
+
}
|
|
601
|
+
.fx-dockwrap .dv-context-menu-item .dv-svg,
|
|
602
|
+
.fx-dockwrap .dv-context-menu-item svg {
|
|
603
|
+
width: 16px;
|
|
604
|
+
height: 16px;
|
|
605
|
+
flex-shrink: 0;
|
|
606
|
+
}
|
|
607
|
+
.fx-dockwrap .dv-context-menu-item:not(.dv-context-menu-item--disabled):hover {
|
|
608
|
+
background-color: var(--color-brand-primary, #d4ff48) !important;
|
|
609
|
+
color: var(--color-text-on-bright-primary, #000000) !important;
|
|
610
|
+
}
|
|
611
|
+
.fx-dockwrap .dv-context-menu-item:not(.dv-context-menu-item--disabled):hover .dv-svg,
|
|
612
|
+
.fx-dockwrap .dv-context-menu-item:not(.dv-context-menu-item--disabled):hover svg {
|
|
613
|
+
color: var(--color-text-on-bright-primary, #000000);
|
|
614
|
+
fill: currentcolor;
|
|
615
|
+
}
|
|
616
|
+
.fx-dockwrap .dv-context-menu-item.dv-context-menu-item--disabled {
|
|
617
|
+
opacity: 0.5;
|
|
618
|
+
}
|
|
619
|
+
.fx-dockwrap .dv-context-menu-separator {
|
|
620
|
+
height: 1px;
|
|
621
|
+
margin: 4px;
|
|
622
|
+
background: var(--color-divider-subtle, rgba(255, 255, 255, 0.05));
|
|
623
|
+
}
|
|
624
|
+
|
|
625
|
+
/* ── Edge-group DRAWER overlay (see edgeDrawer.ts) ───────────────────────────
|
|
626
|
+
dockview keeps the edge group permanently collapsed (its splitview cell stays
|
|
627
|
+
at collapsedSize, so the grid NEVER shifts). When edgeDrawer.ts marks the
|
|
628
|
+
group `.fx-edge-drawer-open`, we reveal the group's `.dv-content-container` as
|
|
629
|
+
a `position: fixed` flyout anchored to the strip's inner edge — a true drawer
|
|
630
|
+
ON TOP of the content, not a splitview push. The CSS vars are written by
|
|
631
|
+
edgeDrawer.ts from the strip's live bounding rect. */
|
|
632
|
+
/* NOTE: no `.fx-dockshell` ancestor prefix — dockview's ShellManager hoists the
|
|
633
|
+
edge groups into a `.dv-shell` wrapper OUTSIDE the `.fx-dockshell` element, so
|
|
634
|
+
a prefixed selector never matches. We anchor purely on our own
|
|
635
|
+
`.fx-edge-drawer-open` marker class (added by edgeDrawer.ts), which only ever
|
|
636
|
+
lands on a DockShell edge group. */
|
|
637
|
+
.dv-groupview-edge.fx-edge-drawer-open {
|
|
638
|
+
/* The edge group remains in dockview's shell while its content is promoted
|
|
639
|
+
to a fixed drawer. Raise the WHOLE group, not only the content node:
|
|
640
|
+
dockview's sash/drop layers are siblings and otherwise win hit-testing on
|
|
641
|
+
the 1px boundary between the drawer and the underlying panel. */
|
|
642
|
+
position: relative;
|
|
643
|
+
z-index: var(--fx-edge-drawer-z) !important;
|
|
644
|
+
}
|
|
645
|
+
|
|
646
|
+
/* dockview mounts tab context menus (and the tab-overflow dropdown) into a
|
|
647
|
+
`.dv-popover-anchor` that is a SIBLING of the edge group, with an INLINE
|
|
648
|
+
`z-index: var(--dv-overlay-z-index)` = 999. An open drawer raises its group
|
|
649
|
+
past that, so right-clicking an edge tab built the menu but painted it
|
|
650
|
+
behind the flyout — the menu looked gone while the drawer was open, and
|
|
651
|
+
worked while it was closed. A popover is always the topmost dock chrome;
|
|
652
|
+
`!important` is what it takes to beat dockview's inline z-index. */
|
|
653
|
+
.dv-popover-anchor > * {
|
|
654
|
+
z-index: calc(var(--fx-edge-drawer-z) + 1) !important;
|
|
655
|
+
}
|
|
656
|
+
|
|
657
|
+
.dv-groupview-edge.fx-edge-drawer-open > .dv-content-container,
|
|
658
|
+
.fx-edge-drawer-portal-host > .dv-content-container {
|
|
659
|
+
/* UE-style: the flyout is INSET on its cross axis (the axis parallel to the
|
|
660
|
+
strip) so its far edges never sit flush on the shell's layout separators —
|
|
661
|
+
a full-height/width overlay reads as "no panel" because its border merges
|
|
662
|
+
with the sash line. 10px each end keeps the panel's own outline visible. */
|
|
663
|
+
--fx-edge-drawer-inset: 6px;
|
|
664
|
+
display: block !important;
|
|
665
|
+
position: fixed;
|
|
666
|
+
pointer-events: auto;
|
|
667
|
+
width: var(--fx-edge-drawer-width, 300px);
|
|
668
|
+
/* left/right strips: cross axis = vertical → inset top + bottom. */
|
|
669
|
+
height: calc(var(--fx-edge-strip-height) - 2 * var(--fx-edge-drawer-inset));
|
|
670
|
+
top: calc(var(--fx-edge-strip-top) + var(--fx-edge-drawer-inset));
|
|
671
|
+
z-index: 60;
|
|
672
|
+
background: var(--dv-group-view-background-color, #0d0d0f);
|
|
673
|
+
/* Floating (inset) flyout: outline the THREE free sides + a directional
|
|
674
|
+
elevation shadow. The side that meets the strip (the anchor edge) must stay
|
|
675
|
+
borderless + shadowless so the flyout reads as attached to the menu bar,
|
|
676
|
+
not floating over it — the per-direction rules below strip that edge's
|
|
677
|
+
border, flatten its corners and cast the shadow AWAY from the strip. */
|
|
678
|
+
border: 1px solid var(--dv-separator-border, #2a2d30);
|
|
679
|
+
border-radius: 6px;
|
|
680
|
+
overflow: hidden;
|
|
681
|
+
}
|
|
682
|
+
/* UE-style expand: the drawer wipes OUT from the strip's outer edge and fades in.
|
|
683
|
+
Animation is gated on `.fx-edge-drawer-animating` (toggled by edgeDrawer.ts) so
|
|
684
|
+
it REPLAYS on first open AND on same-strip tab switches — keeping OPEN alone
|
|
685
|
+
would leave the flyout static when Hierarchy↔Inspector etc. Because opening
|
|
686
|
+
flips `display: none → block`, we use `animation` (not `transition`). We do NOT
|
|
687
|
+
translate the box (that would drag it back OVER the strip); the box stays pinned
|
|
688
|
+
at its anchor and we reveal with `clip-path` growing away from the strip. */
|
|
689
|
+
@keyframes fx-edge-drawer-in-left { /* anchored left → grow right */
|
|
690
|
+
from { clip-path: inset(0 100% 0 0); opacity: 0.2; }
|
|
691
|
+
to { clip-path: inset(0 0 0 0); opacity: 1; }
|
|
692
|
+
}
|
|
693
|
+
@keyframes fx-edge-drawer-in-right { /* anchored right → grow left */
|
|
694
|
+
from { clip-path: inset(0 0 0 100%); opacity: 0.2; }
|
|
695
|
+
to { clip-path: inset(0 0 0 0); opacity: 1; }
|
|
696
|
+
}
|
|
697
|
+
@keyframes fx-edge-drawer-in-top { /* anchored top → grow down */
|
|
698
|
+
from { clip-path: inset(0 0 100% 0); opacity: 0.2; }
|
|
699
|
+
to { clip-path: inset(0 0 0 0); opacity: 1; }
|
|
700
|
+
}
|
|
701
|
+
@keyframes fx-edge-drawer-in-bottom { /* anchored bottom → grow up */
|
|
702
|
+
from { clip-path: inset(100% 0 0 0); opacity: 0.2; }
|
|
703
|
+
to { clip-path: inset(0 0 0 0); opacity: 1; }
|
|
704
|
+
}
|
|
705
|
+
/* Left strip → flyout to the right; right strip → flyout to the left. */
|
|
706
|
+
.dv-groupview-edge.dv-groupview-header-left.fx-edge-drawer-open > .dv-content-container,
|
|
707
|
+
.fx-edge-drawer-portal-host > .dv-content-container.dv-groupview-header-left {
|
|
708
|
+
/* Own the shared boundary while the drawer is open. The small overlap keeps
|
|
709
|
+
the underlying split sash from winning when the pointer lands exactly on
|
|
710
|
+
the panel border. */
|
|
711
|
+
left: calc(var(--fx-edge-drawer-left) - 3px);
|
|
712
|
+
width: calc(var(--fx-edge-drawer-width, 300px) + 3px);
|
|
713
|
+
/* keep the full border; only cast the shadow AWAY from the strip (rightward). */
|
|
714
|
+
box-shadow: 4px 0 12px rgba(0, 0, 0, 0.30), 1px 0 3px rgba(0, 0, 0, 0.22);
|
|
715
|
+
}
|
|
716
|
+
.dv-groupview-edge.dv-groupview-header-left.fx-edge-drawer-animating > .dv-content-container,
|
|
717
|
+
.fx-edge-drawer-portal-host > .dv-content-container.dv-groupview-header-left.fx-edge-drawer-animating {
|
|
718
|
+
animation: fx-edge-drawer-in-left 0.12s cubic-bezier(0.2, 0.8, 0.2, 1);
|
|
719
|
+
}
|
|
720
|
+
.dv-groupview-edge.dv-groupview-header-right.fx-edge-drawer-open > .dv-content-container,
|
|
721
|
+
.fx-edge-drawer-portal-host > .dv-content-container.dv-groupview-header-right {
|
|
722
|
+
right: calc(var(--fx-edge-drawer-right) - 3px);
|
|
723
|
+
width: calc(var(--fx-edge-drawer-width, 300px) + 3px);
|
|
724
|
+
box-shadow: -4px 0 12px rgba(0, 0, 0, 0.30), -1px 0 3px rgba(0, 0, 0, 0.22);
|
|
725
|
+
}
|
|
726
|
+
.dv-groupview-edge.dv-groupview-header-right.fx-edge-drawer-animating > .dv-content-container,
|
|
727
|
+
.fx-edge-drawer-portal-host > .dv-content-container.dv-groupview-header-right.fx-edge-drawer-animating {
|
|
728
|
+
animation: fx-edge-drawer-in-right 0.12s cubic-bezier(0.2, 0.8, 0.2, 1);
|
|
729
|
+
}
|
|
730
|
+
/* Top/bottom strips → full-width flyout dropping down / rising up. */
|
|
731
|
+
.dv-groupview-edge.dv-groupview-header-top.fx-edge-drawer-open > .dv-content-container,
|
|
732
|
+
.dv-groupview-edge.dv-groupview-header-bottom.fx-edge-drawer-open > .dv-content-container,
|
|
733
|
+
.fx-edge-drawer-portal-host > .dv-content-container.dv-groupview-header-top,
|
|
734
|
+
.fx-edge-drawer-portal-host > .dv-content-container.dv-groupview-header-bottom {
|
|
735
|
+
/* top/bottom strips: cross axis = horizontal → inset left + right, and reset
|
|
736
|
+
the vertical inset the base rule applied for left/right strips. */
|
|
737
|
+
left: calc(var(--fx-edge-strip-left) + var(--fx-edge-drawer-inset));
|
|
738
|
+
width: calc(var(--fx-edge-strip-width) - 2 * var(--fx-edge-drawer-inset));
|
|
739
|
+
height: var(--fx-edge-drawer-height, 300px);
|
|
740
|
+
}
|
|
741
|
+
.dv-groupview-edge.dv-groupview-header-top.fx-edge-drawer-open > .dv-content-container,
|
|
742
|
+
.fx-edge-drawer-portal-host > .dv-content-container.dv-groupview-header-top {
|
|
743
|
+
top: calc(var(--fx-edge-drawer-top) - 3px);
|
|
744
|
+
height: calc(var(--fx-edge-drawer-height, 300px) + 3px);
|
|
745
|
+
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.30), 0 1px 3px rgba(0, 0, 0, 0.22);
|
|
746
|
+
}
|
|
747
|
+
.dv-groupview-edge.dv-groupview-header-top.fx-edge-drawer-animating > .dv-content-container,
|
|
748
|
+
.fx-edge-drawer-portal-host > .dv-content-container.dv-groupview-header-top.fx-edge-drawer-animating {
|
|
749
|
+
animation: fx-edge-drawer-in-top 0.12s cubic-bezier(0.2, 0.8, 0.2, 1);
|
|
750
|
+
}
|
|
751
|
+
.dv-groupview-edge.dv-groupview-header-bottom.fx-edge-drawer-open > .dv-content-container,
|
|
752
|
+
.fx-edge-drawer-portal-host > .dv-content-container.dv-groupview-header-bottom {
|
|
753
|
+
top: auto;
|
|
754
|
+
bottom: calc(var(--fx-edge-drawer-bottom) - 3px);
|
|
755
|
+
height: calc(var(--fx-edge-drawer-height, 300px) + 3px);
|
|
756
|
+
box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.30), 0 -1px 3px rgba(0, 0, 0, 0.22);
|
|
757
|
+
}
|
|
758
|
+
.dv-groupview-edge.dv-groupview-header-bottom.fx-edge-drawer-animating > .dv-content-container,
|
|
759
|
+
.fx-edge-drawer-portal-host > .dv-content-container.dv-groupview-header-bottom.fx-edge-drawer-animating {
|
|
760
|
+
animation: fx-edge-drawer-in-bottom 0.12s cubic-bezier(0.2, 0.8, 0.2, 1);
|
|
761
|
+
}
|
|
762
|
+
/* Our self-drawn resize grip (edgeDrawer.ts positions it inline via `fixed`).
|
|
763
|
+
Native dockview resize is a splitview sash that pushes the grid — forbidden here
|
|
764
|
+
— so this grip only rewrites the drawer size var. To match the app's native
|
|
765
|
+
resize feel it must LOOK the same: this shell tints the active sash lime
|
|
766
|
+
(`--dv-active-sash-color` + `.dv-sash-active`), so the grip shows the same lime
|
|
767
|
+
bar — but only WHILE dragging, not on mere hover (the resize cursor already
|
|
768
|
+
signals it's grabbable; a bar-on-enter reads as a spurious focus line). */
|
|
769
|
+
.fx-edge-drawer-grip {
|
|
770
|
+
z-index: 61;
|
|
771
|
+
background: transparent;
|
|
772
|
+
transition: background 0.1s ease;
|
|
773
|
+
}
|
|
774
|
+
.fx-edge-drawer-grip.fx-edge-drawer-grip--dragging {
|
|
775
|
+
background: var(--lime, #7ee04a);
|
|
776
|
+
}
|
|
777
|
+
|
|
778
|
+
/* Standalone Console dock panel. */
|
|
779
|
+
.fx-console-panel { display: flex; flex-direction: column; height: 100%; background: var(--color-background-base, #0d0d0f); }
|
|
780
|
+
.fx-console-bar { display: flex; align-items: center; gap: 8px; padding: 4px 10px; border-bottom: 1px solid var(--color-border-default, #2a2d30); font-family: var(--font-mono, monospace); font-size: 11px; color: var(--color-text-tertiary, #778); }
|
|
781
|
+
.fx-console-title { flex: 1 1 auto; }
|
|
782
|
+
.fx-console-clear { cursor: pointer; background: none; border: none; color: var(--color-text-tertiary, #778); font: inherit; }
|
|
783
|
+
.fx-console-clear:hover { color: var(--color-text-primary, #fff); }
|
|
784
|
+
.fx-console-body { flex: 1 1 auto; overflow: auto; padding: 4px 0; }
|
|
785
|
+
|
|
786
|
+
/* Per-group popout action in the tab bar's right actions slot. */
|
|
787
|
+
.fx-grp-popout {
|
|
788
|
+
display: inline-flex; align-items: center; justify-content: center;
|
|
789
|
+
height: 100%; padding: 0 8px; cursor: pointer; background: none; border: none;
|
|
790
|
+
color: var(--color-text-tertiary, #778); font-size: 13px;
|
|
791
|
+
}
|
|
792
|
+
.fx-grp-popout:hover { color: var(--lime, #7ee04a); }
|
|
793
|
+
|
|
794
|
+
/* Floating windows DO keep rounded corners + shadow (design: 圆角只留浮动/弹出窗). */
|
|
795
|
+
.fx-dockshell .dv-resize-container { border-radius: 8px; box-shadow: 0 14px 34px rgba(0, 0, 0, 0.55); overflow: hidden; }
|
|
796
|
+
|
|
797
|
+
/* Make the hosted panel bodies fill their group content area. */
|
|
798
|
+
.fx-dockshell .dv-react-part > * { height: 100%; width: 100%; }
|
|
799
|
+
|
|
800
|
+
/* Wrapper so the layout control can pin over the dock. */
|
|
801
|
+
.fx-dockwrap { position: relative; flex: 1 1 auto; min-width: 0; min-height: 0; display: flex; }
|
|
802
|
+
|
|
803
|
+
/* Secondary region — AuxBar. Fixed-width column to the right of DockShell;
|
|
804
|
+
DockShell keeps `flex: 1 1 auto` (from .fx-dockwrap above) and grows to fill
|
|
805
|
+
remaining space. Auto-hidden empty regions render as `null`, so this rule
|
|
806
|
+
only applies when AuxBar has ≥1 panel and actually occupies layout space.
|
|
807
|
+
Width is applied inline from useAuxBarWidth so drag updates propagate
|
|
808
|
+
without a CSS variable dance. Default + clamping live in the store.
|
|
809
|
+
position: relative anchors the .fx-auxbar-resizer absolutely at the left edge. */
|
|
810
|
+
.fx-dockregion-AuxBar { flex: 0 0 auto; position: relative; }
|
|
811
|
+
|
|
812
|
+
/* ChatDock — the fixed-width chat column right of the ActivityRail. Same
|
|
813
|
+
fixed-basis override as AuxBar so the inline width from useChatWidth wins
|
|
814
|
+
instead of splitting space with DockShell (which keeps .fx-dockwrap's
|
|
815
|
+
flex:1). Separation from the rail comes from the rail's 6px canvas gutter;
|
|
816
|
+
overflow:hidden is structural: the outer width pushes the editor while
|
|
817
|
+
clipping a full-width inner dock so chat cards never reflow through unusably
|
|
818
|
+
narrow intermediate states. */
|
|
819
|
+
.fx-dockregion-ChatDock {
|
|
820
|
+
flex: 0 0 auto;
|
|
821
|
+
position: relative;
|
|
822
|
+
overflow: hidden;
|
|
823
|
+
}
|
|
824
|
+
/* Collapse is a shell visibility flag, not a width mutation: preserve the
|
|
825
|
+
last drag-restored width in the store so expanding returns to the same size. */
|
|
826
|
+
.studio-shell[data-chatpanel-collapsed="1"] .fx-dockregion-ChatDock {
|
|
827
|
+
display: none;
|
|
828
|
+
}
|
|
829
|
+
/* The shared resizer normally occupies the 6px gutter at left:-6px. ChatDock
|
|
830
|
+
must clip its fixed-width inner dock during collapse/expand, which also clips
|
|
831
|
+
that outside child from hit-testing. Keep this instance inside the boundary;
|
|
832
|
+
the 6px edge remains draggable without weakening animation containment. */
|
|
833
|
+
.fx-dockregion-ChatDock > .fx-chat-resizer {
|
|
834
|
+
left: 0;
|
|
835
|
+
}
|
|
836
|
+
.fx-dockregion-ChatDock.is-anim {
|
|
837
|
+
transition: width var(--motion-duration-panel) var(--motion-ease-standard);
|
|
838
|
+
}
|
|
839
|
+
body.fx-chat-resizing .fx-dockregion-ChatDock { transition: none; }
|
|
840
|
+
|
|
841
|
+
.fx-chatdock-inner {
|
|
842
|
+
position: absolute;
|
|
843
|
+
inset: 0 auto 0 0;
|
|
844
|
+
display: flex;
|
|
845
|
+
flex-direction: column;
|
|
846
|
+
min-width: 0;
|
|
847
|
+
}
|
|
848
|
+
|
|
849
|
+
/* While a chat panel is being UE-dragged, collapse its fixed shell column so the
|
|
850
|
+
layout reflows exactly like lifting any grid panel (UE). The lifted panel is
|
|
851
|
+
re-parented into the body overlay for the live preview, so hiding the column
|
|
852
|
+
here never hides the drag preview. Removing the class on drop restores the
|
|
853
|
+
column when chat lands back home; a cross-instance drop into DockShell instead
|
|
854
|
+
fires onDidRemovePanel → chatColumnMounted:false, keeping it collapsed. */
|
|
855
|
+
html.fx-ue-dragging-chat .fx-dockregion-ChatDock { display: none !important; }
|
|
856
|
+
|
|
857
|
+
/* While dragging a dockview TAB/GROUP (fx-dock-dragging is scoped to tab-strip
|
|
858
|
+
drags in DockRegion — NOT in-panel HTML5 drags like Hierarchy rows), make the
|
|
859
|
+
hovered panel body transparent to the native drag so dockview's own drop
|
|
860
|
+
detection is reliable:
|
|
861
|
+
|
|
862
|
+
1) iframes swallow native drag entirely, so the drop overlay never sees the
|
|
863
|
+
dragover over an iframe panel (Main preview / plugin panes).
|
|
864
|
+
2) The keep-alive surface (Play/Edit viewport <canvas>) overlays the viewport
|
|
865
|
+
dockview anchor at z-index 40 / pointer-events:auto — post single-realm it
|
|
866
|
+
is no longer an <iframe>, so the iframe rule alone left the viewport unable
|
|
867
|
+
to accept drops ("viewport 下面放不了").
|
|
868
|
+
3) Panel BODIES with densely-nested elements (Hierarchy tree rows, Assets grid)
|
|
869
|
+
generate HTML5 dragenter/dragleave flicker on their children; with the
|
|
870
|
+
abyss theme's in-place drop overlay that flicker clears dockview's drop
|
|
871
|
+
`_state`, so a split-your-own-group drop (drag Assets tab to the bottom of
|
|
872
|
+
the Hierarchy column) landed on a cleared state and snapped back. Killing
|
|
873
|
+
pointer-events on the body CHILDREN routes every drag event straight to the
|
|
874
|
+
panel content wrapper (single, stable dragover target) — no flicker.
|
|
875
|
+
|
|
876
|
+
IMPORTANT: disable the body CHILDREN (.dv-react-part > *), NOT .dv-react-part
|
|
877
|
+
itself — dockview's per-panel drop detection lives on the content wrapper;
|
|
878
|
+
disabling the wrapper breaks docking onto NON-iframe panels (chat / extension).
|
|
879
|
+
Global on <html> since dockview portals floating groups to <body>.
|
|
880
|
+
|
|
881
|
+
The tab strip must be SUBTRACTED: `dv-react-part` is dockview's class for EVERY
|
|
882
|
+
React mount point, not just panel bodies — tab renderers (ReactPanelHeaderPart →
|
|
883
|
+
.dv-tab > .dv-react-part > .dv-default-tab) and header actions
|
|
884
|
+
(ReactHeaderActionsRendererPart → .fx-dock-popout) use it too. Without the
|
|
885
|
+
:not(), a plain click inside the strip is fatal: DockRegion lights
|
|
886
|
+
fx-dock-dragging on the capture-phase `pointerdown`, the strip's contents lose
|
|
887
|
+
hit-testing before `pointerup` is targeted, so `click` retargets to the
|
|
888
|
+
.dv-react-part ancestor and never reaches the close (X) / pop-out handlers. */
|
|
889
|
+
html.fx-dock-dragging iframe,
|
|
890
|
+
html.fx-dock-dragging .fx-surface-keepalive-item { pointer-events: none !important; }
|
|
891
|
+
html.fx-dock-dragging
|
|
892
|
+
.fx-dockshell
|
|
893
|
+
.dv-react-part:not(.dv-tabs-and-actions-container *) > * { pointer-events: none !important; }
|
|
894
|
+
/* The UE tab-drag controller uses its own drag state. Keep the same stable
|
|
895
|
+
body hit target for that path so viewport children cannot swallow drops. */
|
|
896
|
+
html.fx-ue-dragging
|
|
897
|
+
.fx-dockshell
|
|
898
|
+
.dv-react-part:not(.dv-tabs-and-actions-container *) > * { pointer-events: none !important; }
|
|
899
|
+
|
|
900
|
+
/* Per-group "pop out to OS window" button (rightHeaderActionsComponent). */
|
|
901
|
+
.fx-dock-popout {
|
|
902
|
+
display: inline-flex; align-items: center; justify-content: center;
|
|
903
|
+
width: 22px; height: 22px; margin: 0 2px; padding: 0; cursor: pointer;
|
|
904
|
+
background: transparent; color: var(--color-text-secondary, #aab);
|
|
905
|
+
border: none; border-radius: 4px; font-size: 13px; line-height: 1;
|
|
906
|
+
}
|
|
907
|
+
.fx-dock-popout:hover { color: var(--color-text-primary, #fff); background: var(--color-background-base, #0e0e10); }
|
|
908
|
+
|
|
909
|
+
/* Layout control — pinned top-right, above the dock. */
|
|
910
|
+
.fx-dock-layout { position: absolute; top: 4px; right: 8px; z-index: var(--z-dropdown); font-family: var(--font-mono, monospace); }
|
|
911
|
+
.fx-dl-btn {
|
|
912
|
+
display: inline-flex; align-items: center; gap: 5px; padding: 3px 9px; cursor: pointer;
|
|
913
|
+
background: var(--color-background-elevated, #161619); color: var(--color-text-secondary, #aab);
|
|
914
|
+
border: 1px solid var(--color-border-default, #2a2d30); border-radius: 6px; font-size: 11px;
|
|
915
|
+
}
|
|
916
|
+
.fx-dl-btn:hover { color: var(--color-text-primary, #fff); border-color: var(--lime, #7ee04a); }
|
|
917
|
+
.fx-dl-menu {
|
|
918
|
+
position: absolute; top: 28px; right: 0; min-width: 160px; padding: 4px;
|
|
919
|
+
background: var(--color-background-elevated, #161619); border: 1px solid var(--color-border-default, #2a2d30);
|
|
920
|
+
border-radius: 8px; box-shadow: 0 10px 28px rgba(0, 0, 0, 0.5); display: flex; flex-direction: column; gap: 1px;
|
|
921
|
+
max-height: min(480px, calc(100vh - 60px)); overflow-y: auto;
|
|
922
|
+
}
|
|
923
|
+
/* 重置布局 pinned at the top — stays put while the panel list scrolls under it. */
|
|
924
|
+
.fx-dl-reset {
|
|
925
|
+
position: sticky; top: -4px; z-index: 1;
|
|
926
|
+
background: var(--color-background-elevated, #161619);
|
|
927
|
+
color: var(--lime, #7ee04a);
|
|
928
|
+
}
|
|
929
|
+
.fx-dl-menu::-webkit-scrollbar { width: 4px; }
|
|
930
|
+
.fx-dl-menu::-webkit-scrollbar-track { background: transparent; }
|
|
931
|
+
.fx-dl-menu::-webkit-scrollbar-thumb { background: var(--color-border-default, #2a2d30); border-radius: 2px; }
|
|
932
|
+
.fx-dl-menu::-webkit-scrollbar-thumb:hover { background: var(--color-text-tertiary, #778); }
|
|
933
|
+
.fx-dl-head { font-size: 10px; color: var(--color-text-tertiary, #778); padding: 3px 8px; text-transform: uppercase; letter-spacing: 0.06em; }
|
|
934
|
+
.fx-dl-item {
|
|
935
|
+
display: flex; align-items: center; gap: 6px; padding: 4px 8px; cursor: pointer; text-align: left;
|
|
936
|
+
background: none; border: none; color: var(--color-text-secondary, #aab); font: inherit; font-size: 11px; border-radius: 5px;
|
|
937
|
+
}
|
|
938
|
+
.fx-dl-item:hover { background: var(--color-interaction-hover, #23262a); color: var(--color-text-primary, #fff); }
|
|
939
|
+
.fx-dl-item.on { color: var(--color-text-primary, #fff); }
|
|
940
|
+
.fx-dl-check { width: 12px; color: var(--lime, #7ee04a); }
|
|
941
|
+
.fx-dl-icon { flex: 0 0 auto; color: var(--color-text-tertiary, #778); }
|
|
942
|
+
.fx-dl-item:hover .fx-dl-icon, .fx-dl-item.on .fx-dl-icon { color: var(--color-text-primary, #fff); }
|
|
943
|
+
.fx-dl-sep { height: 1px; background: var(--color-border-default, #2a2d30); margin: 3px 0; }
|
|
944
|
+
.fx-dl-empty { font-size: 10px; color: var(--color-text-tertiary, #778); padding: 2px 8px; }
|
|
945
|
+
.fx-dl-preset { display: flex; align-items: center; }
|
|
946
|
+
.fx-dl-grow { flex: 1 1 auto; min-width: 0; }
|
|
947
|
+
.fx-dl-del { cursor: pointer; background: none; border: none; color: var(--color-text-tertiary, #778); font: inherit; padding: 0 6px; }
|
|
948
|
+
.fx-dl-del:hover { color: var(--color-text-primary, #fff); }
|
|
949
|
+
|
|
950
|
+
/* EditorPanelFrame — editor sub-panels as outer DockShell leaves */
|
|
951
|
+
.ep-frame-wrap { display: flex; flex-direction: column; height: 100%; overflow: hidden; }
|
|
952
|
+
.ep-frame-iframe { flex: 1 1 auto; width: 100%; height: 100%; border: none; background: var(--dv-background-color, #151618); display: block; }
|
|
953
|
+
.ep-frame-unavailable {
|
|
954
|
+
flex: 1 1 auto;
|
|
955
|
+
display: flex;
|
|
956
|
+
flex-direction: column;
|
|
957
|
+
justify-content: center;
|
|
958
|
+
gap: 6px;
|
|
959
|
+
padding: 14px;
|
|
960
|
+
background: var(--dv-background-color, #151618);
|
|
961
|
+
color: var(--color-text-secondary, #aab);
|
|
962
|
+
font-size: 12px;
|
|
963
|
+
}
|
|
964
|
+
.ep-frame-unavailable-title { color: var(--color-text-primary, #eee); font-weight: 700; }
|
|
965
|
+
.ep-frame-unavailable-desc { color: var(--color-text-tertiary, #778); line-height: 1.45; }
|
|
966
|
+
|
|
967
|
+
/* WbPluginDockPanel — plugin as a top-level dock leaf */
|
|
968
|
+
.page-dock-panel { display: flex; flex-direction: column; height: 100%; overflow: hidden; }
|
|
969
|
+
.page-dock-standalone { position: relative; }
|
|
970
|
+
.page-dock-loading, .page-dock-placeholder { padding: 16px; font-size: 13px; color: var(--color-text-secondary, #aaa); }
|
|
971
|
+
.page-dock-error { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
|
|
972
|
+
.page-dock-error button { color: inherit; border: 1px solid currentColor; border-radius: 4px; padding: 4px 10px; }
|
|
973
|
+
.page-dock-name { font-weight: 700; color: var(--color-text-primary, #eee); margin-bottom: 4px; }
|
|
974
|
+
.page-dock-desc { font-size: 12px; margin-bottom: 8px; }
|
|
975
|
+
.page-dock-id { font-family: monospace; font-size: 10px; opacity: 0.5; }
|
|
976
|
+
|
|
977
|
+
/* AuxBar resize handle — 6px column on the LEFT edge. Cursor col-resize + a
|
|
978
|
+
subtle hover to signal draggability. During drag we overlay a full-viewport
|
|
979
|
+
catcher via ::after (below) to keep the pointer from being stolen by the
|
|
980
|
+
viewport iframe mid-drag. */
|
|
981
|
+
.fx-auxbar-resizer {
|
|
982
|
+
position: absolute;
|
|
983
|
+
left: 0;
|
|
984
|
+
top: 0;
|
|
985
|
+
bottom: 0;
|
|
986
|
+
width: 6px;
|
|
987
|
+
margin: 0;
|
|
988
|
+
cursor: col-resize;
|
|
989
|
+
z-index: 10;
|
|
990
|
+
background: transparent;
|
|
991
|
+
transition: background 120ms ease;
|
|
992
|
+
}
|
|
993
|
+
.resize-handle.fx-auxbar-resizer::after { content: none; }
|
|
994
|
+
.fx-auxbar-resizer:hover,
|
|
995
|
+
body.fx-auxbar-resizing .fx-auxbar-resizer {
|
|
996
|
+
background: rgba(120, 200, 255, 0.35);
|
|
997
|
+
}
|
|
998
|
+
/* During drag, put a transparent full-viewport overlay so the iframe
|
|
999
|
+
(engine viewport) can't intercept pointermove. The overlay itself is a
|
|
1000
|
+
pseudo-element so the pointer still reaches the resizer above it; iframes
|
|
1001
|
+
below inherit `pointer-events: none` from the rule that follows. */
|
|
1002
|
+
body.fx-auxbar-resizing::after {
|
|
1003
|
+
content: '';
|
|
1004
|
+
position: fixed;
|
|
1005
|
+
inset: 0;
|
|
1006
|
+
z-index: 9;
|
|
1007
|
+
cursor: col-resize;
|
|
1008
|
+
}
|
|
1009
|
+
body.fx-auxbar-resizing iframe { pointer-events: none; }
|
|
1010
|
+
.fx-page-empty {
|
|
1011
|
+
position: absolute;
|
|
1012
|
+
inset: 0;
|
|
1013
|
+
display: grid;
|
|
1014
|
+
place-items: center;
|
|
1015
|
+
color: var(--color-text-muted);
|
|
1016
|
+
background: var(--color-bg-canvas);
|
|
1017
|
+
pointer-events: none;
|
|
1018
|
+
}
|