@mond-design-system/react 1.0.0-alpha.3 → 1.0.0-alpha.5

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.cts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as react from 'react';
2
- import { CSSProperties, HTMLAttributes, JSX, ReactElement, ReactNode, ButtonHTMLAttributes, ElementType, Ref, AnchorHTMLAttributes, MouseEventHandler, InputHTMLAttributes, TextareaHTMLAttributes, SelectHTMLAttributes, RefObject, KeyboardEvent } from 'react';
2
+ import { CSSProperties, HTMLAttributes, JSX, ReactElement, ReactNode, ButtonHTMLAttributes, ElementType, Ref, ComponentPropsWithoutRef, MouseEventHandler, InputHTMLAttributes, TextareaHTMLAttributes, SelectHTMLAttributes, RefObject, KeyboardEvent } from 'react';
3
3
 
4
4
  /**
5
5
  * Join class names, dropping anything falsy.
@@ -120,7 +120,7 @@ interface IconProps extends HTMLAttributes<HTMLSpanElement> {
120
120
  /** A glyph from the app-registered set, sized on the core scale. */
121
121
  declare function Icon({ name, size, label, className, ...rest }: IconProps): ReactElement;
122
122
 
123
- type ButtonVariant = "primary" | "secondary" | "ghost" | "danger" | "highlight";
123
+ type ButtonVariant = "primary" | "secondary" | "ghost" | "danger" | "warning" | "highlight";
124
124
  type ButtonSize = "sm" | "md" | "lg";
