@wistia/ui 0.1.0 → 0.1.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.mts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as react from 'react';
3
- import { ReactNode, ComponentPropsWithoutRef, JSX, ComponentPropsWithRef, MouseEvent, ChangeEvent, ForwardedRef, Ref, JSXElementConstructor, ElementType as ElementType$1, InputHTMLAttributes } from 'react';
3
+ import { ReactNode, ComponentPropsWithoutRef, JSX, ComponentPropsWithRef, MouseEvent, ChangeEvent, ForwardedRef, Ref, JSXElementConstructor, ElementType as ElementType$1, InputHTMLAttributes, RefObject } from 'react';
4
4
  import { LinkProps as LinkProps$1 } from 'react-router-dom';
5
5
  import * as styled_components from 'styled-components';
6
6
  import { DropdownMenuContentProps, DropdownMenuItemProps, DropdownMenuRadioGroupProps, DropdownMenuRadioItemProps, DropdownMenuCheckboxItemProps } from '@radix-ui/react-dropdown-menu';
@@ -243,6 +243,63 @@ type AriaLiveContextType = {
243
243
  };
244
244
  declare const useAriaLive: () => AriaLiveContextType;
245
245
 
246
+ type ActionButtonProps = {
247
+ /**
248
+ * The Icon component to use, e.g. `<Icon type="favorite" />`
249
+ */
250
+ icon: JSX.Element;
251
+ /**
252
+ * Disables the button
253
+ */
254
+ disabled?: boolean;
255
+ /**
256
+ * Set the [color scheme](../?path=/docs/docs-color-schemes--docs) of the `ActionButton` when hovered. By default, it will inherit the `colorScheme` prop.
257
+ */
258
+ hoverColorScheme?: ColorSchemeTypes;
259
+ /**
260
+ * Changes the secondary icon for different use cases
261
+ */
262
+ variant?: 'default' | 'gated' | 'menu-down' | 'menu-up';
263
+ } & (Omit<ButtonAsButtonProps, 'fullWidth' | 'isLoading' | 'leftIcon' | 'rightIcon' | 'size' | 'unstyled' | 'variant'> | Omit<ButtonAsLinkProps, 'fullWidth' | 'isLoading' | 'leftIcon' | 'rightIcon' | 'size' | 'unstyled' | 'variant'>);
264
+ /**
265
+ * Action Button component is used as one of a group of main actions on the page.
266
+ */
267
+ declare const ActionButton: react.ForwardRefExoticComponent<(Omit<{
268
+ /**
269
+ * The Icon component to use, e.g. `<Icon type="favorite" />`
270
+ */
271
+ icon: JSX.Element;
272
+ /**
273
+ * Disables the button
274
+ */
275
+ disabled?: boolean;
276
+ /**
277
+ * Set the [color scheme](../?path=/docs/docs-color-schemes--docs) of the `ActionButton` when hovered. By default, it will inherit the `colorScheme` prop.
278
+ */
279
+ hoverColorScheme?: ColorSchemeTypes;
280
+ /**
281
+ * Changes the secondary icon for different use cases
282
+ */
283
+ variant?: "default" | "gated" | "menu-down" | "menu-up";
284
+ } & Omit<ButtonAsButtonProps, "size" | "isLoading" | "leftIcon" | "fullWidth" | "unstyled" | "rightIcon" | "variant">, "ref"> | Omit<{
285
+ /**
286
+ * The Icon component to use, e.g. `<Icon type="favorite" />`
287
+ */
288
+ icon: JSX.Element;
289
+ /**
290
+ * Disables the button
291
+ */
292
+ disabled?: boolean;
293
+ /**
294
+ * Set the [color scheme](../?path=/docs/docs-color-schemes--docs) of the `ActionButton` when hovered. By default, it will inherit the `colorScheme` prop.
295
+ */
296
+ hoverColorScheme?: ColorSchemeTypes;
297
+ /**
298
+ * Changes the secondary icon for different use cases
299
+ */
300
+ variant?: "default" | "gated" | "menu-down" | "menu-up";
301
+ } & Omit<ButtonAsLinkProps, "size" | "isLoading" | "leftIcon" | "fullWidth" | "unstyled" | "rightIcon" | "variant">, "ref">) & react.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
302
+
246
303
  type AvatarInstanceType = 'image' | 'initials';
