@mks2508/mks-ui 0.3.2 → 0.4.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 (322) hide show
  1. package/dist/react-ui/blocks/Terminal/ResttyAdapter.d.ts +146 -0
  2. package/dist/react-ui/blocks/Terminal/ResttyAdapter.d.ts.map +1 -0
  3. package/dist/react-ui/blocks/Terminal/ResttyAdapter.js +213 -0
  4. package/dist/react-ui/blocks/Terminal/Terminal.adapter.d.ts +55 -0
  5. package/dist/react-ui/blocks/Terminal/Terminal.adapter.d.ts.map +1 -0
  6. package/dist/react-ui/blocks/Terminal/Terminal.adapter.js +68 -0
  7. package/dist/react-ui/blocks/Terminal/Terminal.theme.d.ts +43 -0
  8. package/dist/react-ui/blocks/Terminal/Terminal.theme.d.ts.map +1 -0
  9. package/dist/react-ui/blocks/Terminal/Terminal.theme.js +59 -0
  10. package/dist/react-ui/blocks/Terminal/Terminal.theme.restty.d.ts +63 -0
  11. package/dist/react-ui/blocks/Terminal/Terminal.theme.restty.d.ts.map +1 -0
  12. package/dist/react-ui/blocks/Terminal/Terminal.theme.restty.js +109 -0
  13. package/dist/react-ui/blocks/Terminal/Terminal.types.d.ts +351 -0
  14. package/dist/react-ui/blocks/Terminal/Terminal.types.d.ts.map +1 -0
  15. package/dist/react-ui/blocks/Terminal/TerminalPanel.d.ts +60 -0
  16. package/dist/react-ui/blocks/Terminal/TerminalPanel.d.ts.map +1 -0
  17. package/dist/react-ui/blocks/Terminal/TerminalPanel.js +183 -0
  18. package/dist/react-ui/blocks/Terminal/TerminalRestty.d.ts +111 -0
  19. package/dist/react-ui/blocks/Terminal/TerminalRestty.d.ts.map +1 -0
  20. package/dist/react-ui/blocks/Terminal/TerminalRestty.js +185 -0
  21. package/dist/react-ui/blocks/Terminal/TerminalXterm.d.ts +58 -0
  22. package/dist/react-ui/blocks/Terminal/TerminalXterm.d.ts.map +1 -0
  23. package/dist/react-ui/blocks/Terminal/TerminalXterm.js +143 -0
  24. package/dist/react-ui/blocks/Terminal/XTermAdapter.d.ts +87 -0
  25. package/dist/react-ui/blocks/Terminal/XTermAdapter.d.ts.map +1 -0
  26. package/dist/react-ui/blocks/Terminal/XTermAdapter.js +135 -0
  27. package/dist/react-ui/blocks/Terminal/components/LogLineBadges.d.ts +160 -0
  28. package/dist/react-ui/blocks/Terminal/components/LogLineBadges.d.ts.map +1 -0
  29. package/dist/react-ui/blocks/Terminal/components/LogLineBadges.js +185 -0
  30. package/dist/react-ui/blocks/Terminal/components/SpecializedSyntaxHighlighter.d.ts +48 -0
  31. package/dist/react-ui/blocks/Terminal/components/SpecializedSyntaxHighlighter.d.ts.map +1 -0
  32. package/dist/react-ui/blocks/Terminal/components/SpecializedSyntaxHighlighter.js +139 -0
  33. package/dist/react-ui/blocks/Terminal/components/SyntaxHighlight.d.ts +60 -0
  34. package/dist/react-ui/blocks/Terminal/components/SyntaxHighlight.d.ts.map +1 -0
  35. package/dist/react-ui/blocks/Terminal/components/SyntaxHighlight.js +352 -0
  36. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge.d.ts +36 -0
  37. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge.d.ts.map +1 -0
  38. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge.js +52 -0
  39. package/dist/react-ui/blocks/Terminal/components/index.d.ts +10 -0
  40. package/dist/react-ui/blocks/Terminal/components/index.d.ts.map +1 -0
  41. package/dist/react-ui/blocks/Terminal/components/index.js +4 -0
  42. package/dist/react-ui/blocks/Terminal/hooks/index.d.ts +11 -0
  43. package/dist/react-ui/blocks/Terminal/hooks/index.d.ts.map +1 -0
  44. package/dist/react-ui/blocks/Terminal/hooks/index.js +2 -0
  45. package/dist/react-ui/blocks/Terminal/hooks/useTerminalSettings.d.ts +69 -0
  46. package/dist/react-ui/blocks/Terminal/hooks/useTerminalSettings.d.ts.map +1 -0
  47. package/dist/react-ui/blocks/Terminal/hooks/useTerminalSettings.js +162 -0
  48. package/dist/react-ui/blocks/Terminal/hooks/useTerminalWebSocket.d.ts +104 -0
  49. package/dist/react-ui/blocks/Terminal/hooks/useTerminalWebSocket.d.ts.map +1 -0
  50. package/dist/react-ui/blocks/Terminal/hooks/useTerminalWebSocket.js +180 -0
  51. package/dist/react-ui/blocks/Terminal/index.d.ts +39 -0
  52. package/dist/react-ui/blocks/Terminal/index.d.ts.map +1 -0
  53. package/dist/react-ui/blocks/Terminal/index.js +38 -0
  54. package/dist/react-ui/blocks/Terminal/panel/LogLinesViewer.d.ts +58 -0
  55. package/dist/react-ui/blocks/Terminal/panel/LogLinesViewer.d.ts.map +1 -0
  56. package/dist/react-ui/blocks/Terminal/panel/LogLinesViewer.js +222 -0
  57. package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel.d.ts +74 -0
  58. package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel.d.ts.map +1 -0
  59. package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel.js +168 -0
  60. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown.d.ts +42 -0
  61. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown.d.ts.map +1 -0
  62. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown.js +175 -0
  63. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs.d.ts +43 -0
  64. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs.d.ts.map +1 -0
  65. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.d.ts +38 -0
  66. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.d.ts.map +1 -0
  67. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.js +62 -0
  68. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.types.d.ts +67 -0
  69. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.types.d.ts.map +1 -0
  70. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelRestty.d.ts +32 -0
  71. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelRestty.d.ts.map +1 -0
  72. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelRestty.js +326 -0
  73. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelXterm.d.ts +36 -0
  74. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelXterm.d.ts.map +1 -0
  75. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelXterm.js +371 -0
  76. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel.d.ts +67 -0
  77. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel.d.ts.map +1 -0
  78. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel.js +417 -0
  79. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel.types.d.ts +197 -0
  80. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel.types.d.ts.map +1 -0
  81. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.d.ts +54 -0
  82. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.d.ts.map +1 -0
  83. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.js +193 -0
  84. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.types.d.ts +57 -0
  85. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.types.d.ts.map +1 -0
  86. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter.d.ts +30 -0
  87. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter.d.ts.map +1 -0
  88. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter.js +126 -0
  89. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader.d.ts +31 -0
  90. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader.d.ts.map +1 -0
  91. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader.js +149 -0
  92. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelToolbar.d.ts +35 -0
  93. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelToolbar.d.ts.map +1 -0
  94. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionControl.d.ts +58 -0
  95. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionControl.d.ts.map +1 -0
  96. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs.d.ts +63 -0
  97. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs.d.ts.map +1 -0
  98. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs.js +245 -0
  99. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover.d.ts +24 -0
  100. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover.d.ts.map +1 -0
  101. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover.js +225 -0
  102. package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector.d.ts +35 -0
  103. package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector.d.ts.map +1 -0
  104. package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector.js +187 -0
  105. package/dist/react-ui/blocks/Terminal/panel/index.d.ts +30 -0
  106. package/dist/react-ui/blocks/Terminal/panel/index.d.ts.map +1 -0
  107. package/dist/react-ui/blocks/Terminal/panel/terminal-filter-dropdown.module-Bovc57nm.css +60 -0
  108. package/dist/react-ui/blocks/Terminal/panel/terminal-filter-dropdown.module.js +5 -0
  109. package/dist/react-ui/blocks/Terminal/panel/terminal-session-tabs.module-QyxHO7cN.css +60 -0
  110. package/dist/react-ui/blocks/Terminal/panel/terminal-session-tabs.module.js +5 -0
  111. package/dist/react-ui/blocks/Terminal/parsing/BadgeFormatter.d.ts +73 -0
  112. package/dist/react-ui/blocks/Terminal/parsing/BadgeFormatter.d.ts.map +1 -0
  113. package/dist/react-ui/blocks/Terminal/parsing/BadgeFormatter.js +136 -0
  114. package/dist/react-ui/blocks/Terminal/parsing/HttpLogParser.d.ts +117 -0
  115. package/dist/react-ui/blocks/Terminal/parsing/HttpLogParser.d.ts.map +1 -0
  116. package/dist/react-ui/blocks/Terminal/parsing/HttpLogParser.js +174 -0
  117. package/dist/react-ui/blocks/Terminal/parsing/LogParser.types.d.ts +221 -0
  118. package/dist/react-ui/blocks/Terminal/parsing/LogParser.types.d.ts.map +1 -0
  119. package/dist/react-ui/blocks/Terminal/parsing/LogParserService.d.ts +184 -0
  120. package/dist/react-ui/blocks/Terminal/parsing/LogParserService.d.ts.map +1 -0
  121. package/dist/react-ui/blocks/Terminal/parsing/LogParserService.js +478 -0
  122. package/dist/react-ui/blocks/Terminal/parsing/MultilineAggregator.d.ts +173 -0
  123. package/dist/react-ui/blocks/Terminal/parsing/MultilineAggregator.d.ts.map +1 -0
  124. package/dist/react-ui/blocks/Terminal/parsing/MultilineAggregator.js +313 -0
  125. package/dist/react-ui/blocks/Terminal/parsing/PersistentLogBuffer.d.ts +181 -0
  126. package/dist/react-ui/blocks/Terminal/parsing/PersistentLogBuffer.d.ts.map +1 -0
  127. package/dist/react-ui/blocks/Terminal/parsing/PersistentLogBuffer.js +221 -0
  128. package/dist/react-ui/blocks/Terminal/parsing/SyntaxHighlighter.d.ts +69 -0
  129. package/dist/react-ui/blocks/Terminal/parsing/SyntaxHighlighter.d.ts.map +1 -0
  130. package/dist/react-ui/blocks/Terminal/parsing/SyntaxHighlighter.js +142 -0
  131. package/dist/react-ui/blocks/Terminal/parsing/TableParser.d.ts +125 -0
  132. package/dist/react-ui/blocks/Terminal/parsing/TableParser.d.ts.map +1 -0
  133. package/dist/react-ui/blocks/Terminal/parsing/TableParser.js +245 -0
  134. package/dist/react-ui/blocks/Terminal/parsing/ansi/AnsiColorMapper.d.ts +165 -0
  135. package/dist/react-ui/blocks/Terminal/parsing/ansi/AnsiColorMapper.d.ts.map +1 -0
  136. package/dist/react-ui/blocks/Terminal/parsing/ansi/AnsiColorMapper.js +225 -0
  137. package/dist/react-ui/blocks/Terminal/parsing/ansi/AnsiParser.d.ts +164 -0
  138. package/dist/react-ui/blocks/Terminal/parsing/ansi/AnsiParser.d.ts.map +1 -0
  139. package/dist/react-ui/blocks/Terminal/parsing/ansi/AnsiParser.js +285 -0
  140. package/dist/react-ui/blocks/Terminal/parsing/ansi/ansi.constants.d.ts +188 -0
  141. package/dist/react-ui/blocks/Terminal/parsing/ansi/ansi.constants.d.ts.map +1 -0
  142. package/dist/react-ui/blocks/Terminal/parsing/ansi/ansi.constants.js +178 -0
  143. package/dist/react-ui/blocks/Terminal/parsing/ansi/index.d.ts +12 -0
  144. package/dist/react-ui/blocks/Terminal/parsing/ansi/index.d.ts.map +1 -0
  145. package/dist/react-ui/blocks/Terminal/parsing/index.d.ts +24 -0
  146. package/dist/react-ui/blocks/Terminal/parsing/index.d.ts.map +1 -0
  147. package/dist/react-ui/blocks/Terminal/parsing/levels/LogLevel.types.d.ts +56 -0
  148. package/dist/react-ui/blocks/Terminal/parsing/levels/LogLevel.types.d.ts.map +1 -0
  149. package/dist/react-ui/blocks/Terminal/parsing/levels/LogLevelDetector.d.ts +140 -0
  150. package/dist/react-ui/blocks/Terminal/parsing/levels/LogLevelDetector.d.ts.map +1 -0
  151. package/dist/react-ui/blocks/Terminal/parsing/levels/LogLevelDetector.js +325 -0
  152. package/dist/react-ui/blocks/Terminal/parsing/levels/index.d.ts +10 -0
  153. package/dist/react-ui/blocks/Terminal/parsing/levels/index.d.ts.map +1 -0
  154. package/dist/react-ui/blocks/index.d.ts +11 -0
  155. package/dist/react-ui/blocks/index.d.ts.map +1 -0
  156. package/dist/react-ui/icons/lucide-animated/activity.js +1 -1
  157. package/dist/react-ui/icons/lucide-animated/bell-electric.js +1 -1
  158. package/dist/react-ui/icons/lucide-animated/bell.js +1 -1
  159. package/dist/react-ui/icons/lucide-animated/bot.js +1 -1
  160. package/dist/react-ui/icons/lucide-animated/box.js +1 -1
  161. package/dist/react-ui/icons/lucide-animated/circle-check.js +1 -1
  162. package/dist/react-ui/icons/lucide-animated/delete.js +1 -1
  163. package/dist/react-ui/icons/lucide-animated/download.js +1 -1
  164. package/dist/react-ui/icons/lucide-animated/home.js +1 -1
  165. package/dist/react-ui/icons/lucide-animated/layout-panel-top.js +1 -1
  166. package/dist/react-ui/icons/lucide-animated/plus.js +1 -1
  167. package/dist/react-ui/icons/lucide-animated/search.js +1 -1
  168. package/dist/react-ui/icons/lucide-animated/settings.js +1 -1
  169. package/dist/react-ui/icons/lucide-animated/trending-down.js +1 -1
  170. package/dist/react-ui/icons/lucide-animated/trending-up.js +1 -1
  171. package/dist/react-ui/icons/lucide-animated/x.js +1 -1
  172. package/dist/react-ui/index.js +3 -1
  173. package/dist/react-ui/lib/icon-wrapper.d.ts +37 -0
  174. package/dist/react-ui/lib/icon-wrapper.d.ts.map +1 -0
  175. package/dist/react-ui/lib/icon-wrapper.js +55 -0
  176. package/dist/react-ui/lib/index.d.ts +1 -0
  177. package/dist/react-ui/lib/index.d.ts.map +1 -1
  178. package/dist/react-ui/lib/index.js +1 -0
  179. package/dist/react-ui/primitives/AutoHeight/index.d.ts +1 -1
  180. package/dist/react-ui/primitives/CountingNumber/index.d.ts +1 -1
  181. package/dist/react-ui/primitives/waapi/SlidingNumber/SlidingNumber.styles.d.ts +1 -1
  182. package/dist/react-ui/primitives/waapi/SlidingText/SlidingText.styles.d.ts +1 -1
  183. package/dist/react-ui/ui/Accordion/Accordion.styles.d.ts +1 -1
  184. package/dist/react-ui/ui/Accordion/Accordion.types.d.ts +1 -1
  185. package/dist/react-ui/ui/AlertDialog/AlertDialog.styles.d.ts +1 -1
  186. package/dist/react-ui/ui/AlertDialog/AlertDialog.types.d.ts +1 -1
  187. package/dist/react-ui/ui/Badge/Badge.styles.d.ts +1 -1
  188. package/dist/react-ui/ui/Badge/Badge.types.d.ts +1 -1
  189. package/dist/react-ui/ui/Button/Button.styles.d.ts +2 -2
  190. package/dist/react-ui/ui/Button/Button.types.d.ts +1 -1
  191. package/dist/react-ui/ui/Card/Card.styles.d.ts +1 -1
  192. package/dist/react-ui/ui/Card/Card.types.d.ts +1 -1
  193. package/dist/react-ui/ui/Checkbox/Checkbox.styles.d.ts +1 -1
  194. package/dist/react-ui/ui/Checkbox/Checkbox.types.d.ts +1 -1
  195. package/dist/react-ui/ui/Combobox/Combobox.styles.d.ts +1 -1
  196. package/dist/react-ui/ui/Combobox/Combobox.types.d.ts +1 -1
  197. package/dist/react-ui/ui/CornerBracket/CornerBracket.styles.d.ts +2 -2
  198. package/dist/react-ui/ui/CornerBracket/CornerBracket.styles.js +1 -1
  199. package/dist/react-ui/ui/CornerBracket/CornerBracket.types.d.ts +1 -1
  200. package/dist/react-ui/ui/DataCard/DataCard.styles.d.ts +1 -1
  201. package/dist/react-ui/ui/DataCard/DataCard.types.d.ts +1 -1
  202. package/dist/react-ui/ui/DataCard/index.d.ts +1 -1
  203. package/dist/react-ui/ui/Dialog/Dialog.styles.d.ts +1 -1
  204. package/dist/react-ui/ui/Dialog/Dialog.types.d.ts +1 -1
  205. package/dist/react-ui/ui/DropdownMenu/DropdownMenu.styles.d.ts +1 -1
  206. package/dist/react-ui/ui/DropdownMenu/DropdownMenu.types.d.ts +1 -1
  207. package/dist/react-ui/ui/Field/Field.styles.d.ts +1 -1
  208. package/dist/react-ui/ui/Field/Field.types.d.ts +1 -1
  209. package/dist/react-ui/ui/Input/Input.styles.d.ts +1 -1
  210. package/dist/react-ui/ui/Input/Input.types.d.ts +1 -1
  211. package/dist/react-ui/ui/InputGroup/InputGroup.styles.d.ts +1 -1
  212. package/dist/react-ui/ui/InputGroup/InputGroup.types.d.ts +1 -1
  213. package/dist/react-ui/ui/Label/Label.styles.d.ts +1 -1
  214. package/dist/react-ui/ui/Label/Label.types.d.ts +1 -1
  215. package/dist/react-ui/ui/Menu/Menu.styles.d.ts +1 -1
  216. package/dist/react-ui/ui/Menu/Menu.types.d.ts +2 -2
  217. package/dist/react-ui/ui/Popover/Popover.styles.d.ts +1 -1
  218. package/dist/react-ui/ui/Popover/Popover.types.d.ts +1 -1
  219. package/dist/react-ui/ui/Progress/Progress.styles.d.ts +1 -1
  220. package/dist/react-ui/ui/Progress/Progress.types.d.ts +2 -2
  221. package/dist/react-ui/ui/Select/Select.styles.d.ts +1 -1
  222. package/dist/react-ui/ui/Select/Select.types.d.ts +1 -1
  223. package/dist/react-ui/ui/Separator/Separator.styles.d.ts +1 -1
  224. package/dist/react-ui/ui/Separator/Separator.types.d.ts +1 -1
  225. package/dist/react-ui/ui/Switch/Switch.styles.d.ts +1 -1
  226. package/dist/react-ui/ui/Switch/Switch.types.d.ts +1 -1
  227. package/dist/react-ui/ui/Tabs/Tabs.styles.d.ts +43 -25
  228. package/dist/react-ui/ui/Tabs/Tabs.styles.d.ts.map +1 -1
  229. package/dist/react-ui/ui/Tabs/Tabs.styles.js +105 -13
  230. package/dist/react-ui/ui/Tabs/Tabs.types.d.ts +9 -6
  231. package/dist/react-ui/ui/Tabs/Tabs.types.d.ts.map +1 -1
  232. package/dist/react-ui/ui/Tabs/index.d.ts +18 -9
  233. package/dist/react-ui/ui/Tabs/index.d.ts.map +1 -1
  234. package/dist/react-ui/ui/Tabs/index.js +99 -27
  235. package/dist/react-ui/ui/TextFlow/TextFlow.styles.d.ts +1 -1
  236. package/dist/react-ui/ui/Textarea/Textarea.styles.d.ts +1 -1
  237. package/dist/react-ui/ui/Textarea/Textarea.types.d.ts +1 -1
  238. package/dist/react-ui/ui/Tooltip/Tooltip.styles.d.ts +1 -1
  239. package/dist/react-ui/ui/Tooltip/Tooltip.types.d.ts +1 -1
  240. package/dist/react-ui/ui/index.js +1 -0
  241. package/package.json +54 -6
  242. package/src/react-ui/blocks/Terminal/ResttyAdapter.ts +278 -0
  243. package/src/react-ui/blocks/Terminal/Terminal.adapter.ts +97 -0
  244. package/src/react-ui/blocks/Terminal/Terminal.theme.restty.ts +155 -0
  245. package/src/react-ui/blocks/Terminal/Terminal.theme.ts +80 -0
  246. package/src/react-ui/blocks/Terminal/Terminal.types.ts +438 -0
  247. package/src/react-ui/blocks/Terminal/TerminalPanel.tsx +269 -0
  248. package/src/react-ui/blocks/Terminal/TerminalRestty.tsx +326 -0
  249. package/src/react-ui/blocks/Terminal/TerminalXterm.tsx +230 -0
  250. package/src/react-ui/blocks/Terminal/XTermAdapter.ts +163 -0
  251. package/src/react-ui/blocks/Terminal/components/LogLineBadges.tsx +316 -0
  252. package/src/react-ui/blocks/Terminal/components/SpecializedSyntaxHighlighter.tsx +218 -0
  253. package/src/react-ui/blocks/Terminal/components/SyntaxHighlight.tsx +386 -0
  254. package/src/react-ui/blocks/Terminal/components/TerminalLogBadge.tsx +67 -0
  255. package/src/react-ui/blocks/Terminal/components/index.ts +10 -0
  256. package/src/react-ui/blocks/Terminal/hooks/index.ts +22 -0
  257. package/src/react-ui/blocks/Terminal/hooks/useTerminalSettings.ts +229 -0
  258. package/src/react-ui/blocks/Terminal/hooks/useTerminalWebSocket.ts +292 -0
  259. package/src/react-ui/blocks/Terminal/index.ts +103 -0
  260. package/src/react-ui/blocks/Terminal/panel/LogLinesViewer.tsx +330 -0
  261. package/src/react-ui/blocks/Terminal/panel/TerminalDebugPanel.tsx +242 -0
  262. package/src/react-ui/blocks/Terminal/panel/TerminalFilterDropdown.tsx +202 -0
  263. package/src/react-ui/blocks/Terminal/panel/TerminalFilterTabs.tsx +140 -0
  264. package/src/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.tsx +68 -0
  265. package/src/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.types.ts +85 -0
  266. package/src/react-ui/blocks/Terminal/panel/TerminalInteractivePanelRestty.tsx +383 -0
  267. package/src/react-ui/blocks/Terminal/panel/TerminalInteractivePanelXterm.tsx +439 -0
  268. package/src/react-ui/blocks/Terminal/panel/TerminalLogsPanel.tsx +550 -0
  269. package/src/react-ui/blocks/Terminal/panel/TerminalLogsPanel.types.ts +259 -0
  270. package/src/react-ui/blocks/Terminal/panel/TerminalPanelChrome.tsx +237 -0
  271. package/src/react-ui/blocks/Terminal/panel/TerminalPanelChrome.types.ts +76 -0
  272. package/src/react-ui/blocks/Terminal/panel/TerminalPanelFooter.tsx +112 -0
  273. package/src/react-ui/blocks/Terminal/panel/TerminalPanelHeader.tsx +178 -0
  274. package/src/react-ui/blocks/Terminal/panel/TerminalPanelToolbar.tsx +203 -0
  275. package/src/react-ui/blocks/Terminal/panel/TerminalSessionControl.tsx +252 -0
  276. package/src/react-ui/blocks/Terminal/panel/TerminalSessionTabs.tsx +334 -0
  277. package/src/react-ui/blocks/Terminal/panel/TerminalSettingsPopover.tsx +261 -0
  278. package/src/react-ui/blocks/Terminal/panel/TerminalThemeSelector.tsx +248 -0
  279. package/src/react-ui/blocks/Terminal/panel/index.ts +72 -0
  280. package/src/react-ui/blocks/Terminal/panel/terminal-filter-dropdown.module.css +59 -0
  281. package/src/react-ui/blocks/Terminal/panel/terminal-session-tabs.module.css +59 -0
  282. package/src/react-ui/blocks/Terminal/parsing/BadgeFormatter.ts +180 -0
  283. package/src/react-ui/blocks/Terminal/parsing/HttpLogParser.ts +248 -0
  284. package/src/react-ui/blocks/Terminal/parsing/LogParser.types.ts +283 -0
  285. package/src/react-ui/blocks/Terminal/parsing/LogParserService.ts +686 -0
  286. package/src/react-ui/blocks/Terminal/parsing/MultilineAggregator.ts +466 -0
  287. package/src/react-ui/blocks/Terminal/parsing/PersistentLogBuffer.ts +343 -0
  288. package/src/react-ui/blocks/Terminal/parsing/SyntaxHighlighter.ts +167 -0
  289. package/src/react-ui/blocks/Terminal/parsing/TableParser.ts +348 -0
  290. package/src/react-ui/blocks/Terminal/parsing/ansi/AnsiColorMapper.ts +251 -0
  291. package/src/react-ui/blocks/Terminal/parsing/ansi/AnsiParser.ts +390 -0
  292. package/src/react-ui/blocks/Terminal/parsing/ansi/ansi.constants.ts +320 -0
  293. package/src/react-ui/blocks/Terminal/parsing/ansi/index.ts +20 -0
  294. package/src/react-ui/blocks/Terminal/parsing/index.ts +69 -0
  295. package/src/react-ui/blocks/Terminal/parsing/levels/LogLevel.types.ts +68 -0
  296. package/src/react-ui/blocks/Terminal/parsing/levels/LogLevelDetector.ts +436 -0
  297. package/src/react-ui/blocks/Terminal/parsing/levels/index.ts +14 -0
  298. package/src/react-ui/blocks/index.ts +11 -0
  299. package/src/react-ui/icons/lucide-animated/activity.tsx +2 -2
  300. package/src/react-ui/icons/lucide-animated/bell-electric.tsx +1 -1
  301. package/src/react-ui/icons/lucide-animated/bell.tsx +2 -2
  302. package/src/react-ui/icons/lucide-animated/bot.tsx +1 -1
  303. package/src/react-ui/icons/lucide-animated/box.tsx +2 -2
  304. package/src/react-ui/icons/lucide-animated/circle-check.tsx +2 -2
  305. package/src/react-ui/icons/lucide-animated/delete.tsx +2 -2
  306. package/src/react-ui/icons/lucide-animated/download.tsx +2 -2
  307. package/src/react-ui/icons/lucide-animated/home.tsx +2 -2
  308. package/src/react-ui/icons/lucide-animated/layout-panel-top.tsx +1 -1
  309. package/src/react-ui/icons/lucide-animated/plus.tsx +1 -1
  310. package/src/react-ui/icons/lucide-animated/search.tsx +1 -1
  311. package/src/react-ui/icons/lucide-animated/settings.tsx +1 -1
  312. package/src/react-ui/icons/lucide-animated/trending-down.tsx +2 -2
  313. package/src/react-ui/icons/lucide-animated/trending-up.tsx +2 -2
  314. package/src/react-ui/icons/lucide-animated/x.tsx +2 -2
  315. package/src/react-ui/lib/icon-wrapper.tsx +70 -0
  316. package/src/react-ui/lib/index.ts +1 -0
  317. package/src/react-ui/ui/CornerBracket/CornerBracket.styles.ts +1 -1
  318. package/src/react-ui/ui/Tabs/Tabs.css +39 -0
  319. package/src/react-ui/ui/Tabs/Tabs.styles.ts +119 -31
  320. package/src/react-ui/ui/Tabs/Tabs.types.ts +8 -3
  321. package/src/react-ui/ui/Tabs/index.tsx +135 -27
  322. package/dist/index.css +0 -129
