@hypercli/ui 0.1.1

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 (267) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +11 -0
  3. package/dist/capabilities/index.d.ts +62 -0
  4. package/dist/capabilities/index.d.ts.map +1 -0
  5. package/dist/capabilities/index.js +182 -0
  6. package/dist/capabilities/index.js.map +1 -0
  7. package/dist/colors.d.ts +32 -0
  8. package/dist/colors.d.ts.map +1 -0
  9. package/dist/colors.js +40 -0
  10. package/dist/colors.js.map +1 -0
  11. package/dist/components/columns.d.ts +28 -0
  12. package/dist/components/columns.d.ts.map +1 -0
  13. package/dist/components/columns.js +70 -0
  14. package/dist/components/columns.js.map +1 -0
  15. package/dist/components/confirmPrompt.d.ts +38 -0
  16. package/dist/components/confirmPrompt.d.ts.map +1 -0
  17. package/dist/components/confirmPrompt.js +109 -0
  18. package/dist/components/confirmPrompt.js.map +1 -0
  19. package/dist/components/diff.d.ts +37 -0
  20. package/dist/components/diff.d.ts.map +1 -0
  21. package/dist/components/diff.js +36 -0
  22. package/dist/components/diff.js.map +1 -0
  23. package/dist/components/helpLayout.d.ts +59 -0
  24. package/dist/components/helpLayout.d.ts.map +1 -0
  25. package/dist/components/helpLayout.js +103 -0
  26. package/dist/components/helpLayout.js.map +1 -0
  27. package/dist/components/index.d.ts +38 -0
  28. package/dist/components/index.d.ts.map +1 -0
  29. package/dist/components/index.js +23 -0
  30. package/dist/components/index.js.map +1 -0
  31. package/dist/components/keyValue.d.ts +31 -0
  32. package/dist/components/keyValue.d.ts.map +1 -0
  33. package/dist/components/keyValue.js +36 -0
  34. package/dist/components/keyValue.js.map +1 -0
  35. package/dist/components/list.d.ts +30 -0
  36. package/dist/components/list.d.ts.map +1 -0
  37. package/dist/components/list.js +80 -0
  38. package/dist/components/list.js.map +1 -0
  39. package/dist/components/message.d.ts +33 -0
  40. package/dist/components/message.d.ts.map +1 -0
  41. package/dist/components/message.js +86 -0
  42. package/dist/components/message.js.map +1 -0
  43. package/dist/components/panel.d.ts +28 -0
  44. package/dist/components/panel.d.ts.map +1 -0
  45. package/dist/components/panel.js +30 -0
  46. package/dist/components/panel.js.map +1 -0
  47. package/dist/components/progressBar.d.ts +44 -0
  48. package/dist/components/progressBar.d.ts.map +1 -0
  49. package/dist/components/progressBar.js +154 -0
  50. package/dist/components/progressBar.js.map +1 -0
  51. package/dist/components/section.d.ts +22 -0
  52. package/dist/components/section.d.ts.map +1 -0
  53. package/dist/components/section.js +48 -0
  54. package/dist/components/section.js.map +1 -0
  55. package/dist/components/selectPrompt.d.ts +58 -0
  56. package/dist/components/selectPrompt.d.ts.map +1 -0
  57. package/dist/components/selectPrompt.js +206 -0
  58. package/dist/components/selectPrompt.js.map +1 -0
  59. package/dist/components/spinner.d.ts +38 -0
  60. package/dist/components/spinner.d.ts.map +1 -0
  61. package/dist/components/spinner.js +125 -0
  62. package/dist/components/spinner.js.map +1 -0
  63. package/dist/components/statusList.d.ts +22 -0
  64. package/dist/components/statusList.d.ts.map +1 -0
  65. package/dist/components/statusList.js +43 -0
  66. package/dist/components/statusList.js.map +1 -0
  67. package/dist/components/table.d.ts +39 -0
  68. package/dist/components/table.d.ts.map +1 -0
  69. package/dist/components/table.js +132 -0
  70. package/dist/components/table.js.map +1 -0
  71. package/dist/components/textPrompt.d.ts +43 -0
  72. package/dist/components/textPrompt.d.ts.map +1 -0
  73. package/dist/components/textPrompt.js +123 -0
  74. package/dist/components/textPrompt.js.map +1 -0
  75. package/dist/components/tree.d.ts +30 -0
  76. package/dist/components/tree.d.ts.map +1 -0
  77. package/dist/components/tree.js +49 -0
  78. package/dist/components/tree.js.map +1 -0
  79. package/dist/ds-index.d.ts +113 -0
  80. package/dist/ds-index.d.ts.map +1 -0
  81. package/dist/ds-index.js +112 -0
  82. package/dist/ds-index.js.map +1 -0
  83. package/dist/help.d.ts +32 -0
  84. package/dist/help.d.ts.map +1 -0
  85. package/dist/help.js +34 -0
  86. package/dist/help.js.map +1 -0
  87. package/dist/hyper-theme.d.ts +8 -0
  88. package/dist/hyper-theme.d.ts.map +1 -0
  89. package/dist/hyper-theme.js +30 -0
  90. package/dist/hyper-theme.js.map +1 -0
  91. package/dist/index.d.ts +50 -0
  92. package/dist/index.d.ts.map +1 -0
  93. package/dist/index.js +39 -0
  94. package/dist/index.js.map +1 -0
  95. package/dist/md.d.ts +12 -0
  96. package/dist/md.d.ts.map +1 -0
  97. package/dist/md.js +19 -0
  98. package/dist/md.js.map +1 -0
  99. package/dist/messages.d.ts +20 -0
  100. package/dist/messages.d.ts.map +1 -0
  101. package/dist/messages.js +65 -0
  102. package/dist/messages.js.map +1 -0
  103. package/dist/palette.d.ts +20 -0
  104. package/dist/palette.d.ts.map +1 -0
  105. package/dist/palette.js +22 -0
  106. package/dist/palette.js.map +1 -0
  107. package/dist/primitives/align.d.ts +23 -0
  108. package/dist/primitives/align.d.ts.map +1 -0
  109. package/dist/primitives/align.js +40 -0
  110. package/dist/primitives/align.js.map +1 -0
  111. package/dist/primitives/badge.d.ts +24 -0
  112. package/dist/primitives/badge.d.ts.map +1 -0
  113. package/dist/primitives/badge.js +40 -0
  114. package/dist/primitives/badge.js.map +1 -0
  115. package/dist/primitives/border.d.ts +29 -0
  116. package/dist/primitives/border.d.ts.map +1 -0
  117. package/dist/primitives/border.js +100 -0
  118. package/dist/primitives/border.js.map +1 -0
  119. package/dist/primitives/context.d.ts +48 -0
  120. package/dist/primitives/context.d.ts.map +1 -0
  121. package/dist/primitives/context.js +64 -0
  122. package/dist/primitives/context.js.map +1 -0
  123. package/dist/primitives/divider.d.ts +25 -0
  124. package/dist/primitives/divider.d.ts.map +1 -0
  125. package/dist/primitives/divider.js +56 -0
  126. package/dist/primitives/divider.js.map +1 -0
  127. package/dist/primitives/indent.d.ts +16 -0
  128. package/dist/primitives/indent.d.ts.map +1 -0
  129. package/dist/primitives/indent.js +25 -0
  130. package/dist/primitives/indent.js.map +1 -0
  131. package/dist/primitives/index.d.ts +32 -0
  132. package/dist/primitives/index.d.ts.map +1 -0
  133. package/dist/primitives/index.js +22 -0
  134. package/dist/primitives/index.js.map +1 -0
  135. package/dist/primitives/line.d.ts +21 -0
  136. package/dist/primitives/line.d.ts.map +1 -0
  137. package/dist/primitives/line.js +29 -0
  138. package/dist/primitives/line.js.map +1 -0
  139. package/dist/primitives/markdown.d.ts +91 -0
  140. package/dist/primitives/markdown.d.ts.map +1 -0
  141. package/dist/primitives/markdown.js +62 -0
  142. package/dist/primitives/markdown.js.map +1 -0
  143. package/dist/primitives/pad.d.ts +24 -0
  144. package/dist/primitives/pad.d.ts.map +1 -0
  145. package/dist/primitives/pad.js +20 -0
  146. package/dist/primitives/pad.js.map +1 -0
  147. package/dist/primitives/stack.d.ts +22 -0
  148. package/dist/primitives/stack.d.ts.map +1 -0
  149. package/dist/primitives/stack.js +21 -0
  150. package/dist/primitives/stack.js.map +1 -0
  151. package/dist/primitives/styledText.d.ts +36 -0
  152. package/dist/primitives/styledText.d.ts.map +1 -0
  153. package/dist/primitives/styledText.js +42 -0
  154. package/dist/primitives/styledText.js.map +1 -0
  155. package/dist/primitives/symbol.d.ts +15 -0
  156. package/dist/primitives/symbol.d.ts.map +1 -0
  157. package/dist/primitives/symbol.js +18 -0
  158. package/dist/primitives/symbol.js.map +1 -0
  159. package/dist/primitives/truncate.d.ts +23 -0
  160. package/dist/primitives/truncate.d.ts.map +1 -0
  161. package/dist/primitives/truncate.js +99 -0
  162. package/dist/primitives/truncate.js.map +1 -0
  163. package/dist/primitives/wrap.d.ts +23 -0
  164. package/dist/primitives/wrap.d.ts.map +1 -0
  165. package/dist/primitives/wrap.js +30 -0
  166. package/dist/primitives/wrap.js.map +1 -0
  167. package/dist/render/ansi-utils.d.ts +49 -0
  168. package/dist/render/ansi-utils.d.ts.map +1 -0
  169. package/dist/render/ansi-utils.js +405 -0
  170. package/dist/render/ansi-utils.js.map +1 -0
  171. package/dist/render/index.d.ts +11 -0
  172. package/dist/render/index.d.ts.map +1 -0
  173. package/dist/render/index.js +11 -0
  174. package/dist/render/index.js.map +1 -0
  175. package/dist/render/sgr.d.ts +60 -0
  176. package/dist/render/sgr.d.ts.map +1 -0
  177. package/dist/render/sgr.js +191 -0
  178. package/dist/render/sgr.js.map +1 -0
  179. package/dist/render/strip.d.ts +24 -0
  180. package/dist/render/strip.d.ts.map +1 -0
  181. package/dist/render/strip.js +81 -0
  182. package/dist/render/strip.js.map +1 -0
  183. package/dist/render/width.d.ts +30 -0
  184. package/dist/render/width.d.ts.map +1 -0
  185. package/dist/render/width.js +149 -0
  186. package/dist/render/width.js.map +1 -0
  187. package/dist/shortcuts.d.ts +76 -0
  188. package/dist/shortcuts.d.ts.map +1 -0
  189. package/dist/shortcuts.js +117 -0
  190. package/dist/shortcuts.js.map +1 -0
  191. package/dist/styles.d.ts +43 -0
  192. package/dist/styles.d.ts.map +1 -0
  193. package/dist/styles.js +44 -0
  194. package/dist/styles.js.map +1 -0
  195. package/dist/symbols.d.ts +19 -0
  196. package/dist/symbols.d.ts.map +1 -0
  197. package/dist/symbols.js +21 -0
  198. package/dist/symbols.js.map +1 -0
  199. package/dist/test/compare.d.ts +28 -0
  200. package/dist/test/compare.d.ts.map +1 -0
  201. package/dist/test/compare.js +37 -0
  202. package/dist/test/compare.js.map +1 -0
  203. package/dist/test/index.d.ts +16 -0
  204. package/dist/test/index.d.ts.map +1 -0
  205. package/dist/test/index.js +14 -0
  206. package/dist/test/index.js.map +1 -0
  207. package/dist/test/mock.d.ts +50 -0
  208. package/dist/test/mock.d.ts.map +1 -0
  209. package/dist/test/mock.js +135 -0
  210. package/dist/test/mock.js.map +1 -0
  211. package/dist/test/render.d.ts +29 -0
  212. package/dist/test/render.d.ts.map +1 -0
  213. package/dist/test/render.js +87 -0
  214. package/dist/test/render.js.map +1 -0
  215. package/dist/test/snapshot.d.ts +16 -0
  216. package/dist/test/snapshot.d.ts.map +1 -0
  217. package/dist/test/snapshot.js +216 -0
  218. package/dist/test/snapshot.js.map +1 -0
  219. package/dist/theme/builtins.d.ts +10 -0
  220. package/dist/theme/builtins.d.ts.map +1 -0
  221. package/dist/theme/builtins.js +102 -0
  222. package/dist/theme/builtins.js.map +1 -0
  223. package/dist/theme/engine.d.ts +51 -0
  224. package/dist/theme/engine.d.ts.map +1 -0
  225. package/dist/theme/engine.js +123 -0
  226. package/dist/theme/engine.js.map +1 -0
  227. package/dist/theme/index.d.ts +10 -0
  228. package/dist/theme/index.d.ts.map +1 -0
  229. package/dist/theme/index.js +12 -0
  230. package/dist/theme/index.js.map +1 -0
  231. package/dist/theme/merge.d.ts +24 -0
  232. package/dist/theme/merge.d.ts.map +1 -0
  233. package/dist/theme/merge.js +66 -0
  234. package/dist/theme/merge.js.map +1 -0
  235. package/dist/theme/types.d.ts +44 -0
  236. package/dist/theme/types.d.ts.map +1 -0
  237. package/dist/theme/types.js +8 -0
  238. package/dist/theme/types.js.map +1 -0
  239. package/dist/theme.d.ts +9 -0
  240. package/dist/theme.d.ts.map +1 -0
  241. package/dist/theme.js +53 -0
  242. package/dist/theme.js.map +1 -0
  243. package/dist/tokens/defaults.d.ts +13 -0
  244. package/dist/tokens/defaults.d.ts.map +1 -0
  245. package/dist/tokens/defaults.js +248 -0
  246. package/dist/tokens/defaults.js.map +1 -0
  247. package/dist/tokens/index.d.ts +10 -0
  248. package/dist/tokens/index.d.ts.map +1 -0
  249. package/dist/tokens/index.js +10 -0
  250. package/dist/tokens/index.js.map +1 -0
  251. package/dist/tokens/resolver.d.ts +100 -0
  252. package/dist/tokens/resolver.d.ts.map +1 -0
  253. package/dist/tokens/resolver.js +138 -0
  254. package/dist/tokens/resolver.js.map +1 -0
  255. package/dist/tokens/types.d.ts +265 -0
  256. package/dist/tokens/types.d.ts.map +1 -0
  257. package/dist/tokens/types.js +10 -0
  258. package/dist/tokens/types.js.map +1 -0
  259. package/dist/tokens.d.ts +26 -0
  260. package/dist/tokens.d.ts.map +1 -0
  261. package/dist/tokens.js +30 -0
  262. package/dist/tokens.js.map +1 -0
  263. package/dist/types.d.ts +38 -0
  264. package/dist/types.d.ts.map +1 -0
  265. package/dist/types.js +11 -0
  266. package/dist/types.js.map +1 -0
  267. package/package.json +78 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/components/table.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * TextPrompt Component
