@teaui/core 1.7.8 → 1.9.8

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 (118) hide show
  1. package/.dist/Buffer.d.ts +5 -0
  2. package/.dist/Buffer.js +23 -0
  3. package/.dist/Buffer.js.map +1 -1
  4. package/.dist/Color.js.map +1 -1
  5. package/.dist/Screen.d.ts +2 -1
  6. package/.dist/Screen.js +24 -10
  7. package/.dist/Screen.js.map +1 -1
  8. package/.dist/Theme.d.ts +7 -3
  9. package/.dist/Theme.js +42 -25
  10. package/.dist/Theme.js.map +1 -1
  11. package/.dist/UI.js +3 -1
  12. package/.dist/UI.js.map +1 -1
  13. package/.dist/View.d.ts +29 -0
  14. package/.dist/View.js +40 -2
  15. package/.dist/View.js.map +1 -1
  16. package/.dist/Viewport.d.ts +17 -3
  17. package/.dist/Viewport.js +21 -11
  18. package/.dist/Viewport.js.map +1 -1
  19. package/.dist/components/Alert.d.ts +76 -0
  20. package/.dist/components/Alert.js +133 -0
  21. package/.dist/components/Alert.js.map +1 -0
  22. package/.dist/components/Box.d.ts +6 -2
  23. package/.dist/components/Box.js +51 -14
  24. package/.dist/components/Box.js.map +1 -1
  25. package/.dist/components/Button.d.ts +5 -2
  26. package/.dist/components/Button.js +44 -13
  27. package/.dist/components/Button.js.map +1 -1
  28. package/.dist/components/Calendar.d.ts +4 -1
  29. package/.dist/components/Calendar.js +371 -137
  30. package/.dist/components/Calendar.js.map +1 -1
  31. package/.dist/components/Callout.d.ts +12 -0
  32. package/.dist/components/Callout.js +82 -0
  33. package/.dist/components/Callout.js.map +1 -0
  34. package/.dist/components/Checkbox.js +1 -1
  35. package/.dist/components/Checkbox.js.map +1 -1
  36. package/.dist/components/Drawer.d.ts +3 -0
  37. package/.dist/components/Drawer.js +71 -2
  38. package/.dist/components/Drawer.js.map +1 -1
  39. package/.dist/components/Dropdown.js +20 -12
  40. package/.dist/components/Dropdown.js.map +1 -1
  41. package/.dist/components/Header.d.ts +1 -1
  42. package/.dist/components/Header.js +12 -10
  43. package/.dist/components/Header.js.map +1 -1
  44. package/.dist/components/Input.d.ts +1 -0
  45. package/.dist/components/Input.js +39 -15
  46. package/.dist/components/Input.js.map +1 -1
  47. package/.dist/components/Legend.d.ts +20 -0
  48. package/.dist/components/Legend.js +180 -0
  49. package/.dist/components/Legend.js.map +1 -0
  50. package/.dist/components/Log.js +3 -4
  51. package/.dist/components/Log.js.map +1 -1
  52. package/.dist/components/Modal.js +1 -1
  53. package/.dist/components/Modal.js.map +1 -1
  54. package/.dist/components/Notification.d.ts +35 -0
  55. package/.dist/components/Notification.js +120 -0
  56. package/.dist/components/Notification.js.map +1 -0
  57. package/.dist/components/Page.d.ts +55 -0
  58. package/.dist/components/Page.js +374 -0
  59. package/.dist/components/Page.js.map +1 -0
  60. package/.dist/components/Progress.d.ts +15 -0
  61. package/.dist/components/Progress.js +62 -16
  62. package/.dist/components/Progress.js.map +1 -1
  63. package/.dist/components/Scrollable.d.ts +60 -15
  64. package/.dist/components/Scrollable.js +209 -58
  65. package/.dist/components/Scrollable.js.map +1 -1
  66. package/.dist/components/ScrollableList.d.ts +16 -9
  67. package/.dist/components/ScrollableList.js +50 -19
  68. package/.dist/components/ScrollableList.js.map +1 -1
  69. package/.dist/components/Slider.d.ts +2 -1
  70. package/.dist/components/Slider.js +151 -46
  71. package/.dist/components/Slider.js.map +1 -1
  72. package/.dist/components/Space.d.ts +0 -3
  73. package/.dist/components/Space.js +0 -1
  74. package/.dist/components/Space.js.map +1 -1
  75. package/.dist/components/Spinner.js +1 -1
  76. package/.dist/components/Spinner.js.map +1 -1
  77. package/.dist/components/Stack.js +33 -2
  78. package/.dist/components/Stack.js.map +1 -1
  79. package/.dist/components/Table.js +43 -60
  80. package/.dist/components/Table.js.map +1 -1
  81. package/.dist/components/Tabs.d.ts +8 -0
  82. package/.dist/components/Tabs.js +22 -5
  83. package/.dist/components/Tabs.js.map +1 -1
  84. package/.dist/components/ToggleGroup.js +1 -1
  85. package/.dist/components/ToggleGroup.js.map +1 -1
  86. package/.dist/components/ZStack.d.ts +9 -0
  87. package/.dist/components/ZStack.js +68 -5
  88. package/.dist/components/ZStack.js.map +1 -1
  89. package/.dist/components/index.d.ts +5 -2
  90. package/.dist/components/index.js +4 -1
  91. package/.dist/components/index.js.map +1 -1
  92. package/.dist/events/index.d.ts +6 -2
  93. package/.dist/events/key.d.ts +18 -4
  94. package/.dist/events/key.js +42 -6
  95. package/.dist/events/key.js.map +1 -1
  96. package/.dist/events/mouse.d.ts +1 -0
  97. package/.dist/events/mouse.js.map +1 -1
  98. package/.dist/events/translate.js +17 -4
  99. package/.dist/events/translate.js.map +1 -1
  100. package/.dist/index.d.ts +1 -1
  101. package/.dist/index.js.map +1 -1
  102. package/.dist/inspect.js +3 -0
  103. package/.dist/inspect.js.map +1 -1
  104. package/.dist/managers/FocusManager.d.ts +2 -1
  105. package/.dist/managers/FocusManager.js +39 -4
  106. package/.dist/managers/FocusManager.js.map +1 -1
  107. package/.dist/managers/MouseManager.js +2 -0
  108. package/.dist/managers/MouseManager.js.map +1 -1
  109. package/.dist/renderToAnsi.js +1 -1
  110. package/.dist/renderToAnsi.js.map +1 -1
  111. package/.dist/terminal.d.ts +1 -0
  112. package/.dist/testing.d.ts +29 -2
  113. package/.dist/testing.js +34 -27
  114. package/.dist/testing.js.map +1 -1
  115. package/package.json +5 -4
  116. package/.dist/components/Pin.d.ts +0 -25
  117. package/.dist/components/Pin.js +0 -80
  118. package/.dist/components/Pin.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Page.js","sourceRoot":"","sources":["../../lib/components/Page.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,20 @@ import { Viewport } from '../Viewport.js';
