@engrate/components 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/README.md +6 -14
  2. package/dist/components/index.d.ts +1 -0
  3. package/dist/components/ui/AlertDialog/AlertDialog.d.ts +36 -0
  4. package/dist/components/ui/AlertDialog/index.d.ts +2 -0
  5. package/dist/components/ui/Badge/Badge.d.ts +24 -0
  6. package/dist/components/ui/Badge/index.d.ts +2 -0
  7. package/dist/components/ui/Breadcrumbs/Breadcrumbs.d.ts +44 -0
  8. package/dist/components/ui/Breadcrumbs/index.d.ts +2 -0
  9. package/dist/components/ui/Button/Button.d.ts +24 -0
  10. package/dist/components/ui/Button/index.d.ts +2 -0
  11. package/dist/components/ui/Card/Card.d.ts +29 -0
  12. package/dist/components/ui/Card/index.d.ts +1 -0
  13. package/dist/components/ui/Checkbox/Checkbox.d.ts +18 -0
  14. package/dist/components/ui/Checkbox/index.d.ts +2 -0
  15. package/dist/components/ui/ContextMenu/ContextMenu.d.ts +40 -0
  16. package/dist/components/ui/ContextMenu/index.d.ts +2 -0
  17. package/dist/components/ui/DatePicker/DatePicker.d.ts +47 -0
  18. package/dist/components/ui/DatePicker/index.d.ts +2 -0
  19. package/dist/components/ui/DateTimePicker/DateTimePicker.d.ts +51 -0
  20. package/dist/components/ui/DateTimePicker/index.d.ts +2 -0
  21. package/dist/components/ui/Divider/Divider.d.ts +32 -0
  22. package/dist/components/ui/Divider/index.d.ts +2 -0
  23. package/dist/components/ui/DropdownMenu/DropdownMenu.d.ts +45 -0
  24. package/dist/components/ui/DropdownMenu/index.d.ts +2 -0
  25. package/dist/components/ui/Eyebrow/Eyebrow.d.ts +11 -0
  26. package/dist/components/ui/Eyebrow/index.d.ts +2 -0
  27. package/dist/components/ui/FormField/FormField.d.ts +32 -0
  28. package/dist/components/ui/FormField/index.d.ts +2 -0
  29. package/dist/components/ui/FormMessage/FormMessage.d.ts +18 -0
  30. package/dist/components/ui/FormMessage/index.d.ts +2 -0
  31. package/dist/components/ui/Grid/Grid.d.ts +94 -0
  32. package/dist/components/ui/Grid/index.d.ts +2 -0
  33. package/dist/components/ui/Heading/Heading.d.ts +20 -0
  34. package/dist/components/ui/Heading/index.d.ts +1 -0
  35. package/dist/components/ui/Input/Input.d.ts +20 -0
  36. package/dist/components/ui/Input/index.d.ts +2 -0
  37. package/dist/components/ui/Label/Label.d.ts +21 -0
  38. package/dist/components/ui/Label/index.d.ts +2 -0
  39. package/dist/components/ui/Link/Link.d.ts +24 -0
  40. package/dist/components/ui/Link/index.d.ts +2 -0
  41. package/dist/components/ui/Modal/Modal.d.ts +32 -0
  42. package/dist/components/ui/Modal/index.d.ts +2 -0
  43. package/dist/components/ui/ProgressIndicator/ProgressIndicator.d.ts +33 -0
  44. package/dist/components/ui/ProgressIndicator/index.d.ts +2 -0
  45. package/dist/components/ui/Radio/Radio.d.ts +29 -0
  46. package/dist/components/ui/Radio/index.d.ts +2 -0
  47. package/dist/components/ui/Select/Select.d.ts +39 -0
  48. package/dist/components/ui/Select/index.d.ts +2 -0
  49. package/dist/components/ui/Skeleton/Skeleton.d.ts +25 -0
  50. package/dist/components/ui/Skeleton/index.d.ts +2 -0
  51. package/dist/components/ui/Spinner/Spinner.d.ts +24 -0
  52. package/dist/components/ui/Spinner/index.d.ts +2 -0
  53. package/dist/components/ui/Stack/Stack.d.ts +36 -0
  54. package/dist/components/ui/Stack/index.d.ts +2 -0
  55. package/dist/components/ui/Switch/Switch.d.ts +18 -0
  56. package/dist/components/ui/Switch/index.d.ts +2 -0
  57. package/dist/components/ui/TabList/TabList.d.ts +61 -0
  58. package/dist/components/ui/TabList/index.d.ts +2 -0
  59. package/dist/components/ui/Table/Table.d.ts +88 -0
  60. package/dist/components/ui/Table/index.d.ts +2 -0
  61. package/dist/components/ui/Text/Text.d.ts +21 -0
  62. package/dist/components/ui/Text/index.d.ts +1 -0
  63. package/dist/components/ui/Textarea/Textarea.d.ts +22 -0
  64. package/dist/components/ui/Textarea/index.d.ts +2 -0
  65. package/dist/components/ui/Toast/Toast.d.ts +27 -0
  66. package/dist/components/ui/Toast/index.d.ts +2 -0
  67. package/dist/components/ui/Tooltip/Tooltip.d.ts +34 -0
  68. package/dist/components/ui/Tooltip/index.d.ts +2 -0
  69. package/dist/components/ui/index.d.ts +33 -0
  70. package/dist/index.cjs.js +15 -15
  71. package/dist/index.d.ts +2 -1208
  72. package/dist/index.es.js +2124 -2031
  73. package/dist/lib/utils.d.ts +11 -0
  74. package/dist/styles.css +1 -1
  75. package/dist/tailwind.preset.d.ts +47 -0
  76. package/dist/test/setup.d.ts +0 -0
  77. package/package.json +5 -5
