@mks2508/mks-ui 0.6.8 → 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 +587 -357
- 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-keyframes.js +0 -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/Tabs/Tabs.css +38 -0
- package/package.json +20 -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-C3rJw_PQ.css → css/ui-DynamicToggle-DynamicToggle.css} +0 -0
- /package/dist/{react-ui/ui/Tabs/Tabs-DKe-TP8j.css → css/ui-Tabs-Tabs.css} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTerminal.d.ts","sourceRoot":"","sources":["../../../../../src/react-ui/blocks/Terminal/hooks/useTerminal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAKH,OAAO,KAAK,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AACnG,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAK/D,OAAO,EAA4D,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAG7H;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,8EAA8E;IAC9E,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,yDAAyD;IACzD,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAEvB,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAE1B,kCAAkC;IAClC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAEpC,mDAAmD;IACnD,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAEhD,mCAAmC;IACnC,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAE/E,oCAAoC;IACpC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAEvC,qCAAqC;IACrC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAEzC,2CAA2C;IAC3C,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CACtD;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,sBAAsB;IACtB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,+BAA+B;IAC/B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,gCAAgC;IAChC,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,qBAAqB;IACrB,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,0BAA0B;IAC1B,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,4BAA4B;IAC5B,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,2BAA2B;IAC3B,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,0BAA0B;IAC1B,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,wBAAwB,KAAK,IAAI,CAAC;IAChG,kCAAkC;IAClC,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CACrD;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,4DAA4D;IAC5D,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IAGhD,iCAAiC;IACjC,MAAM,EAAE,8BAA8B,CAAC;IACvC,oCAAoC;IACpC,WAAW,EAAE,OAAO,CAAC;IACrB,yBAAyB;IACzB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,0BAA0B;IAC1B,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,kEAAkE;IAClE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAG7B,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,+BAA+B;IAC/B,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,+BAA+B;IAC/B,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,2BAA2B;IAC3B,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,wCAAwC;IACxC,SAAS,EAAE,OAAO,CAAC;IACnB,wCAAwC;IACxC,SAAS,EAAE,OAAO,CAAC;IAGnB,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,oDAAoD;IACpD,WAAW,EAAE,CAAC,SAAS,EAAE,YAAY,GAAG,UAAU,KAAK,IAAI,CAAC;IAC5D,mCAAmC;IACnC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,GAAG,UAAU,KAAK,IAAI,CAAC;IAC1E,mCAAmC;IACnC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,iCAAiC;IACjC,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAGxC,wCAAwC;IACxC,UAAU,EAAE,mBAAmB,CAAC;IAGhC,gDAAgD;IAChD,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,6CAA6C;IAC7C,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,0CAA0C;IAC1C,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,gDAAgD;IAChD,aAAa,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,kDAAkD;IAClD,cAAc,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAGvC,yCAAyC;IACzC,QAAQ,EAAE,iBAAiB,CAAC;IAG5B,4DAA4D;IAC5D,WAAW,EAAE,oBAAoB,CAAC;CACnC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,WAAW,CAAC,OAAO,GAAE,mBAAwB,GAAG,kBAAkB,CA4JjF"}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { useTerminalSettings } from "./useTerminalSettings.js";
|
|
4
|
+
import { useTerminalConnection } from "./useTerminalConnection.js";
|
|
5
|
+
import { useTerminalFontSize } from "./useTerminalFontSize.js";
|
|
6
|
+
import { useTerminalPaneManager } from "./useTerminalPaneManager.js";
|
|
7
|
+
import { useTerminalDimensions } from "./useTerminalDimensions.js";
|
|
8
|
+
import { useTerminalKeyboardShortcuts } from "./useTerminalKeyboardShortcuts.js";
|
|
9
|
+
import { useCallback, useMemo, useRef } from "react";
|
|
10
|
+
|
|
11
|
+
//#region src/react-ui/blocks/Terminal/hooks/useTerminal.ts
|
|
12
|
+
/**
|
|
13
|
+
* Main composable terminal hook.
|
|
14
|
+
*
|
|
15
|
+
* Orchestrates all terminal sub-hooks into a single unified API:
|
|
16
|
+
* connection state, font size, pane management, dimensions, keyboard
|
|
17
|
+
* shortcuts, and a `resttyProps` spread object for zero-config wiring.
|
|
18
|
+
*
|
|
19
|
+
* This is the recommended entry point for building custom terminal UIs.
|
|
20
|
+
*
|
|
21
|
+
* @module @mks2508/mks-ui/react/blocks/Terminal/hooks/useTerminal
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```tsx
|
|
25
|
+
* // Tier 2: Composable with chrome
|
|
26
|
+
* const terminal = useTerminal({ wsUrl: 'ws://localhost:3100/pty' });
|
|
27
|
+
*
|
|
28
|
+
* <TerminalPanelChrome
|
|
29
|
+
* containerName="my-app"
|
|
30
|
+
* isConnected={terminal.isConnected}
|
|
31
|
+
* actionBar={<TerminalActionBar terminal={terminal} />}
|
|
32
|
+
* footer={<TerminalStatusBar terminal={terminal} />}
|
|
33
|
+
* >
|
|
34
|
+
* <ResttyTerminal ref={terminal.ref} {...terminal.resttyProps} />
|
|
35
|
+
* </TerminalPanelChrome>
|
|
36
|
+
*
|
|
37
|
+
* // Tier 3: Fully custom layout
|
|
38
|
+
* const terminal = useTerminal({ wsUrl: 'ws://...', keyboardShortcuts: true });
|
|
39
|
+
*
|
|
40
|
+
* <div className="my-terminal">
|
|
41
|
+
* <ResttyTerminal ref={terminal.ref} {...terminal.resttyProps} className="flex-1" />
|
|
42
|
+
* <span>{terminal.paneCount} panes, {terminal.dimensions.cols}×{terminal.dimensions.rows}</span>
|
|
43
|
+
* </div>
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
/**
|
|
47
|
+
* Main composable terminal hook.
|
|
48
|
+
*
|
|
49
|
+
* Composes `useTerminalConnection`, `useTerminalFontSize`,
|
|
50
|
+
* `useTerminalPaneManager`, `useTerminalDimensions`, and
|
|
51
|
+
* `useTerminalKeyboardShortcuts` into a single unified API.
|
|
52
|
+
*
|
|
53
|
+
* Returns everything needed to build a fully interactive terminal UI:
|
|
54
|
+
* - **Connection** state + reconnect/disconnect
|
|
55
|
+
* - **Font size** with increase/decrease/set
|
|
56
|
+
* - **Pane management** with split/close/setActive
|
|
57
|
+
* - **Dimensions** tracking (cols × rows)
|
|
58
|
+
* - **Actions**: clear, focus, sendInput
|
|
59
|
+
* - **`resttyProps`**: spread onto `<ResttyTerminal>` for zero-config wiring
|
|
60
|
+
*
|
|
61
|
+
* @param options - Terminal configuration
|
|
62
|
+
* @returns Unified terminal state and controls
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* ```tsx
|
|
66
|
+
* function MyTerminal() {
|
|
67
|
+
* const terminal = useTerminal({
|
|
68
|
+
* wsUrl: 'ws://localhost:3100/pty',
|
|
69
|
+
* keyboardShortcuts: true,
|
|
70
|
+
* });
|
|
71
|
+
*
|
|
72
|
+
* return (
|
|
73
|
+
* <div className="flex flex-col h-full">
|
|
74
|
+
* <div className="flex items-center gap-2 p-2">
|
|
75
|
+
* <span>{terminal.isConnected ? 'Connected' : 'Disconnected'}</span>
|
|
76
|
+
* <button onClick={terminal.clear}>Clear</button>
|
|
77
|
+
* <button onClick={() => terminal.splitActive('vertical')}>Split</button>
|
|
78
|
+
* <button onClick={terminal.fontIncrease}>A+</button>
|
|
79
|
+
* <button onClick={terminal.fontDecrease}>A-</button>
|
|
80
|
+
* </div>
|
|
81
|
+
* <ResttyTerminal ref={terminal.ref} {...terminal.resttyProps} className="flex-1" />
|
|
82
|
+
* <span>{terminal.dimensions.cols}×{terminal.dimensions.rows} | {terminal.paneCount} panes</span>
|
|
83
|
+
* </div>
|
|
84
|
+
* );
|
|
85
|
+
* }
|
|
86
|
+
* ```
|
|
87
|
+
*/
|
|
88
|
+
function useTerminal(options = {}) {
|
|
89
|
+
const { wsUrl, keyboardShortcuts = false, persistFontSize = true, onConnect, onDisconnect, onError, onResize, onPaneSplit, onPaneClose, onPaneCreated, onActivePaneChange } = options;
|
|
90
|
+
const ref = useRef(null);
|
|
91
|
+
const { settings } = useTerminalSettings();
|
|
92
|
+
const connection = useTerminalConnection({
|
|
93
|
+
onConnect,
|
|
94
|
+
onDisconnect,
|
|
95
|
+
onError
|
|
96
|
+
});
|
|
97
|
+
const font = useTerminalFontSize({
|
|
98
|
+
ref,
|
|
99
|
+
initial: options.fontSize,
|
|
100
|
+
persist: persistFontSize
|
|
101
|
+
});
|
|
102
|
+
const panes = useTerminalPaneManager({
|
|
103
|
+
ref,
|
|
104
|
+
onPaneCreated,
|
|
105
|
+
onPaneClosed: onPaneClose,
|
|
106
|
+
onPaneSplit,
|
|
107
|
+
onActivePaneChange
|
|
108
|
+
});
|
|
109
|
+
const dims = useTerminalDimensions();
|
|
110
|
+
const handleResize = useCallback((cols, rows) => {
|
|
111
|
+
dims.handleResize(cols, rows);
|
|
112
|
+
onResize?.(cols, rows);
|
|
113
|
+
}, [dims.handleResize, onResize]);
|
|
114
|
+
const clear = useCallback(() => {
|
|
115
|
+
ref.current?.clear();
|
|
116
|
+
}, []);
|
|
117
|
+
const focus = useCallback(() => {
|
|
118
|
+
ref.current?.focus();
|
|
119
|
+
}, []);
|
|
120
|
+
const sendInput = useCallback((data) => {
|
|
121
|
+
ref.current?.sendInput(data);
|
|
122
|
+
}, []);
|
|
123
|
+
const copySelection = useCallback(async () => {
|
|
124
|
+
return await ref.current?.copySelection() ?? false;
|
|
125
|
+
}, []);
|
|
126
|
+
const pasteClipboard = useCallback(async () => {
|
|
127
|
+
return await ref.current?.pasteClipboard() ?? false;
|
|
128
|
+
}, []);
|
|
129
|
+
const reconnect = useCallback(() => {
|
|
130
|
+
connection.reconnect(ref, wsUrl);
|
|
131
|
+
}, [connection.reconnect, wsUrl]);
|
|
132
|
+
const disconnect = useCallback(() => {
|
|
133
|
+
connection.disconnect(ref);
|
|
134
|
+
}, [connection.disconnect]);
|
|
135
|
+
useTerminalKeyboardShortcuts({
|
|
136
|
+
enabled: keyboardShortcuts,
|
|
137
|
+
onClear: clear,
|
|
138
|
+
onFontIncrease: font.increase,
|
|
139
|
+
onFontDecrease: font.decrease,
|
|
140
|
+
onFontReset: () => font.set(14),
|
|
141
|
+
onSplitVertical: () => panes.splitActive("vertical"),
|
|
142
|
+
onSplitHorizontal: () => panes.splitActive("horizontal"),
|
|
143
|
+
onClosePane: () => {
|
|
144
|
+
if (panes.activePaneId !== null) panes.closePane(panes.activePaneId);
|
|
145
|
+
},
|
|
146
|
+
onReconnect: reconnect
|
|
147
|
+
});
|
|
148
|
+
const resttyProps = useMemo(() => ({
|
|
149
|
+
wsUrl,
|
|
150
|
+
fontSize: font.fontSize,
|
|
151
|
+
onResize: handleResize,
|
|
152
|
+
onConnect: connection.handlers.onConnect,
|
|
153
|
+
onDisconnect: connection.handlers.onDisconnect,
|
|
154
|
+
onError: connection.handlers.onError,
|
|
155
|
+
onPtyStatus: connection.handlers.onPtyStatus,
|
|
156
|
+
onPaneCreated: panes.handlers.onPaneCreated,
|
|
157
|
+
onPaneClosed: panes.handlers.onPaneClosed,
|
|
158
|
+
onPaneSplit: panes.handlers.onPaneSplit,
|
|
159
|
+
onActivePaneChange: panes.handlers.onActivePaneChange
|
|
160
|
+
}), [
|
|
161
|
+
wsUrl,
|
|
162
|
+
font.fontSize,
|
|
163
|
+
handleResize,
|
|
164
|
+
connection.handlers,
|
|
165
|
+
panes.handlers
|
|
166
|
+
]);
|
|
167
|
+
return {
|
|
168
|
+
ref,
|
|
169
|
+
status: connection.status,
|
|
170
|
+
isConnected: connection.isConnected,
|
|
171
|
+
reconnect,
|
|
172
|
+
disconnect,
|
|
173
|
+
uptimeSeconds: connection.uptimeSeconds,
|
|
174
|
+
fontSize: font.fontSize,
|
|
175
|
+
fontIncrease: font.increase,
|
|
176
|
+
fontDecrease: font.decrease,
|
|
177
|
+
setFontSize: font.set,
|
|
178
|
+
isFontMin: font.isMin,
|
|
179
|
+
isFontMax: font.isMax,
|
|
180
|
+
paneCount: panes.paneCount,
|
|
181
|
+
activePaneId: panes.activePaneId,
|
|
182
|
+
splitActive: panes.splitActive,
|
|
183
|
+
splitPane: panes.splitPane,
|
|
184
|
+
closePane: panes.closePane,
|
|
185
|
+
setActivePane: panes.setActivePane,
|
|
186
|
+
dimensions: dims.dimensions,
|
|
187
|
+
clear,
|
|
188
|
+
focus,
|
|
189
|
+
sendInput,
|
|
190
|
+
copySelection,
|
|
191
|
+
pasteClipboard,
|
|
192
|
+
settings,
|
|
193
|
+
resttyProps
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
//#endregion
|
|
198
|
+
export { useTerminal };
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Terminal connection state tracker hook.
|
|
3
|
+
*
|
|
4
|
+
* Tracks connection status derived from ResttyTerminal lifecycle callbacks
|
|
5
|
+
* (`onConnect`, `onDisconnect`, `onError`, `onPtyStatus`). Returns a
|
|
6
|
+
* `handlers` object to spread onto `<ResttyTerminal>` for automatic wiring.
|
|
7
|
+
*
|
|
8
|
+
* This is NOT a WebSocket manager (that's `useTerminalWebSocket` for xterm).
|
|
9
|
+
* It's a reactive state tracker that works with any terminal renderer.
|
|
10
|
+
*
|
|
11
|
+
* @module @mks2508/mks-ui/react/blocks/Terminal/hooks/useTerminalConnection
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```tsx
|
|
15
|
+
* const connection = useTerminalConnection({ onConnect: () => console.log('up') });
|
|
16
|
+
*
|
|
17
|
+
* <ResttyTerminal ref={resttyRef} {...connection.handlers} />
|
|
18
|
+
* <span>{connection.status}</span>
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
import type { TTerminalConnectionStatusToken } from '../Terminal.tokens';
|
|
22
|
+
import type { IResttyTerminalRef } from '../restty/ResttyTerminal.types';
|
|
23
|
+
/**
|
|
24
|
+
* Options for useTerminalConnection.
|
|
25
|
+
*/
|
|
26
|
+
export interface IUseTerminalConnectionOptions {
|
|
27
|
+
/** Initial connection status (default: 'disconnected'). */
|
|
28
|
+
initialStatus?: TTerminalConnectionStatusToken;
|
|
29
|
+
/** Called when PTY connection opens. */
|
|
30
|
+
onConnect?: () => void;
|
|
31
|
+
/** Called when PTY connection closes. */
|
|
32
|
+
onDisconnect?: () => void;
|
|
33
|
+
/** Called on connection error. */
|
|
34
|
+
onError?: (message: string) => void;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Return type for useTerminalConnection.
|
|
38
|
+
*/
|
|
39
|
+
export interface IUseTerminalConnectionReturn {
|
|
40
|
+
/** Current connection status. */
|
|
41
|
+
status: TTerminalConnectionStatusToken;
|
|
42
|
+
/** Whether the PTY is connected. */
|
|
43
|
+
isConnected: boolean;
|
|
44
|
+
/** Reconnect via restty ref. */
|
|
45
|
+
reconnect: (ref: React.RefObject<IResttyTerminalRef | null>, wsUrl?: string) => void;
|
|
46
|
+
/** Disconnect via restty ref. */
|
|
47
|
+
disconnect: (ref: React.RefObject<IResttyTerminalRef | null>) => void;
|
|
48
|
+
/** Handlers to spread onto ResttyTerminal props. */
|
|
49
|
+
handlers: {
|
|
50
|
+
onConnect: () => void;
|
|
51
|
+
onDisconnect: () => void;
|
|
52
|
+
onError: (message: string) => void;
|
|
53
|
+
onPtyStatus: (status: string) => void;
|
|
54
|
+
};
|
|
55
|
+
/** Uptime in seconds since connection (null if not connected). */
|
|
56
|
+
uptimeSeconds: number | null;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Terminal connection state tracker.
|
|
60
|
+
*
|
|
61
|
+
* Derives reactive connection state from ResttyTerminal lifecycle callbacks.
|
|
62
|
+
* Provides `handlers` to spread onto `<ResttyTerminal>` for zero-config wiring,
|
|
63
|
+
* plus `reconnect`/`disconnect` imperative controls.
|
|
64
|
+
*
|
|
65
|
+
* @param options - Connection tracking options
|
|
66
|
+
* @returns Connection state, handlers, and imperative controls
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```tsx
|
|
70
|
+
* const resttyRef = useRef<IResttyTerminalRef>(null);
|
|
71
|
+
* const connection = useTerminalConnection({
|
|
72
|
+
* onConnect: () => console.log('Terminal connected'),
|
|
73
|
+
* onError: (msg) => console.error('Terminal error:', msg),
|
|
74
|
+
* });
|
|
75
|
+
*
|
|
76
|
+
* <ResttyTerminal ref={resttyRef} wsUrl="ws://..." {...connection.handlers} />
|
|
77
|
+
* {connection.isConnected && <span>Online</span>}
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
80
|
+
export declare function useTerminalConnection(options?: IUseTerminalConnectionOptions): IUseTerminalConnectionReturn;
|
|
81
|
+
//# sourceMappingURL=useTerminalConnection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTerminalConnection.d.ts","sourceRoot":"","sources":["../../../../../src/react-ui/blocks/Terminal/hooks/useTerminalConnection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAKH,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEzE;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,2DAA2D;IAC3D,aAAa,CAAC,EAAE,8BAA8B,CAAC;IAE/C,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAEvB,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAE1B,kCAAkC;IAClC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,iCAAiC;IACjC,MAAM,EAAE,8BAA8B,CAAC;IAEvC,oCAAoC;IACpC,WAAW,EAAE,OAAO,CAAC;IAErB,gCAAgC;IAChC,SAAS,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,kBAAkB,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAErF,iCAAiC;IACjC,UAAU,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC;IAEtE,oDAAoD;IACpD,QAAQ,EAAE;QACR,SAAS,EAAE,MAAM,IAAI,CAAC;QACtB,YAAY,EAAE,MAAM,IAAI,CAAC;QACzB,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;QACnC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;KACvC,CAAC;IAEF,kEAAkE;IAClE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,GAAE,6BAAkC,GAC1C,4BAA4B,CAoF9B"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
4
|
+
|
|
5
|
+
//#region src/react-ui/blocks/Terminal/hooks/useTerminalConnection.ts
|
|
6
|
+
/**
|
|
7
|
+
* Terminal connection state tracker hook.
|
|
8
|
+
*
|
|
9
|
+
* Tracks connection status derived from ResttyTerminal lifecycle callbacks
|
|
10
|
+
* (`onConnect`, `onDisconnect`, `onError`, `onPtyStatus`). Returns a
|
|
11
|
+
* `handlers` object to spread onto `<ResttyTerminal>` for automatic wiring.
|
|
12
|
+
*
|
|
13
|
+
* This is NOT a WebSocket manager (that's `useTerminalWebSocket` for xterm).
|
|
14
|
+
* It's a reactive state tracker that works with any terminal renderer.
|
|
15
|
+
*
|
|
16
|
+
* @module @mks2508/mks-ui/react/blocks/Terminal/hooks/useTerminalConnection
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```tsx
|
|
20
|
+
* const connection = useTerminalConnection({ onConnect: () => console.log('up') });
|
|
21
|
+
*
|
|
22
|
+
* <ResttyTerminal ref={resttyRef} {...connection.handlers} />
|
|
23
|
+
* <span>{connection.status}</span>
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
/**
|
|
27
|
+
* Terminal connection state tracker.
|
|
28
|
+
*
|
|
29
|
+
* Derives reactive connection state from ResttyTerminal lifecycle callbacks.
|
|
30
|
+
* Provides `handlers` to spread onto `<ResttyTerminal>` for zero-config wiring,
|
|
31
|
+
* plus `reconnect`/`disconnect` imperative controls.
|
|
32
|
+
*
|
|
33
|
+
* @param options - Connection tracking options
|
|
34
|
+
* @returns Connection state, handlers, and imperative controls
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```tsx
|
|
38
|
+
* const resttyRef = useRef<IResttyTerminalRef>(null);
|
|
39
|
+
* const connection = useTerminalConnection({
|
|
40
|
+
* onConnect: () => console.log('Terminal connected'),
|
|
41
|
+
* onError: (msg) => console.error('Terminal error:', msg),
|
|
42
|
+
* });
|
|
43
|
+
*
|
|
44
|
+
* <ResttyTerminal ref={resttyRef} wsUrl="ws://..." {...connection.handlers} />
|
|
45
|
+
* {connection.isConnected && <span>Online</span>}
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
function useTerminalConnection(options = {}) {
|
|
49
|
+
const { initialStatus = "disconnected", onConnect, onDisconnect, onError } = options;
|
|
50
|
+
const [status, setStatus] = useState(initialStatus);
|
|
51
|
+
const uptimeStartRef = useRef(null);
|
|
52
|
+
const [uptimeSeconds, setUptimeSeconds] = useState(null);
|
|
53
|
+
useEffect(() => {
|
|
54
|
+
if (status !== "connected" || uptimeStartRef.current === null) return;
|
|
55
|
+
const interval = setInterval(() => {
|
|
56
|
+
if (uptimeStartRef.current !== null) setUptimeSeconds(Math.floor((Date.now() - uptimeStartRef.current) / 1e3));
|
|
57
|
+
}, 1e3);
|
|
58
|
+
return () => clearInterval(interval);
|
|
59
|
+
}, [status]);
|
|
60
|
+
const handleConnect = useCallback(() => {
|
|
61
|
+
setStatus("connected");
|
|
62
|
+
uptimeStartRef.current = Date.now();
|
|
63
|
+
setUptimeSeconds(0);
|
|
64
|
+
onConnect?.();
|
|
65
|
+
}, [onConnect]);
|
|
66
|
+
const handleDisconnect = useCallback(() => {
|
|
67
|
+
setStatus("disconnected");
|
|
68
|
+
uptimeStartRef.current = null;
|
|
69
|
+
setUptimeSeconds(null);
|
|
70
|
+
onDisconnect?.();
|
|
71
|
+
}, [onDisconnect]);
|
|
72
|
+
const handleError = useCallback((message) => {
|
|
73
|
+
setStatus("error");
|
|
74
|
+
onError?.(message);
|
|
75
|
+
}, [onError]);
|
|
76
|
+
const handlePtyStatus = useCallback((ptyStatus) => {
|
|
77
|
+
if (ptyStatus === "connected" || ptyStatus === "attached" || ptyStatus === "welcome" || ptyStatus === "created") setStatus("connected");
|
|
78
|
+
else if (ptyStatus === "connecting") setStatus("connecting");
|
|
79
|
+
else if (ptyStatus === "error") setStatus("error");
|
|
80
|
+
}, []);
|
|
81
|
+
const reconnect = useCallback((ref, wsUrl) => {
|
|
82
|
+
ref.current?.disconnectPty();
|
|
83
|
+
if (wsUrl) ref.current?.connectPty(wsUrl);
|
|
84
|
+
else ref.current?.connectPty();
|
|
85
|
+
setStatus("connecting");
|
|
86
|
+
}, []);
|
|
87
|
+
const disconnect = useCallback((ref) => {
|
|
88
|
+
ref.current?.disconnectPty();
|
|
89
|
+
setStatus("disconnected");
|
|
90
|
+
uptimeStartRef.current = null;
|
|
91
|
+
setUptimeSeconds(null);
|
|
92
|
+
}, []);
|
|
93
|
+
const handlers = useMemo(() => ({
|
|
94
|
+
onConnect: handleConnect,
|
|
95
|
+
onDisconnect: handleDisconnect,
|
|
96
|
+
onError: handleError,
|
|
97
|
+
onPtyStatus: handlePtyStatus
|
|
98
|
+
}), [
|
|
99
|
+
handleConnect,
|
|
100
|
+
handleDisconnect,
|
|
101
|
+
handleError,
|
|
102
|
+
handlePtyStatus
|
|
103
|
+
]);
|
|
104
|
+
return {
|
|
105
|
+
status,
|
|
106
|
+
isConnected: status === "connected",
|
|
107
|
+
reconnect,
|
|
108
|
+
disconnect,
|
|
109
|
+
handlers,
|
|
110
|
+
uptimeSeconds
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
//#endregion
|
|
115
|
+
export { useTerminalConnection };
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Terminal dimensions tracking hook.
|
|
3
|
+
*
|
|
4
|
+
* Tracks terminal grid dimensions (cols × rows) from ResttyTerminal's
|
|
5
|
+
* `onResize` callback. Provides a `handleResize` function to spread
|
|
6
|
+
* onto the terminal component.
|
|
7
|
+
*
|
|
8
|
+
* @module @mks2508/mks-ui/react/blocks/Terminal/hooks/useTerminalDimensions
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```tsx
|
|
12
|
+
* const dims = useTerminalDimensions();
|
|
13
|
+
*
|
|
14
|
+
* <ResttyTerminal onResize={dims.handleResize} />
|
|
15
|
+
* <span>{dims.dimensions.cols}×{dims.dimensions.rows}</span>
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Terminal grid dimensions.
|
|
20
|
+
*/
|
|
21
|
+
export interface ITerminalDimensions {
|
|
22
|
+
/** Number of columns. */
|
|
23
|
+
cols: number;
|
|
24
|
+
/** Number of rows. */
|
|
25
|
+
rows: number;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Return type for useTerminalDimensions.
|
|
29
|
+
*/
|
|
30
|
+
export interface IUseTerminalDimensionsReturn {
|
|
31
|
+
/** Current terminal grid dimensions. */
|
|
32
|
+
dimensions: ITerminalDimensions;
|
|
33
|
+
/** Handler to spread onto ResttyTerminal's `onResize` prop. */
|
|
34
|
+
handleResize: (cols: number, rows: number) => void;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Terminal dimensions tracker.
|
|
38
|
+
*
|
|
39
|
+
* Maintains reactive state of the terminal's grid dimensions.
|
|
40
|
+
* Pass `handleResize` to ResttyTerminal's `onResize` prop.
|
|
41
|
+
*
|
|
42
|
+
* @param initialDimensions - Initial dimensions (default: 80×24)
|
|
43
|
+
* @returns Dimensions state and resize handler
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```tsx
|
|
47
|
+
* const { dimensions, handleResize } = useTerminalDimensions();
|
|
48
|
+
*
|
|
49
|
+
* <ResttyTerminal onResize={handleResize} />
|
|
50
|
+
* <TerminalDimensionsBadge dimensions={dimensions} />
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export declare function useTerminalDimensions(initialDimensions?: ITerminalDimensions): IUseTerminalDimensionsReturn;
|
|
54
|
+
//# sourceMappingURL=useTerminalDimensions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTerminalDimensions.d.ts","sourceRoot":"","sources":["../../../../../src/react-ui/blocks/Terminal/hooks/useTerminalDimensions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,wCAAwC;IACxC,UAAU,EAAE,mBAAmB,CAAC;IAEhC,+DAA+D;IAC/D,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACpD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qBAAqB,CACnC,iBAAiB,GAAE,mBAA4C,GAC9D,4BAA4B,CAQ9B"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { useCallback, useState } from "react";
|
|
4
|
+
|
|
5
|
+
//#region src/react-ui/blocks/Terminal/hooks/useTerminalDimensions.ts
|
|
6
|
+
/**
|
|
7
|
+
* Terminal dimensions tracking hook.
|
|
8
|
+
*
|
|
9
|
+
* Tracks terminal grid dimensions (cols × rows) from ResttyTerminal's
|
|
10
|
+
* `onResize` callback. Provides a `handleResize` function to spread
|
|
11
|
+
* onto the terminal component.
|
|
12
|
+
*
|
|
13
|
+
* @module @mks2508/mks-ui/react/blocks/Terminal/hooks/useTerminalDimensions
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```tsx
|
|
17
|
+
* const dims = useTerminalDimensions();
|
|
18
|
+
*
|
|
19
|
+
* <ResttyTerminal onResize={dims.handleResize} />
|
|
20
|
+
* <span>{dims.dimensions.cols}×{dims.dimensions.rows}</span>
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* Terminal dimensions tracker.
|
|
25
|
+
*
|
|
26
|
+
* Maintains reactive state of the terminal's grid dimensions.
|
|
27
|
+
* Pass `handleResize` to ResttyTerminal's `onResize` prop.
|
|
28
|
+
*
|
|
29
|
+
* @param initialDimensions - Initial dimensions (default: 80×24)
|
|
30
|
+
* @returns Dimensions state and resize handler
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```tsx
|
|
34
|
+
* const { dimensions, handleResize } = useTerminalDimensions();
|
|
35
|
+
*
|
|
36
|
+
* <ResttyTerminal onResize={handleResize} />
|
|
37
|
+
* <TerminalDimensionsBadge dimensions={dimensions} />
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
function useTerminalDimensions(initialDimensions = {
|
|
41
|
+
cols: 80,
|
|
42
|
+
rows: 24
|
|
43
|
+
}) {
|
|
44
|
+
const [dimensions, setDimensions] = useState(initialDimensions);
|
|
45
|
+
return {
|
|
46
|
+
dimensions,
|
|
47
|
+
handleResize: useCallback((cols, rows) => {
|
|
48
|
+
setDimensions({
|
|
49
|
+
cols,
|
|
50
|
+
rows
|
|
51
|
+
});
|
|
52
|
+
}, [])
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
//#endregion
|
|
57
|
+
export { useTerminalDimensions };
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Terminal font size management hook.
|
|
3
|
+
*
|
|
4
|
+
* Manages font size state with ResttyTerminal ref integration. Calls
|
|
5
|
+
* `ref.current?.setFontSize()` on every change and optionally persists
|
|
6
|
+
* to localStorage via `useTerminalSettings`.
|
|
7
|
+
*
|
|
8
|
+
* Replaces the duplicated `useState(fontSize)` + `handleFontIncrease`/
|
|
9
|
+
* `handleFontDecrease` pattern found in both interactive panels.
|
|
10
|
+
*
|
|
11
|
+
* @module @mks2508/mks-ui/react/blocks/Terminal/hooks/useTerminalFontSize
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```tsx
|
|
15
|
+
* const resttyRef = useRef<IResttyTerminalRef>(null);
|
|
16
|
+
* const font = useTerminalFontSize({ ref: resttyRef });
|
|
17
|
+
*
|
|
18
|
+
* <ResttyTerminal ref={resttyRef} fontSize={font.fontSize} />
|
|
19
|
+
* <button onClick={font.increase} disabled={font.isMax}>+</button>
|
|
20
|
+
* <span>{font.fontSize}px</span>
|
|
21
|
+
* <button onClick={font.decrease} disabled={font.isMin}>-</button>
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
import type { IResttyTerminalRef } from '../restty/ResttyTerminal.types';
|
|
25
|
+
/**
|
|
26
|
+
* Options for useTerminalFontSize.
|
|
27
|
+
*/
|
|
28
|
+
export interface IUseTerminalFontSizeOptions {
|
|
29
|
+
/** Restty terminal ref for imperative font size updates. */
|
|
30
|
+
ref: React.RefObject<IResttyTerminalRef | null>;
|
|
31
|
+
/** Initial font size. Defaults to value from useTerminalSettings (usually 14). */
|
|
32
|
+
initial?: number;
|
|
33
|
+
/** Minimum font size (default: 10). */
|
|
34
|
+
min?: number;
|
|
35
|
+
/** Maximum font size (default: 24). */
|
|
36
|
+
max?: number;
|
|
37
|
+
/** Persist font size to localStorage via useTerminalSettings (default: true). */
|
|
38
|
+
persist?: boolean;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Return type for useTerminalFontSize.
|
|
42
|
+
*/
|
|
43
|
+
export interface IUseTerminalFontSizeReturn {
|
|
44
|
+
/** Current font size in CSS pixels. */
|
|
45
|
+
fontSize: number;
|
|
46
|
+
/** Increase font size by 1 (clamped to max). */
|
|
47
|
+
increase: () => void;
|
|
48
|
+
/** Decrease font size by 1 (clamped to min). */
|
|
49
|
+
decrease: () => void;
|
|
50
|
+
/** Set exact font size (clamped to min/max). */
|
|
51
|
+
set: (size: number) => void;
|
|
52
|
+
/** Whether the font size is at minimum bound. */
|
|
53
|
+
isMin: boolean;
|
|
54
|
+
/** Whether the font size is at maximum bound. */
|
|
55
|
+
isMax: boolean;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Terminal font size management.
|
|
59
|
+
*
|
|
60
|
+
* Synchronizes font size state with the ResttyTerminal ref and
|
|
61
|
+
* optionally persists changes to localStorage. Clamps values to
|
|
62
|
+
* configurable min/max bounds.
|
|
63
|
+
*
|
|
64
|
+
* @param options - Font size configuration
|
|
65
|
+
* @returns Font size state and mutation functions
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* ```tsx
|
|
69
|
+
* const font = useTerminalFontSize({ ref: resttyRef, persist: true });
|
|
70
|
+
*
|
|
71
|
+
* <TerminalFontControls
|
|
72
|
+
* fontSize={font.fontSize}
|
|
73
|
+
* onIncrease={font.increase}
|
|
74
|
+
* onDecrease={font.decrease}
|
|
75
|
+
* isMin={font.isMin}
|
|
76
|
+
* isMax={font.isMax}
|
|
77
|
+
* />
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
80
|
+
export declare function useTerminalFontSize(options: IUseTerminalFontSizeOptions): IUseTerminalFontSizeReturn;
|
|
81
|
+
//# sourceMappingURL=useTerminalFontSize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTerminalFontSize.d.ts","sourceRoot":"","sources":["../../../../../src/react-ui/blocks/Terminal/hooks/useTerminalFontSize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAKH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AASzE;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,4DAA4D;IAC5D,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IAEhD,kFAAkF;IAClF,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,iFAAiF;IACjF,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;IAEjB,gDAAgD;IAChD,QAAQ,EAAE,MAAM,IAAI,CAAC;IAErB,gDAAgD;IAChD,QAAQ,EAAE,MAAM,IAAI,CAAC;IAErB,gDAAgD;IAChD,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAE5B,iDAAiD;IACjD,KAAK,EAAE,OAAO,CAAC;IAEf,iDAAiD;IACjD,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,2BAA2B,GAAG,0BAA0B,CA0CpG"}
|