@promptctl/rich-js 0.7.0 → 0.9.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 (201) hide show
  1. package/README.md +99 -31
  2. package/dist/core/box.d.ts +96 -42
  3. package/dist/core/box.d.ts.map +1 -1
  4. package/dist/core/box.js +348 -490
  5. package/dist/core/box.js.map +1 -1
  6. package/dist/core/cells.d.ts +46 -1
  7. package/dist/core/cells.d.ts.map +1 -1
  8. package/dist/core/cells.js +55 -14
  9. package/dist/core/cells.js.map +1 -1
  10. package/dist/core/color.d.ts.map +1 -1
  11. package/dist/core/color.js +22 -8
  12. package/dist/core/color.js.map +1 -1
  13. package/dist/core/console.d.ts +30 -14
  14. package/dist/core/console.d.ts.map +1 -1
  15. package/dist/core/console.js +176 -104
  16. package/dist/core/console.js.map +1 -1
  17. package/dist/core/highlighter.d.ts +2 -1
  18. package/dist/core/highlighter.d.ts.map +1 -1
  19. package/dist/core/highlighter.js +28 -6
  20. package/dist/core/highlighter.js.map +1 -1
  21. package/dist/{renderables → core}/json.d.ts +8 -3
  22. package/dist/core/json.d.ts.map +1 -0
  23. package/dist/{renderables → core}/json.js +7 -2
  24. package/dist/core/json.js.map +1 -0
  25. package/dist/core/markup.d.ts +6 -9
  26. package/dist/core/markup.d.ts.map +1 -1
  27. package/dist/core/markup.js +153 -47
  28. package/dist/core/markup.js.map +1 -1
  29. package/dist/core/measure.d.ts +11 -0
  30. package/dist/core/measure.d.ts.map +1 -1
  31. package/dist/core/measure.js +15 -3
  32. package/dist/core/measure.js.map +1 -1
  33. package/dist/core/oklch.d.ts +22 -0
  34. package/dist/core/oklch.d.ts.map +1 -1
  35. package/dist/core/oklch.js +62 -18
  36. package/dist/core/oklch.js.map +1 -1
  37. package/dist/core/pretty.d.ts +122 -0
  38. package/dist/core/pretty.d.ts.map +1 -0
  39. package/dist/core/pretty.js +398 -0
  40. package/dist/core/pretty.js.map +1 -0
  41. package/dist/core/protocol.d.ts +80 -0
  42. package/dist/core/protocol.d.ts.map +1 -1
  43. package/dist/core/protocol.js +85 -0
  44. package/dist/core/protocol.js.map +1 -1
  45. package/dist/core/segment.d.ts +26 -0
  46. package/dist/core/segment.d.ts.map +1 -1
  47. package/dist/core/segment.js +45 -0
  48. package/dist/core/segment.js.map +1 -1
  49. package/dist/core/strip.d.ts +9 -5
  50. package/dist/core/strip.d.ts.map +1 -1
  51. package/dist/core/strip.js +39 -41
  52. package/dist/core/strip.js.map +1 -1
  53. package/dist/core/style.d.ts +19 -0
  54. package/dist/core/style.d.ts.map +1 -1
  55. package/dist/core/style.js +46 -38
  56. package/dist/core/style.js.map +1 -1
  57. package/dist/core/subscription.d.ts +13 -0
  58. package/dist/core/subscription.d.ts.map +1 -0
  59. package/dist/core/subscription.js +13 -0
  60. package/dist/core/subscription.js.map +1 -0
  61. package/dist/core/text.d.ts +102 -4
  62. package/dist/core/text.d.ts.map +1 -1
  63. package/dist/core/text.js +332 -162
  64. package/dist/core/text.js.map +1 -1
  65. package/dist/core/wrap.d.ts +42 -0
  66. package/dist/core/wrap.d.ts.map +1 -0
  67. package/dist/core/wrap.js +128 -0
  68. package/dist/core/wrap.js.map +1 -0
  69. package/dist/host/host-stream.d.ts.map +1 -0
  70. package/dist/host/host-stream.js.map +1 -0
  71. package/dist/host/index.d.ts +4 -0
  72. package/dist/host/index.d.ts.map +1 -0
  73. package/dist/host/index.js +3 -0
  74. package/dist/host/index.js.map +1 -0
  75. package/dist/{widgets → host}/terminal-host.d.ts +20 -64
  76. package/dist/host/terminal-host.d.ts.map +1 -0
  77. package/dist/host/terminal-host.js +133 -0
  78. package/dist/host/terminal-host.js.map +1 -0
  79. package/dist/index.d.ts +13 -36
  80. package/dist/index.d.ts.map +1 -1
  81. package/dist/index.js +35 -22
  82. package/dist/index.js.map +1 -1
  83. package/dist/node/terminal-host.d.ts +85 -0
  84. package/dist/node/terminal-host.d.ts.map +1 -0
  85. package/dist/node/terminal-host.js +161 -0
  86. package/dist/node/terminal-host.js.map +1 -0
  87. package/dist/node/traceback.d.ts +28 -0
  88. package/dist/node/traceback.d.ts.map +1 -0
  89. package/dist/node/traceback.js +113 -0
  90. package/dist/node/traceback.js.map +1 -0
  91. package/dist/renderables/columns.d.ts +24 -2
  92. package/dist/renderables/columns.d.ts.map +1 -1
  93. package/dist/renderables/columns.js +91 -32
  94. package/dist/renderables/columns.js.map +1 -1
  95. package/dist/renderables/layout.d.ts +61 -5
  96. package/dist/renderables/layout.d.ts.map +1 -1
  97. package/dist/renderables/layout.js +191 -19
  98. package/dist/renderables/layout.js.map +1 -1
  99. package/dist/renderables/markdown.d.ts +1 -1
  100. package/dist/renderables/markdown.d.ts.map +1 -1
  101. package/dist/renderables/markdown.js +7 -14
  102. package/dist/renderables/markdown.js.map +1 -1
  103. package/dist/renderables/padding.d.ts +16 -3
  104. package/dist/renderables/padding.d.ts.map +1 -1
  105. package/dist/renderables/padding.js +96 -47
  106. package/dist/renderables/padding.js.map +1 -1
  107. package/dist/renderables/panel.d.ts +48 -7
  108. package/dist/renderables/panel.d.ts.map +1 -1
  109. package/dist/renderables/panel.js +175 -106
  110. package/dist/renderables/panel.js.map +1 -1
  111. package/dist/renderables/progress.d.ts +3 -3
  112. package/dist/renderables/progress.d.ts.map +1 -1
  113. package/dist/renderables/progress.js +11 -9
  114. package/dist/renderables/progress.js.map +1 -1
  115. package/dist/renderables/progressBar.d.ts +3 -3
  116. package/dist/renderables/progressBar.d.ts.map +1 -1
  117. package/dist/renderables/progressBar.js +9 -15
  118. package/dist/renderables/progressBar.js.map +1 -1
  119. package/dist/renderables/prompt.js +1 -1
  120. package/dist/renderables/prompt.js.map +1 -1
  121. package/dist/renderables/rule.d.ts +1 -1
  122. package/dist/renderables/rule.d.ts.map +1 -1
  123. package/dist/renderables/rule.js +5 -10
  124. package/dist/renderables/rule.js.map +1 -1
  125. package/dist/renderables/spinner.d.ts +2 -2
  126. package/dist/renderables/spinner.d.ts.map +1 -1
  127. package/dist/renderables/spinner.js +6 -11
  128. package/dist/renderables/spinner.js.map +1 -1
  129. package/dist/renderables/status.d.ts.map +1 -1
  130. package/dist/renderables/status.js +5 -11
  131. package/dist/renderables/status.js.map +1 -1
  132. package/dist/renderables/table.d.ts +90 -16
  133. package/dist/renderables/table.d.ts.map +1 -1
  134. package/dist/renderables/table.js +481 -223
  135. package/dist/renderables/table.js.map +1 -1
  136. package/dist/renderables/traceback.d.ts +7 -3
  137. package/dist/renderables/traceback.d.ts.map +1 -1
  138. package/dist/renderables/traceback.js +15 -18
  139. package/dist/renderables/traceback.js.map +1 -1
  140. package/dist/renderables/tree.d.ts +29 -4
  141. package/dist/renderables/tree.d.ts.map +1 -1
  142. package/dist/renderables/tree.js +86 -33
  143. package/dist/renderables/tree.js.map +1 -1
  144. package/dist/template-bindings/color-funcs.d.ts +3 -3
  145. package/dist/template-bindings/color-funcs.js +3 -3
  146. package/dist/template-bindings/helpers.d.ts.map +1 -1
  147. package/dist/template-bindings/helpers.js +19 -1
  148. package/dist/template-bindings/helpers.js.map +1 -1
  149. package/dist/template-bindings/index.d.ts +6 -7
  150. package/dist/template-bindings/index.d.ts.map +1 -1
  151. package/dist/template-bindings/index.js +6 -7
  152. package/dist/template-bindings/index.js.map +1 -1
  153. package/dist/template-bindings/palette-funcs.d.ts +17 -5
  154. package/dist/template-bindings/palette-funcs.d.ts.map +1 -1
  155. package/dist/template-bindings/palette-funcs.js +69 -6
  156. package/dist/template-bindings/palette-funcs.js.map +1 -1
  157. package/dist/template-bindings/style-funcs.d.ts +1 -1
  158. package/dist/template-bindings/style-funcs.js +1 -1
  159. package/dist/themes/ramp.d.ts +84 -0
  160. package/dist/themes/ramp.d.ts.map +1 -0
  161. package/dist/themes/ramp.js +123 -0
  162. package/dist/themes/ramp.js.map +1 -0
  163. package/dist/widgets/dropdown.d.ts +1 -1
  164. package/dist/widgets/dropdown.js +1 -1
  165. package/dist/widgets/event-router.d.ts +3 -2
  166. package/dist/widgets/event-router.d.ts.map +1 -1
  167. package/dist/widgets/focus-manager.d.ts +2 -1
  168. package/dist/widgets/focus-manager.d.ts.map +1 -1
  169. package/dist/widgets/index.d.ts +3 -6
  170. package/dist/widgets/index.d.ts.map +1 -1
  171. package/dist/widgets/index.js +4 -3
  172. package/dist/widgets/index.js.map +1 -1
  173. package/dist/widgets/screen.d.ts +1 -1
  174. package/dist/widgets/screen.d.ts.map +1 -1
  175. package/dist/widgets/text-input.d.ts +2 -3
  176. package/dist/widgets/text-input.d.ts.map +1 -1
  177. package/dist/widgets/text-input.js +4 -12
  178. package/dist/widgets/text-input.js.map +1 -1
  179. package/dist/widgets/types.d.ts +1 -1
  180. package/dist/widgets/types.d.ts.map +1 -1
  181. package/dist/widgets/types.js.map +1 -1
  182. package/dist/widgets/widget-base.d.ts +2 -1
  183. package/dist/widgets/widget-base.d.ts.map +1 -1
  184. package/package.json +38 -6
  185. package/dist/renderables/json.d.ts.map +0 -1
  186. package/dist/renderables/json.js.map +0 -1
  187. package/dist/renderables/pretty.d.ts +0 -29
  188. package/dist/renderables/pretty.d.ts.map +0 -1
  189. package/dist/renderables/pretty.js +0 -141
  190. package/dist/renderables/pretty.js.map +0 -1
  191. package/dist/themes/paletteResolver.d.ts +0 -35
  192. package/dist/themes/paletteResolver.d.ts.map +0 -1
  193. package/dist/themes/paletteResolver.js +0 -88
  194. package/dist/themes/paletteResolver.js.map +0 -1
  195. package/dist/widgets/host-stream.d.ts.map +0 -1
  196. package/dist/widgets/host-stream.js.map +0 -1
  197. package/dist/widgets/terminal-host.d.ts.map +0 -1
  198. package/dist/widgets/terminal-host.js +0 -258
  199. package/dist/widgets/terminal-host.js.map +0 -1
  200. /package/dist/{widgets → host}/host-stream.d.ts +0 -0
  201. /package/dist/{widgets → host}/host-stream.js +0 -0
