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
@@ -1,6 +0,0 @@
1
- import { useFocus as inkUseFocus } from 'ink';
2
- /** Single component focus state — delegates to Ink's useFocus */
3
- export function useFocus(options) {
4
- return inkUseFocus(options);
5
- }
6
- //# sourceMappingURL=useFocus.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useFocus.js","sourceRoot":"","sources":["../../src/hooks/useFocus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,WAAW,EAAE,MAAM,KAAK,CAAC;AAE9C,iEAAiE;AACjE,MAAM,UAAU,QAAQ,CAAC,OAAkE;IACzF,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC"}
@@ -1,9 +0,0 @@
1
- /** Global programmatic focus control — delegates to Ink's useFocusManager */
2
- export declare function useFocusManager(): {
3
- enableFocus: () => void;
4
- disableFocus: () => void;
5
- focusNext: () => void;
6
- focusPrevious: () => void;
7
- focus: (id: string) => void;
8
- };
9
- //# sourceMappingURL=useFocusManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useFocusManager.d.ts","sourceRoot":"","sources":["../../src/hooks/useFocusManager.ts"],"names":[],"mappings":"AAEA,6EAA6E;AAC7E,wBAAgB,eAAe;;;;;;EAE9B"}
@@ -1,6 +0,0 @@
1
- import { useFocusManager as inkUseFocusManager } from 'ink';
2
- /** Global programmatic focus control — delegates to Ink's useFocusManager */
3
- export function useFocusManager() {
4
- return inkUseFocusManager();
5
- }
6
- //# sourceMappingURL=useFocusManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useFocusManager.js","sourceRoot":"","sources":["../../src/hooks/useFocusManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,IAAI,kBAAkB,EAAE,MAAM,KAAK,CAAC;AAE5D,6EAA6E;AAC7E,MAAM,UAAU,eAAe;IAC7B,OAAO,kBAAkB,EAAE,CAAC;AAC9B,CAAC"}
@@ -1,22 +0,0 @@
1
- export type Key = {
2
- upArrow: boolean;
3
- downArrow: boolean;
4
- leftArrow: boolean;
5
- rightArrow: boolean;
6
- pageDown: boolean;
7
- pageUp: boolean;
8
- return: boolean;
9
- escape: boolean;
10
- ctrl: boolean;
11
- shift: boolean;
12
- tab: boolean;
13
- backspace: boolean;
14
- delete: boolean;
15
- meta: boolean;
16
- };
17
- export type InputHandler = (input: string, key: Key) => void;
18
- /** Keyboard input hook — delegates to Ink's useInput */
19
- export declare function useInput(handler: InputHandler, options?: {
20
- isActive?: boolean;
21
- }): void;
22
- //# sourceMappingURL=useInput.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useInput.d.ts","sourceRoot":"","sources":["../../src/hooks/useInput.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,GAAG,GAAG;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;AAE7D,wDAAwD;AACxD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAEtF"}
@@ -1,6 +0,0 @@
1
- import { useInput as inkUseInput } from 'ink';
2
- /** Keyboard input hook — delegates to Ink's useInput */
3
- export function useInput(handler, options) {
4
- inkUseInput(handler, options);
5
- }
6
- //# sourceMappingURL=useInput.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useInput.js","sourceRoot":"","sources":["../../src/hooks/useInput.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,WAAW,EAAE,MAAM,KAAK,CAAC;AAqB9C,wDAAwD;AACxD,MAAM,UAAU,QAAQ,CAAC,OAAqB,EAAE,OAAgC;IAC9E,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAChC,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * React-safe setInterval hook with automatic cleanup.
3
- * The callback is always fresh (via ref) so stale closure is not an issue.
4
- */
5
- export declare function useInterval(callback: () => void, delay: number | null): void;
6
- //# sourceMappingURL=useInterval.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useInterval.d.ts","sourceRoot":"","sources":["../../src/hooks/useInterval.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAY5E"}
@@ -1,18 +0,0 @@
1
- import { useEffect, useRef } from 'react';
2
- /**
3
- * React-safe setInterval hook with automatic cleanup.
4
- * The callback is always fresh (via ref) so stale closure is not an issue.
5
- */
6
- export function useInterval(callback, delay) {
7
- const savedCallback = useRef(callback);
8
- useEffect(() => {
9
- savedCallback.current = callback;
10
- }, [callback]);
11
- useEffect(() => {
12
- if (delay === null)
13
- return;
14
- const id = setInterval(() => savedCallback.current(), delay);
15
- return () => clearInterval(id);
16
- }, [delay]);
17
- }
18
- //# sourceMappingURL=useInterval.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useInterval.js","sourceRoot":"","sources":["../../src/hooks/useInterval.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE1C;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,QAAoB,EAAE,KAAoB;IACpE,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEvC,SAAS,CAAC,GAAG,EAAE;QACb,aAAa,CAAC,OAAO,GAAG,QAAQ,CAAC;IACnC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO;QAC3B,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;QAC7D,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AACd,CAAC"}
@@ -1,13 +0,0 @@
1
- export type KeyBinding = {
2
- key?: string;
3
- ctrl?: boolean;
4
- shift?: boolean;
5
- meta?: boolean;
6
- action: () => void;
7
- };
8
- /**
9
- * Declarative keybinding registration with conflict detection.
10
- * Pass an array of KeyBinding objects; the hook handles matching and invocation.
11
- */
12
- export declare function useKeymap(bindings: KeyBinding[], isActive?: boolean): void;
13
- //# sourceMappingURL=useKeymap.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useKeymap.d.ts","sourceRoot":"","sources":["../../src/hooks/useKeymap.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,QAAQ,UAAO,GAAG,IAAI,CA+BvE"}
@@ -1,36 +0,0 @@
1
- import { useEffect, useRef } from 'react';
2
- import { useInput } from './useInput.js';
3
- /**
4
- * Declarative keybinding registration with conflict detection.
5
- * Pass an array of KeyBinding objects; the hook handles matching and invocation.
6
- */
7
- export function useKeymap(bindings, isActive = true) {
8
- const bindingsRef = useRef(bindings);
9
- useEffect(() => {
10
- bindingsRef.current = bindings;
11
- }, [bindings]);
12
- // Detect conflicts on mount
13
- useEffect(() => {
14
- const seen = new Set();
15
- for (const b of bindings) {
16
- const id = `${b.key ?? ''}:${b.ctrl ? 'ctrl' : ''}:${b.shift ? 'shift' : ''}:${b.meta ? 'meta' : ''}`;
17
- if (seen.has(id)) {
18
- console.warn(`[useKeymap] Conflicting keybinding: ${id}`);
19
- }
20
- seen.add(id);
21
- }
22
- // eslint-disable-next-line react-hooks/exhaustive-deps
23
- }, []);
24
- useInput((input, key) => {
25
- for (const binding of bindingsRef.current) {
26
- const keyMatch = !binding.key || input === binding.key;
27
- const ctrlMatch = binding.ctrl === undefined || binding.ctrl === key.ctrl;
28
- const shiftMatch = binding.shift === undefined || binding.shift === key.shift;
29
- const metaMatch = binding.meta === undefined || binding.meta === key.meta;
30
- if (keyMatch && ctrlMatch && shiftMatch && metaMatch) {
31
- binding.action();
32
- }
33
- }
34
- }, { isActive });
35
- }
36
- //# sourceMappingURL=useKeymap.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useKeymap.js","sourceRoot":"","sources":["../../src/hooks/useKeymap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAWzC;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,QAAsB,EAAE,QAAQ,GAAG,IAAI;IAC/D,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAErC,SAAS,CAAC,GAAG,EAAE;QACb,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC;IACjC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,4BAA4B;IAC5B,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACtG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACjB,OAAO,CAAC,IAAI,CAAC,uCAAuC,EAAE,EAAE,CAAC,CAAC;YAC5D,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACf,CAAC;QACH,uDAAuD;IACvD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,QAAQ,CAAC,CAAC,KAAa,EAAE,GAAQ,EAAE,EAAE;QACnC,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YAC1C,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,KAAK,KAAK,OAAO,CAAC,GAAG,CAAC;YACvD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC;YAC1E,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,CAAC;YAC9E,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC;YAC1E,IAAI,QAAQ,IAAI,SAAS,IAAI,UAAU,IAAI,SAAS,EAAE,CAAC;gBACrD,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;AACnB,CAAC"}
@@ -1,19 +0,0 @@
1
- export type MouseButton = 'left' | 'middle' | 'right' | 'scrollUp' | 'scrollDown';
2
- export interface MouseEvent {
3
- type: 'press' | 'release' | 'move';
4
- button: MouseButton;
5
- x: number;
6
- y: number;
7
- ctrl: boolean;
8
- shift: boolean;
9
- meta: boolean;
10
- }
11
- type MouseHandler = (event: MouseEvent) => void;
12
- /**
13
- * Mouse events hook (click, scroll, drag).
14
- * Requires terminal to support xterm mouse protocol.
15
- * Enables mouse tracking on mount, disables on unmount.
16
- */
17
- export declare function useMouse(handler: MouseHandler): void;
18
- export {};
19
- //# sourceMappingURL=useMouse.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useMouse.d.ts","sourceRoot":"","sources":["../../src/hooks/useMouse.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,YAAY,CAAC;AAElF,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACnC,MAAM,EAAE,WAAW,CAAC;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;CACf;AAED,KAAK,YAAY,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;AAEhD;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CA2DpD"}
@@ -1,60 +0,0 @@
1
- import { useEffect } from 'react';
2
- /**
3
- * Mouse events hook (click, scroll, drag).
4
- * Requires terminal to support xterm mouse protocol.
5
- * Enables mouse tracking on mount, disables on unmount.
6
- */
7
- export function useMouse(handler) {
8
- const handlerRef = { current: handler };
9
- useEffect(() => {
10
- handlerRef.current = handler;
11
- });
12
- useEffect(() => {
13
- if (!process.stdout.isTTY)
14
- return;
15
- // Enable xterm mouse protocol (button + any event tracking)
16
- process.stdout.write('\x1b[?1000h'); // basic mouse
17
- process.stdout.write('\x1b[?1002h'); // button event tracking
18
- process.stdout.write('\x1b[?1006h'); // SGR extended coordinates
19
- const rawHandler = (data) => {
20
- const str = data.toString();
21
- // Parse SGR mouse sequence: \x1b[<Cb;Cx;CyM or m
22
- const match = str.match(/\x1b\[<(\d+);(\d+);(\d+)([Mm])/);
23
- if (!match)
24
- return;
25
- const cb = parseInt(match[1], 10);
26
- const x = parseInt(match[2], 10);
27
- const y = parseInt(match[3], 10);
28
- const released = match[4] === 'm';
29
- const ctrl = Boolean(cb & 16);
30
- const meta = Boolean(cb & 8);
31
- const shift = Boolean(cb & 4);
32
- const buttonCode = cb & 3;
33
- let button;
34
- if (cb & 64) {
35
- button = buttonCode === 0 ? 'scrollUp' : 'scrollDown';
36
- }
37
- else {
38
- button = ['left', 'middle', 'right'][buttonCode] ?? 'left';
39
- }
40
- handlerRef.current({
41
- type: released ? 'release' : 'press',
42
- button,
43
- x,
44
- y,
45
- ctrl,
46
- shift,
47
- meta,
48
- });
49
- };
50
- process.stdin.on('data', rawHandler);
51
- return () => {
52
- // Disable mouse tracking
53
- process.stdout.write('\x1b[?1000l');
54
- process.stdout.write('\x1b[?1002l');
55
- process.stdout.write('\x1b[?1006l');
56
- process.stdin.off('data', rawHandler);
57
- };
58
- }, []);
59
- }
60
- //# sourceMappingURL=useMouse.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useMouse.js","sourceRoot":"","sources":["../../src/hooks/useMouse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,SAAS,EAAE,MAAM,OAAO,CAAC;AAgB5C;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAqB;IAC5C,MAAM,UAAU,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAExC,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;YAAE,OAAO;QAElC,4DAA4D;QAC5D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc;QACnD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,wBAAwB;QAC7D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,2BAA2B;QAEhE,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE;YAClC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,iDAAiD;YACjD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAC1D,IAAI,CAAC,KAAK;gBAAE,OAAO;YAEnB,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAClC,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACjC,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;YAElC,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAC9B,MAAM,UAAU,GAAG,EAAE,GAAG,CAAC,CAAC;YAE1B,IAAI,MAAmB,CAAC;YACxB,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;gBACZ,MAAM,GAAG,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAW,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC;YACxE,CAAC;YAED,UAAU,CAAC,OAAO,CAAC;gBACjB,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;gBACpC,MAAM;gBACN,CAAC;gBACD,CAAC;gBACD,IAAI;gBACJ,KAAK;gBACL,IAAI;aACL,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAErC,OAAO,GAAG,EAAE;YACV,yBAAyB;YACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YACpC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACxC,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC"}
@@ -1,7 +0,0 @@
1
- export interface TerminalSize {
2
- columns: number;
3
- rows: number;
4
- }
5
- /** Returns terminal dimensions, updates on resize with debounce */
6
- export declare function useResize(debounceMs?: number): TerminalSize;
7
- //# sourceMappingURL=useResize.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useResize.d.ts","sourceRoot":"","sources":["../../src/hooks/useResize.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,mEAAmE;AACnE,wBAAgB,SAAS,CAAC,UAAU,SAAK,GAAG,YAAY,CAyBvD"}
@@ -1,27 +0,0 @@
1
- import { useState, useEffect } from 'react';
2
- /** Returns terminal dimensions, updates on resize with debounce */
3
- export function useResize(debounceMs = 50) {
4
- const [size, setSize] = useState({
5
- columns: process.stdout.columns ?? 80,
6
- rows: process.stdout.rows ?? 24,
7
- });
8
- useEffect(() => {
9
- let timer;
10
- const handler = () => {
11
- clearTimeout(timer);
12
- timer = setTimeout(() => {
13
- setSize({
14
- columns: process.stdout.columns ?? 80,
15
- rows: process.stdout.rows ?? 24,
16
- });
17
- }, debounceMs);
18
- };
19
- process.stdout.on('resize', handler);
20
- return () => {
21
- clearTimeout(timer);
22
- process.stdout.off('resize', handler);
23
- };
24
- }, [debounceMs]);
25
- return size;
26
- }
27
- //# sourceMappingURL=useResize.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useResize.js","sourceRoot":"","sources":["../../src/hooks/useResize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAO5C,mEAAmE;AACnE,MAAM,UAAU,SAAS,CAAC,UAAU,GAAG,EAAE;IACvC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAe;QAC7C,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE;QACrC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;KAChC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAoC,CAAC;QACzC,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBACtB,OAAO,CAAC;oBACN,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE;oBACrC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;iBAChC,CAAC,CAAC;YACL,CAAC,EAAE,UAAU,CAAC,CAAC;QACjB,CAAC,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrC,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACxC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,4 +0,0 @@
1
- import { type TerminalCapabilities } from '../terminal/capabilities.js';
2
- /** Returns current terminal capabilities, updates on resize */
3
- export declare function useTerminal(): TerminalCapabilities;
4
- //# sourceMappingURL=useTerminal.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTerminal.d.ts","sourceRoot":"","sources":["../../src/hooks/useTerminal.ts"],"names":[],"mappings":"AACA,OAAO,EAAwC,KAAK,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAE9G,+DAA+D;AAC/D,wBAAgB,WAAW,IAAI,oBAAoB,CAclD"}
@@ -1,17 +0,0 @@
1
- import { useState, useEffect } from 'react';
2
- import { getCapabilities, refreshCapabilities } from '../terminal/capabilities.js';
3
- /** Returns current terminal capabilities, updates on resize */
4
- export function useTerminal() {
5
- const [caps, setCaps] = useState(getCapabilities);
6
- useEffect(() => {
7
- const handler = () => {
8
- setCaps(refreshCapabilities());
9
- };
10
- process.stdout.on('resize', handler);
11
- return () => {
12
- process.stdout.off('resize', handler);
13
- };
14
- }, []);
15
- return caps;
16
- }
17
- //# sourceMappingURL=useTerminal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTerminal.js","sourceRoot":"","sources":["../../src/hooks/useTerminal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAA6B,MAAM,6BAA6B,CAAC;AAE9G,+DAA+D;AAC/D,MAAM,UAAU,WAAW;IACzB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAuB,eAAe,CAAC,CAAC;IAExE,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;QACjC,CAAC,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrC,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACxC,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,2 +0,0 @@
1
- export { useTheme } from '../styling/ThemeProvider.js';
2
- //# sourceMappingURL=useTheme.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTheme.d.ts","sourceRoot":"","sources":["../../src/hooks/useTheme.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC"}
@@ -1,3 +0,0 @@
1
- // Re-export from styling engine for convenience
2
- export { useTheme } from '../styling/ThemeProvider.js';
3
- //# sourceMappingURL=useTheme.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTheme.js","sourceRoot":"","sources":["../../src/hooks/useTheme.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC"}
@@ -1,4 +0,0 @@
1
- export * from './terminal/index.js';
2
- export * from './styling/index.js';
3
- export * from './hooks/index.js';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,qBAAqB,CAAC;AAGpC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,kBAAkB,CAAC"}
@@ -1,7 +0,0 @@
1
- // Terminal layer
2
- export * from './terminal/index.js';
3
- // Styling engine
4
- export * from './styling/index.js';
5
- // Hooks
6
- export * from './hooks/index.js';
7
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB,cAAc,qBAAqB,CAAC;AAEpC,iBAAiB;AACjB,cAAc,oBAAoB,CAAC;AAEnC,QAAQ;AACR,cAAc,kBAAkB,CAAC"}
@@ -1,15 +0,0 @@
1
- import { type ReactNode } from 'react';
2
- import type { Theme } from './tokens.js';
3
- interface ThemeProviderProps {
4
- theme?: Theme;
5
- children: ReactNode;
6
- }
7
- export declare function ThemeProvider({ theme, children }: ThemeProviderProps): import("react/jsx-runtime").JSX.Element;
8
- export declare function useTheme(): Theme;
9
- export declare function useThemeUpdater(): (theme: Theme) => void;
10
- /** Create a custom theme by merging with the default theme */
11
- export declare function createTheme(overrides: Partial<Theme> & {
12
- name: string;
13
- }): Theme;
14
- export {};
15
- //# sourceMappingURL=ThemeProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ThemeProvider.d.ts","sourceRoot":"","sources":["../../src/styling/ThemeProvider.tsx"],"names":[],"mappings":"AAAA,OAAc,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACzE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAazC,UAAU,kBAAkB;IAC1B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,aAAa,CAAC,EAAE,KAAoB,EAAE,QAAQ,EAAE,EAAE,kBAAkB,2CAYnF;AAED,wBAAgB,QAAQ,IAAI,KAAK,CAEhC;AAED,wBAAgB,eAAe,IAAI,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAExD;AAED,8DAA8D;AAC9D,wBAAgB,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,KAAK,CAqB/E"}
@@ -1,44 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import React, { createContext, useContext } from 'react';
3
- import { defaultTheme } from './themes/default.js';
4
- const ThemeContext = createContext({
5
- theme: defaultTheme,
6
- setTheme: () => { },
7
- });
8
- export function ThemeProvider({ theme = defaultTheme, children }) {
9
- const [currentTheme, setCurrentTheme] = React.useState(theme);
10
- React.useEffect(() => {
11
- setCurrentTheme(theme);
12
- }, [theme]);
13
- return (_jsx(ThemeContext.Provider, { value: { theme: currentTheme, setTheme: setCurrentTheme }, children: children }));
14
- }
15
- export function useTheme() {
16
- return useContext(ThemeContext).theme;
17
- }
18
- export function useThemeUpdater() {
19
- return useContext(ThemeContext).setTheme;
20
- }
21
- /** Create a custom theme by merging with the default theme */
22
- export function createTheme(overrides) {
23
- return {
24
- ...defaultTheme,
25
- ...overrides,
26
- colors: {
27
- ...defaultTheme.colors,
28
- ...(overrides.colors ?? {}),
29
- },
30
- spacing: {
31
- ...defaultTheme.spacing,
32
- ...(overrides.spacing ?? {}),
33
- },
34
- typography: {
35
- ...defaultTheme.typography,
36
- ...(overrides.typography ?? {}),
37
- },
38
- border: {
39
- ...defaultTheme.border,
40
- ...(overrides.border ?? {}),
41
- },
42
- };
43
- }
44
- //# sourceMappingURL=ThemeProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ThemeProvider.js","sourceRoot":"","sources":["../../src/styling/ThemeProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAkB,MAAM,OAAO,CAAC;AAEzE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAOnD,MAAM,YAAY,GAAG,aAAa,CAAoB;IACpD,KAAK,EAAE,YAAY;IACnB,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;CACnB,CAAC,CAAC;AAOH,MAAM,UAAU,aAAa,CAAC,EAAE,KAAK,GAAG,YAAY,EAAE,QAAQ,EAAsB;IAClF,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAQ,KAAK,CAAC,CAAC;IAErE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,eAAe,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,CACL,KAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,YAC7E,QAAQ,GACa,CACzB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC;AAC3C,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,WAAW,CAAC,SAA4C;IACtE,OAAO;QACL,GAAG,YAAY;QACf,GAAG,SAAS;QACZ,MAAM,EAAE;YACN,GAAG,YAAY,CAAC,MAAM;YACtB,GAAG,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC;SAC5B;QACD,OAAO,EAAE;YACP,GAAG,YAAY,CAAC,OAAO;YACvB,GAAG,CAAC,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC;SAC7B;QACD,UAAU,EAAE;YACV,GAAG,YAAY,CAAC,UAAU;YAC1B,GAAG,CAAC,SAAS,CAAC,UAAU,IAAI,EAAE,CAAC;SAChC;QACD,MAAM,EAAE;YACN,GAAG,YAAY,CAAC,MAAM;YACtB,GAAG,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC;SAC5B;KACF,CAAC;AACJ,CAAC"}
@@ -1,7 +0,0 @@
1
- export * from './tokens.js';
2
- export * from './ThemeProvider.js';
3
- export * from './style.js';
4
- export { defaultTheme } from './themes/default.js';
5
- export { draculaTheme } from './themes/dracula.js';
6
- export { nordTheme } from './themes/nord.js';
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/styling/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,7 +0,0 @@
1
- export * from './tokens.js';
2
- export * from './ThemeProvider.js';
3
- export * from './style.js';
4
- export { defaultTheme } from './themes/default.js';
5
- export { draculaTheme } from './themes/dracula.js';
6
- export { nordTheme } from './themes/nord.js';
7
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/styling/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,25 +0,0 @@
1
- /**
2
- * Chainable style builder for ANSI-styled strings.
3
- *
4
- * Usage:
5
- * style('Hello').bold().fg('#FF0000').build()
6
- * style('World').dim().underline().build()
7
- */
8
- export declare class StyleBuilder {
9
- private _text;
10
- private _codes;
11
- constructor(text: string);
12
- bold(): this;
13
- dim(): this;
14
- italic(): this;
15
- underline(): this;
16
- strikethrough(): this;
17
- fg(color: string): this;
18
- bg(color: string): this;
19
- /** Build the final ANSI-styled string */
20
- build(): string;
21
- toString(): string;
22
- }
23
- /** Entry point: style('text').bold().fg('#fff').build() */
24
- export declare function style(text: string): StyleBuilder;
25
- //# sourceMappingURL=style.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../src/styling/style.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,MAAM,CAAgB;gBAElB,IAAI,EAAE,MAAM;IAIxB,IAAI,IAAI,IAAI;IAKZ,GAAG,IAAI,IAAI;IAKX,MAAM,IAAI,IAAI;IAKd,SAAS,IAAI,IAAI;IAKjB,aAAa,IAAI,IAAI;IAKrB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKvB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKvB,yCAAyC;IACzC,KAAK,IAAI,MAAM;IAKf,QAAQ,IAAI,MAAM;CAGnB;AAED,2DAA2D;AAC3D,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAEhD"}
@@ -1,57 +0,0 @@
1
- import { fgHex, bgHex, bold, dim, italic, underline, strikethrough, reset } from '../terminal/ansi.js';
2
- /**
3
- * Chainable style builder for ANSI-styled strings.
4
- *
5
- * Usage:
6
- * style('Hello').bold().fg('#FF0000').build()
7
- * style('World').dim().underline().build()
8
- */
9
- export class StyleBuilder {
10
- _text;
11
- _codes = [];
12
- constructor(text) {
13
- this._text = text;
14
- }
15
- bold() {
16
- this._codes.push(bold);
17
- return this;
18
- }
19
- dim() {
20
- this._codes.push(dim);
21
- return this;
22
- }
23
- italic() {
24
- this._codes.push(italic);
25
- return this;
26
- }
27
- underline() {
28
- this._codes.push(underline);
29
- return this;
30
- }
31
- strikethrough() {
32
- this._codes.push(strikethrough);
33
- return this;
34
- }
35
- fg(color) {
36
- this._codes.push(fgHex(color));
37
- return this;
38
- }
39
- bg(color) {
40
- this._codes.push(bgHex(color));
41
- return this;
42
- }
43
- /** Build the final ANSI-styled string */
44
- build() {
45
- if (this._codes.length === 0)
46
- return this._text;
47
- return `${this._codes.join('')}${this._text}${reset}`;
48
- }
49
- toString() {
50
- return this.build();
51
- }
52
- }
53
- /** Entry point: style('text').bold().fg('#fff').build() */
54
- export function style(text) {
55
- return new StyleBuilder(text);
56
- }
57
- //# sourceMappingURL=style.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"style.js","sourceRoot":"","sources":["../../src/styling/style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAIvG;;;;;;GAMG;AACH,MAAM,OAAO,YAAY;IACf,KAAK,CAAS;IACd,MAAM,GAAa,EAAE,CAAC;IAE9B,YAAY,IAAY;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,IAAI;QACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS;QACP,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa;QACX,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,EAAE,CAAC,KAAa;QACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,EAAE,CAAC,KAAa;QACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yCAAyC;IACzC,KAAK;QACH,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC;QAChD,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC;IACxD,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;CACF;AAED,2DAA2D;AAC3D,MAAM,UAAU,KAAK,CAAC,IAAY;IAChC,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { Theme } from '../tokens.js';
2
- export declare const defaultTheme: Theme;
3
- //# sourceMappingURL=default.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../../src/styling/themes/default.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE1C,eAAO,MAAM,YAAY,EAAE,KAkD1B,CAAC"}
@@ -1,49 +0,0 @@
1
- export const defaultTheme = {
2
- name: 'default',
3
- colors: {
4
- primary: '#7C3AED',
5
- primaryForeground: '#FFFFFF',
6
- secondary: '#6B7280',
7
- secondaryForeground: '#FFFFFF',
8
- accent: '#8B5CF6',
9
- accentForeground: '#FFFFFF',
10
- success: '#10B981',
11
- successForeground: '#FFFFFF',
12
- warning: '#F59E0B',
13
- warningForeground: '#000000',
14
- error: '#EF4444',
15
- errorForeground: '#FFFFFF',
16
- info: '#3B82F6',
17
- infoForeground: '#FFFFFF',
18
- background: '#000000',
19
- foreground: '#FFFFFF',
20
- muted: '#374151',
21
- mutedForeground: '#9CA3AF',
22
- border: '#4B5563',
23
- focusRing: '#8B5CF6',
24
- selection: '#7C3AED',
25
- selectionForeground: '#FFFFFF',
26
- },
27
- spacing: {
28
- 0: 0,
29
- 1: 1,
30
- 2: 2,
31
- 3: 3,
32
- 4: 4,
33
- 6: 6,
34
- 8: 8,
35
- },
36
- typography: {
37
- bold: true,
38
- sm: 'dim',
39
- base: '',
40
- lg: 'bold',
41
- xl: 'bold',
42
- },
43
- border: {
44
- style: 'round',
45
- color: '#4B5563',
46
- focusColor: '#8B5CF6',
47
- },
48
- };
49
- //# sourceMappingURL=default.js.map