@a2v2ai/uikit 0.0.38 → 0.0.39

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 (183) hide show
  1. package/Alert/Alert.d.ts +13 -0
  2. package/Alert/Alert.js +25 -0
  3. package/AlertDialog/AlertDialog.d.ts +43 -0
  4. package/AlertDialog/AlertDialog.js +71 -0
  5. package/Avatar/Avatar.d.ts +14 -0
  6. package/Avatar/Avatar.js +25 -0
  7. package/Badge/Badge.d.ts +11 -0
  8. package/Badge/Badge.js +23 -0
  9. package/Breadcrumb/Breadcrumb.d.ts +19 -0
  10. package/Breadcrumb/Breadcrumb.js +23 -0
  11. package/Button/Button.d.ts +23 -0
  12. package/Button/Button.js +52 -0
  13. package/Calendar/Calendar.d.ts +20 -0
  14. package/Calendar/Calendar.js +78 -0
  15. package/Card/Card.d.ts +16 -0
  16. package/Card/Card.js +28 -0
  17. package/Carousel/Carousel.d.ts +37 -0
  18. package/Carousel/Carousel.js +132 -0
  19. package/ChatBubble/ChatBubble.d.ts +33 -0
  20. package/ChatBubble/ChatBubble.js +107 -0
  21. package/Checkbox/Checkbox.d.ts +12 -0
  22. package/Checkbox/Checkbox.js +20 -0
  23. package/DataTable/DataTable.d.ts +35 -0
  24. package/DataTable/DataTable.js +51 -0
  25. package/Drawer/Drawer.d.ts +33 -0
  26. package/Drawer/Drawer.js +55 -0
  27. package/DropdownMenu/DropdownMenu.d.ts +27 -0
  28. package/DropdownMenu/DropdownMenu.js +35 -0
  29. package/ErrorMessage/ErrorMessage.d.ts +27 -0
  30. package/ErrorMessage/ErrorMessage.js +14 -0
  31. package/Flex/Flex.d.ts +31 -0
  32. package/Flex/Flex.js +64 -0
  33. package/IconButton/IconButton.d.ts +23 -0
  34. package/IconButton/IconButton.js +48 -0
  35. package/Input/Input.d.ts +27 -0
  36. package/Input/Input.js +42 -0
  37. package/InputOTP/InputOTP.d.ts +20 -0
  38. package/InputOTP/InputOTP.js +44 -0
  39. package/Label/Label.d.ts +13 -0
  40. package/Label/Label.js +19 -0
  41. package/Loader/Loader.d.ts +21 -0
  42. package/Loader/Loader.js +30 -0
  43. package/Menubar/Menubar.d.ts +26 -0
  44. package/Menubar/Menubar.js +54 -0
  45. package/Menubar/index.d.ts +1 -0
  46. package/Menubar/index.js +1 -0
  47. package/Pagination/Pagination.d.ts +35 -0
  48. package/Pagination/Pagination.js +37 -0
  49. package/Popover/Popover.d.ts +7 -0
  50. package/Popover/Popover.js +10 -0
  51. package/Progress/Progress.d.ts +17 -0
  52. package/Progress/Progress.js +33 -0
  53. package/RadioGroup/RadioGroup.d.ts +13 -0
  54. package/RadioGroup/RadioGroup.js +26 -0
  55. package/ScrollArea/ScrollArea.d.ts +5 -0
  56. package/ScrollArea/ScrollArea.js +11 -0
  57. package/Select/Select.d.ts +29 -0
  58. package/Select/Select.js +50 -0
  59. package/Separator/Separator.d.ts +4 -0
  60. package/Separator/Separator.js +7 -0
  61. package/Sidebar/Sidebar.d.ts +48 -0
  62. package/Sidebar/Sidebar.js +116 -0
  63. package/Sidebar/index.d.ts +2 -0
  64. package/Sidebar/index.js +1 -0
  65. package/Skeleton/Skeleton.d.ts +4 -0
  66. package/Skeleton/Skeleton.js +7 -0
  67. package/Slider/Slider.d.ts +6 -0
  68. package/Slider/Slider.js +7 -0
  69. package/Spinner/Spinner.d.ts +19 -0
  70. package/Spinner/Spinner.js +31 -0
  71. package/Switch/Switch.d.ts +12 -0
  72. package/Switch/Switch.js +30 -0
  73. package/Table/Table.d.ts +10 -0
  74. package/Table/Table.js +20 -0
  75. package/Tabs/Tabs.d.ts +15 -0
  76. package/Tabs/Tabs.js +24 -0
  77. package/Textarea/Textarea.d.ts +19 -0
  78. package/Textarea/Textarea.js +31 -0
  79. package/Toast/Toast.d.ts +12 -0
  80. package/Toast/Toast.js +25 -0
  81. package/Tooltip/Tooltip.d.ts +17 -0
  82. package/Tooltip/Tooltip.js +29 -0
  83. package/Typography/Typography.d.ts +20 -0
  84. package/Typography/Typography.js +71 -0
  85. package/helpers.d.ts +4 -0
  86. package/helpers.js +5 -0
  87. package/icons.d.ts +1 -0
  88. package/{icons.ts → icons.js} +1 -1
  89. package/index.css +68 -0
  90. package/index.d.ts +42 -0
  91. package/index.js +45 -0
  92. package/lib/typography-types.d.ts +4 -0
  93. package/lib/typography-types.js +118 -0
  94. package/lib/utils.d.ts +3 -0
  95. package/lib/utils.js +14 -0
  96. package/package.json +1 -1
  97. package/Alert/Alert.stories.tsx +0 -121
  98. package/Alert/Alert.tsx +0 -71
  99. package/AlertDialog/AlertDialog.stories.tsx +0 -665
  100. package/AlertDialog/AlertDialog.tsx +0 -241
  101. package/Avatar/Avatar.stories.tsx +0 -128
  102. package/Avatar/Avatar.tsx +0 -71
  103. package/Badge/Badge.stories.tsx +0 -76
  104. package/Badge/Badge.tsx +0 -39
  105. package/Breadcrumb/Breadcrumb.stories.tsx +0 -231
  106. package/Breadcrumb/Breadcrumb.tsx +0 -114
  107. package/Button/Button.stories.tsx +0 -684
  108. package/Button/Button.tsx +0 -107
  109. package/Calendar/Calendar.stories.tsx +0 -291
  110. package/Calendar/Calendar.tsx +0 -246
  111. package/Card/Card.stories.tsx +0 -136
  112. package/Card/Card.tsx +0 -96
  113. package/Carousel/Carousel.stories.tsx +0 -256
  114. package/Carousel/Carousel.tsx +0 -301
  115. package/ChatBubble/ChatBubble.stories.tsx +0 -339
  116. package/ChatBubble/ChatBubble.tsx +0 -179
  117. package/Checkbox/Checkbox.stories.tsx +0 -137
  118. package/Checkbox/Checkbox.tsx +0 -53
  119. package/DataTable/DataTable.stories.tsx +0 -400
  120. package/DataTable/DataTable.tsx +0 -207
  121. package/Drawer/Drawer.stories.tsx +0 -721
  122. package/Drawer/Drawer.tsx +0 -201
  123. package/DropdownMenu/DropdownMenu.stories.tsx +0 -251
  124. package/DropdownMenu/DropdownMenu.tsx +0 -199
  125. package/ErrorMessage/ErrorMessage.stories.tsx +0 -159
  126. package/ErrorMessage/ErrorMessage.tsx +0 -55
  127. package/Flex/Flex.stories.tsx +0 -390
  128. package/Flex/Flex.tsx +0 -102
  129. package/IconButton/IconButton.stories.tsx +0 -566
  130. package/IconButton/IconButton.tsx +0 -95
  131. package/Input/Input.stories.tsx +0 -566
  132. package/Input/Input.tsx +0 -168
  133. package/InputOTP/InputOTP.stories.tsx +0 -246
  134. package/InputOTP/InputOTP.tsx +0 -127
  135. package/Label/Label.stories.tsx +0 -110
  136. package/Label/Label.tsx +0 -44
  137. package/Loader/Loader.stories.tsx +0 -170
  138. package/Loader/Loader.tsx +0 -62
  139. package/Menubar/Menubar.stories.tsx +0 -382
  140. package/Menubar/Menubar.tsx +0 -274
  141. package/Menubar/index.ts +0 -18
  142. package/Pagination/Pagination.stories.tsx +0 -196
  143. package/Pagination/Pagination.tsx +0 -122
  144. package/Popover/Popover.stories.tsx +0 -133
  145. package/Popover/Popover.tsx +0 -31
  146. package/Progress/Progress.stories.tsx +0 -146
  147. package/Progress/Progress.tsx +0 -67
  148. package/RadioGroup/RadioGroup.stories.tsx +0 -159
  149. package/RadioGroup/RadioGroup.tsx +0 -68
  150. package/ScrollArea/ScrollArea.stories.tsx +0 -136
  151. package/ScrollArea/ScrollArea.tsx +0 -46
  152. package/Select/Select.stories.tsx +0 -378
  153. package/Select/Select.tsx +0 -230
  154. package/Separator/Separator.stories.tsx +0 -110
  155. package/Separator/Separator.tsx +0 -29
  156. package/Sidebar/Sidebar.stories.tsx +0 -340
  157. package/Sidebar/Sidebar.tsx +0 -414
  158. package/Sidebar/index.ts +0 -28
  159. package/Skeleton/Skeleton.stories.tsx +0 -117
  160. package/Skeleton/Skeleton.tsx +0 -16
  161. package/Slider/Slider.stories.tsx +0 -216
  162. package/Slider/Slider.tsx +0 -29
  163. package/Spinner/Spinner.stories.tsx +0 -210
  164. package/Spinner/Spinner.tsx +0 -78
  165. package/Switch/Switch.stories.tsx +0 -146
  166. package/Switch/Switch.tsx +0 -59
  167. package/Table/Table.stories.tsx +0 -510
  168. package/Table/Table.tsx +0 -114
  169. package/Tabs/Tabs.stories.tsx +0 -197
  170. package/Tabs/Tabs.tsx +0 -74
  171. package/Textarea/Textarea.stories.tsx +0 -187
  172. package/Textarea/Textarea.tsx +0 -73
  173. package/Toast/Toast.stories.tsx +0 -285
  174. package/Toast/Toast.tsx +0 -59
  175. package/Tooltip/Tooltip.stories.tsx +0 -463
  176. package/Tooltip/Tooltip.tsx +0 -96
  177. package/Typography/Typography.stories.tsx +0 -425
  178. package/Typography/Typography.tsx +0 -106
  179. package/helpers.ts +0 -5
  180. package/index.ts +0 -217
  181. package/lib/typography-types.ts +0 -223
  182. package/lib/utils.ts +0 -15
  183. package/tsconfig.json +0 -22
