@arolariu/components 0.0.2 → 0.0.4

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 (106) hide show
  1. package/dist/cjs/components/ui/accordion.js +1 -0
  2. package/dist/cjs/components/ui/alert-dialog.js +1 -0
  3. package/dist/cjs/components/ui/alert.js +1 -0
  4. package/dist/cjs/components/ui/aspect-ratio.js +1 -0
  5. package/dist/cjs/components/ui/avatar.js +1 -0
  6. package/dist/cjs/components/ui/badge.js +1 -0
  7. package/dist/cjs/components/ui/breadcrumb.js +1 -0
  8. package/dist/cjs/components/ui/button.js +1 -0
  9. package/dist/cjs/components/ui/calendar.js +1 -0
  10. package/dist/cjs/components/ui/card.js +1 -0
  11. package/dist/cjs/components/ui/carousel.js +1 -0
  12. package/dist/cjs/components/ui/chart.js +7 -0
  13. package/dist/cjs/components/ui/checkbox.js +1 -0
  14. package/dist/cjs/components/ui/collapsible.js +1 -0
  15. package/dist/cjs/components/ui/command.js +1 -0
  16. package/dist/cjs/components/ui/context-menu.js +1 -0
  17. package/dist/cjs/components/ui/dialog.js +1 -0
  18. package/dist/cjs/components/ui/drawer.js +1 -0
  19. package/dist/cjs/components/ui/dropdown-menu.js +1 -0
  20. package/dist/cjs/components/ui/form.js +1 -0
  21. package/dist/cjs/components/ui/hover-card.js +1 -0
  22. package/dist/cjs/components/ui/input-otp.js +1 -0
  23. package/dist/cjs/components/ui/input.js +1 -0
  24. package/dist/cjs/components/ui/label.js +1 -0
  25. package/dist/cjs/components/ui/menubar.js +1 -0
  26. package/dist/cjs/components/ui/navigation-menu.js +1 -0
  27. package/dist/cjs/components/ui/pagination.js +1 -0
  28. package/dist/cjs/components/ui/popover.js +1 -0
  29. package/dist/cjs/components/ui/progress.js +1 -0
  30. package/dist/cjs/components/ui/radio-group.js +1 -0
  31. package/dist/cjs/components/ui/resizable.js +1 -0
  32. package/dist/cjs/components/ui/scroll-area.js +1 -0
  33. package/dist/cjs/components/ui/select.js +1 -0
  34. package/dist/cjs/components/ui/separator.js +1 -0
  35. package/dist/cjs/components/ui/sheet.js +1 -0
  36. package/dist/cjs/components/ui/sidebar.js +1 -0
  37. package/dist/cjs/components/ui/skeleton.js +1 -0
  38. package/dist/cjs/components/ui/slider.js +1 -0
  39. package/dist/cjs/components/ui/sonner.js +1 -0
  40. package/dist/cjs/components/ui/switch.js +1 -0
  41. package/dist/cjs/components/ui/table.js +1 -0
  42. package/dist/cjs/components/ui/tabs.js +1 -0
  43. package/dist/cjs/components/ui/textarea.js +1 -0
  44. package/dist/cjs/components/ui/toggle-group.js +1 -0
  45. package/dist/cjs/components/ui/toggle.js +1 -0
  46. package/dist/cjs/components/ui/tooltip.js +1 -0
  47. package/dist/cjs/hooks/use-mobile.js +1 -0
  48. package/dist/cjs/index.js +1 -0
  49. package/dist/cjs/lib/utils.js +1 -0
  50. package/dist/es/components/ui/accordion.js +64 -0
  51. package/dist/es/components/ui/alert-dialog.js +146 -0
  52. package/dist/es/components/ui/alert.js +66 -0
  53. package/dist/es/components/ui/aspect-ratio.js +10 -0
  54. package/dist/es/components/ui/avatar.js +53 -0
  55. package/dist/es/components/ui/badge.js +39 -0
  56. package/dist/es/components/ui/breadcrumb.js +102 -0
  57. package/dist/es/components/ui/button.js +49 -0
  58. package/dist/es/components/ui/calendar.js +61 -0
  59. package/dist/es/components/ui/card.js +73 -0
  60. package/dist/es/components/ui/carousel.js +177 -0
  61. package/dist/es/components/ui/chart.js +215 -0
  62. package/dist/es/components/ui/checkbox.js +31 -0
  63. package/dist/es/components/ui/collapsible.js +34 -0
  64. package/dist/es/components/ui/command.js +161 -0
  65. package/dist/es/components/ui/context-menu.js +223 -0
  66. package/dist/es/components/ui/dialog.js +128 -0
  67. package/dist/es/components/ui/drawer.js +125 -0
  68. package/dist/es/components/ui/dropdown-menu.js +231 -0
  69. package/dist/es/components/ui/form.js +101 -0
  70. package/dist/es/components/ui/hover-card.js +38 -0
  71. package/dist/es/components/ui/input-otp.js +65 -0
  72. package/dist/es/components/ui/input.js +21 -0
  73. package/dist/es/components/ui/label.js +22 -0
  74. package/dist/es/components/ui/menubar.js +251 -0
  75. package/dist/es/components/ui/navigation-menu.js +170 -0
  76. package/dist/es/components/ui/pagination.js +118 -0
  77. package/dist/es/components/ui/popover.js +44 -0
  78. package/dist/es/components/ui/progress.js +31 -0
  79. package/dist/es/components/ui/radio-group.js +45 -0
  80. package/dist/es/components/ui/resizable.js +48 -0
  81. package/dist/es/components/ui/scroll-area.js +60 -0
  82. package/dist/es/components/ui/select.js +167 -0
  83. package/dist/es/components/ui/separator.js +26 -0
  84. package/dist/es/components/ui/sheet.js +126 -0
  85. package/dist/es/components/ui/sidebar.js +590 -0
  86. package/dist/es/components/ui/skeleton.js +15 -0
  87. package/dist/es/components/ui/slider.js +63 -0
  88. package/dist/es/components/ui/sonner.js +25 -0
  89. package/dist/es/components/ui/switch.js +31 -0
  90. package/dist/es/components/ui/table.js +114 -0
  91. package/dist/es/components/ui/tabs.js +67 -0
  92. package/dist/es/components/ui/textarea.js +18 -0
  93. package/dist/es/components/ui/toggle-group.js +62 -0
  94. package/dist/es/components/ui/toggle.js +43 -0
  95. package/dist/es/components/ui/tooltip.js +55 -0
  96. package/dist/es/hooks/use-mobile.js +14 -0
  97. package/dist/es/index.js +291 -0
  98. package/dist/es/lib/utils.js +8 -0
  99. package/dist/umd/arolariu-components.umd.js +7 -0
  100. package/package.json +11 -3
  101. package/dist/arolariu-components.cjs.js +0 -38
  102. package/dist/arolariu-components.cjs.js.map +0 -1
  103. package/dist/arolariu-components.es.js +0 -4643
  104. package/dist/arolariu-components.es.js.map +0 -1
  105. package/dist/arolariu-components.umd.js +0 -38
  106. package/dist/arolariu-components.umd.js.map +0 -1
