@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,101 @@
1
+ import { jsx as n } from "react/jsx-runtime";
2
+ import * as a from "react";
3
+ import { Slot as f } from "@radix-ui/react-slot";
4
+ import { FormProvider as u, useFormContext as F, useFormState as x, Controller as I } from "react-hook-form";
5
+ import { cn as i } from "../../lib/utils.js";
6
+ import { Label as p } from "./label.js";
7
+ const S = u, l = a.createContext(
8
+ {}
9
+ ), $ = ({
10
+ ...t
11
+ }) => /* @__PURE__ */ n(l.Provider, { value: { name: t.name }, children: /* @__PURE__ */ n(I, { ...t }) }), d = () => {
12
+ const t = a.useContext(l), r = a.useContext(c), { getFieldState: e } = F(), o = x({ name: t.name }), m = e(t.name, o);
13
+ if (!t)
14
+ throw new Error("useFormField should be used within <FormField>");
15
+ const { id: s } = r;
16
+ return {
17
+ id: s,
18
+ name: t.name,
19
+ formItemId: `${s}-form-item`,
20
+ formDescriptionId: `${s}-form-item-description`,
21
+ formMessageId: `${s}-form-item-message`,
22
+ ...m
23
+ };
24
+ }, c = a.createContext(
25
+ {}
26
+ );
27
+ function D({ className: t, ...r }) {
28
+ const e = a.useId();
29
+ return /* @__PURE__ */ n(c.Provider, { value: { id: e }, children: /* @__PURE__ */ n(
30
+ "div",
31
+ {
32
+ "data-slot": "form-item",
33
+ className: i("grid gap-2", t),
34
+ ...r
35
+ }
36
+ ) });
37
+ }
38
+ function M({
39
+ className: t,
40
+ ...r
41
+ }) {
42
+ const { error: e, formItemId: o } = d();
43
+ return /* @__PURE__ */ n(
44
+ p,
45
+ {
46
+ "data-slot": "form-label",
47
+ "data-error": !!e,
48
+ className: i("data-[error=true]:text-neutral-50 dark:data-[error=true]:text-neutral-50", t),
49
+ htmlFor: o,
50
+ ...r
51
+ }
52
+ );
53
+ }
54
+ function N({ ...t }) {
55
+ const { error: r, formItemId: e, formDescriptionId: o, formMessageId: m } = d();
56
+ return /* @__PURE__ */ n(
57
+ f,
58
+ {
59
+ "data-slot": "form-control",
60
+ id: e,
61
+ "aria-describedby": r ? `${o} ${m}` : `${o}`,
62
+ "aria-invalid": !!r,
63
+ ...t
64
+ }
65
+ );
66
+ }
67
+ function k({ className: t, ...r }) {
68
+ const { formDescriptionId: e } = d();
69
+ return /* @__PURE__ */ n(
70
+ "p",
71
+ {
72
+ "data-slot": "form-description",
73
+ id: e,
74
+ className: i("text-neutral-500 text-sm dark:text-neutral-400", t),
75
+ ...r
76
+ }
77
+ );
78
+ }
79
+ function w({ className: t, ...r }) {
80
+ const { error: e, formMessageId: o } = d(), m = e ? String((e == null ? void 0 : e.message) ?? "") : r.children;
81
+ return m ? /* @__PURE__ */ n(
82
+ "p",
83
+ {
84
+ "data-slot": "form-message",
85
+ id: o,
86
+ className: i("text-neutral-50 text-sm dark:text-neutral-50", t),
87
+ ...r,
88
+ children: m
89
+ }
90
+ ) : null;
91
+ }
92
+ export {
93
+ S as Form,
94
+ N as FormControl,
95
+ k as FormDescription,
96
+ $ as FormField,
97
+ D as FormItem,
98
+ M as FormLabel,
99
+ w as FormMessage,
100
+ d as useFormField
101
+ };
@@ -0,0 +1,38 @@
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import * as a from "@radix-ui/react-hover-card";
3
+ import { cn as n } from "../../lib/utils.js";
4
+ function m({
5
+ ...t
6
+ }) {
7
+ return /* @__PURE__ */ e(a.Root, { "data-slot": "hover-card", ...t });
8
+ }
9
+ function l({
10
+ ...t
11
+ }) {
12
+ return /* @__PURE__ */ e(a.Trigger, { "data-slot": "hover-card-trigger", ...t });
13
+ }
14
+ function u({
15
+ className: t,
16
+ align: r = "center",
17
+ sideOffset: o = 4,
18
+ ...d
19
+ }) {
20
+ return /* @__PURE__ */ e(
21
+ a.Content,
22
+ {
23
+ "data-slot": "hover-card-content",
24
+ align: r,
25
+ sideOffset: o,
26
+ className: n(
27
+ "bg-white text-neutral-950 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-64 rounded-md border border-neutral-200 p-4 shadow-md outline-hidden dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800",
28
+ t
29
+ ),
30
+ ...d
31
+ }
32
+ );
33
+ }
34
+ export {
35
+ m as HoverCard,
36
+ u as HoverCardContent,
37
+ l as HoverCardTrigger
38
+ };
@@ -0,0 +1,65 @@
1
+ import { jsx as a, jsxs as u } from "react/jsx-runtime";
2
+ import * as l from "react";
3
+ import { OTPInput as c, OTPInputContext as p } from "input-otp";
4
+ import { MinusIcon as v } from "lucide-react";
5
+ import { cn as e } from "../../lib/utils.js";
6
+ function g({
7
+ className: t,
8
+ containerClassName: r,
9
+ ...i
10
+ }) {
11
+ return /* @__PURE__ */ a(
12
+ c,
13
+ {
14
+ "data-slot": "input-otp",
15
+ containerClassName: e(
16
+ "flex items-center gap-2 has-disabled:opacity-50",
17
+ r
18
+ ),
19
+ className: e("disabled:cursor-not-allowed", t),
20
+ ...i
21
+ }
22
+ );
23
+ }
24
+ function h({ className: t, ...r }) {
25
+ return /* @__PURE__ */ a(
26
+ "div",
27
+ {
28
+ "data-slot": "input-otp-group",
29
+ className: e("flex items-center", t),
30
+ ...r
31
+ }
32
+ );
33
+ }
34
+ function O({
35
+ index: t,
36
+ className: r,
37
+ ...i
38
+ }) {
39
+ const n = l.useContext(p).slots[t], { char: d, hasFakeCaret: o, isActive: s } = n || {};
40
+ return /* @__PURE__ */ u(
41
+ "div",
42
+ {
43
+ "data-slot": "input-otp-slot",
44
+ "data-active": s,
45
+ className: e(
46
+ "border-neutral-200 data-[active=true]:border-neutral-950 data-[active=true]:ring-neutral-950/50 data-[active=true]:aria-invalid:ring-red-500/20 dark:data-[active=true]:aria-invalid:ring-red-500/40 aria-invalid:border-red-500 data-[active=true]:aria-invalid:border-red-500 relative flex h-9 w-9 items-center justify-center border-y border-r text-sm shadow-xs transition-all outline-none first:rounded-l-md first:border-l last:rounded-r-md data-[active=true]:z-10 data-[active=true]:ring-[3px] dark:border-neutral-800 dark:data-[active=true]:border-neutral-300 dark:data-[active=true]:ring-neutral-300/50 dark:data-[active=true]:aria-invalid:ring-red-900/20 dark:dark:data-[active=true]:aria-invalid:ring-red-900/40 dark:aria-invalid:border-red-900 dark:data-[active=true]:aria-invalid:border-red-900",
47
+ r
48
+ ),
49
+ ...i,
50
+ children: [
51
+ d,
52
+ o && /* @__PURE__ */ a("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ a("div", { className: "animate-caret-blink bg-neutral-950 h-4 w-px duration-1000 dark:bg-neutral-50" }) })
53
+ ]
54
+ }
55
+ );
56
+ }
57
+ function P({ ...t }) {
58
+ return /* @__PURE__ */ a("div", { "data-slot": "input-otp-separator", role: "separator", ...t, children: /* @__PURE__ */ a(v, {}) });
59
+ }
60
+ export {
61
+ g as InputOTP,
62
+ h as InputOTPGroup,
63
+ P as InputOTPSeparator,
64
+ O as InputOTPSlot
65
+ };
@@ -0,0 +1,21 @@
1
+ import { jsx as a } from "react/jsx-runtime";
2
+ import { cn as t } from "../../lib/utils.js";
3
+ function d({ className: e, type: r, ...i }) {
4
+ return /* @__PURE__ */ a(
5
+ "input",
6
+ {
7
+ type: r,
8
+ "data-slot": "input",
9
+ className: t(
10
+ "border-neutral-200 file:text-neutral-950 placeholder:text-neutral-500 selection:bg-neutral-900 selection:text-neutral-50 flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:border-neutral-800 dark:file:text-neutral-50 dark:placeholder:text-neutral-400 dark:selection:bg-neutral-50 dark:selection:text-neutral-900",
11
+ "focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 focus-visible:ring-[3px] dark:focus-visible:border-neutral-300 dark:focus-visible:ring-neutral-300/50",
12
+ "aria-invalid:ring-red-500/20 dark:aria-invalid:ring-red-500/40 aria-invalid:border-red-500 dark:aria-invalid:ring-red-900/20 dark:dark:aria-invalid:ring-red-900/40 dark:aria-invalid:border-red-900",
13
+ e
14
+ ),
15
+ ...i
16
+ }
17
+ );
18
+ }
19
+ export {
20
+ d as Input
21
+ };
@@ -0,0 +1,22 @@
1
+ import { jsx as o } from "react/jsx-runtime";
2
+ import * as a from "@radix-ui/react-label";
3
+ import { cn as r } from "../../lib/utils.js";
4
+ function l({
5
+ className: e,
6
+ ...t
7
+ }) {
8
+ return /* @__PURE__ */ o(
9
+ a.Root,
10
+ {
11
+ "data-slot": "label",
12
+ className: r(
13
+ "flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
14
+ e
15
+ ),
16
+ ...t
17
+ }
18
+ );
19
+ }
20
+ export {
21
+ l as Label
22
+ };
@@ -0,0 +1,251 @@
1
+ import { jsx as a, jsxs as d } from "react/jsx-runtime";
2
+ import * as r from "@radix-ui/react-menubar";
3
+ import { CheckIcon as i, CircleIcon as l, ChevronRightIcon as c } from "lucide-react";
4
+ import { cn as s } from "../../lib/utils.js";
5
+ function g({
6
+ className: t,
7
+ ...e
8
+ }) {
9
+ return /* @__PURE__ */ a(
10
+ r.Root,
11
+ {
12
+ "data-slot": "menubar",
13
+ className: s(
14
+ "bg-white flex h-9 items-center gap-1 rounded-md border border-neutral-200 p-1 shadow-xs dark:bg-neutral-950 dark:border-neutral-800",
15
+ t
16
+ ),
17
+ ...e
18
+ }
19
+ );
20
+ }
21
+ function x({
22
+ ...t
23
+ }) {
24
+ return /* @__PURE__ */ a(r.Menu, { "data-slot": "menubar-menu", ...t });
25
+ }
26
+ function v({
27
+ ...t
28
+ }) {
29
+ return /* @__PURE__ */ a(r.Group, { "data-slot": "menubar-group", ...t });
30
+ }
31
+ function m({
32
+ ...t
33
+ }) {
34
+ return /* @__PURE__ */ a(r.Portal, { "data-slot": "menubar-portal", ...t });
35
+ }
36
+ function k({
37
+ ...t
38
+ }) {
39
+ return /* @__PURE__ */ a(r.RadioGroup, { "data-slot": "menubar-radio-group", ...t });
40
+ }
41
+ function h({
42
+ className: t,
43
+ ...e
44
+ }) {
45
+ return /* @__PURE__ */ a(
46
+ r.Trigger,
47
+ {
48
+ "data-slot": "menubar-trigger",
49
+ className: s(
50
+ "focus:bg-neutral-100 focus:text-neutral-900 data-[state=open]:bg-neutral-100 data-[state=open]:text-neutral-900 flex items-center rounded-sm px-2 py-1 text-sm font-medium outline-hidden select-none dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[state=open]:bg-neutral-800 dark:data-[state=open]:text-neutral-50",
51
+ t
52
+ ),
53
+ ...e
54
+ }
55
+ );
56
+ }
57
+ function M({
58
+ className: t,
59
+ align: e = "start",
60
+ alignOffset: n = -4,
61
+ sideOffset: o = 8,
62
+ ...u
63
+ }) {
64
+ return /* @__PURE__ */ a(m, { children: /* @__PURE__ */ a(
65
+ r.Content,
66
+ {
67
+ "data-slot": "menubar-content",
68
+ align: e,
69
+ alignOffset: n,
70
+ sideOffset: o,
71
+ className: s(
72
+ "bg-white text-neutral-950 data-[state=open]:animate-in 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 min-w-[12rem] overflow-hidden rounded-md border border-neutral-200 p-1 shadow-md dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800",
73
+ t
74
+ ),
75
+ ...u
76
+ }
77
+ ) });
78
+ }
79
+ function z({
80
+ className: t,
81
+ inset: e,
82
+ variant: n = "default",
83
+ ...o
84
+ }) {
85
+ return /* @__PURE__ */ a(
86
+ r.Item,
87
+ {
88
+ "data-slot": "menubar-item",
89
+ "data-inset": e,
90
+ "data-variant": n,
91
+ className: s(
92
+ "focus:bg-neutral-100 focus:text-neutral-900 data-[variant=destructive]:text-neutral-50 data-[variant=destructive]:focus:bg-red-500/10 dark:data-[variant=destructive]:focus:bg-red-500/40 data-[variant=destructive]:focus:text-neutral-50 data-[variant=destructive]:*:[svg]:!text-destructive-foreground [&_svg:not([class*='text-'])]:text-neutral-500 relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[variant=destructive]:text-neutral-50 dark:data-[variant=destructive]:focus:bg-red-900/10 dark:dark:data-[variant=destructive]:focus:bg-red-900/40 dark:data-[variant=destructive]:focus:text-neutral-50 dark:[&_svg:not([class*='text-'])]:text-neutral-400",
93
+ t
94
+ ),
95
+ ...o
96
+ }
97
+ );
98
+ }
99
+ function N({
100
+ className: t,
101
+ children: e,
102
+ checked: n,
103
+ ...o
104
+ }) {
105
+ return /* @__PURE__ */ d(
106
+ r.CheckboxItem,
107
+ {
108
+ "data-slot": "menubar-checkbox-item",
109
+ className: s(
110
+ "focus:bg-neutral-100 focus:text-neutral-900 relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 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 dark:focus:bg-neutral-800 dark:focus:text-neutral-50",
111
+ t
112
+ ),
113
+ checked: n,
114
+ ...o,
115
+ children: [
116
+ /* @__PURE__ */ a("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ a(r.ItemIndicator, { children: /* @__PURE__ */ a(i, { className: "size-4" }) }) }),
117
+ e
118
+ ]
119
+ }
120
+ );
121
+ }
122
+ function I({
123
+ className: t,
124
+ children: e,
125
+ ...n
126
+ }) {
127
+ return /* @__PURE__ */ d(
128
+ r.RadioItem,
129
+ {
130
+ "data-slot": "menubar-radio-item",
131
+ className: s(
132
+ "focus:bg-neutral-100 focus:text-neutral-900 relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 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 dark:focus:bg-neutral-800 dark:focus:text-neutral-50",
133
+ t
134
+ ),
135
+ ...n,
136
+ children: [
137
+ /* @__PURE__ */ a("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ a(r.ItemIndicator, { children: /* @__PURE__ */ a(l, { className: "size-2 fill-current" }) }) }),
138
+ e
139
+ ]
140
+ }
141
+ );
142
+ }
143
+ function w({
144
+ className: t,
145
+ inset: e,
146
+ ...n
147
+ }) {
148
+ return /* @__PURE__ */ a(
149
+ r.Label,
150
+ {
151
+ "data-slot": "menubar-label",
152
+ "data-inset": e,
153
+ className: s(
154
+ "px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",
155
+ t
156
+ ),
157
+ ...n
158
+ }
159
+ );
160
+ }
161
+ function y({
162
+ className: t,
163
+ ...e
164
+ }) {
165
+ return /* @__PURE__ */ a(
166
+ r.Separator,
167
+ {
168
+ "data-slot": "menubar-separator",
169
+ className: s("bg-neutral-200 -mx-1 my-1 h-px dark:bg-neutral-800", t),
170
+ ...e
171
+ }
172
+ );
173
+ }
174
+ function _({
175
+ className: t,
176
+ ...e
177
+ }) {
178
+ return /* @__PURE__ */ a(
179
+ "span",
180
+ {
181
+ "data-slot": "menubar-shortcut",
182
+ className: s(
183
+ "text-neutral-500 ml-auto text-xs tracking-widest dark:text-neutral-400",
184
+ t
185
+ ),
186
+ ...e
187
+ }
188
+ );
189
+ }
190
+ function C({
191
+ ...t
192
+ }) {
193
+ return /* @__PURE__ */ a(r.Sub, { "data-slot": "menubar-sub", ...t });
194
+ }
195
+ function S({
196
+ className: t,
197
+ inset: e,
198
+ children: n,
199
+ ...o
200
+ }) {
201
+ return /* @__PURE__ */ d(
202
+ r.SubTrigger,
203
+ {
204
+ "data-slot": "menubar-sub-trigger",
205
+ "data-inset": e,
206
+ className: s(
207
+ "focus:bg-neutral-100 focus:text-neutral-900 data-[state=open]:bg-neutral-100 data-[state=open]:text-neutral-900 flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[inset]:pl-8 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[state=open]:bg-neutral-800 dark:data-[state=open]:text-neutral-50",
208
+ t
209
+ ),
210
+ ...o,
211
+ children: [
212
+ n,
213
+ /* @__PURE__ */ a(c, { className: "ml-auto h-4 w-4" })
214
+ ]
215
+ }
216
+ );
217
+ }
218
+ function R({
219
+ className: t,
220
+ ...e
221
+ }) {
222
+ return /* @__PURE__ */ a(
223
+ r.SubContent,
224
+ {
225
+ "data-slot": "menubar-sub-content",
226
+ className: s(
227
+ "bg-white text-neutral-950 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 min-w-[8rem] overflow-hidden rounded-md border border-neutral-200 p-1 shadow-lg dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800",
228
+ t
229
+ ),
230
+ ...e
231
+ }
232
+ );
233
+ }
234
+ export {
235
+ g as Menubar,
236
+ N as MenubarCheckboxItem,
237
+ M as MenubarContent,
238
+ v as MenubarGroup,
239
+ z as MenubarItem,
240
+ w as MenubarLabel,
241
+ x as MenubarMenu,
242
+ m as MenubarPortal,
243
+ k as MenubarRadioGroup,
244
+ I as MenubarRadioItem,
245
+ y as MenubarSeparator,
246
+ _ as MenubarShortcut,
247
+ C as MenubarSub,
248
+ R as MenubarSubContent,
249
+ S as MenubarSubTrigger,
250
+ h as MenubarTrigger
251
+ };
@@ -0,0 +1,170 @@
1
+ import { jsxs as r, jsx as e } from "react/jsx-runtime";
2
+ import * as o from "@radix-ui/react-navigation-menu";
3
+ import { cva as d } from "class-variance-authority";
4
+ import { ChevronDownIcon as l } from "lucide-react";
5
+ import { cn as n } from "../../lib/utils.js";
6
+ function c({
7
+ className: t,
8
+ children: a,
9
+ viewport: i = !0,
10
+ ...u
11
+ }) {
12
+ return /* @__PURE__ */ r(
13
+ o.Root,
14
+ {
15
+ "data-slot": "navigation-menu",
16
+ "data-viewport": i,
17
+ className: n(
18
+ "group/navigation-menu relative flex max-w-max flex-1 items-center justify-center",
19
+ t
20
+ ),
21
+ ...u,
22
+ children: [
23
+ a,
24
+ i && /* @__PURE__ */ e(g, {})
25
+ ]
26
+ }
27
+ );
28
+ }
29
+ function x({
30
+ className: t,
31
+ ...a
32
+ }) {
33
+ return /* @__PURE__ */ e(
34
+ o.List,
35
+ {
36
+ "data-slot": "navigation-menu-list",
37
+ className: n(
38
+ "group flex flex-1 list-none items-center justify-center gap-1",
39
+ t
40
+ ),
41
+ ...a
42
+ }
43
+ );
44
+ }
45
+ function w({
46
+ className: t,
47
+ ...a
48
+ }) {
49
+ return /* @__PURE__ */ e(
50
+ o.Item,
51
+ {
52
+ "data-slot": "navigation-menu-item",
53
+ className: n("relative", t),
54
+ ...a
55
+ }
56
+ );
57
+ }
58
+ const s = d(
59
+ "group inline-flex h-9 w-max items-center justify-center rounded-md bg-white px-4 py-2 text-sm font-medium hover:bg-neutral-100 hover:text-neutral-900 focus:bg-neutral-100 focus:text-neutral-900 disabled:pointer-events-none disabled:opacity-50 data-[active=true]:bg-neutral-100/50 data-[state=open]:bg-neutral-100/50 data-[active=true]:text-neutral-900 ring-neutral-950/10 dark:ring-neutral-950/20 dark:outline-ring/40 outline-ring/50 transition-[color,box-shadow] focus-visible:ring-4 focus-visible:outline-1 dark:bg-neutral-950 dark:hover:bg-neutral-800 dark:hover:text-neutral-50 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[active=true]:bg-neutral-800/50 dark:data-[state=open]:bg-neutral-800/50 dark:data-[active=true]:text-neutral-50 dark:ring-neutral-300/10 dark:dark:ring-neutral-300/20"
60
+ );
61
+ function b({
62
+ className: t,
63
+ children: a,
64
+ ...i
65
+ }) {
66
+ return /* @__PURE__ */ r(
67
+ o.Trigger,
68
+ {
69
+ "data-slot": "navigation-menu-trigger",
70
+ className: n(s(), "group", t),
71
+ ...i,
72
+ children: [
73
+ a,
74
+ "",
75
+ /* @__PURE__ */ e(
76
+ l,
77
+ {
78
+ className: "relative top-[1px] ml-1 size-3 transition duration-300 group-data-[state=open]:rotate-180",
79
+ "aria-hidden": "true"
80
+ }
81
+ )
82
+ ]
83
+ }
84
+ );
85
+ }
86
+ function h({
87
+ className: t,
88
+ ...a
89
+ }) {
90
+ return /* @__PURE__ */ e(
91
+ o.Content,
92
+ {
93
+ "data-slot": "navigation-menu-content",
94
+ className: n(
95
+ "data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full p-2 pr-2.5 md:absolute md:w-auto",
96
+ "group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:duration-200 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none",
97
+ t
98
+ ),
99
+ ...a
100
+ }
101
+ );
102
+ }
103
+ function g({
104
+ className: t,
105
+ ...a
106
+ }) {
107
+ return /* @__PURE__ */ e(
108
+ "div",
109
+ {
110
+ className: n(
111
+ "absolute top-full left-0 isolate z-50 flex justify-center"
112
+ ),
113
+ children: /* @__PURE__ */ e(
114
+ o.Viewport,
115
+ {
116
+ "data-slot": "navigation-menu-viewport",
117
+ className: n(
118
+ "origin-top-center bg-white text-neutral-950 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border border-neutral-200 shadow md:w-[var(--radix-navigation-menu-viewport-width)] dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800",
119
+ t
120
+ ),
121
+ ...a
122
+ }
123
+ )
124
+ }
125
+ );
126
+ }
127
+ function k({
128
+ className: t,
129
+ ...a
130
+ }) {
131
+ return /* @__PURE__ */ e(
132
+ o.Link,
133
+ {
134
+ "data-slot": "navigation-menu-link",
135
+ className: n(
136
+ "hover:bg-neutral-100 hover:text-neutral-900 focus:bg-neutral-100 focus:text-neutral-900 data-[active=true]:bg-neutral-100/50 data-[active=true]:text-neutral-900 ring-neutral-950/10 dark:ring-neutral-950/20 dark:outline-ring/40 outline-ring/50 [&_svg:not([class*='text-'])]:text-neutral-500 flex flex-col gap-1 rounded-sm p-2 text-sm transition-[color,box-shadow] focus-visible:ring-4 focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4 dark:hover:bg-neutral-800 dark:hover:text-neutral-50 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[active=true]:bg-neutral-800/50 dark:data-[active=true]:text-neutral-50 dark:ring-neutral-300/10 dark:dark:ring-neutral-300/20 dark:[&_svg:not([class*='text-'])]:text-neutral-400",
137
+ t
138
+ ),
139
+ ...a
140
+ }
141
+ );
142
+ }
143
+ function N({
144
+ className: t,
145
+ ...a
146
+ }) {
147
+ return /* @__PURE__ */ e(
148
+ o.Indicator,
149
+ {
150
+ "data-slot": "navigation-menu-indicator",
151
+ className: n(
152
+ "data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden",
153
+ t
154
+ ),
155
+ ...a,
156
+ children: /* @__PURE__ */ e("div", { className: "bg-neutral-200 relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md dark:bg-neutral-800" })
157
+ }
158
+ );
159
+ }
160
+ export {
161
+ c as NavigationMenu,
162
+ h as NavigationMenuContent,
163
+ N as NavigationMenuIndicator,
164
+ w as NavigationMenuItem,
165
+ k as NavigationMenuLink,
166
+ x as NavigationMenuList,
167
+ b as NavigationMenuTrigger,
168
+ g as NavigationMenuViewport,
169
+ s as navigationMenuTriggerStyle
170
+ };