import { ChangeEvent, ComponentClass, ComponentProps, ComponentPropsWithRef, ComponentPropsWithoutRef, ComponentType, DetailedHTMLProps, ElementType, FC, FocusEvent, ForwardRefExoticComponent, HTMLAttributes, HTMLInputTypeAttribute, JSX, KeyboardEvent, MemoExoticComponent, MouseEvent, PropsWithChildren, ReactElement, ReactNode, Ref, RefAttributes, RefObject } from "react"; import { DefaultTheme, IStyledComponent, RuleSet, css } from "styled-components"; import { Field, FormikErrors, FormikHelpers, FormikProps, useFormikContext } from "formik"; import { Editor } from "slate"; import "slate-history"; import { ReactEditor } from "slate-react"; import { DropdownMenuCheckboxItemProps, DropdownMenuContentProps, DropdownMenuItemProps, DropdownMenuProps, DropdownMenuRadioGroup as MenuRadioGroup, DropdownMenuRadioItemProps } from "@radix-ui/react-dropdown-menu"; //#region src/@types/vhs-theme.d.ts interface VHSTheme { readonly breakpoint: { readonly xs: string; readonly sm: string; readonly md: string; readonly lg: string; readonly xl: string; }; readonly color: { readonly brandBlue100: string; readonly brandBlue200: string; readonly brandBlue300: string; readonly brandBlue400: string; readonly brandBlue500: string; readonly brandBlue600: string; readonly brandBlue700: string; readonly brandBlue800: string; readonly purple100: string; readonly purple200: string; readonly purple300: string; readonly purple400: string; readonly purple500: string; readonly purple600: string; readonly purple700: string; readonly purple800: string; readonly green100: string; readonly green200: string; readonly green300: string; readonly green400: string; readonly green500: string; readonly green600: string; readonly green700: string; readonly green800: string; readonly blue100: string; readonly blue200: string; readonly blue300: string; readonly blue400: string; readonly blue500: string; readonly blue600: string; readonly blue700: string; readonly blue800: string; readonly pink100: string; readonly pink200: string; readonly pink300: string; readonly pink400: string; readonly pink500: string; readonly pink600: string; readonly pink700: string; readonly pink800: string; readonly red100: string; readonly red200: string; readonly red300: string; readonly red400: string; readonly red500: string; readonly red600: string; readonly red700: string; readonly red800: string; readonly yellow100: string; readonly yellow200: string; readonly yellow300: string; readonly yellow400: string; readonly yellow500: string; readonly yellow600: string; readonly yellow700: string; readonly yellow800: string; readonly orange100: string; readonly orange200: string; readonly orange300: string; readonly orange400: string; readonly orange500: string; readonly orange600: string; readonly orange700: string; readonly orange800: string; readonly grey100: string; readonly grey200: string; readonly grey300: string; readonly grey400: string; readonly grey500: string; readonly grey600: string; readonly grey700: string; readonly grey800: string; readonly grey900: string; readonly grey1000: string; readonly grey1100: string; readonly error100: string; readonly error200: string; readonly error300: string; readonly error400: string; readonly error500: string; readonly error600: string; readonly error700: string; readonly error800: string; readonly success100: string; readonly success200: string; readonly success300: string; readonly success400: string; readonly success500: string; readonly success600: string; readonly success700: string; readonly success800: string; readonly warning100: string; readonly warning200: string; readonly warning300: string; readonly warning400: string; readonly warning500: string; readonly warning600: string; readonly warning700: string; readonly warning800: string; }; readonly duration: { readonly productive: { readonly fast: string; readonly moderate: string; readonly slow: string; }; readonly expressive: { readonly fast: string; readonly moderate: string; readonly slow: string; }; }; readonly easing: { readonly standard: { readonly productive: string; readonly expressive: string; }; readonly entrance: { readonly productive: string; readonly expressive: string; }; readonly exit: { readonly productive: string; readonly expressive: string; }; }; readonly font: { readonly family: { readonly default: string; readonly monospace: string; }; readonly size: { readonly default: string; readonly small: string; }; readonly weight: { readonly thin: number; readonly extraLight: number; readonly light: number; readonly regular: number; readonly medium: number; readonly semiBold: number; readonly bold: number; readonly extraBold: number; }; }; readonly shadow: { readonly elevation0: string; readonly elevation1: string; readonly elevation2: string; }; readonly spacing: { readonly space01: string; readonly space02: string; readonly space03: string; readonly space04: string; readonly space05: string; readonly space06: string; readonly space07: string; readonly space08: string; readonly space09: string; readonly space10: string; readonly space11: string; }; readonly zIndex: { readonly ModalCloseButton: number; readonly Backdrop: number; readonly ActionModal: number; readonly FullScreenModal: number; readonly RangeSelector: number; readonly MenuComponent: number; readonly Toast: number; readonly Tooltip: number; readonly BackdropElevated: number; }; readonly button: { readonly borderRadius: string; }; readonly buttonGroup: { readonly gap: string; }; readonly headline: { readonly family: { readonly default: string; readonly monospace: string; }; readonly headline1: { readonly weight: number; }; readonly headline2: { readonly weight: number; }; readonly headline3: { readonly weight: number; }; }; readonly paper: { readonly elevation0: string; readonly elevation1: string; readonly elevation2: string; }; } //#endregion //#region src/components/Link/Link.d.ts type LinkURLParameters = Record; type LinkTypes = "default" | "email" | "external" | "phone"; type DefaultLinkWrapperProps = { [anchorProps: string]: unknown; RenderedLink: ElementType; children: ReactNode; }; type LinkProps = ComponentPropsWithoutRef<"a"> & { /** * A Promise to invoke before navigating to location. * _Caution: if used with `external` type prop a new window will **not** be opened_ */ beforeAction?: (() => Promise) | (() => void); /** * The content that will be rendered inside the link */ children: ReactNode; /** * Disables Link */ disabled?: boolean; /** * @ignore * Force a Link into a particular css state (for debugging) */ forceState?: "active" | "focus" | "hover"; /** * The entity to link to (url, email address, telephone number) */ href: string; /** * Use this if your link is "nested" inside another link */ nested?: boolean; /** * An object that will be converted into a search parameter string and appended to * the `to` prop value */ params?: LinkURLParameters; /** * Type of link to display * * * `email` creates a mailto * * `phone` creates a telephone number * * `external` will open links in a new window */ type?: LinkTypes; /** * Will only display an underline when the Link is in a hover state */ underlineOnHover?: boolean; /** * Renders a link without any of the default styling applied */ unstyled?: boolean; /** * The visual type of Link to display */ variant?: "dangerous" | "primary" | "secondary"; }; declare const Link$1: ForwardRefExoticComponent>; //#endregion //#region src/providers/WrapperProvider.d.ts type WrapperProviderLinkType = ((props: DefaultLinkWrapperProps) => JSX.Element) | undefined; //#endregion //#region src/providers/VHSProvider.d.ts export type VHSProviderProps = { children: ReactNode; globalStylesIncluded?: boolean; Link?: WrapperProviderLinkType; skipAnimations?: boolean; theme?: Record; }; export declare const VHSProvider: ({ children, theme, globalStylesIncluded, skipAnimations, Link }: VHSProviderProps) => ReactNode; //#endregion //#region src/hooks/useTheme/useTheme.d.ts export declare const useTheme: () => T; //#endregion //#region src/hooks/useThemeColor/useThemeColor.d.ts type ColorKeysFromTheme = keyof Theme["color"]; type UseThemeColor = { (): DefaultTheme["color"]; >(param: K): T["color"][K]; []>(param: [...K]): { [Index in keyof K]: T["color"][K[Index] & keyof T["color"]]; }; }; export declare const useThemeColor: UseThemeColor; //#endregion //#region src/components/ModalBase/ModalBase.d.ts type OnBeforeHideInterface = { shouldShowMessage: boolean; message: string; }; type ModalBaseContentProps = { /** * Class name applied to the modal root */ className?: string | undefined; /** * Render the modal initially in shown state */ initialShownState?: boolean; /** * The modal can be dismissed via esc button */ isDismissible?: boolean; /** * Callback invoked before the modal is hidden */ onBeforeHide?: (() => OnBeforeHideInterface) | undefined; /** * Callback invoked when the modal is dismissed */ onHide?: ((...args: unknown[]) => unknown) | undefined; /** * Callback invoked when the modal is shown */ onShow?: ((...args: unknown[]) => unknown) | undefined; /** * Optional function that exposes the `hide` function at the call site allowing * the option to call the `hide` function from outside of this component */ render?: (attemptHide: () => unknown) => ReactNode; /** * function(show, ref) that returns a node to open the modal */ toggle?: ((show: () => unknown, toggleButtonRef?: RefObject) => ReactNode) | undefined; }; export declare const ModalBase: FC; //#endregion //#region src/components/ActionModal/ActionModal.d.ts type ActionModalProps = ComponentPropsWithoutRef<"div"> & { /** * Horizontally align modal to the left, center, or right of the container */ alignHorizontal?: "center" | "left" | "normal" | "right"; /** * Vertically align modal to the top, center, or bottom of the container */ alignVertical?: "bottom" | "center" | "normal" | "top"; /** * Buttons to be shown at the bottom of the modal */ buttons?: ReactNode | ((hide: () => void) => ReactNode); /** * Contents of the modal */ children?: ReactNode; /** * Class to be applied to the base element of the modal */ className?: string; /** * A prop that determines whether the modal will span the entirety of the screen vertically */ fullHeight?: boolean; /** * Allows user to override default icon color */ closeIconColorOverride?: string; /** * Increase the zIndex of the Modal, this should be used when calling ActionModal from a Menu * this will prevent the Menu from staying above the ActionModal */ elevated?: boolean; /** * Optional illustration to display alongside the modal */ illustration?: ReactNode; /** * Background color that appears behind the optional illustration * Can be any css background color or "blue", "brandBlue", "green", * "pink", "purple", or "yellow" for theme colors */ illustrationBackgroundColor?: string; /** * Render the modal initially in shown state */ initialShownState?: boolean; /** * Allow the user to close the modal via x button or backdrop click */ isDismissible?: boolean; /** * Callback invoked before the modal is hidden */ onBeforeHide?: () => OnBeforeHideInterface; /** * Callback invoked when the modal is dismissed */ onHide?: () => void; /** * Callback invoked when the modal is shown */ onShow?: () => void; /** * Optional function that exposes the `hide` function at the call site allowing * the option to call the `hide` function from outside of this component */ render?: (hide: (event?: MouseEvent) => void) => ReactNode; /** * Title to display in the modal */ title: string; /** * function(show, ref) that returns a node to open the modal */ toggle?: (show: () => unknown, toggleButtonRef?: RefObject) => ReactNode; /** * The css width property of the modal. Ex - 'max-content', '532px', '100%', etc */ width?: string; }; /** * @deprecated Please use Modal component, see [documentation](?path=/docs/components-modal--docs). * * #### Why ActionModal is being deprecated * ActionModal's API tightly couples the modal itself with the button or element that toggles it. This makes it difficult to * implement in several scenarios (such as within a Menu) or if it needs to be programatically opened by an external action. * * [Modal](?path=/docs/components-modal--docs) allows for a separate state control to toggle its visibility and is also more composable * allowing for more variation. */ export declare const ActionModal: FC; //#endregion //#region src/components/Avatar/Avatar.d.ts type AvatarInstanceType = "image" | "initials"; type AvatarProps = ComponentPropsWithoutRef<"div"> & { /** * The height and width of the avatar */ heightAndWidth?: number; /** * The URL of the image to display */ imageUrl?: string | null; /** * Initials to display if no image is provided * * _note: only first initial shown regardless of characters provided_ */ initials?: string | null; /** * A string that will deterministicly set the background color of the avatar */ name?: string | null; /** * A callback that is invoked after the image has loaded or failed to load */ onImageLoad?: (avatarType: AvatarInstanceType) => void; }; export declare const Avatar: FC; //#endregion //#region src/components/Backdrop/Backdrop.d.ts declare const alignVerticalMap: { normal: string; top: string; center: string; bottom: string; }; declare const alignHorizontalMap: { normal: string; left: string; center: string; right: string; }; type BackdropProps = ComponentPropsWithoutRef<"div"> & { /** * Optional prop to align the child content along the horizontal axis */ alignHorizontal?: keyof typeof alignHorizontalMap; /** * Optional prop to align the child content along the vertical axis */ alignVertical?: keyof typeof alignVerticalMap; /** * Color of the backdrop */ backgroundColor?: string; /** * Pass an arbitrary child node */ children?: ReactNode; /** * increase the z-index (workaround for ActionModals called within Menu) */ elevated?: boolean; }; export declare const Backdrop: FC; //#endregion //#region src/components/BackgroundImage/BackgroundImage.d.ts type OverflowObject = { horizontal: string; vertical: string; }; type BackgroundImageProps = Omit, "src"> & { /** * The content that will be rendered inside */ children?: ReactNode; /** * Sets whether a background image's position is fixed within the viewport, * or scrolls with its containing block. [Read more](https://developer.mozilla.org/en-US/docs/Web/CSS/background-attachment). */ attachment?: string; /** * Sets whether an element's background extends underneath its border box, * padding box, or content box. [Read more](https://developer.mozilla.org/en-US/docs/Web/CSS/background-clip). */ clip?: string; /** * Color (as hex) of the component */ color?: string | undefined; /** * Height of the component */ height?: string; /** * Sets the background's origin: from the border start, inside the border, or inside the padding. * _Note: origin is ignored when attachment is `fixed`._ * [Read more](https://developer.mozilla.org/en-US/docs/Web/CSS/background-origin). */ origin?: string; /** * Sets the desired behavior for an element's overflow (i.e. when an element's content is * too big to fit in its block formatting context). * [Read more](https://developer.mozilla.org/en-US/docs/Web/CSS/overflow). */ overflow?: OverflowObject | string; /** * Sets the initial position for each image; relative to the position layer * set by origin. [Read more](https://developer.mozilla.org/en-US/docs/Web/CSS/background-position). */ position?: string; /** * Sets how background images are repeated. * [Read more](https://developer.mozilla.org/en-US/docs/Web/CSS/background-repeat). */ repeat?: string; /** * Sets the size of the element's background image. * [Read more](https://developer.mozilla.org/en-US/docs/Web/CSS/background-size). */ size?: string; /** * URL(s) to image file */ src?: string[] | string; /** * Width of the component */ width?: string; }; export declare const BackgroundImage: FC; //#endregion //#region src/components/Icon/iconMap.d.ts declare const iconMap: { "ab-test": string; "all-content": string; archived: string; "arrow-down": string; "arrow-left": string; "arrow-right": string; "arrow-up": string; asterisk: string; audience: string; calendar: string; camera: string; "caret-down": string; "caret-left": string; "caret-right": string; "caret-up": string; channel: string; checkmark: string; "checkmark-circle": string; "checkmark-circle-outline": string; "checkmark-circle-three-quarters": string; "checkmark-underlined": string; close: string; "close-circle": string; "collect-video": string; collection: string; comment: string; community: string; "contact-us": string; copy: string; "copy-disabled": string; create: string; delete: string; "delete-sm": string; "dottie-clock": string; download: string; draggable: string; edit: string; ellipsis: string; "ellipsis-vertical": string; embed: string; episodes: string; error: string; expand: string; export: string; favorite: string; "favorite-outline": string; filter: string; gear: string; "getting-started": string; globe: string; "grid-view": string; "group-record": string; hamburger: string; hazard: string; "help-center": string; hide: string; home: string; hourglass: string; import: string; info: string; integrations: string; invite: string; "invite-to-record": string; "lightning-bolt": string; link: string; "list-view": string; live: string; lock: string; logout: string; media: string; megaphone: string; "more-options": string; "open-new": string; overview: string; paint: string; pencil: string; play: string; playlist: string; podcast: string; preview: string; "private-user-sessions": string; project: string; "question-mark": string; react: string; record: string; redo: string; "remove-from-channel": string; replace: string; reply: string; "save-copy": string; scissors: string; search: string; send: string; settings: string; share: string; soapbox: string; sort: string; sparkle: string; spinner: string; stats: string; "switch-accounts": string; tag: string; team: string; "thumbs-down": string; "thumbs-up": string; triangle: string; undo: string; unlock: string; upload: string; "users-permissions": string; "view-stream": string; wand: string; "zoom-in": string; "zoom-out": string; }; type IconNameType = keyof typeof iconMap; //#endregion //#region src/components/Badge/Badge.d.ts type BadgeColorScheme = "brandBlue" | "error" | "green" | "grey" | "orange" | "pink" | "purple" | "red" | "success" | "warning" | "yellow"; type BadgeProps = ComponentPropsWithoutRef<"div"> & { /** * The color scheme to use for the badge */ colorScheme?: BadgeColorScheme; /** * The icon to display in the badge */ icon?: IconNameType; /** * The text to display in the badge */ label: string; }; export declare const Badge: FC; //#endregion //#region src/components/Banner/BannerChildComponents.d.ts type BodyProps = { children?: ReactNode; }; declare const Body: ({ children }: BodyProps) => JSX.Element; type TitleProps = { children?: ReactNode; }; declare const Title: ({ children }: TitleProps) => JSX.Element; type RightGutterProps = { children?: ReactNode; verticalAlign?: string; }; declare const RightGutter: ({ verticalAlign, children }: RightGutterProps) => JSX.Element; //#endregion //#region src/components/Banner/Banner.d.ts type BannerProps = ComponentPropsWithoutRef<"div"> & { /** * color string */ backgroundColor?: string; /** * Pass an arbitrary child node */ children?: ReactNode; /** * icon name from the icon library to be displayed on left side of banner */ icon?: ReactNode; }; export declare const Banner: FC & { Body: typeof Body; RightGutter: typeof RightGutter; Title: typeof Title; }; //#endregion //#region src/components/Box/Box.d.ts type Gap = { column: number | string; row: number | string; }; type BoxProps = ComponentPropsWithoutRef<"div"> & { /** * Specifies how the browser distributes space between and around * items along the cross-axis of their container; has no effect on * single line flexible boxes */ alignContent?: "around" | "between" | "center" | "end" | "start" | "stretch"; /** * Specifies how the browser distributes space between and around * items along the cross-axis of their container; the difference * to the alignContent prop is that alignItems specifies the * alignment of the items within the current container's line, * whereas alignContent specifies the alignment of the lines themselves */ alignItems?: "baseline" | "center" | "end" | "start" | "stretch"; /** * Specifies how the browser aligns items of the current line, overriding the * alignItems value of parent; if any of the item's cross-axis margin is set to auto, * then alignSelf is ignored * * *Note: only works for nested ``* */ alignSelf?: "auto" | "baseline" | "center" | "end" | "start" | "stretch"; /** * Specifies the initial main size of an item * * *Note: only works for nested ``* */ basis?: number | string; /** * Pass an arbitrary child node */ children?: ReactNode; /** * Specifies the main axis of the container */ direction?: "column-reverse" | "column" | "row-reverse" | "row"; /** * Specifies whether the width and/or height should fill the container */ fill?: boolean | "horizontal" | "vertical"; /** * Specifies whether the width and/or height should fill the viewport */ fillViewport?: boolean | "horizontal" | "vertical"; /** * Specifies the gaps (gutters) between rows and columns */ gap?: Gap | number | string; /** * Specifies what amount of space inside the flex container the item should take up * * *Note: only works for nested ``* */ grow?: number; /** * Make Layout behave like an inline element but still lay out its content according to flexbox model */ inline?: boolean; /** * Specifies how the browser distributes space between and around * items along the main axis of their container */ justifyContent?: "around" | "between" | "center" | "end" | "evenly" | "start"; /** * Specifies the order used to lay out an item in its container. Items within the same * container are rendered in ascending order according to their order values. * Elements with the _same_ order value are rendered in the order in which they appear in code * * *Note: only works for nested ``* */ order?: number | "inherit" | "initial" | "unset"; /** * The DOM tag to use for the element */ renderAs?: keyof JSX.IntrinsicElements; /** * Specifies how items will shrink inside the container when the default size of * items is larger than their container * * *Note: only works for nested ``* */ shrink?: number; /** * Specifies whether items are forced into a single line or can be wrapped onto multiple lines */ wrapItems?: boolean; }; export declare const Box: ForwardRefExoticComponent>; //#endregion //#region src/components/Button/Button.d.ts type TextAlignValues = "center" | "left" | "right"; type ButtonProps = ComponentPropsWithRef<"button"> & { /** * Text that appears inside of the button *THIS WILL OVERRIDE THE LABEL PROP* */ children?: ReactNode; /** * Allows user to override default button colors */ colorOverride?: string; /** * Disables button */ disabled?: boolean; /** * @ignore * Force a button into a particular css state (for debugging) */ forceState?: "active" | "focus" | "hover" | undefined; /** * Is the button full-width? */ fullWidth?: boolean; /** * An SVG component */ icon?: ReactNode; /** * The "type" name of a VHS icon. *THIS WILL OVERRIDE ANY ICON PROP PASSED* */ iconName?: keyof typeof iconMap; /** * Should the icon appear at the start of the button or the end? */ iconPosition?: "end" | "start"; /** * Show a spinner when the button is in a loading state */ isLoading?: boolean; /** * Text that appears inside the button */ label?: string; /** * Should the label wrap if the button container is too narrow to fit the label text on one line * @deprecated Apply white-space styling as needed */ labelWrap?: boolean; /** * Provides a button without any styling (useful for wrapping another element) */ noStyle?: boolean; /** * Callback function invoked when the button is clicked */ onClick?: ((event: MouseEvent) => ReactNode) | ((event: MouseEvent) => void) | undefined; /** * The size of button to display */ size?: "lg" | "md" | "sm"; /** * If true then rounded corners will be squared */ square?: boolean; /** * Alignment of the button label */ textAlign?: TextAlignValues; /** * The type of button element that should be rendered */ type?: "button" | "reset" | "submit"; /** * The visual type of button to display */ variant?: "dangerous" | "primary" | "secondary" | "tertiary"; }; export declare const Button: ForwardRefExoticComponent>; //#endregion //#region src/components/ButtonGroup/ButtonGroup.d.ts type ButtonGroupProps = ComponentPropsWithoutRef<"div"> & { /** * Align buttons to the left or right of their container */ align?: "center" | "left" | "right"; /** * Buttons that will be rendered in grouping */ children?: ReactNode; /** * Force ButtonGroup to fill the width of it's container */ fullWidth?: boolean; }; export declare const ButtonGroup: FC; //#endregion //#region src/components/ButtonLink/ButtonLink.d.ts type ButtonLinkProps = ComponentPropsWithRef<"a"> & { /** * A Promise to invoke before navigating to location. * _Caution: if used with `external` type prop a new window will **not** be opened_ */ beforeAction?: (() => Promise) | (() => void); /** * The content that will be rendered inside the button */ children?: ReactNode; /** * Option CSS color string */ colorOverride?: string; /** * Disables Link */ disabled?: boolean; /** * @ignore * Force a Link into a particular css state (for debugging) */ forceState?: "active" | "focus" | "hover"; /** * Is the button full-width? */ fullWidth?: boolean; /** * The entity to link to (url, email address, telephone number) */ href: string; /** * An SVG component */ icon?: ReactNode; /** * The "type" name of a VHS icon. *THIS WILL OVERRIDE ANY ICON PROP PASSED* */ iconName?: keyof typeof iconMap; /** * Should the icon appear at the start of the button or the end? */ iconPosition?: "end" | "start"; /** * Text that appears inside the button */ label?: string; /** * Should the label wrap if the button container is too narrow to fit the label text on one line */ labelWrap?: boolean; /** * An object that will be converted into a search parameter string and appended to * the `to` prop value */ params?: Record; /** * The size of button to display */ size?: "lg" | "md" | "sm"; /** * If true, rounded corners are disabled */ square?: boolean; /** * Alignment of the button label */ textAlign?: TextAlignValues; /** * Type of link to display * * * `email` creates a mailto * * `phone` creates a telephone number * * `external` will open links in a new window */ type?: "default" | "email" | "external" | "phone"; /** * The visual type of button to display */ variant?: "dangerous" | "primary" | "secondary" | "tertiary"; }; /** * The `ButtonLink` component is useful for getting the functionality of a * `Link` with the styling of a `Button`. * * A useful heuristic for using this component: Do you have an `href`? Some of the advantages are having a right-click * context menu available opening a new tab, and copying the URL. * * **Note:** the props table below is incomplete; please * refer to [Link](?path=/docs/link--link-stories) for additional props. */ export declare const ButtonLink: ForwardRefExoticComponent>; //#endregion //#region src/components/Checkbox/Checkbox.d.ts type CheckboxProps = Omit, "onChange"> & { /** * Indicates the state of the checkbox */ checked?: boolean; /** * Should the radio buttons be displayed vertically as a column or horizontally as a row */ direction?: "column" | "row"; /** * Disables checkbox */ disabled?: boolean; /** * @ignore * Force a Checkbox into a particular css state (for debugging) */ forceState?: "focus" | "hover"; /** * Indicates that there is an error with the input */ hasError?: boolean; /** * Provides an ID for the checkbox */ id?: string; /** * The label for the checkbox */ label?: JSX.Element | string | undefined; /** * The description for the checkbox */ labelDescription?: JSX.Element | string | undefined; /** * Should match the ID attribute of the checkbox. * Can be used to group together multiple checkboxes */ name?: string; /** * Callback function invoked when the checkbox value changes */ onChange?: (event: ChangeEvent) => void; /** * Make Input a required element */ required?: boolean; /** * The value attribute of the checkbox */ value?: string; }; export declare const Checkbox: ForwardRefExoticComponent>; //#endregion //#region src/components/CheckboxGroup/CheckboxGroup.d.ts type CheckboxPropsWithName = Omit & { name: string; }; type CheckboxGroupProps = Omit, "onChange"> & { /** * Should the radio buttons be displayed vertically as a column or horizontally as a row */ direction?: "column" | "row"; /** * Whether CheckboxGroup is disabled */ disabled?: boolean; /** * Error message to be displayed */ error?: string | undefined; /** * The label for the form field */ label?: JSX.Element | string | undefined; /** * The hint/helper text under the label */ labelDescription?: JSX.Element | string | undefined; /** * Props that are passed through to the underlying `