@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.
Files changed (389) hide show
  1. package/dist/css/blocks-Sidebar-animations-tooltip.css +330 -0
  2. package/dist/index.css +587 -357
  3. package/dist/react-ui/blocks/BottomNavBar/MobileBottomNav.d.ts +64 -0
  4. package/dist/react-ui/blocks/BottomNavBar/MobileBottomNav.d.ts.map +1 -0
  5. package/dist/react-ui/blocks/BottomNavBar/MobileBottomNav.js +301 -0
  6. package/dist/react-ui/blocks/BottomNavBar/MobileBottomNav.styles.d.ts +94 -0
  7. package/dist/react-ui/blocks/BottomNavBar/MobileBottomNav.styles.d.ts.map +1 -0
  8. package/dist/react-ui/blocks/BottomNavBar/MobileBottomNav.styles.js +216 -0
  9. package/dist/react-ui/blocks/BottomNavBar/index.d.ts +10 -0
  10. package/dist/react-ui/blocks/BottomNavBar/index.d.ts.map +1 -0
  11. package/dist/react-ui/blocks/BottomNavBar/index.js +4 -0
  12. package/dist/react-ui/blocks/BottomNavBar/types.d.ts +362 -0
  13. package/dist/react-ui/blocks/BottomNavBar/types.d.ts.map +1 -0
  14. package/dist/react-ui/blocks/BottomNavBar/types.js +175 -0
  15. package/dist/react-ui/blocks/BottomNavBar/useIOSSafariFix.d.ts +73 -0
  16. package/dist/react-ui/blocks/BottomNavBar/useIOSSafariFix.d.ts.map +1 -0
  17. package/dist/react-ui/blocks/BottomNavBar/useIOSSafariFix.js +178 -0
  18. package/dist/react-ui/blocks/Sidebar/Sidebar.constants.d.ts +285 -0
  19. package/dist/react-ui/blocks/Sidebar/Sidebar.constants.d.ts.map +1 -0
  20. package/dist/react-ui/blocks/Sidebar/Sidebar.constants.js +208 -0
  21. package/dist/react-ui/blocks/Sidebar/Sidebar.d.ts +80 -0
  22. package/dist/react-ui/blocks/Sidebar/Sidebar.d.ts.map +1 -0
  23. package/dist/react-ui/blocks/Sidebar/Sidebar.js +114 -0
  24. package/dist/react-ui/blocks/Sidebar/Sidebar.styles.d.ts +77 -0
  25. package/dist/react-ui/blocks/Sidebar/Sidebar.styles.d.ts.map +1 -0
  26. package/dist/react-ui/blocks/Sidebar/Sidebar.styles.js +274 -0
  27. package/dist/react-ui/blocks/Sidebar/Sidebar.types.d.ts +546 -0
  28. package/dist/react-ui/blocks/Sidebar/Sidebar.types.d.ts.map +1 -0
  29. package/dist/react-ui/blocks/Sidebar/Sidebar.types.js +149 -0
  30. package/dist/react-ui/blocks/Sidebar/SidebarContent.d.ts +46 -0
  31. package/dist/react-ui/blocks/Sidebar/SidebarContent.d.ts.map +1 -0
  32. package/dist/react-ui/blocks/Sidebar/SidebarContent.js +86 -0
  33. package/dist/react-ui/blocks/Sidebar/SidebarContext.d.ts +85 -0
  34. package/dist/react-ui/blocks/Sidebar/SidebarContext.d.ts.map +1 -0
  35. package/dist/react-ui/blocks/Sidebar/SidebarContext.js +178 -0
  36. package/dist/react-ui/blocks/Sidebar/SidebarFluidIndicator.d.ts +31 -0
  37. package/dist/react-ui/blocks/Sidebar/SidebarFluidIndicator.d.ts.map +1 -0
  38. package/dist/react-ui/blocks/Sidebar/SidebarFluidIndicator.js +37 -0
  39. package/dist/react-ui/blocks/Sidebar/SidebarIndicator.d.ts +59 -0
  40. package/dist/react-ui/blocks/Sidebar/SidebarIndicator.d.ts.map +1 -0
  41. package/dist/react-ui/blocks/Sidebar/SidebarIndicator.js +106 -0
  42. package/dist/react-ui/blocks/Sidebar/SidebarItem.d.ts +82 -0
  43. package/dist/react-ui/blocks/Sidebar/SidebarItem.d.ts.map +1 -0
  44. package/dist/react-ui/blocks/Sidebar/SidebarItem.js +209 -0
  45. package/dist/react-ui/blocks/Sidebar/SidebarNav.d.ts +48 -0
  46. package/dist/react-ui/blocks/Sidebar/SidebarNav.d.ts.map +1 -0
  47. package/dist/react-ui/blocks/Sidebar/SidebarNav.js +317 -0
  48. package/dist/react-ui/blocks/Sidebar/SidebarSafeArea.d.ts +56 -0
  49. package/dist/react-ui/blocks/Sidebar/SidebarSafeArea.d.ts.map +1 -0
  50. package/dist/react-ui/blocks/Sidebar/SidebarSafeArea.js +105 -0
  51. package/dist/react-ui/blocks/Sidebar/SidebarSubContent.d.ts +27 -0
  52. package/dist/react-ui/blocks/Sidebar/SidebarSubContent.d.ts.map +1 -0
  53. package/dist/react-ui/blocks/Sidebar/SidebarSubContent.js +31 -0
  54. package/dist/react-ui/blocks/Sidebar/SidebarSubLink.d.ts +20 -0
  55. package/dist/react-ui/blocks/Sidebar/SidebarSubLink.d.ts.map +1 -0
  56. package/dist/react-ui/blocks/Sidebar/SidebarSubLink.js +44 -0
  57. package/dist/react-ui/blocks/Sidebar/SidebarToggle.d.ts +52 -0
  58. package/dist/react-ui/blocks/Sidebar/SidebarToggle.d.ts.map +1 -0
  59. package/dist/react-ui/blocks/Sidebar/SidebarToggle.js +119 -0
  60. package/dist/react-ui/blocks/Sidebar/SidebarTooltip.d.ts +15 -0
  61. package/dist/react-ui/blocks/Sidebar/SidebarTooltip.d.ts.map +1 -0
  62. package/dist/react-ui/blocks/Sidebar/SidebarTooltip.js +177 -0
  63. package/dist/react-ui/blocks/Sidebar/animations/tooltip-keyframes.js +0 -0
  64. package/dist/react-ui/blocks/Sidebar/animations/tooltip.css +330 -0
  65. package/dist/react-ui/blocks/Sidebar/components/FluidHoverIndicator.d.ts +28 -0
  66. package/dist/react-ui/blocks/Sidebar/components/FluidHoverIndicator.d.ts.map +1 -0
  67. package/dist/react-ui/blocks/Sidebar/components/FluidHoverIndicator.js +74 -0
  68. package/dist/react-ui/blocks/Sidebar/hooks/use-fluid-animation.d.ts +18 -0
  69. package/dist/react-ui/blocks/Sidebar/hooks/use-fluid-animation.d.ts.map +1 -0
  70. package/dist/react-ui/blocks/Sidebar/hooks/use-fluid-animation.js +166 -0
  71. package/dist/react-ui/blocks/Sidebar/hooks/useSidebarContext.d.ts +48 -0
  72. package/dist/react-ui/blocks/Sidebar/hooks/useSidebarContext.d.ts.map +1 -0
  73. package/dist/react-ui/blocks/Sidebar/hooks/useSidebarContext.js +59 -0
  74. package/dist/react-ui/blocks/Sidebar/hooks/useSidebarIndicator.d.ts +72 -0
  75. package/dist/react-ui/blocks/Sidebar/hooks/useSidebarIndicator.d.ts.map +1 -0
  76. package/dist/react-ui/blocks/Sidebar/hooks/useSidebarIndicator.js +159 -0
  77. package/dist/react-ui/blocks/Sidebar/hooks/useSidebarKeyboard.d.ts +51 -0
  78. package/dist/react-ui/blocks/Sidebar/hooks/useSidebarKeyboard.d.ts.map +1 -0
  79. package/dist/react-ui/blocks/Sidebar/hooks/useSidebarKeyboard.js +150 -0
  80. package/dist/react-ui/blocks/Sidebar/hooks/useSubContent.d.ts +42 -0
  81. package/dist/react-ui/blocks/Sidebar/hooks/useSubContent.d.ts.map +1 -0
  82. package/dist/react-ui/blocks/Sidebar/hooks/useSubContent.js +49 -0
  83. package/dist/react-ui/blocks/Sidebar/index.d.ts +163 -0
  84. package/dist/react-ui/blocks/Sidebar/index.d.ts.map +1 -0
  85. package/dist/react-ui/blocks/Sidebar/index.js +19 -0
  86. package/dist/react-ui/blocks/Terminal/Terminal.tokens.d.ts +219 -0
  87. package/dist/react-ui/blocks/Terminal/Terminal.tokens.d.ts.map +1 -0
  88. package/dist/react-ui/blocks/Terminal/Terminal.tokens.js +253 -0
  89. package/dist/react-ui/blocks/Terminal/Terminal.types.d.ts +2 -1
  90. package/dist/react-ui/blocks/Terminal/Terminal.types.d.ts.map +1 -1
  91. package/dist/react-ui/blocks/Terminal/TerminalDisplay.js +1 -1
  92. package/dist/react-ui/blocks/Terminal/TerminalDisplay.types.d.ts +1 -1
  93. package/dist/react-ui/blocks/Terminal/TerminalDisplay.types.d.ts.map +1 -1
  94. package/dist/react-ui/blocks/Terminal/chrome.js +2 -2
  95. package/dist/react-ui/blocks/Terminal/components/LogLineBadges/LogLineBadges.styles.d.ts +15 -0
  96. package/dist/react-ui/blocks/Terminal/components/LogLineBadges/LogLineBadges.styles.d.ts.map +1 -0
  97. package/dist/react-ui/blocks/Terminal/components/LogLineBadges/LogLineBadges.styles.js +14 -0
  98. package/dist/react-ui/blocks/Terminal/components/LogLineBadges/LogLineBadges.types.d.ts +106 -0
  99. package/dist/react-ui/blocks/Terminal/components/LogLineBadges/LogLineBadges.types.d.ts.map +1 -0
  100. package/dist/react-ui/blocks/Terminal/components/LogLineBadges/index.d.ts +89 -0
  101. package/dist/react-ui/blocks/Terminal/components/LogLineBadges/index.d.ts.map +1 -0
  102. package/dist/react-ui/blocks/Terminal/components/LogLineBadges/index.js +136 -0
  103. package/dist/react-ui/blocks/Terminal/components/SyntaxHighlight.d.ts +21 -7
  104. package/dist/react-ui/blocks/Terminal/components/SyntaxHighlight.d.ts.map +1 -1
  105. package/dist/react-ui/blocks/Terminal/components/SyntaxHighlight.js +81 -71
  106. package/dist/react-ui/blocks/Terminal/components/SyntaxHighlight.styles.d.ts +33 -0
  107. package/dist/react-ui/blocks/Terminal/components/SyntaxHighlight.styles.d.ts.map +1 -0
  108. package/dist/react-ui/blocks/Terminal/components/SyntaxHighlight.styles.js +51 -0
  109. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge/TerminalLogBadge.styles.d.ts +13 -0
  110. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge/TerminalLogBadge.styles.d.ts.map +1 -0
  111. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge/TerminalLogBadge.styles.js +8 -0
  112. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge/TerminalLogBadge.types.d.ts +29 -0
  113. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge/TerminalLogBadge.types.d.ts.map +1 -0
  114. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge/index.d.ts +26 -0
  115. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge/index.d.ts.map +1 -0
  116. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge/index.js +40 -0
  117. package/dist/react-ui/blocks/Terminal/components/index.js +5 -2
  118. package/dist/react-ui/blocks/Terminal/controls/TerminalActionBar/TerminalActionBar.styles.d.ts +12 -0
  119. package/dist/react-ui/blocks/Terminal/controls/TerminalActionBar/TerminalActionBar.styles.d.ts.map +1 -0
  120. package/dist/react-ui/blocks/Terminal/controls/TerminalActionBar/TerminalActionBar.styles.js +13 -0
  121. package/dist/react-ui/blocks/Terminal/controls/TerminalActionBar/TerminalActionBar.types.d.ts +35 -0
  122. package/dist/react-ui/blocks/Terminal/controls/TerminalActionBar/TerminalActionBar.types.d.ts.map +1 -0
  123. package/dist/react-ui/blocks/Terminal/controls/TerminalActionBar/index.d.ts +75 -0
  124. package/dist/react-ui/blocks/Terminal/controls/TerminalActionBar/index.d.ts.map +1 -0
  125. package/dist/react-ui/blocks/Terminal/controls/TerminalActionBar/index.js +115 -0
  126. package/dist/react-ui/blocks/Terminal/controls/TerminalAtoms.d.ts +122 -0
  127. package/dist/react-ui/blocks/Terminal/controls/TerminalAtoms.d.ts.map +1 -0
  128. package/dist/react-ui/blocks/Terminal/controls/TerminalAtoms.js +128 -0
  129. package/dist/react-ui/blocks/Terminal/controls/TerminalConnectionStatus/TerminalConnectionStatus.styles.d.ts +12 -0
  130. package/dist/react-ui/blocks/Terminal/controls/TerminalConnectionStatus/TerminalConnectionStatus.styles.d.ts.map +1 -0
  131. package/dist/react-ui/blocks/Terminal/controls/TerminalConnectionStatus/TerminalConnectionStatus.styles.js +12 -0
  132. package/dist/react-ui/blocks/Terminal/controls/TerminalConnectionStatus/TerminalConnectionStatus.types.d.ts +29 -0
  133. package/dist/react-ui/blocks/Terminal/controls/TerminalConnectionStatus/TerminalConnectionStatus.types.d.ts.map +1 -0
  134. package/dist/react-ui/blocks/Terminal/controls/TerminalConnectionStatus/index.d.ts +37 -0
  135. package/dist/react-ui/blocks/Terminal/controls/TerminalConnectionStatus/index.d.ts.map +1 -0
  136. package/dist/react-ui/blocks/Terminal/controls/TerminalConnectionStatus/index.js +74 -0
  137. package/dist/react-ui/blocks/Terminal/controls/TerminalFontControls/TerminalFontControls.styles.d.ts +12 -0
  138. package/dist/react-ui/blocks/Terminal/controls/TerminalFontControls/TerminalFontControls.styles.d.ts.map +1 -0
  139. package/dist/react-ui/blocks/Terminal/controls/TerminalFontControls/TerminalFontControls.styles.js +16 -0
  140. package/dist/react-ui/blocks/Terminal/controls/TerminalFontControls/TerminalFontControls.types.d.ts +32 -0
  141. package/dist/react-ui/blocks/Terminal/controls/TerminalFontControls/TerminalFontControls.types.d.ts.map +1 -0
  142. package/dist/react-ui/blocks/Terminal/controls/TerminalFontControls/index.d.ts +40 -0
  143. package/dist/react-ui/blocks/Terminal/controls/TerminalFontControls/index.d.ts.map +1 -0
  144. package/dist/react-ui/blocks/Terminal/controls/TerminalFontControls/index.js +81 -0
  145. package/dist/react-ui/blocks/Terminal/controls/TerminalSplitButton/TerminalSplitButton.styles.d.ts +12 -0
  146. package/dist/react-ui/blocks/Terminal/controls/TerminalSplitButton/TerminalSplitButton.styles.d.ts.map +1 -0
  147. package/dist/react-ui/blocks/Terminal/controls/TerminalSplitButton/TerminalSplitButton.styles.js +13 -0
  148. package/dist/react-ui/blocks/Terminal/controls/TerminalSplitButton/TerminalSplitButton.types.d.ts +28 -0
  149. package/dist/react-ui/blocks/Terminal/controls/TerminalSplitButton/TerminalSplitButton.types.d.ts.map +1 -0
  150. package/dist/react-ui/blocks/Terminal/controls/TerminalSplitButton/index.d.ts +40 -0
  151. package/dist/react-ui/blocks/Terminal/controls/TerminalSplitButton/index.d.ts.map +1 -0
  152. package/dist/react-ui/blocks/Terminal/controls/TerminalSplitButton/index.js +108 -0
  153. package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/TerminalStatusBar.styles.d.ts +12 -0
  154. package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/TerminalStatusBar.styles.d.ts.map +1 -0
  155. package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/TerminalStatusBar.styles.js +12 -0
  156. package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/TerminalStatusBar.types.d.ts +31 -0
  157. package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/TerminalStatusBar.types.d.ts.map +1 -0
  158. package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/index.d.ts +73 -0
  159. package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/index.d.ts.map +1 -0
  160. package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/index.js +99 -0
  161. package/dist/react-ui/blocks/Terminal/controls/index.d.ts +16 -0
  162. package/dist/react-ui/blocks/Terminal/controls/index.d.ts.map +1 -0
  163. package/dist/react-ui/blocks/Terminal/controls/index.js +11 -0
  164. package/dist/react-ui/blocks/Terminal/display.d.ts +2 -2
  165. package/dist/react-ui/blocks/Terminal/display.d.ts.map +1 -1
  166. package/dist/react-ui/blocks/Terminal/display.js +4 -2
  167. package/dist/react-ui/blocks/Terminal/hooks/index.d.ts +9 -2
  168. package/dist/react-ui/blocks/Terminal/hooks/index.d.ts.map +1 -1
  169. package/dist/react-ui/blocks/Terminal/hooks/index.js +6 -0
  170. package/dist/react-ui/blocks/Terminal/hooks/useTerminal.d.ts +198 -0
  171. package/dist/react-ui/blocks/Terminal/hooks/useTerminal.d.ts.map +1 -0
  172. package/dist/react-ui/blocks/Terminal/hooks/useTerminal.js +198 -0
  173. package/dist/react-ui/blocks/Terminal/hooks/useTerminalConnection.d.ts +81 -0
  174. package/dist/react-ui/blocks/Terminal/hooks/useTerminalConnection.d.ts.map +1 -0
  175. package/dist/react-ui/blocks/Terminal/hooks/useTerminalConnection.js +115 -0
  176. package/dist/react-ui/blocks/Terminal/hooks/useTerminalDimensions.d.ts +54 -0
  177. package/dist/react-ui/blocks/Terminal/hooks/useTerminalDimensions.d.ts.map +1 -0
  178. package/dist/react-ui/blocks/Terminal/hooks/useTerminalDimensions.js +57 -0
  179. package/dist/react-ui/blocks/Terminal/hooks/useTerminalFontSize.d.ts +81 -0
  180. package/dist/react-ui/blocks/Terminal/hooks/useTerminalFontSize.d.ts.map +1 -0
  181. package/dist/react-ui/blocks/Terminal/hooks/useTerminalFontSize.js +102 -0
  182. package/dist/react-ui/blocks/Terminal/hooks/useTerminalKeyboardShortcuts.d.ts +78 -0
  183. package/dist/react-ui/blocks/Terminal/hooks/useTerminalKeyboardShortcuts.d.ts.map +1 -0
  184. package/dist/react-ui/blocks/Terminal/hooks/useTerminalKeyboardShortcuts.js +136 -0
  185. package/dist/react-ui/blocks/Terminal/hooks/useTerminalPaneManager.d.ts +88 -0
  186. package/dist/react-ui/blocks/Terminal/hooks/useTerminalPaneManager.d.ts.map +1 -0
  187. package/dist/react-ui/blocks/Terminal/hooks/useTerminalPaneManager.js +101 -0
  188. package/dist/react-ui/blocks/Terminal/index.d.ts +10 -6
  189. package/dist/react-ui/blocks/Terminal/index.d.ts.map +1 -1
  190. package/dist/react-ui/blocks/Terminal/index.js +43 -11
  191. package/dist/react-ui/blocks/Terminal/panel/LogLinesViewer.d.ts.map +1 -1
  192. package/dist/react-ui/blocks/Terminal/panel/LogLinesViewer.js +8 -13
  193. package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel/TerminalDebugPanel.styles.d.ts +13 -0
  194. package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel/TerminalDebugPanel.styles.d.ts.map +1 -0
  195. package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel/TerminalDebugPanel.styles.js +18 -0
  196. package/dist/react-ui/blocks/Terminal/panel/{TerminalDebugPanel.d.ts → TerminalDebugPanel/TerminalDebugPanel.types.d.ts} +19 -27
  197. package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel/TerminalDebugPanel.types.d.ts.map +1 -0
  198. package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel/index.d.ts +32 -0
  199. package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel/index.d.ts.map +1 -0
  200. package/dist/react-ui/blocks/Terminal/panel/{TerminalDebugPanel.js → TerminalDebugPanel/index.js} +59 -38
  201. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/TerminalFilterDropdown.styles.d.ts +13 -0
  202. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/TerminalFilterDropdown.styles.d.ts.map +1 -0
  203. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/TerminalFilterDropdown.styles.js +17 -0
  204. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/TerminalFilterDropdown.types.d.ts +34 -0
  205. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/TerminalFilterDropdown.types.d.ts.map +1 -0
  206. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/index.d.ts +34 -0
  207. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/index.d.ts.map +1 -0
  208. package/dist/react-ui/blocks/Terminal/panel/{TerminalFilterDropdown.js → TerminalFilterDropdown/index.js} +29 -31
  209. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/terminal-filter-dropdown.module.css +60 -0
  210. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/terminal-filter-dropdown.module.js +5 -0
  211. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs/TerminalFilterTabs.styles.d.ts +13 -0
  212. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs/TerminalFilterTabs.styles.d.ts.map +1 -0
  213. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs/TerminalFilterTabs.types.d.ts +34 -0
  214. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs/TerminalFilterTabs.types.d.ts.map +1 -0
  215. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs/index.d.ts +34 -0
  216. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs/index.d.ts.map +1 -0
  217. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.d.ts.map +1 -1
  218. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.js +5 -1
  219. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.types.d.ts +2 -1
  220. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.types.d.ts.map +1 -1
  221. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelRestty.d.ts +6 -3
  222. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelRestty.d.ts.map +1 -1
  223. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelRestty.js +43 -264
  224. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelWterm.d.ts +43 -0
  225. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelWterm.d.ts.map +1 -0
  226. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelWterm.js +248 -0
  227. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelXterm.d.ts +4 -2
  228. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelXterm.d.ts.map +1 -1
  229. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelXterm.js +40 -150
  230. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel/TerminalLogsPanel.styles.d.ts +26 -0
  231. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel/TerminalLogsPanel.styles.d.ts.map +1 -0
  232. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel/TerminalLogsPanel.styles.js +30 -0
  233. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel/TerminalLogsPanel.types.d.ts +123 -0
  234. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel/TerminalLogsPanel.types.d.ts.map +1 -0
  235. package/dist/react-ui/blocks/Terminal/panel/{TerminalLogsPanel.d.ts → TerminalLogsPanel/index.d.ts} +10 -21
  236. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel/index.d.ts.map +1 -0
  237. package/dist/react-ui/blocks/Terminal/panel/{TerminalLogsPanel.js → TerminalLogsPanel/index.js} +48 -81
  238. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel.types.d.ts +6 -142
  239. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel.types.d.ts.map +1 -1
  240. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.d.ts +1 -1
  241. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.d.ts.map +1 -1
  242. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.js +16 -16
  243. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.styles.d.ts +1 -1
  244. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.styles.js +1 -1
  245. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter/TerminalPanelFooter.styles.d.ts +21 -0
  246. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter/TerminalPanelFooter.styles.d.ts.map +1 -0
  247. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter/TerminalPanelFooter.styles.js +21 -0
  248. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter/TerminalPanelFooter.types.d.ts +40 -0
  249. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter/TerminalPanelFooter.types.d.ts.map +1 -0
  250. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter/index.d.ts +37 -0
  251. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter/index.d.ts.map +1 -0
  252. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter/index.js +127 -0
  253. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader/TerminalPanelHeader.styles.d.ts +22 -0
  254. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader/TerminalPanelHeader.styles.d.ts.map +1 -0
  255. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader/TerminalPanelHeader.styles.js +24 -0
  256. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader/TerminalPanelHeader.types.d.ts +43 -0
  257. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader/TerminalPanelHeader.types.d.ts.map +1 -0
  258. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader/index.d.ts +35 -0
  259. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader/index.d.ts.map +1 -0
  260. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader/index.js +129 -0
  261. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelToolbar/TerminalPanelToolbar.styles.d.ts +20 -0
  262. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelToolbar/TerminalPanelToolbar.styles.d.ts.map +1 -0
  263. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelToolbar/TerminalPanelToolbar.types.d.ts +72 -0
  264. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelToolbar/TerminalPanelToolbar.types.d.ts.map +1 -0
  265. package/dist/react-ui/blocks/Terminal/panel/{TerminalPanelToolbar.d.ts → TerminalPanelToolbar/index.d.ts} +10 -4
  266. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelToolbar/index.d.ts.map +1 -0
  267. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionControl/TerminalSessionControl.styles.d.ts +13 -0
  268. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionControl/TerminalSessionControl.styles.d.ts.map +1 -0
  269. package/dist/react-ui/blocks/Terminal/panel/{TerminalSessionControl.d.ts → TerminalSessionControl/TerminalSessionControl.types.d.ts} +24 -30
  270. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionControl/TerminalSessionControl.types.d.ts.map +1 -0
  271. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionControl/index.d.ts +38 -0
  272. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionControl/index.d.ts.map +1 -0
  273. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/TerminalSessionTabs.styles.d.ts +23 -0
  274. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/TerminalSessionTabs.styles.d.ts.map +1 -0
  275. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/TerminalSessionTabs.styles.js +27 -0
  276. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/TerminalSessionTabs.types.d.ts +56 -0
  277. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/TerminalSessionTabs.types.d.ts.map +1 -0
  278. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/index.d.ts +40 -0
  279. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/index.d.ts.map +1 -0
  280. package/dist/react-ui/blocks/Terminal/panel/{TerminalSessionTabs.js → TerminalSessionTabs/index.js} +26 -31
  281. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/terminal-session-tabs.module.css +60 -0
  282. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/terminal-session-tabs.module.js +5 -0
  283. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/TerminalSettingsPopover.styles.d.ts +13 -0
  284. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/TerminalSettingsPopover.styles.d.ts.map +1 -0
  285. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/TerminalSettingsPopover.styles.js +19 -0
  286. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/TerminalSettingsPopover.types.d.ts +20 -0
  287. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/TerminalSettingsPopover.types.d.ts.map +1 -0
  288. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/index.d.ts +25 -0
  289. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/index.d.ts.map +1 -0
  290. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/index.js +217 -0
  291. package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector/TerminalThemeSelector.styles.d.ts +13 -0
  292. package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector/TerminalThemeSelector.styles.d.ts.map +1 -0
  293. package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector/TerminalThemeSelector.styles.js +15 -0
  294. package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector/TerminalThemeSelector.types.d.ts +28 -0
  295. package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector/TerminalThemeSelector.types.d.ts.map +1 -0
  296. package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector/index.d.ts +30 -0
  297. package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector/index.d.ts.map +1 -0
  298. package/dist/react-ui/blocks/Terminal/panel/{TerminalThemeSelector.js → TerminalThemeSelector/index.js} +31 -46
  299. package/dist/react-ui/blocks/Terminal/restty/ResttyContext.d.ts +38 -0
  300. package/dist/react-ui/blocks/Terminal/restty/ResttyContext.d.ts.map +1 -0
  301. package/dist/react-ui/blocks/Terminal/restty/ResttyContext.js +47 -0
  302. package/dist/react-ui/blocks/Terminal/restty/ResttySessionProvider.d.ts +50 -0
  303. package/dist/react-ui/blocks/Terminal/restty/ResttySessionProvider.d.ts.map +1 -0
  304. package/dist/react-ui/blocks/Terminal/restty/ResttySessionProvider.js +60 -0
  305. package/dist/react-ui/blocks/Terminal/restty/ResttyTerminal.d.ts +32 -0
  306. package/dist/react-ui/blocks/Terminal/restty/ResttyTerminal.d.ts.map +1 -0
  307. package/dist/react-ui/blocks/Terminal/restty/ResttyTerminal.js +278 -0
  308. package/dist/react-ui/blocks/Terminal/restty/ResttyTerminal.types.d.ts +166 -0
  309. package/dist/react-ui/blocks/Terminal/restty/ResttyTerminal.types.d.ts.map +1 -0
  310. package/dist/react-ui/blocks/Terminal/restty/index.d.ts +20 -0
  311. package/dist/react-ui/blocks/Terminal/restty/index.d.ts.map +1 -0
  312. package/dist/react-ui/blocks/Terminal/restty/index.js +7 -0
  313. package/dist/react-ui/blocks/Terminal/restty/useResttyPane.d.ts +51 -0
  314. package/dist/react-ui/blocks/Terminal/restty/useResttyPane.d.ts.map +1 -0
  315. package/dist/react-ui/blocks/Terminal/restty/useResttyPane.js +61 -0
  316. package/dist/react-ui/blocks/Terminal/restty/useResttyPanes.d.ts +39 -0
  317. package/dist/react-ui/blocks/Terminal/restty/useResttyPanes.d.ts.map +1 -0
  318. package/dist/react-ui/blocks/Terminal/restty/useResttyPanes.js +48 -0
  319. package/dist/react-ui/blocks/Terminal/restty/useResttyPlugins.d.ts +29 -0
  320. package/dist/react-ui/blocks/Terminal/restty/useResttyPlugins.d.ts.map +1 -0
  321. package/dist/react-ui/blocks/Terminal/restty/useResttyPlugins.js +33 -0
  322. package/dist/react-ui/blocks/Terminal/restty/useResttyVisibility.d.ts +32 -0
  323. package/dist/react-ui/blocks/Terminal/restty/useResttyVisibility.d.ts.map +1 -0
  324. package/dist/react-ui/blocks/Terminal/restty/useResttyVisibility.js +67 -0
  325. package/dist/react-ui/blocks/Terminal/wterm/WtermJsonTransport.d.ts +83 -0
  326. package/dist/react-ui/blocks/Terminal/wterm/WtermJsonTransport.d.ts.map +1 -0
  327. package/dist/react-ui/blocks/Terminal/wterm/WtermJsonTransport.js +191 -0
  328. package/dist/react-ui/blocks/index.d.ts +2 -0
  329. package/dist/react-ui/blocks/index.d.ts.map +1 -1
  330. package/dist/react-ui/components/MorphingPopover/morphing-popover.module.css +154 -0
  331. package/dist/react-ui/icons/lucide-animated/terminal.d.ts +45 -13
  332. package/dist/react-ui/icons/lucide-animated/terminal.d.ts.map +1 -1
  333. package/dist/react-ui/icons/lucide-animated/terminal.js +118 -28
  334. package/dist/react-ui/index.d.ts +4 -0
  335. package/dist/react-ui/index.d.ts.map +1 -1
  336. package/dist/react-ui/index.js +40 -1
  337. package/dist/react-ui/primitives/waapi/Morph/techniques/useViewTransitions.module.css +20 -0
  338. package/dist/react-ui/ui/Button/Button.styles.d.ts +2 -2
  339. package/dist/react-ui/ui/Button/Button.styles.d.ts.map +1 -1
  340. package/dist/react-ui/ui/Button/Button.styles.js +4 -2
  341. package/dist/react-ui/ui/Button/Button.types.d.ts +2 -2
  342. package/dist/react-ui/ui/Button/Button.types.d.ts.map +1 -1
  343. package/dist/react-ui/ui/DynamicToggle/DynamicToggle.css +369 -0
  344. package/dist/react-ui/ui/Tabs/Tabs.css +38 -0
  345. package/package.json +20 -7
  346. package/dist/react-ui/blocks/Terminal/ResttyAdapter.d.ts +0 -146
  347. package/dist/react-ui/blocks/Terminal/ResttyAdapter.d.ts.map +0 -1
  348. package/dist/react-ui/blocks/Terminal/ResttyAdapter.js +0 -213
  349. package/dist/react-ui/blocks/Terminal/Terminal.adapter.d.ts +0 -55
  350. package/dist/react-ui/blocks/Terminal/Terminal.adapter.d.ts.map +0 -1
  351. package/dist/react-ui/blocks/Terminal/Terminal.adapter.js +0 -68
  352. package/dist/react-ui/blocks/Terminal/TerminalRestty.d.ts +0 -111
  353. package/dist/react-ui/blocks/Terminal/TerminalRestty.d.ts.map +0 -1
  354. package/dist/react-ui/blocks/Terminal/TerminalRestty.js +0 -185
  355. package/dist/react-ui/blocks/Terminal/components/LogLineBadges.d.ts +0 -160
  356. package/dist/react-ui/blocks/Terminal/components/LogLineBadges.d.ts.map +0 -1
  357. package/dist/react-ui/blocks/Terminal/components/LogLineBadges.js +0 -185
  358. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge.d.ts +0 -36
  359. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge.d.ts.map +0 -1
  360. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge.js +0 -52
  361. package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel.d.ts.map +0 -1
  362. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown.d.ts +0 -42
  363. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown.d.ts.map +0 -1
  364. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs.d.ts +0 -43
  365. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs.d.ts.map +0 -1
  366. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel.d.ts.map +0 -1
  367. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter.d.ts +0 -30
  368. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter.d.ts.map +0 -1
  369. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter.js +0 -126
  370. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader.d.ts +0 -31
  371. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader.d.ts.map +0 -1
  372. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader.js +0 -149
  373. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelToolbar.d.ts.map +0 -1
  374. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionControl.d.ts.map +0 -1
  375. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs.d.ts +0 -63
  376. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs.d.ts.map +0 -1
  377. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover.d.ts +0 -24
  378. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover.d.ts.map +0 -1
  379. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover.js +0 -225
  380. package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector.d.ts +0 -35
  381. package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector.d.ts.map +0 -1
  382. package/dist/react-ui/blocks/Terminal/panel/terminal-filter-dropdown.module.js +0 -5
  383. package/dist/react-ui/blocks/Terminal/panel/terminal-session-tabs.module.js +0 -5
  384. /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
  385. /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
  386. /package/dist/{react-ui/components/MorphingPopover/morphing-popover.module-s63snw7C.css → css/components-MorphingPopover-morphing-popover.module.css} +0 -0
  387. /package/dist/{react-ui/primitives/waapi/Morph/techniques/useViewTransitions.module-7y-To7On.css → css/primitives-waapi-Morph-techniques-useViewTransitions.module.css} +0 -0
  388. /package/dist/{react-ui/ui/DynamicToggle/DynamicToggle-C3rJw_PQ.css → css/ui-DynamicToggle-DynamicToggle.css} +0 -0
  389. /package/dist/{react-ui/ui/Tabs/Tabs-DKe-TP8j.css → css/ui-Tabs-Tabs.css} +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 };
@@ -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
@@ -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
@@ -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 { TerminalRestty } from './TerminalRestty';
14
- export type { ITerminalResttyProps, ITerminalResttyRef } from './TerminalRestty';
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,kBAAkB,CAAC;AAClD,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAGjF,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
+ {"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 { TerminalRestty } from "./TerminalRestty.js";
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, TerminalRestty, getSynthwaveGhosttyTheme, getTerminalTheme, hexToResttyColor, terminalChromeStyles, terminalChromeVariants, terminalDisplayStyles, terminalDisplayVariants, terminalScrollStyles, xtermThemeToGhostty };
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 global settings management.
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;;;;;;;GAOG;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"}
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