@navios/commander-tui 1.3.0 → 1.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 (240) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/{src/__tests__/mocks/scm-mock.ts → dist/base/src/__tests__/mocks/scm-mock.d.ts} +3 -1
  3. package/dist/base/src/__tests__/mocks/scm-mock.d.ts.map +1 -0
  4. package/dist/base/src/__tests__/setup.d.ts +2 -0
  5. package/dist/base/src/__tests__/setup.d.ts.map +1 -0
  6. package/dist/base/src/__tests__/utils/factories.d.ts +67 -0
  7. package/dist/base/src/__tests__/utils/factories.d.ts.map +1 -0
  8. package/dist/base/src/__tests__/utils/render-utils.d.ts +21 -0
  9. package/dist/base/src/__tests__/utils/render-utils.d.ts.map +1 -0
  10. package/dist/base/src/__tests__/utils/test-container.d.ts +20 -0
  11. package/dist/base/src/__tests__/utils/test-container.d.ts.map +1 -0
  12. package/dist/base/src/adapters/interface.d.ts +9 -2
  13. package/dist/base/src/adapters/interface.d.ts.map +1 -1
  14. package/dist/base/src/overrides/missing-adapter.override.d.ts +10 -0
  15. package/dist/base/src/overrides/missing-adapter.override.d.ts.map +1 -1
  16. package/dist/base/src/schemas/logger-options.d.ts +1 -1
  17. package/dist/base/src/services/index.d.ts +1 -0
  18. package/dist/base/src/services/index.d.ts.map +1 -1
  19. package/dist/base/src/services/logger.d.ts.map +1 -1
  20. package/dist/base/src/services/readline_prompt.d.ts +27 -0
  21. package/dist/base/src/services/readline_prompt.d.ts.map +1 -0
  22. package/dist/base/src/services/screen.d.ts +14 -8
  23. package/dist/base/src/services/screen.d.ts.map +1 -1
  24. package/dist/base/src/services/screen_manager.d.ts +62 -12
  25. package/dist/base/src/services/screen_manager.d.ts.map +1 -1
  26. package/dist/base/src/types/events.types.d.ts +40 -0
  27. package/dist/base/src/types/events.types.d.ts.map +1 -0
  28. package/dist/base/src/types/index.d.ts +1 -0
  29. package/dist/base/src/types/index.d.ts.map +1 -1
  30. package/dist/base/src/types/screen.types.d.ts +28 -0
  31. package/dist/base/src/types/screen.types.d.ts.map +1 -1
  32. package/dist/base/src/utils/colors/helpers.d.ts +0 -16
  33. package/dist/base/src/utils/colors/helpers.d.ts.map +1 -1
  34. package/dist/base/src/utils/index.d.ts +2 -0
  35. package/dist/base/src/utils/index.d.ts.map +1 -1
  36. package/dist/base/src/utils/prompt.d.ts +7 -0
  37. package/dist/base/src/utils/prompt.d.ts.map +1 -0
  38. package/dist/base/src/utils/runtime.d.ts +10 -0
  39. package/dist/base/src/utils/runtime.d.ts.map +1 -0
  40. package/dist/base/src/utils/stdout-printer.d.ts +5 -0
  41. package/dist/base/src/utils/stdout-printer.d.ts.map +1 -1
  42. package/dist/base/tsconfig.base.tsbuildinfo +1 -1
  43. package/dist/base/tsconfig.tsbuildinfo +1 -0
  44. package/dist/ink/src/adapters/ink/components/file/file_log.d.ts +28 -0
  45. package/dist/ink/src/adapters/ink/components/file/file_log.d.ts.map +1 -0
  46. package/dist/ink/src/adapters/ink/components/file/index.d.ts +2 -0
  47. package/dist/ink/src/adapters/ink/components/file/index.d.ts.map +1 -0
  48. package/dist/ink/src/adapters/ink/components/filter/filter_bar.d.ts +7 -0
  49. package/dist/ink/src/adapters/ink/components/filter/filter_bar.d.ts.map +1 -0
  50. package/dist/ink/src/adapters/ink/components/filter/index.d.ts +2 -0
  51. package/dist/ink/src/adapters/ink/components/filter/index.d.ts.map +1 -0
  52. package/dist/ink/src/adapters/ink/components/help/help_overlay.d.ts +6 -0
  53. package/dist/ink/src/adapters/ink/components/help/help_overlay.d.ts.map +1 -0
  54. package/dist/ink/src/adapters/ink/components/help/index.d.ts +2 -0
  55. package/dist/ink/src/adapters/ink/components/help/index.d.ts.map +1 -0
  56. package/dist/ink/src/adapters/ink/components/index.d.ts +9 -0
  57. package/dist/ink/src/adapters/ink/components/index.d.ts.map +1 -0
  58. package/dist/ink/src/adapters/ink/components/log/index.d.ts +2 -0
  59. package/dist/ink/src/adapters/ink/components/log/index.d.ts.map +1 -0
  60. package/dist/ink/src/adapters/ink/components/log/log_message.d.ts +15 -0
  61. package/dist/ink/src/adapters/ink/components/log/log_message.d.ts.map +1 -0
  62. package/dist/ink/src/adapters/ink/components/prompt/index.d.ts +2 -0
  63. package/dist/ink/src/adapters/ink/components/prompt/index.d.ts.map +1 -0
  64. package/dist/ink/src/adapters/ink/components/prompt/prompt_renderer.d.ts +6 -0
  65. package/dist/ink/src/adapters/ink/components/prompt/prompt_renderer.d.ts.map +1 -0
  66. package/dist/ink/src/adapters/ink/components/screen/group_renderer.d.ts +14 -0
  67. package/dist/ink/src/adapters/ink/components/screen/group_renderer.d.ts.map +1 -0
  68. package/dist/ink/src/adapters/ink/components/screen/index.d.ts +7 -0
  69. package/dist/ink/src/adapters/ink/components/screen/index.d.ts.map +1 -0
  70. package/dist/ink/src/adapters/ink/components/screen/loading_message.d.ts +6 -0
  71. package/dist/ink/src/adapters/ink/components/screen/loading_message.d.ts.map +1 -0
  72. package/dist/ink/src/adapters/ink/components/screen/message_renderer.d.ts +6 -0
  73. package/dist/ink/src/adapters/ink/components/screen/message_renderer.d.ts.map +1 -0
  74. package/dist/ink/src/adapters/ink/components/screen/progress_message.d.ts +6 -0
  75. package/dist/ink/src/adapters/ink/components/screen/progress_message.d.ts.map +1 -0
  76. package/dist/ink/src/adapters/ink/components/screen/screen_bridge.d.ts +14 -0
  77. package/dist/ink/src/adapters/ink/components/screen/screen_bridge.d.ts.map +1 -0
  78. package/dist/ink/src/adapters/ink/components/screen/table_message.d.ts +6 -0
  79. package/dist/ink/src/adapters/ink/components/screen/table_message.d.ts.map +1 -0
  80. package/dist/ink/src/adapters/ink/components/screen_manager_bridge.d.ts +8 -0
  81. package/dist/ink/src/adapters/ink/components/screen_manager_bridge.d.ts.map +1 -0
  82. package/dist/ink/src/adapters/ink/components/sidebar/index.d.ts +4 -0
  83. package/dist/ink/src/adapters/ink/components/sidebar/index.d.ts.map +1 -0
  84. package/dist/ink/src/adapters/ink/components/sidebar/sidebar.d.ts +11 -0
  85. package/dist/ink/src/adapters/ink/components/sidebar/sidebar.d.ts.map +1 -0
  86. package/dist/ink/src/adapters/ink/components/sidebar/sidebar_item.d.ts +9 -0
  87. package/dist/ink/src/adapters/ink/components/sidebar/sidebar_item.d.ts.map +1 -0
  88. package/dist/ink/src/adapters/ink/components/sidebar/sidebar_separator.d.ts +2 -0
  89. package/dist/ink/src/adapters/ink/components/sidebar/sidebar_separator.d.ts.map +1 -0
  90. package/dist/ink/src/adapters/ink/context/index.d.ts +2 -0
  91. package/dist/ink/src/adapters/ink/context/index.d.ts.map +1 -0
  92. package/dist/ink/src/adapters/ink/context/logger_context.d.ts +33 -0
  93. package/dist/ink/src/adapters/ink/context/logger_context.d.ts.map +1 -0
  94. package/dist/ink/src/adapters/ink/hooks/index.d.ts +2 -0
  95. package/dist/ink/src/adapters/ink/hooks/index.d.ts.map +1 -0
  96. package/dist/ink/src/adapters/ink/hooks/use_theme.d.ts +7 -0
  97. package/dist/ink/src/adapters/ink/hooks/use_theme.d.ts.map +1 -0
  98. package/dist/ink/src/adapters/ink/index.d.ts +18 -0
  99. package/dist/ink/src/adapters/ink/index.d.ts.map +1 -0
  100. package/dist/ink/src/adapters/react-shared/hooks/index.d.ts +4 -0
  101. package/dist/ink/src/adapters/react-shared/hooks/index.d.ts.map +1 -0
  102. package/dist/ink/src/adapters/react-shared/hooks/use_filter_state.d.ts +18 -0
  103. package/dist/ink/src/adapters/react-shared/hooks/use_filter_state.d.ts.map +1 -0
  104. package/dist/ink/src/adapters/react-shared/hooks/use_keyboard_manager.d.ts +26 -0
  105. package/dist/ink/src/adapters/react-shared/hooks/use_keyboard_manager.d.ts.map +1 -0
  106. package/dist/ink/src/adapters/react-shared/hooks/use_manager_subscription.d.ts +7 -0
  107. package/dist/ink/src/adapters/react-shared/hooks/use_manager_subscription.d.ts.map +1 -0
  108. package/dist/ink/src/adapters/react-shared/index.d.ts +2 -0
  109. package/dist/ink/src/adapters/react-shared/index.d.ts.map +1 -0
  110. package/dist/ink/tsconfig.ink.tsbuildinfo +1 -0
  111. package/dist/react/src/adapters/react-shared/hooks/index.d.ts +4 -0
  112. package/dist/react/src/adapters/react-shared/hooks/index.d.ts.map +1 -0
  113. package/dist/react/src/adapters/react-shared/hooks/use_filter_state.d.ts +18 -0
  114. package/dist/react/src/adapters/react-shared/hooks/use_filter_state.d.ts.map +1 -0
  115. package/dist/react/src/adapters/react-shared/hooks/use_keyboard_manager.d.ts +26 -0
  116. package/dist/react/src/adapters/react-shared/hooks/use_keyboard_manager.d.ts.map +1 -0
  117. package/dist/react/src/adapters/react-shared/hooks/use_manager_subscription.d.ts +7 -0
  118. package/dist/react/src/adapters/react-shared/hooks/use_manager_subscription.d.ts.map +1 -0
  119. package/dist/react/src/adapters/react-shared/index.d.ts +2 -0
  120. package/dist/react/src/adapters/react-shared/index.d.ts.map +1 -0
  121. package/dist/react/tsconfig.react.tsbuildinfo +1 -1
  122. package/dist/solid/tsconfig.solid.tsbuildinfo +1 -1
  123. package/lib/index.cjs +2177 -178
  124. package/lib/index.cjs.map +1 -1
  125. package/lib/index.d.cts +942 -78
  126. package/lib/index.d.cts.map +1 -0
  127. package/lib/index.d.mts +902 -38
  128. package/lib/index.d.mts.map +1 -0
  129. package/lib/index.mjs +2098 -135
  130. package/lib/index.mjs.map +1 -1
  131. package/package.json +1 -31
  132. package/src/__tests__/services/logger.spec.ts +32 -0
  133. package/src/__tests__/services/screen.spec.ts +106 -95
  134. package/src/__tests__/utils/factories.ts +2 -0
  135. package/src/adapters/interface.ts +10 -2
  136. package/src/overrides/missing-adapter.override.ts +16 -6
  137. package/src/services/index.ts +1 -0
  138. package/src/services/logger.ts +7 -1
  139. package/src/services/readline_prompt.ts +194 -0
  140. package/src/services/screen.ts +106 -54
  141. package/src/services/screen_manager.ts +282 -74
  142. package/src/types/events.types.ts +84 -0
  143. package/src/types/index.ts +3 -0
  144. package/src/types/screen.types.ts +34 -0
  145. package/src/utils/colors/helpers.ts +0 -25
  146. package/src/utils/index.ts +6 -0
  147. package/src/utils/prompt.ts +18 -0
  148. package/src/utils/runtime.ts +14 -0
  149. package/src/utils/stdout-printer.ts +16 -5
  150. package/tsconfig.base.json +1 -17
  151. package/tsconfig.json +1 -6
  152. package/tsdown.config.mts +13 -70
  153. package/lib/adapters/react/index.cjs +0 -1768
  154. package/lib/adapters/react/index.cjs.map +0 -1
  155. package/lib/adapters/react/index.d.cts +0 -80
  156. package/lib/adapters/react/index.d.mts +0 -80
  157. package/lib/adapters/react/index.mjs +0 -1760
  158. package/lib/adapters/react/index.mjs.map +0 -1
  159. package/lib/adapters/solid/index.cjs +0 -3855
  160. package/lib/adapters/solid/index.cjs.map +0 -1
  161. package/lib/adapters/solid/index.d.cts +0 -74
  162. package/lib/adapters/solid/index.d.mts +0 -74
  163. package/lib/adapters/solid/index.mjs +0 -3847
  164. package/lib/adapters/solid/index.mjs.map +0 -1
  165. package/lib/filter_engine-DXqu9Vaq.cjs +0 -1836
  166. package/lib/filter_engine-DXqu9Vaq.cjs.map +0 -1
  167. package/lib/filter_engine-DmqhEhpA.mjs +0 -1609
  168. package/lib/filter_engine-DmqhEhpA.mjs.map +0 -1
  169. package/lib/interface-CTHQ08aY.d.mts +0 -699
  170. package/lib/interface-DQEIz9Mb.d.cts +0 -699
  171. package/src/__tests__/components/__snapshots__/filter_bar.spec.tsx.snap +0 -2293
  172. package/src/__tests__/components/__snapshots__/loading_message.spec.tsx.snap +0 -1414
  173. package/src/__tests__/components/__snapshots__/log_message.spec.tsx.snap +0 -3245
  174. package/src/__tests__/components/__snapshots__/progress_message.spec.tsx.snap +0 -1783
  175. package/src/__tests__/components/__snapshots__/prompt_renderer.spec.tsx.snap +0 -3203
  176. package/src/__tests__/components/__snapshots__/sidebar.spec.tsx.snap +0 -2857
  177. package/src/__tests__/components/filter_bar.spec.tsx +0 -190
  178. package/src/__tests__/components/loading_message.spec.tsx +0 -110
  179. package/src/__tests__/components/log_message.spec.tsx +0 -166
  180. package/src/__tests__/components/progress_message.spec.tsx +0 -147
  181. package/src/__tests__/components/prompt_renderer.spec.tsx +0 -274
  182. package/src/__tests__/components/sidebar.spec.tsx +0 -322
  183. package/src/__tests__/utils/render-utils.tsx +0 -39
  184. package/src/adapters/react/components/file/file_log.tsx +0 -241
  185. package/src/adapters/react/components/file/index.ts +0 -1
  186. package/src/adapters/react/components/filter/filter_bar.tsx +0 -79
  187. package/src/adapters/react/components/filter/index.ts +0 -1
  188. package/src/adapters/react/components/help/help_overlay.tsx +0 -100
  189. package/src/adapters/react/components/help/index.ts +0 -1
  190. package/src/adapters/react/components/log/index.ts +0 -1
  191. package/src/adapters/react/components/log/log_message.tsx +0 -102
  192. package/src/adapters/react/components/prompt/index.ts +0 -2
  193. package/src/adapters/react/components/prompt/prompt_renderer.tsx +0 -346
  194. package/src/adapters/react/components/screen/group_renderer.tsx +0 -64
  195. package/src/adapters/react/components/screen/index.ts +0 -6
  196. package/src/adapters/react/components/screen/loading_message.tsx +0 -43
  197. package/src/adapters/react/components/screen/message_renderer.tsx +0 -108
  198. package/src/adapters/react/components/screen/progress_message.tsx +0 -60
  199. package/src/adapters/react/components/screen/screen_bridge.tsx +0 -149
  200. package/src/adapters/react/components/screen/table_message.tsx +0 -57
  201. package/src/adapters/react/components/screen_manager_bridge.tsx +0 -245
  202. package/src/adapters/react/components/sidebar/index.ts +0 -3
  203. package/src/adapters/react/components/sidebar/sidebar.tsx +0 -102
  204. package/src/adapters/react/components/sidebar/sidebar_item.tsx +0 -50
  205. package/src/adapters/react/components/sidebar/sidebar_separator.tsx +0 -13
  206. package/src/adapters/react/context/index.ts +0 -1
  207. package/src/adapters/react/context/logger_context.tsx +0 -109
  208. package/src/adapters/react/hooks/index.ts +0 -1
  209. package/src/adapters/react/hooks/use_theme.ts +0 -12
  210. package/src/adapters/react/index.ts +0 -39
  211. package/src/adapters/solid/components/file/file_log.tsx +0 -221
  212. package/src/adapters/solid/components/file/index.ts +0 -1
  213. package/src/adapters/solid/components/filter/filter_bar.tsx +0 -84
  214. package/src/adapters/solid/components/filter/index.ts +0 -1
  215. package/src/adapters/solid/components/help/help_overlay.tsx +0 -106
  216. package/src/adapters/solid/components/help/index.ts +0 -1
  217. package/src/adapters/solid/components/log/index.ts +0 -1
  218. package/src/adapters/solid/components/log/log_message.tsx +0 -92
  219. package/src/adapters/solid/components/prompt/index.ts +0 -2
  220. package/src/adapters/solid/components/prompt/prompt_renderer.tsx +0 -350
  221. package/src/adapters/solid/components/screen/group_renderer.tsx +0 -61
  222. package/src/adapters/solid/components/screen/index.ts +0 -6
  223. package/src/adapters/solid/components/screen/loading_message.tsx +0 -39
  224. package/src/adapters/solid/components/screen/message_renderer.tsx +0 -122
  225. package/src/adapters/solid/components/screen/progress_message.tsx +0 -61
  226. package/src/adapters/solid/components/screen/screen_bridge.tsx +0 -155
  227. package/src/adapters/solid/components/screen/table_message.tsx +0 -58
  228. package/src/adapters/solid/components/screen_manager_bridge.tsx +0 -243
  229. package/src/adapters/solid/components/sidebar/index.ts +0 -3
  230. package/src/adapters/solid/components/sidebar/sidebar.tsx +0 -108
  231. package/src/adapters/solid/components/sidebar/sidebar_item.tsx +0 -55
  232. package/src/adapters/solid/components/sidebar/sidebar_separator.tsx +0 -13
  233. package/src/adapters/solid/context/index.ts +0 -2
  234. package/src/adapters/solid/context/logger_context.tsx +0 -95
  235. package/src/adapters/solid/hooks/index.ts +0 -1
  236. package/src/adapters/solid/hooks/use_theme.ts +0 -12
  237. package/src/adapters/solid/index.tsx +0 -43
  238. package/src/adapters/solid/jsx.d.ts +0 -98
  239. package/tsconfig.react.json +0 -16
  240. package/tsconfig.solid.json +0 -16
