@flyingrobots/bijou 4.0.0 → 4.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 (75) hide show
  1. package/README.md +8 -8
  2. package/dist/adapters/test/io.d.ts +3 -1
  3. package/dist/adapters/test/io.d.ts.map +1 -1
  4. package/dist/adapters/test/io.js +27 -0
  5. package/dist/adapters/test/io.js.map +1 -1
  6. package/dist/core/bg-fill.d.ts.map +1 -1
  7. package/dist/core/bg-fill.js +24 -1
  8. package/dist/core/bg-fill.js.map +1 -1
  9. package/dist/core/components/explainability.d.ts +51 -0
  10. package/dist/core/components/explainability.d.ts.map +1 -0
  11. package/dist/core/components/explainability.js +134 -0
  12. package/dist/core/components/explainability.js.map +1 -0
  13. package/dist/core/components/index.d.ts +6 -0
  14. package/dist/core/components/index.d.ts.map +1 -1
  15. package/dist/core/components/index.js +3 -0
  16. package/dist/core/components/index.js.map +1 -1
  17. package/dist/core/components/inspector.d.ts +49 -0
  18. package/dist/core/components/inspector.d.ts.map +1 -0
  19. package/dist/core/components/inspector.js +107 -0
  20. package/dist/core/components/inspector.js.map +1 -0
  21. package/dist/core/components/preference-list.d.ts +61 -0
  22. package/dist/core/components/preference-list.d.ts.map +1 -0
  23. package/dist/core/components/preference-list.js +215 -0
  24. package/dist/core/components/preference-list.js.map +1 -0
  25. package/dist/core/components/progress.d.ts +9 -1
  26. package/dist/core/components/progress.d.ts.map +1 -1
  27. package/dist/core/components/progress.js +20 -6
  28. package/dist/core/components/progress.js.map +1 -1
  29. package/dist/core/forms/filter-interactive.d.ts.map +1 -1
  30. package/dist/core/forms/filter-interactive.js +16 -16
  31. package/dist/core/forms/filter-interactive.js.map +1 -1
  32. package/dist/core/forms/form-utils.d.ts +33 -2
  33. package/dist/core/forms/form-utils.d.ts.map +1 -1
  34. package/dist/core/forms/form-utils.js +53 -3
  35. package/dist/core/forms/form-utils.js.map +1 -1
  36. package/dist/core/forms/multiselect.d.ts.map +1 -1
  37. package/dist/core/forms/multiselect.js +5 -5
  38. package/dist/core/forms/multiselect.js.map +1 -1
  39. package/dist/core/forms/select.d.ts.map +1 -1
  40. package/dist/core/forms/select.js +4 -4
  41. package/dist/core/forms/select.js.map +1 -1
  42. package/dist/core/forms/textarea-editor.d.ts.map +1 -1
  43. package/dist/core/forms/textarea-editor.js +12 -12
  44. package/dist/core/forms/textarea-editor.js.map +1 -1
  45. package/dist/core/key-input.d.ts +17 -0
  46. package/dist/core/key-input.d.ts.map +1 -0
  47. package/dist/core/key-input.js +92 -0
  48. package/dist/core/key-input.js.map +1 -0
  49. package/dist/core/render/differ.d.ts.map +1 -1
  50. package/dist/core/render/differ.js +89 -39
  51. package/dist/core/render/differ.js.map +1 -1
  52. package/dist/core/text/grapheme.d.ts +7 -0
  53. package/dist/core/text/grapheme.d.ts.map +1 -1
  54. package/dist/core/text/grapheme.js +11 -1
  55. package/dist/core/text/grapheme.js.map +1 -1
  56. package/dist/core/text/index.d.ts +3 -2
  57. package/dist/core/text/index.d.ts.map +1 -1
  58. package/dist/core/text/index.js +2 -2
  59. package/dist/core/text/index.js.map +1 -1
  60. package/dist/core/text/wrap.d.ts +18 -0
  61. package/dist/core/text/wrap.d.ts.map +1 -1
  62. package/dist/core/text/wrap.js +92 -23
  63. package/dist/core/text/wrap.js.map +1 -1
  64. package/dist/index.d.ts +7 -3
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +4 -2
  67. package/dist/index.js.map +1 -1
  68. package/dist/ports/index.d.ts +1 -1
  69. package/dist/ports/index.d.ts.map +1 -1
  70. package/dist/ports/io.d.ts +30 -0
  71. package/dist/ports/io.d.ts.map +1 -1
  72. package/dist/ports/surface.d.ts.map +1 -1
  73. package/dist/ports/surface.js +40 -18
  74. package/dist/ports/surface.js.map +1 -1
  75. package/package.json +1 -1
