@suds-cli/table 0.0.0 → 0.1.0-alpha.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/keymap.d.ts DELETED
@@ -1,15 +0,0 @@
1
- import { type Binding } from "@suds-cli/key";
2
- /** Key bindings for table navigation. @public */
3
- export interface TableKeyMap {
4
- lineUp: Binding;
5
- lineDown: Binding;
6
- pageUp: Binding;
7
- pageDown: Binding;
8
- halfPageUp: Binding;
9
- halfPageDown: Binding;
10
- gotoTop: Binding;
11
- gotoBottom: Binding;
12
- }
13
- /** Default key bindings matching Bubble Tea tables. @public */
14
- export declare const defaultKeyMap: TableKeyMap;
15
- //# sourceMappingURL=keymap.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keymap.d.ts","sourceRoot":"","sources":["../src/keymap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAEzD,iDAAiD;AACjD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,+DAA+D;AAC/D,eAAO,MAAM,aAAa,EAAE,WAiC3B,CAAC"}
package/dist/keymap.js DELETED
@@ -1,37 +0,0 @@
1
- import { newBinding } from "@suds-cli/key";
2
- /** Default key bindings matching Bubble Tea tables. @public */
3
- export const defaultKeyMap = {
4
- lineUp: newBinding({
5
- keys: ["up", "k"],
6
- help: { key: "↑/k", desc: "up" },
7
- }),
8
- lineDown: newBinding({
9
- keys: ["down", "j"],
10
- help: { key: "↓/j", desc: "down" },
11
- }),
12
- pageUp: newBinding({
13
- keys: ["pgup", "b", "ctrl+u"],
14
- help: { key: "pgup/b", desc: "page up" },
15
- }),
16
- pageDown: newBinding({
17
- keys: ["pgdown", "f", "ctrl+d"],
18
- help: { key: "pgdn/f", desc: "page down" },
19
- }),
20
- halfPageUp: newBinding({
21
- keys: ["u"],
22
- help: { key: "u", desc: "½ page up" },
23
- }),
24
- halfPageDown: newBinding({
25
- keys: ["d"],
26
- help: { key: "d", desc: "½ page down" },
27
- }),
28
- gotoTop: newBinding({
29
- keys: ["home", "g"],
30
- help: { key: "home/g", desc: "go to start" },
31
- }),
32
- gotoBottom: newBinding({
33
- keys: ["end", "G"],
34
- help: { key: "end/G", desc: "go to end" },
35
- }),
36
- };
37
- //# sourceMappingURL=keymap.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keymap.js","sourceRoot":"","sources":["../src/keymap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAgB,MAAM,eAAe,CAAC;AAczD,+DAA+D;AAC/D,MAAM,CAAC,MAAM,aAAa,GAAgB;IACxC,MAAM,EAAE,UAAU,CAAC;QACjB,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;QACjB,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;KACjC,CAAC;IACF,QAAQ,EAAE,UAAU,CAAC;QACnB,IAAI,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC;QACnB,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE;KACnC,CAAC;IACF,MAAM,EAAE,UAAU,CAAC;QACjB,IAAI,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC;QAC7B,IAAI,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;KACzC,CAAC;IACF,QAAQ,EAAE,UAAU,CAAC;QACnB,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAC;QAC/B,IAAI,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE;KAC3C,CAAC;IACF,UAAU,EAAE,UAAU,CAAC;QACrB,IAAI,EAAE,CAAC,GAAG,CAAC;QACX,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE;KACtC,CAAC;IACF,YAAY,EAAE,UAAU,CAAC;QACvB,IAAI,EAAE,CAAC,GAAG,CAAC;QACX,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE;KACxC,CAAC;IACF,OAAO,EAAE,UAAU,CAAC;QAClB,IAAI,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC;QACnB,IAAI,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE;KAC7C,CAAC;IACF,UAAU,EAAE,UAAU,CAAC;QACrB,IAAI,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC;QAClB,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE;KAC1C,CAAC;CACH,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AASA,OAAO,EAAU,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA8K5D;;;GAGG;AACH,qBAAa,UAAU;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;IAEhC,OAAO;IAeP,gCAAgC;IAChC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,GAAG,UAAU;IAiC7C,6BAA6B;IAC7B,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC;IAIhB,wCAAwC;IACxC,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAgCxC,sDAAsD;IACtD,IAAI,IAAI,MAAM;IAmCd,oCAAoC;IACpC,WAAW,IAAI,GAAG,GAAG,SAAS;IAK9B,8BAA8B;IAC9B,aAAa,IAAI,MAAM;IAIvB,uBAAuB;IACvB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU;IAMzC,oBAAoB;IACpB,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,UAAU;IAMhC,2BAA2B;IAC3B,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU;IAI/B,6BAA6B;IAC7B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;IAOpC,wCAAwC;IACxC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;IAI3C,oCAAoC;IACpC,MAAM,CAAC,CAAC,SAAI,GAAG,UAAU;IAKzB,sCAAsC;IACtC,QAAQ,CAAC,CAAC,SAAI,GAAG,UAAU;IAK3B,6BAA6B;IAC7B,OAAO,IAAI,UAAU;IAIrB,4BAA4B;IAC5B,UAAU,IAAI,UAAU;IAIxB,uBAAuB;IACvB,KAAK,IAAI,UAAU;IAKnB,sBAAsB;IACtB,IAAI,IAAI,UAAU;IAKlB,qCAAqC;IACrC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU;IAIrC,2BAA2B;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;IAInC,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,SAAS;IAoBjB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,IAAI;CAoCb"}
package/dist/model.js DELETED
@@ -1,396 +0,0 @@
1
- import { Style, borderStyles, defaultBorderStyle, joinHorizontal, width as textWidth, } from "@suds-cli/chapstick";
2
- import { matches } from "@suds-cli/key";
3
- import { KeyMsg } from "@suds-cli/tea";
4
- import { defaultKeyMap } from "./keymap.js";
5
- import { defaultStyles } from "./styles.js";
6
- const ELLIPSIS = "…";
7
- function clamp(value, min, max) {
8
- if (Number.isNaN(value))
9
- return min;
10
- if (max < min)
11
- return min;
12
- return Math.min(max, Math.max(min, value));
13
- }
14
- function clampOffset(offset, rowCount, height, cursor) {
15
- if (height <= 0)
16
- return 0;
17
- const maxOffset = Math.max(0, rowCount - height);
18
- let nextOffset = clamp(offset, 0, maxOffset);
19
- if (cursor < nextOffset) {
20
- nextOffset = cursor;
21
- }
22
- else if (cursor >= nextOffset + height) {
23
- nextOffset = Math.max(0, cursor - height + 1);
24
- }
25
- return nextOffset;
26
- }
27
- function truncateWithEllipsis(text, width) {
28
- const target = Math.max(0, width);
29
- if (target === 0)
30
- return "";
31
- if (textWidth(text) <= target)
32
- return text;
33
- if (target === 1)
34
- return ELLIPSIS;
35
- let acc = "";
36
- for (const ch of text) {
37
- if (textWidth(acc + ch) >= target) {
38
- break;
39
- }
40
- acc += ch;
41
- if (textWidth(acc) === target - 1) {
42
- break;
43
- }
44
- }
45
- return `${acc}${ELLIPSIS}`;
46
- }
47
- function padToWidth(input, width) {
48
- const current = textWidth(input);
49
- const missing = Math.max(0, width - current);
50
- return `${input}${" ".repeat(missing)}`;
51
- }
52
- function calculateColumnWidths(columns, totalWidth, bordered) {
53
- const borderWidth = bordered ? columns.length + 1 : 0;
54
- const available = Math.max(0, totalWidth - borderWidth);
55
- const fixed = columns.map((c) => Math.max(0, c.width));
56
- const totalFixed = fixed.reduce((a, b) => a + b, 0);
57
- if (totalFixed > available && totalFixed > 0) {
58
- const scale = available / totalFixed;
59
- return fixed.map((w) => Math.max(0, Math.floor(w * scale)));
60
- }
61
- return fixed;
62
- }
63
- function mergeKeyMap(base, overrides) {
64
- return {
65
- lineUp: overrides?.lineUp ?? base.lineUp,
66
- lineDown: overrides?.lineDown ?? base.lineDown,
67
- pageUp: overrides?.pageUp ?? base.pageUp,
68
- pageDown: overrides?.pageDown ?? base.pageDown,
69
- halfPageUp: overrides?.halfPageUp ?? base.halfPageUp,
70
- halfPageDown: overrides?.halfPageDown ?? base.halfPageDown,
71
- gotoTop: overrides?.gotoTop ?? base.gotoTop,
72
- gotoBottom: overrides?.gotoBottom ?? base.gotoBottom,
73
- };
74
- }
75
- function mergeStyles(overrides, borderStyleOverride) {
76
- const base = defaultStyles();
77
- const merged = {
78
- ...base,
79
- ...overrides,
80
- };
81
- if (borderStyleOverride) {
82
- merged.borderStyle = borderStyleOverride;
83
- }
84
- else if (!merged.borderStyle) {
85
- merged.borderStyle = defaultBorderStyle;
86
- }
87
- return merged;
88
- }
89
- function totalColumnWidth(columns, bordered) {
90
- const base = columns.reduce((sum, col) => sum + Math.max(0, col.width), 0);
91
- return bordered ? base + Math.max(0, columns.length - 1) : base;
92
- }
93
- function _innerWidthFrom(widths, bordered, columnCount) {
94
- const base = widths.reduce((sum, w) => sum + Math.max(0, w), 0);
95
- return bordered ? base + Math.max(0, columnCount - 1) : base;
96
- }
97
- /** Create a fixed-width cell (like lipgloss Width+MaxWidth+Inline). */
98
- function fixedWidthCell(text, width) {
99
- if (width <= 0)
100
- return "";
101
- const truncated = truncateWithEllipsis(text, width);
102
- // Use alignHorizontal to ensure padding to target width
103
- return new Style()
104
- .width(width)
105
- .maxWidth(width)
106
- .alignHorizontal("left")
107
- .inline(true)
108
- .render(truncated);
109
- }
110
- function _verticalChar(styles) {
111
- return styles.borderStyle?.left ?? borderStyles.normal.left;
112
- }
113
- function wrapWithBorder(line, innerWidth, styles) {
114
- const width = Math.max(0, innerWidth);
115
- const padded = padToWidth(line, width);
116
- const wrapped = `${styles.borderStyle.left}${padded}${styles.borderStyle.right}`;
117
- return styles.border.render(wrapped);
118
- }
119
- function renderTopBorder(innerWidth, styles) {
120
- const line = `${styles.borderStyle.topLeft}${styles.borderStyle.top.repeat(Math.max(0, innerWidth))}${styles.borderStyle.topRight}`;
121
- return styles.border.render(line);
122
- }
123
- function renderSeparator(innerWidth, styles) {
124
- const line = `${styles.borderStyle.left}${styles.borderStyle.top.repeat(Math.max(0, innerWidth))}${styles.borderStyle.right}`;
125
- return styles.border.render(line);
126
- }
127
- function renderBottomBorder(innerWidth, styles) {
128
- const line = `${styles.borderStyle.bottomLeft}${styles.borderStyle.bottom.repeat(Math.max(0, innerWidth))}${styles.borderStyle.bottomRight}`;
129
- return styles.border.render(line);
130
- }
131
- /**
132
- * Scrollable, selectable table model.
133
- * @public
134
- */
135
- export class TableModel {
136
- columns;
137
- rows;
138
- cursor;
139
- offset;
140
- focused;
141
- height;
142
- width;
143
- autoWidth;
144
- keyMap;
145
- styles;
146
- bordered;
147
- columnWidths;
148
- constructor(state) {
149
- this.columns = state.columns;
150
- this.rows = state.rows;
151
- this.cursor = state.cursor;
152
- this.offset = state.offset;
153
- this.focused = state.focused;
154
- this.height = state.height;
155
- this.width = state.width;
156
- this.autoWidth = state.autoWidth;
157
- this.keyMap = state.keyMap;
158
- this.styles = state.styles;
159
- this.bordered = state.bordered;
160
- this.columnWidths = state.columnWidths;
161
- }
162
- /** Create a new table model. */
163
- static new(options) {
164
- const rows = [...(options.rows ?? [])];
165
- const bordered = options.bordered ?? false;
166
- const styles = mergeStyles(options.styles, options.borderStyle);
167
- const width = options.width ?? totalColumnWidth(options.columns, bordered) ?? 0;
168
- const autoWidth = options.width === undefined;
169
- const height = Math.max(0, options.height ?? rows.length);
170
- const columnWidths = autoWidth
171
- ? options.columns.map((c) => Math.max(0, c.width))
172
- : calculateColumnWidths(options.columns, width, bordered);
173
- const cursor = clamp(options.focused ? 0 : 0, 0, Math.max(rows.length - 1, 0));
174
- const offset = clampOffset(0, rows.length, height, cursor);
175
- return new TableModel({
176
- columns: [...options.columns],
177
- rows,
178
- cursor,
179
- offset,
180
- focused: options.focused ?? false,
181
- height,
182
- width,
183
- autoWidth,
184
- keyMap: mergeKeyMap(defaultKeyMap, options.keyMap),
185
- styles,
186
- bordered,
187
- columnWidths,
188
- });
189
- }
190
- /** Tea init hook (no-op). */
191
- init() {
192
- return null;
193
- }
194
- /** Handle key messages when focused. */
195
- update(msg) {
196
- if (!this.focused || !(msg instanceof KeyMsg)) {
197
- return [this, null];
198
- }
199
- if (matches(msg, this.keyMap.lineUp)) {
200
- return [this.moveUp(1), null];
201
- }
202
- if (matches(msg, this.keyMap.lineDown)) {
203
- return [this.moveDown(1), null];
204
- }
205
- if (matches(msg, this.keyMap.pageUp)) {
206
- return [this.moveUp(this.height || 1), null];
207
- }
208
- if (matches(msg, this.keyMap.pageDown)) {
209
- return [this.moveDown(this.height || 1), null];
210
- }
211
- if (matches(msg, this.keyMap.halfPageUp)) {
212
- return [this.moveUp(Math.max(1, Math.floor(this.height / 2))), null];
213
- }
214
- if (matches(msg, this.keyMap.halfPageDown)) {
215
- return [this.moveDown(Math.max(1, Math.floor(this.height / 2))), null];
216
- }
217
- if (matches(msg, this.keyMap.gotoTop)) {
218
- return [this.gotoTop(), null];
219
- }
220
- if (matches(msg, this.keyMap.gotoBottom)) {
221
- return [this.gotoBottom(), null];
222
- }
223
- return [this, null];
224
- }
225
- /** Render the header and visible rows as a string. */
226
- view() {
227
- const header = this.renderHeader();
228
- const headerWidth = textWidth(header);
229
- const start = this.offset;
230
- const end = Math.min(start + this.height, this.rows.length);
231
- const visibleRows = this.renderAllRows().slice(start, end);
232
- // Pad with empty rows if needed
233
- const paddedRows = [...visibleRows];
234
- while (paddedRows.length < this.height) {
235
- paddedRows.push(this.renderEmptyRow());
236
- }
237
- // Calculate inner width for borders (max of header and all rows)
238
- const rowWidth = paddedRows.length > 0 ? textWidth(paddedRows[0] ?? "") : 0;
239
- const innerWidth = Math.max(headerWidth, rowWidth);
240
- if (!this.bordered) {
241
- return [
242
- padToWidth(header, innerWidth),
243
- ...paddedRows.map((r) => padToWidth(r, innerWidth)),
244
- ].join("\n");
245
- }
246
- const wrap = (line) => wrapWithBorder(line, innerWidth, this.styles);
247
- return [
248
- renderTopBorder(innerWidth, this.styles),
249
- wrap(padToWidth(header, innerWidth)),
250
- renderSeparator(innerWidth, this.styles),
251
- ...paddedRows.map((r) => wrap(padToWidth(r, innerWidth))),
252
- renderBottomBorder(innerWidth, this.styles),
253
- ].join("\n");
254
- }
255
- /** Current selected row, if any. */
256
- selectedRow() {
257
- if (this.rows.length === 0)
258
- return undefined;
259
- return this.rows[this.cursor];
260
- }
261
- /** Current selected index. */
262
- selectedIndex() {
263
- return this.cursor;
264
- }
265
- /** Replace columns. */
266
- setColumns(columns) {
267
- return this.with({
268
- columns: [...columns],
269
- });
270
- }
271
- /** Replace rows. */
272
- setRows(rows) {
273
- return this.with({
274
- rows: [...rows],
275
- });
276
- }
277
- /** Append a single row. */
278
- appendRow(row) {
279
- return this.setRows([...this.rows, row]);
280
- }
281
- /** Remove a row by index. */
282
- removeRow(index) {
283
- if (index < 0 || index >= this.rows.length)
284
- return this;
285
- const next = [...this.rows];
286
- next.splice(index, 1);
287
- return this.setRows(next);
288
- }
289
- /** Set the selected index (clamped). */
290
- setSelectedIndex(index) {
291
- return this.with({ cursor: index });
292
- }
293
- /** Move the cursor up by n rows. */
294
- moveUp(n = 1) {
295
- const delta = Math.max(1, n);
296
- return this.with({ cursor: this.cursor - delta });
297
- }
298
- /** Move the cursor down by n rows. */
299
- moveDown(n = 1) {
300
- const delta = Math.max(1, n);
301
- return this.with({ cursor: this.cursor + delta });
302
- }
303
- /** Jump to the first row. */
304
- gotoTop() {
305
- return this.with({ cursor: 0 });
306
- }
307
- /** Jump to the last row. */
308
- gotoBottom() {
309
- return this.with({ cursor: this.rows.length - 1 });
310
- }
311
- /** Focus the table. */
312
- focus() {
313
- if (this.focused)
314
- return this;
315
- return this.with({ focused: true });
316
- }
317
- /** Blur the table. */
318
- blur() {
319
- if (!this.focused)
320
- return this;
321
- return this.with({ focused: false });
322
- }
323
- /** Set the visible height (rows). */
324
- setHeight(height) {
325
- return this.with({ height });
326
- }
327
- /** Set the total width. */
328
- setWidth(width) {
329
- return this.with({ width });
330
- }
331
- renderHeader() {
332
- // Match Go: fixed-width cell → header style (with padding) → joinHorizontal
333
- const cells = this.columns.map((col, i) => {
334
- const width = this.columnWidths[i] ?? col.width;
335
- const fixedCell = fixedWidthCell(col.title, width);
336
- return this.styles.header.render(fixedCell);
337
- });
338
- return joinHorizontal(...cells);
339
- }
340
- renderRow(row, index) {
341
- // Match Go: fixed-width cell → cell style (with padding) → join → selected wraps whole row
342
- const isSelected = this.focused && index === this.cursor;
343
- const cells = this.columns.map((col, i) => {
344
- const width = this.columnWidths[i] ?? col.width;
345
- const value = row[i] ?? "";
346
- const fixedCell = fixedWidthCell(value, width);
347
- return this.styles.cell.render(fixedCell);
348
- });
349
- const joined = joinHorizontal(...cells);
350
- // Selected style wraps the entire row (just colors, no padding change)
351
- if (isSelected) {
352
- return this.styles.selected.render(joined);
353
- }
354
- return joined;
355
- }
356
- renderEmptyRow() {
357
- // Same as renderRow but with empty content
358
- const cells = this.columns.map((col, i) => {
359
- const width = this.columnWidths[i] ?? col.width;
360
- const fixedCell = fixedWidthCell("", width);
361
- return this.styles.cell.render(fixedCell);
362
- });
363
- return joinHorizontal(...cells);
364
- }
365
- renderAllRows() {
366
- return this.rows.map((row, i) => this.renderRow(row, i));
367
- }
368
- with(patch) {
369
- const nextColumns = patch.columns ?? this.columns;
370
- const nextRows = patch.rows ?? this.rows;
371
- const nextHeight = patch.height ?? this.height;
372
- const nextWidth = patch.width ?? this.width;
373
- const autoWidth = patch.width !== undefined ? false : this.autoWidth;
374
- const nextBordered = patch.bordered ?? this.bordered;
375
- const nextColumnWidths = autoWidth
376
- ? nextColumns.map((c) => Math.max(0, c.width))
377
- : calculateColumnWidths(nextColumns, nextWidth, nextBordered);
378
- const cursor = clamp(patch.cursor ?? this.cursor, 0, Math.max(nextRows.length - 1, 0));
379
- const offset = clampOffset(patch.offset ?? this.offset, nextRows.length, nextHeight, cursor);
380
- return new TableModel({
381
- columns: [...nextColumns],
382
- rows: [...nextRows],
383
- cursor,
384
- offset,
385
- focused: patch.focused ?? this.focused,
386
- height: Math.max(0, nextHeight),
387
- width: Math.max(0, nextWidth),
388
- autoWidth,
389
- keyMap: patch.keyMap ?? this.keyMap,
390
- styles: patch.styles ?? this.styles,
391
- bordered: nextBordered,
392
- columnWidths: nextColumnWidths,
393
- });
394
- }
395
- }
396
- //# sourceMappingURL=model.js.map
package/dist/model.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
package/dist/styles.d.ts DELETED
@@ -1,12 +0,0 @@
1
- import { Style, type BorderStyle } from "@suds-cli/chapstick";
2
- /** Styles applied to parts of the table. @public */
3
- export interface TableStyles {
4
- header: Style;
5
- cell: Style;
6
- selected: Style;
7
- border: Style;
8
- borderStyle: BorderStyle;
9
- }
10
- /** Default table styles. @public */
11
- export declare function defaultStyles(): TableStyles;
12
- //# sourceMappingURL=styles.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAgB,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAE5E,oDAAoD;AACpD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,KAAK,CAAC;IACd,IAAI,EAAE,KAAK,CAAC;IACZ,QAAQ,EAAE,KAAK,CAAC;IAChB,MAAM,EAAE,KAAK,CAAC;IACd,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,oCAAoC;AACpC,wBAAgB,aAAa,IAAI,WAAW,CAQ3C"}
package/dist/styles.js DELETED
@@ -1,12 +0,0 @@
1
- import { Style, borderStyles } from "@suds-cli/chapstick";
2
- /** Default table styles. @public */
3
- export function defaultStyles() {
4
- return {
5
- header: new Style().bold(true).padding(0, 1),
6
- cell: new Style().padding(0, 1),
7
- selected: new Style().background("#7D56F4").foreground("#FFFFFF"),
8
- border: new Style().foreground("#383838"),
9
- borderStyle: borderStyles.normal,
10
- };
11
- }
12
- //# sourceMappingURL=styles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,YAAY,EAAoB,MAAM,qBAAqB,CAAC;AAW5E,oCAAoC;AACpC,MAAM,UAAU,aAAa;IAC3B,OAAO;QACL,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,EAAE,IAAI,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/B,QAAQ,EAAE,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;QACjE,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;QACzC,WAAW,EAAE,YAAY,CAAC,MAAM;KACjC,CAAC;AACJ,CAAC"}
package/dist/types.d.ts DELETED
@@ -1,23 +0,0 @@
1
- import type { BorderStyle } from "@suds-cli/chapstick";
2
- import type { TableKeyMap } from "./keymap.js";
3
- import type { TableStyles } from "./styles.js";
4
- /** Column definition for a table. @public */
5
- export interface Column {
6
- title: string;
7
- width: number;
8
- }
9
- /** Row data. Each entry corresponds to a column. @public */
10
- export type Row = string[];
11
- /** Options for creating a table. @public */
12
- export interface TableOptions {
13
- columns: Column[];
14
- rows?: Row[];
15
- height?: number;
16
- width?: number;
17
- focused?: boolean;
18
- styles?: Partial<TableStyles>;
19
- keyMap?: Partial<TableKeyMap>;
20
- bordered?: boolean;
21
- borderStyle?: BorderStyle;
22
- }
23
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,6CAA6C;AAC7C,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,4DAA4D;AAC5D,MAAM,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;AAE3B,4CAA4C;AAC5C,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B"}
package/dist/types.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
package/dist/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}