@mks2508/mks-ui 0.3.2 → 0.5.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 (329) 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/TerminalDisplay.d.ts +46 -0
  16. package/dist/react-ui/blocks/Terminal/TerminalDisplay.d.ts.map +1 -0
  17. package/dist/react-ui/blocks/Terminal/TerminalDisplay.js +168 -0
  18. package/dist/react-ui/blocks/Terminal/TerminalDisplay.styles.d.ts +21 -0
  19. package/dist/react-ui/blocks/Terminal/TerminalDisplay.styles.d.ts.map +1 -0
  20. package/dist/react-ui/blocks/Terminal/TerminalDisplay.styles.js +31 -0
  21. package/dist/react-ui/blocks/Terminal/TerminalDisplay.types.d.ts +56 -0
  22. package/dist/react-ui/blocks/Terminal/TerminalDisplay.types.d.ts.map +1 -0
  23. package/dist/react-ui/blocks/Terminal/TerminalPanel.d.ts +60 -0
  24. package/dist/react-ui/blocks/Terminal/TerminalPanel.d.ts.map +1 -0
  25. package/dist/react-ui/blocks/Terminal/TerminalPanel.js +183 -0
  26. package/dist/react-ui/blocks/Terminal/TerminalRestty.d.ts +111 -0
  27. package/dist/react-ui/blocks/Terminal/TerminalRestty.d.ts.map +1 -0
  28. package/dist/react-ui/blocks/Terminal/TerminalRestty.js +185 -0
  29. package/dist/react-ui/blocks/Terminal/TerminalXterm.d.ts +58 -0
  30. package/dist/react-ui/blocks/Terminal/TerminalXterm.d.ts.map +1 -0
  31. package/dist/react-ui/blocks/Terminal/TerminalXterm.js +143 -0
  32. package/dist/react-ui/blocks/Terminal/XTermAdapter.d.ts +87 -0
  33. package/dist/react-ui/blocks/Terminal/XTermAdapter.d.ts.map +1 -0
  34. package/dist/react-ui/blocks/Terminal/XTermAdapter.js +135 -0
  35. package/dist/react-ui/blocks/Terminal/chrome.d.ts +14 -0
  36. package/dist/react-ui/blocks/Terminal/chrome.d.ts.map +1 -0
  37. package/dist/react-ui/blocks/Terminal/chrome.js +6 -0
  38. package/dist/react-ui/blocks/Terminal/components/LogLineBadges.d.ts +160 -0
  39. package/dist/react-ui/blocks/Terminal/components/LogLineBadges.d.ts.map +1 -0
  40. package/dist/react-ui/blocks/Terminal/components/LogLineBadges.js +185 -0
  41. package/dist/react-ui/blocks/Terminal/components/SpecializedSyntaxHighlighter.d.ts +48 -0
  42. package/dist/react-ui/blocks/Terminal/components/SpecializedSyntaxHighlighter.d.ts.map +1 -0
  43. package/dist/react-ui/blocks/Terminal/components/SpecializedSyntaxHighlighter.js +139 -0
  44. package/dist/react-ui/blocks/Terminal/components/SyntaxHighlight.d.ts +60 -0
  45. package/dist/react-ui/blocks/Terminal/components/SyntaxHighlight.d.ts.map +1 -0
  46. package/dist/react-ui/blocks/Terminal/components/SyntaxHighlight.js +352 -0
  47. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge.d.ts +36 -0
  48. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge.d.ts.map +1 -0
  49. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge.js +52 -0
  50. package/dist/react-ui/blocks/Terminal/components/index.d.ts +10 -0
  51. package/dist/react-ui/blocks/Terminal/components/index.d.ts.map +1 -0
  52. package/dist/react-ui/blocks/Terminal/components/index.js +4 -0
  53. package/dist/react-ui/blocks/Terminal/display.d.ts +20 -0
  54. package/dist/react-ui/blocks/Terminal/display.d.ts.map +1 -0
  55. package/dist/react-ui/blocks/Terminal/display.js +9 -0
  56. package/dist/react-ui/blocks/Terminal/hooks/index.d.ts +11 -0
  57. package/dist/react-ui/blocks/Terminal/hooks/index.d.ts.map +1 -0
  58. package/dist/react-ui/blocks/Terminal/hooks/index.js +2 -0
  59. package/dist/react-ui/blocks/Terminal/hooks/useTerminalSettings.d.ts +69 -0
  60. package/dist/react-ui/blocks/Terminal/hooks/useTerminalSettings.d.ts.map +1 -0
  61. package/dist/react-ui/blocks/Terminal/hooks/useTerminalSettings.js +162 -0
  62. package/dist/react-ui/blocks/Terminal/hooks/useTerminalWebSocket.d.ts +104 -0
  63. package/dist/react-ui/blocks/Terminal/hooks/useTerminalWebSocket.d.ts.map +1 -0
  64. package/dist/react-ui/blocks/Terminal/hooks/useTerminalWebSocket.js +180 -0
  65. package/dist/react-ui/blocks/Terminal/index.d.ts +43 -0
  66. package/dist/react-ui/blocks/Terminal/index.d.ts.map +1 -0
  67. package/dist/react-ui/blocks/Terminal/index.js +41 -0
  68. package/dist/react-ui/blocks/Terminal/panel/LogLinesViewer.d.ts +58 -0
  69. package/dist/react-ui/blocks/Terminal/panel/LogLinesViewer.d.ts.map +1 -0
  70. package/dist/react-ui/blocks/Terminal/panel/LogLinesViewer.js +222 -0
  71. package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel.d.ts +74 -0
  72. package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel.d.ts.map +1 -0
  73. package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel.js +168 -0
  74. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown.d.ts +42 -0
  75. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown.d.ts.map +1 -0
  76. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown.js +175 -0
  77. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs.d.ts +43 -0
  78. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs.d.ts.map +1 -0
  79. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.d.ts +38 -0
  80. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.d.ts.map +1 -0
  81. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.js +62 -0
  82. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.types.d.ts +67 -0
  83. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.types.d.ts.map +1 -0
  84. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelRestty.d.ts +32 -0
  85. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelRestty.d.ts.map +1 -0
  86. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelRestty.js +326 -0
  87. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelXterm.d.ts +36 -0
  88. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelXterm.d.ts.map +1 -0
  89. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelXterm.js +371 -0
  90. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel.d.ts +67 -0
  91. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel.d.ts.map +1 -0
  92. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel.js +417 -0
  93. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel.types.d.ts +197 -0
  94. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel.types.d.ts.map +1 -0
  95. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.d.ts +55 -0
  96. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.d.ts.map +1 -0
  97. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.js +214 -0
  98. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.styles.d.ts +35 -0
  99. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.styles.d.ts.map +1 -0
  100. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.styles.js +57 -0
  101. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.types.d.ts +62 -0
  102. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.types.d.ts.map +1 -0
  103. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter.d.ts +30 -0
  104. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter.d.ts.map +1 -0
  105. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter.js +126 -0
  106. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader.d.ts +31 -0
  107. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader.d.ts.map +1 -0
  108. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader.js +149 -0
  109. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelToolbar.d.ts +35 -0
  110. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelToolbar.d.ts.map +1 -0
  111. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionControl.d.ts +58 -0
  112. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionControl.d.ts.map +1 -0
  113. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs.d.ts +63 -0
  114. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs.d.ts.map +1 -0
  115. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs.js +245 -0
  116. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover.d.ts +24 -0
  117. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover.d.ts.map +1 -0
  118. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover.js +225 -0
  119. package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector.d.ts +35 -0
  120. package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector.d.ts.map +1 -0
  121. package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector.js +187 -0
  122. package/dist/react-ui/blocks/Terminal/panel/index.d.ts +30 -0
  123. package/dist/react-ui/blocks/Terminal/panel/index.d.ts.map +1 -0
  124. package/dist/react-ui/blocks/Terminal/panel/terminal-filter-dropdown.module-CNVWCefU.css +60 -0
  125. package/dist/react-ui/blocks/Terminal/panel/terminal-filter-dropdown.module.js +5 -0
  126. package/dist/react-ui/blocks/Terminal/panel/terminal-session-tabs.module-cmyJ11jP.css +60 -0
  127. package/dist/react-ui/blocks/Terminal/panel/terminal-session-tabs.module.js +5 -0
  128. package/dist/react-ui/blocks/Terminal/parsing/BadgeFormatter.d.ts +73 -0
  129. package/dist/react-ui/blocks/Terminal/parsing/BadgeFormatter.d.ts.map +1 -0
  130. package/dist/react-ui/blocks/Terminal/parsing/BadgeFormatter.js +136 -0
  131. package/dist/react-ui/blocks/Terminal/parsing/HttpLogParser.d.ts +117 -0
  132. package/dist/react-ui/blocks/Terminal/parsing/HttpLogParser.d.ts.map +1 -0
  133. package/dist/react-ui/blocks/Terminal/parsing/HttpLogParser.js +174 -0
  134. package/dist/react-ui/blocks/Terminal/parsing/LogParser.types.d.ts +221 -0
  135. package/dist/react-ui/blocks/Terminal/parsing/LogParser.types.d.ts.map +1 -0
  136. package/dist/react-ui/blocks/Terminal/parsing/LogParserService.d.ts +184 -0
  137. package/dist/react-ui/blocks/Terminal/parsing/LogParserService.d.ts.map +1 -0
  138. package/dist/react-ui/blocks/Terminal/parsing/LogParserService.js +478 -0
  139. package/dist/react-ui/blocks/Terminal/parsing/MultilineAggregator.d.ts +173 -0
  140. package/dist/react-ui/blocks/Terminal/parsing/MultilineAggregator.d.ts.map +1 -0
  141. package/dist/react-ui/blocks/Terminal/parsing/MultilineAggregator.js +313 -0
  142. package/dist/react-ui/blocks/Terminal/parsing/PersistentLogBuffer.d.ts +181 -0
  143. package/dist/react-ui/blocks/Terminal/parsing/PersistentLogBuffer.d.ts.map +1 -0
  144. package/dist/react-ui/blocks/Terminal/parsing/PersistentLogBuffer.js +221 -0
  145. package/dist/react-ui/blocks/Terminal/parsing/SyntaxHighlighter.d.ts +69 -0
  146. package/dist/react-ui/blocks/Terminal/parsing/SyntaxHighlighter.d.ts.map +1 -0
  147. package/dist/react-ui/blocks/Terminal/parsing/SyntaxHighlighter.js +142 -0
  148. package/dist/react-ui/blocks/Terminal/parsing/TableParser.d.ts +125 -0
  149. package/dist/react-ui/blocks/Terminal/parsing/TableParser.d.ts.map +1 -0
  150. package/dist/react-ui/blocks/Terminal/parsing/TableParser.js +245 -0
  151. package/dist/react-ui/blocks/Terminal/parsing/ansi/AnsiColorMapper.d.ts +165 -0
  152. package/dist/react-ui/blocks/Terminal/parsing/ansi/AnsiColorMapper.d.ts.map +1 -0
  153. package/dist/react-ui/blocks/Terminal/parsing/ansi/AnsiColorMapper.js +225 -0
  154. package/dist/react-ui/blocks/Terminal/parsing/ansi/AnsiParser.d.ts +164 -0
  155. package/dist/react-ui/blocks/Terminal/parsing/ansi/AnsiParser.d.ts.map +1 -0
  156. package/dist/react-ui/blocks/Terminal/parsing/ansi/AnsiParser.js +285 -0
  157. package/dist/react-ui/blocks/Terminal/parsing/ansi/ansi.constants.d.ts +188 -0
  158. package/dist/react-ui/blocks/Terminal/parsing/ansi/ansi.constants.d.ts.map +1 -0
  159. package/dist/react-ui/blocks/Terminal/parsing/ansi/ansi.constants.js +178 -0
  160. package/dist/react-ui/blocks/Terminal/parsing/ansi/index.d.ts +12 -0
  161. package/dist/react-ui/blocks/Terminal/parsing/ansi/index.d.ts.map +1 -0
  162. package/dist/react-ui/blocks/Terminal/parsing/index.d.ts +24 -0
  163. package/dist/react-ui/blocks/Terminal/parsing/index.d.ts.map +1 -0
  164. package/dist/react-ui/blocks/Terminal/parsing/levels/LogLevel.types.d.ts +56 -0
  165. package/dist/react-ui/blocks/Terminal/parsing/levels/LogLevel.types.d.ts.map +1 -0
  166. package/dist/react-ui/blocks/Terminal/parsing/levels/LogLevelDetector.d.ts +140 -0
  167. package/dist/react-ui/blocks/Terminal/parsing/levels/LogLevelDetector.d.ts.map +1 -0
  168. package/dist/react-ui/blocks/Terminal/parsing/levels/LogLevelDetector.js +325 -0
  169. package/dist/react-ui/blocks/Terminal/parsing/levels/index.d.ts +10 -0
  170. package/dist/react-ui/blocks/Terminal/parsing/levels/index.d.ts.map +1 -0
  171. package/dist/react-ui/blocks/index.d.ts +11 -0
  172. package/dist/react-ui/blocks/index.d.ts.map +1 -0
  173. package/dist/react-ui/icons/lucide-animated/activity.js +1 -1
  174. package/dist/react-ui/icons/lucide-animated/bell-electric.js +1 -1
  175. package/dist/react-ui/icons/lucide-animated/bell.js +1 -1
  176. package/dist/react-ui/icons/lucide-animated/bot.js +1 -1
  177. package/dist/react-ui/icons/lucide-animated/box.js +1 -1
  178. package/dist/react-ui/icons/lucide-animated/circle-check.js +1 -1
  179. package/dist/react-ui/icons/lucide-animated/delete.js +1 -1
  180. package/dist/react-ui/icons/lucide-animated/download.js +1 -1
  181. package/dist/react-ui/icons/lucide-animated/home.js +1 -1
  182. package/dist/react-ui/icons/lucide-animated/layout-panel-top.js +1 -1
  183. package/dist/react-ui/icons/lucide-animated/plus.js +1 -1
  184. package/dist/react-ui/icons/lucide-animated/search.js +1 -1
  185. package/dist/react-ui/icons/lucide-animated/settings.js +1 -1
  186. package/dist/react-ui/icons/lucide-animated/trending-down.js +1 -1
  187. package/dist/react-ui/icons/lucide-animated/trending-up.js +1 -1
  188. package/dist/react-ui/icons/lucide-animated/x.js +1 -1
  189. package/dist/react-ui/index.js +3 -1
  190. package/dist/react-ui/lib/icon-wrapper.d.ts +37 -0
  191. package/dist/react-ui/lib/icon-wrapper.d.ts.map +1 -0
  192. package/dist/react-ui/lib/icon-wrapper.js +55 -0
  193. package/dist/react-ui/lib/index.d.ts +1 -0
  194. package/dist/react-ui/lib/index.d.ts.map +1 -1
  195. package/dist/react-ui/lib/index.js +1 -0
  196. package/dist/react-ui/primitives/waapi/Morph/techniques/useCSSGridMorph.d.ts.map +1 -1
  197. package/dist/react-ui/primitives/waapi/Morph/techniques/useCSSGridMorph.js +2 -0
  198. package/dist/react-ui/primitives/waapi/Morph/techniques/useFLIPClipPath.d.ts.map +1 -1
  199. package/dist/react-ui/primitives/waapi/Morph/techniques/useFLIPClipPath.js +2 -0
  200. package/dist/react-ui/primitives/waapi/Morph/techniques/useViewTransitions.d.ts.map +1 -1
  201. package/dist/react-ui/primitives/waapi/Morph/techniques/useViewTransitions.js +2 -0
  202. package/dist/react-ui/primitives/waapi/Morph/useMorph.d.ts.map +1 -1
  203. package/dist/react-ui/primitives/waapi/Morph/useMorph.js +2 -0
  204. package/dist/react-ui/primitives/waapi/Reorder/useReorder.d.ts.map +1 -1
  205. package/dist/react-ui/primitives/waapi/Reorder/useReorder.js +2 -0
  206. package/dist/react-ui/primitives/waapi/Reorder/useReorderPresence.d.ts.map +1 -1
  207. package/dist/react-ui/primitives/waapi/Reorder/useReorderPresence.js +2 -0
  208. package/dist/react-ui/primitives/waapi/core/useAnimationOrchestrator.d.ts.map +1 -1
  209. package/dist/react-ui/primitives/waapi/core/useAnimationOrchestrator.js +2 -0
  210. package/dist/react-ui/primitives/waapi/core/useElementRegistry.d.ts.map +1 -1
  211. package/dist/react-ui/primitives/waapi/core/useElementRegistry.js +2 -0
  212. package/dist/react-ui/primitives/waapi/core/useFLIPAnimation.d.ts.map +1 -1
  213. package/dist/react-ui/primitives/waapi/core/useFLIPAnimation.js +2 -0
  214. package/dist/react-ui/primitives/waapi/core/usePositionCapture.d.ts.map +1 -1
  215. package/dist/react-ui/primitives/waapi/core/usePositionCapture.js +2 -0
  216. package/dist/react-ui/ui/Button/Button.styles.d.ts +1 -1
  217. package/dist/react-ui/ui/CornerBracket/CornerBracket.styles.d.ts +1 -1
  218. package/dist/react-ui/ui/CornerBracket/CornerBracket.styles.js +1 -1
  219. package/dist/react-ui/ui/InputGroup/index.d.ts.map +1 -1
  220. package/dist/react-ui/ui/InputGroup/index.js +2 -0
  221. package/dist/react-ui/ui/Tabs/Tabs.styles.d.ts +43 -25
  222. package/dist/react-ui/ui/Tabs/Tabs.styles.d.ts.map +1 -1
  223. package/dist/react-ui/ui/Tabs/Tabs.styles.js +105 -13
  224. package/dist/react-ui/ui/Tabs/Tabs.types.d.ts +6 -3
  225. package/dist/react-ui/ui/Tabs/Tabs.types.d.ts.map +1 -1
  226. package/dist/react-ui/ui/Tabs/index.d.ts +18 -9
  227. package/dist/react-ui/ui/Tabs/index.d.ts.map +1 -1
  228. package/dist/react-ui/ui/Tabs/index.js +99 -27
  229. package/dist/react-ui/ui/index.js +1 -0
  230. package/package.json +84 -29
  231. package/src/css.d.ts +6 -0
  232. package/src/react-ui/blocks/Terminal/ResttyAdapter.ts +278 -0
  233. package/src/react-ui/blocks/Terminal/Terminal.adapter.ts +97 -0
  234. package/src/react-ui/blocks/Terminal/Terminal.theme.restty.ts +155 -0
  235. package/src/react-ui/blocks/Terminal/Terminal.theme.ts +80 -0
  236. package/src/react-ui/blocks/Terminal/Terminal.types.ts +438 -0
  237. package/src/react-ui/blocks/Terminal/TerminalDisplay.styles.ts +38 -0
  238. package/src/react-ui/blocks/Terminal/TerminalDisplay.tsx +243 -0
  239. package/src/react-ui/blocks/Terminal/TerminalDisplay.types.ts +73 -0
  240. package/src/react-ui/blocks/Terminal/TerminalPanel.tsx +269 -0
  241. package/src/react-ui/blocks/Terminal/TerminalRestty.tsx +326 -0
  242. package/src/react-ui/blocks/Terminal/TerminalXterm.tsx +230 -0
  243. package/src/react-ui/blocks/Terminal/XTermAdapter.ts +163 -0
  244. package/src/react-ui/blocks/Terminal/chrome.ts +25 -0
  245. package/src/react-ui/blocks/Terminal/components/LogLineBadges.tsx +316 -0
  246. package/src/react-ui/blocks/Terminal/components/SpecializedSyntaxHighlighter.tsx +218 -0
  247. package/src/react-ui/blocks/Terminal/components/SyntaxHighlight.tsx +386 -0
  248. package/src/react-ui/blocks/Terminal/components/TerminalLogBadge.tsx +67 -0
  249. package/src/react-ui/blocks/Terminal/components/index.ts +10 -0
  250. package/src/react-ui/blocks/Terminal/display.ts +46 -0
  251. package/src/react-ui/blocks/Terminal/hooks/index.ts +22 -0
  252. package/src/react-ui/blocks/Terminal/hooks/useTerminalSettings.ts +229 -0
  253. package/src/react-ui/blocks/Terminal/hooks/useTerminalWebSocket.ts +292 -0
  254. package/src/react-ui/blocks/Terminal/index.ts +111 -0
  255. package/src/react-ui/blocks/Terminal/panel/LogLinesViewer.tsx +330 -0
  256. package/src/react-ui/blocks/Terminal/panel/TerminalDebugPanel.tsx +242 -0
  257. package/src/react-ui/blocks/Terminal/panel/TerminalFilterDropdown.tsx +202 -0
  258. package/src/react-ui/blocks/Terminal/panel/TerminalFilterTabs.tsx +140 -0
  259. package/src/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.tsx +68 -0
  260. package/src/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.types.ts +85 -0
  261. package/src/react-ui/blocks/Terminal/panel/TerminalInteractivePanelRestty.tsx +383 -0
  262. package/src/react-ui/blocks/Terminal/panel/TerminalInteractivePanelXterm.tsx +439 -0
  263. package/src/react-ui/blocks/Terminal/panel/TerminalLogsPanel.tsx +550 -0
  264. package/src/react-ui/blocks/Terminal/panel/TerminalLogsPanel.types.ts +259 -0
  265. package/src/react-ui/blocks/Terminal/panel/TerminalPanelChrome.styles.ts +75 -0
  266. package/src/react-ui/blocks/Terminal/panel/TerminalPanelChrome.tsx +266 -0
  267. package/src/react-ui/blocks/Terminal/panel/TerminalPanelChrome.types.ts +82 -0
  268. package/src/react-ui/blocks/Terminal/panel/TerminalPanelFooter.tsx +112 -0
  269. package/src/react-ui/blocks/Terminal/panel/TerminalPanelHeader.tsx +178 -0
  270. package/src/react-ui/blocks/Terminal/panel/TerminalPanelToolbar.tsx +203 -0
  271. package/src/react-ui/blocks/Terminal/panel/TerminalSessionControl.tsx +252 -0
  272. package/src/react-ui/blocks/Terminal/panel/TerminalSessionTabs.tsx +334 -0
  273. package/src/react-ui/blocks/Terminal/panel/TerminalSettingsPopover.tsx +261 -0
  274. package/src/react-ui/blocks/Terminal/panel/TerminalThemeSelector.tsx +248 -0
  275. package/src/react-ui/blocks/Terminal/panel/index.ts +72 -0
  276. package/src/react-ui/blocks/Terminal/panel/terminal-filter-dropdown.module.css +59 -0
  277. package/src/react-ui/blocks/Terminal/panel/terminal-session-tabs.module.css +59 -0
  278. package/src/react-ui/blocks/Terminal/parsing/BadgeFormatter.ts +180 -0
  279. package/src/react-ui/blocks/Terminal/parsing/HttpLogParser.ts +248 -0
  280. package/src/react-ui/blocks/Terminal/parsing/LogParser.types.ts +283 -0
  281. package/src/react-ui/blocks/Terminal/parsing/LogParserService.ts +686 -0
  282. package/src/react-ui/blocks/Terminal/parsing/MultilineAggregator.ts +466 -0
  283. package/src/react-ui/blocks/Terminal/parsing/PersistentLogBuffer.ts +343 -0
  284. package/src/react-ui/blocks/Terminal/parsing/SyntaxHighlighter.ts +167 -0
  285. package/src/react-ui/blocks/Terminal/parsing/TableParser.ts +348 -0
  286. package/src/react-ui/blocks/Terminal/parsing/ansi/AnsiColorMapper.ts +251 -0
  287. package/src/react-ui/blocks/Terminal/parsing/ansi/AnsiParser.ts +390 -0
  288. package/src/react-ui/blocks/Terminal/parsing/ansi/ansi.constants.ts +320 -0
  289. package/src/react-ui/blocks/Terminal/parsing/ansi/index.ts +20 -0
  290. package/src/react-ui/blocks/Terminal/parsing/index.ts +69 -0
  291. package/src/react-ui/blocks/Terminal/parsing/levels/LogLevel.types.ts +68 -0
  292. package/src/react-ui/blocks/Terminal/parsing/levels/LogLevelDetector.ts +436 -0
  293. package/src/react-ui/blocks/Terminal/parsing/levels/index.ts +14 -0
  294. package/src/react-ui/blocks/index.ts +11 -0
  295. package/src/react-ui/icons/lucide-animated/activity.tsx +2 -2
  296. package/src/react-ui/icons/lucide-animated/bell-electric.tsx +1 -1
  297. package/src/react-ui/icons/lucide-animated/bell.tsx +2 -2
  298. package/src/react-ui/icons/lucide-animated/bot.tsx +1 -1
  299. package/src/react-ui/icons/lucide-animated/box.tsx +2 -2
  300. package/src/react-ui/icons/lucide-animated/circle-check.tsx +2 -2
  301. package/src/react-ui/icons/lucide-animated/delete.tsx +2 -2
  302. package/src/react-ui/icons/lucide-animated/download.tsx +2 -2
  303. package/src/react-ui/icons/lucide-animated/home.tsx +2 -2
  304. package/src/react-ui/icons/lucide-animated/layout-panel-top.tsx +1 -1
  305. package/src/react-ui/icons/lucide-animated/plus.tsx +1 -1
  306. package/src/react-ui/icons/lucide-animated/search.tsx +1 -1
  307. package/src/react-ui/icons/lucide-animated/settings.tsx +1 -1
  308. package/src/react-ui/icons/lucide-animated/trending-down.tsx +2 -2
  309. package/src/react-ui/icons/lucide-animated/trending-up.tsx +2 -2
  310. package/src/react-ui/icons/lucide-animated/x.tsx +2 -2
  311. package/src/react-ui/lib/icon-wrapper.tsx +70 -0
  312. package/src/react-ui/lib/index.ts +1 -0
  313. package/src/react-ui/primitives/waapi/Morph/techniques/useCSSGridMorph.ts +1 -0
  314. package/src/react-ui/primitives/waapi/Morph/techniques/useFLIPClipPath.ts +1 -0
  315. package/src/react-ui/primitives/waapi/Morph/techniques/useViewTransitions.ts +1 -0
  316. package/src/react-ui/primitives/waapi/Morph/useMorph.ts +1 -0
  317. package/src/react-ui/primitives/waapi/Reorder/useReorder.ts +1 -0
  318. package/src/react-ui/primitives/waapi/Reorder/useReorderPresence.ts +1 -0
  319. package/src/react-ui/primitives/waapi/core/useAnimationOrchestrator.ts +1 -0
  320. package/src/react-ui/primitives/waapi/core/useElementRegistry.ts +1 -0
  321. package/src/react-ui/primitives/waapi/core/useFLIPAnimation.ts +1 -0
  322. package/src/react-ui/primitives/waapi/core/usePositionCapture.ts +1 -0
  323. package/src/react-ui/ui/Accordion/index.tsx +3 -3
  324. package/src/react-ui/ui/CornerBracket/CornerBracket.styles.ts +1 -1
  325. package/src/react-ui/ui/InputGroup/index.tsx +2 -0
  326. package/src/react-ui/ui/Tabs/Tabs.css +39 -0
  327. package/src/react-ui/ui/Tabs/Tabs.styles.ts +119 -31
  328. package/src/react-ui/ui/Tabs/Tabs.types.ts +8 -3
  329. package/src/react-ui/ui/Tabs/index.tsx +135 -27
