@profullstack/hqtui 0.2.0 → 0.4.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 (104) hide show
  1. package/dist/ansi.d.ts +10 -0
  2. package/dist/ansi.d.ts.map +1 -1
  3. package/dist/ansi.js +18 -0
  4. package/dist/ansi.js.map +1 -1
  5. package/dist/app.d.ts +30 -0
  6. package/dist/app.d.ts.map +1 -1
  7. package/dist/app.js +95 -12
  8. package/dist/app.js.map +1 -1
  9. package/dist/cli.js +1 -1
  10. package/dist/diff.d.ts +37 -1
  11. package/dist/diff.d.ts.map +1 -1
  12. package/dist/diff.js +79 -4
  13. package/dist/diff.js.map +1 -1
  14. package/dist/graphics/braille.d.ts.map +1 -1
  15. package/dist/graphics/braille.js +15 -2
  16. package/dist/graphics/braille.js.map +1 -1
  17. package/dist/graphics/canvas.d.ts +76 -0
  18. package/dist/graphics/canvas.d.ts.map +1 -0
  19. package/dist/graphics/canvas.js +110 -0
  20. package/dist/graphics/canvas.js.map +1 -0
  21. package/dist/graphics/chart.d.ts +70 -0
  22. package/dist/graphics/chart.d.ts.map +1 -0
  23. package/dist/graphics/chart.js +249 -0
  24. package/dist/graphics/chart.js.map +1 -0
  25. package/dist/graphics/index.d.ts +3 -0
  26. package/dist/graphics/index.d.ts.map +1 -1
  27. package/dist/graphics/index.js +3 -0
  28. package/dist/graphics/index.js.map +1 -1
  29. package/dist/graphics/world-data.d.ts +22 -0
  30. package/dist/graphics/world-data.d.ts.map +1 -0
  31. package/dist/graphics/world-data.js +1300 -0
  32. package/dist/graphics/world-data.js.map +1 -0
  33. package/dist/graphics/world.d.ts +70 -0
  34. package/dist/graphics/world.d.ts.map +1 -0
  35. package/dist/graphics/world.js +137 -0
  36. package/dist/graphics/world.js.map +1 -0
  37. package/dist/index.d.ts +5 -4
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +5 -4
  40. package/dist/index.js.map +1 -1
  41. package/dist/layout.d.ts +21 -1
  42. package/dist/layout.d.ts.map +1 -1
  43. package/dist/layout.js +54 -4
  44. package/dist/layout.js.map +1 -1
  45. package/dist/richtext.d.ts +79 -0
  46. package/dist/richtext.d.ts.map +1 -0
  47. package/dist/richtext.js +272 -0
  48. package/dist/richtext.js.map +1 -0
  49. package/dist/surface.d.ts +37 -0
  50. package/dist/surface.d.ts.map +1 -1
  51. package/dist/surface.js +123 -15
  52. package/dist/surface.js.map +1 -1
  53. package/dist/terminal.d.ts +81 -0
  54. package/dist/terminal.d.ts.map +1 -1
  55. package/dist/terminal.js +131 -4
  56. package/dist/terminal.js.map +1 -1
  57. package/dist/ui.d.ts +108 -5
  58. package/dist/ui.d.ts.map +1 -1
  59. package/dist/ui.js +134 -11
  60. package/dist/ui.js.map +1 -1
  61. package/dist/unicode.d.ts +9 -0
  62. package/dist/unicode.d.ts.map +1 -1
  63. package/dist/unicode.js +25 -0
  64. package/dist/unicode.js.map +1 -1
  65. package/dist/widgets/calendar.d.ts +67 -0
  66. package/dist/widgets/calendar.d.ts.map +1 -0
  67. package/dist/widgets/calendar.js +118 -0
  68. package/dist/widgets/calendar.js.map +1 -0
  69. package/dist/widgets/chart.d.ts +24 -0
  70. package/dist/widgets/chart.d.ts.map +1 -0
  71. package/dist/widgets/chart.js +80 -0
  72. package/dist/widgets/chart.js.map +1 -0
  73. package/dist/widgets/index.d.ts +6 -0
  74. package/dist/widgets/index.d.ts.map +1 -1
  75. package/dist/widgets/index.js +6 -0
  76. package/dist/widgets/index.js.map +1 -1
  77. package/dist/widgets/meters.d.ts.map +1 -1
  78. package/dist/widgets/meters.js +11 -1
  79. package/dist/widgets/meters.js.map +1 -1
  80. package/dist/widgets/scrollbar.d.ts +66 -0
  81. package/dist/widgets/scrollbar.d.ts.map +1 -0
  82. package/dist/widgets/scrollbar.js +89 -0
  83. package/dist/widgets/scrollbar.js.map +1 -0
  84. package/dist/widgets/shadow.d.ts +42 -0
  85. package/dist/widgets/shadow.d.ts.map +1 -0
  86. package/dist/widgets/shadow.js +73 -0
  87. package/dist/widgets/shadow.js.map +1 -0
  88. package/dist/widgets/surface.d.ts +33 -0
  89. package/dist/widgets/surface.d.ts.map +1 -0
  90. package/dist/widgets/surface.js +37 -0
  91. package/dist/widgets/surface.js.map +1 -0
  92. package/dist/widgets/table.d.ts +1 -2
  93. package/dist/widgets/table.d.ts.map +1 -1
  94. package/dist/widgets/table.js +4 -12
  95. package/dist/widgets/table.js.map +1 -1
  96. package/dist/widgets/text.d.ts +12 -1
  97. package/dist/widgets/text.d.ts.map +1 -1
  98. package/dist/widgets/text.js +27 -3
  99. package/dist/widgets/text.js.map +1 -1
  100. package/dist/widgets/world.d.ts +32 -0
  101. package/dist/widgets/world.d.ts.map +1 -0
  102. package/dist/widgets/world.js +31 -0
  103. package/dist/widgets/world.js.map +1 -0
  104. package/package.json +1 -1
