@yuno-payments/dashboard-design-system 0.0.88 → 0.0.89
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/atoms/access-denied-alert/access-denied-alert.d.ts +16 -0
- package/dist/components/atoms/accordion/accordion.d.ts +66 -0
- package/dist/components/atoms/alert/alert.d.ts +21 -0
- package/dist/components/atoms/avatar/avatar-group.d.ts +28 -0
- package/dist/components/atoms/avatar/avatar.d.ts +25 -0
- package/dist/components/atoms/badge/badge.d.ts +28 -0
- package/dist/components/atoms/button/button.d.ts +44 -0
- package/dist/components/atoms/card/card.d.ts +67 -0
- package/dist/components/atoms/checkbox/checkbox.d.ts +27 -0
- package/dist/components/atoms/combobox/combobox.d.ts +18 -0
- package/dist/components/atoms/combobox/types.d.ts +89 -0
- package/dist/components/atoms/currency-field/currency-field.d.ts +36 -0
- package/dist/components/atoms/date-picker/date-picker.d.ts +15 -0
- package/dist/components/atoms/date-range-picker/date-range-picker.d.ts +15 -0
- package/dist/components/atoms/dots-menu/dots-menu.d.ts +16 -0
- package/dist/components/atoms/dots-menu/dots-menu.types.d.ts +52 -0
- package/dist/components/atoms/dropdown-menu/dropdown-menu.d.ts +50 -0
- package/dist/components/atoms/field/field.d.ts +55 -0
- package/dist/components/atoms/filter-dropdown/filter-dropdown.d.ts +201 -0
- package/dist/components/atoms/icon/icon.d.ts +29 -0
- package/dist/components/atoms/link/link.d.ts +20 -0
- package/dist/components/atoms/multi-values-field/multi-values-field.d.ts +16 -0
- package/dist/components/atoms/multi-values-field/multi-values-field.types.d.ts +64 -0
- package/dist/components/atoms/otp-field/otp-field.d.ts +32 -0
- package/dist/components/atoms/password-field/password-field.d.ts +23 -0
- package/dist/components/atoms/progress/progress.d.ts +15 -0
- package/dist/components/atoms/protected-field/protected-field.d.ts +10 -0
- package/dist/components/atoms/protected-field/protected-field.types.d.ts +14 -0
- package/dist/components/atoms/radio-group/radio-group.d.ts +48 -0
- package/dist/components/atoms/search-field/search-field.d.ts +14 -0
- package/dist/components/atoms/search-field/search-field.types.d.ts +57 -0
- package/dist/components/atoms/select/select.d.ts +82 -0
- package/dist/components/atoms/separator/separator.d.ts +17 -0
- package/dist/components/atoms/skeleton/index.d.ts +9 -0
- package/dist/components/atoms/switch/switch.d.ts +37 -0
- package/dist/components/atoms/tabs/index.d.ts +16 -0
- package/dist/components/atoms/textarea/textarea.d.ts +32 -0
- package/dist/components/atoms/time-picker/time-picker.d.ts +31 -0
- package/dist/components/atoms/toaster/index.d.ts +15 -0
- package/dist/components/atoms/toggle-group/toggle-group.d.ts +24 -0
- package/dist/components/atoms/tooltip/tooltip.d.ts +32 -0
- package/dist/components/atoms/typography/typography.d.ts +18 -0
- package/dist/components/molecules/breadcrumb/breadcrumb.d.ts +50 -0
- package/dist/components/molecules/dialog-content/dialog-content.d.ts +16 -0
- package/dist/components/molecules/dialog-footer/dialog-footer.d.ts +20 -0
- package/dist/components/molecules/dialog-header/dialog-header.d.ts +31 -0
- package/dist/components/molecules/empty/empty.d.ts +13 -0
- package/dist/components/molecules/highlight-banner/highlight-banner.d.ts +17 -0
- package/dist/components/molecules/pagination/pagination.d.ts +49 -0
- package/dist/components/organisms/data-table/components/cells/data-table-list-cell.d.ts +41 -0
- package/dist/components/organisms/data-table/components/column-header/data-table-column-header.d.ts +18 -0
- package/dist/components/organisms/data-table/components/data-table-body.d.ts +18 -0
- package/dist/components/organisms/data-table/components/data-table-header.d.ts +12 -0
- package/dist/components/organisms/data-table/components/states/data-table-loading.d.ts +24 -0
- package/dist/components/organisms/data-table/data-table.d.ts +83 -0
- package/dist/components/organisms/dialog/dialog.d.ts +67 -0
- package/dist/components/organisms/sheet/sheet.d.ts +69 -0
- package/package.json +1 -1
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { HTMLAttributes } from 'react';
|
|
2
2
|
import { IconName } from '../icon';
|
|
3
3
|
import { IconWeight } from '@phosphor-icons/react';
|
|
4
|
+
/**
|
|
5
|
+
* Props for the AccessDeniedAlert component
|
|
6
|
+
*/
|
|
4
7
|
interface AccessDeniedAlertProps extends HTMLAttributes<HTMLDivElement> {
|
|
5
8
|
/**
|
|
6
9
|
* Icon name to display on the left side.
|
|
@@ -18,5 +21,18 @@ interface AccessDeniedAlertProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
18
21
|
*/
|
|
19
22
|
text?: string;
|
|
20
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Alert component for displaying access denied / permission error messages.
|
|
26
|
+
* Shows an icon and customizable message for unauthorized access scenarios.
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```tsx
|
|
30
|
+
* <AccessDeniedAlert />
|
|
31
|
+
* <AccessDeniedAlert
|
|
32
|
+
* iconName="Lock"
|
|
33
|
+
* text="You need admin permissions to access this feature"
|
|
34
|
+
* />
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
21
37
|
declare const AccessDeniedAlert: import('react').ForwardRefExoticComponent<AccessDeniedAlertProps & import('react').RefAttributes<HTMLDivElement>>;
|
|
22
38
|
export { AccessDeniedAlert, type AccessDeniedAlertProps };
|
|
@@ -1,26 +1,92 @@
|
|
|
1
1
|
import { HTMLAttributes, ReactNode } from 'react';
|
|
2
2
|
import type * as AccordionPrimitive from "@radix-ui/react-accordion";
|
|
3
|
+
/**
|
|
4
|
+
* Props for the Accordion component.
|
|
5
|
+
* Supports both single and multiple selection modes.
|
|
6
|
+
*/
|
|
3
7
|
type AccordionProps = (AccordionPrimitive.AccordionSingleProps & {
|
|
8
|
+
/**
|
|
9
|
+
* Single selection mode - only one item can be expanded at a time
|
|
10
|
+
*/
|
|
4
11
|
type: "single";
|
|
12
|
+
/**
|
|
13
|
+
* Accordion items
|
|
14
|
+
*/
|
|
5
15
|
children: ReactNode;
|
|
16
|
+
/**
|
|
17
|
+
* Additional CSS classes
|
|
18
|
+
*/
|
|
6
19
|
className?: string;
|
|
7
20
|
}) | (AccordionPrimitive.AccordionMultipleProps & {
|
|
21
|
+
/**
|
|
22
|
+
* Multiple selection mode - multiple items can be expanded simultaneously
|
|
23
|
+
*/
|
|
8
24
|
type: "multiple";
|
|
25
|
+
/**
|
|
26
|
+
* Accordion items
|
|
27
|
+
*/
|
|
9
28
|
children: ReactNode;
|
|
29
|
+
/**
|
|
30
|
+
* Additional CSS classes
|
|
31
|
+
*/
|
|
10
32
|
className?: string;
|
|
11
33
|
});
|
|
34
|
+
/**
|
|
35
|
+
* Collapsible content sections organized in an accordion pattern.
|
|
36
|
+
* Supports single or multiple open items at once.
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```tsx
|
|
40
|
+
* <Accordion type="single" collapsible>
|
|
41
|
+
* <AccordionItem value="item-1">
|
|
42
|
+
* <AccordionTrigger>Section 1</AccordionTrigger>
|
|
43
|
+
* <AccordionContent>Content 1</AccordionContent>
|
|
44
|
+
* </AccordionItem>
|
|
45
|
+
* </Accordion>
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
12
48
|
declare const Accordion: import('react').ForwardRefExoticComponent<AccordionProps & import('react').RefAttributes<HTMLDivElement>>;
|
|
49
|
+
/**
|
|
50
|
+
* Props for the AccordionItem component
|
|
51
|
+
*/
|
|
13
52
|
interface AccordionItemProps extends HTMLAttributes<HTMLDivElement> {
|
|
53
|
+
/**
|
|
54
|
+
* Content of the accordion item (trigger and content)
|
|
55
|
+
*/
|
|
14
56
|
children: ReactNode;
|
|
57
|
+
/**
|
|
58
|
+
* Unique identifier for the accordion item
|
|
59
|
+
*/
|
|
15
60
|
value: string;
|
|
16
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
* Individual accordion section container
|
|
64
|
+
*/
|
|
17
65
|
declare const AccordionItem: import('react').ForwardRefExoticComponent<AccordionItemProps & import('react').RefAttributes<HTMLDivElement>>;
|
|
66
|
+
/**
|
|
67
|
+
* Props for the AccordionTrigger component
|
|
68
|
+
*/
|
|
18
69
|
interface AccordionTriggerProps extends HTMLAttributes<HTMLButtonElement> {
|
|
70
|
+
/**
|
|
71
|
+
* Text or elements to display in the trigger button
|
|
72
|
+
*/
|
|
19
73
|
children: ReactNode;
|
|
20
74
|
}
|
|
75
|
+
/**
|
|
76
|
+
* Clickable header that toggles the accordion item
|
|
77
|
+
*/
|
|
21
78
|
declare const AccordionTrigger: import('react').ForwardRefExoticComponent<AccordionTriggerProps & import('react').RefAttributes<HTMLButtonElement>>;
|
|
79
|
+
/**
|
|
80
|
+
* Props for the AccordionContent component
|
|
81
|
+
*/
|
|
22
82
|
interface AccordionContentProps extends HTMLAttributes<HTMLDivElement> {
|
|
83
|
+
/**
|
|
84
|
+
* Content to display when the accordion item is expanded
|
|
85
|
+
*/
|
|
23
86
|
children: ReactNode;
|
|
24
87
|
}
|
|
88
|
+
/**
|
|
89
|
+
* Collapsible content area of the accordion item
|
|
90
|
+
*/
|
|
25
91
|
declare const AccordionContent: import('react').ForwardRefExoticComponent<AccordionContentProps & import('react').RefAttributes<HTMLDivElement>>;
|
|
26
92
|
export { Accordion, AccordionItem, AccordionTrigger, AccordionContent, type AccordionProps, type AccordionItemProps, type AccordionTriggerProps, type AccordionContentProps, };
|
|
@@ -1,10 +1,31 @@
|
|
|
1
1
|
import { Alert as ShadcnAlert } from '../../../vendor/shadcn/alert';
|
|
2
2
|
import { ComponentProps } from 'react';
|
|
3
3
|
import { IconName } from '../icon';
|
|
4
|
+
/**
|
|
5
|
+
* Props for the Alert component
|
|
6
|
+
*/
|
|
4
7
|
interface AlertProps extends Omit<ComponentProps<typeof ShadcnAlert>, "children"> {
|
|
8
|
+
/**
|
|
9
|
+
* Optional icon to display at the start of the alert
|
|
10
|
+
*/
|
|
5
11
|
icon?: IconName;
|
|
12
|
+
/**
|
|
13
|
+
* Alert title/heading
|
|
14
|
+
*/
|
|
6
15
|
title?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Alert description/body text
|
|
18
|
+
*/
|
|
7
19
|
description?: string;
|
|
8
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Alert component for displaying informational, success, warning, or error messages.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```tsx
|
|
26
|
+
* <Alert variant="default" icon="Info" title="Information" description="This is an info alert" />
|
|
27
|
+
* <Alert variant="destructive" icon="Warning" title="Error" description="Something went wrong" />
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
9
30
|
declare const Alert: import('react').ForwardRefExoticComponent<Omit<AlertProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
|
|
10
31
|
export { Alert, type AlertProps };
|
|
@@ -1,9 +1,37 @@
|
|
|
1
1
|
import { AvatarProps } from './avatar';
|
|
2
2
|
import * as React from "react";
|
|
3
|
+
/**
|
|
4
|
+
* Props for the AvatarGroup component
|
|
5
|
+
*/
|
|
3
6
|
export interface AvatarGroupProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
7
|
+
/**
|
|
8
|
+
* Avatar components to display in the group
|
|
9
|
+
*/
|
|
4
10
|
children: React.ReactNode;
|
|
11
|
+
/**
|
|
12
|
+
* Maximum number of avatars to display before showing "+N" badge
|
|
13
|
+
* @default 3
|
|
14
|
+
*/
|
|
5
15
|
max?: number;
|
|
16
|
+
/**
|
|
17
|
+
* Size for all avatars in the group
|
|
18
|
+
* @default "default"
|
|
19
|
+
*/
|
|
6
20
|
size?: AvatarProps["size"];
|
|
7
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* Displays multiple avatars in an overlapping stack.
|
|
24
|
+
* Shows remaining count when exceeding max.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```tsx
|
|
28
|
+
* <AvatarGroup max={3} size="lg">
|
|
29
|
+
* <Avatar name="User 1" />
|
|
30
|
+
* <Avatar name="User 2" />
|
|
31
|
+
* <Avatar name="User 3" />
|
|
32
|
+
* <Avatar name="User 4" />
|
|
33
|
+
* </AvatarGroup>
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
8
36
|
declare const AvatarGroup: React.ForwardRefExoticComponent<AvatarGroupProps & React.RefAttributes<HTMLDivElement>>;
|
|
9
37
|
export { AvatarGroup };
|
|
@@ -4,11 +4,36 @@ import { Avatar as ShadcnAvatar } from '../../../vendor/shadcn/avatar';
|
|
|
4
4
|
declare const avatarVariants: (props?: ({
|
|
5
5
|
size?: "default" | "xs" | "sm" | "lg" | "xl" | null | undefined;
|
|
6
6
|
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
7
|
+
/**
|
|
8
|
+
* Props for the Avatar component
|
|
9
|
+
*/
|
|
7
10
|
export interface AvatarProps extends ComponentProps<typeof ShadcnAvatar>, VariantProps<typeof avatarVariants> {
|
|
11
|
+
/**
|
|
12
|
+
* Image source URL
|
|
13
|
+
*/
|
|
8
14
|
src?: string;
|
|
15
|
+
/**
|
|
16
|
+
* Alternative text for the image
|
|
17
|
+
*/
|
|
9
18
|
alt?: string;
|
|
19
|
+
/**
|
|
20
|
+
* User name to generate initials from if image fails to load
|
|
21
|
+
*/
|
|
10
22
|
name?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Custom fallback content (overrides initials)
|
|
25
|
+
*/
|
|
11
26
|
fallback?: string | ReactNode;
|
|
12
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* User avatar component with automatic fallback to initials or icon.
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```tsx
|
|
33
|
+
* <Avatar src="/user.jpg" name="John Doe" size="lg" />
|
|
34
|
+
* <Avatar name="Jane Smith" size="default" />
|
|
35
|
+
* <Avatar fallback={<CustomIcon />} />
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
13
38
|
declare const Avatar: import('react').ForwardRefExoticComponent<Omit<AvatarProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
|
|
14
39
|
export { Avatar };
|
|
@@ -1,12 +1,40 @@
|
|
|
1
1
|
import { ComponentProps } from 'react';
|
|
2
2
|
import { Badge as ShadcnBadge } from '../../../vendor/shadcn/badge';
|
|
3
3
|
import { Icon, IconName } from '../icon';
|
|
4
|
+
/**
|
|
5
|
+
* Props for the Badge component
|
|
6
|
+
*/
|
|
4
7
|
interface BadgeProps extends ComponentProps<typeof ShadcnBadge> {
|
|
8
|
+
/**
|
|
9
|
+
* Icon to display at the start (left side) of the badge
|
|
10
|
+
*/
|
|
5
11
|
startIcon?: IconName;
|
|
12
|
+
/**
|
|
13
|
+
* Icon to display at the end (right side) of the badge
|
|
14
|
+
*/
|
|
6
15
|
endIcon?: IconName;
|
|
16
|
+
/**
|
|
17
|
+
* Additional props to pass to the start icon
|
|
18
|
+
*/
|
|
7
19
|
startIconProps?: Partial<ComponentProps<typeof Icon>>;
|
|
20
|
+
/**
|
|
21
|
+
* Additional props to pass to the end icon
|
|
22
|
+
*/
|
|
8
23
|
endIconProps?: Partial<ComponentProps<typeof Icon>>;
|
|
24
|
+
/**
|
|
25
|
+
* Text content of the badge
|
|
26
|
+
*/
|
|
9
27
|
children?: string;
|
|
10
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Badge component for displaying labels, statuses, or categories with optional icons.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```tsx
|
|
34
|
+
* <Badge variant="default">Active</Badge>
|
|
35
|
+
* <Badge variant="secondary" startIcon="CheckCircle">Completed</Badge>
|
|
36
|
+
* <Badge variant="destructive" endIcon="X">Error</Badge>
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
11
39
|
declare const Badge: import('react').ForwardRefExoticComponent<Omit<BadgeProps, "ref"> & import('react').RefAttributes<HTMLSpanElement>>;
|
|
12
40
|
export { Badge, type BadgeProps };
|
|
@@ -2,16 +2,60 @@ import { ComponentProps, ReactNode } from 'react';
|
|
|
2
2
|
import { Icon, IconName } from '../icon';
|
|
3
3
|
type ButtonVariant = "default" | "destructive" | "outline" | "secondary" | "ghost" | "link";
|
|
4
4
|
type ButtonSize = "default" | "sm" | "lg" | "icon";
|
|
5
|
+
/**
|
|
6
|
+
* Props for the Button component
|
|
7
|
+
*/
|
|
5
8
|
interface ButtonProps extends Omit<ComponentProps<"button">, "children"> {
|
|
9
|
+
/**
|
|
10
|
+
* Visual style variant of the button
|
|
11
|
+
* @default "default"
|
|
12
|
+
*/
|
|
6
13
|
variant?: ButtonVariant;
|
|
14
|
+
/**
|
|
15
|
+
* Size of the button
|
|
16
|
+
* @default "default"
|
|
17
|
+
*/
|
|
7
18
|
size?: ButtonSize;
|
|
19
|
+
/**
|
|
20
|
+
* When true, button renders as Slot component to pass props to child element
|
|
21
|
+
* @default false
|
|
22
|
+
*/
|
|
8
23
|
asChild?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Icon to display at the start (left side) of the button
|
|
26
|
+
*/
|
|
9
27
|
startIcon?: IconName;
|
|
28
|
+
/**
|
|
29
|
+
* Icon to display at the end (right side) of the button
|
|
30
|
+
*/
|
|
10
31
|
endIcon?: IconName;
|
|
32
|
+
/**
|
|
33
|
+
* Additional props to pass to the start icon
|
|
34
|
+
*/
|
|
11
35
|
startIconProps?: Partial<ComponentProps<typeof Icon>>;
|
|
36
|
+
/**
|
|
37
|
+
* Additional props to pass to the end icon
|
|
38
|
+
*/
|
|
12
39
|
endIconProps?: Partial<ComponentProps<typeof Icon>>;
|
|
40
|
+
/**
|
|
41
|
+
* Shows loading spinner and disables the button
|
|
42
|
+
* @default false
|
|
43
|
+
*/
|
|
13
44
|
loading?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Button content (text, elements, etc.)
|
|
47
|
+
*/
|
|
14
48
|
children?: ReactNode;
|
|
15
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* Versatile button component with icon support and loading state.
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* ```tsx
|
|
55
|
+
* <Button variant="default">Click me</Button>
|
|
56
|
+
* <Button startIcon="Plus" size="sm">Add Item</Button>
|
|
57
|
+
* <Button loading disabled>Saving...</Button>
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
16
60
|
declare const Button: import('react').ForwardRefExoticComponent<Omit<ButtonProps, "ref"> & import('react').RefAttributes<HTMLButtonElement>>;
|
|
17
61
|
export { Button, type ButtonProps };
|
|
@@ -1,33 +1,100 @@
|
|
|
1
1
|
import { HTMLAttributes, ReactNode } from 'react';
|
|
2
2
|
import { CardProps as ShadcnCardProps } from '../../../vendor/shadcn/card';
|
|
3
|
+
/**
|
|
4
|
+
* Props for the Card component
|
|
5
|
+
*/
|
|
3
6
|
interface CardProps extends ShadcnCardProps {
|
|
7
|
+
/**
|
|
8
|
+
* Content to display in the card
|
|
9
|
+
*/
|
|
4
10
|
children: ReactNode;
|
|
5
11
|
/**
|
|
6
12
|
* Visual variant of the card
|
|
7
13
|
* - `default`: Standard gray border
|
|
8
14
|
* - `active`: Blue border for active/selected state
|
|
15
|
+
* @default "default"
|
|
9
16
|
*/
|
|
10
17
|
variant?: "default" | "active";
|
|
11
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* Container card component with header, content, and footer sections.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```tsx
|
|
24
|
+
* <Card variant="default">
|
|
25
|
+
* <CardHeader>
|
|
26
|
+
* <CardTitle>Title</CardTitle>
|
|
27
|
+
* <CardDescription>Description</CardDescription>
|
|
28
|
+
* </CardHeader>
|
|
29
|
+
* <CardContent>Content goes here</CardContent>
|
|
30
|
+
* <CardFooter>Footer actions</CardFooter>
|
|
31
|
+
* </Card>
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
12
34
|
declare const Card: import('react').ForwardRefExoticComponent<CardProps & import('react').RefAttributes<HTMLDivElement>>;
|
|
35
|
+
/**
|
|
36
|
+
* Props for the CardHeader component
|
|
37
|
+
*/
|
|
13
38
|
interface CardHeaderProps extends HTMLAttributes<HTMLDivElement> {
|
|
39
|
+
/**
|
|
40
|
+
* Content of the card header (typically CardTitle and CardDescription)
|
|
41
|
+
*/
|
|
14
42
|
children: ReactNode;
|
|
15
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Header section of a card
|
|
46
|
+
*/
|
|
16
47
|
declare const CardHeader: import('react').ForwardRefExoticComponent<CardHeaderProps & import('react').RefAttributes<HTMLDivElement>>;
|
|
48
|
+
/**
|
|
49
|
+
* Props for the CardTitle component
|
|
50
|
+
*/
|
|
17
51
|
interface CardTitleProps extends HTMLAttributes<HTMLDivElement> {
|
|
52
|
+
/**
|
|
53
|
+
* Title text or elements
|
|
54
|
+
*/
|
|
18
55
|
children: ReactNode;
|
|
19
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* Title element within a card header
|
|
59
|
+
*/
|
|
20
60
|
declare const CardTitle: import('react').ForwardRefExoticComponent<CardTitleProps & import('react').RefAttributes<HTMLDivElement>>;
|
|
61
|
+
/**
|
|
62
|
+
* Props for the CardDescription component
|
|
63
|
+
*/
|
|
21
64
|
interface CardDescriptionProps extends HTMLAttributes<HTMLDivElement> {
|
|
65
|
+
/**
|
|
66
|
+
* Description text or elements
|
|
67
|
+
*/
|
|
22
68
|
children: ReactNode;
|
|
23
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* Description element within a card header
|
|
72
|
+
*/
|
|
24
73
|
declare const CardDescription: import('react').ForwardRefExoticComponent<CardDescriptionProps & import('react').RefAttributes<HTMLDivElement>>;
|
|
74
|
+
/**
|
|
75
|
+
* Props for the CardContent component
|
|
76
|
+
*/
|
|
25
77
|
interface CardContentProps extends HTMLAttributes<HTMLDivElement> {
|
|
78
|
+
/**
|
|
79
|
+
* Main content of the card
|
|
80
|
+
*/
|
|
26
81
|
children: ReactNode;
|
|
27
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* Main content section of a card
|
|
85
|
+
*/
|
|
28
86
|
declare const CardContent: import('react').ForwardRefExoticComponent<CardContentProps & import('react').RefAttributes<HTMLDivElement>>;
|
|
87
|
+
/**
|
|
88
|
+
* Props for the CardFooter component
|
|
89
|
+
*/
|
|
29
90
|
interface CardFooterProps extends HTMLAttributes<HTMLDivElement> {
|
|
91
|
+
/**
|
|
92
|
+
* Footer content (typically action buttons)
|
|
93
|
+
*/
|
|
30
94
|
children: ReactNode;
|
|
31
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* Footer section of a card
|
|
98
|
+
*/
|
|
32
99
|
declare const CardFooter: import('react').ForwardRefExoticComponent<CardFooterProps & import('react').RefAttributes<HTMLDivElement>>;
|
|
33
100
|
export { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter, type CardProps, type CardHeaderProps, type CardTitleProps, type CardDescriptionProps, type CardContentProps, type CardFooterProps, };
|
|
@@ -1,9 +1,36 @@
|
|
|
1
1
|
import { ComponentProps, ChangeEvent } from 'react';
|
|
2
2
|
import { Checkbox as ShadcnCheckbox } from '../../../vendor/shadcn/checkbox';
|
|
3
|
+
/**
|
|
4
|
+
* Props for the Checkbox component
|
|
5
|
+
*/
|
|
3
6
|
export interface CheckboxProps extends Omit<ComponentProps<typeof ShadcnCheckbox>, "children" | "onCheckedChange"> {
|
|
7
|
+
/**
|
|
8
|
+
* Label text displayed next to the checkbox
|
|
9
|
+
*/
|
|
4
10
|
label?: string;
|
|
11
|
+
/**
|
|
12
|
+
* Optional description text displayed below the label
|
|
13
|
+
*/
|
|
5
14
|
description?: string;
|
|
15
|
+
/**
|
|
16
|
+
* Callback fired when the checkbox state changes
|
|
17
|
+
* Provides a synthetic ChangeEvent compatible with react-hook-form
|
|
18
|
+
*/
|
|
6
19
|
onChange?: (event: ChangeEvent<HTMLInputElement>) => void;
|
|
7
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Checkbox component with optional label and description.
|
|
23
|
+
* Compatible with react-hook-form through synthetic ChangeEvent.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```tsx
|
|
27
|
+
* <Checkbox
|
|
28
|
+
* label="Accept terms and conditions"
|
|
29
|
+
* description="You must agree to continue"
|
|
30
|
+
* checked={accepted}
|
|
31
|
+
* onChange={(e) => setAccepted(e.target.checked)}
|
|
32
|
+
* />
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
8
35
|
declare const Checkbox: import('react').ForwardRefExoticComponent<Omit<CheckboxProps, "ref"> & import('react').RefAttributes<HTMLButtonElement>>;
|
|
9
36
|
export { Checkbox };
|
|
@@ -1,3 +1,21 @@
|
|
|
1
1
|
import { ComboboxProps } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Multi-select combobox component with search and chips display.
|
|
4
|
+
* Features include searchable options, chip badges for selected items, and "delete all" functionality.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```tsx
|
|
8
|
+
* <Combobox
|
|
9
|
+
* label="Select Users"
|
|
10
|
+
* value={selectedIds}
|
|
11
|
+
* options={[
|
|
12
|
+
* { value: '1', label: 'John Doe' },
|
|
13
|
+
* { value: '2', label: 'Jane Smith' }
|
|
14
|
+
* ]}
|
|
15
|
+
* onChange={(newValues) => setSelectedIds(newValues)}
|
|
16
|
+
* onCloseChip={(id) => handleRemove(id)}
|
|
17
|
+
* />
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
2
20
|
declare const ComboboxComponent: import('react').ForwardRefExoticComponent<ComboboxProps & import('react').RefAttributes<HTMLButtonElement>>;
|
|
3
21
|
export { ComboboxComponent as Combobox };
|
|
@@ -1,31 +1,120 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Represents a single option in the combobox
|
|
4
|
+
*/
|
|
2
5
|
export interface ComboboxOption {
|
|
6
|
+
/**
|
|
7
|
+
* Unique value for the option
|
|
8
|
+
*/
|
|
3
9
|
value: string | number;
|
|
10
|
+
/**
|
|
11
|
+
* Display label for the option
|
|
12
|
+
*/
|
|
4
13
|
label: string;
|
|
14
|
+
/**
|
|
15
|
+
* Additional properties can be added
|
|
16
|
+
*/
|
|
5
17
|
[key: string]: string | number;
|
|
6
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* Props for the Combobox component
|
|
21
|
+
*/
|
|
7
22
|
export interface ComboboxProps {
|
|
23
|
+
/**
|
|
24
|
+
* Array of selected option values
|
|
25
|
+
*/
|
|
8
26
|
value: Array<string | number>;
|
|
27
|
+
/**
|
|
28
|
+
* Array of available options
|
|
29
|
+
*/
|
|
9
30
|
options: ComboboxOption[];
|
|
31
|
+
/**
|
|
32
|
+
* Placeholder text when no options are selected
|
|
33
|
+
* @default "Select options..."
|
|
34
|
+
*/
|
|
10
35
|
selectPlaceholder?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Placeholder text for the search input
|
|
38
|
+
* @default "Search..."
|
|
39
|
+
*/
|
|
11
40
|
searchPlaceholder?: string;
|
|
41
|
+
/**
|
|
42
|
+
* Callback fired when selection changes
|
|
43
|
+
*/
|
|
12
44
|
onChange: (values: Array<string | number>) => void;
|
|
45
|
+
/**
|
|
46
|
+
* Callback fired when a chip/tag is removed
|
|
47
|
+
*/
|
|
13
48
|
onCloseChip?: (value: string | number) => void;
|
|
49
|
+
/**
|
|
50
|
+
* Property name to use as the value identifier
|
|
51
|
+
* @default "value"
|
|
52
|
+
*/
|
|
14
53
|
valueProp?: string;
|
|
54
|
+
/**
|
|
55
|
+
* Whether the combobox should take full width
|
|
56
|
+
* @default false
|
|
57
|
+
*/
|
|
15
58
|
fullWidth?: boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Whether the combobox is disabled
|
|
61
|
+
* @default false
|
|
62
|
+
*/
|
|
16
63
|
disabled?: boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Whether to show the search input
|
|
66
|
+
* @default true
|
|
67
|
+
*/
|
|
17
68
|
withSearch?: boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Maximum number of chips to display before showing "+N"
|
|
71
|
+
* @default 10
|
|
72
|
+
*/
|
|
18
73
|
limitTags?: number;
|
|
74
|
+
/**
|
|
75
|
+
* Maximum height of the options list in pixels
|
|
76
|
+
* @default 320
|
|
77
|
+
*/
|
|
19
78
|
maxHeightList?: number;
|
|
79
|
+
/**
|
|
80
|
+
* Custom empty state component when no options match search
|
|
81
|
+
*/
|
|
20
82
|
emptyState?: ReactNode;
|
|
83
|
+
/**
|
|
84
|
+
* Label text displayed above the combobox
|
|
85
|
+
*/
|
|
21
86
|
label?: string;
|
|
87
|
+
/**
|
|
88
|
+
* Helper text displayed below the combobox
|
|
89
|
+
*/
|
|
22
90
|
description?: string;
|
|
91
|
+
/**
|
|
92
|
+
* Error message displayed below the combobox
|
|
93
|
+
*/
|
|
23
94
|
error?: string;
|
|
95
|
+
/**
|
|
96
|
+
* Configuration for "Delete All" chip functionality
|
|
97
|
+
*/
|
|
24
98
|
deleteAll?: {
|
|
99
|
+
/**
|
|
100
|
+
* Label for the delete all chip
|
|
101
|
+
*/
|
|
25
102
|
label: string;
|
|
103
|
+
/**
|
|
104
|
+
* Minimum number of selected items to show delete all
|
|
105
|
+
*/
|
|
26
106
|
length: number;
|
|
107
|
+
/**
|
|
108
|
+
* Callback fired when delete all is clicked
|
|
109
|
+
*/
|
|
27
110
|
onClick: () => void;
|
|
28
111
|
};
|
|
112
|
+
/**
|
|
113
|
+
* Additional CSS classes
|
|
114
|
+
*/
|
|
29
115
|
className?: string;
|
|
116
|
+
/**
|
|
117
|
+
* HTML id attribute
|
|
118
|
+
*/
|
|
30
119
|
id?: string;
|
|
31
120
|
}
|
|
@@ -3,14 +3,50 @@ declare const currencyFieldVariants: (props?: ({
|
|
|
3
3
|
size?: "base" | "xs" | "sm" | "lg" | "xl" | "2xl" | "3xl" | null | undefined;
|
|
4
4
|
fontWeight?: "bold" | "normal" | "medium" | "semibold" | null | undefined;
|
|
5
5
|
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
6
|
+
/**
|
|
7
|
+
* Props for the CurrencyField component
|
|
8
|
+
*/
|
|
6
9
|
export interface CurrencyFieldProps extends VariantProps<typeof currencyFieldVariants> {
|
|
10
|
+
/**
|
|
11
|
+
* Numeric value to format as currency
|
|
12
|
+
*/
|
|
7
13
|
value: number;
|
|
14
|
+
/**
|
|
15
|
+
* ISO 4217 currency code
|
|
16
|
+
* @default "USD"
|
|
17
|
+
*/
|
|
8
18
|
currency?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Locale(s) for number formatting
|
|
21
|
+
* @default "en"
|
|
22
|
+
*/
|
|
9
23
|
locales?: string | string[];
|
|
24
|
+
/**
|
|
25
|
+
* Additional CSS classes for the container
|
|
26
|
+
*/
|
|
10
27
|
className?: string;
|
|
28
|
+
/**
|
|
29
|
+
* Whether to display the currency code
|
|
30
|
+
* @default true
|
|
31
|
+
*/
|
|
11
32
|
showCurrencyCode?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Additional CSS classes for the value
|
|
35
|
+
*/
|
|
12
36
|
valueClassName?: string;
|
|
37
|
+
/**
|
|
38
|
+
* Additional CSS classes for the currency code
|
|
39
|
+
*/
|
|
13
40
|
codeClassName?: string;
|
|
14
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* Displays formatted currency values with optional currency code.
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```tsx
|
|
47
|
+
* <CurrencyField value={1234.56} currency="USD" size="lg" />
|
|
48
|
+
* <CurrencyField value={999} currency="EUR" showCurrencyCode={false} />
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
15
51
|
declare const CurrencyField: import('react').ForwardRefExoticComponent<CurrencyFieldProps & import('react').RefAttributes<HTMLDivElement>>;
|
|
16
52
|
export { CurrencyField };
|
|
@@ -1,4 +1,19 @@
|
|
|
1
1
|
import { DatePicker as DatePickerPrimitive, DatePickerProps as DatePickerPrimitiveProps } from '../../../vendor/shadcn/date-picker';
|
|
2
|
+
/**
|
|
3
|
+
* Props for the DatePicker component
|
|
4
|
+
*/
|
|
2
5
|
export type DatePickerProps = DatePickerPrimitiveProps;
|
|
6
|
+
/**
|
|
7
|
+
* Calendar-based date picker for selecting a single date.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```tsx
|
|
11
|
+
* <DatePicker
|
|
12
|
+
* value={selectedDate}
|
|
13
|
+
* onChange={(date) => setSelectedDate(date)}
|
|
14
|
+
* placeholder="Pick a date"
|
|
15
|
+
* />
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
3
18
|
declare const DatePicker: typeof DatePickerPrimitive;
|
|
4
19
|
export { DatePicker };
|