@deankwan/ui 0.1.0

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 (95) hide show
  1. package/dist/app/components/ui/accordion.mjs +64 -0
  2. package/dist/app/components/ui/alert-dialog.mjs +146 -0
  3. package/dist/app/components/ui/alert.mjs +66 -0
  4. package/dist/app/components/ui/aspect-ratio.mjs +10 -0
  5. package/dist/app/components/ui/avatar.mjs +53 -0
  6. package/dist/app/components/ui/badge.mjs +39 -0
  7. package/dist/app/components/ui/breadcrumb.mjs +102 -0
  8. package/dist/app/components/ui/button.mjs +49 -0
  9. package/dist/app/components/ui/calendar.mjs +61 -0
  10. package/dist/app/components/ui/card.mjs +90 -0
  11. package/dist/app/components/ui/carousel.mjs +177 -0
  12. package/dist/app/components/ui/chart.mjs +215 -0
  13. package/dist/app/components/ui/checkbox.mjs +31 -0
  14. package/dist/app/components/ui/collapsible.mjs +34 -0
  15. package/dist/app/components/ui/command.mjs +161 -0
  16. package/dist/app/components/ui/context-menu.mjs +223 -0
  17. package/dist/app/components/ui/dialog.mjs +128 -0
  18. package/dist/app/components/ui/drawer.mjs +125 -0
  19. package/dist/app/components/ui/dropdown-menu.mjs +231 -0
  20. package/dist/app/components/ui/form.mjs +101 -0
  21. package/dist/app/components/ui/hover-card.mjs +38 -0
  22. package/dist/app/components/ui/input-otp.mjs +65 -0
  23. package/dist/app/components/ui/input.mjs +21 -0
  24. package/dist/app/components/ui/label.mjs +22 -0
  25. package/dist/app/components/ui/menubar.mjs +251 -0
  26. package/dist/app/components/ui/navigation-menu.mjs +170 -0
  27. package/dist/app/components/ui/pagination.mjs +118 -0
  28. package/dist/app/components/ui/popover.mjs +44 -0
  29. package/dist/app/components/ui/progress.mjs +31 -0
  30. package/dist/app/components/ui/radio-group.mjs +45 -0
  31. package/dist/app/components/ui/resizable.mjs +48 -0
  32. package/dist/app/components/ui/scroll-area.mjs +60 -0
  33. package/dist/app/components/ui/select.mjs +169 -0
  34. package/dist/app/components/ui/separator.mjs +26 -0
  35. package/dist/app/components/ui/sheet.mjs +126 -0
  36. package/dist/app/components/ui/sidebar.mjs +593 -0
  37. package/dist/app/components/ui/skeleton.mjs +15 -0
  38. package/dist/app/components/ui/slider.mjs +63 -0
  39. package/dist/app/components/ui/sonner.mjs +22 -0
  40. package/dist/app/components/ui/switch.mjs +31 -0
  41. package/dist/app/components/ui/table.mjs +114 -0
  42. package/dist/app/components/ui/tabs.mjs +67 -0
  43. package/dist/app/components/ui/textarea.mjs +18 -0
  44. package/dist/app/components/ui/toggle-group.mjs +62 -0
  45. package/dist/app/components/ui/toggle.mjs +43 -0
  46. package/dist/app/components/ui/tooltip.mjs +55 -0
  47. package/dist/app/components/ui/use-mobile.mjs +16 -0
  48. package/dist/app/components/ui/utils.mjs +8 -0
  49. package/dist/index.mjs +297 -0
  50. package/dist/src/app/components/ui/accordion.d.ts +7 -0
  51. package/dist/src/app/components/ui/alert-dialog.d.ts +14 -0
  52. package/dist/src/app/components/ui/alert.d.ts +9 -0
  53. package/dist/src/app/components/ui/avatar.d.ts +6 -0
  54. package/dist/src/app/components/ui/badge.d.ts +9 -0
  55. package/dist/src/app/components/ui/breadcrumb.d.ts +11 -0
  56. package/dist/src/app/components/ui/button.d.ts +10 -0
  57. package/dist/src/app/components/ui/calendar.d.ts +4 -0
  58. package/dist/src/app/components/ui/card.d.ts +9 -0
  59. package/dist/src/app/components/ui/carousel.d.ts +19 -0
  60. package/dist/src/app/components/ui/chart.d.ts +40 -0
  61. package/dist/src/app/components/ui/checkbox.d.ts +4 -0
  62. package/dist/src/app/components/ui/command.d.ts +16 -0
  63. package/dist/src/app/components/ui/context-menu.d.ts +25 -0
  64. package/dist/src/app/components/ui/dialog.d.ts +13 -0
  65. package/dist/src/app/components/ui/drawer.d.ts +13 -0
  66. package/dist/src/app/components/ui/dropdown-menu.d.ts +25 -0
  67. package/dist/src/app/components/ui/hover-card.d.ts +6 -0
  68. package/dist/src/app/components/ui/input-otp.d.ts +11 -0
  69. package/dist/src/app/components/ui/input.d.ts +3 -0
  70. package/dist/src/app/components/ui/label.d.ts +4 -0
  71. package/dist/src/app/components/ui/menubar.d.ts +26 -0
  72. package/dist/src/app/components/ui/navigation-menu.d.ts +14 -0
  73. package/dist/src/app/components/ui/pagination.d.ts +13 -0
  74. package/dist/src/app/components/ui/popover.d.ts +7 -0
  75. package/dist/src/app/components/ui/progress.d.ts +4 -0
  76. package/dist/src/app/components/ui/radio-group.d.ts +5 -0
  77. package/dist/src/app/components/ui/resizable.d.ts +8 -0
  78. package/dist/src/app/components/ui/scroll-area.d.ts +5 -0
  79. package/dist/src/app/components/ui/select.d.ts +15 -0
  80. package/dist/src/app/components/ui/separator.d.ts +4 -0
  81. package/dist/src/app/components/ui/sheet.d.ts +13 -0
  82. package/dist/src/app/components/ui/sidebar.d.ts +60 -0
  83. package/dist/src/app/components/ui/slider.d.ts +4 -0
  84. package/dist/src/app/components/ui/switch.d.ts +4 -0
  85. package/dist/src/app/components/ui/table.d.ts +10 -0
  86. package/dist/src/app/components/ui/tabs.d.ts +7 -0
  87. package/dist/src/app/components/ui/textarea.d.ts +3 -0
  88. package/dist/src/app/components/ui/toggle-group.d.ts +7 -0
  89. package/dist/src/app/components/ui/toggle.d.ts +9 -0
  90. package/dist/src/app/components/ui/tooltip.d.ts +7 -0
  91. package/dist/src/app/components/ui/use-mobile.d.ts +1 -0
  92. package/dist/src/app/components/ui/utils.d.ts +2 -0
  93. package/dist/src/index.d.ts +48 -0
  94. package/dist/style.css +1 -0
  95. package/package.json +166 -0