@@ -0,0 +1,146 @@
1
+ import { jsx as e, jsxs as n } from "react/jsx-runtime";
2
+ import * as l from "@radix-ui/react-alert-dialog";
3
+ import { cn as o } from "../../lib/utils.js";
4
+ import { buttonVariants as r } from "./button.js";
5
+ function u({
6
+ ...t
7
+ }) {
8
+ return /* @__PURE__ */ e(l.Root, { "data-slot": "alert-dialog", ...t });
9
+ }
10
+ function f({
11
+ ...t
12
+ }) {
13
+ return /* @__PURE__ */ e(l.Trigger, { "data-slot": "alert-dialog-trigger", ...t });
14
+ }
15
+ function i({
16
+ ...t
17
+ }) {
18
+ return /* @__PURE__ */ e(l.Portal, { "data-slot": "alert-dialog-portal", ...t });
19
+ }
20
+ function s({
21
+ className: t,
22
+ ...a
23
+ }) {
24
+ return /* @__PURE__ */ e(
25
+ l.Overlay,
26
+ {
27
+ "data-slot": "alert-dialog-overlay",
28
+ className: o(
29
+ "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80",
30
+ t
31
+ ),
32
+ ...a
33
+ }
34
+ );
35
+ }
36
+ function m({
37
+ className: t,
38
+ ...a
39
+ }) {
40
+ return /* @__PURE__ */ n(i, { children: [
41
+ /* @__PURE__ */ e(s, {}),
42
+ /* @__PURE__ */ e(
43
+ l.Content,
44
+ {
45
+ "data-slot": "alert-dialog-content",
46
+ className: o(
47
+ "bg-white data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border border-neutral-200 p-6 shadow-lg duration-200 sm:max-w-lg dark:bg-neutral-950 dark:border-neutral-800",
48
+ t
49
+ ),
50
+ ...a
51
+ }
52
+ )
53
+ ] });
54
+ }
55
+ function p({
56
+ className: t,
57
+ ...a
58
+ }) {
59
+ return /* @__PURE__ */ e(
60
+ "div",
61
+ {
62
+ "data-slot": "alert-dialog-header",
63
+ className: o("flex flex-col gap-2 text-center sm:text-left", t),
64
+ ...a
65
+ }
66
+ );
67
+ }
68
+ function x({
69
+ className: t,
70
+ ...a
71
+ }) {
72
+ return /* @__PURE__ */ e(
73
+ "div",
74
+ {
75
+ "data-slot": "alert-dialog-footer",
76
+ className: o(
77
+ "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",
78
+ t
79
+ ),
80
+ ...a
81
+ }
82
+ );
83
+ }
84
+ function A({
85
+ className: t,
86
+ ...a
87
+ }) {
88
+ return /* @__PURE__ */ e(
89
+ l.Title,
90
+ {
91
+ "data-slot": "alert-dialog-title",
92
+ className: o("text-lg font-semibold", t),
93
+ ...a
94
+ }
95
+ );
96
+ }
97
+ function D({
98
+ className: t,
99
+ ...a
100
+ }) {
101
+ return /* @__PURE__ */ e(
102
+ l.Description,
103
+ {
104
+ "data-slot": "alert-dialog-description",
105
+ className: o("text-neutral-500 text-sm dark:text-neutral-400", t),
106
+ ...a
107
+ }
108
+ );
109
+ }
110
+ function b({
111
+ className: t,
112
+ ...a
113
+ }) {
114
+ return /* @__PURE__ */ e(
115
+ l.Action,
116
+ {
117
+ className: o(r(), t),
118
+ ...a
119
+ }
120
+ );
121
+ }
122
+ function v({
123
+ className: t,
124
+ ...a
125
+ }) {
126
+ return /* @__PURE__ */ e(
127
+ l.Cancel,
128
+ {
129
+ className: o(r({ variant: "outline" }), t),
130
+ ...a
131
+ }
132
+ );
133
+ }
134
+ export {
135
+ u as AlertDialog,
136
+ b as AlertDialogAction,
137
+ v as AlertDialogCancel,
138
+ m as AlertDialogContent,
139
+ D as AlertDialogDescription,
140
+ x as AlertDialogFooter,
141
+ p as AlertDialogHeader,
142
+ s as AlertDialogOverlay,
143
+ i as AlertDialogPortal,
144
+ A as AlertDialogTitle,
145
+ f as AlertDialogTrigger
146
+ };
@@ -0,0 +1,66 @@
1
+ import { jsx as a } from "react/jsx-runtime";
2
+ import { cva as s } from "class-variance-authority";
3
+ import { cn as e } from "../../lib/utils.js";
4
+ const i = s(
5
+ "relative w-full rounded-lg border border-neutral-200 px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current dark:border-neutral-800",
6
+ {
7
+ variants: {
8
+ variant: {
9
+ default: "bg-white text-neutral-950 dark:bg-neutral-950 dark:text-neutral-50",
10
+ destructive: "text-neutral-50 [&>svg]:text-current *:data-[slot=alert-description]:text-neutral-50/80 dark:text-neutral-50 dark:*:data-[slot=alert-description]:text-neutral-50/80"
11
+ }
12
+ },
13
+ defaultVariants: {
14
+ variant: "default"
15
+ }
16
+ }
17
+ );
18
+ function u({
19
+ className: t,
20
+ variant: r,
21
+ ...l
22
+ }) {
23
+ return /* @__PURE__ */ a(
24
+ "div",
25
+ {
26
+ "data-slot": "alert",
27
+ role: "alert",
28
+ className: e(i({ variant: r }), t),
29
+ ...l
30
+ }
31
+ );
32
+ }
33
+ function c({ className: t, ...r }) {
34
+ return /* @__PURE__ */ a(
35
+ "div",
36
+ {
37
+ "data-slot": "alert-title",
38
+ className: e(
39
+ "col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",
40
+ t
41
+ ),
42
+ ...r
43
+ }
44
+ );
45
+ }
46
+ function g({
47
+ className: t,
48
+ ...r
49
+ }) {
50
+ return /* @__PURE__ */ a(
51
+ "div",
52
+ {
53
+ "data-slot": "alert-description",
54
+ className: e(
55
+ "text-neutral-500 col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed dark:text-neutral-400",
56
+ t
57
+ ),
58
+ ...r
59
+ }
60
+ );
61
+ }
62
+ export {
63
+ u as Alert,
64
+ g as AlertDescription,
65
+ c as AlertTitle
66
+ };
@@ -0,0 +1,10 @@
1
+ import { jsx as o } from "react/jsx-runtime";
2
+ import * as i from "@radix-ui/react-aspect-ratio";
3
+ function a({
4
+ ...t
5
+ }) {
6
+ return /* @__PURE__ */ o(i.Root, { "data-slot": "aspect-ratio", ...t });
7
+ }
8
+ export {
9
+ a as AspectRatio
10
+ };
@@ -0,0 +1,53 @@
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import * as e from "@radix-ui/react-avatar";
3
+ import { cn as l } from "../../lib/utils.js";
4
+ function i({
5
+ className: a,
6
+ ...t
7
+ }) {
8
+ return /* @__PURE__ */ r(
9
+ e.Root,
10
+ {
11
+ "data-slot": "avatar",
12
+ className: l(
13
+ "relative flex size-8 shrink-0 overflow-hidden rounded-full",
14
+ a
15
+ ),
16
+ ...t
17
+ }
18
+ );
19
+ }
20
+ function n({
21
+ className: a,
22
+ ...t
23
+ }) {
24
+ return /* @__PURE__ */ r(
25
+ e.Image,
26
+ {
27
+ "data-slot": "avatar-image",
28
+ className: l("aspect-square size-full", a),
29
+ ...t
30
+ }
31
+ );
32
+ }
33
+ function u({
34
+ className: a,
35
+ ...t
36
+ }) {
37
+ return /* @__PURE__ */ r(
38
+ e.Fallback,
39
+ {
40
+ "data-slot": "avatar-fallback",
41
+ className: l(
42
+ "bg-neutral-100 flex size-full items-center justify-center rounded-full dark:bg-neutral-800",
43
+ a
44
+ ),
45
+ ...t
46
+ }
47
+ );
48
+ }
49
+ export {
50
+ i as Avatar,
51
+ u as AvatarFallback,
52
+ n as AvatarImage
53
+ };
@@ -0,0 +1,39 @@
1
+ import { jsx as n } from "react/jsx-runtime";
2
+ import { Slot as i } from "@radix-ui/react-slot";
3
+ import { cva as d } from "class-variance-authority";
4
+ import { cn as o } from "../../lib/utils.js";
5
+ const l = d(
6
+ "inline-flex items-center justify-center rounded-md border border-neutral-200 px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 focus-visible:ring-[3px] aria-invalid:ring-red-500/20 dark:aria-invalid:ring-red-500/40 aria-invalid:border-red-500 transition-[color,box-shadow] overflow-hidden dark:border-neutral-800 dark:focus-visible:border-neutral-300 dark:focus-visible:ring-neutral-300/50 dark:aria-invalid:ring-red-900/20 dark:dark:aria-invalid:ring-red-900/40 dark:aria-invalid:border-red-900",
7
+ {
8
+ variants: {
9
+ variant: {
10
+ default: "border-transparent bg-neutral-900 text-neutral-50 [a&]:hover:bg-neutral-900/90 dark:bg-neutral-50 dark:text-neutral-900 dark:[a&]:hover:bg-neutral-50/90",
11
+ secondary: "border-transparent bg-neutral-100 text-neutral-900 [a&]:hover:bg-neutral-100/90 dark:bg-neutral-800 dark:text-neutral-50 dark:[a&]:hover:bg-neutral-800/90",
12
+ destructive: "border-transparent bg-red-500 text-white [a&]:hover:bg-red-500/90 focus-visible:ring-red-500/20 dark:focus-visible:ring-red-500/40 dark:bg-red-900 dark:[a&]:hover:bg-red-900/90 dark:focus-visible:ring-red-900/20 dark:dark:focus-visible:ring-red-900/40",
13
+ outline: "text-neutral-950 [a&]:hover:bg-neutral-100 [a&]:hover:text-neutral-900 dark:text-neutral-50 dark:[a&]:hover:bg-neutral-800 dark:[a&]:hover:text-neutral-50"
14
+ }
15
+ },
16
+ defaultVariants: {
17
+ variant: "default"
18
+ }
19
+ }
20
+ );
21
+ function k({
22
+ className: r,
23
+ variant: e,
24
+ asChild: a = !1,
25
+ ...t
26
+ }) {
27
+ return /* @__PURE__ */ n(
28
+ a ? i : "span",
29
+ {
30
+ "data-slot": "badge",
31
+ className: o(l({ variant: e }), r),
32
+ ...t
33
+ }
34
+ );
35
+ }
36
+ export {
37
+ k as Badge,
38
+ l as badgeVariants
39
+ };
@@ -0,0 +1,102 @@
1
+ import { jsx as a, jsxs as s } from "react/jsx-runtime";
2
+ import { Slot as l } from "@radix-ui/react-slot";
3
+ import { ChevronRight as i, MoreHorizontal as o } from "lucide-react";
4
+ import { cn as t } from "../../lib/utils.js";
5
+ function p({ ...r }) {
6
+ return /* @__PURE__ */ a("nav", { "aria-label": "breadcrumb", "data-slot": "breadcrumb", ...r });
7
+ }
8
+ function f({ className: r, ...e }) {
9
+ return /* @__PURE__ */ a(
10
+ "ol",
11
+ {
12
+ "data-slot": "breadcrumb-list",
13
+ className: t(
14
+ "text-neutral-500 flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5 dark:text-neutral-400",
15
+ r
16
+ ),
17
+ ...e
18
+ }
19
+ );
20
+ }
21
+ function x({ className: r, ...e }) {
22
+ return /* @__PURE__ */ a(
23
+ "li",
24
+ {
25
+ "data-slot": "breadcrumb-item",
26
+ className: t("inline-flex items-center gap-1.5", r),
27
+ ...e
28
+ }
29
+ );
30
+ }
31
+ function h({
32
+ asChild: r,
33
+ className: e,
34
+ ...n
35
+ }) {
36
+ return /* @__PURE__ */ a(
37
+ r ? l : "a",
38
+ {
39
+ "data-slot": "breadcrumb-link",
40
+ className: t("hover:text-neutral-950 transition-colors dark:hover:text-neutral-50", e),
41
+ ...n
42
+ }
43
+ );
44
+ }
45
+ function g({ className: r, ...e }) {
46
+ return /* @__PURE__ */ a(
47
+ "span",
48
+ {
49
+ "data-slot": "breadcrumb-page",
50
+ role: "link",
51
+ "aria-disabled": "true",
52
+ "aria-current": "page",
53
+ className: t("text-neutral-950 font-normal dark:text-neutral-50", r),
54
+ ...e
55
+ }
56
+ );
57
+ }
58
+ function N({
59
+ children: r,
60
+ className: e,
61
+ ...n
62
+ }) {
63
+ return /* @__PURE__ */ a(
64
+ "li",
65
+ {
66
+ "data-slot": "breadcrumb-separator",
67
+ role: "presentation",
68
+ "aria-hidden": "true",
69
+ className: t("[&>svg]:size-3.5", e),
70
+ ...n,
71
+ children: r ?? /* @__PURE__ */ a(i, {})
72
+ }
73
+ );
74
+ }
75
+ function k({
76
+ className: r,
77
+ ...e
78
+ }) {
79
+ return /* @__PURE__ */ s(
80
+ "span",
81
+ {
82
+ "data-slot": "breadcrumb-ellipsis",
83
+ role: "presentation",
84
+ "aria-hidden": "true",
85
+ className: t("flex size-9 items-center justify-center", r),
86
+ ...e,
87
+ children: [
88
+ /* @__PURE__ */ a(o, { className: "size-4" }),
89
+ /* @__PURE__ */ a("span", { className: "sr-only", children: "More" })
90
+ ]
91
+ }
92
+ );
93
+ }
94
+ export {
95
+ p as Breadcrumb,
96
+ k as BreadcrumbEllipsis,
97
+ x as BreadcrumbItem,
98
+ h as BreadcrumbLink,
99
+ f as BreadcrumbList,
100
+ g as BreadcrumbPage,
101
+ N as BreadcrumbSeparator
102
+ };
@@ -0,0 +1,49 @@
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ import { Slot as d } from "@radix-ui/react-slot";
3
+ import { cva as o } from "class-variance-authority";
4
+ import { cn as s } from "../../lib/utils.js";
5
+ const l = o(
6
+ "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 focus-visible:ring-[3px] aria-invalid:ring-red-500/20 dark:aria-invalid:ring-red-500/40 aria-invalid:border-red-500 dark:focus-visible:border-neutral-300 dark:focus-visible:ring-neutral-300/50 dark:aria-invalid:ring-red-900/20 dark:dark:aria-invalid:ring-red-900/40 dark:aria-invalid:border-red-900",
7
+ {
8
+ variants: {
9
+ variant: {
10
+ default: "bg-neutral-900 text-neutral-50 shadow-xs hover:bg-neutral-900/90 dark:bg-neutral-50 dark:text-neutral-900 dark:hover:bg-neutral-50/90",
11
+ destructive: "bg-red-500 text-white shadow-xs hover:bg-red-500/90 focus-visible:ring-red-500/20 dark:focus-visible:ring-red-500/40 dark:bg-red-900 dark:hover:bg-red-900/90 dark:focus-visible:ring-red-900/20 dark:dark:focus-visible:ring-red-900/40",
12
+ outline: "border border-neutral-200 bg-white shadow-xs hover:bg-neutral-100 hover:text-neutral-900 dark:border-neutral-800 dark:bg-neutral-950 dark:hover:bg-neutral-800 dark:hover:text-neutral-50",
13
+ secondary: "bg-neutral-100 text-neutral-900 shadow-xs hover:bg-neutral-100/80 dark:bg-neutral-800 dark:text-neutral-50 dark:hover:bg-neutral-800/80",
14
+ ghost: "hover:bg-neutral-100 hover:text-neutral-900 dark:hover:bg-neutral-800 dark:hover:text-neutral-50",
15
+ link: "text-neutral-900 underline-offset-4 hover:underline dark:text-neutral-50"
16
+ },
17
+ size: {
18
+ default: "h-9 px-4 py-2 has-[>svg]:px-3",
19
+ sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
20
+ lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
21
+ icon: "size-9"
22
+ }
23
+ },
24
+ defaultVariants: {
25
+ variant: "default",
26
+ size: "default"
27
+ }
28
+ }
29
+ );
30
+ function k({
31
+ className: r,
32
+ variant: e,
33
+ size: a,
34
+ asChild: t = !1,
35
+ ...n
36
+ }) {
37
+ return /* @__PURE__ */ i(
38
+ t ? d : "button",
39
+ {
40
+ "data-slot": "button",
41
+ className: s(l({ variant: e, size: a, className: r })),
42
+ ...n
43
+ }
44
+ );
45
+ }
46
+ export {
47
+ k as Button,
48
+ l as buttonVariants
49
+ };
@@ -0,0 +1,61 @@
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import { ChevronRight as o, ChevronLeft as i } from "lucide-react";
3
+ import { DayPicker as c } from "react-day-picker";
4
+ import { cn as e } from "../../lib/utils.js";
5
+ import { buttonVariants as n } from "./button.js";
6
+ function h({
7
+ className: d,
8
+ classNames: s,
9
+ showOutsideDays: u = !0,
10
+ ...l
11
+ }) {
12
+ return /* @__PURE__ */ r(
13
+ c,
14
+ {
15
+ showOutsideDays: u,
16
+ className: e("p-3", d),
17
+ classNames: {
18
+ months: "flex flex-col sm:flex-row gap-2",
19
+ month: "flex flex-col gap-4",
20
+ caption: "flex justify-center pt-1 relative items-center w-full",
21
+ caption_label: "text-sm font-medium",
22
+ nav: "flex items-center gap-1",
23
+ nav_button: e(
24
+ n({ variant: "outline" }),
25
+ "size-7 bg-transparent p-0 opacity-50 hover:opacity-100"
26
+ ),
27
+ nav_button_previous: "absolute left-1",
28
+ nav_button_next: "absolute right-1",
29
+ table: "w-full border-collapse space-x-1",
30
+ head_row: "flex",
31
+ head_cell: "text-neutral-500 rounded-md w-8 font-normal text-[0.8rem] dark:text-neutral-400",
32
+ row: "flex w-full mt-2",
33
+ cell: e(
34
+ "relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-neutral-100 [&:has([aria-selected].day-range-end)]:rounded-r-md dark:[&:has([aria-selected])]:bg-neutral-800",
35
+ l.mode === "range" ? "[&:has(>.day-range-end)]:rounded-r-md [&:has(>.day-range-start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md" : "[&:has([aria-selected])]:rounded-md"
36
+ ),
37
+ day: e(
38
+ n({ variant: "ghost" }),
39
+ "size-8 p-0 font-normal aria-selected:opacity-100"
40
+ ),
41
+ day_range_start: "day-range-start aria-selected:bg-neutral-900 aria-selected:text-neutral-50 dark:aria-selected:bg-neutral-50 dark:aria-selected:text-neutral-900",
42
+ day_range_end: "day-range-end aria-selected:bg-neutral-900 aria-selected:text-neutral-50 dark:aria-selected:bg-neutral-50 dark:aria-selected:text-neutral-900",
43
+ day_selected: "bg-neutral-900 text-neutral-50 hover:bg-neutral-900 hover:text-neutral-50 focus:bg-neutral-900 focus:text-neutral-50 dark:bg-neutral-50 dark:text-neutral-900 dark:hover:bg-neutral-50 dark:hover:text-neutral-900 dark:focus:bg-neutral-50 dark:focus:text-neutral-900",
44
+ day_today: "bg-neutral-100 text-neutral-900 dark:bg-neutral-800 dark:text-neutral-50",
45
+ day_outside: "day-outside text-neutral-500 aria-selected:text-neutral-500 dark:text-neutral-400 dark:aria-selected:text-neutral-400",
46
+ day_disabled: "text-neutral-500 opacity-50 dark:text-neutral-400",
47
+ day_range_middle: "aria-selected:bg-neutral-100 aria-selected:text-neutral-900 dark:aria-selected:bg-neutral-800 dark:aria-selected:text-neutral-50",
48
+ day_hidden: "invisible",
49
+ ...s
50
+ },
51
+ components: {
52
+ IconLeft: ({ className: a, ...t }) => /* @__PURE__ */ r(i, { className: e("size-4", a), ...t }),
53
+ IconRight: ({ className: a, ...t }) => /* @__PURE__ */ r(o, { className: e("size-4", a), ...t })
54
+ },
55
+ ...l
56
+ }
57
+ );
58
+ }
59
+ export {
60
+ h as Calendar
61
+ };
@@ -0,0 +1,73 @@
1
+ import { jsx as a } from "react/jsx-runtime";
2
+ import { cn as e } from "../../lib/utils.js";
3
+ function o({ className: t, ...r }) {
4
+ return /* @__PURE__ */ a(
5
+ "div",
6
+ {
7
+ "data-slot": "card",
8
+ className: e(
9
+ "bg-white text-neutral-950 flex flex-col gap-6 rounded-xl border border-neutral-200 py-6 shadow-sm dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800",
10
+ t
11
+ ),
12
+ ...r
13
+ }
14
+ );
15
+ }
16
+ function l({ className: t, ...r }) {
17
+ return /* @__PURE__ */ a(
18
+ "div",
19
+ {
20
+ "data-slot": "card-header",
21
+ className: e("flex flex-col gap-1.5 px-6", t),
22
+ ...r
23
+ }
24
+ );
25
+ }
26
+ function s({ className: t, ...r }) {
27
+ return /* @__PURE__ */ a(
28
+ "div",
29
+ {
30
+ "data-slot": "card-title",
31
+ className: e("leading-none font-semibold", t),
32
+ ...r
33
+ }
34
+ );
35
+ }
36
+ function c({ className: t, ...r }) {
37
+ return /* @__PURE__ */ a(
38
+ "div",
39
+ {
40
+ "data-slot": "card-description",
41
+ className: e("text-neutral-500 text-sm dark:text-neutral-400", t),
42
+ ...r
43
+ }
44
+ );
45
+ }
46
+ function i({ className: t, ...r }) {
47
+ return /* @__PURE__ */ a(
48
+ "div",
49
+ {
50
+ "data-slot": "card-content",
51
+ className: e("px-6", t),
52
+ ...r
53
+ }
54
+ );
55
+ }
56
+ function u({ className: t, ...r }) {
57
+ return /* @__PURE__ */ a(
58
+ "div",
59
+ {
60
+ "data-slot": "card-footer",
61
+ className: e("flex items-center px-6", t),
62
+ ...r
63
+ }
64
+ );
65
+ }
66
+ export {
67
+ o as Card,
68
+ i as CardContent,
69
+ c as CardDescription,
70
+ u as CardFooter,
71
+ l as CardHeader,
72
+ s as CardTitle
73
+ };