@workerdeck/ui 0.16.0 → 0.17.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.
package/README.md CHANGED
@@ -198,6 +198,13 @@ lose by forgetting a second mount isn't one.
198
198
  result and its `… +N` label. Re-spelling either one in the renderer alone desynchronises
199
199
  `estimateSize` and the transcript grows a phantom scrollable tail. `dev/height-audit.ts` is the
200
200
  gate; it measures against real browser layout, which no jsdom test can do.
201
+ - **`pnpm test` here covers the pure modules and nothing else.** That is the split, not an
202
+ omission: which rows exist, what a folded run's line says, how much of a result a collapsed row
203
+ keeps and which marks the rail paints are all string-and-array contracts with no DOM in them,
204
+ and they are where this package's bugs have actually shipped. Geometry — does the rendered row
205
+ come out the height the calculator predicted — is the browser audit above. A test in `test/`
206
+ that wants a DOM belongs in `dev/` instead. `buildClusters` and `railScale` are exported from
207
+ `scrubber.tsx` for the test alone and are deliberately absent from `index.ts`.
201
208
  - **`affordances={false}` must leave a way to scroll.** The scrubber replaces the native scrollbar
202
209
  while it is interactive; with affordances off, the marks stay painted but inert *and the native
203
210
  scrollbar comes back*. A rail that kept the scrollbar hidden while refusing the pointer would
@@ -326,6 +326,17 @@ interface SessionPanelProps {
326
326
  * client's watermarks; a shared one is session metadata on the gateway).
327
327
  */
328
328
  scrubberMarks?: readonly number[];
329
+ /**
330
+ * Scroll a tool call into view; bump `nonce` to ask again for the same one.
331
+ * See {@link TranscriptProps.reveal} — this is the panel's pass-through, and
332
+ * exists so a surface *outside* the panel (a sessions list showing a session's
333
+ * running sub-agents) can say "take me to that one" without opening a second
334
+ * attach to find out where it is.
335
+ */
336
+ reveal?: {
337
+ toolUseId: string;
338
+ nonce: number;
339
+ };
329
340
  /**
330
341
  * Terminal theme only: hold the prompt of the turn you are reading at the top
331
342
  * of the transcript, as the Claude Code CLI does. The **real row** is pinned
@@ -519,6 +530,7 @@ declare function SessionPanel({
519
530
  terminalMetrics,
520
531
  scrubber,
521
532
  scrubberMarks,
533
+ reveal,
522
534
  stickyPrompt,
523
535
  controlsSurface,
524
536
  onControls,
@@ -531,4 +543,4 @@ declare function SessionPanel({
531
543
  }: SessionPanelProps): _$react.JSX.Element;
532
544
  //#endregion
533
545
  export { permissionModeChoices as C, PermissionModeSelectProps as S, useAffordances as _, SessionVitals as a, PermissionModeMeta as b, TranscriptDensityProvider as c, TranscriptVariantProvider as d, useTranscriptDensity as f, WithActions as g, TerminalAffordances as h, SessionSurfacePanel as i, TranscriptFont as l, CopyAction as m, SessionPanel as n, TerminalMetrics as o, useTranscriptVariant as p, SessionPanelProps as r, TranscriptDensity as s, SessionControls as t, TranscriptVariant as u, PERMISSION_MODES as v, permissionModeMeta as w, PermissionModeSelect as x, PermissionModeChoice as y };
534
- //# sourceMappingURL=SessionPanel-B9CHoq8x.d.mts.map
546
+ //# sourceMappingURL=SessionPanel-CnNYEX80.d.mts.map