@@ -0,0 +1,118 @@
1
+ import { jsx as i, jsxs as e } from "react/jsx-runtime";
2
+ import { MoreHorizontalIcon as l, ChevronRightIcon as c, ChevronLeftIcon as p } from "lucide-react";
3
+ import { cn as t } from "./utils.mjs";
4
+ import { buttonVariants as u } from "./button.mjs";
5
+ function h({ className: a, ...n }) {
6
+ return /* @__PURE__ */ i(
7
+ "nav",
8
+ {
9
+ role: "navigation",
10
+ "aria-label": "pagination",
11
+ "data-slot": "pagination",
12
+ className: t("mx-auto flex w-full justify-center", a),
13
+ ...n
14
+ }
15
+ );
16
+ }
17
+ function x({
18
+ className: a,
19
+ ...n
20
+ }) {
21
+ return /* @__PURE__ */ i(
22
+ "ul",
23
+ {
24
+ "data-slot": "pagination-content",
25
+ className: t("flex flex-row items-center gap-1", a),
26
+ ...n
27
+ }
28
+ );
29
+ }
30
+ function N({ ...a }) {
31
+ return /* @__PURE__ */ i("li", { "data-slot": "pagination-item", ...a });
32
+ }
33
+ function o({
34
+ className: a,
35
+ isActive: n,
36
+ size: r = "icon",
37
+ ...s
38
+ }) {
39
+ return /* @__PURE__ */ i(
40
+ "a",
41
+ {
42
+ "aria-current": n ? "page" : void 0,
43
+ "data-slot": "pagination-link",
44
+ "data-active": n,
45
+ className: t(
46
+ u({
47
+ variant: n ? "outline" : "ghost",
48
+ size: r
49
+ }),
50
+ a
51
+ ),
52
+ ...s
53
+ }
54
+ );
55
+ }
56
+ function P({
57
+ className: a,
58
+ ...n
59
+ }) {
60
+ return /* @__PURE__ */ e(
61
+ o,
62
+ {
63
+ "aria-label": "Go to previous page",
64
+ size: "default",
65
+ className: t("gap-1 px-2.5 sm:pl-2.5", a),
66
+ ...n,
67
+ children: [
68
+ /* @__PURE__ */ i(p, {}),
69
+ /* @__PURE__ */ i("span", { className: "hidden sm:block", children: "Previous" })
70
+ ]
71
+ }
72
+ );
73
+ }
74
+ function v({
75
+ className: a,
76
+ ...n
77
+ }) {
78
+ return /* @__PURE__ */ e(
79
+ o,
80
+ {
81
+ "aria-label": "Go to next page",
82
+ size: "default",
83
+ className: t("gap-1 px-2.5 sm:pr-2.5", a),
84
+ ...n,
85
+ children: [
86
+ /* @__PURE__ */ i("span", { className: "hidden sm:block", children: "Next" }),
87
+ /* @__PURE__ */ i(c, {})
88
+ ]
89
+ }
90
+ );
91
+ }
92
+ function b({
93
+ className: a,
94
+ ...n
95
+ }) {
96
+ return /* @__PURE__ */ e(
97
+ "span",
98
+ {
99
+ "aria-hidden": !0,
100
+ "data-slot": "pagination-ellipsis",
101
+ className: t("flex size-9 items-center justify-center", a),
102
+ ...n,
103
+ children: [
104
+ /* @__PURE__ */ i(l, { className: "size-4" }),
105
+ /* @__PURE__ */ i("span", { className: "sr-only", children: "More pages" })
106
+ ]
107
+ }
108
+ );
109
+ }
110
+ export {
111
+ h as Pagination,
112
+ x as PaginationContent,
113
+ b as PaginationEllipsis,
114
+ N as PaginationItem,
115
+ o as PaginationLink,
116
+ v as PaginationNext,
117
+ P as PaginationPrevious
118
+ };
@@ -0,0 +1,44 @@
1
+ import { jsx as t } from "react/jsx-runtime";
2
+ import * as e from "@radix-ui/react-popover";
3
+ import { cn as i } from "./utils.mjs";
4
+ function s({
5
+ ...o
6
+ }) {
7
+ return /* @__PURE__ */ t(e.Root, { "data-slot": "popover", ...o });
8
+ }
9
+ function m({
10
+ ...o
11
+ }) {
12
+ return /* @__PURE__ */ t(e.Trigger, { "data-slot": "popover-trigger", ...o });
13
+ }
14
+ function f({
15
+ className: o,
16
+ align: r = "center",
17
+ sideOffset: a = 4,
18
+ ...n
19
+ }) {
20
+ return /* @__PURE__ */ t(e.Portal, { children: /* @__PURE__ */ t(
21
+ e.Content,
22
+ {
23
+ "data-slot": "popover-content",
24
+ align: r,
25
+ sideOffset: a,
26
+ className: i(
27
+ "bg-popover text-popover-foreground 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 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",
28
+ o
29
+ ),
30
+ ...n
31
+ }
32
+ ) });
33
+ }
34
+ function l({
35
+ ...o
36
+ }) {
37
+ return /* @__PURE__ */ t(e.Anchor, { "data-slot": "popover-anchor", ...o });
38
+ }
39
+ export {
40
+ s as Popover,
41
+ l as PopoverAnchor,
42
+ f as PopoverContent,
43
+ m as PopoverTrigger
44
+ };
@@ -0,0 +1,31 @@
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import * as o from "@radix-ui/react-progress";
3
+ import { cn as a } from "./utils.mjs";
4
+ function n({
5
+ className: t,
6
+ value: l,
7
+ ...s
8
+ }) {
9
+ return /* @__PURE__ */ r(
10
+ o.Root,
11
+ {
12
+ "data-slot": "progress",
13
+ className: a(
14
+ "bg-primary/20 relative h-2 w-full overflow-hidden rounded-full",
15
+ t
16
+ ),
17
+ ...s,
18
+ children: /* @__PURE__ */ r(
19
+ o.Indicator,
20
+ {
21
+ "data-slot": "progress-indicator",
22
+ className: "bg-primary h-full w-full flex-1 transition-all",
23
+ style: { transform: `translateX(-${100 - (l || 0)}%)` }
24
+ }
25
+ )
26
+ }
27
+ );
28
+ }
29
+ export {
30
+ n as Progress
31
+ };
@@ -0,0 +1,45 @@
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import * as a from "@radix-ui/react-radio-group";
3
+ import { CircleIcon as t } from "lucide-react";
4
+ import { cn as e } from "./utils.mjs";
5
+ function l({
6
+ className: i,
7
+ ...o
8
+ }) {
9
+ return /* @__PURE__ */ r(
10
+ a.Root,
11
+ {
12
+ "data-slot": "radio-group",
13
+ className: e("grid gap-3", i),
14
+ ...o
15
+ }
16
+ );
17
+ }
18
+ function c({
19
+ className: i,
20
+ ...o
21
+ }) {
22
+ return /* @__PURE__ */ r(
23
+ a.Item,
24
+ {
25
+ "data-slot": "radio-group-item",
26
+ className: e(
27
+ "border-input text-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
28
+ i
29
+ ),
30
+ ...o,
31
+ children: /* @__PURE__ */ r(
32
+ a.Indicator,
33
+ {
34
+ "data-slot": "radio-group-indicator",
35
+ className: "relative flex items-center justify-center",
36
+ children: /* @__PURE__ */ r(t, { className: "fill-primary absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2" })
37
+ }
38
+ )
39
+ }
40
+ );
41
+ }
42
+ export {
43
+ l as RadioGroup,
44
+ c as RadioGroupItem
45
+ };
@@ -0,0 +1,48 @@
1
+ import { jsx as a } from "react/jsx-runtime";
2
+ import { GripVerticalIcon as n } from "lucide-react";
3
+ import * as t from "react-resizable-panels";
4
+ import { cn as i } from "./utils.mjs";
5
+ function d({
6
+ className: e,
7
+ ...r
8
+ }) {
9
+ return /* @__PURE__ */ a(
10
+ t.PanelGroup,
11
+ {
12
+ "data-slot": "resizable-panel-group",
13
+ className: i(
14
+ "flex h-full w-full data-[panel-group-direction=vertical]:flex-col",
15
+ e
16
+ ),
17
+ ...r
18
+ }
19
+ );
20
+ }
21
+ function f({
22
+ ...e
23
+ }) {
24
+ return /* @__PURE__ */ a(t.Panel, { "data-slot": "resizable-panel", ...e });
25
+ }
26
+ function p({
27
+ withHandle: e,
28
+ className: r,
29
+ ...l
30
+ }) {
31
+ return /* @__PURE__ */ a(
32
+ t.PanelResizeHandle,
33
+ {
34
+ "data-slot": "resizable-handle",
35
+ className: i(
36
+ "bg-border focus-visible:ring-ring relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-offset-1 focus-visible:outline-hidden data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90",
37
+ r
38
+ ),
39
+ ...l,
40
+ children: e && /* @__PURE__ */ a("div", { className: "bg-border z-10 flex h-4 w-3 items-center justify-center rounded-xs border", children: /* @__PURE__ */ a(n, { className: "size-2.5" }) })
41
+ }
42
+ );
43
+ }
44
+ export {
45
+ p as ResizableHandle,
46
+ f as ResizablePanel,
47
+ d as ResizablePanelGroup
48
+ };
@@ -0,0 +1,60 @@
1
+ import { jsxs as s, jsx as l } from "react/jsx-runtime";
2
+ import * as o from "@radix-ui/react-scroll-area";
3
+ import { cn as t } from "./utils.mjs";
4
+ function u({
5
+ className: e,
6
+ children: r,
7
+ ...a
8
+ }) {
9
+ return /* @__PURE__ */ s(
10
+ o.Root,
11
+ {
12
+ "data-slot": "scroll-area",
13
+ className: t("relative", e),
14
+ ...a,
15
+ children: [
16
+ /* @__PURE__ */ l(
17
+ o.Viewport,
18
+ {
19
+ "data-slot": "scroll-area-viewport",
20
+ className: "focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",
21
+ children: r
22
+ }
23
+ ),
24
+ /* @__PURE__ */ l(i, {}),
25
+ /* @__PURE__ */ l(o.Corner, {})
26
+ ]
27
+ }
28
+ );
29
+ }
30
+ function i({
31
+ className: e,
32
+ orientation: r = "vertical",
33
+ ...a
34
+ }) {
35
+ return /* @__PURE__ */ l(
36
+ o.ScrollAreaScrollbar,
37
+ {
38
+ "data-slot": "scroll-area-scrollbar",
39
+ orientation: r,
40
+ className: t(
41
+ "flex touch-none p-px transition-colors select-none",
42
+ r === "vertical" && "h-full w-2.5 border-l border-l-transparent",
43
+ r === "horizontal" && "h-2.5 flex-col border-t border-t-transparent",
44
+ e
45
+ ),
46
+ ...a,
47
+ children: /* @__PURE__ */ l(
48
+ o.ScrollAreaThumb,
49
+ {
50
+ "data-slot": "scroll-area-thumb",
51
+ className: "bg-border relative flex-1 rounded-full"
52
+ }
53
+ )
54
+ }
55
+ );
56
+ }
57
+ export {
58
+ u as ScrollArea,
59
+ i as ScrollBar
60
+ };
@@ -0,0 +1,169 @@
1
+ import { jsx as t, jsxs as l } from "react/jsx-runtime";
2
+ import * as a from "@radix-ui/react-select";
3
+ import { CheckIcon as d, ChevronDownIcon as i, ChevronUpIcon as c } from "lucide-react";
4
+ import { cn as s } from "./utils.mjs";
5
+ function v({
6
+ ...e
7
+ }) {
8
+ return /* @__PURE__ */ t(a.Root, { "data-slot": "select", ...e });
9
+ }
10
+ function x({
11
+ ...e
12
+ }) {
13
+ return /* @__PURE__ */ t(a.Group, { "data-slot": "select-group", ...e });
14
+ }
15
+ function h({
16
+ ...e
17
+ }) {
18
+ return /* @__PURE__ */ t(a.Value, { "data-slot": "select-value", ...e });
19
+ }
20
+ function b({
21
+ className: e,
22
+ size: r = "default",
23
+ children: o,
24
+ ...n
25
+ }) {
26
+ return /* @__PURE__ */ l(
27
+ a.Trigger,
28
+ {
29
+ "data-slot": "select-trigger",
30
+ "data-size": r,
31
+ className: s(
32
+ "border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-full items-center justify-between gap-2 rounded-md border bg-input-background px-3 py-2 text-sm whitespace-nowrap transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
33
+ e
34
+ ),
35
+ ...n,
36
+ children: [
37
+ o,
38
+ /* @__PURE__ */ t(a.Icon, { asChild: !0, children: /* @__PURE__ */ t(i, { className: "size-4 opacity-50" }) })
39
+ ]
40
+ }
41
+ );
42
+ }
43
+ function w({
44
+ className: e,
45
+ children: r,
46
+ position: o = "popper",
47
+ ...n
48
+ }) {
49
+ return /* @__PURE__ */ t(a.Portal, { children: /* @__PURE__ */ l(
50
+ a.Content,
51
+ {
52
+ "data-slot": "select-content",
53
+ className: s(
54
+ "bg-popover text-popover-foreground 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 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",
55
+ o === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
56
+ e
57
+ ),
58
+ position: o,
59
+ ...n,
60
+ children: [
61
+ /* @__PURE__ */ t(u, {}),
62
+ /* @__PURE__ */ t(
63
+ a.Viewport,
64
+ {
65
+ className: s(
66
+ "p-1",
67
+ o === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"
68
+ ),
69
+ children: r
70
+ }
71
+ ),
72
+ /* @__PURE__ */ t(p, {})
73
+ ]
74
+ }
75
+ ) });
76
+ }
77
+ function y({
78
+ className: e,
79
+ ...r
80
+ }) {
81
+ return /* @__PURE__ */ t(
82
+ a.Label,
83
+ {
84
+ "data-slot": "select-label",
85
+ className: s("text-muted-foreground px-2 py-1.5 text-xs", e),
86
+ ...r
87
+ }
88
+ );
89
+ }
90
+ function S({
91
+ className: e,
92
+ children: r,
93
+ ...o
94
+ }) {
95
+ return /* @__PURE__ */ l(
96
+ a.Item,
97
+ {
98
+ "data-slot": "select-item",
99
+ className: s(
100
+ "focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
101
+ e
102
+ ),
103
+ ...o,
104
+ children: [
105
+ /* @__PURE__ */ t("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ t(a.ItemIndicator, { children: /* @__PURE__ */ t(d, { className: "size-4" }) }) }),
106
+ /* @__PURE__ */ t(a.ItemText, { children: r })
107
+ ]
108
+ }
109
+ );
110
+ }
111
+ function z({
112
+ className: e,
113
+ ...r
114
+ }) {
115
+ return /* @__PURE__ */ t(
116
+ a.Separator,
117
+ {
118
+ "data-slot": "select-separator",
119
+ className: s("bg-border pointer-events-none -mx-1 my-1 h-px", e),
120
+ ...r
121
+ }
122
+ );
123
+ }
124
+ function u({
125
+ className: e,
126
+ ...r
127
+ }) {
128
+ return /* @__PURE__ */ t(
129
+ a.ScrollUpButton,
130
+ {
131
+ "data-slot": "select-scroll-up-button",
132
+ className: s(
133
+ "flex cursor-default items-center justify-center py-1",
134
+ e
135
+ ),
136
+ ...r,
137
+ children: /* @__PURE__ */ t(c, { className: "size-4" })
138
+ }
139
+ );
140
+ }
141
+ function p({
142
+ className: e,
143
+ ...r
144
+ }) {
145
+ return /* @__PURE__ */ t(
146
+ a.ScrollDownButton,
147
+ {
148
+ "data-slot": "select-scroll-down-button",
149
+ className: s(
150
+ "flex cursor-default items-center justify-center py-1",
151
+ e
152
+ ),
153
+ ...r,
154
+ children: /* @__PURE__ */ t(i, { className: "size-4" })
155
+ }
156
+ );
157
+ }
158
+ export {
159
+ v as Select,
160
+ w as SelectContent,
161
+ x as SelectGroup,
162
+ S as SelectItem,
163
+ y as SelectLabel,
164
+ p as SelectScrollDownButton,
165
+ u as SelectScrollUpButton,
166
+ z as SelectSeparator,
167
+ b as SelectTrigger,
168
+ h as SelectValue
169
+ };
@@ -0,0 +1,26 @@
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ import * as n from "@radix-ui/react-separator";
3
+ import { cn as e } from "./utils.mjs";
4
+ function m({
5
+ className: t,
6
+ orientation: o = "horizontal",
7
+ decorative: r = !0,
8
+ ...a
9
+ }) {
10
+ return /* @__PURE__ */ i(
11
+ n.Root,
12
+ {
13
+ "data-slot": "separator-root",
14
+ decorative: r,
15
+ orientation: o,
16
+ className: e(
17
+ "bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",
18
+ t
19
+ ),
20
+ ...a
21
+ }
22
+ );
23
+ }
24
+ export {
25
+ m as Separator
26
+ };
@@ -0,0 +1,126 @@
1
+ import { jsx as e, jsxs as r } from "react/jsx-runtime";
2
+ import * as a from "@radix-ui/react-dialog";
3
+ import { XIcon as l } from "lucide-react";
4
+ import { cn as s } from "./utils.mjs";
5
+ function h({ ...t }) {
6
+ return /* @__PURE__ */ e(a.Root, { "data-slot": "sheet", ...t });
7
+ }
8
+ function p({
9
+ ...t
10
+ }) {
11
+ return /* @__PURE__ */ e(a.Trigger, { "data-slot": "sheet-trigger", ...t });
12
+ }
13
+ function g({
14
+ ...t
15
+ }) {
16
+ return /* @__PURE__ */ e(a.Close, { "data-slot": "sheet-close", ...t });
17
+ }
18
+ function d({
19
+ ...t
20
+ }) {
21
+ return /* @__PURE__ */ e(a.Portal, { "data-slot": "sheet-portal", ...t });
22
+ }
23
+ function c({
24
+ className: t,
25
+ ...o
26
+ }) {
27
+ return /* @__PURE__ */ e(
28
+ a.Overlay,
29
+ {
30
+ "data-slot": "sheet-overlay",
31
+ className: s(
32
+ "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/50",
33
+ t
34
+ ),
35
+ ...o
36
+ }
37
+ );
38
+ }
39
+ function x({
40
+ className: t,
41
+ children: o,
42
+ side: n = "right",
43
+ ...i
44
+ }) {
45
+ return /* @__PURE__ */ r(d, { children: [
46
+ /* @__PURE__ */ e(c, {}),
47
+ /* @__PURE__ */ r(
48
+ a.Content,
49
+ {
50
+ "data-slot": "sheet-content",
51
+ className: s(
52
+ "bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500",
53
+ n === "right" && "data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm",
54
+ n === "left" && "data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm",
55
+ n === "top" && "data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b",
56
+ n === "bottom" && "data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",
57
+ t
58
+ ),
59
+ ...i,
60
+ children: [
61
+ o,
62
+ /* @__PURE__ */ r(a.Close, { className: "ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none", children: [
63
+ /* @__PURE__ */ e(l, { className: "size-4" }),
64
+ /* @__PURE__ */ e("span", { className: "sr-only", children: "Close" })
65
+ ] })
66
+ ]
67
+ }
68
+ )
69
+ ] });
70
+ }
71
+ function b({ className: t, ...o }) {
72
+ return /* @__PURE__ */ e(
73
+ "div",
74
+ {
75
+ "data-slot": "sheet-header",
76
+ className: s("flex flex-col gap-1.5 p-4", t),
77
+ ...o
78
+ }
79
+ );
80
+ }
81
+ function y({ className: t, ...o }) {
82
+ return /* @__PURE__ */ e(
83
+ "div",
84
+ {
85
+ "data-slot": "sheet-footer",
86
+ className: s("mt-auto flex flex-col gap-2 p-4", t),
87
+ ...o
88
+ }
89
+ );
90
+ }
91
+ function S({
92
+ className: t,
93
+ ...o
94
+ }) {
95
+ return /* @__PURE__ */ e(
96
+ a.Title,
97
+ {
98
+ "data-slot": "sheet-title",
99
+ className: s("text-foreground font-semibold", t),
100
+ ...o
101
+ }
102
+ );
103
+ }
104
+ function N({
105
+ className: t,
106
+ ...o
107
+ }) {
108
+ return /* @__PURE__ */ e(
109
+ a.Description,
110
+ {
111
+ "data-slot": "sheet-description",
112
+ className: s("text-muted-foreground text-sm", t),
113
+ ...o
114
+ }
115
+ );
116
+ }
117
+ export {
118
+ h as Sheet,
119
+ g as SheetClose,
120
+ x as SheetContent,
121
+ N as SheetDescription,
122
+ y as SheetFooter,
123
+ b as SheetHeader,
124
+ S as SheetTitle,
125
+ p as SheetTrigger
126
+ };