@flyingrobots/bijou 0.10.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (256) hide show
  1. package/dist/adapters/test/assertions.d.ts +51 -0
  2. package/dist/adapters/test/assertions.d.ts.map +1 -0
  3. package/dist/adapters/test/assertions.js +67 -0
  4. package/dist/adapters/test/assertions.js.map +1 -0
  5. package/dist/adapters/test/audit-style.d.ts +28 -7
  6. package/dist/adapters/test/audit-style.d.ts.map +1 -1
  7. package/dist/adapters/test/audit-style.js +61 -4
  8. package/dist/adapters/test/audit-style.js.map +1 -1
  9. package/dist/adapters/test/index.d.ts +36 -1
  10. package/dist/adapters/test/index.d.ts.map +1 -1
  11. package/dist/adapters/test/index.js +12 -1
  12. package/dist/adapters/test/index.js.map +1 -1
  13. package/dist/adapters/test/io.d.ts +27 -0
  14. package/dist/adapters/test/io.d.ts.map +1 -1
  15. package/dist/adapters/test/io.js +56 -0
  16. package/dist/adapters/test/io.js.map +1 -1
  17. package/dist/adapters/test/runtime.d.ts +17 -0
  18. package/dist/adapters/test/runtime.d.ts.map +1 -1
  19. package/dist/adapters/test/runtime.js +14 -0
  20. package/dist/adapters/test/runtime.js.map +1 -1
  21. package/dist/adapters/test/style.d.ts +9 -0
  22. package/dist/adapters/test/style.d.ts.map +1 -1
  23. package/dist/adapters/test/style.js +54 -0
  24. package/dist/adapters/test/style.js.map +1 -1
  25. package/dist/context.d.ts +21 -0
  26. package/dist/context.d.ts.map +1 -1
  27. package/dist/context.js +21 -0
  28. package/dist/context.js.map +1 -1
  29. package/dist/core/bg-fill.d.ts +32 -0
  30. package/dist/core/bg-fill.d.ts.map +1 -0
  31. package/dist/core/bg-fill.js +42 -0
  32. package/dist/core/bg-fill.js.map +1 -0
  33. package/dist/core/components/accordion.d.ts +20 -0
  34. package/dist/core/components/accordion.d.ts.map +1 -1
  35. package/dist/core/components/accordion.js +13 -6
  36. package/dist/core/components/accordion.js.map +1 -1
  37. package/dist/core/components/alert.d.ts +16 -0
  38. package/dist/core/components/alert.d.ts.map +1 -1
  39. package/dist/core/components/alert.js +17 -6
  40. package/dist/core/components/alert.js.map +1 -1
  41. package/dist/core/components/badge.d.ts +18 -0
  42. package/dist/core/components/badge.d.ts.map +1 -1
  43. package/dist/core/components/badge.js +15 -11
  44. package/dist/core/components/badge.js.map +1 -1
  45. package/dist/core/components/box.d.ts +31 -0
  46. package/dist/core/components/box.d.ts.map +1 -1
  47. package/dist/core/components/box.js +45 -10
  48. package/dist/core/components/box.js.map +1 -1
  49. package/dist/core/components/breadcrumb.d.ts +15 -0
  50. package/dist/core/components/breadcrumb.d.ts.map +1 -1
  51. package/dist/core/components/breadcrumb.js +13 -6
  52. package/dist/core/components/breadcrumb.js.map +1 -1
  53. package/dist/core/components/dag-source.d.ts +52 -9
  54. package/dist/core/components/dag-source.d.ts.map +1 -1
  55. package/dist/core/components/dag-source.js +53 -9
  56. package/dist/core/components/dag-source.js.map +1 -1
  57. package/dist/core/components/dag-stats.d.ts +2 -0
  58. package/dist/core/components/dag-stats.d.ts.map +1 -1
  59. package/dist/core/components/dag-stats.js.map +1 -1
  60. package/dist/core/components/dag.d.ts +88 -1
  61. package/dist/core/components/dag.d.ts.map +1 -1
  62. package/dist/core/components/dag.js +127 -6
  63. package/dist/core/components/dag.js.map +1 -1
  64. package/dist/core/components/enumerated-list.d.ts +30 -0
  65. package/dist/core/components/enumerated-list.d.ts.map +1 -1
  66. package/dist/core/components/enumerated-list.js +50 -11
  67. package/dist/core/components/enumerated-list.js.map +1 -1
  68. package/dist/core/components/hyperlink.d.ts +16 -0
  69. package/dist/core/components/hyperlink.d.ts.map +1 -1
  70. package/dist/core/components/hyperlink.js +22 -11
  71. package/dist/core/components/hyperlink.js.map +1 -1
  72. package/dist/core/components/index.d.ts +7 -0
  73. package/dist/core/components/index.d.ts.map +1 -1
  74. package/dist/core/components/index.js +7 -0
  75. package/dist/core/components/index.js.map +1 -1
  76. package/dist/core/components/kbd.d.ts +14 -0
  77. package/dist/core/components/kbd.d.ts.map +1 -1
  78. package/dist/core/components/kbd.js +13 -6
  79. package/dist/core/components/kbd.js.map +1 -1
  80. package/dist/core/components/log.d.ts +20 -0
  81. package/dist/core/components/log.d.ts.map +1 -1
  82. package/dist/core/components/log.js +24 -11
  83. package/dist/core/components/log.js.map +1 -1
  84. package/dist/core/components/logo.d.ts +32 -0
  85. package/dist/core/components/logo.d.ts.map +1 -1
  86. package/dist/core/components/logo.js +38 -0
  87. package/dist/core/components/logo.js.map +1 -1
  88. package/dist/core/components/markdown.d.ts +7 -1
  89. package/dist/core/components/markdown.d.ts.map +1 -1
  90. package/dist/core/components/markdown.js +76 -0
  91. package/dist/core/components/markdown.js.map +1 -1
  92. package/dist/core/components/paginator.d.ts +16 -0
  93. package/dist/core/components/paginator.d.ts.map +1 -1
  94. package/dist/core/components/paginator.js +12 -6
  95. package/dist/core/components/paginator.js.map +1 -1
  96. package/dist/core/components/progress.d.ts +55 -0
  97. package/dist/core/components/progress.d.ts.map +1 -1
  98. package/dist/core/components/progress.js +37 -6
  99. package/dist/core/components/progress.js.map +1 -1
  100. package/dist/core/components/separator.d.ts +16 -0
  101. package/dist/core/components/separator.d.ts.map +1 -1
  102. package/dist/core/components/separator.js +12 -6
  103. package/dist/core/components/separator.js.map +1 -1
  104. package/dist/core/components/skeleton.d.ts +15 -0
  105. package/dist/core/components/skeleton.d.ts.map +1 -1
  106. package/dist/core/components/skeleton.js +12 -6
  107. package/dist/core/components/skeleton.js.map +1 -1
  108. package/dist/core/components/spinner.d.ts +37 -0
  109. package/dist/core/components/spinner.d.ts.map +1 -1
  110. package/dist/core/components/spinner.js +26 -6
  111. package/dist/core/components/spinner.js.map +1 -1
  112. package/dist/core/components/stepper.d.ts +20 -0
  113. package/dist/core/components/stepper.d.ts.map +1 -1
  114. package/dist/core/components/stepper.js +16 -6
  115. package/dist/core/components/stepper.js.map +1 -1
  116. package/dist/core/components/table.d.ts +20 -0
  117. package/dist/core/components/table.d.ts.map +1 -1
  118. package/dist/core/components/table.js +31 -6
  119. package/dist/core/components/table.js.map +1 -1
  120. package/dist/core/components/tabs.d.ts +19 -0
  121. package/dist/core/components/tabs.d.ts.map +1 -1
  122. package/dist/core/components/tabs.js +19 -6
  123. package/dist/core/components/tabs.js.map +1 -1
  124. package/dist/core/components/timeline.d.ts +19 -0
  125. package/dist/core/components/timeline.d.ts.map +1 -1
  126. package/dist/core/components/timeline.js +20 -6
  127. package/dist/core/components/timeline.js.map +1 -1
  128. package/dist/core/components/tree.d.ts +19 -0
  129. package/dist/core/components/tree.d.ts.map +1 -1
  130. package/dist/core/components/tree.js +49 -11
  131. package/dist/core/components/tree.js.map +1 -1
  132. package/dist/core/detect/index.d.ts +8 -2
  133. package/dist/core/detect/index.d.ts.map +1 -1
  134. package/dist/core/detect/index.js +7 -1
  135. package/dist/core/detect/index.js.map +1 -1
  136. package/dist/core/detect/tty.d.ts +36 -0
  137. package/dist/core/detect/tty.d.ts.map +1 -1
  138. package/dist/core/detect/tty.js +34 -0
  139. package/dist/core/detect/tty.js.map +1 -1
  140. package/dist/core/forms/confirm.d.ts +14 -0
  141. package/dist/core/forms/confirm.d.ts.map +1 -1
  142. package/dist/core/forms/confirm.js +15 -5
  143. package/dist/core/forms/confirm.js.map +1 -1
  144. package/dist/core/forms/filter.d.ts +30 -0
  145. package/dist/core/forms/filter.d.ts.map +1 -1
  146. package/dist/core/forms/filter.js +67 -49
  147. package/dist/core/forms/filter.js.map +1 -1
  148. package/dist/core/forms/form-utils.d.ts +103 -0
  149. package/dist/core/forms/form-utils.d.ts.map +1 -0
  150. package/dist/core/forms/form-utils.js +135 -0
  151. package/dist/core/forms/form-utils.js.map +1 -0
  152. package/dist/core/forms/group.d.ts +12 -0
  153. package/dist/core/forms/group.d.ts.map +1 -1
  154. package/dist/core/forms/group.js +7 -0
  155. package/dist/core/forms/group.js.map +1 -1
  156. package/dist/core/forms/index.d.ts +6 -0
  157. package/dist/core/forms/index.d.ts.map +1 -1
  158. package/dist/core/forms/index.js +6 -0
  159. package/dist/core/forms/index.js.map +1 -1
  160. package/dist/core/forms/input.d.ts +17 -0
  161. package/dist/core/forms/input.d.ts.map +1 -1
  162. package/dist/core/forms/input.js +27 -15
  163. package/dist/core/forms/input.js.map +1 -1
  164. package/dist/core/forms/multiselect.d.ts +16 -0
  165. package/dist/core/forms/multiselect.d.ts.map +1 -1
  166. package/dist/core/forms/multiselect.js +54 -38
  167. package/dist/core/forms/multiselect.js.map +1 -1
  168. package/dist/core/forms/select.d.ts +17 -0
  169. package/dist/core/forms/select.d.ts.map +1 -1
  170. package/dist/core/forms/select.js +51 -37
  171. package/dist/core/forms/select.js.map +1 -1
  172. package/dist/core/forms/textarea.d.ts +19 -0
  173. package/dist/core/forms/textarea.d.ts.map +1 -1
  174. package/dist/core/forms/textarea.js +51 -47
  175. package/dist/core/forms/textarea.js.map +1 -1
  176. package/dist/core/forms/types.d.ts +41 -2
  177. package/dist/core/forms/types.d.ts.map +1 -1
  178. package/dist/core/forms/wizard.d.ts +19 -0
  179. package/dist/core/forms/wizard.d.ts.map +1 -1
  180. package/dist/core/forms/wizard.js +4 -0
  181. package/dist/core/forms/wizard.js.map +1 -1
  182. package/dist/core/resolve-ctx.d.ts +30 -0
  183. package/dist/core/resolve-ctx.d.ts.map +1 -0
  184. package/dist/core/resolve-ctx.js +43 -0
  185. package/dist/core/resolve-ctx.js.map +1 -0
  186. package/dist/core/text/clip.d.ts +6 -1
  187. package/dist/core/text/clip.d.ts.map +1 -1
  188. package/dist/core/text/clip.js +12 -3
  189. package/dist/core/text/clip.js.map +1 -1
  190. package/dist/core/text/grapheme.d.ts +15 -3
  191. package/dist/core/text/grapheme.d.ts.map +1 -1
  192. package/dist/core/text/grapheme.js +21 -3
  193. package/dist/core/text/grapheme.js.map +1 -1
  194. package/dist/core/text/index.d.ts +7 -0
  195. package/dist/core/text/index.d.ts.map +1 -1
  196. package/dist/core/text/index.js +7 -0
  197. package/dist/core/text/index.js.map +1 -1
  198. package/dist/core/theme/color.d.ts +47 -8
  199. package/dist/core/theme/color.d.ts.map +1 -1
  200. package/dist/core/theme/color.js +77 -8
  201. package/dist/core/theme/color.js.map +1 -1
  202. package/dist/core/theme/downsample.d.ts +24 -6
  203. package/dist/core/theme/downsample.d.ts.map +1 -1
  204. package/dist/core/theme/downsample.js +41 -10
  205. package/dist/core/theme/downsample.js.map +1 -1
  206. package/dist/core/theme/dtcg.d.ts +28 -2
  207. package/dist/core/theme/dtcg.d.ts.map +1 -1
  208. package/dist/core/theme/dtcg.js +112 -9
  209. package/dist/core/theme/dtcg.js.map +1 -1
  210. package/dist/core/theme/extend.d.ts +14 -0
  211. package/dist/core/theme/extend.d.ts.map +1 -1
  212. package/dist/core/theme/extend.js +14 -0
  213. package/dist/core/theme/extend.js.map +1 -1
  214. package/dist/core/theme/gradient.d.ts +16 -0
  215. package/dist/core/theme/gradient.d.ts.map +1 -1
  216. package/dist/core/theme/gradient.js +13 -0
  217. package/dist/core/theme/gradient.js.map +1 -1
  218. package/dist/core/theme/index.d.ts +7 -0
  219. package/dist/core/theme/index.d.ts.map +1 -1
  220. package/dist/core/theme/index.js +7 -0
  221. package/dist/core/theme/index.js.map +1 -1
  222. package/dist/core/theme/presets.d.ts +6 -1
  223. package/dist/core/theme/presets.d.ts.map +1 -1
  224. package/dist/core/theme/presets.js +34 -1
  225. package/dist/core/theme/presets.js.map +1 -1
  226. package/dist/core/theme/resolve.d.ts +59 -13
  227. package/dist/core/theme/resolve.d.ts.map +1 -1
  228. package/dist/core/theme/resolve.js +36 -9
  229. package/dist/core/theme/resolve.js.map +1 -1
  230. package/dist/core/theme/styled.d.ts +12 -0
  231. package/dist/core/theme/styled.d.ts.map +1 -1
  232. package/dist/core/theme/styled.js +12 -0
  233. package/dist/core/theme/styled.js.map +1 -1
  234. package/dist/core/theme/tokens.d.ts +29 -0
  235. package/dist/core/theme/tokens.d.ts.map +1 -1
  236. package/dist/factory.d.ts +18 -0
  237. package/dist/factory.d.ts.map +1 -1
  238. package/dist/factory.js +11 -0
  239. package/dist/factory.js.map +1 -1
  240. package/dist/index.d.ts +10 -2
  241. package/dist/index.d.ts.map +1 -1
  242. package/dist/index.js +11 -1
  243. package/dist/index.js.map +1 -1
  244. package/dist/ports/context.d.ts +11 -0
  245. package/dist/ports/context.d.ts.map +1 -1
  246. package/dist/ports/index.d.ts +6 -1
  247. package/dist/ports/index.d.ts.map +1 -1
  248. package/dist/ports/index.js +5 -0
  249. package/dist/ports/index.js.map +1 -1
  250. package/dist/ports/io.d.ts +66 -2
  251. package/dist/ports/io.d.ts.map +1 -1
  252. package/dist/ports/runtime.d.ts +11 -0
  253. package/dist/ports/runtime.d.ts.map +1 -1
  254. package/dist/ports/style.d.ts +14 -0
  255. package/dist/ports/style.d.ts.map +1 -1
  256. package/package.json +1 -1
