termui 0.1.0 → 0.1.2

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 (257) hide show
  1. package/dist/chunk-B2VO7M2O.js +3493 -0
  2. package/dist/chunk-B2VO7M2O.js.map +1 -0
  3. package/dist/chunk-ZZKFZA2U.js +694 -0
  4. package/dist/chunk-ZZKFZA2U.js.map +1 -0
  5. package/dist/components.d.ts +668 -0
  6. package/dist/components.js +130 -0
  7. package/dist/components.js.map +1 -0
  8. package/dist/core.d.ts +144 -0
  9. package/dist/core.js +99 -0
  10. package/dist/core.js.map +1 -0
  11. package/dist/hooks-YADffFjU.d.ts +237 -0
  12. package/dist/hooks.d.ts +3 -0
  13. package/dist/hooks.js +29 -0
  14. package/dist/hooks.js.map +1 -0
  15. package/dist/index.d.ts +6 -0
  16. package/dist/index.js +225 -0
  17. package/dist/index.js.map +1 -0
  18. package/package.json +41 -10
  19. package/packages/cli/package.json +0 -36
  20. package/packages/components/dist/data/List.d.ts +0 -15
  21. package/packages/components/dist/data/List.d.ts.map +0 -1
  22. package/packages/components/dist/data/List.js +0 -40
  23. package/packages/components/dist/data/List.js.map +0 -1
  24. package/packages/components/dist/data/Table.d.ts +0 -17
  25. package/packages/components/dist/data/Table.d.ts.map +0 -1
  26. package/packages/components/dist/data/Table.js +0 -74
  27. package/packages/components/dist/data/Table.js.map +0 -1
  28. package/packages/components/dist/data/index.d.ts +0 -5
  29. package/packages/components/dist/data/index.d.ts.map +0 -1
  30. package/packages/components/dist/data/index.js +0 -3
  31. package/packages/components/dist/data/index.js.map +0 -1
  32. package/packages/components/dist/feedback/Alert.d.ts +0 -10
  33. package/packages/components/dist/feedback/Alert.d.ts.map +0 -1
  34. package/packages/components/dist/feedback/Alert.js +0 -23
  35. package/packages/components/dist/feedback/Alert.js.map +0 -1
  36. package/packages/components/dist/feedback/ProgressBar.d.ts +0 -13
  37. package/packages/components/dist/feedback/ProgressBar.d.ts.map +0 -1
  38. package/packages/components/dist/feedback/ProgressBar.js +0 -13
  39. package/packages/components/dist/feedback/ProgressBar.js.map +0 -1
  40. package/packages/components/dist/feedback/Spinner.d.ts +0 -9
  41. package/packages/components/dist/feedback/Spinner.d.ts.map +0 -1
  42. package/packages/components/dist/feedback/Spinner.js +0 -26
  43. package/packages/components/dist/feedback/Spinner.js.map +0 -1
  44. package/packages/components/dist/feedback/index.d.ts +0 -7
  45. package/packages/components/dist/feedback/index.d.ts.map +0 -1
  46. package/packages/components/dist/feedback/index.js +0 -4
  47. package/packages/components/dist/feedback/index.js.map +0 -1
  48. package/packages/components/dist/forms/Form.d.ts +0 -22
  49. package/packages/components/dist/forms/Form.d.ts.map +0 -1
  50. package/packages/components/dist/forms/Form.js +0 -45
  51. package/packages/components/dist/forms/Form.js.map +0 -1
  52. package/packages/components/dist/forms/index.d.ts +0 -3
  53. package/packages/components/dist/forms/index.d.ts.map +0 -1
  54. package/packages/components/dist/forms/index.js +0 -2
  55. package/packages/components/dist/forms/index.js.map +0 -1
  56. package/packages/components/dist/index.d.ts +0 -11
  57. package/packages/components/dist/index.d.ts.map +0 -1
  58. package/packages/components/dist/index.js +0 -21
  59. package/packages/components/dist/index.js.map +0 -1
  60. package/packages/components/dist/input/TextInput.d.ts +0 -14
  61. package/packages/components/dist/input/TextInput.d.ts.map +0 -1
  62. package/packages/components/dist/input/TextInput.js +0 -44
  63. package/packages/components/dist/input/TextInput.js.map +0 -1
  64. package/packages/components/dist/input/index.d.ts +0 -3
  65. package/packages/components/dist/input/index.d.ts.map +0 -1
  66. package/packages/components/dist/input/index.js +0 -2
  67. package/packages/components/dist/input/index.js.map +0 -1
  68. package/packages/components/dist/layout/Box.d.ts +0 -11
  69. package/packages/components/dist/layout/Box.d.ts.map +0 -1
  70. package/packages/components/dist/layout/Box.js +0 -18
  71. package/packages/components/dist/layout/Box.js.map +0 -1
  72. package/packages/components/dist/layout/Grid.d.ts +0 -8
  73. package/packages/components/dist/layout/Grid.d.ts.map +0 -1
  74. package/packages/components/dist/layout/Grid.js +0 -12
  75. package/packages/components/dist/layout/Grid.js.map +0 -1
  76. package/packages/components/dist/layout/ScrollView.d.ts +0 -9
  77. package/packages/components/dist/layout/ScrollView.d.ts.map +0 -1
  78. package/packages/components/dist/layout/ScrollView.js +0 -26
  79. package/packages/components/dist/layout/ScrollView.js.map +0 -1
  80. package/packages/components/dist/layout/Stack.d.ts +0 -12
  81. package/packages/components/dist/layout/Stack.d.ts.map +0 -1
  82. package/packages/components/dist/layout/Stack.js +0 -6
  83. package/packages/components/dist/layout/Stack.js.map +0 -1
  84. package/packages/components/dist/layout/index.d.ts +0 -9
  85. package/packages/components/dist/layout/index.d.ts.map +0 -1
  86. package/packages/components/dist/layout/index.js +0 -5
  87. package/packages/components/dist/layout/index.js.map +0 -1
  88. package/packages/components/dist/navigation/Tabs.d.ts +0 -15
  89. package/packages/components/dist/navigation/Tabs.d.ts.map +0 -1
  90. package/packages/components/dist/navigation/Tabs.js +0 -34
  91. package/packages/components/dist/navigation/Tabs.js.map +0 -1
  92. package/packages/components/dist/navigation/index.d.ts +0 -3
  93. package/packages/components/dist/navigation/index.d.ts.map +0 -1
  94. package/packages/components/dist/navigation/index.js +0 -2
  95. package/packages/components/dist/navigation/index.js.map +0 -1
  96. package/packages/components/dist/overlays/Modal.d.ts +0 -10
  97. package/packages/components/dist/overlays/Modal.d.ts.map +0 -1
  98. package/packages/components/dist/overlays/Modal.js +0 -16
  99. package/packages/components/dist/overlays/Modal.js.map +0 -1
  100. package/packages/components/dist/overlays/index.d.ts +0 -3
  101. package/packages/components/dist/overlays/index.d.ts.map +0 -1
  102. package/packages/components/dist/overlays/index.js +0 -2
  103. package/packages/components/dist/overlays/index.js.map +0 -1
  104. package/packages/components/dist/selection/Checkbox.d.ts +0 -10
  105. package/packages/components/dist/selection/Checkbox.d.ts.map +0 -1
  106. package/packages/components/dist/selection/Checkbox.js +0 -26
  107. package/packages/components/dist/selection/Checkbox.js.map +0 -1
  108. package/packages/components/dist/selection/Select.d.ts +0 -17
  109. package/packages/components/dist/selection/Select.d.ts.map +0 -1
  110. package/packages/components/dist/selection/Select.js +0 -44
  111. package/packages/components/dist/selection/Select.js.map +0 -1
  112. package/packages/components/dist/selection/index.d.ts +0 -5
  113. package/packages/components/dist/selection/index.d.ts.map +0 -1
  114. package/packages/components/dist/selection/index.js +0 -3
  115. package/packages/components/dist/selection/index.js.map +0 -1
  116. package/packages/components/dist/typography/Badge.d.ts +0 -9
  117. package/packages/components/dist/typography/Badge.d.ts.map +0 -1
  118. package/packages/components/dist/typography/Badge.js +0 -18
  119. package/packages/components/dist/typography/Badge.js.map +0 -1
  120. package/packages/components/dist/typography/Text.d.ts +0 -15
  121. package/packages/components/dist/typography/Text.d.ts.map +0 -1
  122. package/packages/components/dist/typography/Text.js +0 -6
  123. package/packages/components/dist/typography/Text.js.map +0 -1
  124. package/packages/components/dist/typography/index.d.ts +0 -5
  125. package/packages/components/dist/typography/index.d.ts.map +0 -1
  126. package/packages/components/dist/typography/index.js +0 -3
  127. package/packages/components/dist/typography/index.js.map +0 -1
  128. package/packages/components/dist/utility/Panel.d.ts +0 -14
  129. package/packages/components/dist/utility/Panel.d.ts.map +0 -1
  130. package/packages/components/dist/utility/Panel.js +0 -8
  131. package/packages/components/dist/utility/Panel.js.map +0 -1
  132. package/packages/components/dist/utility/Toggle.d.ts +0 -11
  133. package/packages/components/dist/utility/Toggle.d.ts.map +0 -1
  134. package/packages/components/dist/utility/Toggle.js +0 -23
  135. package/packages/components/dist/utility/Toggle.js.map +0 -1
  136. package/packages/components/dist/utility/index.d.ts +0 -5
  137. package/packages/components/dist/utility/index.d.ts.map +0 -1
  138. package/packages/components/dist/utility/index.js +0 -3
  139. package/packages/components/dist/utility/index.js.map +0 -1
  140. package/packages/components/package.json +0 -36
  141. package/packages/core/dist/hooks/index.d.ts +0 -18
  142. package/packages/core/dist/hooks/index.d.ts.map +0 -1
  143. package/packages/core/dist/hooks/index.js +0 -13
  144. package/packages/core/dist/hooks/index.js.map +0 -1
  145. package/packages/core/dist/hooks/useAnimation.d.ts +0 -7
  146. package/packages/core/dist/hooks/useAnimation.d.ts.map +0 -1
  147. package/packages/core/dist/hooks/useAnimation.js +0 -40
  148. package/packages/core/dist/hooks/useAnimation.js.map +0 -1
  149. package/packages/core/dist/hooks/useAsync.d.ts +0 -25
  150. package/packages/core/dist/hooks/useAsync.d.ts.map +0 -1
  151. package/packages/core/dist/hooks/useAsync.js +0 -37
  152. package/packages/core/dist/hooks/useAsync.js.map +0 -1
  153. package/packages/core/dist/hooks/useClipboard.d.ts +0 -9
  154. package/packages/core/dist/hooks/useClipboard.d.ts.map +0 -1
  155. package/packages/core/dist/hooks/useClipboard.js +0 -14
  156. package/packages/core/dist/hooks/useClipboard.js.map +0 -1
  157. package/packages/core/dist/hooks/useFocus.d.ts +0 -10
  158. package/packages/core/dist/hooks/useFocus.d.ts.map +0 -1
  159. package/packages/core/dist/hooks/useFocus.js +0 -6
  160. package/packages/core/dist/hooks/useFocus.js.map +0 -1
  161. package/packages/core/dist/hooks/useFocusManager.d.ts +0 -9
  162. package/packages/core/dist/hooks/useFocusManager.d.ts.map +0 -1
  163. package/packages/core/dist/hooks/useFocusManager.js +0 -6
  164. package/packages/core/dist/hooks/useFocusManager.js.map +0 -1
  165. package/packages/core/dist/hooks/useInput.d.ts +0 -22
  166. package/packages/core/dist/hooks/useInput.d.ts.map +0 -1
  167. package/packages/core/dist/hooks/useInput.js +0 -6
  168. package/packages/core/dist/hooks/useInput.js.map +0 -1
  169. package/packages/core/dist/hooks/useInterval.d.ts +0 -6
  170. package/packages/core/dist/hooks/useInterval.d.ts.map +0 -1
  171. package/packages/core/dist/hooks/useInterval.js +0 -18
  172. package/packages/core/dist/hooks/useInterval.js.map +0 -1
  173. package/packages/core/dist/hooks/useKeymap.d.ts +0 -13
  174. package/packages/core/dist/hooks/useKeymap.d.ts.map +0 -1
  175. package/packages/core/dist/hooks/useKeymap.js +0 -36
  176. package/packages/core/dist/hooks/useKeymap.js.map +0 -1
  177. package/packages/core/dist/hooks/useMouse.d.ts +0 -19
  178. package/packages/core/dist/hooks/useMouse.d.ts.map +0 -1
  179. package/packages/core/dist/hooks/useMouse.js +0 -60
  180. package/packages/core/dist/hooks/useMouse.js.map +0 -1
  181. package/packages/core/dist/hooks/useResize.d.ts +0 -7
  182. package/packages/core/dist/hooks/useResize.d.ts.map +0 -1
  183. package/packages/core/dist/hooks/useResize.js +0 -27
  184. package/packages/core/dist/hooks/useResize.js.map +0 -1
  185. package/packages/core/dist/hooks/useTerminal.d.ts +0 -4
  186. package/packages/core/dist/hooks/useTerminal.d.ts.map +0 -1
  187. package/packages/core/dist/hooks/useTerminal.js +0 -17
  188. package/packages/core/dist/hooks/useTerminal.js.map +0 -1
  189. package/packages/core/dist/hooks/useTheme.d.ts +0 -2
  190. package/packages/core/dist/hooks/useTheme.d.ts.map +0 -1
  191. package/packages/core/dist/hooks/useTheme.js +0 -3
  192. package/packages/core/dist/hooks/useTheme.js.map +0 -1
  193. package/packages/core/dist/index.d.ts +0 -4
  194. package/packages/core/dist/index.d.ts.map +0 -1
  195. package/packages/core/dist/index.js +0 -7
  196. package/packages/core/dist/index.js.map +0 -1
  197. package/packages/core/dist/styling/ThemeProvider.d.ts +0 -15
  198. package/packages/core/dist/styling/ThemeProvider.d.ts.map +0 -1
  199. package/packages/core/dist/styling/ThemeProvider.js +0 -44
  200. package/packages/core/dist/styling/ThemeProvider.js.map +0 -1
  201. package/packages/core/dist/styling/index.d.ts +0 -7
  202. package/packages/core/dist/styling/index.d.ts.map +0 -1
  203. package/packages/core/dist/styling/index.js +0 -7
  204. package/packages/core/dist/styling/index.js.map +0 -1
  205. package/packages/core/dist/styling/style.d.ts +0 -25
  206. package/packages/core/dist/styling/style.d.ts.map +0 -1
  207. package/packages/core/dist/styling/style.js +0 -57
  208. package/packages/core/dist/styling/style.js.map +0 -1
  209. package/packages/core/dist/styling/themes/default.d.ts +0 -3
  210. package/packages/core/dist/styling/themes/default.d.ts.map +0 -1
  211. package/packages/core/dist/styling/themes/default.js +0 -49
  212. package/packages/core/dist/styling/themes/default.js.map +0 -1
  213. package/packages/core/dist/styling/themes/dracula.d.ts +0 -3
  214. package/packages/core/dist/styling/themes/dracula.d.ts.map +0 -1
  215. package/packages/core/dist/styling/themes/dracula.js +0 -49
  216. package/packages/core/dist/styling/themes/dracula.js.map +0 -1
  217. package/packages/core/dist/styling/themes/nord.d.ts +0 -3
  218. package/packages/core/dist/styling/themes/nord.d.ts.map +0 -1
  219. package/packages/core/dist/styling/themes/nord.js +0 -49
  220. package/packages/core/dist/styling/themes/nord.js.map +0 -1
  221. package/packages/core/dist/styling/tokens.d.ts +0 -57
  222. package/packages/core/dist/styling/tokens.d.ts.map +0 -1
  223. package/packages/core/dist/styling/tokens.js +0 -6
  224. package/packages/core/dist/styling/tokens.js.map +0 -1
  225. package/packages/core/dist/terminal/ansi.d.ts +0 -107
  226. package/packages/core/dist/terminal/ansi.d.ts.map +0 -1
  227. package/packages/core/dist/terminal/ansi.js +0 -153
  228. package/packages/core/dist/terminal/ansi.js.map +0 -1
  229. package/packages/core/dist/terminal/capabilities.d.ts +0 -21
  230. package/packages/core/dist/terminal/capabilities.d.ts.map +0 -1
  231. package/packages/core/dist/terminal/capabilities.js +0 -74
  232. package/packages/core/dist/terminal/capabilities.js.map +0 -1
  233. package/packages/core/dist/terminal/index.d.ts +0 -3
  234. package/packages/core/dist/terminal/index.d.ts.map +0 -1
  235. package/packages/core/dist/terminal/index.js +0 -3
  236. package/packages/core/dist/terminal/index.js.map +0 -1
  237. package/packages/core/package.json +0 -49
  238. package/registry/components/alert/meta.json +0 -9
  239. package/registry/components/badge/meta.json +0 -9
  240. package/registry/components/box/meta.json +0 -9
  241. package/registry/components/checkbox/meta.json +0 -9
  242. package/registry/components/form/meta.json +0 -9
  243. package/registry/components/grid/meta.json +0 -9
  244. package/registry/components/list/meta.json +0 -9
  245. package/registry/components/modal/meta.json +0 -9
  246. package/registry/components/panel/meta.json +0 -9
  247. package/registry/components/progress-bar/meta.json +0 -9
  248. package/registry/components/scroll-view/meta.json +0 -9
  249. package/registry/components/select/meta.json +0 -9
  250. package/registry/components/spinner/meta.json +0 -9
  251. package/registry/components/stack/meta.json +0 -9
  252. package/registry/components/table/meta.json +0 -9
  253. package/registry/components/tabs/meta.json +0 -9
  254. package/registry/components/text/meta.json +0 -9
  255. package/registry/components/text-input/meta.json +0 -9
  256. package/registry/components/toggle/meta.json +0 -9
  257. package/registry/schema.json +0 -178
