@valyrianjs/terminal 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ansi.d.ts +2 -0
- package/dist/ansi.d.ts.map +1 -1
- package/dist/ansi.js +12 -0
- package/dist/ansi.js.map +1 -1
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +6 -2
- package/dist/events.js.map +1 -1
- package/dist/keymap.d.ts.map +1 -1
- package/dist/keymap.js +4 -2
- package/dist/keymap.js.map +1 -1
- package/dist/layout.d.ts.map +1 -1
- package/dist/layout.js +2 -1
- package/dist/layout.js.map +1 -1
- package/dist/mouse.d.ts +6 -0
- package/dist/mouse.d.ts.map +1 -1
- package/dist/mouse.js +30 -16
- package/dist/mouse.js.map +1 -1
- package/dist/primitives.d.ts.map +1 -1
- package/dist/primitives.js +8 -1
- package/dist/primitives.js.map +1 -1
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +184 -27
- package/dist/render.js.map +1 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +13 -5
- package/dist/runtime.js.map +1 -1
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +323 -83
- package/dist/session.js.map +1 -1
- package/dist/theme.d.ts.map +1 -1
- package/dist/theme.js +3 -0
- package/dist/theme.js.map +1 -1
- package/dist/tree.d.ts.map +1 -1
- package/dist/tree.js +18 -4
- package/dist/tree.js.map +1 -1
- package/dist/types.d.ts +38 -4
- package/dist/types.d.ts.map +1 -1
- package/docs/api-reference.md +13 -6
- package/docs/cookbook.md +1 -1
- package/docs/interaction-model.md +7 -5
- package/docs/primitive-gallery.md +7 -3
- package/llms-full.txt +28 -15
- package/package.json +1 -1
- package/src/ansi.ts +12 -0
- package/src/events.ts +4 -2
- package/src/keymap.ts +4 -2
- package/src/layout.ts +2 -1
- package/src/mouse.ts +31 -15
- package/src/primitives.ts +8 -1
- package/src/render.ts +199 -28
- package/src/runtime.ts +13 -5
- package/src/session.ts +341 -79
- package/src/theme.ts +3 -0
- package/src/tree.ts +19 -4
- package/src/types.ts +45 -3
package/src/types.ts
CHANGED
|
@@ -28,6 +28,10 @@ export type TerminalCommandId =
|
|
|
28
28
|
| "button.press"
|
|
29
29
|
| "list.prev"
|
|
30
30
|
| "list.next"
|
|
31
|
+
| "list.pageUp"
|
|
32
|
+
| "list.pageDown"
|
|
33
|
+
| "list.home"
|
|
34
|
+
| "list.end"
|
|
31
35
|
| "list.press"
|
|
32
36
|
| "scroll.up"
|
|
33
37
|
| "scroll.down"
|
|
@@ -126,7 +130,11 @@ export interface TerminalHitbox {
|
|
|
126
130
|
textStartX?: number;
|
|
127
131
|
textLength?: number;
|
|
128
132
|
itemOffset?: number;
|
|
133
|
+
itemIndexes?: number[];
|
|
134
|
+
contentY?: number;
|
|
129
135
|
pointerLayer?: number;
|
|
136
|
+
__listItemIndex?: number;
|
|
137
|
+
__pressHandler?: (event: TerminalButtonPressEventPayload) => void;
|
|
130
138
|
}
|
|
131
139
|
|
|
132
140
|
export interface CursorPosition {
|
|
@@ -290,14 +298,29 @@ export interface TerminalButtonPressEventPayload extends TerminalEventPayloadBas
|
|
|
290
298
|
type: "press" | "doublepress" | "contextpress";
|
|
291
299
|
}
|
|
292
300
|
|
|
293
|
-
export interface
|
|
301
|
+
export interface TerminalListStateEventPayload {
|
|
302
|
+
activeIndex: number;
|
|
303
|
+
selectedIndex: number | null;
|
|
304
|
+
viewportOffset: number;
|
|
305
|
+
viewportRows: number;
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
export interface TerminalListChangeEventPayload<T = any> extends TerminalValueEventPayloadBase<T>, TerminalListStateEventPayload {
|
|
294
309
|
type: "change";
|
|
295
310
|
index: number;
|
|
311
|
+
key?: string;
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
export interface TerminalListViewportChangeEventPayload extends TerminalEventPayloadBase, TerminalListStateEventPayload {
|
|
315
|
+
type: "viewportchange";
|
|
316
|
+
offset: number;
|
|
317
|
+
rows: number;
|
|
296
318
|
}
|
|
297
319
|
|
|
298
|
-
export interface TerminalListPressEventPayload<T = any> extends TerminalValueEventPayloadBase<T
|
|
320
|
+
export interface TerminalListPressEventPayload<T = any> extends TerminalValueEventPayloadBase<T>, TerminalListStateEventPayload {
|
|
299
321
|
type: "press" | "doublepress" | "contextpress";
|
|
300
322
|
index: number;
|
|
323
|
+
key?: string;
|
|
301
324
|
}
|
|
302
325
|
|
|
303
326
|
export type TerminalChangeEventPayload =
|
|
@@ -334,6 +357,7 @@ export interface TerminalRowPointerEventPayloadBase extends TerminalPointerCoord
|
|
|
334
357
|
export interface TerminalListPointerEventPayload<T = any> extends TerminalRowPointerEventPayloadBase {
|
|
335
358
|
type: TerminalMouseEventType;
|
|
336
359
|
index: number;
|
|
360
|
+
key?: string;
|
|
337
361
|
value: T;
|
|
338
362
|
}
|
|
339
363
|
|
|
@@ -377,13 +401,31 @@ export interface TerminalButtonProps extends TerminalFocusableProps, TerminalSty
|
|
|
377
401
|
oncontextpress?(event: TerminalButtonPressEventPayload): void;
|
|
378
402
|
}
|
|
379
403
|
|
|
404
|
+
export interface TerminalListRenderContext<T = any> {
|
|
405
|
+
index: number;
|
|
406
|
+
key: string;
|
|
407
|
+
active: boolean;
|
|
408
|
+
selected: boolean;
|
|
409
|
+
viewportIndex: number;
|
|
410
|
+
item: T;
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
export type TerminalListItemKey<T = any> = (item: T, index: number) => string | number;
|
|
414
|
+
export type TerminalListItemRenderer<T = any> = (item: T, ctx: TerminalListRenderContext<T>) => any;
|
|
415
|
+
|
|
380
416
|
export interface TerminalListProps<T = any> extends TerminalFocusableProps, TerminalPointerCaptureProps, TerminalStyleProps {
|
|
381
417
|
items?: readonly T[];
|
|
382
418
|
virtualized?: boolean;
|
|
419
|
+
height?: number;
|
|
383
420
|
itemHeight?: 1;
|
|
384
421
|
overscan?: number;
|
|
385
|
-
|
|
422
|
+
wrap?: boolean;
|
|
423
|
+
itemKey?: TerminalListItemKey<T>;
|
|
424
|
+
showActive?: boolean;
|
|
425
|
+
renderItem?(item: T, index: number): any;
|
|
426
|
+
children?: TerminalListItemRenderer<T>;
|
|
386
427
|
onchange?(event: TerminalListChangeEventPayload<T>): void;
|
|
428
|
+
onviewportchange?(event: TerminalListViewportChangeEventPayload): void;
|
|
387
429
|
onpress?(event: TerminalListPressEventPayload<T>): void;
|
|
388
430
|
ondoublepress?(event: TerminalListPressEventPayload<T>): void;
|
|
389
431
|
oncontextpress?(event: TerminalListPressEventPayload<T>): void;
|