@@ -1,95 +0,0 @@
1
- import { SyntaxStyle, type TreeSitterClient } from '@opentui/core'
2
- import { createContext, useContext, createMemo, type ParentProps } from 'solid-js'
3
-
4
- import { darkTheme, resolveTheme } from '../../../themes/index.ts'
5
-
6
- import type { LoggerContextValue, LogLevelColorMap, Theme, ThemePreset } from '../../../types/index.ts'
7
-
8
- const LoggerContext = createContext<LoggerContextValue>()
9
-
10
- export interface LoggerProviderProps extends ParentProps {
11
- /** Custom syntax style for code highlighting */
12
- syntaxStyle?: SyntaxStyle
13
-
14
- /** Tree-sitter client for parsing */
15
- treeSitterClient?: TreeSitterClient
16
-
17
- /**
18
- * Theme configuration.
19
- * Can be a preset name ("dark", "light", "high-contrast") or a Theme object.
20
- * @default "dark"
21
- */
22
- theme?: Theme | ThemePreset
23
-
24
- /**
25
- * @deprecated Use `theme` instead. Custom log level colors.
26
- * If both `theme` and `levelColors` are provided, `levelColors` takes precedence.
27
- */
28
- levelColors?: Partial<LogLevelColorMap>
29
- }
30
-
31
- /**
32
- * LoggerProvider - Provides shared context for logger components.
33
- *
34
- * This context provides:
35
- * - Shared SyntaxStyle instance for consistent code highlighting
36
- * - Optional TreeSitterClient for advanced parsing
37
- * - Theme configuration for consistent styling
38
- * - Log level color configuration (for backwards compatibility)
39
- *
40
- * @example
41
- * // Using a preset theme
42
- * <LoggerProvider theme="dark">
43
- * <ScreenManager screens={screens} activeScreenId={activeId}>
44
- * <Screen name="Logs">
45
- * <LogMessage level="info">Hello</LogMessage>
46
- * </Screen>
47
- * </ScreenManager>
48
- * </LoggerProvider>
49
- *
50
- * @example
51
- * // Using a custom theme
52
- * <LoggerProvider theme={myCustomTheme}>
53
- * ...
54
- * </LoggerProvider>
55
- */
56
- export function LoggerProvider(props: LoggerProviderProps) {
57
- // Create or use provided SyntaxStyle
58
- const syntaxStyle = createMemo(() => props.syntaxStyle ?? SyntaxStyle.create())
59
-
60
- // Resolve theme (could be a preset name or a theme object)
61
- const theme = createMemo(() => resolveTheme(props.theme ?? 'dark'))
62
-
63
- // Derive levelColors from theme, allowing custom overrides for backwards compatibility
64
- const levelColors = createMemo(() => ({
65
- ...theme().logLevels,
66
- ...props.levelColors,
67
- }))
68
-
69
- const value = createMemo<LoggerContextValue>(() => ({
70
- syntaxStyle: syntaxStyle(),
71
- treeSitterClient: props.treeSitterClient,
72
- levelColors: levelColors(),
73
- theme: theme(),
74
- }))
75
-
76
- return <LoggerContext.Provider value={value()}>{props.children}</LoggerContext.Provider>
77
- }
78
-
79
- /**
80
- * Hook to access logger context.
81
- * Returns default values if used outside LoggerProvider.
82
- */
83
- export function useLoggerContext(): LoggerContextValue {
84
- const context = useContext(LoggerContext)
85
- if (!context) {
86
- // Return defaults if not in a provider (allows standalone usage)
87
- return {
88
- syntaxStyle: undefined,
89
- treeSitterClient: undefined,
90
- levelColors: darkTheme.logLevels,
91
- theme: darkTheme,
92
- }
93
- }
94
- return context
95
- }
@@ -1 +0,0 @@
1
- export { useTheme } from './use_theme.ts'
@@ -1,12 +0,0 @@
1
- import { useLoggerContext } from '../context/index.ts'
2
-
3
- import type { Theme } from '../../../types/index.ts'
4
-
5
- /**
6
- * Hook to access the current theme.
7
- * Returns the theme from LoggerContext.
8
- */
9
- export function useTheme(): Theme {
10
- const { theme } = useLoggerContext()
11
- return theme
12
- }
@@ -1,43 +0,0 @@
1
- import { Injectable } from '@navios/core'
2
- import { render as solidRender } from '@opentui/solid'
3
-
4
- import type { CliRenderer } from '@opentui/core'
5
-
6
- import { Adapter } from '../../tokens/adapter.js'
7
-
8
- import type { AdapterInterface, AdapterRoot, AdapterRenderProps } from '../interface.js'
9
-
10
- import { ScreenManagerBridge } from './components/screen_manager_bridge.js'
11
-
12
- /**
13
- * Solid adapter for TUI rendering.
14
- * Automatically registers to DI when this module is imported.
15
- */
16
- @Injectable({ token: Adapter })
17
- export class SolidAdapter implements AdapterInterface {
18
- createRoot(renderer: CliRenderer): AdapterRoot {
19
- let renderPromise: Promise<void> | undefined
20
-
21
- return {
22
- render(element: unknown): void {
23
- // Solid's render returns a Promise<void>
24
- // We start the render and let it run asynchronously
25
- renderPromise = solidRender(element as () => any, renderer)
26
- },
27
- unmount(): void {
28
- // Solid's render doesn't provide a dispose function in @opentui/solid
29
- // The unmount is handled by the renderer itself
30
- renderPromise = undefined
31
- },
32
- }
33
- }
34
-
35
- renderToRoot(root: AdapterRoot, props: AdapterRenderProps): void {
36
- // @ts-expect-error This is a workaround to avoid type errors
37
- root.render(() => <ScreenManagerBridge {...props} />)
38
- }
39
- }
40
-
41
- // Re-export context and hooks for external use
42
- export * from './context/index.js'
43
- export * from './hooks/index.js'
@@ -1,98 +0,0 @@
1
- /// <reference types="solid-js" />
2
- import type { JSX as SolidJSX } from 'solid-js'
3
- import type { RGBA, SyntaxStyle, TreeSitterClient } from '@opentui/core'
4
-
5
- // Color type that accepts string or RGBA
6
- type Color = string | RGBA
7
-
8
- // Extend Solid's IntrinsicElements with OpenTUI custom elements
9
- declare module 'solid-js' {
10
- namespace JSX {
11
- interface IntrinsicElements {
12
- // Box element - flex container
13
- box: {
14
- children?: SolidJSX.Element | SolidJSX.Element[]
15
- flexDirection?: 'row' | 'column'
16
- flexGrow?: number
17
- flexShrink?: number
18
- flexBasis?: number | string
19
- alignItems?: 'flex-start' | 'flex-end' | 'center' | 'stretch'
20
- justifyContent?: 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly'
21
- gap?: number
22
- width?: number | string
23
- height?: number | string
24
- minWidth?: number | string
25
- minHeight?: number | string
26
- maxWidth?: number | string
27
- maxHeight?: number | string
28
- padding?: number
29
- paddingTop?: number
30
- paddingBottom?: number
31
- paddingLeft?: number
32
- paddingRight?: number
33
- margin?: number
34
- marginTop?: number
35
- marginBottom?: number
36
- marginLeft?: number
37
- marginRight?: number
38
- border?: ('top' | 'bottom' | 'left' | 'right')[]
39
- borderColor?: Color
40
- backgroundColor?: Color
41
- position?: 'relative' | 'absolute'
42
- top?: number
43
- bottom?: number
44
- left?: number
45
- right?: number
46
- }
47
-
48
- // Text element - text rendering
49
- text: {
50
- children?: SolidJSX.Element | SolidJSX.Element[] | string | number | (string | number)[]
51
- fg?: Color
52
- bg?: Color
53
- attributes?: number
54
- width?: number
55
- flexGrow?: number
56
- }
57
-
58
- // Scrollbox element - scrollable container
59
- scrollbox: {
60
- children?: SolidJSX.Element | SolidJSX.Element[]
61
- scrollX?: boolean
62
- scrollY?: boolean
63
- stickyScroll?: boolean
64
- stickyStart?: 'top' | 'bottom'
65
- flexGrow?: number
66
- contentOptions?: {
67
- paddingLeft?: number
68
- paddingRight?: number
69
- paddingTop?: number
70
- paddingBottom?: number
71
- gap?: number
72
- flexGrow?: number
73
- }
74
- }
75
-
76
- // Code element - syntax highlighted code
77
- code: {
78
- children?: SolidJSX.Element | SolidJSX.Element[]
79
- content?: string
80
- filetype?: string
81
- syntaxStyle?: SyntaxStyle
82
- treeSitterClient?: TreeSitterClient
83
- }
84
-
85
- // Diff element - unified diff display
86
- diff: {
87
- children?: SolidJSX.Element | SolidJSX.Element[]
88
- diff?: string
89
- view?: 'unified' | 'split'
90
- filetype?: string
91
- syntaxStyle?: SyntaxStyle
92
- treeSitterClient?: TreeSitterClient
93
- }
94
- }
95
- }
96
- }
97
-
98
- export {}
@@ -1,16 +0,0 @@
1
- {
2
- "extends": "../../tsconfig.base.json",
3
- "compilerOptions": {
4
- "outDir": "dist/react",
5
- "jsx": "react-jsx",
6
- "jsxImportSource": "@opentui/react",
7
- "module": "Preserve",
8
- "moduleResolution": "bundler",
9
- "allowImportingTsExtensions": true,
10
- "declaration": true,
11
- "composite": true
12
- },
13
- "include": ["src/adapters/react/**/*"],
14
- "exclude": ["src/**/*.spec.ts", "src/**/*.spec.tsx"],
15
- "references": [{ "path": "./tsconfig.base.json" }]
16
- }
@@ -1,16 +0,0 @@
1
- {
2
- "extends": "../../tsconfig.base.json",
3
- "compilerOptions": {
4
- "outDir": "dist/solid",
5
- "jsx": "preserve",
6
- "jsxImportSource": "solid-js",
7
- "module": "Preserve",
8
- "moduleResolution": "bundler",
9
- "allowImportingTsExtensions": true,
10
- "declaration": true,
11
- "composite": true
12
- },
13
- "include": ["src/adapters/solid/**/*"],
14
- "exclude": ["src/**/*.spec.ts", "src/**/*.spec.tsx"],
15
- "references": [{ "path": "./tsconfig.base.json" }]
16
- }