@promptctl/rich-js 0.3.1 → 0.5.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 (61) hide show
  1. package/README.md +19 -15
  2. package/dist/core/console.d.ts +29 -11
  3. package/dist/core/console.d.ts.map +1 -1
  4. package/dist/core/console.js +86 -30
  5. package/dist/core/console.js.map +1 -1
  6. package/dist/core/render.d.ts.map +1 -1
  7. package/dist/core/render.js +8 -1
  8. package/dist/core/render.js.map +1 -1
  9. package/dist/core/sanitize.d.ts +16 -0
  10. package/dist/core/sanitize.d.ts.map +1 -0
  11. package/dist/core/sanitize.js +19 -0
  12. package/dist/core/sanitize.js.map +1 -0
  13. package/dist/core/strip.d.ts +16 -74
  14. package/dist/core/strip.d.ts.map +1 -1
  15. package/dist/core/strip.js +42 -84
  16. package/dist/core/strip.js.map +1 -1
  17. package/dist/core/style.d.ts +1 -0
  18. package/dist/core/style.d.ts.map +1 -1
  19. package/dist/core/style.js +38 -5
  20. package/dist/core/style.js.map +1 -1
  21. package/dist/core/text.d.ts +54 -1
  22. package/dist/core/text.d.ts.map +1 -1
  23. package/dist/core/text.js +194 -12
  24. package/dist/core/text.js.map +1 -1
  25. package/dist/index.d.ts +7 -3
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +3 -1
  28. package/dist/index.js.map +1 -1
  29. package/dist/node/prompt.d.ts +22 -0
  30. package/dist/node/prompt.d.ts.map +1 -0
  31. package/dist/node/prompt.js +31 -0
  32. package/dist/node/prompt.js.map +1 -0
  33. package/dist/node/save.d.ts +22 -0
  34. package/dist/node/save.d.ts.map +1 -0
  35. package/dist/node/save.js +22 -0
  36. package/dist/node/save.js.map +1 -0
  37. package/dist/renderables/prompt.d.ts +31 -6
  38. package/dist/renderables/prompt.d.ts.map +1 -1
  39. package/dist/renderables/prompt.js +39 -22
  40. package/dist/renderables/prompt.js.map +1 -1
  41. package/dist/widgets/event-router.d.ts +16 -14
  42. package/dist/widgets/event-router.d.ts.map +1 -1
  43. package/dist/widgets/event-router.js +71 -38
  44. package/dist/widgets/event-router.js.map +1 -1
  45. package/dist/widgets/host-stream.d.ts +31 -0
  46. package/dist/widgets/host-stream.d.ts.map +1 -0
  47. package/dist/widgets/host-stream.js +36 -0
  48. package/dist/widgets/host-stream.js.map +1 -0
  49. package/dist/widgets/index.d.ts +3 -0
  50. package/dist/widgets/index.d.ts.map +1 -1
  51. package/dist/widgets/index.js +2 -0
  52. package/dist/widgets/index.js.map +1 -1
  53. package/dist/widgets/screen.d.ts +12 -5
  54. package/dist/widgets/screen.d.ts.map +1 -1
  55. package/dist/widgets/screen.js +9 -11
  56. package/dist/widgets/screen.js.map +1 -1
  57. package/dist/widgets/terminal-host.d.ts +188 -0
  58. package/dist/widgets/terminal-host.d.ts.map +1 -0
  59. package/dist/widgets/terminal-host.js +258 -0
  60. package/dist/widgets/terminal-host.js.map +1 -0
  61. package/package.json +20 -6
@@ -15,88 +15,30 @@
15
15
  * is the single authority for how strips lay out. Every joiner participates
16
16
  * in the same protocol; "look up the previous segment's bg" is no longer a
17
17
  * powerline-specific hack but the contract every joiner shares.