247
304
  type AvatarProps = ComponentPropsWithoutRef<'div'> & {
248
305
  /**
@@ -1037,6 +1094,70 @@ declare const IconButton: react.ForwardRefExoticComponent<(Omit<{
1037
1094
  children: JSX.Element;
1038
1095
  } & Omit<ButtonAsLinkProps, "leftIcon" | "fullWidth" | "rightIcon">, "ref">) & react.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
1039
1096
 
1097
+ type InputProps = Omit<InputHTMLAttributes<HTMLInputElement | HTMLTextAreaElement>, 'type'> & {
1098
+ /**
1099
+ * Sets the validity status of the input
1100
+ */
1101
+ 'aria-invalid'?: boolean;
1102
+ /**
1103
+ * Set the disabled state of the input
1104
+ */
1105
+ disabled?: boolean;
1106
+ /**
1107
+ * If true, the input will fill the width of its parent
1108
+ */
1109
+ fullWidth?: boolean;
1110
+ /**
1111
+ * If true, the input will use a monospace font
1112
+ */
1113
+ monospace?: boolean;
1114
+ /**
1115
+ * Icon to display on the left side of the input, Must be an instance of [Icon](?path=/docs/components-icon--docs)
1116
+ */
1117
+ leftIcon?: JSX.Element | undefined;
1118
+ /**
1119
+ * Icon to display on the right side of the input, Must be an instance of [Icon](?path=/docs/components-icon--docs)
1120
+ */
1121
+ rightIcon?: JSX.Element | undefined;
1122
+ /**
1123
+ * The type of the input
1124
+ */
1125
+ type?: 'email' | 'multiline' | 'number' | 'phone' | 'search' | 'text' | 'url';
1126
+ };
1127
+ /**
1128
+ * Component description goes here
1129
+ */
1130
+ declare const Input: react.ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement | HTMLTextAreaElement>, "type"> & {
1131
+ /**
1132
+ * Sets the validity status of the input
1133
+ */
1134
+ 'aria-invalid'?: boolean;
1135
+ /**
1136
+ * Set the disabled state of the input
1137
+ */
1138
+ disabled?: boolean;
1139
+ /**
1140
+ * If true, the input will fill the width of its parent
1141
+ */
1142
+ fullWidth?: boolean;
1143
+ /**
1144
+ * If true, the input will use a monospace font
1145
+ */
1146
+ monospace?: boolean;
1147
+ /**
1148
+ * Icon to display on the left side of the input, Must be an instance of [Icon](?path=/docs/components-icon--docs)
1149
+ */
1150
+ leftIcon?: JSX.Element | undefined;
1151
+ /**
1152
+ * Icon to display on the right side of the input, Must be an instance of [Icon](?path=/docs/components-icon--docs)
1153
+ */
1154
+ rightIcon?: JSX.Element | undefined;
1155
+ /**
1156
+ * The type of the input
1157
+ */
1158
+ type?: "email" | "multiline" | "number" | "phone" | "search" | "text" | "url";
1159
+ } & react.RefAttributes<HTMLInputElement | HTMLTextAreaElement>>;
1160
+
1040
1161
  type LabelProps = ComponentPropsWithoutRef<'label'> & {
1041
1162
  /**
1042
1163
  * Pass an arbitrary child node
@@ -1508,6 +1629,91 @@ declare const CheckboxMenuItem: {
1508
1629
  displayName: string;
1509
1630
  };
1510
1631
 
1632
+ type ModalProps = ComponentPropsWithoutRef<'div'> & {
1633
+ /**
1634
+ * The content of the modal.
1635
+ */
1636
+ children: ReactNode;
1637
+ /**
1638
+ * Whether or not the modal should take up the full height of the viewport
1639
+ */
1640
+ fullHeight?: boolean;
1641
+ /**
1642
+ * Ref to the element that should receive focus when the modal opens
1643
+ */
1644
+ initialFocusRef?: RefObject<HTMLElement>;
1645
+ /**
1646
+ * Determines if the modal is currently open
1647
+ */
1648
+ isOpen: boolean;
1649
+ /**
1650
+ * Determines if the close button is visible (if false, `esc` will still close the Modal)
1651
+ */
1652
+ hideCloseButton?: boolean;
1653
+ /**
1654
+ * Determines if the title is visible
1655
+ */
1656
+ hideTitle?: boolean;
1657
+ /**
1658
+ * When the Modal is dismissed, this function will be called. You'll typically want to set the
1659
+ * state of `isOpen` to false here
1660
+ */
1661
+ onRequestClose?: () => void;
1662
+ /**
1663
+ * The title for the modal. If you want to hide the title, set the `hideTitle` prop to `true`
1664
+ * and the title will be hidden but still accessible to screen readers.
1665
+ */
1666
+ title: string;
1667
+ /**
1668
+ * The base width to apply to the Modal
1669
+ */
1670
+ width?: string;
1671
+ };
1672
+ /**
1673
+ * A Modal is a focused UI element that appears atop the main interface, requiring
1674
+ * user interaction or dismissal before returning to the underlying content.
1675
+ */
1676
+ declare const Modal: react.ForwardRefExoticComponent<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
1677
+ /**
1678
+ * The content of the modal.
1679
+ */
1680
+ children: ReactNode;
1681
+ /**
1682
+ * Whether or not the modal should take up the full height of the viewport
1683
+ */
1684
+ fullHeight?: boolean;
1685
+ /**
1686
+ * Ref to the element that should receive focus when the modal opens
1687
+ */
1688
+ initialFocusRef?: RefObject<HTMLElement>;
1689
+ /**
1690
+ * Determines if the modal is currently open
1691
+ */
1692
+ isOpen: boolean;
1693
+ /**
1694
+ * Determines if the close button is visible (if false, `esc` will still close the Modal)
1695
+ */
1696
+ hideCloseButton?: boolean;
1697
+ /**
1698
+ * Determines if the title is visible
1699
+ */
1700
+ hideTitle?: boolean;
1701
+ /**
1702
+ * When the Modal is dismissed, this function will be called. You'll typically want to set the
1703
+ * state of `isOpen` to false here
1704
+ */
1705
+ onRequestClose?: () => void;
1706
+ /**
1707
+ * The title for the modal. If you want to hide the title, set the `hideTitle` prop to `true`
1708
+ * and the title will be hidden but still accessible to screen readers.
1709
+ */
1710
+ title: string;
1711
+ /**
1712
+ * The base width to apply to the Modal
1713
+ */
1714
+ width?: string;
1715
+ } & react.RefAttributes<HTMLDivElement>>;
1716
+
1511
1717
  type RadioProps = ComponentPropsWithoutRef<'input'> & {
1512
1718
  /**
1513
1719
  * Indicates the state of the radio
@@ -1770,68 +1976,4 @@ declare const WistiaLogo: {
1770
1976
  displayName: string;
1771
1977
  };
1772
1978
 
1773
- type InputProps = Omit<InputHTMLAttributes<HTMLInputElement | HTMLTextAreaElement>, 'type'> & {
1774
- /**
1775
- * Sets the validity status of the input
1776
- */
1777
- 'aria-invalid'?: boolean;
1778
- /**
1779
- * Set the disabled state of the input
1780
- */
1781
- disabled?: boolean;
1782
- /**
1783
- * If true, the input will fill the width of its parent
1784
- */
1785
- fullWidth?: boolean;
1786
- /**
1787
- * If true, the input will use a monospace font
1788
- */
1789
- monospace?: boolean;
1790
- /**
1791
- * Icon to display on the left side of the input, Must be an instance of [Icon](?path=/docs/components-icon--docs)
1792
- */
1793
- leftIcon?: JSX.Element | undefined;
1794
- /**
1795
- * Icon to display on the right side of the input, Must be an instance of [Icon](?path=/docs/components-icon--docs)
1796
- */
1797
- rightIcon?: JSX.Element | undefined;
1798
- /**
1799
- * The type of the input
1800
- */
1801
- type?: 'email' | 'multiline' | 'number' | 'phone' | 'search' | 'text' | 'url';
1802
- };
1803
- /**
1804
- * Component description goes here
1805
- */
1806
- declare const Input: react.ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement | HTMLTextAreaElement>, "type"> & {
1807
- /**
1808
- * Sets the validity status of the input
1809
- */
1810
- 'aria-invalid'?: boolean;
1811
- /**
1812
- * Set the disabled state of the input
1813
- */
1814
- disabled?: boolean;
1815
- /**
1816
- * If true, the input will fill the width of its parent
1817
- */
1818
- fullWidth?: boolean;
1819
- /**
1820
- * If true, the input will use a monospace font
1821
- */
1822
- monospace?: boolean;
1823
- /**
1824
- * Icon to display on the left side of the input, Must be an instance of [Icon](?path=/docs/components-icon--docs)
1825
- */
1826
- leftIcon?: JSX.Element | undefined;
1827
- /**
1828
- * Icon to display on the right side of the input, Must be an instance of [Icon](?path=/docs/components-icon--docs)
1829
- */
1830
- rightIcon?: JSX.Element | undefined;
1831
- /**
1832
- * The type of the input
1833
- */
1834
- type?: "email" | "multiline" | "number" | "phone" | "search" | "text" | "url";
1835
- } & react.RefAttributes<HTMLInputElement | HTMLTextAreaElement>>;
1836
-
1837
- export { Avatar, type AvatarInstanceType, type AvatarProps, Badge, type BadgeProps, Box, type BoxProps, Button, ButtonGroup, type ButtonProps, Checkbox, CheckboxGroup, CheckboxMenuItem, type ColorSchemeTypes, ColorSchemeWrapper, type ColorSchemeWrapperProps, Divider, Ellipsis, Form, FormErrorSummary, FormField, type FormFieldProps, FormGroup, type FormGroupProps, type FormProps, Heading, type HeadingProps, Icon, IconButton, type IconButtonProps, type IconNameType, Input, type InputProps, Label, type LabelProps, Link, type LinkProps, Menu, MenuItem, MenuItemDescription, MenuItemLabel, MenuLabel, MenuRadioGroup, Radio, RadioGroup, RadioMenuItem, type RadioProps, ScreenReaderOnly, Stack, SubMenu, Tag, type TagProps, Text, type TextProps, Tooltip, type TooltipProps, UIProvider, WistiaLogo, colorSchemeOptions, copyToClipboard, ellipsisFlexParentStyle, ellipsisStyle, iconSizeMap, mq, useActiveMq, useAriaLive, useFormState, useMq, useToast, useWindowSize };
1979
+ export { ActionButton, type ActionButtonProps, Avatar, type AvatarInstanceType, type AvatarProps, Badge, type BadgeProps, Box, type BoxProps, Button, ButtonGroup, type ButtonProps, Checkbox, CheckboxGroup, CheckboxMenuItem, type ColorSchemeTypes, ColorSchemeWrapper, type ColorSchemeWrapperProps, Divider, Ellipsis, Form, FormErrorSummary, FormField, type FormFieldProps, FormGroup, type FormGroupProps, type FormProps, Heading, type HeadingProps, Icon, IconButton, type IconButtonProps, type IconNameType, Input, type InputProps, Label, type LabelProps, Link, type LinkProps, Menu, MenuItem, MenuItemDescription, MenuItemLabel, MenuLabel, MenuRadioGroup, Modal, type ModalProps, Radio, RadioGroup, RadioMenuItem, type RadioProps, ScreenReaderOnly, Stack, SubMenu, Tag, type TagProps, Text, type TextProps, Tooltip, type TooltipProps, UIProvider, WistiaLogo, colorSchemeOptions, copyToClipboard, ellipsisFlexParentStyle, ellipsisStyle, iconSizeMap, mq, useActiveMq, useAriaLive, useFormState, useMq, useToast, useWindowSize };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as react from 'react';
3
- import { ReactNode, ComponentPropsWithoutRef, JSX, ComponentPropsWithRef, MouseEvent, ChangeEvent, ForwardedRef, Ref, JSXElementConstructor, ElementType as ElementType$1, InputHTMLAttributes } from 'react';
3
+ import { ReactNode, ComponentPropsWithoutRef, JSX, ComponentPropsWithRef, MouseEvent, ChangeEvent, ForwardedRef, Ref, JSXElementConstructor, ElementType as ElementType$1, InputHTMLAttributes, RefObject } from 'react';
4
4
  import { LinkProps as LinkProps$1 } from 'react-router-dom';
