@mdxui/terminal 2.0.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 (191) hide show
  1. package/README.md +571 -0
  2. package/dist/ansi-css-Sk5mWtdK.d.ts +119 -0
  3. package/dist/ansi-css-V6JIHGsM.d.ts +119 -0
  4. package/dist/ansi-css-_3eSEU9d.d.ts +119 -0
  5. package/dist/chunk-3EFDH7PK.js +5235 -0
  6. package/dist/chunk-3RG5ZIWI.js +10 -0
  7. package/dist/chunk-3X5IR6WE.js +884 -0
  8. package/dist/chunk-4FV5ZDCE.js +5236 -0
  9. package/dist/chunk-4OVMSF2J.js +243 -0
  10. package/dist/chunk-63FEETIS.js +4048 -0
  11. package/dist/chunk-B43KP7XJ.js +884 -0
  12. package/dist/chunk-BMTJXWUV.js +655 -0
  13. package/dist/chunk-C3SVH4N7.js +882 -0
  14. package/dist/chunk-EVWR7Y47.js +874 -0
  15. package/dist/chunk-F6A5VWUC.js +1285 -0
  16. package/dist/chunk-FD7KW7GE.js +882 -0
  17. package/dist/chunk-GBQ6UD6I.js +655 -0
  18. package/dist/chunk-GMDD3M6U.js +5227 -0
  19. package/dist/chunk-JBHRXOXM.js +1058 -0
  20. package/dist/chunk-JFOO3EYO.js +1182 -0
  21. package/dist/chunk-JQ5H3WXL.js +1291 -0
  22. package/dist/chunk-JQD5NASE.js +234 -0
  23. package/dist/chunk-KRHJP5R7.js +592 -0
  24. package/dist/chunk-KWF6WVJE.js +962 -0
  25. package/dist/chunk-LHYQVN3H.js +1038 -0
  26. package/dist/chunk-M3TLQLGC.js +1032 -0
  27. package/dist/chunk-MVW4Q5OP.js +240 -0
  28. package/dist/chunk-NXCZSWLU.js +1294 -0
  29. package/dist/chunk-O25TNRO6.js +607 -0
  30. package/dist/chunk-PNECDA2I.js +884 -0
  31. package/dist/chunk-QIHWRLJR.js +962 -0
  32. package/dist/chunk-QW5YMQ7K.js +882 -0
  33. package/dist/chunk-R5U7XKVJ.js +16 -0
  34. package/dist/chunk-RP2MVQLR.js +962 -0
  35. package/dist/chunk-TP6RXGXA.js +1087 -0
  36. package/dist/chunk-TQQSTITZ.js +655 -0
  37. package/dist/chunk-X24GWXQV.js +1281 -0
  38. package/dist/components/index.d.ts +802 -0
  39. package/dist/components/index.js +149 -0
  40. package/dist/data/index.d.ts +2554 -0
  41. package/dist/data/index.js +51 -0
  42. package/dist/forms/index.d.ts +1596 -0
  43. package/dist/forms/index.js +464 -0
  44. package/dist/index-CQRFZntR.d.ts +867 -0
  45. package/dist/index.d.ts +579 -0
  46. package/dist/index.js +786 -0
  47. package/dist/interactive-D0JkWosD.d.ts +217 -0
  48. package/dist/keyboard/index.d.ts +2 -0
  49. package/dist/keyboard/index.js +43 -0
  50. package/dist/renderers/index.d.ts +546 -0
  51. package/dist/renderers/index.js +2157 -0
  52. package/dist/storybook/index.d.ts +396 -0
  53. package/dist/storybook/index.js +641 -0
  54. package/dist/theme/index.d.ts +1339 -0
  55. package/dist/theme/index.js +123 -0
  56. package/dist/types-Bxu5PAgA.d.ts +710 -0
  57. package/dist/types-CIlop5Ji.d.ts +701 -0
  58. package/dist/types-Ca8p_p5X.d.ts +710 -0
  59. package/package.json +90 -0
  60. package/src/__tests__/components/data/card.test.ts +458 -0
  61. package/src/__tests__/components/data/list.test.ts +473 -0
  62. package/src/__tests__/components/data/metrics.test.ts +541 -0
  63. package/src/__tests__/components/data/table.test.ts +448 -0
  64. package/src/__tests__/components/input/field.test.ts +555 -0
  65. package/src/__tests__/components/input/form.test.ts +870 -0
  66. package/src/__tests__/components/input/search.test.ts +1238 -0
  67. package/src/__tests__/components/input/select.test.ts +658 -0
  68. package/src/__tests__/components/navigation/breadcrumb.test.ts +923 -0
  69. package/src/__tests__/components/navigation/command-palette.test.ts +1095 -0
  70. package/src/__tests__/components/navigation/sidebar.test.ts +1018 -0
  71. package/src/__tests__/components/navigation/tabs.test.ts +995 -0
  72. package/src/__tests__/components.test.tsx +1197 -0
  73. package/src/__tests__/core/compiler.test.ts +986 -0
  74. package/src/__tests__/core/parser.test.ts +785 -0
  75. package/src/__tests__/core/tier-switcher.test.ts +1103 -0
  76. package/src/__tests__/core/types.test.ts +1398 -0
  77. package/src/__tests__/data/collections.test.ts +1337 -0
  78. package/src/__tests__/data/db.test.ts +1265 -0
  79. package/src/__tests__/data/reactive.test.ts +1010 -0
  80. package/src/__tests__/data/sync.test.ts +1614 -0
  81. package/src/__tests__/errors.test.ts +660 -0
  82. package/src/__tests__/forms/integration.test.ts +444 -0
  83. package/src/__tests__/integration.test.ts +905 -0
  84. package/src/__tests__/keyboard.test.ts +1791 -0
  85. package/src/__tests__/renderer.test.ts +489 -0
  86. package/src/__tests__/renderers/ansi-css.test.ts +948 -0
  87. package/src/__tests__/renderers/ansi.test.ts +1366 -0
  88. package/src/__tests__/renderers/ascii.test.ts +1360 -0
  89. package/src/__tests__/renderers/interactive.test.ts +2353 -0
  90. package/src/__tests__/renderers/markdown.test.ts +1483 -0
  91. package/src/__tests__/renderers/text.test.ts +1369 -0
  92. package/src/__tests__/renderers/unicode.test.ts +1307 -0
  93. package/src/__tests__/theme.test.ts +639 -0
  94. package/src/__tests__/utils/assertions.ts +685 -0
  95. package/src/__tests__/utils/index.ts +115 -0
  96. package/src/__tests__/utils/test-renderer.ts +381 -0
  97. package/src/__tests__/utils/utils.test.ts +560 -0
  98. package/src/components/containers/card.ts +56 -0
  99. package/src/components/containers/dialog.ts +53 -0
  100. package/src/components/containers/index.ts +9 -0
  101. package/src/components/containers/panel.ts +59 -0
  102. package/src/components/feedback/badge.ts +40 -0
  103. package/src/components/feedback/index.ts +8 -0
  104. package/src/components/feedback/spinner.ts +23 -0
  105. package/src/components/helpers.ts +81 -0
  106. package/src/components/index.ts +153 -0
  107. package/src/components/layout/breadcrumb.ts +31 -0
  108. package/src/components/layout/index.ts +10 -0
  109. package/src/components/layout/list.ts +29 -0
  110. package/src/components/layout/sidebar.ts +79 -0
  111. package/src/components/layout/table.ts +62 -0
  112. package/src/components/primitives/box.ts +95 -0
  113. package/src/components/primitives/button.ts +54 -0
  114. package/src/components/primitives/index.ts +11 -0
  115. package/src/components/primitives/input.ts +88 -0
  116. package/src/components/primitives/select.ts +97 -0
  117. package/src/components/primitives/text.ts +60 -0
  118. package/src/components/render.ts +155 -0
  119. package/src/components/templates/app.ts +43 -0
  120. package/src/components/templates/index.ts +8 -0
  121. package/src/components/templates/site.ts +54 -0
  122. package/src/components/types.ts +777 -0
  123. package/src/core/compiler.ts +718 -0
  124. package/src/core/parser.ts +127 -0
  125. package/src/core/tier-switcher.ts +607 -0
  126. package/src/core/types.ts +672 -0
  127. package/src/data/collection.ts +316 -0
  128. package/src/data/collections.ts +50 -0
  129. package/src/data/context.tsx +174 -0
  130. package/src/data/db.ts +127 -0
  131. package/src/data/hooks.ts +532 -0
  132. package/src/data/index.ts +138 -0
  133. package/src/data/reactive.ts +1225 -0
  134. package/src/data/saas-collections.ts +375 -0
  135. package/src/data/sync.ts +1213 -0
  136. package/src/data/types.ts +660 -0
  137. package/src/forms/converters.ts +512 -0
  138. package/src/forms/index.ts +133 -0
  139. package/src/forms/schemas.ts +403 -0
  140. package/src/forms/types.ts +476 -0
  141. package/src/index.ts +542 -0
  142. package/src/keyboard/focus.ts +748 -0
  143. package/src/keyboard/index.ts +96 -0
  144. package/src/keyboard/integration.ts +371 -0
  145. package/src/keyboard/manager.ts +377 -0
  146. package/src/keyboard/presets.ts +90 -0
  147. package/src/renderers/ansi-css.ts +576 -0
  148. package/src/renderers/ansi.ts +802 -0
  149. package/src/renderers/ascii.ts +680 -0
  150. package/src/renderers/breadcrumb.ts +480 -0
  151. package/src/renderers/command-palette.ts +802 -0
  152. package/src/renderers/components/field.ts +210 -0
  153. package/src/renderers/components/form.ts +327 -0
  154. package/src/renderers/components/index.ts +21 -0
  155. package/src/renderers/components/search.ts +449 -0
  156. package/src/renderers/components/select.ts +222 -0
  157. package/src/renderers/index.ts +101 -0
  158. package/src/renderers/interactive/component-handlers.ts +622 -0
  159. package/src/renderers/interactive/cursor-manager.ts +147 -0
  160. package/src/renderers/interactive/focus-manager.ts +279 -0
  161. package/src/renderers/interactive/index.ts +661 -0
  162. package/src/renderers/interactive/input-handler.ts +164 -0
  163. package/src/renderers/interactive/keyboard-handler.ts +212 -0
  164. package/src/renderers/interactive/mouse-handler.ts +167 -0
  165. package/src/renderers/interactive/state-manager.ts +109 -0
  166. package/src/renderers/interactive/types.ts +338 -0
  167. package/src/renderers/interactive-string.ts +299 -0
  168. package/src/renderers/interactive.ts +59 -0
  169. package/src/renderers/markdown.ts +950 -0
  170. package/src/renderers/sidebar.ts +549 -0
  171. package/src/renderers/tabs.ts +682 -0
  172. package/src/renderers/text.ts +791 -0
  173. package/src/renderers/unicode.ts +917 -0
  174. package/src/renderers/utils.ts +942 -0
  175. package/src/router/adapters.ts +383 -0
  176. package/src/router/types.ts +140 -0
  177. package/src/router/utils.ts +452 -0
  178. package/src/schemas.ts +205 -0
  179. package/src/storybook/index.ts +91 -0
  180. package/src/storybook/interactive-decorator.tsx +659 -0
  181. package/src/storybook/keyboard-simulator.ts +501 -0
  182. package/src/theme/ansi-codes.ts +80 -0
  183. package/src/theme/box-drawing.ts +132 -0
  184. package/src/theme/color-convert.ts +254 -0
  185. package/src/theme/color-support.ts +321 -0
  186. package/src/theme/index.ts +134 -0
  187. package/src/theme/strip-ansi.ts +50 -0
  188. package/src/theme/tailwind-map.ts +469 -0
  189. package/src/theme/text-styles.ts +206 -0
  190. package/src/theme/theme-system.ts +568 -0
  191. package/src/types.ts +103 -0