18
+ *
19
+ * [LAW:locality-or-seam] The joiner protocol asks each item only for its
20
+ * *edge* style — the column adjacent to the joiner — not for a single
21
+ * whole-item style. This pushes the bg-uniformity requirement out of the
22
+ * cell type and into the narrowest place that actually needs it: the column
23
+ * boundary. Items with uniform styling report the same style at both edges;
24
+ * items with varying styling report the actual boundary column. There is no
25
+ * single-style invariant on the cell type — the terminal supports per-column
26
+ * styling, so the cell type does too.
18
27
  */
19
28
  import { Segment } from "./segment.js";
20
29
  import { Style } from "./style.js";
21
30
  import type { Renderable, RenderOptions } from "./protocol.js";
22
31
  /**
23
- * Items in a `Strip` expose a single dominant `style` so joiners can read
24
- * fg/bg without inspecting the rendered output.
25
- *
26
- * ## Single-style invariant (load-bearing)
27
- *
28
- * Joiners — `PowerlineJoiner`, `CapsuleJoiner`, `GradientJoiner` — paint edges
29
- * by reading `item.style.bgcolor` for adjacent items. If `render()` emits a
30
- * `Segment` whose `style.bgcolor` diverges from `this.style.bgcolor`, the
31
- * arrow/cap glyph between this item and its neighbour will use the *declared*
32
- * bg even though the item *displayed* a different bg. The result is a
33
- * visually wrong transition (e.g. a powerline arrow whose source colour
34
- * doesn't match the cell it's bleeding out of).
35
- *
36
- * **The invariant**: for every `Segment` yielded by `render()`, either
37
- * - `segment.style.bgcolor === this.style.bgcolor`, or
38
- * - `segment.style.bgcolor === undefined` (transparent — terminal default).
39
- *
40
- * Foreground colour and text attributes (bold, italic, underline, etc.) may
41
- * vary freely within a single item — only `bgcolor` is constrained, because
42
- * that's the only field joiners read.
32
+ * Items in a `Strip` expose their per-edge style so joiners can paint the
33
+ * transition glyph at each boundary.
43
34
  *
44
- * ## What breaks the invariant
45
- *
46
- * - Yielding inline `Segment`s with their own `bgcolor` set to a different
47
- * value (e.g. an embedded "warning" highlight with a yellow background).
48
- * - Wrapping a renderable that paints its own background — `Panel`, a styled
49
- * `Group`, or any `RichText` whose base style includes a bg.
50
- *
51
- * ## The safe path
52
- *
53
- * Use `StripCell(text, style)` for plain styled text — it satisfies the
54
- * invariant by construction. For richer items, implement this interface
55
- * directly and ensure your `render()` only emits Segments whose bg matches
56
- * `this.style.bgcolor` (or is undefined). Inline fg variation is fine; bg
57
- * variation is not.
35
+ * `edgeStyle("left")` reports the style of the item's leftmost cell column;
36
+ * `edgeStyle("right")` reports the rightmost. Joiners read only these — the
37
+ * item's interior may carry any per-column variation without breaking the
38
+ * join.
58
39
  */
