banhatten-ui 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,806 @@
1
+ import * as React from 'react';
2
+ import * as class_variance_authority_types from 'class-variance-authority/types';
3
+ import { VariantProps } from 'class-variance-authority';
4
+ import * as react_jsx_runtime from 'react/jsx-runtime';
5
+ import * as TooltipPrimitive from '@radix-ui/react-tooltip';
6
+
7
+ declare const ColorPalette: React.FC;
8
+
9
+ declare const accordionTriggerVariants: (props?: ({
10
+ disabled?: boolean | null | undefined;
11
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
12
+ type AccordionType = "single" | "multiple";
13
+ interface AccordionProps extends React.HTMLAttributes<HTMLDivElement> {
14
+ /** "single" = one item open at a time; "multiple" = many. Default: "single". */
15
+ type?: AccordionType;
16
+ /** Controlled open value(s). "single" uses string; "multiple" uses string[]. */
17
+ value?: string | string[];
18
+ /** Default open value(s) when uncontrolled. */
19
+ defaultValue?: string | string[];
20
+ /** Called when open state changes. */
21
+ onValueChange?: (value: string | string[]) => void;
22
+ children: React.ReactNode;
23
+ }
24
+ declare const Accordion: React.ForwardRefExoticComponent<AccordionProps & React.RefAttributes<HTMLDivElement>>;
25
+ interface AccordionItemProps extends React.HTMLAttributes<HTMLDivElement> {
26
+ /** Unique value for this item (used for open state and accessibility). */
27
+ value: string;
28
+ /** When true, trigger and content use disabled styling and are not expandable. */
29
+ disabled?: boolean;
30
+ /** When true, a Divider is shown between the trigger and content when expanded. */
31
+ showDivider?: boolean;
32
+ children: React.ReactNode;
33
+ }
34
+ declare const AccordionItem: React.ForwardRefExoticComponent<AccordionItemProps & React.RefAttributes<HTMLDivElement>>;
35
+ interface AccordionTriggerProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "children">, Omit<VariantProps<typeof accordionTriggerVariants>, "disabled"> {
36
+ /** Optional icon or element shown to the left of the heading (e.g. info icon). */
37
+ iconLeft?: React.ReactNode;
38
+ /** Heading content (e.g. question text). */
39
+ children: React.ReactNode;
40
+ }
41
+ declare const AccordionTrigger: React.ForwardRefExoticComponent<AccordionTriggerProps & React.RefAttributes<HTMLButtonElement>>;
42
+ interface AccordionContentProps extends React.HTMLAttributes<HTMLDivElement> {
43
+ children: React.ReactNode;
44
+ }
45
+ declare const AccordionContent: React.ForwardRefExoticComponent<AccordionContentProps & React.RefAttributes<HTMLDivElement>>;
46
+
47
+ declare const iconVariants: (props?: ({
48
+ variant?: "outlined" | "rounded" | "sharp" | null | undefined;
49
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
50
+ declare const sizeMap: {
51
+ readonly xs: 12;
52
+ readonly sm: 16;
53
+ readonly md: 20;
54
+ readonly lg: 24;
55
+ readonly xl: 32;
56
+ };
57
+ type IconSize = keyof typeof sizeMap;
58
+ interface IconProps extends React.HTMLAttributes<HTMLSpanElement>, VariantProps<typeof iconVariants> {
59
+ /** Material Symbol name in snake_case (e.g. "home", "arrow_forward", "settings") */
60
+ name: string;
61
+ /** Size preset: xs (12px), sm (16px), md (20px), lg (24px), xl (32px). Default: md */
62
+ size?: IconSize;
63
+ /** Render the filled variant of the icon */
64
+ filled?: boolean;
65
+ /** Font weight: 100-700. Default: 400 */
66
+ weight?: number;
67
+ /** Grade: -25 to 200. Default: 0 */
68
+ grade?: number;
69
+ /** Accessible label. If omitted, the icon is treated as decorative (aria-hidden). */
70
+ label?: string;
71
+ }
72
+ declare const Icon: React.ForwardRefExoticComponent<IconProps & React.RefAttributes<HTMLSpanElement>>;
73
+
74
+ declare const alertVariants: (props?: ({
75
+ type?: "danger" | "info" | "success" | "warning" | "neutral" | null | undefined;
76
+ emphasis?: "medium" | "low" | "moderate" | "high" | null | undefined;
77
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
78
+ interface AlertAction {
79
+ /** Button label text */
80
+ label: string;
81
+ /** Click handler */
82
+ onClick: () => void;
83
+ }
84
+ interface AlertProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "title">, VariantProps<typeof alertVariants> {
85
+ /** Main title text displayed in the alert */
86
+ title: string;
87
+ /** Optional subtitle/description text (shown when expand=true) */
88
+ description?: string;
89
+ /** Action buttons (shown when expand=true). Rendered as link-style buttons. */
90
+ actions?: AlertAction[];
91
+ /** Callback fired when the close button is clicked */
92
+ onClose?: (event: React.MouseEvent<HTMLButtonElement>) => void;
93
+ /** Icon variant style. Default: "outlined" */
94
+ iconVariant?: IconProps["variant"];
95
+ /** Render filled variant of the status icon */
96
+ iconFilled?: boolean;
97
+ /** Expand to show description and action buttons */
98
+ expand?: boolean;
99
+ /** ARIA role. Default: "alert" for danger/warning, "status" for others */
100
+ role?: "alert" | "status";
101
+ }
102
+ declare const Alert: React.ForwardRefExoticComponent<AlertProps & React.RefAttributes<HTMLDivElement>>;
103
+
104
+ declare const avatarVariants: (props?: ({
105
+ shape?: "rounded" | "circle" | null | undefined;
106
+ size?: "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "4xl" | null | undefined;
107
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
108
+ type AvatarProps = React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof avatarVariants> & {
109
+ /** Initials to show (e.g. "AG", "A"). When provided, renders initials instead of the fallback icon. */
110
+ initials?: string;
111
+ /** Accessible name for the avatar (e.g. user name). Used for role="img" and aria-label. Required when the avatar conveys meaning. */
112
+ "aria-label"?: string;
113
+ /** Optional username shown beside the avatar (e.g. "Ahmed Galal"). Renders as primary text when provided. */
114
+ username?: string;
115
+ /** Optional supporting line below username (e.g. "View profile"). Renders as secondary text. */
116
+ supportingText?: string;
117
+ };
118
+ declare const Avatar: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & VariantProps<(props?: ({
119
+ shape?: "rounded" | "circle" | null | undefined;
120
+ size?: "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "4xl" | null | undefined;
121
+ } & class_variance_authority_types.ClassProp) | undefined) => string> & {
122
+ /** Initials to show (e.g. "AG", "A"). When provided, renders initials instead of the fallback icon. */
123
+ initials?: string;
124
+ /** Accessible name for the avatar (e.g. user name). Used for role="img" and aria-label. Required when the avatar conveys meaning. */
125
+ "aria-label"?: string;
126
+ /** Optional username shown beside the avatar (e.g. "Ahmed Galal"). Renders as primary text when provided. */
127
+ username?: string;
128
+ /** Optional supporting line below username (e.g. "View profile"). Renders as secondary text. */
129
+ supportingText?: string;
130
+ } & React.RefAttributes<HTMLDivElement>>;
131
+
132
+ /** Group size options: pixel values matching Figma. */
133
+ type AvatarGroupSize = "24" | "32" | "40";
134
+ type AvatarGroupItem = {
135
+ /** Initials for the avatar (e.g. "AG"). */
136
+ initials?: string;
137
+ /** Accessible name for the avatar. */
138
+ "aria-label"?: string;
139
+ };
140
+ type AvatarGroupProps = React.HTMLAttributes<HTMLDivElement> & {
141
+ /** Group avatar size: 24, 32, or 40 px. Default 32. */
142
+ size?: AvatarGroupSize;
143
+ /** When true, the first (leftmost) avatar is drawn on top. Default true. */
144
+ lastOnTop?: boolean;
145
+ /** When true, show a "+N" overflow indicator after visible avatars. Default false. */
146
+ moreAvatars?: boolean;
147
+ /** When true, show an Add More button after avatars (and overflow). Default false. */
148
+ addMore?: boolean;
149
+ /** List of avatars to show (initials and optional aria-label). No image support. */
150
+ avatars: AvatarGroupItem[];
151
+ /** Max number of avatars to show before "+N". Used when moreAvatars is true. Default 4. */
152
+ maxVisible?: number;
153
+ /** Called when the Add More button is clicked. Only relevant when addMore is true. */
154
+ onAddMore?: () => void;
155
+ };
156
+ declare const AvatarGroup: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
157
+ /** Group avatar size: 24, 32, or 40 px. Default 32. */
158
+ size?: AvatarGroupSize;
159
+ /** When true, the first (leftmost) avatar is drawn on top. Default true. */
160
+ lastOnTop?: boolean;
161
+ /** When true, show a "+N" overflow indicator after visible avatars. Default false. */
162
+ moreAvatars?: boolean;
163
+ /** When true, show an Add More button after avatars (and overflow). Default false. */
164
+ addMore?: boolean;
165
+ /** List of avatars to show (initials and optional aria-label). No image support. */
166
+ avatars: AvatarGroupItem[];
167
+ /** Max number of avatars to show before "+N". Used when moreAvatars is true. Default 4. */
168
+ maxVisible?: number;
169
+ /** Called when the Add More button is clicked. Only relevant when addMore is true. */
170
+ onAddMore?: () => void;
171
+ } & React.RefAttributes<HTMLDivElement>>;
172
+
173
+ declare const avatarProfileVariants: (props?: ({
174
+ shape?: "rounded" | "circle" | null | undefined;
175
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
176
+ type AvatarProfileProps = React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof avatarProfileVariants> & {
177
+ /** Avatar size. Passed through to the inner Avatar. */
178
+ size?: AvatarProps["size"];
179
+ /** Initials to display in the inner Avatar. */
180
+ initials?: AvatarProps["initials"];
181
+ /** Optional content for the top-right badge (e.g. edit icon). Use Icon from @banhatten/ui (Material Symbols); icons are forced to filled. */
182
+ topRight?: React.ReactNode;
183
+ /** Optional content for the bottom-right badge (e.g. status or verified icon). Use Icon from @banhatten/ui (Material Symbols); icons are forced to filled. */
184
+ bottomRight?: React.ReactNode;
185
+ };
186
+ declare const AvatarProfile: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & VariantProps<(props?: ({
187
+ shape?: "rounded" | "circle" | null | undefined;
188
+ } & class_variance_authority_types.ClassProp) | undefined) => string> & {
189
+ /** Avatar size. Passed through to the inner Avatar. */
190
+ size?: AvatarProps["size"];
191
+ /** Initials to display in the inner Avatar. */
192
+ initials?: AvatarProps["initials"];
193
+ /** Optional content for the top-right badge (e.g. edit icon). Use Icon from @banhatten/ui (Material Symbols); icons are forced to filled. */
194
+ topRight?: React.ReactNode;
195
+ /** Optional content for the bottom-right badge (e.g. status or verified icon). Use Icon from @banhatten/ui (Material Symbols); icons are forced to filled. */
196
+ bottomRight?: React.ReactNode;
197
+ } & React.RefAttributes<HTMLDivElement>>;
198
+
199
+ declare const badgeVariants: (props?: ({
200
+ variant?: "outlined" | "filled" | "light" | null | undefined;
201
+ color?: "danger" | "info" | "success" | "warning" | "neutral" | "brand" | null | undefined;
202
+ size?: "sm" | "lg" | null | undefined;
203
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
204
+ interface BadgeProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, "color">, VariantProps<typeof badgeVariants> {
205
+ /** Render a small status dot before the badge content */
206
+ withDot?: boolean;
207
+ /** Material Symbol name for left icon (e.g. "info", "check") */
208
+ leftIcon?: string;
209
+ /** Material Symbol name for right icon (e.g. "close", "chevron_right") */
210
+ rightIcon?: string;
211
+ /** Icon variant style. Default: "outlined" */
212
+ iconVariant?: IconProps["variant"];
213
+ /** Render filled variant of icons */
214
+ iconFilled?: boolean;
215
+ }
216
+ declare const Badge: React.ForwardRefExoticComponent<BadgeProps & React.RefAttributes<HTMLSpanElement>>;
217
+
218
+ declare const breadcrumbListVariants: (props?: ({
219
+ containerStyle?: "default" | "withBackground" | null | undefined;
220
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
221
+ declare const breadcrumbSeparatorVariants: (props?: ({
222
+ separator?: "slash" | "chevron" | null | undefined;
223
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
224
+ interface BreadcrumbProps extends React.HTMLAttributes<HTMLElement> {
225
+ }
226
+ declare const Breadcrumb: React.ForwardRefExoticComponent<BreadcrumbProps & React.RefAttributes<HTMLElement>>;
227
+ interface BreadcrumbListProps extends React.OlHTMLAttributes<HTMLOListElement>, VariantProps<typeof breadcrumbListVariants> {
228
+ }
229
+ declare const BreadcrumbList: React.ForwardRefExoticComponent<BreadcrumbListProps & React.RefAttributes<HTMLOListElement>>;
230
+ interface BreadcrumbListItemProps extends React.LiHTMLAttributes<HTMLLIElement> {
231
+ }
232
+ declare const BreadcrumbListItem: React.ForwardRefExoticComponent<BreadcrumbListItemProps & React.RefAttributes<HTMLLIElement>>;
233
+ interface BreadcrumbSeparatorProps extends React.HTMLAttributes<HTMLSpanElement>, VariantProps<typeof breadcrumbSeparatorVariants> {
234
+ }
235
+ declare const BreadcrumbSeparator: React.ForwardRefExoticComponent<BreadcrumbSeparatorProps & React.RefAttributes<HTMLSpanElement>>;
236
+
237
+ declare const breadcrumbItemVariants: (props?: ({
238
+ variant?: "iconOnly" | "iconText" | "overflow" | null | undefined;
239
+ state?: "default" | "active" | "disabled" | null | undefined;
240
+ overflowHover?: boolean | null | undefined;
241
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
242
+ interface BreadcrumbItemProps extends Omit<React.AnchorHTMLAttributes<HTMLAnchorElement> & React.HTMLAttributes<HTMLSpanElement>, "children">, VariantProps<typeof breadcrumbItemVariants> {
243
+ /** Visual style: icon with label, icon only, or overflow (ellipsis). */
244
+ variant?: "iconText" | "iconOnly" | "overflow";
245
+ /** Current page / active state. Renders as span with aria-current="page". */
246
+ active?: boolean;
247
+ /** Disabled state. Renders as span with aria-disabled="true". */
248
+ disabled?: boolean;
249
+ /** Material Symbol name (e.g. "home", "folder"). Ignored when variant="overflow"; overflow uses "more_horiz". */
250
+ icon?: string;
251
+ /** Label text. Shown when variant is "iconText". */
252
+ children?: React.ReactNode;
253
+ /** When provided, item renders as <a href="...">. Omit for current page or overflow trigger. */
254
+ href?: string;
255
+ }
256
+ declare const BreadcrumbItem: React.ForwardRefExoticComponent<BreadcrumbItemProps & React.RefAttributes<HTMLSpanElement | HTMLAnchorElement>>;
257
+
258
+ declare const buttonVariants: (props?: ({
259
+ variant?: "link" | "primary" | "secondary" | "tertiary" | "danger" | "link-brand" | null | undefined;
260
+ size?: "xs" | "md" | "lg" | "xl" | "2xl" | null | undefined;
261
+ iconOnly?: boolean | null | undefined;
262
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
263
+ interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
264
+ /** Render as child element instead of a `<button>`. Useful for Next.js `<Link>` or `<a>` tags. */
265
+ asChild?: boolean;
266
+ /** Material Symbol name for icon-only button (e.g. "close", "more_vert"). When provided, renders a square icon-only button. Requires `aria-label` for accessibility. */
267
+ icon?: string;
268
+ /** Material Symbol name for left icon (e.g. "arrow_back", "add") */
269
+ leftIcon?: string;
270
+ /** Material Symbol name for right icon (e.g. "arrow_forward", "chevron_right") */
271
+ rightIcon?: string;
272
+ /** Icon variant style. Default: "outlined" */
273
+ iconVariant?: IconProps["variant"];
274
+ /** Render filled variant of icons */
275
+ iconFilled?: boolean;
276
+ }
277
+ declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
278
+
279
+ declare const buttonGroupItemVariants: (props?: ({
280
+ size?: "small" | "medium" | null | undefined;
281
+ type?: "iconOnly" | "textAndIcon" | "textOnly" | null | undefined;
282
+ selected?: boolean | null | undefined;
283
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
284
+ interface ButtonGroupItemProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "type">, VariantProps<typeof buttonGroupItemVariants> {
285
+ /** Material Symbol name for left icon (e.g. "add"). Used when type is "textAndIcon". */
286
+ leftIcon?: string;
287
+ /** Material Symbol name for right icon (e.g. "chevron_right"). Used when type is "textAndIcon". */
288
+ rightIcon?: string;
289
+ /** Material Symbol name for icon-only item. Used when type is "iconOnly". Requires aria-label for accessibility. */
290
+ icon?: string;
291
+ /** When true, shows selected state (bg-brand-tertiary, text-brand, border). Sets aria-current="true". */
292
+ selected?: boolean;
293
+ /** Position inside a ButtonGroup. Middle items get no border rounding when selected. Set by ButtonGroup automatically. */
294
+ position?: "first" | "middle" | "last" | "only";
295
+ }
296
+ declare const ButtonGroupItem: React.ForwardRefExoticComponent<ButtonGroupItemProps & React.RefAttributes<HTMLButtonElement>>;
297
+
298
+ declare const buttonGroupVariants: (props?: class_variance_authority_types.ClassProp | undefined) => string;
299
+ type ButtonGroupSize = "small" | "medium";
300
+ interface ButtonGroupProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof buttonGroupVariants> {
301
+ /** ButtonGroupItem components. */
302
+ children: React.ReactNode;
303
+ /** Size of the group. Passed to each ButtonGroupItem so all items share the same size. Default: "medium". */
304
+ size?: ButtonGroupSize;
305
+ }
306
+ declare const ButtonGroup: React.ForwardRefExoticComponent<ButtonGroupProps & React.RefAttributes<HTMLDivElement>>;
307
+
308
+ declare const closeButtonVariants: (props?: ({
309
+ variant?: "outlined" | "ghost" | null | undefined;
310
+ size?: "sm" | "md" | "lg" | "xl" | null | undefined;
311
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
312
+ type CloseButtonProps = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "children"> & VariantProps<typeof closeButtonVariants> & {
313
+ /** Accessible name for the close action. Default: "Close" */
314
+ "aria-label"?: string;
315
+ /** Icon variant style. Default: "outlined" */
316
+ iconVariant?: IconProps["variant"];
317
+ /** Render filled variant of the icon */
318
+ iconFilled?: boolean;
319
+ };
320
+ declare const CloseButton: React.ForwardRefExoticComponent<Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "children"> & VariantProps<(props?: ({
321
+ variant?: "outlined" | "ghost" | null | undefined;
322
+ size?: "sm" | "md" | "lg" | "xl" | null | undefined;
323
+ } & class_variance_authority_types.ClassProp) | undefined) => string> & {
324
+ /** Accessible name for the close action. Default: "Close" */
325
+ "aria-label"?: string;
326
+ /** Icon variant style. Default: "outlined" */
327
+ iconVariant?: IconProps["variant"];
328
+ /** Render filled variant of the icon */
329
+ iconFilled?: boolean;
330
+ } & React.RefAttributes<HTMLButtonElement>>;
331
+
332
+ declare const dividerVariants: (props?: ({
333
+ orientation?: "horizontal" | "vertical" | null | undefined;
334
+ variant?: "dashed" | "solid" | null | undefined;
335
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
336
+ interface DividerProps extends React.HTMLAttributes<HTMLHRElement>, VariantProps<typeof dividerVariants> {
337
+ }
338
+ declare const Divider: React.ForwardRefExoticComponent<DividerProps & React.RefAttributes<HTMLHRElement>>;
339
+
340
+ declare const featuredIconVariants: (props?: ({
341
+ variant?: "circle-light" | "square-light" | "circle-pulse" | "solid-circle" | "solid-square" | null | undefined;
342
+ type?: "danger" | "success" | "warning" | "neutral" | "brand" | null | undefined;
343
+ size?: "sm" | "md" | "lg" | null | undefined;
344
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
345
+ interface FeaturedIconProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, "color">, VariantProps<typeof featuredIconVariants> {
346
+ /** Material Symbol name in snake_case (e.g. "info", "check_circle", "warning") */
347
+ name: string;
348
+ /** Accessible label when the icon conveys meaning. If omitted, treated as decorative (aria-hidden). */
349
+ label?: string;
350
+ }
351
+ declare const FeaturedIcon: React.ForwardRefExoticComponent<FeaturedIconProps & React.RefAttributes<HTMLSpanElement>>;
352
+
353
+ declare const progressBarTrackVariants: (props?: ({
354
+ size?: "sm" | "lg" | null | undefined;
355
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
356
+ declare const progressBarFillVariants: (props?: ({
357
+ color?: "danger" | "info" | "success" | "neutral" | "brand" | null | undefined;
358
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
359
+ interface ProgressBarProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "children" | "color">, VariantProps<typeof progressBarTrackVariants>, VariantProps<typeof progressBarFillVariants> {
360
+ /** Progress value 0–100. Omit for indeterminate (animated) state. */
361
+ value?: number;
362
+ /** Optional label above the bar (e.g. "Label (Optional)"). */
363
+ label?: React.ReactNode;
364
+ /** Optional info icon shown next to the label. */
365
+ showLabelInfoIcon?: boolean;
366
+ /** Optional helper text below the bar. */
367
+ helperText?: React.ReactNode;
368
+ /** Whether to show the numeric value (e.g. "40%") beside the bar. */
369
+ showValue?: boolean;
370
+ /** Callback for the optional refresh icon button. When set, a refresh icon is shown next to the value. */
371
+ onRefresh?: () => void;
372
+ /** Accessible name for the progress bar when no visible label is provided. */
373
+ "aria-label"?: string;
374
+ }
375
+ declare const ProgressBar: React.ForwardRefExoticComponent<ProgressBarProps & React.RefAttributes<HTMLDivElement>>;
376
+
377
+ declare const menuItemVariants: (props?: ({
378
+ disabled?: boolean | null | undefined;
379
+ active?: boolean | null | undefined;
380
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
381
+ type MenuItemType = "default" | "multiline" | "callToAction" | "progress";
382
+ interface MenuItemProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "children" | "type">, Omit<VariantProps<typeof menuItemVariants>, "disabled"> {
383
+ /** Menu item type. Default: "default". */
384
+ type?: MenuItemType;
385
+ /** When true, shows selected/current state (bg-brand-tertiary, text-brand). Sets aria-current="page". Default: false. */
386
+ active?: boolean;
387
+ /** Primary content (e.g. "Text item"). */
388
+ children?: React.ReactNode;
389
+ /** Supporting text below primary (multiline / callToAction). */
390
+ supportingText?: React.ReactNode;
391
+ /** Material Symbol name for left icon (e.g. "add"). */
392
+ leftIcon?: string;
393
+ /** Material Symbol name for right icon (e.g. "chevron_right"). */
394
+ rightIcon?: string;
395
+ /** Avatar slot (use Avatar component). */
396
+ avatar?: React.ReactNode;
397
+ /** Badge slot (use Badge component). */
398
+ badge?: React.ReactNode;
399
+ /** Show switch; use with switchChecked and onSwitchChange. */
400
+ showSwitch?: boolean;
401
+ /** Controlled switch state. */
402
+ switchChecked?: boolean;
403
+ /** Switch change handler. */
404
+ onSwitchChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
405
+ /** Supporting text on the right (default / multiline). */
406
+ textRight?: React.ReactNode;
407
+ /** CTA button slot (use Button; for type="callToAction"). */
408
+ cta?: React.ReactNode;
409
+ /** Progress type: label above the bar. */
410
+ progressLabel?: React.ReactNode;
411
+ /** Progress type: value 0–100. */
412
+ progressValue?: number;
413
+ }
414
+ declare const MenuItem: React.ForwardRefExoticComponent<MenuItemProps & React.RefAttributes<HTMLButtonElement>>;
415
+
416
+ declare const menuHeadingVariants: (props?: class_variance_authority_types.ClassProp | undefined) => string;
417
+ interface MenuHeadingProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof menuHeadingVariants> {
418
+ /** Heading content (e.g. "Section header"). */
419
+ children?: React.ReactNode;
420
+ }
421
+ declare const MenuHeading: React.ForwardRefExoticComponent<MenuHeadingProps & React.RefAttributes<HTMLDivElement>>;
422
+
423
+ declare const menuGroupVariants: (props?: class_variance_authority_types.ClassProp | undefined) => string;
424
+ interface MenuGroupProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof menuGroupVariants> {
425
+ /** Optional section label (e.g. <MenuHeading>Section header</MenuHeading>). At most one. */
426
+ heading?: React.ReactNode;
427
+ /** One or more menu items (e.g. MenuItem). */
428
+ children: React.ReactNode;
429
+ /** When provided with heading, set on the heading wrapper for role="group" aria-labelledby. */
430
+ headingId?: string;
431
+ }
432
+ declare const MenuGroup: React.ForwardRefExoticComponent<MenuGroupProps & React.RefAttributes<HTMLDivElement>>;
433
+
434
+ declare const menuVariants: (props?: class_variance_authority_types.ClassProp | undefined) => string;
435
+ interface MenuProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof menuVariants> {
436
+ /** One or more MenuGroup components. Dividers are inserted between each child. */
437
+ children: React.ReactNode;
438
+ }
439
+ declare const Menu: React.ForwardRefExoticComponent<MenuProps & React.RefAttributes<HTMLDivElement>>;
440
+
441
+ declare const sidebarMenuItemVariants: (props?: ({
442
+ disabled?: boolean | null | undefined;
443
+ active?: boolean | null | undefined;
444
+ collapsed?: boolean | null | undefined;
445
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
446
+ interface SidebarMenuItemProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "children" | "type">, Omit<VariantProps<typeof sidebarMenuItemVariants>, "disabled"> {
447
+ /** When true, shows selected/current state. Sets aria-current="page". Default: false. */
448
+ active?: boolean;
449
+ /** When true, shows icon only (for collapsed sidebar). Default: false. */
450
+ collapsed?: boolean;
451
+ /** Label (e.g. "Dashboard"). Omitted visually when collapsed; use aria-label when collapsed for accessibility. */
452
+ children?: React.ReactNode;
453
+ /** Material Symbol name for left icon (e.g. "dashboard"). When omitted, no icon is shown. */
454
+ leftIcon?: string;
455
+ /** SidebarSubmenuItem children. When present, a chevron is shown and the item expands/collapses vertically. */
456
+ submenu?: React.ReactNode;
457
+ /** Controlled expanded state for submenu. */
458
+ expanded?: boolean;
459
+ /** Called when submenu expand/collapse is toggled (only when submenu is provided). */
460
+ onExpandedChange?: (expanded: boolean) => void;
461
+ /** Default expanded state for submenu when uncontrolled. Default: false. */
462
+ defaultExpanded?: boolean;
463
+ }
464
+ declare const SidebarMenuItem: React.ForwardRefExoticComponent<SidebarMenuItemProps & React.RefAttributes<HTMLButtonElement>>;
465
+
466
+ declare const sidebarSubmenuItemVariants: (props?: ({
467
+ disabled?: boolean | null | undefined;
468
+ active?: boolean | null | undefined;
469
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
470
+ interface SidebarSubmenuItemProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "children" | "type">, Omit<VariantProps<typeof sidebarSubmenuItemVariants>, "disabled"> {
471
+ /** When true, shows selected/current state. Sets aria-current="page". Default: false. */
472
+ active?: boolean;
473
+ /** Label (e.g. "Submenu Item"). */
474
+ children?: React.ReactNode;
475
+ }
476
+ declare const SidebarSubmenuItem: React.ForwardRefExoticComponent<SidebarSubmenuItemProps & React.RefAttributes<HTMLButtonElement>>;
477
+
478
+ declare const sidebarAccountCardVariants: (props?: ({
479
+ selected?: boolean | null | undefined;
480
+ collapsed?: boolean | null | undefined;
481
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
482
+ interface SidebarAccountCardProps extends React.HTMLAttributes<HTMLDivElement>, Omit<VariantProps<typeof sidebarAccountCardVariants>, "collapsed"> {
483
+ /** User display name (e.g. "Ahmed Galal"). Passed to Avatar as username. */
484
+ username: string;
485
+ /** Supporting line below name (e.g. "Free plan"). Passed to Avatar as supportingText. */
486
+ supportingText?: string;
487
+ /** Initials for Avatar when no image (e.g. "AG"). Optional. */
488
+ initials?: string;
489
+ /** Accessible name for the avatar (e.g. user name). Passed to Avatar aria-label. */
490
+ "aria-label"?: string;
491
+ /** Material Symbol name for right icon (e.g. "unfold_more", "more_vert"). */
492
+ rightIcon?: string;
493
+ /** When true, shows selected/active state (light background). Default: false. */
494
+ selected?: boolean;
495
+ /** When true, shows avatar only (e.g. collapsed sidebar). Default from SidebarContext when inside Sidebar. */
496
+ collapsed?: boolean;
497
+ }
498
+ declare const SidebarAccountCard: React.ForwardRefExoticComponent<SidebarAccountCardProps & React.RefAttributes<HTMLDivElement>>;
499
+
500
+ declare const sidebarVariants: (props?: ({
501
+ collapsed?: boolean | null | undefined;
502
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
503
+ interface SidebarContextValue {
504
+ collapsed: boolean;
505
+ }
506
+ declare const SidebarContext: React.Context<SidebarContextValue | null>;
507
+ declare function useSidebarContext(): SidebarContextValue | null;
508
+ interface SidebarProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof sidebarVariants> {
509
+ /** Header content (e.g. logo). Rendered at top; collapse toggle shown only when collapsible. */
510
+ header?: React.ReactNode;
511
+ /** Main content (SidebarMenuItem, SidebarSubmenuItem). Scrollable. */
512
+ children?: React.ReactNode;
513
+ /** Footer content (e.g. Settings, Help, SidebarAccountCard). Rendered at bottom. */
514
+ footer?: React.ReactNode;
515
+ /** When true, sidebar can be collapsed via header toggle. Default: false (expanded only, no button). */
516
+ collapsible?: boolean;
517
+ /** When true, sidebar is collapsed (icon-only). Only used when collapsible. Default: false. */
518
+ collapsed?: boolean;
519
+ /** Called when collapse toggle in header is clicked. Only used when collapsible. */
520
+ onCollapsedChange?: (collapsed: boolean) => void;
521
+ /** Default collapsed state when uncontrolled. Only used when collapsible. Default: false. */
522
+ defaultCollapsed?: boolean;
523
+ }
524
+ declare const Sidebar: React.ForwardRefExoticComponent<SidebarProps & React.RefAttributes<HTMLDivElement>>;
525
+
526
+ declare const inputWrapperVariants: (props?: ({
527
+ size?: "sm" | "md" | "lg" | null | undefined;
528
+ error?: boolean | null | undefined;
529
+ disabled?: boolean | null | undefined;
530
+ focused?: boolean | null | undefined;
531
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
532
+ type InputPreset = "user" | "email" | "password" | "date" | "amount" | "description" | "search";
533
+ interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "size">, Omit<VariantProps<typeof inputWrapperVariants>, "disabled" | "focused"> {
534
+ /** Label text displayed above the input */
535
+ label?: string;
536
+ /** Whether the field is optional (displays "(Optional)" next to label) */
537
+ optional?: boolean;
538
+ /** Helper text displayed below the input */
539
+ helperText?: string;
540
+ /** Material Symbol name for helper text icon (e.g., "error", "info") */
541
+ helperTextIcon?: string;
542
+ /** Error message displayed below the input (overrides helperText when present) */
543
+ errorMessage?: string;
544
+ /** Maximum character count (displays counter outside input, aligned with top) */
545
+ maxLength?: number;
546
+ /** Current character count (if not provided, calculated from value length) */
547
+ characterCount?: number;
548
+ /** Material Symbol name for left icon (e.g., "search", "email") */
549
+ leftIcon?: string;
550
+ /** Material Symbol name for right icon (e.g., "visibility", "close") */
551
+ rightIcon?: string;
552
+ /** Icon variant style. Default: "outlined" */
553
+ iconVariant?: IconProps["variant"];
554
+ /** Render filled variant of icons */
555
+ iconFilled?: boolean;
556
+ /** Preset configuration that sets icons, type, and behaviors automatically */
557
+ preset?: InputPreset;
558
+ }
559
+ declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
560
+
561
+ declare const textareaWrapperVariants: (props?: ({
562
+ error?: boolean | null | undefined;
563
+ disabled?: boolean | null | undefined;
564
+ focused?: boolean | null | undefined;
565
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
566
+ interface TextAreaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement>, Omit<VariantProps<typeof textareaWrapperVariants>, "disabled" | "focused"> {
567
+ /** Label text displayed above the textarea */
568
+ label?: string;
569
+ /** Whether the field is optional (displays "(Optional)" next to label) */
570
+ optional?: boolean;
571
+ /** Helper text displayed below the textarea */
572
+ helperText?: string;
573
+ /** Material Symbol name for helper text icon (e.g., "error", "info") */
574
+ helperTextIcon?: string;
575
+ /** Error message displayed below the textarea (overrides helperText when present) */
576
+ errorMessage?: string;
577
+ /** Maximum character count (displays counter outside textarea, aligned with top) */
578
+ maxLength?: number;
579
+ /** Current character count (if not provided, calculated from value length) */
580
+ characterCount?: number;
581
+ /** Icon variant style. Default: "outlined" */
582
+ iconVariant?: IconProps["variant"];
583
+ /** Render filled variant of icons */
584
+ iconFilled?: boolean;
585
+ }
586
+ declare const TextArea: React.ForwardRefExoticComponent<TextAreaProps & React.RefAttributes<HTMLTextAreaElement>>;
587
+
588
+ interface CheckboxProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "size" | "type"> {
589
+ /** Label text displayed next to the checkbox */
590
+ label?: string;
591
+ /** Support text displayed below the label */
592
+ supportText?: string;
593
+ /** Position of the checkbox relative to the label. Default: "leading" */
594
+ checkboxPosition?: "leading" | "trailing";
595
+ /** Whether the checkbox is in an indeterminate state */
596
+ indeterminate?: boolean;
597
+ }
598
+ declare const Checkbox: React.ForwardRefExoticComponent<CheckboxProps & React.RefAttributes<HTMLInputElement>>;
599
+
600
+ interface CheckboxCardProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "size" | "type"> {
601
+ /** Label text displayed in the card */
602
+ label: string;
603
+ /** Description text displayed below the label */
604
+ description?: string;
605
+ /** Material Symbol name for the card icon (e.g. "person", "settings") */
606
+ icon?: string;
607
+ /** Icon variant style. Default: "outlined" */
608
+ iconVariant?: IconProps["variant"];
609
+ /** Render filled variant of icon */
610
+ iconFilled?: boolean;
611
+ /** Position of the checkbox relative to the content. Default: "trailing" */
612
+ checkboxPosition?: "leading" | "trailing";
613
+ /** Whether the checkbox is in an indeterminate state */
614
+ indeterminate?: boolean;
615
+ }
616
+ declare const CheckboxCard: React.ForwardRefExoticComponent<CheckboxCardProps & React.RefAttributes<HTMLInputElement>>;
617
+
618
+ interface RadioProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "size" | "type"> {
619
+ /** Label text displayed next to the radio */
620
+ label?: string;
621
+ /** Support text displayed below the label */
622
+ supportText?: string;
623
+ /** Position of the radio relative to the label. Default: "leading" */
624
+ radioPosition?: "leading" | "trailing";
625
+ }
626
+ declare const Radio: React.ForwardRefExoticComponent<RadioProps & React.RefAttributes<HTMLInputElement>>;
627
+
628
+ interface RadioCardProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "size" | "type"> {
629
+ /** Label text displayed in the card */
630
+ label: string;
631
+ /** Description text displayed below the label */
632
+ description?: string;
633
+ /** Material Symbol name for the card icon (e.g. "person", "settings") */
634
+ icon?: string;
635
+ /** Icon variant style. Default: "outlined" */
636
+ iconVariant?: IconProps["variant"];
637
+ /** Render filled variant of icon */
638
+ iconFilled?: boolean;
639
+ /** Position of the radio relative to the content. Default: "trailing" */
640
+ radioPosition?: "leading" | "trailing";
641
+ }
642
+ declare const RadioCard: React.ForwardRefExoticComponent<RadioCardProps & React.RefAttributes<HTMLInputElement>>;
643
+
644
+ declare const tagVariants: (props?: ({
645
+ type?: "simple" | "with-dot" | "with-icon" | null | undefined;
646
+ state?: "default" | "active" | "disabled" | "focus" | null | undefined;
647
+ size?: "small" | "large" | null | undefined;
648
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
649
+ interface TagProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, "color">, VariantProps<typeof tagVariants> {
650
+ /** Material Symbol name for left icon when type is "with-icon" (e.g. "calendar_month", "info"). Default: "calendar_month" */
651
+ leftIcon?: string;
652
+ /** Icon variant style. Default: "outlined" */
653
+ iconVariant?: IconProps["variant"];
654
+ /** Render filled variant of icons */
655
+ iconFilled?: boolean;
656
+ /** Whether to show a close button on the right */
657
+ close?: boolean;
658
+ /** Callback fired when the close button is clicked */
659
+ onClose?: (event: React.MouseEvent<HTMLButtonElement>) => void;
660
+ }
661
+ declare const Tag: React.ForwardRefExoticComponent<TagProps & React.RefAttributes<HTMLSpanElement>>;
662
+
663
+ declare const toggleVariants: (props?: ({
664
+ size?: "sm" | "md" | null | undefined;
665
+ active?: boolean | null | undefined;
666
+ disabled?: boolean | null | undefined;
667
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
668
+ declare const thumbVariants: (props?: ({
669
+ size?: "sm" | "md" | null | undefined;
670
+ disabled?: boolean | null | undefined;
671
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
672
+ interface ToggleProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "size" | "type" | "children"> {
673
+ /** Label text displayed next to the toggle */
674
+ label?: string;
675
+ /** Support text displayed below the label */
676
+ supportText?: string;
677
+ /** Position of the toggle relative to the label. Default: "trailing" */
678
+ togglePosition?: "leading" | "trailing";
679
+ /** Size of the toggle. Default: "md" */
680
+ size?: "sm" | "md";
681
+ /** When true, shows a check icon when on and a close icon when off */
682
+ withIcon?: boolean;
683
+ }
684
+ declare const Toggle: React.ForwardRefExoticComponent<ToggleProps & React.RefAttributes<HTMLInputElement>>;
685
+
686
+ /** Fixed 24×24px per Figma; no size variant. */
687
+ declare const sliderHandleCircleVariants: (props?: class_variance_authority_types.ClassProp | undefined) => string;
688
+ interface SliderHandleProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "children"> {
689
+ /** Value to show as tooltip or label (e.g. "0%"). When set with labelVariant, shows above or below the handle. */
690
+ valueLabel?: React.ReactNode;
691
+ /** How to show the value: "tooltip" (hover) or "label" (always visible). Omitted when valueLabel is not set. */
692
+ labelVariant?: "tooltip" | "label";
693
+ /** Position of tooltip or label relative to the circle. Default: "below" */
694
+ labelPosition?: "above" | "below";
695
+ /** Force visual state for display (e.g. docs). Omit for interactive :hover/:active. */
696
+ state?: "default" | "hover" | "active";
697
+ }
698
+ declare const SliderHandle: React.ForwardRefExoticComponent<SliderHandleProps & React.RefAttributes<HTMLDivElement>>;
699
+
700
+ /**
701
+ * Slider — Figma node 4306:225189
702
+ * Single-node: one handle, fill from 0 to value.
703
+ * Double-node: two handles, fill between start and end.
704
+ * Progress bar (large size) as track. Tokens only.
705
+ */
706
+ type SliderVariant = "single" | "double";
707
+ interface SliderPropsBase extends Omit<React.HTMLAttributes<HTMLDivElement>, "children" | "onChange" | "defaultValue" | "value"> {
708
+ variant?: SliderVariant;
709
+ label?: React.ReactNode;
710
+ showLabelInfoIcon?: boolean;
711
+ helperText?: React.ReactNode;
712
+ valueLabelVariant?: "tooltip" | "label";
713
+ valueLabelPosition?: "above" | "below";
714
+ formatValue?: (value: number) => string;
715
+ min?: number;
716
+ max?: number;
717
+ step?: number;
718
+ disabled?: boolean;
719
+ "aria-label"?: string;
720
+ }
721
+ interface SliderSingleProps extends SliderPropsBase {
722
+ variant?: "single";
723
+ value?: number;
724
+ defaultValue?: number;
725
+ onChange?: (value: number) => void;
726
+ }
727
+ interface SliderDoubleProps extends SliderPropsBase {
728
+ variant: "double";
729
+ value?: [number, number];
730
+ defaultValue?: [number, number];
731
+ onChange?: (value: [number, number]) => void;
732
+ }
733
+ type SliderProps = SliderSingleProps | SliderDoubleProps;
734
+ declare const Slider: React.ForwardRefExoticComponent<SliderProps & React.RefAttributes<HTMLDivElement>>;
735
+
736
+ /**
737
+ * Visual specifications (tokens from packages/tokens/src/tokens.json)
738
+ *
739
+ * ── Shared (all variants) ──
740
+ * Rounding: rounded-sm → radius.sm → 8px
741
+ * Typography: text-xs, leading-5 (body copy)
742
+ *
743
+ * ── Variant: dark ──
744
+ * Background: bg-always-dark
745
+ * Text: text-on-color
746
+ * Subtitle: text-on-color → alias → brand.neutral-25 → #ffffff
747
+ * Arrow fill: fill-primary-inverse
748
+ *
749
+ * ── Variant: light ──
750
+ * Background: bg-primary → alias → brand.neutral-25 → #ffffff
751
+ * Text: text-primary → alias → brand.neutral-800 → #1f242e
752
+ * Subtitle: text-on-color-inverse → alias → brand.neutral-700 → #3a424d
753
+ * Shadow: shadow-sm → shadow.sm
754
+ * Arrow fill: fill-white → #ffffff
755
+ *
756
+ * ── Size: small ──
757
+ * Padding: px-md py-sm → spacing.md (0.75rem / 12px) horizontal, spacing.sm (0.5rem / 8px) vertical
758
+ *
759
+ * ── Size: large ──
760
+ * Padding: px-md py-md → spacing.md (0.75rem / 12px) horizontal, spacing.md (0.75rem / 12px) vertical
761
+ * Gap (title ↔ subtitle): gap-xs → spacing.xs → 0.25rem / 4px
762
+ */
763
+ declare const tooltipContentVariants: (props?: ({
764
+ size?: "small" | "large" | null | undefined;
765
+ variant?: "dark" | "light" | null | undefined;
766
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
767
+ interface TooltipContentProps extends React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>, VariantProps<typeof tooltipContentVariants> {
768
+ /** Single-line content (size="small") */
769
+ children?: React.ReactNode;
770
+ /** Title text (size="large") */
771
+ title?: string;
772
+ /** Subtitle text (size="large") */
773
+ subtitle?: string;
774
+ /** When false, the arrow/pointer is not rendered. Default: true */
775
+ showArrow?: boolean;
776
+ }
777
+ declare const TooltipContent: React.ForwardRefExoticComponent<TooltipContentProps & React.RefAttributes<HTMLDivElement>>;
778
+ declare const TooltipTrigger: React.ForwardRefExoticComponent<TooltipPrimitive.TooltipTriggerProps & React.RefAttributes<HTMLButtonElement>>;
779
+ declare const TooltipProvider: React.FC<TooltipPrimitive.TooltipProviderProps>;
780
+ interface TooltipProps extends Omit<React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Root>, "content"> {
781
+ /** Trigger element (must accept a ref) */
782
+ children: React.ReactNode;
783
+ /** Single-line content (size="small") */
784
+ content?: React.ReactNode;
785
+ /** Title text (size="large") */
786
+ title?: string;
787
+ /** Subtitle text (size="large") */
788
+ subtitle?: string;
789
+ /** Small: single text line. Large: title + subtitle. Auto-inferred from title/subtitle when omitted. */
790
+ size?: "small" | "large";
791
+ /** Dark: inverse bg/text. Light: primary bg/text + shadow. */
792
+ variant?: "dark" | "light";
793
+ /** Which side of the trigger the tooltip appears on. Arrow adjusts automatically. Default: "bottom". */
794
+ side?: "top" | "bottom" | "left" | "right";
795
+ /** Distance in px between the tooltip and the trigger. Default: 8. */
796
+ sideOffset?: number;
797
+ /** Delay in ms before showing. Default from provider. */
798
+ delayDuration?: number;
799
+ /** When false, the arrow/pointer is not rendered. Default: true */
800
+ showArrow?: boolean;
801
+ /** Additional class name applied to the tooltip content. */
802
+ contentClassName?: string;
803
+ }
804
+ declare function Tooltip({ children, content, title, subtitle, size, variant, side, sideOffset, delayDuration, showArrow, contentClassName, ...rootProps }: TooltipProps): react_jsx_runtime.JSX.Element;
805
+
806
+ export { Accordion, AccordionContent, type AccordionContentProps, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionTrigger, type AccordionTriggerProps, Alert, type AlertAction, type AlertProps, Avatar, AvatarGroup, type AvatarGroupItem, type AvatarGroupProps, type AvatarGroupSize, AvatarProfile, type AvatarProfileProps, type AvatarProps, Badge, type BadgeProps, Breadcrumb, BreadcrumbItem, type BreadcrumbItemProps, BreadcrumbList, BreadcrumbListItem, type BreadcrumbListItemProps, type BreadcrumbListProps, type BreadcrumbProps, BreadcrumbSeparator, type BreadcrumbSeparatorProps, Button, ButtonGroup, ButtonGroupItem, type ButtonGroupItemProps, type ButtonGroupProps, type ButtonGroupSize, type ButtonProps, Checkbox, CheckboxCard, type CheckboxCardProps, type CheckboxProps, CloseButton, type CloseButtonProps, ColorPalette, Divider, type DividerProps, FeaturedIcon, type FeaturedIconProps, Icon, type IconProps, type IconSize, Input, type InputPreset, type InputProps, Menu, MenuGroup, type MenuGroupProps, MenuHeading, type MenuHeadingProps, MenuItem, type MenuItemProps, type MenuItemType, type MenuProps, ProgressBar, type ProgressBarProps, Radio, RadioCard, type RadioCardProps, type RadioProps, Sidebar, SidebarAccountCard, type SidebarAccountCardProps, SidebarContext, type SidebarContextValue, SidebarMenuItem, type SidebarMenuItemProps, type SidebarProps, SidebarSubmenuItem, type SidebarSubmenuItemProps, Slider, type SliderDoubleProps, SliderHandle, type SliderHandleProps, type SliderProps, type SliderSingleProps, type SliderVariant, Tag, type TagProps, TextArea, type TextAreaProps, Toggle, type ToggleProps, Tooltip, TooltipContent, type TooltipContentProps, type TooltipProps, TooltipProvider, TooltipTrigger, accordionTriggerVariants, alertVariants, avatarProfileVariants, avatarVariants, badgeVariants, breadcrumbItemVariants, breadcrumbListVariants, breadcrumbSeparatorVariants, buttonGroupItemVariants, buttonGroupVariants, buttonVariants, closeButtonVariants, dividerVariants, featuredIconVariants, iconVariants, inputWrapperVariants as inputVariants, menuGroupVariants, menuHeadingVariants, menuItemVariants, menuVariants, progressBarFillVariants, progressBarTrackVariants, sidebarAccountCardVariants, sidebarMenuItemVariants, sidebarSubmenuItemVariants, sidebarVariants, sliderHandleCircleVariants, tagVariants, textareaWrapperVariants as textareaVariants, thumbVariants, toggleVariants, tooltipContentVariants, useSidebarContext };