@flyingrobots/bijou-tui 0.9.0 → 1.0.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.
- package/dist/accordion.d.ts +46 -5
- package/dist/accordion.d.ts.map +1 -1
- package/dist/accordion.js +41 -5
- package/dist/accordion.js.map +1 -1
- package/dist/animate.d.ts +30 -0
- package/dist/animate.d.ts.map +1 -1
- package/dist/animate.js +33 -0
- package/dist/animate.js.map +1 -1
- package/dist/browsable-list.d.ts +67 -4
- package/dist/browsable-list.d.ts.map +1 -1
- package/dist/browsable-list.js +49 -4
- package/dist/browsable-list.js.map +1 -1
- package/dist/canvas.d.ts +42 -0
- package/dist/canvas.d.ts.map +1 -0
- package/dist/canvas.js +41 -0
- package/dist/canvas.js.map +1 -0
- package/dist/command-palette.d.ts +67 -6
- package/dist/command-palette.d.ts.map +1 -1
- package/dist/command-palette.js +67 -6
- package/dist/command-palette.js.map +1 -1
- package/dist/commands.d.ts +32 -3
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +32 -3
- package/dist/commands.js.map +1 -1
- package/dist/driver.d.ts +14 -0
- package/dist/driver.d.ts.map +1 -1
- package/dist/driver.js +7 -0
- package/dist/driver.js.map +1 -1
- package/dist/eventbus.d.ts +49 -9
- package/dist/eventbus.d.ts.map +1 -1
- package/dist/eventbus.js +22 -4
- package/dist/eventbus.js.map +1 -1
- package/dist/file-picker.d.ts +56 -4
- package/dist/file-picker.d.ts.map +1 -1
- package/dist/file-picker.js +52 -4
- package/dist/file-picker.js.map +1 -1
- package/dist/flex.d.ts +17 -0
- package/dist/flex.d.ts.map +1 -1
- package/dist/flex.js +106 -12
- package/dist/flex.js.map +1 -1
- package/dist/help.d.ts +16 -1
- package/dist/help.d.ts.map +1 -1
- package/dist/help.js +13 -0
- package/dist/help.js.map +1 -1
- package/dist/index.d.ts +12 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -2
- package/dist/index.js.map +1 -1
- package/dist/inputstack.d.ts +32 -4
- package/dist/inputstack.d.ts.map +1 -1
- package/dist/inputstack.js +11 -0
- package/dist/inputstack.js.map +1 -1
- package/dist/keybindings.d.ts +106 -14
- package/dist/keybindings.d.ts.map +1 -1
- package/dist/keybindings.js +28 -2
- package/dist/keybindings.js.map +1 -1
- package/dist/keys.d.ts +29 -3
- package/dist/keys.d.ts.map +1 -1
- package/dist/keys.js +73 -2
- package/dist/keys.js.map +1 -1
- package/dist/layout.d.ts +26 -0
- package/dist/layout.d.ts.map +1 -1
- package/dist/layout.js +25 -1
- package/dist/layout.js.map +1 -1
- package/dist/navigable-table.d.ts +48 -4
- package/dist/navigable-table.d.ts.map +1 -1
- package/dist/navigable-table.js +44 -4
- package/dist/navigable-table.js.map +1 -1
- package/dist/overlay.d.ts +110 -3
- package/dist/overlay.d.ts.map +1 -1
- package/dist/overlay.js +87 -7
- package/dist/overlay.js.map +1 -1
- package/dist/pager.d.ts +66 -7
- package/dist/pager.d.ts.map +1 -1
- package/dist/pager.js +56 -7
- package/dist/pager.js.map +1 -1
- package/dist/panels.d.ts +55 -0
- package/dist/panels.d.ts.map +1 -1
- package/dist/panels.js +11 -0
- package/dist/panels.js.map +1 -1
- package/dist/runtime.d.ts +6 -0
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +24 -3
- package/dist/runtime.js.map +1 -1
- package/dist/screen.d.ts +37 -3
- package/dist/screen.d.ts.map +1 -1
- package/dist/screen.js +37 -3
- package/dist/screen.js.map +1 -1
- package/dist/spring.d.ts +56 -7
- package/dist/spring.d.ts.map +1 -1
- package/dist/spring.js +44 -7
- package/dist/spring.js.map +1 -1
- package/dist/status-bar.d.ts +15 -2
- package/dist/status-bar.d.ts.map +1 -1
- package/dist/status-bar.js +9 -0
- package/dist/status-bar.js.map +1 -1
- package/dist/timeline.d.ts +68 -5
- package/dist/timeline.d.ts.map +1 -1
- package/dist/timeline.js +33 -0
- package/dist/timeline.js.map +1 -1
- package/dist/types.d.ts +102 -5
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +30 -2
- package/dist/types.js.map +1 -1
- package/dist/viewport.d.ts +74 -14
- package/dist/viewport.d.ts.map +1 -1
- package/dist/viewport.js +82 -60
- package/dist/viewport.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigable-table.d.ts","sourceRoot":"","sources":["../src/navigable-table.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAM7D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC;IAC9C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC;IAC9C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC;CAC7B;AAMD
|
|
1
|
+
{"version":3,"file":"navigable-table.d.ts","sourceRoot":"","sources":["../src/navigable-table.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAM7D,sDAAsD;AACtD,MAAM,WAAW,mBAAmB;IAClC,uDAAuD;IACvD,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC;IAChC,+CAA+C;IAC/C,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC;IAC9C,0CAA0C;IAC1C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,wDAAwD;IACxD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,2CAA2C;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,wDAAwD;AACxD,MAAM,WAAW,qBAAqB;IACpC,uDAAuD;IACvD,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC;IAChC,2CAA2C;IAC3C,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC;IAC9C,yDAAyD;IACzD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,sDAAsD;AACtD,MAAM,WAAW,qBAAqB;IACpC,oFAAoF;IACpF,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,6CAA6C;IAC7C,QAAQ,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC;CAC7B;AAMD;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,qBAAqB,GAAG,mBAAmB,CAS7F;AAMD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,mBAAmB,GAAG,mBAAmB,CAIjF;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,mBAAmB,GAAG,mBAAmB,CAIjF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,mBAAmB,GAAG,mBAAmB,CAIhF;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,mBAAmB,CAI9E;AA8BD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,MAAM,CAwBlG;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE;IAC3C,SAAS,EAAE,GAAG,CAAC;IACf,SAAS,EAAE,GAAG,CAAC;IACf,QAAQ,EAAE,GAAG,CAAC;IACd,MAAM,EAAE,GAAG,CAAC;IACZ,IAAI,EAAE,GAAG,CAAC;CACX,GAAG,MAAM,CAAC,GAAG,CAAC,CAcd"}
|
package/dist/navigable-table.js
CHANGED
|
@@ -25,6 +25,9 @@ import { createKeyMap } from './keybindings.js';
|
|
|
25
25
|
* Create initial navigable table state.
|
|
26
26
|
*
|
|
27
27
|
* `height` defaults to 10 rows when not provided.
|
|
28
|
+
*
|
|
29
|
+
* @param options - Columns, rows, and optional viewport height.
|
|
30
|
+
* @returns Fresh table state with focus on the first row.
|
|
28
31
|
*/
|
|
29
32
|
export function createNavigableTableState(options) {
|
|
30
33
|
const height = Math.max(1, options.height ?? 10);
|
|
@@ -39,28 +42,48 @@ export function createNavigableTableState(options) {
|
|
|
39
42
|
// ---------------------------------------------------------------------------
|
|
40
43
|
// State transformers
|
|
41
44
|
// ---------------------------------------------------------------------------
|
|
42
|
-
/**
|
|
45
|
+
/**
|
|
46
|
+
* Move focus to the next row (wraps around).
|
|
47
|
+
*
|
|
48
|
+
* @param state - Current table state.
|
|
49
|
+
* @returns Updated table state with focus on the next row.
|
|
50
|
+
*/
|
|
43
51
|
export function navTableFocusNext(state) {
|
|
44
52
|
if (state.rows.length === 0)
|
|
45
53
|
return state;
|
|
46
54
|
const focusRow = (state.focusRow + 1) % state.rows.length;
|
|
47
55
|
return { ...state, focusRow, scrollY: adjustScroll(focusRow, state.scrollY, state.height, state.rows.length) };
|
|
48
56
|
}
|
|
49
|
-
/**
|
|
57
|
+
/**
|
|
58
|
+
* Move focus to the previous row (wraps around).
|
|
59
|
+
*
|
|
60
|
+
* @param state - Current table state.
|
|
61
|
+
* @returns Updated table state with focus on the previous row.
|
|
62
|
+
*/
|
|
50
63
|
export function navTableFocusPrev(state) {
|
|
51
64
|
if (state.rows.length === 0)
|
|
52
65
|
return state;
|
|
53
66
|
const focusRow = (state.focusRow - 1 + state.rows.length) % state.rows.length;
|
|
54
67
|
return { ...state, focusRow, scrollY: adjustScroll(focusRow, state.scrollY, state.height, state.rows.length) };
|
|
55
68
|
}
|
|
56
|
-
/**
|
|
69
|
+
/**
|
|
70
|
+
* Move focus down by one page (clamps to last row).
|
|
71
|
+
*
|
|
72
|
+
* @param state - Current table state.
|
|
73
|
+
* @returns Updated table state with focus advanced by one page.
|
|
74
|
+
*/
|
|
57
75
|
export function navTablePageDown(state) {
|
|
58
76
|
if (state.rows.length === 0)
|
|
59
77
|
return state;
|
|
60
78
|
const focusRow = Math.min(state.focusRow + state.height, state.rows.length - 1);
|
|
61
79
|
return { ...state, focusRow, scrollY: adjustScroll(focusRow, state.scrollY, state.height, state.rows.length) };
|
|
62
80
|
}
|
|
63
|
-
/**
|
|
81
|
+
/**
|
|
82
|
+
* Move focus up by one page (clamps to first row).
|
|
83
|
+
*
|
|
84
|
+
* @param state - Current table state.
|
|
85
|
+
* @returns Updated table state with focus moved back by one page.
|
|
86
|
+
*/
|
|
64
87
|
export function navTablePageUp(state) {
|
|
65
88
|
if (state.rows.length === 0)
|
|
66
89
|
return state;
|
|
@@ -70,6 +93,15 @@ export function navTablePageUp(state) {
|
|
|
70
93
|
// ---------------------------------------------------------------------------
|
|
71
94
|
// Scroll helper
|
|
72
95
|
// ---------------------------------------------------------------------------
|
|
96
|
+
/**
|
|
97
|
+
* Clamp scroll position so the focused row stays within the visible window.
|
|
98
|
+
*
|
|
99
|
+
* @param focusRow - Index of the focused row.
|
|
100
|
+
* @param scrollY - Current scroll offset.
|
|
101
|
+
* @param height - Viewport height in rows.
|
|
102
|
+
* @param totalRows - Total number of data rows.
|
|
103
|
+
* @returns Adjusted scroll offset.
|
|
104
|
+
*/
|
|
73
105
|
function adjustScroll(focusRow, scrollY, height, totalRows) {
|
|
74
106
|
let newScrollY = scrollY;
|
|
75
107
|
if (focusRow < newScrollY) {
|
|
@@ -89,6 +121,10 @@ function adjustScroll(focusRow, scrollY, height, totalRows) {
|
|
|
89
121
|
*
|
|
90
122
|
* Slices visible rows based on `scrollY` and `height`, prepends a focus
|
|
91
123
|
* indicator to the first column, then delegates to core `table()`.
|
|
124
|
+
*
|
|
125
|
+
* @param state - Current table state.
|
|
126
|
+
* @param options - Rendering options (focus indicator, context).
|
|
127
|
+
* @returns Rendered table string with focus indicator on the active row.
|
|
92
128
|
*/
|
|
93
129
|
export function navigableTable(state, options) {
|
|
94
130
|
if (state.rows.length === 0) {
|
|
@@ -127,6 +163,10 @@ export function navigableTable(state, options) {
|
|
|
127
163
|
* quit: { type: 'quit' },
|
|
128
164
|
* });
|
|
129
165
|
* ```
|
|
166
|
+
*
|
|
167
|
+
* @template Msg - Application message type dispatched by key bindings.
|
|
168
|
+
* @param actions - Map of navigation actions to message values.
|
|
169
|
+
* @returns Preconfigured key map with vim-style table row bindings.
|
|
130
170
|
*/
|
|
131
171
|
export function navTableKeyMap(actions) {
|
|
132
172
|
return createKeyMap()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigable-table.js","sourceRoot":"","sources":["../src/navigable-table.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EACL,KAAK,GAGN,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAe,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"navigable-table.js","sourceRoot":"","sources":["../src/navigable-table.ts"],"names":[],"mappings":"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"}
|
package/dist/overlay.d.ts
CHANGED
|
@@ -7,66 +7,173 @@
|
|
|
7
7
|
* - `tooltip()` — positioned overlay relative to a target element
|
|
8
8
|
*/
|
|
9
9
|
import type { BijouContext, TokenValue } from '@flyingrobots/bijou';
|
|
10
|
+
/**
|
|
11
|
+
* Positioned content block that can be composited onto a background.
|
|
12
|
+
*/
|
|
10
13
|
export interface Overlay {
|
|
14
|
+
/** Rendered content string (newline-delimited lines). */
|
|
11
15
|
readonly content: string;
|
|
16
|
+
/** Top-left row position (0-based). */
|
|
12
17
|
readonly row: number;
|
|
18
|
+
/** Top-left column position (0-based). */
|
|
13
19
|
readonly col: number;
|
|
14
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Options for the {@link composite} function.
|
|
23
|
+
*/
|
|
15
24
|
export interface CompositeOptions {
|
|
16
25
|
/** Wrap background lines in dim (ANSI 2m). */
|
|
17
26
|
readonly dim?: boolean;
|
|
18
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* Configuration for the {@link modal} overlay.
|
|
30
|
+
*/
|
|
19
31
|
export interface ModalOptions {
|
|
32
|
+
/** Optional title displayed at the top of the modal (bolded when ctx provided). */
|
|
20
33
|
readonly title?: string;
|
|
34
|
+
/** Body content of the modal. */
|
|
21
35
|
readonly body: string;
|
|
36
|
+
/** Optional hint text displayed below the body (muted when ctx provided). */
|
|
22
37
|
readonly hint?: string;
|
|
38
|
+
/** Screen width in columns, used for centering. */
|
|
23
39
|
readonly screenWidth: number;
|
|
40
|
+
/** Screen height in rows, used for centering. */
|
|
24
41
|
readonly screenHeight: number;
|
|
25
|
-
/**
|
|
42
|
+
/** Preferred minimum width — shorter lines are padded but longer lines are not truncated (default: auto from content). */
|
|
26
43
|
readonly width?: number;
|
|
44
|
+
/** Design token for the border color. */
|
|
27
45
|
readonly borderToken?: TokenValue;
|
|
46
|
+
/** Background fill token for the overlay interior. */
|
|
47
|
+
readonly bgToken?: TokenValue;
|
|
48
|
+
/** Bijou context for styled output. */
|
|
28
49
|
readonly ctx?: BijouContext;
|
|
29
50
|
}
|
|
51
|
+
/** Visual variant controlling the toast icon and border color. */
|
|
30
52
|
export type ToastVariant = 'success' | 'error' | 'info';
|
|
53
|
+
/** Screen corner where the toast is anchored. */
|
|
31
54
|
export type ToastAnchor = 'top-right' | 'bottom-right' | 'bottom-left' | 'top-left';
|
|
55
|
+
/**
|
|
56
|
+
* Configuration for the {@link toast} overlay.
|
|
57
|
+
*/
|
|
32
58
|
export interface ToastOptions {
|
|
59
|
+
/** Message text displayed beside the variant icon. */
|
|
33
60
|
readonly message: string;
|
|
61
|
+
/** Visual variant controlling icon and border color. Default: 'info'. */
|
|
34
62
|
readonly variant?: ToastVariant;
|
|
63
|
+
/** Screen corner to anchor the toast. Default: 'bottom-right'. */
|
|
35
64
|
readonly anchor?: ToastAnchor;
|
|
65
|
+
/** Screen width in columns, used for positioning. */
|
|
36
66
|
readonly screenWidth: number;
|
|
67
|
+
/** Screen height in rows, used for positioning. */
|
|
37
68
|
readonly screenHeight: number;
|
|
38
69
|
/** Rows/cols from edge. Default: 1. */
|
|
39
70
|
readonly margin?: number;
|
|
71
|
+
/** Background fill token for the toast interior. */
|
|
72
|
+
readonly bgToken?: TokenValue;
|
|
73
|
+
/** Bijou context for styled output. */
|
|
40
74
|
readonly ctx?: BijouContext;
|
|
41
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* Paint one or more overlays onto a background string.
|
|
78
|
+
*
|
|
79
|
+
* Overlay content replaces background characters at the specified position.
|
|
80
|
+
* Overlays are applied in array order (later overlays paint over earlier ones).
|
|
81
|
+
* ANSI escape sequences are preserved correctly at splice boundaries.
|
|
82
|
+
*
|
|
83
|
+
* @param background - Background content string (newline-delimited).
|
|
84
|
+
* @param overlays - Positioned overlays to composite onto the background.
|
|
85
|
+
* @param options - Optional compositing settings (e.g., dim background).
|
|
86
|
+
* @returns Composited string with all overlays applied.
|
|
87
|
+
*/
|
|
42
88
|
export declare function composite(background: string, overlays: readonly Overlay[], options?: CompositeOptions): string;
|
|
89
|
+
/**
|
|
90
|
+
* Create a centered modal dialog overlay.
|
|
91
|
+
*
|
|
92
|
+
* Build a bordered box with optional title, body, and hint text,
|
|
93
|
+
* then center it on screen.
|
|
94
|
+
*
|
|
95
|
+
* @param options - Modal configuration including content and screen dimensions.
|
|
96
|
+
* @returns Overlay positioned at the center of the screen.
|
|
97
|
+
*/
|
|
43
98
|
export declare function modal(options: ModalOptions): Overlay;
|
|
99
|
+
/**
|
|
100
|
+
* Create an anchored toast notification overlay.
|
|
101
|
+
*
|
|
102
|
+
* Render a bordered box with a variant icon and message, positioned
|
|
103
|
+
* at the specified screen corner with configurable margin.
|
|
104
|
+
*
|
|
105
|
+
* @param options - Toast configuration including message, variant, and screen dimensions.
|
|
106
|
+
* @returns Overlay positioned at the specified screen corner.
|
|
107
|
+
*/
|
|
44
108
|
export declare function toast(options: ToastOptions): Overlay;
|
|
109
|
+
/** Side of the screen where the drawer is anchored. */
|
|
45
110
|
export type DrawerAnchor = 'left' | 'right';
|
|
111
|
+
/**
|
|
112
|
+
* Configuration for the {@link drawer} overlay.
|
|
113
|
+
*/
|
|
46
114
|
export interface DrawerOptions {
|
|
115
|
+
/** Content string to display inside the drawer. */
|
|
47
116
|
readonly content: string;
|
|
117
|
+
/** Side of the screen to anchor the drawer. Default: 'right'. */
|
|
48
118
|
readonly anchor?: DrawerAnchor;
|
|
119
|
+
/** Total drawer width including borders and padding. */
|
|
49
120
|
readonly width: number;
|
|
121
|
+
/** Screen width in columns, used for positioning. */
|
|
50
122
|
readonly screenWidth: number;
|
|
123
|
+
/** Screen height in rows, used for sizing. */
|
|
51
124
|
readonly screenHeight: number;
|
|
125
|
+
/** Optional title displayed in the top border. */
|
|
52
126
|
readonly title?: string;
|
|
127
|
+
/** Design token for the border color. */
|
|
53
128
|
readonly borderToken?: TokenValue;
|
|
129
|
+
/** Background fill token for the drawer interior. */
|
|
130
|
+
readonly bgToken?: TokenValue;
|
|
131
|
+
/** Bijou context for styled output. */
|
|
54
132
|
readonly ctx?: BijouContext;
|
|
55
133
|
}
|
|
134
|
+
/**
|
|
135
|
+
* Create a full-height drawer overlay anchored to a screen edge.
|
|
136
|
+
*
|
|
137
|
+
* Render a bordered panel spanning the full screen height with optional
|
|
138
|
+
* title in the top border, positioned flush against the left or right edge.
|
|
139
|
+
*
|
|
140
|
+
* @param options - Drawer configuration including content, anchor, and dimensions.
|
|
141
|
+
* @returns Overlay positioned at the specified screen edge.
|
|
142
|
+
*/
|
|
56
143
|
export declare function drawer(options: DrawerOptions): Overlay;
|
|
144
|
+
/** Direction to place the tooltip relative to its target element. */
|
|
57
145
|
export type TooltipDirection = 'top' | 'bottom' | 'left' | 'right';
|
|
146
|
+
/**
|
|
147
|
+
* Configuration for the {@link tooltip} overlay.
|
|
148
|
+
*/
|
|
58
149
|
export interface TooltipOptions {
|
|
150
|
+
/** Content string to display inside the tooltip. */
|
|
59
151
|
readonly content: string;
|
|
60
|
-
/** Row of the target element. */
|
|
152
|
+
/** Row of the target element (0-based). */
|
|
61
153
|
readonly row: number;
|
|
62
|
-
/** Column of the target element. */
|
|
154
|
+
/** Column of the target element (0-based). */
|
|
63
155
|
readonly col: number;
|
|
64
156
|
/** Direction to place the tooltip relative to the target. Default: 'top'. */
|
|
65
157
|
readonly direction?: TooltipDirection;
|
|
158
|
+
/** Screen width in columns, used for clamping. */
|
|
66
159
|
readonly screenWidth: number;
|
|
160
|
+
/** Screen height in rows, used for clamping. */
|
|
67
161
|
readonly screenHeight: number;
|
|
162
|
+
/** Design token for the border color. */
|
|
68
163
|
readonly borderToken?: TokenValue;
|
|
164
|
+
/** Background fill token for the tooltip interior. */
|
|
165
|
+
readonly bgToken?: TokenValue;
|
|
166
|
+
/** Bijou context for styled output. */
|
|
69
167
|
readonly ctx?: BijouContext;
|
|
70
168
|
}
|
|
169
|
+
/**
|
|
170
|
+
* Create a tooltip overlay positioned relative to a target element.
|
|
171
|
+
*
|
|
172
|
+
* Render a bordered box containing the content, placed in the specified
|
|
173
|
+
* direction from the target. Clamp to screen bounds to prevent overflow.
|
|
174
|
+
*
|
|
175
|
+
* @param options - Tooltip configuration including content, target position, and direction.
|
|
176
|
+
* @returns Overlay positioned relative to the target, clamped to screen bounds.
|
|
177
|
+
*/
|
|
71
178
|
export declare function tooltip(options: TooltipOptions): Overlay;
|
|
72
179
|
//# sourceMappingURL=overlay.d.ts.map
|
package/dist/overlay.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overlay.d.ts","sourceRoot":"","sources":["../src/overlay.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"overlay.d.ts","sourceRoot":"","sources":["../src/overlay.ts"],"names":[],"mappings":"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"}
|
package/dist/overlay.js
CHANGED
|
@@ -6,10 +6,12 @@
|
|
|
6
6
|
* - `toast()` — anchored notification overlay with variant icons
|
|
7
7
|
* - `tooltip()` — positioned overlay relative to a target element
|
|
8
8
|
*/
|
|
9
|
+
import { makeBgFill } from '@flyingrobots/bijou';
|
|
9
10
|
import { sliceAnsi, visibleLength, clipToWidth } from './viewport.js';
|
|
10
11
|
// ---------------------------------------------------------------------------
|
|
11
12
|
// Border characters (same as core box.ts)
|
|
12
13
|
// ---------------------------------------------------------------------------
|
|
14
|
+
/** Unicode box-drawing characters for overlay borders. */
|
|
13
15
|
const BORDER = {
|
|
14
16
|
tl: '\u250c', // ┌
|
|
15
17
|
tr: '\u2510', // ┐
|
|
@@ -21,6 +23,17 @@ const BORDER = {
|
|
|
21
23
|
// ---------------------------------------------------------------------------
|
|
22
24
|
// spliceLine (internal)
|
|
23
25
|
// ---------------------------------------------------------------------------
|
|
26
|
+
/**
|
|
27
|
+
* Splice an overlay line into a background line at a given column.
|
|
28
|
+
*
|
|
29
|
+
* Preserve background content to the left and right of the overlay,
|
|
30
|
+
* inserting ANSI resets at splice boundaries.
|
|
31
|
+
*
|
|
32
|
+
* @param bgLine - Background line (may contain ANSI escapes).
|
|
33
|
+
* @param overlayLine - Overlay line to paint over the background.
|
|
34
|
+
* @param col - Starting visible column for the overlay (0-based).
|
|
35
|
+
* @returns Merged line with the overlay replacing background characters.
|
|
36
|
+
*/
|
|
24
37
|
function spliceLine(bgLine, overlayLine, col) {
|
|
25
38
|
const overlayVis = visibleLength(overlayLine);
|
|
26
39
|
const bgVis = visibleLength(bgLine);
|
|
@@ -33,6 +46,18 @@ function spliceLine(bgLine, overlayLine, col) {
|
|
|
33
46
|
// ---------------------------------------------------------------------------
|
|
34
47
|
// composite()
|
|
35
48
|
// ---------------------------------------------------------------------------
|
|
49
|
+
/**
|
|
50
|
+
* Paint one or more overlays onto a background string.
|
|
51
|
+
*
|
|
52
|
+
* Overlay content replaces background characters at the specified position.
|
|
53
|
+
* Overlays are applied in array order (later overlays paint over earlier ones).
|
|
54
|
+
* ANSI escape sequences are preserved correctly at splice boundaries.
|
|
55
|
+
*
|
|
56
|
+
* @param background - Background content string (newline-delimited).
|
|
57
|
+
* @param overlays - Positioned overlays to composite onto the background.
|
|
58
|
+
* @param options - Optional compositing settings (e.g., dim background).
|
|
59
|
+
* @returns Composited string with all overlays applied.
|
|
60
|
+
*/
|
|
36
61
|
export function composite(background, overlays, options) {
|
|
37
62
|
const bgLines = background.split('\n');
|
|
38
63
|
if (options?.dim) {
|
|
@@ -56,19 +81,40 @@ export function composite(background, overlays, options) {
|
|
|
56
81
|
// ---------------------------------------------------------------------------
|
|
57
82
|
// renderBox (shared between modal and toast)
|
|
58
83
|
// ---------------------------------------------------------------------------
|
|
59
|
-
|
|
84
|
+
/**
|
|
85
|
+
* Render lines inside a unicode box border.
|
|
86
|
+
*
|
|
87
|
+
* Compute inner width from the widest line, then wrap all lines
|
|
88
|
+
* with vertical borders and pad to uniform width.
|
|
89
|
+
*
|
|
90
|
+
* @param lines - Content lines to place inside the box.
|
|
91
|
+
* @param borderColor - Function to apply border styling (identity for unstyled).
|
|
92
|
+
* @param bgFill - Optional function to wrap interior content with background color styling.
|
|
93
|
+
* @returns Box string with top/bottom borders and bordered content lines.
|
|
94
|
+
*/
|
|
95
|
+
function renderBox(lines, borderColor, bgFill) {
|
|
60
96
|
const innerWidth = lines.reduce((max, l) => Math.max(max, visibleLength(l)), 0);
|
|
61
97
|
const top = borderColor(BORDER.tl + BORDER.h.repeat(innerWidth + 2) + BORDER.tr);
|
|
62
98
|
const bottom = borderColor(BORDER.bl + BORDER.h.repeat(innerWidth + 2) + BORDER.br);
|
|
99
|
+
const fill = bgFill ?? ((s) => s);
|
|
63
100
|
const body = lines.map((l) => {
|
|
64
101
|
const pad = innerWidth - visibleLength(l);
|
|
65
|
-
return borderColor(BORDER.v) + ' ' + l + ' '.repeat(pad) + ' ' + borderColor(BORDER.v);
|
|
102
|
+
return borderColor(BORDER.v) + fill(' ' + l + ' '.repeat(pad) + ' ') + borderColor(BORDER.v);
|
|
66
103
|
});
|
|
67
104
|
return [top, ...body, bottom].join('\n');
|
|
68
105
|
}
|
|
69
106
|
// ---------------------------------------------------------------------------
|
|
70
107
|
// modal()
|
|
71
108
|
// ---------------------------------------------------------------------------
|
|
109
|
+
/**
|
|
110
|
+
* Create a centered modal dialog overlay.
|
|
111
|
+
*
|
|
112
|
+
* Build a bordered box with optional title, body, and hint text,
|
|
113
|
+
* then center it on screen.
|
|
114
|
+
*
|
|
115
|
+
* @param options - Modal configuration including content and screen dimensions.
|
|
116
|
+
* @returns Overlay positioned at the center of the screen.
|
|
117
|
+
*/
|
|
72
118
|
export function modal(options) {
|
|
73
119
|
const { title, body, hint, screenWidth, screenHeight, ctx } = options;
|
|
74
120
|
const contentLines = [];
|
|
@@ -98,7 +144,8 @@ export function modal(options) {
|
|
|
98
144
|
const borderColor = ctx && options.borderToken
|
|
99
145
|
? (s) => ctx.style.styled(options.borderToken, s)
|
|
100
146
|
: (s) => s;
|
|
101
|
-
const
|
|
147
|
+
const bgFill = makeBgFill(options.bgToken, ctx);
|
|
148
|
+
const boxStr = renderBox(contentLines, borderColor, bgFill);
|
|
102
149
|
const boxLines = boxStr.split('\n');
|
|
103
150
|
const boxHeight = boxLines.length;
|
|
104
151
|
const boxWidth = visibleLength(boxLines[0]);
|
|
@@ -109,16 +156,27 @@ export function modal(options) {
|
|
|
109
156
|
// ---------------------------------------------------------------------------
|
|
110
157
|
// toast()
|
|
111
158
|
// ---------------------------------------------------------------------------
|
|
159
|
+
/** Unicode icon characters mapped by toast variant. */
|
|
112
160
|
const TOAST_ICONS = {
|
|
113
161
|
success: '\u2714', // ✔
|
|
114
162
|
error: '\u2718', // ✘
|
|
115
163
|
info: '\u2139', // ℹ
|
|
116
164
|
};
|
|
165
|
+
/** Semantic border token keys mapped by toast variant. */
|
|
117
166
|
const TOAST_BORDER = {
|
|
118
167
|
success: 'success',
|
|
119
168
|
error: 'error',
|
|
120
169
|
info: 'primary',
|
|
121
170
|
};
|
|
171
|
+
/**
|
|
172
|
+
* Create an anchored toast notification overlay.
|
|
173
|
+
*
|
|
174
|
+
* Render a bordered box with a variant icon and message, positioned
|
|
175
|
+
* at the specified screen corner with configurable margin.
|
|
176
|
+
*
|
|
177
|
+
* @param options - Toast configuration including message, variant, and screen dimensions.
|
|
178
|
+
* @returns Overlay positioned at the specified screen corner.
|
|
179
|
+
*/
|
|
122
180
|
export function toast(options) {
|
|
123
181
|
const { message, variant = 'info', anchor = 'bottom-right', screenWidth, screenHeight, margin = 1, ctx, } = options;
|
|
124
182
|
const icon = TOAST_ICONS[variant];
|
|
@@ -130,7 +188,8 @@ export function toast(options) {
|
|
|
130
188
|
const borderColor = ctx
|
|
131
189
|
? (s) => ctx.style.styled(ctx.theme.theme.border[borderKey], s)
|
|
132
190
|
: (s) => s;
|
|
133
|
-
const
|
|
191
|
+
const bgFill = makeBgFill(options.bgToken, ctx);
|
|
192
|
+
const boxStr = renderBox([line], borderColor, bgFill);
|
|
134
193
|
const boxLines = boxStr.split('\n');
|
|
135
194
|
const boxHeight = boxLines.length;
|
|
136
195
|
const boxWidth = visibleLength(boxLines[0]);
|
|
@@ -161,12 +220,23 @@ export function toast(options) {
|
|
|
161
220
|
// ---------------------------------------------------------------------------
|
|
162
221
|
// drawer()
|
|
163
222
|
// ---------------------------------------------------------------------------
|
|
223
|
+
/**
|
|
224
|
+
* Create a full-height drawer overlay anchored to a screen edge.
|
|
225
|
+
*
|
|
226
|
+
* Render a bordered panel spanning the full screen height with optional
|
|
227
|
+
* title in the top border, positioned flush against the left or right edge.
|
|
228
|
+
*
|
|
229
|
+
* @param options - Drawer configuration including content, anchor, and dimensions.
|
|
230
|
+
* @returns Overlay positioned at the specified screen edge.
|
|
231
|
+
*/
|
|
164
232
|
export function drawer(options) {
|
|
165
233
|
const { content, anchor = 'right', width, screenWidth, screenHeight, title, ctx, } = options;
|
|
166
234
|
const innerWidth = Math.max(0, width - 4); // border + padding on each side
|
|
167
235
|
const borderColor = ctx && options.borderToken
|
|
168
236
|
? (s) => ctx.style.styled(options.borderToken, s)
|
|
169
237
|
: (s) => s;
|
|
238
|
+
const bgFill = makeBgFill(options.bgToken, ctx);
|
|
239
|
+
const fill = bgFill ?? ((s) => s);
|
|
170
240
|
// Build top border
|
|
171
241
|
let topInner;
|
|
172
242
|
if (title) {
|
|
@@ -196,7 +266,7 @@ export function drawer(options) {
|
|
|
196
266
|
else {
|
|
197
267
|
clipped = raw + ' '.repeat(innerWidth - vis);
|
|
198
268
|
}
|
|
199
|
-
bodyLines.push(borderColor(BORDER.v) + ' ' + clipped + ' ' + borderColor(BORDER.v));
|
|
269
|
+
bodyLines.push(borderColor(BORDER.v) + fill(' ' + clipped + ' ') + borderColor(BORDER.v));
|
|
200
270
|
}
|
|
201
271
|
const allLines = [topLine, ...bodyLines, bottomLine];
|
|
202
272
|
const col = anchor === 'right' ? screenWidth - width : 0;
|
|
@@ -209,14 +279,24 @@ export function drawer(options) {
|
|
|
209
279
|
// ---------------------------------------------------------------------------
|
|
210
280
|
// tooltip()
|
|
211
281
|
// ---------------------------------------------------------------------------
|
|
282
|
+
/**
|
|
283
|
+
* Create a tooltip overlay positioned relative to a target element.
|
|
284
|
+
*
|
|
285
|
+
* Render a bordered box containing the content, placed in the specified
|
|
286
|
+
* direction from the target. Clamp to screen bounds to prevent overflow.
|
|
287
|
+
*
|
|
288
|
+
* @param options - Tooltip configuration including content, target position, and direction.
|
|
289
|
+
* @returns Overlay positioned relative to the target, clamped to screen bounds.
|
|
290
|
+
*/
|
|
212
291
|
export function tooltip(options) {
|
|
213
|
-
const { content, row: targetRow, col: targetCol, direction = 'top', screenWidth, screenHeight, borderToken, ctx, } = options;
|
|
292
|
+
const { content, row: targetRow, col: targetCol, direction = 'top', screenWidth, screenHeight, borderToken, bgToken, ctx, } = options;
|
|
214
293
|
const maxContentWidth = Math.max(0, screenWidth - 4);
|
|
215
294
|
const contentLines = content.split('\n').map((l) => clipToWidth(l, maxContentWidth));
|
|
216
295
|
const borderColor = ctx && borderToken
|
|
217
296
|
? (s) => ctx.style.styled(borderToken, s)
|
|
218
297
|
: (s) => s;
|
|
219
|
-
const
|
|
298
|
+
const bgFill = makeBgFill(bgToken, ctx);
|
|
299
|
+
const boxStr = renderBox(contentLines, borderColor, bgFill);
|
|
220
300
|
const boxLines = boxStr.split('\n');
|
|
221
301
|
const boxHeight = boxLines.length;
|
|
222
302
|
const boxWidth = visibleLength(boxLines[0]);
|
package/dist/overlay.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overlay.js","sourceRoot":"","sources":["../src/overlay.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"overlay.js","sourceRoot":"","sources":["../src/overlay.ts"],"names":[],"mappings":"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"}
|