@stealthscale/component-screen 0.0.1 → 0.2.2

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/dist/index.d.ts CHANGED
@@ -1,8 +1,9 @@
1
- import { ButtonProps, IconButtonProps } from "@stealthscale/component-actions";
2
- import { RecipeProps } from "@stealthscale/theme/authoring";
1
+ import { a as Choice, i as SwitcherSize, n as RootProps$8, r as Placement, t as Root$8 } from "./root-DDwipXru.js";
2
+ import { Button, ButtonProps, IconButtonProps } from "@stealthscale/component-actions";
3
+ import "@stealthscale/theme/authoring";
3
4
  import { PresenceOptions } from "@stealthscale/hooks";
4
5
  import { RovingFocus } from "@stealthscale/component-a11y";
5
- import { ComponentProps, ElementType, MouseEvent, MouseEventHandler, ReactElement, ReactNode } from "react";
6
+ import { ComponentProps, DOMAttributes, ElementType, MouseEvent, MouseEventHandler, ReactElement, ReactNode } from "react";
6
7
  import { ScrollArea } from "@stealthscale/component-primitives";
7
8
  import { Breakpoint } from "@stealthscale/provider-viewport";
8
9
  import * as floatingPanel from "@zag-js/floating-panel";
@@ -93,44 +94,76 @@ type PositionerProps$1 = ComponentProps<typeof Drawn$13>;
93
94
  */
94
95
  declare function Positioner$1(props: PositionerProps$1): null | ReactElement;
95
96
  //#endregion
97
+ //#region src/presence.d.ts
98
+ /**
99
+ * Describes when an overlay renders its content while the overlay is closed.
100
+ *
101
+ * @remarks
102
+ * The package declares the options again, because the hooks package is a peer. A specimen page
103
+ * lists only the props that the package or its runtime dependencies declare.
104
+ */
105
+ interface OverlayPresence extends Omit<PresenceOptions, "present"> {
106
+ /**
107
+ * When true, the overlay renders no content until it first opens.
108
+ *
109
+ * @defaultValue true
110
+ */
111
+ readonly lazyMount?: boolean | undefined;
112
+ /**
113
+ * Runs once the content's exit animation ends.
114
+ */
115
+ readonly onExitComplete?: (() => void) | undefined;
116
+ /**
117
+ * When true, content that is open on mount plays no entry animation.
118
+ */
119
+ readonly skipAnimationOnMount?: boolean | undefined;
120
+ /**
121
+ * When true, the overlay removes its content once the exit animation ends.
122
+ *
123
+ * @defaultValue true
124
+ */
125
+ readonly unmountOnExit?: boolean | undefined;
126
+ }
127
+ //#endregion
96
128
  //#region src/action-bar/root.d.ts
97
129
  /**
98
130
  * Renders the `div` that provides the recipe's variants.
99
131
  */
100
132
  declare const Framed$2: import("@stealthscale/theme").StyledComponent<"div", {
101
- readonly placement?: "bottom" | "bottom-end" | "bottom-start";
133
+ readonly placement?: "bottom" | "bottom-end" | "bottom-start" | undefined;
102
134
  }>;
103
135
  /**
104
136
  * Describes the details `onOpenChange` receives.
105
137
  */
106
138
  interface OpenChangeDetails$1 {
107
139
  /**
108
- * Whether the bar asks to be open, false for Escape and the close trigger.
140
+ * The open state that the bar asks for. Escape and the close trigger ask for false.
109
141
  */
110
142
  readonly open: boolean;
111
143
  }
112
144
  /**
113
145
  * Describes the props of the root: whether the bar is open, how it asks to close, its announcement,
114
146
  * the presence options, the recipe's variants and the props of a `div`.
115
- *
116
- * @remarks
117
- * `lazyMount` and `unmountOnExit` are true by default.
118
147
  */
