@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.
Files changed (147) hide show
  1. package/Alert/Alert.stories.tsx +121 -0
  2. package/Alert/Alert.tsx +71 -0
  3. package/AlertDialog/AlertDialog.stories.tsx +665 -0
  4. package/AlertDialog/AlertDialog.tsx +241 -0
  5. package/Avatar/Avatar.stories.tsx +128 -0
  6. package/Avatar/Avatar.tsx +71 -0
  7. package/Badge/Badge.stories.tsx +76 -0
  8. package/Badge/Badge.tsx +39 -0
  9. package/Breadcrumb/Breadcrumb.stories.tsx +231 -0
  10. package/Breadcrumb/Breadcrumb.tsx +114 -0
  11. package/Button/Button.stories.tsx +684 -0
  12. package/Button/Button.tsx +90 -0
  13. package/Calendar/Calendar.stories.tsx +207 -0
  14. package/Calendar/Calendar.tsx +232 -0
  15. package/Card/Card.stories.tsx +136 -0
  16. package/Card/Card.tsx +96 -0
  17. package/ChatBubble/ChatBubble.stories.tsx +307 -0
  18. package/ChatBubble/ChatBubble.tsx +167 -0
  19. package/Checkbox/Checkbox.stories.tsx +137 -0
  20. package/Checkbox/Checkbox.tsx +53 -0
  21. package/Drawer/Drawer.stories.tsx +721 -0
  22. package/Drawer/Drawer.tsx +201 -0
  23. package/DropdownMenu/DropdownMenu.stories.tsx +251 -0
  24. package/DropdownMenu/DropdownMenu.tsx +199 -0
  25. package/ErrorMessage/ErrorMessage.stories.tsx +159 -0
  26. package/ErrorMessage/ErrorMessage.tsx +55 -0
  27. package/Flex/Flex.tsx +102 -0
  28. package/IconButton/IconButton.stories.tsx +566 -0
  29. package/IconButton/IconButton.tsx +95 -0
  30. package/Input/Input.stories.tsx +456 -0
  31. package/Input/Input.tsx +129 -0
  32. package/InputOTP/InputOTP.stories.tsx +246 -0
  33. package/InputOTP/InputOTP.tsx +127 -0
  34. package/Label/Label.stories.tsx +105 -0
  35. package/Label/Label.tsx +43 -0
  36. package/Loader/Loader.stories.tsx +170 -0
  37. package/Loader/Loader.tsx +62 -0
  38. package/Popover/Popover.stories.tsx +133 -0
  39. package/Popover/Popover.tsx +31 -0
  40. package/Progress/Progress.stories.tsx +146 -0
  41. package/Progress/Progress.tsx +67 -0
  42. package/RadioGroup/RadioGroup.stories.tsx +159 -0
  43. package/RadioGroup/RadioGroup.tsx +68 -0
  44. package/ScrollArea/ScrollArea.stories.tsx +136 -0
  45. package/ScrollArea/ScrollArea.tsx +46 -0
  46. package/Select/Select.stories.tsx +242 -0
  47. package/Select/Select.tsx +180 -0
  48. package/Separator/Separator.stories.tsx +110 -0
  49. package/Separator/Separator.tsx +29 -0
  50. package/Skeleton/Skeleton.stories.tsx +117 -0
  51. package/Skeleton/Skeleton.tsx +16 -0
  52. package/Spinner/Spinner.stories.tsx +210 -0
  53. package/Spinner/Spinner.tsx +78 -0
  54. package/Switch/Switch.stories.tsx +146 -0
  55. package/Switch/Switch.tsx +59 -0
  56. package/Tabs/Tabs.stories.tsx +197 -0
  57. package/Tabs/Tabs.tsx +74 -0
  58. package/Textarea/Textarea.stories.tsx +170 -0
  59. package/Textarea/Textarea.tsx +51 -0
  60. package/Toast/Toast.stories.tsx +285 -0
  61. package/Toast/Toast.tsx +59 -0
  62. package/Tooltip/Tooltip.stories.tsx +463 -0
  63. package/Tooltip/Tooltip.tsx +96 -0
  64. package/Typography/Typography.stories.tsx +235 -0
  65. package/Typography/Typography.tsx +171 -0
  66. package/helpers.ts +5 -0
  67. package/icons.ts +2 -0
  68. package/index.ts +136 -0
  69. package/lib/utils.ts +15 -0
  70. package/package.json +1 -1
  71. package/tsconfig.json +24 -0
  72. package/Alert/Alert.d.ts +0 -11
  73. package/Alert/Alert.js +0 -64
  74. package/AlertDialog/AlertDialog.d.ts +0 -35
  75. package/AlertDialog/AlertDialog.js +0 -121
  76. package/Avatar/Avatar.d.ts +0 -12
  77. package/Avatar/Avatar.js +0 -64
  78. package/Badge/Badge.d.ts +0 -9
  79. package/Badge/Badge.js +0 -26
  80. package/Breadcrumb/Breadcrumb.d.ts +0 -19
  81. package/Breadcrumb/Breadcrumb.js +0 -65
  82. package/Button/Button.d.ts +0 -14
  83. package/Button/Button.js +0 -75
  84. package/Calendar/Calendar.d.ts +0 -16
  85. package/Calendar/Calendar.js +0 -113
  86. package/Card/Card.d.ts +0 -14
  87. package/Card/Card.js +0 -70
  88. package/ChatBubble/ChatBubble.d.ts +0 -29
  89. package/ChatBubble/ChatBubble.js +0 -133
  90. package/Checkbox/Checkbox.d.ts +0 -10
  91. package/Checkbox/Checkbox.js +0 -57
  92. package/Dialog/Dialog.d.ts +0 -35
  93. package/Dialog/Dialog.js +0 -130
  94. package/Drawer/Drawer.d.ts +0 -31
  95. package/Drawer/Drawer.js +0 -69
  96. package/DropdownMenu/DropdownMenu.d.ts +0 -27
  97. package/DropdownMenu/DropdownMenu.js +0 -85
  98. package/ErrorMessage/ErrorMessage.d.ts +0 -27
  99. package/ErrorMessage/ErrorMessage.js +0 -15
  100. package/Flex/Flex.d.ts +0 -23
  101. package/Flex/Flex.js +0 -101
  102. package/IconButton/IconButton.d.ts +0 -17
  103. package/IconButton/IconButton.js +0 -85
  104. package/Input/Input.d.ts +0 -16
  105. package/Input/Input.js +0 -75
  106. package/InputOTP/InputOTP.d.ts +0 -18
  107. package/InputOTP/InputOTP.js +0 -85
  108. package/Label/Label.d.ts +0 -10
  109. package/Label/Label.js +0 -57
  110. package/Loader/Loader.d.ts +0 -18
  111. package/Loader/Loader.js +0 -67
  112. package/Popover/Popover.d.ts +0 -7
  113. package/Popover/Popover.js +0 -49
  114. package/Progress/Progress.d.ts +0 -13
  115. package/Progress/Progress.js +0 -71
  116. package/RadioGroup/RadioGroup.d.ts +0 -11
  117. package/RadioGroup/RadioGroup.js +0 -64
  118. package/ScrollArea/ScrollArea.d.ts +0 -5
  119. package/ScrollArea/ScrollArea.js +0 -48
  120. package/Select/Select.d.ts +0 -19
  121. package/Select/Select.js +0 -85
  122. package/Separator/Separator.d.ts +0 -4
  123. package/Separator/Separator.js +0 -43
  124. package/Skeleton/Skeleton.d.ts +0 -4
  125. package/Skeleton/Skeleton.js +0 -8
  126. package/Spinner/Spinner.d.ts +0 -15
  127. package/Spinner/Spinner.js +0 -68
  128. package/Switch/Switch.d.ts +0 -10
  129. package/Switch/Switch.js +0 -67
  130. package/Tabs/Tabs.d.ts +0 -13
  131. package/Tabs/Tabs.js +0 -64
  132. package/Textarea/Textarea.d.ts +0 -10
  133. package/Textarea/Textarea.js +0 -64
  134. package/Toast/Toast.d.ts +0 -10
  135. package/Toast/Toast.js +0 -29
  136. package/Tooltip/Tooltip.d.ts +0 -15
  137. package/Tooltip/Tooltip.js +0 -68
  138. package/Typography/Typography.d.ts +0 -15
  139. package/Typography/Typography.js +0 -125
  140. package/helpers.d.ts +0 -4
  141. package/helpers.js +0 -13
  142. package/icons.d.ts +0 -1
  143. package/icons.js +0 -18
  144. package/index.d.ts +0 -35
  145. package/index.js +0 -183
  146. package/lib/utils.d.ts +0 -3
  147. 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
+ }
@@ -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 }