package/dist/ui.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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"}
package/dist/ui.js CHANGED
@@ -1,6 +1,8 @@
1
1
  import { inset, stack, solve, isEmpty, } from "./layout.js";
2
2
  import { stringWidth, wrap } from "./unicode.js";
3
+ import { isRich, toSpanLines, wrapRich } from "./richtext.js";
3
4
  import { BrailleCanvas } from "./graphics/braille.js";
5
+ import { drawCanvas } from "./graphics/canvas.js";
4
6
  import * as W from "./widgets/index.js";
5
7
  /**
6
8
  * The builder. Every container collects its children first, then solves the
@@ -12,12 +14,14 @@ export class Container {
12
14
  direction;
13
15
  children = [];
14
16
  gap;
17
+ justify;
15
18
  inner;
16
19
  constructor(surface, ctx, direction = "column", options = {}) {
17
20
  this.surface = surface;
18
21
  this.ctx = ctx;
19
22
  this.direction = direction;
20
23
  this.gap = options.gap ?? 0;
24
+ this.justify = options.justify ?? "start";
21
25
  this.inner = options.padding ? surface.inset(options.padding) : surface;
22
26
  if (options.background !== undefined)
23
27
  surface.fill({ bg: options.background });
@@ -81,7 +85,7 @@ export class Container {
81
85
  flush() {
82
86
  if (this.children.length === 0 || isEmpty(this.inner.rect))
83
87
  return;
84
- const rects = stack(this.inner.rect, this.children.map((c) => c.constraint), this.direction, this.seams());
88
+ const rects = stack(this.inner.rect, this.children.map((c) => c.constraint), this.direction, this.seams(), this.justify);
85
89
  this.children.forEach((child, i) => {
86
90
  const rect = rects[i];
87
91
  if (!rect || isEmpty(rect))
@@ -97,7 +101,7 @@ export class Container {
97
101
  const container = new Container(surface, this.ctx, "row", options);
98
102
  build?.(container);
99
103
  container.flush();
100
- }, this.sizeOf(options, "fill"));
104
+ }, this.sizeOf(options, "fill"), options.bordered ?? false);
101
105
  }
102
106
  /** A vertical container. */