@@ -0,0 +1,371 @@
1
+ 'use client';
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
+ import { getTerminalTheme } from "../Terminal.theme.js";
9
+ import { useTerminalWebSocket } from "../hooks/useTerminalWebSocket.js";
10
+ import { useTerminalSettings } from "../hooks/useTerminalSettings.js";
11
+ import { TerminalPanelChrome } from "./TerminalPanelChrome.js";
12
+ import { TerminalSettingsPopover } from "./TerminalSettingsPopover.js";
13
+ import { forwardRef, useCallback, useEffect, useImperativeHandle, useRef, useState } from "react";
14
+ import { jsx, jsxs } from "react/jsx-runtime";
15
+ import { Terminal } from "@xterm/xterm";
16
+ import { FitAddon } from "@xterm/addon-fit";
17
+ import { WebLinksAddon } from "@xterm/addon-web-links";
18
+ import { SearchAddon } from "@xterm/addon-search";
19
+ import "@xterm/xterm/css/xterm.css";
20
+
21
+ //#region src/react-ui/blocks/Terminal/panel/TerminalInteractivePanelXterm.tsx
22
+ /**
23
+ * TerminalInteractivePanelXterm Component.
24
+ *
25
+ * Full interactive terminal panel with WebSocket-backed I/O,
26
+ * Ghostty-inspired chrome (via TerminalPanelChrome), xterm.js
27
+ * rendering, and action bar controls. Includes settings popover.
28
+ *
29
+ * @module components/devenv/terminal/panel/interactive-xterm
30
+ */
31
+ /**
32
+ * Terminal display container styles for interactive mode.
33
+ */
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
+ */
42
+ const MIN_FONT_SIZE = 10;
43
+ const MAX_FONT_SIZE = 24;
44
+ /**
45
+ * TerminalInteractivePanelXterm Component.
46
+ *
47
+ * Interactive terminal panel combining:
48
+ * - TerminalPanelChrome (Ghostty glassmorphism shell)
49
+ * - xterm.js with interactive mode (cursorBlink, stdin enabled)
50
+ * - WebSocket connection via useTerminalWebSocket
51
+ * - Action bar (clear, settings, font size controls)
52
+ * - Footer with connection status and terminal dimensions
53
+ *
54
+ * @example
55
+ * ```tsx
56
+ * const termRef = useRef<ITerminalInteractivePanelRef>(null);
57
+ *
58
+ * <TerminalInteractivePanelXterm
59
+ * ref={termRef}
60
+ * containerName="mks-devenv"
61
+ * wsUrl="ws://localhost:3100/terminal/session-1"
62
+ * onConnect={() => console.log('Connected')}
63
+ * onDisconnect={() => console.log('Disconnected')}
64
+ * />
65
+ * ```
66
+ */
67
+ const TerminalInteractivePanelXterm = forwardRef(({ containerName, wsUrl, sessions, activeSessionId, onSessionChange, onSessionClose, onNewSession, onConnect, onDisconnect, onError, className }, ref) => {
68
+ const terminalRef = useRef(null);
69
+ const fitAddonRef = useRef(null);
70
+ const searchAddonRef = useRef(null);
71
+ const containerRef = useRef(null);
72
+ const terminalReadyRef = useRef(false);
73
+ const { settings } = useTerminalSettings();
74
+ const [fontSize, setFontSize] = useState(settings.fontSize);
75
+ const [dimensions, setDimensions] = useState({
76
+ cols: 80,
77
+ rows: 24
78
+ });
79
+ /**
80
+ * WebSocket connection for terminal I/O.
81
+ */
82
+ const { status: connectionStatus, sendInput, sendResize, reconnect } = useTerminalWebSocket({
83
+ wsUrl,
84
+ onConnect: () => {
85
+ onConnect?.();
86
+ terminalRef.current?.write("\r\n\x1B[32m✓ Connected to terminal\x1B[0m\r\n");
87
+ },
88
+ onDisconnect: () => {
89
+ onDisconnect?.();
90
+ terminalRef.current?.write("\r\n\x1B[31m✗ Disconnected from terminal\x1B[0m\r\n");
91
+ },
92
+ onOutput: (data) => {
93
+ terminalRef.current?.write(data);
94
+ },
95
+ onError: (error) => {
96
+ onError?.(error);
97
+ terminalRef.current?.write(`\r\n\x1b[31mError: ${error}\x1b[0m\r\n`);
98
+ }
99
+ });
100
+ const isConnected = connectionStatus === "connected";
101
+ /**
102
+ * Initialize xterm.js with interactive mode.
103
+ */
104
+ useEffect(() => {
105
+ if (!containerRef.current) return;
106
+ const terminal = new Terminal({
107
+ cursorBlink: true,
108
+ cursorStyle: "bar",
109
+ scrollback: 1e4,
110
+ fontSize,
111
+ fontFamily: "'JetBrains Mono', 'Fira Code', 'SF Mono', 'Cascadia Code', monospace",
112
+ theme: getTerminalTheme(),
113
+ allowProposedApi: true,
114
+ disableStdin: false
115
+ });
116
+ const fitAddon = new FitAddon();
117
+ const webLinksAddon = new WebLinksAddon();
118
+ const searchAddon = new SearchAddon();
119
+ terminal.loadAddon(fitAddon);
120
+ terminal.loadAddon(webLinksAddon);
121
+ terminal.loadAddon(searchAddon);
122
+ terminal.open(containerRef.current);
123
+ const rafId = requestAnimationFrame(() => {
124
+ requestAnimationFrame(() => {
125
+ try {
126
+ fitAddon.fit();
127
+ setDimensions({
128
+ cols: terminal.cols,
129
+ rows: terminal.rows
130
+ });
131
+ } catch {}
132
+ });
133
+ });
134
+ terminal.onData((data) => {
135
+ sendInput(data);
136
+ });
137
+ terminal.onResize(({ cols, rows }) => {
138
+ setDimensions({
139
+ cols,
140
+ rows
141
+ });
142
+ sendResize(cols, rows);
143
+ });
144
+ terminalRef.current = terminal;
145
+ fitAddonRef.current = fitAddon;
146
+ searchAddonRef.current = searchAddon;
147
+ terminalReadyRef.current = true;
148
+ terminal.focus();
149
+ return () => {
150
+ cancelAnimationFrame(rafId);
151
+ terminalReadyRef.current = false;
152
+ terminal.dispose();
153
+ terminalRef.current = null;
154
+ fitAddonRef.current = null;
155
+ searchAddonRef.current = null;
156
+ };
157
+ }, []);
158
+ /**
159
+ * Update font size on existing terminal.
160
+ */
161
+ useEffect(() => {
162
+ if (!terminalRef.current || !terminalReadyRef.current) return;
163
+ terminalRef.current.options.fontSize = fontSize;
164
+ requestAnimationFrame(() => {
165
+ try {
166
+ fitAddonRef.current?.fit();
167
+ if (terminalRef.current) setDimensions({
168
+ cols: terminalRef.current.cols,
169
+ rows: terminalRef.current.rows
170
+ });
171
+ } catch {}
172
+ });
173
+ }, [fontSize]);
174
+ /**
175
+ * Handle window resize.
176
+ */
177
+ useEffect(() => {
178
+ const handleResize = () => {
179
+ requestAnimationFrame(() => {
180
+ if (fitAddonRef.current && terminalRef.current) try {
181
+ fitAddonRef.current.fit();
182
+ setDimensions({
183
+ cols: terminalRef.current.cols,
184
+ rows: terminalRef.current.rows
185
+ });
186
+ } catch {}
187
+ });
188
+ };
189
+ window.addEventListener("resize", handleResize);
190
+ return () => window.removeEventListener("resize", handleResize);
191
+ }, []);
192
+ /**
193
+ * Clear terminal display.
194
+ */
195
+ const handleClear = useCallback(() => {
196
+ terminalRef.current?.clear();
197
+ }, []);
198
+ /**
199
+ * Increase font size.
200
+ */
201
+ const handleFontIncrease = useCallback(() => {
202
+ setFontSize((prev) => Math.min(prev + 1, MAX_FONT_SIZE));
203
+ }, []);
204
+ /**
205
+ * Decrease font size.
206
+ */
207
+ const handleFontDecrease = useCallback(() => {
208
+ setFontSize((prev) => Math.max(prev - 1, MIN_FONT_SIZE));
209
+ }, []);
210
+ /**
211
+ * Expose imperative methods to parent.
212
+ */
213
+ useImperativeHandle(ref, () => ({
214
+ write: (text) => {
215
+ terminalRef.current?.write(text);
216
+ },
217
+ clear: () => {
218
+ terminalRef.current?.clear();
219
+ },
220
+ focus: () => {
221
+ terminalRef.current?.focus();
222
+ },
223
+ sendInput: (data) => {
224
+ sendInput(data);
225
+ },
226
+ isConnected: () => connectionStatus === "connected"
227
+ }));
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
+ return /* @__PURE__ */ jsx(TerminalPanelChrome, {
253
+ containerName,
254
+ isConnected,
255
+ crtEffect: settings.crtEffect,
256
+ sessions,
257
+ activeSessionId,
258
+ onSessionTabClick: onSessionChange,
259
+ onSessionClose,
260
+ 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
+ }),
340
+ className,
341
+ children: /* @__PURE__ */ jsxs("div", {
342
+ className: "relative min-h-[400px]",
343
+ children: [/* @__PURE__ */ jsx("div", {
344
+ ref: containerRef,
345
+ 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
+ })
364
+ })]
365
+ })
366
+ });
367
+ });
368
+ TerminalInteractivePanelXterm.displayName = "TerminalInteractivePanelXterm";
369
+
370
+ //#endregion
371
+ export { TerminalInteractivePanelXterm };
@@ -0,0 +1,67 @@
1
+ /**
2
+ * TerminalLogsPanel Component.
3
+ *
4
+ * Ghostty-inspired terminal panel with session tabs, glassmorphic header,
5
+ * tab-style filters, compact actions, and premium visual effects.
6
+ *
7
+ * @module components/devenv/terminal/panel
8
+ */
9
+ import type { ITerminalLogsPanelProps } from './TerminalLogsPanel.types';
10
+ 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
+ }
25
+ /**
26
+ * TerminalLogsPanel Component.
27
+ *
28
+ * Ghostty-inspired complete terminal panel with:
29
+ * - Session tabs (multi-session support)
30
+ * - Enhanced glassmorphic header
31
+ * - Tab-style filter buttons
32
+ * - Compact action bar
33
+ * - xterm.js terminal display
34
+ * - Status footer with counts
35
+ * - Multi-layer glassmorphism
36
+ * - Noise texture for depth
37
+ * - Animated accent lines
38
+ *
39
+ * @example
40
+ * ```tsx
41
+ * const panelRef = useRef<ITerminalLogsPanelRef>(null);
42
+ *
43
+ * <TerminalLogsPanel
44
+ * ref={panelRef}
45
+ * containerName="devenv-agent-backend"
46
+ * isConnected={true}
47
+ * parsedEntries={state.parsedEntries}
48
+ * filterLevel="all"
49
+ * followCursor={true}
50
+ * showLineNumbers={false}
51
+ * levelCounts={{ info: 42, warn: 3 }}
52
+ * sessions={sessions}
53
+ * activeSessionId="session-1"
54
+ * onSessionChange={(id) => setActiveSession(id)}
55
+ * onSessionClose={(id) => closeSession(id)}
56
+ * onNewSession={() => createSession()}
57
+ * onFilterChange={(level) => setFilterLevel(level)}
58
+ * onFollowCursorChange={(enabled) => setFollowCursor(enabled)}
59
+ * onShowLineNumbersChange={(enabled) => setShowLineNumbers(enabled)}
60
+ * onClear={() => clearLogs()}
61
+ * onDownload={() => downloadLogs()}
62
+ * onSearch={() => openSearch()}
63
+ * />
64
+ * ```
65
+ */
66
+ export declare const TerminalLogsPanel: import("react").ForwardRefExoticComponent<ITerminalLogsPanelProps & import("react").RefAttributes<ITerminalLogsPanelRef>>;
67
+ //# sourceMappingURL=TerminalLogsPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TerminalLogsPanel.d.ts","sourceRoot":"","sources":["../../../../../src/react-ui/blocks/Terminal/panel/TerminalLogsPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAYH,OAAO,KAAK,EACV,uBAAuB,EAGxB,MAAM,2BAA2B,CAAC;AASnC,OAAO,4BAA4B,CAAC;AAyBpC;;;GAGG;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;AA8BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,eAAO,MAAM,iBAAiB,2HAmZ7B,CAAC"}