2
2
  import { type Props as ViewProps, View } from '../View.js';
3
3
  import { Size } from '../geometry.js';
4
4
  import { type Orientation } from './types.js';
5
+ type PercentLocation = 'left' | 'center' | 'right';
5
6
  interface Props extends ViewProps {
6
7
  direction?: Orientation;
7
8
  min?: number;
8
9
  max?: number;
9
10
  value?: number;
10
11
  showPercent?: boolean;
12
+ /**
13
+ * Where to display the percent text.
14
+ * - 'left': left-aligned inside the bar
15
+ * - 'center' (default): centered inside the bar
16
+ * - 'right': to the right of the bar, outside it
17
+ */
18
+ location?: PercentLocation;
11
19
  }
12
20
  export declare class Progress extends View {
13
21
  #private;
@@ -16,6 +24,13 @@ export declare class Progress extends View {
16
24
  get value(): number;
17
25
  set value(value: number);
18
26
  naturalSize(available: Size): Size;
27
+ /**
28
+ * The label reserve is the total chars consumed by the percent label and its
29
+ * space separator when placed outside the bar (left or right). The label is
30
+ * always padded to the width of "100%" (4 chars) plus 1 space = 5 chars.
31
+ */
32
+ static readonly LABEL_WIDTH = 4;
33
+ static readonly LABEL_RESERVE = 5;
19
34
  render(viewport: Viewport): void;
20
35
  }
21
36
  export {};
@@ -6,6 +6,7 @@ export class Progress extends View {
6
6
  #range = [0, 100];
7
7
  #value = 0;
8
8
  #showPercent = false;
9
+ #location = 'center';
9
10
  constructor(props) {
10
11
  super(props);
11
12
  this.#update(props);
@@ -14,10 +15,11 @@ export class Progress extends View {
14
15
  this.#update(props);
15
16
  super.update(props);
16
17
  }
17
- #update({ direction, min, max, value, showPercent }) {
18
+ #update({ direction, min, max, value, showPercent, location }) {
18
19
  this.#direction = direction ?? 'horizontal';
19
20
  this.#range = [min ?? 0, max ?? 100];
20
21
  this.#showPercent = showPercent ?? false;
22
+ this.#location = location ?? 'center';
21
23
  this.#value = value ?? this.#range[0];
22
24
  }
23
25
  get value() {
@@ -33,17 +35,52 @@ export class Progress extends View {
33
35
  naturalSize(available) {
34
36
  return new Size(available.width, 1);
35
37
  }
38
+ /**
39
+ * The label reserve is the total chars consumed by the percent label and its
40
+ * space separator when placed outside the bar (left or right). The label is
41
+ * always padded to the width of "100%" (4 chars) plus 1 space = 5 chars.
42
+ */
43
+ static LABEL_WIDTH = 4; // width of "100%"
44
+ static LABEL_RESERVE = 5; // space + LABEL_WIDTH
36
45
  render(viewport) {
37
46
  if (viewport.isEmpty) {
38
47
  return;
39
48
  }
40
- const pt = Point.zero.mutableCopy();
41
49
  let percent = '';
42
50
  if (this.#showPercent) {
43
51
  const percentNum = interpolate(this.#value, this.#range, [0, 100], true);
44
52
  percent = `${Math.round(percentNum)}%`;
45
53
  }
46
- const percentStartPoint = new Point(~~((viewport.contentSize.width - percent.length) / 2), viewport.contentSize.height <= 1 ? 0 : 1);
54
+ // For left/right the bar shrinks to make room for the external label
55
+ const isExternal = this.#showPercent &&
56
+ (this.#location === 'left' || this.#location === 'right');
57
+ const barWidth = isExternal
58
+ ? Math.max(1, viewport.contentSize.width - Progress.LABEL_RESERVE)
59
+ : viewport.contentSize.width;
60
+ // Pad the percent to LABEL_WIDTH so numbers are right-justified
61
+ const paddedPercent = isExternal
62
+ ? percent.padStart(Progress.LABEL_WIDTH)
63
+ : percent;
64
+ let percentStartX;
65
+ let barStartX;
66
+ switch (this.#location) {
67
+ case 'left':
68
+ // " 50% ████..." — label then space then bar
69
+ percentStartX = 0;
70
+ barStartX = Progress.LABEL_RESERVE;
71
+ break;
72
+ case 'right':
73
+ // "████...╴ 50%" — bar then space then label
74
+ percentStartX = barWidth + 1;
75
+ barStartX = 0;
76
+ break;
77
+ case 'center':
78
+ default:
79
+ percentStartX = ~~((barWidth - percent.length) / 2);
80
+ barStartX = 0;
81
+ break;
82
+ }
83
+ const percentStartPoint = new Point(percentStartX, viewport.contentSize.height <= 1 ? 0 : 1);
47
84
  const textStyle = this.theme.text();
48
85
  const controlStyle = this.theme.ui({ isHover: true }).invert().merge({
49
86
  background: textStyle.background,
@@ -53,29 +90,38 @@ export class Progress extends View {
53
90
  background: controlStyle.foreground,
54
91
  });
55
92
  if (this.#direction === 'horizontal') {
56
- this.#renderHorizontal(viewport, percent, percentStartPoint, textStyle, controlStyle, altTextStyle);
93
+ this.#renderHorizontal(viewport, barWidth, barStartX, paddedPercent, percentStartPoint, textStyle, controlStyle, altTextStyle);
57
94
  }
58
95
  else {
59
96
  this.#renderVertical(viewport, percent, percentStartPoint, textStyle, controlStyle, altTextStyle);
60
97
  }
61
98
  }
62
- #renderHorizontal(viewport, percent, percentStartPoint, textStyle, controlStyle, altTextStyle) {
63
- const progressX = Math.round(interpolate(this.#value, this.#range, [0, viewport.contentSize.width - 1], true));
64
- viewport.visibleRect.forEachPoint(pt => {
99
+ #renderHorizontal(viewport, barWidth, barStartX, percent, percentStartPoint, textStyle, controlStyle, altTextStyle) {
100
+ const barEndX = barStartX + barWidth;
101
+ const progressX = barStartX +
102
+ Math.round(interpolate(this.#value, this.#range, [0, barWidth - 1], true));
103
+ viewport.contentRect.forEachPoint(pt => {
65
104
  let char, style = textStyle;
105
+ // Percent text (rendered at percentStartPoint for all locations)
66
106
  if (this.#showPercent &&
67
107
  pt.x >= percentStartPoint.x &&
68
108
  pt.x - percentStartPoint.x < percent.length &&
69
109
  pt.y === percentStartPoint.y) {
70
110
  char = percent[pt.x - percentStartPoint.x];
71
- if (pt.x <= progressX) {
111
+ if (this.#location === 'center' && pt.x <= progressX) {
72
112
  style = altTextStyle;
73
113
  }
74
114
  else {
75
115
  style = textStyle;
76
116
  }
77
117
  }
118
+ else if (pt.x < barStartX || pt.x >= barEndX) {
119
+ // Outside the bar area (left/right label region, space separator)
120
+ char = ' ';
121
+ style = textStyle;
122
+ }
78
123
  else {
124
+ const barX = pt.x - barStartX; // position within the bar (0-based)
79
125
  const min = Math.min(...this.#range);
80
126
  if (pt.x <= progressX && this.#value > min) {
81
127
  if (pt.y === 0 && viewport.contentSize.height > 1) {
@@ -91,10 +137,10 @@ export class Progress extends View {
91
137
  style = controlStyle;
92
138
  }
93
139
  else if (viewport.contentSize.height === 1) {
94
- if (pt.x === 0) {
140
+ if (barX === 0) {
95
141
  char = '╶';
96
142
  }
97
- else if (pt.x === viewport.contentSize.width - 1) {
143
+ else if (barX === barWidth - 1) {
98
144
  char = '╴';
99
145
  }
100
146
  else {
@@ -102,10 +148,10 @@ export class Progress extends View {
102
148
  }
103
149
  }
104
150
  else if (pt.y === 0) {
105
- if (pt.x === 0) {
151
+ if (barX === 0) {
106
152
  char = '╭';
107
153
  }
108
- else if (pt.x === viewport.contentSize.width - 1) {
154
+ else if (barX === barWidth - 1) {
109
155
  char = '╮';
110
156
  }
111
157
  else {
@@ -113,17 +159,17 @@ export class Progress extends View {
113
159
  }
114
160
  }
115
161
  else if (pt.y === viewport.contentSize.height - 1) {
116
- if (pt.x === 0) {
162
+ if (barX === 0) {
117
163
  char = '╰';
118
164
  }
119
- else if (pt.x === viewport.contentSize.width - 1) {
165
+ else if (barX === barWidth - 1) {
120
166
  char = '╯';
121
167
  }
122
168
  else {
123
169
  char = '─';
124
170
  }
125
171
  }
126
- else if (pt.x === 0 || pt.x === viewport.contentSize.width - 1) {
172
+ else if (barX === 0 || barX === barWidth - 1) {
127
173
  char = '│';
128
174
  }
129
175
  else {
@@ -135,7 +181,7 @@ export class Progress extends View {
135
181
  }
136
182
  #renderVertical(viewport, _percent, _percentStartPoint, textStyle, controlStyle, _altTextStyle) {
137
183
  const progressY = Math.round(interpolate(this.#value, this.#range, [viewport.contentSize.height - 1, 0], true));
138
- viewport.visibleRect.forEachPoint(pt => {
184
+ viewport.contentRect.forEachPoint(pt => {
139
185
  let char, style = textStyle;
140
186
  if (pt.y >= progressY) {
141
187
  if (pt.x === 0 && viewport.contentSize.width > 1) {
@@ -1 +1 @@
1
- {"version":3,"file":"Progress.js","sourceRoot":"","sources":["../../lib/components/Progress.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Progress.js","sourceRoot":"","sources":["../../lib/components/Progress.ts"],"names":[],"mappings":"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"}
@@ -1,39 +1,84 @@
1
1
  import type { Viewport } from '../Viewport.js';
2
2
  import { type Props as ContainerProps, Container } from '../Container.js';
3
- import { Size } from '../geometry.js';
3
+ import { View } from '../View.js';
4
+ import { Point, Size } from '../geometry.js';
4
5
  import { type MouseEvent } from '../events/index.js';
6
+ import { type Direction } from './types.js';
5
7
  interface Props extends ContainerProps {
6
8
  /**
7
- * Show/hide the scrollbars
8
- * @default true
9
+ * Layout direction for children. Scrollable manages an internal Stack,
10
+ * so children are laid out in this direction.
11
+ * @default 'down'
12
+ */
13
+ direction?: Direction;
14
+ /**
15
+ * Gap between children (passed to internal Stack).
16
+ * @default 0
9
17
  */
10
- showScrollbars?: boolean;
18
+ gap?: number;
11
19
  /**
12
- * How many rows to scroll by when using the mouse wheel.
13
- * @default 1
20
+ * Which directions to allow scrolling.
21
+ * @default 'both'
14
22
  */
15
- scrollHeight?: number;
23
+ scrollable?: 'both' | 'horizontal' | 'vertical';
16
24
  /**
17
- * How many cols to scroll by when using the mouse wheel.
18
- * @default 2
25
+ * Show/hide the scrollbars. `true` shows both, `false` hides both, or
26
+ * specify `'horizontal'` or `'vertical'` to show only one.
27
+ * @default true
19
28
  */
20
- scrollWidth?: number;
29
+ showScrollbars?: boolean | 'horizontal' | 'vertical';
21
30
  /**
22
31
  * When true, automatically scrolls to the bottom when content grows,
23
32
  * as long as the view was already at the bottom. Useful for log views.
24
33
  * @default false
25
34
  */
26
35
  keepAtBottom?: boolean;
36
+ /**
37
+ * Override the content size. Useful for testing or when the content size
38
+ * is known ahead of time. When not provided, the content size is computed
39
+ * from the children's naturalSize.
40
+ */
41
+ contentSize?: {
42
+ width?: number;
43
+ height?: number;
44
+ };
45
+ /**
46
+ * The current scroll offset. Use with `onOffsetChange` for controlled scrolling.
47
+ */
48
+ offset?: Point;
49
+ /**
50
+ * Callback when the scroll offset changes.
51
+ */
52
+ onOffsetChange?: (offset: Point) => void;
27
53
  }
54
+ type ShorthandProps = NonNullable<Props['children']> | Omit<Props, 'direction'>;
28
55
  /**
29
- * Scrollable is meant to scroll _a single view_, ie a Stack view. But all the
30
- * container views are optimized to check their _visibleRect_, and won't render
31
- * children that are not in view, saving some CPU cycles.
56
+ * Scrollable manages an internal Stack for layout and adds scroll offset,
57
+ * scrollbar rendering, and mouse wheel handling on top.
58
+ *
59
+ * Children added to the Scrollable are delegated to the internal Stack.
60
+ * Use `direction` to control layout (default: 'down'), or the static
61
+ * constructors `Scrollable.down()`, `Scrollable.right()`, etc.
32
62
  */
33
63
  export declare class Scrollable extends Container {
34
64
  #private;
35
- constructor(props: Props);
36
- update(props: Props): void;
65
+ static down(props?: ShorthandProps, extraProps?: Omit<Props, 'children' | 'direction'>): Scrollable;
66
+ static up(props?: ShorthandProps, extraProps?: Omit<Props, 'children' | 'direction'>): Scrollable;
67
+ static right(props?: ShorthandProps, extraProps?: Omit<Props, 'children' | 'direction'>): Scrollable;
68
+ static left(props?: ShorthandProps, extraProps?: Omit<Props, 'children' | 'direction'>): Scrollable;
69
+ constructor({ children, child, direction, gap, ...props }: Props);
70
+ update({ children, child, direction, gap, ...props }: Props): void;
71
+ /**
72
+ * Children are delegated to the internal Stack.
73
+ */
74
+ add(child: View, at?: number): void;
75
+ removeChild(child: View): void;
76
+ removeAllChildren(): void;
77
+ /**
78
+ * Returns the children of the internal Stack (the user's children),
79
+ * not the Scrollable's direct children (which is just the Stack).
80
+ */
81
+ get children(): View[];
37
82
  naturalSize(available: Size): Size;
38
83
  receiveMouse(event: MouseEvent): void;
39
84
  receiveMouseDown(event: MouseEvent): void;