@@ -2,7 +2,6 @@
2
2
  * Progress — displays continuously updated progress bars.
3
3
  */
4
4
  import { Segment } from "../core/segment.js";
5
- import { Style } from "../core/style.js";
6
5
  import { RichText } from "../core/text.js";
7
6
  import { Console } from "../core/console.js";
8
7
  import { escape as escapeMarkup, renderMarkup } from "../core/markup.js";
@@ -10,6 +9,7 @@ import { ProgressBar } from "./progressBar.js";
10
9
  import { Spinner } from "./spinner.js";
11
10
  import { Live } from "./live.js";
12
11
  import { Table } from "./table.js";
12
+ import { getStyle } from "../core/protocol.js";
13
13
  export class TextColumn {
14
14
  format;
15
15
  constructor(format) {
@@ -41,33 +41,35 @@ export class BarColumn {
41
41
  }
42
42
  }
43
43
  export class TaskProgressColumn {
44
- *render(_options, task) {
44
+ *render(options, task) {
45
45
  const percent = task && task.total
46
46
  ? Math.min(100, Math.round((task.completed / task.total) * 100))
47
47
  : 0;
48
- yield new Segment(`${percent}%`, Style.parse("progress.percentage"));
48
+ yield new Segment(`${percent}%`, getStyle(options, "progress.percentage"));
49
49
  }
50
50
  }
51
51
  export class TimeRemainingColumn {
52
- *render(_options, task) {
52
+ *render(options, task) {
53
+ const style = getStyle(options, "progress.remaining");
53
54
  if (!task || !task.total || !task.started || task.completed <= 0) {
54
- yield new Segment("-:--:--", Style.parse("progress.remaining"));
55
+ yield new Segment("-:--:--", style);
55
56
  return;
56
57
  }
57
58
  const elapsed = (Date.now() - task.startTime) / 1000;
58
59
  const rate = task.completed / elapsed;
59
60
  const remaining = (task.total - task.completed) / rate;
60
- yield new Segment(formatTime(remaining), Style.parse("progress.remaining"));
61
+ yield new Segment(formatTime(remaining), style);
61
62
  }
62
63
  }
63
64
  export class TimeElapsedColumn {
64
- *render(_options, task) {
65
+ *render(options, task) {
66
+ const style = getStyle(options, "progress.elapsed");
65
67
  if (!task || !task.started) {
66
- yield new Segment("0:00:00", Style.parse("progress.elapsed"));
68
+ yield new Segment("0:00:00", style);
67
69
  return;
68
70
  }
69
71
  const elapsed = (Date.now() - task.startTime) / 1000;
70
- yield new Segment(formatTime(elapsed), Style.parse("progress.elapsed"));
72
+ yield new Segment(formatTime(elapsed), style);
71
73
  }
72
74
  }
73
75
  export class SpinnerColumn {
@@ -1 +1 @@
1
- {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/renderables/progress.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/renderables/progress.ts"],"names":[],"mappings":"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"}
@@ -18,9 +18,9 @@ export declare class ProgressBar implements Renderable, Measurable {
18
18
  completed: number;
19
19
  readonly width: number | undefined;
20
20
  readonly pulse: boolean;
21
- readonly style: Style;
22
- readonly completeStyle: Style;
23
- readonly finishedStyle: Style;
21
+ readonly style: string | Style;
22
+ readonly completeStyle: string | Style;
23
+ readonly finishedStyle: string | Style;
24
24
  constructor(options?: ProgressBarOptions);
25
25
  get percentComplete(): number;
26
26
  render(options: RenderOptions): Iterable<Segment>;
@@ -1 +1 @@
1
- {"version":3,"file":"progressBar.d.ts","sourceRoot":"","sources":["../../src/renderables/progressBar.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAc,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,aAAa,EACd,MAAM,qBAAqB,CAAC;AAK7B,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CAChC;AAQD,qBAAa,WAAY,YAAW,UAAU,EAAE,UAAU;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC;gBAElB,OAAO,CAAC,EAAE,kBAAkB;IAUxC,IAAI,eAAe,IAAI,MAAM,CAG5B;IAEA,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC;IAoBlD,OAAO,CAAC,QAAQ,EAAE,aAAa,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;CAIvE"}
1
+ {"version":3,"file":"progressBar.d.ts","sourceRoot":"","sources":["../../src/renderables/progressBar.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAc,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,aAAa,EACd,MAAM,qBAAqB,CAAC;AAM7B,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CAChC;AAED,qBAAa,WAAY,YAAW,UAAU,EAAE,UAAU;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,KAAK,CAAC;IACvC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,KAAK,CAAC;gBAE3B,OAAO,CAAC,EAAE,kBAAkB;IAUxC,IAAI,eAAe,IAAI,MAAM,CAG5B;IAEA,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC;IAoBlD,OAAO,CAAC,QAAQ,EAAE,aAAa,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;CAIvE"}
@@ -2,16 +2,10 @@
2
2
  * ProgressBar — a visual progress bar rendered with block characters.
3
3
  */
4
4
  import { Segment } from "../core/segment.js";
5
- import { Style, NULL_STYLE } from "../core/style.js";
5
+ import { NULL_STYLE } from "../core/style.js";
6
+ import { getStyle } from "../core/protocol.js";
6
7
  const FULL_BLOCK = "━";
7
8
  const EMPTY_BLOCK = "━";
8
- function resolveStyle(style) {
9
- if (style === undefined)
10
- return NULL_STYLE;
11
- if (typeof style === "string")
12
- return Style.parse(style);
13
- return style;
14
- }
15
9
  export class ProgressBar {
16
10
  total;
17
11
  completed;
@@ -25,9 +19,9 @@ export class ProgressBar {
25
19
  this.completed = options?.completed ?? 0;
26
20
  this.width = options?.width;
27
21
  this.pulse = options?.pulse ?? false;
28
- this.style = resolveStyle(options?.style);
29
- this.completeStyle = resolveStyle(options?.completeStyle ?? "bar.complete");
30
- this.finishedStyle = resolveStyle(options?.finishedStyle ?? "bar.finished");
22
+ this.style = options?.style ?? NULL_STYLE;
23
+ this.completeStyle = options?.completeStyle ?? "bar.complete";
24
+ this.finishedStyle = options?.finishedStyle ?? "bar.finished";
31
25
  }
32
26
  get percentComplete() {
33
27
  if (this.total <= 0)
@@ -40,10 +34,10 @@ export class ProgressBar {
40
34
  const isFinished = percent >= 1;
41
35
  const filledWidth = Math.round(barWidth * percent);
42
36
  const emptyWidth = barWidth - filledWidth;
43
- const fillStyle = isFinished
44
- ? (this.finishedStyle.isNull ? undefined : this.finishedStyle)
45
- : (this.completeStyle.isNull ? undefined : this.completeStyle);
46
- const bgStyle = this.style.isNull ? undefined : this.style;
37
+ const fill = getStyle(options, isFinished ? this.finishedStyle : this.completeStyle);
38
+ const back = getStyle(options, this.style);
39
+ const fillStyle = fill.isNull ? undefined : fill;
40
+ const bgStyle = back.isNull ? undefined : back;
47
41
  if (filledWidth > 0) {
48
42
  yield new Segment(FULL_BLOCK.repeat(filledWidth), fillStyle);
49
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"progressBar.js","sourceRoot":"","sources":["../../src/renderables/progressBar.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAOrD,MAAM,UAAU,GAAG,GAAG,CAAC;AACvB,MAAM,WAAW,GAAG,GAAG,CAAC;AAYxB,SAAS,YAAY,CAAC,KAAiC;IACrD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,UAAU,CAAC;IAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,OAAO,WAAW;IACtB,KAAK,CAAS;IACd,SAAS,CAAS;IACT,KAAK,CAAqB;IAC1B,KAAK,CAAU;IACf,KAAK,CAAQ;IACb,aAAa,CAAQ;IACrB,aAAa,CAAQ;IAE9B,YAAY,OAA4B;QACtC,IAAI,CAAC,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,GAAG,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,KAAK,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,OAAO,EAAE,aAAa,IAAI,cAAc,CAAC,CAAC;QAC5E,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,OAAO,EAAE,aAAa,IAAI,cAAc,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,eAAe;QACjB,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,CAAC,MAAM,CAAC,OAAsB;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC;QACrC,MAAM,UAAU,GAAG,OAAO,IAAI,CAAC,CAAC;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,QAAQ,GAAG,WAAW,CAAC;QAE1C,MAAM,SAAS,GAAG,UAAU;YAC1B,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;YAC9D,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QAE3D,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,OAAO,CAAC,QAAuB;QAC7B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAC3B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACpC,CAAC;CACF"}
1
+ {"version":3,"file":"progressBar.js","sourceRoot":"","sources":["../../src/renderables/progressBar.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@
20
20
  * the caller at the node helper), not gatekeep-against-bugs — TS users
21
21
  * never see it because the type already forbids the bad state.
22
22
  */
23
- import { render as renderMarkup } from "../core/markup.js";
23
+ import { renderMarkup } from "../core/markup.js";
24
24
  // --- Base ---
25
25
  function ask(promptText, input) {
26
26
  // [LAW:single-enforcer] Trust-boundary validation for non-TS callers
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/renderables/prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/renderables/prompt.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export declare class Rule implements Renderable, Measurable {
14
14
  readonly title: string | undefined;
15
15
  readonly characters: string;
16
16
  readonly align: RuleAlign;
17
- readonly style: Style;
17
+ readonly style: string | Style;
18
18
  constructor(title?: string, options?: RuleOptions);
19
19
  render(options: RenderOptions): Iterable<Segment>;
20
20
  measure(_options: RenderOptions): {
@@ -1 +1 @@
1
- {"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../src/renderables/rule.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAc,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,aAAa,EACd,MAAM,qBAAqB,CAAC;AAE7B,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEpD,MAAM,WAAW,WAAW;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CACxB;AAKD,qBAAa,IAAK,YAAW,UAAU,EAAE,UAAU;IACjD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;gBAEV,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW;IAgBhD,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC;IA4ClD,OAAO,CAAC,QAAQ,EAAE,aAAa,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;CAGvE"}
1
+ {"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../src/renderables/rule.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAc,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,aAAa,EACd,MAAM,qBAAqB,CAAC;AAG7B,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEpD,MAAM,WAAW,WAAW;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CACxB;AAKD,qBAAa,IAAK,YAAW,UAAU,EAAE,UAAU;IACjD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC;gBAEnB,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW;IAgBhD,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC;IA6ClD,OAAO,CAAC,QAAQ,EAAE,aAAa,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;CAGvE"}
@@ -3,7 +3,8 @@
3
3
  */
4
4
  import { cellLen } from "../core/cells.js";
5
5
  import { Segment } from "../core/segment.js";
6
- import { Style, NULL_STYLE } from "../core/style.js";
6
+ import { NULL_STYLE } from "../core/style.js";
7
+ import { getStyle } from "../core/protocol.js";
7
8
  const ASCII_RULE_CHAR = "-";
8
9
  const DEFAULT_RULE_CHAR = "\u2500"; // ─
9
10
  export class Rule {
@@ -23,12 +24,13 @@ export class Rule {
23
24
  this.title = title;
24
25
  this.characters = chars;
25
26
  this.align = align ?? "center";
26
- this.style = resolveStyle(options?.style);
27
+ this.style = options?.style ?? NULL_STYLE;
27
28
  }
28
29
  *render(options) {
29
30
  const maxWidth = options.maxWidth;
30
31
  const ruleChar = options.asciiOnly ? ASCII_RULE_CHAR : this.characters;
31
- const ruleStyle = this.style.isNull ? undefined : this.style;
32
+ const style = getStyle(options, this.style);
33
+ const ruleStyle = style.isNull ? undefined : style;
32
34
  if (!this.title) {
33
35
  // No title — just a line of repeated characters
34
36
  yield new Segment(repeatToWidth(ruleChar, maxWidth), ruleStyle);
@@ -86,11 +88,4 @@ function repeatToWidth(char, width) {
86
88
  const gap = width - w;
87
89
  return gap > 0 ? result + " ".repeat(gap) : result;
88
90
  }
89
- function resolveStyle(style) {
90
- if (style === undefined)
91
- return NULL_STYLE;
92
- if (typeof style === "string")
93
- return Style.parse(style);
94
- return style;
95
- }
96
91
  //# sourceMappingURL=rule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rule.js","sourceRoot":"","sources":["../../src/renderables/rule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rule.js","sourceRoot":"","sources":["../../src/renderables/rule.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ export declare class Spinner implements Renderable, Measurable {
12
12
  readonly name: string;
13
13
  readonly text: string | undefined;
14
14
  readonly speed: number;
15
- readonly style: Style;
15
+ readonly style: string | Style;
16
16
  private readonly _data;
17
17
  private _frameIndex;
18
18
  private _lastUpdate;
@@ -21,7 +21,7 @@ export declare class Spinner implements Renderable, Measurable {
21
21
  get interval(): number;
22
22
  /** Advance frame based on elapsed time and return current frame. */
23
23
  private _currentFrame;
24
- render(_options: RenderOptions): Iterable<Segment>;
24
+ render(options: RenderOptions): Iterable<Segment>;
25
25
  measure(_options: RenderOptions): {
26
26
  minimum: number;
27
27
  maximum: number;
@@ -1 +1 @@
1
- {"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../../src/renderables/spinner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAc,MAAM,kBAAkB,CAAC;AAGrD,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,aAAa,EACd,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CACxB;AAQD,qBAAa,OAAQ,YAAW,UAAU,EAAE,UAAU;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IACpC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAS;gBAEhB,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc;IAelE,IAAI,MAAM,IAAI,SAAS,MAAM,EAAE,CAE9B;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,oEAAoE;IACpE,OAAO,CAAC,aAAa;IAYpB,MAAM,CAAC,QAAQ,EAAE,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC;IASnD,OAAO,CAAC,QAAQ,EAAE,aAAa,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;CAMvE"}
1
+ {"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../../src/renderables/spinner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAc,MAAM,kBAAkB,CAAC;AAGrD,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,aAAa,EACd,MAAM,qBAAqB,CAAC;AAG7B,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CACxB;AAED,qBAAa,OAAQ,YAAW,UAAU,EAAE,UAAU;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC;IAC/B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IACpC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAS;gBAEhB,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc;IAelE,IAAI,MAAM,IAAI,SAAS,MAAM,EAAE,CAE9B;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,oEAAoE;IACpE,OAAO,CAAC,aAAa;IAYpB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC;IAUlD,OAAO,CAAC,QAAQ,EAAE,aAAa,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;CAMvE"}
@@ -3,15 +3,9 @@
3
3
  */
4
4
  import { cellLen } from "../core/cells.js";
5
5
  import { Segment } from "../core/segment.js";
6
- import { Style, NULL_STYLE } from "../core/style.js";
6
+ import { NULL_STYLE } from "../core/style.js";
7
7
  import { SPINNERS, DEFAULT_SPINNER } from "../core/spinnerData.js";
8
- function resolveStyle(style) {
9
- if (style === undefined)
10
- return NULL_STYLE;
11
- if (typeof style === "string")
12
- return Style.parse(style);
13
- return style;
14
- }
8
+ import { getStyle } from "../core/protocol.js";
15
9
  export class Spinner {
16
10
  name;
17
11
  text;
@@ -29,7 +23,7 @@ export class Spinner {
29
23
  this.name = spinnerName;
30
24
  this.text = text;
31
25
  this.speed = options?.speed ?? 1;
32
- this.style = resolveStyle(options?.style);
26
+ this.style = options?.style ?? NULL_STYLE;
33
27
  this._data = data;
34
28
  this._frameIndex = 0;
35
29
  this._lastUpdate = Date.now();
@@ -52,9 +46,10 @@ export class Spinner {
52
46
  }
53
47
  return this._data.frames[this._frameIndex];
54
48
  }
55
- *render(_options) {
49
+ *render(options) {
56
50
  const frame = this._currentFrame();
57
- const spinStyle = this.style.isNull ? undefined : this.style;
51
+ const style = getStyle(options, this.style);
52
+ const spinStyle = style.isNull ? undefined : style;
58
53
  yield new Segment(frame, spinStyle);
59
54
  if (this.text) {
60
55
  yield new Segment(` ${this.text}`);
@@ -1 +1 @@
1
- {"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../src/renderables/spinner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../src/renderables/spinner.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/renderables/status.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,KAAK,EAAc,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAK7C,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA2BD,qBAAa,MAAM;IACjB,OAAO,CAAC,KAAK,CAAO;IACpB,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,QAAQ,CAAU;gBAEd,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa;IAYpD,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,EAExB;IAED,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,IAAI;IAIZ,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAI9B"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/renderables/status.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,KAAK,EAAc,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAM7C,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAsBD,qBAAa,MAAM;IACjB,OAAO,CAAC,KAAK,CAAO;IACpB,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,QAAQ,CAAU;gBAEd,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa;IAWpD,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,EAExB;IAED,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,IAAI;IAIZ,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAI9B"}
@@ -2,17 +2,11 @@
2
2
  * Status — displays a spinner animation with a status message.
3
3
  */
4
4
  import { Segment } from "../core/segment.js";
5
- import { Style, NULL_STYLE } from "../core/style.js";
5
+ import { NULL_STYLE } from "../core/style.js";
6
6
  import { Console } from "../core/console.js";
7
7
  import { Spinner } from "./spinner.js";
8
8
  import { Live } from "./live.js";
9
- function resolveStyle(style) {
10
- if (style === undefined)
11
- return NULL_STYLE;
12
- if (typeof style === "string")
13
- return Style.parse(style);
14
- return style;
15
- }
9
+ import { getStyle } from "../core/protocol.js";
16
10
  /** A renderable that shows spinner + message */
17
11
  class StatusRenderable {
18
12
  message;
@@ -25,7 +19,8 @@ class StatusRenderable {
25
19
  }
26
20
  *render(options) {
27
21
  yield* this._spinner.render(options);
28
- const msgStyle = this._style.isNull ? undefined : this._style;
22
+ const style = getStyle(options, this._style);
23
+ const msgStyle = style.isNull ? undefined : style;
29
24
  yield new Segment(` ${this.message}`, msgStyle);
30
25
  }
31
26
  }
@@ -36,8 +31,7 @@ export class Status {
36
31
  constructor(message, options) {
37
32
  this._console = options?.console ?? new Console({ forceTerminal: true });
38
33
  const spinner = new Spinner(options?.spinner ?? "dots", undefined, { speed: options?.speed });
39
- const style = resolveStyle(options?.style);
40
- this._renderable = new StatusRenderable(message, spinner, style);
34
+ this._renderable = new StatusRenderable(message, spinner, options?.style ?? NULL_STYLE);
41
35
  this._live = new Live(this._renderable, {
42
36
  console: this._console,
43
37
  transient: true,
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/renderables/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/renderables/status.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAS,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAS/C,gDAAgD;AAChD,MAAM,gBAAgB;IACpB,OAAO,CAAS;IACR,QAAQ,CAAU;IAClB,MAAM,CAAiB;IAE/B,YAAY,OAAe,EAAE,OAAgB,EAAE,KAAqB;QAClE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,CAAC,MAAM,CAAC,OAAsB;QAC5B,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;QAClD,MAAM,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;IAClD,CAAC;CACF;AAED,MAAM,OAAO,MAAM;IACT,KAAK,CAAO;IACZ,WAAW,CAAmB;IAC9B,QAAQ,CAAU;IAE1B,YAAY,OAAe,EAAE,OAAuB;QAClD,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,OAAO,IAAI,IAAI,OAAO,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9F,IAAI,CAAC,WAAW,GAAG,IAAI,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,IAAI,UAAU,CAAC,CAAC;QACxF,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACtC,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,SAAS,EAAE,IAAI;YACf,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;IAClC,CAAC;IAED,IAAI,OAAO,CAAC,KAAa;QACvB,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,KAAK,CAAC;IACnC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,IAAI;QACF,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,OAAe;QACpB,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC;CACF"}
@@ -14,7 +14,6 @@ export interface ColumnOptions {
14
14
  footerStyle?: string | Style;
15
15
  style?: string | Style;
16
16
  justify?: "left" | "center" | "right" | "full";
17
- vertical?: "top" | "middle" | "bottom";
18
17
  width?: number;
19
18
  minWidth?: number;
20
19
  maxWidth?: number;
@@ -23,11 +22,11 @@ export interface ColumnOptions {
23
22
  overflow?: "fold" | "crop" | "ellipsis";
24
23
  }
25
24
  export declare class Column {
26
- header: RichText;
27
- footer: RichText | undefined;
28
- headerStyle: Style;
29
- footerStyle: Style;
30
- style: Style;
25
+ private _header;
26
+ private _footer;
27
+ headerStyle: string | Style;
28
+ footerStyle: string | Style;
29
+ style: string | Style;
31
30
  justify: "left" | "center" | "right" | "full";
32
31
  width: number | undefined;
33
32
  minWidth: number | undefined;
@@ -37,6 +36,28 @@ export declare class Column {
37
36
  overflow: "fold" | "crop" | "ellipsis";
38
37
  private _cells;
39
38
  constructor(options?: ColumnOptions);
39
+ /**
40
+ * The two stamped cells, parsed on assignment rather than at the constructor.
41
+ * `Table.columns` hands out the live column and both fields are public, so a
42
+ * constructor-only stamp held only until the first `columns[0].footer = mine`
43
+ * — which installed content that had parsed no markup, still carried its
44
+ * `end`, and was still owned by the caller, into a slot every reader below
45
+ * assumes `toCellText` has been through. [LAW:parse-dont-validate] The setter
46
+ * is the border, so the guarantee holds for the object's whole lifetime and
47
+ * the constructor is one caller of it rather than the one place it is true.
48
+ *
49
+ * Absent and empty are the same header, and the same footer.
50
+ * [LAW:types-are-the-program] Rich declares `footer: RenderableType = ""`, so
51
+ * a column always has one and `show_footer` alone decides whether it is
52
+ * drawn. Modelling the absence as `undefined` instead made "no column has a
53
+ * footer" a state the render path could ask about — and it did, skipping the
54
+ * row a caller had asked for. `toCellText` already maps nothing onto empty,
55
+ * which is why the setters take `undefined` rather than defaulting around it.
56
+ */
57
+ get header(): RichText;
58
+ set header(content: string | RichText | undefined);
59
+ get footer(): RichText;
60
+ set footer(content: string | RichText | undefined);
40
61
  get flexible(): boolean;
41
62
  /** @internal */
42
63
  addCell(cell: Renderable): void;
@@ -78,12 +99,12 @@ export declare class Table implements Renderable, Measurable {
78
99
  readonly showLines: boolean;
79
100
  readonly showEdge: boolean;
80
101
  readonly padding: [number, number, number, number];
81
- readonly style: Style;
82
- readonly headerStyle: Style;
83
- readonly footerStyle: Style;
84
- readonly borderStyle: Style;
85
- readonly titleStyle: Style;
86
- readonly captionStyle: Style;
102
+ readonly style: string | Style;
103
+ readonly headerStyle: string | Style;
104
+ readonly footerStyle: string | Style;
105
+ readonly borderStyle: string | Style;
106
+ readonly titleStyle: string | Style;
107
+ readonly captionStyle: string | Style;
87
108
  readonly titleJustify: "left" | "center" | "right" | "full";
88
109
  readonly captionJustify: "left" | "center" | "right" | "full";
89
110
  readonly tableWidth: number | undefined;
@@ -95,14 +116,67 @@ export declare class Table implements Renderable, Measurable {
95
116
  addColumn(header?: string | RichText, options?: ColumnOptions): this;
96
117
  addRow(...cells: unknown[]): this;
97
118
  addSection(): this;
98
- render(options: RenderOptions): Iterable<Segment>;
99
- measure(options: RenderOptions): {
119
+ render(rawOptions: RenderOptions): Iterable<Segment>;
120
+ /**
121
+ * [LAW:one-source-of-truth] Both ends of the range are widths the geometry
122
+ * actually produced — the maximum from the demands as they stand, the
123
+ * minimum from the same layout with every column asking for a single cell.
124
+ * Neither end stretches: a stretch only spends cells an offer happens to
125
+ * leave over, and a renderable reports the width its content wants rather
126
+ * than the width it was offered. Letting it in made an expanding table
127
+ * measure `Infinity` against an unbounded offer, where `withBoundedWidth`
128
+ * needs a natural width to fall back on.
129
+ * Neither can exceed the width offered and the tighter request cannot exceed
130
+ * the looser one, so the range cannot invert. Deriving the minimum from raw
131
+ * column and padding counts instead is what used to return
132
+ * `{minimum: 6, maximum: 1}` at `maxWidth: 1` — a floor above its own ceiling.
133
+ */
134
+ measure(rawOptions: RenderOptions): {
100
135
  minimum: number;
101
136
  maximum: number;
102
137
  };
103
138
  static grid(options?: Omit<TableOptions, "box" | "showHeader" | "showEdge">): Table;
104
- private _calculateWidths;
105
- private _totalTableWidth;
139
+ private _frame;
140
+ /**
141
+ * The width this table lays itself out against: what it was told to be, as a
142
+ * count of cells, never wider than what it was offered.
143
+ *
144
+ * [LAW:one-source-of-truth] `render` and `measure` divide the same two fields
145
+ * and once did it in two places. `measure` bounded the declared width by the
146
+ * offer and `render` preferred it outright, walking past the value
147
+ * `withBoundedWidth` had just resolved — so `new Table({width: Infinity})`
148
+ * with a `{ratio: 1}` column granted that column `UNBOUNDED` cells and threw
149
+ * `RangeError: Invalid string length` out of the top border, at a perfectly
150
+ * ordinary 80-cell offer.
151
+ */
152
+ private _outerWidth;
153
+ private _geometry;
154
+ /**
155
+ * [LAW:dataflow-not-control-flow] The three ways a column can be sized —
156
+ * declared width, ratio, natural content — differ only in the demand they
157
+ * produce, and `expand` only in its `stretch`. They are resolved once, here, into uniform data, so
158
+ * `layoutTable` runs the same apportionment for every table and no sizing
159
+ * mode gets its own path through the width division.
160
+ */
161
+ private _columnDemands;
162
+ /**
163
+ * Every cell column `index` draws, in draw order.
164
+ *
165
+ * [LAW:one-source-of-truth] The reference's `_get_cells` is the one answer to
166
+ * "which cells belong to this column", and both `_measure_column` and
167
+ * `_render` read it. Enumerating that set a second time inside the width path
168
+ * is how the two ends drifted: the header was measured whether or not
169
+ * `showHeader` drew it, and `col.footer` was never measured at all, so a
170
+ * footer wider than its column — a totals row, exactly — was cut to `…`.
171
+ * A flag is the whole membership rule; nothing here asks after content.
172
+ */
173
+ private _columnCells;
174
+ /**
175
+ * The widest cell in a column, bounded by its own `minWidth`/`maxWidth`.
176
+ * Zero for a column that draws nothing — a gutter asks for its padding and
177
+ * nothing else.
178
+ */
179
+ private _naturalWidth;
106
180
  private _renderRow;
107
181
  private _renderTitle;
108
182
  }
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/renderables/table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/renderables/table.ts"],"names":[],"mappings":"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"}