@@ -1,179 +0,0 @@
1
- import * as React from "react"
2
- import { cva } from "class-variance-authority"
3
-
4
- import { cn } from "../lib/utils"
5
-
6
- type ChatBubbleSide = "left" | "right"
7
- type ChatBubbleColor = "blue" | "grey" | "green" | "lightGrey"
8
- type ChatBubbleTheme = "dark" | "light"
9
- type ChatBubbleSize = "small" | "medium" | "large" | "xlarge"
10
-
11
- const chatBubbleVariants = cva(
12
- "flex flex-col gap-1.5 w-full",
13
- {
14
- variants: {
15
- side: {
16
- left: "items-start",
17
- right: "items-end",
18
- },
19
- },
20
- defaultVariants: {
21
- side: "left",
22
- },
23
- }
24
- )
25
-
26
- const bubbleContentVariants = cva(
27
- "px-4 py-3 leading-normal max-w-[85%]",
28
- {
29
- variants: {
30
- color: {
31
- blue: "bg-blue-500",
32
- grey: "",
33
- green: "bg-green-500",
34
- lightGrey: "",
35
- },
36
- theme: {
37
- dark: "",
38
- light: "",
39
- },
40
- side: {
41
- left: "rounded-t-2xl rounded-br-2xl rounded-bl-md",
42
- right: "rounded-t-2xl rounded-bl-2xl rounded-br-md",
43
- },
44
- size: {
45
- small: "text-sm px-3 py-2",
46
- medium: "text-base px-4 py-3",
47
- large: "text-lg px-4 py-3",
48
- xlarge: "text-xl px-5 py-4",
49
- },
50
- },
51
- compoundVariants: [
52
- // Blue variants
53
- {
54
- color: "blue",
55
- theme: "dark",
56
- className: "bg-blue-500 text-white",
57
- },
58
- {
59
- color: "blue",
60
- theme: "light",
61
- className: "bg-[#2e9dfb] text-white",
62
- },
63
- // Grey variants
64
- {
65
- color: "grey",
66
- theme: "dark",
67
- className: "bg-[#3F3F46] text-[#F4F4F5]",
68
- },
69
- {
70
- color: "grey",
71
- theme: "light",
72
- className: "bg-main-100 text-[#52525B]",
73
- },
74
- // Green variants
75
- {
76
- color: "green",
77
- theme: "dark",
78
- className: "bg-green-500 text-white",
79
- },
80
- {
81
- color: "green",
82
- theme: "light",
83
- className: "bg-green-500 text-white",
84
- },
85
- // Light-grey variants
86
- {
87
- color: "lightGrey",
88
- theme: "dark",
89
- className: "bg-background-neutral-100 text-main-600",
90
- },
91
- {
92
- color: "lightGrey",
93
- theme: "light",
94
- className: "bg-background-neutral-100 text-main-600",
95
- },
96
- ],
97
- defaultVariants: {
98
- color: "blue",
99
- theme: "dark",
100
- side: "left",
101
- size: "small",
102
- },
103
- }
104
- )
105
-
106
- const labelVariants = cva(
107
- "text-sm text-neutral-400 mb-0.5",
108
- {
109
- variants: {
110
- side: {
111
- left: "ml-3",
112
- right: "mr-3",
113
- },
114
- },
115
- defaultVariants: {
116
- side: "left",
117
- },
118
- }
119
- )
120
-
121
- export interface ChatBubbleProps
122
- extends React.HTMLAttributes<HTMLDivElement> {
123
- /** The side of the chat bubble (left for received, right for sent) */
124
- side?: ChatBubbleSide
125
- /** The color variant of the bubble */
126
- color?: ChatBubbleColor
127
- /** The theme variant */
128
- theme?: ChatBubbleTheme
129
- /** The text size of the bubble */
130
- size?: ChatBubbleSize
131
- /** The message content */
132
- children: React.ReactNode
133
- /** Optional label shown above the bubble (e.g., sender name) */
134
- label?: string
135
- /** Whether to show the label */
136
- showLabel?: boolean
137
- }
138
-
139
- const ChatBubble = React.forwardRef<HTMLDivElement, ChatBubbleProps>(
140
- (
141
- {
142
- className,
143
- side = "left",
144
- color = "blue",
145
- theme = "dark",
146
- size = "small",
147
- children,
148
- label,
149
- showLabel = true,
150
- ...props
151
- },
152
- ref
153
- ) => {
154
- return (
155
- <div
156
- ref={ref}
157
- className={cn(chatBubbleVariants({ side, className }))}
158
- {...props}
159
- >
160
- {showLabel && label && (
161
- <span className={cn(labelVariants({ side }))}>
162
- {label}
163
- </span>
164
- )}
165
- <div
166
- className={cn(
167
- bubbleContentVariants({ color, theme, side, size })
168
- )}
169
- >
170
- {children}
171
- </div>
172
- </div>
173
- )
174
- }
175
- )
176
- ChatBubble.displayName = "ChatBubble"
177
-
178
- export { ChatBubble, chatBubbleVariants, bubbleContentVariants }
179
- export type { ChatBubbleSide, ChatBubbleColor, ChatBubbleTheme, ChatBubbleSize }
@@ -1,137 +0,0 @@
1
- import type { Meta, StoryObj } from "@storybook/react"
2
- import { useState } from "react"
3
-
4
- import { Label } from "../Label/Label"
5
- import { Flex } from "../Flex/Flex"
6
- import { Typography } from "../Typography/Typography"
7
- import { Checkbox } from "./Checkbox"
8
-
9
- function IndeterminateExample() {
10
- const [checked, setChecked] = useState<boolean | "indeterminate">("indeterminate")
11
- return (
12
- <Flex direction="row" align="center" gap={2}>
13
- <Checkbox
14
- id="indeterminate"
15
- checked={checked}
16
- onCheckedChange={(value) => setChecked(value)}
17
- />
18
- <Label htmlFor="indeterminate">Indeterminate</Label>
19
- </Flex>
20
- )
21
- }
22
-
23
- const meta: Meta<typeof Checkbox> = {
24
- title: "Components/Checkbox",
25
- component: Checkbox,
26
- parameters: {
27
- layout: "centered",
28
- },
29
- argTypes: {
30
- size: {
31
- control: "select",
32
- options: ["small", "regular"],
33
- description: "The size of the checkbox",
34
- },
35
- checked: {
36
- control: "boolean",
37
- description: "The checked state",
38
- },
39
- disabled: {
40
- control: "boolean",
41
- description: "Whether the checkbox is disabled",
42
- },
43
- },
44
- tags: ["autodocs"],
45
- }
46
-
47
- export default meta
48
- type Story = StoryObj<typeof meta>
49
-
50
- export const Default: Story = {
51
- render: () => <Checkbox />,
52
- }
53
-
54
- export const Checked: Story = {
55
- render: () => <Checkbox defaultChecked />,
56
- }
57
-
58
- export const WithLabel: Story = {
59
- render: () => (
60
- <Flex direction="row" align="center" gap={2}>
61
- <Checkbox id="terms" />
62
- <Label htmlFor="terms">Accept terms and conditions</Label>
63
- </Flex>
64
- ),
65
- }
66
-
67
- export const Disabled: Story = {
68
- render: () => (
69
- <Flex gap={3}>
70
- <Flex direction="row" align="center" gap={2}>
71
- <Checkbox id="disabled" disabled />
72
- <Label htmlFor="disabled" className="opacity-50">Disabled</Label>
73
- </Flex>
74
- <Flex direction="row" align="center" gap={2}>
75
- <Checkbox id="disabled-checked" disabled defaultChecked />
76
- <Label htmlFor="disabled-checked" className="opacity-50">Disabled checked</Label>
77
- </Flex>
78
- </Flex>
79
- ),
80
- }
81
-
82
- export const Indeterminate: Story = {
83
- render: () => <IndeterminateExample />,
84
- }
85
-
86
- export const Small: Story = {
87
- render: () => (
88
- <Flex direction="row" align="center" gap={2}>
89
- <Checkbox id="small" size="small" />
90
- <Label htmlFor="small" className="text-sm">Small checkbox</Label>
91
- </Flex>
92
- ),
93
- }
94
-
95
- export const AllVariants: Story = {
96
- render: () => (
97
- <Flex gap={6}>
98
- <Typography variant="h4" className="text-white">Checkbox States</Typography>
99
-
100
- <Flex gap={4}>
101
- <Flex direction="row" align="center" gap={2}>
102
- <Checkbox id="unchecked" />
103
- <Label htmlFor="unchecked">Unchecked</Label>
104
- </Flex>
105
-
106
- <Flex direction="row" align="center" gap={2}>
107
- <Checkbox id="checked" defaultChecked />
108
- <Label htmlFor="checked">Checked</Label>
109
- </Flex>
110
-
111
- <Flex direction="row" align="center" gap={2}>
112
- <Checkbox id="disabled-state" disabled />
113
- <Label htmlFor="disabled-state" className="opacity-50">Disabled</Label>
114
- </Flex>
115
-
116
- <Flex direction="row" align="center" gap={2}>
117
- <Checkbox id="disabled-checked-state" disabled defaultChecked />
118
- <Label htmlFor="disabled-checked-state" className="opacity-50">Disabled Checked</Label>
119
- </Flex>
120
- </Flex>
121
-
122
- <Typography variant="h4" className="text-white mt-4">Sizes</Typography>
123
-
124
- <Flex gap={4}>
125
- <Flex direction="row" align="center" gap={2}>
126
- <Checkbox id="small-size" size="small" defaultChecked />
127
- <Label htmlFor="small-size" className="text-sm">Small</Label>
128
- </Flex>
129
-
130
- <Flex direction="row" align="center" gap={2}>
131
- <Checkbox id="regular-size" size="regular" defaultChecked />
132
- <Label htmlFor="regular-size">Regular</Label>
133
- </Flex>
134
- </Flex>
135
- </Flex>
136
- ),
137
- }
@@ -1,53 +0,0 @@
1
- import * as React from "react"
2
- import * as CheckboxPrimitive from "@radix-ui/react-checkbox"
3
- import { Check, Minus } from "lucide-react"
4
- import { cva } from "class-variance-authority"
5
-
6
- import { cn } from "../lib/utils"
7
-
8
- type CheckboxSize = "small" | "regular"
9
-
10
- const checkboxVariants = cva(
11
- "peer shrink-0 border border-grey-300 bg-white ring-offset-white focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent-600 focus-visible:ring-offset-2 cursor-pointer disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-accent-600 data-[state=checked]:border-accent-600 data-[state=checked]:text-white data-[state=indeterminate]:bg-accent-600 data-[state=indeterminate]:border-accent-600 data-[state=indeterminate]:text-white",
12
- {
13
- variants: {
14
- size: {
15
- small: "size-4 rounded-[4px]",
16
- regular: "size-5 rounded-md",
17
- },
18
- },
19
- defaultVariants: {
20
- size: "regular",
21
- },
22
- }
23
- )
24
-
25
- export interface CheckboxProps
26
- extends React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root> {
27
- size?: CheckboxSize
28
- }
29
-
30
- const Checkbox = React.forwardRef<
31
- React.ElementRef<typeof CheckboxPrimitive.Root>,
32
- CheckboxProps
33
- >(({ className, size, ...props }, ref) => (
34
- <CheckboxPrimitive.Root
35
- ref={ref}
36
- className={cn(checkboxVariants({ size }), className)}
37
- {...props}
38
- >
39
- <CheckboxPrimitive.Indicator
40
- className={cn("flex items-center justify-center text-current")}
41
- >
42
- {props.checked === "indeterminate" ? (
43
- <Minus className={cn(size === "small" ? "size-3" : "size-3.5")} />
44
- ) : (
45
- <Check className={cn(size === "small" ? "size-3" : "size-3.5")} />
46
- )}
47
- </CheckboxPrimitive.Indicator>
48
- </CheckboxPrimitive.Root>
49
- ))
50
- Checkbox.displayName = CheckboxPrimitive.Root.displayName
51
-
52
- export { Checkbox, checkboxVariants }
53
- export type { CheckboxSize }