103
107
  column(options = {}, build) {
@@ -105,7 +109,7 @@ export class Container {
105
109
  const container = new Container(surface, this.ctx, "column", options);
106
110
  build?.(container);
107
111
  container.flush();
108
- }, this.sizeOf(options, "fill"));
112
+ }, this.sizeOf(options, "fill"), options.bordered ?? false);
109
113
  }
110
114
  /**
111
115
  * A CSS-ish grid. Children are placed in order and may span cells:
@@ -120,7 +124,7 @@ export class Container {
120
124
  const container = new GridContainer(surface, this.ctx, options);
121
125
  build?.(container);
122
126
  container.flush();
123
- }, this.sizeOf(options, "fill"));
127
+ }, this.sizeOf(options, "fill"), options.bordered ?? false);
124
128
  }
125
129
  /** A bordered panel. The callback receives its interior as a column. */
126
130
  panel(options = {}, build) {
@@ -135,6 +139,7 @@ export class Container {
135
139
  subtitleColor: options.subtitleColor,
136
140
  footer: options.footer,
137
141
  border: options.border ?? "rounded",
142
+ ...(options.sides === undefined ? {} : { sides: options.sides }),
138
143
  borderColor: options.borderColor ?? (focused ? this.theme.borderFocused : this.theme.border),
139
144
  bg: options.background,
140
145
  collapse: this.ctx.collapseBorders,
@@ -161,8 +166,19 @@ export class Container {
161
166
  return this.add((s) => W.drawDivider(s, options), this.sizeOf(options, "auto", 1));
162
167
  }
163
168
  // ------------------------------------------------------------------ text
169
+ /**
170
+ * A line, a paragraph, or styled spans:
171
+ *
172
+ * ui.text("plain");
173
+ * ui.text([{ text: "ERROR ", fg: theme.danger, bold: true }, { text: reason }]);
174
+ *
175
+ * The intrinsic height is measured the same way for both, so a styled
176
+ * paragraph reserves the rows it will actually occupy once wrapped.
177
+ */
164
178
  text(content, options = {}) {
165
- const lines = options.wrap ? wrap(content, this.crossWidth).length : content.split("\n").length;
179
+ const lines = isRich(content)
180
+ ? (options.wrap ? wrapRich(content, this.crossWidth) : toSpanLines(content)).length
181
+ : (options.wrap ? wrap(content, this.crossWidth).length : content.split("\n").length);
166
182
  return this.add((s) => W.drawText(s, content, options), this.sizeOf(options, "auto", lines));
167
183
  }
168
184
  /** Muted secondary text. */
@@ -198,6 +214,35 @@ export class Container {
198
214
  this.attachScroll(s, options);
199
215
  }, this.sizeOf(options, "fill", options.items.length));
200
216
  }
