@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
@@ -1,15 +1,15 @@
1
1
  'use client';
2
2
 
3
- import { cn } from "../../../lib/utils.js";
4
- import { DeleteIcon } from "../../../icons/lucide-animated/delete.js";
5
- import { PlusIcon } from "../../../icons/lucide-animated/plus.js";
6
- import { TerminalIcon } from "../../../icons/lucide-animated/terminal.js";
7
- import "../../../icons/lucide-animated/index.js";
8
3
  import { getTerminalTheme } from "../Terminal.theme.js";
9
4
  import { useTerminalWebSocket } from "../hooks/useTerminalWebSocket.js";
10
5
  import { useTerminalSettings } from "../hooks/useTerminalSettings.js";
6
+ import { TerminalClearButton, TerminalDimensionsBadge, TerminalDisconnectedOverlay, TerminalReconnectButton } from "../controls/TerminalAtoms.js";
7
+ import { TerminalFontControls } from "../controls/TerminalFontControls/index.js";
8
+ import { TerminalSettingsPopover } from "./TerminalSettingsPopover/index.js";
9
+ import { TerminalActionBar } from "../controls/TerminalActionBar/index.js";
10
+ import { TerminalConnectionStatus } from "../controls/TerminalConnectionStatus/index.js";
11
+ import { TerminalStatusBar } from "../controls/TerminalStatusBar/index.js";
11
12
  import { TerminalPanelChrome } from "./TerminalPanelChrome.js";
12
- import { TerminalSettingsPopover } from "./TerminalSettingsPopover.js";
13
13
  import { forwardRef, useCallback, useEffect, useImperativeHandle, useRef, useState } from "react";
14
14
  import { jsx, jsxs } from "react/jsx-runtime";
15
15
  import { Terminal } from "@xterm/xterm";
@@ -26,19 +26,16 @@ import "@xterm/xterm/css/xterm.css";
26
26
  * Ghostty-inspired chrome (via TerminalPanelChrome), xterm.js
27
27
  * rendering, and action bar controls. Includes settings popover.
28
28
  *
29
+ * Uses composable control atoms for the action bar and status bar
30
+ * while managing xterm.js lifecycle internally.
31
+ *
29
32
  * @module components/devenv/terminal/panel/interactive-xterm
30
33
  */
31
34
  /**
32
35
  * Terminal display container styles for interactive mode.
33
36
  */
34
- const terminalContainerStyles = "relative bg-[#241B2F] min-h-[400px] border-x border-border/10 terminal-scroll";
35
- /**
36
- * Action button base styles.
37
- */
38
- const actionBtnStyles = "h-8 px-2 rounded-md transition-all hover:bg-muted/20 active:bg-muted/30 flex items-center justify-center gap-1 text-xs font-mono text-muted-foreground hover:text-foreground flex-shrink-0";
39
- /**
40
- * Min/max font size bounds.
41
- */
37
+ const terminalContainerStyles = "relative bg-[hsl(var(--terminal-bg,var(--background)))] min-h-[400px] border-x border-border/10 terminal-scroll";
38
+ /** Min/max font size bounds. */
42
39
  const MIN_FONT_SIZE = 10;
43
40
  const MAX_FONT_SIZE = 24;
44
41
  /**
@@ -48,8 +45,7 @@ const MAX_FONT_SIZE = 24;
48
45
  * - TerminalPanelChrome (Ghostty glassmorphism shell)
49
46
  * - xterm.js with interactive mode (cursorBlink, stdin enabled)
50
47
  * - WebSocket connection via useTerminalWebSocket
51
- * - Action bar (clear, settings, font size controls)
52
- * - Footer with connection status and terminal dimensions
48
+ * - Composable action bar and status bar atoms
53
49
  *
54
50
  * @example
55
51
  * ```tsx
@@ -76,16 +72,19 @@ const TerminalInteractivePanelXterm = forwardRef(({ containerName, wsUrl, sessio
76
72
  cols: 80,
77
73
  rows: 24
78
74
  });
75
+ const [connectionStatus, setConnectionStatus] = useState("disconnected");
79
76
  /**
80
77
  * WebSocket connection for terminal I/O.
81
78
  */