3
+ *
4
+ * Prompts the user for text input with validation, placeholder, and default value support.
5
+ * Uses Node's readline module for input handling.
6
+ * Falls back to simple stdin reading in non-TTY environments.
7
+ */
8
+ /** Options for creating a text input prompt. */
9
+ export type TextPromptOptions = {
10
+ /** The question or label displayed to the user. */
11
+ message: string;
12
+ /** Placeholder text shown when the input is empty. */
13
+ placeholder?: string;
14
+ /** Default value used when the user submits an empty input. */
15
+ defaultValue?: string;
16
+ /** Validation function. Return an error message string to reject, or `undefined` to accept. */
17
+ validate?: (value: string) => string | undefined;
18
+ /** Whether an empty input is rejected. Defaults to `false`. */
19
+ required?: boolean;
20
+ };
21
+ /**
22
+ * Formats the prompt question line.
23
+ * Returns: `? message > ` with `?` in accent color and `>` as separator.
24
+ */
25
+ export declare function formatTextQuestion(message: string): string;
26
+ /**
27
+ * Formats the submitted answer line.
28
+ * Returns: `checkmark message value` with value in dim.
29
+ */
30
+ export declare function formatTextAnswer(message: string, value: string): string;
31
+ /**
32
+ * Formats a validation error.
33
+ */
34
+ export declare function formatValidationError(error: string): string;
35
+ /**
36
+ * Prompts the user for single-line text input with validation support.
37
+ * Falls back to simple stdin reading in non-TTY environments.
38
+ *
39
+ * @param options - Prompt configuration.
40
+ * @returns The validated user input string.
41
+ */
42
+ export declare function textPrompt(options: TextPromptOptions): Promise<string>;
43
+ //# sourceMappingURL=textPrompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textPrompt.d.ts","sourceRoot":"","sources":["../../src/components/textPrompt.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,gDAAgD;AAChD,MAAM,MAAM,iBAAiB,GAAG;IAC/B,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+FAA+F;IAC/F,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACjD,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAK1D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAIvE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG3D;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAgGtE"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * TextPrompt Component
3
+ *
4
+ * Prompts the user for text input with validation, placeholder, and default value support.
5
+ * Uses Node's readline module for input handling.
6
+ * Falls back to simple stdin reading in non-TTY environments.
7
+ */
8
+ import * as readline from "node:readline";
9
+ import { getContext, styledText, symbol } from "../primitives/index.js";
10
+ /**
11
+ * Formats the prompt question line.
12
+ * Returns: `? message > ` with `?` in accent color and `>` as separator.
13
+ */
14
+ export function formatTextQuestion(message) {
15
+ const ctx = getContext();
16
+ const q = styledText("?", { color: "accent", bold: true });
17
+ const sep = styledText("\u203a", { dim: true });
18
+ return `${q} ${message} ${sep} `;
19
+ }
20
+ /**
21
+ * Formats the submitted answer line.
22
+ * Returns: `checkmark message value` with value in dim.
23
+ */
24
+ export function formatTextAnswer(message, value) {
25
+ const icon = styledText(symbol("success"), { color: "success" });
26
+ const val = styledText(value, { dim: true });
27
+ return `${icon} ${message} ${val}`;
28
+ }
29
+ /**
30
+ * Formats a validation error.
31
+ */
32
+ export function formatValidationError(error) {
33
+ const icon = styledText(symbol("error"), { color: "error" });
34
+ return `${icon} ${styledText(error, { color: "error" })}`;
35
+ }
36
+ /**
37
+ * Prompts the user for single-line text input with validation support.
38
+ * Falls back to simple stdin reading in non-TTY environments.
39
+ *
40
+ * @param options - Prompt configuration.
41
+ * @returns The validated user input string.
42
+ */
43
+ export function textPrompt(options) {
44
+ const ctx = getContext();
45
+ const stream = process.stderr;
46
+ const isTTY = !!process.stdin.isTTY;
47
+ return new Promise((resolve, reject) => {
48
+ if (!isTTY) {
49
+ // Non-TTY: read a line from stdin directly
50
+ const rl = readline.createInterface({
51
+ input: process.stdin,
52
+ terminal: false,
53
+ });
54
+ stream.write(`${options.message}: `);
55
+ rl.once("line", (line) => {
56
+ const value = line.trim() || options.defaultValue || "";
57
+ if (options.required && !value) {
58
+ rl.close();
59
+ reject(new Error("Input required but received empty value in non-interactive mode"));
60
+ return;
61
+ }
62
+ if (options.validate) {
63
+ const error = options.validate(value);
64
+ if (error) {
65
+ rl.close();
66
+ reject(new Error(error));
67
+ return;
68
+ }
69
+ }
70
+ rl.close();
71
+ resolve(value);
72
+ });
73
+ rl.once("close", () => {
74
+ // If stdin closes without a line (e.g. EOF), resolve with default
75
+ });
76
+ return;
77
+ }
78
+ // Interactive TTY mode
79
+ const promptLine = formatTextQuestion(options.message);
80
+ const placeholderText = options.placeholder
81
+ ? styledText(options.placeholder, { dim: true })
82
+ : "";
83
+ function askQuestion() {
84
+ stream.write("\r\x1b[K");
85
+ stream.write(promptLine);
86
+ if (placeholderText && !options.defaultValue) {
87
+ // Show placeholder, but it will be overwritten on typing
88
+ }
89
+ const rl = readline.createInterface({
90
+ input: process.stdin,
91
+ output: stream,
92
+ terminal: true,
93
+ });
94
+ rl.question("", (answer) => {
95
+ rl.close();
96
+ const value = answer.trim() || options.defaultValue || "";
97
+ if (options.required && !value) {
98
+ stream.write("\n");
99
+ stream.write(`${formatValidationError("This field is required")}\n`);
100
+ askQuestion();
101
+ return;
102
+ }
103
+ if (options.validate) {
104
+ const error = options.validate(value);
105
+ if (error) {
106
+ stream.write("\n");
107
+ stream.write(`${formatValidationError(error)}\n`);
108
+ askQuestion();
109
+ return;
110
+ }
111
+ }
112
+ // Replace prompt with final answer
113
+ stream.write("\r\x1b[K");
114
+ // Move up one line to overwrite the question
115
+ stream.write("\x1b[A\r\x1b[K");
116
+ stream.write(`${formatTextAnswer(options.message, value)}\n`);
117
+ resolve(value);
118
+ });
119
+ }
120
+ askQuestion();
121
+ });
122
+ }
123
+ //# sourceMappingURL=textPrompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textPrompt.js","sourceRoot":"","sources":["../../src/components/textPrompt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * tree Component
3
+ *
4
+ * Renders a tree structure with branch connectors using resolved tree tokens.
5
+ */
6
+ /** A node in a tree structure. */
7
+ export type TreeNode = {
8
+ /** Display label for this node. */
9
+ label: string;
10
+ /** Child nodes. */
11
+ children?: TreeNode[];
12
+ };
13
+ /** Options for rendering a tree. */
14
+ export type TreeOptions = {
15
+ /** Maximum tree depth to render. Omit for unlimited. */
16
+ maxDepth?: number;
17
+ /** Append child count in parentheses after nodes with children. */
18
+ showCounts?: boolean;
19
+ /** Custom formatting function for node labels. */
20
+ formatNode?: (node: TreeNode) => string;
21
+ };
22
+ /**
23
+ * Renders a tree structure with branch connectors using resolved tree tokens.
24
+ *
25
+ * @param root - The root node of the tree.
26
+ * @param options - Tree rendering configuration.
27
+ * @returns The formatted tree as a multi-line string.
28
+ */
29
+ export declare function tree(root: TreeNode, options?: TreeOptions): string;
30
+ //# sourceMappingURL=tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../src/components/tree.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,kCAAkC;AAClC,MAAM,MAAM,QAAQ,GAAG;IACtB,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB;IACnB,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;CACtB,CAAC;AAEF,oCAAoC;AACpC,MAAM,MAAM,WAAW,GAAG;IACzB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kDAAkD;IAClD,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,MAAM,CAAC;CACxC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,CA0ClE"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * tree Component
3
+ *
4
+ * Renders a tree structure with branch connectors using resolved tree tokens.
5
+ */
6
+ import { getContext, styledText } from "../primitives/index.js";
7
+ /**
8
+ * Renders a tree structure with branch connectors using resolved tree tokens.
9
+ *
10
+ * @param root - The root node of the tree.
11
+ * @param options - Tree rendering configuration.
12
+ * @returns The formatted tree as a multi-line string.
13
+ */
14
+ export function tree(root, options) {
15
+ const ctx = getContext();
16
+ const chars = ctx.tokens.tree;
17
+ const maxDepth = options?.maxDepth;
18
+ const showCounts = options?.showCounts ?? false;
19
+ const formatNode = options?.formatNode;
20
+ const lines = [];
21
+ function formatLabel(node) {
22
+ let label = formatNode ? formatNode(node) : node.label;
23
+ if (showCounts && node.children && node.children.length > 0) {
24
+ label += styledText(` (${node.children.length})`, { dim: true });
25
+ }
26
+ return label;
27
+ }
28
+ // Render root
29
+ lines.push(formatLabel(root));
30
+ function renderChildren(children, prefix, depth) {
31
+ if (maxDepth !== undefined && depth >= maxDepth)
32
+ return;
33
+ for (let i = 0; i < children.length; i++) {
34
+ const child = children[i];
35
+ const isLast = i === children.length - 1;
36
+ const connector = isLast ? chars.last : chars.branch;
37
+ const continuation = isLast ? chars.indent : chars.vertical;
38
+ lines.push(`${prefix + connector} ${formatLabel(child)}`);
39
+ if (child.children && child.children.length > 0) {
40
+ renderChildren(child.children, prefix + continuation, depth + 1);
41
+ }
42
+ }
43
+ }
44
+ if (root.children && root.children.length > 0) {
45
+ renderChildren(root.children, "", 0);
46
+ }
47
+ return lines.join("\n");
48
+ }
49
+ //# sourceMappingURL=tree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.js","sourceRoot":"","sources":["../../src/components/tree.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAoBhE;;;;;;GAMG;AACH,MAAM,UAAU,IAAI,CAAC,IAAc,EAAE,OAAqB;IACzD,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;IAC9B,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,CAAC;IACnC,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,KAAK,CAAC;IAChD,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,CAAC;IAEvC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,SAAS,WAAW,CAAC,IAAc;QAClC,IAAI,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QACvD,IAAI,UAAU,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7D,KAAK,IAAI,UAAU,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,cAAc;IACd,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IAE9B,SAAS,cAAc,CAAC,QAAoB,EAAE,MAAc,EAAE,KAAa;QAC1E,IAAI,QAAQ,KAAK,SAAS,IAAI,KAAK,IAAI,QAAQ;YAAE,OAAO;QAExD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,CAAC,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YACzC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;YACrD,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;YAE5D,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,SAAS,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAE1D,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjD,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAClE,CAAC;QACF,CAAC;IACF,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/C,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC"}
@@ -0,0 +1,113 @@
1
+ /**
2
+ * CLI Design System — Public API
3
+ *
4
+ * Two consumption modes:
5
+ * 1. System object (full control): `const ds = createSystem({ theme: 'minimal' })`
6
+ * 2. Standalone functions (zero config): `import { message } from 'cli-ds'`
7
+ */
8
+ import type { TerminalCapabilities } from "./capabilities/index.ts";
9
+ import { ThemeEngine } from "./theme/index.ts";
10
+ import type { Theme, ThemeInput } from "./theme/index.ts";
11
+ import type { ResolvedTokens } from "./tokens/index.ts";
12
+ import { align, badge, border, divider, indent, line, pad, stack, styledText, symbol, truncate, wrap } from "./primitives/index.ts";
13
+ import { columns, confirmPrompt, diff, helpLayout, keyValue, list, message, panel, progressBar, section, selectPrompt, spinner, statusList, table, textPrompt, tree } from "./components/index.ts";
14
+ /** Configuration options for {@link createSystem}. */
15
+ export type SystemOptions = {
16
+ /** Theme configuration: a built-in name, custom theme object, or array to compose. */
17
+ theme?: ThemeInput;
18
+ /** Terminal capability overrides merged onto auto-detected values. */
19
+ capabilities?: Partial<TerminalCapabilities>;
20
+ };
21
+ /**
22
+ * A fully configured design system instance providing access to all primitives,
23
+ * components, and runtime theme management.
24
+ */
25
+ export type DesignSystem = {
26
+ /** Resolved design tokens for the current theme and terminal capabilities. */
27
+ readonly tokens: ResolvedTokens;
28
+ /** Detected or overridden terminal capabilities. */
29
+ readonly capabilities: TerminalCapabilities;
30
+ /** The underlying theme engine managing token resolution and caching. */
31
+ readonly theme: ThemeEngine;
32
+ /** Replace the active theme. Updates all resolved tokens. */
33
+ setTheme(themeInput: ThemeInput): void;
34
+ /** Merge partial overrides into the active theme. */
35
+ mergeTheme(partial: Theme): void;
36
+ styledText: typeof styledText;
37
+ symbol: typeof symbol;
38
+ pad: typeof pad;
39
+ truncate: typeof truncate;
40
+ align: typeof align;
41
+ line: typeof line;
42
+ stack: typeof stack;
43
+ indent: typeof indent;
44
+ wrap: typeof wrap;
45
+ border: typeof border;
46
+ divider: typeof divider;
47
+ badge: typeof badge;
48
+ message: typeof message;
49
+ statusList: typeof statusList;
50
+ table: typeof table;
51
+ list: typeof list;
52
+ tree: typeof tree;
53
+ keyValue: typeof keyValue;
54
+ diff: typeof diff;
55
+ panel: typeof panel;
56
+ columns: typeof columns;
57
+ section: typeof section;
58
+ helpLayout: typeof helpLayout;
59
+ spinner: typeof spinner;
60
+ progressBar: typeof progressBar;
61
+ textPrompt: typeof textPrompt;
62
+ confirmPrompt: typeof confirmPrompt;
63
+ selectPrompt: typeof selectPrompt;
64
+ };
65
+ /**
66
+ * Creates a fully configured design system instance.
67
+ *
68
+ * Detects (or accepts overridden) terminal capabilities, instantiates
69
+ * a ThemeEngine, sets the global context, and returns an object with
70
+ * all primitives and components bound to that context.
71
+ *
72
+ * @param options - Optional theme and capability configuration.
73
+ * @returns A {@link DesignSystem} instance with all primitives and components.
74
+ */
75
+ export declare function createSystem(options?: SystemOptions): DesignSystem;
76
+ export { styledText, symbol, pad, truncate, align, line, stack, indent, wrap, border, divider, badge, } from "./primitives/index.ts";
77
+ export { message, statusList, table, list, tree, keyValue, diff, panel, columns, section, helpLayout, } from "./components/index.ts";
78
+ export { spinner, progressBar, textPrompt, confirmPrompt, selectPrompt, } from "./components/index.ts";
79
+ export type { TerminalCapabilities, ColorDepth } from "./capabilities/index.ts";
80
+ export type { Theme, ThemeInput, BuiltinThemeName } from "./theme/index.ts";
81
+ export type { ResolvedTokens } from "./tokens/index.ts";
82
+ export type { StyleSpec } from "./render/index.ts";
83
+ export type { MessageOptions } from "./components/index.ts";
84
+ export type { StatusListItem } from "./components/index.ts";
85
+ export type { TableColumn, TableOptions } from "./components/index.ts";
86
+ export type { ListItem, ListOptions } from "./components/index.ts";
87
+ export type { TreeNode, TreeOptions } from "./components/index.ts";
88
+ export type { KeyValueEntry, KeyValueOptions } from "./components/index.ts";
89
+ export type { DiffLine, DiffHunk, DiffOptions } from "./components/index.ts";
90
+ export type { PanelOptions } from "./components/index.ts";
91
+ export type { ColumnDef, ColumnsOptions } from "./components/index.ts";
92
+ export type { SectionOptions } from "./components/index.ts";
93
+ export type { HelpLayoutOptions } from "./components/index.ts";
94
+ export type { SpinnerOptions, SpinnerHandle } from "./components/index.ts";
95
+ export type { ProgressBarOptions, ProgressBarHandle } from "./components/index.ts";
96
+ export type { TextPromptOptions } from "./components/index.ts";
97
+ export type { ConfirmPromptOptions } from "./components/index.ts";
98
+ export type { SelectOption, SelectPromptOptions } from "./components/index.ts";
99
+ export type { StyledTextOptions } from "./primitives/index.ts";
100
+ export type { PadOptions } from "./primitives/index.ts";
101
+ export type { TruncateOptions } from "./primitives/index.ts";
102
+ export type { AlignOptions } from "./primitives/index.ts";
103
+ export type { LinePart } from "./primitives/index.ts";
104
+ export type { StackOptions } from "./primitives/index.ts";
105
+ export type { WrapOptions } from "./primitives/index.ts";
106
+ export type { BorderOptions } from "./primitives/index.ts";
107
+ export type { DividerOptions } from "./primitives/index.ts";
108
+ export type { BadgeOptions } from "./primitives/index.ts";
109
+ export { stripAnsi, stringWidth } from "./render/index.ts";
110
+ export { createCapabilities } from "./capabilities/index.ts";
111
+ export { getContext, setContext, createContext } from "./primitives/index.ts";
112
+ export type { SystemContext } from "./primitives/index.ts";
113
+ //# sourceMappingURL=ds-index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ds-index.d.ts","sourceRoot":"","sources":["../src/ds-index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,112 @@
1
+ /**
2
+ * CLI Design System — Public API
3
+ *
4
+ * Two consumption modes:
5
+ * 1. System object (full control): `const ds = createSystem({ theme: 'minimal' })`
6
+ * 2. Standalone functions (zero config): `import { message } from 'cli-ds'`
7
+ */
8
+ // ---------------------------------------------------------------------------
9
+ // Core factory
10
+ // ---------------------------------------------------------------------------
11
+ import { createCapabilities, detectCapabilities } from "./capabilities/index.js";
12
+ import { setContext } from "./primitives/context.js";
13
+ import { ThemeEngine } from "./theme/index.js";
14
+ // Import all primitives for binding onto the system object
15
+ import { align, badge, border, divider, indent, line, pad, stack, styledText, symbol, truncate, wrap, } from "./primitives/index.js";
16
+ // Import all components for binding onto the system object
17
+ import { columns, confirmPrompt, diff, helpLayout, keyValue, list, message, panel, progressBar, section, selectPrompt, spinner, statusList, table, textPrompt, tree, } from "./components/index.js";
18
+ /**
19
+ * Creates a fully configured design system instance.
20
+ *
21
+ * Detects (or accepts overridden) terminal capabilities, instantiates
22
+ * a ThemeEngine, sets the global context, and returns an object with
23
+ * all primitives and components bound to that context.
24
+ *
25
+ * @param options - Optional theme and capability configuration.
26
+ * @returns A {@link DesignSystem} instance with all primitives and components.
27
+ */
28
+ export function createSystem(options) {
29
+ const caps = options?.capabilities
30
+ ? createCapabilities(options.capabilities)
31
+ : detectCapabilities();
32
+ const themeEngine = new ThemeEngine(caps, options?.theme);
33
+ const ctx = {
34
+ theme: themeEngine,
35
+ capabilities: caps,
36
+ get tokens() {
37
+ return themeEngine.resolvedTokens;
38
+ },
39
+ };
40
+ // Set as the global context so all standalone functions use this system
41
+ setContext(ctx);
42
+ const system = {
43
+ // Resolved state — tokens is a live getter that reflects theme changes
44
+ get tokens() {
45
+ return themeEngine.resolvedTokens;
46
+ },
47
+ capabilities: caps,
48
+ theme: themeEngine,
49
+ // Runtime modifications
50
+ setTheme(themeInput) {
51
+ themeEngine.setTheme(themeInput);
52
+ // Context stays in sync because ctx.tokens is a getter on themeEngine
53
+ },
54
+ mergeTheme(partial) {
55
+ themeEngine.mergeTheme(partial);
56
+ },
57
+ // Primitives — same functions, they read from the global context
58
+ styledText,
59
+ symbol,
60
+ pad,
61
+ truncate,
62
+ align,
63
+ line,
64
+ stack,
65
+ indent,
66
+ wrap,
67
+ border,
68
+ divider,
69
+ badge,
70
+ // Static components
71
+ message,
72
+ statusList,
73
+ table,
74
+ list,
75
+ tree,
76
+ keyValue,
77
+ diff,
78
+ panel,
79
+ columns,
80
+ section,
81
+ helpLayout,
82
+ // Interactive components
83
+ spinner,
84
+ progressBar,
85
+ textPrompt,
86
+ confirmPrompt,
87
+ selectPrompt,
88
+ };
89
+ return system;
90
+ }
91
+ // ---------------------------------------------------------------------------
92
+ // Standalone re-exports — primitives
93
+ // ---------------------------------------------------------------------------
94
+ export { styledText, symbol, pad, truncate, align, line, stack, indent, wrap, border, divider, badge, } from "./primitives/index.js";
95
+ // ---------------------------------------------------------------------------
96
+ // Standalone re-exports — components (static)
97
+ // ---------------------------------------------------------------------------
98
+ export { message, statusList, table, list, tree, keyValue, diff, panel, columns, section, helpLayout, } from "./components/index.js";
99
+ // ---------------------------------------------------------------------------
100
+ // Standalone re-exports — components (interactive)
101
+ // ---------------------------------------------------------------------------
102
+ export { spinner, progressBar, textPrompt, confirmPrompt, selectPrompt, } from "./components/index.js";
103
+ // ---------------------------------------------------------------------------
104
+ // Utility re-exports
105
+ // ---------------------------------------------------------------------------
106
+ export { stripAnsi, stringWidth } from "./render/index.js";
107
+ export { createCapabilities } from "./capabilities/index.js";
108
+ // ---------------------------------------------------------------------------
109
+ // Context re-exports (for advanced usage)
110
+ // ---------------------------------------------------------------------------
111
+ export { getContext, setContext, createContext } from "./primitives/index.js";
112
+ //# sourceMappingURL=ds-index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ds-index.js","sourceRoot":"","sources":["../src/ds-index.ts"],"names":[],"mappings":"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"}
package/dist/help.d.ts ADDED
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Help System — Subpath re-exports for @hypercli/ui/help
3
+ *
4
+ * Provides convenience re-exports of the markdown primitive under
5
+ * help-oriented names for the CLI help rendering use case.
6
+ * No third-party types are exposed — everything is defined by the DS.
7
+ */
8
+ import type { HeadingStyle, MarkdownOptions, MarkdownTheme } from "./primitives/markdown.ts";
9
+ export type { MarkdownTheme, MarkdownOptions, HeadingStyle };
10
+ /** @deprecated Use MarkdownTheme instead. */
11
+ export type HelpTheme = MarkdownTheme;
12
+ /** Configuration for help rendering. */
13
+ export interface HelpThemeConfig {
14
+ theme?: MarkdownTheme;
15
+ lineWidth?: {
16
+ max?: number;
17
+ min?: number;
18
+ };
19
+ asciiMode?: boolean;
20
+ }
21
+ /** The default help theme. Alias for defaultMarkdownTheme. */
22
+ export declare const helpTheme: HelpThemeConfig;
23
+ /**
24
+ * Render markdown for help output using the default or custom theme.
25
+ */
26
+ export declare function renderHelp(input: string, config?: HelpThemeConfig): string;
27
+ /**
28
+ * Render markdown with an optional theme.
29
+ * If no theme is given, uses the default markdown theme.
30
+ */
31
+ export declare function renderMarkdown(input: string, theme?: MarkdownTheme): string;
32
+ //# sourceMappingURL=help.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAM7F,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC;AAE7D,6CAA6C;AAC7C,MAAM,MAAM,SAAS,GAAG,aAAa,CAAC;AAEtC,wCAAwC;AACxC,MAAM,WAAW,eAAe;IAC/B,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB;AAMD,8DAA8D;AAC9D,eAAO,MAAM,SAAS,EAAE,eAGvB,CAAC;AAMF;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,MAAM,CAG1E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,aAAa,GAAG,MAAM,CAE3E"}
package/dist/help.js ADDED
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Help System — Subpath re-exports for @hypercli/ui/help
3
+ *
4
+ * Provides convenience re-exports of the markdown primitive under
5
+ * help-oriented names for the CLI help rendering use case.
6
+ * No third-party types are exposed — everything is defined by the DS.
7
+ */
8
+ import { defaultMarkdownTheme, markdown } from "./primitives/markdown.js";
9
+ // ---------------------------------------------------------------------------
10
+ // Default theme
11
+ // ---------------------------------------------------------------------------
12
+ /** The default help theme. Alias for defaultMarkdownTheme. */
13
+ export const helpTheme = {
14
+ lineWidth: { max: 100 },
15
+ theme: defaultMarkdownTheme,
16
+ };
17
+ // ---------------------------------------------------------------------------
18
+ // Convenience functions
19
+ // ---------------------------------------------------------------------------
20
+ /**
21
+ * Render markdown for help output using the default or custom theme.
22
+ */
23
+ export function renderHelp(input, config) {
24
+ const theme = config?.theme ?? defaultMarkdownTheme;
25
+ return markdown(input, { theme });
26
+ }
27
+ /**
28
+ * Render markdown with an optional theme.
29
+ * If no theme is given, uses the default markdown theme.
30
+ */
31
+ export function renderMarkdown(input, theme) {
32
+ return markdown(input, theme ? { theme } : undefined);
33
+ }
34
+ //# sourceMappingURL=help.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAmB1E,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E,8DAA8D;AAC9D,MAAM,CAAC,MAAM,SAAS,GAAoB;IACzC,SAAS,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;IACvB,KAAK,EAAE,oBAAoB;CAC3B,CAAC;AAEF,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa,EAAE,MAAwB;IACjE,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,oBAAoB,CAAC;IACpD,OAAO,QAAQ,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,KAAqB;IAClE,OAAO,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AACvD,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Hyper Theme — HyperDev CLI brand theme
3
+ *
4
+ * Encodes all of HyperDev's visual opinions as a DS theme object.
5
+ */
6
+ import type { Theme } from "./theme/index.ts";
7
+ export declare const hyperTheme: Theme;
8
+ //# sourceMappingURL=hyper-theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hyper-theme.d.ts","sourceRoot":"","sources":["../src/hyper-theme.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,eAAO,MAAM,UAAU,EAAE,KAuBxB,CAAC"}