ui-arreya-components 0.0.15 → 0.1.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.
Files changed (103) hide show
  1. package/dist/index.d.mts +342 -0
  2. package/dist/index.d.ts +342 -0
  3. package/dist/index.js +1682 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/index.mjs +1495 -0
  6. package/dist/index.mjs.map +1 -0
  7. package/package.json +61 -106
  8. package/.storybook/main.ts +0 -18
  9. package/.storybook/preview.ts +0 -16
  10. package/.storybook/vitest.setup.ts +0 -9
  11. package/README.md +0 -54
  12. package/components.json +0 -21
  13. package/dist/styles.css +0 -3
  14. package/dist/ui.cjs.js +0 -119
  15. package/dist/ui.es.js +0 -7364
  16. package/dist/ui.umd.js +0 -119
  17. package/eslint.config.js +0 -28
  18. package/postcss.config.js +0 -6
  19. package/scripts/template.sh +0 -57
  20. package/src/components/feature/header.stories.tsx +0 -129
  21. package/src/components/feature/header.tsx +0 -78
  22. package/src/components/feature/login-form.stories.tsx +0 -35
  23. package/src/components/feature/login-form.tsx +0 -97
  24. package/src/components/index.ts +0 -1
  25. package/src/components/ui/accordion.stories.tsx.disabled +0 -36
  26. package/src/components/ui/accordion.tsx +0 -55
  27. package/src/components/ui/alert-dialog.stories.tsx +0 -46
  28. package/src/components/ui/alert-dialog.tsx +0 -139
  29. package/src/components/ui/alert.stories.tsx +0 -45
  30. package/src/components/ui/alert.tsx +0 -59
  31. package/src/components/ui/aspect-ratio.stories.tsx +0 -24
  32. package/src/components/ui/aspect-ratio.tsx +0 -5
  33. package/src/components/ui/avatar.stories.tsx +0 -29
  34. package/src/components/ui/avatar.tsx +0 -48
  35. package/src/components/ui/badge.stories.tsx +0 -43
  36. package/src/components/ui/badge.tsx +0 -36
  37. package/src/components/ui/breadcrumb.stories.tsx +0 -146
  38. package/src/components/ui/breadcrumb.tsx +0 -115
  39. package/src/components/ui/button.stories.tsx +0 -87
  40. package/src/components/ui/button.tsx +0 -57
  41. package/src/components/ui/card.stories.tsx +0 -99
  42. package/src/components/ui/card.tsx +0 -76
  43. package/src/components/ui/carousel.stories.tsx +0 -47
  44. package/src/components/ui/carousel.tsx +0 -260
  45. package/src/components/ui/chart.stories.tsx.disabled +0 -44
  46. package/src/components/ui/chart.tsx +0 -363
  47. package/src/components/ui/checkbox.stories.tsx +0 -56
  48. package/src/components/ui/checkbox.tsx +0 -28
  49. package/src/components/ui/collapsible.stories.tsx +0 -58
  50. package/src/components/ui/collapsible.tsx +0 -9
  51. package/src/components/ui/context-menu.stories.tsx +0 -34
  52. package/src/components/ui/context-menu.tsx +0 -198
  53. package/src/components/ui/dialog.stories.tsx +0 -40
  54. package/src/components/ui/dialog.tsx +0 -120
  55. package/src/components/ui/drawer.stories.tsx +0 -48
  56. package/src/components/ui/drawer.tsx +0 -116
  57. package/src/components/ui/dropdown-menu.stories.tsx +0 -92
  58. package/src/components/ui/dropdown-menu.tsx +0 -199
  59. package/src/components/ui/form.tsx +0 -176
  60. package/src/components/ui/hover-card.stories.tsx +0 -31
  61. package/src/components/ui/hover-card.tsx +0 -27
  62. package/src/components/ui/index.ts +0 -1
  63. package/src/components/ui/input-otp.tsx +0 -69
  64. package/src/components/ui/input.stories.tsx +0 -63
  65. package/src/components/ui/input.tsx +0 -22
  66. package/src/components/ui/label.tsx +0 -24
  67. package/src/components/ui/menubar.tsx +0 -254
  68. package/src/components/ui/navigation-menu.tsx +0 -128
  69. package/src/components/ui/pagination.tsx +0 -117
  70. package/src/components/ui/popover.tsx +0 -31
  71. package/src/components/ui/progress.tsx +0 -26
  72. package/src/components/ui/radio-group.tsx +0 -42
  73. package/src/components/ui/resizable.tsx +0 -43
  74. package/src/components/ui/scroll-area.tsx +0 -46
  75. package/src/components/ui/select.tsx +0 -157
  76. package/src/components/ui/separator.tsx +0 -29
  77. package/src/components/ui/sheet.tsx +0 -140
  78. package/src/components/ui/sidebar.tsx +0 -771
  79. package/src/components/ui/skeleton.tsx +0 -15
  80. package/src/components/ui/slider.tsx +0 -26
  81. package/src/components/ui/sonner.tsx +0 -29
  82. package/src/components/ui/switch.tsx +0 -27
  83. package/src/components/ui/table.tsx +0 -120
  84. package/src/components/ui/tabs.tsx +0 -53
  85. package/src/components/ui/textarea.tsx +0 -22
  86. package/src/components/ui/toast.tsx +0 -127
  87. package/src/components/ui/toaster.tsx +0 -33
  88. package/src/components/ui/toggle-group.tsx +0 -59
  89. package/src/components/ui/toggle.tsx +0 -43
  90. package/src/components/ui/tooltip.tsx +0 -30
  91. package/src/hooks/use-mobile.tsx +0 -19
  92. package/src/hooks/use-toast.ts +0 -194
  93. package/src/index.css +0 -3509
  94. package/src/index.ts +0 -51
  95. package/src/lib/types.ts +0 -5
  96. package/src/lib/utils.ts +0 -6
  97. package/src/styles/tailwind.css +0 -100
  98. package/tailwind.config.js +0 -96
  99. package/tsconfig.app.json +0 -30
  100. package/tsconfig.json +0 -13
  101. package/tsconfig.node.json +0 -24
  102. package/vite.config.ts +0 -33
  103. package/vitest.workspace.ts +0 -32