217
+ /**
218
+ * A scrollbar over state you own, for anything that scrolls and is not a
219
+ * table: a wrapped paragraph, a canvas, a `draw()` of your own.
220
+ *
221
+ * The wheel and a click on the track both arrive as `onScroll`, so the same
222
+ * handler that drives the content drives the bar. A click reports the delta
223
+ * that would land the thumb where you clicked, which makes the bar a way to
224
+ * move rather than a picture of where you are.
225
+ */
226
+ scrollbar(options) {
227
+ const vertical = W.isVertical(options.orientation ?? "right");
228
+ return this.add((s) => {
229
+ W.drawScrollbarWidget(s, options);
230
+ if (!options.onScroll && !options.onFocus)
231
+ return;
232
+ const track = vertical ? s.height : s.width;
233
+ this.ctx.hit({
234
+ rect: s.hitRect(),
235
+ onScroll: options.onScroll ? (delta) => options.onScroll?.(delta) : undefined,
236
+ onClick: (x, y) => {
237
+ options.onFocus?.();
238
+ const at = W.offsetForPosition(vertical ? y : x, track, options.total, options.viewport);
239
+ options.onScroll?.(at - options.offset);
240
+ },
241
+ });
242
+ // A bar is one cell across its short axis; along its long one it takes
243
+ // whatever it is given.
244
+ }, this.sizeOf(options, vertical ? "fill" : 1, vertical ? undefined : 1));
245
+ }
201
246
  tree(options) {
202
247
  return this.add((s) => {
203
248
  W.drawTree(s, options);
@@ -243,6 +288,40 @@ export class Container {
243
288
  graph(options) {
244
289
  return this.add((s) => W.drawGraph(s, options), this.sizeOfData(options, "fill", "min-max"));
245
290
  }
291
+ /**
292
+ * A chart of arbitrary (x, y) data, with a domain on both axes.
293
+ *
294
+ * `graph` plots a history buffer, one sample per column. Use this when the
295
+ * data has its own x values: two series of different lengths then line up,
296
+ * and a point lands where its x says it does.
297
+ */
298
+ chart(options) {
299
+ return this.add((s) => W.drawChart(s, options), this.sizeOfData(options, "fill", "min-max"));
300
+ }
301
+ /**
302
+ * Reset a region so an overlay can own it.
303
+ *
304
+ * Anything drawn into a region without clearing it first shows whatever was
305
+ * underneath through the cells it does not touch.
306
+ */
307
+ clear(options = {}) {
308
+ return this.add((s) => W.drawClear(s, options), this.sizeOf(options, "fill"));
309
+ }
310
+ /** Flood a region with one repeated symbol and style. */
311
+ fill(options = {}) {
312
+ return this.add((s) => W.drawFill(s, options), this.sizeOf(options, "fill"));
313
+ }
314
+ /**
315
+ * A month as a grid, with per-day styling.
316
+ *
317
+ * Sized to the month it shows: a month spans four, five or six week rows
318
+ * depending on where its first day falls, and reserving five leaves some
319
+ * months a row short and others a blank row long.
320
+ */
321
+ calendar(options) {
322
+ const height = W.calendarHeight(options);
323
+ return this.add((s) => W.drawCalendar(s, options), this.sizeOf(options, height, height));
324
+ }
246
325
  /** A filled area graph — `graph` with `fill` on. */
247
326
  areaGraph(options) {
248
327
  return this.graph({ fill: true, ...options });
@@ -354,6 +433,37 @@ export class Container {
354
433
  draw(fn, options = {}) {
355
434
  return this.add(fn, this.sizeOf(options, "fill"));
356
435
  }
436
+ /**
437
+ * A canvas drawn in your own coordinates rather than in pixels.
438
+ *
439
+ * `canvas` hands you the pixel grid and leaves the unit conversion to you,
440
+ * which means a drawing written for one panel size is wrong in the next.
441
+ * This takes bounds and shapes placed inside them, and y goes up.
442
+ */
443
+ shapes(options) {
444
+ return this.add((s) => drawCanvas(s, options), this.sizeOf(options, "fill"));
445
+ }
446
+ /**
447
+ * A world map, and the country under whatever gets clicked.
448
+ *
449
+ * The click is answered by turning the cell back into degrees and testing it
450
+ * against the outlines, so the answer is the country actually under the
451
+ * cursor. Bounding boxes would be cheaper and wrong: Russia's covers most of
452
+ * the northern hemisphere and Chile's covers Argentina.
453
+ */
454
+ worldMap(options = {}) {
455
+ return this.add((s) => {
456
+ W.drawWorldMap(s, options);
457
+ if (!options.onSelect && !options.onHover)
458
+ return;
459
+ const at = (x, y) => W.countryAtCell(x, y, s.width, s.height, options);
460
+ this.ctx.hit({
461
+ rect: s.hitRect(),
462
+ onClick: options.onSelect ? (x, y) => options.onSelect?.(at(x, y)) : undefined,
463
+ onHover: options.onHover ? (x, y) => options.onHover?.(at(x, y)) : undefined,
464
+ });
465
+ }, this.sizeOf(options, "fill"));
466
+ }
357
467
  /** A Braille pixel canvas sized to the region, blitted when you are done. */
358
468
  canvas(fn, options = {}) {
359
469
  return this.add((surface) => {
@@ -408,36 +518,49 @@ export class GridContainer {
408
518
  const count = spec ?? fallback;
409
519
  return new Array(Math.max(1, count)).fill("1fr");
410
520
  }
411
- push(options, draw) {
412
- this.cells.push({ options, draw });
521
+ push(options, draw, bordered = false) {
522
+ this.cells.push({ options, draw, bordered });
413
523
  return this;
414
524
  }
525
+ /**
526
+ * The gap between tracks, minus one where the whole grid is panels and
527
+ * collapsing is on, so neighbouring borders land in the same column and
528
+ * merge. A grid is one pair of track sizes rather than a list of siblings,
529
+ * so this is all or nothing: a single cell that is not a panel would have a
530
+ * neighbour's border drawn across its content.
531
+ */
532
+ seam() {
533
+ const gap = this.options.gap ?? 0;
534
+ if (!this.ctx.collapseBorders || gap !== 0 || this.cells.length < 2)
535
+ return gap;
536
+ return this.cells.every((cell) => cell.bordered) ? -1 : gap;
537
+ }
415
538
  /** A panel occupying the next free cell (or several, with colSpan/rowSpan). */
416
539
  panel(options = {}, build) {
417
540
  return this.push(options, (surface) => {
418
541
  const container = new Container(surface, this.ctx, "column");
419
542
  container.panel(options, build);
420
543
  container.flush();
421
- });
544
+ }, (options.border ?? "rounded") !== "none");
422
545
  }
423
546
  cell(options = {}, build) {
424
547
  return this.push(options, (surface) => {
425
548
  const container = new Container(surface, this.ctx, "column", options);
426
549
  build?.(container);
427
550
  container.flush();
428
- });
551
+ }, options.bordered ?? false);
429
552
  }
430
553
  row(options = {}, build) {
431
554
  return this.push(options, (surface) => {
432
555
  const container = new Container(surface, this.ctx, "row", options);
433
556
  build?.(container);
434
557
  container.flush();
435
- });
558
+ }, options.bordered ?? false);
436
559
  }
437
560
  flush() {
438
561
  if (this.cells.length === 0 || isEmpty(this.surface.rect))
439
562
  return;
440
- const gap = this.options.gap ?? 0;
563
+ const gap = this.seam();
441
564
  const columnSpec = this.track(this.options.columns, Math.min(this.cells.length, 3));
442
565
  const rowCount = Array.isArray(this.options.rows)
443
566
  ? this.options.rows.length
package/dist/ui.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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"}
package/dist/unicode.d.ts CHANGED
@@ -65,6 +65,15 @@ export declare function graphemes(text: string): Grapheme[];
65
65
  export declare function stringWidth(text: string): number;
66
66
  /** Truncate to `max` columns, appending `ellipsis` when it does not fit. */
67
67
  export declare function truncate(text: string, max: number, ellipsis?: string): string;
68
+ /**
69
+ * `text` with its first `columns` display columns removed.
70
+ *
71
+ * For scrolling a line sideways. Slicing by code units would cut inside a
72
+ * grapheme and corrupt it, and a scroll that lands in the middle of a wide
73
+ * character cannot draw half of it -- what is left of that character is a
74
+ * space, which is what a terminal shows when a double-width cell is clipped.
75
+ */
76
+ export declare function dropColumns(text: string, columns: number): string;
68
77
  /** Pad or truncate to exactly `width` columns. */
69
78
  export declare function fit(text: string, width: number, align?: "left" | "right" | "center"): string;
70
79
  /** Greedy word wrap at `width` columns. */
@@ -1 +1 @@
1
- {"version":3,"file":"unicode.d.ts","sourceRoot":"","sources":["../src/unicode.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,kFAAkF;AAClF,eAAO,MAAM,YAAY,UAAW,CAAC;AACrC,yEAAyE;AACzE,eAAO,MAAM,YAAY,aAAa,CAAC;AAKvC;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED,8EAA8E;AAC9E,eAAO,MAAM,WAAW,QAAS,CAAC;AAElC;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAMrD;AAKD,qEAAqE;AACrE,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;AAuBD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAgBlD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,wEAAwE;AACxE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAI9C;AAuDD,uDAAuD;AACvD,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAO/C;AAED,iEAAiE;AACjE,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAQlD;AAID,MAAM,WAAW,QAAQ;IACvB,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE,CAkElD;AAED,qDAAqD;AACrD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIhD;AAED,4EAA4E;AAC5E,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,SAAM,GAAG,MAAM,CAa1E;AAED,kDAAkD;AAClD,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,GAAG,OAAO,GAAG,QAAiB,GAAG,MAAM,CAUpG;AAED,2CAA2C;AAC3C,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAkC1D"}
1
+ {"version":3,"file":"unicode.d.ts","sourceRoot":"","sources":["../src/unicode.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,kFAAkF;AAClF,eAAO,MAAM,YAAY,UAAW,CAAC;AACrC,yEAAyE;AACzE,eAAO,MAAM,YAAY,aAAa,CAAC;AAKvC;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED,8EAA8E;AAC9E,eAAO,MAAM,WAAW,QAAS,CAAC;AAElC;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAMrD;AAKD,qEAAqE;AACrE,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;AAuBD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAgBlD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,wEAAwE;AACxE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAI9C;AAuDD,uDAAuD;AACvD,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAO/C;AAED,iEAAiE;AACjE,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAQlD;AAID,MAAM,WAAW,QAAQ;IACvB,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE,CAkElD;AAED,qDAAqD;AACrD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIhD;AAED,4EAA4E;AAC5E,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,SAAM,GAAG,MAAM,CAa1E;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAcjE;AAED,kDAAkD;AAClD,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,GAAG,OAAO,GAAG,QAAiB,GAAG,MAAM,CAUpG;AAED,2CAA2C;AAC3C,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAkC1D"}
package/dist/unicode.js CHANGED
@@ -293,6 +293,31 @@ export function truncate(text, max, ellipsis = "…") {
293
293
  }
294
294
  return out + ellipsis;
295
295
  }
296
+ /**
297
+ * `text` with its first `columns` display columns removed.
298
+ *
299
+ * For scrolling a line sideways. Slicing by code units would cut inside a
300
+ * grapheme and corrupt it, and a scroll that lands in the middle of a wide
301
+ * character cannot draw half of it -- what is left of that character is a
302
+ * space, which is what a terminal shows when a double-width cell is clipped.
303
+ */
304
+ export function dropColumns(text, columns) {
305
+ if (columns <= 0)
306
+ return text;
307
+ let out = "";
308
+ let skipped = 0;
309
+ for (const g of graphemes(text)) {
310
+ if (skipped >= columns) {
311
+ out += cellText(g.value);
312
+ continue;
313
+ }
314
+ skipped += g.width;
315
+ // A wide character straddling the cut leaves its trailing half behind.
316
+ if (skipped > columns)
317
+ out += " ".repeat(skipped - columns);
318
+ }
319
+ return out;
320
+ }
296
321
  /** Pad or truncate to exactly `width` columns. */
297
322
  export function fit(text, width, align = "left") {
298
323
  const t = truncate(text, width);
@@ -1 +1 @@
1
- {"version":3,"file":"unicode.js","sourceRoot":"","sources":["../src/unicode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unicode.js","sourceRoot":"","sources":["../src/unicode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * A month, as a grid, with per-day styling.
3
+ *
4
+ * The dates are computed rather than read from a host calendar. `Date` is a
5
+ * different object in every language this library is ported to -- different
6
+ * epochs, different month numbering, different opinions about time zones -- and
7
+ * a widget whose output depends on any of that cannot be held to a fixture. So
8
+ * the arithmetic is here, in terms every port already has: integers.
9
+ */
10
+ import type { Surface, Align } from "../surface.ts";
11
+ import type { Color } from "../color.ts";
12
+ export declare const MONTH_NAMES: readonly ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
13
+ /** Two letters each, so a week is exactly as wide as its days. */
14
+ export declare const WEEKDAY_NAMES: readonly ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"];
15
+ /** How many days a month has. Months are 1-12, as people write them. */
16
+ export declare function daysInMonth(year: number, month: number): number;
17
+ /**
18
+ * The Gregorian leap rule in full: every four years, except centuries, except
19
+ * every fourth century. Truncating it at "every four years" is right for
20
+ * 1901-2099 and wrong for 1900 and 2100, which is the kind of bug that sits
21
+ * quietly for decades.
22
+ */
23
+ export declare function isLeapYear(year: number): boolean;
24
+ /**
25
+ * Day of the week, 0 = Sunday.
26
+ *
27
+ * Sakamoto's method: a table of month offsets plus the leap-day count, which
28
+ * is exact for any Gregorian date and needs nothing but integer arithmetic.
29
+ */
30
+ export declare function dayOfWeek(year: number, month: number, day: number): number;
31
+ export interface CalendarMark {
32
+ /** Day of the month, 1-31. */
33
+ day: number;
34
+ color?: Color;
35
+ background?: Color;
36
+ bold?: boolean;
37
+ }
38
+ export interface CalendarOptions {
39
+ year: number;
40
+ /** 1-12, as people write months rather than as `Date` numbers them. */
41
+ month: number;
42
+ /** Days worth pointing at: holidays, deadlines, days with something on. */
43
+ marks?: CalendarMark[];
44
+ /** Drawn in the accent colour, as the day the view is about. */
45
+ selected?: number;
46
+ /** The month and year above the grid. Default true. */
47
+ header?: boolean;
48
+ headerAlign?: Align;
49
+ /** The weekday initials above the days. Default true. */
50
+ weekdays?: boolean;
51
+ /** 0 for Sunday, 1 for Monday. Default 1, which is most of the world. */
52
+ weekStart?: 0 | 1;
53
+ color?: Color;
54
+ background?: Color;
55
+ }
56
+ export declare function drawCalendar(surface: Surface, options: CalendarOptions): void;
57
+ /**
58
+ * How many rows a month needs, so a caller can size the panel around it.
59
+ *
60
+ * A month spans four, five or six week rows depending on where its first day
61
+ * falls; guessing five leaves February 2026 a row short in some years and a
62
+ * blank row long in others.
63
+ */
64
+ export declare function calendarHeight(options: CalendarOptions): number;
65
+ /** The width a calendar wants, which is the same whatever month it shows. */
66
+ export declare const CALENDAR_WIDTH: number;
67
+ //# sourceMappingURL=calendar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../src/widgets/calendar.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAGpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGzC,eAAO,MAAM,WAAW,YACtB,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EACtD,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CACxD,CAAC;AAEX,kEAAkE;AAClE,eAAO,MAAM,aAAa,YAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC;AAEjF,wEAAwE;AACxE,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAK/D;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAQ1E;AAED,MAAM,WAAW,YAAY;IAC3B,8BAA8B;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yEAAyE;IACzE,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,UAAU,CAAC,EAAE,KAAK,CAAC;CACpB;AAMD,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,GAAG,IAAI,CAwD7E;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAO/D;AAED,6EAA6E;AAC7E,eAAO,MAAM,cAAc,QAAa,CAAC"}