@eml-payments/ui-kit 1.2.9 → 1.3.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.
@@ -0,0 +1,488 @@
1
+ import * as React$1 from 'react';
2
+ import React__default, { PropsWithChildren, InputHTMLAttributes, ComponentProps, ReactNode, JSX } from 'react';
3
+ import { VariantProps } from 'class-variance-authority';
4
+ import * as class_variance_authority_dist_types from 'class-variance-authority/dist/types';
5
+ import * as react_jsx_runtime from 'react/jsx-runtime';
6
+ import { ColumnDef, SortingState, Row } from '@tanstack/react-table';
7
+ import * as TooltipPrimitive from '@radix-ui/react-tooltip';
8
+ import * as SelectPrimitive from '@radix-ui/react-select';
9
+ import { SelectTrigger as SelectTrigger$1, SelectContent as SelectContent$1 } from '@radix-ui/react-select';
10
+ import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
11
+ import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
12
+ import { Checkbox as Checkbox$1 } from '@radix-ui/react-checkbox';
13
+ import * as SwitchPrimitives from '@radix-ui/react-switch';
14
+ import { Switch as Switch$1 } from '@radix-ui/react-switch';
15
+ import * as LabelPrimitive from '@radix-ui/react-label';
16
+ import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
17
+ import * as DialogPrimitive from '@radix-ui/react-dialog';
18
+ import * as TabsPrimitive from '@radix-ui/react-tabs';
19
+ import * as AvatarPrimitive from '@radix-ui/react-avatar';
20
+
21
+ type ColorVariant = string | {
22
+ light: string;
23
+ dark: string;
24
+ };
25
+ type UIKitColors = {
26
+ primary?: ColorVariant;
27
+ secondary?: ColorVariant;
28
+ accent?: ColorVariant;
29
+ success?: ColorVariant;
30
+ warning?: ColorVariant;
31
+ error?: ColorVariant;
32
+ info?: ColorVariant;
33
+ background?: ColorVariant;
34
+ foreground?: ColorVariant;
35
+ textPrimary?: ColorVariant;
36
+ textSecondary?: ColorVariant;
37
+ [key: string]: ColorVariant | undefined;
38
+ };
39
+ type UIKitConfig = {
40
+ colors?: UIKitColors;
41
+ radius?: string;
42
+ fontFamily?: string;
43
+ [key: string]: unknown;
44
+ };
45
+
46
+ declare const UIKitProvider: React__default.FC<PropsWithChildren<{
47
+ config?: UIKitConfig;
48
+ }>>;
49
+
50
+ declare const useUIKitTheme: () => UIKitConfig;
51
+
52
+ declare const buttonVariants: (props?: ({
53
+ variant?: "primary" | "secondary" | "primaryFilled" | "primaryOutlined" | "primaryText" | "secondaryFilled" | "secondaryOutlined" | "secondaryText" | "outlined" | "ghost" | "destructive" | null | undefined;
54
+ size?: "default" | "sm" | "lg" | "icon" | null | undefined;
55
+ } & class_variance_authority_dist_types.ClassProp) | undefined) => string;
56
+
57
+ interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
58
+ children: React.ReactNode;
59
+ asChild?: boolean;
60
+ loading?: boolean;
61
+ loadingText?: string;
62
+ icon?: React.ReactNode;
63
+ iconPosition?: 'left' | 'right';
64
+ }
65
+
66
+ declare const Button: React$1.ForwardRefExoticComponent<ButtonProps & React$1.RefAttributes<HTMLButtonElement>>;
67
+
68
+ interface InputProps extends InputHTMLAttributes<HTMLInputElement> {
69
+ label?: string;
70
+ error?: string;
71
+ helperText?: string;
72
+ icon?: React.ReactNode;
73
+ variant?: 'default' | 'search';
74
+ }
75
+
76
+ declare const Input: React__default.ForwardRefExoticComponent<InputProps & React__default.RefAttributes<HTMLInputElement>>;
77
+
78
+ type DropdownStructure = 'default' | 'checkbox' | 'radio' | 'grouped' | 'submenu';
79
+ type DropdownOption = {
80
+ label: string;
81
+ value?: string;
82
+ checked?: boolean;
83
+ onCheckedChange?: (checked: boolean) => void;
84
+ onClick?: () => void;
85
+ disabled?: boolean;
86
+ subOptions?: DropdownOption[];
87
+ groupLabel?: string;
88
+ };
89
+
90
+ type FlexColumnDef<T> = ColumnDef<T> & {
91
+ flex?: number;
92
+ };
93
+ type InfiniteScrollOptions = {
94
+ enabled: boolean;
95
+ hasNextPage: boolean;
96
+ isFetchingNextPage?: boolean;
97
+ fetchNextPage: () => void;
98
+ rootMarginPx?: number;
99
+ loadingMoreMessage?: string;
100
+ noMoreDataMessage?: string;
101
+ };
102
+ type PaginationMode = 'client' | 'server' | 'none';
103
+ interface VirtualizationOptions {
104
+ enabled: boolean;
105
+ rowEstimate?: number;
106
+ overscan?: number;
107
+ }
108
+ interface TableProps<T> {
109
+ id: string;
110
+ height?: number | string;
111
+ data: T[];
112
+ columns: FlexColumnDef<T>[];
113
+ rowIdKey?: keyof T | 'id';
114
+ className?: string;
115
+ isLoading?: boolean;
116
+ showSkeletonRows?: boolean;
117
+ checkboxSelection?: boolean;
118
+ checkboxPosition?: 'start' | 'end';
119
+ sorting?: SortingState;
120
+ onSortingChange?: (s: SortingState) => void;
121
+ onSelectionChange?: (selectedIds: string[]) => void;
122
+ enableRowSelection?: (row: Row<T>) => boolean;
123
+ onRefetch?: (pageIndex: number, pageSize: number) => void;
124
+ isMultiRowSelection?: boolean;
125
+ totalServerRows?: number;
126
+ paginationMode?: PaginationMode;
127
+ noRowsMessage?: string;
128
+ rowsPerPage?: number;
129
+ selectedRowIds?: string[];
130
+ tableActionsDropdown?: {
131
+ getOptions: (row: T) => DropdownOption[];
132
+ structure?: DropdownStructure;
133
+ renderCustomTrigger?: (row: T) => React.ReactNode;
134
+ menuAlignment?: 'start' | 'end' | 'center' | undefined;
135
+ isDisabled?: boolean | ((row: T) => boolean);
136
+ };
137
+ onRowClick?: (row: T) => void;
138
+ isRowClickable?: (row: T) => boolean;
139
+ showHeader?: boolean;
140
+ grouping?: string[];
141
+ isSearchActive?: boolean;
142
+ noSearchResultsMessage?: string;
143
+ infiniteScroll?: InfiniteScrollOptions;
144
+ virtualization?: VirtualizationOptions;
145
+ }
146
+
147
+ declare function Table<T extends {
148
+ id: string;
149
+ }>(props: Readonly<TableProps<T>>): react_jsx_runtime.JSX.Element;
150
+
151
+ declare const TooltipProvider: React$1.FC<TooltipPrimitive.TooltipProviderProps>;
152
+ declare const Tooltip: React$1.FC<TooltipPrimitive.TooltipProps>;
153
+ declare const TooltipTrigger: React$1.ForwardRefExoticComponent<TooltipPrimitive.TooltipTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
154
+ declare const TooltipContent: React$1.ForwardRefExoticComponent<Omit<TooltipPrimitive.TooltipContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
155
+
156
+ interface SelectTriggerProps extends ComponentProps<typeof SelectTrigger$1> {
157
+ error?: boolean;
158
+ size?: 'sm' | 'md';
159
+ }
160
+ interface SelectContentProps extends ComponentProps<typeof SelectContent$1> {
161
+ showAlwaysSearch?: boolean;
162
+ searchPlaceholder?: string;
163
+ }
164
+
165
+ declare const Select: React$1.FC<SelectPrimitive.SelectProps>;
166
+ declare const SelectGroup: React$1.ForwardRefExoticComponent<SelectPrimitive.SelectGroupProps & React$1.RefAttributes<HTMLDivElement>>;
167
+ declare const SelectValue: React$1.ForwardRefExoticComponent<SelectPrimitive.SelectValueProps & React$1.RefAttributes<HTMLSpanElement>>;
168
+ declare const SelectTrigger: React$1.ForwardRefExoticComponent<Omit<Omit<SelectPrimitive.SelectTriggerProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & SelectTriggerProps, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
169
+ declare const SelectScrollUpButton: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollUpButtonProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
170
+ declare const SelectScrollDownButton: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollDownButtonProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
171
+ declare const SelectContent: React$1.ForwardRefExoticComponent<Omit<Omit<SelectPrimitive.SelectContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & SelectContentProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
172
+ declare const SelectLabel: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectLabelProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
173
+ declare const SelectItem: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectItemProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
174
+ declare const SelectSeparator: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectSeparatorProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
175
+
176
+ interface SelectWrapperOptions {
177
+ label: string;
178
+ value: string;
179
+ }
180
+ interface SelectWrapperProps {
181
+ label?: string;
182
+ options: SelectWrapperOptions[];
183
+ value: string;
184
+ onChange: (value: string) => void;
185
+ size?: 'small' | 'default';
186
+ disabled?: boolean;
187
+ error?: boolean;
188
+ placeholder?: string;
189
+ className?: string;
190
+ }
191
+
192
+ declare const SelectWrapper: ({ label, options, value, onChange, size, disabled, error, placeholder, className, }: SelectWrapperProps) => react_jsx_runtime.JSX.Element;
193
+
194
+ declare const RadioGroup: React$1.ForwardRefExoticComponent<Omit<RadioGroupPrimitive.RadioGroupProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
195
+ declare const RadioGroupItem: React$1.ForwardRefExoticComponent<Omit<RadioGroupPrimitive.RadioGroupItemProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
196
+
197
+ interface CheckboxProps extends ComponentProps<typeof Checkbox$1> {
198
+ label?: string;
199
+ labelPosition?: 'left' | 'right' | 'top' | 'bottom';
200
+ }
201
+
202
+ declare const Checkbox: React$1.ForwardRefExoticComponent<Omit<Omit<CheckboxPrimitive.CheckboxProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & CheckboxProps, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
203
+
204
+ interface SwitchProps extends ComponentProps<typeof Switch$1> {
205
+ label?: string;
206
+ labelPosition?: 'left' | 'right' | 'top' | 'bottom';
207
+ }
208
+
209
+ declare const Switch: React$1.ForwardRefExoticComponent<Omit<Omit<SwitchPrimitives.SwitchProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & SwitchProps, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
210
+
211
+ declare const Label: React$1.ForwardRefExoticComponent<Omit<LabelPrimitive.LabelProps & React$1.RefAttributes<HTMLLabelElement>, "ref"> & VariantProps<(props?: class_variance_authority_dist_types.ClassProp | undefined) => string> & React$1.RefAttributes<HTMLLabelElement>>;
212
+
213
+ declare const DropdownWrapper: ({ triggerElement, options, className, structure, selectedValue, onValueChange, menuAlignment, isTriggerElementDisabled, }: {
214
+ triggerElement: React__default.ReactNode;
215
+ options: DropdownOption[];
216
+ className?: string;
217
+ structure?: DropdownStructure;
218
+ selectedValue?: string;
219
+ onValueChange?: (value: string) => void;
220
+ menuAlignment?: "start" | "end" | "center";
221
+ isTriggerElementDisabled?: boolean;
222
+ }) => react_jsx_runtime.JSX.Element;
223
+
224
+ declare function DropdownMenu({ ...props }: Readonly<React$1.ComponentProps<typeof DropdownMenuPrimitive.Root>>): react_jsx_runtime.JSX.Element;
225
+ declare function DropdownMenuPortal({ ...props }: Readonly<React$1.ComponentProps<typeof DropdownMenuPrimitive.Portal>>): react_jsx_runtime.JSX.Element;
226
+ declare function DropdownMenuTrigger({ ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
227
+ declare function DropdownMenuContent({ className, sideOffset, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Content>): react_jsx_runtime.JSX.Element;
228
+ declare function DropdownMenuGroup({ ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Group>): react_jsx_runtime.JSX.Element;
229
+ declare function DropdownMenuItem({ className, inset, variant, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Item> & {
230
+ inset?: boolean;
231
+ variant?: 'default' | 'destructive';
232
+ }): react_jsx_runtime.JSX.Element;
233
+ declare function DropdownMenuCheckboxItem({ className, children, checked, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>): react_jsx_runtime.JSX.Element;
234
+ declare function DropdownMenuRadioGroup({ ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>): react_jsx_runtime.JSX.Element;
235
+ declare function DropdownMenuRadioItem({ className, children, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>): react_jsx_runtime.JSX.Element;
236
+ declare function DropdownMenuLabel({ className, inset, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Label> & {
237
+ inset?: boolean;
238
+ }): react_jsx_runtime.JSX.Element;
239
+ declare function DropdownMenuSeparator({ className, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Separator>): react_jsx_runtime.JSX.Element;
240
+ declare function DropdownMenuShortcut({ className, ...props }: React$1.ComponentProps<'span'>): react_jsx_runtime.JSX.Element;
241
+ declare function DropdownMenuSub({ ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Sub>): react_jsx_runtime.JSX.Element;
242
+ declare function DropdownMenuSubTrigger({ className, inset, children, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {
243
+ inset?: boolean;
244
+ }): react_jsx_runtime.JSX.Element;
245
+ declare function DropdownMenuSubContent({ className, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.SubContent>): react_jsx_runtime.JSX.Element;
246
+
247
+ declare const Card: ({ className, ...props }: ComponentProps<"div">) => react_jsx_runtime.JSX.Element;
248
+ declare const CardHeader: ({ className, ...props }: ComponentProps<"div">) => react_jsx_runtime.JSX.Element;
249
+ declare const CardTitle: ({ className, ...props }: ComponentProps<"div">) => react_jsx_runtime.JSX.Element;
250
+ declare const CardDescription: ({ className, ...props }: ComponentProps<"div">) => react_jsx_runtime.JSX.Element;
251
+ declare const CardAction: ({ className, ...props }: ComponentProps<"div">) => react_jsx_runtime.JSX.Element;
252
+ declare const CardContent: ({ className, ...props }: ComponentProps<"div">) => react_jsx_runtime.JSX.Element;
253
+ declare const CardFooter: ({ className, ...props }: ComponentProps<"div">) => react_jsx_runtime.JSX.Element;
254
+
255
+ interface CardContainerProps {
256
+ title: string;
257
+ icon: ReactNode;
258
+ children: ReactNode;
259
+ className?: string;
260
+ }
261
+ declare const CardContainer: ({ title, icon, children, className }: CardContainerProps) => react_jsx_runtime.JSX.Element;
262
+
263
+ declare const alertVariants: (props?: ({
264
+ variant?: "success" | "warning" | "error" | "default" | null | undefined;
265
+ } & class_variance_authority_dist_types.ClassProp) | undefined) => string;
266
+
267
+ type AlertProps = React.ComponentProps<'div'> & VariantProps<typeof alertVariants> & {
268
+ onClose?: () => void;
269
+ isVisible?: boolean;
270
+ disableAnimation?: boolean;
271
+ position?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
272
+ };
273
+
274
+ declare function Alert({ className, variant, onClose, isVisible, disableAnimation, position, ...props }: AlertProps): react_jsx_runtime.JSX.Element | null;
275
+
276
+ type AlertContainerProps = AlertProps & {
277
+ title?: string;
278
+ description?: string;
279
+ icon?: React.ReactNode;
280
+ };
281
+
282
+ declare const AlertContainer: ({ variant, isVisible, title, description, onClose, className, disableAnimation, position, icon, }: AlertContainerProps) => react_jsx_runtime.JSX.Element;
283
+
284
+ declare function Dialog({ ...props }: React$1.ComponentProps<typeof DialogPrimitive.Root>): react_jsx_runtime.JSX.Element;
285
+ declare function DialogTrigger({ ...props }: React$1.ComponentProps<typeof DialogPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
286
+ declare function DialogPortal({ ...props }: React$1.ComponentProps<typeof DialogPrimitive.Portal>): react_jsx_runtime.JSX.Element;
287
+ declare function DialogClose({ ...props }: React$1.ComponentProps<typeof DialogPrimitive.Close>): react_jsx_runtime.JSX.Element;
288
+ declare function DialogOverlay({ className, ...props }: React$1.ComponentProps<typeof DialogPrimitive.Overlay>): react_jsx_runtime.JSX.Element;
289
+ declare function DialogContent({ className, children, showCloseButton, ...props }: React$1.ComponentProps<typeof DialogPrimitive.Content> & {
290
+ showCloseButton?: boolean;
291
+ }): react_jsx_runtime.JSX.Element;
292
+ declare function DialogHeader({ className, ...props }: React$1.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
293
+ declare function DialogFooter({ className, ...props }: React$1.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
294
+ declare function DialogTitle({ className, ...props }: React$1.ComponentProps<typeof DialogPrimitive.Title>): react_jsx_runtime.JSX.Element;
295
+ declare function DialogDescription({ className, ...props }: React$1.ComponentProps<typeof DialogPrimitive.Description>): react_jsx_runtime.JSX.Element;
296
+
297
+ interface DialogContainerProps {
298
+ open?: boolean;
299
+ onOpenChange?: (open: boolean) => void;
300
+ triggerElement: React$1.ReactNode;
301
+ title: string;
302
+ description?: string;
303
+ children?: React$1.ReactNode;
304
+ submitLoader?: boolean;
305
+ submitLabel?: string;
306
+ cancelLabel?: string;
307
+ backLabel?: string;
308
+ onSubmit?: () => void;
309
+ onCancel?: () => void;
310
+ onBack?: () => void;
311
+ isSubmitDisabled?: boolean;
312
+ fullScreen?: boolean;
313
+ showCloseButton?: boolean;
314
+ showCancelButton?: boolean;
315
+ showSubmitButton?: boolean;
316
+ customFooter?: React$1.ReactNode;
317
+ }
318
+ declare function DialogContainer({ open, onOpenChange, triggerElement, title, description, children, submitLoader, submitLabel, cancelLabel, backLabel, onSubmit, onCancel, onBack, isSubmitDisabled, fullScreen, showCloseButton, showCancelButton, showSubmitButton, customFooter, }: Readonly<DialogContainerProps>): react_jsx_runtime.JSX.Element;
319
+
320
+ type Orientation = 'horizontal' | 'vertical';
321
+ interface DividerProps extends React.HTMLAttributes<HTMLDivElement> {
322
+ orientation?: Orientation;
323
+ color?: string;
324
+ }
325
+
326
+ declare const Divider: React$1.FC<DividerProps>;
327
+
328
+ interface PillsProps {
329
+ label: string;
330
+ size?: 'default' | 'small';
331
+ variant?: 'filled' | 'outlined';
332
+ color?: 'primary' | 'secondary' | 'warning' | 'error' | 'info' | 'success';
333
+ onClick?: () => void;
334
+ disabled?: boolean;
335
+ className?: string;
336
+ }
337
+
338
+ declare const Pills: ({ label, size, variant, color, onClick, disabled, className, }: PillsProps) => react_jsx_runtime.JSX.Element;
339
+
340
+ type EllipsisMode = 'end' | 'middle';
341
+ interface EllipsisTextProps extends React.HTMLAttributes<HTMLSpanElement> {
342
+ text: string;
343
+ maxLength?: number;
344
+ mode?: EllipsisMode;
345
+ width?: string;
346
+ }
347
+
348
+ declare const EllipsisText: React$1.FC<EllipsisTextProps>;
349
+
350
+ declare const tabsTriggerVariants: (props?: ({
351
+ color?: "primary" | "secondary" | null | undefined;
352
+ orientation?: "horizontal" | "vertical" | null | undefined;
353
+ } & class_variance_authority_dist_types.ClassProp) | undefined) => string;
354
+
355
+ type TabsTriggerProps = ComponentProps<typeof TabsPrimitive.Trigger> & VariantProps<typeof tabsTriggerVariants> & {
356
+ icon?: ReactNode;
357
+ iconPosition?: 'left' | 'right';
358
+ vertical?: boolean;
359
+ onClick?: () => void;
360
+ };
361
+
362
+ declare function Tabs({ className, ...props }: ComponentProps<typeof TabsPrimitive.Root>): react_jsx_runtime.JSX.Element;
363
+ declare function TabsList({ className, vertical, ...props }: ComponentProps<typeof TabsPrimitive.List> & {
364
+ vertical?: boolean;
365
+ }): react_jsx_runtime.JSX.Element;
366
+ declare function TabsTrigger({ icon, iconPosition, vertical, color, className, children, ...props }: TabsTriggerProps): react_jsx_runtime.JSX.Element;
367
+ declare function TabsContent({ className, ...props }: ComponentProps<typeof TabsPrimitive.Content>): react_jsx_runtime.JSX.Element;
368
+
369
+ declare function Avatar({ className, ...props }: React$1.ComponentProps<typeof AvatarPrimitive.Root>): react_jsx_runtime.JSX.Element;
370
+ declare function AvatarImage({ className, ...props }: React$1.ComponentProps<typeof AvatarPrimitive.Image>): react_jsx_runtime.JSX.Element;
371
+ declare function AvatarFallback({ className, ...props }: React$1.ComponentProps<typeof AvatarPrimitive.Fallback>): react_jsx_runtime.JSX.Element;
372
+
373
+ interface SpinnerProps {
374
+ size?: number;
375
+ color?: string;
376
+ className?: string;
377
+ 'aria-label'?: string;
378
+ }
379
+
380
+ declare function Spinner({ size, color, className, 'aria-label': ariaLabel, }: SpinnerProps): react_jsx_runtime.JSX.Element;
381
+
382
+ interface UICreditCardProps {
383
+ cardholderName: string;
384
+ cardholderNameLabel?: string;
385
+ cardNumber: string;
386
+ cardNumberLabel?: string;
387
+ frontImageUrl: string;
388
+ backImageUrl: string;
389
+ cvv?: string;
390
+ cvvLabel?: string;
391
+ expiryDate?: string;
392
+ expiryDateLabel?: string;
393
+ aspectRatio?: number;
394
+ classNames?: {
395
+ container?: string;
396
+ front?: string;
397
+ back?: string;
398
+ fieldLabel?: string;
399
+ fieldValue?: string;
400
+ copyIcon?: string;
401
+ };
402
+ customFrontContent?: React.ReactNode;
403
+ customBackContent?: React.ReactNode;
404
+ isFlipped?: boolean;
405
+ enableCopy?: boolean;
406
+ }
407
+
408
+ declare const UICreditCard: ({ cvv, cvvLabel, cardNumber, cardNumberLabel, expiryDate, expiryDateLabel, enableCopy, classNames, backImageUrl, frontImageUrl, cardholderName, cardholderNameLabel, isFlipped, customBackContent, customFrontContent, aspectRatio, }: UICreditCardProps) => JSX.Element;
409
+
410
+ interface CopyButtonProps {
411
+ value: string;
412
+ className?: string;
413
+ }
414
+
415
+ declare const CopyButton: ({ value, className }: CopyButtonProps) => react_jsx_runtime.JSX.Element;
416
+
417
+ interface Step<T extends string = string, P = unknown> {
418
+ id: T;
419
+ label: string;
420
+ content: React.ReactNode | ((props: P & {
421
+ step: T;
422
+ }) => React.ReactNode);
423
+ }
424
+ interface StepperProps<T extends string, P = unknown> {
425
+ steps: Step<T, P>[];
426
+ currentStep: T;
427
+ onStepChange?: (step: T) => void;
428
+ contentProps?: P;
429
+ className?: string;
430
+ showIndicators?: boolean;
431
+ orientation?: 'horizontal' | 'vertical';
432
+ }
433
+
434
+ declare function Stepper<T extends string>({ steps, currentStep, onStepChange, contentProps, className, showIndicators, orientation, }: Readonly<StepperProps<T>>): react_jsx_runtime.JSX.Element;
435
+
436
+ declare function useStepper<T extends string>(steps: T[], initialStep?: T): {
437
+ currentStep: T;
438
+ currentIndex: number;
439
+ isFirst: boolean;
440
+ isLast: boolean;
441
+ goNext: () => void;
442
+ goBack: () => void;
443
+ goTo: (step: T) => void;
444
+ reset: () => void;
445
+ };
446
+
447
+ interface SkeletonProps {
448
+ variant?: 'text' | 'rectangular' | 'circular' | 'rounded';
449
+ width?: number | string;
450
+ height?: number | string;
451
+ animation?: 'pulse' | 'wave' | false;
452
+ className?: string;
453
+ style?: React.CSSProperties;
454
+ }
455
+
456
+ declare function Skeleton({ variant, width, height, animation, className, style }: SkeletonProps): react_jsx_runtime.JSX.Element;
457
+
458
+ interface CounterProps {
459
+ to: number;
460
+ from?: number;
461
+ duration?: number;
462
+ autoStart?: boolean;
463
+ prefix?: string;
464
+ suffix?: string;
465
+ decimals?: number;
466
+ separator?: string;
467
+ className?: string;
468
+ style?: React.CSSProperties;
469
+ onComplete?: () => void;
470
+ triggerOnVisible?: boolean;
471
+ }
472
+
473
+ declare function Counter({ to, from, duration, autoStart, prefix, suffix, decimals, separator, className, style, onComplete, triggerOnVisible, }: CounterProps): react_jsx_runtime.JSX.Element;
474
+
475
+ interface SearchInputProps {
476
+ onSearch: (query: string) => void;
477
+ onClear?: () => void;
478
+ debounce?: number;
479
+ minChars?: number;
480
+ maxChars?: number;
481
+ placeholder?: string;
482
+ clearIcon?: React.ReactNode;
483
+ className?: string;
484
+ }
485
+
486
+ declare const SearchInput: React__default.FC<SearchInputProps>;
487
+
488
+ export { Alert, AlertContainer, type AlertContainerProps, type AlertProps, Avatar, AvatarFallback, AvatarImage, Button, Card, CardAction, CardContainer, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, type ColorVariant, CopyButton, type CopyButtonProps, Counter, type CounterProps, Dialog, DialogClose, DialogContainer, type DialogContainerProps, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Divider, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, DropdownWrapper, EllipsisText, type FlexColumnDef, type InfiniteScrollOptions, Input, type InputProps, Label, type PaginationMode, Pills, type PillsProps, RadioGroup, RadioGroupItem, SearchInput, type SearchInputProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SelectWrapper, type SelectWrapperOptions, type SelectWrapperProps, Skeleton, type SkeletonProps, Spinner, type SpinnerProps, type Step, Stepper, type StepperProps, Switch, Table, type TableProps, Tabs, TabsContent, TabsList, TabsTrigger, type TabsTriggerProps, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, UICreditCard, type UIKitColors, type UIKitConfig, UIKitProvider, type VirtualizationOptions, useStepper, useUIKitTheme };
@@ -0,0 +1,488 @@
1
+ import * as React$1 from 'react';
2
+ import React__default, { PropsWithChildren, InputHTMLAttributes, ComponentProps, ReactNode, JSX } from 'react';
3
+ import { VariantProps } from 'class-variance-authority';
4
+ import * as class_variance_authority_dist_types from 'class-variance-authority/dist/types';
5
+ import * as react_jsx_runtime from 'react/jsx-runtime';
6
+ import { ColumnDef, SortingState, Row } from '@tanstack/react-table';
7
+ import * as TooltipPrimitive from '@radix-ui/react-tooltip';
8
+ import * as SelectPrimitive from '@radix-ui/react-select';
9
+ import { SelectTrigger as SelectTrigger$1, SelectContent as SelectContent$1 } from '@radix-ui/react-select';
10
+ import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
11
+ import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
12
+ import { Checkbox as Checkbox$1 } from '@radix-ui/react-checkbox';
13
+ import * as SwitchPrimitives from '@radix-ui/react-switch';
14
+ import { Switch as Switch$1 } from '@radix-ui/react-switch';
15
+ import * as LabelPrimitive from '@radix-ui/react-label';
16
+ import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
17
+ import * as DialogPrimitive from '@radix-ui/react-dialog';
18
+ import * as TabsPrimitive from '@radix-ui/react-tabs';
19
+ import * as AvatarPrimitive from '@radix-ui/react-avatar';
20
+
21
+ type ColorVariant = string | {
22
+ light: string;
23
+ dark: string;
24
+ };
25
+ type UIKitColors = {
26
+ primary?: ColorVariant;
27
+ secondary?: ColorVariant;
28
+ accent?: ColorVariant;
29
+ success?: ColorVariant;
30
+ warning?: ColorVariant;
31
+ error?: ColorVariant;
32
+ info?: ColorVariant;
33
+ background?: ColorVariant;
34
+ foreground?: ColorVariant;
35
+ textPrimary?: ColorVariant;
36
+ textSecondary?: ColorVariant;
37
+ [key: string]: ColorVariant | undefined;
38
+ };
39
+ type UIKitConfig = {
40
+ colors?: UIKitColors;
41
+ radius?: string;
42
+ fontFamily?: string;
43
+ [key: string]: unknown;
44
+ };
45
+
46
+ declare const UIKitProvider: React__default.FC<PropsWithChildren<{
47
+ config?: UIKitConfig;
48
+ }>>;
49
+
50
+ declare const useUIKitTheme: () => UIKitConfig;
51
+
52
+ declare const buttonVariants: (props?: ({
53
+ variant?: "primary" | "secondary" | "primaryFilled" | "primaryOutlined" | "primaryText" | "secondaryFilled" | "secondaryOutlined" | "secondaryText" | "outlined" | "ghost" | "destructive" | null | undefined;
54
+ size?: "default" | "sm" | "lg" | "icon" | null | undefined;
55
+ } & class_variance_authority_dist_types.ClassProp) | undefined) => string;
56
+
57
+ interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
58
+ children: React.ReactNode;
59
+ asChild?: boolean;
60
+ loading?: boolean;
61
+ loadingText?: string;
62
+ icon?: React.ReactNode;
63
+ iconPosition?: 'left' | 'right';
64
+ }
65
+
66
+ declare const Button: React$1.ForwardRefExoticComponent<ButtonProps & React$1.RefAttributes<HTMLButtonElement>>;
67
+
68
+ interface InputProps extends InputHTMLAttributes<HTMLInputElement> {
69
+ label?: string;
70
+ error?: string;
71
+ helperText?: string;
72
+ icon?: React.ReactNode;
73
+ variant?: 'default' | 'search';
74
+ }
75
+
76
+ declare const Input: React__default.ForwardRefExoticComponent<InputProps & React__default.RefAttributes<HTMLInputElement>>;
77
+
78
+ type DropdownStructure = 'default' | 'checkbox' | 'radio' | 'grouped' | 'submenu';
79
+ type DropdownOption = {
80
+ label: string;
81
+ value?: string;
82
+ checked?: boolean;
83
+ onCheckedChange?: (checked: boolean) => void;
84
+ onClick?: () => void;
85
+ disabled?: boolean;
86
+ subOptions?: DropdownOption[];
87
+ groupLabel?: string;
88
+ };
89
+
90
+ type FlexColumnDef<T> = ColumnDef<T> & {
91
+ flex?: number;
92
+ };
93
+ type InfiniteScrollOptions = {
94
+ enabled: boolean;
95
+ hasNextPage: boolean;
96
+ isFetchingNextPage?: boolean;
97
+ fetchNextPage: () => void;
98
+ rootMarginPx?: number;
99
+ loadingMoreMessage?: string;
100
+ noMoreDataMessage?: string;
101
+ };
102
+ type PaginationMode = 'client' | 'server' | 'none';
103
+ interface VirtualizationOptions {
104
+ enabled: boolean;
105
+ rowEstimate?: number;
106
+ overscan?: number;
107
+ }
108
+ interface TableProps<T> {
109
+ id: string;
110
+ height?: number | string;
111
+ data: T[];
112
+ columns: FlexColumnDef<T>[];
113
+ rowIdKey?: keyof T | 'id';
114
+ className?: string;
115
+ isLoading?: boolean;
116
+ showSkeletonRows?: boolean;
117
+ checkboxSelection?: boolean;
118
+ checkboxPosition?: 'start' | 'end';
119
+ sorting?: SortingState;
120
+ onSortingChange?: (s: SortingState) => void;
121
+ onSelectionChange?: (selectedIds: string[]) => void;
122
+ enableRowSelection?: (row: Row<T>) => boolean;
123
+ onRefetch?: (pageIndex: number, pageSize: number) => void;
124
+ isMultiRowSelection?: boolean;
125
+ totalServerRows?: number;
126
+ paginationMode?: PaginationMode;
127
+ noRowsMessage?: string;
128
+ rowsPerPage?: number;
129
+ selectedRowIds?: string[];
130
+ tableActionsDropdown?: {
131
+ getOptions: (row: T) => DropdownOption[];
132
+ structure?: DropdownStructure;
133
+ renderCustomTrigger?: (row: T) => React.ReactNode;
134
+ menuAlignment?: 'start' | 'end' | 'center' | undefined;
135
+ isDisabled?: boolean | ((row: T) => boolean);
136
+ };
137
+ onRowClick?: (row: T) => void;
138
+ isRowClickable?: (row: T) => boolean;
139
+ showHeader?: boolean;
140
+ grouping?: string[];
141
+ isSearchActive?: boolean;
142
+ noSearchResultsMessage?: string;
143
+ infiniteScroll?: InfiniteScrollOptions;
144
+ virtualization?: VirtualizationOptions;
145
+ }
146
+
147
+ declare function Table<T extends {
148
+ id: string;
149
+ }>(props: Readonly<TableProps<T>>): react_jsx_runtime.JSX.Element;
150
+
151
+ declare const TooltipProvider: React$1.FC<TooltipPrimitive.TooltipProviderProps>;
152
+ declare const Tooltip: React$1.FC<TooltipPrimitive.TooltipProps>;
153
+ declare const TooltipTrigger: React$1.ForwardRefExoticComponent<TooltipPrimitive.TooltipTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
154
+ declare const TooltipContent: React$1.ForwardRefExoticComponent<Omit<TooltipPrimitive.TooltipContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
155
+
156
+ interface SelectTriggerProps extends ComponentProps<typeof SelectTrigger$1> {
157
+ error?: boolean;
158
+ size?: 'sm' | 'md';
159
+ }
160
+ interface SelectContentProps extends ComponentProps<typeof SelectContent$1> {
161
+ showAlwaysSearch?: boolean;
162
+ searchPlaceholder?: string;
163
+ }
164
+
165
+ declare const Select: React$1.FC<SelectPrimitive.SelectProps>;
166
+ declare const SelectGroup: React$1.ForwardRefExoticComponent<SelectPrimitive.SelectGroupProps & React$1.RefAttributes<HTMLDivElement>>;
167
+ declare const SelectValue: React$1.ForwardRefExoticComponent<SelectPrimitive.SelectValueProps & React$1.RefAttributes<HTMLSpanElement>>;
168
+ declare const SelectTrigger: React$1.ForwardRefExoticComponent<Omit<Omit<SelectPrimitive.SelectTriggerProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & SelectTriggerProps, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
169
+ declare const SelectScrollUpButton: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollUpButtonProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
170
+ declare const SelectScrollDownButton: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollDownButtonProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
171
+ declare const SelectContent: React$1.ForwardRefExoticComponent<Omit<Omit<SelectPrimitive.SelectContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & SelectContentProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
172
+ declare const SelectLabel: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectLabelProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
173
+ declare const SelectItem: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectItemProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
174
+ declare const SelectSeparator: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectSeparatorProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
175
+
176
+ interface SelectWrapperOptions {
177
+ label: string;
178
+ value: string;
179
+ }
180
+ interface SelectWrapperProps {
181
+ label?: string;
182
+ options: SelectWrapperOptions[];
183
+ value: string;
184
+ onChange: (value: string) => void;
185
+ size?: 'small' | 'default';
186
+ disabled?: boolean;
187
+ error?: boolean;
188
+ placeholder?: string;
189
+ className?: string;
190
+ }
191
+
192
+ declare const SelectWrapper: ({ label, options, value, onChange, size, disabled, error, placeholder, className, }: SelectWrapperProps) => react_jsx_runtime.JSX.Element;
193
+
194
+ declare const RadioGroup: React$1.ForwardRefExoticComponent<Omit<RadioGroupPrimitive.RadioGroupProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
195
+ declare const RadioGroupItem: React$1.ForwardRefExoticComponent<Omit<RadioGroupPrimitive.RadioGroupItemProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
196
+
197
+ interface CheckboxProps extends ComponentProps<typeof Checkbox$1> {
198
+ label?: string;
199
+ labelPosition?: 'left' | 'right' | 'top' | 'bottom';
200
+ }
201
+
202
+ declare const Checkbox: React$1.ForwardRefExoticComponent<Omit<Omit<CheckboxPrimitive.CheckboxProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & CheckboxProps, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
203
+
204
+ interface SwitchProps extends ComponentProps<typeof Switch$1> {
205
+ label?: string;
206
+ labelPosition?: 'left' | 'right' | 'top' | 'bottom';
207
+ }
208
+
209
+ declare const Switch: React$1.ForwardRefExoticComponent<Omit<Omit<SwitchPrimitives.SwitchProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & SwitchProps, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
210
+
211
+ declare const Label: React$1.ForwardRefExoticComponent<Omit<LabelPrimitive.LabelProps & React$1.RefAttributes<HTMLLabelElement>, "ref"> & VariantProps<(props?: class_variance_authority_dist_types.ClassProp | undefined) => string> & React$1.RefAttributes<HTMLLabelElement>>;
212
+
213
+ declare const DropdownWrapper: ({ triggerElement, options, className, structure, selectedValue, onValueChange, menuAlignment, isTriggerElementDisabled, }: {
214
+ triggerElement: React__default.ReactNode;
215
+ options: DropdownOption[];
216
+ className?: string;
217
+ structure?: DropdownStructure;
218
+ selectedValue?: string;
219
+ onValueChange?: (value: string) => void;
220
+ menuAlignment?: "start" | "end" | "center";
221
+ isTriggerElementDisabled?: boolean;
222
+ }) => react_jsx_runtime.JSX.Element;
223
+
224
+ declare function DropdownMenu({ ...props }: Readonly<React$1.ComponentProps<typeof DropdownMenuPrimitive.Root>>): react_jsx_runtime.JSX.Element;
225
+ declare function DropdownMenuPortal({ ...props }: Readonly<React$1.ComponentProps<typeof DropdownMenuPrimitive.Portal>>): react_jsx_runtime.JSX.Element;
226
+ declare function DropdownMenuTrigger({ ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
227
+ declare function DropdownMenuContent({ className, sideOffset, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Content>): react_jsx_runtime.JSX.Element;
228
+ declare function DropdownMenuGroup({ ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Group>): react_jsx_runtime.JSX.Element;
229
+ declare function DropdownMenuItem({ className, inset, variant, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Item> & {
230
+ inset?: boolean;
231
+ variant?: 'default' | 'destructive';
232
+ }): react_jsx_runtime.JSX.Element;
233
+ declare function DropdownMenuCheckboxItem({ className, children, checked, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>): react_jsx_runtime.JSX.Element;
234
+ declare function DropdownMenuRadioGroup({ ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>): react_jsx_runtime.JSX.Element;
235
+ declare function DropdownMenuRadioItem({ className, children, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>): react_jsx_runtime.JSX.Element;
236
+ declare function DropdownMenuLabel({ className, inset, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Label> & {
237
+ inset?: boolean;
238
+ }): react_jsx_runtime.JSX.Element;
239
+ declare function DropdownMenuSeparator({ className, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Separator>): react_jsx_runtime.JSX.Element;
240
+ declare function DropdownMenuShortcut({ className, ...props }: React$1.ComponentProps<'span'>): react_jsx_runtime.JSX.Element;
241
+ declare function DropdownMenuSub({ ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Sub>): react_jsx_runtime.JSX.Element;
242
+ declare function DropdownMenuSubTrigger({ className, inset, children, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {
243
+ inset?: boolean;
244
+ }): react_jsx_runtime.JSX.Element;
245
+ declare function DropdownMenuSubContent({ className, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.SubContent>): react_jsx_runtime.JSX.Element;
246
+
247
+ declare const Card: ({ className, ...props }: ComponentProps<"div">) => react_jsx_runtime.JSX.Element;
248
+ declare const CardHeader: ({ className, ...props }: ComponentProps<"div">) => react_jsx_runtime.JSX.Element;
249
+ declare const CardTitle: ({ className, ...props }: ComponentProps<"div">) => react_jsx_runtime.JSX.Element;
250
+ declare const CardDescription: ({ className, ...props }: ComponentProps<"div">) => react_jsx_runtime.JSX.Element;
251
+ declare const CardAction: ({ className, ...props }: ComponentProps<"div">) => react_jsx_runtime.JSX.Element;
252
+ declare const CardContent: ({ className, ...props }: ComponentProps<"div">) => react_jsx_runtime.JSX.Element;
253
+ declare const CardFooter: ({ className, ...props }: ComponentProps<"div">) => react_jsx_runtime.JSX.Element;
254
+
255
+ interface CardContainerProps {
256
+ title: string;
257
+ icon: ReactNode;
258
+ children: ReactNode;
259
+ className?: string;
260
+ }
261
+ declare const CardContainer: ({ title, icon, children, className }: CardContainerProps) => react_jsx_runtime.JSX.Element;
262
+
263
+ declare const alertVariants: (props?: ({
264
+ variant?: "success" | "warning" | "error" | "default" | null | undefined;
265
+ } & class_variance_authority_dist_types.ClassProp) | undefined) => string;
266
+
267
+ type AlertProps = React.ComponentProps<'div'> & VariantProps<typeof alertVariants> & {
268
+ onClose?: () => void;
269
+ isVisible?: boolean;
270
+ disableAnimation?: boolean;
271
+ position?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
272
+ };
273
+
274
+ declare function Alert({ className, variant, onClose, isVisible, disableAnimation, position, ...props }: AlertProps): react_jsx_runtime.JSX.Element | null;
275
+
276
+ type AlertContainerProps = AlertProps & {
277
+ title?: string;
278
+ description?: string;
279
+ icon?: React.ReactNode;
280
+ };
281
+
282
+ declare const AlertContainer: ({ variant, isVisible, title, description, onClose, className, disableAnimation, position, icon, }: AlertContainerProps) => react_jsx_runtime.JSX.Element;
283
+
284
+ declare function Dialog({ ...props }: React$1.ComponentProps<typeof DialogPrimitive.Root>): react_jsx_runtime.JSX.Element;
285
+ declare function DialogTrigger({ ...props }: React$1.ComponentProps<typeof DialogPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
286
+ declare function DialogPortal({ ...props }: React$1.ComponentProps<typeof DialogPrimitive.Portal>): react_jsx_runtime.JSX.Element;
287
+ declare function DialogClose({ ...props }: React$1.ComponentProps<typeof DialogPrimitive.Close>): react_jsx_runtime.JSX.Element;
288
+ declare function DialogOverlay({ className, ...props }: React$1.ComponentProps<typeof DialogPrimitive.Overlay>): react_jsx_runtime.JSX.Element;
289
+ declare function DialogContent({ className, children, showCloseButton, ...props }: React$1.ComponentProps<typeof DialogPrimitive.Content> & {
290
+ showCloseButton?: boolean;
291
+ }): react_jsx_runtime.JSX.Element;
292
+ declare function DialogHeader({ className, ...props }: React$1.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
293
+ declare function DialogFooter({ className, ...props }: React$1.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
294
+ declare function DialogTitle({ className, ...props }: React$1.ComponentProps<typeof DialogPrimitive.Title>): react_jsx_runtime.JSX.Element;
295
+ declare function DialogDescription({ className, ...props }: React$1.ComponentProps<typeof DialogPrimitive.Description>): react_jsx_runtime.JSX.Element;
296
+
297
+ interface DialogContainerProps {
298
+ open?: boolean;
299
+ onOpenChange?: (open: boolean) => void;
300
+ triggerElement: React$1.ReactNode;
301
+ title: string;
302
+ description?: string;
303
+ children?: React$1.ReactNode;
304
+ submitLoader?: boolean;
305
+ submitLabel?: string;
306
+ cancelLabel?: string;
307
+ backLabel?: string;
308
+ onSubmit?: () => void;
309
+ onCancel?: () => void;
310
+ onBack?: () => void;
311
+ isSubmitDisabled?: boolean;
312
+ fullScreen?: boolean;
313
+ showCloseButton?: boolean;
314
+ showCancelButton?: boolean;
315
+ showSubmitButton?: boolean;
316
+ customFooter?: React$1.ReactNode;
317
+ }
318
+ declare function DialogContainer({ open, onOpenChange, triggerElement, title, description, children, submitLoader, submitLabel, cancelLabel, backLabel, onSubmit, onCancel, onBack, isSubmitDisabled, fullScreen, showCloseButton, showCancelButton, showSubmitButton, customFooter, }: Readonly<DialogContainerProps>): react_jsx_runtime.JSX.Element;
319
+
320
+ type Orientation = 'horizontal' | 'vertical';
321
+ interface DividerProps extends React.HTMLAttributes<HTMLDivElement> {
322
+ orientation?: Orientation;
323
+ color?: string;
324
+ }
325
+
326
+ declare const Divider: React$1.FC<DividerProps>;
327
+
328
+ interface PillsProps {
329
+ label: string;
330
+ size?: 'default' | 'small';
331
+ variant?: 'filled' | 'outlined';
332
+ color?: 'primary' | 'secondary' | 'warning' | 'error' | 'info' | 'success';
333
+ onClick?: () => void;
334
+ disabled?: boolean;
335
+ className?: string;
336
+ }
337
+
338
+ declare const Pills: ({ label, size, variant, color, onClick, disabled, className, }: PillsProps) => react_jsx_runtime.JSX.Element;
339
+
340
+ type EllipsisMode = 'end' | 'middle';
341
+ interface EllipsisTextProps extends React.HTMLAttributes<HTMLSpanElement> {
342
+ text: string;
343
+ maxLength?: number;
344
+ mode?: EllipsisMode;
345
+ width?: string;
346
+ }
347
+
348
+ declare const EllipsisText: React$1.FC<EllipsisTextProps>;
349
+
350
+ declare const tabsTriggerVariants: (props?: ({
351
+ color?: "primary" | "secondary" | null | undefined;
352
+ orientation?: "horizontal" | "vertical" | null | undefined;
353
+ } & class_variance_authority_dist_types.ClassProp) | undefined) => string;
354
+
355
+ type TabsTriggerProps = ComponentProps<typeof TabsPrimitive.Trigger> & VariantProps<typeof tabsTriggerVariants> & {
356
+ icon?: ReactNode;
357
+ iconPosition?: 'left' | 'right';
358
+ vertical?: boolean;
359
+ onClick?: () => void;
360
+ };
361
+
362
+ declare function Tabs({ className, ...props }: ComponentProps<typeof TabsPrimitive.Root>): react_jsx_runtime.JSX.Element;
363
+ declare function TabsList({ className, vertical, ...props }: ComponentProps<typeof TabsPrimitive.List> & {
364
+ vertical?: boolean;
365
+ }): react_jsx_runtime.JSX.Element;
366
+ declare function TabsTrigger({ icon, iconPosition, vertical, color, className, children, ...props }: TabsTriggerProps): react_jsx_runtime.JSX.Element;
367
+ declare function TabsContent({ className, ...props }: ComponentProps<typeof TabsPrimitive.Content>): react_jsx_runtime.JSX.Element;
368
+
369
+ declare function Avatar({ className, ...props }: React$1.ComponentProps<typeof AvatarPrimitive.Root>): react_jsx_runtime.JSX.Element;
370
+ declare function AvatarImage({ className, ...props }: React$1.ComponentProps<typeof AvatarPrimitive.Image>): react_jsx_runtime.JSX.Element;
371
+ declare function AvatarFallback({ className, ...props }: React$1.ComponentProps<typeof AvatarPrimitive.Fallback>): react_jsx_runtime.JSX.Element;
372
+
373
+ interface SpinnerProps {
374
+ size?: number;
375
+ color?: string;
376
+ className?: string;
377
+ 'aria-label'?: string;
378
+ }
379
+
380
+ declare function Spinner({ size, color, className, 'aria-label': ariaLabel, }: SpinnerProps): react_jsx_runtime.JSX.Element;
381
+
382
+ interface UICreditCardProps {
383
+ cardholderName: string;
384
+ cardholderNameLabel?: string;
385
+ cardNumber: string;
386
+ cardNumberLabel?: string;
387
+ frontImageUrl: string;
388
+ backImageUrl: string;
389
+ cvv?: string;
390
+ cvvLabel?: string;
391
+ expiryDate?: string;
392
+ expiryDateLabel?: string;
393
+ aspectRatio?: number;
394
+ classNames?: {
395
+ container?: string;
396
+ front?: string;
397
+ back?: string;
398
+ fieldLabel?: string;
399
+ fieldValue?: string;
400
+ copyIcon?: string;
401
+ };
402
+ customFrontContent?: React.ReactNode;
403
+ customBackContent?: React.ReactNode;
404
+ isFlipped?: boolean;
405
+ enableCopy?: boolean;
406
+ }
407
+
408
+ declare const UICreditCard: ({ cvv, cvvLabel, cardNumber, cardNumberLabel, expiryDate, expiryDateLabel, enableCopy, classNames, backImageUrl, frontImageUrl, cardholderName, cardholderNameLabel, isFlipped, customBackContent, customFrontContent, aspectRatio, }: UICreditCardProps) => JSX.Element;
409
+
410
+ interface CopyButtonProps {
411
+ value: string;
412
+ className?: string;
413
+ }
414
+
415
+ declare const CopyButton: ({ value, className }: CopyButtonProps) => react_jsx_runtime.JSX.Element;
416
+
417
+ interface Step<T extends string = string, P = unknown> {
418
+ id: T;
419
+ label: string;
420
+ content: React.ReactNode | ((props: P & {
421
+ step: T;
422
+ }) => React.ReactNode);
423
+ }
424
+ interface StepperProps<T extends string, P = unknown> {
425
+ steps: Step<T, P>[];
426
+ currentStep: T;
427
+ onStepChange?: (step: T) => void;
428
+ contentProps?: P;
429
+ className?: string;
430
+ showIndicators?: boolean;
431
+ orientation?: 'horizontal' | 'vertical';
432
+ }
433
+
434
+ declare function Stepper<T extends string>({ steps, currentStep, onStepChange, contentProps, className, showIndicators, orientation, }: Readonly<StepperProps<T>>): react_jsx_runtime.JSX.Element;
435
+
436
+ declare function useStepper<T extends string>(steps: T[], initialStep?: T): {
437
+ currentStep: T;
438
+ currentIndex: number;
439
+ isFirst: boolean;
440
+ isLast: boolean;
441
+ goNext: () => void;
442
+ goBack: () => void;
443
+ goTo: (step: T) => void;
444
+ reset: () => void;
445
+ };
446
+
447
+ interface SkeletonProps {
448
+ variant?: 'text' | 'rectangular' | 'circular' | 'rounded';
449
+ width?: number | string;
450
+ height?: number | string;
451
+ animation?: 'pulse' | 'wave' | false;
452
+ className?: string;
453
+ style?: React.CSSProperties;
454
+ }
455
+
456
+ declare function Skeleton({ variant, width, height, animation, className, style }: SkeletonProps): react_jsx_runtime.JSX.Element;
457
+
458
+ interface CounterProps {
459
+ to: number;
460
+ from?: number;
461
+ duration?: number;
462
+ autoStart?: boolean;
463
+ prefix?: string;
464
+ suffix?: string;
465
+ decimals?: number;
466
+ separator?: string;
467
+ className?: string;
468
+ style?: React.CSSProperties;
469
+ onComplete?: () => void;
470
+ triggerOnVisible?: boolean;
471
+ }
472
+
473
+ declare function Counter({ to, from, duration, autoStart, prefix, suffix, decimals, separator, className, style, onComplete, triggerOnVisible, }: CounterProps): react_jsx_runtime.JSX.Element;
474
+
475
+ interface SearchInputProps {
476
+ onSearch: (query: string) => void;
477
+ onClear?: () => void;
478
+ debounce?: number;
479
+ minChars?: number;
480
+ maxChars?: number;
481
+ placeholder?: string;
482
+ clearIcon?: React.ReactNode;
483
+ className?: string;
484
+ }
485
+
486
+ declare const SearchInput: React__default.FC<SearchInputProps>;
487
+
488
+ export { Alert, AlertContainer, type AlertContainerProps, type AlertProps, Avatar, AvatarFallback, AvatarImage, Button, Card, CardAction, CardContainer, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, type ColorVariant, CopyButton, type CopyButtonProps, Counter, type CounterProps, Dialog, DialogClose, DialogContainer, type DialogContainerProps, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Divider, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, DropdownWrapper, EllipsisText, type FlexColumnDef, type InfiniteScrollOptions, Input, type InputProps, Label, type PaginationMode, Pills, type PillsProps, RadioGroup, RadioGroupItem, SearchInput, type SearchInputProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SelectWrapper, type SelectWrapperOptions, type SelectWrapperProps, Skeleton, type SkeletonProps, Spinner, type SpinnerProps, type Step, Stepper, type StepperProps, Switch, Table, type TableProps, Tabs, TabsContent, TabsList, TabsTrigger, type TabsTriggerProps, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, UICreditCard, type UIKitColors, type UIKitConfig, UIKitProvider, type VirtualizationOptions, useStepper, useUIKitTheme };
@@ -1,11 +1,11 @@
1
1
  import { type FC } from 'react';
2
2
  import { type InputProps } from '../Input';
3
- interface IDatePickerProps extends Omit<InputProps, 'value' | 'variant' | 'onChange'> {
3
+ export type DatePickerProps = Omit<InputProps, 'value' | 'variant' | 'onChange' | 'error'> & {
4
4
  currentDate?: Date;
5
5
  dateFormat?: string;
6
6
  maxDate?: Date;
7
7
  minDate?: Date;
8
+ error?: string;
8
9
  onChangeDate?: (date: Date | undefined) => void;
9
- }
10
- export declare const DatePicker: FC<IDatePickerProps>;
11
- export {};
10
+ };
11
+ export declare const DatePicker: FC<DatePickerProps>;
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useState } from 'react';
2
+ import { useEffect, useState } from 'react';
3
3
  import { CalendarIcon } from 'lucide-react';
4
4
  import { dayjs } from '../../utils';
5
5
  import { Calendar } from '../Calendar';
@@ -8,15 +8,20 @@ import { Input } from '../Input';
8
8
  const formatDate = (date, format) => {
9
9
  return date ? dayjs(date).format(format) : '';
10
10
  };
11
- export const DatePicker = ({ placeholder = 'DD/MM/YYYY', dateFormat = 'DD/MM/YYYY', currentDate, minDate, maxDate, onChangeDate, ...inputProps }) => {
11
+ export const DatePicker = ({ placeholder = 'DD/MM/YYYY', dateFormat = 'DD/MM/YYYY', currentDate, minDate, maxDate, error, onChangeDate, ...inputProps }) => {
12
12
  const [date, setDate] = useState(currentDate);
13
13
  const [value, setValue] = useState(formatDate(currentDate, dateFormat));
14
- const [error, setError] = useState(false);
14
+ const [defaultError, setDefaultError] = useState('');
15
15
  const [open, setOpen] = useState(false);
16
+ useEffect(() => {
17
+ setDate(currentDate);
18
+ setValue(formatDate(currentDate, dateFormat));
19
+ setDefaultError('');
20
+ }, [currentDate, dateFormat]);
16
21
  const onUpdateDate = (selectedDate) => {
17
22
  setDate(selectedDate);
18
23
  onChangeDate === null || onChangeDate === void 0 ? void 0 : onChangeDate(selectedDate);
19
- setError(false);
24
+ setDefaultError('');
20
25
  };
21
26
  const handleChangeDate = (selectedDate) => {
22
27
  onUpdateDate(selectedDate);
@@ -30,12 +35,19 @@ export const DatePicker = ({ placeholder = 'DD/MM/YYYY', dateFormat = 'DD/MM/YYY
30
35
  return;
31
36
  }
32
37
  const parsedDate = dayjs(e.target.value, dateFormat, true);
33
- if (parsedDate.isValid()) {
38
+ onChangeDate === null || onChangeDate === void 0 ? void 0 : onChangeDate(parsedDate.toDate());
39
+ if (!parsedDate.isValid()) {
40
+ setDefaultError('Invalid date format');
41
+ return;
42
+ }
43
+ const isWithinRange = (!minDate || parsedDate.isSameOrAfter(dayjs(minDate), 'day')) &&
44
+ (!maxDate || parsedDate.isSameOrBefore(dayjs(maxDate), 'day'));
45
+ if (isWithinRange) {
34
46
  onUpdateDate(parsedDate.toDate());
35
47
  }
36
48
  else {
37
- setError(true);
49
+ setDefaultError('Date is out of range');
38
50
  }
39
51
  };
40
- return (_jsx("div", { className: "relative", children: _jsxs(Popover, { open: open, onOpenChange: setOpen, children: [_jsx(PopoverAnchor, { children: _jsx(Input, { type: "text", value: value, placeholder: placeholder, error: error ? 'Invalid date format' : undefined, onChange: handleChangeInputValue, endAdornment: _jsx(PopoverTrigger, { asChild: true, children: _jsx("button", { type: "button", className: "p-1.5 hover:bg-gray-100 rounded-full transition-colors cursor-pointer flex items-center justify-center", "aria-label": "Open calendar", children: _jsx(CalendarIcon, { size: 16, className: "text-gray-500" }) }) }), ...inputProps }) }), _jsx(PopoverContent, { className: "w-auto p-0", align: "center", sideOffset: 0, children: _jsx(Calendar, { mode: "single", captionLayout: "dropdown", selected: date, startMonth: minDate, endMonth: maxDate, onSelect: handleChangeDate }) })] }) }));
52
+ return (_jsx("div", { className: "relative", children: _jsxs(Popover, { open: open, onOpenChange: setOpen, children: [_jsx(PopoverAnchor, { children: _jsx(Input, { type: "text", value: value, placeholder: placeholder, error: error !== null && error !== void 0 ? error : defaultError, onChange: handleChangeInputValue, endAdornment: _jsx(PopoverTrigger, { asChild: true, children: _jsx("button", { type: "button", className: "p-1.5 hover:bg-gray-100 rounded-full transition-colors cursor-pointer flex items-center justify-center", "aria-label": "Open calendar", children: _jsx(CalendarIcon, { size: 16, className: "text-gray-500" }) }) }), ...inputProps }) }), _jsx(PopoverContent, { className: "w-auto p-0", align: "center", sideOffset: 0, children: _jsx(Calendar, { mode: "single", captionLayout: "dropdown", selected: date, startMonth: minDate, endMonth: maxDate, onSelect: handleChangeDate }) })] }) }));
41
53
  };
@@ -6,3 +6,4 @@ type Story = StoryObj<typeof DatePicker>;
6
6
  export declare const Default: Story;
7
7
  export declare const WithLabel: Story;
8
8
  export declare const WithError: Story;
9
+ export declare const WithDateRange: Story;
@@ -11,6 +11,15 @@ const meta = {
11
11
  },
12
12
  },
13
13
  },
14
+ render: (args) => {
15
+ const convertedArgs = {
16
+ ...args,
17
+ currentDate: args.currentDate ? new Date(args.currentDate) : undefined,
18
+ minDate: args.minDate ? new Date(args.minDate) : undefined,
19
+ maxDate: args.maxDate ? new Date(args.maxDate) : undefined,
20
+ };
21
+ return _jsx(DatePicker, { ...convertedArgs });
22
+ },
14
23
  argTypes: {
15
24
  placeholder: {
16
25
  control: 'text',
@@ -29,6 +38,14 @@ const meta = {
29
38
  control: 'date',
30
39
  description: 'Initial date value',
31
40
  },
41
+ minDate: {
42
+ control: 'date',
43
+ description: 'Minimum selectable date',
44
+ },
45
+ maxDate: {
46
+ control: 'date',
47
+ description: 'Maximum selectable date',
48
+ },
32
49
  onChangeDate: {
33
50
  action: 'dateChanged',
34
51
  description: 'Callback fired when date changes',
@@ -73,3 +90,17 @@ export const WithError = {
73
90
  },
74
91
  },
75
92
  };
93
+ export const WithDateRange = {
94
+ args: {
95
+ label: 'Select Date (Limited Range)',
96
+ minDate: new Date(2024, 0, 1),
97
+ maxDate: new Date(2025, 11, 31),
98
+ },
99
+ parameters: {
100
+ docs: {
101
+ description: {
102
+ story: 'Date picker with minimum and maximum date constraints. Users can only select dates within the specified range.',
103
+ },
104
+ },
105
+ },
106
+ };
@@ -24,7 +24,6 @@ export function useInfiniteScrolling(params) {
24
24
  count: allRows.length + (isInfinite && hasNextPage ? 1 : 0),
25
25
  getScrollElement: () => parentScrollRef.current,
26
26
  estimateSize: () => { var _a; return (_a = virtualization === null || virtualization === void 0 ? void 0 : virtualization.rowEstimate) !== null && _a !== void 0 ? _a : 48; },
27
- measureElement: (el) => { var _a; return (_a = el === null || el === void 0 ? void 0 : el.getBoundingClientRect().height) !== null && _a !== void 0 ? _a : 48; },
28
27
  overscan: (_a = virtualization === null || virtualization === void 0 ? void 0 : virtualization.overscan) !== null && _a !== void 0 ? _a : 6,
29
28
  });
30
29
  const loadLockRef = useRef(false);
@@ -1,4 +1,4 @@
1
- import { useEffect, useMemo, useRef, useState } from 'react';
1
+ import { useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';
2
2
  import { useReactTable, getCoreRowModel, getSortedRowModel, getPaginationRowModel, getGroupedRowModel, getExpandedRowModel, } from '@tanstack/react-table';
3
3
  import { applyFlexSizes, getCheckboxSelectionColumn } from '../table.helpers';
4
4
  import { usePaginationController } from './usePaginationController';
@@ -12,7 +12,17 @@ export function useTableController({ id, height, data, columns, checkboxSelectio
12
12
  const columnVisibility = useMemo(() => {
13
13
  return Object.fromEntries(stableGrouping.map((columnId) => [columnId, false]));
14
14
  }, [stableGrouping]);
15
- const [tableColumns, setTableColumns] = useState(() => applyFlexSizes(columns !== null && columns !== void 0 ? columns : []));
15
+ const [containerWidth, setContainerWidth] = useState(0);
16
+ useLayoutEffect(() => {
17
+ if (!parentScrollRef.current)
18
+ return;
19
+ const ro = new ResizeObserver(([entry]) => {
20
+ setContainerWidth(entry.contentRect.width);
21
+ });
22
+ ro.observe(parentScrollRef.current);
23
+ return () => ro.disconnect();
24
+ }, []);
25
+ const [tableColumns, setTableColumns] = useState(() => applyFlexSizes(columns !== null && columns !== void 0 ? columns : [], containerWidth, !!(virtualization === null || virtualization === void 0 ? void 0 : virtualization.enabled)));
16
26
  const [internalSorting, setInternalSorting] = useState(sorting !== null && sorting !== void 0 ? sorting : []);
17
27
  const [internalRowSelection, setInternalRowSelection] = useState(() => {
18
28
  if (selectedRowIds) {
@@ -98,7 +108,7 @@ export function useTableController({ id, height, data, columns, checkboxSelectio
98
108
  return checkboxSelection ? getCheckboxSelectionColumn(table) : null;
99
109
  }, [checkboxSelection, table]);
100
110
  useEffect(() => {
101
- const normalized = applyFlexSizes(columns !== null && columns !== void 0 ? columns : []);
111
+ const normalized = applyFlexSizes(columns !== null && columns !== void 0 ? columns : [], containerWidth, !!(virtualization === null || virtualization === void 0 ? void 0 : virtualization.enabled));
102
112
  let finalColumns;
103
113
  if (checkboxSelection && selectionColumn) {
104
114
  if (checkboxPosition === 'start') {
@@ -115,7 +125,7 @@ export function useTableController({ id, height, data, columns, checkboxSelectio
115
125
  finalColumns = normalized;
116
126
  }
117
127
  setTableColumns(finalColumns);
118
- }, [columns, checkboxSelection, checkboxPosition]);
128
+ }, [columns, checkboxSelection, checkboxPosition, containerWidth, virtualization === null || virtualization === void 0 ? void 0 : virtualization.enabled]);
119
129
  return {
120
130
  table,
121
131
  height,
@@ -1,4 +1,8 @@
1
1
  import type { Table } from '@tanstack/react-table';
2
2
  import type { FlexColumnDef } from './Table.types';
3
3
  export declare function getCheckboxSelectionColumn<T>(table: Table<T>): FlexColumnDef<T>;
4
- export declare function applyFlexSizes<T>(columns?: FlexColumnDef<T>[], baseSize?: number): FlexColumnDef<T>[];
4
+ export type VirtualFlexColumnDef<T> = FlexColumnDef<T> & {
5
+ size?: number;
6
+ _virtualLocked?: boolean;
7
+ };
8
+ export declare function applyFlexSizes<T>(columns?: FlexColumnDef<T>[], containerWidth?: number, virtualizationEnabled?: boolean): VirtualFlexColumnDef<T>[];
@@ -23,15 +23,20 @@ export function getCheckboxSelectionColumn(table) {
23
23
  meta: { isSelectionColumn: true },
24
24
  };
25
25
  }
26
- export function applyFlexSizes(columns, baseSize = 100) {
27
- if (!columns) {
26
+ export function applyFlexSizes(columns, containerWidth = 0, virtualizationEnabled = false) {
27
+ if (!columns)
28
28
  return [];
29
+ if (!virtualizationEnabled || containerWidth === 0) {
30
+ return columns;
29
31
  }
32
+ const totalFlex = columns.reduce((sum, col) => { var _a; return sum + ((_a = col.flex) !== null && _a !== void 0 ? _a : 1); }, 0);
30
33
  return columns.map((col) => {
31
34
  var _a;
32
- return ({
35
+ const px = Math.round((containerWidth * ((_a = col.flex) !== null && _a !== void 0 ? _a : 1)) / totalFlex);
36
+ return {
33
37
  ...col,
34
- size: baseSize * ((_a = col.flex) !== null && _a !== void 0 ? _a : 1),
35
- });
38
+ size: px,
39
+ _virtualLocked: true,
40
+ };
36
41
  });
37
42
  }
@@ -4,9 +4,13 @@ import utc from 'dayjs/plugin/utc';
4
4
  import timezone from 'dayjs/plugin/timezone';
5
5
  import relativeTime from 'dayjs/plugin/relativeTime';
6
6
  import duration from 'dayjs/plugin/duration';
7
+ import isSameOrAfter from 'dayjs/plugin/isSameOrAfter';
8
+ import isSameOrBefore from 'dayjs/plugin/isSameOrBefore';
7
9
  dayjs.extend(customParseFormat);
8
10
  dayjs.extend(utc);
9
11
  dayjs.extend(timezone);
10
12
  dayjs.extend(relativeTime);
11
13
  dayjs.extend(duration);
14
+ dayjs.extend(isSameOrAfter);
15
+ dayjs.extend(isSameOrBefore);
12
16
  export { dayjs };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eml-payments/ui-kit",
3
- "version": "1.2.9",
3
+ "version": "1.3.2",
4
4
  "private": false,
5
5
  "description": "ARLO UIKit",
6
6
  "homepage": "https://github.com/EML-Payments/arlo.npm.uikit#readme",