@@ -1,99 +0,0 @@
1
- import { Meta, StoryObj } from "@storybook/react"
2
-
3
- import {
4
- Card,
5
- CardHeader,
6
- CardFooter,
7
- CardTitle,
8
- CardDescription,
9
- CardContent
10
- } from "./card"
11
- import { Button } from './button'
12
- import { Switch } from './switch'
13
-
14
- import { BellRing, Check } from 'lucide-react'
15
-
16
-
17
- const meta = {
18
- title: "Components/Card",
19
- component: Card,
20
- parameters: {
21
- layout: "centered",
22
- },
23
- tags: ["autodocs"],
24
- } satisfies Meta<typeof Card>
25
-
26
- export default meta
27
- type Story = StoryObj<typeof meta>
28
-
29
- export const Default: Story = {
30
- render: () => (
31
- <Card>
32
- <CardHeader>
33
- <CardTitle>Card Title</CardTitle>
34
- <CardDescription>Card Description</CardDescription>
35
- </CardHeader>
36
- <CardContent>
37
- <p>Card Content</p>
38
- </CardContent>
39
- <CardFooter>
40
- <p>Card Footer</p>
41
- </CardFooter>
42
- </Card>
43
- )
44
- }
45
-
46
- export type notificationProps = {
47
- title: string,
48
- description: string
49
- }
50
-
51
- export const NotificationsCard = {
52
- args: {
53
- notifications: [
54
- {
55
- title: "Your call has been confirmed.",
56
- description: "1 hour ago",
57
- },
58
- {
59
- title: "You have a new message!",
60
- description: "1 hour ago",
61
- },
62
- {
63
- title: "Your subscription is expiring soon!",
64
- description: "2 hours ago",
65
- },
66
- ],
67
- className: '',
68
- props: ''
69
- },
70
- render: () => (
71
- <Card className="w-[380px]">
72
- <CardHeader>
73
- <CardTitle>Notifications</CardTitle>
74
- <CardDescription>You have 3 unread messages.</CardDescription>
75
- </CardHeader>
76
- <CardContent className="grid gap-4">
77
- <div className=" flex items-center space-x-4 rounded-md border p-4">
78
- <BellRing />
79
- <div className="flex-1 space-y-1">
80
- <p className="text-sm font-medium leading-none">
81
- Push Notifications
82
- </p>
83
- <p className="text-sm text-muted-foreground">
84
- Send notifications to device.
85
- </p>
86
- </div>
87
- <Switch />
88
- </div>
89
- <div>
90
- </div>
91
- </CardContent>
92
- <CardFooter>
93
- <Button className="w-full">
94
- <Check /> Mark all as read
95
- </Button>
96
- </CardFooter>
97
- </Card>
98
- )
99
- }
@@ -1,76 +0,0 @@
1
- import * as React from "react"
2
-
3
- import { cn } from "@/lib/utils"
4
-
5
- const Card = React.forwardRef<
6
- HTMLDivElement,
7
- React.HTMLAttributes<HTMLDivElement>
8
- >(({ className, ...props }, ref) => (
9
- <div
10
- ref={ref}
11
- className={cn(
12
- "rounded-xl border bg-card text-card-foreground shadow",
13
- className
14
- )}
15
- {...props}
16
- />
17
- ))
18
- Card.displayName = "Card"
19
-
20
- const CardHeader = React.forwardRef<
21
- HTMLDivElement,
22
- React.HTMLAttributes<HTMLDivElement>
23
- >(({ className, ...props }, ref) => (
24
- <div
25
- ref={ref}
26
- className={cn("flex flex-col space-y-1.5 p-6", className)}
27
- {...props}
28
- />
29
- ))
30
- CardHeader.displayName = "CardHeader"
31
-
32
- const CardTitle = React.forwardRef<
33
- HTMLDivElement,
34
- React.HTMLAttributes<HTMLDivElement>
35
- >(({ className, ...props }, ref) => (
36
- <div
37
- ref={ref}
38
- className={cn("font-semibold leading-none tracking-tight", className)}
39
- {...props}
40
- />
41
- ))
42
- CardTitle.displayName = "CardTitle"
43
-
44
- const CardDescription = React.forwardRef<
45
- HTMLDivElement,
46
- React.HTMLAttributes<HTMLDivElement>
47
- >(({ className, ...props }, ref) => (
48
- <div
49
- ref={ref}
50
- className={cn("text-sm text-muted-foreground", className)}
51
- {...props}
52
- />
53
- ))
54
- CardDescription.displayName = "CardDescription"
55
-
56
- const CardContent = React.forwardRef<
57
- HTMLDivElement,
58
- React.HTMLAttributes<HTMLDivElement>
59
- >(({ className, ...props }, ref) => (
60
- <div ref={ref} className={cn("p-6 pt-0", className)} {...props} />
61
- ))
62
- CardContent.displayName = "CardContent"
63
-
64
- const CardFooter = React.forwardRef<
65
- HTMLDivElement,
66
- React.HTMLAttributes<HTMLDivElement>
67
- >(({ className, ...props }, ref) => (
68
- <div
69
- ref={ref}
70
- className={cn("flex items-center p-6 pt-0", className)}
71
- {...props}
72
- />
73
- ))
74
- CardFooter.displayName = "CardFooter"
75
-
76
- export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }
@@ -1,47 +0,0 @@
1
- import { Meta, StoryObj } from "@storybook/react"
2
-
3
- import {
4
- Carousel,
5
- CarouselContent,
6
- CarouselItem,
7
- CarouselNext,
8
- CarouselPrevious
9
- } from "./carousel"
10
- import {
11
- Card,
12
- CardContent
13
- } from './card'
14
-
15
- const meta = {
16
- title: "Components/Carousel",
17
- component: Carousel,
18
- parameters: {
19
- layout: "centered",
20
- },
21
- tags: ["autodocs"],
22
- } satisfies Meta<typeof Carousel>
23
-
24
- export default meta
25
- type Story = StoryObj<typeof meta>
26
-
27
- export const Default: Story = {
28
- render: () => (
29
- <Carousel className="w-full max-w-xs">
30
- <CarouselContent>
31
- {[0,1,2,3,4].map((_, index) => (
32
- <CarouselItem key={index}>
33
- <div className="p-1">
34
- <Card>
35
- <CardContent className="flex aspect-square items-center justify-center p-6">
36
- <span className="text-4xl font-semibold">{index + 1}</span>
37
- </CardContent>
38
- </Card>
39
- </div>
40
- </CarouselItem>
41
- ))}
42
- </CarouselContent>
43
- <CarouselPrevious />
44
- <CarouselNext />
45
- </Carousel>
46
- )
47
- }
@@ -1,260 +0,0 @@
1
- import * as React from "react"
2
- import useEmblaCarousel, {
3
- type UseEmblaCarouselType,
4
- } from "embla-carousel-react"
5
- import { ArrowLeft, ArrowRight } from "lucide-react"
6
-
7
- import { cn } from "@/lib/utils"
8
- import { Button } from "@/components/ui/button"
9
-
10
- type CarouselApi = UseEmblaCarouselType[1]
11
- type UseCarouselParameters = Parameters<typeof useEmblaCarousel>
12
- type CarouselOptions = UseCarouselParameters[0]
13
- type CarouselPlugin = UseCarouselParameters[1]
14
-
15
- type CarouselProps = {
16
- opts?: CarouselOptions
17
- plugins?: CarouselPlugin
18
- orientation?: "horizontal" | "vertical"
19
- setApi?: (api: CarouselApi) => void
20
- }
21
-
22
- type CarouselContextProps = {
23
- carouselRef: ReturnType<typeof useEmblaCarousel>[0]
24
- api: ReturnType<typeof useEmblaCarousel>[1]
25
- scrollPrev: () => void
26
- scrollNext: () => void
27
- canScrollPrev: boolean
28
- canScrollNext: boolean
29
- } & CarouselProps
30
-
31
- const CarouselContext = React.createContext<CarouselContextProps | null>(null)
32
-
33
- function useCarousel() {
34
- const context = React.useContext(CarouselContext)
35
-
36
- if (!context) {
37
- throw new Error("useCarousel must be used within a <Carousel />")
38
- }
39
-
40
- return context
41
- }
42
-
43
- const Carousel = React.forwardRef<
44
- HTMLDivElement,
45
- React.HTMLAttributes<HTMLDivElement> & CarouselProps
46
- >(
47
- (
48
- {
49
- orientation = "horizontal",
50
- opts,
51
- setApi,
52
- plugins,
53
- className,
54
- children,
55
- ...props
56
- },
57
- ref
58
- ) => {
59
- const [carouselRef, api] = useEmblaCarousel(
60
- {
61
- ...opts,
62
- axis: orientation === "horizontal" ? "x" : "y",
63
- },
64
- plugins
65
- )
66
- const [canScrollPrev, setCanScrollPrev] = React.useState(false)
67
- const [canScrollNext, setCanScrollNext] = React.useState(false)
68
-
69
- const onSelect = React.useCallback((api: CarouselApi) => {
70
- if (!api) {
71
- return
72
- }
73
-
74
- setCanScrollPrev(api.canScrollPrev())
75
- setCanScrollNext(api.canScrollNext())
76
- }, [])
77
-
78
- const scrollPrev = React.useCallback(() => {
79
- api?.scrollPrev()
80
- }, [api])
81
-
82
- const scrollNext = React.useCallback(() => {
83
- api?.scrollNext()
84
- }, [api])
85
-
86
- const handleKeyDown = React.useCallback(
87
- (event: React.KeyboardEvent<HTMLDivElement>) => {
88
- if (event.key === "ArrowLeft") {
89
- event.preventDefault()
90
- scrollPrev()
91
- } else if (event.key === "ArrowRight") {
92
- event.preventDefault()
93
- scrollNext()
94
- }
95
- },
96
- [scrollPrev, scrollNext]
97
- )
98
-
99
- React.useEffect(() => {
100
- if (!api || !setApi) {
101
- return
102
- }
103
-
104
- setApi(api)
105
- }, [api, setApi])
106
-
107
- React.useEffect(() => {
108
- if (!api) {
109
- return
110
- }
111
-
112
- onSelect(api)
113
- api.on("reInit", onSelect)
114
- api.on("select", onSelect)
115
-
116
- return () => {
117
- api?.off("select", onSelect)
118
- }
119
- }, [api, onSelect])
120
-
121
- return (
122
- <CarouselContext.Provider
123
- value={{
124
- carouselRef,
125
- api: api,
126
- opts,
127
- orientation:
128
- orientation || (opts?.axis === "y" ? "vertical" : "horizontal"),
129
- scrollPrev,
130
- scrollNext,
131
- canScrollPrev,
132
- canScrollNext,
133
- }}
134
- >
135
- <div
136
- ref={ref}
137
- onKeyDownCapture={handleKeyDown}
138
- className={cn("relative", className)}
139
- role="region"
140
- aria-roledescription="carousel"
141
- {...props}
142
- >
143
- {children}
144
- </div>
145
- </CarouselContext.Provider>
146
- )
147
- }
148
- )
149
- Carousel.displayName = "Carousel"
150
-
151
- const CarouselContent = React.forwardRef<
152
- HTMLDivElement,
153
- React.HTMLAttributes<HTMLDivElement>
154
- >(({ className, ...props }, ref) => {
155
- const { carouselRef, orientation } = useCarousel()
156
-
157
- return (
158
- <div ref={carouselRef} className="overflow-hidden">
159
- <div
160
- ref={ref}
161
- className={cn(
162
- "flex",
163
- orientation === "horizontal" ? "-ml-4" : "-mt-4 flex-col",
164
- className
165
- )}
166
- {...props}
167
- />
168
- </div>
169
- )
170
- })
171
- CarouselContent.displayName = "CarouselContent"
172
-
173
- const CarouselItem = React.forwardRef<
174
- HTMLDivElement,
175
- React.HTMLAttributes<HTMLDivElement>
176
- >(({ className, ...props }, ref) => {
177
- const { orientation } = useCarousel()
178
-
179
- return (
180
- <div
181
- ref={ref}
182
- role="group"
183
- aria-roledescription="slide"
184
- className={cn(
185
- "min-w-0 shrink-0 grow-0 basis-full",
186
- orientation === "horizontal" ? "pl-4" : "pt-4",
187
- className
188
- )}
189
- {...props}
190
- />
191
- )
192
- })
193
- CarouselItem.displayName = "CarouselItem"
194
-
195
- const CarouselPrevious = React.forwardRef<
196
- HTMLButtonElement,
197
- React.ComponentProps<typeof Button>
198
- >(({ className, variant = "outline", size = "icon", ...props }, ref) => {
199
- const { orientation, scrollPrev, canScrollPrev } = useCarousel()
200
-
201
- return (
202
- <Button
203
- ref={ref}
204
- variant={variant}
205
- size={size}
206
- className={cn(
207
- "absolute h-8 w-8 rounded-full",
208
- orientation === "horizontal"
209
- ? "-left-12 top-1/2 -translate-y-1/2"
210
- : "-top-12 left-1/2 -translate-x-1/2 rotate-90",
211
- className
212
- )}
213
- disabled={!canScrollPrev}
214
- onClick={scrollPrev}
215
- {...props}
216
- >
217
- <ArrowLeft className="h-4 w-4" />
218
- <span className="sr-only">Previous slide</span>
219
- </Button>
220
- )
221
- })
222
- CarouselPrevious.displayName = "CarouselPrevious"
223
-
224
- const CarouselNext = React.forwardRef<
225
- HTMLButtonElement,
226
- React.ComponentProps<typeof Button>
227
- >(({ className, variant = "outline", size = "icon", ...props }, ref) => {
228
- const { orientation, scrollNext, canScrollNext } = useCarousel()
229
-
230
- return (
231
- <Button
232
- ref={ref}
233
- variant={variant}
234
- size={size}
235
- className={cn(
236
- "absolute h-8 w-8 rounded-full",
237
- orientation === "horizontal"
238
- ? "-right-12 top-1/2 -translate-y-1/2"
239
- : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90",
240
- className
241
- )}
242
- disabled={!canScrollNext}
243
- onClick={scrollNext}
244
- {...props}
245
- >
246
- <ArrowRight className="h-4 w-4" />
247
- <span className="sr-only">Next slide</span>
248
- </Button>
249
- )
250
- })
251
- CarouselNext.displayName = "CarouselNext"
252
-
253
- export {
254
- type CarouselApi,
255
- Carousel,
256
- CarouselContent,
257
- CarouselItem,
258
- CarouselPrevious,
259
- CarouselNext,
260
- }
@@ -1,44 +0,0 @@
1
- import { Meta, StoryObj } from "@storybook/react"
2
- import { Bar, BarChart, CartesianGrid, XAxis } from "recharts"
3
-
4
- import {
5
- ChartContainer,
6
- ChartTooltip,
7
- ChartTooltipContent,
8
- ChartLegend,
9
- ChartLegendContent,
10
- ChartStyle
11
- } from "./chart"
12
-
13
- const meta = {
14
- title: "Components/ChartContainer",
15
- component: ChartContainer,
16
- parameters: {
17
- layout: "centered",
18
- },
19
- tags: ["autodocs"],
20
- } satisfies Meta<typeof ChartContainer>
21
-
22
- export default meta
23
- type Story = StoryObj<typeof meta>
24
-
25
- export const Default: Story = {
26
- args: {
27
- data: [
28
- { month: "January", desktop: 186, mobile: 80 },
29
- { month: "February", desktop: 305, mobile: 200 },
30
- { month: "March", desktop: 237, mobile: 120 },
31
- { month: "April", desktop: 73, mobile: 190 },
32
- { month: "May", desktop: 209, mobile: 130 },
33
- { month: "June", desktop: 214, mobile: 140 },
34
- ]
35
- },
36
- render: (args) => (
37
- <ChartContainer className="h-[200px] w-full">
38
- <BarChart accessibilityLayer data={args.data}>
39
- <CartesianGrid vertical={false} />
40
- <Bar dataKey="mobile" fill="var(--color-mobile)" radius={4} />
41
- </BarChart>
42
- </ChartContainer>
43
- )
44
- }