@@ -0,0 +1,61 @@
1
+ import { type Surface } from '../../ports/surface.js';
2
+ import type { TokenValue } from '../theme/tokens.js';
3
+ import { type PreparedWrappedText } from '../text/wrap.js';
4
+ import type { BijouNodeOptions } from './types.js';
5
+ export type PreferenceRowKind = 'toggle' | 'choice' | 'info' | 'action';
6
+ export interface PreferenceRow {
7
+ readonly id: string;
8
+ readonly label: string;
9
+ readonly description?: string;
10
+ readonly valueLabel?: string;
11
+ readonly kind?: PreferenceRowKind;
12
+ readonly checked?: boolean;
13
+ readonly enabled?: boolean;
14
+ }
15
+ export interface PreferenceSection {
16
+ readonly id: string;
17
+ readonly title: string;
18
+ readonly rows: readonly PreferenceRow[];
19
+ }
20
+ export interface PreferenceRowLayout {
21
+ readonly valueLabel: string;
22
+ readonly stackValue: boolean;
23
+ readonly descriptionLines: readonly string[];
24
+ readonly height: number;
25
+ }
26
+ export interface PreparedPreferenceRow {
27
+ readonly row: PreferenceRow;
28
+ readonly valueLabel: string;
29
+ readonly baseLeftText: string;
30
+ readonly preparedDescription?: PreparedWrappedText;
31
+ }
32
+ export interface PreparedPreferenceSection {
33
+ readonly id: string;
34
+ readonly title: string;
35
+ readonly rows: readonly PreparedPreferenceRow[];
36
+ }
37
+ export interface PreferenceListTheme {
38
+ readonly sectionTitleToken?: TokenValue;
39
+ readonly selectedRowBgToken?: TokenValue;
40
+ readonly toggleOnToken?: TokenValue;
41
+ readonly toggleOffToken?: TokenValue;
42
+ readonly choiceToken?: TokenValue;
43
+ readonly infoToken?: TokenValue;
44
+ readonly descriptionToken?: TokenValue;
45
+ }
46
+ export interface PreferenceRowSurfaceOptions extends BijouNodeOptions {
47
+ readonly width: number;
48
+ readonly selected?: boolean;
49
+ readonly theme?: PreferenceListTheme;
50
+ }
51
+ export interface PreferenceListSurfaceOptions extends BijouNodeOptions {
52
+ readonly width: number;
53
+ readonly selectedRowId?: string;
54
+ readonly theme?: PreferenceListTheme;
55
+ }
56
+ export declare function preparePreferenceRow(row: PreferenceRow): PreparedPreferenceRow;
57
+ export declare function preparePreferenceSections(sections: readonly PreferenceSection[]): readonly PreparedPreferenceSection[];
58
+ export declare function preferenceRowSurface(row: PreferenceRow | PreparedPreferenceRow, options: PreferenceRowSurfaceOptions): Surface;
59
+ export declare function preferenceListSurface(sections: readonly PreferenceSection[] | readonly PreparedPreferenceSection[], options: PreferenceListSurfaceOptions): Surface;
60
+ export declare function resolvePreferenceRowLayout(row: PreferenceRow | PreparedPreferenceRow, width: number): PreferenceRowLayout;
61
+ //# sourceMappingURL=preference-list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preference-list.d.ts","sourceRoot":"","sources":["../../../src/core/components/preference-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGrD,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;AAExE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAC;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,SAAS,aAAa,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CACpD;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,SAAS,qBAAqB,EAAE,CAAC;CACjD;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC;IACxC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,UAAU,CAAC;IACzC,QAAQ,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC;IACpC,QAAQ,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,UAAU,CAAC;CACxC;AAED,MAAM,WAAW,2BAA4B,SAAQ,gBAAgB;IACnE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,mBAAmB,CAAC;CACtC;AAED,MAAM,WAAW,4BAA6B,SAAQ,gBAAgB;IACpE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,mBAAmB,CAAC;CACtC;AAYD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,aAAa,GAAG,qBAAqB,CAO9E;AAED,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,GACrC,SAAS,yBAAyB,EAAE,CAMtC;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,aAAa,GAAG,qBAAqB,EAC1C,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAsDT;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,GAAG,SAAS,yBAAyB,EAAE,EAC7E,OAAO,EAAE,4BAA4B,GACpC,OAAO,CA2DT;AAED,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,aAAa,GAAG,qBAAqB,EAC1C,KAAK,EAAE,MAAM,GACZ,mBAAmB,CAmBrB"}
@@ -0,0 +1,215 @@
1
+ import { createSurface } from '../../ports/surface.js';
2
+ import { resolveSafeCtx as resolveCtx } from '../resolve-ctx.js';
3
+ import { graphemeWidth } from '../text/grapheme.js';
4
+ import { prepareWrappedText, wrapPreparedTextToWidth, } from '../text/wrap.js';
5
+ function isPreparedPreferenceRow(row) {
6
+ return 'row' in row && 'baseLeftText' in row;
7
+ }
8
+ function isPreparedPreferenceSection(section) {
9
+ return section.rows.length === 0 || isPreparedPreferenceRow(section.rows[0]);
10
+ }
11
+ export function preparePreferenceRow(row) {
12
+ return {
13
+ row,
14
+ valueLabel: formatPreferenceValueLabel(row),
15
+ baseLeftText: ` ${preferenceRowGlyph(row)} ${row.label}`,
16
+ preparedDescription: row.description == null ? undefined : prepareWrappedText(row.description),
17
+ };
18
+ }
19
+ export function preparePreferenceSections(sections) {
20
+ return sections.map((section) => ({
21
+ id: section.id,
22
+ title: section.title,
23
+ rows: section.rows.map((row) => preparePreferenceRow(row)),
24
+ }));
25
+ }
26
+ export function preferenceRowSurface(row, options) {
27
+ const ctx = resolveCtx(options.ctx);
28
+ const width = Math.max(1, Math.floor(options.width));
29
+ const prepared = isPreparedPreferenceRow(row) ? row : preparePreferenceRow(row);
30
+ const layout = resolvePreferenceRowLayout(prepared, width);
31
+ const surface = createSurface(width, layout.height);
32
+ const bg = options.selected ? resolvePreferenceRowBg(ctx, options.theme) : undefined;
33
+ fillPreferenceRow(surface, bg);
34
+ writePreferenceLine(surface, 0, buildPreferenceLeftText(prepared.row, options.selected === true), {
35
+ strong: options.selected === true,
36
+ bg,
37
+ });
38
+ if (layout.valueLabel.length > 0) {
39
+ if (layout.stackValue) {
40
+ writePreferenceLine(surface, 1, ` ${layout.valueLabel}`, {
41
+ strong: true,
42
+ fg: resolvePreferenceValueFg(prepared.row, ctx, options.theme),
43
+ bg,
44
+ });
45
+ }
46
+ else {
47
+ const valueChars = Array.from(layout.valueLabel);
48
+ const startX = width >= 3 ? 1 : 0;
49
+ const innerWidth = Math.max(0, width - (startX * 2));
50
+ const valueStart = Math.max(0, innerWidth - valueChars.length);
51
+ for (let offset = 0; offset < valueChars.length && startX + valueStart + offset < width; offset++) {
52
+ const char = valueChars[offset];
53
+ if (char === ' ')
54
+ continue;
55
+ surface.set(startX + valueStart + offset, 0, {
56
+ char,
57
+ fg: resolvePreferenceValueFg(prepared.row, ctx, options.theme),
58
+ bg,
59
+ modifiers: ['bold'],
60
+ empty: false,
61
+ });
62
+ }
63
+ }
64
+ }
65
+ for (let index = 0; index < layout.descriptionLines.length; index++) {
66
+ writePreferenceLine(surface, (layout.stackValue ? 2 : 1) + index, ` ${layout.descriptionLines[index]}`, {
67
+ dim: options.theme?.descriptionToken == null,
68
+ fg: options.theme?.descriptionToken?.hex,
69
+ bg,
70
+ });
71
+ }
72
+ return surface;
73
+ }
74
+ export function preferenceListSurface(sections, options) {
75
+ const ctx = resolveCtx(options.ctx);
76
+ const width = Math.max(1, Math.floor(options.width));
77
+ const preparedSections = sections.map((section) => isPreparedPreferenceSection(section)
78
+ ? section
79
+ : {
80
+ id: section.id,
81
+ title: section.title,
82
+ rows: section.rows.map((row) => preparePreferenceRow(row)),
83
+ });
84
+ const visibleSections = preparedSections.filter((section) => section.rows.length > 0);
85
+ let totalHeight = 1;
86
+ let y = 0;
87
+ for (let sectionIndex = 0; sectionIndex < visibleSections.length; sectionIndex++) {
88
+ const section = visibleSections[sectionIndex];
89
+ if (sectionIndex > 0)
90
+ y += 1;
91
+ y += 1;
92
+ y += 1;
93
+ for (let rowIndex = 0; rowIndex < section.rows.length; rowIndex++) {
94
+ const row = section.rows[rowIndex];
95
+ const rowLayout = resolvePreferenceRowLayout(row, width);
96
+ y += rowLayout.height;
97
+ if (rowIndex < section.rows.length - 1)
98
+ y += 1;
99
+ }
100
+ }
101
+ totalHeight = Math.max(1, y);
102
+ const surface = createSurface(width, totalHeight);
103
+ y = 0;
104
+ for (let sectionIndex = 0; sectionIndex < visibleSections.length; sectionIndex++) {
105
+ const section = visibleSections[sectionIndex];
106
+ if (sectionIndex > 0)
107
+ y += 1;
108
+ writePreferenceLine(surface, y, section.title, {
109
+ strong: options.theme?.sectionTitleToken == null,
110
+ fg: options.theme?.sectionTitleToken?.hex,
111
+ bg: options.theme?.sectionTitleToken?.bg,
112
+ });
113
+ y += 2;
114
+ for (let rowIndex = 0; rowIndex < section.rows.length; rowIndex++) {
115
+ const row = section.rows[rowIndex];
116
+ const rowLayout = resolvePreferenceRowLayout(row, width);
117
+ const rowSurface = preferenceRowSurface(row, {
118
+ width,
119
+ selected: options.selectedRowId === row.row.id,
120
+ ctx,
121
+ theme: options.theme,
122
+ });
123
+ surface.blit(rowSurface, 0, y);
124
+ y += rowLayout.height;
125
+ if (rowIndex < section.rows.length - 1)
126
+ y += 1;
127
+ }
128
+ }
129
+ return surface;
130
+ }
131
+ export function resolvePreferenceRowLayout(row, width) {
132
+ const prepared = isPreparedPreferenceRow(row) ? row : preparePreferenceRow(row);
133
+ const boundedWidth = Math.max(1, Math.floor(width));
134
+ const valueLabel = prepared.valueLabel;
135
+ const leftText = prepared.baseLeftText;
136
+ const startX = boundedWidth >= 3 ? 1 : 0;
137
+ const innerWidth = Math.max(0, boundedWidth - (startX * 2));
138
+ const stackValue = valueLabel.length > 0
139
+ && (graphemeWidth(leftText) + 3 + graphemeWidth(valueLabel) > innerWidth);
140
+ const descriptionLines = prepared.preparedDescription == null
141
+ ? []
142
+ : wrapPreparedTextToWidth(prepared.preparedDescription, Math.max(1, Math.max(14, boundedWidth - 4)));
143
+ return {
144
+ valueLabel,
145
+ stackValue,
146
+ descriptionLines,
147
+ height: 1 + (stackValue ? 1 : 0) + descriptionLines.length,
148
+ };
149
+ }
150
+ function preferenceRowGlyph(row) {
151
+ if (row.kind === 'toggle')
152
+ return row.checked === true ? '☑' : '☐';
153
+ if (row.kind === 'choice')
154
+ return '↻';
155
+ return ' ';
156
+ }
157
+ function buildPreferenceLeftText(row, selected) {
158
+ const prefix = selected ? '›' : ' ';
159
+ return `${prefix} ${preferenceRowGlyph(row)} ${row.label}`;
160
+ }
161
+ function formatPreferenceValueLabel(row) {
162
+ if (row.kind === 'toggle' && row.checked != null) {
163
+ return row.checked ? '☑ On' : '☐ Off';
164
+ }
165
+ if (row.kind === 'choice') {
166
+ return row.valueLabel ?? 'Choose';
167
+ }
168
+ return row.valueLabel ?? '';
169
+ }
170
+ function fillPreferenceRow(surface, bg) {
171
+ if (bg == null)
172
+ return;
173
+ surface.fill({ char: ' ', bg, empty: false });
174
+ }
175
+ function resolvePreferenceRowBg(ctx, theme) {
176
+ if (theme?.selectedRowBgToken != null) {
177
+ return theme.selectedRowBgToken.bg ?? theme.selectedRowBgToken.hex;
178
+ }
179
+ return ctx?.surface('elevated').bg
180
+ ?? ctx?.surface('secondary').bg
181
+ ?? ctx?.surface('muted').bg;
182
+ }
183
+ function resolvePreferenceValueFg(row, ctx, theme) {
184
+ if (row.kind === 'toggle' && row.checked === true) {
185
+ return theme?.toggleOnToken?.hex ?? ctx?.semantic('accent').hex;
186
+ }
187
+ if (row.kind === 'toggle' && row.checked === false) {
188
+ return theme?.toggleOffToken?.hex ?? ctx?.semantic('muted').hex;
189
+ }
190
+ if (row.kind === 'choice') {
191
+ return theme?.choiceToken?.hex ?? ctx?.semantic('accent').hex;
192
+ }
193
+ if (row.kind === 'info' || row.kind === 'action') {
194
+ return theme?.infoToken?.hex ?? ctx?.semantic('primary').hex;
195
+ }
196
+ if (ctx == null)
197
+ return undefined;
198
+ return ctx.semantic('primary').hex;
199
+ }
200
+ function writePreferenceLine(surface, y, text, options = {}) {
201
+ const chars = Array.from(text);
202
+ for (let x = 0; x < chars.length && x < surface.width; x++) {
203
+ const char = chars[x];
204
+ if (char === ' ')
205
+ continue;
206
+ surface.set(x, y, {
207
+ char,
208
+ fg: options.fg,
209
+ bg: options.bg,
210
+ modifiers: options.strong ? ['bold'] : options.dim ? ['dim'] : undefined,
211
+ empty: false,
212
+ });
213
+ }
214
+ }
215
+ //# sourceMappingURL=preference-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preference-list.js","sourceRoot":"","sources":["../../../src/core/components/preference-list.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { BijouContext } from '../../ports/context.js';
2
- import type { GradientStop } from '../theme/tokens.js';
2
+ import type { GradientStop, TokenValue } from '../theme/tokens.js';
3
3
  /** Configuration for rendering a progress bar. */
