@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 @@
1
+ {"version":3,"file":"useTerminal.d.ts","sourceRoot":"","sources":["../../../../../src/react-ui/blocks/Terminal/hooks/useTerminal.ts"],"names":[],"mappings":"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"}
@@ -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"}