@flyingrobots/bijou 0.8.0 → 0.10.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 (56) hide show
  1. package/dist/adapters/test/audit-style.d.ts +25 -0
  2. package/dist/adapters/test/audit-style.d.ts.map +1 -0
  3. package/dist/adapters/test/audit-style.js +41 -0
  4. package/dist/adapters/test/audit-style.js.map +1 -0
  5. package/dist/adapters/test/index.d.ts +1 -0
  6. package/dist/adapters/test/index.d.ts.map +1 -1
  7. package/dist/adapters/test/index.js +1 -0
  8. package/dist/adapters/test/index.js.map +1 -1
  9. package/dist/core/components/box.d.ts +2 -0
  10. package/dist/core/components/box.d.ts.map +1 -1
  11. package/dist/core/components/box.js +29 -15
  12. package/dist/core/components/box.js.map +1 -1
  13. package/dist/core/components/dag.d.ts.map +1 -1
  14. package/dist/core/components/dag.js +20 -10
  15. package/dist/core/components/dag.js.map +1 -1
  16. package/dist/core/components/index.d.ts +2 -0
  17. package/dist/core/components/index.d.ts.map +1 -1
  18. package/dist/core/components/index.js +1 -0
  19. package/dist/core/components/index.js.map +1 -1
  20. package/dist/core/components/markdown.d.ts +29 -0
  21. package/dist/core/components/markdown.d.ts.map +1 -0
  22. package/dist/core/components/markdown.js +328 -0
  23. package/dist/core/components/markdown.js.map +1 -0
  24. package/dist/core/forms/filter.js +5 -2
  25. package/dist/core/forms/filter.js.map +1 -1
  26. package/dist/core/forms/multiselect.js +4 -1
  27. package/dist/core/forms/multiselect.js.map +1 -1
  28. package/dist/core/forms/select.js +4 -1
  29. package/dist/core/forms/select.js.map +1 -1
  30. package/dist/core/forms/textarea.js +5 -2
  31. package/dist/core/forms/textarea.js.map +1 -1
  32. package/dist/core/text/clip.d.ts +16 -0
  33. package/dist/core/text/clip.d.ts.map +1 -0
  34. package/dist/core/text/clip.js +66 -0
  35. package/dist/core/text/clip.js.map +1 -0
  36. package/dist/core/text/grapheme.d.ts +54 -0
  37. package/dist/core/text/grapheme.d.ts.map +1 -0
  38. package/dist/core/text/grapheme.js +160 -0
  39. package/dist/core/text/grapheme.js.map +1 -0
  40. package/dist/core/text/index.d.ts +3 -0
  41. package/dist/core/text/index.d.ts.map +1 -0
  42. package/dist/core/text/index.js +3 -0
  43. package/dist/core/text/index.js.map +1 -0
  44. package/dist/core/theme/downsample.d.ts +35 -0
  45. package/dist/core/theme/downsample.d.ts.map +1 -0
  46. package/dist/core/theme/downsample.js +141 -0
  47. package/dist/core/theme/downsample.js.map +1 -0
  48. package/dist/core/theme/index.d.ts +1 -0
  49. package/dist/core/theme/index.d.ts.map +1 -1
  50. package/dist/core/theme/index.js +2 -0
  51. package/dist/core/theme/index.js.map +1 -1
  52. package/dist/index.d.ts +3 -2
  53. package/dist/index.d.ts.map +1 -1
  54. package/dist/index.js +5 -1
  55. package/dist/index.js.map +1 -1
  56. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clip.js","sourceRoot":"","sources":["../../../src/core/text/clip.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAEvE,4CAA4C;AAC5C,MAAM,OAAO,GAAG,iBAAiB,CAAC;AAElC;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW,EAAE,QAAgB;IACvD,IAAI,QAAQ,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAE7B,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAE7C,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,EAAE,GAAG,CAAC,CAAC;IACX,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC;QAEnB,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;YAClB,QAAQ,GAAG,IAAI,CAAC;YAChB,MAAM,GAAG,EAAE,CAAC;YACZ,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,EAAE,CAAC;YACb,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACf,QAAQ,GAAG,KAAK,CAAC;gBACjB,MAAM,IAAI,MAAM,CAAC;gBACjB,MAAM,GAAG,EAAE,CAAC;gBACZ,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;YACD,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QAED,0DAA0D;QAC1D,IAAI,EAAE,IAAI,SAAS,CAAC,MAAM;YAAE,MAAM;QAElC,MAAM,QAAQ,GAAG,SAAS,CAAC,EAAE,CAAE,CAAC;QAChC,MAAM,MAAM,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAE9C,IAAI,OAAO,GAAG,MAAM,GAAG,QAAQ,EAAE,CAAC;YAChC,IAAI,QAAQ;gBAAE,MAAM,IAAI,SAAS,CAAC;YAClC,MAAM;QACR,CAAC;QAED,MAAM,IAAI,QAAQ,CAAC;QACnB,OAAO,IAAI,MAAM,CAAC;QAClB,EAAE,EAAE,CAAC;QACL,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Grapheme cluster utilities for correct Unicode text measurement.
