@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
+ /**
2
+ * Log parser types for terminal log processing.
3
+ *
4
+ * Provides interfaces and types for parsing raw log strings into
5
+ * structured, formatted output with ANSI colorization, log level detection,
6
+ * timestamp extraction, and structured data handling.
7
+ *
8
+ * @module components/devenv/terminal/parsing/types
9
+ */
10
+ /**
11
+ * Log level enumeration matching common logging frameworks.
12
+ *
13
+ * Ordered from least to most severe for filtering operations.
14
+ * Maps to Synthwave design system colors:
15
+ * - trace: gray (hsl(240, 10%, 50%))
16
+ * - debug: cyan (hsl(190, 100%, 50%))
17
+ * - info: blue (hsl(210, 100%, 60%))
18
+ * - warn: yellow (hsl(45, 100%, 50%))
19
+ * - error: red (hsl(350, 100%, 63%))
20
+ * - fatal: magenta (hsl(330, 85%, 43%))
21
+ */
22
+ export type TLogLevel = 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'fatal' | 'unknown';
23
+ /**
24
+ * Content type for specialized syntax highlighting.
25
+ */
26
+ export type TContentType = 'plain' | 'http' | 'json' | 'table' | 'error';
27
+ /**
28
+ * Filter type for log level filtering.
29
+ *
30
+ * Extends TLogLevel to include 'all' for showing all logs.
31
+ */
32
+ export type TLogLevelFilter = TLogLevel | 'all';
33
+ /**
34
+ * Parsed log entry representing a single line from a log stream.
35
+ *
36
+ * Contains the original raw text along with parsed metadata including
37
+ * formatted text with ANSI codes, detected log level, timestamp, and
38
+ * any structured data extracted from JSON logs.
39
+ */
40
+ export interface IParsedLogEntry {
41
+ /** Original raw text from log stream */
42
+ raw: string;
43
+ /** Parsed and formatted text with ANSI escape codes for xterm.js */
44
+ formatted: string;
45
+ /** Detected log level based on pattern matching */
46
+ level: TLogLevel;
47
+ /** ISO 8601 timestamp if present in the log line */
48
+ timestamp?: string;
49
+ /** Display-formatted timestamp (time, date, or relative) */
50
+ timestamp_display?: string;
51
+ /** Line number in the stream (1-indexed) */
52
+ line_number: number;
53
+ /** Whether this line is from stderr (vs stdout) */
54
+ is_stderr: boolean;
55
+ /** Structured data if log line contains valid JSON */
56
+ structured?: Record<string, unknown>;
57
+ /** Detected components/tags (e.g., ⦗COMPONENT⦘ ⦗LOGSROUTES⦘) */
58
+ tags?: string[];
59
+ /** Message content after removing metadata */
60
+ message?: string;
61
+ /** Whether this line is a continuation of a multiline JSON/structured entry */
62
+ is_continuation?: boolean;
63
+ /** Line number of parent entry if this is a continuation line */
64
+ parent_line_number?: number;
65
+ /** Content type for specialized syntax highlighting */
66
+ content_type?: TContentType;
67
+ /** HTTP method if this is an HTTP request line */
68
+ http_method?: string;
69
+ /** HTTP path if this is an HTTP request line */
70
+ http_path?: string;
71
+ /** Table data if this is part of a table */
72
+ table_data?: unknown;
73
+ }
74
+ /**
75
+ * Parser state for incremental parsing of streaming logs.
76
+ *
77
+ * Maintains buffer and context between chunks for proper
78
+ * multiline log aggregation.
79
+ */
80
+ export interface IParserState {
81
+ /** Incomplete multiline log buffer */
82
+ buffer: string;
83
+ /** Current line number (continues across chunks) */
84
+ line_number: number;
85
+ /** Last detected level (for multiline continuation) */
86
+ last_level: TLogLevel;
87
+ /** Last detected timestamp (for multiline continuation) */
88
+ last_timestamp?: string;
89
+ /** Multiline aggregation state (persists across chunks) */
90
+ multiline_state?: {
91
+ /** Whether currently in multiline mode */
92
+ isMultiline: boolean;
93
+ /** Parent entry for continuation lines */
94
+ parentEntry?: {
95
+ line_number: number;
96
+ level: TLogLevel;
97
+ };
98
+ /** Current depth of nested braces/brackets */
99
+ depth: number;
100
+ /** Expected closing character */
101
+ expectedClose?: '}' | ']';
102
+ };
103
+ }
104
+ /**
105
+ * ANSI style information extracted from escape codes.
106
+ *
107
+ * Represents parsed ANSI SGR (Select Graphic Rendition) sequences
108
+ * for color and text styling.
109
+ */
110
+ export interface IAnsiStyle {
111
+ /** Foreground color code (30-37, 90-97) or undefined */
112
+ fg_color?: number;
113
+ /** Background color code (40-47, 100-107) or undefined */
114
+ bg_color?: number;
115
+ /** Text modifiers: bold, dim, italic, underline, blink, inverse, hidden */
116
+ modifiers: string[];
117
+ /** Index in the styles array (for tracking order) */
118
+ index?: number;
119
+ }
120
+ /**
121
+ * ANSI parse result with converted text and extracted styles.
122
+ *
123
+ * Result of parsing ANSI escape codes from a text string.
124
+ */
125
+ export interface IAnsiParseResult {
126
+ /** Text with ANSI codes converted to xterm.js format */
127
+ text: string;
128
+ /** Detected styles (for potential CSS mapping) */
129
+ styles: IAnsiStyle[];
130
+ }
131
+ /**
132
+ * Log level detection result with confidence scoring.
133
+ *
134
+ * Provides the detected level along with metadata about
135
+ * the match for filtering and display purposes.
136
+ */
137
+ export interface ILogLevelDetection {
138
+ /** Detected log level */
139
+ level: TLogLevel;
140
+ /** Confidence score (0-1, higher = more certain) */
141
+ confidence: number;
142
+ /** Matched string that triggered the detection */
143
+ matched: string;
144
+ /** Position of match in the string (0-indexed) */
145
+ position: number;
146
+ }
147
+ /**
148
+ * Log parser options for customization.
149
+ *
150
+ * Configuration options for the LogParserService to customize
151
+ * parsing behavior for different log formats.
152
+ */
153
+ export interface ILogParserOptions {
154
+ /** Enable ANSI escape code parsing (default: true) */
155
+ enable_ansi?: boolean;
156
+ /** Timestamp format for display (default: 'time') */
157
+ timestamp_format?: 'full' | 'time' | 'relative' | 'none';
158
+ /** Custom log level pattern overrides */
159
+ level_patterns?: Partial<Record<TLogLevel, RegExp>>;
160
+ /** Whether to detect and parse JSON structured logs (default: true) */
161
+ enable_structured?: boolean;
162
+ /** Whether to extract tags from log lines (default: true) */
163
+ enable_tags?: boolean;
164
+ /** Maximum line length before truncation (default: 10000) */
165
+ max_line_length?: number;
166
+ }
167
+ /**
168
+ * Log filter options for filtering parsed entries.
169
+ *
170
+ * Options for filtering log entries by level, time range, or content.
171
+ */
172
+ export interface ILogFilterOptions {
173
+ /** Minimum log level to include (trace is most permissive) */
174
+ min_level?: TLogLevel;
175
+ /** Only include logs after this timestamp (ISO string) */
176
+ after?: string;
177
+ /** Only include logs before this timestamp (ISO string) */
178
+ before?: string;
179
+ /** Only include logs matching this regex pattern */
180
+ pattern?: RegExp;
181
+ /** Only include logs from stderr (if true) or stdout (if false) */
182
+ stderr_only?: boolean;
183
+ /** Only include logs containing specific tags */
184
+ tags?: string[];
185
+ }
186
+ /**
187
+ * Timestamp format options for display.
188
+ */
189
+ export type TTimestampFormat = 'full' | 'time' | 'relative' | 'none';
190
+ /**
191
+ * Log statistics for a collection of entries.
192
+ *
193
+ * Aggregate statistics about log entries for display in
194
+ * status bars and footers.
195
+ */
196
+ export interface ILogStats {
197
+ /** Total number of log entries */
198
+ total: number;
199
+ /** Count per log level */
200
+ by_level: Partial<Record<TLogLevel, number>>;
201
+ /** Total bytes (raw text size) */
202
+ bytes: number;
203
+ /** Earliest timestamp (ISO string) */
204
+ earliest?: string;
205
+ /** Latest timestamp (ISO string) */
206
+ latest?: string;
207
+ }
208
+ /**
209
+ * Log export options for downloading logs.
210
+ */
211
+ export interface ILogExportOptions {
212
+ /** Format for export */
213
+ format: 'raw' | 'json' | 'csv';
214
+ /** Whether to include ANSI codes in raw export */
215
+ include_ansi?: boolean;
216
+ /** Filter options to apply before export */
217
+ filter?: ILogFilterOptions;
218
+ /** Filename for download (without extension) */
219
+ filename?: string;
220
+ }
221
+ //# sourceMappingURL=LogParser.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogParser.types.d.ts","sourceRoot":"","sources":["../../../../../src/react-ui/blocks/Terminal/parsing/LogParser.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,184 @@
1
+ /**
2
+ * Log parser service for terminal log processing.
3
+ *
4
+ * Main service that combines ANSI parsing, log level detection,
5
+ * timestamp extraction, and structured log handling into a
6
+ * unified API for processing log streams.
7
+ *
8
+ * @module components/devenv/terminal/parsing/service
9
+ */
10
+ import type { IParsedLogEntry, IParserState, ILogParserOptions, ILogFilterOptions, ILogStats } from './LogParser.types';
11
+ /**
12
+ * Log parser service class.
13
+ *
14
+ * Provides unified API for parsing log text with ANSI colorization,
15
+ * log level detection, timestamp extraction, and structured data handling.
16
+ *
17
+ * @example
18
+ * ```ts
19
+ * const parser = new LogParserService();
20
+ * const entry = parser.parseLine('2026-02-05T21:35:28.944Z INFO ⦗API⦘ Message');
21
+ * // entry.level = 'info'
22
+ * // entry.timestamp = '2026-02-05T21:35:28.944Z'
23
+ * // entry.tags = ['API']
24
+ * ```
25
+ */
26
+ export declare class LogParserService {
27
+ /** ANSI parser instance */
28
+ private ansiParser;
29
+ /** Log level detector instance */
30
+ private levelDetector;
31
+ /** Badge formatter instance */
32
+ private badgeFormatter;
33
+ /** Multiline aggregator instance */
34
+ private multilineAggregator;
35
+ /** Parser options */
36
+ private options;
37
+ /**
38
+ * Create a new log parser service.
39
+ *
40
+ * @param options - Parser configuration options
41
+ */
42
+ constructor(options?: ILogParserOptions);
43
+ /**
44
+ * Parse a single log line into structured entry.
45
+ *
46
+ * @param line - Raw log line
47
+ * @param lineNumber - Line number in stream
48
+ * @param isStderr - Whether this is from stderr
49
+ * @returns Parsed log entry
50
+ */
51
+ parseLine(line: string, lineNumber: number, isStderr?: boolean): IParsedLogEntry;
52
+ /**
53
+ * Parse multiple lines (batch processing).
54
+ *
55
+ * @param lines - Array of raw log lines
56
+ * @param startNumber - Starting line number (default: 1)
57
+ * @returns Array of parsed log entries
58
+ */
59
+ parseLines(lines: string[], startNumber?: number): IParsedLogEntry[];
60
+ /**
61
+ * Parse logs with incremental state (for streaming).
62
+ *
63
+ * Maintains state between chunks for proper multiline log
64
+ * aggregation and line numbering. Applies multiline aggregation
65
+ * to mark continuation lines.
66
+ *
67
+ * @param chunk - New log chunk
68
+ * @param prevState - Previous parser state
69
+ * @returns Parsed entries and new state
70
+ */
71
+ parseIncremental(chunk: string, prevState: IParserState): {
72
+ entries: IParsedLogEntry[];
73
+ newState: IParserState;
74
+ };
75
+ /**
76
+ * Format log entry for xterm.js display.
77
+ *
78
+ * Supports two modes:
79
+ *
80
+ * **'raw' mode (default for terminal):**
81
+ * - Returns the log AS-IS without modifications
82
+ * - Preserves original ANSI codes from the source (bun, supervisord, etc.)
83
+ * - No badges, no formatting, just the raw log line
84
+ * - Prevents ANSI mixing artifacts and visible escape codes
85
+ *
86
+ * **'parsed' mode (for React viewer):**
87
+ * - Strips ANSI codes first
88
+ * - Adds level badge, tag badges, timestamp badge
89
+ * - Formats message content for React display
90
+ * - Continuation lines get indented
91
+ *
92
+ * @param entry - Parsed log entry
93
+ * @param mode - Format mode: 'raw' (default) or 'parsed'
94
+ * @returns Formatted string for xterm.js or React viewer
95
+ */
96
+ formatForTerminal(entry: IParsedLogEntry, mode?: 'raw' | 'parsed'): string;
97
+ /**
98
+ * Check if line contains structured data (JSON).
99
+ *
100
+ * @param line - Log line to check
101
+ * @returns true if line contains valid JSON
102
+ */
103
+ isStructured(line: string): boolean;
104
+ /**
105
+ * Filter log entries by criteria.
106
+ *
107
+ * @param entries - Array of parsed log entries
108
+ * @param filter - Filter options
109
+ * @returns Filtered array of entries
110
+ */
111
+ filter(entries: IParsedLogEntry[], filter: ILogFilterOptions): IParsedLogEntry[];
112
+ /**
113
+ * Calculate statistics for log entries.
114
+ *
115
+ * @param entries - Array of parsed log entries
116
+ * @returns Log statistics
117
+ */
118
+ calculateStats(entries: IParsedLogEntry[]): ILogStats;
119
+ /**
120
+ * Create initial parser state.
121
+ *
122
+ * @returns Fresh parser state for incremental parsing
123
+ */
124
+ createInitialState(): IParserState;
125
+ /**
126
+ * Extract timestamp from log line.
127
+ *
128
+ * Handles multiple timestamp formats including:
129
+ * - Double timestamp (ISO + time): 2026-02-05T22:41:05.372Z 22:41:05.372
130
+ * - Supervisord: 2026-02-05 22:22:38,372
131
+ * - Unix milliseconds: [1770328479225]
132
+ *
133
+ * @param line - Log line
134
+ * @returns ISO timestamp string or undefined
135
+ * @private
136
+ */
137
+ private extractTimestamp;
138
+ /**
139
+ * Format timestamp for display.
140
+ *
141
+ * @param timestamp - ISO timestamp
142
+ * @returns Formatted timestamp string
143
+ * @private
144
+ */
145
+ private formatTimestamp;
146
+ /**
147
+ * Extract tags from log line.
148
+ *
149
+ * @param line - Log line
150
+ * @returns Array of extracted tags
151
+ * @private
152
+ */
153
+ private extractTags;
154
+ /**
155
+ * Extract message content from log line.
156
+ *
157
+ * Removes ALL metadata including timestamps, levels, tags, and source locations
158
+ * to return only the clean message content.
159
+ *
160
+ * @param line - Log line
161
+ * @param _timestamp - Extracted timestamp (unused, kept for API compatibility)
162
+ * @param _levelMatch - Level match string (unused, kept for API compatibility)
163
+ * @returns Message content
164
+ * @private
165
+ */
166
+ private extractMessage;
167
+ /**
168
+ * Parse structured data (JSON) from log line.
169
+ *
170
+ * @param line - Log line
171
+ * @returns Parsed object or undefined
172
+ * @private
173
+ */
174
+ private parseStructured;
175
+ /**
176
+ * Get ANSI color code for log level.
177
+ *
178
+ * @param level - Log level
179
+ * @returns ANSI SGR color code
180
+ * @private
181
+ */
182
+ private _getAnsiColorForLevel;
183
+ }
184
+ //# sourceMappingURL=LogParserService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogParserService.d.ts","sourceRoot":"","sources":["../../../../../src/react-ui/blocks/Terminal/parsing/LogParserService.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,EAEV,MAAM,mBAAmB,CAAC;AAsD3B;;;;;;;;;;;;;;GAcG;AACH,qBAAa,gBAAgB;IAC3B,2BAA2B;IAC3B,OAAO,CAAC,UAAU,CAAa;IAE/B,kCAAkC;IAClC,OAAO,CAAC,aAAa,CAAmB;IAExC,+BAA+B;IAC/B,OAAO,CAAC,cAAc,CAAiB;IAEvC,oCAAoC;IACpC,OAAO,CAAC,mBAAmB,CAAsB;IAEjD,qBAAqB;IACrB,OAAO,CAAC,OAAO,CAA8B;IAE7C;;;;OAIG;gBACS,OAAO,GAAE,iBAAsB;IA6B3C;;;;;;;OAOG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,UAAQ,GAAG,eAAe;IAsD9E;;;;;;OAMG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,WAAW,SAAI,GAAG,eAAe,EAAE;IAI/D;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,GAAG;QAAE,OAAO,EAAE,eAAe,EAAE,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE;IAmDhH;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,iBAAiB,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,GAAE,KAAK,GAAG,QAAgB,GAAG,MAAM;IA8CjF;;;;;OAKG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAanC;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,MAAM,EAAE,iBAAiB,GAAG,eAAe,EAAE;IAqChF;;;;;OAKG;IACH,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,SAAS;IAkCrD;;;;OAIG;IACH,kBAAkB,IAAI,YAAY;IAUlC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,gBAAgB;IAmBxB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IA6BvB;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IA2CnB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,cAAc;IAyDtB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAYvB;;;;;;OAMG;IAEH,OAAO,CAAC,qBAAqB;CAY9B"}