@@ -0,0 +1,221 @@
1
+ //#region src/react-ui/blocks/Terminal/parsing/PersistentLogBuffer.ts
2
+ /**
3
+ * Persistent circular buffer for log entries.
4
+ *
5
+ * Features:
6
+ * - Circular buffer with automatic cleanup
7
+ * - Pagination support for large datasets
8
+ * - Search by pattern
9
+ * - Memory-efficient storage
10
+ * - Periodic cleanup to prevent memory leaks
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * const buffer = new PersistentLogBuffer({ maxSize: 50000 });
15
+ * buffer.append(entries);
16
+ * const page1 = buffer.getEntries({ offset: 0, limit: 100 });
17
+ * const results = buffer.search(/error/i);
18
+ * ```
19
+ */
20
+ var PersistentLogBuffer = class {
21
+ /** Internal storage for entries */
22
+ buffer = [];
23
+ /** Buffer configuration */
24
+ config;
25
+ /** Cleanup timer reference */
26
+ cleanupTimer;
27
+ /** Cleanup scheduled flag */
28
+ cleanupScheduled = false;
29
+ /**
30
+ * Create a new persistent log buffer.
31
+ *
32
+ * @param config - Buffer configuration
33
+ */
34
+ constructor(config = {}) {
35
+ this.config = {
36
+ maxSize: 5e4,
37
+ softLimit: 4e4,
38
+ cleanupBatch: 5e3,
39
+ cleanupInterval: 3e4,
40
+ ...config
41
+ };
42
+ this.startCleanupTimer();
43
+ }
44
+ /**
45
+ * Append entries to the buffer.
46
+ *
47
+ * If the buffer exceeds the soft limit, schedules a cleanup.
48
+ *
49
+ * @param entries - Entries to append
50
+ */
51
+ append(entries) {
52
+ if (entries.length === 0) return;
53
+ this.buffer.push(...entries);
54
+ if (this.buffer.length > this.config.softLimit && !this.cleanupScheduled) this.scheduleCleanup();
55
+ }
56
+ /**
57
+ * Prepend entries to the buffer (for loading historical logs).
58
+ *
59
+ * @param entries - Entries to prepend
60
+ */
61
+ prepend(entries) {
62
+ if (entries.length === 0) return;
63
+ this.buffer = [...entries, ...this.buffer];
64
+ if (this.buffer.length > this.config.maxSize) this.buffer = this.buffer.slice(0, this.config.maxSize);
65
+ }
66
+ /**
67
+ * Get entries from the buffer with pagination.
68
+ *
69
+ * @param options - Query options
70
+ * @returns Array of entries
71
+ */
72
+ getEntries(options = {}) {
73
+ let { offset = 0, limit, fromLine, toLine } = options;
74
+ let start = offset;
75
+ let end;
76
+ if (fromLine !== void 0) {
77
+ start = this.buffer.findIndex((e) => e.line_number >= fromLine);
78
+ if (start === -1) start = this.buffer.length;
79
+ }
80
+ if (toLine !== void 0) {
81
+ end = this.buffer.findIndex((e) => e.line_number > toLine);
82
+ if (end === -1) end = this.buffer.length;
83
+ }
84
+ if (limit !== void 0 && end === void 0) end = start + limit;
85
+ return this.buffer.slice(start, end);
86
+ }
87
+ /**
88
+ * Get all entries in the buffer.
89
+ *
90
+ * @returns All entries
91
+ */
92
+ getAllEntries() {
93
+ return this.buffer;
94
+ }
95
+ /**
96
+ * Get the total number of entries.
97
+ *
98
+ * @returns Entry count
99
+ */
100
+ getSize() {
101
+ return this.buffer.length;
102
+ }
103
+ /**
104
+ * Search entries by pattern.
105
+ *
106
+ * @param pattern - RegExp pattern or string to search
107
+ * @param options - Search options
108
+ * @returns Matching entries
109
+ */
110
+ search(pattern, options = {}) {
111
+ const { fromLine, limit = 100, caseInsensitive = true } = options;
112
+ const regex = typeof pattern === "string" ? new RegExp(pattern, caseInsensitive ? "i" : void 0) : pattern;
113
+ const results = [];
114
+ const start = fromLine !== void 0 ? this.buffer.findIndex((e) => e.line_number >= fromLine) : 0;
115
+ for (let i = start; i < this.buffer.length && results.length < limit; i++) {
116
+ const entry = this.buffer[i];
117
+ if (regex.test(entry.raw) || regex.test(entry.message ?? "")) results.push(entry);
118
+ }
119
+ return results;
120
+ }
121
+ /**
122
+ * Find entries by line number.
123
+ *
124
+ * @param lineNumbers - Array of line numbers to find
125
+ * @returns Matching entries
126
+ */
127
+ findByLineNumbers(lineNumbers) {
128
+ const lineSet = new Set(lineNumbers);
129
+ return this.buffer.filter((e) => lineSet.has(e.line_number));
130
+ }
131
+ /**
132
+ * Get entries filtered by log level.
133
+ *
134
+ * @param level - Log level to filter by
135
+ * @returns Filtered entries
136
+ */
137
+ getByLevel(level) {
138
+ return this.buffer.filter((e) => e.level === level);
139
+ }
140
+ /**
141
+ * Clear all entries from the buffer.
142
+ */
143
+ clear() {
144
+ this.buffer = [];
145
+ this.cleanupScheduled = false;
146
+ }
147
+ /**
148
+ * Get buffer statistics.
149
+ *
150
+ * @returns Buffer statistics
151
+ */
152
+ getStats() {
153
+ const size = this.buffer.length;
154
+ let memoryUsage = 0;
155
+ for (const entry of this.buffer) {
156
+ memoryUsage += entry.raw.length * 2;
157
+ if (entry.message) memoryUsage += entry.message.length * 2;
158
+ if (entry.formatted) memoryUsage += entry.formatted.length * 2;
159
+ }
160
+ return {
161
+ size,
162
+ maxSize: this.config.maxSize,
163
+ usage: size / this.config.maxSize,
164
+ firstLine: this.buffer[0]?.line_number,
165
+ lastLine: this.buffer[size - 1]?.line_number,
166
+ memoryUsage
167
+ };
168
+ }
169
+ /**
170
+ * Schedule a cleanup operation.
171
+ */
172
+ scheduleCleanup() {
173
+ if (this.cleanupScheduled) return;
174
+ this.cleanupScheduled = true;
175
+ setTimeout(() => this.cleanup(), 0);
176
+ }
177
+ /**
178
+ * Perform cleanup of old entries.
179
+ *
180
+ * Removes the oldest entries to keep the buffer within limits.
181
+ */
182
+ cleanup() {
183
+ if (this.buffer.length <= this.config.softLimit) {
184
+ this.cleanupScheduled = false;
185
+ return;
186
+ }
187
+ const toRemove = Math.min(this.buffer.length - this.config.softLimit, this.config.cleanupBatch);
188
+ this.buffer = this.buffer.slice(toRemove);
189
+ this.cleanupScheduled = false;
190
+ }
191
+ /**
192
+ * Start the periodic cleanup timer.
193
+ */
194
+ startCleanupTimer() {
195
+ this.cleanupTimer = setInterval(() => {
196
+ this.cleanup();
197
+ }, this.config.cleanupInterval);
198
+ }
199
+ /**
200
+ * Stop the cleanup timer and clear resources.
201
+ */
202
+ destroy() {
203
+ if (this.cleanupTimer) {
204
+ clearInterval(this.cleanupTimer);
205
+ this.cleanupTimer = void 0;
206
+ }
207
+ this.clear();
208
+ }
209
+ };
210
+ /**
211
+ * Create a new persistent log buffer with default configuration.
212
+ *
213
+ * @param config - Optional configuration overrides
214
+ * @returns New buffer instance
215
+ */
216
+ function createPersistentLogBuffer(config) {
217
+ return new PersistentLogBuffer(config);
218
+ }
219
+
220
+ //#endregion
221
+ export { PersistentLogBuffer, createPersistentLogBuffer };
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Syntax highlighter for log messages.
3
+ *
4
+ * Applies color highlighting to specific elements within log messages.
5
+ * Uses standard ANSI SGR codes compatible with xterm.js.
6
+ *
7
+ * IMPORTANT: Only highlights plain text - skips lines with existing ANSI codes
8
+ * to prevent mixing codes and creating visual artifacts.
9
+ *
10
+ * @module components/devenv/terminal/parsing/syntax
11
+ */
12
+ /**
13
+ * Syntax highlighter class.
14
+ *
15
+ * Applies syntax highlighting to plain text messages.
16
+ * Skips messages that already contain ANSI codes to prevent
17
+ * visual artifacts from mixed escape sequences.
18
+ *
19
+ * @example
20
+ * ```ts
21
+ * const highlighter = new SyntaxHighlighter();
22
+ * const highlighted = highlighter.highlight('GET /api/workspaces { filter: {} }');
23
+ * ```
24
+ */
25
+ export declare class SyntaxHighlighter {
26
+ /**
27
+ * Apply syntax highlighting to a message.
28
+ *
29
+ * Only processes plain text - messages with existing ANSI codes
30
+ * are returned unchanged to prevent visual artifacts.
31
+ *
32
+ * @param message - Message to highlight
33
+ * @returns Message with ANSI color codes applied, or original if already colored
34
+ */
35
+ highlight(message: string): string;
36
+ /**
37
+ * Highlight HTTP methods.
38
+ */
39
+ private highlightHttpMethods;
40
+ /**
41
+ * Highlight URL paths.
42
+ */
43
+ private highlightPaths;
44
+ /**
45
+ * Highlight braces and brackets.
46
+ */
47
+ private highlightBraces;
48
+ /**
49
+ * Highlight property keys.
50
+ */
51
+ private highlightKeys;
52
+ /**
53
+ * Highlight string values.
54
+ */
55
+ private highlightStrings;
56
+ /**
57
+ * Highlight numeric values.
58
+ */
59
+ private highlightNumbers;
60
+ /**
61
+ * Highlight boolean values.
62
+ */
63
+ private highlightBooleans;
64
+ /**
65
+ * Highlight null and undefined.
66
+ */
67
+ private highlightNullish;
68
+ }
69
+ //# sourceMappingURL=SyntaxHighlighter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyntaxHighlighter.d.ts","sourceRoot":"","sources":["../../../../../src/react-ui/blocks/Terminal/parsing/SyntaxHighlighter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA6CH;;;;;;;;;;;;GAYG;AACH,qBAAa,iBAAiB;IAC5B;;;;;;;;OAQG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAyBlC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAK5B;;OAEG;IACH,OAAO,CAAC,cAAc;IAKtB;;OAEG;IACH,OAAO,CAAC,eAAe;IAIvB;;OAEG;IACH,OAAO,CAAC,aAAa;IAMrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAKxB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAKxB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAKzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAIzB"}
@@ -0,0 +1,142 @@
1
+ //#region src/react-ui/blocks/Terminal/parsing/SyntaxHighlighter.ts
2
+ /**
3
+ * Syntax highlighter for log messages.
4
+ *
5
+ * Applies color highlighting to specific elements within log messages.
6
+ * Uses standard ANSI SGR codes compatible with xterm.js.
7
+ *
8
+ * IMPORTANT: Only highlights plain text - skips lines with existing ANSI codes
9
+ * to prevent mixing codes and creating visual artifacts.
10
+ *
11
+ * @module components/devenv/terminal/parsing/syntax
12
+ */
13
+ /**
14
+ * ANSI color codes for syntax highlighting.
15
+ *
16
+ * Uses standard SGR (Select Graphic Rendition) codes for compatibility.
17
+ */
18
+ const SYNTAX_COLORS = {
19
+ httpMethod: "\x1B[35m",
20
+ path: "\x1B[36m",
21
+ brace: "\x1B[33m",
22
+ key: "\x1B[32m",
23
+ string: "\x1B[92m",
24
+ number: "\x1B[93m",
25
+ boolean: "\x1B[34m",
26
+ nullish: "\x1B[90m",
27
+ reset: "\x1B[0m"
28
+ };
29
+ /**
30
+ * HTTP method patterns.
31
+ */
32
+ const HTTP_METHODS = [
33
+ "GET",
34
+ "POST",
35
+ "PUT",
36
+ "DELETE",
37
+ "PATCH",
38
+ "HEAD",
39
+ "OPTIONS",
40
+ "CONNECT",
41
+ "TRACE"
42
+ ];
43
+ /**
44
+ * Pattern to detect existing ANSI escape codes.
45
+ */
46
+ const ANSI_PATTERN = /\x1b\[[0-9;]*m/g;
47
+ /**
48
+ * Check if text contains ANSI escape codes.
49
+ */
50
+ function hasAnsiCodes(text) {
51
+ return ANSI_PATTERN.test(text);
52
+ }
53
+ /**
54
+ * Syntax highlighter class.
55
+ *
56
+ * Applies syntax highlighting to plain text messages.
57
+ * Skips messages that already contain ANSI codes to prevent
58
+ * visual artifacts from mixed escape sequences.
59
+ *
60
+ * @example
61
+ * ```ts
62
+ * const highlighter = new SyntaxHighlighter();
63
+ * const highlighted = highlighter.highlight('GET /api/workspaces { filter: {} }');
64
+ * ```
65
+ */
66
+ var SyntaxHighlighter = class {
67
+ /**
68
+ * Apply syntax highlighting to a message.
69
+ *
70
+ * Only processes plain text - messages with existing ANSI codes
71
+ * are returned unchanged to prevent visual artifacts.
72
+ *
73
+ * @param message - Message to highlight
74
+ * @returns Message with ANSI color codes applied, or original if already colored
75
+ */
76
+ highlight(message) {
77
+ if (!message || message.length === 0) return message;
78
+ if (hasAnsiCodes(message)) return message;
79
+ let result = message;
80
+ result = this.highlightStrings(result);
81
+ result = this.highlightNumbers(result);
82
+ result = this.highlightBooleans(result);
83
+ result = this.highlightNullish(result);
84
+ result = this.highlightKeys(result);
85
+ result = this.highlightPaths(result);
86
+ result = this.highlightHttpMethods(result);
87
+ result = this.highlightBraces(result);
88
+ return result;
89
+ }
90
+ /**
91
+ * Highlight HTTP methods.
92
+ */
93
+ highlightHttpMethods(text) {
94
+ const methodPattern = new RegExp(`\\b(${HTTP_METHODS.join("|")})\\b`, "g");
95
+ return text.replace(methodPattern, `${SYNTAX_COLORS.httpMethod}$1${SYNTAX_COLORS.reset}`);
96
+ }
97
+ /**
98
+ * Highlight URL paths.
99
+ */
100
+ highlightPaths(text) {
101
+ return text.replace(/(^|[\s(])\/[a-zA-Z0-9_/-]+/g, `$1${SYNTAX_COLORS.path}$2${SYNTAX_COLORS.reset}`);
102
+ }
103
+ /**
104
+ * Highlight braces and brackets.
105
+ */
106
+ highlightBraces(text) {
107
+ return text.replace(/([{}[\]])/g, `${SYNTAX_COLORS.brace}$1${SYNTAX_COLORS.reset}`);
108
+ }
109
+ /**
110
+ * Highlight property keys.
111
+ */
112
+ highlightKeys(text) {
113
+ return text.replace(/(^|[\s])([a-zA-Z_][a-zA-Z0-9_]*)(\s*:)/g, `$1${SYNTAX_COLORS.key}$2${SYNTAX_COLORS.reset}$3`);
114
+ }
115
+ /**
116
+ * Highlight string values.
117
+ */
118
+ highlightStrings(text) {
119
+ return text.replace(/([:=,]\s*)(['"])(.*?)\2/g, `$1${SYNTAX_COLORS.string}$2$3$2${SYNTAX_COLORS.reset}`);
120
+ }
121
+ /**
122
+ * Highlight numeric values.
123
+ */
124
+ highlightNumbers(text) {
125
+ return text.replace(/(?<!\w)(-?\d+(?:\.\d+)?)(?!\w)/g, `${SYNTAX_COLORS.number}$1${SYNTAX_COLORS.reset}`);
126
+ }
127
+ /**
128
+ * Highlight boolean values.
129
+ */
130
+ highlightBooleans(text) {
131
+ return text.replace(/\b(true|false)\b/g, `${SYNTAX_COLORS.boolean}$1${SYNTAX_COLORS.reset}`);
132
+ }
133
+ /**
134
+ * Highlight null and undefined.
135
+ */
136
+ highlightNullish(text) {
137
+ return text.replace(/\b(null|undefined)\b/g, `${SYNTAX_COLORS.nullish}$1${SYNTAX_COLORS.reset}`);
138
+ }
139
+ };
140
+
141
+ //#endregion
142
+ export { SyntaxHighlighter };
@@ -0,0 +1,125 @@
1
+ /**
2
+ * Table parser for box-drawing character tables.
3
+ *
4
+ * Detects and parses tables created with box-drawing characters
5
+ * (├─│└┌) commonly found in CLI output.
6
+ *
7
+ * @module components/devenv/terminal/parsing/TableParser
8
+ */
9
+ import type { IParsedLogEntry } from './LogParser.types';
10
+ /**
11
+ * Box-drawing characters used for table borders.
12
+ * Unicode range: U+2500-U+257F
13
+ */
14
+ export declare const TABLE_CHARS: readonly ["─", "│", "┌", "┐", "└", "┘", "├", "┤", "┬", "┴", "┼", "═", "║", "╔", "╗", "╚", "╝", "╠", "╣", "╦", "╩", "╬", "╒", "╓", "╕", "╖", "╘", "╙", "╛", "╜", "╢", "╡", "╤", "╧", "╟", "╞", "╡", "╢", "╪", "╫"];
15
+ /**
16
+ * Table row type.
17
+ */
18
+ export type TTableRowType = 'top' | 'header' | 'separator' | 'data' | 'bottom' | 'unknown';
19
+ /**
20
+ * Parsed table row.
21
+ */
22
+ export interface ITableRow {
23
+ /** Raw line */
24
+ raw: string;
25
+ /** Row type */
26
+ type: TTableRowType;
27
+ /** Cells extracted from the row (for data rows) */
28
+ cells?: string[];
29
+ /** Line number */
30
+ lineNumber: number;
31
+ }
32
+ /**
33
+ * Parsed table data.
34
+ */
35
+ export interface ITableData {
36
+ /** All rows in the table */
37
+ rows: ITableRow[];
38
+ /** Number of columns */
39
+ columnCount: number;
40
+ /** Header row if present */
41
+ headers?: string[];
42
+ /** Data rows (excluding borders) */
43
+ dataRows: string[][];
44
+ /** Line number of first row */
45
+ startLine: number;
46
+ /** Line number of last row */
47
+ endLine: number;
48
+ }
49
+ /**
50
+ * Table parser class.
51
+ *
52
+ * Detects and parses tables created with box-drawing characters.
53
+ * Groups consecutive table lines and extracts cell data.
54
+ *
55
+ * @example
56
+ * ```ts
57
+ * const parser = new TableParser();
58
+ * const isTable = parser.isTableLine('├──────────┼──────────┤');
59
+ * const table = parser.parseTable(lines);
60
+ * ```
61
+ */
62
+ export declare class TableParser {
63
+ /** Minimum box-drawing characters to consider a line a table */
64
+ private readonly MIN_TABLE_CHARS;
65
+ /**
66
+ * Check if a line is a table line.
67
+ *
68
+ * A line is considered a table line if it contains multiple
69
+ * box-drawing characters.
70
+ *
71
+ * @param line - Line to check
72
+ * @returns true if line is part of a table
73
+ */
74
+ isTableLine(line: string): boolean;
75
+ /**
76
+ * Determine the type of a table row.
77
+ *
78
+ * @param line - Table row line
79
+ * @returns Row type
80
+ */
81
+ getRowType(line: string): TTableRowType;
82
+ /**
83
+ * Extract cells from a table row.
84
+ *
85
+ * Splits the row by │ characters and trims each cell.
86
+ *
87
+ * @param line - Table row line
88
+ * @returns Array of cell contents
89
+ */
90
+ extractCells(line: string): string[];
91
+ /**
92
+ * Parse a complete table from an array of lines.
93
+ *
94
+ * Groups consecutive table lines and extracts structured data.
95
+ *
96
+ * @param lines - Array of table lines
97
+ * @param startLine - Starting line number
98
+ * @returns Parsed table data
99
+ */
100
+ parseTable(lines: string[], startLine: number): ITableData;
101
+ /**
102
+ * Parse table entries from a log stream.
103
+ *
104
+ * Scans through lines, grouping table lines into entries.
105
+ *
106
+ * @param lines - Array of log lines
107
+ * @param startLine - Starting line number
108
+ * @returns Array of parsed log entries
109
+ */
110
+ parseTableEntries(lines: string[], startLine: number): IParsedLogEntry[];
111
+ /**
112
+ * Get CSS class for a table row type.
113
+ *
114
+ * @param type - Row type
115
+ * @returns CSS class string
116
+ */
117
+ getRowClass(type: TTableRowType): string;
118
+ }
119
+ /**
120
+ * Create a new table parser instance.
121
+ *
122
+ * @returns New TableParser instance
123
+ */
124
+ export declare function createTableParser(): TableParser;
125
+ //# sourceMappingURL=TableParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableParser.d.ts","sourceRoot":"","sources":["../../../../../src/react-ui/blocks/Terminal/parsing/TableParser.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;;GAGG;AACH,eAAO,MAAM,WAAW,mNAQd,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,QAAQ,GAAG,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE3F;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,eAAe;IACf,GAAG,EAAE,MAAM,CAAC;IAEZ,eAAe;IACf,IAAI,EAAE,aAAa,CAAC;IAEpB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjB,kBAAkB;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,4BAA4B;IAC5B,IAAI,EAAE,SAAS,EAAE,CAAC;IAElB,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAC;IAEpB,4BAA4B;IAC5B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,oCAAoC;IACpC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC;IAErB,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAC;IAElB,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,WAAW;IACtB,gEAAgE;IAChE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAK;IAErC;;;;;;;;OAQG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAelC;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAoCvC;;;;;;;OAOG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAQpC;;;;;;;;OAQG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU;IAwC1D;;;;;;;;OAQG;IACH,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,eAAe,EAAE;IA0FxE;;;;;OAKG;IACH,WAAW,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM;CAezC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,WAAW,CAE/C"}