59
40
  export interface StyledRenderable extends Renderable {
60
- readonly style: Style;
61
- }
62
- /**
63
- * A styled run within a `StripCell` — text plus an optional foreground /
64
- * text-attribute overlay. Used to express inline fg variation inside a single
65
- * cell (e.g. a status string where some characters render green and others
66
- * red, all on the same cell-level bg).
67
- *
68
- * The overlay must NOT set `bgcolor`. Cell-level bg is the joiner-visible bg
69
- * per the single-style invariant on `StyledRenderable`; allowing parts to
70
- * override it would silently violate that invariant. `StripCell` rejects parts
71
- * with a `bgcolor` overlay at construction.
72
- */
73
- export interface StripCellPart {
74
- readonly text: string;
75
- readonly style?: Style;
76
- }
77
- /**
78
- * Canonical safe implementation of `StyledRenderable`. Two construction
79
- * shapes:
80
- *
81
- * - `new StripCell(text, style)` — a single styled run. One segment out.
82
- * - `new StripCell(parts, style)` — multiple runs sharing one cell-level
83
- * `style`. Each part may carry its own fg / attribute overlay; cell-level
84
- * `style` always governs the bg. Consumers needing inline fg variation
85
- * (e.g. `[ main S +3 -2 ]` where `S`/`+3` are green, `-2` is red, all on
86
- * the same blue bg) use this shape instead of writing a custom
87
- * `StyledRenderable`.
88
- *
89
- * Both shapes satisfy the single-style invariant by construction: parts with
90
- * `bgcolor` set are rejected, so every emitted `Segment`'s bg matches
91
- * `this.style.bgcolor` (or is undefined when the cell has no bg).
92
- */
93
- export declare class StripCell implements StyledRenderable {
94
- readonly text: string;
95
- readonly style: Style;
96
- private readonly _parts;
97
- constructor(text: string, style?: Style);
98
- constructor(parts: readonly StripCellPart[], style?: Style);
99
- render(_options: RenderOptions): Iterable<Segment>;
41
+ edgeStyle(side: "left" | "right"): Style;
100
42
  }