3
+ *
4
+ * Uses `Intl.Segmenter` for proper grapheme cluster iteration and a compact
5
+ * lookup for East Asian Wide / emoji display widths.
6
+ */
7
+ /**
8
+ * Returns true if the given code point occupies 2 terminal columns.
9
+ *
10
+ * Covers:
11
+ * - CJK Unified Ideographs (U+4E00–U+9FFF)
12
+ * - CJK Extension A (U+3400–U+4DBF)
13
+ * - CJK Extension B–I (U+20000–U+3FFFF)
14
+ * - CJK Compatibility Ideographs (U+F900–U+FAFF)
15
+ * - Fullwidth Forms (U+FF01–U+FF60, U+FFE0–U+FFE6)
16
+ * - CJK Radicals / Kangxi (U+2E80–U+2FDF)
17
+ * - CJK Symbols and Punctuation (U+3000–U+303F)
18
+ * - Enclosed CJK Letters (U+3200–U+33FF)
19
+ * - CJK Compatibility (U+FE30–U+FE4F)
20
+ * - Hangul Syllables (U+AC00–U+D7A3)
21
+ * - Emoji (most U+1F000+)
22
+ */
23
+ export declare function isWideChar(cp: number): boolean;
24
+ /**
25
+ * Split a string into an array of grapheme clusters.
26
+ *
27
+ * Each element is a single user-perceived character (handles combining
28
+ * marks, ZWJ sequences, flag pairs, skin tones, etc.).
29
+ */
30
+ export declare function segmentGraphemes(str: string): string[];
31
+ /**
32
+ * Compute the terminal display width of a single grapheme cluster.
33
+ *
34
+ * The width is determined by the widest code point in the cluster:
35
+ * - East Asian Wide / Fullwidth characters → 2
36
+ * - Emoji (U+1F300+) → 2
37
+ * - Everything else (ASCII, Latin, combining marks, etc.) → 1
38
+ *
39
+ * Zero-width characters (combining marks, ZWJ, variation selectors)
40
+ * don't add width on their own — they're part of the cluster.
41
+ */
42
+ export declare function graphemeClusterWidth(grapheme: string): number;
43
+ /**
44
+ * Compute the terminal display width of a string.
45
+ *
46
+ * Strips ANSI escape sequences, segments into grapheme clusters,
47
+ * and sums display widths. Correctly handles:
48
+ * - Multi-codepoint emoji (flags, ZWJ families, skin tones)
49
+ * - East Asian Wide characters (CJK, fullwidth forms)
50
+ * - Combining marks (accented characters)
51
+ * - ANSI escape sequences (ignored)
52
+ */
53
+ export declare function graphemeWidth(str: string): number;
54
+ //# sourceMappingURL=grapheme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grapheme.d.ts","sourceRoot":"","sources":["../../../src/core/text/grapheme.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAmBH;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAgD9C;AAMD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAOtD;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAc7D;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAUjD"}
@@ -0,0 +1,160 @@
1
+ /**
2
+ * Grapheme cluster utilities for correct Unicode text measurement.
3
+ *
4
+ * Uses `Intl.Segmenter` for proper grapheme cluster iteration and a compact
5
+ * lookup for East Asian Wide / emoji display widths.
6
+ */
7
+ // ---------------------------------------------------------------------------
8
+ // Segmenter (lazy singleton)
9
+ // ---------------------------------------------------------------------------
10
+ let _segmenter;
11
+ function segmenter() {
12
+ if (!_segmenter) {
13
+ _segmenter = new Intl.Segmenter('en', { granularity: 'grapheme' });
14
+ }
15
+ return _segmenter;
16
+ }
17
+ // ---------------------------------------------------------------------------
18
+ // Wide character detection
19
+ // ---------------------------------------------------------------------------
20
+ /**
21
+ * Returns true if the given code point occupies 2 terminal columns.
22
+ *
23
+ * Covers:
24
+ * - CJK Unified Ideographs (U+4E00–U+9FFF)
25
+ * - CJK Extension A (U+3400–U+4DBF)
26
+ * - CJK Extension B–I (U+20000–U+3FFFF)
27
+ * - CJK Compatibility Ideographs (U+F900–U+FAFF)
28
+ * - Fullwidth Forms (U+FF01–U+FF60, U+FFE0–U+FFE6)
29
+ * - CJK Radicals / Kangxi (U+2E80–U+2FDF)
30
+ * - CJK Symbols and Punctuation (U+3000–U+303F)
31
+ * - Enclosed CJK Letters (U+3200–U+33FF)
32
+ * - CJK Compatibility (U+FE30–U+FE4F)
33
+ * - Hangul Syllables (U+AC00–U+D7A3)
34
+ * - Emoji (most U+1F000+)
35
+ */
36
+ export function isWideChar(cp) {
37
+ // Fullwidth Forms
38
+ if (cp >= 0xFF01 && cp <= 0xFF60)
39
+ return true;
40
+ if (cp >= 0xFFE0 && cp <= 0xFFE6)
41
+ return true;
42
+ // CJK Radicals, Kangxi Radicals
43
+ if (cp >= 0x2E80 && cp <= 0x2FDF)
44
+ return true;
45
+ // CJK Symbols and Punctuation, Hiragana, Katakana
46
+ if (cp >= 0x3000 && cp <= 0x33FF)
47
+ return true;
48
+ // CJK Extension A
49
+ if (cp >= 0x3400 && cp <= 0x4DBF)
50
+ return true;
51
+ // CJK Unified Ideographs
52
+ if (cp >= 0x4E00 && cp <= 0x9FFF)
53
+ return true;
54
+ // Hangul Syllables (U+AC00–U+D7A3; excludes Jamo Extended-B which are narrow)
55
+ if (cp >= 0xAC00 && cp <= 0xD7A3)
56
+ return true;
57
+ // CJK Compatibility Ideographs
58
+ if (cp >= 0xF900 && cp <= 0xFAFF)
59
+ return true;
60
+ // CJK Compatibility Forms
61
+ if (cp >= 0xFE30 && cp <= 0xFE4F)
62
+ return true;
63
+ // CJK Extension B–I and beyond
64
+ if (cp >= 0x20000 && cp <= 0x3FFFF)
65
+ return true;
66
+ // Emoji blocks (most render as 2 columns)
67
+ // Miscellaneous Symbols and Pictographs
68
+ if (cp >= 0x1F300 && cp <= 0x1F9FF)
69
+ return true;
70
+ // Supplemental Symbols and Pictographs
71
+ if (cp >= 0x1FA00 && cp <= 0x1FA6F)
72
+ return true;
73
+ // Symbols and Pictographs Extended-A
74
+ if (cp >= 0x1FA70 && cp <= 0x1FAFF)
75
+ return true;
76
+ // Emoticons
77
+ if (cp >= 0x1F600 && cp <= 0x1F64F)
78
+ return true;
79
+ // Transport and Map Symbols
80
+ if (cp >= 0x1F680 && cp <= 0x1F6FF)
81
+ return true;
82
+ // Dingbats (common emoji like ✂️ ✈️)
83
+ if (cp >= 0x2702 && cp <= 0x27B0)
84
+ return true;
85
+ // Regional indicators (flags)
86
+ if (cp >= 0x1F1E0 && cp <= 0x1F1FF)
87
+ return true;
88
+ // Playing Cards, Mahjong Tiles
89
+ if (cp >= 0x1F000 && cp <= 0x1F02F)
90
+ return true;
91
+ return false;
92
+ }
93
+ // ---------------------------------------------------------------------------
94
+ // Grapheme segmentation
95
+ // ---------------------------------------------------------------------------
96
+ /**
97
+ * Split a string into an array of grapheme clusters.
98
+ *
99
+ * Each element is a single user-perceived character (handles combining
100
+ * marks, ZWJ sequences, flag pairs, skin tones, etc.).
101
+ */
102
+ export function segmentGraphemes(str) {
103
+ const segments = segmenter().segment(str);
104
+ const result = [];
105
+ for (const { segment } of segments) {
106
+ result.push(segment);
107
+ }
108
+ return result;
109
+ }
110
+ // ---------------------------------------------------------------------------
111
+ // Display width
112
+ // ---------------------------------------------------------------------------
113
+ /**
114
+ * Compute the terminal display width of a single grapheme cluster.
115
+ *
116
+ * The width is determined by the widest code point in the cluster:
117
+ * - East Asian Wide / Fullwidth characters → 2
118
+ * - Emoji (U+1F300+) → 2
119
+ * - Everything else (ASCII, Latin, combining marks, etc.) → 1
120
+ *
121
+ * Zero-width characters (combining marks, ZWJ, variation selectors)
122
+ * don't add width on their own — they're part of the cluster.
123
+ */
124
+ export function graphemeClusterWidth(grapheme) {
125
+ let maxWidth = 1;
126
+ for (const ch of grapheme) {
127
+ const cp = ch.codePointAt(0);
128
+ // Skip zero-width joiners and variation selectors
129
+ if (cp === 0x200D || (cp >= 0xFE00 && cp <= 0xFE0F) || (cp >= 0xE0100 && cp <= 0xE01EF)) {
130
+ continue;
131
+ }
132
+ if (isWideChar(cp)) {
133
+ maxWidth = 2;
134
+ break; // Can't be wider than 2
135
+ }
136
+ }
137
+ return maxWidth;
138
+ }
139
+ /**
140
+ * Compute the terminal display width of a string.
141
+ *
142
+ * Strips ANSI escape sequences, segments into grapheme clusters,
143
+ * and sums display widths. Correctly handles:
144
+ * - Multi-codepoint emoji (flags, ZWJ families, skin tones)
145
+ * - East Asian Wide characters (CJK, fullwidth forms)
146
+ * - Combining marks (accented characters)
147
+ * - ANSI escape sequences (ignored)
148
+ */
149
+ export function graphemeWidth(str) {
150
+ // Strip ANSI escapes first
151
+ const clean = str.replace(/\x1b\[[0-9;]*m/g, '');
152
+ if (clean.length === 0)
153
+ return 0;
154
+ let width = 0;
155
+ for (const { segment } of segmenter().segment(clean)) {
156
+ width += graphemeClusterWidth(segment);
157
+ }
158
+ return width;
159
+ }
160
+ //# sourceMappingURL=grapheme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grapheme.js","sourceRoot":"","sources":["../../../src/core/text/grapheme.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { isWideChar, segmentGraphemes, graphemeClusterWidth, graphemeWidth, } from './grapheme.js';
2
+ export { clipToWidth } from './clip.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/text/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,GACd,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { isWideChar, segmentGraphemes, graphemeClusterWidth, graphemeWidth, } from './grapheme.js';
2
+ export { clipToWidth } from './clip.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/text/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,GACd,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Color downsampling utilities for terminals with limited color support.
3
+ *
4
+ * Provides pure conversion functions for mapping RGB colors to lower
5
+ * color levels (ANSI 256, ANSI 16) without external dependencies.
6
+ */
7
+ export type ColorLevel = 'none' | 'ansi16' | 'ansi256' | 'truecolor';
8
+ /**
9
+ * Map an RGB color to the nearest ANSI 256 color index (16–255).
10
+ *
11
+ * The ANSI 256 palette has:
12
+ * - Indices 0–15: standard + bright colors (not targeted here)
13
+ * - Indices 16–231: 6×6×6 color cube
14
+ * - Indices 232–255: grayscale ramp (24 shades)
15
+ */
16
+ export declare function rgbToAnsi256(r: number, g: number, b: number): number;
17
+ /**
18
+ * Find the nearest ANSI 256 color using Euclidean distance in RGB space.
19
+ *
20
+ * Considers both the 6×6×6 cube and the grayscale ramp, returning
21
+ * whichever is closest to the input color.
22
+ */
23
+ export declare function nearestAnsi256(r: number, g: number, b: number): number;
24
+ /**
25
+ * Map an RGB color to the nearest ANSI 16 color index (0–15).
26
+ *
27
+ * Uses Euclidean distance in RGB space to find the closest match
28
+ * among the 16 standard terminal colors.
29
+ */
30
+ export declare function rgbToAnsi16(r: number, g: number, b: number): number;
31
+ /**
32
+ * Convert an ANSI 256 color index to the nearest ANSI 16 color index.
33
+ */
34
+ export declare function ansi256ToAnsi16(code: number): number;
35
+ //# sourceMappingURL=downsample.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"downsample.d.ts","sourceRoot":"","sources":["../../../src/core/theme/downsample.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;AAMrE;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAapE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CA0BtE;AAqDD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAcnE;AAMD;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOpD"}
@@ -0,0 +1,141 @@
1
+ /**
2
+ * Color downsampling utilities for terminals with limited color support.
3
+ *
4
+ * Provides pure conversion functions for mapping RGB colors to lower
5
+ * color levels (ANSI 256, ANSI 16) without external dependencies.
6
+ */
7
+ // ---------------------------------------------------------------------------
8
+ // RGB → ANSI 256
9
+ // ---------------------------------------------------------------------------
10
+ /**
11
+ * Map an RGB color to the nearest ANSI 256 color index (16–255).
12
+ *
13
+ * The ANSI 256 palette has:
14
+ * - Indices 0–15: standard + bright colors (not targeted here)
15
+ * - Indices 16–231: 6×6×6 color cube
16
+ * - Indices 232–255: grayscale ramp (24 shades)
17
+ */
18
+ export function rgbToAnsi256(r, g, b) {
19
+ // Check if it's close to grayscale first
20
+ if (r === g && g === b) {
21
+ if (r < 8)
22
+ return 16; // black end of cube
23
+ if (r > 248)
24
+ return 231; // white end of cube
25
+ return Math.round((r - 8) / 247 * 24) + 232;
26
+ }
27
+ // Map to 6×6×6 color cube (indices 16–231)
28
+ const ri = Math.round(r / 255 * 5);
29
+ const gi = Math.round(g / 255 * 5);
30
+ const bi = Math.round(b / 255 * 5);
31
+ return 16 + (36 * ri) + (6 * gi) + bi;
32
+ }
33
+ /**
34
+ * Find the nearest ANSI 256 color using Euclidean distance in RGB space.
35
+ *
36
+ * Considers both the 6×6×6 cube and the grayscale ramp, returning
37
+ * whichever is closest to the input color.
38
+ */
39
+ export function nearestAnsi256(r, g, b) {
40
+ const cubeIdx = rgbToAnsi256(r, g, b);
41
+ // Also check the grayscale ramp for a closer match
42
+ let grayIdx = cubeIdx;
43
+ if (r !== g || g !== b) {
44
+ const gray = Math.round(0.299 * r + 0.587 * g + 0.114 * b);
45
+ if (gray < 8) {
46
+ grayIdx = 16;
47
+ }
48
+ else if (gray > 248) {
49
+ grayIdx = 231;
50
+ }
51
+ else {
52
+ grayIdx = Math.round((gray - 8) / 247 * 24) + 232;
53
+ }
54
+ }
55
+ if (cubeIdx === grayIdx)
56
+ return cubeIdx;
57
+ // Compare distances
58
+ const cubeRgb = ansi256ToRgb(cubeIdx);
59
+ const grayRgb = ansi256ToRgb(grayIdx);
60
+ const cubeDist = colorDistance(r, g, b, cubeRgb[0], cubeRgb[1], cubeRgb[2]);
61
+ const grayDist = colorDistance(r, g, b, grayRgb[0], grayRgb[1], grayRgb[2]);
62
+ return grayDist < cubeDist ? grayIdx : cubeIdx;
63
+ }
64
+ /** Convert an ANSI 256 index (16–255) back to approximate RGB. */
65
+ function ansi256ToRgb(idx) {
66
+ if (idx >= 232) {
67
+ const gray = (idx - 232) * 10 + 8;
68
+ return [gray, gray, gray];
69
+ }
70
+ const value = idx - 16;
71
+ const ri = Math.floor(value / 36);
72
+ const gi = Math.floor((value % 36) / 6);
73
+ const bi = value % 6;
74
+ return [
75
+ ri > 0 ? ri * 40 + 55 : 0,
76
+ gi > 0 ? gi * 40 + 55 : 0,
77
+ bi > 0 ? bi * 40 + 55 : 0,
78
+ ];
79
+ }
80
+ function colorDistance(r1, g1, b1, r2, g2, b2) {
81
+ return (r1 - r2) ** 2 + (g1 - g2) ** 2 + (b1 - b2) ** 2;
82
+ }
83
+ // ---------------------------------------------------------------------------
84
+ // RGB → ANSI 16
85
+ // ---------------------------------------------------------------------------
86
+ /**
87
+ * The 16 standard ANSI colors in RGB, indexed 0–15.
88
+ * 0–7: standard, 8–15: bright variants.
89
+ */
90
+ const ANSI16_PALETTE = [
91
+ [0, 0, 0], // 0: black
92
+ [128, 0, 0], // 1: red
93
+ [0, 128, 0], // 2: green
94
+ [128, 128, 0], // 3: yellow
95
+ [0, 0, 128], // 4: blue
96
+ [128, 0, 128], // 5: magenta
97
+ [0, 128, 128], // 6: cyan
98
+ [192, 192, 192], // 7: white (light gray)
99
+ [128, 128, 128], // 8: bright black (dark gray)
100
+ [255, 0, 0], // 9: bright red
101
+ [0, 255, 0], // 10: bright green
102
+ [255, 255, 0], // 11: bright yellow
103
+ [0, 0, 255], // 12: bright blue
104
+ [255, 0, 255], // 13: bright magenta
105
+ [0, 255, 255], // 14: bright cyan
106
+ [255, 255, 255], // 15: bright white
107
+ ];
108
+ /**
109
+ * Map an RGB color to the nearest ANSI 16 color index (0–15).
110
+ *
111
+ * Uses Euclidean distance in RGB space to find the closest match
112
+ * among the 16 standard terminal colors.
113
+ */
114
+ export function rgbToAnsi16(r, g, b) {
115
+ let bestIdx = 0;
116
+ let bestDist = Infinity;
117
+ for (let i = 0; i < ANSI16_PALETTE.length; i++) {
118
+ const [pr, pg, pb] = ANSI16_PALETTE[i];
119
+ const dist = colorDistance(r, g, b, pr, pg, pb);
120
+ if (dist < bestDist) {
121
+ bestDist = dist;
122
+ bestIdx = i;
123
+ }
124
+ }
125
+ return bestIdx;
126
+ }
127
+ // ---------------------------------------------------------------------------
128
+ // ANSI 256 → ANSI 16
129
+ // ---------------------------------------------------------------------------
130
+ /**
131
+ * Convert an ANSI 256 color index to the nearest ANSI 16 color index.
132
+ */
133
+ export function ansi256ToAnsi16(code) {
134
+ const clamped = Math.max(0, Math.min(255, Math.round(code)));
135
+ // Standard colors pass through
136
+ if (clamped < 16)
137
+ return clamped;
138
+ const [r, g, b] = ansi256ToRgb(clamped);
139
+ return rgbToAnsi16(r, g, b);
140
+ }
141
+ //# sourceMappingURL=downsample.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"downsample.js","sourceRoot":"","sources":["../../../src/core/theme/downsample.ts"],"names":[],"mappings":"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"}
@@ -8,5 +8,6 @@ export type { ResolvedTheme, ThemeResolver, ThemeResolverOptions } from './resol
8
8
  export type { GradientTextOptions } from './gradient.js';
9
9
  export { fromDTCG, toDTCG } from './dtcg.js';
10
10
  export type { DTCGDocument, DTCGToken, DTCGGroup } from './dtcg.js';
11
+ export { rgbToAnsi256, nearestAnsi256, rgbToAnsi16, ansi256ToAnsi16, type ColorLevel, } from './downsample.js';
11
12
  export { hexToRgb, rgbToHex, lighten, darken, mix, complementary, saturate, desaturate, } from './color.js';
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -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,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":"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"}
@@ -10,6 +10,8 @@ export { lerp3, gradientText } from './gradient.js';
10
10
  export { isNoColor, getTheme, resolveTheme, _resetThemeForTesting, createThemeResolver, createResolved, } from './resolve.js';
11
11
  // DTCG interop
12
12
  export { fromDTCG, toDTCG } from './dtcg.js';
13
+ // Color downsampling
14
+ export { rgbToAnsi256, nearestAnsi256, rgbToAnsi16, ansi256ToAnsi16, } from './downsample.js';
13
15
  // Color manipulation
14
16
  export { hexToRgb, rgbToHex, lighten, darken, mix, complementary, saturate, desaturate, } from './color.js';
15
17
  //# sourceMappingURL=index.js.map
@@ -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,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,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"}
package/dist/index.d.ts CHANGED
@@ -1,8 +1,9 @@
1
1
  export type { RuntimePort, IOPort, RawInputHandle, TimerHandle, StylePort, BijouContext, } from './ports/index.js';
2
2
  export { getDefaultContext, setDefaultContext, _resetDefaultContextForTesting, } from './context.js';
3
3
  export { createBijou, type CreateBijouOptions } from './factory.js';
4
- export { type RGB, type GradientStop, type TextModifier, type TokenValue, type InkColor, type BaseStatusKey, type BaseUiKey, type BaseGradientKey, type Theme, CYAN_MAGENTA, TEAL_ORANGE_PINK, PRESETS, tv, styled, styledStatus, extendTheme, lerp3, gradientText, type GradientTextOptions, isNoColor, getTheme, resolveTheme, _resetThemeForTesting, createThemeResolver, createResolved, type ResolvedTheme, type ThemeResolver, type ThemeResolverOptions, fromDTCG, toDTCG, type DTCGDocument, type DTCGToken, type DTCGGroup, hexToRgb, rgbToHex, lighten, darken, mix, complementary, saturate, desaturate, } from './core/theme/index.js';
4
+ export { type RGB, type GradientStop, type TextModifier, type TokenValue, type InkColor, type BaseStatusKey, type BaseUiKey, type BaseGradientKey, type Theme, CYAN_MAGENTA, TEAL_ORANGE_PINK, PRESETS, tv, styled, styledStatus, extendTheme, lerp3, gradientText, type GradientTextOptions, isNoColor, getTheme, resolveTheme, _resetThemeForTesting, createThemeResolver, createResolved, type ResolvedTheme, type ThemeResolver, type ThemeResolverOptions, fromDTCG, toDTCG, type DTCGDocument, type DTCGToken, type DTCGGroup, rgbToAnsi256, nearestAnsi256, rgbToAnsi16, ansi256ToAnsi16, type ColorLevel, hexToRgb, rgbToHex, lighten, darken, mix, complementary, saturate, desaturate, } from './core/theme/index.js';
5
+ export { isWideChar, segmentGraphemes, graphemeClusterWidth, graphemeWidth, clipToWidth, } from './core/text/index.js';
5
6
  export { detectOutputMode, type OutputMode } from './core/detect/index.js';
6
- export { spinnerFrame, createSpinner, type SpinnerOptions, type SpinnerController, progressBar, createProgressBar, createAnimatedProgressBar, type ProgressBarOptions, type LiveProgressBarOptions, type AnimatedProgressBarOptions, type ProgressBarController, table, type TableColumn, type TableOptions, box, headerBox, type BoxOptions, type HeaderBoxOptions, selectLogoSize, loadRandomLogo, type LogoSize, type LogoResult, type LogoConstraints, type LogoOptions, separator, type SeparatorOptions, badge, type BadgeVariant, type BadgeOptions, alert, type AlertVariant, type AlertOptions, skeleton, type SkeletonOptions, kbd, type KbdOptions, tree, type TreeNode, type TreeOptions, accordion, type AccordionSection, type AccordionOptions, timeline, type TimelineEvent, type TimelineOptions, tabs, type TabItem, type TabsOptions, breadcrumb, type BreadcrumbOptions, paginator, type PaginatorOptions, stepper, type StepperStep, type StepperOptions, dag, dagSlice, dagLayout, type DagNode, type DagOptions, type DagNodePosition, type DagLayout, arraySource, isDagSource, isSlicedDagSource, type DagSource, type SlicedDagSource, type DagSliceOptions, dagStats, type DagStats, enumeratedList, type BulletStyle, type EnumeratedListOptions, hyperlink, type HyperlinkOptions, log, type LogLevel, type LogOptions, } from './core/components/index.js';
7
+ export { spinnerFrame, createSpinner, type SpinnerOptions, type SpinnerController, progressBar, createProgressBar, createAnimatedProgressBar, type ProgressBarOptions, type LiveProgressBarOptions, type AnimatedProgressBarOptions, type ProgressBarController, table, type TableColumn, type TableOptions, box, headerBox, type BoxOptions, type HeaderBoxOptions, selectLogoSize, loadRandomLogo, type LogoSize, type LogoResult, type LogoConstraints, type LogoOptions, separator, type SeparatorOptions, badge, type BadgeVariant, type BadgeOptions, alert, type AlertVariant, type AlertOptions, skeleton, type SkeletonOptions, kbd, type KbdOptions, tree, type TreeNode, type TreeOptions, accordion, type AccordionSection, type AccordionOptions, timeline, type TimelineEvent, type TimelineOptions, tabs, type TabItem, type TabsOptions, breadcrumb, type BreadcrumbOptions, paginator, type PaginatorOptions, stepper, type StepperStep, type StepperOptions, dag, dagSlice, dagLayout, type DagNode, type DagOptions, type DagNodePosition, type DagLayout, arraySource, isDagSource, isSlicedDagSource, type DagSource, type SlicedDagSource, type DagSliceOptions, dagStats, type DagStats, enumeratedList, type BulletStyle, type EnumeratedListOptions, hyperlink, type HyperlinkOptions, log, type LogLevel, type LogOptions, markdown, type MarkdownOptions, } from './core/components/index.js';
7
8
  export { type ValidationResult, type Validator, type FieldOptions, type SelectOption, type SelectFieldOptions, type ConfirmFieldOptions, type GroupFieldResult, type InputOptions, input, select, multiselect, confirm, group, textarea, type TextareaOptions, filter, type FilterOption, type FilterOptions, wizard, type WizardStep, type WizardOptions, } from './core/forms/index.js';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -16,12 +16,16 @@ lerp3, gradientText,
16
16
  isNoColor, getTheme, resolveTheme, _resetThemeForTesting, createThemeResolver, createResolved,
17
17
  // DTCG interop
18
18
  fromDTCG, toDTCG,
19
+ // Color downsampling
20
+ rgbToAnsi256, nearestAnsi256, rgbToAnsi16, ansi256ToAnsi16,
19
21
  // Color manipulation
20
22
  hexToRgb, rgbToHex, lighten, darken, mix, complementary, saturate, desaturate, } from './core/theme/index.js';
