@vectramindnpm/unified-design-system 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,775 @@
1
+ import { ClassValue } from 'clsx';
2
+ import * as React$1 from 'react';
3
+ import React__default from 'react';
4
+ import * as class_variance_authority_types from 'class-variance-authority/types';
5
+ import { VariantProps } from 'class-variance-authority';
6
+ import { Props } from 'react-infinite-scroll-component';
7
+
8
+ declare const designTokens: Readonly<{
9
+ color: {
10
+ brand: {
11
+ purple: string;
12
+ purple700: string;
13
+ purple600: string;
14
+ red: string;
15
+ blue: string;
16
+ };
17
+ neutral: {
18
+ white: string;
19
+ 100: string;
20
+ 200: string;
21
+ 300: string;
22
+ muted: string;
23
+ 350: string;
24
+ 400: string;
25
+ 450: string;
26
+ 500: string;
27
+ 600: string;
28
+ gray: string;
29
+ 700: string;
30
+ 800: string;
31
+ 900: string;
32
+ };
33
+ status: {
34
+ success: string;
35
+ danger: string;
36
+ warning: string;
37
+ };
38
+ gradient: {
39
+ brand: string;
40
+ };
41
+ };
42
+ spacing: {
43
+ xs: string;
44
+ sm: string;
45
+ md: string;
46
+ lg: string;
47
+ xl: string;
48
+ xxl: string;
49
+ };
50
+ font: {
51
+ family: {
52
+ base: string;
53
+ };
54
+ size: {
55
+ "2xs": string;
56
+ xs: string;
57
+ sm: string;
58
+ base: string;
59
+ md: string;
60
+ lg: string;
61
+ xl: string;
62
+ "2xl": string;
63
+ "3xl": string;
64
+ "4xl": string;
65
+ hero: string;
66
+ };
67
+ lineHeight: {
68
+ tight: string;
69
+ snug: string;
70
+ normal: string;
71
+ };
72
+ weight: {
73
+ regular: string;
74
+ medium: string;
75
+ semibold: string;
76
+ bold: string;
77
+ };
78
+ };
79
+ text: {
80
+ "2xs": string;
81
+ xs: string;
82
+ sm: string;
83
+ base: string;
84
+ md: string;
85
+ lg: string;
86
+ xl: string;
87
+ "2xl": string;
88
+ "3xl": string;
89
+ "4xl": string;
90
+ hero: string;
91
+ };
92
+ ctrl: {
93
+ xs: string;
94
+ sm: string;
95
+ md: string;
96
+ lg: string;
97
+ xl: string;
98
+ "2xl": string;
99
+ };
100
+ radius: {
101
+ xs: string;
102
+ sm: string;
103
+ md: string;
104
+ lg: string;
105
+ xl: string;
106
+ "2xl": string;
107
+ pill: string;
108
+ };
109
+ shadow: {
110
+ sm: string;
111
+ md: string;
112
+ lg: string;
113
+ };
114
+ opacity: {
115
+ low: string;
116
+ mid: string;
117
+ };
118
+ zIndex: {
119
+ overlay: number;
120
+ modal: number;
121
+ dropdown: number;
122
+ };
123
+ motion: {
124
+ duration: {
125
+ fast: string;
126
+ normal: string;
127
+ slow: string;
128
+ };
129
+ easing: {
130
+ standard: string;
131
+ accel: string;
132
+ };
133
+ };
134
+ }>;
135
+
136
+ declare const semanticTokens: Readonly<{
137
+ color: {
138
+ text: {
139
+ primary: string;
140
+ muted: string;
141
+ refreshIcon: string;
142
+ cancel: string;
143
+ gray: string;
144
+ blue: string;
145
+ secondary: string;
146
+ white: string;
147
+ };
148
+ background: {
149
+ surface: string;
150
+ card: string;
151
+ };
152
+ border: {
153
+ default: string;
154
+ card: string;
155
+ primary: string;
156
+ };
157
+ interactive: {
158
+ brand: string;
159
+ brandHover: string;
160
+ brandActive: string;
161
+ };
162
+ status: {
163
+ success: string;
164
+ danger: string;
165
+ warning: string;
166
+ };
167
+ gradient: {
168
+ brand: string;
169
+ };
170
+ };
171
+ spacing: {
172
+ componentGap: string;
173
+ formControl: string;
174
+ buttonX: string;
175
+ cardPadding: string;
176
+ };
177
+ font: {
178
+ bodySize: string;
179
+ labelSize: string;
180
+ headingSize: string;
181
+ };
182
+ radius: {
183
+ card: string;
184
+ control: string;
185
+ modal: string;
186
+ };
187
+ shadow: {
188
+ elevation1: string;
189
+ elevation2: string;
190
+ };
191
+ zIndex: {
192
+ modal: number;
193
+ overlay: number;
194
+ };
195
+ motion: {
196
+ duration: {
197
+ short: string;
198
+ default: string;
199
+ };
200
+ };
201
+ disabled: {
202
+ opacity: string;
203
+ };
204
+ focus: {
205
+ ring: string;
206
+ };
207
+ }>;
208
+
209
+ declare const componentTokens: Readonly<{
210
+ component: {
211
+ button: {
212
+ paddingX: string;
213
+ paddingY: string;
214
+ background: string;
215
+ backgroundHover: string;
216
+ textColor: string;
217
+ radius: string;
218
+ shadow: string;
219
+ };
220
+ card: {
221
+ padding: string;
222
+ background: string;
223
+ borderColor: string;
224
+ radius: string;
225
+ shadow: string;
226
+ };
227
+ modal: {
228
+ overlayZ: number;
229
+ z: number;
230
+ contentRadius: string;
231
+ };
232
+ panel: {
233
+ xs: string;
234
+ sm: string;
235
+ md: string;
236
+ lg: string;
237
+ xl: string;
238
+ "2xl": string;
239
+ dash: string;
240
+ };
241
+ sticky: {
242
+ table: {
243
+ top: string;
244
+ };
245
+ };
246
+ sp: {
247
+ 0: string;
248
+ "0-5": string;
249
+ 1: string;
250
+ "1-5": string;
251
+ 2: string;
252
+ "2-5": string;
253
+ 3: string;
254
+ 4: string;
255
+ 5: string;
256
+ 6: string;
257
+ 7: string;
258
+ 8: string;
259
+ 10: string;
260
+ 12: string;
261
+ 16: string;
262
+ 20: string;
263
+ px: string;
264
+ };
265
+ radius: {
266
+ full: string;
267
+ };
268
+ z: {
269
+ base: string;
270
+ dropdown: string;
271
+ sticky: string;
272
+ overlay: string;
273
+ drawer: string;
274
+ modal: string;
275
+ toast: string;
276
+ };
277
+ animation: {
278
+ delay: string;
279
+ };
280
+ duration: string;
281
+ animate: {
282
+ spin: string;
283
+ };
284
+ shimmer: {
285
+ width: string;
286
+ };
287
+ space: {
288
+ page: {
289
+ x: string;
290
+ y: string;
291
+ };
292
+ card: string;
293
+ };
294
+ content: {
295
+ max: {
296
+ width: string;
297
+ };
298
+ };
299
+ };
300
+ }>;
301
+
302
+ declare enum EViewMode {
303
+ GRID = "grid",
304
+ LIST = "list"
305
+ }
306
+
307
+ declare function cn(...inputs: ClassValue[]): string;
308
+
309
+ declare const Avatar: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
310
+ declare const AvatarImage: React$1.ForwardRefExoticComponent<React$1.ImgHTMLAttributes<HTMLImageElement> & React$1.RefAttributes<HTMLImageElement>>;
311
+ declare const AvatarFallback: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
312
+
313
+ declare const badgeVariants: (props?: ({
314
+ variant?: "default" | "secondary" | "destructive" | "outline" | "hold" | "transfer" | "noShow" | "success" | "normal" | "pending" | "tag" | "active" | "inactive" | "count" | "code" | null | undefined;
315
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
316
+ interface BadgeProps extends React$1.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
317
+ dot?: boolean;
318
+ }
319
+ declare function Badge({ className, variant, style, dot, children, ...props }: BadgeProps): React$1.JSX.Element;
320
+
321
+ /**
322
+ * Button's variant surface is intentionally small — six semantic colors × five sizes ×
323
+ * two shapes, all independently composable, instead of one flat enum. It used to carry
324
+ * 19 `variant` values that actually conflated four unrelated things: color/emphasis
325
+ * (primary/secondary/destructive/...), shape (pill vs. rounded), fixed footer sizing
326
+ * (cancel/save/close, formButtonSubmit/Cancel/Back), and one-off page-specific skins
327
+ * (lang, submenu, deptedit) — see the README for the full before/after mapping and how
328
+ * to reproduce any of those removed one-offs with `className`.
329
+ *
330
+ * `refreshIcon`/`selectedIcon` were dropped entirely rather than folded in: an icon-only
331
+ * refresh/selected button already has a proper home in `ButtonIcon` (`variant="refresh"`),
332
+ * so Button doesn't need to duplicate that.
333
+ */
334
+ declare const buttonVariants: (props?: ({
335
+ variant?: "link" | "secondary" | "destructive" | "outline" | "primary" | "ghost" | null | undefined;
336
+ size?: "sm" | "lg" | "default" | "icon" | "iconLg" | null | undefined;
337
+ shape?: "pill" | "default" | null | undefined;
338
+ selected?: boolean | null | undefined;
339
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
340
+ interface ButtonProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
341
+ asChild?: boolean;
342
+ selected?: boolean;
343
+ /** Wraps the button in a Tooltip showing this text, instead of requiring a separate Tooltip wrapper at every call site. */
344
+ tooltipText?: string;
345
+ }
346
+ declare const Button: React$1.ForwardRefExoticComponent<ButtonProps & React$1.RefAttributes<HTMLButtonElement>>;
347
+
348
+ declare const iconVariants: (props?: ({
349
+ variant?: "circle" | "filled" | "ghost" | "plain" | "outlined" | "modalClose" | "refresh" | null | undefined;
350
+ size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined;
351
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
352
+ type IconColor = "primary" | "secondary" | "danger" | "success" | "warning" | "muted" | "white";
353
+ interface IconBgColor {
354
+ base: string;
355
+ hover?: string;
356
+ }
357
+ type ActionColor = "call" | "end" | "hold" | "transfer" | "noShow" | "activate" | "success";
358
+ declare const actionColorTokens: Record<ActionColor, IconBgColor>;
359
+ declare function getIconColorProps(colorName: IconColor, hoverColorName?: IconColor, bgColor?: IconBgColor): {
360
+ className: string;
361
+ style: Record<string, string>;
362
+ };
363
+
364
+ interface IconProps$1 extends Omit<React$1.ButtonHTMLAttributes<HTMLButtonElement>, "color">, VariantProps<typeof iconVariants> {
365
+ name: string;
366
+ color?: IconColor;
367
+ hoverColor?: IconColor;
368
+ bgColor?: string;
369
+ bgHoverColor?: string;
370
+ actionColor?: ActionColor;
371
+ tooltipText?: string;
372
+ showTooltip?: boolean;
373
+ }
374
+ declare const ButtonIcon: React$1.ForwardRefExoticComponent<IconProps$1 & React$1.RefAttributes<HTMLButtonElement>>;
375
+
376
+ /**
377
+ * Base Card — intentionally unstyled so it works as a generic layout div.
378
+ * Pass className to apply any styles (e.g. "app-card", "user-card", etc.).
379
+ * Pass `editing` to append the shared `.app-card--editing` modifier.
380
+ */
381
+ interface CardProps extends React$1.HTMLAttributes<HTMLDivElement> {
382
+ /** Appends `.app-card--editing` when true */
383
+ editing?: boolean;
384
+ }
385
+ declare const Card: React$1.ForwardRefExoticComponent<CardProps & React$1.RefAttributes<HTMLDivElement>>;
386
+ declare const CardHeader: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
387
+ declare const CardTitle: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
388
+ declare const CardDescription: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
389
+ declare const CardContent: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
390
+ declare const CardFooter: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
391
+
392
+ type CheckboxColorVariant = "green" | "blue" | "purple";
393
+ type CheckboxSize = "sm" | "md" | "lg" | "xl" | "2xl" | "3xl";
394
+ type CheckBoxRoundedVariant = "sm" | "md" | "lg" | "xl" | "2xl" | "3xl";
395
+ interface CheckboxIndicatorProps {
396
+ checked?: boolean;
397
+ indeterminate?: boolean;
398
+ disabled?: boolean;
399
+ colorVariant?: CheckboxColorVariant;
400
+ size?: CheckboxSize;
401
+ className?: string;
402
+ roundedVariant?: CheckBoxRoundedVariant;
403
+ }
404
+ declare const CheckboxIndicator: React$1.ForwardRefExoticComponent<CheckboxIndicatorProps & React$1.RefAttributes<HTMLSpanElement>>;
405
+ interface CheckboxProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, "type" | "size"> {
406
+ colorVariant?: CheckboxColorVariant;
407
+ size?: CheckboxSize;
408
+ indeterminate?: boolean;
409
+ label?: React$1.ReactNode;
410
+ wrapperClassName?: string;
411
+ labelClassName?: string;
412
+ roundedVariant?: CheckBoxRoundedVariant;
413
+ }
414
+ declare const Checkbox: React$1.ForwardRefExoticComponent<CheckboxProps & React$1.RefAttributes<HTMLInputElement>>;
415
+
416
+ interface DeleteActionProps {
417
+ onClick: () => void;
418
+ tooltipText?: string;
419
+ showTooltip?: boolean;
420
+ className?: string;
421
+ }
422
+ declare const DeleteAction: React__default.FC<DeleteActionProps>;
423
+
424
+ interface DialogProps {
425
+ open?: boolean;
426
+ onOpenChange?: (open: boolean) => void;
427
+ children: React$1.ReactNode;
428
+ }
429
+ declare const Dialog: ({ open: controlledOpen, onOpenChange, children }: DialogProps) => React$1.JSX.Element;
430
+ declare const DialogTrigger: React$1.ForwardRefExoticComponent<React$1.ButtonHTMLAttributes<HTMLButtonElement> & React$1.RefAttributes<HTMLButtonElement>>;
431
+ declare const DialogPortal: ({ children }: {
432
+ children: React$1.ReactNode;
433
+ }) => React$1.JSX.Element | null;
434
+ declare const DialogClose: React$1.ForwardRefExoticComponent<React$1.ButtonHTMLAttributes<HTMLButtonElement> & React$1.RefAttributes<HTMLButtonElement>>;
435
+ interface DialogOverlayProps extends React$1.HTMLAttributes<HTMLDivElement> {
436
+ /** Set false to prevent clicking the overlay from closing the dialog
437
+ * (e.g. confirmation/form dialogs that must not lose input to a stray click). */
438
+ closeOnClick?: boolean;
439
+ }
440
+ declare const DialogOverlay: React$1.ForwardRefExoticComponent<DialogOverlayProps & React$1.RefAttributes<HTMLDivElement>>;
441
+ interface DialogContentProps extends React$1.HTMLAttributes<HTMLDivElement> {
442
+ /** Set false when the modal renders its own close control in a custom header. */
443
+ showCloseButton?: boolean;
444
+ /** Set false to prevent the Escape key from closing the dialog. Default true. */
445
+ closeOnEscape?: boolean;
446
+ /** Set false to prevent clicking the overlay from closing the dialog. Default true. */
447
+ closeOnOverlayClick?: boolean;
448
+ }
449
+ declare const DialogContent: React$1.ForwardRefExoticComponent<DialogContentProps & React$1.RefAttributes<HTMLDivElement>>;
450
+ declare const DialogHeader: {
451
+ ({ className, ...props }: React$1.HTMLAttributes<HTMLDivElement>): React$1.JSX.Element;
452
+ displayName: string;
453
+ };
454
+ declare const DialogFooter: {
455
+ ({ className, ...props }: React$1.HTMLAttributes<HTMLDivElement>): React$1.JSX.Element;
456
+ displayName: string;
457
+ };
458
+ declare const DialogTitle: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLHeadingElement> & React$1.RefAttributes<HTMLHeadingElement>>;
459
+ declare const DialogDescription: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLParagraphElement> & React$1.RefAttributes<HTMLParagraphElement>>;
460
+
461
+ interface DropdownMenuProps {
462
+ open?: boolean;
463
+ onOpenChange?: (open: boolean) => void;
464
+ children: React$1.ReactNode;
465
+ }
466
+ declare const DropdownMenu: ({ open: controlledOpen, onOpenChange, children }: DropdownMenuProps) => React$1.JSX.Element;
467
+ declare const DropdownMenuTrigger: React$1.ForwardRefExoticComponent<React$1.ButtonHTMLAttributes<HTMLButtonElement> & {
468
+ asChild?: boolean;
469
+ } & React$1.RefAttributes<HTMLButtonElement>>;
470
+ declare const DropdownMenuGroup: ({ children }: {
471
+ children: React$1.ReactNode;
472
+ }) => React$1.JSX.Element;
473
+ declare const DropdownMenuPortal: ({ children }: {
474
+ children: React$1.ReactNode;
475
+ }) => React$1.ReactPortal;
476
+ declare const DropdownMenuSub: ({ children }: {
477
+ children: React$1.ReactNode;
478
+ }) => React$1.JSX.Element;
479
+ declare const DropdownMenuRadioGroup: ({ children }: {
480
+ children: React$1.ReactNode;
481
+ }) => React$1.JSX.Element;
482
+ declare const DropdownMenuSubTrigger: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & {
483
+ inset?: boolean;
484
+ } & React$1.RefAttributes<HTMLDivElement>>;
485
+ declare const DropdownMenuSubContent: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
486
+ declare const DropdownMenuContent: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & {
487
+ sideOffset?: number;
488
+ align?: "start" | "center" | "end";
489
+ } & React$1.RefAttributes<HTMLDivElement>>;
490
+ declare const DropdownMenuItem: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & {
491
+ inset?: boolean;
492
+ } & React$1.RefAttributes<HTMLDivElement>>;
493
+ declare const DropdownMenuCheckboxItem: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & {
494
+ checked?: boolean;
495
+ } & React$1.RefAttributes<HTMLDivElement>>;
496
+ declare const DropdownMenuRadioItem: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
497
+ declare const DropdownMenuLabel: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & {
498
+ inset?: boolean;
499
+ } & React$1.RefAttributes<HTMLDivElement>>;
500
+ declare const DropdownMenuSeparator: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
501
+ declare const DropdownMenuShortcut: {
502
+ ({ className, ...props }: React$1.HTMLAttributes<HTMLSpanElement>): React$1.JSX.Element;
503
+ displayName: string;
504
+ };
505
+
506
+ interface ExpandableSearchProps {
507
+ onSearch: (value: string) => void;
508
+ placeholder?: string;
509
+ className?: string;
510
+ }
511
+ declare const ExpandableSearch: ({ onSearch, placeholder, className }: ExpandableSearchProps) => React__default.JSX.Element;
512
+
513
+ interface FileInputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, "type" | "size"> {
514
+ children?: React$1.ReactNode;
515
+ wrapperClassName?: string;
516
+ labelClassName?: string;
517
+ labelStyle?: React$1.CSSProperties;
518
+ labelProps?: Omit<React$1.LabelHTMLAttributes<HTMLLabelElement>, "htmlFor" | "className" | "style">;
519
+ }
520
+ declare const FileInput: React$1.ForwardRefExoticComponent<FileInputProps & React$1.RefAttributes<HTMLInputElement>>;
521
+
522
+ interface FormFieldProps {
523
+ label?: string;
524
+ required?: boolean;
525
+ /** Formik field name — renders <ErrorMessage> automatically */
526
+ errorName?: string;
527
+ /** Manual error node/string for non-Formik usage */
528
+ error?: React__default.ReactNode;
529
+ hint?: string;
530
+ children: React__default.ReactNode;
531
+ className?: string;
532
+ }
533
+ /**
534
+ * Reusable form field wrapper — consistent label, field, and error layout.
535
+ *
536
+ * With Formik (recommended):
537
+ * <FormField label="Name" required errorName="name" className="form__field">
538
+ * <Field name="name" className="formfield__input" />
539
+ * </FormField>
540
+ *
541
+ * With React Select:
542
+ * <FormField label="Flow" required errorName="flowId" className="form__field">
543
+ * <MySelect className="formfield__select" classNamePrefix="rs" ... />
544
+ * </FormField>
545
+ *
546
+ * Manual error (non-Formik):
547
+ * <FormField label="Name" error={touched.x && errors.x}>
548
+ * <input className="formfield__input" />
549
+ * </FormField>
550
+ */
551
+ declare const FormField: React__default.FC<FormFieldProps>;
552
+
553
+ interface IconProps extends Omit<React$1.HTMLAttributes<HTMLElement>, "color">, VariantProps<typeof iconVariants> {
554
+ name: string;
555
+ color?: IconColor;
556
+ hoverColor?: IconColor;
557
+ tooltipText?: string;
558
+ showTooltip?: boolean;
559
+ disabled?: boolean;
560
+ }
561
+ declare const Icon: React$1.ForwardRefExoticComponent<IconProps & React$1.RefAttributes<HTMLElement>>;
562
+
563
+ interface InputProps extends React$1.InputHTMLAttributes<HTMLInputElement> {
564
+ error?: boolean;
565
+ as?: "input" | "field";
566
+ innerRef?: React$1.Ref<HTMLInputElement>;
567
+ }
568
+ declare const Input: React$1.ForwardRefExoticComponent<InputProps & React$1.RefAttributes<HTMLInputElement>>;
569
+
570
+ /**
571
+ * AppList — wraps the list/table view container (.app-list-wrapper).
572
+ * Compose with AppListHeader and AppListBody.
573
+ */
574
+ declare const AppList: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
575
+ /**
576
+ * AppListHeader — sticky header row (.app-list-header).
577
+ * style grid-template-columns on the element or a wrapper inside.
578
+ */
579
+ declare const AppListHeader: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
580
+ /**
581
+ * AppListBody — contains the rows.
582
+ */
583
+ declare const AppListBody: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
584
+ /**
585
+ * AppListItem — a single data row (.app-list-row).
586
+ * Pass `editing` to apply the editing highlight modifier.
587
+ */
588
+ interface AppListItemProps extends React$1.HTMLAttributes<HTMLDivElement> {
589
+ editing?: boolean;
590
+ }
591
+ declare const AppListItem: React$1.ForwardRefExoticComponent<AppListItemProps & React$1.RefAttributes<HTMLDivElement>>;
592
+ /**
593
+ * AppListCell — a cell inside a list row (.app-list-cell).
594
+ * Pass `muted` for de-emphasised text, `actions` for right-aligned action buttons.
595
+ */
596
+ interface AppListCellProps extends React$1.HTMLAttributes<HTMLDivElement> {
597
+ muted?: boolean;
598
+ actions?: boolean;
599
+ }
600
+ declare const AppListCell: React$1.ForwardRefExoticComponent<AppListCellProps & React$1.RefAttributes<HTMLDivElement>>;
601
+
602
+ interface LoaderProps {
603
+ isLoading: boolean;
604
+ }
605
+ declare const Loader: React__default.FC<LoaderProps>;
606
+
607
+ interface PopoverProps {
608
+ open?: boolean;
609
+ onOpenChange?: (open: boolean) => void;
610
+ children: React$1.ReactNode;
611
+ }
612
+ declare function Popover({ open: controlledOpen, onOpenChange, children }: PopoverProps): React$1.JSX.Element;
613
+ interface PopoverTriggerProps {
614
+ asChild?: boolean;
615
+ children: React$1.ReactElement;
616
+ }
617
+ declare const PopoverTrigger: React$1.ForwardRefExoticComponent<PopoverTriggerProps & React$1.RefAttributes<HTMLElement>>;
618
+ interface PopoverContentProps extends React$1.HTMLAttributes<HTMLDivElement> {
619
+ side?: "top" | "right" | "bottom" | "left";
620
+ align?: "start" | "center" | "end";
621
+ sideOffset?: number;
622
+ onMouseEnter?: () => void;
623
+ onMouseLeave?: () => void;
624
+ }
625
+ declare const PopoverContent: React$1.ForwardRefExoticComponent<PopoverContentProps & React$1.RefAttributes<HTMLDivElement>>;
626
+
627
+ type RadioColorVariant = "brand" | "blue";
628
+ type RadioSize = "sm" | "md" | "lg";
629
+ interface RadioButtonProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, "type" | "size"> {
630
+ colorVariant?: RadioColorVariant;
631
+ size?: RadioSize;
632
+ label?: React$1.ReactNode;
633
+ wrapperClassName?: string;
634
+ labelClassName?: string;
635
+ }
636
+ declare const RadioButton: React$1.ForwardRefExoticComponent<RadioButtonProps & React$1.RefAttributes<HTMLInputElement>>;
637
+
638
+ declare const ScrollArea: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
639
+ declare const ScrollBar: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & {
640
+ orientation?: "vertical" | "horizontal";
641
+ } & React$1.RefAttributes<HTMLDivElement>>;
642
+
643
+ /** Auto-scrolls & focuses the first Formik error field only within the action panel on form submit */
644
+ declare const ScrollToFieldError: React.FC;
645
+
646
+ interface SwitchProps extends Omit<React$1.HTMLAttributes<HTMLLabelElement>, 'onChange'> {
647
+ checked?: boolean;
648
+ disabled?: boolean;
649
+ onCheckedChange?: (checked: boolean) => void;
650
+ }
651
+ declare const Switch: React$1.ForwardRefExoticComponent<SwitchProps & React$1.RefAttributes<HTMLLabelElement>>;
652
+
653
+ declare const tabVariants: (props?: ({
654
+ variant?: "default" | "secondary" | "active" | "primary" | null | undefined;
655
+ size?: "sm" | "md" | "lg" | null | undefined;
656
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
657
+ interface TabProps extends VariantProps<typeof tabVariants> {
658
+ active?: boolean;
659
+ icon?: React$1.ReactNode;
660
+ children: React$1.ReactNode;
661
+ className?: string;
662
+ disabled?: boolean;
663
+ onClick?: () => void;
664
+ }
665
+ declare const Tab: React$1.ForwardRefExoticComponent<TabProps & React$1.RefAttributes<HTMLDivElement>>;
666
+
667
+ declare const tableVariants: (props?: ({
668
+ variant?: "default" | "flows" | "users" | "departments" | "queues" | "devices" | "reports" | "appointments" | "doctors" | "roles" | "feedbackForms" | "feedbackConfig" | "alertConfig" | "escalationConfig" | "kiosks" | "displayBoards" | "reportDownloadLinks" | "activeUsers" | "servingTokens" | "tokenServing" | "floatingTokens" | "ordersPending" | null | undefined;
669
+ density?: "compact" | "comfortable" | null | undefined;
670
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
671
+ interface TableHeaderItem {
672
+ key: string;
673
+ title: React$1.ReactNode;
674
+ className?: string;
675
+ sticky?: "left" | "right";
676
+ style?: React$1.CSSProperties;
677
+ }
678
+ interface TableProps extends React$1.HTMLAttributes<HTMLDivElement>, VariantProps<typeof tableVariants> {
679
+ headers: TableHeaderItem[];
680
+ children: React$1.ReactNode;
681
+ infiniteScrollProps: Omit<Props, "children">;
682
+ wrapperClassName?: string;
683
+ wrapperId?: string;
684
+ bodyClassName?: string;
685
+ enableHorizontalScroll?: boolean;
686
+ contentClassName?: string;
687
+ headerClassName?: string;
688
+ stickyHeader?: boolean;
689
+ /**
690
+ * Default = false
691
+ *
692
+ * false -> Header is rendered outside InfiniteScroll
693
+ * (existing behaviour used by FlowsViewManager)
694
+ *
695
+ * true -> Header is rendered inside InfiniteScroll
696
+ * (required by ServingTab to have a single scroll container)
697
+ */
698
+ headerInsideScroll?: boolean;
699
+ }
700
+ declare const Table: React$1.ForwardRefExoticComponent<TableProps & React$1.RefAttributes<HTMLDivElement>>;
701
+
702
+ interface TextareaProps extends React$1.TextareaHTMLAttributes<HTMLTextAreaElement> {
703
+ /** Opt-in error/invalid styling (red border). */
704
+ error?: boolean;
705
+ /** Render as native textarea or Formik Field */
706
+ as?: "textarea" | "field";
707
+ }
708
+ declare const Textarea: React$1.ForwardRefExoticComponent<TextareaProps & React$1.RefAttributes<HTMLTextAreaElement>>;
709
+
710
+ interface TimePickerProps {
711
+ value: Date | null;
712
+ onChange: (d: Date | null) => void;
713
+ placeholder?: string;
714
+ minTime?: Date | null;
715
+ maxTime?: Date | null;
716
+ disabled?: boolean;
717
+ isClearable?: boolean;
718
+ /** Minute-column step, e.g. 5 renders :00,:05,...,:55. Defaults to 1 (every minute). */
719
+ minuteInterval?: number;
720
+ }
721
+ declare const _default: React__default.NamedExoticComponent<TimePickerProps>;
722
+
723
+ interface ToastProps {
724
+ title?: string;
725
+ description?: React$1.ReactNode;
726
+ type?: "success" | "error" | "info" | "warning";
727
+ duration?: number;
728
+ isRTL?: boolean;
729
+ onClose: () => void;
730
+ }
731
+ declare function Toast({ description, type, duration, isRTL, onClose, }: ToastProps): React$1.JSX.Element;
732
+
733
+ declare const TooltipProvider: ({ children }: {
734
+ children: React$1.ReactNode;
735
+ delayDuration?: number;
736
+ }) => React$1.JSX.Element;
737
+ interface TooltipProps {
738
+ open?: boolean;
739
+ onOpenChange?: (open: boolean) => void;
740
+ children: React$1.ReactNode;
741
+ delayDuration?: number;
742
+ }
743
+ declare const Tooltip: ({ open: controlledOpen, onOpenChange, children, delayDuration }: TooltipProps) => React$1.JSX.Element;
744
+ declare const TooltipTrigger: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & {
745
+ asChild?: boolean;
746
+ } & React$1.RefAttributes<HTMLDivElement>>;
747
+ declare const TooltipContent: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & {
748
+ sideOffset?: number;
749
+ side?: "top" | "right" | "bottom" | "left";
750
+ } & React$1.RefAttributes<HTMLDivElement>>;
751
+
752
+ declare const CARD_TEXT_LIMIT = 20;
753
+ interface TruncatedTextProps {
754
+ /** The full text to display. */
755
+ text: any;
756
+ maxLength?: number;
757
+ className?: string;
758
+ /** Current grid/list view mode — pass this from whatever state manages it in your app. */
759
+ viewMode?: EViewMode;
760
+ }
761
+ declare const TruncatedText: React$1.FC<TruncatedTextProps>;
762
+
763
+ type ViewMode = EViewMode;
764
+ declare const useViewMode: () => [EViewMode, (mode: EViewMode) => void];
765
+ interface ViewToggleProps {
766
+ /** Current view mode. Defaults to GRID if not provided (uncontrolled callers can pair this with `useViewMode`). */
767
+ viewMode?: EViewMode;
768
+ onViewModeChange: (mode: EViewMode) => void;
769
+ }
770
+ /**
771
+ * Reusable grid / list view-mode toggle used across all manager pages.
772
+ */
773
+ declare const ViewToggle: React$1.FC<ViewToggleProps>;
774
+
775
+ export { type ActionColor, AppList, AppListBody, AppListCell, AppListHeader, AppListItem, Avatar, AvatarFallback, AvatarImage, Badge, type BadgeProps, Button, ButtonIcon, type IconProps$1 as ButtonIconProps, type ButtonProps, CARD_TEXT_LIMIT, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, type CheckBoxRoundedVariant, Checkbox, type CheckboxColorVariant, CheckboxIndicator, type CheckboxIndicatorProps, type CheckboxProps, type CheckboxSize, DeleteAction, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EViewMode, ExpandableSearch, FileInput, type FileInputProps, FormField, Icon, type IconBgColor, type IconColor, type IconProps, Input, type InputProps, Loader, Popover, PopoverContent, PopoverTrigger, RadioButton, type RadioButtonProps, type RadioColorVariant, type RadioSize, ScrollArea, ScrollBar, ScrollToFieldError, Switch, Tab, type TabProps, Table, type TableHeaderItem, type TableProps, Textarea, type TextareaProps, _default as TimePicker, type TimePickerProps, Toast, type ToastProps, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TruncatedText, type ViewMode, ViewToggle, actionColorTokens, badgeVariants, buttonVariants, cn, componentTokens, designTokens, getIconColorProps, iconVariants, semanticTokens, tabVariants, tableVariants, useViewMode };