@profullstack/hqtui 0.3.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 +22 -0
  6. package/dist/app.d.ts.map +1 -1
  7. package/dist/app.js +81 -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 +4 -4
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +4 -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 +8 -0
  46. package/dist/richtext.d.ts.map +1 -1
  47. package/dist/richtext.js +29 -1
  48. package/dist/richtext.js.map +1 -1
  49. package/dist/surface.d.ts +28 -0
  50. package/dist/surface.d.ts.map +1 -1
  51. package/dist/surface.js +83 -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 +95 -2
  58. package/dist/ui.d.ts.map +1 -1
  59. package/dist/ui.js +121 -10
  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 +10 -0
  97. package/dist/widgets/text.d.ts.map +1 -1
  98. package/dist/widgets/text.js +16 -6
  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
@@ -0,0 +1,73 @@
1
+ import { mix, rgb } from "../color.js";
2
+ /**
3
+ * Darken every cell in a region, keeping its character and its hue.
4
+ *
5
+ * Towards black rather than towards the theme's background: on a light theme
6
+ * the background *is* the light, so dimming towards it would make the shadow
7
+ * brighter than the page it falls on.
8
+ */
9
+ export function dimRect(surface, x, y, width, height, amount) {
10
+ const buffer = surface.buffer;
11
+ const t = amount < 0 ? 0 : amount > 1 ? 1 : amount;
12
+ // `rgb(0, 0, 0)`, not the literal 0: zero is the sentinel for "the terminal's
13
+ // own colour", so mixing towards it drains a cell's colour rather than
14
+ // darkening it.
15
+ const black = rgb(0, 0, 0);
16
+ for (let row = 0; row < height; row++) {
17
+ for (let col = 0; col < width; col++) {
18
+ const ax = surface.rect.x + x + col;
19
+ const ay = surface.rect.y + y + row;
20
+ if (ax < surface.clip.x || ay < surface.clip.y ||
21
+ ax >= surface.clip.x + surface.clip.width ||
22
+ ay >= surface.clip.y + surface.clip.height)
23
+ continue;
24
+ const i = buffer.index(ax, ay);
25
+ buffer.fg[i] = mix(buffer.fg[i], black, t);
26
+ buffer.bg[i] = mix(buffer.bg[i], black, t);
27
+ }
28
+ }
29
+ }
30
+ /**
31
+ * Cast a shadow from `rect` onto `surface`.
32
+ *
33
+ * The shadow is the band the region would cover if it were moved by the offset,
34
+ * minus the region itself -- an L along the two trailing edges. Drawn before the
35
+ * region is, so it never falls on top of it.
36
+ */
37
+ export function drawShadow(surface, rect, options = {}) {
38
+ if (surface.empty)
39
+ return;
40
+ const dx = Math.trunc(options.offsetX ?? 1);
41
+ const dy = Math.trunc(options.offsetY ?? 1);
42
+ if (dx === 0 && dy === 0)
43
+ return;
44
+ const amount = options.amount ?? 0.55;
45
+ const paint = (x, y, w, h) => {
46
+ if (w <= 0 || h <= 0)
47
+ return;
48
+ if (options.color !== undefined)
49
+ surface.fillRect(x, y, w, h, { bg: options.color }, 32);
50
+ else
51
+ dimRect(surface, x, y, w, h, amount);
52
+ };
53
+ // The shadow is the moved region minus the original, which splits into two
54
+ // rectangles that do not touch: the rows the move added, at the moved
55
+ // region's full width, and then the columns it added over the rows the two
56
+ // still share. Cutting it any other way overlaps at the corner, and a corner
57
+ // dimmed twice reads as a smudge rather than an edge.
58
+ const tx = rect.x + dx;
59
+ const ty = rect.y + dy;
60
+ if (dy > 0)
61
+ paint(tx, rect.y + rect.height, rect.width, dy);
62
+ else if (dy < 0)
63
+ paint(tx, ty, rect.width, -dy);
64
+ const y0 = Math.max(rect.y, ty);
65
+ const shared = Math.min(rect.y + rect.height, ty + rect.height) - y0;
66
+ if (shared > 0) {
67
+ if (dx > 0)
68
+ paint(rect.x + rect.width, y0, dx, shared);
69
+ else if (dx < 0)
70
+ paint(tx, y0, -dx, shared);
71
+ }
72
+ }
73
+ //# sourceMappingURL=shadow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shadow.js","sourceRoot":"","sources":["../../src/widgets/shadow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Two primitives for the space behind a widget rather than the widget itself.
3
+ *
4
+ * `modal` already blanks the region it is about to draw into, but it does it
5
+ * privately, so anything else that floats -- a custom overlay, a popover, a
6
+ * tooltip somebody wrote themselves -- has no way to say "this region is mine
7
+ * now". These make that sayable.
8
+ */
9
+ import type { Surface } from "../surface.ts";
10
+ import type { Style } from "../buffer.ts";
11
+ import type { Color } from "../color.ts";
12
+ export interface ClearOptions {
13
+ /** What to leave behind. Defaults to the theme's background. */
14
+ background?: Color;
15
+ }
16
+ /**
17
+ * Reset a region to empty, so an overlay can draw over what was there.
18
+ *
19
+ * Without this an overlay is drawn *into* whatever it lands on: the cells it
20
+ * does not touch keep the widget underneath, and a dialog ends up with someone
21
+ * else's table showing through the gaps between its words.
22
+ */
23
+ export declare function drawClear(surface: Surface, options?: ClearOptions): void;
24
+ export interface FillOptions extends Style {
25
+ /**
26
+ * The symbol to repeat. One cell's worth: anything wider is cut to its first
27
+ * grapheme, because a fill has to tile the region exactly.
28
+ */
29
+ symbol?: string;
30
+ }
31
+ /** Flood a region with one repeated symbol and style. */
32
+ export declare function drawFill(surface: Surface, options?: FillOptions): void;
33
+ //# sourceMappingURL=surface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"surface.d.ts","sourceRoot":"","sources":["../../src/widgets/surface.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGzC,MAAM,WAAW,YAAY;IAC3B,gEAAgE;IAChE,UAAU,CAAC,EAAE,KAAK,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,YAAiB,GAAG,IAAI,CAI5E;AAED,MAAM,WAAW,WAAY,SAAQ,KAAK;IACxC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,yDAAyD;AACzD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,WAAgB,GAAG,IAAI,CAmB1E"}
@@ -0,0 +1,37 @@
1
+ import { stringWidth } from "../unicode.js";
2
+ /**
3
+ * Reset a region to empty, so an overlay can draw over what was there.
4
+ *
5
+ * Without this an overlay is drawn *into* whatever it lands on: the cells it
6
+ * does not touch keep the widget underneath, and a dialog ends up with someone
7
+ * else's table showing through the gaps between its words.
8
+ */
9
+ export function drawClear(surface, options = {}) {
10
+ if (surface.empty)
11
+ return;
12
+ const theme = surface.theme;
13
+ surface.fill({ bg: options.background ?? theme.background, fg: theme.foreground, attrs: 0 });
14
+ }
15
+ /** Flood a region with one repeated symbol and style. */
16
+ export function drawFill(surface, options = {}) {
17
+ if (surface.empty)
18
+ return;
19
+ const symbol = options.symbol ?? " ";
20
+ const style = { fg: options.fg, bg: options.bg, attrs: options.attrs };
21
+ const width = Math.max(1, stringWidth(symbol));
22
+ // A one-cell symbol is what `fill` is for. Anything wider has to be stepped
23
+ // over rather than written per column: each glyph owns a continuation cell,
24
+ // and writing the next one on top of it leaves a row of half-characters.
25
+ if (width === 1 && [...symbol].length === 1) {
26
+ surface.fill(style, symbol.codePointAt(0) ?? 32);
27
+ return;
28
+ }
29
+ for (let y = 0; y < surface.height; y++) {
30
+ // The last glyph is dropped rather than clipped when the region does not
31
+ // divide evenly: half a wide character is not a fill, it is damage.
32
+ for (let x = 0; x + width <= surface.width; x += width) {
33
+ surface.char(x, y, symbol, style);
34
+ }
35
+ }
36
+ }
37
+ //# sourceMappingURL=surface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"surface.js","sourceRoot":"","sources":["../../src/widgets/surface.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAO5C;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,OAAgB,EAAE,OAAO,GAAiB,EAAE;IACpE,IAAI,OAAO,CAAC,KAAK;QAAE,OAAO;IAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;AAC/F,CAAC;AAUD,yDAAyD;AACzD,MAAM,UAAU,QAAQ,CAAC,OAAgB,EAAE,OAAO,GAAgB,EAAE;IAClE,IAAI,OAAO,CAAC,KAAK;QAAE,OAAO;IAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC;IACrC,MAAM,KAAK,GAAU,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;IAC9E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/C,4EAA4E;IAC5E,4EAA4E;IAC5E,yEAAyE;IACzE,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACjD,OAAO;IACT,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,yEAAyE;QACzE,oEAAoE;QACpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;YACvD,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import type { Surface, Align } from "../surface.ts";
2
2
  import type { Color } from "../color.ts";