@@ -1,4 +1,9 @@
1
1
  // --- Helpers ---
2
+ /**
3
+ * Parse a `#rrggbb` hex string to an RGB tuple.
4
+ * @param hex - Hex color string (with or without `#`).
5
+ * @returns RGB tuple.
6
+ */
2
7
  function hexToRgb(hex) {
3
8
  const h = hex.replace('#', '');
4
9
  return [
@@ -7,12 +12,28 @@ function hexToRgb(hex) {
7
12
  parseInt(h.slice(4, 6), 16),
8
13
  ];
9
14
  }
15
+ /**
16
+ * Convert an RGB tuple to a `#rrggbb` hex string.
17
+ * @param rgb - RGB tuple to convert.
18
+ * @returns Hex color string with leading `#`.
19
+ */
10
20
  function rgbToHex(rgb) {
11
21
  return '#' + rgb.map((c) => c.toString(16).padStart(2, '0')).join('');
12
22
  }
23
+ /**
24
+ * Type guard that checks whether an object is a DTCGToken (has a `$value` property).
25
+ * @param obj - Value to test.
26
+ * @returns True if `obj` conforms to the DTCGToken shape.
27
+ */
13
28
  function isDTCGToken(obj) {
14
29
  return typeof obj === 'object' && obj !== null && '$value' in obj;
15
30
  }
31
+ /**
32
+ * Walk a dot-delimited DTCG reference path (e.g. `{color.primary}`) and return its resolved value.
33
+ * @param ref - DTCG reference string in `{group.key}` format.
34
+ * @param doc - Root document to resolve against.
35
+ * @returns The resolved `$value` or raw nested value, or `undefined` if not found.
36
+ */
16
37
  function resolveReference(ref, doc) {
17
38
  // DTCG references look like "{color.primary}"
18
39
  const path = ref.replace(/^\{|\}$/g, '').split('.');
@@ -26,6 +47,14 @@ function resolveReference(ref, doc) {
26
47
  return current.$value;
27
48
  return current;
28
49
  }
50
+ /**
51
+ * Recursively resolve a DTCG value, following `{reference}` strings until a concrete value is reached.
52
+ * @param value - Value to resolve (may be a reference string or a concrete value).
53
+ * @param doc - Root document for reference lookups.
54
+ * @param seen - Set of already-visited references for circular-reference detection.
55
+ * @returns The fully-resolved concrete value.
56
+ * @throws {Error} If a circular reference is detected or a reference cannot be resolved.
57
+ */
29
58
  function resolveValue(value, doc, seen) {
30
59
  if (typeof value === 'string' && value.startsWith('{') && value.endsWith('}')) {
31
60
  const visitedRefs = seen ?? new Set();
@@ -41,6 +70,12 @@ function resolveValue(value, doc, seen) {
41
70
  }
42
71
  return value;
43
72
  }
73
+ /**
74
+ * Convert a raw DTCG value (possibly a reference) into a TokenValue.
75
+ * @param value - Raw value or reference string from a DTCG token.
76
+ * @param doc - Root document for reference resolution.
77
+ * @returns Resolved TokenValue (defaults to `{ hex: '#000000' }` on failure).
78
+ */
44
79
  function toTokenValue(value, doc) {
45
80
  const resolved = resolveValue(value, doc);
46
81
  if (typeof resolved === 'string') {
@@ -52,10 +87,22 @@ function toTokenValue(value, doc) {
52
87
  const modifiers = Array.isArray(obj['modifiers'])
53
88
  ? obj['modifiers']
54
89
  : undefined;
55
- return modifiers ? { hex, modifiers } : { hex };
90
+ const bg = typeof obj['bg'] === 'string' ? obj['bg'] : undefined;
91
+ const tv = { hex };
92
+ if (bg)
93
+ tv.bg = bg;
94
+ if (modifiers)
95
+ tv.modifiers = modifiers;
96
+ return tv;
56
97
  }
57
98
  return { hex: '#000000' };
58
99
  }
100
+ /**
101
+ * Convert a raw DTCG value (possibly a reference) into an array of GradientStops.
102
+ * @param value - Raw value or reference string from a DTCG gradient token.
103
+ * @param doc - Root document for reference resolution.
104
+ * @returns Array of gradient stops (empty if the resolved value is not an array).
105
+ */
59
106
  function toGradientStops(value, doc) {
60
107
  const resolved = resolveValue(value, doc);
61
108
  if (!Array.isArray(resolved))
@@ -72,6 +119,14 @@ function toGradientStops(value, doc) {
72
119
  });
73
120
  }
74
121
  // --- fromDTCG ---
122
+ /**
123
+ * Extract a record of TokenValues from a DTCG group for the given keys.
124
+ * @template K - Union of string keys to extract.
125
+ * @param group - DTCG group to read tokens from.
126
+ * @param keys - Keys to extract.
127
+ * @param doc - Root document for reference resolution.
128
+ * @returns Record mapping each key to its resolved TokenValue (defaults to `#000000` for missing keys).
129
+ */
75
130
  function extractGroup(group, keys, doc) {
76
131
  const result = {};
77
132
  for (const key of keys) {
@@ -85,11 +140,23 @@ function extractGroup(group, keys, doc) {
85
140
  }
86
141
  return result;
87
142
  }
143
+ /** All built-in status keys used when extracting from a DTCG document. */
88
144
  const STATUS_KEYS = ['success', 'error', 'warning', 'info', 'pending', 'active', 'muted'];
145
+ /** All built-in semantic keys used when extracting from a DTCG document. */
89
146
  const SEMANTIC_KEYS = ['success', 'error', 'warning', 'info', 'accent', 'muted', 'primary'];
147
+ /** All built-in border keys used when extracting from a DTCG document. */
90
148
  const BORDER_KEYS = ['primary', 'secondary', 'success', 'warning', 'error', 'muted'];
149
+ /** All built-in UI element keys used when extracting from a DTCG document. */
91
150
  const UI_KEYS = ['cursor', 'scrollThumb', 'scrollTrack', 'sectionHeader', 'logo', 'tableHeader', 'trackEmpty'];
151
+ /** All built-in surface keys used when extracting from a DTCG document. */
152
+ const SURFACE_KEYS = ['primary', 'secondary', 'elevated', 'overlay', 'muted'];
153
+ /** All built-in gradient keys used when extracting from a DTCG document. */
92
154
  const GRADIENT_KEYS = ['brand', 'progress'];
155
+ /**
156
+ * Convert a DTCG document into a bijou Theme.
157
+ * @param doc - DTCG document containing token groups for status, semantic, border, ui, and gradient.
158
+ * @returns Fully-populated Theme with all built-in keys resolved.
159
+ */
93
160
  export function fromDTCG(doc) {
94
161
  const name = typeof doc['name']?.$value === 'string'
95
162
  ? doc['name'].$value
@@ -98,11 +165,13 @@ export function fromDTCG(doc) {
98
165
  const semanticGroup = doc['semantic'];
99
166
  const borderGroup = doc['border'];
100
167
  const uiGroup = doc['ui'];
168
+ const surfaceGroup = doc['surface'];
101
169
  const gradientGroup = doc['gradient'];
102
170
  const status = extractGroup(statusGroup, STATUS_KEYS, doc);
103
171
  const semantic = extractGroup(semanticGroup, SEMANTIC_KEYS, doc);
104
172
  const border = extractGroup(borderGroup, BORDER_KEYS, doc);
105
173
  const ui = extractGroup(uiGroup, UI_KEYS, doc);
174
+ const surface = extractGroup(surfaceGroup, SURFACE_KEYS, doc);
106
175
  const gradient = {};
107
176
  for (const key of GRADIENT_KEYS) {
108
177
  const token = gradientGroup?.[key];
@@ -113,18 +182,30 @@ export function fromDTCG(doc) {
113
182
  gradient[key] = [];
114
183
  }
115
184
  }
116
- return { name, status, semantic, gradient, border, ui };
185
+ return { name, status, semantic, gradient, border, ui, surface };
117
186
  }
118
187
  // --- toDTCG ---
188
+ /**
189
+ * Convert a single TokenValue to a DTCGToken.
190
+ * @param token - Token to convert.
191
+ * @returns DTCG token with `$type: 'color'`.
192
+ */
119
193
  function tokenToDTCG(token) {
120
- if (token.modifiers && token.modifiers.length > 0) {
121
- return {
122
- $type: 'color',
123
- $value: { hex: token.hex, modifiers: token.modifiers },
124
- };
194
+ if ((token.modifiers && token.modifiers.length > 0) || token.bg) {
195
+ const val = { hex: token.hex };
196
+ if (token.bg)
197
+ val['bg'] = token.bg;
198
+ if (token.modifiers && token.modifiers.length > 0)
199
+ val['modifiers'] = token.modifiers;
200
+ return { $type: 'color', $value: val };
125
201
  }
126
202
  return { $type: 'color', $value: token.hex };
127
203
  }
204
+ /**
205
+ * Convert an array of GradientStops to a DTCGToken with `$type: 'gradient'`.
206
+ * @param stops - Gradient stops to serialize.
207
+ * @returns DTCG token whose `$value` is an array of `{ pos, color }` objects with hex colors.
208
+ */
128
209
  function gradientToDTCG(stops) {
129
210
  return {
130
211
  $type: 'gradient',
@@ -134,6 +215,12 @@ function gradientToDTCG(stops) {
134
215
  })),
135
216
  };
136
217
  }
218
+ /**
219
+ * Convert a record of TokenValues into a DTCGGroup.
220
+ * @template K - String keys of the record.
221
+ * @param record - Record to convert.
222
+ * @returns DTCGGroup with each key mapped to a DTCG color token.
223
+ */
137
224
  function recordToDTCGGroup(record) {
138
225
  const group = {};
139
226
  for (const [key, value] of Object.entries(record)) {
@@ -141,6 +228,11 @@ function recordToDTCGGroup(record) {
141
228
  }
142
229
  return group;
143
230
  }
231
+ /**
232
+ * Convert a bijou Theme into a DTCG document for interop/export.
233
+ * @param theme - Theme to serialize.
234
+ * @returns DTCGDocument with all theme groups as DTCG token groups.
235
+ */
144
236
  export function toDTCG(theme) {
145
237
  const doc = {};
146
238
  doc['name'] = { $type: 'string', $value: theme.name };
@@ -148,6 +240,7 @@ export function toDTCG(theme) {
148
240
  doc['semantic'] = recordToDTCGGroup(theme.semantic);
149
241
  doc['border'] = recordToDTCGGroup(theme.border);
150
242
  doc['ui'] = recordToDTCGGroup(theme.ui);
243
+ doc['surface'] = recordToDTCGGroup(theme.surface);
151
244
  const gradientDoc = {};
152
245
  for (const [key, stops] of Object.entries(theme.gradient)) {
153
246
  gradientDoc[key] = gradientToDTCG(stops);
@@ -156,13 +249,23 @@ export function toDTCG(theme) {
156
249
  return doc;
157
250
  }
158
251
  // --- IO Helpers ---
159
- /** Load a single theme from a DTCG JSON file using the provided IOPort. */
252
+ /**
253
+ * Load a single theme from a DTCG JSON file using the provided IO port.
254
+ * @param io - IO adapter with a `readFile` method.
255
+ * @param path - File path to the JSON theme file.
256
+ * @returns Parsed Theme.
257
+ */
160
258
  export function loadTheme(io, path) {
161
259
  const content = io.readFile(path);
162
260
  const doc = JSON.parse(content);
163
261
  return fromDTCG(doc);
164
262
  }
165
- /** Load all .json files from a directory and return them as a theme record. */
263
+ /**
264
+ * Load all `.json` files from a directory and return them as a theme record keyed by theme name.
265
+ * @param io - IO adapter with `readDir`, `readFile`, and `joinPath` methods.
266
+ * @param dirPath - Directory path to scan for theme JSON files.
267
+ * @returns Record mapping theme names to parsed Themes (malformed files are silently skipped).
268
+ */
166
269
  export function loadThemesFromDir(io, dirPath) {
167
270
  const files = io.readDir(dirPath);
168
271
  const themes = {};
@@ -1 +1 @@
1
- {"version":3,"file":"dtcg.js","sourceRoot":"","sources":["../../../src/core/theme/dtcg.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dtcg.js","sourceRoot":"","sources":["../../../src/core/theme/dtcg.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,21 @@
1
1
  import type { Theme, TokenValue, GradientStop, BaseStatusKey, BaseUiKey, BaseGradientKey } from './tokens.js';
2
+ /**
3
+ * Extend a base theme with additional status, UI, or gradient tokens.
4
+ *
5
+ * Merges the extension records into the base theme's corresponding groups,
6
+ * preserving all existing keys and adding new ones.
7
+ *
8
+ * @template S - Additional status keys beyond BaseStatusKey.
9
+ * @template U - Additional UI element keys beyond BaseUiKey.
10
+ * @template G - Additional gradient keys beyond BaseGradientKey.
11
+ * @param base - Base theme to extend.
12
+ * @param extensions - Partial records of additional tokens to merge.
13
+ * @returns New Theme with the union of base and extension keys.
14
+ */
2
15
  export declare function extendTheme<S extends string = never, U extends string = never, G extends string = never>(base: Theme, extensions: {
3
16
  status?: Partial<Record<S, TokenValue>>;
4
17
  ui?: Partial<Record<U, TokenValue>>;
5
18
  gradient?: Partial<Record<G, GradientStop[]>>;
19
+ surface?: Partial<Theme['surface']>;
6
20
  }): Theme<BaseStatusKey | S, BaseUiKey | U, BaseGradientKey | G>;
7
21
  //# sourceMappingURL=extend.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"extend.d.ts","sourceRoot":"","sources":["../../../src/core/theme/extend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9G,wBAAgB,WAAW,CACzB,CAAC,SAAS,MAAM,GAAG,KAAK,EACxB,CAAC,SAAS,MAAM,GAAG,KAAK,EACxB,CAAC,SAAS,MAAM,GAAG,KAAK,EACxB,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;IACxC,EAAE,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;CAC/C,GAAG,KAAK,CAAC,aAAa,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,EAAE,eAAe,GAAG,CAAC,CAAC,CAO/D"}
1
+ {"version":3,"file":"extend.d.ts","sourceRoot":"","sources":["../../../src/core/theme/extend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9G;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CACzB,CAAC,SAAS,MAAM,GAAG,KAAK,EACxB,CAAC,SAAS,MAAM,GAAG,KAAK,EACxB,CAAC,SAAS,MAAM,GAAG,KAAK,EACxB,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;IACxC,EAAE,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;CACrC,GAAG,KAAK,CAAC,aAAa,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,EAAE,eAAe,GAAG,CAAC,CAAC,CAQ/D"}
@@ -1,9 +1,23 @@
1
+ /**
2
+ * Extend a base theme with additional status, UI, or gradient tokens.
3
+ *
4
+ * Merges the extension records into the base theme's corresponding groups,
5
+ * preserving all existing keys and adding new ones.
6
+ *
7
+ * @template S - Additional status keys beyond BaseStatusKey.
8
+ * @template U - Additional UI element keys beyond BaseUiKey.
9
+ * @template G - Additional gradient keys beyond BaseGradientKey.
10
+ * @param base - Base theme to extend.
11
+ * @param extensions - Partial records of additional tokens to merge.
12
+ * @returns New Theme with the union of base and extension keys.
13
+ */
1
14
  export function extendTheme(base, extensions) {
2
15
  return {
3
16
  ...base,
4
17
  status: { ...base.status, ...extensions.status },
5
18
  ui: { ...base.ui, ...extensions.ui },
6
19
  gradient: { ...base.gradient, ...extensions.gradient },
20
+ surface: { ...base.surface, ...extensions.surface },
7
21
  };
8
22
  }
9
23
  //# sourceMappingURL=extend.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extend.js","sourceRoot":"","sources":["../../../src/core/theme/extend.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,WAAW,CAIzB,IAAW,EAAE,UAId;IACC,OAAO;QACL,GAAG,IAAI;QACP,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,EAA2C;QACzF,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,GAAG,UAAU,CAAC,EAAE,EAAuC;QACzE,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,UAAU,CAAC,QAAQ,EAAiD;KACtG,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"extend.js","sourceRoot":"","sources":["../../../src/core/theme/extend.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,WAAW,CAIzB,IAAW,EAAE,UAKd;IACC,OAAO;QACL,GAAG,IAAI;QACP,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,EAA2C;QACzF,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,GAAG,UAAU,CAAC,EAAE,EAAuC;QACzE,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,UAAU,CAAC,QAAQ,EAAiD;QACrG,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE;KACpD,CAAC;AACJ,CAAC"}
@@ -1,9 +1,25 @@
1
1
  import type { RGB, GradientStop } from './tokens.js';
2
2
  import type { StylePort } from '../../ports/style.js';
3
+ /**
4
+ * Linearly interpolate an RGB color from a sorted array of gradient stops.
5
+ * @param stops - Gradient stops sorted by ascending position.
6
+ * @param t - Normalized position (0-1) to sample.
7
+ * @returns Interpolated RGB color at position `t`.
8
+ */
3
9
  export declare function lerp3(stops: GradientStop[], t: number): RGB;
10
+ /** Options for rendering gradient-colored text. */
4
11
  export interface GradientTextOptions {
12
+ /** Style port used to apply RGB colors to individual characters. */
5
13
  style: StylePort;
14
+ /** When true, return plain text without any color escapes. */
6
15
  noColor?: boolean;
7
16
  }
17
+ /**
18
+ * Apply a gradient color to each character of a string.
19
+ * @param text - Text to colorize.
20
+ * @param stops - Gradient color stops.
21
+ * @param options - Style port and noColor flag.
22
+ * @returns The text with per-character RGB coloring applied (or plain text if noColor).
23
+ */
8
24
  export declare function gradientText(text: string, stops: GradientStop[], options: GradientTextOptions): string;
9
25
  //# sourceMappingURL=gradient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gradient.d.ts","sourceRoot":"","sources":["../../../src/core/theme/gradient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,wBAAgB,KAAK,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,GAAG,CAoB3D;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,mBAAmB,GAAG,MAAM,CAetG"}
1
+ {"version":3,"file":"gradient.d.ts","sourceRoot":"","sources":["../../../src/core/theme/gradient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,GAAG,CAoB3D;AAED,mDAAmD;AACnD,MAAM,WAAW,mBAAmB;IAClC,oEAAoE;IACpE,KAAK,EAAE,SAAS,CAAC;IACjB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,mBAAmB,GAAG,MAAM,CAetG"}
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Linearly interpolate an RGB color from a sorted array of gradient stops.
3
+ * @param stops - Gradient stops sorted by ascending position.
4
+ * @param t - Normalized position (0-1) to sample.
5
+ * @returns Interpolated RGB color at position `t`.
6
+ */
1
7
  export function lerp3(stops, t) {
2
8
  if (stops.length === 0)
3
9
  return [0, 0, 0];
@@ -21,6 +27,13 @@ export function lerp3(stops, t) {
21
27
  }
22
28
  return stops[stops.length - 1].color;
23
29
  }
30
+ /**
31
+ * Apply a gradient color to each character of a string.
32
+ * @param text - Text to colorize.
33
+ * @param stops - Gradient color stops.
34
+ * @param options - Style port and noColor flag.
35
+ * @returns The text with per-character RGB coloring applied (or plain text if noColor).
36
+ */
24
37
  export function gradientText(text, stops, options) {
25
38
  if (options.noColor || text.length === 0 || stops.length === 0)
26
39
  return text;
@@ -1 +1 @@
1
- {"version":3,"file":"gradient.js","sourceRoot":"","sources":["../../../src/core/theme/gradient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gradient.js","sourceRoot":"","sources":["../../../src/core/theme/gradient.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,10 @@
1
+ /**
2
+ * Theme module barrel — re-exports all theme types, presets, utilities,
3
+ * gradient helpers, resolver, DTCG interop, color downsampling, and
4
+ * color manipulation functions.
5
+ *
6
+ * @module
7
+ */
1
8
  export type { RGB, GradientStop, TextModifier, TokenValue, InkColor, BaseStatusKey, BaseUiKey, BaseGradientKey, Theme, } from './tokens.js';
2
9
  export { CYAN_MAGENTA, TEAL_ORANGE_PINK, PRESETS, tv } from './presets.js';
3
10
  export { styled, styledStatus } from './styled.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/theme/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,GAAG,EACH,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,aAAa,EACb,SAAS,EACT,eAAe,EACf,KAAK,GACN,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAG3E,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGnD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGpD,OAAO,EACL,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,GACf,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAIvF,YAAY,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAGzD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC7C,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGpE,OAAO,EACL,YAAY,EACZ,cAAc,EACd,WAAW,EACX,eAAe,EACf,KAAK,UAAU,GAChB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,MAAM,EACN,GAAG,EACH,aAAa,EACb,QAAQ,EACR,UAAU,GACX,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/theme/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,YAAY,EACV,GAAG,EACH,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,aAAa,EACb,SAAS,EACT,eAAe,EACf,KAAK,GACN,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAG3E,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGnD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGpD,OAAO,EACL,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,GACf,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAIvF,YAAY,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAGzD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC7C,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGpE,OAAO,EACL,YAAY,EACZ,cAAc,EACd,WAAW,EACX,eAAe,EACf,KAAK,UAAU,GAChB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,MAAM,EACN,GAAG,EACH,aAAa,EACb,QAAQ,EACR,UAAU,GACX,MAAM,YAAY,CAAC"}
@@ -1,3 +1,10 @@
1
+ /**
2
+ * Theme module barrel — re-exports all theme types, presets, utilities,
3
+ * gradient helpers, resolver, DTCG interop, color downsampling, and
4
+ * color manipulation functions.
5
+ *
6
+ * @module
7
+ */
1
8
  // Presets
2
9
  export { CYAN_MAGENTA, TEAL_ORANGE_PINK, PRESETS, tv } from './presets.js';
3
10
  // Freestanding styled helpers
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/theme/index.ts"],"names":[],"mappings":"AAaA,UAAU;AACV,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAE3E,8BAA8B;AAC9B,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEnD,kBAAkB;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,WAAW;AACX,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEpD,WAAW;AACX,OAAO,EACL,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,GACf,MAAM,cAAc,CAAC;AAOtB,eAAe;AACf,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAG7C,qBAAqB;AACrB,OAAO,EACL,YAAY,EACZ,cAAc,EACd,WAAW,EACX,eAAe,GAEhB,MAAM,iBAAiB,CAAC;AAEzB,qBAAqB;AACrB,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,MAAM,EACN,GAAG,EACH,aAAa,EACb,QAAQ,EACR,UAAU,GACX,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/theme/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAeH,UAAU;AACV,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAE3E,8BAA8B;AAC9B,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEnD,kBAAkB;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,WAAW;AACX,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEpD,WAAW;AACX,OAAO,EACL,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,GACf,MAAM,cAAc,CAAC;AAOtB,eAAe;AACf,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAG7C,qBAAqB;AACrB,OAAO,EACL,YAAY,EACZ,cAAc,EACd,WAAW,EACX,eAAe,GAEhB,MAAM,iBAAiB,CAAC;AAEzB,qBAAqB;AACrB,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,MAAM,EACN,GAAG,EACH,aAAa,EACb,QAAQ,EACR,UAAU,GACX,MAAM,YAAY,CAAC"}
@@ -1,5 +1,10 @@
1
1
  import type { Theme, BaseStatusKey, TokenValue, TextModifier } from './tokens.js';
2
- /** Helper to reduce verbosity when defining token values. */
2
+ /**
3
+ * Shorthand helper to create a TokenValue with less boilerplate.
4
+ * @param hex - Hex color string (e.g. `'#00ffff'`).
5
+ * @param modifiers - Optional text modifiers to attach.
6
+ * @returns TokenValue with the given hex and optional modifiers.
7
+ */
3
8
  export declare function tv(hex: string, modifiers?: TextModifier[]): TokenValue;
4
9
  /**
5
10
  * CYAN_MAGENTA — the default theme.
@@ -1 +1 @@
1
- {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../../src/core/theme/presets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAElF,6DAA6D;AAC7D,wBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,YAAY,EAAE,GAAG,UAAU,CAEtE;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,aAAa,CAoD7C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,aAAa,CAsDjD,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAoGzC,CAAC"}
1
+ {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../../src/core/theme/presets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAElF;;;;;GAKG;AACH,wBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,YAAY,EAAE,GAAG,UAAU,CAEtE;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,aAAa,CA4D7C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,aAAa,CA8DjD,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAkHzC,CAAC"}
@@ -1,4 +1,9 @@
1
- /** Helper to reduce verbosity when defining token values. */
1
+ /**
2
+ * Shorthand helper to create a TokenValue with less boilerplate.
3
+ * @param hex - Hex color string (e.g. `'#00ffff'`).
4
+ * @param modifiers - Optional text modifiers to attach.
5
+ * @returns TokenValue with the given hex and optional modifiers.
6
+ */
2
7
  export function tv(hex, modifiers) {
3
8
  return modifiers !== undefined ? { hex, modifiers } : { hex };
4
9
  }
@@ -57,6 +62,13 @@ export const CYAN_MAGENTA = {
57
62
  tableHeader: tv('#ffffff'),
58
63
  trackEmpty: tv('#505050'),
59
64
  },
65
+ surface: {
66
+ primary: { hex: '#ffffff', bg: '#1a1a2e' },
67
+ secondary: { hex: '#e0e0e0', bg: '#16213e' },
68
+ elevated: { hex: '#ffffff', bg: '#0f3460' },
69
+ overlay: { hex: '#ffffff', bg: '#1a1a2e' },
70
+ muted: { hex: '#808080', bg: '#0a0a14' },
71
+ },
60
72
  };
61
73
  /**
62
74
  * TEAL_ORANGE_PINK — a gradient-based theme.
@@ -113,6 +125,13 @@ export const TEAL_ORANGE_PINK = {
113
125
  tableHeader: tv('#d1d5db'),
114
126
  trackEmpty: tv('#404040'),
115
127
  },
128
+ surface: {
129
+ primary: { hex: '#d1d5db', bg: '#1f2937' },
130
+ secondary: { hex: '#d1d5db', bg: '#111827' },
131
+ elevated: { hex: '#d1d5db', bg: '#374151' },
132
+ overlay: { hex: '#d1d5db', bg: '#1f2937' },
133
+ muted: { hex: '#6b7280', bg: '#0f1117' },
134
+ },
116
135
  };
117
136
  /** Registry of all built-in presets, keyed by theme name. */
118
137
  export const PRESETS = {
@@ -165,6 +184,13 @@ export const PRESETS = {
165
184
  tableHeader: tv('#D8DEE9'),
166
185
  trackEmpty: tv('#2E3440'),
167
186
  },
187
+ surface: {
188
+ primary: { hex: '#D8DEE9', bg: '#2E3440' },
189
+ secondary: { hex: '#D8DEE9', bg: '#3B4252' },
190
+ elevated: { hex: '#ECEFF4', bg: '#434C5E' },
191
+ overlay: { hex: '#D8DEE9', bg: '#2E3440' },
192
+ muted: { hex: '#4C566A', bg: '#242933' },
193
+ },
168
194
  },
169
195
  'catppuccin': {
170
196
  name: 'catppuccin',
@@ -214,6 +240,13 @@ export const PRESETS = {
214
240
  tableHeader: tv('#cdd6f4'),
215
241
  trackEmpty: tv('#181825'),
216
242
  },
243
+ surface: {
244
+ primary: { hex: '#cdd6f4', bg: '#1e1e2e' },
245
+ secondary: { hex: '#cdd6f4', bg: '#181825' },
246
+ elevated: { hex: '#cdd6f4', bg: '#313244' },
247
+ overlay: { hex: '#cdd6f4', bg: '#1e1e2e' },
248
+ muted: { hex: '#6c7086', bg: '#11111b' },
249
+ },
217
250
  },
218
251
  };
219
252
  //# sourceMappingURL=presets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"presets.js","sourceRoot":"","sources":["../../../src/core/theme/presets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"presets.js","sourceRoot":"","sources":["../../../src/core/theme/presets.ts"],"names":[],"mappings":"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"}