@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,108 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { cn } from "../../../../lib/utils.js";
|
|
4
|
+
import { terminalSplitButtonStyles } from "./TerminalSplitButton.styles.js";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
|
|
7
|
+
//#region src/react-ui/blocks/Terminal/controls/TerminalSplitButton/index.tsx
|
|
8
|
+
/**
|
|
9
|
+
* TerminalSplitButton — pane split controls atom.
|
|
10
|
+
*
|
|
11
|
+
* Provides horizontal and vertical split buttons with an optional
|
|
12
|
+
* pane count badge. Uses inline SVG icons for the split direction
|
|
13
|
+
* indicators.
|
|
14
|
+
*
|
|
15
|
+
* @module @mks2508/mks-ui/react/blocks/Terminal/controls/TerminalSplitButton
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```tsx
|
|
19
|
+
* <TerminalSplitButton
|
|
20
|
+
* onSplitHorizontal={() => terminal.splitActive('horizontal')}
|
|
21
|
+
* onSplitVertical={() => terminal.splitActive('vertical')}
|
|
22
|
+
* paneCount={terminal.paneCount}
|
|
23
|
+
* />
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
/**
|
|
27
|
+
* Pane split controls.
|
|
28
|
+
*
|
|
29
|
+
* Renders horizontal and vertical split buttons with inline SVG icons.
|
|
30
|
+
* Optionally shows a pane count badge when there are multiple panes.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```tsx
|
|
34
|
+
* const panes = useTerminalPaneManager({ ref: resttyRef });
|
|
35
|
+
*
|
|
36
|
+
* <TerminalSplitButton
|
|
37
|
+
* onSplitHorizontal={() => panes.splitActive('horizontal')}
|
|
38
|
+
* onSplitVertical={() => panes.splitActive('vertical')}
|
|
39
|
+
* paneCount={panes.paneCount}
|
|
40
|
+
* />
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
function TerminalSplitButton({ onSplitHorizontal, onSplitVertical, paneCount, disabled = false, slots, className }) {
|
|
44
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
45
|
+
className: cn(terminalSplitButtonStyles.root, slots?.root, className),
|
|
46
|
+
children: [
|
|
47
|
+
/* @__PURE__ */ jsx("button", {
|
|
48
|
+
type: "button",
|
|
49
|
+
onClick: onSplitHorizontal,
|
|
50
|
+
className: cn(terminalSplitButtonStyles.splitHButton, slots?.splitHButton),
|
|
51
|
+
title: "Split horizontal (Ctrl+Shift+E)",
|
|
52
|
+
disabled,
|
|
53
|
+
children: /* @__PURE__ */ jsxs("svg", {
|
|
54
|
+
className: "w-3.5 h-3.5",
|
|
55
|
+
viewBox: "0 0 16 16",
|
|
56
|
+
fill: "none",
|
|
57
|
+
stroke: "currentColor",
|
|
58
|
+
strokeWidth: "1.5",
|
|
59
|
+
children: [/* @__PURE__ */ jsx("rect", {
|
|
60
|
+
x: "1",
|
|
61
|
+
y: "1",
|
|
62
|
+
width: "14",
|
|
63
|
+
height: "14",
|
|
64
|
+
rx: "2"
|
|
65
|
+
}), /* @__PURE__ */ jsx("line", {
|
|
66
|
+
x1: "8",
|
|
67
|
+
y1: "1",
|
|
68
|
+
x2: "8",
|
|
69
|
+
y2: "15"
|
|
70
|
+
})]
|
|
71
|
+
})
|
|
72
|
+
}),
|
|
73
|
+
/* @__PURE__ */ jsx("button", {
|
|
74
|
+
type: "button",
|
|
75
|
+
onClick: onSplitVertical,
|
|
76
|
+
className: cn(terminalSplitButtonStyles.splitVButton, slots?.splitVButton),
|
|
77
|
+
title: "Split vertical (Ctrl+Shift+D)",
|
|
78
|
+
disabled,
|
|
79
|
+
children: /* @__PURE__ */ jsxs("svg", {
|
|
80
|
+
className: "w-3.5 h-3.5",
|
|
81
|
+
viewBox: "0 0 16 16",
|
|
82
|
+
fill: "none",
|
|
83
|
+
stroke: "currentColor",
|
|
84
|
+
strokeWidth: "1.5",
|
|
85
|
+
children: [/* @__PURE__ */ jsx("rect", {
|
|
86
|
+
x: "1",
|
|
87
|
+
y: "1",
|
|
88
|
+
width: "14",
|
|
89
|
+
height: "14",
|
|
90
|
+
rx: "2"
|
|
91
|
+
}), /* @__PURE__ */ jsx("line", {
|
|
92
|
+
x1: "1",
|
|
93
|
+
y1: "8",
|
|
94
|
+
x2: "15",
|
|
95
|
+
y2: "8"
|
|
96
|
+
})]
|
|
97
|
+
})
|
|
98
|
+
}),
|
|
99
|
+
paneCount !== void 0 && paneCount > 1 && /* @__PURE__ */ jsx("span", {
|
|
100
|
+
className: cn(terminalSplitButtonStyles.countBadge, slots?.countBadge),
|
|
101
|
+
children: paneCount
|
|
102
|
+
})
|
|
103
|
+
]
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
//#endregion
|
|
108
|
+
export { TerminalSplitButton };
|
package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/TerminalStatusBar.styles.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Styles for TerminalStatusBar component.
|
|
3
|
+
*
|
|
4
|
+
* @module @mks2508/mks-ui/react/blocks/Terminal/controls/TerminalStatusBar
|
|
5
|
+
*/
|
|
6
|
+
import type { StyleSlots } from '../../../../../core/types';
|
|
7
|
+
import type { TerminalStatusBarSlot } from './TerminalStatusBar.types';
|
|
8
|
+
/**
|
|
9
|
+
* Base styles for TerminalStatusBar slots.
|
|
10
|
+
*/
|
|
11
|
+
export declare const terminalStatusBarStyles: StyleSlots<TerminalStatusBarSlot>;
|
|
12
|
+
//# sourceMappingURL=TerminalStatusBar.styles.d.ts.map
|
package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/TerminalStatusBar.styles.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TerminalStatusBar.styles.d.ts","sourceRoot":"","sources":["../../../../../../src/react-ui/blocks/Terminal/controls/TerminalStatusBar/TerminalStatusBar.styles.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEvE;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,UAAU,CAAC,qBAAqB,CAI5D,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
//#region src/react-ui/blocks/Terminal/controls/TerminalStatusBar/TerminalStatusBar.styles.ts
|
|
2
|
+
/**
|
|
3
|
+
* Base styles for TerminalStatusBar slots.
|
|
4
|
+
*/
|
|
5
|
+
const terminalStatusBarStyles = {
|
|
6
|
+
root: "flex items-center justify-between px-4 h-10 bg-muted/20 border-t border-white/10",
|
|
7
|
+
group: "flex items-center gap-3",
|
|
8
|
+
separator: "w-px h-4 bg-border/30"
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
//#endregion
|
|
12
|
+
export { terminalStatusBarStyles };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types for TerminalStatusBar component.
|
|
3
|
+
*
|
|
4
|
+
* @module @mks2508/mks-ui/react/blocks/Terminal/controls/TerminalStatusBar
|
|
5
|
+
*/
|
|
6
|
+
import type { SlotOverrides } from '../../../../../core/types';
|
|
7
|
+
import type { IUseTerminalReturn } from '../../hooks/useTerminal';
|
|
8
|
+
/**
|
|
9
|
+
* Visual slots for TerminalStatusBar.
|
|
10
|
+
*/
|
|
11
|
+
export type TerminalStatusBarSlot = 'root' | 'group' | 'separator';
|
|
12
|
+
/**
|
|
13
|
+
* Props for TerminalStatusBar.
|
|
14
|
+
*/
|
|
15
|
+
export interface ITerminalStatusBarProps {
|
|
16
|
+
/**
|
|
17
|
+
* Terminal hook return value for auto mode.
|
|
18
|
+
* When provided, renders default status indicators automatically.
|
|
19
|
+
* When omitted, renders `children` for custom composition.
|
|
20
|
+
*/
|
|
21
|
+
terminal?: IUseTerminalReturn;
|
|
22
|
+
/** Custom children (used when `terminal` is not provided). */
|
|
23
|
+
children?: React.ReactNode;
|
|
24
|
+
/** Show font size in auto mode (default: true). */
|
|
25
|
+
showFontSize?: boolean;
|
|
26
|
+
/** Slot class overrides. */
|
|
27
|
+
slots?: SlotOverrides<TerminalStatusBarSlot>;
|
|
28
|
+
/** Additional CSS classes for the root element. */
|
|
29
|
+
className?: string;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=TerminalStatusBar.types.d.ts.map
|
package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/TerminalStatusBar.types.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TerminalStatusBar.types.d.ts","sourceRoot":"","sources":["../../../../../../src/react-ui/blocks/Terminal/controls/TerminalStatusBar/TerminalStatusBar.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAE9B,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B,mDAAmD;IACnD,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,4BAA4B;IAC5B,KAAK,CAAC,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;IAE7C,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TerminalStatusBar — composable status bar container.
|
|
3
|
+
*
|
|
4
|
+
* Two usage modes:
|
|
5
|
+
* - **Auto mode**: Pass `terminal` prop from `useTerminal()` to render
|
|
6
|
+
* default status indicators (connection, dimensions, font size).
|
|
7
|
+
* - **Custom mode**: Pass `children` for full composition control.
|
|
8
|
+
*
|
|
9
|
+
* @module @mks2508/mks-ui/react/blocks/Terminal/controls/TerminalStatusBar
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```tsx
|
|
13
|
+
* // Auto mode
|
|
14
|
+
* <TerminalStatusBar terminal={terminal} />
|
|
15
|
+
*
|
|
16
|
+
* // Custom mode
|
|
17
|
+
* <TerminalStatusBar>
|
|
18
|
+
* <TerminalConnectionStatus status={terminal.status} />
|
|
19
|
+
* <TerminalDimensionsBadge dimensions={terminal.dimensions} />
|
|
20
|
+
* </TerminalStatusBar>
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
import type { ITerminalStatusBarProps } from './TerminalStatusBar.types';
|
|
24
|
+
export type { ITerminalStatusBarProps, TerminalStatusBarSlot } from './TerminalStatusBar.types';
|
|
25
|
+
export { terminalStatusBarStyles } from './TerminalStatusBar.styles';
|
|
26
|
+
/**
|
|
27
|
+
* Separator sub-component for custom composition.
|
|
28
|
+
*/
|
|
29
|
+
declare function StatusBarSeparator({ className }: {
|
|
30
|
+
className?: string;
|
|
31
|
+
}): React.JSX.Element;
|
|
32
|
+
/**
|
|
33
|
+
* Group sub-component for custom composition.
|
|
34
|
+
*/
|
|
35
|
+
declare function StatusBarGroup({ children, className }: {
|
|
36
|
+
children: React.ReactNode;
|
|
37
|
+
className?: string;
|
|
38
|
+
}): React.JSX.Element;
|
|
39
|
+
/**
|
|
40
|
+
* Composable terminal status bar.
|
|
41
|
+
*
|
|
42
|
+
* In **auto mode** (with `terminal` prop), renders:
|
|
43
|
+
* Left: ConnectionStatus | Right: Dimensions, FontSize
|
|
44
|
+
*
|
|
45
|
+
* In **custom mode** (with `children`), renders children in a styled flex container.
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* ```tsx
|
|
49
|
+
* // Auto mode — one line, all status indicators
|
|
50
|
+
* <TerminalStatusBar terminal={terminal} />
|
|
51
|
+
*
|
|
52
|
+
* // Custom mode — pick your indicators
|
|
53
|
+
* <TerminalStatusBar>
|
|
54
|
+
* <TerminalStatusBar.Group>
|
|
55
|
+
* <TerminalConnectionStatus status={terminal.status} />
|
|
56
|
+
* </TerminalStatusBar.Group>
|
|
57
|
+
* <TerminalStatusBar.Group>
|
|
58
|
+
* <TerminalDimensionsBadge dimensions={terminal.dimensions} />
|
|
59
|
+
* </TerminalStatusBar.Group>
|
|
60
|
+
* </TerminalStatusBar>
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
declare function TerminalStatusBarRoot({ terminal, children, showFontSize, slots, className, }: ITerminalStatusBarProps): React.JSX.Element;
|
|
64
|
+
/**
|
|
65
|
+
* TerminalStatusBar with typed sub-components.
|
|
66
|
+
*/
|
|
67
|
+
export declare const TerminalStatusBar: typeof TerminalStatusBarRoot & {
|
|
68
|
+
/** Separator sub-component for custom composition. */
|
|
69
|
+
Separator: typeof StatusBarSeparator;
|
|
70
|
+
/** Group sub-component for custom composition. */
|
|
71
|
+
Group: typeof StatusBarGroup;
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/react-ui/blocks/Terminal/controls/TerminalStatusBar/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAMH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAIzE,YAAY,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAChG,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAErE;;GAEG;AACH,iBAAS,kBAAkB,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAEpF;AAED;;GAEG;AACH,iBAAS,cAAc,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAErH;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,iBAAS,qBAAqB,CAAC,EAC7B,QAAQ,EACR,QAAQ,EACR,YAAmB,EACnB,KAAK,EACL,SAAS,GACV,EAAE,uBAAuB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA6B7C;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB;IAC5B,sDAAsD;;IAEtD,kDAAkD;;CAElD,CAAC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { cn } from "../../../../lib/utils.js";
|
|
4
|
+
import { TerminalDimensionsBadge } from "../TerminalAtoms.js";
|
|
5
|
+
import { terminalStatusBarStyles } from "./TerminalStatusBar.styles.js";
|
|
6
|
+
import { TerminalConnectionStatus } from "../TerminalConnectionStatus/index.js";
|
|
7
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
|
|
9
|
+
//#region src/react-ui/blocks/Terminal/controls/TerminalStatusBar/index.tsx
|
|
10
|
+
/**
|
|
11
|
+
* TerminalStatusBar — composable status bar container.
|
|
12
|
+
*
|
|
13
|
+
* Two usage modes:
|
|
14
|
+
* - **Auto mode**: Pass `terminal` prop from `useTerminal()` to render
|
|
15
|
+
* default status indicators (connection, dimensions, font size).
|
|
16
|
+
* - **Custom mode**: Pass `children` for full composition control.
|
|
17
|
+
*
|
|
18
|
+
* @module @mks2508/mks-ui/react/blocks/Terminal/controls/TerminalStatusBar
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```tsx
|
|
22
|
+
* // Auto mode
|
|
23
|
+
* <TerminalStatusBar terminal={terminal} />
|
|
24
|
+
*
|
|
25
|
+
* // Custom mode
|
|
26
|
+
* <TerminalStatusBar>
|
|
27
|
+
* <TerminalConnectionStatus status={terminal.status} />
|
|
28
|
+
* <TerminalDimensionsBadge dimensions={terminal.dimensions} />
|
|
29
|
+
* </TerminalStatusBar>
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
/**
|
|
33
|
+
* Separator sub-component for custom composition.
|
|
34
|
+
*/
|
|
35
|
+
function StatusBarSeparator({ className }) {
|
|
36
|
+
return /* @__PURE__ */ jsx("div", { className: cn(terminalStatusBarStyles.separator, className) });
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Group sub-component for custom composition.
|
|
40
|
+
*/
|
|
41
|
+
function StatusBarGroup({ children, className }) {
|
|
42
|
+
return /* @__PURE__ */ jsx("div", {
|
|
43
|
+
className: cn(terminalStatusBarStyles.group, className),
|
|
44
|
+
children
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Composable terminal status bar.
|
|
49
|
+
*
|
|
50
|
+
* In **auto mode** (with `terminal` prop), renders:
|
|
51
|
+
* Left: ConnectionStatus | Right: Dimensions, FontSize
|
|
52
|
+
*
|
|
53
|
+
* In **custom mode** (with `children`), renders children in a styled flex container.
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```tsx
|
|
57
|
+
* // Auto mode — one line, all status indicators
|
|
58
|
+
* <TerminalStatusBar terminal={terminal} />
|
|
59
|
+
*
|
|
60
|
+
* // Custom mode — pick your indicators
|
|
61
|
+
* <TerminalStatusBar>
|
|
62
|
+
* <TerminalStatusBar.Group>
|
|
63
|
+
* <TerminalConnectionStatus status={terminal.status} />
|
|
64
|
+
* </TerminalStatusBar.Group>
|
|
65
|
+
* <TerminalStatusBar.Group>
|
|
66
|
+
* <TerminalDimensionsBadge dimensions={terminal.dimensions} />
|
|
67
|
+
* </TerminalStatusBar.Group>
|
|
68
|
+
* </TerminalStatusBar>
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
function TerminalStatusBarRoot({ terminal, children, showFontSize = true, slots, className }) {
|
|
72
|
+
if (!terminal) return /* @__PURE__ */ jsx("div", {
|
|
73
|
+
className: cn(terminalStatusBarStyles.root, slots?.root, className),
|
|
74
|
+
children
|
|
75
|
+
});
|
|
76
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
77
|
+
className: cn(terminalStatusBarStyles.root, slots?.root, className),
|
|
78
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
79
|
+
className: cn(terminalStatusBarStyles.group, slots?.group),
|
|
80
|
+
children: /* @__PURE__ */ jsx(TerminalConnectionStatus, { status: terminal.status })
|
|
81
|
+
}), /* @__PURE__ */ jsxs("div", {
|
|
82
|
+
className: cn(terminalStatusBarStyles.group, slots?.group),
|
|
83
|
+
children: [/* @__PURE__ */ jsx(TerminalDimensionsBadge, { dimensions: terminal.dimensions }), showFontSize && /* @__PURE__ */ jsxs("span", {
|
|
84
|
+
className: "text-xs font-mono text-muted-foreground",
|
|
85
|
+
children: [terminal.fontSize, "px"]
|
|
86
|
+
})]
|
|
87
|
+
})]
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* TerminalStatusBar with typed sub-components.
|
|
92
|
+
*/
|
|
93
|
+
const TerminalStatusBar = Object.assign(TerminalStatusBarRoot, {
|
|
94
|
+
Separator: StatusBarSeparator,
|
|
95
|
+
Group: StatusBarGroup
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
//#endregion
|
|
99
|
+
export { TerminalStatusBar };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Composable Terminal Control Atoms.
|
|
3
|
+
*
|
|
4
|
+
* UI building blocks for constructing custom terminal action bars,
|
|
5
|
+
* status bars, and control panels. Each atom is independently usable
|
|
6
|
+
* and follows the StyleSlots pattern.
|
|
7
|
+
*
|
|
8
|
+
* @module @mks2508/mks-ui/react/blocks/Terminal/controls
|
|
9
|
+
*/
|
|
10
|
+
export { TerminalActionBar, terminalActionBarStyles, type ITerminalActionBarProps, type TerminalActionBarSlot, } from './TerminalActionBar';
|
|
11
|
+
export { TerminalStatusBar, terminalStatusBarStyles, type ITerminalStatusBarProps, type TerminalStatusBarSlot, } from './TerminalStatusBar';
|
|
12
|
+
export { TerminalFontControls, terminalFontControlsStyles, type ITerminalFontControlsProps, type TerminalFontControlsSlot, } from './TerminalFontControls';
|
|
13
|
+
export { TerminalSplitButton, terminalSplitButtonStyles, type ITerminalSplitButtonProps, type TerminalSplitButtonSlot, } from './TerminalSplitButton';
|
|
14
|
+
export { TerminalConnectionStatus, terminalConnectionStatusStyles, type ITerminalConnectionStatusProps, type TerminalConnectionStatusSlot, } from './TerminalConnectionStatus';
|
|
15
|
+
export { TerminalClearButton, TerminalReconnectButton, TerminalDimensionsBadge, TerminalRendererBadge, TerminalDisconnectedOverlay, type ITerminalClearButtonProps, type ITerminalReconnectButtonProps, type ITerminalDimensionsBadgeProps, type ITerminalRendererBadgeProps, type ITerminalDisconnectedOverlayProps, } from './TerminalAtoms';
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/react-ui/blocks/Terminal/controls/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,GAC3B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,GAC3B,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,GAC9B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,GAC7B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,wBAAwB,EACxB,8BAA8B,EAC9B,KAAK,8BAA8B,EACnC,KAAK,4BAA4B,GAClC,MAAM,4BAA4B,CAAC;AAIpC,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,2BAA2B,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,6BAA6B,EAClC,KAAK,6BAA6B,EAClC,KAAK,2BAA2B,EAChC,KAAK,iCAAiC,GACvC,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { terminalActionBarStyles } from "./TerminalActionBar/TerminalActionBar.styles.js";
|
|
2
|
+
import { TerminalClearButton, TerminalDimensionsBadge, TerminalDisconnectedOverlay, TerminalReconnectButton, TerminalRendererBadge } from "./TerminalAtoms.js";
|
|
3
|
+
import { terminalFontControlsStyles } from "./TerminalFontControls/TerminalFontControls.styles.js";
|
|
4
|
+
import { TerminalFontControls } from "./TerminalFontControls/index.js";
|
|
5
|
+
import { terminalSplitButtonStyles } from "./TerminalSplitButton/TerminalSplitButton.styles.js";
|
|
6
|
+
import { TerminalSplitButton } from "./TerminalSplitButton/index.js";
|
|
7
|
+
import { TerminalActionBar } from "./TerminalActionBar/index.js";
|
|
8
|
+
import { terminalStatusBarStyles } from "./TerminalStatusBar/TerminalStatusBar.styles.js";
|
|
9
|
+
import { terminalConnectionStatusStyles } from "./TerminalConnectionStatus/TerminalConnectionStatus.styles.js";
|
|
10
|
+
import { TerminalConnectionStatus } from "./TerminalConnectionStatus/index.js";
|
|
11
|
+
import { TerminalStatusBar } from "./TerminalStatusBar/index.js";
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
export { TerminalDisplay } from './TerminalDisplay';
|
|
11
11
|
export { terminalDisplayStyles, terminalDisplayVariants, type TerminalDisplayVariantProps, } from './TerminalDisplay.styles';
|
|
12
12
|
export type { ITerminalDisplayProps, ITerminalDisplayRef, TerminalDisplaySlot, } from './TerminalDisplay.types';
|
|
13
|
-
export {
|
|
14
|
-
export type {
|
|
13
|
+
export { ResttyTerminal, ResttySessionProvider, useResttySession } from './restty';
|
|
14
|
+
export type { IResttyTerminalProps, IResttyTerminalRef } from './restty';
|
|
15
15
|
export { TerminalPanelChrome, NOISE_TEXTURE_SVG, terminalScrollStyles } from './panel/TerminalPanelChrome';
|
|
16
16
|
export type { ITerminalPanelChromeProps } from './panel/TerminalPanelChrome.types';
|
|
17
17
|
export { terminalChromeStyles, terminalChromeVariants, ACCENT_GRADIENTS, type TerminalChromeSlot, } from './panel/TerminalPanelChrome.styles';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../../../src/react-ui/blocks/Terminal/display.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,KAAK,2BAA2B,GACjC,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../../../src/react-ui/blocks/Terminal/display.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,KAAK,2BAA2B,GACjC,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACnF,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAGzE,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAC3G,YAAY,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AACnF,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,KAAK,kBAAkB,GACxB,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,wBAAwB,EACxB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,GACzB,MAAM,yBAAyB,CAAC"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { SYNTHWAVE_TERMINAL_THEME, getTerminalTheme } from "./Terminal.theme.js";
|
|
2
2
|
import { ACCENT_GRADIENTS, terminalChromeStyles, terminalChromeVariants } from "./panel/TerminalPanelChrome.styles.js";
|
|
3
3
|
import { NOISE_TEXTURE_SVG, TerminalPanelChrome, terminalScrollStyles } from "./panel/TerminalPanelChrome.js";
|
|
4
|
+
import { ResttySessionProvider, useResttySession } from "./restty/ResttySessionProvider.js";
|
|
4
5
|
import { getSynthwaveGhosttyTheme, hexToResttyColor, xtermThemeToGhostty } from "./Terminal.theme.restty.js";
|
|
5
|
-
import {
|
|
6
|
+
import { ResttyTerminal } from "./restty/ResttyTerminal.js";
|
|
7
|
+
import "./restty/index.js";
|
|
6
8
|
import { terminalDisplayStyles, terminalDisplayVariants } from "./TerminalDisplay.styles.js";
|
|
7
9
|
import { TerminalDisplay } from "./TerminalDisplay.js";
|
|
8
10
|
|
|
9
|
-
export { ACCENT_GRADIENTS, NOISE_TEXTURE_SVG, SYNTHWAVE_TERMINAL_THEME, TerminalDisplay, TerminalPanelChrome,
|
|
11
|
+
export { ACCENT_GRADIENTS, NOISE_TEXTURE_SVG, ResttySessionProvider, ResttyTerminal, SYNTHWAVE_TERMINAL_THEME, TerminalDisplay, TerminalPanelChrome, getSynthwaveGhosttyTheme, getTerminalTheme, hexToResttyColor, terminalChromeStyles, terminalChromeVariants, terminalDisplayStyles, terminalDisplayVariants, terminalScrollStyles, useResttySession, xtermThemeToGhostty };
|
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Terminal Hooks Module.
|
|
3
3
|
*
|
|
4
|
-
* Reusable hooks for terminal WebSocket connections
|
|
5
|
-
* and
|
|
4
|
+
* Reusable hooks for terminal WebSocket connections, global settings,
|
|
5
|
+
* and composable terminal state management (connection, font, panes,
|
|
6
|
+
* dimensions, keyboard shortcuts).
|
|
6
7
|
*
|
|
7
8
|
* @module @mks2508/mks-ui/react/blocks/Terminal/hooks
|
|
8
9
|
*/
|
|
9
10
|
export { useTerminalWebSocket, type IUseTerminalWebSocketOptions, type IUseTerminalWebSocketReturn, type ITerminalWsServerMessage, type TTerminalWsStatus, } from './useTerminalWebSocket';
|
|
10
11
|
export { useTerminalSettings, type ITerminalSettings, type IUseTerminalSettingsReturn, } from './useTerminalSettings';
|
|
12
|
+
export { useTerminal, type IUseTerminalOptions, type IUseTerminalReturn, type ITerminalResttyProps, } from './useTerminal';
|
|
13
|
+
export { useTerminalConnection, type IUseTerminalConnectionOptions, type IUseTerminalConnectionReturn, } from './useTerminalConnection';
|
|
14
|
+
export { useTerminalFontSize, type IUseTerminalFontSizeOptions, type IUseTerminalFontSizeReturn, } from './useTerminalFontSize';
|
|
15
|
+
export { useTerminalPaneManager, type IUseTerminalPaneManagerOptions, type IUseTerminalPaneManagerReturn, } from './useTerminalPaneManager';
|
|
16
|
+
export { useTerminalDimensions, type IUseTerminalDimensionsReturn, type ITerminalDimensions, } from './useTerminalDimensions';
|
|
17
|
+
export { useTerminalKeyboardShortcuts, type ITerminalShortcutConfig, } from './useTerminalKeyboardShortcuts';
|
|
11
18
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/react-ui/blocks/Terminal/hooks/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/react-ui/blocks/Terminal/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,oBAAoB,EACpB,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,EAChC,KAAK,wBAAwB,EAC7B,KAAK,iBAAiB,GACvB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,mBAAmB,EACnB,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,GAChC,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EACL,WAAW,EACX,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,GAC1B,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,qBAAqB,EACrB,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,GAClC,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,mBAAmB,EACnB,KAAK,2BAA2B,EAChC,KAAK,0BAA0B,GAChC,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,sBAAsB,EACtB,KAAK,8BAA8B,EACnC,KAAK,6BAA6B,GACnC,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,qBAAqB,EACrB,KAAK,4BAA4B,EACjC,KAAK,mBAAmB,GACzB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,4BAA4B,EAC5B,KAAK,uBAAuB,GAC7B,MAAM,gCAAgC,CAAC"}
|
|
@@ -1,2 +1,8 @@
|
|
|
1
1
|
import { useTerminalWebSocket } from "./useTerminalWebSocket.js";
|
|
2
2
|
import { useTerminalSettings } from "./useTerminalSettings.js";
|
|
3
|
+
import { useTerminalConnection } from "./useTerminalConnection.js";
|
|
4
|
+
import { useTerminalFontSize } from "./useTerminalFontSize.js";
|
|
5
|
+
import { useTerminalPaneManager } from "./useTerminalPaneManager.js";
|
|
6
|
+
import { useTerminalDimensions } from "./useTerminalDimensions.js";
|
|
7
|
+
import { useTerminalKeyboardShortcuts } from "./useTerminalKeyboardShortcuts.js";
|
|
8
|
+
import { useTerminal } from "./useTerminal.js";
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Main composable terminal hook.
|
|
3
|
+
*
|
|
4
|
+
* Orchestrates all terminal sub-hooks into a single unified API:
|
|
5
|
+
* connection state, font size, pane management, dimensions, keyboard
|
|
6
|
+
* shortcuts, and a `resttyProps` spread object for zero-config wiring.
|
|
7
|
+
*
|
|
8
|
+
* This is the recommended entry point for building custom terminal UIs.
|
|
9
|
+
*
|
|
10
|
+
* @module @mks2508/mks-ui/react/blocks/Terminal/hooks/useTerminal
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```tsx
|
|
14
|
+
* // Tier 2: Composable with chrome
|
|
15
|
+
* const terminal = useTerminal({ wsUrl: 'ws://localhost:3100/pty' });
|
|
16
|
+
*
|
|
17
|
+
* <TerminalPanelChrome
|
|
18
|
+
* containerName="my-app"
|
|
19
|
+
* isConnected={terminal.isConnected}
|
|
20
|
+
* actionBar={<TerminalActionBar terminal={terminal} />}
|
|
21
|
+
* footer={<TerminalStatusBar terminal={terminal} />}
|
|
22
|
+
* >
|
|
23
|
+
* <ResttyTerminal ref={terminal.ref} {...terminal.resttyProps} />
|
|
24
|
+
* </TerminalPanelChrome>
|
|
25
|
+
*
|
|
26
|
+
* // Tier 3: Fully custom layout
|
|
27
|
+
* const terminal = useTerminal({ wsUrl: 'ws://...', keyboardShortcuts: true });
|
|
28
|
+
*
|
|
29
|
+
* <div className="my-terminal">
|
|
30
|
+
* <ResttyTerminal ref={terminal.ref} {...terminal.resttyProps} className="flex-1" />
|
|
31
|
+
* <span>{terminal.paneCount} panes, {terminal.dimensions.cols}×{terminal.dimensions.rows}</span>
|
|
32
|
+
* </div>
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
import type { IResttyTerminalRef, ResttyPaneSplitDirection } from '../restty/ResttyTerminal.types';
|
|
36
|
+
import type { TTerminalConnectionStatusToken } from '../Terminal.tokens';
|
|
37
|
+
import type { ITerminalSettings } from './useTerminalSettings';
|
|
38
|
+
import { type ITerminalDimensions } from './useTerminalDimensions';
|
|
39
|
+
/**
|
|
40
|
+
* Options for useTerminal.
|
|
41
|
+
*/
|
|
42
|
+
export interface IUseTerminalOptions {
|
|
43
|
+
/** WebSocket URL for PTY connection. */
|
|
44
|
+
wsUrl?: string;
|
|
45
|
+
/** Initial font size in CSS pixels. Defaults to value from useTerminalSettings. */
|
|
46
|
+
fontSize?: number;
|
|
47
|
+
/** Enable keyboard shortcuts (default: false — opt-in to avoid conflicts). */
|
|
48
|
+
keyboardShortcuts?: boolean;
|
|
49
|
+
/** Persist font size to localStorage (default: true). */
|
|
50
|
+
persistFontSize?: boolean;
|
|
51
|
+
/** Called when PTY connection opens. */
|
|
52
|
+
onConnect?: () => void;
|
|
53
|
+
/** Called when PTY connection closes. */
|
|
54
|
+
onDisconnect?: () => void;
|
|
55
|
+
/** Called on connection error. */
|
|
56
|
+
onError?: (message: string) => void;
|
|
57
|
+
/** Called when terminal grid dimensions change. */
|
|
58
|
+
onResize?: (cols: number, rows: number) => void;
|
|
59
|
+
/** Called when a pane is split. */
|
|
60
|
+
onPaneSplit?: (sourceId: number, createdId: number, direction: string) => void;
|
|
61
|
+
/** Called when a pane is closed. */
|
|
62
|
+
onPaneClose?: (paneId: number) => void;
|
|
63
|
+
/** Called when a pane is created. */
|
|
64
|
+
onPaneCreated?: (paneId: number) => void;
|
|
65
|
+
/** Called when the active pane changes. */
|
|
66
|
+
onActivePaneChange?: (paneId: number | null) => void;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Props to spread onto `<ResttyTerminal>`.
|
|
70
|
+
*
|
|
71
|
+
* Contains all callback handlers wired to the composed hooks.
|
|
72
|
+
* Spread with `{...terminal.resttyProps}` for zero-config wiring.
|
|
73
|
+
*/
|
|
74
|
+
export interface ITerminalResttyProps {
|
|
75
|
+
/** WebSocket URL for PTY connection. */
|
|
76
|
+
wsUrl?: string;
|
|
77
|
+
/** Font size in CSS pixels. */
|
|
78
|
+
fontSize: number;
|
|
79
|
+
/** Resize handler. */
|
|
80
|
+
onResize: (cols: number, rows: number) => void;
|
|
81
|
+
/** Connection open handler. */
|
|
82
|
+
onConnect: () => void;
|
|
83
|
+
/** Connection close handler. */
|
|
84
|
+
onDisconnect: () => void;
|
|
85
|
+
/** Error handler. */
|
|
86
|
+
onError: (message: string) => void;
|
|
87
|
+
/** PTY status handler. */
|
|
88
|
+
onPtyStatus: (status: string) => void;
|
|
89
|
+
/** Pane created handler. */
|
|
90
|
+
onPaneCreated: (paneId: number) => void;
|
|
91
|
+
/** Pane closed handler. */
|
|
92
|
+
onPaneClosed: (paneId: number) => void;
|
|
93
|
+
/** Pane split handler. */
|
|
94
|
+
onPaneSplit: (sourceId: number, createdId: number, direction: ResttyPaneSplitDirection) => void;
|
|
95
|
+
/** Active pane change handler. */
|
|
96
|
+
onActivePaneChange: (paneId: number | null) => void;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Return type for useTerminal.
|
|
100
|
+
*/
|
|
101
|
+
export interface IUseTerminalReturn {
|
|
102
|
+
/** Ref to pass to `<ResttyTerminal ref={terminal.ref}>`. */
|
|
103
|
+
ref: React.RefObject<IResttyTerminalRef | null>;
|
|
104
|
+
/** Current connection status. */
|
|
105
|
+
status: TTerminalConnectionStatusToken;
|
|
106
|
+
/** Whether the PTY is connected. */
|
|
107
|
+
isConnected: boolean;
|
|
108
|
+
/** Reconnect the PTY. */
|
|
109
|
+
reconnect: () => void;
|
|
110
|
+
/** Disconnect the PTY. */
|
|
111
|
+
disconnect: () => void;
|
|
112
|
+
/** Uptime in seconds since connection (null if not connected). */
|
|
113
|
+
uptimeSeconds: number | null;
|
|
114
|
+
/** Current font size in CSS pixels. */
|
|
115
|
+
fontSize: number;
|
|
116
|
+
/** Increase font size by 1. */
|
|
117
|
+
fontIncrease: () => void;
|
|
118
|
+
/** Decrease font size by 1. */
|
|
119
|
+
fontDecrease: () => void;
|
|
120
|
+
/** Set exact font size. */
|
|
121
|
+
setFontSize: (size: number) => void;
|
|
122
|
+
/** Whether font is at minimum bound. */
|
|
123
|
+
isFontMin: boolean;
|
|
124
|
+
/** Whether font is at maximum bound. */
|
|
125
|
+
isFontMax: boolean;
|
|
126
|
+
/** Current number of panes. */
|
|
127
|
+
paneCount: number;
|
|
128
|
+
/** Active pane ID (null if none). */
|
|
129
|
+
activePaneId: number | null;
|
|
130
|
+
/** Split the active pane in the given direction. */
|
|
131
|
+
splitActive: (direction: 'horizontal' | 'vertical') => void;
|
|
132
|
+
/** Split a specific pane by ID. */
|
|
133
|
+
splitPane: (paneId: number, direction: 'horizontal' | 'vertical') => void;
|
|
134
|
+
/** Close a specific pane by ID. */
|
|
135
|
+
closePane: (paneId: number) => void;
|
|
136
|
+
/** Set the active pane by ID. */
|
|
137
|
+
setActivePane: (paneId: number) => void;
|
|
138
|
+
/** Current terminal grid dimensions. */
|
|
139
|
+
dimensions: ITerminalDimensions;
|
|
140
|
+
/** Clear the terminal screen and scrollback. */
|
|
141
|
+
clear: () => void;
|
|
142
|
+
/** Focus the terminal for keyboard input. */
|
|
143
|
+
focus: () => void;
|
|
144
|
+
/** Send raw input to the terminal PTY. */
|
|
145
|
+
sendInput: (data: string) => void;
|
|
146
|
+
/** Copy current text selection to clipboard. */
|
|
147
|
+
copySelection: () => Promise<boolean>;
|
|
148
|
+
/** Paste clipboard contents into the terminal. */
|
|
149
|
+
pasteClipboard: () => Promise<boolean>;
|
|
150
|
+
/** Global terminal settings snapshot. */
|
|
151
|
+
settings: ITerminalSettings;
|
|
152
|
+
/** Pre-composed props to spread onto `<ResttyTerminal>`. */
|
|
153
|
+
resttyProps: ITerminalResttyProps;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Main composable terminal hook.
|
|
157
|
+
*
|
|
158
|
+
* Composes `useTerminalConnection`, `useTerminalFontSize`,
|
|
159
|
+
* `useTerminalPaneManager`, `useTerminalDimensions`, and
|
|
160
|
+
* `useTerminalKeyboardShortcuts` into a single unified API.
|
|
161
|
+
*
|
|
162
|
+
* Returns everything needed to build a fully interactive terminal UI:
|
|
163
|
+
* - **Connection** state + reconnect/disconnect
|
|
164
|
+
* - **Font size** with increase/decrease/set
|
|
165
|
+
* - **Pane management** with split/close/setActive
|
|
166
|
+
* - **Dimensions** tracking (cols × rows)
|
|
167
|
+
* - **Actions**: clear, focus, sendInput
|
|
168
|
+
* - **`resttyProps`**: spread onto `<ResttyTerminal>` for zero-config wiring
|
|
169
|
+
*
|
|
170
|
+
* @param options - Terminal configuration
|
|
171
|
+
* @returns Unified terminal state and controls
|
|
172
|
+
*
|
|
173
|
+
* @example
|
|
174
|
+
* ```tsx
|
|
175
|
+
* function MyTerminal() {
|
|
176
|
+
* const terminal = useTerminal({
|
|
177
|
+
* wsUrl: 'ws://localhost:3100/pty',
|
|
178
|
+
* keyboardShortcuts: true,
|
|
179
|
+
* });
|
|
180
|
+
*
|
|
181
|
+
* return (
|
|
182
|
+
* <div className="flex flex-col h-full">
|
|
183
|
+
* <div className="flex items-center gap-2 p-2">
|
|
184
|
+
* <span>{terminal.isConnected ? 'Connected' : 'Disconnected'}</span>
|
|
185
|
+
* <button onClick={terminal.clear}>Clear</button>
|
|
186
|
+
* <button onClick={() => terminal.splitActive('vertical')}>Split</button>
|
|
187
|
+
* <button onClick={terminal.fontIncrease}>A+</button>
|
|
188
|
+
* <button onClick={terminal.fontDecrease}>A-</button>
|
|
189
|
+
* </div>
|
|
190
|
+
* <ResttyTerminal ref={terminal.ref} {...terminal.resttyProps} className="flex-1" />
|
|
191
|
+
* <span>{terminal.dimensions.cols}×{terminal.dimensions.rows} | {terminal.paneCount} panes</span>
|
|
192
|
+
* </div>
|
|
193
|
+
* );
|
|
194
|
+
* }
|
|
195
|
+
* ```
|
|
196
|
+
*/
|
|
197
|
+
export declare function useTerminal(options?: IUseTerminalOptions): IUseTerminalReturn;
|
|
198
|
+
//# sourceMappingURL=useTerminal.d.ts.map
|