3
+ export { drawScrollbar } from "./scrollbar.ts";
3
4
  export interface Column<Row = Record<string, unknown>> {
4
5
  /** Property to read, or use `render` for computed cells. */
5
6
  key: string;
@@ -40,8 +41,6 @@ export interface TableOptions<Row = Record<string, unknown>> {
40
41
  export declare function resolveOffset(offset: number | undefined, selected: number | undefined, capacity: number, total: number, follow?: boolean): number;
41
42
  /** A dense, column-aligned table with optional selection and scrollbar. */
42
43
  export declare function drawTable<Row>(surface: Surface, options: TableOptions<Row>): void;
43
- /** A one-column scrollbar. Thumb size reflects the visible fraction. */
44
- export declare function drawScrollbar(surface: Surface, x: number, y: number, height: number, total: number, offset: number): void;
45
44
  export interface ListOptions {
46
45
  items: (string | {
47
46
  label: string;
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/widgets/table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/widgets/table.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,10 @@
1
1
  import { Attr } from "../buffer.js";
2
2
  import { mix } from "../color.js";
3
3
  import { fit, stringWidth, truncate } from "../unicode.js";
4
+ import { drawScrollbar } from "./scrollbar.js";
5
+ // Re-exported: it was part of this module's surface before it had one of
6
+ // its own, and the widgets here still draw with it.
7
+ export { drawScrollbar } from "./scrollbar.js";
4
8
  import { solve } from "../layout.js";
5
9
  import { elevate } from "../theme.js";
6
10
  function cellValue(row, column, index) {
@@ -99,18 +103,6 @@ export function drawTable(surface, options) {
99
103
  drawScrollbar(surface, surface.width - 1, headerRows, capacity, options.rows.length, offset);
100
104
  }
101
105
  }
102
- /** A one-column scrollbar. Thumb size reflects the visible fraction. */
103
- export function drawScrollbar(surface, x, y, height, total, offset) {
104
- const theme = surface.theme;
105
- const track = mix(theme.background, theme.border, 0.7);
106
- const thumbSize = Math.max(1, Math.round((height / total) * height));
107
- const maxOffset = Math.max(1, total - height);
108
- const thumbPos = Math.round((offset / maxOffset) * (height - thumbSize));
109
- for (let i = 0; i < height; i++) {
110
- const inThumb = i >= thumbPos && i < thumbPos + thumbSize;
111
- surface.char(x, y + i, inThumb ? "█" : "│", { fg: inThumb ? theme.accent : track });
112
- }
113
- }
114
106
  export function drawList(surface, options) {
115
107
  if (surface.empty)
116
108
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/widgets/table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/widgets/table.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,16 @@ export interface TextOptions extends Style {
9
9
  dim?: boolean;
10
10
  italic?: boolean;
11
11
  underline?: boolean;
12
+ /**
13
+ * First line to show, counted after wrapping.
14
+ *
15
+ * After wrapping is the only place this can be correct: the caller does not
16
+ * know how many lines their text became, and pre-slicing the string means
17
+ * re-deciding every time the width changes.
18
+ */
19
+ scroll?: number;
20
+ /** Columns to shift the text left by, for lines wider than the surface. */
21
+ scrollX?: number;
12
22
  }
13
23
  export declare function drawText(surface: Surface, content: RichText, options?: TextOptions): void;
14
24
  export interface BadgeOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/widgets/text.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EAA2C,KAAK,QAAQ,EAAiB,MAAM,gBAAgB,CAAC;AAGvG,MAAM,WAAW,WAAY,SAAQ,KAAK;IACxC,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAWD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAE,WAAgB,GAAG,IAAI,CAwB7F;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,6DAA6D;IAC7D,OAAO,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC1C,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,GAAG,MAAM,CAgBzE;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,UAAU,CAAC,EAAE,KAAK,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,UAAU,CAAC,EAAE,KAAK,CAAC;CACpB;AAED,wEAAwE;AACxE,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,GAAG,IAAI,CA0B9E;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,cAAmB,GAAG,IAAI,CAahF;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,qEAAqE;IACrE,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7B;AAED,+DAA+D;AAC/D,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAuC/E"}
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/widgets/text.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { Attr } from "../buffer.js";
2
2
  import { mix } from "../color.js";
3
- import { fit, stringWidth, truncate, wrap } from "../unicode.js";
4
- import { fitSpans, isRich, toSpanLines, wrapRich } from "../richtext.js";
3
+ import { dropColumns, fit, stringWidth, truncate, wrap } from "../unicode.js";
4
+ import { dropSpanColumns, fitSpans, isRich, toSpanLines, wrapRich, } from "../richtext.js";
5
5
  import { elevate } from "../theme.js";
6
6
  function attrsOf(o) {
7
7
  let a = o.attrs ?? 0;
@@ -27,18 +27,28 @@ export function drawText(surface, content, options = {}) {
27
27
  // the span code. The two agree — richtext.test.ts holds them to the same
28
28
  // columns over a corpus — but "agree" and "emit identical cells" are not the
29
29
  // same claim, and every committed fixture depends on the second one.
30
+ // Both offsets are clamped to zero: a negative scroll would otherwise read
31
+ // as "start before the beginning" and silently drop the first rows.
32
+ const scroll = Math.max(0, Math.floor(options.scroll ?? 0));
33
+ const scrollX = Math.max(0, Math.floor(options.scrollX ?? 0));
30
34
  if (!isRich(content)) {
31
- const lines = options.wrap ? wrap(content, surface.width) : content.split("\n");
35
+ const wrapped = options.wrap ? wrap(content, surface.width) : content.split("\n");
36
+ const lines = scroll > 0 ? wrapped.slice(scroll) : wrapped;
32
37
  for (let i = 0; i < lines.length && i < surface.height; i++) {
33
- surface.text(0, i, fit(truncate(lines[i], surface.width), surface.width, options.align ?? "left"), style);
38
+ const line = scrollX > 0 ? dropColumns(lines[i], scrollX) : lines[i];
39
+ surface.text(0, i, fit(truncate(line, surface.width), surface.width, options.align ?? "left"), style);
34
40
  }
35
41
  return;
36
42
  }
37
- const lines = options.wrap
43
+ const wrapped = options.wrap
38
44
  ? wrapRich(content, surface.width)
39
45
  : toSpanLines(content);
46
+ const lines = scroll > 0 ? wrapped.slice(scroll) : wrapped;
40
47
  for (let i = 0; i < lines.length && i < surface.height; i++) {
41
- surface.spans(0, i, fitSpans(lines[i], surface.width, options.align ?? "left"), style);
48
+ const line = scrollX > 0
49
+ ? dropSpanColumns(lines[i], scrollX)
50
+ : lines[i];
51
+ surface.spans(0, i, fitSpans(line, surface.width, options.align ?? "left"), style);
42
52
  }
43
53
  }
44
54
  export function drawBadge(surface, options) {
@@ -1 +1 @@
1
- {"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/widgets/text.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/widgets/text.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * A world map you can click.
3
+ *
4
+ * The drawing is the canvas doing what it already does -- polylines in the
5
+ * caller's own coordinates, which for a map are degrees. What this adds is the
6
+ * other direction: turning a click back into a country.
7
+ */
8
+ import type { Surface } from "../surface.ts";
9
+ import type { Color } from "../color.ts";
10
+ import type { Bounds } from "../graphics/canvas.ts";
11
+ import { type CountryOutline } from "../graphics/world.ts";
12
+ export interface WorldMapOptions {
13
+ /** The window on the globe. Defaults to all of it. */
14
+ x?: Bounds;
15
+ y?: Bounds;
16
+ /** Coastline colour. */
17
+ color?: Color;
18
+ /** Countries to pick out, by name or ISO code. */
19
+ highlight?: readonly string[];
20
+ highlightColor?: Color;
21
+ background?: Color;
22
+ grid?: boolean;
23
+ }
24
+ export declare function drawWorldMap(surface: Surface, options?: WorldMapOptions): void;
25
+ /**
26
+ * The country under a cell of a map drawn with these bounds.
27
+ *
28
+ * Exposed so a caller can answer a hover as well as a click, and so the
29
+ * arithmetic that has to agree with the drawing lives in one place.
30
+ */
31
+ export declare function countryAtCell(column: number, row: number, width: number, height: number, options?: WorldMapOptions): CountryOutline | undefined;
32
+ //# sourceMappingURL=world.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"world.d.ts","sourceRoot":"","sources":["../../src/widgets/world.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EACL,KAAK,cAAc,EACpB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,eAAe;IAC9B,sDAAsD;IACtD,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,wBAAwB;IACxB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,kDAAkD;IAClD,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,cAAc,CAAC,EAAE,KAAK,CAAC;IACvB,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,eAAoB,GAAG,IAAI,CAclF;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,eAAoB,GAC5B,cAAc,GAAG,SAAS,CAI5B"}
@@ -0,0 +1,31 @@
1
+ import { drawCanvas } from "../graphics/canvas.js";
2
+ import { WORLD_X, WORLD_Y, countryAt, degreesAt, worldShapes, } from "../graphics/world.js";
3
+ export function drawWorldMap(surface, options = {}) {
4
+ if (surface.empty)
5
+ return;
6
+ const theme = surface.theme;
7
+ drawCanvas(surface, {
8
+ shapes: worldShapes({
9
+ color: options.color ?? theme.border,
10
+ highlight: options.highlight,
11
+ highlightColor: options.highlightColor ?? theme.accent,
12
+ }),
13
+ x: options.x ?? WORLD_X,
14
+ y: options.y ?? WORLD_Y,
15
+ background: options.background,
16
+ grid: options.grid,
17
+ });
18
+ }
19
+ /**
20
+ * The country under a cell of a map drawn with these bounds.
21
+ *
22
+ * Exposed so a caller can answer a hover as well as a click, and so the
23
+ * arithmetic that has to agree with the drawing lives in one place.
24
+ */
25
+ export function countryAtCell(column, row, width, height, options = {}) {
26
+ const at = degreesAt(column, row, width, height, options.x ?? WORLD_X, options.y ?? WORLD_Y);
27
+ if (!at)
28
+ return undefined;
29
+ return countryAt(at.lon, at.lat);
30
+ }
31
+ //# sourceMappingURL=world.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"world.js","sourceRoot":"","sources":["../../src/widgets/world.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EACgB,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,GACzE,MAAM,sBAAsB,CAAC;AAe9B,MAAM,UAAU,YAAY,CAAC,OAAgB,EAAE,OAAO,GAAoB,EAAE;IAC1E,IAAI,OAAO,CAAC,KAAK;QAAE,OAAO;IAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,UAAU,CAAC,OAAO,EAAE;QAClB,MAAM,EAAE,WAAW,CAAC;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM;YACpC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,KAAK,CAAC,MAAM;SACvD,CAAC;QACF,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,OAAO;QACvB,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,OAAO;QACvB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAC3B,MAAc,EACd,GAAW,EACX,KAAa,EACb,MAAc,EACd,OAAO,GAAoB,EAAE;IAE7B,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC;IAC7F,IAAI,CAAC,EAAE;QAAE,OAAO,SAAS,CAAC;IAC1B,OAAO,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@profullstack/hqtui",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "High Quality Terminal UI for TypeScript. btop-grade dashboards with a one-import API, dark by default, zero runtime dependencies.",
5
5
  "license": "MIT",
6
6
  "type": "module",