23
+ // Text / grapheme utilities
24
+ export { isWideChar, segmentGraphemes, graphemeClusterWidth, graphemeWidth, clipToWidth, } from './core/text/index.js';
21
25
  // Detection
22
26
  export { detectOutputMode } from './core/detect/index.js';
23
27
  // Components
24
- export { spinnerFrame, createSpinner, progressBar, createProgressBar, createAnimatedProgressBar, table, box, headerBox, selectLogoSize, loadRandomLogo, separator, badge, alert, skeleton, kbd, tree, accordion, timeline, tabs, breadcrumb, paginator, stepper, dag, dagSlice, dagLayout, arraySource, isDagSource, isSlicedDagSource, dagStats, enumeratedList, hyperlink, log, } from './core/components/index.js';
28
+ export { spinnerFrame, createSpinner, progressBar, createProgressBar, createAnimatedProgressBar, table, box, headerBox, selectLogoSize, loadRandomLogo, separator, badge, alert, skeleton, kbd, tree, accordion, timeline, tabs, breadcrumb, paginator, stepper, dag, dagSlice, dagLayout, arraySource, isDagSource, isSlicedDagSource, dagStats, enumeratedList, hyperlink, log, markdown, } from './core/components/index.js';
25
29
  // Forms
26
30
  export { input, select, multiselect, confirm, group, textarea, filter, wizard, } from './core/forms/index.js';
