@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 @@
1
+ {"version":3,"file":"world-data.js","sourceRoot":"","sources":["../../src/graphics/world-data.ts"],"names":[],"mappings":"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,EAAC,CAAC,IAAI,EAAC,CAAC,KAAK,EAAC,CAAC,IAAI,EAAC,CAAC,KAAK,EAAC,CAAC,IAAI,EAAC,CAAC,KAAK,EAAC,CAAC,IAAI,EAAC,CAAC,KAAK,EAAC,CAAC,IAAI,EAAC,CAAC,KAAK,EAAC,CAAC,IAAI,EAAC,CAAC,KAAK,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,EAAE,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,EAAE,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,GAAG,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAE,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,EAAE,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,KAAK,EAAC,CAAC,IAAI,EAAC,KAAK,EAAC,CAAC,IAAI,EAAC,KAAK,EAAC,CAAC,IAAI,EAAC,KAAK,EAAC,CAAC,IAAI,EAAC,KAAK,EAAC,CAAC,IAAI,EAAC,KAAK,EAAC,CAAC,EAAE,EAAC,KAAK,EAAC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AI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAE,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,EAAE,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,EAAE,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,KAAK,EAAC,EAAE,CAAC;YAC7nB,CAAC,CAAC,EAAE,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAE,EAAC,IAAI,CAAC;YAC9B,CAAC,CAAC,IAAI,EAAC,IAAI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"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * The world, as shapes for the canvas, and the lookup that makes it clickable.
3
+ *
4
+ * The canvas already draws in the caller's own coordinates, and longitude and
5
+ * latitude are just another pair of axes -- so a map is a list of polylines in
6
+ * degrees, and nothing here needs a projection of its own beyond deciding which
7
+ * window on the globe to show.
8
+ *
9
+ * The interesting half is the other direction. A click arrives as a terminal
10
+ * cell, and a country is a polygon, so answering "what did they click" means
11
+ * turning the cell back into degrees and testing it against the outlines. Doing
12
+ * it that way rather than with bounding boxes is what makes the answer right:
13
+ * Russia's bounding box covers most of the northern hemisphere, and Chile's
14
+ * covers Argentina.
15
+ */
16
+ import type { Color } from "../color.ts";
17
+ import type { Bounds, Shape } from "./canvas.ts";
18
+ import { type CountryOutline, WORLD_COUNTRIES } from "./world-data.ts";
19
+ export { type CountryOutline, WORLD_COUNTRIES };
20
+ /** The whole globe, which is what a map shows unless told otherwise. */
21
+ export declare const WORLD_X: Bounds;
22
+ export declare const WORLD_Y: Bounds;
23
+ export interface WorldShapeOptions {
24
+ /** Colour for countries with nothing special about them. */
25
+ color?: Color;
26
+ /** Countries to pick out, by name or ISO code. */
27
+ highlight?: readonly string[];
28
+ highlightColor?: Color;
29
+ }
30
+ /**
31
+ * The world as canvas shapes, one polyline per landmass.
32
+ *
33
+ * Polylines rather than scattered points: the outlines are closed rings, so
34
+ * joining them draws a coastline instead of a dotted suggestion of one, and it
35
+ * reads at a fraction of the resolution dots would need.
36
+ */
37
+ export declare function worldShapes(options?: WorldShapeOptions): Shape[];
38
+ /**
39
+ * The country containing a point, or undefined for open water.
40
+ *
41
+ * Where outlines overlap -- and at this resolution simplified borders do
42
+ * overlap -- the first match wins, which is stable because the data is sorted
43
+ * by name.
44
+ */
45
+ export declare function countryAt(lon: number, lat: number): CountryOutline | undefined;
46
+ /** Look a country up by name or ISO code. */
47
+ export declare function findCountry(key: string): CountryOutline | undefined;
48
+ /**
49
+ * The window a country fills, with a little room around it.
50
+ *
51
+ * For zooming a map to a country: the bounding box alone puts the coastline
52
+ * flat against the edge of the panel, which reads as though the country has
53
+ * been cut off rather than framed.
54
+ */
55
+ export declare function countryBounds(country: CountryOutline, margin?: number): {
56
+ x: Bounds;
57
+ y: Bounds;
58
+ };
59
+ /**
60
+ * The degrees under a terminal cell, given the window the map was drawn with.
61
+ *
62
+ * The inverse of what the canvas does on the way in, taken at the centre of the
63
+ * cell: a click lands on a whole cell, and the centre is the only point in it
64
+ * that is not arbitrarily nearer one neighbour than the other.
65
+ */
66
+ export declare function degreesAt(column: number, row: number, width: number, height: number, x?: Bounds, y?: Bounds): {
67
+ lon: number;
68
+ lat: number;
69
+ } | undefined;
70
+ //# sourceMappingURL=world.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"world.d.ts","sourceRoot":"","sources":["../../src/graphics/world.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,KAAK,cAAc,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvE,OAAO,EAAE,KAAK,cAAc,EAAE,eAAe,EAAE,CAAC;AAEhD,wEAAwE;AACxE,eAAO,MAAM,OAAO,EAAE,MAAgC,CAAC;AACvD,eAAO,MAAM,OAAO,EAAE,MAA8B,CAAC;AAErD,MAAM,WAAW,iBAAiB;IAChC,4DAA4D;IAC5D,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,kDAAkD;IAClD,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,cAAc,CAAC,EAAE,KAAK,CAAC;CACxB;AAYD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,OAAO,GAAE,iBAAsB,GAAG,KAAK,EAAE,CAgBpE;AAwBD;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAQ9E;AAED,6CAA6C;AAC7C,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEnE;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,cAAc,EACvB,MAAM,SAAO,GACZ;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAsB1B;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,CAAC,GAAE,MAAgB,EACnB,CAAC,GAAE,MAAgB,GAClB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAU1C"}
@@ -0,0 +1,137 @@
1
+ import { WORLD_COUNTRIES } from "./world-data.js";
2
+ export { WORLD_COUNTRIES };
3
+ /** The whole globe, which is what a map shows unless told otherwise. */
4
+ export const WORLD_X = { min: -180, max: 180 };
5
+ export const WORLD_Y = { min: -90, max: 90 };
6
+ /** Match on either the name or the ISO code, case-insensitively. */
7
+ function matches(country, keys) {
8
+ for (const key of keys) {
9
+ if (key.length === 0)
10
+ continue;
11
+ if (country.name.toLowerCase() === key.toLowerCase())
12
+ return true;
13
+ if (country.iso.length > 0 && country.iso.toLowerCase() === key.toLowerCase())
14
+ return true;
15
+ }
16
+ return false;
17
+ }
18
+ /**
19
+ * The world as canvas shapes, one polyline per landmass.
20
+ *
21
+ * Polylines rather than scattered points: the outlines are closed rings, so
22
+ * joining them draws a coastline instead of a dotted suggestion of one, and it
23
+ * reads at a fraction of the resolution dots would need.
24
+ */
25
+ export function worldShapes(options = {}) {
26
+ const shapes = [];
27
+ const highlight = options.highlight ?? [];
28
+ for (const country of WORLD_COUNTRIES) {
29
+ const picked = highlight.length > 0 && matches(country, highlight);
30
+ const color = picked ? options.highlightColor ?? options.color : options.color;
31
+ for (const ring of country.rings) {
32
+ const points = [];
33
+ for (let i = 0; i + 1 < ring.length; i += 2)
34
+ points.push([ring[i], ring[i + 1]]);
35
+ // Closed: the last point joins the first, or every country has a gap in
36
+ // its coastline where the ring started.
37
+ if (points.length > 0)
38
+ points.push(points[0]);
39
+ shapes.push({ type: "polyline", points, color });
40
+ }
41
+ }
42
+ return shapes;
43
+ }
44
+ /**
45
+ * Whether a point is inside a ring, by ray casting.
46
+ *
47
+ * The ring is a flat list of interleaved coordinates, so this walks it two at a
48
+ * time rather than allocating a pair per vertex -- it runs once per country per
49
+ * click, and there are a couple of thousand vertices.
50
+ */
51
+ function insideRing(ring, lon, lat) {
52
+ let inside = false;
53
+ const n = ring.length / 2;
54
+ for (let i = 0, j = n - 1; i < n; j = i++) {
55
+ const xi = ring[i * 2];
56
+ const yi = ring[i * 2 + 1];
57
+ const xj = ring[j * 2];
58
+ const yj = ring[j * 2 + 1];
59
+ if ((yi > lat) !== (yj > lat) && lon < ((xj - xi) * (lat - yi)) / (yj - yi) + xi) {
60
+ inside = !inside;
61
+ }
62
+ }
63
+ return inside;
64
+ }
65
+ /**
66
+ * The country containing a point, or undefined for open water.
67
+ *
68
+ * Where outlines overlap -- and at this resolution simplified borders do
69
+ * overlap -- the first match wins, which is stable because the data is sorted
70
+ * by name.
71
+ */
72
+ export function countryAt(lon, lat) {
73
+ if (!Number.isFinite(lon) || !Number.isFinite(lat))
74
+ return undefined;
75
+ for (const country of WORLD_COUNTRIES) {
76
+ for (const ring of country.rings) {
77
+ if (insideRing(ring, lon, lat))
78
+ return country;
79
+ }
80
+ }
81
+ return undefined;
82
+ }
83
+ /** Look a country up by name or ISO code. */
84
+ export function findCountry(key) {
85
+ return WORLD_COUNTRIES.find((c) => matches(c, [key]));
86
+ }
87
+ /**
88
+ * The window a country fills, with a little room around it.
89
+ *
90
+ * For zooming a map to a country: the bounding box alone puts the coastline
91
+ * flat against the edge of the panel, which reads as though the country has
92
+ * been cut off rather than framed.
93
+ */
94
+ export function countryBounds(country, margin = 0.08) {
95
+ let minLon = Infinity;
96
+ let maxLon = -Infinity;
97
+ let minLat = Infinity;
98
+ let maxLat = -Infinity;
99
+ for (const ring of country.rings) {
100
+ for (let i = 0; i + 1 < ring.length; i += 2) {
101
+ minLon = Math.min(minLon, ring[i]);
102
+ maxLon = Math.max(maxLon, ring[i]);
103
+ minLat = Math.min(minLat, ring[i + 1]);
104
+ maxLat = Math.max(maxLat, ring[i + 1]);
105
+ }
106
+ }
107
+ if (!Number.isFinite(minLon))
108
+ return { x: WORLD_X, y: WORLD_Y };
109
+ // A single-point country would give a zero-width window, which cannot be
110
+ // mapped onto anything.
111
+ const padX = Math.max((maxLon - minLon) * margin, 1);
112
+ const padY = Math.max((maxLat - minLat) * margin, 1);
113
+ return {
114
+ x: { min: minLon - padX, max: maxLon + padX },
115
+ y: { min: minLat - padY, max: maxLat + padY },
116
+ };
117
+ }
118
+ /**
119
+ * The degrees under a terminal cell, given the window the map was drawn with.
120
+ *
121
+ * The inverse of what the canvas does on the way in, taken at the centre of the
122
+ * cell: a click lands on a whole cell, and the centre is the only point in it
123
+ * that is not arbitrarily nearer one neighbour than the other.
124
+ */
125
+ export function degreesAt(column, row, width, height, x = WORLD_X, y = WORLD_Y) {
126
+ if (width <= 0 || height <= 0)
127
+ return undefined;
128
+ // The canvas is 2x4 Braille pixels per cell, and it spans its bounds across
129
+ // `pixels - 1`, so the inverse has to use the same denominators or a click
130
+ // drifts from what was drawn.
131
+ const px = Math.max(1, width * 2 - 1);
132
+ const py = Math.max(1, height * 4 - 1);
133
+ const lon = x.min + ((column * 2 + 1) / px) * (x.max - x.min);
134
+ const lat = y.min + (1 - (row * 4 + 2) / py) * (y.max - y.min);
135
+ return { lon, lat };
136
+ }
137
+ //# sourceMappingURL=world.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"world.js","sourceRoot":"","sources":["../../src/graphics/world.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -15,20 +15,20 @@
15
15
  export { App, createApp, type AppOptions, type RenderArgs, type RenderFn, type FrameStats } from "./app.ts";
16
16
  export { Container, GridContainer } from "./ui.ts";
17
17
  export type { RenderContext, ContainerOptions, PanelOptions, GridOptions, CellOptions, HitRegion, } from "./ui.ts";
18
- export { Terminal, createTerminal, emergencyRestore, type TerminalOptions, type TerminalSize } from "./terminal.ts";
18
+ export { Terminal, createTerminal, emergencyRestore, type TerminalOptions, type TerminalSize, type Viewport, type Rect as ViewportRect, } from "./terminal.ts";
19
19
  export { detectCapabilities, type Capabilities, type ColorDepth, type CapabilityOverrides } from "./capabilities.ts";
20
20
  export { FrameBuffer, Attr, type Style, type Attributes } from "./buffer.ts";
21
21
  export { Encoder, encodeFull, type EncodeResult } from "./diff.ts";
22
- export { Surface, createSurface, BORDERS, type BorderStyle, type BoxOptions, type Align } from "./surface.ts";
22
+ export { Surface, createSurface, BORDERS, resolveSides, type BorderStyle, type BoxOptions, type Align, type Side, type Sides, } from "./surface.ts";
23
23
  export { ansi, stripAnsi, moveTo, setTitle } from "./ansi.ts";
24
24
  export { rgb, hex, ansi256, gradient, gradientSteps, mix, alpha, lighten, darken, grayscale, luminance, contrast, to256, to16, from256, DEFAULT_COLOR, type Color, } from "./color.ts";
25
25
  export { themes, themeList, defineTheme, resolveTheme, elevate, heatColor, seriesColor, type Theme, type ThemeName, } from "./theme.ts";
26
- export { solve, stack, inset, intersect, contains, isEmpty, fixed, percent, flex, auto, fill, remaining, minmax, normalizePadding, type Rect, type Size, type Constraint, type Padding, } from "./layout.ts";
26
+ export { solve, stack, inset, intersect, contains, isEmpty, fixed, percent, flex, auto, fill, remaining, minmax, normalizePadding, distribute, type Rect, type Size, type Constraint, type Padding, type Justify, } from "./layout.ts";
27
27
  export { InputParser, matchKey, type InputEvent, type KeyEvent, type MouseEvent, type PasteEvent, type FocusEvent } from "./input.ts";
28
28
  export { stringWidth, truncate, fit, wrap, graphemes, charWidth } from "./unicode.ts";
29
29
  export { isRich, spanStyle, spanText, spanWidth, toSpanLines, truncateSpans, fitSpans, wrapSpans, wrapRich, type Span, type SpanLine, type RichText, } from "./richtext.ts";
30
30
  export { BrailleCanvas } from "./graphics/braille.ts";
31
- export { plot, blit, sparkline, bar, gauge, donut, histogram, verticalGlyph, horizontalGlyph, shadeGlyph, bestMode, type Series, type PlotOptions, type FillMode, } from "./graphics/index.ts";
31
+ export { plot, blit, sparkline, bar, gauge, donut, histogram, verticalGlyph, horizontalGlyph, shadeGlyph, bestMode, plotPoints, domainOf, drawCanvas, projection, worldShapes, countryAt, findCountry, countryBounds, degreesAt, WORLD_COUNTRIES, WORLD_X, WORLD_Y, type Series, type PlotOptions, type FillMode, type Point, type MarkType, type ChartSeries, type AxisOptions, type ChartPlotOptions, type Domain, type Shape, type Bounds, type CanvasOptions, type Projection, type CountryOutline, type WorldShapeOptions, } from "./graphics/index.ts";
32
32
  export * as widgets from "./widgets/index.ts";
33
33
  export { renderToScreen, renderToText, renderToAnsi, renderToHtml, renderFrames } from "./testing.ts";
34
34
  export type { RenderedScreen, RenderOptions, CellSnapshot } from "./testing.ts";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -15,19 +15,19 @@
15
15
  export { App, createApp } from "./app.js";
16
16
  export { Container, GridContainer } from "./ui.js";
17
17
  // Terminal + capabilities
18
- export { Terminal, createTerminal, emergencyRestore } from "./terminal.js";
18
+ export { Terminal, createTerminal, emergencyRestore, } from "./terminal.js";
19
19
  export { detectCapabilities } from "./capabilities.js";
20
20
  // Rendering core
21
21
  export { FrameBuffer, Attr } from "./buffer.js";
22
22
  export { Encoder, encodeFull } from "./diff.js";
23
- export { Surface, createSurface, BORDERS } from "./surface.js";
23
+ export { Surface, createSurface, BORDERS, resolveSides, } from "./surface.js";
24
24
  export { ansi, stripAnsi, moveTo, setTitle } from "./ansi.js";
25
25
  // Color
26
26
  export { rgb, hex, ansi256, gradient, gradientSteps, mix, alpha, lighten, darken, grayscale, luminance, contrast, to256, to16, from256, DEFAULT_COLOR, } from "./color.js";
27
27
  // Theme
28
28
  export { themes, themeList, defineTheme, resolveTheme, elevate, heatColor, seriesColor, } from "./theme.js";
29
29
  // Layout
30
- export { solve, stack, inset, intersect, contains, isEmpty, fixed, percent, flex, auto, fill, remaining, minmax, normalizePadding, } from "./layout.js";
30
+ export { solve, stack, inset, intersect, contains, isEmpty, fixed, percent, flex, auto, fill, remaining, minmax, normalizePadding, distribute, } from "./layout.js";
31
31
  // Input
32
32
  export { InputParser, matchKey } from "./input.js";
33
33
  // Text
@@ -35,7 +35,7 @@ export { stringWidth, truncate, fit, wrap, graphemes, charWidth } from "./unicod
35
35
  export { isRich, spanStyle, spanText, spanWidth, toSpanLines, truncateSpans, fitSpans, wrapSpans, wrapRich, } from "./richtext.js";
36
36
  // Graphics
37
37
  export { BrailleCanvas } from "./graphics/braille.js";
38
- export { plot, blit, sparkline, bar, gauge, donut, histogram, verticalGlyph, horizontalGlyph, shadeGlyph, bestMode, } from "./graphics/index.js";
38
+ export { plot, blit, sparkline, bar, gauge, donut, histogram, verticalGlyph, horizontalGlyph, shadeGlyph, bestMode, plotPoints, domainOf, drawCanvas, projection, worldShapes, countryAt, findCountry, countryBounds, degreesAt, WORLD_COUNTRIES, WORLD_X, WORLD_Y, } from "./graphics/index.js";
39
39
  // Widgets (for drawing straight onto a Surface)
40
40
  export * as widgets from "./widgets/index.js";
41
41
  // Headless rendering + testing
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,GAAG,EAAE,SAAS,EAAoE,MAAM,UAAU,CAAC;AAC5G,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAKnD,0BAA0B;AAC1B,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,EAA2C,MAAM,eAAe,CAAC;AACpH,OAAO,EAAE,kBAAkB,EAAgE,MAAM,mBAAmB,CAAC;AAErH,iBAAiB;AACjB,OAAO,EAAE,WAAW,EAAE,IAAI,EAA+B,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,UAAU,EAAqB,MAAM,WAAW,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAiD,MAAM,cAAc,CAAC;AAC9G,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE9D,QAAQ;AACR,OAAO,EACL,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAClF,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,GACzD,MAAM,YAAY,CAAC;AAEpB,QAAQ;AACR,OAAO,EACL,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,GAE9E,MAAM,YAAY,CAAC;AAEpB,SAAS;AACT,OAAO,EACL,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EACnF,SAAS,EAAE,MAAM,EAAE,gBAAgB,GACpC,MAAM,aAAa,CAAC;AAErB,QAAQ;AACR,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAqF,MAAM,YAAY,CAAC;AAEtI,OAAO;AACP,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACtF,OAAO,EACL,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EACnD,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,GAE7C,MAAM,eAAe,CAAC;AAEvB,WAAW;AACX,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EACL,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EACnD,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,GAErD,MAAM,qBAAqB,CAAC;AAE7B,gDAAgD;AAChD,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAE9C,+BAA+B;AAC/B,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,GAAG,EAAE,SAAS,EAAoE,MAAM,UAAU,CAAC;AAC5G,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAKnD,0BAA0B;AAC1B,OAAO,EACL,QAAQ,EAAE,cAAc,EAAE,gBAAgB,GAE3C,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAAgE,MAAM,mBAAmB,CAAC;AAErH,iBAAiB;AACjB,OAAO,EAAE,WAAW,EAAE,IAAI,EAA+B,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,UAAU,EAAqB,MAAM,WAAW,CAAC;AACnE,OAAO,EACL,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,GAE9C,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE9D,QAAQ;AACR,OAAO,EACL,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAClF,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,GACzD,MAAM,YAAY,CAAC;AAEpB,QAAQ;AACR,OAAO,EACL,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,GAE9E,MAAM,YAAY,CAAC;AAEpB,SAAS;AACT,OAAO,EACL,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EACnF,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,UAAU,GAEhD,MAAM,aAAa,CAAC;AAErB,QAAQ;AACR,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAqF,MAAM,YAAY,CAAC;AAEtI,OAAO;AACP,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACtF,OAAO,EACL,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EACnD,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,GAE7C,MAAM,eAAe,CAAC;AAEvB,WAAW;AACX,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EACL,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EACnD,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EACpD,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAC5C,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAC7D,eAAe,EAAE,OAAO,EAAE,OAAO,GAKlC,MAAM,qBAAqB,CAAC;AAE7B,gDAAgD;AAChD,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAE9C,+BAA+B;AAC/B,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC"}
package/dist/layout.d.ts CHANGED
@@ -39,8 +39,28 @@ export declare const minmax: (min: number, max: number) => Constraint;
39
39
  * the ordinary gap everywhere else on the same row.
40
40
  */
41
41
  export declare function solve(total: number, items: Constraint[], gap?: number | number[]): number[];
42
+ /**
43
+ * Where leftover space goes.
44
+ *
45
+ * It only ever applies when there is slack, and a container holding any `fr`
46
+ * or `fill` child has none -- that child has already absorbed it. So this is
47
+ * inert exactly where it would otherwise fight with the constraints.
48
+ */
49
+ export type Justify = "start" | "end" | "center" | "space-between" | "space-around" | "space-evenly";
50
+ /**
51
+ * The offset before the first child, and the extra added at each seam.
52
+ *
53
+ * Cells are whole, and rounding each gap on its own loses a cell here and
54
+ * gains one there. Rounding the *cumulative* offset instead and taking
55
+ * differences means the parts always add up to exactly the slack, whatever the
56
+ * mode and however awkward the division.
57
+ */
58
+ export declare function distribute(slack: number, count: number, justify: Justify): {
59
+ lead: number;
60
+ seams: number[];
61
+ };
42
62
  /** Lay children out along one axis inside `rect`. */
43
- export declare function stack(rect: Rect, items: Constraint[], direction: "row" | "column", gap?: number | number[]): Rect[];
63
+ export declare function stack(rect: Rect, items: Constraint[], direction: "row" | "column", gap?: number | number[], justify?: Justify): Rect[];
44
64
  export type Padding = number | [number, number] | [number, number, number, number] | {
45
65
  top?: number;
46
66
  right?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../src/layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;AAEnC,MAAM,WAAW,IAAI;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,KAAK,MAAO,MAAM,KAAG,IAAS,CAAC;AAC5C,eAAO,MAAM,OAAO,MAAO,MAAM,KAAG,IAAe,CAAC;AACpD,eAAO,MAAM,IAAI,kBAAY,IAAgB,CAAC;AAC9C,eAAO,MAAM,IAAI,EAAE,IAAa,CAAC;AACjC,eAAO,MAAM,IAAI,EAAE,IAAa,CAAC;AACjC,eAAO,MAAM,SAAS,QAAO,IAAc,CAAC;AAC5C,eAAO,MAAM,MAAM,QAAS,MAAM,OAAO,MAAM,KAAG,UAA0C,CAAC;AAiC7F;;;GAGG;AACH;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,GAAG,GAAE,MAAM,GAAG,MAAM,EAAM,GAAG,MAAM,EAAE,CAgF9F;AAED,qDAAqD;AACrD,wBAAgB,KAAK,CACnB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,UAAU,EAAE,EACnB,SAAS,EAAE,KAAK,GAAG,QAAQ,EAC3B,GAAG,GAAE,MAAM,GAAG,MAAM,EAAM,GACzB,IAAI,EAAE,CAeR;AAED,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAChF;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnE,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAQzF;AAED,iDAAiD;AACjD,wBAAgB,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAQxD;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,CAMhD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAElE;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAE3C"}
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../src/layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;AAEnC,MAAM,WAAW,IAAI;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,KAAK,MAAO,MAAM,KAAG,IAAS,CAAC;AAC5C,eAAO,MAAM,OAAO,MAAO,MAAM,KAAG,IAAe,CAAC;AACpD,eAAO,MAAM,IAAI,kBAAY,IAAgB,CAAC;AAC9C,eAAO,MAAM,IAAI,EAAE,IAAa,CAAC;AACjC,eAAO,MAAM,IAAI,EAAE,IAAa,CAAC;AACjC,eAAO,MAAM,SAAS,QAAO,IAAc,CAAC;AAC5C,eAAO,MAAM,MAAM,QAAS,MAAM,OAAO,MAAM,KAAG,UAA0C,CAAC;AAiC7F;;;GAGG;AACH;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,GAAG,GAAE,MAAM,GAAG,MAAM,EAAM,GAAG,MAAM,EAAE,CAgF9F;AAED;;;;;;GAMG;AACH,MAAM,MAAM,OAAO,GACf,OAAO,GACP,KAAK,GACL,QAAQ,GACR,eAAe,GACf,cAAc,GACd,cAAc,CAAC;AA8BnB;;;;;;;GAOG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,GACf;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAOnC;AAED,qDAAqD;AACrD,wBAAgB,KAAK,CACnB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,UAAU,EAAE,EACnB,SAAS,EAAE,KAAK,GAAG,QAAQ,EAC3B,GAAG,GAAE,MAAM,GAAG,MAAM,EAAM,EAC1B,OAAO,GAAE,OAAiB,GACzB,IAAI,EAAE,CAsBR;AAED,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAChF;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnE,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAQzF;AAED,iDAAiD;AACjD,wBAAgB,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAQxD;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,CAMhD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAElE;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAE3C"}
package/dist/layout.js CHANGED
@@ -118,18 +118,68 @@ export function solve(total, items, gap = 0) {
118
118
  }
119
119
  return out;
120
120
  }
121
+ /**
122
+ * How much slack sits before item `i`, as an exact fraction.
123
+ *
124
+ * Every mode is a different answer to that one question, which is why they can
125
+ * share the rounding below rather than each doing their own and each getting a
126
+ * different kind of off-by-one.
127
+ */
128
+ function before(i, slack, count, justify) {
129
+ switch (justify) {
130
+ case "end":
131
+ return slack;
132
+ case "center":
133
+ // Floor, so an odd cell falls after the content rather than before it.
134
+ // That is what CSS and ratatui do, and it is what reads as centred.
135
+ return Math.floor(slack / 2);
136
+ case "space-between":
137
+ // One child has nothing to sit between, so it stays where it started.
138
+ return count > 1 ? (i * slack) / (count - 1) : 0;
139
+ case "space-evenly":
140
+ return ((i + 1) * slack) / (count + 1);
141
+ case "space-around":
142
+ // Half a share at each end, a whole one between.
143
+ return ((i + 0.5) * slack) / count;
144
+ default:
145
+ return 0;
146
+ }
147
+ }
148
+ /**
149
+ * The offset before the first child, and the extra added at each seam.
150
+ *
151
+ * Cells are whole, and rounding each gap on its own loses a cell here and
152
+ * gains one there. Rounding the *cumulative* offset instead and taking
153
+ * differences means the parts always add up to exactly the slack, whatever the
154
+ * mode and however awkward the division.
155
+ */
156
+ export function distribute(slack, count, justify) {
157
+ const seams = new Array(Math.max(0, count - 1)).fill(0);
158
+ if (slack <= 0 || count === 0 || justify === "start")
159
+ return { lead: 0, seams };
160
+ const at = (i) => Math.round(before(i, slack, count, justify));
161
+ for (let i = 0; i + 1 < count; i++)
162
+ seams[i] = at(i + 1) - at(i);
163
+ return { lead: at(0), seams };
164
+ }
121
165
  /** Lay children out along one axis inside `rect`. */
122
- export function stack(rect, items, direction, gap = 0) {
166
+ export function stack(rect, items, direction, gap = 0, justify = "start") {
123
167
  const horizontal = direction === "row";
124
- const sizes = solve(horizontal ? rect.width : rect.height, items, gap);
168
+ const axis = horizontal ? rect.width : rect.height;
169
+ const sizes = solve(axis, items, gap);
125
170
  const seam = (i) => (Array.isArray(gap) ? (gap[i] ?? 0) : gap);
171
+ let gapTotal = 0;
172
+ for (let i = 0; i + 1 < sizes.length; i++)
173
+ gapTotal += seam(i);
174
+ const slack = Math.max(0, axis - sizes.reduce((a, b) => a + b, 0) - gapTotal);
175
+ const { lead, seams } = distribute(slack, sizes.length, justify);
126
176
  const out = [];
127
- let offset = horizontal ? rect.x : rect.y;
177
+ let offset = (horizontal ? rect.x : rect.y) + lead;
128
178
  sizes.forEach((size, i) => {
129
179
  out.push(horizontal
130
180
  ? { x: offset, y: rect.y, width: size, height: rect.height }
131
181
  : { x: rect.x, y: offset, width: rect.width, height: size });
132
- offset += size + seam(i);
182
+ offset += size + seam(i) + (seams[i] ?? 0);
133
183
  });
134
184
  return out;
135
185
  }
@@ -1 +1 @@
1
- {"version":3,"file":"layout.js","sourceRoot":"","sources":["../src/layout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layout.js","sourceRoot":"","sources":["../src/layout.ts"],"names":[],"mappings":"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"}