etudes 21.4.0 → 22.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/build/components/Burger.d.ts +31 -28
  2. package/build/components/BurgerButton.d.ts +29 -26
  3. package/build/components/CoverImage.d.ts +36 -25
  4. package/build/components/CoverVideo.d.ts +28 -25
  5. package/build/components/OptionButton.d.ts +28 -26
  6. package/build/components/PanoramaSlider.d.ts +52 -49
  7. package/build/components/SelectableButton.d.ts +36 -34
  8. package/build/etudes.js +2543 -2355
  9. package/build/etudes.umd.cjs +7 -7
  10. package/build/flows/Conditional.d.ts +11 -9
  11. package/build/flows/Each.d.ts +19 -17
  12. package/build/flows/Repeat.d.ts +19 -17
  13. package/build/flows/Switch.d.ts +52 -36
  14. package/build/hocs/WithTooltip.d.ts +37 -35
  15. package/build/hooks/useKeyboardShortcut.d.ts +27 -3
  16. package/build/primitives/Accordion.d.ts +235 -230
  17. package/build/primitives/Button.d.ts +7 -5
  18. package/build/primitives/Carousel.d.ts +54 -52
  19. package/build/primitives/Collection.d.ts +179 -173
  20. package/build/primitives/Counter.d.ts +52 -49
  21. package/build/primitives/Dial.d.ts +54 -51
  22. package/build/primitives/Dropdown.d.ts +121 -110
  23. package/build/primitives/FlatSVG.d.ts +42 -40
  24. package/build/primitives/Form.d.ts +9 -7
  25. package/build/primitives/Image.d.ts +44 -41
  26. package/build/primitives/MasonryGrid.d.ts +18 -16
  27. package/build/primitives/Panorama.d.ts +75 -72
  28. package/build/primitives/Picture.d.ts +10 -8
  29. package/build/primitives/RangeSlider.d.ts +90 -85
  30. package/build/primitives/Select.d.ts +59 -56
  31. package/build/primitives/Slider.d.ts +130 -109
  32. package/build/primitives/StepSlider.d.ts +148 -143
  33. package/build/primitives/SwipeRegion.d.ts +31 -29
  34. package/build/primitives/TextArea.d.ts +8 -6
  35. package/build/primitives/TextField.d.ts +58 -56
  36. package/build/primitives/Toggle.d.ts +40 -37
  37. package/build/primitives/Video.d.ts +84 -82
  38. package/package.json +12 -12
@@ -1,36 +1,39 @@
1
1
  import { HTMLAttributes } from 'react';
2
- /**
3
- * Type describing the props of {@link Burger}.
4
- */
5
- export type BurgerProps = HTMLAttributes<HTMLDivElement> & {
6
- /**
7
- * Specifies if the burger is in its activated state.
8
- */
9
- isActive?: boolean;
2
+ export declare namespace Burger {
10
3
  /**
11
- * Specifies if the bars are horizontally split to allow for an alternate
12
- * transition.
4
+ * Type describing the props of {@link Burger}.
13
5
  */
14
- isSplit?: boolean;
15
- /**
16
- * Specifies if the tail of the bottom bar is hidden.
17
- */
18
- isTailHidden?: boolean;
19
- /**
20
- * Specifies the number of bars to display.
21
- */
22
- numberOfBars?: 2 | 3;
23
- };
6
+ type Props = HTMLAttributes<HTMLDivElement> & {
7
+ /**
8
+ * Specifies if the burger is in its activated state.
9
+ */
10
+ isActive?: boolean;
11
+ /**
12
+ * Specifies if the bars are horizontally split to allow for an alternate
13
+ * transition.
14
+ */
15
+ isSplit?: boolean;
16
+ /**
17
+ * Specifies if the tail of the bottom bar is hidden.
18
+ */
19
+ isTailHidden?: boolean;
20
+ /**
21
+ * Specifies the number of bars to display.
22
+ */
23
+ numberOfBars?: 2 | 3;
24
+ };
25
+ }
24
26
  /**
25
27
  * Three-striped burger component that transforms into an "X" when active.
26
28
  *
27
- * @exports BurgerBar Component for each bar in the burger.
28
- */
29
- export declare const Burger: import('react').ForwardRefExoticComponent<Readonly<BurgerProps> & import('react').RefAttributes<HTMLDivElement>>;
30
- /**
31
- * Component for each bar in a {@link Burger}.
29
+ * @exports Burger.Bar Component for each bar in the burger.
32
30
  */