5
5
  import * as styled_components from 'styled-components';
6
6
  import { DropdownMenuContentProps, DropdownMenuItemProps, DropdownMenuRadioGroupProps, DropdownMenuRadioItemProps, DropdownMenuCheckboxItemProps } from '@radix-ui/react-dropdown-menu';
@@ -243,6 +243,63 @@ type AriaLiveContextType = {
243
243
  };
244
244
  declare const useAriaLive: () => AriaLiveContextType;
245
245
 
246
+ type ActionButtonProps = {
247
+ /**
248
+ * The Icon component to use, e.g. `<Icon type="favorite" />`
249
+ */
250
+ icon: JSX.Element;
251
+ /**
252
+ * Disables the button
253
+ */
254
+ disabled?: boolean;
255
+ /**
256
+ * Set the [color scheme](../?path=/docs/docs-color-schemes--docs) of the `ActionButton` when hovered. By default, it will inherit the `colorScheme` prop.
257
+ */
258
+ hoverColorScheme?: ColorSchemeTypes;
259
+ /**
260
+ * Changes the secondary icon for different use cases
261
+ */
262
+ variant?: 'default' | 'gated' | 'menu-down' | 'menu-up';
263
+ } & (Omit<ButtonAsButtonProps, 'fullWidth' | 'isLoading' | 'leftIcon' | 'rightIcon' | 'size' | 'unstyled' | 'variant'> | Omit<ButtonAsLinkProps, 'fullWidth' | 'isLoading' | 'leftIcon' | 'rightIcon' | 'size' | 'unstyled' | 'variant'>);
264
+ /**
265
+ * Action Button component is used as one of a group of main actions on the page.
266
+ */
267
+ declare const ActionButton: react.ForwardRefExoticComponent<(Omit<{
268
+ /**
269
+ * The Icon component to use, e.g. `<Icon type="favorite" />`
270
+ */
271
+ icon: JSX.Element;
272
+ /**
273
+ * Disables the button
274
+ */
275
+ disabled?: boolean;
276
+ /**
277
+ * Set the [color scheme](../?path=/docs/docs-color-schemes--docs) of the `ActionButton` when hovered. By default, it will inherit the `colorScheme` prop.
278
+ */
279
+ hoverColorScheme?: ColorSchemeTypes;
280
+ /**
281
+ * Changes the secondary icon for different use cases
282
+ */
283
+ variant?: "default" | "gated" | "menu-down" | "menu-up";
284
+ } & Omit<ButtonAsButtonProps, "size" | "isLoading" | "leftIcon" | "fullWidth" | "unstyled" | "rightIcon" | "variant">, "ref"> | Omit<{
285
+ /**
286
+ * The Icon component to use, e.g. `<Icon type="favorite" />`
287
+ */
288
+ icon: JSX.Element;
289
+ /**
290
+ * Disables the button
291
+ */
292
+ disabled?: boolean;
293
+ /**
294
+ * Set the [color scheme](../?path=/docs/docs-color-schemes--docs) of the `ActionButton` when hovered. By default, it will inherit the `colorScheme` prop.
295
+ */
296
+ hoverColorScheme?: ColorSchemeTypes;
297
+ /**
298
+ * Changes the secondary icon for different use cases
299
+ */
300
+ variant?: "default" | "gated" | "menu-down" | "menu-up";
301
+ } & Omit<ButtonAsLinkProps, "size" | "isLoading" | "leftIcon" | "fullWidth" | "unstyled" | "rightIcon" | "variant">, "ref">) & react.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
302
+
246
303
  type AvatarInstanceType = 'image' | 'initials';
