@weasel-js/labkit 1.6.0 → 1.7.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/dist/_dts/{CanvasStackContext-DQgcH1ny.d.ts → CanvasStackContext-D2jnIwfk.d.ts} +1 -1
- package/dist/_dts/FloatingPanel-7j0IcXwz.d.ts +30 -0
- package/dist/_dts/{LayerList.d-2c9yup5Y.d.ts → LayerList.d-DiuEArKq.d.ts} +4 -4
- package/dist/_dts/PrefsRow.d-TOZ7BgD9.d.ts +79 -0
- package/dist/_dts/PropertyPanel.d-D-1paCbE.d.ts +141 -0
- package/dist/_dts/{Select.d-BchGMC2Y.d.ts → Select.d-Bensr_MT.d.ts} +15 -6
- package/dist/_dts/Stage-CCWfQQWM.d.ts +202 -0
- package/dist/_dts/index-B2Yj5aA0.d.ts +274 -0
- package/dist/_dts/{index-B0--8PEM.d.ts → index-CsYqUHD3.d.ts} +12 -13
- package/dist/_dts/{types-B7y8hX1D.d.ts → types-CRPSGFAp.d.ts} +33 -5
- package/dist/_dts/{frac-DTRq7Xpb.d.ts → types-CSm9jgol.d.ts} +700 -650
- package/dist/_dts/{useTrialState-CP4jfuKl.d.ts → useTrialState-CTZPgeZ7.d.ts} +2 -3
- package/dist/canvas/index.d.ts +40 -8
- package/dist/canvas/index.js +5 -3
- package/dist/chrome/index.d.ts +5 -6
- package/dist/chrome/index.js +9 -7
- package/dist/chunk-24W5VEJW.js +18 -0
- package/dist/chunk-24W5VEJW.js.map +1 -0
- package/dist/chunk-275JRRVD.js +728 -0
- package/dist/chunk-275JRRVD.js.map +1 -0
- package/dist/chunk-3RY6WL5T.js +38 -0
- package/dist/chunk-3RY6WL5T.js.map +1 -0
- package/dist/chunk-4LJSC7MB.js +143 -0
- package/dist/chunk-4LJSC7MB.js.map +1 -0
- package/dist/{chunk-3FI7Y4R4.js → chunk-7BO7HNGF.js} +5 -5
- package/dist/{chunk-3FI7Y4R4.js.map → chunk-7BO7HNGF.js.map} +1 -1
- package/dist/chunk-AWQG7FCC.js +19 -0
- package/dist/chunk-AWQG7FCC.js.map +1 -0
- package/dist/chunk-CZZPXUOU.js +3 -0
- package/dist/{chunk-SBXNQW4G.js.map → chunk-CZZPXUOU.js.map} +1 -1
- package/dist/{chunk-ZORVNOKX.js → chunk-FMK7UQ6V.js} +24 -145
- package/dist/chunk-FMK7UQ6V.js.map +1 -0
- package/dist/{chunk-BVL7Y574.js → chunk-FZ7YFQN7.js} +26 -10
- package/dist/chunk-FZ7YFQN7.js.map +1 -0
- package/dist/{chunk-USO6TERP.js → chunk-GOZLNM4L.js} +11 -9
- package/dist/chunk-GOZLNM4L.js.map +1 -0
- package/dist/{chunk-H5VIV7MQ.js → chunk-I5DUQ5HM.js} +88 -82
- package/dist/chunk-I5DUQ5HM.js.map +1 -0
- package/dist/chunk-J7OWWTCW.js +143 -0
- package/dist/chunk-J7OWWTCW.js.map +1 -0
- package/dist/{chunk-H6ZAOWNE.js → chunk-JVBYV6TL.js} +3 -3
- package/dist/{chunk-H6ZAOWNE.js.map → chunk-JVBYV6TL.js.map} +1 -1
- package/dist/{chunk-VQ47KWD5.js → chunk-KMJ7RWD3.js} +18 -7
- package/dist/chunk-KMJ7RWD3.js.map +1 -0
- package/dist/{chunk-ERFMC6WU.js → chunk-M7HP3FTK.js} +20 -11
- package/dist/chunk-M7HP3FTK.js.map +1 -0
- package/dist/chunk-MIM5R4ZT.js +14972 -0
- package/dist/chunk-MIM5R4ZT.js.map +1 -0
- package/dist/{chunk-HFRE4QQV.js → chunk-T5IBSPAM.js} +96 -32
- package/dist/chunk-T5IBSPAM.js.map +1 -0
- package/dist/chunk-UNAZSLWE.js +294 -0
- package/dist/chunk-UNAZSLWE.js.map +1 -0
- package/dist/{chunk-RS3HRQWU.js → chunk-WPLAANH4.js} +4 -3
- package/dist/chunk-WPLAANH4.js.map +1 -0
- package/dist/{chunk-AWH3SRPW.js → chunk-Y23G2VZL.js} +5 -37
- package/dist/chunk-Y23G2VZL.js.map +1 -0
- package/dist/{chunk-MOLIUNVH.js → chunk-YT75VYRD.js} +4 -4
- package/dist/{chunk-MOLIUNVH.js.map → chunk-YT75VYRD.js.map} +1 -1
- package/dist/chunk-ZIFPHIWZ.js +302 -0
- package/dist/chunk-ZIFPHIWZ.js.map +1 -0
- package/dist/config/index.d.ts +48 -40
- package/dist/config/index.js +4 -5
- package/dist/controls/index.d.ts +91 -7
- package/dist/controls/index.js +5 -4
- package/dist/dragdrop/index.d.ts +9 -7
- package/dist/dragdrop/index.js +3 -2
- package/dist/index.d.ts +294 -82
- package/dist/index.js +425 -402
- package/dist/index.js.map +1 -1
- package/dist/layers/index.d.ts +4 -5
- package/dist/layers/index.js +2 -1
- package/dist/loupe/index.d.ts +20 -17
- package/dist/loupe/index.js +5 -3
- package/dist/overview/index.d.ts +56 -0
- package/dist/overview/index.js +289 -0
- package/dist/overview/index.js.map +1 -0
- package/dist/passthrough/weasel-ui.d.ts +239 -69
- package/dist/passthrough/weasel-ui.js +3 -2
- package/dist/primitives/index.d.ts +5 -204
- package/dist/primitives/index.js +6 -4
- package/dist/state/index.d.ts +8 -8
- package/dist/state/index.js +4 -5
- package/dist/state/index.js.map +1 -1
- package/dist/styles.css +152 -82
- package/dist/undo/index.d.ts +4 -4
- package/package.json +17 -12
- package/src/annotations/AnnotationOverlay.tsx +2 -2
- package/src/annotations/Annotations.less +0 -10
- package/src/annotations/MarkList.tsx +4 -8
- package/src/annotations/index.ts +1 -0
- package/src/annotations/paint.test.ts +3 -14
- package/src/annotations/paint.ts +3 -19
- package/src/annotations/store.test.ts +26 -0
- package/src/annotations/store.ts +25 -6
- package/src/annotations/svgNodes.test.ts +6 -9
- package/src/annotations/svgNodes.ts +3 -3
- package/src/annotations/toolMap.test.ts +37 -2
- package/src/annotations/toolMap.ts +13 -0
- package/src/annotations/types.ts +27 -0
- package/src/canvas/AGENTS.md +9 -10
- package/src/canvas/CameraInput.test.tsx +136 -0
- package/src/canvas/CameraInput.tsx +322 -0
- package/src/canvas/CanvasStack.tsx +47 -58
- package/src/canvas/LinkedCursor.less +16 -0
- package/src/canvas/LinkedCursor.tsx +54 -0
- package/src/canvas/Stage.test.tsx +33 -4
- package/src/canvas/Stage.tsx +47 -37
- package/src/canvas/cameraRegistry.test.ts +55 -0
- package/src/canvas/cameraRegistry.ts +86 -0
- package/src/canvas/cameraView.test.ts +60 -0
- package/src/canvas/cameraView.ts +61 -0
- package/src/canvas/cameraZoom.test.ts +46 -0
- package/src/canvas/cameraZoom.ts +24 -0
- package/src/canvas/index.ts +23 -2
- package/src/canvas/sharedScope.test.tsx +94 -0
- package/src/chrome/ChromeRegions.stories.tsx +1 -0
- package/src/chrome/regions/PaletteRegion.less +0 -7
- package/src/chrome/regions/SidebarRegion.less +12 -2
- package/src/chrome/regions/SidebarRegion.test.tsx +9 -2
- package/src/config/builder.test.ts +2 -1
- package/src/config/builder.ts +15 -8
- package/src/config/entry.test.ts +3 -1
- package/src/config/fromConfigField.test.ts +14 -0
- package/src/config/fromConfigField.ts +19 -4
- package/src/config/index.ts +4 -1
- package/src/config/path.ts +2 -5
- package/src/config/resolve.ts +15 -1
- package/src/config/sectionTree.test.ts +12 -6
- package/src/config/sectionTree.ts +15 -5
- package/src/config/types.ts +34 -9
- package/src/controls/ControlPanel.less +1 -1
- package/src/controls/ControlPanel.stories.tsx +3 -2
- package/src/controls/ControlPanel.test.tsx +76 -13
- package/src/controls/ControlPanel.tsx +80 -11
- package/src/controls/inDialog.test.tsx +18 -0
- package/src/controls/inDialog.tsx +2 -10
- package/src/index.test.ts +1 -1
- package/src/index.ts +23 -5
- package/src/instrument/SineWave.smoke.test.tsx +2 -0
- package/src/instrument/types.ts +10 -1
- package/src/lab/Lab.nebula.test.tsx +11 -2
- package/src/lab/Lab.test.tsx +3 -1
- package/src/lab/Lab.tsx +87 -76
- package/src/lab/{LabFit.stories.less → LabFit.browser.test.less} +1 -1
- package/src/lab/{LabFit.stories.tsx → LabFit.browser.test.tsx} +41 -63
- package/src/lab/LabFullChrome.stories.tsx +1 -0
- package/src/lab/LabHeader.test.tsx +24 -14
- package/src/lab/LabHeader.tsx +11 -12
- package/src/lab/LabShell.less +8 -17
- package/src/lab/LabSwitcher.less +6 -6
- package/src/lab/LabZoom.test.tsx +223 -0
- package/src/lab/LabZoom.tsx +170 -0
- package/src/lab/index.ts +1 -0
- package/src/loupe/AGENTS.md +7 -6
- package/src/loupe/LoupeGestures.tsx +15 -10
- package/src/loupe/TrialLoupe.tsx +5 -5
- package/src/loupe/index.ts +1 -0
- package/src/loupe/loupeActions.ts +6 -2
- package/src/overview/AGENTS.md +38 -0
- package/src/overview/OverviewMarks.test.tsx +100 -0
- package/src/overview/OverviewMarks.tsx +93 -0
- package/src/overview/TrialOverview.less +53 -0
- package/src/overview/TrialOverview.stories.tsx +50 -0
- package/src/overview/TrialOverview.test.tsx +116 -0
- package/src/overview/TrialOverview.tsx +376 -0
- package/src/overview/index.ts +2 -0
- package/src/passthrough/weasel-ui.test.ts +2 -0
- package/src/passthrough/weasel-ui.ts +23 -4
- package/src/primitives/FloatingPanel.test.tsx +11 -0
- package/src/primitives/FloatingPanel.tsx +2 -5
- package/src/primitives/JobProgress.less +1 -1
- package/src/primitives/Legend.stories.tsx +1 -0
- package/src/primitives/Readout.browser.test.tsx +137 -0
- package/src/primitives/Readout.less +12 -0
- package/src/primitives/Readout.stories.tsx +58 -0
- package/src/primitives/Readout.test.tsx +93 -0
- package/src/primitives/Readout.tsx +56 -0
- package/src/primitives/index.ts +2 -0
- package/src/specimen/Specimen.stories.tsx +1 -0
- package/src/specimen/Specimen.tsx +21 -4
- package/src/state/Persistence.browser.test.tsx +47 -0
- package/src/state/labRecords.test.ts +4 -1
- package/src/state/store.test.ts +9 -5
- package/src/state/usePersistedState.test.tsx +1 -1
- package/src/state/useTrialState.test.tsx +1 -1
- package/src/styles.less +3 -0
- package/src/theme/Interstellar.stories.tsx +4 -6
- package/src/theme/base.less +21 -47
- package/src/theme/interstellar.test.ts +1 -1
- package/src/theme/interstellar.theme.json +10 -3
- package/src/tools/labTool.ts +6 -2
- package/src/trial/Trial.annotations.test.tsx +16 -0
- package/src/trial/Trial.less +0 -13
- package/src/trial/Trial.loupe.test.tsx +73 -1
- package/src/trial/Trial.stories.tsx +2 -0
- package/src/trial/Trial.tsx +23 -1
- package/src/trial/TrialChrome.tsx +21 -3
- package/src/trial/trialOps.test.ts +4 -4
- package/dist/_dts/PrefsRow.d-DFpPIeIC.d.ts +0 -39
- package/dist/_dts/inDialog-D5ZKGjiD.d.ts +0 -23
- package/dist/_dts/index-DINmCuLA.d.ts +0 -453
- package/dist/_dts/number.d-OeQYQoUO.d.ts +0 -28
- package/dist/_dts/usePanZoom-Bq73pwFe.d.ts +0 -117
- package/dist/chunk-2AYGEN57.js +0 -32
- package/dist/chunk-2AYGEN57.js.map +0 -1
- package/dist/chunk-AWH3SRPW.js.map +0 -1
- package/dist/chunk-BVL7Y574.js.map +0 -1
- package/dist/chunk-ERFMC6WU.js.map +0 -1
- package/dist/chunk-H5VIV7MQ.js.map +0 -1
- package/dist/chunk-HFRE4QQV.js.map +0 -1
- package/dist/chunk-RS3HRQWU.js.map +0 -1
- package/dist/chunk-SBXNQW4G.js +0 -3
- package/dist/chunk-TT5C5S6R.js +0 -368
- package/dist/chunk-TT5C5S6R.js.map +0 -1
- package/dist/chunk-USO6TERP.js.map +0 -1
- package/dist/chunk-VQ47KWD5.js.map +0 -1
- package/dist/chunk-WUJXJC5O.js +0 -14568
- package/dist/chunk-WUJXJC5O.js.map +0 -1
- package/dist/chunk-ZORVNOKX.js.map +0 -1
- package/src/canvas/usePanZoom.test.ts +0 -244
- package/src/canvas/usePanZoom.ts +0 -147
- package/src/state/Persistence.stories.tsx +0 -75
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export {
|
|
1
|
+
import { S as StanceProps, D as Display, P as PrefRenderer } from '../_dts/PrefsRow.d-TOZ7BgD9.js';
|
|
2
|
+
export { M as MINUS_SIGN, a as PrefRenderContext, f as formatNumber } from '../_dts/PrefsRow.d-TOZ7BgD9.js';
|
|
3
|
+
import { j as ToggleBarSize, k as ToggleBarVariant, b as ButtonSize, c as ButtonVariant, l as SegmentTooltipFields, F as FieldOrientation, O as OverlayPortalProps, W as WithoutPortalTarget } from '../_dts/Select.d-Bensr_MT.js';
|
|
4
|
+
export { B as Button, a as ButtonProps, m as Field, n as FieldProps, o as ICON_PATHS, d as Icon, p as IconName, I as IconProps, e as Input, f as InputProps, S as Select, q as SelectItem, r as SelectItemProps, s as SelectOption, g as SelectProps, T as ToggleBar, h as ToggleBarItem, i as ToggleBarProps, t as fieldClasses } from '../_dts/Select.d-Bensr_MT.js';
|
|
3
5
|
import { ToolPrefLeaf, ToolPrefGroup, ToolsApi, oklchDegToHex } from '@weasel-js/core';
|
|
4
|
-
export { ToolPref as BuiltinPref, ToolPrefBoolean as PrefBoolean, ToolPrefBooleanControl as PrefBooleanControl, ToolPrefColor as PrefColor, ToolPrefCustom as PrefCustom, ToolPrefEnum as PrefEnum, ToolPrefEnumControl as PrefEnumControl, ToolPrefEnumEncoding as PrefEnumEncoding, ToolPrefGroup as PrefGroup, ToolPrefKind as PrefKind, ToolPrefLeaf as PrefLeaf, ToolPrefNumber as PrefNumber, ToolPrefNumberControl as PrefNumberControl, ToolPrefNumberUnit as PrefNumberUnit, ToolPrefObject as PrefObject, ToolPrefPaint as PrefPaint, ToolPrefString as PrefString, ToolPrefStringControl as PrefStringControl } from '@weasel-js/core';
|
|
5
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
6
|
+
export { ToolPref as BuiltinPref, ToolPrefBoolean as PrefBoolean, ToolPrefBooleanControl as PrefBooleanControl, ToolPrefBooleanEncoding as PrefBooleanEncoding, ToolPrefColor as PrefColor, ToolPrefCustom as PrefCustom, ToolPrefEnum as PrefEnum, ToolPrefEnumControl as PrefEnumControl, ToolPrefEnumEncoding as PrefEnumEncoding, ToolPrefGroup as PrefGroup, ToolPrefKind as PrefKind, ToolPrefLeaf as PrefLeaf, ToolPrefNumber as PrefNumber, ToolPrefNumberControl as PrefNumberControl, ToolPrefNumberUnit as PrefNumberUnit, ToolPrefObject as PrefObject, ToolPrefPaint as PrefPaint, ToolPrefString as PrefString, ToolPrefStringControl as PrefStringControl } from '@weasel-js/core';
|
|
6
7
|
import * as react from 'react';
|
|
7
|
-
import { ReactNode, CSSProperties, HTMLAttributes, ReactElement, PointerEvent, RefCallback, KeyboardEvent, RefObject } from 'react';
|
|
8
|
-
|
|
9
|
-
export { a as PrefRenderContext } from '../_dts/PrefsRow.d-DFpPIeIC.js';
|
|
10
|
-
export { L as LayerList, a as LayerListItem, b as LayerListProps, c as LayerMove, m as moveLayers } from '../_dts/LayerList.d-2c9yup5Y.js';
|
|
8
|
+
import { ReactNode, CSSProperties, HTMLAttributes, ButtonHTMLAttributes, ReactElement, PointerEvent, RefCallback, KeyboardEvent, RefObject } from 'react';
|
|
9
|
+
export { L as LayerList, a as LayerListItem, b as LayerListProps, c as LayerMove, m as moveLayers } from '../_dts/LayerList.d-DiuEArKq.js';
|
|
11
10
|
import { ColorModePreference } from '@weasel-js/theme';
|
|
12
|
-
export {
|
|
11
|
+
export { l as PropertyAlign, m as PropertyDensity, P as PropertyMetricProps } from '../_dts/PropertyPanel.d-D-1paCbE.js';
|
|
13
12
|
import { CheckboxProps as CheckboxProps$1, SwitchProps as SwitchProps$1, TabProps as TabProps$1, TabListProps as TabListProps$1, TabPanelProps as TabPanelProps$1, TabsProps as TabsProps$1, RadioProps as RadioProps$1, RadioGroupProps as RadioGroupProps$1, ValidationResult, NumberFieldProps as NumberFieldProps$1, ComboBoxProps as ComboBoxProps$1, ListBoxItemProps, SliderProps as SliderProps$1, ModalOverlayProps, DialogProps as DialogProps$1, PopoverProps } from 'react-aria-components';
|
|
14
13
|
export { DialogTrigger as CalloutTrigger } from 'react-aria-components';
|
|
15
14
|
|
|
@@ -82,7 +81,7 @@ interface ActionBarProps {
|
|
|
82
81
|
* (roving tabindex) yet — bar consumers today are short flat strips. Add
|
|
83
82
|
* if/when a long bar lands.
|
|
84
83
|
*/
|
|
85
|
-
declare function ActionBar(props: ActionBarProps):
|
|
84
|
+
declare function ActionBar(props: ActionBarProps): react.JSX.Element;
|
|
86
85
|
|
|
87
86
|
/**
|
|
88
87
|
* Built-in badge silhouettes. `pill`, `plain` and `square` are drawn in CSS;
|
|
@@ -467,12 +466,19 @@ interface RibbonParams {
|
|
|
467
466
|
* returns the horizontal displacement of that point, positive to the right.
|
|
468
467
|
*/
|
|
469
468
|
type EdgeProfile = (t: number, depth: number) => number;
|
|
470
|
-
/** The named edge
|
|
471
|
-
type
|
|
469
|
+
/** The named edge caps expressible as an {@link EdgeProfile}, in {@link EDGE_PROFILES}. */
|
|
470
|
+
type BuiltInProfileName = 'flat' | 'chevron' | 'slant' | 'slant-up' | 'round' | 'scallop' | 'concave-chevron';
|
|
471
|
+
/**
|
|
472
|
+
* Every named edge cap. `puzzle` is a jigsaw tab: a round knob on a narrower
|
|
473
|
+
* neck, protruding from the edge's owner into a matching socket in its
|
|
474
|
+
* neighbor. Its bulb overhangs its neck, so it is not a function of `t` and
|
|
475
|
+
* has no entry in {@link EDGE_PROFILES}.
|
|
476
|
+
*/
|
|
477
|
+
type BuiltInEdgeName = BuiltInProfileName | 'puzzle';
|
|
472
478
|
/** An edge profile, either by name or as a function. */
|
|
473
479
|
type EdgeCap = BuiltInEdgeName | EdgeProfile;
|
|
474
480
|
/** The built-in {@link EdgeProfile} implementations, by name. */
|
|
475
|
-
declare const EDGE_PROFILES: Record<
|
|
481
|
+
declare const EDGE_PROFILES: Record<BuiltInProfileName, EdgeProfile>;
|
|
476
482
|
|
|
477
483
|
interface PowerlineParams {
|
|
478
484
|
/** Profile for the left edge (the cap segment N inherits from segment N-1). */
|
|
@@ -811,6 +817,26 @@ type BadgeProps = BadgePropsByShape;
|
|
|
811
817
|
*/
|
|
812
818
|
declare const Badge: react.ForwardRefExoticComponent<BadgePropsByShape & react.RefAttributes<HTMLElement>>;
|
|
813
819
|
|
|
820
|
+
/** Props for {@link CloseButton}. */
|
|
821
|
+
interface CloseButtonProps {
|
|
822
|
+
/** Accessible name — what the press closes or removes: `Close dialog`,
|
|
823
|
+
* `Remove Glow`. Required, since the button shows only a glyph. */
|
|
824
|
+
ariaLabel: string;
|
|
825
|
+
onClick?: ButtonHTMLAttributes<HTMLButtonElement>['onClick'];
|
|
826
|
+
/** Kit tooltip content. None by default. */
|
|
827
|
+
tooltip?: ReactNode;
|
|
828
|
+
disabled?: boolean;
|
|
829
|
+
className?: string;
|
|
830
|
+
}
|
|
831
|
+
/**
|
|
832
|
+
* The kit's close / dismiss / remove button: the `close` glyph at chrome size
|
|
833
|
+
* in a square `--wzl-icon-button-size` target. Kit components that dismiss a
|
|
834
|
+
* surface or remove a row draw their × with this.
|
|
835
|
+
*
|
|
836
|
+
* `ref` forwards to the underlying `<button>`.
|
|
837
|
+
*/
|
|
838
|
+
declare const CloseButton: react.ForwardRefExoticComponent<CloseButtonProps & react.RefAttributes<HTMLButtonElement>>;
|
|
839
|
+
|
|
814
840
|
/**
|
|
815
841
|
* One column of a {@link DataGrid}. `id` doubles as the default property name
|
|
816
842
|
* read off each row when no `accessor` is given.
|
|
@@ -876,7 +902,7 @@ interface DataGridProps<Row extends {
|
|
|
876
902
|
*/
|
|
877
903
|
declare function DataGrid<Row extends {
|
|
878
904
|
id: string;
|
|
879
|
-
}>(props: DataGridProps<Row>):
|
|
905
|
+
}>(props: DataGridProps<Row>): react.JSX.Element;
|
|
880
906
|
|
|
881
907
|
/** Props for `<DisclosureMark>`. */
|
|
882
908
|
interface DisclosureMarkProps {
|
|
@@ -893,10 +919,10 @@ interface DisclosureMarkProps {
|
|
|
893
919
|
* button. Anywhere the mark has to be the control, use `<Disclosure>`.
|
|
894
920
|
*
|
|
895
921
|
* Deliberately not part of the icon register, on the same grounds as
|
|
896
|
-
* `
|
|
922
|
+
* `DragGrip`: that register is outline strokes at a fixed weight, and
|
|
897
923
|
* this mark is filled.
|
|
898
924
|
*/
|
|
899
|
-
declare function DisclosureMark({ open, size, className }: DisclosureMarkProps):
|
|
925
|
+
declare function DisclosureMark({ open, size, className }: DisclosureMarkProps): react.JSX.Element;
|
|
900
926
|
/** Props for `<Disclosure>`. */
|
|
901
927
|
interface DisclosureProps {
|
|
902
928
|
/** Whether the section it controls is open. The consumer owns this. */
|
|
@@ -932,7 +958,7 @@ interface DisclosureProps {
|
|
|
932
958
|
* of the row's label rather than a child, so clicking to expand does not
|
|
933
959
|
* actuate the label's own control.
|
|
934
960
|
*/
|
|
935
|
-
declare function Disclosure({ open, onToggle, label, controls, size, disabled, className }: DisclosureProps):
|
|
961
|
+
declare function Disclosure({ open, onToggle, label, controls, size, disabled, className }: DisclosureProps): react.JSX.Element;
|
|
936
962
|
/** Props for `<DisclosureRow>`. */
|
|
937
963
|
interface DisclosureRowProps extends Omit<DisclosureProps, 'className'> {
|
|
938
964
|
/** The row's own content — a label, a checkbox, a count. */
|
|
@@ -947,7 +973,7 @@ interface DisclosureRowProps extends Omit<DisclosureProps, 'className'> {
|
|
|
947
973
|
* it, so a row whose content is a `<label>` wrapping a checkbox stays
|
|
948
974
|
* clickable as a label without the twisty actuating it.
|
|
949
975
|
*/
|
|
950
|
-
declare function DisclosureRow({ children, className, ...twisty }: DisclosureRowProps):
|
|
976
|
+
declare function DisclosureRow({ children, className, ...twisty }: DisclosureRowProps): react.JSX.Element;
|
|
951
977
|
|
|
952
978
|
/** Props for `<DragGhost>`. */
|
|
953
979
|
interface DragGhostProps {
|
|
@@ -969,8 +995,8 @@ interface DragGhostProps {
|
|
|
969
995
|
*/
|
|
970
996
|
declare function DragGhost({ at, from, children }: DragGhostProps): react.ReactPortal;
|
|
971
997
|
|
|
972
|
-
/** Props for `<
|
|
973
|
-
interface
|
|
998
|
+
/** Props for `<DragGrip>`. */
|
|
999
|
+
interface DragGripProps {
|
|
974
1000
|
/** Height in px; width scales with it. Default 16. */
|
|
975
1001
|
size?: number;
|
|
976
1002
|
}
|
|
@@ -979,7 +1005,7 @@ interface DragHandleGlyphProps {
|
|
|
979
1005
|
* Deliberately not part of the icon register: that register is outline strokes
|
|
980
1006
|
* at a fixed weight, and a grip is filled dots. Forcing it in would either
|
|
981
1007
|
* break the register's rule or produce a worse glyph. */
|
|
982
|
-
declare function
|
|
1008
|
+
declare function DragGrip({ size }: DragGripProps): react.JSX.Element;
|
|
983
1009
|
|
|
984
1010
|
/**
|
|
985
1011
|
* Width class of a keycap: a modifier glyph, a multi-character legend that
|
|
@@ -1022,7 +1048,7 @@ interface KeyCapProps {
|
|
|
1022
1048
|
}
|
|
1023
1049
|
/** Single bordered keycap chip for one glyph (modifier or key). Use
|
|
1024
1050
|
* `KeySequence` to render a full shortcut. */
|
|
1025
|
-
declare function KeyCap({ label, inverted, variant, className, style, font }: KeyCapProps):
|
|
1051
|
+
declare function KeyCap({ label, inverted, variant, className, style, font }: KeyCapProps): react.JSX.Element;
|
|
1026
1052
|
|
|
1027
1053
|
/** One key in a shortcut. */
|
|
1028
1054
|
interface KeySpec {
|
|
@@ -1032,16 +1058,22 @@ interface KeySpec {
|
|
|
1032
1058
|
* trigger the action (e.g. an optional modifier). Defaults to false. */
|
|
1033
1059
|
optional?: boolean;
|
|
1034
1060
|
}
|
|
1061
|
+
/** Where {@link KeySequence} draws its separator. */
|
|
1062
|
+
type KeySequenceJoins = 'all' | 'key' | 'none';
|
|
1035
1063
|
/** Props for {@link KeySequence}. */
|
|
1036
1064
|
interface KeySequenceProps {
|
|
1037
1065
|
/** Keys to render. `undefined` or empty renders a muted em-dash.
|
|
1038
1066
|
* Modifiers are always rendered first regardless of input order; relative
|
|
1039
1067
|
* order within each group is preserved. */
|
|
1040
1068
|
keys: readonly KeySpec[] | undefined;
|
|
1041
|
-
/**
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1069
|
+
/** Glyph drawn wherever {@link joins} places a separator. Defaults to `'+'`. */
|
|
1070
|
+
separator?: string;
|
|
1071
|
+
/** Where the separator goes. Defaults to `'key'`.
|
|
1072
|
+
* - `'all'`: between every pair of chips — `⌘ + ⇧ + K`, `⌘ + ⇧`, `A + B`.
|
|
1073
|
+
* - `'key'`: before every non-modifier — `⌘ ⇧ + K`, `⌘ + K + L`, `A + B`.
|
|
1074
|
+
* Modifiers stay unjoined, so `⌘ ⇧` gets none.
|
|
1075
|
+
* - `'none'`: never. */
|
|
1076
|
+
joins?: KeySequenceJoins;
|
|
1045
1077
|
/** Forwarded to every `KeyCap` in the sequence. `'minimal'` renders
|
|
1046
1078
|
* unfilled chips whose border + legend are `currentColor`. */
|
|
1047
1079
|
variant?: KeyCapVariant;
|
|
@@ -1052,7 +1084,7 @@ interface KeySequenceProps {
|
|
|
1052
1084
|
}
|
|
1053
1085
|
/** Renders a shortcut as a row of `KeyCap` chips, one per key. Optional
|
|
1054
1086
|
* keys render inverted to distinguish them from required ones. */
|
|
1055
|
-
declare function KeySequence({ keys, separator, variant, font, className }: KeySequenceProps):
|
|
1087
|
+
declare function KeySequence({ keys, separator, joins, variant, font, className }: KeySequenceProps): react.JSX.Element;
|
|
1056
1088
|
|
|
1057
1089
|
/** Apple-style glyph for a DOM `KeyboardEvent.key` value. Covers escape,
|
|
1058
1090
|
* delete/backspace, arrows, enter/return, tab, space. Unknown keys are
|
|
@@ -1216,12 +1248,17 @@ type BoundsCtx = {
|
|
|
1216
1248
|
index: number;
|
|
1217
1249
|
};
|
|
1218
1250
|
/**
|
|
1219
|
-
* Passed to `renderTrack`: the track's width in CSS px
|
|
1220
|
-
* slider value to its 0..1 position along the
|
|
1251
|
+
* Passed to `renderTrack`: the track's width in CSS px, a mapping from a
|
|
1252
|
+
* slider value to its 0..1 position along the value span, and the CSS
|
|
1253
|
+
* position (a `calc()` against the painted box's width) of a 0..1 fraction of
|
|
1254
|
+
* that span. A painter places everything that must line up with the thumbs
|
|
1255
|
+
* through `fractionToPosition`: under `thumbFit: 'inside'` the span stops half
|
|
1256
|
+
* a thumb short of each end of the track.
|
|
1221
1257
|
*/
|
|
1222
1258
|
type TrackCtx = {
|
|
1223
1259
|
trackWidth: number;
|
|
1224
1260
|
valueToFraction: (v: number) => number;
|
|
1261
|
+
fractionToPosition: (f: number) => string;
|
|
1225
1262
|
};
|
|
1226
1263
|
/** A {@link Slider} stop that carries a label, drawn under the track at the stop. */
|
|
1227
1264
|
type SliderStop = {
|
|
@@ -1250,7 +1287,8 @@ type SliderStop = {
|
|
|
1250
1287
|
* `'even'` falls back to linear.
|
|
1251
1288
|
*
|
|
1252
1289
|
* `trackClick: 'move-nearest'` makes a press on bare track send the closest
|
|
1253
|
-
* thumb there and continue as a drag. It is
|
|
1290
|
+
* thumb there, focus it, and continue as a drag. It is the default for a
|
|
1291
|
+
* single thumb. With several it defaults to `'none'`, because on a
|
|
1254
1292
|
* multi-thumb editor a stray click would yank a stop the user was not aiming
|
|
1255
1293
|
* at; `onAddThumb`, where it is set, keeps the track press.
|
|
1256
1294
|
*
|
|
@@ -1259,6 +1297,12 @@ type SliderStop = {
|
|
|
1259
1297
|
* `onRemoveThumb` lets a right-click or a drag off the track remove one —
|
|
1260
1298
|
* both callbacks can decline by returning `null`/`false`. `allowShiftAll`
|
|
1261
1299
|
* makes shift-drag translate every thumb together.
|
|
1300
|
+
*
|
|
1301
|
+
* `thumbFit: 'inside'`, the default, runs the value span half a thumb short of
|
|
1302
|
+
* each end of the track, so a thumb at `min` or `max` sits flush with the
|
|
1303
|
+
* track's edge instead of hanging half over it — the layout a native range
|
|
1304
|
+
* input has. `'overhang'` runs the span edge to edge and centers an end thumb
|
|
1305
|
+
* on the edge.
|
|
1262
1306
|
*/
|
|
1263
1307
|
type SliderProps<T extends Thumb = Thumb> = {
|
|
1264
1308
|
thumbs: readonly T[];
|
|
@@ -1278,11 +1322,16 @@ type SliderProps<T extends Thumb = Thumb> = {
|
|
|
1278
1322
|
onRemoveThumb?: (index: number) => boolean;
|
|
1279
1323
|
allowShiftAll?: boolean;
|
|
1280
1324
|
renderTrack?: (ctx: TrackCtx) => ReactNode;
|
|
1325
|
+
thumbFit?: 'inside' | 'overhang';
|
|
1281
1326
|
trackHeight?: number;
|
|
1282
1327
|
/** `'slim'` drives the track and thumb from the kit's slider tokens, so a
|
|
1283
1328
|
* Slider matches the property rows. `trackHeight` still wins if given. */
|
|
1284
1329
|
density?: 'default' | 'slim';
|
|
1285
1330
|
renderReadout?: (thumb: T, index: number) => ReactNode;
|
|
1331
|
+
/** How a thumb's value shows in the default readout and is spoken as its
|
|
1332
|
+
* `aria-valuetext` when the thumb gives no `valueText` of its own. Default:
|
|
1333
|
+
* three decimals shown, nothing spoken beyond `aria-valuenow`. */
|
|
1334
|
+
display?: Display;
|
|
1286
1335
|
readoutPlacement?: 'none' | 'inline-after' | 'below-thumb';
|
|
1287
1336
|
ariaLabel?: string;
|
|
1288
1337
|
className?: string;
|
|
@@ -1320,7 +1369,7 @@ interface UseReorderDragListOptions {
|
|
|
1320
1369
|
* also handles `click` sees one press, not two. A press that starts on a
|
|
1321
1370
|
* control inside the row (a toggle) is left to the control. */
|
|
1322
1371
|
onPress?(id: string, mods: PressModifiers): void;
|
|
1323
|
-
/** Pointer-move distance (px) before pending drag engages. Default
|
|
1372
|
+
/** Pointer-move distance (px) before pending drag engages. Default `DRAG_THRESHOLD_PX`. */
|
|
1324
1373
|
threshold?: number;
|
|
1325
1374
|
/** Selector matching the container's children that are rows, for a list
|
|
1326
1375
|
* that interleaves other elements (a table's detail rows). Default: every
|
|
@@ -1417,7 +1466,7 @@ interface ListEditorProps {
|
|
|
1417
1466
|
* each, and an add button under them. Enter in an entry adds one after it;
|
|
1418
1467
|
* Backspace in an empty one removes it.
|
|
1419
1468
|
*/
|
|
1420
|
-
declare function ListEditor({ value, onChange, placeholder, empty, addLabel, 'aria-label': ariaLabel, className, }: ListEditorProps):
|
|
1469
|
+
declare function ListEditor({ value, onChange, placeholder, empty, addLabel, 'aria-label': ariaLabel, className, }: ListEditorProps): react.JSX.Element;
|
|
1421
1470
|
|
|
1422
1471
|
/** Props for {@link ColorModeControl}. */
|
|
1423
1472
|
interface ColorModeControlProps {
|
|
@@ -1437,6 +1486,41 @@ interface ColorModeControlProps {
|
|
|
1437
1486
|
*/
|
|
1438
1487
|
declare function ColorModeControl({ value, onChange, ariaLabel, size, variant, className, }: ColorModeControlProps): ReactElement;
|
|
1439
1488
|
|
|
1489
|
+
/** One stop in a {@link ThemeSwitcher}'s rotation. */
|
|
1490
|
+
interface ThemeSwitcherOption<T extends string = string> {
|
|
1491
|
+
value: T;
|
|
1492
|
+
/** Drawn in the button while this option is current. */
|
|
1493
|
+
icon: ReactNode;
|
|
1494
|
+
/** The option's name, read in the accessible name and tooltip. */
|
|
1495
|
+
label: string;
|
|
1496
|
+
}
|
|
1497
|
+
/** The color modes, in rotation order, as {@link ThemeSwitcher} cycles them by default. */
|
|
1498
|
+
declare const COLOR_MODE_OPTIONS: readonly ThemeSwitcherOption<ColorModePreference>[];
|
|
1499
|
+
/** Props for {@link ThemeSwitcher}. */
|
|
1500
|
+
interface ThemeSwitcherProps<T extends string = ColorModePreference> {
|
|
1501
|
+
value: T;
|
|
1502
|
+
onChange: (next: T) => void;
|
|
1503
|
+
/** The rotation, in order. Defaults to {@link COLOR_MODE_OPTIONS}. */
|
|
1504
|
+
options?: readonly ThemeSwitcherOption<T>[];
|
|
1505
|
+
/** What is being switched, leading the accessible name and tooltip
|
|
1506
|
+
* (`Theme: Auto — click for Light`). Defaults to `'Theme'`. */
|
|
1507
|
+
ariaLabel?: string;
|
|
1508
|
+
/** Defaults to `sm`, the size of a header's icon buttons. */
|
|
1509
|
+
size?: ButtonSize;
|
|
1510
|
+
/** Defaults to `ghost`. */
|
|
1511
|
+
variant?: ButtonVariant;
|
|
1512
|
+
className?: string;
|
|
1513
|
+
}
|
|
1514
|
+
/**
|
|
1515
|
+
* One icon button that steps through a list of options: a click moves to the
|
|
1516
|
+
* next, a shift-click to the previous, both wrapping. It shows the current
|
|
1517
|
+
* option's icon, and its name and tooltip say what is current and what a
|
|
1518
|
+
* click chooses. The compact alternative to `ColorModeControl`'s three
|
|
1519
|
+
* segments. Controlled: pair the default color modes with
|
|
1520
|
+
* `useColorModePreference` from `@weasel-js/theme/react`.
|
|
1521
|
+
*/
|
|
1522
|
+
declare function ThemeSwitcher<T extends string = ColorModePreference>({ value, onChange, options, ariaLabel, size, variant, className, }: ThemeSwitcherProps<T>): ReactElement;
|
|
1523
|
+
|
|
1440
1524
|
/**
|
|
1441
1525
|
* One segment of an {@link OptionsBar}. Unlike `ToggleBar`, each item carries
|
|
1442
1526
|
* its own selected state and its own `onChange`.
|
|
@@ -1547,7 +1631,25 @@ interface PowerlineProps {
|
|
|
1547
1631
|
* Built for showing a path through a sequence of steps — the inspector uses
|
|
1548
1632
|
* it to display how input routes from tool to gesture to action to target.
|
|
1549
1633
|
*/
|
|
1550
|
-
declare function Powerline({ segments, startCap, size, variant, depth, gap, className, ...rest }: PowerlineProps):
|
|
1634
|
+
declare function Powerline({ segments, startCap, size, variant, depth, gap, className, ...rest }: PowerlineProps): react.JSX.Element;
|
|
1635
|
+
|
|
1636
|
+
/**
|
|
1637
|
+
* The segments {@link GestureRoute} draws for a route string: phase atoms, then
|
|
1638
|
+
* `gesture(arg)`, then the held modifiers as one chord, then the target.
|
|
1639
|
+
* A descriptor's default arg and a wildcard target stay visible, muted, so
|
|
1640
|
+
* the strip shows the whole binding.
|
|
1641
|
+
*/
|
|
1642
|
+
declare function gestureRouteSegments(route: string): PowerlineSegment[];
|
|
1643
|
+
/** Props for {@link GestureRoute}. */
|
|
1644
|
+
interface GestureRouteProps extends Omit<PowerlineProps, 'segments'> {
|
|
1645
|
+
/** A route in the dispatcher's grammar, e.g. `[initial] drag => node +shift`. */
|
|
1646
|
+
route: string;
|
|
1647
|
+
}
|
|
1648
|
+
/**
|
|
1649
|
+
* A dispatcher route drawn as a {@link Powerline}: phase, gesture, modifiers
|
|
1650
|
+
* and target as one chevron-linked chain.
|
|
1651
|
+
*/
|
|
1652
|
+
declare function GestureRoute({ route, 'aria-label': ariaLabel, ...rest }: GestureRouteProps): react.JSX.Element;
|
|
1551
1653
|
|
|
1552
1654
|
/** Distinguishes a leaf from a group while walking a schema tree. */
|
|
1553
1655
|
declare function isPrefLeaf(node: ToolPrefLeaf | ToolPrefGroup): node is ToolPrefLeaf;
|
|
@@ -1608,7 +1710,7 @@ interface PrefsFormProps {
|
|
|
1608
1710
|
* Storage-agnostic: pair with `PrefsDialog` for the modal composition, and
|
|
1609
1711
|
* persist however the app likes via `onChange`.
|
|
1610
1712
|
*/
|
|
1611
|
-
declare function PrefsForm(props: PrefsFormProps):
|
|
1713
|
+
declare function PrefsForm(props: PrefsFormProps): react.JSX.Element;
|
|
1612
1714
|
|
|
1613
1715
|
/**
|
|
1614
1716
|
* Props for {@link PrefsDialog} — everything {@link PrefsForm} takes, plus
|
|
@@ -1639,7 +1741,7 @@ interface PrefsDialogProps extends PrefsFormProps {
|
|
|
1639
1741
|
* `layout="rail"` is what a dialog usually wants: the default columns wrap
|
|
1640
1742
|
* sideways past two groups, and this box is 900px at its widest.
|
|
1641
1743
|
*/
|
|
1642
|
-
declare function PrefsDialog(props: PrefsDialogProps):
|
|
1744
|
+
declare function PrefsDialog(props: PrefsDialogProps): react.JSX.Element;
|
|
1643
1745
|
|
|
1644
1746
|
/** Props for {@link Sidebar}. */
|
|
1645
1747
|
interface SidebarProps {
|
|
@@ -1670,7 +1772,7 @@ interface SidebarProps {
|
|
|
1670
1772
|
*
|
|
1671
1773
|
* Pair with `<SidebarPanel>` for collapsible sections.
|
|
1672
1774
|
*/
|
|
1673
|
-
declare function Sidebar(props: SidebarProps):
|
|
1775
|
+
declare function Sidebar(props: SidebarProps): react.JSX.Element;
|
|
1674
1776
|
|
|
1675
1777
|
/** Props for {@link SidebarPanel}. */
|
|
1676
1778
|
interface SidebarPanelProps {
|
|
@@ -1689,7 +1791,7 @@ interface SidebarPanelProps {
|
|
|
1689
1791
|
*/
|
|
1690
1792
|
onToggleCollapse?(): void;
|
|
1691
1793
|
/**
|
|
1692
|
-
* Optional close handler — when provided, the header gains a
|
|
1794
|
+
* Optional close handler — when provided, the header gains a close
|
|
1693
1795
|
* button on the trailing edge. Caller flips its "hidden" state and
|
|
1694
1796
|
* conditionally unmounts the panel from the parent.
|
|
1695
1797
|
*/
|
|
@@ -1705,7 +1807,7 @@ interface SidebarPanelProps {
|
|
|
1705
1807
|
*
|
|
1706
1808
|
* Pair with `<Sidebar>` for the docked column layout.
|
|
1707
1809
|
*/
|
|
1708
|
-
declare function SidebarPanel(props: SidebarPanelProps):
|
|
1810
|
+
declare function SidebarPanel(props: SidebarPanelProps): react.JSX.Element;
|
|
1709
1811
|
|
|
1710
1812
|
/** Props for {@link ToolButton}. */
|
|
1711
1813
|
interface ToolButtonProps {
|
|
@@ -1749,7 +1851,7 @@ interface ToolButtonProps {
|
|
|
1749
1851
|
* and similar surfaces. Headless about layout direction (parent group
|
|
1750
1852
|
* supplies flex direction via `ToolGroup`). Theme via `--wzl-*` tokens.
|
|
1751
1853
|
*/
|
|
1752
|
-
declare function ToolButton(props: ToolButtonProps):
|
|
1854
|
+
declare function ToolButton(props: ToolButtonProps): react.JSX.Element;
|
|
1753
1855
|
|
|
1754
1856
|
/** Props for {@link ToolGroup}. */
|
|
1755
1857
|
interface ToolGroupProps {
|
|
@@ -1774,7 +1876,7 @@ interface ToolGroupProps {
|
|
|
1774
1876
|
* `<ToolButton>`s (or any children) along a chosen axis. No visual chrome
|
|
1775
1877
|
* beyond layout; theming lives on the buttons.
|
|
1776
1878
|
*/
|
|
1777
|
-
declare function ToolGroup(props: ToolGroupProps):
|
|
1879
|
+
declare function ToolGroup(props: ToolGroupProps): react.JSX.Element;
|
|
1778
1880
|
|
|
1779
1881
|
/** The full vocabulary of capability tags shipped in the default preset.
|
|
1780
1882
|
* Apps and other consumers can add their own tags; this list is what
|
|
@@ -1801,6 +1903,10 @@ interface WorkspaceVisual {
|
|
|
1801
1903
|
* independently undoable and `exit` is non-destructive. A `strict` mode
|
|
1802
1904
|
* (free-transform, crop) is a transaction: the whole session collapses to one
|
|
1803
1905
|
* undoable step and leaving requires an explicit `commit` or `cancel`.
|
|
1906
|
+
*
|
|
1907
|
+
* The four shortcut fields are key chords (`'Escape'`, `'Meta+T'`) that
|
|
1908
|
+
* `modeShortcuts` in `@weasel-js/routing` turns into dispatcher bindings,
|
|
1909
|
+
* each live only while the mode it acts on is (or, for `entry`, is not).
|
|
1804
1910
|
*/
|
|
1805
1911
|
interface ModeDefinition {
|
|
1806
1912
|
id: string;
|
|
@@ -1828,6 +1934,43 @@ interface ModeDefinition {
|
|
|
1828
1934
|
cancel?: {
|
|
1829
1935
|
shortcut?: string;
|
|
1830
1936
|
};
|
|
1937
|
+
/** Leave a soft mode and throw its session away, where `exit` keeps it to
|
|
1938
|
+
* resume. */
|
|
1939
|
+
discard?: {
|
|
1940
|
+
shortcut?: string;
|
|
1941
|
+
};
|
|
1942
|
+
}
|
|
1943
|
+
|
|
1944
|
+
/** One registrant of a key: its value and, when the registrant named one, where it came from. */
|
|
1945
|
+
interface Registrant<V> {
|
|
1946
|
+
readonly value: V;
|
|
1947
|
+
readonly source: string | undefined;
|
|
1948
|
+
}
|
|
1949
|
+
/** One key as a reflection reports it. */
|
|
1950
|
+
interface ReflectedEntry<V, K = string> extends Registrant<V> {
|
|
1951
|
+
readonly key: K;
|
|
1952
|
+
/** The registrants this one displaced, oldest first. Non-empty means two
|
|
1953
|
+
* registrants claimed one key — a conflict, resolved newest-wins. */
|
|
1954
|
+
readonly shadowed: readonly Registrant<V>[];
|
|
1955
|
+
}
|
|
1956
|
+
/**
|
|
1957
|
+
* The read-only face of a registry: what is registered, what displaced what,
|
|
1958
|
+
* and a way to hear about changes. Every kit registry that embeds a
|
|
1959
|
+
* {@link Reflectable} hands this out, so a debug overlay or a conflict check
|
|
1960
|
+
* can walk any of them the same way.
|
|
1961
|
+
*
|
|
1962
|
+
* `subscribe` and `getVersion` are shaped for `useSyncExternalStore`; so is
|
|
1963
|
+
* `entries`, which returns the same frozen array until the next change.
|
|
1964
|
+
*/
|
|
1965
|
+
interface Reflection<V, K = string> {
|
|
1966
|
+
get(key: K): V | undefined;
|
|
1967
|
+
has(key: K): boolean;
|
|
1968
|
+
/** Every key's live registrant, in the order each key was first registered. */
|
|
1969
|
+
entries(): readonly ReflectedEntry<V, K>[];
|
|
1970
|
+
/** Called after every change. Returns the unsubscribe. */
|
|
1971
|
+
subscribe(listener: () => void): () => void;
|
|
1972
|
+
/** Advances on every change. */
|
|
1973
|
+
getVersion(): number;
|
|
1831
1974
|
}
|
|
1832
1975
|
|
|
1833
1976
|
/** Holds the set of available modes and which one is active, and notifies
|
|
@@ -1836,10 +1979,15 @@ interface ModeDefinition {
|
|
|
1836
1979
|
* ignored. */
|
|
1837
1980
|
interface ModeRegistry {
|
|
1838
1981
|
current(): ModeDefinition;
|
|
1982
|
+
/** Every registered mode, in registration order. */
|
|
1983
|
+
list(): readonly ModeDefinition[];
|
|
1839
1984
|
setMode(id: string): void;
|
|
1840
1985
|
byId(id: string): ModeDefinition;
|
|
1841
1986
|
getVersion(): number;
|
|
1842
1987
|
subscribe(listener: () => void): () => void;
|
|
1988
|
+
/** The registered modes keyed by id. Shares this registry's version, so it
|
|
1989
|
+
* also advances on `setMode`. */
|
|
1990
|
+
readonly reflection: Reflection<ModeDefinition>;
|
|
1843
1991
|
}
|
|
1844
1992
|
|
|
1845
1993
|
/** Props for {@link ToolPalette}. */
|
|
@@ -1869,12 +2017,13 @@ interface ToolPaletteProps {
|
|
|
1869
2017
|
/**
|
|
1870
2018
|
* Toolbar of the registered tools, split into separator-divided groups by
|
|
1871
2019
|
* each tool's presentation group and navigable by arrow keys. Clicking a
|
|
1872
|
-
* button makes that tool active.
|
|
2020
|
+
* button makes that tool active. A tool whose presentation sets `hide` is
|
|
2021
|
+
* left out.
|
|
1873
2022
|
*
|
|
1874
2023
|
* Given a `modeRegistry`, tools whose capabilities the current mode does not
|
|
1875
2024
|
* allow render greyed out and inert rather than disappearing.
|
|
1876
2025
|
*/
|
|
1877
|
-
declare function ToolPalette(props: ToolPaletteProps):
|
|
2026
|
+
declare function ToolPalette(props: ToolPaletteProps): react.JSX.Element;
|
|
1878
2027
|
|
|
1879
2028
|
/**
|
|
1880
2029
|
* Props for {@link Checkbox}, on top of React Aria's `Checkbox` props. The
|
|
@@ -1922,27 +2071,27 @@ type TabsProps = Omit<TabsProps$1, 'className' | 'children'> & {
|
|
|
1922
2071
|
* Tab set wrapping React Aria's Tabs, skinned against the `--wzl-*` tokens.
|
|
1923
2072
|
* Holds a {@link TabList} and one {@link TabPanel} per tab.
|
|
1924
2073
|
*/
|
|
1925
|
-
declare function Tabs({ children, className, ...rest }: TabsProps):
|
|
2074
|
+
declare function Tabs({ children, className, ...rest }: TabsProps): react.JSX.Element;
|
|
1926
2075
|
/** Props for {@link TabList}, on top of React Aria's `TabList` props. */
|
|
1927
2076
|
type TabListProps<T extends object> = Omit<TabListProps$1<T>, 'className'> & {
|
|
1928
2077
|
className?: string;
|
|
1929
2078
|
};
|
|
1930
2079
|
/** The row of tab buttons inside a {@link Tabs}. */
|
|
1931
|
-
declare function TabList<T extends object>({ className, ...rest }: TabListProps<T>):
|
|
2080
|
+
declare function TabList<T extends object>({ className, ...rest }: TabListProps<T>): react.JSX.Element;
|
|
1932
2081
|
/** Props for {@link Tab}, on top of React Aria's `Tab` props. */
|
|
1933
2082
|
type TabProps = Omit<TabProps$1, 'className' | 'children'> & {
|
|
1934
2083
|
children?: ReactNode;
|
|
1935
2084
|
className?: string;
|
|
1936
2085
|
};
|
|
1937
2086
|
/** One tab button. Its `id` selects the {@link TabPanel} it reveals. */
|
|
1938
|
-
declare function Tab({ children, className, ...rest }: TabProps):
|
|
2087
|
+
declare function Tab({ children, className, ...rest }: TabProps): react.JSX.Element;
|
|
1939
2088
|
/** Props for {@link TabPanel}, on top of React Aria's `TabPanel` props. */
|
|
1940
2089
|
type TabPanelProps = Omit<TabPanelProps$1, 'className' | 'children'> & {
|
|
1941
2090
|
children?: ReactNode;
|
|
1942
2091
|
className?: string;
|
|
1943
2092
|
};
|
|
1944
2093
|
/** The content shown for the {@link Tab} whose `id` matches this panel's. */
|
|
1945
|
-
declare function TabPanel({ children, className, ...rest }: TabPanelProps):
|
|
2094
|
+
declare function TabPanel({ children, className, ...rest }: TabPanelProps): react.JSX.Element;
|
|
1946
2095
|
|
|
1947
2096
|
/** Props for {@link RadioGroup}, on top of React Aria's `RadioGroup` props. */
|
|
1948
2097
|
type RadioGroupProps = Omit<RadioGroupProps$1, 'children' | 'className'> & {
|
|
@@ -1957,14 +2106,14 @@ type RadioGroupProps = Omit<RadioGroupProps$1, 'children' | 'className'> & {
|
|
|
1957
2106
|
* supplying the same label / description / errorMessage slots as `Input`.
|
|
1958
2107
|
* Holds {@link Radio} children.
|
|
1959
2108
|
*/
|
|
1960
|
-
declare function RadioGroup(props: RadioGroupProps):
|
|
2109
|
+
declare function RadioGroup(props: RadioGroupProps): react.JSX.Element;
|
|
1961
2110
|
/** Props for {@link Radio}, on top of React Aria's `Radio` props. */
|
|
1962
2111
|
type RadioProps = Omit<RadioProps$1, 'className' | 'children'> & {
|
|
1963
2112
|
children?: ReactNode;
|
|
1964
2113
|
className?: string;
|
|
1965
2114
|
};
|
|
1966
2115
|
/** One choice in a {@link RadioGroup}. The label is passed as children. */
|
|
1967
|
-
declare function Radio({ children, className, ...rest }: RadioProps):
|
|
2116
|
+
declare function Radio({ children, className, ...rest }: RadioProps): react.JSX.Element;
|
|
1968
2117
|
|
|
1969
2118
|
/** Props for {@link NumberField}, on top of React Aria's `NumberField` props. */
|
|
1970
2119
|
type NumberFieldProps = Omit<NumberFieldProps$1, 'children' | 'className'> & {
|
|
@@ -2056,7 +2205,7 @@ type MenuButtonProps<T extends string = string> = {
|
|
|
2056
2205
|
* `shortcut` adds a kit tooltip reading `Name (⌘N)`, named by `aria-label` or
|
|
2057
2206
|
* a string `label`, as `Button` does; `tooltip` replaces that text.
|
|
2058
2207
|
*/
|
|
2059
|
-
declare function MenuButton<T extends string = string>({ label, items, onAction, isDisabled, className, 'aria-label': ariaLabel, portalContainer, shortcut, tooltip, }: MenuButtonProps<T>):
|
|
2208
|
+
declare function MenuButton<T extends string = string>({ label, items, onAction, isDisabled, className, 'aria-label': ariaLabel, portalContainer, shortcut, tooltip, }: MenuButtonProps<T>): react.JSX.Element;
|
|
2060
2209
|
|
|
2061
2210
|
/**
|
|
2062
2211
|
* One option in a {@link ComboBox}'s `options` list. `textValue` is the
|
|
@@ -2136,13 +2285,13 @@ type ComboBoxProps<T extends Key$1 = string> = Omit<ComboBoxProps$1<object>, 'ch
|
|
|
2136
2285
|
* type to filter; selection commits to `onSelectionChange`. When no value
|
|
2137
2286
|
* is in the input, selection clears (key becomes null).
|
|
2138
2287
|
*/
|
|
2139
|
-
declare function ComboBox<T extends Key$1 = string>(props: ComboBoxProps<T>):
|
|
2288
|
+
declare function ComboBox<T extends Key$1 = string>(props: ComboBoxProps<T>): react.JSX.Element;
|
|
2140
2289
|
/** Props for {@link ComboBoxItem}, on top of React Aria's `ListBoxItem` props. */
|
|
2141
2290
|
type ComboBoxItemProps = Omit<ListBoxItemProps, 'className'> & {
|
|
2142
2291
|
className?: string;
|
|
2143
2292
|
};
|
|
2144
2293
|
/** One row in a {@link ComboBox}'s filtered list. */
|
|
2145
|
-
declare function ComboBoxItem({ className, ...rest }: ComboBoxItemProps):
|
|
2294
|
+
declare function ComboBoxItem({ className, ...rest }: ComboBoxItemProps): react.JSX.Element;
|
|
2146
2295
|
|
|
2147
2296
|
/** Props for {@link RangeSlider}, on top of React Aria's `Slider` props. */
|
|
2148
2297
|
type RangeSliderProps = Omit<SliderProps$1, 'children' | 'className'> & {
|
|
@@ -2164,7 +2313,7 @@ type RangeSliderProps = Omit<SliderProps$1, 'children' | 'className'> & {
|
|
|
2164
2313
|
* *horizontal* axis here and collapses the track to its content width. Style
|
|
2165
2314
|
* the wrapper around one, not the root.
|
|
2166
2315
|
*/
|
|
2167
|
-
declare function RangeSlider(props: RangeSliderProps):
|
|
2316
|
+
declare function RangeSlider(props: RangeSliderProps): react.JSX.Element;
|
|
2168
2317
|
|
|
2169
2318
|
/** Props for {@link Dialog}, on top of React Aria's `ModalOverlay` props. */
|
|
2170
2319
|
type DialogProps = Omit<WithoutPortalTarget<ModalOverlayProps>, 'children' | 'className'> & OverlayPortalProps & StanceProps & {
|
|
@@ -2197,7 +2346,7 @@ type DialogProps = Omit<WithoutPortalTarget<ModalOverlayProps>, 'children' | 'cl
|
|
|
2197
2346
|
* underlying primitives. `stance` and `tone` work as on `<PropertyPanel>` —
|
|
2198
2347
|
* a destructive confirm is `stance="danger"`.
|
|
2199
2348
|
*/
|
|
2200
|
-
declare function Dialog(props: DialogProps):
|
|
2349
|
+
declare function Dialog(props: DialogProps): react.JSX.Element;
|
|
2201
2350
|
|
|
2202
2351
|
/** Props for {@link Callout}, on top of React Aria's `Popover` props. */
|
|
2203
2352
|
type CalloutProps = Omit<WithoutPortalTarget<PopoverProps>, 'children' | 'className' | 'isNonModal' | 'triggerRef'> & OverlayPortalProps & StanceProps & {
|
|
@@ -2214,14 +2363,14 @@ type CalloutProps = Omit<WithoutPortalTarget<PopoverProps>, 'children' | 'classN
|
|
|
2214
2363
|
*/
|
|
2215
2364
|
modal?: boolean;
|
|
2216
2365
|
/**
|
|
2217
|
-
* Show the
|
|
2366
|
+
* Show the close button. Defaults to `!modal`. In programmatic
|
|
2218
2367
|
* `triggerRef`/`anchorRect` modes the close button needs controlled open
|
|
2219
2368
|
* (`isOpen` + `onOpenChange`); with only `defaultOpen` it has no open-state
|
|
2220
2369
|
* setter to call and cannot close.
|
|
2221
2370
|
*/
|
|
2222
2371
|
showCloseButton?: boolean;
|
|
2223
2372
|
/**
|
|
2224
|
-
* The user asked for this callout to go away — the
|
|
2373
|
+
* The user asked for this callout to go away — the close button or Escape.
|
|
2225
2374
|
*
|
|
2226
2375
|
* Distinct from `onOpenChange`, which a non-modal popover *also* fires when
|
|
2227
2376
|
* interaction or focus merely leaves it. On a canvas that's every click on
|
|
@@ -2251,7 +2400,7 @@ type CalloutProps = Omit<WithoutPortalTarget<PopoverProps>, 'children' | 'classN
|
|
|
2251
2400
|
* Wraps React Aria Popover + Dialog; positioning, collision flipping,
|
|
2252
2401
|
* dismissal, and focus behavior come from the underlying primitives.
|
|
2253
2402
|
*/
|
|
2254
|
-
declare function Callout(props: CalloutProps):
|
|
2403
|
+
declare function Callout(props: CalloutProps): react.JSX.Element;
|
|
2255
2404
|
|
|
2256
2405
|
/**
|
|
2257
2406
|
* Coordinate transforms (model ↔ plot) for Plot2D. Pure / deterministic —
|
|
@@ -2260,7 +2409,7 @@ declare function Callout(props: CalloutProps): react_jsx_runtime.JSX.Element;
|
|
|
2260
2409
|
* Model space: caller-defined xRange × yRange. Y axis goes UP.
|
|
2261
2410
|
* Plot space: 0..width × 0..height in CSS pixels. Y axis goes DOWN (SVG).
|
|
2262
2411
|
*/
|
|
2263
|
-
interface Point {
|
|
2412
|
+
interface Point$1 {
|
|
2264
2413
|
x: number;
|
|
2265
2414
|
y: number;
|
|
2266
2415
|
}
|
|
@@ -2321,8 +2470,8 @@ interface TickSettings {
|
|
|
2321
2470
|
}
|
|
2322
2471
|
/** A pointer position given in both of the plot's coordinate systems. */
|
|
2323
2472
|
interface Plot2DCoords {
|
|
2324
|
-
plot: Point;
|
|
2325
|
-
model: Point;
|
|
2473
|
+
plot: Point$1;
|
|
2474
|
+
model: Point$1;
|
|
2326
2475
|
}
|
|
2327
2476
|
/** Props for {@link Plot2D}. */
|
|
2328
2477
|
interface Plot2DProps {
|
|
@@ -2363,19 +2512,19 @@ interface Plot2DProps {
|
|
|
2363
2512
|
*/
|
|
2364
2513
|
interface Plot2DHandle {
|
|
2365
2514
|
readonly svg: SVGSVGElement | null;
|
|
2366
|
-
plotToModel(pt: Point): Point;
|
|
2367
|
-
modelToPlot(pt: Point): Point;
|
|
2515
|
+
plotToModel(pt: Point$1): Point$1;
|
|
2516
|
+
modelToPlot(pt: Point$1): Point$1;
|
|
2368
2517
|
/** Convert a DOM event's clientX/clientY (e.g. from a window-attached
|
|
2369
2518
|
* pointermove during drag) to plot-space. */
|
|
2370
2519
|
clientToPlot(e: {
|
|
2371
2520
|
clientX: number;
|
|
2372
2521
|
clientY: number;
|
|
2373
|
-
}): Point;
|
|
2522
|
+
}): Point$1;
|
|
2374
2523
|
/** Convenience: clientToPlot → plotToModel. */
|
|
2375
2524
|
clientToModel(e: {
|
|
2376
2525
|
clientX: number;
|
|
2377
2526
|
clientY: number;
|
|
2378
|
-
}): Point;
|
|
2527
|
+
}): Point$1;
|
|
2379
2528
|
readonly width: number;
|
|
2380
2529
|
readonly height: number;
|
|
2381
2530
|
}
|
|
@@ -2386,6 +2535,22 @@ interface Plot2DHandle {
|
|
|
2386
2535
|
*/
|
|
2387
2536
|
declare const Plot2D: react.ForwardRefExoticComponent<Plot2DProps & react.RefAttributes<Plot2DHandle>>;
|
|
2388
2537
|
|
|
2538
|
+
/**
|
|
2539
|
+
* Catmull-Rom spline sampling, parameterized by α.
|
|
2540
|
+
*
|
|
2541
|
+
* α = 0 → uniform parameterization (original Catmull-Rom). Fast, can
|
|
2542
|
+
* produce cusps and self-intersections at sharp 2D angles.
|
|
2543
|
+
* α = 0.5 → centripetal (Yuksel/Schneider 2011). No cusps, no
|
|
2544
|
+
* self-intersection. The "safe default" for 2D.
|
|
2545
|
+
* α = 1 → chordal. Smoother than uniform, different artifacts.
|
|
2546
|
+
*
|
|
2547
|
+
* `sampleCurve(...)` is the convenience alias for centripetal (α=0.5).
|
|
2548
|
+
*/
|
|
2549
|
+
interface Point {
|
|
2550
|
+
x: number;
|
|
2551
|
+
y: number;
|
|
2552
|
+
}
|
|
2553
|
+
|
|
2389
2554
|
/**
|
|
2390
2555
|
* Interpolation mode dispatcher for CurveEditor. The vocabulary of
|
|
2391
2556
|
* supported algorithms and the unified `sample(...)` entry point that
|
|
@@ -2398,6 +2563,8 @@ declare const Plot2D: react.ForwardRefExoticComponent<Plot2DProps & react.RefAtt
|
|
|
2398
2563
|
* every anchor); the differences are in tangent computation and
|
|
2399
2564
|
* parameterization. */
|
|
2400
2565
|
type InterpolationMode = 'linear' | 'catmull-rom' | 'catmull-rom-uniform' | 'catmull-rom-chordal' | 'monotone';
|
|
2566
|
+
/** Sample `anchors` using the chosen interpolation mode. */
|
|
2567
|
+
declare function sampleByInterpolation(anchors: readonly Point[], samplesPerSegment: number, mode: InterpolationMode): Point[];
|
|
2401
2568
|
|
|
2402
2569
|
/**
|
|
2403
2570
|
* Built-in function/curve layer for LayeredCurveEditor. Bundles the
|
|
@@ -2498,7 +2665,7 @@ interface CurveEditorProps {
|
|
|
2498
2665
|
* a `LayeredCurveEditor`. Reach for those directly to stack several curves
|
|
2499
2666
|
* on one plot.
|
|
2500
2667
|
*/
|
|
2501
|
-
declare function CurveEditor(props: CurveEditorProps):
|
|
2668
|
+
declare function CurveEditor(props: CurveEditorProps): react.JSX.Element;
|
|
2502
2669
|
|
|
2503
2670
|
/** Props for {@link PointPlotter}. */
|
|
2504
2671
|
interface PointPlotterProps {
|
|
@@ -2549,13 +2716,16 @@ interface PointPlotterProps {
|
|
|
2549
2716
|
* `'click-empty'` (CurveEditor defaults to `'click-curve'`, which
|
|
2550
2717
|
* doesn't make sense without a curve to hit-test against).
|
|
2551
2718
|
*/
|
|
2552
|
-
declare function PointPlotter(props: PointPlotterProps):
|
|
2719
|
+
declare function PointPlotter(props: PointPlotterProps): react.JSX.Element;
|
|
2553
2720
|
|
|
2554
2721
|
/**
|
|
2555
2722
|
* Options for {@link paintGradientTrack}.
|
|
2556
2723
|
*
|
|
2557
|
-
* `gradient` maps a normalized position along the
|
|
2558
|
-
* color; `samples` is how many stops the resulting
|
|
2724
|
+
* `gradient` maps a normalized position along the slider's value span (0 to
|
|
2725
|
+
* 1) to a CSS color; `samples` is how many stops the resulting
|
|
2726
|
+
* linear-gradient uses. The ramp is laid on the same span as the thumbs, so a
|
|
2727
|
+
* thumb at 0.3 sits over `gradient(0.3)`; any track beyond the span takes the
|
|
2728
|
+
* end colors.
|
|
2559
2729
|
* `activeRange`, given in the slider's own value units, keeps that span at
|
|
2560
2730
|
* full strength and dims + hatches the rest.
|
|
2561
2731
|
*/
|
|
@@ -2697,5 +2867,5 @@ type RovingTabIndex<T extends HTMLElement = HTMLDivElement> = {
|
|
|
2697
2867
|
*/
|
|
2698
2868
|
declare function useRovingTabIndex<T extends HTMLElement = HTMLDivElement>(options: UseRovingTabIndexOptions): RovingTabIndex<T>;
|
|
2699
2869
|
|
|
2700
|
-
export { ActionBar, Badge, ButtonBar, Callout, Checkbox, ColorModeControl, ComboBox, ComboBoxItem, CurveEditor, DataGrid, Dialog, Disclosure, DisclosureMark, DisclosureRow, DragGhost,
|
|
2701
|
-
export type { ActionBarProps, AddPointMode, AnchorRenderProps, AsyncOption, AsyncOptionsResult, AxesSettings, BadgeProps, BadgeShape, BadgeSize, BadgeStatus, BadgeVariant, BoundsCtx, BuiltInEdgeName, ButtonBarItem, ButtonBarProps, ButtonBarSize, ButtonBarVariant, CalloutProps, CheckboxProps, ChromaCurve, ChromaCurvePoint, ColorModeControlProps, ComboBoxCommit, ComboBoxFilter, ComboBoxItemProps, ComboBoxOption, ComboBoxProps, ControlPoint, CurveDomain, CurveEditorProps, DataGridColumn, DataGridProps, DialogProps, DisclosureMarkProps, DisclosureProps, DisclosureRowProps, DragGhostProps,
|
|
2870
|
+
export { ActionBar, Badge, ButtonBar, ButtonSize, ButtonVariant, COLOR_MODE_OPTIONS, Callout, Checkbox, CloseButton, ColorModeControl, ComboBox, ComboBoxItem, CurveEditor, DataGrid, Dialog, Disclosure, DisclosureMark, DisclosureRow, DragGhost, DragGrip, EDGE_PROFILES, FieldOrientation, GestureRoute, KeyCap, KeySequence, ListEditor, MenuButton, NumberField, OptionsBar, OverlayPortalProps, Plot2D, PointPlotter, Powerline, PrefRenderer, PrefsDialog, PrefsForm, Radio, RadioGroup, RangeSlider, SegmentTooltipFields, Sidebar, SidebarPanel, Slider, StanceProps, Switch, Tab, TabList, TabPanel, Tabs, ThemeSwitcher, ToggleBarSize, ToggleBarVariant, ToolButton, ToolGroup, ToolPalette, WithoutPortalTarget, chromaAt, detectPlatform, dlog, formatShortcut, formatShortcutParts, gestureRouteSegments, inferKeycapKind, isDebugEnabled, isPrefLeaf, keyGlyph, keySpecFromKey, keySpecsFromMods, keySpecsFromShortcut, oklchToHex, paintGradientTrack, prefValueAtPath, sampleByInterpolation, useAsyncOptions, useReorderDragList, useRovingTabIndex, visiblePrefSubtree };
|
|
2871
|
+
export type { ActionBarProps, AddPointMode, AnchorRenderProps, AsyncOption, AsyncOptionsResult, AxesSettings, BadgeProps, BadgeShape, BadgeSize, BadgeStatus, BadgeVariant, BoundsCtx, BuiltInEdgeName, BuiltInProfileName, ButtonBarItem, ButtonBarProps, ButtonBarSize, ButtonBarVariant, CalloutProps, CheckboxProps, ChromaCurve, ChromaCurvePoint, CloseButtonProps, ColorModeControlProps, ComboBoxCommit, ComboBoxFilter, ComboBoxItemProps, ComboBoxOption, ComboBoxProps, ControlPoint, CurveDomain, CurveEditorProps, DataGridColumn, DataGridProps, DialogProps, DisclosureMarkProps, DisclosureProps, DisclosureRowProps, DragGhostProps, DragGripProps, EdgeCap, EdgeProfile, EndpointMode, FillSettings, GestureRouteProps, GradientTrackOpts, GridSettings, InterpolationMode, KeyCapProps, KeyCapVariant, KeySequenceJoins, KeySequenceProps, KeySpec, KeycapKind, ListEditorProps, LogicalMod, LogicalModSpec, MenuButtonItem, MenuButtonProps, NumberFieldProps, OptionsBarItem, OptionsBarProps, OptionsBarSize, OptionsBarVariant, Platform, Plot2DCoords, Plot2DHandle, Plot2DProps, PointPlotterProps, PowerlineProps, PowerlineSegment, PrefsDialogProps, PrefsFormProps, PrefsLayout, RadioGroupProps, RadioProps, RangeSliderProps, ReorderDragHandlers, ReorderDragState, ReorderGhost, RovingItem, RovingTabIndex, SidebarPanelProps, SidebarProps, SliderProps, SwitchProps, TabListProps, TabPanelProps, TabProps, TabsProps, ThemeSwitcherOption, ThemeSwitcherProps, Thumb, ThumbRenderCtx, ThumbShape, ToolButtonProps, ToolGroupProps, ToolPaletteProps, TrackCtx, UseAsyncOptionsProps, UseReorderDragListOptions, UseRovingTabIndexOptions };
|