@@ -0,0 +1,130 @@
1
+ import {
2
+ Alert,
3
+ AspectRatio,
4
+ Badge,
5
+ Banner,
6
+ BigText,
7
+ Box,
8
+ Breadcrumb,
9
+ Card,
10
+ Center,
11
+ Checkbox,
12
+ CheckboxGroup,
13
+ Code,
14
+ Columns,
15
+ Confirm,
16
+ Definition,
17
+ Dialog,
18
+ Digits,
19
+ Divider,
20
+ Drawer,
21
+ Form,
22
+ FormField,
23
+ Gradient,
24
+ Grid,
25
+ Heading,
26
+ KeyValue,
27
+ Link,
28
+ List,
29
+ Menu,
30
+ Modal,
31
+ MultiSelect,
32
+ NumberInput,
33
+ Pagination,
34
+ Panel,
35
+ PasswordInput,
36
+ Popover,
37
+ ProgressBar,
38
+ ProgressCircle,
39
+ RadioGroup,
40
+ ScrollView,
41
+ SearchInput,
42
+ Select,
43
+ Sidebar,
44
+ Skeleton,
45
+ Spacer,
46
+ Spinner,
47
+ Stack,
48
+ StatusMessage,
49
+ Table,
50
+ Tabs,
51
+ Tag,
52
+ TagInput,
53
+ Text,
54
+ TextArea,
55
+ TextInput,
56
+ Toast,
57
+ Toggle,
58
+ Tooltip,
59
+ Tree,
60
+ VirtualList,
61
+ Wizard,
62
+ gradientText,
63
+ useFormContext
64
+ } from "./chunk-B2VO7M2O.js";
65
+ import "./chunk-ZZKFZA2U.js";
66
+ export {
67
+ Alert,
68
+ AspectRatio,
69
+ Badge,
70
+ Banner,
71
+ BigText,
72
+ Box,
73
+ Breadcrumb,
74
+ Card,
75
+ Center,
76
+ Checkbox,
77
+ CheckboxGroup,
78
+ Code,
79
+ Columns,
80
+ Confirm,
81
+ Definition,
82
+ Dialog,
83
+ Digits,
84
+ Divider,
85
+ Drawer,
86
+ Form,
87
+ FormField,
88
+ Gradient,
89
+ Grid,
90
+ Heading,
91
+ KeyValue,
92
+ Link,
93
+ List,
94
+ Menu,
95
+ Modal,
96
+ MultiSelect,
97
+ NumberInput,
98
+ Pagination,
99
+ Panel,
100
+ PasswordInput,
101
+ Popover,
102
+ ProgressBar,
103
+ ProgressCircle,
104
+ RadioGroup,
105
+ ScrollView,
106
+ SearchInput,
107
+ Select,
108
+ Sidebar,
109
+ Skeleton,
110
+ Spacer,
111
+ Spinner,
112
+ Stack,
113
+ StatusMessage,
114
+ Table,
115
+ Tabs,
116
+ Tag,
117
+ TagInput,
118
+ Text,
119
+ TextArea,
120
+ TextInput,
121
+ Toast,
122
+ Toggle,
123
+ Tooltip,
124
+ Tree,
125
+ VirtualList,
126
+ Wizard,
127
+ gradientText,
128
+ useFormContext
129
+ };
130
+ //# sourceMappingURL=components.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
package/dist/core.d.ts ADDED
@@ -0,0 +1,144 @@
1
+ import { e as Theme } from './hooks-YADffFjU.js';
2
+ export { A as AsyncState, B as BorderTokens, C as ColorDepth, a as ColorTokens, I as InputHandler, K as Key, b as KeyBinding, M as MouseButton, c as MouseEvent, S as SpacingTokens, T as TerminalCapabilities, d as TerminalSize, f as ThemeProvider, g as TypographyTokens, h as createTheme, i as detectCapabilities, j as getCapabilities, r as refreshCapabilities, u as useAnimation, k as useAsync, l as useClipboard, m as useFocus, n as useFocusManager, o as useInput, p as useInterval, q as useKeymap, s as useMouse, t as useResize, v as useTerminal, w as useTheme, x as useThemeUpdater } from './hooks-YADffFjU.js';
3
+ import 'react/jsx-runtime';
4
+ import 'react';
5
+
6
+ /**
7
+ * ANSI escape code utilities for terminal output.
8
+ * Covers: colors, styles, cursor movement, screen control.
9
+ */
10
+ declare const reset = '\u001B[0m';
11
+ declare const bold = '\u001B[1m';
12
+ declare const dim = '\u001B[2m';
13
+ declare const italic = '\u001B[3m';
14
+ declare const underline = '\u001B[4m';
15
+ declare const blink = '\u001B[5m';
16
+ declare const inverse = '\u001B[7m';
17
+ declare const hidden = '\u001B[8m';
18
+ declare const strikethrough = '\u001B[9m';
19
+ declare const fg: {
20
+ readonly black: '\u001B[30m';
21
+ readonly red: '\u001B[31m';
22
+ readonly green: '\u001B[32m';
23
+ readonly yellow: '\u001B[33m';
24
+ readonly blue: '\u001B[34m';
25
+ readonly magenta: '\u001B[35m';
26
+ readonly cyan: '\u001B[36m';
27
+ readonly white: '\u001B[37m';
28
+ readonly default: '\u001B[39m';
29
+ readonly brightBlack: '\u001B[90m';
30
+ readonly brightRed: '\u001B[91m';
31
+ readonly brightGreen: '\u001B[92m';
32
+ readonly brightYellow: '\u001B[93m';
33
+ readonly brightBlue: '\u001B[94m';
34
+ readonly brightMagenta: '\u001B[95m';
35
+ readonly brightCyan: '\u001B[96m';
36
+ readonly brightWhite: '\u001B[97m';
37
+ };
38
+ declare const bg: {
39
+ readonly black: '\u001B[40m';
40
+ readonly red: '\u001B[41m';
41
+ readonly green: '\u001B[42m';
42
+ readonly yellow: '\u001B[43m';
43
+ readonly blue: '\u001B[44m';
44
+ readonly magenta: '\u001B[45m';
45
+ readonly cyan: '\u001B[46m';
46
+ readonly white: '\u001B[47m';
47
+ readonly default: '\u001B[49m';
48
+ readonly brightBlack: '\u001B[100m';
49
+ readonly brightRed: '\u001B[101m';
50
+ readonly brightGreen: '\u001B[102m';
51
+ readonly brightYellow: '\u001B[103m';
52
+ readonly brightBlue: '\u001B[104m';
53
+ readonly brightMagenta: '\u001B[105m';
54
+ readonly brightCyan: '\u001B[106m';
55
+ readonly brightWhite: '\u001B[107m';
56
+ };
57
+ /** 256-color foreground: \x1b[38;5;<n>m */
58
+ declare function fg256(n: number): string;
59
+ /** 256-color background: \x1b[48;5;<n>m */
60
+ declare function bg256(n: number): string;
61
+ /** True-color (24-bit) foreground: \x1b[38;2;<r>;<g>;<b>m */
62
+ declare function fgRgb(r: number, g: number, b: number): string;
63
+ /** True-color (24-bit) background: \x1b[48;2;<r>;<g>;<b>m */
64
+ declare function bgRgb(r: number, g: number, b: number): string;
65
+ /** Parse a hex color string (#RRGGBB or #RGB) into {r,g,b} */
66
+ declare function parseHex(hex: string): {
67
+ r: number;
68
+ g: number;
69
+ b: number;
70
+ };
71
+ /** Apply true-color foreground from a hex string */
72
+ declare function fgHex(hex: string): string;
73
+ /** Apply true-color background from a hex string */
74
+ declare function bgHex(hex: string): string;
75
+ declare const cursor: {
76
+ readonly up: (n?: number) => string;
77
+ readonly down: (n?: number) => string;
78
+ readonly forward: (n?: number) => string;
79
+ readonly back: (n?: number) => string;
80
+ readonly nextLine: (n?: number) => string;
81
+ readonly prevLine: (n?: number) => string;
82
+ readonly column: (n?: number) => string;
83
+ readonly position: (row: number, col: number) => string;
84
+ readonly hide: '\u001B[?25l';
85
+ readonly show: '\u001B[?25h';
86
+ readonly save: '\u001B[s';
87
+ readonly restore: '\u001B[u';
88
+ };
89
+ declare const screen: {
90
+ readonly clear: '\u001B[2J';
91
+ readonly clearToEnd: '\u001B[0J';
92
+ readonly clearToStart: '\u001B[1J';
93
+ readonly clearLine: '\u001B[2K';
94
+ readonly clearLineToEnd: '\u001B[0K';
95
+ readonly clearLineToStart: '\u001B[1K';
96
+ readonly alternateBuffer: '\u001B[?1049h';
97
+ readonly mainBuffer: '\u001B[?1049l';
98
+ };
99
+ declare const osc: {
100
+ /** OSC 8 — hyperlink: \x1b]8;;url\x1b\\ text \x1b]8;;\x1b\\ */
101
+ readonly hyperlink: (url: string, text: string) => string;
102
+ /** OSC 52 — clipboard write (base64-encoded) */
103
+ readonly clipboardWrite: (data: string) => string;
104
+ /** OSC 0 — set window title */
105
+ readonly setTitle: (title: string) => string;
106
+ };
107
+ /** Wrap text with a style and reset */
108
+ declare function style$1(code: string, text: string): string;
109
+ declare function stripAnsi(str: string): string;
110
+ /** Measure visible width of a string (strips ANSI first) */
111
+ declare function visibleWidth(str: string): number;
112
+
113
+ /**
114
+ * Chainable style builder for ANSI-styled strings.
115
+ *
116
+ * Usage:
117
+ * style('Hello').bold().fg('#FF0000').build()
118
+ * style('World').dim().underline().build()
119
+ */
120
+ declare class StyleBuilder {
121
+ private _text;
122
+ private _codes;
123
+ constructor(text: string);
124
+ bold(): this;
125
+ dim(): this;
126
+ italic(): this;
127
+ underline(): this;
128
+ strikethrough(): this;
129
+ fg(color: string): this;
130
+ bg(color: string): this;
131
+ /** Build the final ANSI-styled string */
132
+ build(): string;
133
+ toString(): string;
134
+ }
135
+ /** Entry point: style('text').bold().fg('#fff').build() */
136
+ declare function style(text: string): StyleBuilder;
137
+
138
+ declare const defaultTheme: Theme;
139
+
140
+ declare const draculaTheme: Theme;
141
+
142
+ declare const nordTheme: Theme;
143
+
144
+ export { StyleBuilder, Theme, style$1 as ansiStyle, bg, bg256, bgHex, bgRgb, blink, bold, cursor, defaultTheme, dim, draculaTheme, fg, fg256, fgHex, fgRgb, hidden, inverse, italic, nordTheme, osc, parseHex, reset, screen, strikethrough, stripAnsi, style, underline, visibleWidth };
package/dist/core.js ADDED
@@ -0,0 +1,99 @@
1
+ import {
2
+ StyleBuilder,
3
+ ThemeProvider,
4
+ bg,
5
+ bg256,
6
+ bgHex,
7
+ bgRgb,
8
+ blink,
9
+ bold,
10
+ createTheme,
11
+ cursor,
12
+ defaultTheme,
13
+ detectCapabilities,
14
+ dim,
15
+ draculaTheme,
16
+ fg,
17
+ fg256,
18
+ fgHex,
19
+ fgRgb,
20
+ getCapabilities,
21
+ hidden,
22
+ inverse,
23
+ italic,
24
+ nordTheme,
25
+ osc,
26
+ parseHex,
27
+ refreshCapabilities,
28
+ reset,
29
+ screen,
30
+ strikethrough,
31
+ stripAnsi,
32
+ style,
33
+ style2,
34
+ underline,
35
+ useAnimation,
36
+ useAsync,
37
+ useClipboard,
38
+ useFocus,
39
+ useFocusManager,
40
+ useInput,
41
+ useInterval,
42
+ useKeymap,
43
+ useMouse,
44
+ useResize,
45
+ useTerminal,
46
+ useTheme,
47
+ useThemeUpdater,
48
+ visibleWidth
49
+ } from "./chunk-ZZKFZA2U.js";
50
+ export {
51
+ StyleBuilder,
52
+ ThemeProvider,
53
+ style as ansiStyle,
54
+ bg,
55
+ bg256,
56
+ bgHex,
57
+ bgRgb,
58
+ blink,
59
+ bold,
60
+ createTheme,
61
+ cursor,
62
+ defaultTheme,
63
+ detectCapabilities,
64
+ dim,
65
+ draculaTheme,
66
+ fg,
67
+ fg256,
68
+ fgHex,
69
+ fgRgb,
70
+ getCapabilities,
71
+ hidden,
72
+ inverse,
73
+ italic,
74
+ nordTheme,
75
+ osc,
76
+ parseHex,
77
+ refreshCapabilities,
78
+ reset,
79
+ screen,
80
+ strikethrough,
81
+ stripAnsi,
82
+ style2 as style,
83
+ underline,
84
+ useAnimation,
85
+ useAsync,
86
+ useClipboard,
87
+ useFocus,
88
+ useFocusManager,
89
+ useInput,
90
+ useInterval,
91
+ useKeymap,
92
+ useMouse,
93
+ useResize,
94
+ useTerminal,
95
+ useTheme,
96
+ useThemeUpdater,
97
+ visibleWidth
98
+ };
99
+ //# sourceMappingURL=core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,237 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode } from 'react';
3
+
4
+ /**
5
+ * Terminal capability detection.
6
+ * Detects: color depth, unicode support, mouse support, true-color.
7
+ */
8
+ type ColorDepth = 1 | 4 | 8 | 24;
9
+ interface TerminalCapabilities {
10
+ colorDepth: ColorDepth;
11
+ supportsUnicode: boolean;
12
+ supportsTrueColor: boolean;
13
+ supports256Color: boolean;
14
+ supportsMouse: boolean;
15
+ columns: number;
16
+ rows: number;
17
+ isTTY: boolean;
18
+ }
19
+ /** Detect current terminal capabilities from process environment */
20
+ declare function detectCapabilities(): TerminalCapabilities;
21
+ declare function getCapabilities(): TerminalCapabilities;
22
+ /** Force re-detect capabilities (useful after SIGWINCH) */
23
+ declare function refreshCapabilities(): TerminalCapabilities;
24
+
25
+ /**
26
+ * Design token types for TermUI theming.
27
+ * All theme objects must conform to this shape.
28
+ */
29
+ interface ColorTokens {
30
+ primary: string;
31
+ primaryForeground: string;
32
+ secondary: string;
33
+ secondaryForeground: string;
34
+ accent: string;
35
+ accentForeground: string;
36
+ success: string;
37
+ successForeground: string;
38
+ warning: string;
39
+ warningForeground: string;
40
+ error: string;
41
+ errorForeground: string;
42
+ info: string;
43
+ infoForeground: string;
44
+ background: string;
45
+ foreground: string;
46
+ muted: string;
47
+ mutedForeground: string;
48
+ border: string;
49
+ focusRing: string;
50
+ selection: string;
51
+ selectionForeground: string;
52
+ }
53
+ interface SpacingTokens {
54
+ 0: number;
55
+ 1: number;
56
+ 2: number;
57
+ 3: number;
58
+ 4: number;
59
+ 6: number;
60
+ 8: number;
61
+ }
62
+ interface TypographyTokens {
63
+ bold: boolean;
64
+ sm: string;
65
+ base: string;
66
+ lg: string;
67
+ xl: string;
68
+ }
69
+ interface BorderTokens {
70
+ style: 'single' | 'double' | 'round' | 'bold' | 'singleDouble' | 'doubleSingle' | 'classic';
71
+ color: string;
72
+ focusColor: string;
73
+ }
74
+ interface Theme {
75
+ name: string;
76
+ colors: ColorTokens;
77
+ spacing: SpacingTokens;
78
+ typography: TypographyTokens;
79
+ border: BorderTokens;
80
+ }
81
+
82
+ interface ThemeProviderProps {
83
+ theme?: Theme;
84
+ children: ReactNode;
85
+ }
86
+ declare function ThemeProvider({
87
+ theme,
88
+ children,
89
+ }: ThemeProviderProps): react_jsx_runtime.JSX.Element;
90
+ declare function useTheme(): Theme;
91
+ declare function useThemeUpdater(): (theme: Theme) => void;
92
+ /** Create a custom theme by merging with the default theme */
93
+ declare function createTheme(
94
+ overrides: Partial<Theme> & {
95
+ name: string;
96
+ }
97
+ ): Theme;
98
+
99
+ type Key = {
100
+ upArrow: boolean;
101
+ downArrow: boolean;
102
+ leftArrow: boolean;
103
+ rightArrow: boolean;
104
+ pageDown: boolean;
105
+ pageUp: boolean;
106
+ return: boolean;
107
+ escape: boolean;
108
+ ctrl: boolean;
109
+ shift: boolean;
110
+ tab: boolean;
111
+ backspace: boolean;
112
+ delete: boolean;
113
+ meta: boolean;
114
+ };
115
+ type InputHandler = (input: string, key: Key) => void;
116
+ /** Keyboard input hook — delegates to Ink's useInput */
117
+ declare function useInput(
118
+ handler: InputHandler,
119
+ options?: {
120
+ isActive?: boolean;
121
+ }
122
+ ): void;
123
+
124
+ /** Single component focus state — delegates to Ink's useFocus */
125
+ declare function useFocus(options?: {
126
+ autoFocus?: boolean;
127
+ isActive?: boolean;
128
+ id?: string;
129
+ }): {
130
+ isFocused: boolean;
131
+ focus: (id: string) => void;
132
+ };
133
+
134
+ /** Global programmatic focus control — delegates to Ink's useFocusManager */
135
+ declare function useFocusManager(): {
136
+ enableFocus: () => void;
137
+ disableFocus: () => void;
138
+ focusNext: () => void;
139
+ focusPrevious: () => void;
140
+ focus: (id: string) => void;
141
+ };
142
+
143
+ /** Returns current terminal capabilities, updates on resize */
144
+ declare function useTerminal(): TerminalCapabilities;
145
+
146
+ /**
147
+ * Frame-based animation hook at configurable fps.
148
+ * Returns the current frame index (increments every tick).
149
+ */
150
+ declare function useAnimation(fps?: number): number;
151
+
152
+ /**
153
+ * React-safe setInterval hook with automatic cleanup.
154
+ * The callback is always fresh (via ref) so stale closure is not an issue.
155
+ */
156
+ declare function useInterval(callback: () => void, delay: number | null): void;
157
+
158
+ /**
159
+ * OSC 52 clipboard hook.
160
+ * write() sends data to the terminal's clipboard via OSC 52.
161
+ * Note: read() is not universally supported; returns null on unsupported terminals.
162
+ */
163
+ declare function useClipboard(): {
164
+ write: (text: string) => void;
165
+ };
166
+
167
+ type KeyBinding = {
168
+ key?: string;
169
+ ctrl?: boolean;
170
+ shift?: boolean;
171
+ meta?: boolean;
172
+ action: () => void;
173
+ };
174
+ /**
175
+ * Declarative keybinding registration with conflict detection.
176
+ * Pass an array of KeyBinding objects; the hook handles matching and invocation.
177
+ */
178
+ declare function useKeymap(bindings: KeyBinding[], isActive?: boolean): void;
179
+
180
+ type MouseButton = 'left' | 'middle' | 'right' | 'scrollUp' | 'scrollDown';
181
+ interface MouseEvent {
182
+ type: 'press' | 'release' | 'move';
183
+ button: MouseButton;
184
+ x: number;
185
+ y: number;
186
+ ctrl: boolean;
187
+ shift: boolean;
188
+ meta: boolean;
189
+ }
190
+ type MouseHandler = (event: MouseEvent) => void;
191
+ /**
192
+ * Mouse events hook (click, scroll, drag).
193
+ * Requires terminal to support xterm mouse protocol.
194
+ * Enables mouse tracking on mount, disables on unmount.
195
+ */
196
+ declare function useMouse(handler: MouseHandler): void;
197
+
198
+ interface TerminalSize {
199
+ columns: number;
200
+ rows: number;
201
+ }
202
+ /** Returns terminal dimensions, updates on resize with debounce */
203
+ declare function useResize(debounceMs?: number): TerminalSize;
204
+
205
+ type AsyncState<T> =
206
+ | {
207
+ status: 'idle';
208
+ data: null;
209
+ error: null;
210
+ }
211
+ | {
212
+ status: 'loading';
213
+ data: null;
214
+ error: null;
215
+ }
216
+ | {
217
+ status: 'success';
218
+ data: T;
219
+ error: null;
220
+ }
221
+ | {
222
+ status: 'error';
223
+ data: null;
224
+ error: Error;
225
+ };
226
+ /**
227
+ * Async data loading hook with loading/error/data states.
228
+ * Automatically cancels stale requests.
229
+ */
230
+ declare function useAsync<T>(
231
+ asyncFn: () => Promise<T>,
232
+ deps?: unknown[]
233
+ ): AsyncState<T> & {
234
+ refetch: () => void;
235
+ };
236
+
237
+ export { type AsyncState as A, type BorderTokens as B, type ColorDepth as C, type InputHandler as I, type Key as K, type MouseButton as M, type SpacingTokens as S, type TerminalCapabilities as T, type ColorTokens as a, type KeyBinding as b, type MouseEvent as c, type TerminalSize as d, type Theme as e, ThemeProvider as f, type TypographyTokens as g, createTheme as h, detectCapabilities as i, getCapabilities as j, useAsync as k, useClipboard as l, useFocus as m, useFocusManager as n, useInput as o, useInterval as p, useKeymap as q, refreshCapabilities as r, useMouse as s, useResize as t, useAnimation as u, useTerminal as v, useTheme as w, useThemeUpdater as x };
@@ -0,0 +1,3 @@
1
+ export { A as AsyncState, I as InputHandler, K as Key, b as KeyBinding, M as MouseButton, c as MouseEvent, d as TerminalSize, u as useAnimation, k as useAsync, l as useClipboard, m as useFocus, n as useFocusManager, o as useInput, p as useInterval, q as useKeymap, s as useMouse, t as useResize, v as useTerminal, w as useTheme } from './hooks-YADffFjU.js';
2
+ import 'react/jsx-runtime';
3
+ import 'react';
package/dist/hooks.js ADDED
@@ -0,0 +1,29 @@
1
+ import {
2
+ useAnimation,
3
+ useAsync,
4
+ useClipboard,
5
+ useFocus,
6
+ useFocusManager,
7
+ useInput,
8
+ useInterval,
9
+ useKeymap,
10
+ useMouse,
11
+ useResize,
12
+ useTerminal,
13
+ useTheme
14
+ } from "./chunk-ZZKFZA2U.js";
15
+ export {
16
+ useAnimation,
17
+ useAsync,
18
+ useClipboard,
19
+ useFocus,
20
+ useFocusManager,
21
+ useInput,
22
+ useInterval,
23
+ useKeymap,
24
+ useMouse,
25
+ useResize,
26
+ useTerminal,
27
+ useTheme
28
+ };
29
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,6 @@
1
+ export { StyleBuilder, ansiStyle, bg, bg256, bgHex, bgRgb, blink, bold, cursor, defaultTheme, dim, draculaTheme, fg, fg256, fgHex, fgRgb, hidden, inverse, italic, nordTheme, osc, parseHex, reset, screen, strikethrough, stripAnsi, style, underline, visibleWidth } from './core.js';
2
+ export { A as AsyncState, B as BorderTokens, C as ColorDepth, a as ColorTokens, I as InputHandler, K as Key, b as KeyBinding, M as MouseButton, c as MouseEvent, S as SpacingTokens, T as TerminalCapabilities, d as TerminalSize, e as Theme, f as ThemeProvider, g as TypographyTokens, h as createTheme, i as detectCapabilities, j as getCapabilities, r as refreshCapabilities, u as useAnimation, k as useAsync, l as useClipboard, m as useFocus, n as useFocusManager, o as useInput, p as useInterval, q as useKeymap, s as useMouse, t as useResize, v as useTerminal, w as useTheme, x as useThemeUpdater } from './hooks-YADffFjU.js';
3
+ export { Alert, AlertProps, AlertVariant, AspectRatio, AspectRatioProps, Badge, BadgeProps, BadgeVariant, Banner, BannerProps, BannerVariant, BigText, BigTextFont, BigTextProps, BorderVariant, Box, BoxProps, Breadcrumb, BreadcrumbItem, BreadcrumbProps, Card, CardProps, Center, CenterProps, Checkbox, CheckboxGroup, CheckboxGroupOption, CheckboxGroupProps, CheckboxProps, Code, CodeProps, Column, Columns, ColumnsProps, Confirm, ConfirmProps, Definition, DefinitionItem, DefinitionProps, Dialog, DialogProps, DigitSize, Digits, DigitsProps, Divider, DividerProps, Drawer, DrawerEdge, DrawerProps, Form, FormField, FormFieldDefinition, FormFieldProps, FormProps, Gradient, GradientChar, GradientProps, Grid, GridProps, Heading, HeadingLevel, HeadingProps, KeyValue, KeyValueItem, KeyValueProps, Link, LinkProps, List, ListItem, ListProps, Menu, MenuItem, MenuProps, Modal, ModalProps, MultiSelect, MultiSelectOption, MultiSelectProps, NumberInput, NumberInputProps, Pagination, PaginationProps, Panel, PanelProps, PasswordInput, PasswordInputProps, Popover, PopoverProps, ProgressBar, ProgressBarProps, ProgressCircle, ProgressCircleProps, ProgressCircleSize, RadioGroup, RadioGroupProps, RadioOption, ScrollView, ScrollViewProps, SearchInput, SearchInputProps, Select, SelectOption, SelectProps, Sidebar, SidebarItem, SidebarProps, Skeleton, SkeletonProps, Spacer, SpacerProps, Spinner, SpinnerProps, SpinnerStyle, Stack, StackProps, StatusMessage, StatusMessageProps, StatusVariant, Tab, Table, TableProps, Tabs, TabsProps, Tag, TagInput, TagInputProps, TagProps, TagVariant, Text, TextArea, TextAreaProps, TextInput, TextInputProps, TextProps, Toast, ToastProps, ToastVariant, Toggle, ToggleProps, Tooltip, TooltipProps, Tree, TreeNode, TreeProps, VirtualList, VirtualListProps, Wizard, WizardProps, WizardStep, gradientText, useFormContext } from './components.js';
4
+ import 'react/jsx-runtime';
5
+ import 'react';
6
+ import 'ink';