82
- const { status: connectionStatus, sendInput, sendResize, reconnect } = useTerminalWebSocket({
79
+ const { status: wsStatus, sendInput, sendResize, reconnect } = useTerminalWebSocket({
83
80
  wsUrl,
84
81
  onConnect: () => {
82
+ setConnectionStatus("connected");
85
83
  onConnect?.();
86
84
  terminalRef.current?.write("\r\n\x1B[32m✓ Connected to terminal\x1B[0m\r\n");
87
85
  },
88
86
  onDisconnect: () => {
87
+ setConnectionStatus("disconnected");
89
88
  onDisconnect?.();
90
89
  terminalRef.current?.write("\r\n\x1B[31m✗ Disconnected from terminal\x1B[0m\r\n");
91
90
  },
@@ -93,6 +92,7 @@ const TerminalInteractivePanelXterm = forwardRef(({ containerName, wsUrl, sessio
93
92
  terminalRef.current?.write(data);
94
93
  },
95
94
  onError: (error) => {
95
+ setConnectionStatus("error");
96
96
  onError?.(error);
97
97
  terminalRef.current?.write(`\r\n\x1b[31mError: ${error}\x1b[0m\r\n`);
98
98
  }
@@ -189,27 +189,15 @@ const TerminalInteractivePanelXterm = forwardRef(({ containerName, wsUrl, sessio
189
189
  window.addEventListener("resize", handleResize);
190
190
  return () => window.removeEventListener("resize", handleResize);
191
191
  }, []);
192
- /**
193
- * Clear terminal display.
194
- */
195
192
  const handleClear = useCallback(() => {
196
193
  terminalRef.current?.clear();
197
194
  }, []);
198
- /**
199
- * Increase font size.
200
- */
201
195
  const handleFontIncrease = useCallback(() => {
202
196
  setFontSize((prev) => Math.min(prev + 1, MAX_FONT_SIZE));
203
197
  }, []);
204
- /**
205
- * Decrease font size.
206
- */
207
198
  const handleFontDecrease = useCallback(() => {
208
199
  setFontSize((prev) => Math.max(prev - 1, MIN_FONT_SIZE));
209
200
  }, []);
210
- /**
211
- * Expose imperative methods to parent.
212
- */
213
201
  useImperativeHandle(ref, () => ({
214
202
  write: (text) => {
215
203
  terminalRef.current?.write(text);
@@ -225,30 +213,6 @@ const TerminalInteractivePanelXterm = forwardRef(({ containerName, wsUrl, sessio
225
213
  },
226
214
  isConnected: () => connectionStatus === "connected"
227
215
  }));
228
- /**
229
- * Get connection status label with color.
230
- */
231
- const getStatusLabel = () => {
232
- switch (connectionStatus) {
233
- case "connected": return {
234
- text: "Connected",
235
- color: "text-success"
236
- };
237
- case "connecting": return {
238
- text: "Connecting...",
239
- color: "text-yellow-500"
240
- };
241
- case "error": return {
242
- text: "Error",
243
- color: "text-destructive"
244
- };
245
- default: return {
246
- text: "Disconnected",
247
- color: "text-muted-foreground"
248
- };
249
- }
250
- };
251
- const statusLabel = getStatusLabel();
252
216
  return /* @__PURE__ */ jsx(TerminalPanelChrome, {
253
217
  containerName,
254
218
  isConnected,
@@ -258,109 +222,35 @@ const TerminalInteractivePanelXterm = forwardRef(({ containerName, wsUrl, sessio
258
222
  onSessionTabClick: onSessionChange,
259
223
  onSessionClose,
260
224
  onNewSession,
261
- actionBar: /* @__PURE__ */ jsxs("div", {
262
- className: "flex items-center gap-2 px-3 h-10 bg-muted/10 border-b border-white/10",
263
- children: [
264
- /* @__PURE__ */ jsxs("button", {
265
- type: "button",
266
- onClick: handleClear,
267
- className: actionBtnStyles,
268
- title: "Clear terminal (Ctrl+L)",
269
- children: [/* @__PURE__ */ jsx(DeleteIcon, { className: "w-3.5 h-3.5 flex-shrink-0" }), /* @__PURE__ */ jsx("span", { children: "Clear" })]
270
- }),
271
- /* @__PURE__ */ jsx("div", { className: "flex-1" }),
272
- /* @__PURE__ */ jsx(TerminalSettingsPopover, {}),
273
- connectionStatus === "disconnected" && /* @__PURE__ */ jsx("button", {
274
- type: "button",
275
- onClick: reconnect,
276
- className: cn(actionBtnStyles, "text-primary hover:text-primary"),
277
- title: "Reconnect",
278
- children: "Reconnect"
279
- }),
280
- /* @__PURE__ */ jsxs("div", {
281
- className: "flex items-center gap-1",
282
- children: [
283
- /* @__PURE__ */ jsx("span", {
284
- className: "text-[10px] text-muted-foreground font-mono uppercase tracking-wider mr-1",
285
- children: "Font"
286
- }),
287
- /* @__PURE__ */ jsx("button", {
288
- type: "button",
289
- onClick: handleFontDecrease,
290
- className: cn(actionBtnStyles, "w-7 h-7 px-0"),
291
- title: "Decrease font size",
292
- disabled: fontSize <= MIN_FONT_SIZE,
293
- children: /* @__PURE__ */ jsx("span", {
294
- className: "text-sm font-bold",
295
- children: "−"
296
- })
297
- }),
298
- /* @__PURE__ */ jsx("span", {
299
- className: "text-xs font-mono text-foreground w-7 text-center",
300
- children: fontSize
301
- }),
302
- /* @__PURE__ */ jsx("button", {
303
- type: "button",
304
- onClick: handleFontIncrease,
305
- className: cn(actionBtnStyles, "w-7 h-7 px-0"),
306
- title: "Increase font size",
307
- disabled: fontSize >= MAX_FONT_SIZE,
308
- children: /* @__PURE__ */ jsx(PlusIcon, { className: "w-3 h-3 flex-shrink-0" })
309
- })
310
- ]
311
- })
312
- ]
313
- }),
314
- footer: /* @__PURE__ */ jsxs("div", {
315
- className: "flex items-center justify-between px-4 h-10 bg-muted/20 border-t border-white/10",
316
- children: [/* @__PURE__ */ jsx("div", {
317
- className: "flex items-center gap-3",
318
- children: /* @__PURE__ */ jsxs("div", {
319
- className: "flex items-center gap-1.5",
320
- children: [/* @__PURE__ */ jsx("div", { className: cn("w-2 h-2 rounded-full transition-all duration-300", isConnected ? "bg-success/80 shadow-[0_0_8px_hsla(142,100%,62%,0.5)]" : connectionStatus === "connecting" ? "bg-yellow-500/80 animate-pulse" : connectionStatus === "error" ? "bg-destructive/80" : "bg-muted-foreground/60") }), /* @__PURE__ */ jsx("span", {
321
- className: cn("text-xs font-mono", statusLabel.color),
322
- children: statusLabel.text
323
- })]
324
- })
325
- }), /* @__PURE__ */ jsxs("div", {
326
- className: "flex items-center gap-3",
327
- children: [/* @__PURE__ */ jsxs("span", {
328
- className: "text-xs font-mono text-muted-foreground",
329
- children: [
330
- dimensions.cols,
331
- "×",
332
- dimensions.rows
333
- ]
334
- }), /* @__PURE__ */ jsxs("span", {
335
- className: "text-xs font-mono text-muted-foreground",
336
- children: [fontSize, "px"]
337
- })]
338
- })]
339
- }),
225
+ actionBar: /* @__PURE__ */ jsxs(TerminalActionBar, { children: [
226
+ /* @__PURE__ */ jsx(TerminalClearButton, { onClear: handleClear }),
227
+ /* @__PURE__ */ jsx("div", { className: "flex-1" }),
228
+ /* @__PURE__ */ jsx(TerminalSettingsPopover, {}),
229
+ /* @__PURE__ */ jsx(TerminalReconnectButton, {
230
+ onReconnect: reconnect,
231
+ status: connectionStatus
232
+ }),
233
+ /* @__PURE__ */ jsx(TerminalFontControls, {
234
+ fontSize,
235
+ onIncrease: handleFontIncrease,
236
+ onDecrease: handleFontDecrease,
237
+ isMin: fontSize <= MIN_FONT_SIZE,
238
+ isMax: fontSize >= MAX_FONT_SIZE
239
+ })
240
+ ] }),
241
+ footer: /* @__PURE__ */ jsxs(TerminalStatusBar, { children: [/* @__PURE__ */ jsx(TerminalStatusBar.Group, { children: /* @__PURE__ */ jsx(TerminalConnectionStatus, { status: connectionStatus }) }), /* @__PURE__ */ jsxs(TerminalStatusBar.Group, { children: [/* @__PURE__ */ jsx(TerminalDimensionsBadge, { dimensions }), /* @__PURE__ */ jsxs("span", {
242
+ className: "text-xs font-mono text-muted-foreground",
243
+ children: [fontSize, "px"]
244
+ })] })] }),
340
245
  className,
341
246
  children: /* @__PURE__ */ jsxs("div", {
342
247
  className: "relative min-h-[400px]",
343
248
  children: [/* @__PURE__ */ jsx("div", {
344
249
  ref: containerRef,
345
250
  className: terminalContainerStyles
346
- }), connectionStatus === "disconnected" && /* @__PURE__ */ jsx("div", {
347
- className: "absolute inset-0 flex items-center justify-center bg-black/40 backdrop-blur-sm pointer-events-none",
348
- children: /* @__PURE__ */ jsxs("div", {
349
- className: "text-center pointer-events-auto",
350
- children: [
351
- /* @__PURE__ */ jsx(TerminalIcon, { className: "w-12 h-12 mx-auto mb-3 text-muted-foreground/50" }),
352
- /* @__PURE__ */ jsx("p", {
353
- className: "text-sm text-muted-foreground/70 font-mono mb-3",
354
- children: "Terminal disconnected"
355
- }),
356
- /* @__PURE__ */ jsx("button", {
357
- type: "button",
358
- onClick: reconnect,
359
- className: cn("px-4 py-2 rounded-lg text-sm font-mono transition-colors", "bg-primary/20 text-primary hover:bg-primary/30", "border border-primary/40", "shadow-[0_0_10px_hsla(330,85%,43%,0.2)]"),
360
- children: "Reconnect"
361
- })
362
- ]
363
- })
251
+ }), /* @__PURE__ */ jsx(TerminalDisconnectedOverlay, {
252
+ onReconnect: reconnect,
253
+ visible: connectionStatus === "disconnected"
364
254
  })]
365
255
  })
366
256
  });
@@ -0,0 +1,26 @@
1
+ /**
2
+ * TerminalLogsPanel style definitions.
3
+ *
4
+ * StyleSlots for the main terminal log viewer panel including
5
+ * terminal container, action bar, and empty state regions.
6
+ *
7
+ * @module @mks2508/mks-ui/react/blocks/Terminal/panel/TerminalLogsPanel
8
+ */
9
+ import type { StyleSlots } from '../../../../../core/types';
10
+ /** Slot names for TerminalLogsPanel visual regions. */
11
+ export type TerminalLogsPanelSlot = 'root' | 'terminalContainer' | 'actionBar' | 'actionBarDivider' | 'emptyState' | 'emptyStateIcon' | 'emptyStateTitle' | 'emptyStateText' | 'containerButton';
12
+ /**
13
+ * Default style slots for TerminalLogsPanel.
14
+ *
15
+ * @example
16
+ * ```tsx
17
+ * <TerminalLogsPanel
18
+ * slots={{
19
+ * terminalContainer: 'min-h-[600px]',
20
+ * emptyStateIcon: 'text-primary/30',
21
+ * }}
22
+ * />
23
+ * ```
24
+ */
25
+ export declare const terminalLogsPanelStyles: StyleSlots<TerminalLogsPanelSlot>;
26
+ //# sourceMappingURL=TerminalLogsPanel.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TerminalLogsPanel.styles.d.ts","sourceRoot":"","sources":["../../../../../../src/react-ui/blocks/Terminal/panel/TerminalLogsPanel/TerminalLogsPanel.styles.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/C,uDAAuD;AACvD,MAAM,MAAM,qBAAqB,GAC7B,MAAM,GACN,mBAAmB,GACnB,WAAW,GACX,kBAAkB,GAClB,YAAY,GACZ,gBAAgB,GAChB,iBAAiB,GACjB,gBAAgB,GAChB,iBAAiB,CAAC;AAEtB;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,uBAAuB,EAAE,UAAU,CAAC,qBAAqB,CAUrE,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { TERMINAL_BG } from "../../Terminal.tokens.js";
2
+
3
+ //#region src/react-ui/blocks/Terminal/panel/TerminalLogsPanel/TerminalLogsPanel.styles.ts
4
+ /**
5
+ * Default style slots for TerminalLogsPanel.
6
+ *
7
+ * @example
8
+ * ```tsx
9
+ * <TerminalLogsPanel
10
+ * slots={{
11
+ * terminalContainer: 'min-h-[600px]',
12
+ * emptyStateIcon: 'text-primary/30',
13
+ * }}
14
+ * />
15
+ * ```
16
+ */
17
+ const terminalLogsPanelStyles = {
18
+ root: "",
19
+ terminalContainer: `relative ${TERMINAL_BG} min-h-[400px] border-x border-border/10 terminal-scroll`,
20
+ actionBar: "flex items-center gap-2 px-3 h-12 bg-muted/10 border-b border-white/10",
21
+ actionBarDivider: "w-px h-6 bg-border/30 flex-shrink-0",
22
+ emptyState: "flex flex-col items-center justify-center min-h-[400px] px-8 py-12 text-center",
23
+ emptyStateIcon: "w-16 h-16 mb-4 rounded-full bg-muted/20 flex items-center justify-center",
24
+ emptyStateTitle: "text-lg font-medium text-foreground mb-2",
25
+ emptyStateText: "text-sm text-muted-foreground mb-6 max-w-md",
26
+ containerButton: "px-3 py-1.5 rounded-lg text-sm font-mono transition-colors bg-muted/30 text-muted-foreground hover:bg-primary/20 hover:text-primary"
27
+ };
28
+
29
+ //#endregion
30
+ export { terminalLogsPanelStyles };
@@ -0,0 +1,123 @@
1
+ /**
2
+ * TerminalLogsPanel types.
3
+ *
4
+ * @module @mks2508/mks-ui/react/blocks/Terminal/panel/TerminalLogsPanel
5
+ */
6
+ import type { SlotOverrides } from '../../../../../core/types';
7
+ import type { IParsedLogEntry, TLogLevel } from '../../parsing';
8
+ import type { ITerminalSession, TLogLevelFilter } from '../TerminalLogsPanel.types';
9
+ import type { TerminalLogsPanelSlot } from './TerminalLogsPanel.styles';
10
+ /**
11
+ * Props for the TerminalLogsPanel component.
12
+ *
13
+ * @example
14
+ * ```tsx
15
+ * <TerminalLogsPanel
16
+ * containerName="devenv-agent-backend"
17
+ * isConnected={true}
18
+ * parsedEntries={entries}
19
+ * filterLevel="all"
20
+ * followCursor={true}
21
+ * showLineNumbers={false}
22
+ * levelCounts={{ info: 42 }}
23
+ * onFilterChange={(level) => setFilterLevel(level)}
24
+ * onFollowCursorChange={(v) => setFollowCursor(v)}
25
+ * onShowLineNumbersChange={(v) => setShowLineNumbers(v)}
26
+ * onClear={() => clearLogs()}
27
+ * onDownload={() => downloadLogs()}
28
+ * onSearch={() => openSearch()}
29
+ * slots={{ terminalContainer: 'min-h-[600px]' }}
30
+ * />
31
+ * ```
32
+ */
33
+ export interface ITerminalLogsPanelProps {
34
+ /** Container name to display in header */
35
+ containerName: string;
36
+ /** Whether container connection is active */
37
+ isConnected: boolean;
38
+ /** Raw logs content (kept for compatibility, will be removed) */
39
+ logs?: string;
40
+ /** Internal raw logs content (kept for API compatibility, unused in favor of parsedEntries) */
41
+ _logs?: string;
42
+ /** Parsed log entries with level detection and metadata */
43
+ parsedEntries: IParsedLogEntry[];
44
+ /** Log level filter state */
45
+ filterLevel: TLogLevelFilter;
46
+ /** Follow cursor state (auto-scroll) */
47
+ followCursor: boolean;
48
+ /** Show line numbers state */
49
+ showLineNumbers: boolean;
50
+ /** Level counts for badges */
51
+ levelCounts: Partial<Record<TLogLevel, number>>;
52
+ /** View mode: 'terminal' for xterm.js, 'react' for React viewer */
53
+ viewMode?: 'terminal' | 'react';
54
+ /** Container management: Available containers (for session control) */
55
+ containers?: Array<{
56
+ id: string;
57
+ name: string;
58
+ state: string;
59
+ }>;
60
+ /** Session management: Available sessions (optional for single-session mode) */
61
+ sessions?: ITerminalSession[];
62
+ /** Session management: Currently active session ID (optional) */
63
+ activeSessionId?: string | null;
64
+ /** Session management: Callback when session changes */
65
+ onSessionChange?: (sessionId: string) => void;
66
+ /** Session management: Callback when session is closed */
67
+ onSessionClose?: (sessionId: string) => void;
68
+ /** Session management: Callback when new session button is clicked */
69
+ onNewSession?: () => void;
70
+ /** Available containers for adding new tabs */
71
+ availableContainers?: Array<{
72
+ id: string;
73
+ name: string;
74
+ state: string;
75
+ }>;
76
+ /** Callback when a container is selected to add as a new tab */
77
+ onAddContainer?: (containerName: string) => void;
78
+ /** Callback when container is selected from session control */
79
+ onContainerSelect?: (containerName: string) => void;
80
+ /** Callback when session close button is clicked */
81
+ onSessionStop?: () => void;
82
+ /** Callback when filter level changes */
83
+ onFilterChange: (level: TLogLevelFilter) => void;
84
+ /** Callback when follow cursor toggle changes */
85
+ onFollowCursorChange: (enabled: boolean) => void;
86
+ /** Callback when line numbers toggle changes */
87
+ onShowLineNumbersChange: (enabled: boolean) => void;
88
+ /** Callback when view mode changes */
89
+ onViewModeChange?: (mode: 'terminal' | 'react') => void;
90
+ /** Callback when clear button is clicked */
91
+ onClear: () => void;
92
+ /** Callback when download button is clicked */
93
+ onDownload: () => void;
94
+ /** Callback when search button is clicked */
95
+ onSearch: () => void;
96
+ /** Override classes for visual regions */
97
+ slots?: SlotOverrides<TerminalLogsPanelSlot>;
98
+ /** Custom class name on root element */
99
+ className?: string;
100
+ }
101
+ /**
102
+ * Imperative handle for TerminalLogsPanel.
103
+ *
104
+ * Exposes terminal control methods to parent components.
105
+ *
106
+ * @example
107
+ * ```tsx
108
+ * const ref = useRef<ITerminalLogsPanelRef>(null);
109
+ * ref.current?.search('ERROR');
110
+ * ref.current?.scrollToBottom();
111
+ * ```
112
+ */
113
+ export interface ITerminalLogsPanelRef {
114
+ /** Search for term in terminal buffer */
115
+ search: (term: string) => void;
116
+ /** Clear terminal and reset position */
117
+ clear: () => void;
118
+ /** Write text to terminal */
119
+ write: (text: string) => void;
120
+ /** Scroll to bottom of terminal */
121
+ scrollToBottom: () => void;
122
+ }
123
+ //# sourceMappingURL=TerminalLogsPanel.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TerminalLogsPanel.types.d.ts","sourceRoot":"","sources":["../../../../../../src/react-ui/blocks/Terminal/panel/TerminalLogsPanel/TerminalLogsPanel.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAExE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,uBAAuB;IACtC,0CAA0C;IAC1C,aAAa,EAAE,MAAM,CAAC;IAEtB,6CAA6C;IAC7C,WAAW,EAAE,OAAO,CAAC;IAErB,iEAAiE;IACjE,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,+FAA+F;IAC/F,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,2DAA2D;IAC3D,aAAa,EAAE,eAAe,EAAE,CAAC;IAEjC,6BAA6B;IAC7B,WAAW,EAAE,eAAe,CAAC;IAE7B,wCAAwC;IACxC,YAAY,EAAE,OAAO,CAAC;IAEtB,8BAA8B;IAC9B,eAAe,EAAE,OAAO,CAAC;IAEzB,8BAA8B;IAC9B,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IAEhD,mEAAmE;IACnE,QAAQ,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IAEhC,uEAAuE;IACvE,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEhE,gFAAgF;IAChF,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAE9B,iEAAiE;IACjE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC,wDAAwD;IACxD,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAE9C,0DAA0D;IAC1D,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAE7C,sEAAsE;IACtE,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAE1B,+CAA+C;IAC/C,mBAAmB,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEzE,gEAAgE;IAChE,cAAc,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IAEjD,+DAA+D;IAC/D,iBAAiB,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IAEpD,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAE3B,yCAAyC;IACzC,cAAc,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAEjD,iDAAiD;IACjD,oBAAoB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAEjD,gDAAgD;IAChD,uBAAuB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAEpD,sCAAsC;IACtC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,KAAK,IAAI,CAAC;IAExD,4CAA4C;IAC5C,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB,+CAA+C;IAC/C,UAAU,EAAE,MAAM,IAAI,CAAC;IAEvB,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,IAAI,CAAC;IAErB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;IAE7C,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,qBAAqB;IACpC,yCAAyC;IACzC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAE/B,wCAAwC;IACxC,KAAK,EAAE,MAAM,IAAI,CAAC;IAElB,6BAA6B;IAC7B,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAE9B,mCAAmC;IACnC,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B"}
@@ -3,25 +3,15 @@
3
3
  *
4
4
  * Ghostty-inspired terminal panel with session tabs, glassmorphic header,
5
5
  * tab-style filters, compact actions, and premium visual effects.
6
+ * Fully composable via StyleSlots.
6
7
  *
7
- * @module components/devenv/terminal/panel
8
+ * @module @mks2508/mks-ui/react/blocks/Terminal/panel/TerminalLogsPanel
8
9
  */
9
- import type { ITerminalLogsPanelProps } from './TerminalLogsPanel.types';
10
+ import type { ITerminalLogsPanelProps, ITerminalLogsPanelRef } from './TerminalLogsPanel.types';
10
11
  import '@xterm/xterm/css/xterm.css';
11
- /**
12
- * Imperative handle for TerminalLogsPanel component.
13
- * Exposes terminal control methods to parent components.
14
- */
15
- export interface ITerminalLogsPanelRef {
16
- /** Search for term in terminal buffer */
17
- search: (term: string) => void;
18
- /** Clear terminal and reset position */
19
- clear: () => void;
20
- /** Write text to terminal */
21
- write: (text: string) => void;
22
- /** Scroll to bottom of terminal */
23
- scrollToBottom: () => void;
24
- }
12
+ export type { ITerminalLogsPanelProps, ITerminalLogsPanelRef } from './TerminalLogsPanel.types';
13
+ export { terminalLogsPanelStyles } from './TerminalLogsPanel.styles';
14
+ export type { TerminalLogsPanelSlot } from './TerminalLogsPanel.styles';
25
15
  /**
26
16
  * TerminalLogsPanel Component.
27
17
  *
@@ -32,9 +22,8 @@ export interface ITerminalLogsPanelRef {
32
22
  * - Compact action bar
33
23
  * - xterm.js terminal display
34
24
  * - Status footer with counts
35
- * - Multi-layer glassmorphism
36
- * - Noise texture for depth
37
- * - Animated accent lines
25
+ *
26
+ * All visual regions are overridable via the `slots` prop.
38
27
  *
39
28
  * @example
40
29
  * ```tsx
@@ -53,15 +42,15 @@ export interface ITerminalLogsPanelRef {
53
42
  * activeSessionId="session-1"
54
43
  * onSessionChange={(id) => setActiveSession(id)}
55
44
  * onSessionClose={(id) => closeSession(id)}
56
- * onNewSession={() => createSession()}
57
45
  * onFilterChange={(level) => setFilterLevel(level)}
58
46
  * onFollowCursorChange={(enabled) => setFollowCursor(enabled)}
59
47
  * onShowLineNumbersChange={(enabled) => setShowLineNumbers(enabled)}
60
48
  * onClear={() => clearLogs()}
61
49
  * onDownload={() => downloadLogs()}
62
50
  * onSearch={() => openSearch()}
51
+ * slots={{ terminalContainer: 'min-h-[600px]' }}
63
52
  * />
64
53
  * ```
65
54
  */
66
55
  export declare const TerminalLogsPanel: import("react").ForwardRefExoticComponent<ITerminalLogsPanelProps & import("react").RefAttributes<ITerminalLogsPanelRef>>;
67
- //# sourceMappingURL=TerminalLogsPanel.d.ts.map
56
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/react-ui/blocks/Terminal/panel/TerminalLogsPanel/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAqBH,OAAO,KAAK,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEhG,OAAO,4BAA4B,CAAC;AAGpC,YAAY,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAChG,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,YAAY,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AA8BxE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,eAAO,MAAM,iBAAiB,2HA+U7B,CAAC"}