@mks2508/mks-ui 0.6.7 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/css/blocks-Sidebar-animations-tooltip.css +330 -0
- package/dist/index.css +1058 -128
- package/dist/react-ui/blocks/BottomNavBar/MobileBottomNav.d.ts +64 -0
- package/dist/react-ui/blocks/BottomNavBar/MobileBottomNav.d.ts.map +1 -0
- package/dist/react-ui/blocks/BottomNavBar/MobileBottomNav.js +301 -0
- package/dist/react-ui/blocks/BottomNavBar/MobileBottomNav.styles.d.ts +94 -0
- package/dist/react-ui/blocks/BottomNavBar/MobileBottomNav.styles.d.ts.map +1 -0
- package/dist/react-ui/blocks/BottomNavBar/MobileBottomNav.styles.js +216 -0
- package/dist/react-ui/blocks/BottomNavBar/index.d.ts +10 -0
- package/dist/react-ui/blocks/BottomNavBar/index.d.ts.map +1 -0
- package/dist/react-ui/blocks/BottomNavBar/index.js +4 -0
- package/dist/react-ui/blocks/BottomNavBar/types.d.ts +362 -0
- package/dist/react-ui/blocks/BottomNavBar/types.d.ts.map +1 -0
- package/dist/react-ui/blocks/BottomNavBar/types.js +175 -0
- package/dist/react-ui/blocks/BottomNavBar/useIOSSafariFix.d.ts +73 -0
- package/dist/react-ui/blocks/BottomNavBar/useIOSSafariFix.d.ts.map +1 -0
- package/dist/react-ui/blocks/BottomNavBar/useIOSSafariFix.js +178 -0
- package/dist/react-ui/blocks/Sidebar/Sidebar.constants.d.ts +285 -0
- package/dist/react-ui/blocks/Sidebar/Sidebar.constants.d.ts.map +1 -0
- package/dist/react-ui/blocks/Sidebar/Sidebar.constants.js +208 -0
- package/dist/react-ui/blocks/Sidebar/Sidebar.d.ts +80 -0
- package/dist/react-ui/blocks/Sidebar/Sidebar.d.ts.map +1 -0
- package/dist/react-ui/blocks/Sidebar/Sidebar.js +114 -0
- package/dist/react-ui/blocks/Sidebar/Sidebar.styles.d.ts +77 -0
- package/dist/react-ui/blocks/Sidebar/Sidebar.styles.d.ts.map +1 -0
- package/dist/react-ui/blocks/Sidebar/Sidebar.styles.js +274 -0
- package/dist/react-ui/blocks/Sidebar/Sidebar.types.d.ts +546 -0
- package/dist/react-ui/blocks/Sidebar/Sidebar.types.d.ts.map +1 -0
- package/dist/react-ui/blocks/Sidebar/Sidebar.types.js +149 -0
- package/dist/react-ui/blocks/Sidebar/SidebarContent.d.ts +46 -0
- package/dist/react-ui/blocks/Sidebar/SidebarContent.d.ts.map +1 -0
- package/dist/react-ui/blocks/Sidebar/SidebarContent.js +86 -0
- package/dist/react-ui/blocks/Sidebar/SidebarContext.d.ts +85 -0
- package/dist/react-ui/blocks/Sidebar/SidebarContext.d.ts.map +1 -0
- package/dist/react-ui/blocks/Sidebar/SidebarContext.js +178 -0
- package/dist/react-ui/blocks/Sidebar/SidebarFluidIndicator.d.ts +31 -0
- package/dist/react-ui/blocks/Sidebar/SidebarFluidIndicator.d.ts.map +1 -0
- package/dist/react-ui/blocks/Sidebar/SidebarFluidIndicator.js +37 -0
- package/dist/react-ui/blocks/Sidebar/SidebarIndicator.d.ts +59 -0
- package/dist/react-ui/blocks/Sidebar/SidebarIndicator.d.ts.map +1 -0
- package/dist/react-ui/blocks/Sidebar/SidebarIndicator.js +106 -0
- package/dist/react-ui/blocks/Sidebar/SidebarItem.d.ts +82 -0
- package/dist/react-ui/blocks/Sidebar/SidebarItem.d.ts.map +1 -0
- package/dist/react-ui/blocks/Sidebar/SidebarItem.js +209 -0
- package/dist/react-ui/blocks/Sidebar/SidebarNav.d.ts +48 -0
- package/dist/react-ui/blocks/Sidebar/SidebarNav.d.ts.map +1 -0
- package/dist/react-ui/blocks/Sidebar/SidebarNav.js +317 -0
- package/dist/react-ui/blocks/Sidebar/SidebarSafeArea.d.ts +56 -0
- package/dist/react-ui/blocks/Sidebar/SidebarSafeArea.d.ts.map +1 -0
- package/dist/react-ui/blocks/Sidebar/SidebarSafeArea.js +105 -0
- package/dist/react-ui/blocks/Sidebar/SidebarSubContent.d.ts +27 -0
- package/dist/react-ui/blocks/Sidebar/SidebarSubContent.d.ts.map +1 -0
- package/dist/react-ui/blocks/Sidebar/SidebarSubContent.js +31 -0
- package/dist/react-ui/blocks/Sidebar/SidebarSubLink.d.ts +20 -0
- package/dist/react-ui/blocks/Sidebar/SidebarSubLink.d.ts.map +1 -0
- package/dist/react-ui/blocks/Sidebar/SidebarSubLink.js +44 -0
- package/dist/react-ui/blocks/Sidebar/SidebarToggle.d.ts +52 -0
- package/dist/react-ui/blocks/Sidebar/SidebarToggle.d.ts.map +1 -0
- package/dist/react-ui/blocks/Sidebar/SidebarToggle.js +119 -0
- package/dist/react-ui/blocks/Sidebar/SidebarTooltip.d.ts +15 -0
- package/dist/react-ui/blocks/Sidebar/SidebarTooltip.d.ts.map +1 -0
- package/dist/react-ui/blocks/Sidebar/SidebarTooltip.js +177 -0
- package/dist/react-ui/blocks/Sidebar/animations/tooltip.css +330 -0
- package/dist/react-ui/blocks/Sidebar/components/FluidHoverIndicator.d.ts +28 -0
- package/dist/react-ui/blocks/Sidebar/components/FluidHoverIndicator.d.ts.map +1 -0
- package/dist/react-ui/blocks/Sidebar/components/FluidHoverIndicator.js +74 -0
- package/dist/react-ui/blocks/Sidebar/hooks/use-fluid-animation.d.ts +18 -0
- package/dist/react-ui/blocks/Sidebar/hooks/use-fluid-animation.d.ts.map +1 -0
- package/dist/react-ui/blocks/Sidebar/hooks/use-fluid-animation.js +166 -0
- package/dist/react-ui/blocks/Sidebar/hooks/useSidebarContext.d.ts +48 -0
- package/dist/react-ui/blocks/Sidebar/hooks/useSidebarContext.d.ts.map +1 -0
- package/dist/react-ui/blocks/Sidebar/hooks/useSidebarContext.js +59 -0
- package/dist/react-ui/blocks/Sidebar/hooks/useSidebarIndicator.d.ts +72 -0
- package/dist/react-ui/blocks/Sidebar/hooks/useSidebarIndicator.d.ts.map +1 -0
- package/dist/react-ui/blocks/Sidebar/hooks/useSidebarIndicator.js +159 -0
- package/dist/react-ui/blocks/Sidebar/hooks/useSidebarKeyboard.d.ts +51 -0
- package/dist/react-ui/blocks/Sidebar/hooks/useSidebarKeyboard.d.ts.map +1 -0
- package/dist/react-ui/blocks/Sidebar/hooks/useSidebarKeyboard.js +150 -0
- package/dist/react-ui/blocks/Sidebar/hooks/useSubContent.d.ts +42 -0
- package/dist/react-ui/blocks/Sidebar/hooks/useSubContent.d.ts.map +1 -0
- package/dist/react-ui/blocks/Sidebar/hooks/useSubContent.js +49 -0
- package/dist/react-ui/blocks/Sidebar/index.d.ts +163 -0
- package/dist/react-ui/blocks/Sidebar/index.d.ts.map +1 -0
- package/dist/react-ui/blocks/Sidebar/index.js +19 -0
- package/dist/react-ui/blocks/Terminal/Terminal.tokens.d.ts +219 -0
- package/dist/react-ui/blocks/Terminal/Terminal.tokens.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/Terminal.tokens.js +253 -0
- package/dist/react-ui/blocks/Terminal/Terminal.types.d.ts +2 -1
- package/dist/react-ui/blocks/Terminal/Terminal.types.d.ts.map +1 -1
- package/dist/react-ui/blocks/Terminal/TerminalDisplay.js +1 -1
- package/dist/react-ui/blocks/Terminal/TerminalDisplay.types.d.ts +1 -1
- package/dist/react-ui/blocks/Terminal/TerminalDisplay.types.d.ts.map +1 -1
- package/dist/react-ui/blocks/Terminal/chrome.js +2 -2
- package/dist/react-ui/blocks/Terminal/components/LogLineBadges/LogLineBadges.styles.d.ts +15 -0
- package/dist/react-ui/blocks/Terminal/components/LogLineBadges/LogLineBadges.styles.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/components/LogLineBadges/LogLineBadges.styles.js +14 -0
- package/dist/react-ui/blocks/Terminal/components/LogLineBadges/LogLineBadges.types.d.ts +106 -0
- package/dist/react-ui/blocks/Terminal/components/LogLineBadges/LogLineBadges.types.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/components/LogLineBadges/index.d.ts +89 -0
- package/dist/react-ui/blocks/Terminal/components/LogLineBadges/index.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/components/LogLineBadges/index.js +136 -0
- package/dist/react-ui/blocks/Terminal/components/SyntaxHighlight.d.ts +21 -7
- package/dist/react-ui/blocks/Terminal/components/SyntaxHighlight.d.ts.map +1 -1
- package/dist/react-ui/blocks/Terminal/components/SyntaxHighlight.js +81 -71
- package/dist/react-ui/blocks/Terminal/components/SyntaxHighlight.styles.d.ts +33 -0
- package/dist/react-ui/blocks/Terminal/components/SyntaxHighlight.styles.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/components/SyntaxHighlight.styles.js +51 -0
- package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge/TerminalLogBadge.styles.d.ts +13 -0
- package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge/TerminalLogBadge.styles.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge/TerminalLogBadge.styles.js +8 -0
- package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge/TerminalLogBadge.types.d.ts +29 -0
- package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge/TerminalLogBadge.types.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge/index.d.ts +26 -0
- package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge/index.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge/index.js +40 -0
- package/dist/react-ui/blocks/Terminal/components/index.js +5 -2
- package/dist/react-ui/blocks/Terminal/controls/TerminalActionBar/TerminalActionBar.styles.d.ts +12 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalActionBar/TerminalActionBar.styles.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalActionBar/TerminalActionBar.styles.js +13 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalActionBar/TerminalActionBar.types.d.ts +35 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalActionBar/TerminalActionBar.types.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalActionBar/index.d.ts +75 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalActionBar/index.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalActionBar/index.js +115 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalAtoms.d.ts +122 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalAtoms.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalAtoms.js +128 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalConnectionStatus/TerminalConnectionStatus.styles.d.ts +12 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalConnectionStatus/TerminalConnectionStatus.styles.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalConnectionStatus/TerminalConnectionStatus.styles.js +12 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalConnectionStatus/TerminalConnectionStatus.types.d.ts +29 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalConnectionStatus/TerminalConnectionStatus.types.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalConnectionStatus/index.d.ts +37 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalConnectionStatus/index.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalConnectionStatus/index.js +74 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalFontControls/TerminalFontControls.styles.d.ts +12 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalFontControls/TerminalFontControls.styles.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalFontControls/TerminalFontControls.styles.js +16 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalFontControls/TerminalFontControls.types.d.ts +32 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalFontControls/TerminalFontControls.types.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalFontControls/index.d.ts +40 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalFontControls/index.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalFontControls/index.js +81 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalSplitButton/TerminalSplitButton.styles.d.ts +12 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalSplitButton/TerminalSplitButton.styles.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalSplitButton/TerminalSplitButton.styles.js +13 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalSplitButton/TerminalSplitButton.types.d.ts +28 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalSplitButton/TerminalSplitButton.types.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalSplitButton/index.d.ts +40 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalSplitButton/index.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalSplitButton/index.js +108 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/TerminalStatusBar.styles.d.ts +12 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/TerminalStatusBar.styles.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/TerminalStatusBar.styles.js +12 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/TerminalStatusBar.types.d.ts +31 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/TerminalStatusBar.types.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/index.d.ts +73 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/index.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/index.js +99 -0
- package/dist/react-ui/blocks/Terminal/controls/index.d.ts +16 -0
- package/dist/react-ui/blocks/Terminal/controls/index.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/controls/index.js +11 -0
- package/dist/react-ui/blocks/Terminal/display.d.ts +2 -2
- package/dist/react-ui/blocks/Terminal/display.d.ts.map +1 -1
- package/dist/react-ui/blocks/Terminal/display.js +4 -2
- package/dist/react-ui/blocks/Terminal/hooks/index.d.ts +9 -2
- package/dist/react-ui/blocks/Terminal/hooks/index.d.ts.map +1 -1
- package/dist/react-ui/blocks/Terminal/hooks/index.js +6 -0
- package/dist/react-ui/blocks/Terminal/hooks/useTerminal.d.ts +198 -0
- package/dist/react-ui/blocks/Terminal/hooks/useTerminal.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/hooks/useTerminal.js +198 -0
- package/dist/react-ui/blocks/Terminal/hooks/useTerminalConnection.d.ts +81 -0
- package/dist/react-ui/blocks/Terminal/hooks/useTerminalConnection.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/hooks/useTerminalConnection.js +115 -0
- package/dist/react-ui/blocks/Terminal/hooks/useTerminalDimensions.d.ts +54 -0
- package/dist/react-ui/blocks/Terminal/hooks/useTerminalDimensions.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/hooks/useTerminalDimensions.js +57 -0
- package/dist/react-ui/blocks/Terminal/hooks/useTerminalFontSize.d.ts +81 -0
- package/dist/react-ui/blocks/Terminal/hooks/useTerminalFontSize.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/hooks/useTerminalFontSize.js +102 -0
- package/dist/react-ui/blocks/Terminal/hooks/useTerminalKeyboardShortcuts.d.ts +78 -0
- package/dist/react-ui/blocks/Terminal/hooks/useTerminalKeyboardShortcuts.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/hooks/useTerminalKeyboardShortcuts.js +136 -0
- package/dist/react-ui/blocks/Terminal/hooks/useTerminalPaneManager.d.ts +88 -0
- package/dist/react-ui/blocks/Terminal/hooks/useTerminalPaneManager.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/hooks/useTerminalPaneManager.js +101 -0
- package/dist/react-ui/blocks/Terminal/index.d.ts +10 -6
- package/dist/react-ui/blocks/Terminal/index.d.ts.map +1 -1
- package/dist/react-ui/blocks/Terminal/index.js +43 -11
- package/dist/react-ui/blocks/Terminal/panel/LogLinesViewer.d.ts.map +1 -1
- package/dist/react-ui/blocks/Terminal/panel/LogLinesViewer.js +8 -13
- package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel/TerminalDebugPanel.styles.d.ts +13 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel/TerminalDebugPanel.styles.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel/TerminalDebugPanel.styles.js +18 -0
- package/dist/react-ui/blocks/Terminal/panel/{TerminalDebugPanel.d.ts → TerminalDebugPanel/TerminalDebugPanel.types.d.ts} +19 -27
- package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel/TerminalDebugPanel.types.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel/index.d.ts +32 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel/index.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/{TerminalDebugPanel.js → TerminalDebugPanel/index.js} +59 -38
- package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/TerminalFilterDropdown.styles.d.ts +13 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/TerminalFilterDropdown.styles.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/TerminalFilterDropdown.styles.js +17 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/TerminalFilterDropdown.types.d.ts +34 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/TerminalFilterDropdown.types.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/index.d.ts +34 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/index.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/{TerminalFilterDropdown.js → TerminalFilterDropdown/index.js} +29 -31
- package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/terminal-filter-dropdown.module.css +60 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/terminal-filter-dropdown.module.js +5 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs/TerminalFilterTabs.styles.d.ts +13 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs/TerminalFilterTabs.styles.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs/TerminalFilterTabs.types.d.ts +34 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs/TerminalFilterTabs.types.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs/index.d.ts +34 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs/index.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.d.ts.map +1 -1
- package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.js +5 -1
- package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.types.d.ts +2 -1
- package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.types.d.ts.map +1 -1
- package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelRestty.d.ts +6 -3
- package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelRestty.d.ts.map +1 -1
- package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelRestty.js +43 -264
- package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelWterm.d.ts +43 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelWterm.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelWterm.js +248 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelXterm.d.ts +4 -2
- package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelXterm.d.ts.map +1 -1
- package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelXterm.js +40 -150
- package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel/TerminalLogsPanel.styles.d.ts +26 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel/TerminalLogsPanel.styles.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel/TerminalLogsPanel.styles.js +30 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel/TerminalLogsPanel.types.d.ts +123 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel/TerminalLogsPanel.types.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/{TerminalLogsPanel.d.ts → TerminalLogsPanel/index.d.ts} +10 -21
- package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel/index.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/{TerminalLogsPanel.js → TerminalLogsPanel/index.js} +48 -81
- package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel.types.d.ts +6 -142
- package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel.types.d.ts.map +1 -1
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.d.ts +1 -1
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.d.ts.map +1 -1
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.js +16 -16
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.styles.d.ts +1 -1
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.styles.js +1 -1
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter/TerminalPanelFooter.styles.d.ts +21 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter/TerminalPanelFooter.styles.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter/TerminalPanelFooter.styles.js +21 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter/TerminalPanelFooter.types.d.ts +40 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter/TerminalPanelFooter.types.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter/index.d.ts +37 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter/index.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter/index.js +127 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader/TerminalPanelHeader.styles.d.ts +22 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader/TerminalPanelHeader.styles.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader/TerminalPanelHeader.styles.js +24 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader/TerminalPanelHeader.types.d.ts +43 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader/TerminalPanelHeader.types.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader/index.d.ts +35 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader/index.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader/index.js +129 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelToolbar/TerminalPanelToolbar.styles.d.ts +20 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelToolbar/TerminalPanelToolbar.styles.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelToolbar/TerminalPanelToolbar.types.d.ts +72 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelToolbar/TerminalPanelToolbar.types.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/{TerminalPanelToolbar.d.ts → TerminalPanelToolbar/index.d.ts} +10 -4
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelToolbar/index.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalSessionControl/TerminalSessionControl.styles.d.ts +13 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalSessionControl/TerminalSessionControl.styles.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/{TerminalSessionControl.d.ts → TerminalSessionControl/TerminalSessionControl.types.d.ts} +24 -30
- package/dist/react-ui/blocks/Terminal/panel/TerminalSessionControl/TerminalSessionControl.types.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalSessionControl/index.d.ts +38 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalSessionControl/index.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/TerminalSessionTabs.styles.d.ts +23 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/TerminalSessionTabs.styles.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/TerminalSessionTabs.styles.js +27 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/TerminalSessionTabs.types.d.ts +56 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/TerminalSessionTabs.types.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/index.d.ts +40 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/index.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/{TerminalSessionTabs.js → TerminalSessionTabs/index.js} +26 -31
- package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/terminal-session-tabs.module.css +60 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/terminal-session-tabs.module.js +5 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/TerminalSettingsPopover.styles.d.ts +13 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/TerminalSettingsPopover.styles.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/TerminalSettingsPopover.styles.js +19 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/TerminalSettingsPopover.types.d.ts +20 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/TerminalSettingsPopover.types.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/index.d.ts +25 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/index.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/index.js +217 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector/TerminalThemeSelector.styles.d.ts +13 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector/TerminalThemeSelector.styles.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector/TerminalThemeSelector.styles.js +15 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector/TerminalThemeSelector.types.d.ts +28 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector/TerminalThemeSelector.types.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector/index.d.ts +30 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector/index.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/{TerminalThemeSelector.js → TerminalThemeSelector/index.js} +31 -46
- package/dist/react-ui/blocks/Terminal/restty/ResttyContext.d.ts +38 -0
- package/dist/react-ui/blocks/Terminal/restty/ResttyContext.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/restty/ResttyContext.js +47 -0
- package/dist/react-ui/blocks/Terminal/restty/ResttySessionProvider.d.ts +50 -0
- package/dist/react-ui/blocks/Terminal/restty/ResttySessionProvider.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/restty/ResttySessionProvider.js +60 -0
- package/dist/react-ui/blocks/Terminal/restty/ResttyTerminal.d.ts +32 -0
- package/dist/react-ui/blocks/Terminal/restty/ResttyTerminal.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/restty/ResttyTerminal.js +278 -0
- package/dist/react-ui/blocks/Terminal/restty/ResttyTerminal.types.d.ts +166 -0
- package/dist/react-ui/blocks/Terminal/restty/ResttyTerminal.types.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/restty/index.d.ts +20 -0
- package/dist/react-ui/blocks/Terminal/restty/index.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/restty/index.js +7 -0
- package/dist/react-ui/blocks/Terminal/restty/useResttyPane.d.ts +51 -0
- package/dist/react-ui/blocks/Terminal/restty/useResttyPane.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/restty/useResttyPane.js +61 -0
- package/dist/react-ui/blocks/Terminal/restty/useResttyPanes.d.ts +39 -0
- package/dist/react-ui/blocks/Terminal/restty/useResttyPanes.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/restty/useResttyPanes.js +48 -0
- package/dist/react-ui/blocks/Terminal/restty/useResttyPlugins.d.ts +29 -0
- package/dist/react-ui/blocks/Terminal/restty/useResttyPlugins.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/restty/useResttyPlugins.js +33 -0
- package/dist/react-ui/blocks/Terminal/restty/useResttyVisibility.d.ts +32 -0
- package/dist/react-ui/blocks/Terminal/restty/useResttyVisibility.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/restty/useResttyVisibility.js +67 -0
- package/dist/react-ui/blocks/Terminal/wterm/WtermJsonTransport.d.ts +83 -0
- package/dist/react-ui/blocks/Terminal/wterm/WtermJsonTransport.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/wterm/WtermJsonTransport.js +191 -0
- package/dist/react-ui/blocks/index.d.ts +2 -0
- package/dist/react-ui/blocks/index.d.ts.map +1 -1
- package/dist/react-ui/components/MorphingPopover/morphing-popover.module.css +154 -0
- package/dist/react-ui/icons/lucide-animated/terminal.d.ts +45 -13
- package/dist/react-ui/icons/lucide-animated/terminal.d.ts.map +1 -1
- package/dist/react-ui/icons/lucide-animated/terminal.js +118 -28
- package/dist/react-ui/index.d.ts +4 -0
- package/dist/react-ui/index.d.ts.map +1 -1
- package/dist/react-ui/index.js +40 -1
- package/dist/react-ui/primitives/waapi/Morph/techniques/useViewTransitions.module.css +20 -0
- package/dist/react-ui/ui/Button/Button.styles.d.ts +2 -2
- package/dist/react-ui/ui/Button/Button.styles.d.ts.map +1 -1
- package/dist/react-ui/ui/Button/Button.styles.js +4 -2
- package/dist/react-ui/ui/Button/Button.types.d.ts +2 -2
- package/dist/react-ui/ui/Button/Button.types.d.ts.map +1 -1
- package/dist/react-ui/ui/DynamicToggle/DynamicToggle.css +369 -0
- package/dist/react-ui/ui/DynamicToggle/index.d.ts +1 -1
- package/dist/react-ui/ui/DynamicToggle/index.d.ts.map +1 -1
- package/dist/react-ui/ui/DynamicToggle/index.js +1 -1
- package/dist/react-ui/ui/Tabs/Tabs.css +38 -0
- package/dist/react-ui/ui/Tabs/Tabs.js +0 -0
- package/dist/react-ui/ui/Tabs/index.d.ts +1 -1
- package/dist/react-ui/ui/Tabs/index.d.ts.map +1 -1
- package/dist/react-ui/ui/Tabs/index.js +2 -1
- package/package.json +21 -7
- package/dist/react-ui/blocks/Terminal/ResttyAdapter.d.ts +0 -146
- package/dist/react-ui/blocks/Terminal/ResttyAdapter.d.ts.map +0 -1
- package/dist/react-ui/blocks/Terminal/ResttyAdapter.js +0 -213
- package/dist/react-ui/blocks/Terminal/Terminal.adapter.d.ts +0 -55
- package/dist/react-ui/blocks/Terminal/Terminal.adapter.d.ts.map +0 -1
- package/dist/react-ui/blocks/Terminal/Terminal.adapter.js +0 -68
- package/dist/react-ui/blocks/Terminal/TerminalRestty.d.ts +0 -111
- package/dist/react-ui/blocks/Terminal/TerminalRestty.d.ts.map +0 -1
- package/dist/react-ui/blocks/Terminal/TerminalRestty.js +0 -185
- package/dist/react-ui/blocks/Terminal/components/LogLineBadges.d.ts +0 -160
- package/dist/react-ui/blocks/Terminal/components/LogLineBadges.d.ts.map +0 -1
- package/dist/react-ui/blocks/Terminal/components/LogLineBadges.js +0 -185
- package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge.d.ts +0 -36
- package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge.d.ts.map +0 -1
- package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge.js +0 -52
- package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel.d.ts.map +0 -1
- package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown.d.ts +0 -42
- package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown.d.ts.map +0 -1
- package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs.d.ts +0 -43
- package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs.d.ts.map +0 -1
- package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel.d.ts.map +0 -1
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter.d.ts +0 -30
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter.d.ts.map +0 -1
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter.js +0 -126
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader.d.ts +0 -31
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader.d.ts.map +0 -1
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader.js +0 -149
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelToolbar.d.ts.map +0 -1
- package/dist/react-ui/blocks/Terminal/panel/TerminalSessionControl.d.ts.map +0 -1
- package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs.d.ts +0 -63
- package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs.d.ts.map +0 -1
- package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover.d.ts +0 -24
- package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover.d.ts.map +0 -1
- package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover.js +0 -225
- package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector.d.ts +0 -35
- package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector.d.ts.map +0 -1
- package/dist/react-ui/blocks/Terminal/panel/terminal-filter-dropdown.module.js +0 -5
- package/dist/react-ui/blocks/Terminal/panel/terminal-session-tabs.module.js +0 -5
- /package/dist/{react-ui/blocks/Terminal/panel/terminal-filter-dropdown.module-p4Aks9qK.css → css/blocks-Terminal-panel-TerminalFilterDropdown-terminal-filter-dropdown.module.css} +0 -0
- /package/dist/{react-ui/blocks/Terminal/panel/terminal-session-tabs.module-D7g8zk0W.css → css/blocks-Terminal-panel-TerminalSessionTabs-terminal-session-tabs.module.css} +0 -0
- /package/dist/{react-ui/components/MorphingPopover/morphing-popover.module-s63snw7C.css → css/components-MorphingPopover-morphing-popover.module.css} +0 -0
- /package/dist/{react-ui/primitives/waapi/Morph/techniques/useViewTransitions.module-7y-To7On.css → css/primitives-waapi-Morph-techniques-useViewTransitions.module.css} +0 -0
- /package/dist/{react-ui/ui/DynamicToggle/DynamicToggle.module-BE6uirOX.css → css/ui-DynamicToggle-DynamicToggle.css} +0 -0
- /package/dist/{react-ui/ui/Tabs/Tabs.module-CFzRKHsx.css → css/ui-Tabs-Tabs.css} +0 -0
- /package/dist/react-ui/{ui/DynamicToggle/DynamicToggle.module.js → blocks/Sidebar/animations/tooltip-keyframes.js} +0 -0
- /package/dist/react-ui/ui/{Tabs/Tabs.module.js → DynamicToggle/DynamicToggle.js} +0 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TerminalSessionControl style definitions.
|
|
3
|
+
*
|
|
4
|
+
* @module @mks2508/mks-ui/react/blocks/Terminal/panel/TerminalSessionControl
|
|
5
|
+
*/
|
|
6
|
+
import type { StyleSlots } from '../../../../../core/types';
|
|
7
|
+
/** Slot names for TerminalSessionControl visual regions. */
|
|
8
|
+
export type TerminalSessionControlSlot = 'root' | 'statusDot' | 'containerName' | 'liveLabel' | 'addButton' | 'refreshButton' | 'closeButton' | 'dropdown' | 'dropdownItem';
|
|
9
|
+
/**
|
|
10
|
+
* Default style slots for TerminalSessionControl.
|
|
11
|
+
*/
|
|
12
|
+
export declare const terminalSessionControlStyles: StyleSlots<TerminalSessionControlSlot>;
|
|
13
|
+
//# sourceMappingURL=TerminalSessionControl.styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TerminalSessionControl.styles.d.ts","sourceRoot":"","sources":["../../../../../../src/react-ui/blocks/Terminal/panel/TerminalSessionControl/TerminalSessionControl.styles.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,4DAA4D;AAC5D,MAAM,MAAM,0BAA0B,GAClC,MAAM,GACN,WAAW,GACX,eAAe,GACf,WAAW,GACX,WAAW,GACX,eAAe,GACf,aAAa,GACb,UAAU,GACV,cAAc,CAAC;AAEnB;;GAEG;AACH,eAAO,MAAM,4BAA4B,EAAE,UAAU,CAAC,0BAA0B,CAU/E,CAAC"}
|
|
@@ -1,21 +1,35 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* TerminalSessionControl
|
|
2
|
+
* TerminalSessionControl types.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* dropdown selector for containers, and close button.
|
|
6
|
-
*
|
|
7
|
-
* @module components/devenv/terminal/panel/session-control
|
|
4
|
+
* @module @mks2508/mks-ui/react/blocks/Terminal/panel/TerminalSessionControl
|
|
8
5
|
*/
|
|
6
|
+
import type { SlotOverrides } from '../../../../../core/types';
|
|
7
|
+
import type { TerminalSessionControlSlot } from './TerminalSessionControl.styles';
|
|
9
8
|
/**
|
|
10
9
|
* Container information for dropdown display.
|
|
11
10
|
*/
|
|
12
11
|
export interface IContainerOption {
|
|
12
|
+
/** Unique container identifier */
|
|
13
13
|
id: string;
|
|
14
|
+
/** Container display name */
|
|
14
15
|
name: string;
|
|
16
|
+
/** Container state (e.g. 'running', 'stopped') */
|
|
15
17
|
state: string;
|
|
16
18
|
}
|
|
17
19
|
/**
|
|
18
|
-
* Props for TerminalSessionControl component.
|
|
20
|
+
* Props for the TerminalSessionControl component.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```tsx
|
|
24
|
+
* <TerminalSessionControl
|
|
25
|
+
* currentContainer="devenv-agent-backend"
|
|
26
|
+
* containers={containers}
|
|
27
|
+
* isConnected={true}
|
|
28
|
+
* onContainerSelect={(name) => selectContainer(name)}
|
|
29
|
+
* onClose={() => stopStreaming()}
|
|
30
|
+
* slots={{ root: 'h-14' }}
|
|
31
|
+
* />
|
|
32
|
+
* ```
|
|
19
33
|
*/
|
|
20
34
|
export interface ITerminalSessionControlProps {
|
|
21
35
|
/** Current container name */
|
|
@@ -30,29 +44,9 @@ export interface ITerminalSessionControlProps {
|
|
|
30
44
|
onClose: () => void;
|
|
31
45
|
/** Callback when refresh is clicked */
|
|
32
46
|
onRefresh?: () => void;
|
|
33
|
-
/**
|
|
47
|
+
/** Override classes for visual regions */
|
|
48
|
+
slots?: SlotOverrides<TerminalSessionControlSlot>;
|
|
49
|
+
/** Custom class name on root element */
|
|
34
50
|
className?: string;
|
|
35
51
|
}
|
|
36
|
-
|
|
37
|
-
* TerminalSessionControl Component.
|
|
38
|
-
*
|
|
39
|
-
* Displays compact session control with:
|
|
40
|
-
* - Current container name with status indicator
|
|
41
|
-
* - Dropdown button (+) to select from available containers
|
|
42
|
-
* - Close button (X) to stop streaming and deselect
|
|
43
|
-
* - Refresh button (optional)
|
|
44
|
-
*
|
|
45
|
-
* @example
|
|
46
|
-
* ```tsx
|
|
47
|
-
* <TerminalSessionControl
|
|
48
|
-
* currentContainer="devenv-agent-backend"
|
|
49
|
-
* containers={containers}
|
|
50
|
-
* isConnected={true}
|
|
51
|
-
* onContainerSelect={(name) => selectContainer(name)}
|
|
52
|
-
* onClose={() => stopStreaming()}
|
|
53
|
-
* onRefresh={() => loadContainers()}
|
|
54
|
-
* />
|
|
55
|
-
* ```
|
|
56
|
-
*/
|
|
57
|
-
export declare function TerminalSessionControl({ currentContainer, containers, isConnected, onContainerSelect, onClose, onRefresh, className, }: ITerminalSessionControlProps): import("react/jsx-runtime").JSX.Element;
|
|
58
|
-
//# sourceMappingURL=TerminalSessionControl.d.ts.map
|
|
52
|
+
//# sourceMappingURL=TerminalSessionControl.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TerminalSessionControl.types.d.ts","sourceRoot":"","sources":["../../../../../../src/react-ui/blocks/Terminal/panel/TerminalSessionControl/TerminalSessionControl.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAElF;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kCAAkC;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,4BAA4B;IAC3C,6BAA6B;IAC7B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjC,0CAA0C;IAC1C,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAE/B,4CAA4C;IAC5C,WAAW,EAAE,OAAO,CAAC;IAErB,0CAA0C;IAC1C,iBAAiB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IAEnD,6DAA6D;IAC7D,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAEvB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,aAAa,CAAC,0BAA0B,CAAC,CAAC;IAElD,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TerminalSessionControl Component.
|
|
3
|
+
*
|
|
4
|
+
* Ghostty-inspired session control with current session display,
|
|
5
|
+
* dropdown selector for containers, and close button.
|
|
6
|
+
* Fully composable via StyleSlots.
|
|
7
|
+
*
|
|
8
|
+
* @module @mks2508/mks-ui/react/blocks/Terminal/panel/TerminalSessionControl
|
|
9
|
+
*/
|
|
10
|
+
import type { ITerminalSessionControlProps } from './TerminalSessionControl.types';
|
|
11
|
+
export type { ITerminalSessionControlProps, IContainerOption } from './TerminalSessionControl.types';
|
|
12
|
+
export { terminalSessionControlStyles } from './TerminalSessionControl.styles';
|
|
13
|
+
export type { TerminalSessionControlSlot } from './TerminalSessionControl.styles';
|
|
14
|
+
/**
|
|
15
|
+
* TerminalSessionControl Component.
|
|
16
|
+
*
|
|
17
|
+
* Displays compact session control with:
|
|
18
|
+
* - Current container name with status indicator
|
|
19
|
+
* - Dropdown button (+) to select from available containers
|
|
20
|
+
* - Close button (X) to stop streaming and deselect
|
|
21
|
+
* - Refresh button (optional)
|
|
22
|
+
*
|
|
23
|
+
* All visual regions are overridable via the `slots` prop.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```tsx
|
|
27
|
+
* <TerminalSessionControl
|
|
28
|
+
* currentContainer="devenv-agent-backend"
|
|
29
|
+
* containers={containers}
|
|
30
|
+
* isConnected={true}
|
|
31
|
+
* onContainerSelect={(name) => selectContainer(name)}
|
|
32
|
+
* onClose={() => stopStreaming()}
|
|
33
|
+
* slots={{ root: 'h-14' }}
|
|
34
|
+
* />
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export declare function TerminalSessionControl({ currentContainer, containers, isConnected, onContainerSelect, onClose, onRefresh, slots, className, }: ITerminalSessionControlProps): import("react/jsx-runtime").JSX.Element;
|
|
38
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/react-ui/blocks/Terminal/panel/TerminalSessionControl/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAGnF,YAAY,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACrG,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAC/E,YAAY,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAElF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,OAAO,EACP,SAAS,EACT,KAAK,EACL,SAAS,GACV,EAAE,4BAA4B,2CA4H9B"}
|
package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/TerminalSessionTabs.styles.d.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TerminalSessionTabs style definitions.
|
|
3
|
+
*
|
|
4
|
+
* StyleSlots for the Ghostty-inspired session tab bar with
|
|
5
|
+
* status indicators, glassmorphic active state, and smooth animations.
|
|
6
|
+
*
|
|
7
|
+
* @module @mks2508/mks-ui/react/blocks/Terminal/panel/TerminalSessionTabs
|
|
8
|
+
*/
|
|
9
|
+
import type { StyleSlots } from '../../../../../core/types';
|
|
10
|
+
/** Slot names for TerminalSessionTabs visual regions. */
|
|
11
|
+
export type TerminalSessionTabsSlot = 'root' | 'tab' | 'tabIndicator' | 'tabGlowBar' | 'statusDot' | 'tabName' | 'closeButton' | 'addButton' | 'dropdown' | 'dropdownItem' | 'infoBadge';
|
|
12
|
+
/**
|
|
13
|
+
* Default style slots for TerminalSessionTabs.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```tsx
|
|
17
|
+
* <TerminalSessionTabs
|
|
18
|
+
* slots={{ root: 'h-14', tab: 'max-w-[300px]' }}
|
|
19
|
+
* />
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare const terminalSessionTabsStyles: StyleSlots<TerminalSessionTabsSlot>;
|
|
23
|
+
//# sourceMappingURL=TerminalSessionTabs.styles.d.ts.map
|
package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/TerminalSessionTabs.styles.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TerminalSessionTabs.styles.d.ts","sourceRoot":"","sources":["../../../../../../src/react-ui/blocks/Terminal/panel/TerminalSessionTabs/TerminalSessionTabs.styles.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,yDAAyD;AACzD,MAAM,MAAM,uBAAuB,GAC/B,MAAM,GACN,KAAK,GACL,cAAc,GACd,YAAY,GACZ,WAAW,GACX,SAAS,GACT,aAAa,GACb,WAAW,GACX,UAAU,GACV,cAAc,GACd,WAAW,CAAC;AAEhB;;;;;;;;;GASG;AACH,eAAO,MAAM,yBAAyB,EAAE,UAAU,CAAC,uBAAuB,CAYzE,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
//#region src/react-ui/blocks/Terminal/panel/TerminalSessionTabs/TerminalSessionTabs.styles.ts
|
|
2
|
+
/**
|
|
3
|
+
* Default style slots for TerminalSessionTabs.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```tsx
|
|
7
|
+
* <TerminalSessionTabs
|
|
8
|
+
* slots={{ root: 'h-14', tab: 'max-w-[300px]' }}
|
|
9
|
+
* />
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
const terminalSessionTabsStyles = {
|
|
13
|
+
root: "flex items-center gap-1 px-3 h-12 bg-background/60 border-b border-border/30 overflow-x-auto scrollbar-thin scrollbar-track-transparent scrollbar-thumb-border/30 hover:scrollbar-thumb-border/50",
|
|
14
|
+
tab: "group relative flex items-center gap-2 px-3 py-1.5 h-9 rounded-t-lg font-mono text-xs font-medium cursor-pointer overflow-hidden min-w-0 max-w-[200px] flex-shrink-0",
|
|
15
|
+
tabIndicator: "absolute inset-0 rounded-t-lg bg-gradient-to-t from-primary/12 via-primary/5 to-transparent pointer-events-none",
|
|
16
|
+
tabGlowBar: "absolute bottom-0 left-1 right-1 h-0.5 rounded-full bg-primary pointer-events-none",
|
|
17
|
+
statusDot: "w-1.5 h-1.5 rounded-full flex-shrink-0 relative z-10",
|
|
18
|
+
tabName: "truncate relative z-10",
|
|
19
|
+
closeButton: "flex-shrink-0 p-0.5 rounded-sm transition-all duration-200 relative z-10 opacity-0 group-hover:opacity-100 hover:bg-destructive/20 hover:text-destructive hover:scale-110",
|
|
20
|
+
addButton: "flex items-center justify-center h-9 w-9 p-1.5 rounded-md transition-colors duration-200 flex-shrink-0 bg-muted/50 text-muted-foreground hover:bg-primary/30 hover:text-primary border border-border/40 hover:border-primary/50",
|
|
21
|
+
dropdown: "",
|
|
22
|
+
dropdownItem: "w-full px-3 py-2 text-left flex items-center gap-2 transition-all duration-150 hover:bg-primary/10 hover:text-primary hover:shadow-[inset_0_1px_0_0_rgba(255,255,255,0.15)]",
|
|
23
|
+
infoBadge: "flex items-center gap-2 px-2.5 py-1 rounded-md bg-muted/15 border border-border/20"
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
//#endregion
|
|
27
|
+
export { terminalSessionTabsStyles };
|
package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/TerminalSessionTabs.types.d.ts
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TerminalSessionTabs types.
|
|
3
|
+
*
|
|
4
|
+
* @module @mks2508/mks-ui/react/blocks/Terminal/panel/TerminalSessionTabs
|
|
5
|
+
*/
|
|
6
|
+
import type { SlotOverrides } from '../../../../../core/types';
|
|
7
|
+
import type { ITerminalSession } from '../TerminalLogsPanel.types';
|
|
8
|
+
import type { TerminalSessionTabsSlot } from './TerminalSessionTabs.styles';
|
|
9
|
+
/**
|
|
10
|
+
* Container option for the add-tab dropdown.
|
|
11
|
+
*/
|
|
12
|
+
export interface IContainerOption {
|
|
13
|
+
/** Unique container identifier */
|
|
14
|
+
id: string;
|
|
15
|
+
/** Container display name */
|
|
16
|
+
name: string;
|
|
17
|
+
/** Container state (e.g. 'running', 'stopped') */
|
|
18
|
+
state: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Props for the TerminalSessionTabs component.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```tsx
|
|
25
|
+
* <TerminalSessionTabs
|
|
26
|
+
* sessions={sessions}
|
|
27
|
+
* activeSessionId="session-1"
|
|
28
|
+
* onTabClick={(id) => setActiveSession(id)}
|
|
29
|
+
* onClose={(id) => closeSession(id)}
|
|
30
|
+
* availableContainers={containers}
|
|
31
|
+
* onAddContainer={(name) => addContainerTab(name)}
|
|
32
|
+
* slots={{ root: 'h-14', tab: 'rounded-lg' }}
|
|
33
|
+
* />
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export interface ITerminalSessionTabsProps {
|
|
37
|
+
/** Available sessions to display as tabs */
|
|
38
|
+
sessions: ITerminalSession[];
|
|
39
|
+
/** Currently active session ID */
|
|
40
|
+
activeSessionId: string | null;
|
|
41
|
+
/** Callback when a tab is clicked */
|
|
42
|
+
onTabClick: (sessionId: string) => void;
|
|
43
|
+
/** Callback when a tab's close button is clicked */
|
|
44
|
+
onClose: (sessionId: string) => void;
|
|
45
|
+
/** Callback when new session button is clicked (optional, for refresh) */
|
|
46
|
+
onNewSession?: () => void;
|
|
47
|
+
/** Available containers that can be added as new tabs */
|
|
48
|
+
availableContainers?: IContainerOption[];
|
|
49
|
+
/** Callback when a container is selected from the dropdown */
|
|
50
|
+
onAddContainer?: (containerName: string) => void;
|
|
51
|
+
/** Override classes for visual regions */
|
|
52
|
+
slots?: SlotOverrides<TerminalSessionTabsSlot>;
|
|
53
|
+
/** Custom class name on root element */
|
|
54
|
+
className?: string;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=TerminalSessionTabs.types.d.ts.map
|
package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/TerminalSessionTabs.types.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TerminalSessionTabs.types.d.ts","sourceRoot":"","sources":["../../../../../../src/react-ui/blocks/Terminal/panel/TerminalSessionTabs/TerminalSessionTabs.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAE5E;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kCAAkC;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,yBAAyB;IACxC,4CAA4C;IAC5C,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAE7B,kCAAkC;IAClC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/B,qCAAqC;IACrC,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAExC,oDAAoD;IACpD,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAErC,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAE1B,yDAAyD;IACzD,mBAAmB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAEzC,8DAA8D;IAC9D,cAAc,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IAEjD,0CAA0C;IAC1C,KAAK,CAAC,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;IAE/C,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TerminalSessionTabs Component.
|
|
3
|
+
*
|
|
4
|
+
* Ghostty-inspired session tab bar with status indicators,
|
|
5
|
+
* glassmorphic active state, and smooth animations.
|
|
6
|
+
* Fully composable via StyleSlots.
|
|
7
|
+
*
|
|
8
|
+
* @module @mks2508/mks-ui/react/blocks/Terminal/panel/TerminalSessionTabs
|
|
9
|
+
*/
|
|
10
|
+
import type { ITerminalSessionTabsProps } from './TerminalSessionTabs.types';
|
|
11
|
+
export type { ITerminalSessionTabsProps, IContainerOption } from './TerminalSessionTabs.types';
|
|
12
|
+
export { terminalSessionTabsStyles } from './TerminalSessionTabs.styles';
|
|
13
|
+
export type { TerminalSessionTabsSlot } from './TerminalSessionTabs.styles';
|
|
14
|
+
/**
|
|
15
|
+
* TerminalSessionTabs Component.
|
|
16
|
+
*
|
|
17
|
+
* Displays horizontal tab bar with:
|
|
18
|
+
* - Session name tabs with glassmorphic active state
|
|
19
|
+
* - Status indicator dots (connected/connecting/error)
|
|
20
|
+
* - Close button with hover reveal
|
|
21
|
+
* - New session "+" button with dropdown to select containers
|
|
22
|
+
* - Smooth slide animation on tab switch
|
|
23
|
+
*
|
|
24
|
+
* All visual regions are overridable via the `slots` prop.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```tsx
|
|
28
|
+
* <TerminalSessionTabs
|
|
29
|
+
* sessions={sessions}
|
|
30
|
+
* activeSessionId="session-1"
|
|
31
|
+
* onTabClick={(id) => setActiveSession(id)}
|
|
32
|
+
* onClose={(id) => closeSession(id)}
|
|
33
|
+
* availableContainers={containers}
|
|
34
|
+
* onAddContainer={(name) => addContainerTab(name)}
|
|
35
|
+
* onNewSession={() => refreshContainers()}
|
|
36
|
+
* />
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export declare function TerminalSessionTabs({ sessions, activeSessionId, onTabClick, onClose, onNewSession, availableContainers, onAddContainer, slots, className, }: ITerminalSessionTabsProps): import("react/jsx-runtime").JSX.Element | null;
|
|
40
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/react-ui/blocks/Terminal/panel/TerminalSessionTabs/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH,OAAO,KAAK,EAAE,yBAAyB,EAAoB,MAAM,6BAA6B,CAAC;AAI/F,YAAY,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/F,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AACzE,YAAY,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,eAAe,EACf,UAAU,EACV,OAAO,EACP,YAAY,EACZ,mBAAwB,EACxB,cAAc,EACd,KAAK,EACL,SAAS,GACV,EAAE,yBAAyB,kDAqN3B"}
|
package/dist/react-ui/blocks/Terminal/panel/{TerminalSessionTabs.js → TerminalSessionTabs/index.js}
RENAMED
|
@@ -1,35 +1,27 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import { cn } from "
|
|
4
|
-
import { PlusIcon } from "
|
|
5
|
-
import { XIcon } from "
|
|
6
|
-
import "
|
|
3
|
+
import { cn } from "../../../../lib/utils.js";
|
|
4
|
+
import { PlusIcon } from "../../../../icons/lucide-animated/plus.js";
|
|
5
|
+
import { XIcon } from "../../../../icons/lucide-animated/x.js";
|
|
6
|
+
import "../../../../icons/lucide-animated/index.js";
|
|
7
|
+
import { PRIMARY_GLOW, PRIMARY_GLOW_COMPOUND, STATUS_COLORS } from "../../Terminal.tokens.js";
|
|
8
|
+
import { terminalSessionTabsStyles } from "./TerminalSessionTabs.styles.js";
|
|
7
9
|
import terminal_session_tabs_module_default from "./terminal-session-tabs.module.js";
|
|
8
10
|
import { useEffect, useRef, useState } from "react";
|
|
9
11
|
import { AnimatePresence, motion } from "motion/react";
|
|
10
12
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
11
13
|
|
|
12
|
-
//#region src/react-ui/blocks/Terminal/panel/TerminalSessionTabs.tsx
|
|
14
|
+
//#region src/react-ui/blocks/Terminal/panel/TerminalSessionTabs/index.tsx
|
|
13
15
|
/**
|
|
14
16
|
* TerminalSessionTabs Component.
|
|
15
17
|
*
|
|
16
18
|
* Ghostty-inspired session tab bar with status indicators,
|
|
17
19
|
* glassmorphic active state, and smooth animations.
|
|
20
|
+
* Fully composable via StyleSlots.
|
|
18
21
|
*
|
|
19
|
-
* @module
|
|
22
|
+
* @module @mks2508/mks-ui/react/blocks/Terminal/panel/TerminalSessionTabs
|
|
20
23
|
*/
|
|
21
24
|
/**
|
|
22
|
-
* Get status color classes based on connection state.
|
|
23
|
-
*/
|
|
24
|
-
function getStatusColor(status) {
|
|
25
|
-
return {
|
|
26
|
-
connected: "bg-success/80 shadow-[0_0_8px_hsla(142,100%,62%,0.5)]",
|
|
27
|
-
connecting: "bg-yellow-500/80 animate-pulse",
|
|
28
|
-
disconnected: "bg-muted-foreground/60",
|
|
29
|
-
error: "bg-destructive/80 shadow-[0_0_8px_hsla(0,84%,60%,0.5)]"
|
|
30
|
-
}[status];
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
25
|
* TerminalSessionTabs Component.
|
|
34
26
|
*
|
|
35
27
|
* Displays horizontal tab bar with:
|
|
@@ -39,6 +31,8 @@ function getStatusColor(status) {
|
|
|
39
31
|
* - New session "+" button with dropdown to select containers
|
|
40
32
|
* - Smooth slide animation on tab switch
|
|
41
33
|
*
|
|
34
|
+
* All visual regions are overridable via the `slots` prop.
|
|
35
|
+
*
|
|
42
36
|
* @example
|
|
43
37
|
* ```tsx
|
|
44
38
|
* <TerminalSessionTabs
|
|
@@ -52,7 +46,7 @@ function getStatusColor(status) {
|
|
|
52
46
|
* />
|
|
53
47
|
* ```
|
|
54
48
|
*/
|
|
55
|
-
function TerminalSessionTabs({ sessions, activeSessionId, onTabClick, onClose, onNewSession, availableContainers = [], onAddContainer, className }) {
|
|
49
|
+
function TerminalSessionTabs({ sessions, activeSessionId, onTabClick, onClose, onNewSession, availableContainers = [], onAddContainer, slots, className }) {
|
|
56
50
|
const [isDropdownOpen, setIsDropdownOpen] = useState(false);
|
|
57
51
|
const addButtonContainerRef = useRef(null);
|
|
58
52
|
useEffect(() => {
|
|
@@ -64,16 +58,16 @@ function TerminalSessionTabs({ sessions, activeSessionId, onTabClick, onClose, o
|
|
|
64
58
|
return () => document.removeEventListener("mousedown", handleClickOutside);
|
|
65
59
|
}
|
|
66
60
|
}, [isDropdownOpen]);
|
|
61
|
+
const availableToAdd = (availableContainers || []).filter((container) => !sessions.some((session) => session.id === container.name));
|
|
67
62
|
/** Toggle dropdown or trigger new session callback. */
|
|
68
63
|
const openDropdown = () => {
|
|
69
64
|
if (availableToAdd.length > 0 && onAddContainer) setIsDropdownOpen(!isDropdownOpen);
|
|
70
65
|
else if (onNewSession) onNewSession();
|
|
71
66
|
};
|
|
72
|
-
const availableToAdd = (availableContainers || []).filter((container) => !sessions.some((session) => session.id === container.name));
|
|
73
67
|
if ((availableContainers || []).length === 0 && sessions.length === 0) return null;
|
|
74
68
|
const activeSession = sessions.find((s) => s.id === activeSessionId);
|
|
75
69
|
return /* @__PURE__ */ jsxs("div", {
|
|
76
|
-
className: cn(
|
|
70
|
+
className: cn(terminalSessionTabsStyles.root, slots?.root, className),
|
|
77
71
|
children: [
|
|
78
72
|
/* @__PURE__ */ jsx("div", {
|
|
79
73
|
className: "flex items-center gap-1",
|
|
@@ -81,6 +75,7 @@ function TerminalSessionTabs({ sessions, activeSessionId, onTabClick, onClose, o
|
|
|
81
75
|
initial: false,
|
|
82
76
|
children: sessions.map((session) => {
|
|
83
77
|
const isActive = session.id === activeSessionId;
|
|
78
|
+
const statusStyle = STATUS_COLORS[session.status];
|
|
84
79
|
return /* @__PURE__ */ jsxs(motion.div, {
|
|
85
80
|
layout: true,
|
|
86
81
|
initial: {
|
|
@@ -113,12 +108,12 @@ function TerminalSessionTabs({ sessions, activeSessionId, onTabClick, onClose, o
|
|
|
113
108
|
onTabClick(session.id);
|
|
114
109
|
}
|
|
115
110
|
},
|
|
116
|
-
className: cn(
|
|
111
|
+
className: cn(terminalSessionTabsStyles.tab, slots?.tab, isActive ? "bg-background text-foreground" : "bg-muted/40 text-muted-foreground/80 hover:bg-muted/60 hover:text-foreground"),
|
|
117
112
|
title: `${session.name} - ${session.status}${session.containerName ? ` (${session.containerName})` : ""}`,
|
|
118
113
|
children: [
|
|
119
114
|
isActive && /* @__PURE__ */ jsx(motion.div, {
|
|
120
115
|
layoutId: "active-session-tab",
|
|
121
|
-
className:
|
|
116
|
+
className: cn(terminalSessionTabsStyles.tabIndicator, slots?.tabIndicator),
|
|
122
117
|
transition: {
|
|
123
118
|
type: "spring",
|
|
124
119
|
stiffness: 400,
|
|
@@ -127,16 +122,16 @@ function TerminalSessionTabs({ sessions, activeSessionId, onTabClick, onClose, o
|
|
|
127
122
|
}),
|
|
128
123
|
isActive && /* @__PURE__ */ jsx(motion.div, {
|
|
129
124
|
layoutId: "active-tab-glow",
|
|
130
|
-
className:
|
|
125
|
+
className: cn(terminalSessionTabsStyles.tabGlowBar, slots?.tabGlowBar, PRIMARY_GLOW_COMPOUND.tabBar),
|
|
131
126
|
transition: {
|
|
132
127
|
type: "spring",
|
|
133
128
|
stiffness: 400,
|
|
134
129
|
damping: 28
|
|
135
130
|
}
|
|
136
131
|
}),
|
|
137
|
-
/* @__PURE__ */ jsx("div", { className: cn(
|
|
132
|
+
/* @__PURE__ */ jsx("div", { className: cn(terminalSessionTabsStyles.statusDot, slots?.statusDot, statusStyle.dot) }),
|
|
138
133
|
/* @__PURE__ */ jsx("span", {
|
|
139
|
-
className:
|
|
134
|
+
className: cn(terminalSessionTabsStyles.tabName, slots?.tabName),
|
|
140
135
|
children: session.name
|
|
141
136
|
}),
|
|
142
137
|
/* @__PURE__ */ jsx("button", {
|
|
@@ -145,7 +140,7 @@ function TerminalSessionTabs({ sessions, activeSessionId, onTabClick, onClose, o
|
|
|
145
140
|
e.stopPropagation();
|
|
146
141
|
onClose(session.id);
|
|
147
142
|
},
|
|
148
|
-
className: cn(
|
|
143
|
+
className: cn(terminalSessionTabsStyles.closeButton, slots?.closeButton, isActive && "opacity-70 hover:opacity-100"),
|
|
149
144
|
"aria-label": `Close ${session.name}`,
|
|
150
145
|
title: `Close ${session.name}`,
|
|
151
146
|
children: /* @__PURE__ */ jsx(XIcon, { size: 12 })
|
|
@@ -163,7 +158,7 @@ function TerminalSessionTabs({ sessions, activeSessionId, onTabClick, onClose, o
|
|
|
163
158
|
onClick: openDropdown,
|
|
164
159
|
whileHover: { scale: 1.08 },
|
|
165
160
|
whileTap: { scale: .95 },
|
|
166
|
-
className: cn(terminal_session_tabs_module_default.addButton,
|
|
161
|
+
className: cn(terminal_session_tabs_module_default.addButton, terminalSessionTabsStyles.addButton, slots?.addButton, `shadow-[inset_0_0.5px_0_rgba(255,255,255,0.15)] hover:${PRIMARY_GLOW.md}`),
|
|
167
162
|
"aria-label": "New session",
|
|
168
163
|
"aria-expanded": isDropdownOpen,
|
|
169
164
|
title: availableToAdd.length > 0 ? "Add container tab" : "New session (Ctrl+Shift+T)",
|
|
@@ -177,7 +172,7 @@ function TerminalSessionTabs({ sessions, activeSessionId, onTabClick, onClose, o
|
|
|
177
172
|
children: /* @__PURE__ */ jsx(PlusIcon, { size: 16 })
|
|
178
173
|
})
|
|
179
174
|
}), /* @__PURE__ */ jsx("div", {
|
|
180
|
-
className: terminal_session_tabs_module_default.containerDropdown,
|
|
175
|
+
className: cn(terminal_session_tabs_module_default.containerDropdown, slots?.dropdown),
|
|
181
176
|
"data-open": isDropdownOpen && availableToAdd.length > 0,
|
|
182
177
|
children: /* @__PURE__ */ jsxs("div", {
|
|
183
178
|
className: "glass-subtle rounded-lg py-1",
|
|
@@ -190,8 +185,8 @@ function TerminalSessionTabs({ sessions, activeSessionId, onTabClick, onClose, o
|
|
|
190
185
|
onAddContainer?.(container.name);
|
|
191
186
|
setIsDropdownOpen(false);
|
|
192
187
|
},
|
|
193
|
-
className: cn(
|
|
194
|
-
children: [/* @__PURE__ */ jsx("div", { className: cn("w-1.5 h-1.5 rounded-full flex-shrink-0", container.state === "running" ?
|
|
188
|
+
className: cn(terminalSessionTabsStyles.dropdownItem, slots?.dropdownItem, container.state === "running" && "text-success"),
|
|
189
|
+
children: [/* @__PURE__ */ jsx("div", { className: cn("w-1.5 h-1.5 rounded-full flex-shrink-0", container.state === "running" ? STATUS_COLORS.connected.dot : STATUS_COLORS.disconnected.dot) }), /* @__PURE__ */ jsxs("div", {
|
|
195
190
|
className: "flex-1 min-w-0",
|
|
196
191
|
children: [/* @__PURE__ */ jsx("div", {
|
|
197
192
|
className: "text-sm font-mono truncate",
|
|
@@ -224,7 +219,7 @@ function TerminalSessionTabs({ sessions, activeSessionId, onTabClick, onClose, o
|
|
|
224
219
|
stiffness: 400,
|
|
225
220
|
damping: 25
|
|
226
221
|
},
|
|
227
|
-
className:
|
|
222
|
+
className: cn(terminalSessionTabsStyles.infoBadge, slots?.infoBadge),
|
|
228
223
|
children: [
|
|
229
224
|
/* @__PURE__ */ jsx("span", {
|
|
230
225
|
className: "text-[10px] font-mono text-muted-foreground/80 uppercase tracking-widest",
|
package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/terminal-session-tabs.module.css
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TerminalSessionTabs Dropdown Styles.
|
|
3
|
+
*
|
|
4
|
+
* Uses CSS Anchor Positioning API for the "add container" dropdown.
|
|
5
|
+
* The + button acts as anchor, dropdown is positioned below it
|
|
6
|
+
* with automatic flip behavior at viewport edges.
|
|
7
|
+
*
|
|
8
|
+
* @module components/devenv/terminal/panel/terminal-session-tabs/styles
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/* + button - acts as CSS anchor */
|
|
12
|
+
.addButton {
|
|
13
|
+
anchor-name: --session-tabs-add-anchor;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/* Container dropdown - anchored to + button */
|
|
17
|
+
.containerDropdown {
|
|
18
|
+
position-anchor: --session-tabs-add-anchor;
|
|
19
|
+
position: fixed;
|
|
20
|
+
|
|
21
|
+
/* Position below and left-aligned */
|
|
22
|
+
left: anchor(left);
|
|
23
|
+
top: anchor(bottom);
|
|
24
|
+
margin-top: 4px;
|
|
25
|
+
|
|
26
|
+
/* Flip to above if no room below */
|
|
27
|
+
position-try-fallbacks: flip-block, flip-inline;
|
|
28
|
+
|
|
29
|
+
min-width: 200px;
|
|
30
|
+
z-index: 50;
|
|
31
|
+
|
|
32
|
+
/* Hidden by default */
|
|
33
|
+
display: none;
|
|
34
|
+
opacity: 0;
|
|
35
|
+
transform: translateY(-4px);
|
|
36
|
+
transition: opacity 0.15s ease-out, transform 0.15s ease-out;
|
|
37
|
+
pointer-events: none;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.containerDropdown[data-open="true"] {
|
|
41
|
+
display: block;
|
|
42
|
+
opacity: 1;
|
|
43
|
+
transform: translateY(0);
|
|
44
|
+
pointer-events: auto;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/* Fallback for browsers without CSS Anchor Positioning */
|
|
48
|
+
@supports not (anchor-name: none) {
|
|
49
|
+
.containerDropdown {
|
|
50
|
+
position: absolute;
|
|
51
|
+
left: 0;
|
|
52
|
+
top: calc(100% + 4px);
|
|
53
|
+
z-index: 50;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.containerDropdown[data-open="true"] {
|
|
57
|
+
display: block;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TerminalSettingsPopover style definitions.
|
|
3
|
+
*
|
|
4
|
+
* @module @mks2508/mks-ui/react/blocks/Terminal/panel/TerminalSettingsPopover
|
|
5
|
+
*/
|
|
6
|
+
import type { StyleSlots } from '../../../../../core/types';
|
|
7
|
+
/** Slot names for TerminalSettingsPopover visual regions. */
|
|
8
|
+
export type TerminalSettingsPopoverSlot = 'root' | 'trigger' | 'header' | 'section' | 'sectionLabel' | 'segmentedControl' | 'segmentedButton' | 'fontControls' | 'toggle' | 'resetButton';
|
|
9
|
+
/**
|
|
10
|
+
* Default style slots for TerminalSettingsPopover.
|
|
11
|
+
*/
|
|
12
|
+
export declare const terminalSettingsPopoverStyles: StyleSlots<TerminalSettingsPopoverSlot>;
|
|
13
|
+
//# sourceMappingURL=TerminalSettingsPopover.styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TerminalSettingsPopover.styles.d.ts","sourceRoot":"","sources":["../../../../../../src/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/TerminalSettingsPopover.styles.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,6DAA6D;AAC7D,MAAM,MAAM,2BAA2B,GACnC,MAAM,GACN,SAAS,GACT,QAAQ,GACR,SAAS,GACT,cAAc,GACd,kBAAkB,GAClB,iBAAiB,GACjB,cAAc,GACd,QAAQ,GACR,aAAa,CAAC;AAElB;;GAEG;AACH,eAAO,MAAM,6BAA6B,EAAE,UAAU,CAAC,2BAA2B,CAWjF,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
//#region src/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/TerminalSettingsPopover.styles.ts
|
|
2
|
+
/**
|
|
3
|
+
* Default style slots for TerminalSettingsPopover.
|
|
4
|
+
*/
|
|
5
|
+
const terminalSettingsPopoverStyles = {
|
|
6
|
+
root: "w-72 p-0 glass-subtle",
|
|
7
|
+
trigger: "",
|
|
8
|
+
header: "flex items-center gap-2 px-4 py-3",
|
|
9
|
+
section: "px-4 py-3 space-y-2",
|
|
10
|
+
sectionLabel: "text-[10px] font-mono text-muted-foreground uppercase tracking-wider",
|
|
11
|
+
segmentedControl: "flex items-center gap-1 bg-muted/10 rounded-lg p-0.5",
|
|
12
|
+
segmentedButton: "flex-1 justify-center",
|
|
13
|
+
fontControls: "flex items-center gap-2",
|
|
14
|
+
toggle: "flex items-center justify-between",
|
|
15
|
+
resetButton: "w-full h-8 rounded-md text-xs font-mono text-muted-foreground hover:text-foreground hover:bg-muted/20 transition-colors"
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
//#endregion
|
|
19
|
+
export { terminalSettingsPopoverStyles };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TerminalSettingsPopover types.
|
|
3
|
+
*
|
|
4
|
+
* @module @mks2508/mks-ui/react/blocks/Terminal/panel/TerminalSettingsPopover
|
|
5
|
+
*/
|
|
6
|
+
import type { SlotOverrides } from '../../../../../core/types';
|
|
7
|
+
import type { TerminalSettingsPopoverSlot } from './TerminalSettingsPopover.styles';
|
|
8
|
+
/**
|
|
9
|
+
* Props for the TerminalSettingsPopover component.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```tsx
|
|
13
|
+
* <TerminalSettingsPopover slots={{ trigger: 'h-10 w-10' }} />
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export interface ITerminalSettingsPopoverProps {
|
|
17
|
+
/** Override classes for visual regions */
|
|
18
|
+
slots?: SlotOverrides<TerminalSettingsPopoverSlot>;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=TerminalSettingsPopover.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TerminalSettingsPopover.types.d.ts","sourceRoot":"","sources":["../../../../../../src/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/TerminalSettingsPopover.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAEpF;;;;;;;GAOG;AACH,MAAM,WAAW,6BAA6B;IAC5C,0CAA0C;IAC1C,KAAK,CAAC,EAAE,aAAa,CAAC,2BAA2B,CAAC,CAAC;CACpD"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TerminalSettingsPopover Component.
|
|
3
|
+
*
|
|
4
|
+
* Gear icon popover for global terminal settings. Uses centralized
|
|
5
|
+
* tokens for segmented controls, toggle switches, and trigger buttons.
|
|
6
|
+
*
|
|
7
|
+
* @module @mks2508/mks-ui/react/blocks/Terminal/panel/TerminalSettingsPopover
|
|
8
|
+
*/
|
|
9
|
+
import type { ITerminalSettingsPopoverProps } from './TerminalSettingsPopover.types';
|
|
10
|
+
export type { ITerminalSettingsPopoverProps } from './TerminalSettingsPopover.types';
|
|
11
|
+
export { terminalSettingsPopoverStyles } from './TerminalSettingsPopover.styles';
|
|
12
|
+
export type { TerminalSettingsPopoverSlot } from './TerminalSettingsPopover.styles';
|
|
13
|
+
/**
|
|
14
|
+
* TerminalSettingsPopover Component.
|
|
15
|
+
*
|
|
16
|
+
* Renders a settings gear icon that opens a popover with terminal
|
|
17
|
+
* configuration options. Uses centralized tokens for all shared styles.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```tsx
|
|
21
|
+
* <TerminalSettingsPopover slots={{ trigger: 'h-10 w-10' }} />
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare function TerminalSettingsPopover({ slots }?: ITerminalSettingsPopoverProps): import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAkBH,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAGrF,YAAY,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AACjF,YAAY,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAMpF;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,KAAK,EAAE,GAAE,6BAAkC,2CA2MpF"}
|