@a2v2ai/uikit 0.0.2 → 0.0.3
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/Alert/Alert.stories.tsx +121 -0
- package/Alert/Alert.tsx +71 -0
- package/AlertDialog/AlertDialog.stories.tsx +665 -0
- package/AlertDialog/AlertDialog.tsx +241 -0
- package/Avatar/Avatar.stories.tsx +128 -0
- package/Avatar/Avatar.tsx +71 -0
- package/Badge/Badge.stories.tsx +76 -0
- package/Badge/Badge.tsx +39 -0
- package/Breadcrumb/Breadcrumb.stories.tsx +231 -0
- package/Breadcrumb/Breadcrumb.tsx +114 -0
- package/Button/Button.stories.tsx +684 -0
- package/Button/Button.tsx +90 -0
- package/Calendar/Calendar.stories.tsx +207 -0
- package/Calendar/Calendar.tsx +232 -0
- package/Card/Card.stories.tsx +136 -0
- package/Card/Card.tsx +96 -0
- package/ChatBubble/ChatBubble.stories.tsx +307 -0
- package/ChatBubble/ChatBubble.tsx +167 -0
- package/Checkbox/Checkbox.stories.tsx +137 -0
- package/Checkbox/Checkbox.tsx +53 -0
- package/Drawer/Drawer.stories.tsx +721 -0
- package/Drawer/Drawer.tsx +201 -0
- package/DropdownMenu/DropdownMenu.stories.tsx +251 -0
- package/DropdownMenu/DropdownMenu.tsx +199 -0
- package/ErrorMessage/ErrorMessage.stories.tsx +159 -0
- package/ErrorMessage/ErrorMessage.tsx +55 -0
- package/Flex/Flex.tsx +102 -0
- package/IconButton/IconButton.stories.tsx +566 -0
- package/IconButton/IconButton.tsx +95 -0
- package/Input/Input.stories.tsx +456 -0
- package/Input/Input.tsx +129 -0
- package/InputOTP/InputOTP.stories.tsx +246 -0
- package/InputOTP/InputOTP.tsx +127 -0
- package/Label/Label.stories.tsx +105 -0
- package/Label/Label.tsx +43 -0
- package/Loader/Loader.stories.tsx +170 -0
- package/Loader/Loader.tsx +62 -0
- package/Popover/Popover.stories.tsx +133 -0
- package/Popover/Popover.tsx +31 -0
- package/Progress/Progress.stories.tsx +146 -0
- package/Progress/Progress.tsx +67 -0
- package/RadioGroup/RadioGroup.stories.tsx +159 -0
- package/RadioGroup/RadioGroup.tsx +68 -0
- package/ScrollArea/ScrollArea.stories.tsx +136 -0
- package/ScrollArea/ScrollArea.tsx +46 -0
- package/Select/Select.stories.tsx +242 -0
- package/Select/Select.tsx +180 -0
- package/Separator/Separator.stories.tsx +110 -0
- package/Separator/Separator.tsx +29 -0
- package/Skeleton/Skeleton.stories.tsx +117 -0
- package/Skeleton/Skeleton.tsx +16 -0
- package/Spinner/Spinner.stories.tsx +210 -0
- package/Spinner/Spinner.tsx +78 -0
- package/Switch/Switch.stories.tsx +146 -0
- package/Switch/Switch.tsx +59 -0
- package/Tabs/Tabs.stories.tsx +197 -0
- package/Tabs/Tabs.tsx +74 -0
- package/Textarea/Textarea.stories.tsx +170 -0
- package/Textarea/Textarea.tsx +51 -0
- package/Toast/Toast.stories.tsx +285 -0
- package/Toast/Toast.tsx +59 -0
- package/Tooltip/Tooltip.stories.tsx +463 -0
- package/Tooltip/Tooltip.tsx +96 -0
- package/Typography/Typography.stories.tsx +235 -0
- package/Typography/Typography.tsx +171 -0
- package/helpers.ts +5 -0
- package/icons.ts +2 -0
- package/index.ts +136 -0
- package/lib/utils.ts +15 -0
- package/package.json +1 -1
- package/tsconfig.json +24 -0
- package/Alert/Alert.d.ts +0 -11
- package/Alert/Alert.js +0 -64
- package/AlertDialog/AlertDialog.d.ts +0 -35
- package/AlertDialog/AlertDialog.js +0 -121
- package/Avatar/Avatar.d.ts +0 -12
- package/Avatar/Avatar.js +0 -64
- package/Badge/Badge.d.ts +0 -9
- package/Badge/Badge.js +0 -26
- package/Breadcrumb/Breadcrumb.d.ts +0 -19
- package/Breadcrumb/Breadcrumb.js +0 -65
- package/Button/Button.d.ts +0 -14
- package/Button/Button.js +0 -75
- package/Calendar/Calendar.d.ts +0 -16
- package/Calendar/Calendar.js +0 -113
- package/Card/Card.d.ts +0 -14
- package/Card/Card.js +0 -70
- package/ChatBubble/ChatBubble.d.ts +0 -29
- package/ChatBubble/ChatBubble.js +0 -133
- package/Checkbox/Checkbox.d.ts +0 -10
- package/Checkbox/Checkbox.js +0 -57
- package/Dialog/Dialog.d.ts +0 -35
- package/Dialog/Dialog.js +0 -130
- package/Drawer/Drawer.d.ts +0 -31
- package/Drawer/Drawer.js +0 -69
- package/DropdownMenu/DropdownMenu.d.ts +0 -27
- package/DropdownMenu/DropdownMenu.js +0 -85
- package/ErrorMessage/ErrorMessage.d.ts +0 -27
- package/ErrorMessage/ErrorMessage.js +0 -15
- package/Flex/Flex.d.ts +0 -23
- package/Flex/Flex.js +0 -101
- package/IconButton/IconButton.d.ts +0 -17
- package/IconButton/IconButton.js +0 -85
- package/Input/Input.d.ts +0 -16
- package/Input/Input.js +0 -75
- package/InputOTP/InputOTP.d.ts +0 -18
- package/InputOTP/InputOTP.js +0 -85
- package/Label/Label.d.ts +0 -10
- package/Label/Label.js +0 -57
- package/Loader/Loader.d.ts +0 -18
- package/Loader/Loader.js +0 -67
- package/Popover/Popover.d.ts +0 -7
- package/Popover/Popover.js +0 -49
- package/Progress/Progress.d.ts +0 -13
- package/Progress/Progress.js +0 -71
- package/RadioGroup/RadioGroup.d.ts +0 -11
- package/RadioGroup/RadioGroup.js +0 -64
- package/ScrollArea/ScrollArea.d.ts +0 -5
- package/ScrollArea/ScrollArea.js +0 -48
- package/Select/Select.d.ts +0 -19
- package/Select/Select.js +0 -85
- package/Separator/Separator.d.ts +0 -4
- package/Separator/Separator.js +0 -43
- package/Skeleton/Skeleton.d.ts +0 -4
- package/Skeleton/Skeleton.js +0 -8
- package/Spinner/Spinner.d.ts +0 -15
- package/Spinner/Spinner.js +0 -68
- package/Switch/Switch.d.ts +0 -10
- package/Switch/Switch.js +0 -67
- package/Tabs/Tabs.d.ts +0 -13
- package/Tabs/Tabs.js +0 -64
- package/Textarea/Textarea.d.ts +0 -10
- package/Textarea/Textarea.js +0 -64
- package/Toast/Toast.d.ts +0 -10
- package/Toast/Toast.js +0 -29
- package/Tooltip/Tooltip.d.ts +0 -15
- package/Tooltip/Tooltip.js +0 -68
- package/Typography/Typography.d.ts +0 -15
- package/Typography/Typography.js +0 -125
- package/helpers.d.ts +0 -4
- package/helpers.js +0 -13
- package/icons.d.ts +0 -1
- package/icons.js +0 -18
- package/index.d.ts +0 -35
- package/index.js +0 -183
- package/lib/utils.d.ts +0 -3
- package/lib/utils.js +0 -18
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from "@storybook/react"
|
|
2
|
+
import { AlertCircle, CheckCircle2, Info as InfoIcon, AlertTriangle } from "../icons"
|
|
3
|
+
|
|
4
|
+
import { Flex } from "../Flex/Flex"
|
|
5
|
+
import { Typography } from "../Typography/Typography"
|
|
6
|
+
import { Alert, AlertTitle, AlertDescription } from "./Alert"
|
|
7
|
+
|
|
8
|
+
const meta: Meta<typeof Alert> = {
|
|
9
|
+
title: "Components/Alert",
|
|
10
|
+
component: Alert,
|
|
11
|
+
parameters: {
|
|
12
|
+
layout: "centered",
|
|
13
|
+
},
|
|
14
|
+
argTypes: {
|
|
15
|
+
variant: {
|
|
16
|
+
control: "select",
|
|
17
|
+
options: ["default", "destructive", "success", "warning", "info"],
|
|
18
|
+
description: "The visual variant of the alert",
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
tags: ["autodocs"],
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export default meta
|
|
25
|
+
type Story = StoryObj<typeof meta>
|
|
26
|
+
|
|
27
|
+
export const Default: Story = {
|
|
28
|
+
render: () => (
|
|
29
|
+
<Alert className="w-[400px]">
|
|
30
|
+
<AlertTitle>Heads up!</AlertTitle>
|
|
31
|
+
<AlertDescription>
|
|
32
|
+
You can add components to your app using the cli.
|
|
33
|
+
</AlertDescription>
|
|
34
|
+
</Alert>
|
|
35
|
+
),
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export const Destructive: Story = {
|
|
39
|
+
render: () => (
|
|
40
|
+
<Alert variant="destructive" className="w-[400px]">
|
|
41
|
+
<AlertCircle className="size-4" />
|
|
42
|
+
<AlertTitle>Error</AlertTitle>
|
|
43
|
+
<AlertDescription>
|
|
44
|
+
Your session has expired. Please log in again.
|
|
45
|
+
</AlertDescription>
|
|
46
|
+
</Alert>
|
|
47
|
+
),
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export const Success: Story = {
|
|
51
|
+
render: () => (
|
|
52
|
+
<Alert variant="success" className="w-[400px]">
|
|
53
|
+
<CheckCircle2 className="size-4" />
|
|
54
|
+
<AlertTitle>Success</AlertTitle>
|
|
55
|
+
<AlertDescription>
|
|
56
|
+
Your changes have been saved successfully.
|
|
57
|
+
</AlertDescription>
|
|
58
|
+
</Alert>
|
|
59
|
+
),
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export const Warning: Story = {
|
|
63
|
+
render: () => (
|
|
64
|
+
<Alert variant="warning" className="w-[400px]">
|
|
65
|
+
<AlertTriangle className="size-4" />
|
|
66
|
+
<AlertTitle>Warning</AlertTitle>
|
|
67
|
+
<AlertDescription>
|
|
68
|
+
Your account is about to expire. Please renew your subscription.
|
|
69
|
+
</AlertDescription>
|
|
70
|
+
</Alert>
|
|
71
|
+
),
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export const InfoAlert: Story = {
|
|
75
|
+
render: () => (
|
|
76
|
+
<Alert variant="info" className="w-[400px]">
|
|
77
|
+
<InfoIcon className="size-4" />
|
|
78
|
+
<AlertTitle>Information</AlertTitle>
|
|
79
|
+
<AlertDescription>
|
|
80
|
+
A new version is available. Update now for new features.
|
|
81
|
+
</AlertDescription>
|
|
82
|
+
</Alert>
|
|
83
|
+
),
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
export const AllVariants: Story = {
|
|
87
|
+
render: () => (
|
|
88
|
+
<Flex direction="column" gap={4} className="w-[400px]">
|
|
89
|
+
<Typography variant="h4" className="text-white">Alert Variants</Typography>
|
|
90
|
+
|
|
91
|
+
<Alert>
|
|
92
|
+
<AlertTitle>Default</AlertTitle>
|
|
93
|
+
<AlertDescription>This is a default alert message.</AlertDescription>
|
|
94
|
+
</Alert>
|
|
95
|
+
|
|
96
|
+
<Alert variant="destructive">
|
|
97
|
+
<AlertCircle className="size-4" />
|
|
98
|
+
<AlertTitle>Destructive</AlertTitle>
|
|
99
|
+
<AlertDescription>This is a destructive alert message.</AlertDescription>
|
|
100
|
+
</Alert>
|
|
101
|
+
|
|
102
|
+
<Alert variant="success">
|
|
103
|
+
<CheckCircle2 className="size-4" />
|
|
104
|
+
<AlertTitle>Success</AlertTitle>
|
|
105
|
+
<AlertDescription>This is a success alert message.</AlertDescription>
|
|
106
|
+
</Alert>
|
|
107
|
+
|
|
108
|
+
<Alert variant="warning">
|
|
109
|
+
<AlertTriangle className="size-4" />
|
|
110
|
+
<AlertTitle>Warning</AlertTitle>
|
|
111
|
+
<AlertDescription>This is a warning alert message.</AlertDescription>
|
|
112
|
+
</Alert>
|
|
113
|
+
|
|
114
|
+
<Alert variant="info">
|
|
115
|
+
<InfoIcon className="size-4" />
|
|
116
|
+
<AlertTitle>Info</AlertTitle>
|
|
117
|
+
<AlertDescription>This is an info alert message.</AlertDescription>
|
|
118
|
+
</Alert>
|
|
119
|
+
</Flex>
|
|
120
|
+
),
|
|
121
|
+
}
|
package/Alert/Alert.tsx
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import * as React from "react"
|
|
2
|
+
import { cva } from "class-variance-authority"
|
|
3
|
+
|
|
4
|
+
import { cn } from "../lib/utils"
|
|
5
|
+
|
|
6
|
+
type AlertVariant = "default" | "destructive" | "success" | "warning" | "info"
|
|
7
|
+
|
|
8
|
+
const alertVariants = cva(
|
|
9
|
+
"relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-current [&>svg~*]:pl-7",
|
|
10
|
+
{
|
|
11
|
+
variants: {
|
|
12
|
+
variant: {
|
|
13
|
+
default: "bg-white text-main-950 border-grey-200",
|
|
14
|
+
destructive:
|
|
15
|
+
"border-error-200 bg-error-50 text-error-700 [&>svg]:text-error-600",
|
|
16
|
+
success:
|
|
17
|
+
"border-success-200 bg-success-50 text-success-700 [&>svg]:text-success-600",
|
|
18
|
+
warning:
|
|
19
|
+
"border-warning-200 bg-warning-50 text-warning-700 [&>svg]:text-warning-600",
|
|
20
|
+
info: "border-info-200 bg-info-50 text-info-700 [&>svg]:text-info-600",
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
defaultVariants: {
|
|
24
|
+
variant: "default",
|
|
25
|
+
},
|
|
26
|
+
}
|
|
27
|
+
)
|
|
28
|
+
|
|
29
|
+
export interface AlertProps
|
|
30
|
+
extends React.HTMLAttributes<HTMLDivElement> {
|
|
31
|
+
variant?: AlertVariant
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const Alert = React.forwardRef<HTMLDivElement, AlertProps>(
|
|
35
|
+
({ className, variant, ...props }, ref) => (
|
|
36
|
+
<div
|
|
37
|
+
ref={ref}
|
|
38
|
+
role="alert"
|
|
39
|
+
className={cn(alertVariants({ variant }), className)}
|
|
40
|
+
{...props}
|
|
41
|
+
/>
|
|
42
|
+
)
|
|
43
|
+
)
|
|
44
|
+
Alert.displayName = "Alert"
|
|
45
|
+
|
|
46
|
+
const AlertTitle = React.forwardRef<
|
|
47
|
+
HTMLParagraphElement,
|
|
48
|
+
React.HTMLAttributes<HTMLHeadingElement>
|
|
49
|
+
>(({ className, ...props }, ref) => (
|
|
50
|
+
<h5
|
|
51
|
+
ref={ref}
|
|
52
|
+
className={cn("mb-1 font-medium leading-none tracking-tight", className)}
|
|
53
|
+
{...props}
|
|
54
|
+
/>
|
|
55
|
+
))
|
|
56
|
+
AlertTitle.displayName = "AlertTitle"
|
|
57
|
+
|
|
58
|
+
const AlertDescription = React.forwardRef<
|
|
59
|
+
HTMLParagraphElement,
|
|
60
|
+
React.HTMLAttributes<HTMLParagraphElement>
|
|
61
|
+
>(({ className, ...props }, ref) => (
|
|
62
|
+
<div
|
|
63
|
+
ref={ref}
|
|
64
|
+
className={cn("text-sm [&_p]:leading-relaxed", className)}
|
|
65
|
+
{...props}
|
|
66
|
+
/>
|
|
67
|
+
))
|
|
68
|
+
AlertDescription.displayName = "AlertDescription"
|
|
69
|
+
|
|
70
|
+
export { Alert, AlertTitle, AlertDescription, alertVariants }
|
|
71
|
+
export type { AlertVariant }
|