4
4
  export interface ProgressBarOptions {
5
5
  /** Character-width of the bar (defaults to 20). */
@@ -10,6 +10,14 @@ export interface ProgressBarOptions {
10
10
  empty?: string;
11
11
  /** Gradient color stops applied across filled segments. */
12
12
  gradient?: GradientStop[];
13
+ /** Theme token for the leading edge of the filled range. Defaults to `semantic.info`. */
14
+ filledToken?: TokenValue;
15
+ /** Theme token for the trailing edge of the filled range. Defaults to `semantic.accent`. */
16
+ filledEndToken?: TokenValue;
17
+ /** Theme token applied to the empty range. Defaults to `ui.trackEmpty`. */
18
+ emptyToken?: TokenValue;
19
+ /** Theme token applied to the percentage label. Defaults to `semantic.primary`. */
20
+ labelToken?: TokenValue;
13
21
  /** Whether to prepend a percentage label (defaults to `true`). */
14
22
  showPercent?: boolean;
15
23
  /** Bijou context for I/O, styling, and mode detection. */
@@ -1 +1 @@
1
- {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../../src/core/components/progress.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAQvD,kDAAkD;AAClD,MAAM,WAAW,kBAAkB;IACjC,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,kEAAkE;IAClE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,0DAA0D;IAC1D,GAAG,CAAC,EAAE,YAAY,CAAC;CACpB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,MAAM,CAkCrF;AAMD,+DAA+D;AAC/D,MAAM,WAAW,qBAAqB;IACpC,2EAA2E;IAC3E,KAAK,IAAI,IAAI,CAAC;IACd;;;OAGG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;;;OAGG;IACH,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,gGAAgG;AAChG,MAAM,WAAW,sBAAuB,SAAQ,kBAAkB;CAEjE;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,sBAA2B,GAAG,qBAAqB,CAyC7F;AAMD,qDAAqD;AACrD,MAAM,WAAW,0BAA2B,SAAQ,kBAAkB;IACpE,iFAAiF;IACjF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8FAA8F;IAC9F,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,GAAE,0BAA+B,GAAG,qBAAqB,CAmFzG"}
1
+ {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../../src/core/components/progress.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AASnE,kDAAkD;AAClD,MAAM,WAAW,kBAAkB;IACjC,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,yFAAyF;IACzF,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,4FAA4F;IAC5F,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B,2EAA2E;IAC3E,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,mFAAmF;IACnF,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,kEAAkE;IAClE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,0DAA0D;IAC1D,GAAG,CAAC,EAAE,YAAY,CAAC;CACpB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,MAAM,CA8CrF;AAMD,+DAA+D;AAC/D,MAAM,WAAW,qBAAqB;IACpC,2EAA2E;IAC3E,KAAK,IAAI,IAAI,CAAC;IACd;;;OAGG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;;;OAGG;IACH,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,gGAAgG;AAChG,MAAM,WAAW,sBAAuB,SAAQ,kBAAkB;CAEjE;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,sBAA2B,GAAG,qBAAqB,CAyC7F;AAMD,qDAAqD;AACrD,MAAM,WAAW,0BAA2B,SAAQ,kBAAkB;IACpE,iFAAiF;IACjF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8FAA8F;IAC9F,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,GAAE,0BAA+B,GAAG,qBAAqB,CAmFzG"}
@@ -1,4 +1,5 @@
1
1
  import { lerp3 } from '../theme/gradient.js';
2
+ import { mix } from '../theme/color.js';
2
3
  import { resolveClock } from '../clock.js';
3
4
  import { resolveCtx } from '../resolve-ctx.js';
4
5
  import { renderByMode } from '../mode-render.js';
@@ -32,22 +33,35 @@ export function progressBar(percent, options = {}) {
32
33
  const showPercent = options.showPercent ?? true;
33
34
  const filledCount = Math.min(width, Math.max(0, Math.round((pct / 100) * width)));
34
35
  const noColor = ctx.theme.noColor;
35
- const stops = options.gradient ?? ctx.gradient('progress');
36
+ const stops = options.gradient;
37
+ const filledToken = options.filledToken ?? ctx.semantic('info');
38
+ const filledEndToken = options.filledEndToken ?? ctx.semantic('accent');
39
+ const emptyToken = options.emptyToken ?? ctx.ui('trackEmpty');
40
+ const labelToken = options.labelToken ?? ctx.semantic('primary');
36
41
  let bar = '';
37
- if (noColor || stops.length === 0) {
42
+ if (noColor) {
38
43
  bar = filledChar.repeat(filledCount) + emptyChar.repeat(width - filledCount);
39
44
  }
40
- else {
45
+ else if (stops != null && stops.length > 0) {
41
46
  for (let i = 0; i < filledCount; i++) {
42
47
  const t_val = filledCount <= 1 ? 0 : i / (filledCount - 1);
43
48
  const [r, g, b] = lerp3(stops, t_val * (pct / 100));
44
49
  bar += ctx.style.rgb(r, g, b, filledChar);
45
50
  }
46
- const emptyToken = ctx.ui('trackEmpty');
47
- bar += ctx.style.hex(emptyToken.hex, emptyChar.repeat(width - filledCount));
51
+ bar += ctx.style.styled(emptyToken, emptyChar.repeat(width - filledCount));
52
+ }
53
+ else {
54
+ for (let i = 0; i < filledCount; i++) {
55
+ const t_val = filledCount <= 1 ? 0 : i / (filledCount - 1);
56
+ const token = mix(filledToken, filledEndToken, t_val);
57
+ bar += ctx.style.styled(token, filledChar);
58
+ }
59
+ bar += ctx.style.styled(emptyToken, emptyChar.repeat(width - filledCount));
48
60
  }
49
61
  const label = showPercent ? `${Math.round(pct)}%` : '';
50
- return label ? `${label.padStart(4)} ${bar}` : bar;
62
+ return label
63
+ ? `${noColor ? label.padStart(4) : ctx.style.styled(labelToken, label.padStart(4))} ${bar}`
64
+ : bar;
51
65
  },
52
66
  }, options);
53
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../../src/core/components/progress.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../../src/core/components/progress.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAyB,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AA0B/C;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe,EAAE,UAA8B,EAAE;IAC3E,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IAEhD,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE;QAC5B,IAAI,EAAE,GAAG,EAAE,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG;QAC3C,UAAU,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB;QACxD,WAAW,EAAE,GAAG,EAAE;YAChB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;YAClC,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC;YAC9C,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC;YAC5C,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC;YAChD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAElF,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;YAClC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC;YAC/B,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAChE,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACxE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;YAC9D,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAEjE,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,IAAI,OAAO,EAAE,CAAC;gBACZ,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC,CAAC;YAC/E,CAAC;iBAAM,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;oBACrC,MAAM,KAAK,GAAG,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;oBAC3D,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;oBACpD,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;gBAC5C,CAAC;gBACD,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC;YAC7E,CAAC;iBAAM,CAAC;gBACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;oBACrC,MAAM,KAAK,GAAG,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;oBAC3D,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;oBACtD,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;gBAC7C,CAAC;gBACD,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC;YAC7E,CAAC;YAED,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,OAAO,KAAK;gBACV,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;gBAC3F,CAAC,CAAC,GAAG,CAAC;QACV,CAAC;KACF,EAAE,OAAO,CAAC,CAAC;AACd,CAAC;AA2BD;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAkC,EAAE;IACpE,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACtB,IAAI,YAAY,GAA4B,IAAI,CAAC;IAEjD,OAAO;QACL,KAAK;YACH,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;gBAC3B,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;gBACzD,OAAO;YACT,CAAC;YACD,YAAY,EAAE,OAAO,EAAE,CAAC;YACxB,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1C,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,CAAC,GAAW;YAChB,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;gBAC3B,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;gBAC3D,OAAO;YACT,CAAC;YACD,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/E,CAAC;QAED,IAAI,CAAC,YAAqB;YACxB,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;gBAC3B,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;oBAC/B,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;gBACpC,CAAC;gBACD,OAAO;YACT,CAAC;YACD,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChC,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;gBAC1B,YAAY,CAAC,OAAO,EAAE,CAAC;gBACvB,YAAY,GAAG,IAAI,CAAC;YACtB,CAAC;YACD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC/B,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAcD;;;;;;;;;GASG;AACH,MAAM,UAAU,yBAAyB,CAAC,UAAsC,EAAE;IAChF,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACtB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAC;IAEzC,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,KAAK,GAAuB,IAAI,CAAC;IACrC,IAAI,YAAY,GAA4B,IAAI,CAAC;IAEjD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;IACvC,MAAM,YAAY,GAAG,GAAG,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,2BAA2B;IAE5E,sFAAsF;IACtF,SAAS,MAAM;QACb,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,iBAAiB,GAAG,WAAW,CAAC,UAAU,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,kEAAkE;IAClE,SAAS,cAAc;QACrB,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO;QAC3B,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;YAC7B,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,GAAG,EAAE,CAAC;gBAC3C,UAAU,GAAG,SAAS,CAAC;gBACvB,MAAM,EAAE,CAAC;gBACT,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBACnB,KAAK,CAAC,OAAO,EAAE,CAAC;oBAChB,KAAK,GAAG,IAAI,CAAC;gBACf,CAAC;gBACD,OAAO;YACT,CAAC;YACD,MAAM,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,UAAU,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC;YACnF,MAAM,EAAE,CAAC;QACX,CAAC,EAAE,OAAO,CAAC,CAAC;IACd,CAAC;IAED,OAAO;QACL,KAAK;YACH,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;gBAC3B,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;gBACzD,OAAO;YACT,CAAC;YACD,YAAY,EAAE,OAAO,EAAE,CAAC;YACxB,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1C,MAAM,EAAE,CAAC;QACX,CAAC;QAED,MAAM,CAAC,GAAW;YAChB,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YAC5C,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;gBAC3B,UAAU,GAAG,SAAS,CAAC;gBACvB,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;gBAClE,OAAO;YACT,CAAC;YACD,cAAc,EAAE,CAAC;QACnB,CAAC;QAED,IAAI,CAAC,YAAqB;YACxB,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,KAAK,CAAC,OAAO,EAAE,CAAC;gBAChB,KAAK,GAAG,IAAI,CAAC;YACf,CAAC;YACD,UAAU,GAAG,SAAS,CAAC;YACvB,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;gBAC3B,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;oBAC/B,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;gBACpC,CAAC;gBACD,OAAO;YACT,CAAC;YACD,MAAM,EAAE,CAAC;YACT,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChC,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;gBAC1B,YAAY,CAAC,OAAO,EAAE,CAAC;gBACvB,YAAY,GAAG,IAAI,CAAC;YACtB,CAAC;YACD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC/B,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"filter-interactive.d.ts","sourceRoot":"","sources":["../../../src/core/forms/filter-interactive.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAG3D;;;;GAIG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,KAAK,EAAE,CAAC,CAAC;IACT,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;IACvD,kCAAkC;IAClC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3B,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uGAAuG;IACvG,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;IAC5D,yDAAyD;IACzD,GAAG,CAAC,EAAE,YAAY,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAO/E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CAkPnG"}
1
+ {"version":3,"file":"filter-interactive.d.ts","sourceRoot":"","sources":["../../../src/core/forms/filter-interactive.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAW3D;;;;GAIG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,KAAK,EAAE,CAAC,CAAC;IACT,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;IACvD,kCAAkC;IAClC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3B,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uGAAuG;IACvG,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;IAC5D,yDAAyD;IACzD,GAAG,CAAC,EAAE,YAAY,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAO/E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CAkPnG"}
@@ -7,7 +7,7 @@
7
7
  * printable (including `j`/`k`), arrow keys navigate, and Escape returns to
8
8
  * normal mode. Ctrl+C cancels from either mode; Escape in normal mode cancels.
9
9
  */
10
- import { formatFormTitle, terminalRenderer, createStyledFn, createBoldFn } from './form-utils.js';
10
+ import { formatFormTitle, terminalRenderer, createStyledFn, createBoldFn, isKey, isPrintableKey, subscribeFormKeyInput, } from './form-utils.js';
11
11
  /**
12
12
  * Default case-insensitive substring matcher for filter options.
13
13
  *
@@ -172,9 +172,9 @@ export async function interactiveFilter(options, ctx) {
172
172
  render();
173
173
  }
174
174
  return new Promise((resolve) => {
175
- const handle = ctx.io.rawInput((key) => {
175
+ const handle = subscribeFormKeyInput(ctx, (key) => {
176
176
  // ── Mode-independent ───────────────────────────────────
177
- if (key === '\r' || key === '\n') {
177
+ if (isKey(key, 'enter')) {
178
178
  handle.dispose();
179
179
  const selected = filtered[cursor];
180
180
  const resolvedLabel = selected ? selected.label : '(none)';
@@ -182,7 +182,7 @@ export async function interactiveFilter(options, ctx) {
182
182
  resolve(filtered[cursor]?.value ?? options.defaultValue ?? options.options[0].value);
183
183
  return;
184
184
  }
185
- if (key === '\x03') {
185
+ if (isKey(key, 'c', { ctrl: true })) {
186
186
  // Ctrl+C — cancel from either mode
187
187
  const fallbackValue = options.defaultValue ?? options.options[0].value;
188
188
  const fallbackOption = options.options.find((opt) => Object.is(opt.value, fallbackValue));
@@ -193,7 +193,7 @@ export async function interactiveFilter(options, ctx) {
193
193
  }
194
194
  // ── Normal mode ────────────────────────────────────────
195
195
  if (mode === 'normal') {
196
- if (key === '\x1b') {
196
+ if (isKey(key, 'escape')) {
197
197
  // Escape in normal mode — cancel
198
198
  // TODO: bare \x1b may false-trigger on slow connections where escape
199
199
  // sequences arrive as separate bytes. Timer-based disambiguation is a
@@ -205,42 +205,42 @@ export async function interactiveFilter(options, ctx) {
205
205
  resolve(fallbackValue);
206
206
  return;
207
207
  }
208
- if (key === 'j' || key === '\x1b[B') {
208
+ if (key.text === 'j' || isKey(key, 'down')) {
209
209
  navigateDown();
210
210
  return;
211
211
  }
212
- if (key === 'k' || key === '\x1b[A') {
212
+ if (key.text === 'k' || isKey(key, 'up')) {
213
213
  navigateUp();
214
214
  return;
215
215
  }
216
- if (key === '/') {
216
+ if (key.text === '/') {
217
217
  // Enter insert mode without typing
218
218
  switchMode('insert');
219
219
  return;
220
220
  }
221
221
  // Any other printable — enter insert mode and type the char
222
- if (key.length === 1 && key >= ' ') {
222
+ if (isPrintableKey(key)) {
223
223
  mode = 'insert';
224
- typeChar(key);
224
+ typeChar(key.text);
225
225
  return;
226
226
  }
227
227
  return;
228
228
  }
229
229
  // ── Insert mode ────────────────────────────────────────
230
- if (key === '\x1b') {
230
+ if (isKey(key, 'escape')) {
231
231
  // Escape in insert mode — return to normal
232
232
  switchMode('normal');
233
233
  return;
234
234
  }
235
- if (key === '\x1b[A') {
235
+ if (isKey(key, 'up')) {
236
236
  navigateUp();
237
237
  return;
238
238
  }
239
- if (key === '\x1b[B') {
239
+ if (isKey(key, 'down')) {
240
240
  navigateDown();
241
241
  return;
242
242
  }
243
- if (key === '\x7f' || key === '\b') {
243
+ if (isKey(key, 'backspace')) {
244
244
  if (query.length > 0) {
245
245
  const prevLineCount = renderLineCount();
246
246
  query = query.slice(0, -1);
@@ -250,8 +250,8 @@ export async function interactiveFilter(options, ctx) {
250
250
  return;
251
251
  }
252
252
  // Printable character (all printable keys including j/k)
253
- if (key.length === 1 && key >= ' ') {
254
- typeChar(key);
253
+ if (isPrintableKey(key)) {
254
+ typeChar(key.text);
255
255
  }
256
256
  });
257
257
  });
@@ -1 +1 @@
1
- {"version":3,"file":"filter-interactive.js","sourceRoot":"","sources":["../../../src/core/forms/filter-interactive.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAkClG;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAI,KAAa,EAAE,MAAuB;IACpE,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAC9B,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACxD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAI,OAAyB,EAAE,GAAiB;IACrF,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;IACtF,CAAC;IACD,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;IAClC,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,YAAY,CAAC;IAC9C,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC/C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC,CAAC;IACN,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAEnC,IAAI,IAAI,GAAwB,QAAQ,CAAC;IACzC,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpC,0EAA0E;IAC1E,SAAS,WAAW;QAClB,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YACjB,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5D,WAAW,EAAE,CAAC;IAChB,CAAC;IAED,4EAA4E;IAC5E,SAAS,WAAW;QAClB,IAAI,MAAM,GAAG,YAAY,EAAE,CAAC;YAC1B,YAAY,GAAG,MAAM,CAAC;QACxB,CAAC;aAAM,IAAI,MAAM,IAAI,YAAY,GAAG,UAAU,EAAE,CAAC;YAC/C,YAAY,GAAG,MAAM,GAAG,UAAU,GAAG,CAAC,CAAC;QACzC,CAAC;QACD,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAChG,CAAC;IAED,wEAAwE;IACxE,SAAS,YAAY;QACnB,OAAO,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,YAAY,GAAG,UAAU,CAAC,CAAC;IACjE,CAAC;IAED,yEAAyE;IACzE,SAAS,eAAe;QACtB,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,yCAAyC;IACjG,CAAC;IAED,+EAA+E;IAC/E,SAAS,MAAM;QACb,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAEtB,wDAAwD;QACxD,MAAM,SAAS,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAChD,MAAM,aAAa,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjH,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,IAAI,aAAa,IAAI,CAAC,CAAC;QAExF,gBAAgB;QAChB,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC;YACpB,MAAM,SAAS,GAAG,YAAY,GAAG,CAAC,KAAK,MAAM,CAAC;YAC9C,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACrC,IAAI,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC1B,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3F,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QAED,SAAS;QACT,MAAM,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,QAAQ,CAAC;QACpE,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACvE,CAAC;IAED,2DAA2D;IAC3D,SAAS,WAAW,CAAC,SAAiB;QACpC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;IAED,6DAA6D;IAC7D,SAAS,gBAAgB,CAAC,aAAqB;QAC7C,WAAW,CAAC,aAAa,CAAC,CAAC;QAC3B,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC/B,MAAM,EAAE,CAAC;IACX,CAAC;IAED,oEAAoE;IACpE,SAAS,OAAO,CAAC,aAAqB;QACpC,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;QAChC,WAAW,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAEvB,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,CAAC;QACxG,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,CAAC;IAClB,MAAM,EAAE,CAAC;IAET,+EAA+E;IAC/E,8EAA8E;IAC9E,8DAA8D;IAC9D,+DAA+D;IAC/D,SAAS,UAAU;QACjB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAClC,MAAM,aAAa,GAAG,eAAe,EAAE,CAAC;QACxC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC1D,WAAW,EAAE,CAAC;QACd,WAAW,CAAC,aAAa,CAAC,CAAC;QAC3B,MAAM,EAAE,CAAC;IACX,CAAC;IAED,oEAAoE;IACpE,SAAS,YAAY;QACnB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAClC,MAAM,aAAa,GAAG,eAAe,EAAE,CAAC;QACxC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;QACxC,WAAW,EAAE,CAAC;QACd,WAAW,CAAC,aAAa,CAAC,CAAC;QAC3B,MAAM,EAAE,CAAC;IACX,CAAC;IAED,iEAAiE;IACjE,SAAS,QAAQ,CAAC,EAAU;QAC1B,MAAM,aAAa,GAAG,eAAe,EAAE,CAAC;QACxC,KAAK,IAAI,EAAE,CAAC;QACZ,WAAW,EAAE,CAAC;QACd,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAClC,CAAC;IAED,gFAAgF;IAChF,mFAAmF;IACnF,kEAAkE;IAClE,SAAS,UAAU,CAAC,OAA4B;QAC9C,IAAI,GAAG,OAAO,CAAC;QACf,MAAM,aAAa,GAAG,eAAe,EAAE,CAAC;QACxC,WAAW,CAAC,aAAa,CAAC,CAAC;QAC3B,MAAM,EAAE,CAAC;IACX,CAAC;IAED,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,EAAE;QAChC,MAAM,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAW,EAAE,EAAE;YAC7C,0DAA0D;YAC1D,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACjC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAClC,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAC3D,OAAO,CAAC,aAAa,CAAC,CAAC;gBACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC;gBACtF,OAAO;YACT,CAAC;YAED,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBACnB,mCAAmC;gBACnC,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC;gBACxE,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;gBAC1F,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,OAAO,CAAC,cAAc,EAAE,KAAK,IAAI,QAAQ,CAAC,CAAC;gBAC3C,OAAO,CAAC,aAAa,CAAC,CAAC;gBACvB,OAAO;YACT,CAAC;YAED,0DAA0D;YAC1D,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;oBACnB,iCAAiC;oBACjC,qEAAqE;oBACrE,sEAAsE;oBACtE,8DAA8D;oBAC9D,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC;oBACxE,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;oBAC1F,MAAM,CAAC,OAAO,EAAE,CAAC;oBACjB,OAAO,CAAC,cAAc,EAAE,KAAK,IAAI,QAAQ,CAAC,CAAC;oBAC3C,OAAO,CAAC,aAAa,CAAC,CAAC;oBACvB,OAAO;gBACT,CAAC;gBAED,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;oBACpC,YAAY,EAAE,CAAC;oBACf,OAAO;gBACT,CAAC;gBAED,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;oBACpC,UAAU,EAAE,CAAC;oBACb,OAAO;gBACT,CAAC;gBAED,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAChB,mCAAmC;oBACnC,UAAU,CAAC,QAAQ,CAAC,CAAC;oBACrB,OAAO;gBACT,CAAC;gBAED,4DAA4D;gBAC5D,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;oBACnC,IAAI,GAAG,QAAQ,CAAC;oBAChB,QAAQ,CAAC,GAAG,CAAC,CAAC;oBACd,OAAO;gBACT,CAAC;gBAED,OAAO;YACT,CAAC;YAED,0DAA0D;YAC1D,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBACnB,2CAA2C;gBAC3C,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YAED,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACrB,UAAU,EAAE,CAAC;gBACb,OAAO;YACT,CAAC;YAED,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACrB,YAAY,EAAE,CAAC;gBACf,OAAO;YACT,CAAC;YAED,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACnC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrB,MAAM,aAAa,GAAG,eAAe,EAAE,CAAC;oBACxC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC3B,WAAW,EAAE,CAAC;oBACd,gBAAgB,CAAC,aAAa,CAAC,CAAC;gBAClC,CAAC;gBACD,OAAO;YACT,CAAC;YAED,yDAAyD;YACzD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;gBACnC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAChB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"filter-interactive.js","sourceRoot":"","sources":["../../../src/core/forms/filter-interactive.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,KAAK,EACL,cAAc,EACd,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAkCzB;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAI,KAAa,EAAE,MAAuB;IACpE,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAC9B,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACxD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAI,OAAyB,EAAE,GAAiB;IACrF,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;IACtF,CAAC;IACD,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;IAClC,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,YAAY,CAAC;IAC9C,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC/C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC,CAAC;IACN,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAEnC,IAAI,IAAI,GAAwB,QAAQ,CAAC;IACzC,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpC,0EAA0E;IAC1E,SAAS,WAAW;QAClB,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YACjB,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5D,WAAW,EAAE,CAAC;IAChB,CAAC;IAED,4EAA4E;IAC5E,SAAS,WAAW;QAClB,IAAI,MAAM,GAAG,YAAY,EAAE,CAAC;YAC1B,YAAY,GAAG,MAAM,CAAC;QACxB,CAAC;aAAM,IAAI,MAAM,IAAI,YAAY,GAAG,UAAU,EAAE,CAAC;YAC/C,YAAY,GAAG,MAAM,GAAG,UAAU,GAAG,CAAC,CAAC;QACzC,CAAC;QACD,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAChG,CAAC;IAED,wEAAwE;IACxE,SAAS,YAAY;QACnB,OAAO,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,YAAY,GAAG,UAAU,CAAC,CAAC;IACjE,CAAC;IAED,yEAAyE;IACzE,SAAS,eAAe;QACtB,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,yCAAyC;IACjG,CAAC;IAED,+EAA+E;IAC/E,SAAS,MAAM;QACb,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAEtB,wDAAwD;QACxD,MAAM,SAAS,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAChD,MAAM,aAAa,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjH,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,IAAI,aAAa,IAAI,CAAC,CAAC;QAExF,gBAAgB;QAChB,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC;YACpB,MAAM,SAAS,GAAG,YAAY,GAAG,CAAC,KAAK,MAAM,CAAC;YAC9C,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACrC,IAAI,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC1B,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3F,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QAED,SAAS;QACT,MAAM,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,QAAQ,CAAC;QACpE,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACvE,CAAC;IAED,2DAA2D;IAC3D,SAAS,WAAW,CAAC,SAAiB;QACpC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;IAED,6DAA6D;IAC7D,SAAS,gBAAgB,CAAC,aAAqB;QAC7C,WAAW,CAAC,aAAa,CAAC,CAAC;QAC3B,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC/B,MAAM,EAAE,CAAC;IACX,CAAC;IAED,oEAAoE;IACpE,SAAS,OAAO,CAAC,aAAqB;QACpC,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;QAChC,WAAW,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAEvB,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,CAAC;QACxG,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,CAAC;IAClB,MAAM,EAAE,CAAC;IAET,+EAA+E;IAC/E,8EAA8E;IAC9E,8DAA8D;IAC9D,+DAA+D;IAC/D,SAAS,UAAU;QACjB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAClC,MAAM,aAAa,GAAG,eAAe,EAAE,CAAC;QACxC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC1D,WAAW,EAAE,CAAC;QACd,WAAW,CAAC,aAAa,CAAC,CAAC;QAC3B,MAAM,EAAE,CAAC;IACX,CAAC;IAED,oEAAoE;IACpE,SAAS,YAAY;QACnB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAClC,MAAM,aAAa,GAAG,eAAe,EAAE,CAAC;QACxC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;QACxC,WAAW,EAAE,CAAC;QACd,WAAW,CAAC,aAAa,CAAC,CAAC;QAC3B,MAAM,EAAE,CAAC;IACX,CAAC;IAED,iEAAiE;IACjE,SAAS,QAAQ,CAAC,EAAU;QAC1B,MAAM,aAAa,GAAG,eAAe,EAAE,CAAC;QACxC,KAAK,IAAI,EAAE,CAAC;QACZ,WAAW,EAAE,CAAC;QACd,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAClC,CAAC;IAED,gFAAgF;IAChF,mFAAmF;IACnF,kEAAkE;IAClE,SAAS,UAAU,CAAC,OAA4B;QAC9C,IAAI,GAAG,OAAO,CAAC;QACf,MAAM,aAAa,GAAG,eAAe,EAAE,CAAC;QACxC,WAAW,CAAC,aAAa,CAAC,CAAC;QAC3B,MAAM,EAAE,CAAC;IACX,CAAC;IAED,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,EAAE;QAChC,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;YAChD,0DAA0D;YAC1D,IAAI,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC;gBACxB,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAClC,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAC3D,OAAO,CAAC,aAAa,CAAC,CAAC;gBACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC;gBACtF,OAAO;YACT,CAAC;YAED,IAAI,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;gBACpC,mCAAmC;gBACnC,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC;gBACxE,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;gBAC1F,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,OAAO,CAAC,cAAc,EAAE,KAAK,IAAI,QAAQ,CAAC,CAAC;gBAC3C,OAAO,CAAC,aAAa,CAAC,CAAC;gBACvB,OAAO;YACT,CAAC;YAED,0DAA0D;YAC1D,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,IAAI,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC;oBACzB,iCAAiC;oBACjC,qEAAqE;oBACrE,sEAAsE;oBACtE,8DAA8D;oBAC9D,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC;oBACxE,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;oBAC1F,MAAM,CAAC,OAAO,EAAE,CAAC;oBACjB,OAAO,CAAC,cAAc,EAAE,KAAK,IAAI,QAAQ,CAAC,CAAC;oBAC3C,OAAO,CAAC,aAAa,CAAC,CAAC;oBACvB,OAAO;gBACT,CAAC;gBAED,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC;oBAC3C,YAAY,EAAE,CAAC;oBACf,OAAO;gBACT,CAAC;gBAED,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;oBACzC,UAAU,EAAE,CAAC;oBACb,OAAO;gBACT,CAAC;gBAED,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBACrB,mCAAmC;oBACnC,UAAU,CAAC,QAAQ,CAAC,CAAC;oBACrB,OAAO;gBACT,CAAC;gBAED,4DAA4D;gBAC5D,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;oBACxB,IAAI,GAAG,QAAQ,CAAC;oBAChB,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACnB,OAAO;gBACT,CAAC;gBAED,OAAO;YACT,CAAC;YAED,0DAA0D;YAC1D,IAAI,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACzB,2CAA2C;gBAC3C,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YAED,IAAI,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;gBACrB,UAAU,EAAE,CAAC;gBACb,OAAO;YACT,CAAC;YAED,IAAI,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC;gBACvB,YAAY,EAAE,CAAC;gBACf,OAAO;YACT,CAAC;YAED,IAAI,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,CAAC;gBAC5B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrB,MAAM,aAAa,GAAG,eAAe,EAAE,CAAC;oBACxC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC3B,WAAW,EAAE,CAAC;oBACd,gBAAgB,CAAC,aAAa,CAAC,CAAC;gBAClC,CAAC;gBACD,OAAO;YACT,CAAC;YAED,yDAAyD;YACzD,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -7,6 +7,7 @@
7
7
  * @module core/forms/form-utils
8
8
  */
9
9
  import type { BijouContext } from '../../ports/context.js';
10
+ import type { KeyInputMsg, RawInputHandle } from '../../ports/io.js';
10
11
  import type { TokenValue } from '../theme/tokens.js';
11
12
  /**
12
13
  * Format a form title with the `?` prefix and theme-aware styling.
@@ -103,15 +104,45 @@ export declare function createBoldFn(ctx: BijouContext): (text: string) => strin
103
104
  * @returns The updated scroll offset.
104
105
  */
105
106
  export declare function clampScroll(cursor: number, scrollOffset: number, maxVisible: number, itemCount: number): number;
107
+ /**
108
+ * Subscribe to semantic form key input, preferring `ctx.io.keyInput()` when
109
+ * available and falling back to decoding `rawInput()` sequences otherwise.
110
+ *
111
+ * This keeps interactive forms deterministic in tests without forcing
112
+ * production adapters away from the lower-level raw-input contract.
113
+ *
114
+ * @param ctx - Bijou context providing the input port.
115
+ * @param onKey - Callback invoked for each semantic key.
116
+ * @returns A disposable handle that stops further key delivery.
117
+ */
118
+ export declare function subscribeFormKeyInput(ctx: BijouContext, onKey: (key: KeyInputMsg) => void): RawInputHandle;
119
+ /**
120
+ * Whether a semantic key carries printable text.
121
+ *
122
+ * @param key - The semantic key to test.
123
+ * @returns `true` when the key represents typed text.
124
+ */
125
+ export declare function isPrintableKey(key: KeyInputMsg): key is KeyInputMsg & {
126
+ text: string;
127
+ };
128
+ /**
129
+ * Match a semantic key by logical key name and optional modifier flags.
130
+ *
131
+ * @param msg - The key message to test.
132
+ * @param key - Expected logical key name.
133
+ * @param mods - Optional modifier constraints.
134
+ * @returns `true` when the key matches.
135
+ */
136
+ export declare function isKey(msg: KeyInputMsg, key: string, mods?: Partial<Pick<KeyInputMsg, 'ctrl' | 'alt' | 'shift'>>): boolean;
106
137
  /**
107
138
  * Handle up/down (arrow key or j/k) navigation in a wrapping list.
108
139
  *
109
- * @param key - The keypress string.
140
+ * @param key - The semantic keypress.
110
141
  * @param cursor - Current cursor index.
111
142
  * @param length - Total number of items.
112
143
  * @returns The new cursor index, or `null` if the key was not a vertical nav key.
113
144
  */
114
- export declare function handleVerticalNav(key: string, cursor: number, length: number): number | null;
145
+ export declare function handleVerticalNav(key: KeyInputMsg, cursor: number, length: number): number | null;
115
146
  /**
116
147
  * Route a form to its interactive or fallback handler based on
117
148
  * output mode and TTY state.