119
- interface RootProps$8 extends ComponentProps<typeof Framed$2>, Omit<PresenceOptions, "present"> {
148
+ interface RootProps$7 extends ComponentProps<typeof Framed$2>, OverlayPresence {
120
149
  /**
121
- * Words a screen reader hears as the bar opens. Defaults to `Actions available`.
150
+ * The words that a screen reader announces when the bar opens.
151
+ *
152
+ * @defaultValue "Actions available"
122
153
  */
123
154
  readonly announcement?: string | undefined;
124
155
  /**
125
- * Whether Escape inside the bar asks to close it. True by default.
156
+ * When true, Escape inside the bar asks to close it.
157
+ *
158
+ * @defaultValue true
126
159
  */
127
160
  readonly closeOnEscape?: boolean | undefined;
128
161
  /**
129
- * Called when the bar asks to close. The caller clears the selection, which closes the bar.
162
+ * Runs when the bar asks to close. The caller closes the bar by clearing the selection.
130
163
  */
131
164
  readonly onOpenChange?: ((details: OpenChangeDetails$1) => void) | undefined;
132
165
  /**
133
- * Whether the bar is open, usually while anything is selected.
166
+ * True while the bar is open. A caller sets it while anything is selected.
134
167
  */
135
168
  readonly open: boolean;
136
169
  }
@@ -141,9 +174,9 @@ interface RootProps$8 extends ComponentProps<typeof Framed$2>, Omit<PresenceOpti
141
174
  * options, the recipe's variants and the props of a `div`.
142
175
  * @returns The `div` element inside the providers.
143
176
  */
144
- declare function Root$8({ announcement, closeOnEscape, lazyMount, onExitComplete, onOpenChange, open, skipAnimationOnMount, unmountOnExit, ...props }: RootProps$8): ReactElement;
177
+ declare function Root$7({ announcement, closeOnEscape, lazyMount, onExitComplete, onOpenChange, open, skipAnimationOnMount, unmountOnExit, ...props }: RootProps$7): ReactElement;
145
178
  declare namespace index_d_exports {
146
- export { CloseTrigger$1 as CloseTrigger, CloseTriggerProps$1 as CloseTriggerProps, Content$4 as Content, ContentProps$2 as ContentProps, OpenChangeDetails$1 as OpenChangeDetails, Positioner$1 as Positioner, PositionerProps$1 as PositionerProps, Root$8 as Root, RootProps$8 as RootProps };
179
+ export { CloseTrigger$1 as CloseTrigger, CloseTriggerProps$1 as CloseTriggerProps, Content$4 as Content, ContentProps$2 as ContentProps, OpenChangeDetails$1 as OpenChangeDetails, Positioner$1 as Positioner, PositionerProps$1 as PositionerProps, Root$7 as Root, RootProps$7 as RootProps };
147
180
  }
148
181
  //#endregion
149
182
  //#region src/app-shell/panels.d.ts
@@ -155,10 +188,22 @@ interface Panel$1 {
155
188
  * Result of closing the panel in the body: `hide` hides it, and `icons` leaves a rail.
156
189
  */
157
190
  readonly collapse: Collapse;
191
+ /**
192
+ * Whether the shell is too narrow for the panel and the panel is hidden.
193
+ */
194
+ readonly hidden: boolean;
158
195
  /**
159
196
  * Identifier of the panel's element, which a trigger's `aria-controls` points at.
160
197
  */
161
198
  readonly id: string;
199
+ /**
200
+ * Widest width a person resizes the panel to, in pixels, or undefined for half the window.
201
+ */
202
+ readonly maxSize: number | undefined;
203
+ /**
204
+ * Narrowest width a person resizes the panel to, in pixels, or undefined for 192.
205
+ */
206
+ readonly minSize: number | undefined;
162
207
  /**
163
208
  * Whether the panel is shown: open in the body, or open over the page.
164
209
  */
@@ -167,10 +212,22 @@ interface Panel$1 {
167
212
  * Whether the shell is too narrow for the panel and the panel is over the page.
168
213
  */
169
214
  readonly overlaid: boolean;
215
+ /**
216
+ * Whether a person resizes the panel by its rail.
217
+ */
218
+ readonly resizable: boolean;
170
219
  /**
171
220
  * Shows or hides the panel.
172
221
  */
173
222
  readonly setOpen: (open: boolean) => void;
223
+ /**
224
+ * Sets the width a person resized the panel to, in pixels.
225
+ */
226
+ readonly setSize: (size: number) => void;
227
+ /**
228
+ * Side of the page the panel is on.
229
+ */
230
+ readonly side: Side;
174
231
  /**
175
232
  * Whether the shell is too narrow for the panel and the panel has dropped under the page.
176
233
  */
@@ -195,9 +252,11 @@ declare const COLLAPSES: readonly Collapse[];
195
252
  *
196
253
  * @remarks
197
254
  * `over` lays it over the page behind a backdrop, the usual navigation on a phone. `under` drops
198
- * it under the page as a block that is always shown, the usual detail panel on a phone.
255
+ * it under the page as a block that is always shown, the usual detail panel on a phone. `hide`
256
+ * removes it until the shell is wide enough again, such as a rail of sections whose destinations
257
+ * a phone lists in a bar at its foot.
199
258
  */
200
- type Fold = "over" | "under";
259
+ type Fold = "hide" | "over" | "under";
201
260
  /**
202
261
  * Every `Fold` value.
203
262
  */
@@ -245,8 +304,13 @@ interface PanelOptions {
245
304
  */
246
305
  readonly defaultOpen?: boolean | undefined;
247
306
  /**
248
- * Where the panel goes when the shell is too narrow for it: over the page behind a backdrop, or
249
- * under the page as a block. Defaults to `over`.
307
+ * Width the panel starts at, in pixels, when the caller does not control `size`. The panel's
308
+ * open width where left out.
309
+ */
310
+ readonly defaultSize?: number | undefined;
311
+ /**
312
+ * Where the panel goes when the shell is too narrow for it: over the page behind a backdrop,
313
+ * under the page as a block, or out of the shell. Defaults to `over`.
250
314
  */
251
315
  readonly folds?: Fold | undefined;
252
316
  /**
@@ -254,6 +318,14 @@ interface PanelOptions {
254
318
  * Defaults to `md` on the start side and `lg` on the end side.
255
319
  */
256
320
  readonly foldsBelow?: "never" | Breakpoint | undefined;
321
+ /**
322
+ * Widest width a person resizes the panel to, in pixels. Half the window's width by default.
323
+ */
324
+ readonly maxSize?: number | undefined;
325
+ /**
326
+ * Narrowest width a person resizes the panel to, in pixels. 192 by default.
327
+ */
328
+ readonly minSize?: number | undefined;
257
329
  /**
258
330
  * Name a trigger uses to find the panel. Defaults to `navbar` on the start side and `aside` on
259
331
  * the end side.
@@ -264,14 +336,28 @@ interface PanelOptions {
264
336
  */
265
337
  readonly onOpenChange?: ((open: boolean) => void) | undefined;
266
338
  /**
267
- * Whether the panel is open, when the application controls it.
339
+ * Called with the new width, in pixels, while a person resizes the panel.
340
+ */
341
+ readonly onSizeChange?: ((size: number) => void) | undefined;
342
+ /**
343
+ * Whether the panel is open beside the page, when the application controls it. A panel over the
344
+ * page keeps its own state, which starts closed.
268
345
  */
269
346
  readonly open?: boolean | undefined;
347
+ /**
348
+ * Whether a person resizes the panel by its rail, the strip `AppShell.Rail` renders on its edge.
349
+ * Defaults to `false`.
350
+ */
351
+ readonly resizable?: boolean | undefined;
270
352
  /**
271
353
  * Key that toggles the panel with the platform's modifier held: `b` for ⌘B and Ctrl+B. No
272
354
  * shortcut by default.
273
355
  */
274
356
  readonly shortcut?: string | undefined;
357
+ /**
358
+ * Width a person resized the panel to, in pixels, when the application controls it.
359
+ */
360
+ readonly size?: number | undefined;
275
361
  }
276
362
  //#endregion
277
363
  //#region src/app-shell/panel.d.ts
@@ -377,16 +463,24 @@ declare function Header$4({ sticky, ...rest }: HeaderProps$4): ReactElement;
377
463
  //#endregion
378
464
  //#region src/app-shell/main.d.ts
379
465
  /**
380
- * Describes the props of `Main`: the props of the `main` element.
466
+ * Describes the props of `Main`, which are the props of the `main` element.
381
467
  */
382
- type MainProps = Omit<ScrollArea.ViewportProps, "as" | "focusable">;
468
+ interface MainProps extends Omit<ScrollArea.ViewportProps, "as" | "focusable"> {
469
+ /**
470
+ * Id that the root's `ids` give the `main` element.
471
+ */
472
+ readonly id?: string | undefined;
473
+ }
383
474
  /**
384
- * Renders the main region in the space the panels leave, scrolling when the page scrolls.
475
+ * Renders the main region in the space that the panels leave.
385
476
  *
386
- * @param props - The `main` element's props, the page among its children.
387
- * @returns The main region, inert while a panel is over the page.
477
+ * @remarks
478
+ * The scroll area's machine finds the `main` element by its id. The caller's `id` goes to the
479
+ * root's `ids`. The root sets it on the `main` element.
480
+ * @param props - The props of the `main` element. Its children contain the page.
481
+ * @returns The main region.
388
482
  */
389
- declare function Main({ children, ...props }: MainProps): ReactElement;
483
+ declare function Main({ children, id, ...props }: MainProps): ReactElement;
390
484
  //#endregion
391
485
  //#region src/app-shell/metrics.d.ts
392
486
  /**
@@ -411,15 +505,51 @@ type NavbarProps = Omit<PanelProps$1, "side">;
411
505
  */
412
506
  declare function Navbar(props: NavbarProps): ReactElement;
413
507
  //#endregion
414
- //#region src/app-shell/rail.d.ts
508
+ //#region src/app-shell/pane.d.ts
509
+ /**
510
+ * Renders the pane `div`.
511
+ */
512
+ declare const Pane: import("@stealthscale/theme").StyledComponent<"div", {}>;
415
513
  /**
416
- * Renders the rail `button`, typed `button` so it submits no form.
514
+ * Describes the props of `Pane`: the props of a `div`.
417
515
  */
418
- declare const Pressable$1: import("@stealthscale/theme").StyledComponent<"button", {}>;
516
+ type PaneProps = ComponentProps<typeof Pane>;
517
+ //#endregion
518
+ //#region src/app-shell/rail-separator.d.ts
419
519
  /**
420
- * Describes the props of `Rail`.
520
+ * Renders the separator `div` with the rail's class.
421
521
  */
422
- interface RailProps extends Omit<ComponentProps<typeof Pressable$1>, "aria-controls"> {
522
+ declare const Divided: import("@stealthscale/theme").StyledComponent<"div", {}>;
523
+ /**
524
+ * Describes the props of `RailSeparator`: the panel, the name, a press handler, and the attributes
525
+ * and style props of an element, without its other handlers.
526
+ *
527
+ * @remarks
528
+ * The rail renders a `button` for a panel that is not resizable and this `div` for one that is,
529
+ * so its props leave out every handler typed for one element.
530
+ */
531
+ interface RailSeparatorProps extends Omit<ComponentProps<typeof Divided>, "aria-controls" | "ref" | keyof DOMAttributes<HTMLElement>> {
532
+ /**
533
+ * The panel the separator resizes.
534
+ */
535
+ readonly held: Panel$1;
536
+ /**
537
+ * Accessible name of the separator.
538
+ */
539
+ readonly label: string;
540
+ /**
541
+ * Called on a press before the separator toggles its panel. Calling `preventDefault` leaves the
542
+ * panel as it is.
543
+ */
544
+ readonly onClick?: MouseEventHandler<HTMLElement> | undefined;
545
+ }
546
+ //#endregion
547
+ //#region src/app-shell/rail.d.ts
548
+ /**
549
+ * Describes the props of `Rail`: the labels, the panel's name, a press handler, and the attributes
550
+ * and style props of the element.
551
+ */
552
+ interface RailProps extends Omit<RailSeparatorProps, "held" | "label"> {
423
553
  /**
424
554
  * Accessible name of the rail while its panel is open. Defaults to `Close`.
425
555
  */
@@ -432,36 +562,41 @@ interface RailProps extends Omit<ComponentProps<typeof Pressable$1>, "aria-contr
432
562
  * Name of the panel the rail controls. Defaults to `navbar`.
433
563
  */
434
564
  readonly panel?: string | undefined;
565
+ /**
566
+ * Accessible name of the rail of a resizable panel. Defaults to `Resize`.
567
+ */
568
+ readonly resizeLabel?: string | undefined;
435
569
  }
436
570
  /**
437
- * Renders the strip that toggles one panel.
571
+ * Renders the strip that toggles one panel, or the separator that resizes it.
438
572
  *
439
- * @param props - The labels, the panel's name and the `button` element's props.
573
+ * @param props - The labels, the panel's name and the element's props.
440
574
  * @returns The strip, or `null` while its panel is not in the body.
441
575
  */
442
- declare function Rail({ closeLabel, onClick, openLabel, panel, ...rest }: RailProps): null | ReactElement;
576
+ declare function Rail({ closeLabel, onClick, openLabel, panel, resizeLabel, ...rest }: RailProps): null | ReactElement;
443
577
  //#endregion
444
578
  //#region src/app-shell/root.d.ts
445
579
  /**
446
580
  * Renders the column and provides the variants to every part below it.
447
581
  */
448
- declare const Columned$2: import("@stealthscale/theme").StyledComponent<"div", {
449
- readonly divided?: boolean;
450
- readonly scroll?: "page" | "window";
451
- readonly variant?: "floating" | "inset" | "plain";
582
+ declare const Columned$3: import("@stealthscale/theme").StyledComponent<"div", {
583
+ readonly content?: "constrained" | "fluid" | undefined;
584
+ readonly divided?: boolean | undefined;
585
+ readonly scroll?: "page" | "window" | undefined;
586
+ readonly variant?: "floating" | "inset" | "plain" | undefined;
452
587
  }>;
453
588
  /**
454
589
  * Describes the props of `Root`.
455
590
  */
456
- type RootProps$7 = ComponentProps<typeof Columned$2>;
591
+ type RootProps$6 = ComponentProps<typeof Columned$3>;
457
592
  /**
458
- * Renders the shell: bars across the top and the bottom, and a body between them with a panel on
459
- * either side of the page.
593
+ * Renders the shell: bars across the top and the bottom, and a body between them with panels on
594
+ * either side of the page or of a pane.
460
595
  *
461
596
  * @param props - The recipe's variants and the `div` element's props.
462
597
  * @returns The column, with the shell's state in context.
463
598
  */
464
- declare function Root$7({ scroll, ...rest }: RootProps$7): ReactElement;
599
+ declare function Root$6({ scroll, ...rest }: RootProps$6): ReactElement;
465
600
  //#endregion
466
601
  //#region src/app-shell/section.d.ts
467
602
  /**
@@ -491,33 +626,30 @@ declare function Section({ grows, scrolls, ...rest }: SectionProps): ReactElemen
491
626
  //#endregion
492
627
  //#region src/app-shell/status.d.ts
493
628
  /**
494
- * Renders the bar `div`.
629
+ * Renders the bar `section`.
495
630
  */
496
- declare const Barred: import("@stealthscale/theme").StyledComponent<"div", {}>;
631
+ declare const Barred: import("@stealthscale/theme").StyledComponent<"section", {}>;
497
632
  /**
498
- * Describes the props of `Status`.
633
+ * Describes the props of `Status`: `label` and the props of a `section` element.
499
634
  */
500
- type StatusProps = ComponentProps<typeof Barred>;
635
+ interface StatusProps extends ComponentProps<typeof Barred> {
636
+ /**
637
+ * Name of the region. `Status` by default.
638
+ */
639
+ readonly label?: string | undefined;
640
+ }
501
641
  /**
502
642
  * Renders the status bar.
503
643
  *
504
- * @param props - The `div` element's props.
505
644
  * @returns The bar, inert while a panel is over the page.
506
645
  */
507
- declare function Status(props: StatusProps): ReactElement;
646
+ declare function Status({ label, ...props }: StatusProps): ReactElement;
508
647
  //#endregion
509
648
  //#region src/app-shell/trigger.d.ts
510
649
  /**
511
650
  * Renders the library's button as a neutral ghost, typed `button` so it submits no form.
512
651
  */
513
- declare const Pressable: import("@stealthscale/theme").StyledComponent<import("@stealthscale/theme").StyledComponent<"button", {
514
- readonly effect?: "glow" | "pulse";
515
- readonly elevation?: import("@stealthscale/theme/authoring").Lift;
516
- readonly palette?: "accent" | "error" | "info" | "neutral" | "primary" | "secondary" | "success" | "warning";
517
- readonly shape?: "square";
518
- readonly size?: import("@stealthscale/theme/authoring").Scale;
519
- readonly variant?: "ghost" | "glass" | "outline" | "plain" | "solid" | "subtle" | "surface";
520
- }>, {}>;
652
+ declare const Pressable: import("@stealthscale/theme").StyledComponent<typeof Button, {}>;
521
653
  /**
522
654
  * Describes the props of `Trigger`.
523
655
  */
@@ -531,11 +663,11 @@ interface TriggerProps$2 extends Omit<ComponentProps<typeof Pressable>, "aria-co
531
663
  * Renders the control that toggles one panel.
532
664
  *
533
665
  * @param props - `panel` and the button's props.
534
- * @returns The control, or `null` while its panel has dropped under the page.
666
+ * @returns The control, or `null` while its panel is under the page or hidden.
535
667
  */
536
668
  declare function Trigger$2({ onClick, panel, ...rest }: TriggerProps$2): null | ReactElement;
537
669
  declare namespace index_d_exports$1 {
538
- export { Aside$1 as Aside, AsideProps$1 as AsideProps, Body$3 as Body, BodyProps$3 as BodyProps, COLLAPSES, Collapse, FOLDS, Fold, Footer$3 as Footer, FooterProps$3 as FooterProps, Header$4 as Header, HeaderProps$4 as HeaderProps, Main, MainProps, Navbar, NavbarProps, Panel$1 as Panel, PanelOptions, Rail, RailProps, Root$7 as Root, RootProps$7 as RootProps, Section, SectionProps, ShellWidth, Side, Status, StatusProps, Trigger$2 as Trigger, TriggerProps$2 as TriggerProps, WINDOW_HEIGHT, useAppShellPanel, useNearestPanel, useOverlaid };
670
+ export { Aside$1 as Aside, AsideProps$1 as AsideProps, Body$3 as Body, BodyProps$3 as BodyProps, COLLAPSES, Collapse, FOLDS, Fold, Footer$3 as Footer, FooterProps$3 as FooterProps, Header$4 as Header, HeaderProps$4 as HeaderProps, Main, MainProps, Navbar, NavbarProps, Pane, PaneProps, Panel$1 as Panel, PanelOptions, Rail, RailProps, Root$6 as Root, RootProps$6 as RootProps, Section, SectionProps, ShellWidth, Side, Status, StatusProps, Trigger$2 as Trigger, TriggerProps$2 as TriggerProps, WINDOW_HEIGHT, useAppShellPanel, useNearestPanel, useOverlaid };
539
671
  }
540
672
  //#endregion
541
673
  //#region src/floating-panel/body.d.ts
@@ -727,16 +859,15 @@ declare const Framed$1: import("@stealthscale/theme").StyledComponent<"div", {}>
727
859
  * The element's `id`, `dir`, `draggable` and `position` are left out, because the machine takes
728
860
  * all four. It derives every part's id from `id` and writes `dir` on every part. It reads
729
861
  * `draggable` as whether a person can move the panel, and `position` as the panel's place.
730
- * `lazyMount` and `unmountOnExit` are true by default.
731
862
  */
732
- interface RootProps$6 extends FloatingPanelOptions, Omit<ComponentProps<typeof Framed$1>, "dir" | "draggable" | "id" | "position">, Omit<PresenceOptions, "present"> {}
863
+ interface RootProps$5 extends FloatingPanelOptions, Omit<ComponentProps<typeof Framed$1>, "dir" | "draggable" | "id" | "position">, OverlayPresence {}
733
864
  /**
734
865
  * Renders the root and provides the machine and the panel's presence to the parts.
735
866
  *
736
867
  * @param props - The machine's options, the presence options and the props of a `div`.
737
868
  * @returns The `div` element inside the providers.
738
869
  */
739
- declare function Root$6({ lazyMount, onExitComplete, skipAnimationOnMount, unmountOnExit, ...props }: RootProps$6): ReactElement;
870
+ declare function Root$5({ lazyMount, onExitComplete, skipAnimationOnMount, unmountOnExit, ...props }: RootProps$5): ReactElement;
740
871
  //#endregion
741
872
  //#region src/floating-panel/stage-trigger.d.ts
742
873
  /**
@@ -769,14 +900,14 @@ declare const Drawn$5: import("@stealthscale/theme").StyledComponent<"h2", {}>;
769
900
  /**
770
901
  * Describes the props of the title: the props of an `h2`.
771
902
  */
772
- type TitleProps$2 = ComponentProps<typeof Drawn$5>;
903
+ type TitleProps$3 = ComponentProps<typeof Drawn$5>;
773
904
  /**
774
905
  * Renders the title with the machine's title props merged under the caller's.
775
906
  *
776
907
  * @param props - The props of an `h2`.
777
908
  * @returns The heading element.
778
909
  */
779
- declare function Title$2(props: TitleProps$2): ReactElement;
910
+ declare function Title$3(props: TitleProps$3): ReactElement;
780
911
  //#endregion
781
912
  //#region src/floating-panel/trigger.d.ts
782
913
  /**
@@ -796,7 +927,7 @@ type TriggerProps$1 = ComponentProps<typeof Drawn$4>;
796
927
  */
797
928
  declare function Trigger$1(props: TriggerProps$1): ReactElement;
798
929
  declare namespace index_d_exports$2 {
799
- export { AnchorPositionDetails, Body$2 as Body, BodyProps$2 as BodyProps, CloseTrigger, CloseTriggerProps, Content$3 as Content, ContentProps$1 as ContentProps, Control, ControlProps, DragTrigger, DragTriggerProps, Header$3 as Header, HeaderProps$3 as HeaderProps, OpenChangeDetails, Point, PositionChangeDetails, Positioner, PositionerProps, ResizeTrigger$1 as ResizeTrigger, ResizeTriggerAxis$1 as ResizeTriggerAxis, ResizeTriggerProps$1 as ResizeTriggerProps, ResizeTriggers, ResizeTriggersProps, Root$6 as Root, RootProps$6 as RootProps, Size, SizeChangeDetails, Stage$1 as Stage, StageChangeDetails, StageTrigger, StageTriggerProps, Title$2 as Title, TitleProps$2 as TitleProps, Trigger$1 as Trigger, TriggerProps$1 as TriggerProps };
930
+ export { AnchorPositionDetails, Body$2 as Body, BodyProps$2 as BodyProps, CloseTrigger, CloseTriggerProps, Content$3 as Content, ContentProps$1 as ContentProps, Control, ControlProps, DragTrigger, DragTriggerProps, Header$3 as Header, HeaderProps$3 as HeaderProps, OpenChangeDetails, Point, PositionChangeDetails, Positioner, PositionerProps, ResizeTrigger$1 as ResizeTrigger, ResizeTriggerAxis$1 as ResizeTriggerAxis, ResizeTriggerProps$1 as ResizeTriggerProps, ResizeTriggers, ResizeTriggersProps, Root$5 as Root, RootProps$5 as RootProps, Size, SizeChangeDetails, Stage$1 as Stage, StageChangeDetails, StageTrigger, StageTriggerProps, Title$3 as Title, TitleProps$3 as TitleProps, Trigger$1 as Trigger, TriggerProps$1 as TriggerProps };
800
931
  }
801
932
  //#endregion
802
933
  //#region src/folding/priority.d.ts
@@ -814,13 +945,6 @@ declare namespace index_d_exports$2 {
814
945
  type Priority = "primary" | "secondary" | "tertiary";
815
946
  //#endregion
816
947
  //#region src/page/state.d.ts
817
- /**
818
- * Provides the page's size and measured width to its parts and to the sections in it.
819
- *
820
- * @remarks
821
- * A section in a page reads its size from here, so one size on `Page.Root` sets every section.
822
- * A part rendered at one width reads the page's measured width from here.
823
- */
824
948
  /**
825
949
  * Size of a page.
826
950
  */
@@ -845,14 +969,7 @@ interface WhenProps {
845
969
  /**
846
970
  * Renders the library's button with the recipe's action class.
847
971
  */
848
- declare const Acted$2: import("@stealthscale/theme").StyledComponent<import("@stealthscale/theme").StyledComponent<"button", {
849
- readonly effect?: "glow" | "pulse";
850
- readonly elevation?: import("@stealthscale/theme/authoring").Lift;
851
- readonly palette?: "accent" | "error" | "info" | "neutral" | "primary" | "secondary" | "success" | "warning";
852
- readonly shape?: "square";
853
- readonly size?: import("@stealthscale/theme/authoring").Scale;
854
- readonly variant?: "ghost" | "glass" | "outline" | "plain" | "solid" | "subtle" | "surface";
855
- }>, {}>;
972
+ declare const Acted$2: import("@stealthscale/theme").StyledComponent<typeof Button, {}>;
856
973
  /**
857
974
  * Describes the props of an action: its icon, whether it is primary, its priority, `when` and the
858
975
  * props of the library's button.
@@ -1154,14 +1271,7 @@ type PaletteProps = ComponentProps<typeof Palette>;
1154
1271
  /**
1155
1272
  * Renders the library's button with the recipe's picker class.
1156
1273
  */
1157
- declare const Picker: import("@stealthscale/theme").StyledComponent<import("@stealthscale/theme").StyledComponent<"button", {
1158
- readonly effect?: "glow" | "pulse";
1159
- readonly elevation?: import("@stealthscale/theme/authoring").Lift;
1160
- readonly palette?: "accent" | "error" | "info" | "neutral" | "primary" | "secondary" | "success" | "warning";
1161
- readonly shape?: "square";
1162
- readonly size?: import("@stealthscale/theme/authoring").Scale;
1163
- readonly variant?: "ghost" | "glass" | "outline" | "plain" | "solid" | "subtle" | "surface";
1164
- }>, {}>;
1274
+ declare const Picker: import("@stealthscale/theme").StyledComponent<typeof Button, {}>;
1165
1275
  /**
1166
1276
  * Describes the props of the picker: the props of the library's button.
1167
1277
  */
@@ -1171,19 +1281,19 @@ type PickerProps = ComponentProps<typeof Picker>;
1171
1281
  /**
1172
1282
  * Renders the `div` with the recipe's root class, which provides the variants to the bands.
1173
1283
  */
1174
- declare const Columned$1: import("@stealthscale/theme").StyledComponent<"div", {
1175
- readonly align?: "center" | "start";
1176
- readonly divided?: boolean;
1177
- readonly gutter?: import("@stealthscale/theme/authoring").Scale;
1178
- readonly measure?: "full" | "narrow" | "wide";
1179
- readonly folded?: boolean;
1180
- readonly size?: "lg" | "md" | "sm";
1284
+ declare const Columned$2: import("@stealthscale/theme").StyledComponent<"div", {
1285
+ readonly align?: "center" | "start" | undefined;
1286
+ readonly divided?: boolean | undefined;
1287
+ readonly gutter?: import("@stealthscale/theme/authoring").Scale | undefined;
1288
+ readonly measure?: "full" | "narrow" | "wide" | undefined;
1289
+ readonly folded?: boolean | undefined;
1290
+ readonly size?: "lg" | "md" | "sm" | undefined;
1181
1291
  }>;
1182
1292
  /**
1183
1293
  * Describes the props of the page: its size, the recipe's variants without `folded`, which the
1184
1294
  * page measures, and the props of a `div`.
1185
1295
  */
1186
- interface RootProps$5 extends Omit<ComponentProps<typeof Columned$1>, "folded" | "size"> {
1296
+ interface RootProps$4 extends Omit<ComponentProps<typeof Columned$2>, "folded" | "size"> {
1187
1297
  /**
1188
1298
  * Size of the page, which a section in it reads too.
1189
1299
  */
@@ -1195,7 +1305,76 @@ interface RootProps$5 extends Omit<ComponentProps<typeof Columned$1>, "folded" |
1195
1305
  * @param props - The size, the recipe's variants and the props of a `div`.
1196
1306
  * @returns The `div` element, with `folded` and `data-narrow` while it is narrow.
1197
1307
  */
1198
- declare function Root$5({ size, ...rest }: RootProps$5): ReactElement;
1308
+ declare function Root$4({ size, ...rest }: RootProps$4): ReactElement;
1309
+ //#endregion
1310
+ //#region src/page/sidebar-column.d.ts
1311
+ /**
1312
+ * Renders the column `div` with the recipe's sidebar class.
1313
+ */
1314
+ declare const Columned$1: import("@stealthscale/theme").StyledComponent<"div", {}>;
1315
+ /**
1316
+ * Describes the props of `SidebarColumn`: `sticky`, the resizing options and the props of a `div`.
1317
+ */
1318
+ interface SidebarColumnProps extends ComponentProps<typeof Columned$1>, StickyProps {
1319
+ /**
1320
+ * Width the sidebar starts at, in pixels, when the caller does not control `size`. The theme's
1321
+ * sidebar width where left out.
1322
+ */
1323
+ readonly defaultSize?: number | undefined;
1324
+ /**
1325
+ * Widest width a person resizes the sidebar to, in pixels. Half the window's width by default.
1326
+ */
1327
+ readonly maxSize?: number | undefined;
1328
+ /**
1329
+ * Narrowest width a person resizes the sidebar to, in pixels. 192 by default.
1330
+ */
1331
+ readonly minSize?: number | undefined;
1332
+ /**
1333
+ * Called with the new width, in pixels, while a person resizes the sidebar.
1334
+ */
1335
+ readonly onSizeChange?: ((size: number) => void) | undefined;
1336
+ /**
1337
+ * Whether a person resizes the sidebar by the separator on its end edge. Defaults to `false`.
1338
+ */
1339
+ readonly resizable?: boolean | undefined;
1340
+ /**
1341
+ * Accessible name of the separator. Defaults to `Resize`.
1342
+ */
1343
+ readonly resizeLabel?: string | undefined;
1344
+ /**
1345
+ * Width a person resized the sidebar to, in pixels, when the application controls it.
1346
+ */
1347
+ readonly size?: number | undefined;
1348
+ }
1349
+ //#endregion
1350
+ //#region src/page/sidebar.d.ts
1351
+ /**
1352
+ * Describes the props of `Sidebar`: the picker's words and mark, `sticky`, the resizing options and
1353
+ * the props of a `div`.
1354
+ */
1355
+ interface SidebarProps extends SidebarColumnProps {
1356
+ /**
1357
+ * Words the picker shows on a narrow page, such as the current destination's name. `label`
1358
+ * where left out.
1359
+ */
1360
+ readonly current?: ReactNode | undefined;
1361
+ /**
1362
+ * Accessible name of the picker's panel, and the picker's words where `current` is left out.
1363
+ */
1364
+ readonly label: string;
1365
+ /**
1366
+ * Mark at the end of the picker, such as a chevron.
1367
+ */
1368
+ readonly pickerIcon?: ReactNode | undefined;
1369
+ }
1370
+ /**
1371
+ * Renders the column beside the body, or the band with the picker on a narrow page.
1372
+ *
1373
+ * @param props - The picker's words and mark, `sticky`, the resizing options and the props of a
1374
+ * `div`.
1375
+ * @returns The `div` element.
1376
+ */
1377
+ declare function Sidebar({ children, current, label, pickerIcon, ...rest }: SidebarProps): ReactElement;
1199
1378
  //#endregion
1200
1379
  //#region src/page/tab-list.d.ts
1201
1380
  /**
@@ -1280,11 +1459,11 @@ type TabsProps = ComponentProps<typeof Tabs$1>;
1280
1459
  /**
1281
1460
  * Renders the `h1` with the recipe's title class.
1282
1461
  */
1283
- declare const Title$1: import("@stealthscale/theme").StyledComponent<"h1", {}>;
1462
+ declare const Title$2: import("@stealthscale/theme").StyledComponent<"h1", {}>;
1284
1463
  /**
1285
1464
  * Describes the props of the title: the props of a heading.
1286
1465
  */
1287
- type TitleProps$1 = ComponentProps<typeof Title$1>;
1466
+ type TitleProps$2 = ComponentProps<typeof Title$2>;
1288
1467
  //#endregion
1289
1468
  //#region src/page/toolbar.d.ts
1290
1469
  /**
@@ -1331,21 +1510,14 @@ interface WhenComponentProps extends WhenProps {
1331
1510
  */
1332
1511
  declare function When({ children, when }: WhenComponentProps): ReactNode;
1333
1512
  declare namespace index_d_exports$3 {
1334
- export { Action$3 as Action, ActionProps$3 as ActionProps, Actions$1 as Actions, ActionsProps$1 as ActionsProps, Aside, AsideFold, AsideProps, Banner, BannerProps, Body$1 as Body, BodyProps$1 as BodyProps, Breadcrumbs, BreadcrumbsProps, Context, ContextProps, Crumb, Description$1 as Description, DescriptionProps$1 as DescriptionProps, Footer$2 as Footer, FooterProps$2 as FooterProps, Header$2 as Header, HeaderProps$2 as HeaderProps, Leading, LeadingProps, Meta, MetaProps, Nav$1 as Nav, NavProps$1 as NavProps, Palette, PaletteProps, Picker, PickerProps, Root$5 as Root, RootProps$5 as RootProps, Tab, TabList, TabListProps, TabProps, Tabs$1 as Tabs, TabsProps, Title$1 as Title, TitleProps$1 as TitleProps, Toolbar, ToolbarProps, Trail, TrailProps, When, WhenComponentProps };
1513
+ export { Action$3 as Action, ActionProps$3 as ActionProps, Actions$1 as Actions, ActionsProps$1 as ActionsProps, Aside, AsideFold, AsideProps, Banner, BannerProps, Body$1 as Body, BodyProps$1 as BodyProps, Breadcrumbs, BreadcrumbsProps, Context, ContextProps, Crumb, Description$1 as Description, DescriptionProps$1 as DescriptionProps, Footer$2 as Footer, FooterProps$2 as FooterProps, Header$2 as Header, HeaderProps$2 as HeaderProps, Leading, LeadingProps, Meta, MetaProps, Nav$1 as Nav, NavProps$1 as NavProps, Palette, PaletteProps, Picker, PickerProps, Root$4 as Root, RootProps$4 as RootProps, Sidebar, SidebarProps, Tab, TabList, TabListProps, TabProps, Tabs$1 as Tabs, TabsProps, Title$2 as Title, TitleProps$2 as TitleProps, Toolbar, ToolbarProps, Trail, TrailProps, When, WhenComponentProps };
1335
1514
  }
1336
1515
  //#endregion
1337
1516
  //#region src/section/action.d.ts
1338
1517
  /**
1339
1518
  * Renders the library's button with the recipe's action class.
1340
1519
  */
1341
- declare const Acted$1: import("@stealthscale/theme").StyledComponent<import("@stealthscale/theme").StyledComponent<"button", {
1342
- readonly effect?: "glow" | "pulse";
1343
- readonly elevation?: import("@stealthscale/theme/authoring").Lift;
1344
- readonly palette?: "accent" | "error" | "info" | "neutral" | "primary" | "secondary" | "success" | "warning";
1345
- readonly shape?: "square";
1346
- readonly size?: import("@stealthscale/theme/authoring").Scale;
1347
- readonly variant?: "ghost" | "glass" | "outline" | "plain" | "solid" | "subtle" | "surface";
1348
- }>, {}>;
1520
+ declare const Acted$1: import("@stealthscale/theme").StyledComponent<typeof Button, {}>;
1349
1521
  /**
1350
1522
  * Describes the props of an action: its icon, whether it is primary, its priority and the props of
1351
1523
  * the library's button.
@@ -1460,22 +1632,22 @@ type HeaderProps$1 = ComponentProps<typeof Header$1>;
1460
1632
  * Renders the `section` with the recipe's root class, which provides the variants to the parts.
1461
1633
  */
1462
1634
  declare const Block: import("@stealthscale/theme").StyledComponent<"section", {
1463
- readonly annotated?: boolean;
1464
- readonly size?: "lg" | "md" | "sm";
1465
- readonly variant?: "plain" | "surface";
1635
+ readonly annotated?: boolean | undefined;
1636
+ readonly size?: "lg" | "md" | "sm" | undefined;
1637
+ readonly variant?: "plain" | "surface" | undefined;
1466
1638
  }>;
1467
1639
  /**
1468
1640
  * Describes the props of the section: the recipe's variants and the props of a `section`, without
1469
1641
  * `aria-labelledby`, which the root sets.
1470
1642
  */
1471
- type RootProps$4 = Omit<ComponentProps<typeof Block>, "aria-labelledby">;
1643
+ type RootProps$3 = Omit<ComponentProps<typeof Block>, "aria-labelledby">;
1472
1644
  /**
1473
1645
  * Renders the section with its title's id and its measured width.
1474
1646
  *
1475
1647
  * @param props - The recipe's variants and the props of a `section`.
1476
1648
  * @returns The `section` element, with `data-narrow` while it is narrow.
1477
1649
  */
1478
- declare function Root$4({ size, ...rest }: RootProps$4): ReactElement;
1650
+ declare function Root$3({ size, ...rest }: RootProps$3): ReactElement;
1479
1651
  //#endregion
1480
1652
  //#region src/section/title.d.ts
1481
1653
  /**
@@ -1485,16 +1657,16 @@ declare const Named: import("@stealthscale/theme").StyledComponent<"h2", {}>;
1485
1657
  /**
1486
1658
  * Describes the props of the title: the props of a heading without `id`, which the section sets.
1487
1659
  */
1488
- type TitleProps = Omit<ComponentProps<typeof Named>, "id">;
1660
+ type TitleProps$1 = Omit<ComponentProps<typeof Named>, "id">;
1489
1661
  /**
1490
1662
  * Renders the heading with the section's title id.
1491
1663
  *
1492
1664
  * @param props - The props of a heading, without `id`.
1493
1665
  * @returns The heading element.
1494
1666
  */
1495
- declare function Title(props: TitleProps): ReactElement;
1667
+ declare function Title$1(props: TitleProps$1): ReactElement;
1496
1668
  declare namespace index_d_exports$4 {
1497
- export { Action$2 as Action, ActionProps$2 as ActionProps, Actions, ActionsProps, Body, BodyProps, Description, DescriptionProps, Footer$1 as Footer, FooterProps$1 as FooterProps, Header$1 as Header, HeaderProps$1 as HeaderProps, Root$4 as Root, RootProps$4 as RootProps, Title, TitleProps };
1669
+ export { Action$2 as Action, ActionProps$2 as ActionProps, Actions, ActionsProps, Body, BodyProps, Description, DescriptionProps, Footer$1 as Footer, FooterProps$1 as FooterProps, Header$1 as Header, HeaderProps$1 as HeaderProps, Root$3 as Root, RootProps$3 as RootProps, Title$1 as Title, TitleProps$1 as TitleProps };
1498
1670
  }
1499
1671
  //#endregion
1500
1672
  //#region src/sidebar/content.d.ts
@@ -1614,13 +1786,13 @@ declare function Nav(props: NavProps): ReactElement;
1614
1786
  * Renders the column and provides the variants to every part below it.
1615
1787
  */
1616
1788
  declare const Columned: import("@stealthscale/theme").StyledComponent<"div", {
1617
- readonly size?: "lg" | "md" | "sm";
1618
- readonly variant?: "outline" | "plain" | "subtle" | "surface";
1789
+ readonly size?: "lg" | "md" | "sm" | undefined;
1790
+ readonly variant?: "outline" | "plain" | "subtle" | "surface" | undefined;
1619
1791
  }>;
1620
1792
  /**
1621
1793
  * Describes the props of `Root`.
1622
1794
  */
1623
- interface RootProps$3 extends ComponentProps<typeof Columned> {
1795
+ interface RootProps$2 extends ComponentProps<typeof Columned> {
1624
1796
  /**
1625
1797
  * Whether the sidebar is a rail of icons, in place of the one its panel implies.
1626
1798
  */
@@ -1632,7 +1804,7 @@ interface RootProps$3 extends ComponentProps<typeof Columned> {
1632
1804
  * @param props - `iconic`, the recipe's variants and the `div` element's props.
1633
1805
  * @returns The column, with `data-iconic` on a rail.
1634
1806
  */
1635
- declare function Root$3({ iconic, onClick, size, ...rest }: RootProps$3): ReactElement;
1807
+ declare function Root$2({ iconic, onClick, size, ...rest }: RootProps$2): ReactElement;
1636
1808
  //#endregion
1637
1809
  //#region src/sidebar/search.d.ts
1638
1810
  /**
@@ -1648,7 +1820,7 @@ interface SearchProps$1 extends SearchInputProps {
1648
1820
  * Renders the field that filters the scope, the rail's button, or the caller's field.
1649
1821
  *
1650
1822
  * @param props - The props of the search input and the shortcut.
1651
- * @returns The `div` element, or nothing on a rail it cannot open.
1823
+ * @returns The `div` element in the `search` role, or nothing on a rail it cannot open.
1652
1824
  */
1653
1825
  declare function Search$1({ "aria-label": named, children, defaultValue, onKeyDown, onValueChange, searchIndicator, shortcut, value: driven, ...rest }: SearchProps$1): null | ReactElement;
1654
1826
  //#endregion
@@ -1662,7 +1834,7 @@ declare const Separator$1: import("@stealthscale/theme").StyledComponent<typeof
1662
1834
  */
1663
1835
  type SeparatorProps$1 = ComponentProps<typeof Separator$1>;
1664
1836
  declare namespace index_d_exports$5 {
1665
- export { Content, ContentProps, Empty, EmptyProps, Footer, FooterProps, Header, HeaderProps, Nav, NavAction, NavActionProps, NavHeading, NavHeadingProps, NavLabel, NavLabelProps, NavProps, Root$3 as Root, RootProps$3 as RootProps, Search$1 as Search, SearchProps$1 as SearchProps, Separator$1 as Separator, SeparatorProps$1 as SeparatorProps };
1837
+ export { Content, ContentProps, Empty, EmptyProps, Footer, FooterProps, Header, HeaderProps, Nav, NavAction, NavActionProps, NavHeading, NavHeadingProps, NavLabel, NavLabelProps, NavProps, Root$2 as Root, RootProps$2 as RootProps, Search$1 as Search, SearchProps$1 as SearchProps, Separator$1 as Separator, SeparatorProps$1 as SeparatorProps };
1666
1838
  }
1667
1839
  //#endregion
1668
1840
  //#region src/splitter/machine.d.ts
@@ -1787,12 +1959,12 @@ declare function ResizeTrigger({ children, disabled, id, label, ...props }: Resi
1787
1959
  * Renders the `div` that provides the recipe's variants.
1788
1960
  */
1789
1961
  declare const Framed: import("@stealthscale/theme").StyledComponent<"div", {
1790
- readonly palette?: "accent" | "error" | "info" | "neutral" | "primary" | "secondary" | "success" | "warning";
1962
+ readonly palette?: "accent" | "error" | "info" | "neutral" | "primary" | "secondary" | "success" | "warning" | undefined;
1791
1963
  }>;
1792
1964
  /**
1793
1965
  * Describes the props of the root: the api, the recipe's variants and the props of a `div`.
1794
1966
  */
1795
- interface RootProps$2 extends ComponentProps<typeof Framed> {
1967
+ interface RootProps$1 extends ComponentProps<typeof Framed> {
1796
1968
  /**
1797
1969
  * Api `useSplitter` returns, which every part reads.
1798
1970
  */
@@ -1805,9 +1977,9 @@ interface RootProps$2 extends ComponentProps<typeof Framed> {
1805
1977
  * @param props - The api, the recipe's variants and the props of a `div`.
1806
1978
  * @returns The `div` element inside the api provider.
1807
1979
  */
1808
- declare function Root$2({ splitter, ...props }: RootProps$2): ReactElement;
1980
+ declare function Root$1({ splitter, ...props }: RootProps$1): ReactElement;
1809
1981
  declare namespace index_d_exports$6 {
1810
- export { ExpandCollapseDetails, Panel, PanelData, PanelProps, PanelSize, ResizeDetails, ResizeEndDetails, ResizeTrigger, ResizeTriggerIndicator, ResizeTriggerIndicatorProps, ResizeTriggerProps, ResizeTriggerSeparator, ResizeTriggerSeparatorProps, Root$2 as Root, RootProps$2 as RootProps, SplitterApi, SplitterOptions, useSplitter };
1982
+ export { ExpandCollapseDetails, Panel, PanelData, PanelProps, PanelSize, ResizeDetails, ResizeEndDetails, ResizeTrigger, ResizeTriggerIndicator, ResizeTriggerIndicatorProps, ResizeTriggerProps, ResizeTriggerSeparator, ResizeTriggerSeparatorProps, Root$1 as Root, RootProps$1 as RootProps, SplitterApi, SplitterOptions, useSplitter };
1811
1983
  }
1812
1984
  //#endregion
1813
1985
  //#region src/switcher/action.d.ts
@@ -1832,37 +2004,6 @@ interface ActionProps$1 extends Omit<ComponentProps<typeof Menu.Item>, "value">
1832
2004
  */
1833
2005
  declare function Action$1({ children, icon, value, ...rest }: ActionProps$1): ReactElement;
1834
2006
  //#endregion
1835
- //#region src/switcher/choice.d.ts
1836
- /**
1837
- * Describes one workspace, project or tenant a switcher lists.
1838
- */
1839
- interface Choice {
1840
- /**
1841
- * Plan, role or region, rendered under the name in a sidebar and in the menu's row.
1842
- */
1843
- readonly detail?: string | undefined;
1844
- /**
1845
- * Whether the reader cannot switch to the choice.
1846
- */
1847
- readonly disabled?: boolean | undefined;
1848
- /**
1849
- * Address of the choice's own page, which renders its row as a link.
1850
- */
1851
- readonly href?: string | undefined;
1852
- /**
1853
- * Name of the choice.
1854
- */
1855
- readonly label: string;
1856
- /**
1857
- * Logo or avatar. The mark shows the name's initials without one.
1858
- */
1859
- readonly mark?: ReactNode | undefined;
1860
- /**
1861
- * Value the application knows the choice by.
1862
- */
1863
- readonly value: string;
1864
- }
1865
- //#endregion
1866
2007
  //#region src/switcher/detail.d.ts
1867
2008
  /**
1868
2009
  * Renders the detail `span` at the switcher's size.
@@ -1913,274 +2054,6 @@ declare const Name: import("@stealthscale/theme").StyledComponent<"span", {}>;
1913
2054
  */
1914
2055
  type NameProps = ComponentProps<typeof Name>;
1915
2056
  //#endregion
1916
- //#region src/switcher/recipe.d.ts
1917
- /**
1918
- * Declares the switcher's slot recipe, which styles the control that shows the current workspace,
1919
- * project or environment and opens the menu of the others.
1920
- *
1921
- * @remarks
1922
- * The recipe has six slots. The root slot is the trigger, and the mark, the label, the name, the
1923
- * detail and the indicator are inside it. `Switcher.Root` is the disclosure package's menu, so
1924
- * the menu's recipe styles the panel and its rows. The trigger takes the button's looks and
1925
- * palettes from the same layer styles, so an outlined switcher has the button's light edge. The
1926
- * mark is a square in the palette's muted fill for an initial, an icon or an avatar. The name and
1927
- * the detail truncate to keep the control at one height. A pair of chevrons marks a control that
1928
- * switches and not a direction, so the indicator does not rotate while the menu is open. In a
1929
- * sidebar closed to icons the control is its mark alone, square, and in a narrow toolbar a
1930
- * switcher with a mark hides its name. The words remain in the accessible name in both.
1931
- */
1932
- /**
1933
- * Styles a ghost switcher at the middle size, alone.
1934
- */
1935
- declare const recipe: import("@stealthscale/theme/authoring").SlotRecipe<"detail" | "indicator" | "label" | "mark" | "name" | "root", {
1936
- /**
1937
- * The palette of the look and the mark.
1938
- */
1939
- readonly palette: {
1940
- accent: Record<"root", import("@stealthscale/theme").SystemStyleObject>;
1941
- error: Record<"root", import("@stealthscale/theme").SystemStyleObject>;
1942
- info: Record<"root", import("@stealthscale/theme").SystemStyleObject>;
1943
- neutral: Record<"root", import("@stealthscale/theme").SystemStyleObject>;
1944
- primary: Record<"root", import("@stealthscale/theme").SystemStyleObject>;
1945
- secondary: Record<"root", import("@stealthscale/theme").SystemStyleObject>;
1946
- success: Record<"root", import("@stealthscale/theme").SystemStyleObject>;
1947
- warning: Record<"root", import("@stealthscale/theme").SystemStyleObject>;
1948
- };
1949
- /**
1950
- * Where the control is placed, which sets its width and its lines.
1951
- *
1952
- * @remarks
1953
- * `Switcher.Root` reads the placement from the sidebar or the toolbar around it unless a
1954
- * caller states one. The `marked` compound sizes the mark to `icon.lg` on one line, because
1955
- * the size axis sizes it for a sidebar and a compound applies over an axis.
1956
- */
1957
- readonly placement: {
1958
- alone: {
1959
- detail: {
1960
- display: string;
1961
- };
1962
- root: {
1963
- inlineSize: string;
1964
- minBlockSize: string;
1965
- };
1966
- };
1967
- sidebar: {
1968
- root: {
1969
- "&[data-iconic]": {
1970
- alignSelf: string;
1971
- aspectRatio: string;
1972
- borderWidth: string;
1973
- inlineSize: string;
1974
- justifyContent: string;
1975
- padding: string;
1976
- };
1977
- inlineSize: string;
1978
- };
1979
- };
1980
- toolbar: {
1981
- detail: {
1982
- display: string;
1983
- };
1984
- root: {
1985
- inlineSize: string;
1986
- minBlockSize: string;
1987
- };
1988
- };
1989
- };
1990
- readonly size: {
1991
- lg: Partial<Record<"indicator" | "mark" | "name" | "root", import("@stealthscale/theme").SystemStyleObject>>;
1992
- md: Partial<Record<"indicator" | "mark" | "name" | "root", import("@stealthscale/theme").SystemStyleObject>>;
1993
- sm: Partial<Record<"indicator" | "mark" | "name" | "root", import("@stealthscale/theme").SystemStyleObject>>;
1994
- };
1995
- /**
1996
- * The button's six looks, each one of the theme's layer styles.
1997
- *
1998
- * @remarks
1999
- * `ghost`, the default, has no fill at rest, so a switcher at the head of a sidebar shows the
2000
- * sidebar's own ground and fills under a pointer.
2001
- */
2002
- readonly variant: {
2003
- ghost: Record<"root", import("@stealthscale/theme").SystemStyleObject>;
2004
- outline: Record<"root", import("@stealthscale/theme").SystemStyleObject>;
2005
- plain: Record<"root", import("@stealthscale/theme").SystemStyleObject>;
2006
- solid: Record<"root", import("@stealthscale/theme").SystemStyleObject>;
2007
- subtle: Record<"root", import("@stealthscale/theme").SystemStyleObject>;
2008
- surface: Record<"root", import("@stealthscale/theme").SystemStyleObject>;
2009
- };
2010
- }>;
2011
- //#endregion
2012
- //#region src/switcher/sized.d.ts
2013
- /**
2014
- * Selects one of the sizes the menu renders at, which are the switcher's sizes.
2015
- */
2016
- type Step = "lg" | "md" | "sm";
2017
- /**
2018
- * Describes the props of `Sized`: the menu's props and the step.
2019
- */
2020
- interface SizedProps extends Omit<ComponentProps<typeof Menu.Root>, "size"> {
2021
- /**
2022
- * Size the switcher renders at.
2023
- */
2024
- readonly step: Step;
2025
- }
2026
- /**
2027
- * Renders the menu at the step.
2028
- *
2029
- * @param props - The step and the menu's props.
2030
- * @returns The menu at that size.
2031
- */
2032
- declare function Sized({ step, ...rest }: SizedProps): ReactElement;
2033
- //#endregion
2034
- //#region src/switcher/state.d.ts
2035
- /**
2036
- * Derives where a switcher renders from the sidebar or the toolbar around it, and provides it to
2037
- * the switcher's parts.
2038
- *
2039
- * @remarks
2040
- * A switcher in a sidebar is a row at the sidebar's size, and its mark alone while the sidebar
2041
- * is a rail. A switcher in a toolbar is one of the row's controls at the toolbar's size, and a
2042
- * switcher with a mark hides its name while the toolbar is narrow. Anywhere else it is one line
2043
- * at its own size. A caller's `placement` or `size` applies over the derived one.
2044
- */
2045
- /**
2046
- * Selects where a switcher renders.
2047
- */
2048
- type Placement = "alone" | "sidebar" | "toolbar";
2049
- /**
2050
- * Selects the size of a switcher.
2051
- */
2052
- type SwitcherSize = "lg" | "md" | "sm";
2053
- //#endregion
2054
- //#region src/switcher/root.d.ts
2055
- /**
2056
- * Binds the sized menu as the root that provides the variants.
2057
- */
2058
- declare const Bound: import("@stealthscale/theme").RootProvider<typeof Sized, {
2059
- readonly palette: {
2060
- accent: Record<"root", import("@stealthscale/theme").SystemStyleObject>;
2061
- error: Record<"root", import("@stealthscale/theme").SystemStyleObject>;
2062
- info: Record<"root", import("@stealthscale/theme").SystemStyleObject>;
2063
- neutral: Record<"root", import("@stealthscale/theme").SystemStyleObject>;
2064
- primary: Record<"root", import("@stealthscale/theme").SystemStyleObject>;
2065
- secondary: Record<"root", import("@stealthscale/theme").SystemStyleObject>;
2066
- success: Record<"root", import("@stealthscale/theme").SystemStyleObject>;
2067
- warning: Record<"root", import("@stealthscale/theme").SystemStyleObject>;
2068
- };
2069
- readonly placement: {
2070
- alone: {
2071
- detail: {
2072
- display: string;
2073
- };
2074
- root: {
2075
- inlineSize: string;
2076
- minBlockSize: string;
2077
- };
2078
- };
2079
- sidebar: {
2080
- root: {
2081
- "&[data-iconic]": {
2082
- alignSelf: string;
2083
- aspectRatio: string;
2084
- borderWidth: string;
2085
- inlineSize: string;
2086
- justifyContent: string;
2087
- padding: string;
2088
- };
2089
- inlineSize: string;
2090
- };
2091
- };
2092
- toolbar: {
2093
- detail: {
2094
- display: string;
2095
- };
2096
- root: {
2097
- inlineSize: string;
2098
- minBlockSize: string;
2099
- };
2100
- };
2101
- };
2102
- readonly size: {
2103
- lg: Partial<Record<"indicator" | "mark" | "name" | "root", import("@stealthscale/theme").SystemStyleObject>>;
2104
- md: Partial<Record<"indicator" | "mark" | "name" | "root", import("@stealthscale/theme").SystemStyleObject>>;
2105
- sm: Partial<Record<"indicator" | "mark" | "name" | "root", import("@stealthscale/theme").SystemStyleObject>>;
2106
- };
2107
- readonly variant: {
2108
- ghost: Record<"root", import("@stealthscale/theme").SystemStyleObject>;
2109
- outline: Record<"root", import("@stealthscale/theme").SystemStyleObject>;
2110
- plain: Record<"root", import("@stealthscale/theme").SystemStyleObject>;
2111
- solid: Record<"root", import("@stealthscale/theme").SystemStyleObject>;
2112
- subtle: Record<"root", import("@stealthscale/theme").SystemStyleObject>;
2113
- surface: Record<"root", import("@stealthscale/theme").SystemStyleObject>;
2114
- };
2115
- }>;
2116
- /**
2117
- * Variant props of the switcher's recipe.
2118
- */
2119
- type Variants = RecipeProps<typeof recipe>;
2120
- /**
2121
- * Props of the binding, with the variants typed as the recipe types them.
2122
- */
2123
- type ProvidedProps = Omit<ComponentProps<typeof Bound>, keyof Variants> & Variants;
2124
- /**
2125
- * Describes the props of `Root`: the choices and their glyphs, the switcher's variants and the
2126
- * menu's props.
2127
- *
2128
- * @remarks
2129
- * The menu's recipe also offers `size` and `variant`. Over the menu's root the two `variant` axes
2130
- * intersect to a type no value satisfies, so the switcher's axes replace the menu's here. The
2131
- * menu's size is the switcher's `size`, so `step` is omitted.
2132
- */
2133
- interface RootProps$1 extends Omit<ProvidedProps, "placement" | "size" | "step"> {
2134
- /**
2135
- * Glyph that marks the current choice's row in the menu.
2136
- */
2137
- readonly checkIcon?: ReactNode | undefined;
2138
- /**
2139
- * Value of the choice that is current at first, when the caller does not control it. Defaults to
2140
- * the first choice.
2141
- */
2142
- readonly defaultValue?: string | undefined;
2143
- /**
2144
- * Glyph at the end of the trigger.
2145
- */
2146
- readonly indicator?: ReactNode | undefined;
2147
- /**
2148
- * The choices. With them the root renders the trigger and the menu.
2149
- */
2150
- readonly items?: readonly Choice[] | undefined;
2151
- /**
2152
- * Kind of thing the switcher switches, which a screen reader announces before the current name.
2153
- * Used with `items`.
2154
- */
2155
- readonly label?: string | undefined;
2156
- /**
2157
- * Called with the value of the choice the reader switches to.
2158
- */
2159
- readonly onValueChange?: ((value: string) => void) | undefined;
2160
- /**
2161
- * Where the switcher renders. Read from the sidebar or the toolbar around it when absent.
2162
- */
2163
- readonly placement?: Placement | undefined;
2164
- /**
2165
- * Size of the switcher. The sidebar's or the toolbar's size when absent, and `md` alone.
2166
- */
2167
- readonly size?: SwitcherSize | undefined;
2168
- /**
2169
- * Value of the current choice, when the caller controls it.
2170
- */
2171
- readonly value?: string | undefined;
2172
- }
2173
- /**
2174
- * Renders the menu with the switcher's variants, at the switcher's size.
2175
- *
2176
- * @remarks
2177
- * A caller's `positioning` applies over the placement's, and a caller's `ids` over the trigger id
2178
- * the root shares with the rail's tooltip.
2179
- * @param props - The choices, the glyphs, the switcher's variants and the menu's props.
2180
- * @returns The menu, providing the variants and the placement.
2181
- */
2182
- declare function Root$1({ checkIcon, children, defaultValue, indicator, items, label, onValueChange, placement, positioning, size, value, ...rest }: RootProps$1): ReactElement;
2183
- //#endregion
2184
2057
  //#region src/switcher/trigger.d.ts
2185
2058
  /**
2186
2059
  * Renders the menu's trigger with the root slot's class.
@@ -2204,21 +2077,14 @@ interface TriggerProps extends ComponentProps<typeof Pressed> {
2204
2077
  */
2205
2078
  declare function Trigger({ children, label, ...rest }: TriggerProps): ReactElement;
2206
2079
  declare namespace index_d_exports$7 {
2207
- export { Action$1 as Action, ActionProps$1 as ActionProps, Choice, Detail, DetailProps, Indicator, IndicatorProps, Label, LabelProps, Mark, MarkProps, Name, NameProps, Placement, Root$1 as Root, RootProps$1 as RootProps, SwitcherSize, Trigger, TriggerProps };
2080
+ export { Action$1 as Action, ActionProps$1 as ActionProps, Choice, Detail, DetailProps, Indicator, IndicatorProps, Label, LabelProps, Mark, MarkProps, Name, NameProps, Placement, Root$8 as Root, RootProps$8 as RootProps, SwitcherSize, Trigger, TriggerProps };
2208
2081
  }
2209
2082
  //#endregion
2210
2083
  //#region src/toolbar/action.d.ts
2211
2084
  /**
2212
2085
  * Renders the library's button with the recipe's action class.
2213
2086
  */
2214
- declare const Acted: import("@stealthscale/theme").StyledComponent<import("@stealthscale/theme").StyledComponent<"button", {
2215
- readonly effect?: "glow" | "pulse";
2216
- readonly elevation?: import("@stealthscale/theme/authoring").Lift;
2217
- readonly palette?: "accent" | "error" | "info" | "neutral" | "primary" | "secondary" | "success" | "warning";
2218
- readonly shape?: "square";
2219
- readonly size?: import("@stealthscale/theme/authoring").Scale;
2220
- readonly variant?: "ghost" | "glass" | "outline" | "plain" | "solid" | "subtle" | "surface";
2221
- }>, {}>;
2087
+ declare const Acted: import("@stealthscale/theme").StyledComponent<typeof Button, {}>;
2222
2088
  /**
2223
2089
  * Describes the props of an action: its icon, whether it is primary, its priority and the props of
2224
2090
  * the library's button.
@@ -2275,13 +2141,13 @@ type EndProps = ComponentProps<typeof End>;
2275
2141
  * Renders the layout package's group, attached, with the recipe's group class.
2276
2142
  */
2277
2143
  declare const Group: import("@stealthscale/theme").StyledComponent<import("@stealthscale/theme").StyledComponent<"div", {
2278
- readonly align?: import("@stealthscale/theme/authoring").Align;
2279
- readonly dim?: boolean;
2280
- readonly attached?: boolean;
2281
- readonly gap?: "lg" | "md" | "sm" | "xl" | "xs";
2282
- readonly grow?: boolean;
2283
- readonly justify?: import("@stealthscale/theme/authoring").Justify;
2284
- readonly orientation?: "horizontal" | "vertical";
2144
+ readonly align?: import("@stealthscale/theme/authoring").Align | undefined;
2145
+ readonly dim?: boolean | undefined;
2146
+ readonly attached?: boolean | undefined;
2147
+ readonly gap?: "lg" | "md" | "sm" | "xl" | "xs" | undefined;
2148
+ readonly grow?: boolean | undefined;
2149
+ readonly justify?: import("@stealthscale/theme/authoring").Justify | undefined;
2150
+ readonly orientation?: "horizontal" | "vertical" | undefined;
2285
2151
  }>, {}>;
2286
2152
  /**
2287
2153
  * Describes the props of the group: the props of the layout package's group.
@@ -2342,9 +2208,9 @@ declare function Link({ children, current, href, icon, onClick, priority, ...res
2342
2208
  * Renders the roving focus root with the recipe's root class.
2343
2209
  */
2344
2210
  declare const Rowed: import("@stealthscale/theme").StyledComponent<typeof RovingFocus.Root, {
2345
- readonly radius?: "l1" | "l2" | "l3";
2346
- readonly size?: import("@stealthscale/theme/authoring").Scale;
2347
- readonly variant?: "outline" | "plain" | "surface";
2211
+ readonly radius?: "l1" | "l2" | "l3" | undefined;
2212
+ readonly size?: import("@stealthscale/theme/authoring").Scale | undefined;
2213
+ readonly variant?: "outline" | "plain" | "surface" | undefined;
2348
2214
  }>;
2349
2215
  /**
2350
2216
  * Describes the props of the toolbar: its accessible name, the menu's words and mark, the recipe's
@@ -2405,8 +2271,25 @@ declare const Start: import("@stealthscale/theme").StyledComponent<"div", {}>;
2405
2271
  * Describes the props of the start band: the props of a `div`.
2406
2272
  */
2407
2273
  type StartProps = ComponentProps<typeof Start>;
2274
+ //#endregion
2275
+ //#region src/toolbar/title.d.ts
2276
+ /**
2277
+ * Renders the `div` with the recipe's title class.
2278
+ */
2279
+ declare const Titled: import("@stealthscale/theme").StyledComponent<"div", {}>;
2280
+ /**
2281
+ * Describes the props of the title: the props of a `div`.
2282
+ */
2283
+ type TitleProps = ComponentProps<typeof Titled>;
2284
+ /**
2285
+ * Renders the title, marked narrow on a narrow row.
2286
+ *
2287
+ * @param props - The props of a `div`.
2288
+ * @returns The `div` element.
2289
+ */
2290
+ declare function Title(props: TitleProps): ReactElement;
2408
2291
  declare namespace index_d_exports$8 {
2409
- export { Action, ActionProps, Center, CenterProps, End, EndProps, Group, GroupProps, Item, ItemProps, Link, LinkProps, Root, RootProps, Search, SearchProps, Separator, SeparatorProps, Start, StartProps };
2292
+ export { Action, ActionProps, Center, CenterProps, End, EndProps, Group, GroupProps, Item, ItemProps, Link, LinkProps, Root, RootProps, Search, SearchProps, Separator, SeparatorProps, Start, StartProps, Title, TitleProps };
2410
2293
  }
2411
2294
  //#endregion
2412
2295
  export { index_d_exports as ActionBar, index_d_exports$1 as AppShell, index_d_exports$2 as FloatingPanel, index_d_exports$3 as Page, index_d_exports$4 as Section, index_d_exports$5 as Sidebar, index_d_exports$6 as Splitter, index_d_exports$7 as Switcher, index_d_exports$8 as Toolbar };