27
31
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAUA,UAAU;AACV,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,8BAA8B,GAC/B,MAAM,cAAc,CAAC;AAEtB,UAAU;AACV,OAAO,EAAE,WAAW,EAA2B,MAAM,cAAc,CAAC;AAEpE,eAAe;AACf,OAAO;AAWL,UAAU;AACV,YAAY,EACZ,gBAAgB,EAChB,OAAO,EACP,EAAE;AACF,8BAA8B;AAC9B,MAAM,EACN,YAAY;AACZ,kBAAkB;AAClB,WAAW;AACX,WAAW;AACX,KAAK,EACL,YAAY;AAGZ,WAAW;AACX,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,cAAc;AAId,eAAe;AACf,QAAQ,EACR,MAAM;AAIN,qBAAqB;AACrB,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,MAAM,EACN,GAAG,EACH,aAAa,EACb,QAAQ,EACR,UAAU,GACX,MAAM,uBAAuB,CAAC;AAE/B,YAAY;AACZ,OAAO,EAAE,gBAAgB,EAAmB,MAAM,wBAAwB,CAAC;AAE3E,aAAa;AACb,OAAO,EACL,YAAY,EACZ,aAAa,EAGb,WAAW,EACX,iBAAiB,EACjB,yBAAyB,EAKzB,KAAK,EAGL,GAAG,EACH,SAAS,EAGT,cAAc,EACd,cAAc,EAKd,SAAS,EAET,KAAK,EAGL,KAAK,EAGL,QAAQ,EAER,GAAG,EAEH,IAAI,EAGJ,SAAS,EAGT,QAAQ,EAGR,IAAI,EAGJ,UAAU,EAEV,SAAS,EAET,OAAO,EAGP,GAAG,EACH,QAAQ,EACR,SAAS,EAKT,WAAW,EACX,WAAW,EACX,iBAAiB,EAIjB,QAAQ,EAER,cAAc,EAGd,SAAS,EAET,GAAG,GAGJ,MAAM,4BAA4B,CAAC;AAEpC,QAAQ;AACR,OAAO,EASL,KAAK,EACL,MAAM,EACN,WAAW,EACX,OAAO,EACP,KAAK,EACL,QAAQ,EAER,MAAM,EAGN,MAAM,GAGP,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAUA,UAAU;AACV,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,8BAA8B,GAC/B,MAAM,cAAc,CAAC;AAEtB,UAAU;AACV,OAAO,EAAE,WAAW,EAA2B,MAAM,cAAc,CAAC;AAEpE,eAAe;AACf,OAAO;AAWL,UAAU;AACV,YAAY,EACZ,gBAAgB,EAChB,OAAO,EACP,EAAE;AACF,8BAA8B;AAC9B,MAAM,EACN,YAAY;AACZ,kBAAkB;AAClB,WAAW;AACX,WAAW;AACX,KAAK,EACL,YAAY;AAGZ,WAAW;AACX,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,cAAc;AAId,eAAe;AACf,QAAQ,EACR,MAAM;AAIN,qBAAqB;AACrB,YAAY,EACZ,cAAc,EACd,WAAW,EACX,eAAe;AAEf,qBAAqB;AACrB,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,MAAM,EACN,GAAG,EACH,aAAa,EACb,QAAQ,EACR,UAAU,GACX,MAAM,uBAAuB,CAAC;AAE/B,4BAA4B;AAC5B,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAE9B,YAAY;AACZ,OAAO,EAAE,gBAAgB,EAAmB,MAAM,wBAAwB,CAAC;AAE3E,aAAa;AACb,OAAO,EACL,YAAY,EACZ,aAAa,EAGb,WAAW,EACX,iBAAiB,EACjB,yBAAyB,EAKzB,KAAK,EAGL,GAAG,EACH,SAAS,EAGT,cAAc,EACd,cAAc,EAKd,SAAS,EAET,KAAK,EAGL,KAAK,EAGL,QAAQ,EAER,GAAG,EAEH,IAAI,EAGJ,SAAS,EAGT,QAAQ,EAGR,IAAI,EAGJ,UAAU,EAEV,SAAS,EAET,OAAO,EAGP,GAAG,EACH,QAAQ,EACR,SAAS,EAKT,WAAW,EACX,WAAW,EACX,iBAAiB,EAIjB,QAAQ,EAER,cAAc,EAGd,SAAS,EAET,GAAG,EAGH,QAAQ,GAET,MAAM,4BAA4B,CAAC;AAEpC,QAAQ;AACR,OAAO,EASL,KAAK,EACL,MAAM,EACN,WAAW,EACX,OAAO,EACP,KAAK,EACL,QAAQ,EAER,MAAM,EAGN,MAAM,GAGP,MAAM,uBAAuB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flyingrobots/bijou",
3
- "version": "0.8.0",
3
+ "version": "0.10.0",
4
4
  "description": "Themed terminal components for CLIs, loggers, and scripts — graceful degradation included.",
5
5
  "type": "module",
6
6
  "sideEffects": false,