125
125
  interface ButtonBaseProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, "type"> {
126
126
  variant?: ButtonVariant;
@@ -160,7 +160,7 @@ declare function Button({ variant, size, iconLeft, iconRight, loading, disabled,
160
160
 
161
161
  type LinkVariant = "inline" | "standalone" | "plain";
162
162
  type LinkSize = "xs" | "sm" | "base" | "lg" | "xl";
163
- interface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
163
+ type LinkOwnProps<E extends ElementType> = {
164
164
  /** inline = underlined, lives in running text. standalone = nav/action link.
165
165
  plain = inherits the surrounding color and weight, underlines on hover —
166
166
  for links whose context already marks them (a card title, a list row). */
@@ -169,10 +169,12 @@ interface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
169
169
  size?: LinkSize;
170
170
  /** Opens in a new tab with rel protection. */
171
171
  external?: boolean;
172
- /** Element override, e.g. a router's Link. */
173
- as?: ElementType;
174
- ref?: Ref<HTMLAnchorElement>;
175
- }
172
+ /** Element override — `'button'` for a link-styled action, or a router's
173
+ Link component, whose own props (`to`, `href`, …) then type-check. */
174
+ as?: E;
175
+ children?: ReactNode;
176
+ };
177
+ type LinkProps<E extends ElementType = "a"> = LinkOwnProps<E> & Omit<ComponentPropsWithoutRef<E>, keyof LinkOwnProps<E>>;
176
178
  /**
177
179
  * Text link. Inline links keep their underline: color alone fails WCAG 1.4.1
178
180
  * for links inside prose.
@@ -180,10 +182,10 @@ interface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
180
182
  * ```tsx
181
183
  * <Text>Read the <Link href="/terms">terms</Link>.</Text>
182
184
  * <Link variant="standalone" href="https://example.com" external>Docs</Link>
183
- * <Link as={NextLink} href="/about">About</Link>
185
+ * <Link as={RouterLink} to="/about">About</Link>
184
186
  * ```
185
187
  */
186
- declare function Link({ variant, size, external, as: Element, className, ...rest }: LinkProps): ReactElement;
188
+ declare function Link<E extends ElementType = "a">({ variant, size, external, as, ...rest }: LinkProps<E>): ReactElement;
187
189
 
188
190
  type AvatarSize = "xs" | "sm" | "md" | "lg" | "xl";
189
191
  /** One of the five brand identity tints (`--mds-avatar-tone-1..5`). */
@@ -683,6 +685,9 @@ interface SegmentedControlProps<T extends string = string> {
683
685
  onChange: (value: T) => void;
684
686
  /** Disables the whole control — e.g. a choice locked while editing. */
685
687
  disabled?: boolean;
688
+ /** Stretch across the container, segments sharing the width equally —
689
+ the usual shape when the control heads a screen-wide view switch. */
690
+ fullWidth?: boolean;
686
691
  className?: string;
687
692
  }
688
693
  /**
@@ -701,7 +706,7 @@ interface SegmentedControlProps<T extends string = string> {
701
706
  * />
702
707
  * ```
703
708
  */
704
- declare function SegmentedControl<T extends string = string>({ label, options, value, onChange, disabled, className, }: SegmentedControlProps<T>): ReactElement;
709
+ declare function SegmentedControl<T extends string = string>({ label, options, value, onChange, disabled, fullWidth, className, }: SegmentedControlProps<T>): ReactElement;
705
710
 
706
711
  interface SearchFieldProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "type" | "size" | "value" | "onChange"> {
707
712
  /** Accessible name. */
@@ -722,12 +727,14 @@ declare function SearchField({ label, value, onChange, className, ...rest }: Sea
722
727
 
723
728
  interface ListGroupProps extends HTMLAttributes<HTMLUListElement> {
724
729
  children: ReactNode;
730
+ /** Heading over the group. Also names the list to a screen reader. */
731
+ label?: ReactNode;
725
732
  }
726
733
  /**
727
734
  * Card-styled list container for ListItems.
728
735
  *
729
736
  * ```tsx
730
- * <ListGroup>
737
+ * <ListGroup label="Account">
731
738
  * <ListItem
732
739
  * title="Profile"
733
740
  * description="Name, avatar"
@@ -738,7 +745,7 @@ interface ListGroupProps extends HTMLAttributes<HTMLUListElement> {
738
745
  * </ListGroup>
739
746
  * ```
740
747
  */
741
- declare function ListGroup({ className, ...rest }: ListGroupProps): ReactElement;
748
+ declare function ListGroup({ label, className, ...rest }: ListGroupProps): ReactElement;
742
749
  type ListItemSurface = "card" | "sunken" | "accent" | "plain";
743
750
  interface ListItemProps extends Omit<HTMLAttributes<HTMLElement>, "title" | "onClick"> {
744
751
  title: ReactNode;
@@ -749,6 +756,10 @@ interface ListItemProps extends Omit<HTMLAttributes<HTMLElement>, "title" | "onC
749
756
  trailing?: ReactNode;
750
757
  /** Makes the whole row a button. */
751
758
  onClick?: () => void;
759
+ /** Marks an onClick row as a toggle — a picker row that selects rather than
760
+ navigates. Lands as aria-pressed on the row button itself, where the
761
+ screen reader's focus is. Leave unset for rows that navigate. */
762
+ pressed?: boolean;
752
763
  /** Makes the whole row a link. Wins over onClick. */
753
764
  href?: string;
754
765
  /** What the row paints behind itself. Inside a ListGroup the group is the
@@ -763,7 +774,7 @@ interface ListItemProps extends Omit<HTMLAttributes<HTMLElement>, "title" | "onC
763
774
  * One row. Static by default; interactive as one whole-row button/link.
764
775
  * An `<li>` inside a ListGroup, a standalone `<div>` row anywhere else.
765
776
  */
766
- declare function ListItem({ title, description, leading, trailing, onClick, href, surface, className, ...rest }: ListItemProps): ReactElement;
777
+ declare function ListItem({ title, description, leading, trailing, onClick, pressed, href, surface, className, ...rest }: ListItemProps): ReactElement;
767
778
 
768
779
  interface EmptyStateProps {
769
780
  title: string;
@@ -840,6 +851,12 @@ interface ToastContextValue {
840
851
  declare function useToast(): ToastContextValue;
841
852
  interface ToastProviderProps {
842
853
  children: ReactNode;
854
+ /** Accessible name of the notification region (localise). Default "Notifications". */
855
+ regionLabel?: string | undefined;
856
+ /** Prefix of each dismiss button's accessible name (localise). The toast's
857
+ * title follows it, so every dismiss control names its own toast. Default
858
+ * "Dismiss" — a button labelled "Dismiss: Saved". */
859
+ dismissLabel?: string | undefined;
843
860
  }
844
861
  /**
845
862
  * Mount once near the root. Renders the notification region itself.
@@ -855,7 +872,7 @@ interface ToastProviderProps {
855
872
  * toast({ title: "Saved", tone: "success" });
856
873
  * ```
857
874
  */
858
- declare function ToastProvider({ children }: ToastProviderProps): ReactElement;
875
+ declare function ToastProvider({ children, regionLabel, dismissLabel, }: ToastProviderProps): ReactElement;
859
876
 
860
877
  type StackGap = "hairline" | "tight" | "base" | "loose" | "section";
861
878
  type StackAlign = "start" | "center" | "end" | "stretch";
@@ -926,11 +943,15 @@ interface ContainerProps extends HTMLAttributes<HTMLElement> {
926
943
  */
927
944
  declare function Container({ width, as, className, ...rest }: ContainerProps): ReactElement;
928
945
 
929
- type CardVariant = "card" | "raised";
946
+ type CardVariant = "card" | "raised" | "sunken";
930
947
  interface CardProps extends Omit<HTMLAttributes<HTMLElement>, "onClick"> {
931
948
  children: ReactNode;
932
- /** card = flat on border, raised = elevated. Default "card". */
949
+ /** card = flat on border, raised = elevated, sunken = recessed fill for
950
+ secondary tiles. Default "card". */
933
951
  variant?: CardVariant;
952
+ /** Accent border — marks the card out from its neighbours (a pinned post,
953
+ the active choice) without changing its surface. */
954
+ emphasis?: boolean;
934
955
  /** Makes the whole card a button. */
935
956
  onClick?: () => void;
936
957
  /** Makes the whole card a link. Wins over onClick. */
@@ -950,7 +971,7 @@ interface CardProps extends Omit<HTMLAttributes<HTMLElement>, "onClick"> {
950
971
  * <Card href="/items/42" variant="flat">…</Card>
951
972
  * ```
952
973
  */
953
- declare function Card({ children, variant, onClick, href, className, ...rest }: CardProps): ReactElement;
974
+ declare function Card({ children, variant, emphasis, onClick, href, className, ...rest }: CardProps): ReactElement;
954
975
  type CardSectionProps = HTMLAttributes<HTMLDivElement>;
955
976
  /** Top slot — title row, media, tabs. */
956
977
  declare function CardHeader({ className, ...rest }: CardSectionProps): ReactElement;
@@ -966,6 +987,8 @@ interface ModalProps {
966
987
  label: string;
967
988
  /** Scrim click dismisses. Default true. */
968
989
  closeOnScrimClick?: boolean;
990
+ /** alertdialog interrupts — ConfirmDialog sets it. Default "dialog". */
991
+ role?: "dialog" | "alertdialog";
969
992
  children: ReactNode;
970
993
  }
971
994
  /**
@@ -980,7 +1003,7 @@ interface ModalProps {
980
1003
  * </Modal>
981
1004
  * ```
982
1005
  */
983
- declare function Modal({ open, onClose, label, closeOnScrimClick, children }: ModalProps): react.JSX.Element;
1006
+ declare function Modal({ open, onClose, label, closeOnScrimClick, role, children }: ModalProps): react.JSX.Element;
984
1007
  declare function ModalHeader({ children }: {
985
1008
  children: ReactNode;
986
1009
  }): react.JSX.Element;
@@ -1012,9 +1035,18 @@ interface SheetProps {
1012
1035
  * ```
1013
1036
  */
1014
1037
  declare function Sheet({ open, onClose, label, closeOnScrimClick, children }: SheetProps): react.JSX.Element;
1015
- declare function SheetHeader({ children }: {
1038
+ type SheetHeaderProps = {
1016
1039
  children: ReactNode;
1017
- }): react.JSX.Element;
1040
+ } & ({
1041
+ /** Renders a close button after the title. Wire it to the sheet's own onClose. */
1042
+ onClose: () => void;
1043
+ /** Accessible name of the close button (localise). */
1044
+ closeLabel: string;
1045
+ } | {
1046
+ onClose?: undefined;
1047
+ closeLabel?: undefined;
1048
+ });
1049
+ declare function SheetHeader({ children, onClose, closeLabel }: SheetHeaderProps): react.JSX.Element;
1018
1050
  declare function SheetBody({ children }: {
1019
1051
  children: ReactNode;
1020
1052
  }): react.JSX.Element;
@@ -1022,33 +1054,61 @@ declare function SheetFooter({ children }: {
1022
1054
  children: ReactNode;
1023
1055
  }): react.JSX.Element;
1024
1056
 
1025
- interface ConfirmDialogProps {
1026
- open: boolean;
1027
- onClose: () => void;
1028
- onConfirm: () => void;
1057
+ type ConfirmDialogTone = "default" | "danger" | "warning";
1058
+ interface ConfirmDialogProps<T = void> {
1059
+ /** The row in question, or null when nothing is being asked. Held by the
1060
+ caller — only it knows which row was tapped — and handed back to
1061
+ `onConfirm`, so the action runs against the row the user actually saw. */
1062
+ target?: T | null;
1063
+ /** Defaults to "there is a row in question"; pass it directly for a
1064
+ one-off prompt that has no row. */
1065
+ open?: boolean;
1066
+ /** Cancel, or the action having landed. Clear the row here. */
1067
+ onClose?: () => void;
1068
+ /** The action, given the row it was asked about. Return the promise the
1069
+ write is riding on — typically `mutateAsync(...)` — and do not catch:
1070
+ a handled rejection resolves, and a resolved action is
1071
+ indistinguishable from a write that landed. Typed as a promise so
1072
+ fire-and-forget is a type error rather than a prompt that closes on
1073
+ the click. */
1074
+ onConfirm?: (target: T) => Promise<unknown>;
1075
+ /** Short question, e.g. "Delete session?" */
1029
1076
  title: string;
1030
- description?: string | undefined;
1077
+ /** Consequence explained in a sentence or two. */
1078
+ description?: ReactNode;
1031
1079
  confirmLabel: string;
1032
- cancelLabel?: string | undefined;
1033
- /** Style the confirm action as destructive. */
1034
- danger?: boolean | undefined;
1080
+ /** @default "Cancel" */
1081
+ cancelLabel?: string;
1082
+ /** Styles the confirm action: danger for destructive, warning for
1083
+ consequential-but-recoverable. */
1084
+ tone?: ConfirmDialogTone;
1085
+ /** How to phrase a failure, given the error's own message. Defaults to
1086
+ that message — supply this rather than catching inside `onConfirm`,
1087
+ so the copy stays with the caller. */
1088
+ errorMessage?: (message: string) => string;
1035
1089
  }
1036
1090
  /**
1037
- * Pre-composed Modal for the confirm/cancel pattern.
1091
+ * A binary confirm/cancel prompt for consequential actions. role="alertdialog"
1092
+ * so assistive tech announces it and holds focus until the user decides.
1093
+ *
1094
+ * The prompt owns everything downstream of the tap: it stays busy until
1095
+ * `onConfirm` settles, closes only once the write has landed, and keeps
1096
+ * itself up with the reason shown if it fails. Callers supply the question,
1097
+ * not the mechanics.
1038
1098
  *
1039
1099
  * ```tsx
1040
1100
  * <ConfirmDialog
1041
- * open={open}
1042
- * onClose={() => setOpen(false)}
1043
- * onConfirm={deleteItem}
1044
- * title="Delete item?"
1101
+ * target={asked}
1102
+ * onClose={() => setAsked(null)}
1103
+ * onConfirm={(row) => remove.mutateAsync(row.id)}
1104
+ * title="Delete session?"
1045
1105
  * description="This cannot be undone."
1046
1106
  * confirmLabel="Delete"
1047
- * danger
1107
+ * tone="danger"
1048
1108
  * />
1049
1109
  * ```
1050
1110
  */
1051
- declare function ConfirmDialog({ open, onClose, onConfirm, title, description, confirmLabel, cancelLabel, danger, }: ConfirmDialogProps): react.JSX.Element;
1111
+ declare function ConfirmDialog<T = void>({ target, open, onClose, onConfirm, title, description, confirmLabel, cancelLabel, tone, errorMessage, }: ConfirmDialogProps<T>): react.JSX.Element;
1052
1112
 
1053
1113
  /**
1054
1114
  * Page scaffold. Compose:
@@ -1060,17 +1120,36 @@ declare function ConfirmDialog({ open, onClose, onConfirm, title, description, c
1060
1120
  * <TabBar label="Primary">…</TabBar>
1061
1121
  * </Screen>
1062
1122
  * ```
1123
+ *
1124
+ * Fills the height its host gives it — the app root, a device frame, a
1125
+ * `flex: 1; min-height: 0` slot — rather than claiming the viewport itself:
1126
+ * on iOS the software keyboard shrinks the visual viewport without shrinking
1127
+ * 100dvh, so only the host can know the real height. A standalone app gives
1128
+ * the root chain `height: 100%`.
1063
1129
  */
1064
1130
  declare function Screen({ children }: {
1065
1131
  children: ReactNode;
1066
1132
  }): react.JSX.Element;
1067
- /** The scrollable main region of a Screen. */
1068
- declare function ScreenContent({ children }: {
1133
+ interface ScreenContentProps extends HTMLAttributes<HTMLElement> {
1069
1134
  children: ReactNode;
1070
- }): react.JSX.Element;
1135
+ /** Drop the page gutter — full-bleed lists whose rows carry their own
1136
+ padding. Default keeps it: forms and prose want the margin. */
1137
+ flush?: boolean;
1138
+ /** The scrolling element. A screen that drives the scroll — restores an
1139
+ offset on back, pins a thread to the bottom — has no other way to reach
1140
+ it. Read it; restyling it is the sheet's job. */
1141
+ ref?: Ref<HTMLElement>;
1142
+ }
1143
+ /** The scrollable main region of a Screen. */
1144
+ declare function ScreenContent({ children, flush, className, ref, ...rest }: ScreenContentProps): react.JSX.Element;
1071
1145
 
1072
1146
  interface AppBarProps {
1073
- title?: string | undefined;
1147
+ /** Page heading — rendered as the h1. A node is allowed for titles that
1148
+ are themselves a control (e.g. a thread title that opens the event). */
1149
+ title?: ReactNode;
1150
+ /** Second line under the title — a member count, a status. Kept out of
1151
+ the h1 so the accessible page name stays just the title. */
1152
+ subtitle?: ReactNode;
1074
1153
  /** Left slot — typically a back icon-only Button. */
1075
1154
  leading?: ReactNode;
1076
1155
  /** Right slot — actions. */
@@ -1090,7 +1169,7 @@ interface AppBarProps {
1090
1169
  * />
1091
1170
  * ```
1092
1171
  */
1093
- declare function AppBar({ title, leading, trailing }: AppBarProps): react.JSX.Element;
1172
+ declare function AppBar({ title, subtitle, leading, trailing }: AppBarProps): react.JSX.Element;
1094
1173
 
1095
1174
  interface TabBarProps {
1096
1175
  /** Accessible name of the navigation landmark. */
@@ -1116,8 +1195,20 @@ interface TabBarItemProps {
1116
1195
  href?: string | undefined;
1117
1196
  onClick?: MouseEventHandler | undefined;
1118
1197
  active?: boolean | undefined;
1198
+ /** Attention dot on the icon — unread, pending. Boolean only: the count
1199
+ lives on the destination screen, the bar just says "something's there". */
1200
+ badge?: boolean | undefined;
1201
+ }
1202
+ declare function TabBarItem({ label, icon, href, onClick, active, badge }: TabBarItemProps): react.JSX.Element;
1203
+ interface TabBarActionProps {
1204
+ /** Names the action — icon-only, so this is all a screen reader gets. */
1205
+ label: string;
1206
+ icon: ReactNode;
1207
+ onClick?: MouseEventHandler | undefined;
1119
1208
  }
1120
- declare function TabBarItem({ label, icon, href, onClick, active }: TabBarItemProps): react.JSX.Element;
1209
+ /** Raised center action (a create button). Place it between the item halves:
1210
+ it is a peer child, and the bar's flex layout leaves it its own width. */
1211
+ declare function TabBarAction({ label, icon, onClick }: TabBarActionProps): react.JSX.Element;
1121
1212
 
1122
1213
  interface UseOverlayOptions {
1123
1214
  open: boolean;
@@ -1197,4 +1288,4 @@ interface RovingGroupOptions {
1197
1288
  */
1198
1289
  declare function useRovingGroup(ref: RefObject<HTMLElement | null>, { selector, orientation }: RovingGroupOptions): (event: KeyboardEvent<HTMLElement>) => void;
1199
1290
 
1200
- export { AppBar, type AppBarProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, type AvatarSize, Badge, type BadgeProps, type BadgeTone, Button, type ButtonProps, type ButtonSize, type ButtonVariant, type CSSVars, Card, CardBody, CardFooter, CardHeader, type CardProps, type CardSectionProps, type CardVariant, Checkbox, type CheckboxProps, Chip, ChipBar, type ChipBarGap, type ChipBarProps, ChipGroup, type ChipGroupGap, type ChipGroupProps, type ChipProps, type ChipVariant, ConfirmDialog, type ConfirmDialogProps, Container, type ContainerProps, type ContainerWidth, CountButton, type CountButtonProps, type CountButtonTone, DateTimePicker, type DateTimePickerLabels, type DateTimePickerProps, Divider, type DividerProps, EmptyState, type EmptyStateProps, Field, type FieldContextValue, type FieldProps, Heading, type HeadingLevel, type HeadingProps, type HeadingTone, Icon, type IconProps, IconProvider, type IconProviderProps, type IconRender, type IconRenderProps, type IconSize, Inline, type InlineAlign, type InlineGap, type InlineJustify, type InlineProps, Input, type InputProps, type InputSize, Link, type LinkProps, type LinkVariant, ListGroup, type ListGroupProps, ListItem, type ListItemProps, Modal, ModalBody, ModalFooter, ModalHeader, type ModalProps, type OverlayHistory, OverlayHistoryContext, PasswordInput, type PasswordInputProps, type Presence, ProgressBar, type ProgressBarProps, Radio, type RadioProps, type RovingGroupOptions, Screen, ScreenContent, SearchField, type SearchFieldProps, type SegmentOption, SegmentedControl, type SegmentedControlProps, Select, type SelectProps, type SelectSize, Sheet, SheetBody, SheetFooter, SheetHeader, type SheetProps, Skeleton, type SkeletonProps, type SkeletonVariant, Spinner, type SpinnerProps, Stack, type StackAlign, type StackGap, type StackProps, Switch, type SwitchProps, Tab, TabBar, TabBarItem, type TabBarItemProps, type TabBarProps, TabList, type TabListProps, TabPanel, type TabPanelProps, type TabProps, Tabs, type TabsProps, Tag, type TagProps, type TagTone, Text, type TextProps, type TextTone, type TextVariant, Textarea, type TextareaProps, type ToastOptions, ToastProvider, type ToastProviderProps, type ToastTone, type UseOverlayOptions, cx, useFieldContext, useOverlay, usePresence, useRovingGroup, useToast };
1291
+ export { AppBar, type AppBarProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, type AvatarSize, Badge, type BadgeProps, type BadgeTone, Button, type ButtonProps, type ButtonSize, type ButtonVariant, type CSSVars, Card, CardBody, CardFooter, CardHeader, type CardProps, type CardSectionProps, type CardVariant, Checkbox, type CheckboxProps, Chip, ChipBar, type ChipBarGap, type ChipBarProps, ChipGroup, type ChipGroupGap, type ChipGroupProps, type ChipProps, type ChipVariant, ConfirmDialog, type ConfirmDialogProps, type ConfirmDialogTone, Container, type ContainerProps, type ContainerWidth, CountButton, type CountButtonProps, type CountButtonTone, DateTimePicker, type DateTimePickerLabels, type DateTimePickerProps, Divider, type DividerProps, EmptyState, type EmptyStateProps, Field, type FieldContextValue, type FieldProps, Heading, type HeadingLevel, type HeadingProps, type HeadingTone, Icon, type IconProps, IconProvider, type IconProviderProps, type IconRender, type IconRenderProps, type IconSize, Inline, type InlineAlign, type InlineGap, type InlineJustify, type InlineProps, Input, type InputProps, type InputSize, Link, type LinkProps, type LinkVariant, ListGroup, type ListGroupProps, ListItem, type ListItemProps, Modal, ModalBody, ModalFooter, ModalHeader, type ModalProps, type OverlayHistory, OverlayHistoryContext, PasswordInput, type PasswordInputProps, type Presence, ProgressBar, type ProgressBarProps, Radio, type RadioProps, type RovingGroupOptions, Screen, ScreenContent, type ScreenContentProps, SearchField, type SearchFieldProps, type SegmentOption, SegmentedControl, type SegmentedControlProps, Select, type SelectProps, type SelectSize, Sheet, SheetBody, SheetFooter, SheetHeader, type SheetProps, Skeleton, type SkeletonProps, type SkeletonVariant, Spinner, type SpinnerProps, Stack, type StackAlign, type StackGap, type StackProps, Switch, type SwitchProps, Tab, TabBar, TabBarAction, type TabBarActionProps, TabBarItem, type TabBarItemProps, type TabBarProps, TabList, type TabListProps, TabPanel, type TabPanelProps, type TabProps, Tabs, type TabsProps, Tag, type TagProps, type TagTone, Text, type TextProps, type TextTone, type TextVariant, Textarea, type TextareaProps, type ToastOptions, ToastProvider, type ToastProviderProps, type ToastTone, type UseOverlayOptions, cx, useFieldContext, useOverlay, usePresence, useRovingGroup, useToast };