101
43
  export interface Joiner<T extends StyledRenderable = StyledRenderable> {
102
44
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"strip.d.ts","sourceRoot":"","sources":["../../src/core/strip.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"strip.d.ts","sourceRoot":"","sources":["../../src/core/strip.ts"],"names":[],"mappings":"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"}
@@ -15,62 +15,19 @@
15
15
  * is the single authority for how strips lay out. Every joiner participates
16
16
  * in the same protocol; "look up the previous segment's bg" is no longer a
17
17
  * powerline-specific hack but the contract every joiner shares.
18
+ *
19
+ * [LAW:locality-or-seam] The joiner protocol asks each item only for its
20
+ * *edge* style — the column adjacent to the joiner — not for a single
21
+ * whole-item style. This pushes the bg-uniformity requirement out of the
22
+ * cell type and into the narrowest place that actually needs it: the column
23
+ * boundary. Items with uniform styling report the same style at both edges;
24
+ * items with varying styling report the actual boundary column. There is no
25
+ * single-style invariant on the cell type — the terminal supports per-column
26
+ * styling, so the cell type does too.
18
27
  */
19
28
  import { Segment } from "./segment.js";
20
- import { Style, NULL_STYLE } from "./style.js";
29
+ import { Style } from "./style.js";
21
30
  import { ColorSpec, blendRgb } from "./color.js";
22
- /**
23
- * Canonical safe implementation of `StyledRenderable`. Two construction
24
- * shapes:
25
- *
26
- * - `new StripCell(text, style)` — a single styled run. One segment out.
27
- * - `new StripCell(parts, style)` — multiple runs sharing one cell-level
28
- * `style`. Each part may carry its own fg / attribute overlay; cell-level
29
- * `style` always governs the bg. Consumers needing inline fg variation
30
- * (e.g. `[ main S +3 -2 ]` where `S`/`+3` are green, `-2` is red, all on
31
- * the same blue bg) use this shape instead of writing a custom
32
- * `StyledRenderable`.
33
- *
34
- * Both shapes satisfy the single-style invariant by construction: parts with
35
- * `bgcolor` set are rejected, so every emitted `Segment`'s bg matches
36
- * `this.style.bgcolor` (or is undefined when the cell has no bg).
37
- */
38
- export class StripCell {
39
- text;
40
- style;
41
- _parts;
42
- constructor(textOrParts, style) {
43
- this.style = style ?? NULL_STYLE;
44
- if (typeof textOrParts === "string") {
45
- this.text = textOrParts;
46
- this._parts = [{ text: textOrParts }];
47
- return;
48
- }
49
- // [LAW:single-enforcer] cell-level bg is the only joiner-visible bg.
50
- // Reject parts that try to set their own bg at construction so the
51
- // invariant cannot be silently broken downstream.
52
- for (const part of textOrParts) {
53
- if (part.style?.bgcolor !== undefined) {
54
- throw new Error("StripCell part style must not set bgcolor — cell-level style governs the bg (single-style invariant). Use the cell `style` argument for bg.");
55
- }
56
- }
57
- this._parts = textOrParts.slice();
58
- this.text = textOrParts.map((p) => p.text).join("");
59
- }
60
- *render(_options) {
61
- // [LAW:dataflow-not-control-flow] The walk is identical for both
62
- // construction shapes: one part for the (text, style) form, N parts for
63
- // the parts form. Variability lives in `_parts`, not in branching here.
64
- for (const part of this._parts) {
65
- const partStyle = part.style;
66
- // `Style.add` keeps `this.style.bgcolor` whenever the overlay's bg is
67
- // undefined — and the constructor guarantees that. So the merged style
68
- // always satisfies `merged.bgcolor === this.style.bgcolor`.
69
- const style = partStyle ? this.style.add(partStyle) : this.style;
70
- yield new Segment(part.text, style);
71
- }
72
- }
73
- }
74
31
  // --- Strip ---
75
32
  export class Strip {
76
33
  items;
@@ -113,17 +70,17 @@ class FixedSegment {
113
70
  yield new Segment(this._text, this._style);
114
71
  }
115
72
  }
116
- function bgAsFg(item) {
117
- // Endpoint and powerline join glyphs paint the previous/next item's bg
118
- // *as* their fg. If the source item has no bgcolor, the glyph degrades to
119
- // the default fg — which renders as nothing visible against the terminal
120
- // background, the right outcome for an unstyled cell.
121
- return new Style({ color: item.style.bgcolor });
73
+ // Endpoint and powerline join glyphs paint the adjacent item's edge bg
74
+ // *as* their fg. If the edge has no bgcolor, the glyph degrades to the
75
+ // default fg — which renders as nothing visible against the terminal
76
+ // background, the right outcome for an unstyled edge.
77
+ function bgAsFg(edge) {
78
+ return new Style({ color: edge.bgcolor });
122
79
  }
123
80
  export class PowerlineJoiner {
124
81
  _glyph;
125
82
  constructor(options) {
126
- this._glyph = options?.glyph ?? "\ue0b0";
83
+ this._glyph = options?.glyph ?? "";
127
84
  }
128
85
  join(left, right) {
129
86
  // Start cap: empty. A right-pointing arrow with no source segment to its
@@ -132,21 +89,22 @@ export class PowerlineJoiner {
132
89
  if (left === null)
133
90
  return EMPTY;
134
91
  if (right === null) {
135
- // End cap: fg = left.bg, no bg — last segment bleeds out into the
136
- // terminal background.
137
- return new FixedSegment(this._glyph, bgAsFg(left));
92
+ // End cap: fg = left's right edge bg, no bg — bleed out into terminal bg.
93
+ return new FixedSegment(this._glyph, bgAsFg(left.edgeStyle("right")));
138
94
  }
139
- // [LAW:dataflow-not-control-flow] The transition is a function of the
140
- // input colors. When both neighbors share a bg, there is no visual
141
- // transition to paint — emit EMPTY so the coalescer in segmentsToString
142
- // can merge adjacent same-style cells under one SGR wrap. Without this,
143
- // a same-bg "transition" would emit an invisible glyph whose SGR codes
144
- // still split the SGR run, defeating coalescing for everyone downstream.
145
- // Equality uses `.name` to match Style.equals' precedent (style.ts:276).
146
- if (left.style.bgcolor?.name === right.style.bgcolor?.name)
147
- return EMPTY;
148
- // Middle: fg = left.bg, bg = right.bg.
149
- return new FixedSegment(this._glyph, new Style({ color: left.style.bgcolor, bgcolor: right.style.bgcolor }));
95
+ // [LAW:dataflow-not-control-flow] A join exists between every pair of
96
+ // items, structurally — the same FixedSegment every transition, never a
97
+ // branch that skips emission. The chevron is PAINT: fg = left's edge bg,
98
+ // bg = right's edge bg. When the two edge bgs are equal the glyph is drawn
99
+ // in its own background colour and is invisible — the correct outcome for
100
+ // "no visual transition", reached by colour data, not by deciding whether
101
+ // the join is present. Equal-bg coalescing is NOT structure: an item-aware
102
+ // consumer (one segment = one item) never relies on the joiner to merge
103
+ // an item's interior, and a same-bg seam between two distinct items is a
104
+ // real boundary that must survive.
105
+ const leftEdge = left.edgeStyle("right");
106
+ const rightEdge = right.edgeStyle("left");
107
+ return new FixedSegment(this._glyph, new Style({ color: leftEdge.bgcolor, bgcolor: rightEdge.bgcolor }));
150
108
  }
151
109
  }
152
110
  export class CapsuleJoiner {
@@ -154,26 +112,26 @@ export class CapsuleJoiner {
154
112
  _right;
155
113
  _separator;
156
114
  constructor(options) {
157
- this._left = options?.left ?? "\ue0b6";
158
- this._right = options?.right ?? "\ue0b4";
115
+ this._left = options?.left ?? "";
116
+ this._right = options?.right ?? "";
159
117
  this._separator = options?.separator ?? " ";
160
118
  }
161
119
  *_emit(left, right, options) {
162
120
  if (left === null && right === null)
163
121
  return;
164
122
  if (left === null) {
165
- yield new Segment(this._left, bgAsFg(right));
123
+ yield new Segment(this._left, bgAsFg(right.edgeStyle("left")));
166
124
  return;
167
125
  }
168
126
  if (right === null) {
169
- yield new Segment(this._right, bgAsFg(left));
127
+ yield new Segment(this._right, bgAsFg(left.edgeStyle("right")));
170
128
  return;
171
129
  }
172
130
  // Middle: close the left capsule, separator (unstyled), open the right.
173
- yield new Segment(this._right, bgAsFg(left));
131
+ yield new Segment(this._right, bgAsFg(left.edgeStyle("right")));
174
132
  if (this._separator.length > 0)
175
133
  yield new Segment(this._separator);
176
- yield new Segment(this._left, bgAsFg(right));
134
+ yield new Segment(this._left, bgAsFg(right.edgeStyle("left")));
177
135
  void options;
178
136
  }
179
137
  join(left, right) {
@@ -205,7 +163,7 @@ export class PlainJoiner {
205
163
  * two colour samples — `2 * steps` samples in `steps` cells — so the gradient
206
164
  * looks twice as smooth as one-colour-per-cell at the same width.
207
165
  */
208
- const HALF_BLOCK = "\u258c"; // ▌
166
+ const HALF_BLOCK = "▌"; // ▌
209
167
  export class GradientJoiner {
210
168
  _steps;
211
169
  constructor(options) {
@@ -214,11 +172,11 @@ export class GradientJoiner {
214
172
  join(left, right) {
215
173
  // [LAW:dataflow-not-control-flow] Endpoints have no opposite anchor to
216
174
  // interpolate toward — the data (a missing neighbor) makes the gradient
217
- // empty. Same for items lacking a bgcolor: nothing to blend between.
175
+ // empty. Same for edges lacking a bgcolor: nothing to blend between.
218
176
  if (left === null || right === null)
219
177
  return EMPTY;
220
- const lbg = left.style.bgcolor;
221
- const rbg = right.style.bgcolor;
178
+ const lbg = left.edgeStyle("right").bgcolor;
179
+ const rbg = right.edgeStyle("left").bgcolor;
222
180
  if (!lbg || !rbg)
223
181
  return EMPTY;
224
182
  const lTrip = lbg.getTruecolor();
@@ -1 +1 @@
1
- {"version":3,"file":"strip.js","sourceRoot":"","sources":["../../src/core/strip.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"strip.js","sourceRoot":"","sources":["../../src/core/strip.ts"],"names":[],"mappings":"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"}
@@ -63,6 +63,7 @@ export declare class Style {
63
63
  get transparentBackground(): boolean;
64
64
  get backgroundStyle(): Style;
65
65
  get withoutColor(): Style;
66
+ withLink(link: string | undefined): Style;
66
67
  clearMetaAndLinks(): Style;
67
68
  /**
68
69
  * Merges two styles. `other`'s values take priority.
@@ -1 +1 @@
1
- {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../src/core/style.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../src/core/style.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,12 @@
2
2
  * Immutable style descriptors — colors, text attributes, links, metadata.
3
3
  */
4
4
  import { ColorRgba, ColorSpec, } from "./color.js";
5
- // [LAW:one-way-deps] `core/style` depends only on `core/color`; the substrate
6
- // fallback is the canonical canvas color (black), inlined to avoid pulling in
7
- // any preset theme constants. Preset themes live in `src/themes/` and depend
8
- // on core, never the reverse.
5
+ import { stripOscTerminators } from "./sanitize.js";
6
+ // [LAW:one-way-deps] `core/style` depends only on `core/color` and the leaf
7
+ // `core/sanitize` (a dep-free utility module). The substrate fallback is the
8
+ // canonical canvas color (black), inlined to avoid pulling in any preset
9
+ // theme constants. Preset themes live in `src/themes/` and depend on core,
10
+ // never the reverse.
9
11
  const SURFACE_BLACK = new ColorRgba(0, 0, 0);
10
12
  // --- Attribute definitions ---
11
13
  /**
@@ -171,6 +173,31 @@ export class Style {
171
173
  meta: this.meta,
172
174
  });
173
175
  }
176
+ // [LAW:types-are-the-program] Structural clone helper — pure rearrangement
177
+ // of fields, no policy. Sanitization of the URL is the trust boundary's
178
+ // job (see RichText in text.ts); Style stays a faithful container so
179
+ // callers that have already sanitized are not silently re-mutated.
180
+ withLink(link) {
181
+ return new Style({
182
+ color: this.color,
183
+ bgcolor: this.bgcolor,
184
+ bold: this.bold,
185
+ dim: this.dim,
186
+ italic: this.italic,
187
+ underline: this.underline,
188
+ blink: this.blink,
189
+ blink2: this.blink2,
190
+ reverse: this.reverse,
191
+ conceal: this.conceal,
192
+ strike: this.strike,
193
+ underline2: this.underline2,
194
+ frame: this.frame,
195
+ encircle: this.encircle,
196
+ overline: this.overline,
197
+ link,
198
+ meta: this.meta,
199
+ });
200
+ }
174
201
  clearMetaAndLinks() {
175
202
  return new Style({
176
203
  color: this.color,
@@ -300,7 +327,13 @@ export class Style {
300
327
  // pair instead of sharing an id). The coalescer in render.ts already
301
328
  // merges adjacent same-link runs into one wrap, so the common case is
302
329
  // unaffected; non-adjacent hover-grouping is the intentional sacrifice.
303
- result = `\x1b]8;;${this.link}\x1b\\${result}\x1b]8;;\x1b\\`;
330
+ //
331
+ // [LAW:single-enforcer] Wire-byte sanitization at the OSC 8 emit site
332
+ // — paired with the same call in render.ts:segmentsToString so every
333
+ // path that turns `Style.link` into bytes goes through one rule. Style
334
+ // itself stays a faithful container (this.link is unchanged); only the
335
+ // bytes going out the door are stripped.
336
+ result = `\x1b]8;;${stripOscTerminators(this.link)}\x1b\\${result}\x1b]8;;\x1b\\`;
304
337
  }
305
338
  return result;
306
339
  }
@@ -1 +1 @@
1
- {"version":3,"file":"style.js","sourceRoot":"","sources":["../../src/core/style.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"style.js","sourceRoot":"","sources":["../../src/core/style.ts"],"names":[],"mappings":"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"}
@@ -47,7 +47,27 @@ export declare class RichText implements Renderable, Measurable {
47
47
  set overflow(value: "fold" | "crop" | "ellipsis" | undefined);
48
48
  get end(): string;
49
49
  set end(value: string);
50
+ get noWrap(): boolean;
51
+ set noWrap(value: boolean);
50
52
  get spans(): readonly Span[];
53
+ /**
54
+ * The style of the cell-column at the named edge — base style merged with
55
+ * any spans covering the leftmost (side="left") or rightmost (side="right")
56
+ * character.
57
+ *
58
+ * [LAW:locality-or-seam] Used by `Joiner`s to paint the transition between
59
+ * adjacent `Strip` items. Joiners only ever need the column adjacent to
60
+ * them, so the cell type exposes that column rather than constraining its
61
+ * interior to be uniform. For RichText with uniform styling, both edges
62
+ * return the same style; for RichText with edge variation, each edge
63
+ * accurately reports the column the joiner actually meets.
64
+ *
65
+ * Position is by character index (not cell column). For wide-character
66
+ * text, the last character occupies the rightmost cell column — the bg
67
+ * of that character covers both columns, so character-index lookup gives
68
+ * the correct edge color.
69
+ */
70
+ edgeStyle(side: "left" | "right"): Style;
51
71
  append(content: string | RichText, style?: string | Style): this;
52
72
  contains(needle: string | RichText): boolean;
53
73
  at(index: number): RichText;
@@ -67,10 +87,43 @@ export declare class RichText implements Renderable, Measurable {
67
87
  padRight(count: number, char?: string): this;
68
88
  setLength(length: number): this;
69
89
  extendStyle(count: number): this;
90
+ /**
91
+ * Truncate to a fixed cell-column width. Three modes, plus a back-compat
92
+ * `overflow` form.
93
+ *
94
+ * - `mode: "right"` (default) \u2014 drop characters from the right; append
95
+ * `marker` (if any) at the cut.
96
+ * - `mode: "left"` \u2014 drop characters from the left; prepend `marker` at
97
+ * the cut.
98
+ * - `mode: "middle"` \u2014 keep equal halves from both ends; place `marker`
99
+ * in the middle.
100
+ *
101
+ * Marker default is `"\u2026"`. Pass `marker: ""` for raw cropping without an
102
+ * indicator glyph.
103
+ *
104
+ * Legacy form: `{ overflow: "ellipsis" }` is equivalent to
105
+ * `{ mode: "right", marker: "\u2026" }`; `{ overflow: "crop" | "fold" }` is
106
+ * equivalent to `{ marker: "" }`.
107
+ *
108
+ * Spans are preserved through the cut: characters that survive keep their
109
+ * styling; the marker (if any) is inserted as plain text with no span.
110
+ * Use `stylize(...)` on the result to color the marker if needed.
111
+ *
112
+ * [LAW:dataflow-not-control-flow] mode/marker/width all flow as values;
113
+ * the walk is the same shape regardless. No "if truncated then rebuild"
114
+ * branch \u2014 the unchanged path just early-returns when content fits.
115
+ */
70
116
  truncate(width: number, options?: {
71
117
  overflow?: "fold" | "crop" | "ellipsis";
118
+ mode?: "right" | "left" | "middle";
119
+ marker?: string;
72
120
  }): this;
73
- private _truncateToWidth;
121
+ private _cropRightTo;
122
+ private _cropLeftTo;
123
+ /** Number of char-index code units that fit within `targetWidth` cell columns from the left. */
124
+ private _cellPrefixCharLength;
125
+ /** Char-index at which the suffix of `targetWidth` cell columns starts. */
126
+ private _cellSuffixStartCharIndex;
74
127
  align(justify: "left" | "center" | "right", width: number): this;
75
128
  removeSuffix(suffix: string): this;
76
129
  appendTokens(tokens: Array<[string, (string | Style)?]>): this;