33
- export declare const BurgerBar: {
34
- ({ ...props }: HTMLAttributes<HTMLSpanElement>): import("react/jsx-runtime").JSX.Element;
35
- displayName: string;
31
+ export declare const Burger: import('react').ForwardRefExoticComponent<Readonly<Burger.Props> & import('react').RefAttributes<HTMLDivElement>> & {
32
+ /**
33
+ * Component for each bar in a {@link Burger}.
34
+ */
35
+ Bar: {
36
+ ({ ...props }: HTMLAttributes<HTMLSpanElement>): import("react/jsx-runtime").JSX.Element;
37
+ displayName: string;
38
+ };
36
39
  };
@@ -1,35 +1,38 @@
1
1
  import { ButtonHTMLAttributes } from 'react';
2
- import { BurgerProps } from './Burger.js';
3
- /**
4
- * Type describing the props of {@link BurgerButton}.
5
- */
6
- export type BurgerButtonProps = Omit<ButtonHTMLAttributes<HTMLButtonElement> & BurgerProps, 'onToggle'> & {
7
- /**
8
- * Handler invoked when the button is activated.
9
- */
10
- onActivate?: () => void;
11
- /**
12
- * Handler invoked when the button is deactivated.
13
- */
14
- onDeactivate?: () => void;
2
+ import { Burger } from './Burger.js';
3
+ export declare namespace BurgerButton {
15
4
  /**
16
- * Handler invoked when the button's active state is toggled.
17
- *
18
- * @param isActive The new active state of the button.
5
+ * Type describing the props of {@link BurgerButton}.
19
6
  */
20
- onToggle?: (isActive: boolean) => void;
21
- };
7
+ type Props = Omit<ButtonHTMLAttributes<HTMLButtonElement> & Burger.Props, 'onToggle'> & {
8
+ /**
9
+ * Handler invoked when the button is activated.
10
+ */
11
+ onActivate?: () => void;
12
+ /**
13
+ * Handler invoked when the button is deactivated.
14
+ */
15
+ onDeactivate?: () => void;
16
+ /**
17
+ * Handler invoked when the button's active state is toggled.
18
+ *
19
+ * @param isActive The new active state of the button.
20
+ */
21
+ onToggle?: (isActive: boolean) => void;
22
+ };
23
+ }
22
24
  /**
23
25
  * Three-striped burger button component that transforms into an "X" when
24
26
  * active.
25
27
  *
26
- * @exports BurgerButtonBar Component for each bar in the burger button.
27
- */
28
- export declare const BurgerButton: import('react').ForwardRefExoticComponent<Readonly<BurgerButtonProps> & import('react').RefAttributes<HTMLButtonElement>>;
29
- /**
30
- * Component for each bar in a {@link BurgerButton}.
28
+ * @exports BurgerButton.Bar Component for each bar in the burger button.
31
29
  */
32
- export declare const BurgerButtonBar: {
33
- ({ ...props }: import('react').HTMLAttributes<HTMLSpanElement>): import("react/jsx-runtime").JSX.Element;
34
- displayName: string;
30
+ export declare const BurgerButton: import('react').ForwardRefExoticComponent<Readonly<BurgerButton.Props> & import('react').RefAttributes<HTMLButtonElement>> & {
31
+ /**
32
+ * Component for each bar in a {@link BurgerButton}.
33
+ */
34
+ Bar: {
35
+ ({ ...props }: import('react').HTMLAttributes<HTMLSpanElement>): import("react/jsx-runtime").JSX.Element;
36
+ displayName: string;
37
+ };
35
38
  };
@@ -1,34 +1,45 @@
1
1
  import { HTMLAttributes } from 'react';
2
- import { PictureProps } from '../primitives/Picture.js';
3
- /**
4
- * Type describing the props of {@link CoverImage}.
5
- */
6
- export type CoverImageProps = Omit<HTMLAttributes<HTMLDivElement>, 'onLoadStart'> & Pick<PictureProps, 'alt' | 'loadingMode' | 'sources' | 'src' | 'onLoadStart' | 'onLoadComplete' | 'onLoadError'> & {
2
+ import { Picture } from '../primitives/Picture.js';
3
+ export declare const _Content: {
4
+ ({ children, ...props }: HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
5
+ displayName: string;
6
+ };
7
+ export declare const _Viewport: {
8
+ ({ children, ...props }: HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
9
+ displayName: string;
10
+ };
11
+ export declare namespace CoverImage {
7
12
  /**
8
- * The known aspect ratio of the image, expressed by width / height. If
9
- * unprovided, it will be inferred after loading the image.
13
+ * Type describing the props of {@link CoverImage}.
10
14
  */
11
- aspectRatio?: number;
12
- };
15
+ type Props = Omit<HTMLAttributes<HTMLDivElement>, 'onLoadStart'> & Pick<Picture.Props, 'alt' | 'loadingMode' | 'sources' | 'src' | 'onLoadStart' | 'onLoadComplete' | 'onLoadError'> & {
16
+ /**
17
+ * The known aspect ratio of the image, expressed by width / height. If
18
+ * unprovided, it will be inferred after loading the image.
19
+ */
20
+ aspectRatio?: number;
21
+ };
22
+ }
13
23
  /**
14
24
  * A component that displays an image with a fixed aspect ratio. The image is
15
25
  * centered and cropped to fit the container (a.k.a. viewport).
16
26
  *
17
- * @exports CoverImageContent Component for optional content inside the image.
18
- * @exports CoverImageViewport Component for the viewport.
19
- */
20
- export declare const CoverImage: import('react').ForwardRefExoticComponent<Readonly<CoverImageProps> & import('react').RefAttributes<HTMLDivElement>>;
21
- /**
22
- * Component for optional content inside a {@link CoverImage}.
27
+ * @exports CoverImage.Content Component for optional content inside the image.
28
+ * @exports CoverImage.Viewport Component for the viewport.
23
29
  */
24
- export declare const CoverImageContent: {
25
- ({ children, ...props }: HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
26
- displayName: string;
27
- };
28
- /**
29
- * Component for the viewport of a {@link CoverImage}.
30
- */
31
- export declare const CoverImageViewport: {
32
- ({ children, ...props }: HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
33
- displayName: string;
30
+ export declare const CoverImage: import('react').ForwardRefExoticComponent<Readonly<CoverImage.Props> & import('react').RefAttributes<HTMLDivElement>> & {
31
+ /**
32
+ * Component for optional content inside a {@link CoverImage}.
33
+ */
34
+ Content: {
35
+ ({ children, ...props }: HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
36
+ displayName: string;
37
+ };
38
+ /**
39
+ * Component for the viewport of a {@link CoverImage}.
40
+ */
41
+ Viewport: {
42
+ ({ children, ...props }: HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
43
+ displayName: string;
44
+ };
34
45
  };
@@ -1,34 +1,37 @@
1
1
  import { HTMLAttributes } from 'react';
2
- import { VideoProps } from '../primitives/Video.js';
3
- /**
4
- * Type describing the props of {@link CoverVideo}.
5
- */
6
- export type CoverVideoProps = Omit<HTMLAttributes<HTMLDivElement>, 'onCanPlay' | 'onPause' | 'onPlay'> & Pick<VideoProps, 'autoLoop' | 'autoPlay' | 'hasControls' | 'isMuted' | 'playsInline' | 'posterSrc' | 'src' | 'onPause' | 'onPlay' | 'onCanPlay' | 'onEnd' | 'onFullscreenChange' | 'onLoadMetadata' | 'onLoadMetadataComplete' | 'onLoadMetadataError' | 'onSizeChange'> & {
2
+ import { Video } from '../primitives/Video.js';
3
+ export declare namespace CoverVideo {
7
4
  /**
8
- * The known aspect ratio of the video, expressed by width / height. If
9
- * unprovided, it will be inferred after loading the video.
5
+ * Type describing the props of {@link CoverVideo}.
10
6
  */
11
- aspectRatio?: number;
12
- };
7
+ type Props = Omit<HTMLAttributes<HTMLDivElement>, 'onCanPlay' | 'onPause' | 'onPlay'> & Pick<Video.Props, 'autoLoop' | 'autoPlay' | 'hasControls' | 'isMuted' | 'playsInline' | 'posterSrc' | 'src' | 'onPause' | 'onPlay' | 'onCanPlay' | 'onEnd' | 'onFullscreenChange' | 'onLoadMetadata' | 'onLoadMetadataComplete' | 'onLoadMetadataError' | 'onSizeChange'> & {
8
+ /**
9
+ * The known aspect ratio of the video, expressed by width / height. If
10
+ * unprovided, it will be inferred after loading the video.
11
+ */
12
+ aspectRatio?: number;
13
+ };
14
+ }
13
15
  /**
14
16
  * A component that displays a video with a fixed aspect ratio. The video is
15
17
  * centered and cropped to fit the container (a.k.a. viewport).
16
18
  *
17
- * @exports CoverVideoContent Component for optional content inside the video.
18
- * @exports CoverVideoViewport Component for the viewport.
19
- */
20
- export declare const CoverVideo: import('react').ForwardRefExoticComponent<Readonly<CoverVideoProps> & import('react').RefAttributes<HTMLDivElement>>;
21
- /**
22
- * Component for optional content inside a {@link CoverVideo}.
23
- */
24
- export declare const CoverVideoContent: {
25
- ({ children, ...props }: HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
26
- displayName: string;
27
- };
28
- /**
29
- * Component for the viewport of a {@link CoverVideo}.
19
+ * @exports CoverVideo.Content Component for optional content inside the video.
20
+ * @exports CoverVideo.Viewport Component for the viewport.
30
21
  */
31
- export declare const CoverVideoViewport: {
32
- ({ children, ...props }: HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
33
- displayName: string;
22
+ export declare const CoverVideo: import('react').ForwardRefExoticComponent<Readonly<CoverVideo.Props> & import('react').RefAttributes<HTMLDivElement>> & {
23
+ /**
24
+ * Component for optional content inside a {@link CoverVideo}.
25
+ */
26
+ Content: {
27
+ ({ children, ...props }: HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
28
+ displayName: string;
29
+ };
30
+ /**
31
+ * Component for the viewport of a {@link CoverVideo}.
32
+ */
33
+ Viewport: {
34
+ ({ children, ...props }: HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
35
+ displayName: string;
36
+ };
34
37
  };
@@ -1,32 +1,34 @@
1
1
  import { ButtonHTMLAttributes } from 'react';
2
- /**
3
- * Type describing the props of {@link OptionButton}.
4
- */
5
- export type OptionButtonProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'aria-disabled' | 'aria-label' | 'disabled' | 'onChange'> & {
6
- /**
7
- * The current index of the option.
8
- */
9
- index?: number;
10
- /**
11
- * Specifies if the button is disabled.
12
- */
13
- isDisabled?: boolean;
14
- /**
15
- * The list of options to cycle through.
16
- */
17
- options: string[] | {
18
- label: string;
19
- value: string;
20
- }[];
2
+ export declare namespace OptionButton {
21
3
  /**
22
- * Handler invoked when the button is clicked.
23
- *
24
- * @param value The value of the next option.
25
- * @param index The index of the next option.
4
+ * Type describing the props of {@link OptionButton}.
26
5
  */
27
- onChange?: (value: string, index: number) => void;
28
- };
6
+ type Props = Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'aria-disabled' | 'aria-label' | 'disabled' | 'onChange'> & {
7
+ /**
8
+ * The current index of the option.
9
+ */
10
+ index?: number;
11
+ /**
12
+ * Specifies if the button is disabled.
13
+ */
14
+ isDisabled?: boolean;
15
+ /**
16
+ * The list of options to cycle through.
17
+ */
18
+ options: string[] | {
19
+ label: string;
20
+ value: string;
21
+ }[];
22
+ /**
23
+ * Handler invoked when the button is clicked.
24
+ *
25
+ * @param value The value of the next option.
26
+ * @param index The index of the next option.
27
+ */
28
+ onChange?: (value: string, index: number) => void;
29
+ };
30
+ }
29
31
  /**
30
32
  * A button component that cycles through a list of options when clicked.
31
33
  */
32
- export declare const OptionButton: import('react').ForwardRefExoticComponent<Readonly<OptionButtonProps> & import('react').RefAttributes<HTMLButtonElement>>;
34
+ export declare const OptionButton: import('react').ForwardRefExoticComponent<Readonly<OptionButton.Props> & import('react').RefAttributes<HTMLButtonElement>>;
@@ -1,60 +1,63 @@
1
1
  import { HTMLAttributes } from 'react';
2
2
  import { Size } from 'spase';
3
- import { PanoramaProps } from '../primitives/Panorama.js';
4
- /**
5
- * Type describing the props of {@link PanoramaSlider}.
6
- */
7
- export type PanoramaSliderProps = PanoramaProps & {
8
- /**
9
- * Field-of-view (0.0 - 360.0 degrees, inclusive) that represents the size of
10
- * the reticle. 360 indicates the reticle covers the entire image. If this is
11
- * unspecified, the component will attempt to automatically calculate the FOV
12
- * using the `viewportSize` prop.
13
- */
14
- fov?: number;
15
- /**
16
- * Specifies which length (width or height) should be automatically
17
- * calculated. The counterpart must be known (if `width` is specified here,
18
- * the component's height must be known, i.e. it is specified in the CSS).
19
- * Defaults to `width`.
20
- */
21
- autoDimension?: 'width' | 'height';
3
+ import { Panorama } from '../primitives/Panorama.js';
4
+ export declare namespace PanoramaSlider {
22
5
  /**
23
- * Size of the viewport that this component is controlling. A viewport can be
24
- * thought of as a DOM element containing an aspect-filled image. This is used
25
- * to automatically calculate the FOV if `fov` prop is not specified. If it
26
- * is, this prop is ignored.
6
+ * Type describing the props of {@link PanoramaSlider}.
27
7
  */
28
- viewportSize?: Size;
29
- };
8
+ type Props = Panorama.Props & {
9
+ /**
10
+ * Field-of-view (0.0 - 360.0 degrees, inclusive) that represents the size
11
+ * of the reticle. 360 indicates the reticle covers the entire image. If
12
+ * this is unspecified, the component will attempt to automatically
13
+ * calculate the FOV using the `viewportSize` prop.
14
+ */
15
+ fov?: number;
16
+ /**
17
+ * Specifies which length (width or height) should be automatically
18
+ * calculated. The counterpart must be known (if `width` is specified here,
19
+ * the component's height must be known, i.e. it is specified in the CSS).
20
+ * Defaults to `width`.
21
+ */
22
+ autoDimension?: 'width' | 'height';
23
+ /**
24
+ * Size of the viewport that this component is controlling. A viewport can
25
+ * be thought of as a DOM element containing an aspect-filled image. This is
26
+ * used to automatically calculate the FOV if `fov` prop is not specified.
27
+ * If it is, this prop is ignored.
28
+ */
29
+ viewportSize?: Size;
30
+ };
31
+ }
30
32
  /**
31
33
  * A slider for a {@link Panorama}.
32
34
  *
33
- * @exports PanoramaSliderIndicator Component for the active indicator that
35
+ * @exports Panorama.SliderIndicator Component for the active indicator that
34
36
  * appears when the slider is dragged.
35
- * @exports PanoramaSliderReticle Component for the reticle that indicates the
37
+ * @exports Panorama.SliderReticle Component for the reticle that indicates the
36
38
  * FOV of the backing {@link Panorama}.
37
- * @exports PanoramaSliderTrack Component for the slide track.
38
- */
39
- export declare const PanoramaSlider: import('react').ForwardRefExoticComponent<Readonly<PanoramaSliderProps> & import('react').RefAttributes<HTMLDivElement>>;
40
- /**
41
- * Component for the active indicator of a {@link PanoramaSlider}.
39
+ * @exports Panorama.SliderTrack Component for the slide track.
42
40
  */
43
- export declare const PanoramaSliderIndicator: {
44
- ({ ...props }: HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
45
- displayName: string;
46
- };
47
- /**
48
- * Component for the active reticle of a {@link PanoramaSlider}.
49
- */
50
- export declare const PanoramaSliderReticle: {
51
- ({ ...props }: HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
52
- displayName: string;
53
- };
54
- /**
55
- * Component for the slide track of a {@link PanoramaSlider}.
56
- */
57
- export declare const PanoramaSliderTrack: {
58
- ({ ...props }: HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
59
- displayName: string;
41
+ export declare const PanoramaSlider: import('react').ForwardRefExoticComponent<Readonly<PanoramaSlider.Props> & import('react').RefAttributes<HTMLDivElement>> & {
42
+ /**
43
+ * Component for the active indicator of a {@link PanoramaSlider}.
44
+ */
45
+ Indicator: {
46
+ ({ ...props }: HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
47
+ displayName: string;
48
+ };
49
+ /**
50
+ * Component for the active reticle of a {@link PanoramaSlider}.
51
+ */
52
+ Reticle: {
53
+ ({ ...props }: HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
54
+ displayName: string;
55
+ };
56
+ /**
57
+ * Component for the slide track of a {@link PanoramaSlider}.
58
+ */
59
+ Track: {
60
+ ({ ...props }: HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
61
+ displayName: string;
62
+ };
60
63
  };
@@ -1,40 +1,42 @@
1
1
  import { ButtonHTMLAttributes } from 'react';
2
- /**
3
- * Type describing the props of {@link SelectableButton}.
4
- */
5
- export type SelectableButtonProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'aria-disabled' | 'aria-label' | 'aria-selected' | 'disabled' | 'onClick' | 'onSelect' | 'onToggle'> & {
6
- /**
7
- * Specifies if the button can be deselected.
8
- */
9
- isDeselectable?: boolean;
10
- /**
11
- * Specifies if the button is disabled.
12
- */
13
- isDisabled?: boolean;
14
- /**
15
- * Specifies if the button is selected.
16
- */
17
- isSelected?: boolean;
18
- /**
19
- * The label of the button.
20
- */
21
- label?: string;
22
- /**
23
- * Handler invoked when the button is deselected.
24
- */
25
- onDeselect?: () => void;
26
- /**
27
- * Handler invoked when the button is selected.
28
- */
29
- onSelect?: () => void;
2
+ export declare namespace SelectableButton {
30
3
  /**
31
- * Handler invoked when the button's selected state is toggled.
32
- *
33
- * @param isSelected The new selected state of the button.
4
+ * Type describing the props of {@link SelectableButton}.
34
5
  */
35
- onToggle?: (isSelected: boolean) => void;
36
- };
6
+ type Props = Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'aria-disabled' | 'aria-label' | 'aria-selected' | 'disabled' | 'onClick' | 'onSelect' | 'onToggle'> & {
7
+ /**
8
+ * Specifies if the button can be deselected.
9
+ */
10
+ isDeselectable?: boolean;
11
+ /**
12
+ * Specifies if the button is disabled.
13
+ */
14
+ isDisabled?: boolean;
15
+ /**
16
+ * Specifies if the button is selected.
17
+ */
18
+ isSelected?: boolean;
19
+ /**
20
+ * The label of the button.
21
+ */
22
+ label?: string;
23
+ /**
24
+ * Handler invoked when the button is deselected.
25
+ */
26
+ onDeselect?: () => void;
27
+ /**
28
+ * Handler invoked when the button is selected.
29
+ */
30
+ onSelect?: () => void;
31
+ /**
32
+ * Handler invoked when the button's selected state is toggled.
33
+ *
34
+ * @param isSelected The new selected state of the button.
35
+ */
36
+ onToggle?: (isSelected: boolean) => void;
37
+ };
38
+ }
37
39
  /**
38
40
  * A button component that can be selected or deselected.
39
41
  */
40
- export declare const SelectableButton: import('react').ForwardRefExoticComponent<Readonly<SelectableButtonProps> & import('react').RefAttributes<HTMLButtonElement>>;
42
+ export declare const SelectableButton: import('react').ForwardRefExoticComponent<Readonly<SelectableButton.Props> & import('react').RefAttributes<HTMLButtonElement>>;