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

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`). */
@@ -722,12 +724,14 @@ declare function SearchField({ label, value, onChange, className, ...rest }: Sea
722
724
 
723
725
  interface ListGroupProps extends HTMLAttributes<HTMLUListElement> {
724
726
  children: ReactNode;
727
+ /** Heading over the group. Also names the list to a screen reader. */
728
+ label?: ReactNode;
725
729
  }
726
730
  /**
727
731
  * Card-styled list container for ListItems.
728
732
  *
729
733
  * ```tsx
730
- * <ListGroup>
734
+ * <ListGroup label="Account">
731
735
  * <ListItem
732
736
  * title="Profile"
733
737
  * description="Name, avatar"
@@ -738,7 +742,7 @@ interface ListGroupProps extends HTMLAttributes<HTMLUListElement> {
738
742
  * </ListGroup>
739
743
  * ```
740
744
  */
741
- declare function ListGroup({ className, ...rest }: ListGroupProps): ReactElement;
745
+ declare function ListGroup({ label, className, ...rest }: ListGroupProps): ReactElement;
742
746
  type ListItemSurface = "card" | "sunken" | "accent" | "plain";
743
747
  interface ListItemProps extends Omit<HTMLAttributes<HTMLElement>, "title" | "onClick"> {
744
748
  title: ReactNode;
@@ -749,6 +753,10 @@ interface ListItemProps extends Omit<HTMLAttributes<HTMLElement>, "title" | "onC
749
753
  trailing?: ReactNode;
750
754
  /** Makes the whole row a button. */
751
755
  onClick?: () => void;
756
+ /** Marks an onClick row as a toggle — a picker row that selects rather than
757
+ navigates. Lands as aria-pressed on the row button itself, where the
758
+ screen reader's focus is. Leave unset for rows that navigate. */
759
+ pressed?: boolean;
752
760
  /** Makes the whole row a link. Wins over onClick. */
753
761
  href?: string;
754
762
  /** What the row paints behind itself. Inside a ListGroup the group is the
@@ -763,7 +771,7 @@ interface ListItemProps extends Omit<HTMLAttributes<HTMLElement>, "title" | "onC
763
771
  * One row. Static by default; interactive as one whole-row button/link.
764
772
  * An `<li>` inside a ListGroup, a standalone `<div>` row anywhere else.
765
773
  */
766
- declare function ListItem({ title, description, leading, trailing, onClick, href, surface, className, ...rest }: ListItemProps): ReactElement;
774
+ declare function ListItem({ title, description, leading, trailing, onClick, pressed, href, surface, className, ...rest }: ListItemProps): ReactElement;
767
775
 
768
776
  interface EmptyStateProps {
769
777
  title: string;
@@ -840,6 +848,12 @@ interface ToastContextValue {
840
848
  declare function useToast(): ToastContextValue;
841
849
  interface ToastProviderProps {
842
850
  children: ReactNode;
851
+ /** Accessible name of the notification region (localise). Default "Notifications". */
852
+ regionLabel?: string | undefined;
853
+ /** Prefix of each dismiss button's accessible name (localise). The toast's
854
+ * title follows it, so every dismiss control names its own toast. Default
855
+ * "Dismiss" — a button labelled "Dismiss: Saved". */
856
+ dismissLabel?: string | undefined;
843
857
  }
844
858
  /**
845
859
  * Mount once near the root. Renders the notification region itself.
@@ -855,7 +869,7 @@ interface ToastProviderProps {
855
869
  * toast({ title: "Saved", tone: "success" });
856
870
  * ```
857
871
  */
858
- declare function ToastProvider({ children }: ToastProviderProps): ReactElement;
872
+ declare function ToastProvider({ children, regionLabel, dismissLabel, }: ToastProviderProps): ReactElement;
859
873
 
860
874
  type StackGap = "hairline" | "tight" | "base" | "loose" | "section";
861
875
  type StackAlign = "start" | "center" | "end" | "stretch";
@@ -926,11 +940,15 @@ interface ContainerProps extends HTMLAttributes<HTMLElement> {
926
940
  */
927
941
  declare function Container({ width, as, className, ...rest }: ContainerProps): ReactElement;
928
942
 
929
- type CardVariant = "card" | "raised";
943
+ type CardVariant = "card" | "raised" | "sunken";
930
944
  interface CardProps extends Omit<HTMLAttributes<HTMLElement>, "onClick"> {
931
945
  children: ReactNode;
932
- /** card = flat on border, raised = elevated. Default "card". */
946
+ /** card = flat on border, raised = elevated, sunken = recessed fill for
947
+ secondary tiles. Default "card". */
933
948
  variant?: CardVariant;
949
+ /** Accent border — marks the card out from its neighbours (a pinned post,
950
+ the active choice) without changing its surface. */
951
+ emphasis?: boolean;
934
952
  /** Makes the whole card a button. */
935
953
  onClick?: () => void;
936
954
  /** Makes the whole card a link. Wins over onClick. */
@@ -950,7 +968,7 @@ interface CardProps extends Omit<HTMLAttributes<HTMLElement>, "onClick"> {
950
968
  * <Card href="/items/42" variant="flat">…</Card>
951
969
  * ```
952
970
  */
953
- declare function Card({ children, variant, onClick, href, className, ...rest }: CardProps): ReactElement;
971
+ declare function Card({ children, variant, emphasis, onClick, href, className, ...rest }: CardProps): ReactElement;
954
972
  type CardSectionProps = HTMLAttributes<HTMLDivElement>;
955
973
  /** Top slot — title row, media, tabs. */
956
974
  declare function CardHeader({ className, ...rest }: CardSectionProps): ReactElement;
@@ -966,6 +984,8 @@ interface ModalProps {
966
984
  label: string;
967
985
  /** Scrim click dismisses. Default true. */
968
986
  closeOnScrimClick?: boolean;
987
+ /** alertdialog interrupts — ConfirmDialog sets it. Default "dialog". */
988
+ role?: "dialog" | "alertdialog";
969
989
  children: ReactNode;
970
990
  }
971
991
  /**
@@ -980,7 +1000,7 @@ interface ModalProps {
980
1000
  * </Modal>
981
1001
  * ```
982
1002
  */
983
- declare function Modal({ open, onClose, label, closeOnScrimClick, children }: ModalProps): react.JSX.Element;
1003
+ declare function Modal({ open, onClose, label, closeOnScrimClick, role, children }: ModalProps): react.JSX.Element;
984
1004
  declare function ModalHeader({ children }: {
985
1005
  children: ReactNode;
986
1006
  }): react.JSX.Element;
@@ -1012,9 +1032,18 @@ interface SheetProps {
1012
1032
  * ```
1013
1033
  */
1014
1034
  declare function Sheet({ open, onClose, label, closeOnScrimClick, children }: SheetProps): react.JSX.Element;
1015
- declare function SheetHeader({ children }: {
1035
+ type SheetHeaderProps = {
1016
1036
  children: ReactNode;
1017
- }): react.JSX.Element;
1037
+ } & ({
1038
+ /** Renders a close button after the title. Wire it to the sheet's own onClose. */
1039
+ onClose: () => void;
1040
+ /** Accessible name of the close button (localise). */
1041
+ closeLabel: string;
1042
+ } | {
1043
+ onClose?: undefined;
1044
+ closeLabel?: undefined;
1045
+ });
1046
+ declare function SheetHeader({ children, onClose, closeLabel }: SheetHeaderProps): react.JSX.Element;
1018
1047
  declare function SheetBody({ children }: {
1019
1048
  children: ReactNode;
1020
1049
  }): react.JSX.Element;
@@ -1022,33 +1051,61 @@ declare function SheetFooter({ children }: {
1022
1051
  children: ReactNode;
1023
1052
  }): react.JSX.Element;
1024
1053
 
1025
- interface ConfirmDialogProps {
1026
- open: boolean;
1027
- onClose: () => void;
1028
- onConfirm: () => void;
1054
+ type ConfirmDialogTone = "default" | "danger" | "warning";
1055
+ interface ConfirmDialogProps<T = void> {
1056
+ /** The row in question, or null when nothing is being asked. Held by the
1057
+ caller — only it knows which row was tapped — and handed back to
1058
+ `onConfirm`, so the action runs against the row the user actually saw. */
1059
+ target?: T | null;
1060
+ /** Defaults to "there is a row in question"; pass it directly for a
1061
+ one-off prompt that has no row. */
1062
+ open?: boolean;
1063
+ /** Cancel, or the action having landed. Clear the row here. */
1064
+ onClose?: () => void;
1065
+ /** The action, given the row it was asked about. Return the promise the
1066
+ write is riding on — typically `mutateAsync(...)` — and do not catch:
1067
+ a handled rejection resolves, and a resolved action is
1068
+ indistinguishable from a write that landed. Typed as a promise so
1069
+ fire-and-forget is a type error rather than a prompt that closes on
1070
+ the click. */
1071
+ onConfirm?: (target: T) => Promise<unknown>;
1072
+ /** Short question, e.g. "Delete session?" */
1029
1073
  title: string;
1030
- description?: string | undefined;
1074
+ /** Consequence explained in a sentence or two. */
1075
+ description?: ReactNode;
1031
1076
  confirmLabel: string;
1032
- cancelLabel?: string | undefined;
1033
- /** Style the confirm action as destructive. */
1034
- danger?: boolean | undefined;
1077
+ /** @default "Cancel" */
1078
+ cancelLabel?: string;
1079
+ /** Styles the confirm action: danger for destructive, warning for
1080
+ consequential-but-recoverable. */
1081
+ tone?: ConfirmDialogTone;
1082
+ /** How to phrase a failure, given the error's own message. Defaults to
1083
+ that message — supply this rather than catching inside `onConfirm`,
1084
+ so the copy stays with the caller. */
1085
+ errorMessage?: (message: string) => string;
1035
1086
  }
1036
1087
  /**
1037
- * Pre-composed Modal for the confirm/cancel pattern.
1088
+ * A binary confirm/cancel prompt for consequential actions. role="alertdialog"
1089
+ * so assistive tech announces it and holds focus until the user decides.
1090
+ *
1091
+ * The prompt owns everything downstream of the tap: it stays busy until
1092
+ * `onConfirm` settles, closes only once the write has landed, and keeps
1093
+ * itself up with the reason shown if it fails. Callers supply the question,
1094
+ * not the mechanics.
1038
1095
  *
1039
1096
  * ```tsx
1040
1097
  * <ConfirmDialog
1041
- * open={open}
1042
- * onClose={() => setOpen(false)}
1043
- * onConfirm={deleteItem}
1044
- * title="Delete item?"
1098
+ * target={asked}
1099
+ * onClose={() => setAsked(null)}
1100
+ * onConfirm={(row) => remove.mutateAsync(row.id)}
1101
+ * title="Delete session?"
1045
1102
  * description="This cannot be undone."
1046
1103
  * confirmLabel="Delete"
1047
- * danger
1104
+ * tone="danger"
1048
1105
  * />
1049
1106
  * ```
1050
1107
  */
1051
- declare function ConfirmDialog({ open, onClose, onConfirm, title, description, confirmLabel, cancelLabel, danger, }: ConfirmDialogProps): react.JSX.Element;
1108
+ declare function ConfirmDialog<T = void>({ target, open, onClose, onConfirm, title, description, confirmLabel, cancelLabel, tone, errorMessage, }: ConfirmDialogProps<T>): react.JSX.Element;
1052
1109
 
1053
1110
  /**
1054
1111
  * Page scaffold. Compose:
@@ -1060,17 +1117,36 @@ declare function ConfirmDialog({ open, onClose, onConfirm, title, description, c
1060
1117
  * <TabBar label="Primary">…</TabBar>
1061
1118
  * </Screen>
1062
1119
  * ```
1120
+ *
1121
+ * Fills the height its host gives it — the app root, a device frame, a
1122
+ * `flex: 1; min-height: 0` slot — rather than claiming the viewport itself:
1123
+ * on iOS the software keyboard shrinks the visual viewport without shrinking
1124
+ * 100dvh, so only the host can know the real height. A standalone app gives
1125
+ * the root chain `height: 100%`.
1063
1126
  */
1064
1127
  declare function Screen({ children }: {
1065
1128
  children: ReactNode;
1066
1129
  }): react.JSX.Element;
1067
- /** The scrollable main region of a Screen. */
1068
- declare function ScreenContent({ children }: {
1130
+ interface ScreenContentProps extends HTMLAttributes<HTMLElement> {
1069
1131
  children: ReactNode;
1070
- }): react.JSX.Element;
1132
+ /** Drop the page gutter — full-bleed lists whose rows carry their own
1133
+ padding. Default keeps it: forms and prose want the margin. */
1134
+ flush?: boolean;
1135
+ /** The scrolling element. A screen that drives the scroll — restores an
1136
+ offset on back, pins a thread to the bottom — has no other way to reach
1137
+ it. Read it; restyling it is the sheet's job. */
1138
+ ref?: Ref<HTMLElement>;
1139
+ }
1140
+ /** The scrollable main region of a Screen. */
1141
+ declare function ScreenContent({ children, flush, className, ref, ...rest }: ScreenContentProps): react.JSX.Element;
1071
1142
 
1072
1143
  interface AppBarProps {
1073
- title?: string | undefined;
1144
+ /** Page heading — rendered as the h1. A node is allowed for titles that
1145
+ are themselves a control (e.g. a thread title that opens the event). */
1146
+ title?: ReactNode;
1147
+ /** Second line under the title — a member count, a status. Kept out of
1148
+ the h1 so the accessible page name stays just the title. */
1149
+ subtitle?: ReactNode;
1074
1150
  /** Left slot — typically a back icon-only Button. */
1075
1151
  leading?: ReactNode;
1076
1152
  /** Right slot — actions. */
@@ -1090,7 +1166,7 @@ interface AppBarProps {
1090
1166
  * />
1091
1167
  * ```
1092
1168
  */
1093
- declare function AppBar({ title, leading, trailing }: AppBarProps): react.JSX.Element;
1169
+ declare function AppBar({ title, subtitle, leading, trailing }: AppBarProps): react.JSX.Element;
1094
1170
 
1095
1171
  interface TabBarProps {
1096
1172
  /** Accessible name of the navigation landmark. */
@@ -1116,8 +1192,20 @@ interface TabBarItemProps {
1116
1192
  href?: string | undefined;
1117
1193
  onClick?: MouseEventHandler | undefined;
1118
1194
  active?: boolean | undefined;
1195
+ /** Attention dot on the icon — unread, pending. Boolean only: the count
1196
+ lives on the destination screen, the bar just says "something's there". */
1197
+ badge?: boolean | undefined;
1198
+ }
1199
+ declare function TabBarItem({ label, icon, href, onClick, active, badge }: TabBarItemProps): react.JSX.Element;
1200
+ interface TabBarActionProps {
1201
+ /** Names the action — icon-only, so this is all a screen reader gets. */
1202
+ label: string;
1203
+ icon: ReactNode;
1204
+ onClick?: MouseEventHandler | undefined;
1119
1205
  }
1120
- declare function TabBarItem({ label, icon, href, onClick, active }: TabBarItemProps): react.JSX.Element;
1206
+ /** Raised center action (a create button). Place it between the item halves:
1207
+ it is a peer child, and the bar's flex layout leaves it its own width. */
1208
+ declare function TabBarAction({ label, icon, onClick }: TabBarActionProps): react.JSX.Element;
1121
1209
 
1122
1210
  interface UseOverlayOptions {
1123
1211
  open: boolean;
@@ -1197,4 +1285,4 @@ interface RovingGroupOptions {
1197
1285
  */
1198
1286
  declare function useRovingGroup(ref: RefObject<HTMLElement | null>, { selector, orientation }: RovingGroupOptions): (event: KeyboardEvent<HTMLElement>) => void;
1199
1287
 
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 };
1288
+ 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 };