package/dist/index.d.ts CHANGED
@@ -1,1208 +1,2 @@
1
- import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';
2
- import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
3
- import { ClassProp } from 'class-variance-authority/types';
4
- import { ClassValue } from 'clsx';
5
- import * as ContextMenuPrimitive from '@radix-ui/react-context-menu';
6
- import * as DialogPrimitive from '@radix-ui/react-dialog';
7
- import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
8
- import * as LabelPrimitive from '@radix-ui/react-label';
9
- import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
10
- import * as React_2 from 'react';
11
- import * as SelectPrimitive from '@radix-ui/react-select';
12
- import * as SwitchPrimitive from '@radix-ui/react-switch';
13
- import * as ToastPrimitives from '@radix-ui/react-toast';
14
- import * as TooltipPrimitive from '@radix-ui/react-tooltip';
15
- import { VariantProps } from 'class-variance-authority';
16
-
17
- export declare const ActionsMenuButton: React_2.ForwardRefExoticComponent<ActionsMenuButtonProps & React_2.RefAttributes<HTMLButtonElement>>;
18
-
19
- export declare interface ActionsMenuButtonProps extends React_2.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Trigger> {
20
- /** Size of the ellipsis icon */
21
- iconSize?: 'sm' | 'default' | 'lg';
22
- }
23
-
24
- export declare const AlertDialog: React_2.FC<AlertDialogPrimitive.AlertDialogProps>;
25
-
26
- export declare const AlertDialogAction: React_2.ForwardRefExoticComponent<AlertDialogActionProps & React_2.RefAttributes<HTMLButtonElement>>;
27
-
28
- export declare interface AlertDialogActionProps extends React_2.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Action>, VariantProps<typeof buttonVariants> {
29
- }
30
-
31
- export declare const AlertDialogCancel: React_2.ForwardRefExoticComponent<AlertDialogCancelProps & React_2.RefAttributes<HTMLButtonElement>>;
32
-
33
- export declare interface AlertDialogCancelProps extends React_2.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Cancel>, VariantProps<typeof buttonVariants> {
34
- }
35
-
36
- export declare const AlertDialogContent: React_2.ForwardRefExoticComponent<AlertDialogContentProps & React_2.RefAttributes<HTMLDivElement>>;
37
-
38
- export declare interface AlertDialogContentProps extends React_2.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Content>, VariantProps<typeof alertDialogContentVariants> {
39
- }
40
-
41
- export declare const alertDialogContentVariants: (props?: ({
42
- size?: "sm" | "default" | "lg" | null | undefined;
43
- } & ClassProp) | undefined) => string;
44
-
45
- export declare const AlertDialogDescription: React_2.ForwardRefExoticComponent<AlertDialogDescriptionProps & React_2.RefAttributes<HTMLParagraphElement>>;
46
-
47
- export declare interface AlertDialogDescriptionProps extends React_2.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Description> {
48
- }
49
-
50
- export declare const AlertDialogFooter: React_2.ForwardRefExoticComponent<AlertDialogFooterProps & React_2.RefAttributes<HTMLDivElement>>;
51
-
52
- export declare interface AlertDialogFooterProps extends React_2.HTMLAttributes<HTMLDivElement> {
53
- }
54
-
55
- export declare const AlertDialogHeader: React_2.ForwardRefExoticComponent<AlertDialogHeaderProps & React_2.RefAttributes<HTMLDivElement>>;
56
-
57
- export declare interface AlertDialogHeaderProps extends React_2.HTMLAttributes<HTMLDivElement> {
58
- }
59
-
60
- export declare const AlertDialogOverlay: React_2.ForwardRefExoticComponent<AlertDialogOverlayProps & React_2.RefAttributes<HTMLDivElement>>;
61
-
62
- export declare interface AlertDialogOverlayProps extends React_2.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Overlay> {
63
- }
64
-
65
- export declare const AlertDialogPortal: React_2.FC<AlertDialogPrimitive.AlertDialogPortalProps>;
66
-
67
- export declare const AlertDialogTitle: React_2.ForwardRefExoticComponent<AlertDialogTitleProps & React_2.RefAttributes<HTMLHeadingElement>>;
68
-
69
- export declare interface AlertDialogTitleProps extends React_2.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Title> {
70
- }
71
-
72
- export declare const AlertDialogTrigger: React_2.ForwardRefExoticComponent<AlertDialogPrimitive.AlertDialogTriggerProps & React_2.RefAttributes<HTMLButtonElement>>;
73
-
74
- /**
75
- * Badge component for displaying status, labels, or counts.
76
- * Features pill-shaped design with various Engrate brand colors.
77
- *
78
- * @example
79
- * ```tsx
80
- * <Badge variant="sunflower">New</Badge>
81
- * <Badge variant="error" size="sm">Alert</Badge>
82
- * <Badge variant="deep-blue" size="lg">Premium</Badge>
83
- * ```
84
- */
85
- export declare const Badge: React_2.ForwardRefExoticComponent<BadgeProps & React_2.RefAttributes<HTMLSpanElement>>;
86
-
87
- export declare interface BadgeProps extends Omit<React_2.HTMLAttributes<HTMLSpanElement>, 'color'>, VariantProps<typeof badgeVariants> {
88
- /** Render as a child component (for use with links, etc.) */
89
- asChild?: boolean;
90
- }
91
-
92
- export declare const badgeVariants: (props?: ({
93
- variant?: "secondary" | "sunflower" | "lemon-meringue" | "vanilla" | "eggshell" | "warm-purple" | "cool-purple" | "electric-blue" | "deep-blue" | "error" | null | undefined;
94
- size?: "sm" | "lg" | "xs" | "md" | "xl" | null | undefined;
95
- } & ClassProp) | undefined) => string;
96
-
97
- /**
98
- * Individual breadcrumb item. Use href for links or isCurrentPage for the current location.
99
- */
100
- export declare const BreadcrumbItem: React_2.ForwardRefExoticComponent<BreadcrumbItemProps & React_2.RefAttributes<HTMLAnchorElement>>;
101
-
102
- export declare interface BreadcrumbItemProps extends React_2.AnchorHTMLAttributes<HTMLAnchorElement>, VariantProps<typeof breadcrumbItemVariants> {
103
- /** Render as a child component (for use with Next.js Link, etc.) */
104
- asChild?: boolean;
105
- /** Indicates this is the current page (should not be a link) */
106
- isCurrentPage?: boolean;
107
- }
108
-
109
- export declare const breadcrumbItemVariants: (props?: ({
110
- isCurrentPage?: boolean | null | undefined;
111
- } & ClassProp) | undefined) => string;
112
-
113
- /**
114
- * Breadcrumbs navigation component following Engrate brand guidelines.
115
- * Provides a navigation trail showing the user's location within a hierarchy.
116
- *
117
- * @example
118
- * ```tsx
119
- * <Breadcrumbs>
120
- * <BreadcrumbItem href="/">Home</BreadcrumbItem>
121
- * <BreadcrumbItem href="/products">Products</BreadcrumbItem>
122
- * <BreadcrumbItem isCurrentPage>Current Product</BreadcrumbItem>
123
- * </Breadcrumbs>
124
- * ```
125
- */
126
- export declare const Breadcrumbs: React_2.ForwardRefExoticComponent<BreadcrumbsProps & React_2.RefAttributes<HTMLElement>>;
127
-
128
- /**
129
- * Separator between breadcrumb items. Defaults to a chevron icon.
130
- */
131
- export declare const BreadcrumbSeparator: React_2.ForwardRefExoticComponent<BreadcrumbSeparatorProps & React_2.RefAttributes<HTMLSpanElement>>;
132
-
133
- export declare interface BreadcrumbSeparatorProps extends React_2.HTMLAttributes<HTMLSpanElement> {
134
- }
135
-
136
- export declare interface BreadcrumbsProps extends React_2.HTMLAttributes<HTMLElement>, VariantProps<typeof breadcrumbsVariants> {
137
- /** Custom separator between breadcrumb items */
138
- separator?: React_2.ReactNode;
139
- }
140
-
141
- export declare const breadcrumbsVariants: (props?: ({
142
- size?: "sm" | "default" | "lg" | null | undefined;
143
- } & ClassProp) | undefined) => string;
144
-
145
- /**
146
- * Primary UI button component following Engrate brand guidelines.
147
- * Features pill-shaped design with Sunflower yellow as primary color.
148
- *
149
- * @example
150
- * ```tsx
151
- * <Button variant="primary">Click me</Button>
152
- * <Button variant="secondary" size="sm">Secondary</Button>
153
- * <Button asChild><a href="/link">Link Button</a></Button>
154
- * ```
155
- */
156
- export declare const Button: React_2.ForwardRefExoticComponent<ButtonProps & React_2.RefAttributes<HTMLButtonElement>>;
157
-
158
- export declare interface ButtonProps extends React_2.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
159
- /** Render as a child component (for use with Next.js Link, etc.) */
160
- asChild?: boolean;
161
- }
162
-
163
- export declare const buttonVariants: (props?: ({
164
- variant?: "primary" | "secondary" | "ghost" | null | undefined;
165
- size?: "sm" | "default" | "lg" | "icon" | null | undefined;
166
- } & ClassProp) | undefined) => string;
167
-
168
- export declare const calendarDayVariants: (props?: ({
169
- state?: "default" | "disabled" | "selected" | "today" | "outside" | null | undefined;
170
- } & ClassProp) | undefined) => string;
171
-
172
- /**
173
- * Card component for displaying content in a contained area.
174
- * Follows Engrate design system with support for variants, padding, and background colors.
175
- *
176
- * @example
177
- * ```tsx
178
- * <Card>
179
- * <Heading>Title</Heading>
180
- * <Text>Content goes here</Text>
181
- * </Card>
182
- * <Card variant="elevated" padding="lg">Elevated card</Card>
183
- * <Card bg="sunflower">Highlighted card</Card>
184
- * ```
185
- */
186
- export declare const Card: React_2.ForwardRefExoticComponent<CardProps & React_2.RefAttributes<HTMLDivElement>>;
187
-
188
- export declare interface CardProps extends React_2.HTMLAttributes<HTMLDivElement>, VariantProps<typeof cardVariants> {
189
- /** Render as a child component */
190
- asChild?: boolean;
191
- /** Background color from Engrate design tokens */
192
- bg?: VariantProps<typeof cardVariants>['bg'];
193
- }
194
-
195
- export declare const cardVariants: (props?: ({
196
- variant?: "ghost" | "default" | "elevated" | null | undefined;
197
- padding?: "sm" | "default" | "lg" | "none" | null | undefined;
198
- bg?: "contrast" | "main" | "sunflower" | "lemon-meringue" | "vanilla" | "eggshell" | "warm-purple" | "cool-purple" | "electric-blue" | "deep-blue" | "error" | "card" | "alt" | "transparent" | "sunflower-hover" | null | undefined;
199
- } & ClassProp) | undefined) => string;
200
-
201
- /**
202
- * Checkbox component following Engrate brand guidelines.
203
- * Built on Radix UI Checkbox for accessibility.
204
- * Features sunflower accent when checked.
205
- *
206
- * @example
207
- * ```tsx
208
- * <Checkbox id="terms" />
209
- * <Checkbox checked disabled />
210
- * ```
211
- */
212
- export declare const Checkbox: React_2.ForwardRefExoticComponent<CheckboxProps & React_2.RefAttributes<HTMLButtonElement>>;
213
-
214
- export declare interface CheckboxProps extends React_2.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root> {
215
- }
216
-
217
- /**
218
- * Merge Tailwind CSS classes with proper precedence handling.
219
- * Combines clsx for conditional classes with tailwind-merge for deduplication.
220
- *
221
- * @example
222
- * ```tsx
223
- * cn('px-4 py-2', isLarge && 'px-6 py-3', className)
224
- * ```
225
- */
226
- export declare function cn(...inputs: ClassValue[]): string;
227
-
228
- export declare const ContextMenu: React_2.FC<ContextMenuPrimitive.ContextMenuProps>;
229
-
230
- export declare const ContextMenuCheckboxItem: React_2.ForwardRefExoticComponent<ContextMenuCheckboxItemProps & React_2.RefAttributes<HTMLDivElement>>;
231
-
232
- export declare interface ContextMenuCheckboxItemProps extends React_2.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.CheckboxItem> {
233
- }
234
-
235
- export declare const ContextMenuContent: React_2.ForwardRefExoticComponent<ContextMenuContentProps & React_2.RefAttributes<HTMLDivElement>>;
236
-
237
- export declare interface ContextMenuContentProps extends React_2.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Content> {
238
- }
239
-
240
- export declare const ContextMenuGroup: React_2.ForwardRefExoticComponent<ContextMenuPrimitive.ContextMenuGroupProps & React_2.RefAttributes<HTMLDivElement>>;
241
-
242
- export declare const ContextMenuItem: React_2.ForwardRefExoticComponent<ContextMenuItemProps & React_2.RefAttributes<HTMLDivElement>>;
243
-
244
- export declare interface ContextMenuItemProps extends React_2.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Item> {
245
- inset?: boolean;
246
- }
247
-
248
- export declare const ContextMenuLabel: React_2.ForwardRefExoticComponent<ContextMenuLabelProps & React_2.RefAttributes<HTMLDivElement>>;
249
-
250
- export declare interface ContextMenuLabelProps extends React_2.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Label> {
251
- inset?: boolean;
252
- }
253
-
254
- export declare const ContextMenuPortal: React_2.FC<ContextMenuPrimitive.ContextMenuPortalProps>;
255
-
256
- export declare const ContextMenuRadioGroup: React_2.ForwardRefExoticComponent<ContextMenuPrimitive.ContextMenuRadioGroupProps & React_2.RefAttributes<HTMLDivElement>>;
257
-
258
- export declare const ContextMenuRadioItem: React_2.ForwardRefExoticComponent<ContextMenuRadioItemProps & React_2.RefAttributes<HTMLDivElement>>;
259
-
260
- export declare interface ContextMenuRadioItemProps extends React_2.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.RadioItem> {
261
- }
262
-
263
- export declare const ContextMenuSeparator: React_2.ForwardRefExoticComponent<ContextMenuSeparatorProps & React_2.RefAttributes<HTMLDivElement>>;
264
-
265
- export declare interface ContextMenuSeparatorProps extends React_2.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Separator> {
266
- }
267
-
268
- export declare const ContextMenuShortcut: React_2.ForwardRefExoticComponent<ContextMenuShortcutProps & React_2.RefAttributes<HTMLSpanElement>>;
269
-
270
- export declare interface ContextMenuShortcutProps extends React_2.HTMLAttributes<HTMLSpanElement> {
271
- }
272
-
273
- export declare const ContextMenuSub: React_2.FC<ContextMenuPrimitive.ContextMenuSubProps>;
274
-
275
- export declare const ContextMenuSubContent: React_2.ForwardRefExoticComponent<ContextMenuSubContentProps & React_2.RefAttributes<HTMLDivElement>>;
276
-
277
- export declare interface ContextMenuSubContentProps extends React_2.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.SubContent> {
278
- }
279
-
280
- export declare const ContextMenuSubTrigger: React_2.ForwardRefExoticComponent<ContextMenuSubTriggerProps & React_2.RefAttributes<HTMLDivElement>>;
281
-
282
- export declare interface ContextMenuSubTriggerProps extends React_2.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.SubTrigger> {
283
- inset?: boolean;
284
- }
285
-
286
- export declare const ContextMenuTrigger: React_2.ForwardRefExoticComponent<ContextMenuPrimitive.ContextMenuTriggerProps & React_2.RefAttributes<HTMLSpanElement>>;
287
-
288
- /**
289
- * DatePicker component following Engrate brand guidelines.
290
- * Features a calendar popup with month/year navigation and accessible keyboard controls.
291
- *
292
- * @example
293
- * ```tsx
294
- * const [date, setDate] = useState<Date | null>(null)
295
- * <DatePicker value={date} onChange={setDate} placeholder="Select a date" />
296
- * ```
297
- */
298
- export declare const DatePicker: React_2.ForwardRefExoticComponent<DatePickerProps & React_2.RefAttributes<HTMLButtonElement>>;
299
-
300
- export declare interface DatePickerProps extends VariantProps<typeof datePickerTriggerVariants> {
301
- /** The currently selected date */
302
- value?: Date | null;
303
- /** Callback when the date changes */
304
- onChange?: (date: Date | null) => void;
305
- /** Placeholder text when no date is selected */
306
- placeholder?: string;
307
- /** Date format string (supports MM, dd, yyyy) */
308
- format?: string;
309
- /** Minimum selectable date */
310
- minDate?: Date;
311
- /** Maximum selectable date */
312
- maxDate?: Date;
313
- /** Whether the date picker is disabled */
314
- disabled?: boolean;
315
- /** Additional class name for the trigger */
316
- className?: string;
317
- /** ID for the trigger element */
318
- id?: string;
319
- /** Name attribute for form integration */
320
- name?: string;
321
- /** aria-label for accessibility */
322
- 'aria-label'?: string;
323
- /** aria-describedby for accessibility */
324
- 'aria-describedby'?: string;
325
- }
326
-
327
- export declare const datePickerTriggerVariants: (props?: ({
328
- variant?: "default" | "error" | null | undefined;
329
- } & ClassProp) | undefined) => string;
330
-
331
- /**
332
- * DateTimePicker component following Engrate brand guidelines.
333
- * Features a calendar popup with time selection and accessible keyboard controls.
334
- *
335
- * @example
336
- * ```tsx
337
- * const [dateTime, setDateTime] = useState<Date | null>(null)
338
- * <DateTimePicker value={dateTime} onChange={setDateTime} placeholder="Select date and time" />
339
- * ```
340
- */
341
- export declare const DateTimePicker: React_2.ForwardRefExoticComponent<DateTimePickerProps & React_2.RefAttributes<HTMLButtonElement>>;
342
-
343
- export declare const dateTimePickerCalendarDayVariants: (props?: ({
344
- state?: "default" | "disabled" | "selected" | "today" | "outside" | null | undefined;
345
- } & ClassProp) | undefined) => string;
346
-
347
- export declare interface DateTimePickerProps extends VariantProps<typeof dateTimePickerTriggerVariants> {
348
- /** The currently selected date and time */
349
- value?: Date | null;
350
- /** Callback when the date/time changes */
351
- onChange?: (date: Date | null) => void;
352
- /** Placeholder text when no date is selected */
353
- placeholder?: string;
354
- /** Date/time format string (supports MM, dd, yyyy, HH, hh, mm, a) */
355
- format?: string;
356
- /** Minimum selectable date */
357
- minDate?: Date;
358
- /** Maximum selectable date */
359
- maxDate?: Date;
360
- /** Whether the date time picker is disabled */
361
- disabled?: boolean;
362
- /** Additional class name for the trigger */
363
- className?: string;
364
- /** ID for the trigger element */
365
- id?: string;
366
- /** Name attribute for form integration */
367
- name?: string;
368
- /** Use 24-hour format for time (default: true) */
369
- use24Hour?: boolean;
370
- /** Step for minutes (default: 1) */
371
- minuteStep?: number;
372
- /** aria-label for accessibility */
373
- 'aria-label'?: string;
374
- /** aria-describedby for accessibility */
375
- 'aria-describedby'?: string;
376
- }
377
-
378
- export declare const dateTimePickerTriggerVariants: (props?: ({
379
- variant?: "default" | "error" | null | undefined;
380
- } & ClassProp) | undefined) => string;
381
-
382
- /**
383
- * Divider component for visually separating content.
384
- * Supports both horizontal and vertical orientations.
385
- *
386
- * @example
387
- * ```tsx
388
- * // Horizontal divider (default)
389
- * <Divider />
390
- *
391
- * // Vertical divider
392
- * <Divider orientation="vertical" />
393
- *
394
- * // With custom styling
395
- * <Divider className="my-4" />
396
- * ```
397
- */
398
- export declare const Divider: React_2.ForwardRefExoticComponent<DividerProps & React_2.RefAttributes<HTMLDivElement>>;
399
-
400
- export declare interface DividerProps extends React_2.HTMLAttributes<HTMLDivElement>, VariantProps<typeof dividerVariants> {
401
- /**
402
- * Whether the divider is decorative only.
403
- * When true, the divider will be hidden from screen readers.
404
- * @default true
405
- */
406
- decorative?: boolean;
407
- }
408
-
409
- export declare const dividerVariants: (props?: ({
410
- orientation?: "horizontal" | "vertical" | null | undefined;
411
- } & ClassProp) | undefined) => string;
412
-
413
- export declare const DropdownMenu: React_2.FC<DropdownMenuPrimitive.DropdownMenuProps>;
414
-
415
- export declare const DropdownMenuCheckboxItem: React_2.ForwardRefExoticComponent<DropdownMenuCheckboxItemProps & React_2.RefAttributes<HTMLDivElement>>;
416
-
417
- export declare interface DropdownMenuCheckboxItemProps extends React_2.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem> {
418
- }
419
-
420
- export declare const DropdownMenuContent: React_2.ForwardRefExoticComponent<DropdownMenuContentProps & React_2.RefAttributes<HTMLDivElement>>;
421
-
422
- export declare interface DropdownMenuContentProps extends React_2.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content> {
423
- }
424
-
425
- export declare const DropdownMenuGroup: React_2.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuGroupProps & React_2.RefAttributes<HTMLDivElement>>;
426
-
427
- export declare const DropdownMenuItem: React_2.ForwardRefExoticComponent<DropdownMenuItemProps & React_2.RefAttributes<HTMLDivElement>>;
428
-
429
- export declare interface DropdownMenuItemProps extends React_2.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> {
430
- inset?: boolean;
431
- }
432
-
433
- export declare const DropdownMenuLabel: React_2.ForwardRefExoticComponent<DropdownMenuLabelProps & React_2.RefAttributes<HTMLDivElement>>;
434
-
435
- export declare interface DropdownMenuLabelProps extends React_2.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> {
436
- inset?: boolean;
437
- }
438
-
439
- export declare const DropdownMenuPortal: React_2.FC<DropdownMenuPrimitive.DropdownMenuPortalProps>;
440
-
441
- export declare const DropdownMenuRadioGroup: React_2.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuRadioGroupProps & React_2.RefAttributes<HTMLDivElement>>;
442
-
443
- export declare const DropdownMenuRadioItem: React_2.ForwardRefExoticComponent<DropdownMenuRadioItemProps & React_2.RefAttributes<HTMLDivElement>>;
444
-
445
- export declare interface DropdownMenuRadioItemProps extends React_2.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem> {
446
- }
447
-
448
- export declare const DropdownMenuSeparator: React_2.ForwardRefExoticComponent<DropdownMenuSeparatorProps & React_2.RefAttributes<HTMLDivElement>>;
449
-
450
- export declare interface DropdownMenuSeparatorProps extends React_2.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator> {
451
- }
452
-
453
- export declare const DropdownMenuShortcut: React_2.ForwardRefExoticComponent<DropdownMenuShortcutProps & React_2.RefAttributes<HTMLSpanElement>>;
454
-
455
- export declare interface DropdownMenuShortcutProps extends React_2.HTMLAttributes<HTMLSpanElement> {
456
- }
457
-
458
- export declare const DropdownMenuSub: React_2.FC<DropdownMenuPrimitive.DropdownMenuSubProps>;
459
-
460
- export declare const DropdownMenuSubContent: React_2.ForwardRefExoticComponent<DropdownMenuSubContentProps & React_2.RefAttributes<HTMLDivElement>>;
461
-
462
- export declare interface DropdownMenuSubContentProps extends React_2.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent> {
463
- }
464
-
465
- export declare const DropdownMenuSubTrigger: React_2.ForwardRefExoticComponent<DropdownMenuSubTriggerProps & React_2.RefAttributes<HTMLDivElement>>;
466
-
467
- export declare interface DropdownMenuSubTriggerProps extends React_2.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> {
468
- inset?: boolean;
469
- }
470
-
471
- export declare const DropdownMenuTrigger: React_2.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuTriggerProps & React_2.RefAttributes<HTMLButtonElement>>;
472
-
473
- export declare const Eyebrow: React_2.ForwardRefExoticComponent<EyebrowProps & React_2.RefAttributes<HTMLSpanElement>>;
474
-
475
- export declare interface EyebrowProps extends React_2.HTMLAttributes<HTMLSpanElement>, VariantProps<typeof eyebrowVariants> {
476
- asChild?: boolean;
477
- }
478
-
479
- export declare const eyebrowVariants: (props?: ({
480
- variant?: "primary" | "secondary" | "default" | null | undefined;
481
- size?: "sm" | "default" | "lg" | null | undefined;
482
- } & ClassProp) | undefined) => string;
483
-
484
- /**
485
- * Form field wrapper component for consistent form layouts.
486
- * Composes Label, children (form control), and FormMessage.
487
- * Simple presentational wrapper following Engrate brand guidelines.
488
- *
489
- * @example
490
- * ```tsx
491
- * <FormField label="Email" htmlFor="email" hint="We'll never share your email.">
492
- * <Input id="email" placeholder="you@example.com" />
493
- * </FormField>
494
- *
495
- * <FormField label="Password" htmlFor="password" error="Password is required">
496
- * <Input id="password" type="password" variant="error" />
497
- * </FormField>
498
- * ```
499
- */
500
- export declare const FormField: React_2.ForwardRefExoticComponent<FormFieldProps & React_2.RefAttributes<HTMLDivElement>>;
501
-
502
- export declare interface FormFieldProps extends React_2.HTMLAttributes<HTMLDivElement> {
503
- /** The label for the field */
504
- label?: string;
505
- /** The size of the label */
506
- labelSize?: 'default' | 'sm';
507
- /** An optional hint message */
508
- hint?: string;
509
- /** An optional error message */
510
- error?: string;
511
- /** The id for the form control (used for htmlFor on label) */
512
- htmlFor?: string;
513
- }
514
-
515
- /**
516
- * Form message component for displaying hints or error messages.
517
- * Following Engrate brand guidelines.
518
- *
519
- * @example
520
- * ```tsx
521
- * <FormMessage>This is a hint message</FormMessage>
522
- * <FormMessage variant="error">This field is required</FormMessage>
523
- * ```
524
- */
525
- export declare const FormMessage: React_2.ForwardRefExoticComponent<FormMessageProps & React_2.RefAttributes<HTMLParagraphElement>>;
526
-
527
- export declare interface FormMessageProps extends React_2.HTMLAttributes<HTMLParagraphElement> {
528
- /** The type of message to display */
529
- variant?: 'default' | 'error';
530
- }
531
-
532
- /**
533
- * Grid component for consistent layout structures.
534
- * Provides a flexible grid system with configurable columns, gaps, and alignment.
535
- *
536
- * @example
537
- * ```tsx
538
- * <Grid cols={3} gap="lg">
539
- * <Card>Item 1</Card>
540
- * <Card>Item 2</Card>
541
- * <Card>Item 3</Card>
542
- * </Grid>
543
- * ```
544
- */
545
- export declare const Grid: React_2.ForwardRefExoticComponent<GridProps & React_2.RefAttributes<HTMLDivElement>>;
546
-
547
- /**
548
- * GridItem component for controlling individual item placement within a Grid.
549
- *
550
- * @example
551
- * ```tsx
552
- * <Grid cols={12}>
553
- * <GridItem colSpan={8}>Main content</GridItem>
554
- * <GridItem colSpan={4}>Sidebar</GridItem>
555
- * </Grid>
556
- * ```
557
- */
558
- export declare const GridItem: React_2.ForwardRefExoticComponent<GridItemProps & React_2.RefAttributes<HTMLDivElement>>;
559
-
560
- export declare interface GridItemProps extends React_2.HTMLAttributes<HTMLDivElement>, VariantProps<typeof gridItemVariants> {
561
- /** Render as a child component using Slot */
562
- asChild?: boolean;
563
- }
564
-
565
- export declare const gridItemVariants: (props?: ({
566
- colSpan?: 1 | 2 | 3 | 4 | 5 | 6 | 11 | 12 | 10 | "full" | 7 | 8 | 9 | null | undefined;
567
- rowSpan?: 1 | 2 | 3 | 4 | 5 | 6 | "full" | null | undefined;
568
- colStart?: 1 | "auto" | 2 | 3 | 4 | 5 | 6 | 11 | 12 | 10 | 7 | 8 | 9 | null | undefined;
569
- } & ClassProp) | undefined) => string;
570
-
571
- export declare interface GridProps extends React_2.HTMLAttributes<HTMLDivElement>, VariantProps<typeof gridVariants> {
572
- /** Render as a child component using Slot */
573
- asChild?: boolean;
574
- }
575
-
576
- export declare const gridVariants: (props?: ({
577
- cols?: 1 | 2 | 3 | 4 | 5 | 6 | 12 | null | undefined;
578
- gap?: "sm" | "lg" | "none" | "xs" | "md" | "xl" | "2xl" | null | undefined;
579
- align?: "end" | "start" | "center" | "stretch" | "baseline" | null | undefined;
580
- justify?: "end" | "start" | "center" | "stretch" | null | undefined;
581
- } & ClassProp) | undefined) => string;
582
-
583
- export declare const Heading: React_2.ForwardRefExoticComponent<HeadingProps & React_2.RefAttributes<HTMLHeadingElement>>;
584
-
585
- declare type HeadingElement = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
586
-
587
- export declare interface HeadingProps extends React_2.HTMLAttributes<HTMLHeadingElement>, VariantProps<typeof headingVariants> {
588
- /**
589
- * Render as a different element using Radix Slot
590
- */
591
- asChild?: boolean;
592
- /**
593
- * Override the default HTML element for semantic flexibility
594
- * @default Matches the level prop (hero renders as h1)
595
- */
596
- as?: HeadingElement;
597
- }
598
-
599
- export declare const headingVariants: (props?: ({
600
- level?: "hero" | "h1" | "h2" | "h3" | "h4" | null | undefined;
601
- } & ClassProp) | undefined) => string;
602
-
603
- /**
604
- * Text input component following Engrate brand guidelines.
605
- * Features rounded corners, subtle background, and sunflower focus ring.
606
- *
607
- * @example
608
- * ```tsx
609
- * <Input placeholder="Enter your email" />
610
- * <Input variant="error" placeholder="Invalid input" />
611
- * ```
612
- */
613
- export declare const Input: React_2.ForwardRefExoticComponent<InputProps & React_2.RefAttributes<HTMLInputElement>>;
614
-
615
- export declare interface InputProps extends Omit<React_2.InputHTMLAttributes<HTMLInputElement>, 'size'>, VariantProps<typeof inputVariants> {
616
- }
617
-
618
- export declare const inputVariants: (props?: ({
619
- variant?: "default" | "error" | null | undefined;
620
- } & ClassProp) | undefined) => string;
621
-
622
- /**
623
- * Form label component following Engrate brand guidelines.
624
- * Uses text-tertiary color and Work Sans font.
625
- *
626
- * @example
627
- * ```tsx
628
- * <Label htmlFor="email">Email address</Label>
629
- * <Label size="sm">Small label</Label>
630
- * ```
631
- */
632
- export declare const Label: React_2.ForwardRefExoticComponent<LabelProps & React_2.RefAttributes<HTMLLabelElement>>;
633
-
634
- export declare interface LabelProps extends React_2.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>, VariantProps<typeof labelVariants> {
635
- }
636
-
637
- export declare const labelVariants: (props?: ({
638
- size?: "sm" | "default" | null | undefined;
639
- } & ClassProp) | undefined) => string;
640
-
641
- /**
642
- * Link component for navigation following Engrate brand guidelines.
643
- * Supports multiple variants for different use cases.
644
- *
645
- * @example
646
- * ```tsx
647
- * <Link href="/about">About us</Link>
648
- * <Link href="/docs" variant="nav">Documentation</Link>
649
- * <Link asChild><NextLink href="/page">Next.js Link</NextLink></Link>
650
- * ```
651
- */
652
- export declare const Link: React_2.ForwardRefExoticComponent<LinkProps & React_2.RefAttributes<HTMLAnchorElement>>;
653
-
654
- export declare interface LinkProps extends React_2.AnchorHTMLAttributes<HTMLAnchorElement>, VariantProps<typeof linkVariants> {
655
- /** Render as a child component (for use with Next.js Link, etc.) */
656
- asChild?: boolean;
657
- }
658
-
659
- export declare const linkVariants: (props?: ({
660
- variant?: "default" | "nav" | "muted" | null | undefined;
661
- size?: "sm" | "default" | "lg" | null | undefined;
662
- } & ClassProp) | undefined) => string;
663
-
664
- export declare const Modal: React_2.FC<DialogPrimitive.DialogProps>;
665
-
666
- export declare const ModalClose: React_2.ForwardRefExoticComponent<DialogPrimitive.DialogCloseProps & React_2.RefAttributes<HTMLButtonElement>>;
667
-
668
- export declare const ModalContent: React_2.ForwardRefExoticComponent<ModalContentProps & React_2.RefAttributes<HTMLDivElement>>;
669
-
670
- export declare interface ModalContentProps extends React_2.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>, VariantProps<typeof modalContentVariants> {
671
- /** Whether to show the default close button in the top-right corner */
672
- showCloseButton?: boolean;
673
- }
674
-
675
- export declare const modalContentVariants: (props?: ({
676
- size?: "sm" | "default" | "lg" | "full" | null | undefined;
677
- } & ClassProp) | undefined) => string;
678
-
679
- export declare const ModalDescription: React_2.ForwardRefExoticComponent<ModalDescriptionProps & React_2.RefAttributes<HTMLParagraphElement>>;
680
-
681
- export declare interface ModalDescriptionProps extends React_2.ComponentPropsWithoutRef<typeof DialogPrimitive.Description> {
682
- }
683
-
684
- export declare const ModalFooter: React_2.ForwardRefExoticComponent<ModalFooterProps & React_2.RefAttributes<HTMLDivElement>>;
685
-
686
- export declare interface ModalFooterProps extends React_2.HTMLAttributes<HTMLDivElement> {
687
- }
688
-
689
- export declare const ModalHeader: React_2.ForwardRefExoticComponent<ModalHeaderProps & React_2.RefAttributes<HTMLDivElement>>;
690
-
691
- export declare interface ModalHeaderProps extends React_2.HTMLAttributes<HTMLDivElement> {
692
- }
693
-
694
- export declare const ModalOverlay: React_2.ForwardRefExoticComponent<ModalOverlayProps & React_2.RefAttributes<HTMLDivElement>>;
695
-
696
- export declare interface ModalOverlayProps extends React_2.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay> {
697
- }
698
-
699
- export declare const ModalPortal: React_2.FC<DialogPrimitive.DialogPortalProps>;
700
-
701
- export declare const ModalTitle: React_2.ForwardRefExoticComponent<ModalTitleProps & React_2.RefAttributes<HTMLHeadingElement>>;
702
-
703
- export declare interface ModalTitleProps extends React_2.ComponentPropsWithoutRef<typeof DialogPrimitive.Title> {
704
- }
705
-
706
- export declare const ModalTrigger: React_2.ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & React_2.RefAttributes<HTMLButtonElement>>;
707
-
708
- export declare const progressBarVariants: (props?: ({
709
- variant?: "default" | "muted" | "success" | null | undefined;
710
- animated?: boolean | null | undefined;
711
- } & ClassProp) | undefined) => string;
712
-
713
- /**
714
- * Progress indicator component following Engrate brand guidelines.
715
- * Uses Sunflower yellow as the default color for the progress bar.
716
- *
717
- * @example
718
- * ```tsx
719
- * <ProgressIndicator value={50} />
720
- * <ProgressIndicator value={75} size="lg" variant="success" />
721
- * <ProgressIndicator indeterminate label="Loading..." />
722
- * ```
723
- */
724
- export declare const ProgressIndicator: React_2.ForwardRefExoticComponent<ProgressIndicatorProps & React_2.RefAttributes<HTMLDivElement>>;
725
-
726
- export declare interface ProgressIndicatorProps extends React_2.HTMLAttributes<HTMLDivElement>, VariantProps<typeof progressIndicatorVariants>, VariantProps<typeof progressBarVariants> {
727
- /** Current progress value (0-100) */
728
- value?: number;
729
- /** Maximum progress value */
730
- max?: number;
731
- /** Accessible label for screen readers */
732
- label?: string;
733
- /** Whether to show indeterminate loading state */
734
- indeterminate?: boolean;
735
- }
736
-
737
- export declare const progressIndicatorVariants: (props?: ({
738
- size?: "sm" | "default" | "lg" | "xl" | null | undefined;
739
- } & ClassProp) | undefined) => string;
740
-
741
- /**
742
- * Radio group container component.
743
- * Built on Radix UI RadioGroup for accessibility.
744
- *
745
- * @example
746
- * ```tsx
747
- * <RadioGroup defaultValue="option1">
748
- * <RadioGroupItem value="option1" id="option1" />
749
- * <RadioGroupItem value="option2" id="option2" />
750
- * </RadioGroup>
751
- * ```
752
- */
753
- export declare const RadioGroup: React_2.ForwardRefExoticComponent<Omit<RadioGroupPrimitive.RadioGroupProps & React_2.RefAttributes<HTMLDivElement>, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
754
-
755
- /**
756
- * Radio group item component following Engrate brand guidelines.
757
- * Features sunflower accent when selected.
758
- *
759
- * @example
760
- * ```tsx
761
- * <RadioGroupItem value="option1" id="option1" />
762
- * ```
763
- */
764
- export declare const RadioGroupItem: React_2.ForwardRefExoticComponent<RadioGroupItemProps & React_2.RefAttributes<HTMLButtonElement>>;
765
-
766
- export declare interface RadioGroupItemProps extends React_2.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item> {
767
- }
768
-
769
- export declare const Select: React_2.FC<SelectPrimitive.SelectProps>;
770
-
771
- /**
772
- * Select dropdown content following Engrate brand guidelines.
773
- */
774
- export declare const SelectContent: React_2.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectContentProps & React_2.RefAttributes<HTMLDivElement>, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
775
-
776
- export declare const SelectGroup: React_2.ForwardRefExoticComponent<SelectPrimitive.SelectGroupProps & React_2.RefAttributes<HTMLDivElement>>;
777
-
778
- /**
779
- * Individual select option following Engrate brand guidelines.
780
- */
781
- export declare const SelectItem: React_2.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectItemProps & React_2.RefAttributes<HTMLDivElement>, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
782
-
783
- /**
784
- * Select label for grouping items.
785
- */
786
- export declare const SelectLabel: React_2.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectLabelProps & React_2.RefAttributes<HTMLDivElement>, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
787
-
788
- /**
789
- * Scrollable downward button for Select content.
790
- */
791
- export declare const SelectScrollDownButton: React_2.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollDownButtonProps & React_2.RefAttributes<HTMLDivElement>, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
792
-
793
- /**
794
- * Scrollable upward button for Select content.
795
- */
796
- export declare const SelectScrollUpButton: React_2.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollUpButtonProps & React_2.RefAttributes<HTMLDivElement>, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
797
-
798
- /**
799
- * Separator between select items.
800
- */
801
- export declare const SelectSeparator: React_2.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectSeparatorProps & React_2.RefAttributes<HTMLDivElement>, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
802
-
803
- /**
804
- * Select trigger button following Engrate brand guidelines.
805
- * Features rounded corners, subtle background, and sunflower focus ring.
806
- */
807
- export declare const SelectTrigger: React_2.ForwardRefExoticComponent<SelectTriggerProps & React_2.RefAttributes<HTMLButtonElement>>;
808
-
809
- export declare interface SelectTriggerProps extends React_2.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger> {
810
- variant?: 'default' | 'error';
811
- }
812
-
813
- export declare const SelectValue: React_2.ForwardRefExoticComponent<SelectPrimitive.SelectValueProps & React_2.RefAttributes<HTMLSpanElement>>;
814
-
815
- /**
816
- * Skeleton component for indicating loading states.
817
- * Displays a pulsing placeholder while content is loading.
818
- *
819
- * @example
820
- * ```tsx
821
- * <Skeleton width={200} height={20} />
822
- * <Skeleton variant="circular" width={40} height={40} />
823
- * <Skeleton variant="text" className="w-full h-4" />
824
- * ```
825
- */
826
- export declare const Skeleton: React_2.ForwardRefExoticComponent<SkeletonProps & React_2.RefAttributes<HTMLDivElement>>;
827
-
828
- export declare interface SkeletonProps extends React_2.HTMLAttributes<HTMLDivElement>, VariantProps<typeof skeletonVariants> {
829
- /** Width of the skeleton (CSS value or Tailwind class) */
830
- width?: string | number;
831
- /** Height of the skeleton (CSS value or Tailwind class) */
832
- height?: string | number;
833
- }
834
-
835
- export declare const skeletonVariants: (props?: ({
836
- variant?: "text" | "default" | "circular" | null | undefined;
837
- } & ClassProp) | undefined) => string;
838
-
839
- export declare type SortDirection = 'asc' | 'desc' | null;
840
-
841
- /**
842
- * Loading spinner component following Engrate brand guidelines.
843
- * Uses Sunflower yellow as the default color.
844
- *
845
- * @example
846
- * ```tsx
847
- * <Spinner />
848
- * <Spinner size="lg" variant="muted" />
849
- * <Spinner label="Loading data..." />
850
- * ```
851
- */
852
- export declare const Spinner: React_2.ForwardRefExoticComponent<SpinnerProps & React_2.RefAttributes<HTMLSpanElement>>;
853
-
854
- export declare interface SpinnerProps extends React_2.HTMLAttributes<HTMLSpanElement>, VariantProps<typeof spinnerVariants> {
855
- /** Accessible label for screen readers */
856
- label?: string;
857
- }
858
-
859
- export declare const spinnerVariants: (props?: ({
860
- variant?: "default" | "muted" | "inverted" | null | undefined;
861
- size?: "sm" | "default" | "lg" | "xl" | null | undefined;
862
- } & ClassProp) | undefined) => string;
863
-
864
- /**
865
- * Stack component for arranging elements in a vertical or horizontal stack.
866
- * Provides a flexible layout system with configurable direction, gaps, and alignment.
867
- *
868
- * @example
869
- * ```tsx
870
- * // Vertical stack (default)
871
- * <Stack gap="lg">
872
- * <Card>Item 1</Card>
873
- * <Card>Item 2</Card>
874
- * <Card>Item 3</Card>
875
- * </Stack>
876
- *
877
- * // Horizontal stack
878
- * <Stack direction="horizontal" gap="md" align="center">
879
- * <Button>Action 1</Button>
880
- * <Button>Action 2</Button>
881
- * </Stack>
882
- * ```
883
- */
884
- export declare const Stack: React_2.ForwardRefExoticComponent<StackProps & React_2.RefAttributes<HTMLDivElement>>;
885
-
886
- export declare interface StackProps extends React_2.HTMLAttributes<HTMLDivElement>, VariantProps<typeof stackVariants> {
887
- /** Render as a child component using Slot */
888
- asChild?: boolean;
889
- }
890
-
891
- export declare const stackVariants: (props?: ({
892
- direction?: "horizontal" | "vertical" | null | undefined;
893
- gap?: "sm" | "lg" | "none" | "xs" | "md" | "xl" | "2xl" | null | undefined;
894
- align?: "end" | "start" | "center" | "stretch" | "baseline" | null | undefined;
895
- justify?: "end" | "start" | "center" | "between" | "around" | "evenly" | null | undefined;
896
- wrap?: "wrap" | "nowrap" | "wrap-reverse" | null | undefined;
897
- } & ClassProp) | undefined) => string;
898
-
899
- /**
900
- * Switch component following Engrate brand guidelines.
901
- * Built on Radix UI Switch for accessibility.
902
- * Features sunflower background when on.
903
- *
904
- * @example
905
- * ```tsx
906
- * <Switch id="notifications" />
907
- * <Switch defaultChecked />
908
- * ```
909
- */
910
- export declare const Switch: React_2.ForwardRefExoticComponent<SwitchProps & React_2.RefAttributes<HTMLButtonElement>>;
911
-
912
- export declare interface SwitchProps extends React_2.ComponentPropsWithoutRef<typeof SwitchPrimitive.Root> {
913
- }
914
-
915
- /**
916
- * Content panel for a tab. Only visible when the matching tab is active.
917
- */
918
- export declare const TabContent: React_2.ForwardRefExoticComponent<TabContentProps & React_2.RefAttributes<HTMLDivElement>>;
919
-
920
- export declare interface TabContentProps extends React_2.HTMLAttributes<HTMLDivElement>, VariantProps<typeof tabContentVariants> {
921
- /** Value matching the TabTrigger this content belongs to */
922
- value: string;
923
- }
924
-
925
- export declare const tabContentVariants: (props?: ({
926
- size?: "sm" | "default" | "lg" | null | undefined;
927
- } & ClassProp) | undefined) => string;
928
-
929
- /**
930
- * Table root component following Engrate brand guidelines.
931
- * Features light gray backgrounds and subtle borders.
932
- *
933
- * @example
934
- * ```tsx
935
- * <Table>
936
- * <TableHeader>
937
- * <TableRow>
938
- * <TableHead>Name</TableHead>
939
- * </TableRow>
940
- * </TableHeader>
941
- * <TableBody>
942
- * <TableRow>
943
- * <TableCell>John Doe</TableCell>
944
- * </TableRow>
945
- * </TableBody>
946
- * </Table>
947
- * ```
948
- */
949
- export declare const Table: React_2.ForwardRefExoticComponent<TableProps & React_2.RefAttributes<HTMLTableElement>>;
950
-
951
- export declare const TableBody: React_2.ForwardRefExoticComponent<TableBodyProps & React_2.RefAttributes<HTMLTableSectionElement>>;
952
-
953
- declare interface TableBodyProps extends React_2.HTMLAttributes<HTMLTableSectionElement> {
954
- }
955
-
956
- export declare const TableCaption: React_2.ForwardRefExoticComponent<TableCaptionProps & React_2.RefAttributes<HTMLTableCaptionElement>>;
957
-
958
- declare interface TableCaptionProps extends React_2.HTMLAttributes<HTMLTableCaptionElement> {
959
- }
960
-
961
- export declare const TableCell: React_2.ForwardRefExoticComponent<TableCellProps & React_2.RefAttributes<HTMLTableCellElement>>;
962
-
963
- declare interface TableCellProps extends React_2.TdHTMLAttributes<HTMLTableCellElement> {
964
- }
965
-
966
- export declare const TableFooter: React_2.ForwardRefExoticComponent<TableFooterProps & React_2.RefAttributes<HTMLTableSectionElement>>;
967
-
968
- declare interface TableFooterProps extends React_2.HTMLAttributes<HTMLTableSectionElement> {
969
- }
970
-
971
- export declare const TableHead: React_2.ForwardRefExoticComponent<TableHeadProps & React_2.RefAttributes<HTMLTableCellElement>>;
972
-
973
- export declare const TableHeader: React_2.ForwardRefExoticComponent<TableHeaderProps & React_2.RefAttributes<HTMLTableSectionElement>>;
974
-
975
- declare interface TableHeaderProps extends React_2.HTMLAttributes<HTMLTableSectionElement> {
976
- }
977
-
978
- export declare interface TableHeadProps extends React_2.ThHTMLAttributes<HTMLTableCellElement>, Omit<VariantProps<typeof tableHeadVariants>, 'size'> {
979
- /** Enable sorting for this column */
980
- sortable?: boolean;
981
- /** Current sort direction */
982
- sortDirection?: SortDirection;
983
- /** Callback when sort is triggered */
984
- onSort?: () => void;
985
- }
986
-
987
- declare const tableHeadVariants: (props?: ({
988
- sortable?: boolean | null | undefined;
989
- size?: "default" | "compact" | null | undefined;
990
- } & ClassProp) | undefined) => string;
991
-
992
- export declare interface TableProps extends React_2.HTMLAttributes<HTMLTableElement>, VariantProps<typeof tableVariants> {
993
- }
994
-
995
- export declare const TableRow: React_2.ForwardRefExoticComponent<TableRowProps & React_2.RefAttributes<HTMLTableRowElement>>;
996
-
997
- export declare interface TableRowProps extends React_2.HTMLAttributes<HTMLTableRowElement>, VariantProps<typeof tableRowVariants> {
998
- }
999
-
1000
- declare const tableRowVariants: (props?: ({
1001
- variant?: "default" | "striped" | null | undefined;
1002
- } & ClassProp) | undefined) => string;
1003
-
1004
- export declare const tableVariants: (props?: ({
1005
- variant?: "default" | "striped" | null | undefined;
1006
- size?: "default" | "compact" | null | undefined;
1007
- } & ClassProp) | undefined) => string;
1008
-
1009
- /**
1010
- * Container for tab triggers. Renders the row of clickable tabs.
1011
- */
1012
- export declare const TabList: React_2.ForwardRefExoticComponent<TabListProps & React_2.RefAttributes<HTMLDivElement>>;
1013
-
1014
- export declare interface TabListProps extends React_2.HTMLAttributes<HTMLDivElement>, VariantProps<typeof tabListVariants> {
1015
- }
1016
-
1017
- export declare const tabListVariants: (props?: ({
1018
- variant?: "default" | "pills" | null | undefined;
1019
- } & ClassProp) | undefined) => string;
1020
-
1021
- /**
1022
- * Root container for the tabs component.
1023
- * Manages the active tab state and provides context to child components.
1024
- *
1025
- * @example
1026
- * ```tsx
1027
- * <Tabs defaultValue="tab1">
1028
- * <TabList>
1029
- * <TabTrigger value="tab1">Tab 1</TabTrigger>
1030
- * <TabTrigger value="tab2">Tab 2</TabTrigger>
1031
- * </TabList>
1032
- * <TabContent value="tab1">Content 1</TabContent>
1033
- * <TabContent value="tab2">Content 2</TabContent>
1034
- * </Tabs>
1035
- * ```
1036
- */
1037
- export declare const Tabs: React_2.ForwardRefExoticComponent<TabsProps & React_2.RefAttributes<HTMLDivElement>>;
1038
-
1039
- export declare interface TabsProps extends React_2.HTMLAttributes<HTMLDivElement> {
1040
- /** The default active tab value */
1041
- defaultValue?: string;
1042
- /** Controlled active tab value */
1043
- value?: string;
1044
- /** Callback when active tab changes */
1045
- onValueChange?: (value: string) => void;
1046
- }
1047
-
1048
- /**
1049
- * Individual tab trigger button. Clicking activates the associated TabContent.
1050
- */
1051
- export declare const TabTrigger: React_2.ForwardRefExoticComponent<TabTriggerProps & React_2.RefAttributes<HTMLButtonElement>>;
1052
-
1053
- export declare interface TabTriggerProps extends React_2.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof tabTriggerVariants> {
1054
- /** Unique value identifying this tab */
1055
- value: string;
1056
- }
1057
-
1058
- export declare const tabTriggerVariants: (props?: ({
1059
- variant?: "default" | "pills" | null | undefined;
1060
- size?: "sm" | "default" | "lg" | null | undefined;
1061
- } & ClassProp) | undefined) => string;
1062
-
1063
- declare const Text_2: React_2.ForwardRefExoticComponent<TextProps & React_2.RefAttributes<HTMLElement>>;
1064
- export { Text_2 as Text }
1065
-
1066
- /**
1067
- * Textarea component following Engrate brand guidelines.
1068
- * Features rounded corners, subtle background, and sunflower focus ring.
1069
- *
1070
- * @example
1071
- * ```tsx
1072
- * <Textarea placeholder="Enter your message" />
1073
- * <Textarea variant="error" placeholder="Invalid input" />
1074
- * <Textarea resize="none" placeholder="Fixed size" />
1075
- * ```
1076
- */
1077
- export declare const Textarea: React_2.ForwardRefExoticComponent<TextareaProps & React_2.RefAttributes<HTMLTextAreaElement>>;
1078
-
1079
- export declare interface TextareaProps extends React_2.TextareaHTMLAttributes<HTMLTextAreaElement>, VariantProps<typeof textareaVariants> {
1080
- }
1081
-
1082
- export declare const textareaVariants: (props?: ({
1083
- variant?: "default" | "error" | null | undefined;
1084
- resize?: "none" | "both" | "horizontal" | "vertical" | null | undefined;
1085
- } & ClassProp) | undefined) => string;
1086
-
1087
- declare type TextElement = 'p' | 'span' | 'div' | 'label';
1088
-
1089
- export declare interface TextProps extends React_2.HTMLAttributes<HTMLElement>, VariantProps<typeof textVariants> {
1090
- /**
1091
- * Render as a different element using Radix Slot
1092
- */
1093
- asChild?: boolean;
1094
- /**
1095
- * Override the default HTML element
1096
- * @default 'p'
1097
- */
1098
- as?: TextElement;
1099
- }
1100
-
1101
- export declare const textVariants: (props?: ({
1102
- variant?: "lead" | "semi-lead" | "body-lg" | "body" | "descriptive" | "label" | "label-sm" | null | undefined;
1103
- weight?: "medium" | "regular" | null | undefined;
1104
- } & ClassProp) | undefined) => string;
1105
-
1106
- export declare const Toast: React_2.ForwardRefExoticComponent<ToastProps & React_2.RefAttributes<HTMLLIElement>>;
1107
-
1108
- export declare const ToastAction: React_2.ForwardRefExoticComponent<ToastActionProps & React_2.RefAttributes<HTMLButtonElement>>;
1109
-
1110
- export declare interface ToastActionProps extends React_2.ComponentPropsWithoutRef<typeof ToastPrimitives.Action> {
1111
- }
1112
-
1113
- export declare const ToastClose: React_2.ForwardRefExoticComponent<ToastCloseProps & React_2.RefAttributes<HTMLButtonElement>>;
1114
-
1115
- export declare interface ToastCloseProps extends React_2.ComponentPropsWithoutRef<typeof ToastPrimitives.Close> {
1116
- }
1117
-
1118
- export declare const ToastDescription: React_2.ForwardRefExoticComponent<ToastDescriptionProps & React_2.RefAttributes<HTMLDivElement>>;
1119
-
1120
- export declare interface ToastDescriptionProps extends React_2.ComponentPropsWithoutRef<typeof ToastPrimitives.Description> {
1121
- }
1122
-
1123
- export declare interface ToastProps extends React_2.ComponentPropsWithoutRef<typeof ToastPrimitives.Root>, VariantProps<typeof toastVariants> {
1124
- }
1125
-
1126
- export declare const ToastProvider: React_2.FC<ToastPrimitives.ToastProviderProps>;
1127
-
1128
- export declare const ToastTitle: React_2.ForwardRefExoticComponent<ToastTitleProps & React_2.RefAttributes<HTMLDivElement>>;
1129
-
1130
- export declare interface ToastTitleProps extends React_2.ComponentPropsWithoutRef<typeof ToastPrimitives.Title> {
1131
- }
1132
-
1133
- export declare const toastVariants: (props?: ({
1134
- variant?: "default" | "error" | "success" | "warning" | "info" | null | undefined;
1135
- } & ClassProp) | undefined) => string;
1136
-
1137
- export declare const ToastViewport: React_2.ForwardRefExoticComponent<ToastViewportProps & React_2.RefAttributes<HTMLOListElement>>;
1138
-
1139
- export declare interface ToastViewportProps extends React_2.ComponentPropsWithoutRef<typeof ToastPrimitives.Viewport> {
1140
- }
1141
-
1142
- export declare const Tooltip: React_2.FC<TooltipPrimitive.TooltipProps>;
1143
-
1144
- export declare const TooltipArrow: React_2.ForwardRefExoticComponent<TooltipArrowProps & React_2.RefAttributes<SVGSVGElement>>;
1145
-
1146
- export declare interface TooltipArrowProps extends React_2.ComponentPropsWithoutRef<typeof TooltipPrimitive.Arrow> {
1147
- }
1148
-
1149
- /**
1150
- * Tooltip content component that displays contextual information.
1151
- * Follows Engrate brand guidelines with dark background by default.
1152
- *
1153
- * @example
1154
- * ```tsx
1155
- * <TooltipProvider>
1156
- * <Tooltip>
1157
- * <TooltipTrigger>Hover me</TooltipTrigger>
1158
- * <TooltipContent>Helpful information</TooltipContent>
1159
- * </Tooltip>
1160
- * </TooltipProvider>
1161
- * ```
1162
- */
1163
- export declare const TooltipContent: React_2.ForwardRefExoticComponent<TooltipContentProps & React_2.RefAttributes<HTMLDivElement>>;
1164
-
1165
- export declare interface TooltipContentProps extends React_2.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>, VariantProps<typeof tooltipContentVariants> {
1166
- /** Whether to show an arrow pointing to the trigger */
1167
- showArrow?: boolean;
1168
- }
1169
-
1170
- export declare const tooltipContentVariants: (props?: ({
1171
- variant?: "default" | "light" | null | undefined;
1172
- } & ClassProp) | undefined) => string;
1173
-
1174
- export declare const TooltipPortal: React_2.FC<TooltipPrimitive.TooltipPortalProps>;
1175
-
1176
- export declare const TooltipProvider: React_2.FC<TooltipPrimitive.TooltipProviderProps>;
1177
-
1178
- export declare const TooltipTrigger: React_2.ForwardRefExoticComponent<TooltipPrimitive.TooltipTriggerProps & React_2.RefAttributes<HTMLButtonElement>>;
1179
-
1180
- export declare function useFilterableTable<T>({ data, filterKeys, }: UseFilterableTableOptions<T>): UseFilterableTableReturn<T>;
1181
-
1182
- declare interface UseFilterableTableOptions<T> {
1183
- data: T[];
1184
- filterKeys?: (keyof T)[];
1185
- }
1186
-
1187
- declare interface UseFilterableTableReturn<T> {
1188
- filteredData: T[];
1189
- filterValue: string;
1190
- setFilterValue: (value: string) => void;
1191
- }
1192
-
1193
- export declare function useSortableTable<T>({ data, initialSortKey, initialSortDirection, }: UseSortableTableOptions<T>): UseSortableTableReturn<T>;
1194
-
1195
- declare interface UseSortableTableOptions<T> {
1196
- data: T[];
1197
- initialSortKey?: keyof T | null;
1198
- initialSortDirection?: 'asc' | 'desc';
1199
- }
1200
-
1201
- declare interface UseSortableTableReturn<T> {
1202
- sortedData: T[];
1203
- sortKey: keyof T | null;
1204
- sortDirection: SortDirection;
1205
- handleSort: (key: keyof T) => void;
1206
- }
1207
-
1208
- export { }
1
+ export * from './components';
2
+ export { cn } from './lib/utils';