@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
@@ -1 +1 @@
1
- {"version":3,"file":"padding.js","sourceRoot":"","sources":["../../src/renderables/padding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"padding.js","sourceRoot":"","sources":["../../src/renderables/padding.ts"],"names":[],"mappings":"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"}
@@ -54,23 +54,64 @@ export declare class Panel implements Renderable, Measurable {
54
54
  readonly subtitle: string | RichText | undefined;
55
55
  readonly bottomRightAccessory: BorderAccessory | undefined;
56
56
  readonly expand: boolean;
57
- readonly style: Style;
58
- readonly borderStyle: Style;
59
- readonly titleStyle: Style | undefined;
60
- readonly subtitleStyle: Style | undefined;
57
+ readonly style: string | Style;
58
+ readonly borderStyle: string | Style;
59
+ readonly titleStyle: string | Style | undefined;
60
+ readonly subtitleStyle: string | Style | undefined;
61
61
  readonly width: number | undefined;
62
62
  readonly padding: [number, number, number, number];
63
63
  constructor(content: string | RichText | Renderable, options?: PanelOptions);
64
- render(options: RenderOptions): Iterable<Segment>;
65
- measure(options: RenderOptions): {
64
+ render(rawOptions: RenderOptions): Iterable<Segment>;
65
+ /**
66
+ * The wrapped renderable's lines, laid out on a canvas `contentWidth` cells
67
+ * wide. Below width 3 a panel is all frame and the canvas holds no lines —
68
+ * but the render still happens, because a `bottomRightAccessory` thunk
69
+ * fires at every width and reads state this render populates.
70
+ */
71
+ private _renderContent;
72
+ /**
73
+ * One row of the panel body: frame column, span, frame column.
74
+ *
75
+ * [LAW:single-enforcer] `adjustLineLength` is the one place a width is
76
+ * decided here, and it runs twice against two different widths. The first
77
+ * pass crops content that rendered wider than the canvas it was handed (a
78
+ * `Table` at its natural width, say) back to the canvas, so an oversized
79
+ * child is trimmed rather than allowed to eat the right-hand padding. The
80
+ * second fills the rest of the span, which is the trailing padding and any
81
+ * shortfall in one stroke.
82
+ */
83
+ private _renderRow;
84
+ measure(rawOptions: RenderOptions): {
66
85
  minimum: number;
67
86
  maximum: number;
68
87
  };
88
+ /**
89
+ * The width this panel wants when nothing declared one for it: its content
90
+ * plus its own frame, both read off the division it will render against.
91
+ *
92
+ * [LAW:one-source-of-truth] `measure` and `_getPanelWidth` ask this same
93
+ * question, and each used to work it out itself — the same `layoutPanel`, the
94
+ * same `frameOverhead`, the same `Math.min(maxWidth, maximum + overhead)`,
95
+ * written twice. That is the pattern `_declaredWidth` below was extracted to
96
+ * stop, left standing for the fit case; changing how overhead is derived in
97
+ * one copy is all it would take to put `measure` and `render` back into the
98
+ * disagreement this epic spent itself closing.
99
+ */
100
+ private _fitRange;
101
+ /**
102
+ * The width this panel was told to be, as a count of cells.
103
+ *
104
+ * [LAW:one-source-of-truth] `measure` and `_getPanelWidth` answer the same
105
+ * question about the same field, so they read it from here. Answered
106
+ * separately, `measure` reported nine cells of content while `render` drew the
107
+ * declared twelve, and the parent that divided space from the range got a
108
+ * panel three cells wider than the share it granted.
109
+ */
110
+ private get _declaredWidth();
69
111
  private _getPanelWidth;
70
112
  private _renderTopBorder;
71
113
  private _renderBottomBorder;
72
114
  private _resolveAccessory;
73
- private _renderBlankLine;
74
115
  static fit(content: string | RichText | Renderable, options?: Omit<PanelOptions, "expand">): Panel;
75
116
  }
76
117
  //# sourceMappingURL=panel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"panel.d.ts","sourceRoot":"","sources":["../../src/renderables/panel.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAc,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,GAAG,EAAW,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,aAAa,EACd,MAAM,qBAAqB,CAAC;AAG7B;;;;;;;;;GASG;AACH,MAAM,MAAM,eAAe,GACvB,MAAM,GACN,QAAQ,GACR,CAAC,MAAM,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC,CAAC;AAE1C,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC7B;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,eAAe,CAAC;IACvC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC7B;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC5B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B;AAuBD,qBAAa,KAAM,YAAW,UAAU,EAAE,UAAU;IAClD,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IACjD,QAAQ,CAAC,oBAAoB,EAAE,eAAe,GAAG,SAAS,CAAC;IAC3D,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,KAAK,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,aAAa,EAAE,KAAK,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;gBAGjD,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,EACvC,OAAO,CAAC,EAAE,YAAY;IAgBvB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC;IAmDlD,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IAyBrE,OAAO,CAAC,cAAc;IAwBtB,OAAO,CAAE,gBAAgB;IA2CzB,OAAO,CAAE,mBAAmB;IA8D5B,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAE,gBAAgB;IAiBzB,MAAM,CAAC,GAAG,CACR,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,EACvC,OAAO,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,GACrC,KAAK;CAGT"}
1
+ {"version":3,"file":"panel.d.ts","sourceRoot":"","sources":["../../src/renderables/panel.ts"],"names":[],"mappings":"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"}
@@ -1,28 +1,58 @@
1
1
  /**
2
2
  * Panel — a bordered box that wraps content, with optional title and subtitle.
3
3
  */
4
- import { cellLen, setCellSize, asCellCol } from "../core/cells.js";
4
+ import { cellLen, setCellSize, asCellCol, cellCount } 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 { ROUNDED } from "../core/box.js";
8
8
  import { Measurement } from "../core/measure.js";
9
9
  import { RichText } from "../core/text.js";
10
- import { isMeasurable } from "../core/protocol.js";
11
- function normalizePadding(padding) {
12
- if (padding === undefined)
13
- return [0, 1, 0, 1];
14
- if (typeof padding === "number")
15
- return [padding, padding, padding, padding];
16
- if (padding.length === 2)
17
- return [padding[0], padding[1], padding[0], padding[1]];
18
- return padding;
10
+ import { normalizePadding } from "./padding.js";
11
+ import { getStyle, isMeasurable, withBoundedWidth, withCellWidth } from "../core/protocol.js";
12
+ function layoutPanel(outerWidth, padding) {
13
+ const [, padRightWanted, , padLeftWanted] = padding;
14
+ // Panel's one division point, and the width reaching it is not always one
15
+ // this file produced: `_getPanelWidth` derives the fit-mode width from
16
+ // `Measurement.get` on an arbitrary `Measurable`, so a renderable reporting a
17
+ // negative maximum arrives here unparsed and reaches `repeat` as a negative
18
+ // count.
19
+ let budget = cellCount(outerWidth);
20
+ const take = (want) => {
21
+ const got = Math.min(want, budget);
22
+ budget -= got;
23
+ return got;
24
+ };
25
+ const left = take(1);
26
+ const right = take(1);
27
+ const firstContentCell = take(1);
28
+ const padLeft = take(padLeftWanted);
29
+ const padRight = take(padRightWanted);
30
+ const contentWidth = firstContentCell + budget;
31
+ return {
32
+ left,
33
+ right,
34
+ padLeft,
35
+ contentWidth,
36
+ padRight,
37
+ spanWidth: padLeft + contentWidth + padRight,
38
+ };
19
39
  }
20
- function resolveStyle(style) {
21
- if (style === undefined)
22
- return NULL_STYLE;
23
- if (typeof style === "string")
24
- return Style.parse(style);
25
- return style;
40
+ /**
41
+ * Every cell of a panel that is not content canvas. Read off the geometry
42
+ * rather than recomputed as `2 + padLeft + padRight`, because the two differ
43
+ * exactly where this panel is squeezed: a width that cannot afford its right
44
+ * frame column or its padding does not spend cells on them, and a measurement
45
+ * that assumed it did would report a minimum larger than its own maximum.
46
+ */
47
+ function frameOverhead(geometry) {
48
+ return geometry.left + geometry.right + geometry.padLeft + geometry.padRight;
49
+ }
50
+ /**
51
+ * The style of text set into a border: its own when one was given, the
52
+ * border's otherwise — the one rule for "what colour is the title text in".
53
+ */
54
+ function borderTextStyle(options, own, border) {
55
+ return own === undefined ? border : getStyle(options, own);
26
56
  }
27
57
  function toRenderable(content) {
28
58
  if (typeof content === "string")
@@ -51,107 +81,153 @@ export class Panel {
51
81
  this.subtitle = options?.subtitle;
52
82
  this.bottomRightAccessory = options?.bottomRightAccessory;
53
83
  this.expand = options?.expand !== false;
54
- this.style = resolveStyle(options?.style);
55
- this.borderStyle = resolveStyle(options?.borderStyle);
56
- this.titleStyle = options?.titleStyle === undefined ? undefined : resolveStyle(options.titleStyle);
57
- this.subtitleStyle = options?.subtitleStyle === undefined ? undefined : resolveStyle(options.subtitleStyle);
84
+ this.style = options?.style ?? NULL_STYLE;
85
+ this.borderStyle = options?.borderStyle ?? NULL_STYLE;
86
+ this.titleStyle = options?.titleStyle;
87
+ this.subtitleStyle = options?.subtitleStyle;
58
88
  this.width = options?.width;
59
- this.padding = normalizePadding(options?.padding);
89
+ this.padding = normalizePadding(options?.padding ?? [0, 1, 0, 1]);
60
90
  }
61
- *render(options) {
91
+ *render(rawOptions) {
92
+ const options = withBoundedWidth(rawOptions, this);
62
93
  const box = options.asciiOnly ? this.box.substitute({ asciiOnly: true }) : this.box;
63
- const border = this.borderStyle.isNull ? undefined : this.borderStyle;
64
- const contentStyle = this.style.isNull ? undefined : this.style;
65
- // Determine panel width
66
- const panelWidth = this._getPanelWidth(options);
67
- const [padTop, padRight, padBottom, padLeft] = this.padding;
68
- const innerWidth = Math.max(1, panelWidth - 2 - padLeft - padRight); // 2 for border chars
69
- // Render content
70
- const innerOptions = {
71
- ...options,
72
- maxWidth: innerWidth,
73
- };
74
- const contentSegments = [...this.renderable.render(innerOptions)];
75
- const contentLines = Segment.splitLines(contentSegments);
94
+ const borderStyle = getStyle(options, this.borderStyle);
95
+ const style = getStyle(options, this.style);
96
+ const border = borderStyle.isNull ? undefined : borderStyle;
97
+ const contentStyle = style.isNull ? undefined : style;
98
+ const geometry = layoutPanel(this._getPanelWidth(options), this.padding);
99
+ const [padTop, , padBottom] = this.padding;
100
+ const contentLines = this._renderContent(options, geometry.contentWidth);
76
101
  // Top border (with optional title)
77
- yield* this._renderTopBorder(box, panelWidth, border);
78
- // Top padding
102
+ yield* this._renderTopBorder(options, box, geometry, border);
103
+ // Top padding — a padding row is a content row whose content is nothing.
79
104
  for (let i = 0; i < padTop; i++) {
80
- yield* this._renderBlankLine(box, panelWidth, padLeft, padRight, innerWidth, border, contentStyle);
105
+ yield* this._renderRow(box, geometry, [], border, contentStyle);
81
106
  }
82
- // Content lines
83
107
  for (const line of contentLines) {
84
- yield new Segment(box.left, border);
85
- if (padLeft > 0)
86
- yield new Segment(" ".repeat(padLeft), contentStyle);
87
- yield* line;
88
- // Pad to fill inner width
89
- const lineWidth = Segment.getLineLength(line);
90
- const rightPad = innerWidth - lineWidth + padRight;
91
- if (rightPad > 0)
92
- yield new Segment(" ".repeat(rightPad), contentStyle);
93
- yield new Segment(box.right, border);
94
- yield Segment.line();
108
+ yield* this._renderRow(box, geometry, line, border, contentStyle);
95
109
  }
96
- // Bottom padding
97
110
  for (let i = 0; i < padBottom; i++) {
98
- yield* this._renderBlankLine(box, panelWidth, padLeft, padRight, innerWidth, border, contentStyle);
111
+ yield* this._renderRow(box, geometry, [], border, contentStyle);
99
112
  }
100
113
  // Bottom border (with optional subtitle)
101
- yield* this._renderBottomBorder(box, panelWidth, border);
114
+ yield* this._renderBottomBorder(options, box, geometry, border);
115
+ }
116
+ /**
117
+ * The wrapped renderable's lines, laid out on a canvas `contentWidth` cells
118
+ * wide. Below width 3 a panel is all frame and the canvas holds no lines —
119
+ * but the render still happens, because a `bottomRightAccessory` thunk
120
+ * fires at every width and reads state this render populates.
121
+ */
122
+ _renderContent(options, contentWidth) {
123
+ const innerOptions = {
124
+ ...options,
125
+ maxWidth: contentWidth,
126
+ };
127
+ const lines = Segment.splitLines([...this.renderable.render(innerOptions)]);
128
+ return contentWidth === 0 ? [] : lines;
102
129
  }
103
- measure(options) {
104
- const [_padTop, padRight, _padBottom, padLeft] = this.padding;
105
- const borderWidth = 2; // left + right border chars
106
- const horizontalPad = padLeft + padRight;
130
+ /**
131
+ * One row of the panel body: frame column, span, frame column.
132
+ *
133
+ * [LAW:single-enforcer] `adjustLineLength` is the one place a width is
134
+ * decided here, and it runs twice against two different widths. The first
135
+ * pass crops content that rendered wider than the canvas it was handed (a
136
+ * `Table` at its natural width, say) back to the canvas, so an oversized
137
+ * child is trimmed rather than allowed to eat the right-hand padding. The
138
+ * second fills the rest of the span, which is the trailing padding and any
139
+ * shortfall in one stroke.
140
+ */
141
+ *_renderRow(box, geometry, line, border, contentStyle) {
142
+ const frame = box.getContentChars("row");
143
+ yield new Segment(frame.left.repeat(geometry.left), border);
144
+ const content = Segment.adjustLineLength(line, geometry.contentWidth, contentStyle, false);
145
+ const span = [new Segment(" ".repeat(geometry.padLeft), contentStyle), ...content];
146
+ yield* Segment.adjustLineLength(span, geometry.spanWidth, contentStyle);
147
+ yield new Segment(frame.right.repeat(geometry.right), border);
148
+ yield Segment.line();
149
+ }
150
+ measure(rawOptions) {
151
+ const options = withCellWidth(rawOptions);
152
+ const declared = this._declaredWidth;
153
+ if (declared !== undefined) {
154
+ // A declared width is not a ceiling on the content, it is the answer:
155
+ // `_getPanelWidth` returns it before measuring anything, so the panel
156
+ // draws at this width whatever the content wants. Reported with a
157
+ // content-derived floor instead, `{width: 20}` around "hi" offered 100
158
+ // cells answered 6..20 and then drew 20 every time, and a parent
159
+ // dividing space from the floor under-provisioned it.
160
+ const width = Math.min(options.maxWidth, declared);
161
+ return { minimum: width, maximum: width };
162
+ }
163
+ return this._fitRange(options);
164
+ }
165
+ /**
166
+ * The width this panel wants when nothing declared one for it: its content
167
+ * plus its own frame, both read off the division it will render against.
168
+ *
169
+ * [LAW:one-source-of-truth] `measure` and `_getPanelWidth` ask this same
170
+ * question, and each used to work it out itself — the same `layoutPanel`, the
171
+ * same `frameOverhead`, the same `Math.min(maxWidth, maximum + overhead)`,
172
+ * written twice. That is the pattern `_declaredWidth` below was extracted to
173
+ * stop, left standing for the fit case; changing how overhead is derived in
174
+ * one copy is all it would take to put `measure` and `render` back into the
175
+ * disagreement this epic spent itself closing.
176
+ */
177
+ _fitRange(options) {
178
+ const geometry = layoutPanel(options.maxWidth, this.padding);
179
+ const overhead = frameOverhead(geometry);
107
180
  if (isMeasurable(this.renderable)) {
108
181
  const innerOptions = {
109
182
  ...options,
110
- maxWidth: Math.max(1, options.maxWidth - borderWidth - horizontalPad),
183
+ maxWidth: geometry.contentWidth,
111
184
  };
112
185
  const measurement = Measurement.get(innerOptions, this.renderable);
186
+ const maximum = Math.min(options.maxWidth, measurement.maximum + overhead);
113
187
  return {
114
- minimum: Math.max(borderWidth + horizontalPad, measurement.minimum + borderWidth + horizontalPad),
115
- maximum: Math.min(options.maxWidth, measurement.maximum + borderWidth + horizontalPad),
188
+ minimum: Math.min(measurement.minimum + overhead, maximum),
189
+ maximum,
116
190
  };
117
191
  }
118
- return { minimum: borderWidth + horizontalPad, maximum: options.maxWidth };
192
+ // Content that cannot measure itself leaves the panel with nothing to want,
193
+ // so it wants the offer — unbounded included, which `withBoundedWidth`
194
+ // reports rather than turning into a number nobody can defend.
195
+ return { minimum: Math.min(overhead, options.maxWidth), maximum: options.maxWidth };
196
+ }
197
+ /**
198
+ * The width this panel was told to be, as a count of cells.
199
+ *
200
+ * [LAW:one-source-of-truth] `measure` and `_getPanelWidth` answer the same
201
+ * question about the same field, so they read it from here. Answered
202
+ * separately, `measure` reported nine cells of content while `render` drew the
203
+ * declared twelve, and the parent that divided space from the range got a
204
+ * panel three cells wider than the share it granted.
205
+ */
206
+ get _declaredWidth() {
207
+ return this.width === undefined ? undefined : cellCount(this.width);
119
208
  }
120
209
  _getPanelWidth(options) {
121
- if (this.width !== undefined)
122
- return Math.min(this.width, options.maxWidth);
210
+ const declared = this._declaredWidth;
211
+ if (declared !== undefined)
212
+ return Math.min(declared, options.maxWidth);
123
213
  if (this.expand)
124
214
  return options.maxWidth;
125
- // Fit mode: measure content
126
- const [_padTop, padRight, _padBottom, padLeft] = this.padding;
127
- const borderWidth = 2;
128
- const horizontalPad = padLeft + padRight;
129
- if (isMeasurable(this.renderable)) {
130
- const innerOptions = {
131
- ...options,
132
- maxWidth: Math.max(1, options.maxWidth - borderWidth - horizontalPad),
133
- };
134
- const measurement = Measurement.get(innerOptions, this.renderable);
135
- return Math.min(options.maxWidth, measurement.maximum + borderWidth + horizontalPad);
136
- }
137
- return options.maxWidth;
215
+ return this._fitRange(options).maximum;
138
216
  }
139
- *_renderTopBorder(box, panelWidth, border) {
140
- const innerBorderWidth = panelWidth - 2; // minus left/right corner
217
+ *_renderTopBorder(options, box, geometry, border) {
218
+ const innerBorderWidth = geometry.spanWidth;
141
219
  if (!this.title) {
142
- yield new Segment(box.topLeft, border);
143
- yield new Segment(box.top.repeat(innerBorderWidth), border);
144
- yield new Segment(box.topRight, border);
220
+ yield new Segment(box.top.left.repeat(geometry.left), border);
221
+ yield new Segment(box.top.horizontal.repeat(innerBorderWidth), border);
222
+ yield new Segment(box.top.right.repeat(geometry.right), border);
145
223
  yield Segment.line();
146
224
  return;
147
225
  }
148
226
  const titleText = typeof this.title === "string" ? this.title : this.title.plain;
149
227
  const titleDisplay = ` ${titleText} `;
150
228
  const titleWidth = cellLen(titleDisplay);
151
- // Title gets its own style when set, else inherits the border style —
152
- // single source of truth for "what color is the title text in".
153
- const titleSeg = this.titleStyle ?? border;
154
- yield new Segment(box.topLeft, border);
229
+ const titleSeg = borderTextStyle(options, this.titleStyle, border);
230
+ yield new Segment(box.top.left.repeat(geometry.left), border);
155
231
  if (titleWidth >= innerBorderWidth) {
156
232
  // Title fills the border. [LAW:one-source-of-truth] cellLen / setCellSize
157
233
  // are the cell-width authority — plain .slice would miscount wide chars
@@ -163,16 +239,16 @@ export class Panel {
163
239
  const leftRuleWidth = Math.floor((innerBorderWidth - titleWidth) / 2);
164
240
  const rightRuleWidth = innerBorderWidth - titleWidth - leftRuleWidth;
165
241
  if (leftRuleWidth > 0)
166
- yield new Segment(box.top.repeat(leftRuleWidth), border);
242
+ yield new Segment(box.top.horizontal.repeat(leftRuleWidth), border);
167
243
  yield new Segment(titleDisplay, titleSeg);
168
244
  if (rightRuleWidth > 0)
169
- yield new Segment(box.top.repeat(rightRuleWidth), border);
245
+ yield new Segment(box.top.horizontal.repeat(rightRuleWidth), border);
170
246
  }
171
- yield new Segment(box.topRight, border);
247
+ yield new Segment(box.top.right.repeat(geometry.right), border);
172
248
  yield Segment.line();
173
249
  }
174
- *_renderBottomBorder(box, panelWidth, border) {
175
- const innerBorderWidth = panelWidth - 2;
250
+ *_renderBottomBorder(options, box, geometry, border) {
251
+ const innerBorderWidth = geometry.spanWidth;
176
252
  // Resolve the right accessory *now*. Function form evaluates after
177
253
  // content has been rendered (Panel.render collects content segments
178
254
  // before yielding any borders), so the thunk sees fresh widget state.
@@ -183,23 +259,22 @@ export class Panel {
183
259
  ? ` ${accessory} `
184
260
  : ` ${accessory.plain} `;
185
261
  const accessoryWidth = cellLen(accessoryDisplay);
186
- const accessoryStyle = accessory instanceof RichText && !accessory.style.isNull
187
- ? accessory.style
188
- : border;
189
- yield new Segment(box.bottomLeft, border);
262
+ const accessoryOwn = accessory instanceof RichText ? accessory.resolvedStyle(options) : NULL_STYLE;
263
+ const accessoryStyle = accessoryOwn.isNull ? border : accessoryOwn;
264
+ yield new Segment(box.bottom.left.repeat(geometry.left), border);
190
265
  // Space available for the centered subtitle / rule fill — the accessory
191
266
  // (if any) hugs the right edge and the subtitle treats the remainder
192
267
  // as its centering canvas.
193
268
  const centerWidth = Math.max(0, innerBorderWidth - accessoryWidth);
194
269
  if (!this.subtitle) {
195
270
  if (centerWidth > 0)
196
- yield new Segment(box.bottom.repeat(centerWidth), border);
271
+ yield new Segment(box.bottom.horizontal.repeat(centerWidth), border);
197
272
  }
198
273
  else {
199
274
  const subtitleText = typeof this.subtitle === "string" ? this.subtitle : this.subtitle.plain;
200
275
  const subtitleDisplay = ` ${subtitleText} `;
201
276
  const subtitleWidth = cellLen(subtitleDisplay);
202
- const subtitleSeg = this.subtitleStyle ?? border;
277
+ const subtitleSeg = borderTextStyle(options, this.subtitleStyle, border);
203
278
  if (subtitleWidth >= centerWidth) {
204
279
  // Cell-aware clip — see _renderTopBorder.
205
280
  yield new Segment(setCellSize(subtitleDisplay, asCellCol(centerWidth)), subtitleSeg);
@@ -208,10 +283,10 @@ export class Panel {
208
283
  const leftRuleWidth = Math.floor((centerWidth - subtitleWidth) / 2);
209
284
  const rightRuleWidth = centerWidth - subtitleWidth - leftRuleWidth;
210
285
  if (leftRuleWidth > 0)
211
- yield new Segment(box.bottom.repeat(leftRuleWidth), border);
286
+ yield new Segment(box.bottom.horizontal.repeat(leftRuleWidth), border);
212
287
  yield new Segment(subtitleDisplay, subtitleSeg);
213
288
  if (rightRuleWidth > 0)
214
- yield new Segment(box.bottom.repeat(rightRuleWidth), border);
289
+ yield new Segment(box.bottom.horizontal.repeat(rightRuleWidth), border);
215
290
  }
216
291
  }
217
292
  if (accessoryWidth > 0) {
@@ -221,7 +296,7 @@ export class Panel {
221
296
  : accessoryDisplay;
222
297
  yield new Segment(fit, accessoryStyle);
223
298
  }
224
- yield new Segment(box.bottomRight, border);
299
+ yield new Segment(box.bottom.right.repeat(geometry.right), border);
225
300
  yield Segment.line();
226
301
  }
227
302
  _resolveAccessory(a) {
@@ -231,12 +306,6 @@ export class Panel {
231
306
  return a();
232
307
  return a;
233
308
  }
234
- *_renderBlankLine(box, _panelWidth, padLeft, padRight, innerWidth, border, contentStyle) {
235
- yield new Segment(box.left, border);
236
- yield new Segment(" ".repeat(padLeft + innerWidth + padRight), contentStyle);
237
- yield new Segment(box.right, border);
238
- yield Segment.line();
239
- }
240
309
  // --- Static factory ---
241
310
  static fit(content, options) {
242
311
  return new Panel(content, { ...options, expand: false });
@@ -1 +1 @@
1
- {"version":3,"file":"panel.js","sourceRoot":"","sources":["../../src/renderables/panel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"panel.js","sourceRoot":"","sources":["../../src/renderables/panel.ts"],"names":[],"mappings":"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"}
@@ -40,13 +40,13 @@ export declare class BarColumn implements ProgressColumn {
40
40
  render(_options: RenderOptions, task?: Task): Iterable<Segment>;
41
41
  }
42
42
  export declare class TaskProgressColumn implements ProgressColumn {
43
- render(_options: RenderOptions, task?: Task): Iterable<Segment>;
43
+ render(options: RenderOptions, task?: Task): Iterable<Segment>;
44
44
  }
45
45
  export declare class TimeRemainingColumn implements ProgressColumn {
46
- render(_options: RenderOptions, task?: Task): Iterable<Segment>;
46
+ render(options: RenderOptions, task?: Task): Iterable<Segment>;
47
47
  }
48
48
  export declare class TimeElapsedColumn implements ProgressColumn {
49
- render(_options: RenderOptions, task?: Task): Iterable<Segment>;
49
+ render(options: RenderOptions, task?: Task): Iterable<Segment>;
50
50
  }
51
51
  export declare class SpinnerColumn implements ProgressColumn {
52
52
  private _spinner;
@@ -1 +1 @@
1
- {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../src/renderables/progress.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../src/renderables/progress.ts"],"names":[],"mappings":"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"}