Skip to content

Commit f714e95

Browse files
committed
mods: the declarations carry ui.scroll's pointer and ui.open's rows
1 parent 06f4b2a commit f714e95

1 file changed

Lines changed: 49 additions & 7 deletions

File tree

‎mods/types/claude-code.d.ts‎

Lines changed: 49 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1931,13 +1931,13 @@ declare module 'claude-code' {
19311931
* on `ui.open` may refuse it. The keyboard is the person's; unasked, it
19321932
* waits undrawn below 144 columns (110 once asked), judged at each open.
19331933
*
1934-
* @param pane `id` (1-64 of letters, digits, `_`, `-`), `title`, `focus`;
1935-
* `closeOnEscape` and `holdToasts` make it a dialog (Escape closes it)
1934+
* @param pane `id` (1-64 of letters, digits, `_`, `-`), `title`, `focus`,
1935+
* `closeOnEscape` and `holdToasts` (a dialog), `rows` it wants inline
19361936
* @returns settles once the pane is open (or retitled)
19371937
* @example
19381938
* await $.ui.open({ id: "clock", title: "Clock" })
19391939
* @example
1940-
* await $.ui.open({ id: "pick", focus: true, closeOnEscape: true })
1940+
* await $.ui.open({ id: "ask", focus: true, closeOnEscape: true, rows: 9 })
19411941
*/
19421942
open: (pane: PaneOpenArgs) => Promise<void>;
19431943
/**
@@ -4820,8 +4820,8 @@ declare module 'claude-code' {
48204820
};
48214821

48224822
/**
4823-
* The argument of `$.ui.open`: which pane, its title, whether the plugin asks
4824-
* the person's keyboard for it, and its dialog manners (Escape, toasts).
4823+
* The argument of `$.ui.open`: which pane, its title, whether it asks the
4824+
* person's keyboard, its dialog manners, and the rows it wants inline.
48254825
*/
48264826
export type PaneOpenArgs = {
48274827
/**
@@ -4862,6 +4862,15 @@ declare module 'claude-code' {
48624862
* show. Left out, toasts show as they come. Each open sets it anew.
48634863
*/
48644864
holdToasts?: true;
4865+
/**
4866+
* The body rows the pane's content wants while seated inline above the
4867+
* prompt: it opens that tall, up to what the layout spares, not a third.
4868+
*
4869+
* A request, not a grant: a size the person dragged or keyed the block
4870+
* to wins, this session's or a kept one, and the dock ignores it. A
4871+
* positive whole number; left out, a third. Each open sets it anew.
4872+
*/
4873+
rows?: number;
48654874
};
48664875

48674876
/**
@@ -8853,8 +8862,8 @@ declare module 'claude-code' {
88538862
* hook drew in it (a pane's body, the band above the prompt).
88548863
*
88558864
* Every key but `offset` is the engine's word, pinned: `next(e)` passes
8856-
* them on, a rewrite that leaves one out keeps it, one that changes it fails
8857-
* the hook. `offset` is the hook's to rewrite; the window has not moved yet.
8865+
* them on, a rewrite that leaves one out keeps it, one that changes or adds
8866+
* one fails the hook. `offset` is the hook's to rewrite; nothing moved yet.
88588867
*/
88598868
export type UiScrollInput = {
88608869
/**
@@ -8897,6 +8906,15 @@ declare module 'claude-code' {
88978906
* Who moves it (UiScrollOrigin), set by the engine where the move starts.
88988907
*/
88998908
origin: UiScrollOrigin;
8909+
/**
8910+
* The body cell the person's wheel or trackpad was over (UiScrollPointer);
8911+
* absent for the scroll keys and for `$.ui.scroll`. Read-only.
8912+
*
8913+
* Moves summed while a dispatch was in flight carry the latest one's. A
8914+
* hook pinning a list over rows it scrolls itself tells a tick over the
8915+
* list (`row` among its list's rows) from one over the body.
8916+
*/
8917+
pointer?: UiScrollPointer;
89008918
};
89018919

89028920
/**
@@ -8922,6 +8940,30 @@ declare module 'claude-code' {
89228940
name: string;
89238941
};
89248942

8943+
/**
8944+
* The cell the pointer was over when the person's wheel raised `ui.scroll`,
8945+
* in the site's body: the box its `ui.render` hook draws into, as painted.
8946+
*
8947+
* The DOM's `clientY - body.top` in cells, the window's offset not added: a
8948+
* hook drawing its own window reads `row` as its tree's row, one the engine
8949+
* scrolls adds the `scroll.offset` it drew with. The frame lies outside.
8950+
*/
8951+
export type UiScrollPointer = {
8952+
/**
8953+
* 0 at the body's left edge, as `bodyColumns` counts them; negative, or
8954+
* `bodyColumns` and past, over an inline pane's side borders.
8955+
*/
8956+
column: number;
8957+
/**
8958+
* 0 at the body's first showing row, as `bodyRows` counts them.
8959+
*
8960+
* The tree's row is `scroll.offset + row` under the engine's window, and
8961+
* `row` itself under a hook's own (offset 0); negative over a pane's top
8962+
* border or tab row, `bodyRows` or more over its bottom border.
8963+
*/
8964+
row: number;
8965+
};
8966+
89258967
/**
89268968
* What a `ui.scroll` hook returns, what `next(e)` resolves to, and what
89278969
* `$.ui.scroll` hands back: `{}` once the window moved, or why it did not.

0 commit comments

Comments
 (0)