@@ -0,0 +1,119 @@
1
+ import { U as UINode } from './types-CIlop5Ji.js';
2
+
3
+ /**
4
+ * Text Renderer - Plain text output without formatting
5
+ *
6
+ * The TEXT renderer is the first tier in the Universal Terminal UI's
7
+ * multi-tier rendering architecture. It outputs plain text without any
8
+ * formatting markers, colors, or special characters.
9
+ *
10
+ * Text Tier (tier 1 of 6):
11
+ * - Simple content only, no bold/italic/code markers
12
+ * - Tables rendered as key=value lines (one per line)
13
+ * - Lists rendered as bullet points (- item)
14
+ * - Metrics rendered as "Label: value" format
15
+ * - Nested structures indented (2 spaces per level)
16
+ * - Dashboard layout as labeled sections with separators
17
+ * - All special characters and formatting stripped
18
+ */
19
+
20
+ /**
21
+ * Text render options
22
+ */
23
+ interface TextRenderOptions {
24
+ /** Current indentation level */
25
+ indent?: number;
26
+ }
27
+ /**
28
+ * Renders a UINode tree to a plain text string.
29
+ *
30
+ * @param node - The UINode tree to render
31
+ * @param options - Optional rendering configuration
32
+ * @returns Plain text string
33
+ */
34
+ declare function renderText(node: UINode, options?: TextRenderOptions): string;
35
+
36
+ /**
37
+ * ANSI to CSS Converter
38
+ *
39
+ * Converts ANSI escape codes to CSS styles for web rendering.
40
+ * This enables browser-based terminal emulators to display styled output.
41
+ *
42
+ * Supports:
43
+ * - 16 basic colors (30-37, 40-47)
44
+ * - Bright colors (90-97, 100-107)
45
+ * - 256-color mode (38;5;n and 48;5;n)
46
+ * - True color / 24-bit RGB (38;2;r;g;b and 48;2;r;g;b)
47
+ * - Text styles (bold, dim, italic, underline, strikethrough, inverse)
48
+ * - Reset codes (0, 22, 23, 24, 39, 49)
49
+ *
50
+ * @module
51
+ */
52
+ /**
53
+ * CSS style properties for a styled text span
54
+ */
55
+ interface CSSStyleProperties {
56
+ color?: string;
57
+ backgroundColor?: string;
58
+ fontWeight?: 'bold' | 'normal';
59
+ fontStyle?: 'italic' | 'normal';
60
+ textDecoration?: 'underline' | 'line-through' | 'none';
61
+ opacity?: number;
62
+ }
63
+ /**
64
+ * A span of text with associated CSS styles
65
+ */
66
+ interface StyledSpan {
67
+ text: string;
68
+ style: CSSStyleProperties;
69
+ }
70
+ /**
71
+ * Result of parsing ANSI string to CSS
72
+ */
73
+ interface ANSIToCSSResult {
74
+ spans: StyledSpan[];
75
+ plainText: string;
76
+ }
77
+ /**
78
+ * Converts ANSI-escaped string to CSS-styled spans.
79
+ *
80
+ * @param ansiString - String containing ANSI escape codes
81
+ * @returns Object with spans array and plain text
82
+ *
83
+ * @example
84
+ * ```ts
85
+ * const result = ansiToCSS('\x1b[31mRed text\x1b[0m')
86
+ * // result.spans[0].style.color === 'red'
87
+ * // result.plainText === 'Red text'
88
+ * ```
89
+ */
90
+ declare function ansiToCSS(ansiString: string): ANSIToCSSResult;
91
+ /**
92
+ * Converts a styled span to an inline CSS style string.
93
+ *
94
+ * @param span - A styled span object
95
+ * @returns CSS inline style string (e.g., "color: red; font-weight: bold")
96
+ */
97
+ declare function spanToInlineStyle(span: StyledSpan): string;
98
+ /**
99
+ * Converts ANSI-escaped string to HTML with styled span elements.
100
+ *
101
+ * @param ansiString - String containing ANSI escape codes
102
+ * @returns HTML string with styled spans
103
+ *
104
+ * @example
105
+ * ```ts
106
+ * const html = ansiToHTML('\x1b[31mRed text\x1b[0m')
107
+ * // html === '<span style="color: red">Red text</span>'
108
+ * ```
109
+ */
110
+ declare function ansiToHTML(ansiString: string): string;
111
+ /**
112
+ * Parses ANSI string to array of styled spans for React rendering.
113
+ *
114
+ * @param ansiString - String containing ANSI escape codes
115
+ * @returns Array of styled spans with React-compatible style objects
116
+ */
117
+ declare function parseAnsiToSpans(ansiString: string): StyledSpan[];
118
+
119
+ export { type ANSIToCSSResult as A, type CSSStyleProperties as C, type StyledSpan as S, type TextRenderOptions as T, ansiToCSS as a, ansiToHTML as b, parseAnsiToSpans as p, renderText as r, spanToInlineStyle as s };
@@ -0,0 +1,119 @@
1
+ import { U as UINode } from './types-Bxu5PAgA.js';
2
+
3
+ /**
4
+ * Text Renderer - Plain text output without formatting
5
+ *
6
+ * The TEXT renderer is the first tier in the Universal Terminal UI's
7
+ * multi-tier rendering architecture. It outputs plain text without any
8
+ * formatting markers, colors, or special characters.
9
+ *
10
+ * Text Tier (tier 1 of 6):
11
+ * - Simple content only, no bold/italic/code markers
12
+ * - Tables rendered as key=value lines (one per line)
13
+ * - Lists rendered as bullet points (- item)
14
+ * - Metrics rendered as "Label: value" format
15
+ * - Nested structures indented (2 spaces per level)
16
+ * - Dashboard layout as labeled sections with separators
17
+ * - All special characters and formatting stripped
18
+ */
19
+
20
+ /**
21
+ * Text render options
22
+ */
23
+ interface TextRenderOptions {
24
+ /** Current indentation level */
25
+ indent?: number;
26
+ }
27
+ /**
28
+ * Renders a UINode tree to a plain text string.
29
+ *
30
+ * @param node - The UINode tree to render
31
+ * @param options - Optional rendering configuration
32
+ * @returns Plain text string
33
+ */
34
+ declare function renderText(node: UINode, options?: TextRenderOptions): string;
35
+
36
+ /**
37
+ * ANSI to CSS Converter
38
+ *
39
+ * Converts ANSI escape codes to CSS styles for web rendering.
40
+ * This enables browser-based terminal emulators to display styled output.
41
+ *
42
+ * Supports:
43
+ * - 16 basic colors (30-37, 40-47)
44
+ * - Bright colors (90-97, 100-107)
45
+ * - 256-color mode (38;5;n and 48;5;n)
46
+ * - True color / 24-bit RGB (38;2;r;g;b and 48;2;r;g;b)
47
+ * - Text styles (bold, dim, italic, underline, strikethrough, inverse)
48
+ * - Reset codes (0, 22, 23, 24, 39, 49)
49
+ *
50
+ * @module
51
+ */
52
+ /**
53
+ * CSS style properties for a styled text span
54
+ */
55
+ interface CSSStyleProperties {
56
+ color?: string;
57
+ backgroundColor?: string;
58
+ fontWeight?: 'bold' | 'normal';
59
+ fontStyle?: 'italic' | 'normal';
60
+ textDecoration?: 'underline' | 'line-through' | 'none';
61
+ opacity?: number;
62
+ }
63
+ /**
64
+ * A span of text with associated CSS styles
65
+ */
66
+ interface StyledSpan {
67
+ text: string;
68
+ style: CSSStyleProperties;
69
+ }
70
+ /**
71
+ * Result of parsing ANSI string to CSS
72
+ */
73
+ interface ANSIToCSSResult {
74
+ spans: StyledSpan[];
75
+ plainText: string;
76
+ }
77
+ /**
78
+ * Converts ANSI-escaped string to CSS-styled spans.
79
+ *
80
+ * @param ansiString - String containing ANSI escape codes
81
+ * @returns Object with spans array and plain text
82
+ *
83
+ * @example
84
+ * ```ts
85
+ * const result = ansiToCSS('\x1b[31mRed text\x1b[0m')
86
+ * // result.spans[0].style.color === 'red'
87
+ * // result.plainText === 'Red text'
88
+ * ```
89
+ */
90
+ declare function ansiToCSS(ansiString: string): ANSIToCSSResult;
91
+ /**
92
+ * Converts a styled span to an inline CSS style string.
93
+ *
94
+ * @param span - A styled span object
95
+ * @returns CSS inline style string (e.g., "color: red; font-weight: bold")
96
+ */
97
+ declare function spanToInlineStyle(span: StyledSpan): string;
98
+ /**
99
+ * Converts ANSI-escaped string to HTML with styled span elements.
100
+ *
101
+ * @param ansiString - String containing ANSI escape codes
102
+ * @returns HTML string with styled spans
103
+ *
104
+ * @example
105
+ * ```ts
106
+ * const html = ansiToHTML('\x1b[31mRed text\x1b[0m')
107
+ * // html === '<span style="color: red">Red text</span>'
108
+ * ```
109
+ */
110
+ declare function ansiToHTML(ansiString: string): string;
111
+ /**
112
+ * Parses ANSI string to array of styled spans for React rendering.
113
+ *
114
+ * @param ansiString - String containing ANSI escape codes
115
+ * @returns Array of styled spans with React-compatible style objects
116
+ */
117
+ declare function parseAnsiToSpans(ansiString: string): StyledSpan[];
118
+
119
+ export { type ANSIToCSSResult as A, type CSSStyleProperties as C, type StyledSpan as S, type TextRenderOptions as T, ansiToCSS as a, ansiToHTML as b, parseAnsiToSpans as p, renderText as r, spanToInlineStyle as s };