247
304
  type AvatarProps = ComponentPropsWithoutRef<'div'> & {
248
305
  /**
@@ -1037,6 +1094,70 @@ declare const IconButton: react.ForwardRefExoticComponent<(Omit<{
1037
1094
  children: JSX.Element;
1038
1095
  } & Omit<ButtonAsLinkProps, "leftIcon" | "fullWidth" | "rightIcon">, "ref">) & react.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
1039
1096
 
1097
+ type InputProps = Omit<InputHTMLAttributes<HTMLInputElement | HTMLTextAreaElement>, 'type'> & {
1098
+ /**
1099
+ * Sets the validity status of the input
1100
+ */
1101
+ 'aria-invalid'?: boolean;
1102
+ /**
1103
+ * Set the disabled state of the input
1104
+ */
1105
+ disabled?: boolean;
1106
+ /**
1107
+ * If true, the input will fill the width of its parent
1108
+ */
1109
+ fullWidth?: boolean;
1110
+ /**
1111
+ * If true, the input will use a monospace font
1112
+ */
1113
+ monospace?: boolean;
1114
+ /**
1115
+ * Icon to display on the left side of the input, Must be an instance of [Icon](?path=/docs/components-icon--docs)
1116
+ */
1117
+ leftIcon?: JSX.Element | undefined;
1118
+ /**
1119
+ * Icon to display on the right side of the input, Must be an instance of [Icon](?path=/docs/components-icon--docs)
1120
+ */
1121
+ rightIcon?: JSX.Element | undefined;
1122
+ /**
1123
+ * The type of the input
1124
+ */
1125
+ type?: 'email' | 'multiline' | 'number' | 'phone' | 'search' | 'text' | 'url';
1126
+ };
1127
+ /**
1128
+ * Component description goes here
1129
+ */
1130
+ declare const Input: react.ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement | HTMLTextAreaElement>, "type"> & {
1131
+ /**
1132
+ * Sets the validity status of the input
1133
+ */
1134
+ 'aria-invalid'?: boolean;
1135
+ /**
1136
+ * Set the disabled state of the input
1137
+ */
1138
+ disabled?: boolean;
1139
+ /**
1140
+ * If true, the input will fill the width of its parent
1141
+ */
1142
+ fullWidth?: boolean;
1143
+ /**
1144
+ * If true, the input will use a monospace font
1145
+ */
1146
+ monospace?: boolean;
1147
+ /**
1148
+ * Icon to display on the left side of the input, Must be an instance of [Icon](?path=/docs/components-icon--docs)
1149
+ */
1150
+ leftIcon?: JSX.Element | undefined;
1151
+ /**
1152
+ * Icon to display on the right side of the input, Must be an instance of [Icon](?path=/docs/components-icon--docs)
1153
+ */
1154
+ rightIcon?: JSX.Element | undefined;
1155
+ /**
1156
+ * The type of the input
1157
+ */
1158
+ type?: "email" | "multiline" | "number" | "phone" | "search" | "text" | "url";
1159
+ } & react.RefAttributes<HTMLInputElement | HTMLTextAreaElement>>;
1160
+
1040
1161
  type LabelProps = ComponentPropsWithoutRef<'label'> & {
1041
1162
  /**
1042
1163
  * Pass an arbitrary child node
@@ -1508,6 +1629,91 @@ declare const CheckboxMenuItem: {
1508
1629
  displayName: string;
1509
1630
  };
1510
1631
 
1632
+ type ModalProps = ComponentPropsWithoutRef<'div'> & {
1633
+ /**
1634
+ * The content of the modal.
1635
+ */
1636
+ children: ReactNode;
1637
+ /**
1638
+ * Whether or not the modal should take up the full height of the viewport
1639
+ */
1640
+ fullHeight?: boolean;
1641
+ /**
1642
+ * Ref to the element that should receive focus when the modal opens
1643
+ */
1644
+ initialFocusRef?: RefObject<HTMLElement>;
1645
+ /**
1646
+ * Determines if the modal is currently open
1647
+ */
1648
+ isOpen: boolean;
1649
+ /**
1650
+ * Determines if the close button is visible (if false, `esc` will still close the Modal)
1651
+ */
1652
+ hideCloseButton?: boolean;
1653
+ /**
1654
+ * Determines if the title is visible
1655
+ */
1656
+ hideTitle?: boolean;
1657
+ /**
1658
+ * When the Modal is dismissed, this function will be called. You'll typically want to set the
1659
+ * state of `isOpen` to false here
1660
+ */
1661
+ onRequestClose?: () => void;
1662
+ /**
1663
+ * The title for the modal. If you want to hide the title, set the `hideTitle` prop to `true`
1664
+ * and the title will be hidden but still accessible to screen readers.
1665
+ */
1666
+ title: string;
1667
+ /**
1668
+ * The base width to apply to the Modal
1669
+ */
1670
+ width?: string;
1671
+ };
1672
+ /**
1673
+ * A Modal is a focused UI element that appears atop the main interface, requiring
1674
+ * user interaction or dismissal before returning to the underlying content.
1675
+ */
1676
+ declare const Modal: react.ForwardRefExoticComponent<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
1677
+ /**
1678
+ * The content of the modal.
1679
+ */
1680
+ children: ReactNode;
1681
+ /**
1682
+ * Whether or not the modal should take up the full height of the viewport
1683
+ */
1684
+ fullHeight?: boolean;
1685
+ /**
1686
+ * Ref to the element that should receive focus when the modal opens
1687
+ */
1688
+ initialFocusRef?: RefObject<HTMLElement>;
1689
+ /**
1690
+ * Determines if the modal is currently open
1691
+ */
1692
+ isOpen: boolean;
1693
+ /**
1694
+ * Determines if the close button is visible (if false, `esc` will still close the Modal)
1695
+ */
1696
+ hideCloseButton?: boolean;
1697
+ /**
1698
+ * Determines if the title is visible
1699
+ */
1700
+ hideTitle?: boolean;
1701
+ /**
1702
+ * When the Modal is dismissed, this function will be called. You'll typically want to set the
1703
+ * state of `isOpen` to false here
1704
+ */
1705
+ onRequestClose?: () => void;
1706
+ /**
1707
+ * The title for the modal. If you want to hide the title, set the `hideTitle` prop to `true`
1708
+ * and the title will be hidden but still accessible to screen readers.
1709
+ */
1710
+ title: string;
1711
+ /**
1712
+ * The base width to apply to the Modal
1713
+ */
1714
+ width?: string;
1715
+ } & react.RefAttributes<HTMLDivElement>>;
1716
+
1511
1717
  type RadioProps = ComponentPropsWithoutRef<'input'> & {
1512
1718
  /**
1513
1719
  * Indicates the state of the radio
@@ -1770,68 +1976,4 @@ declare const WistiaLogo: {
1770
1976
  displayName: string;
1771
1977
  };
1772
1978
 
1773
- type InputProps = Omit<InputHTMLAttributes<HTMLInputElement | HTMLTextAreaElement>, 'type'> & {
1774
- /**
1775
- * Sets the validity status of the input
1776
- */
1777
- 'aria-invalid'?: boolean;
1778
- /**
1779
- * Set the disabled state of the input
1780
- */
1781
- disabled?: boolean;
1782
- /**
1783
- * If true, the input will fill the width of its parent
1784
- */
1785
- fullWidth?: boolean;
1786
- /**
1787
- * If true, the input will use a monospace font
1788
- */
1789
- monospace?: boolean;
1790
- /**
1791
- * Icon to display on the left side of the input, Must be an instance of [Icon](?path=/docs/components-icon--docs)
1792
- */
1793
- leftIcon?: JSX.Element | undefined;
1794
- /**
1795
- * Icon to display on the right side of the input, Must be an instance of [Icon](?path=/docs/components-icon--docs)
1796
- */
1797
- rightIcon?: JSX.Element | undefined;
1798
- /**
1799
- * The type of the input
1800
- */
1801
- type?: 'email' | 'multiline' | 'number' | 'phone' | 'search' | 'text' | 'url';
1802
- };
1803
- /**
1804
- * Component description goes here
1805
- */
1806
- declare const Input: react.ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement | HTMLTextAreaElement>, "type"> & {
1807
- /**
1808
- * Sets the validity status of the input
1809
- */
1810
- 'aria-invalid'?: boolean;
1811
- /**
1812
- * Set the disabled state of the input
1813
- */
1814
- disabled?: boolean;
1815
- /**
1816
- * If true, the input will fill the width of its parent
1817
- */
1818
- fullWidth?: boolean;
1819
- /**
1820
- * If true, the input will use a monospace font
1821
- */
1822
- monospace?: boolean;
1823
- /**
1824
- * Icon to display on the left side of the input, Must be an instance of [Icon](?path=/docs/components-icon--docs)
1825
- */
1826
- leftIcon?: JSX.Element | undefined;
1827
- /**
1828
- * Icon to display on the right side of the input, Must be an instance of [Icon](?path=/docs/components-icon--docs)
1829
- */
1830
- rightIcon?: JSX.Element | undefined;
1831
- /**
1832
- * The type of the input
1833
- */
1834
- type?: "email" | "multiline" | "number" | "phone" | "search" | "text" | "url";
1835
- } & react.RefAttributes<HTMLInputElement | HTMLTextAreaElement>>;
1836
-
1837
- export { Avatar, type AvatarInstanceType, type AvatarProps, Badge, type BadgeProps, Box, type BoxProps, Button, ButtonGroup, type ButtonProps, Checkbox, CheckboxGroup, CheckboxMenuItem, type ColorSchemeTypes, ColorSchemeWrapper, type ColorSchemeWrapperProps, Divider, Ellipsis, Form, FormErrorSummary, FormField, type FormFieldProps, FormGroup, type FormGroupProps, type FormProps, Heading, type HeadingProps, Icon, IconButton, type IconButtonProps, type IconNameType, Input, type InputProps, Label, type LabelProps, Link, type LinkProps, Menu, MenuItem, MenuItemDescription, MenuItemLabel, MenuLabel, MenuRadioGroup, Radio, RadioGroup, RadioMenuItem, type RadioProps, ScreenReaderOnly, Stack, SubMenu, Tag, type TagProps, Text, type TextProps, Tooltip, type TooltipProps, UIProvider, WistiaLogo, colorSchemeOptions, copyToClipboard, ellipsisFlexParentStyle, ellipsisStyle, iconSizeMap, mq, useActiveMq, useAriaLive, useFormState, useMq, useToast, useWindowSize };
1979
+ export { ActionButton, type ActionButtonProps, Avatar, type AvatarInstanceType, type AvatarProps, Badge, type BadgeProps, Box, type BoxProps, Button, ButtonGroup, type ButtonProps, Checkbox, CheckboxGroup, CheckboxMenuItem, type ColorSchemeTypes, ColorSchemeWrapper, type ColorSchemeWrapperProps, Divider, Ellipsis, Form, FormErrorSummary, FormField, type FormFieldProps, FormGroup, type FormGroupProps, type FormProps, Heading, type HeadingProps, Icon, IconButton, type IconButtonProps, type IconNameType, Input, type InputProps, Label, type LabelProps, Link, type LinkProps, Menu, MenuItem, MenuItemDescription, MenuItemLabel, MenuLabel, MenuRadioGroup, Modal, type ModalProps, Radio, RadioGroup, RadioMenuItem, type RadioProps, ScreenReaderOnly, Stack, SubMenu, Tag, type TagProps, Text, type TextProps, Tooltip, type TooltipProps, UIProvider, WistiaLogo, colorSchemeOptions, copyToClipboard, ellipsisFlexParentStyle, ellipsisStyle, iconSizeMap, mq, useActiveMq, useAriaLive, useFormState, useMq, useToast, useWindowSize };