@cryptlex/web-components 1.4.1 → 1.6.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 (92) hide show
  1. package/README.md +4 -13
  2. package/dist/components/data-table/column-picker.es.js +3 -4
  3. package/dist/components/data-table/column-picker.es.js.map +1 -1
  4. package/dist/components/data-table/data-table.es.js +79 -80
  5. package/dist/components/data-table/data-table.es.js.map +1 -1
  6. package/dist/components/data-table/page-size.es.js +5 -5
  7. package/dist/components/data-table/page-size.es.js.map +1 -1
  8. package/dist/components/data-table/paginator.es.js +25 -31
  9. package/dist/components/data-table/paginator.es.js.map +1 -1
  10. package/dist/components/data-table/table-actions.es.js +26 -27
  11. package/dist/components/data-table/table-actions.es.js.map +1 -1
  12. package/dist/components/data-table/table-content.es.js +37 -31
  13. package/dist/components/data-table/table-content.es.js.map +1 -1
  14. package/dist/components/data-table/table-filter.es.js +42 -45
  15. package/dist/components/data-table/table-filter.es.js.map +1 -1
  16. package/dist/components/key-value-card/key-value-card.es.js +17 -14
  17. package/dist/components/key-value-card/key-value-card.es.js.map +1 -1
  18. package/dist/components/sidebar/app-layout.es.js +11 -15
  19. package/dist/components/sidebar/app-layout.es.js.map +1 -1
  20. package/dist/components/sidebar/breadcrumb.es.js +2 -3
  21. package/dist/components/sidebar/breadcrumb.es.js.map +1 -1
  22. package/dist/components/sidebar/nav-main.es.js +18 -18
  23. package/dist/components/sidebar/nav-main.es.js.map +1 -1
  24. package/dist/components/static-data-table/data-table.es.js +14 -14
  25. package/dist/components/static-data-table/data-table.es.js.map +1 -1
  26. package/dist/components/ui/accordion.es.js +9 -9
  27. package/dist/components/ui/accordion.es.js.map +1 -1
  28. package/dist/components/ui/avatar.es.js +16 -16
  29. package/dist/components/ui/avatar.es.js.map +1 -1
  30. package/dist/components/ui/badge.es.js +5 -24
  31. package/dist/components/ui/badge.es.js.map +1 -1
  32. package/dist/components/ui/breadcrumb.es.js +10 -10
  33. package/dist/components/ui/breadcrumb.es.js.map +1 -1
  34. package/dist/components/ui/button.es.js +17 -17
  35. package/dist/components/ui/button.es.js.map +1 -1
  36. package/dist/components/ui/calendar.es.js +8 -8
  37. package/dist/components/ui/calendar.es.js.map +1 -1
  38. package/dist/components/ui/card.es.js +21 -21
  39. package/dist/components/ui/card.es.js.map +1 -1
  40. package/dist/components/ui/chart.es.js +76 -102
  41. package/dist/components/ui/chart.es.js.map +1 -1
  42. package/dist/components/ui/checkbox.es.js +13 -19
  43. package/dist/components/ui/checkbox.es.js.map +1 -1
  44. package/dist/components/ui/command.es.js +4 -4
  45. package/dist/components/ui/command.es.js.map +1 -1
  46. package/dist/components/ui/copy-button.es.js +20 -34
  47. package/dist/components/ui/copy-button.es.js.map +1 -1
  48. package/dist/components/ui/dialog.es.js +32 -32
  49. package/dist/components/ui/dialog.es.js.map +1 -1
  50. package/dist/components/ui/drawer.es.js +2 -2
  51. package/dist/components/ui/drawer.es.js.map +1 -1
  52. package/dist/components/ui/dropdown-menu.es.js +74 -82
  53. package/dist/components/ui/dropdown-menu.es.js.map +1 -1
  54. package/dist/components/ui/input-otp.es.js +17 -17
  55. package/dist/components/ui/input-otp.es.js.map +1 -1
  56. package/dist/components/ui/input.es.js +7 -7
  57. package/dist/components/ui/input.es.js.map +1 -1
  58. package/dist/components/ui/link-button.es.js +6 -6
  59. package/dist/components/ui/link-button.es.js.map +1 -1
  60. package/dist/components/ui/mutli-select.es.js +52 -52
  61. package/dist/components/ui/mutli-select.es.js.map +1 -1
  62. package/dist/components/ui/navigation-menu.es.js +34 -34
  63. package/dist/components/ui/navigation-menu.es.js.map +1 -1
  64. package/dist/components/ui/pagination.es.js +38 -38
  65. package/dist/components/ui/pagination.es.js.map +1 -1
  66. package/dist/components/ui/password-input.es.js +13 -13
  67. package/dist/components/ui/password-input.es.js.map +1 -1
  68. package/dist/components/ui/radio-group.es.js +11 -11
  69. package/dist/components/ui/radio-group.es.js.map +1 -1
  70. package/dist/components/ui/search-input.es.js +11 -11
  71. package/dist/components/ui/search-input.es.js.map +1 -1
  72. package/dist/components/ui/select.es.js +31 -49
  73. package/dist/components/ui/select.es.js.map +1 -1
  74. package/dist/components/ui/sheet.es.js +17 -17
  75. package/dist/components/ui/sheet.es.js.map +1 -1
  76. package/dist/components/ui/sidebar.es.js +2 -3
  77. package/dist/components/ui/sidebar.es.js.map +1 -1
  78. package/dist/components/ui/table-page-layout.es.js +2 -2
  79. package/dist/components/ui/table-page-layout.es.js.map +1 -1
  80. package/dist/components/ui/table.es.js +33 -33
  81. package/dist/components/ui/table.es.js.map +1 -1
  82. package/dist/components/ui/tabs.es.js +2 -2
  83. package/dist/components/ui/tabs.es.js.map +1 -1
  84. package/dist/components/ui/tooltip.es.js +8 -8
  85. package/dist/components/ui/tooltip.es.js.map +1 -1
  86. package/dist/index.es.d.ts +20 -48
  87. package/dist/index.es.js +253 -257
  88. package/dist/utils/index.es.js.map +1 -1
  89. package/lib/index.css +25 -6
  90. package/lib/tailwind.preset.css +59 -45
  91. package/lib/tokens.css +0 -9
  92. package/package.json +1 -1
@@ -1,16 +1,16 @@
1
- import { jsxs as i, jsx as o } from "react/jsx-runtime";
1
+ import { jsxs as n, jsx as o } from "react/jsx-runtime";
2
2
  import { buttonVariants as r } from "./button.es.js";
3
3
  import { cn as a } from "../../utils/index.es.js";
4
- import { Link as m } from "@tanstack/react-router";
4
+ import { Link as e } from "@tanstack/react-router";
5
5
  function l(t) {
6
- const n = t.icon;
7
- return /* @__PURE__ */ i(
8
- m,
6
+ const i = t.icon;
7
+ return /* @__PURE__ */ n(
8
+ e,
9
9
  {
10
10
  className: a(r({ variant: t.variant, size: t.size }), "flex gap-2"),
11
11
  to: t.to,
12
12
  children: [
13
- n && /* @__PURE__ */ o(n, { className: "h-4 w-4" }),
13
+ i && /* @__PURE__ */ o(i, { className: "size-4" }),
14
14
  t.children
15
15
  ]
16
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"link-button.es.js","sources":["../../../lib/components/ui/link-button.tsx"],"sourcesContent":["import { buttonVariants } from '@/components/ui/button';\nimport { cn } from '@/utils';\nimport { Link } from '@tanstack/react-router';\nimport type { VariantProps } from 'class-variance-authority';\nimport type { LucideIcon } from 'lucide-react';\n/**\n *\n * @param props buttonVariants\n * @returns Button as Tanstack Link\n */\nexport function LinkButton(\n props: VariantProps<typeof buttonVariants> & {\n icon?: LucideIcon;\n to: string;\n children: React.ReactNode;\n },\n) {\n const Icon = props.icon;\n return (\n <Link\n className={cn(buttonVariants({ variant: props.variant, size: props.size }), 'flex gap-2')}\n to={props.to}\n >\n {Icon && <Icon className=\"h-4 w-4\" />}\n {props.children}\n </Link>\n );\n}\n"],"names":["LinkButton","props","Icon","jsxs","Link","cn","buttonVariants","jsx"],"mappings":";;;;AAUO,SAASA,EACdC,GAKA;AACA,QAAMC,IAAOD,EAAM;AAEjB,SAAA,gBAAAE;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAGC,EAAe,EAAE,SAASL,EAAM,SAAS,MAAMA,EAAM,KAAM,CAAA,GAAG,YAAY;AAAA,MACxF,IAAIA,EAAM;AAAA,MAET,UAAA;AAAA,QAAQC,KAAA,gBAAAK,EAACL,GAAK,EAAA,WAAU,UAAU,CAAA;AAAA,QAClCD,EAAM;AAAA,MAAA;AAAA,IAAA;AAAA,EACT;AAEJ;"}
1
+ {"version":3,"file":"link-button.es.js","sources":["../../../lib/components/ui/link-button.tsx"],"sourcesContent":["import { buttonVariants } from '@/components/ui/button';\nimport { cn } from '@/utils';\nimport { Link } from '@tanstack/react-router';\nimport type { VariantProps } from 'class-variance-authority';\nimport type { LucideIcon } from 'lucide-react';\n/**\n * TODO, this should be in the host project?\n * @param props buttonVariants\n * @returns Button as Tanstack Link\n */\nexport function LinkButton(\n props: VariantProps<typeof buttonVariants> & {\n icon?: LucideIcon;\n to: string;\n children: React.ReactNode;\n },\n) {\n const Icon = props.icon;\n return (\n <Link\n className={cn(buttonVariants({ variant: props.variant, size: props.size }), 'flex gap-2')}\n to={props.to}\n >\n {Icon && <Icon className=\"size-4\" />}\n {props.children}\n </Link>\n );\n}\n"],"names":["LinkButton","props","Icon","jsxs","Link","cn","buttonVariants","jsx"],"mappings":";;;;AAUO,SAASA,EACdC,GAKA;AACA,QAAMC,IAAOD,EAAM;AAEjB,SAAA,gBAAAE;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAGC,EAAe,EAAE,SAASL,EAAM,SAAS,MAAMA,EAAM,KAAM,CAAA,GAAG,YAAY;AAAA,MACxF,IAAIA,EAAM;AAAA,MAET,UAAA;AAAA,QAAQC,KAAA,gBAAAK,EAACL,GAAK,EAAA,WAAU,SAAS,CAAA;AAAA,QACjCD,EAAM;AAAA,MAAA;AAAA,IAAA;AAAA,EACT;AAEJ;"}
@@ -1,8 +1,8 @@
1
1
  "use client";
2
- import { jsxs as n, jsx as e, Fragment as j } from "react/jsx-runtime";
3
- import { Badge as E } from "./badge.es.js";
4
- import { Button as I } from "./button.es.js";
5
- import { CommandInput as k, CommandList as P, CommandEmpty as F, CommandGroup as h, CommandItem as d, CommandSeparator as v } from "./command.es.js";
2
+ import { jsxs as i, jsx as e, Fragment as j } from "react/jsx-runtime";
3
+ import { Badge as z } from "./badge.es.js";
4
+ import { Button as E } from "./button.es.js";
5
+ import { CommandInput as I, CommandList as k, CommandEmpty as P, CommandGroup as h, CommandItem as d, CommandSeparator as v } from "./command.es.js";
6
6
  import "./accordion.es.js";
7
7
  import "./avatar.es.js";
8
8
  import "./breadcrumb.es.js";
@@ -11,7 +11,7 @@ import "./card.es.js";
11
11
  import "./chart.es.js";
12
12
  import "./checkbox.es.js";
13
13
  import "@radix-ui/react-collapsible";
14
- import { XIcon as D, ChevronDown as g, Command as O, CheckIcon as B } from "lucide-react";
14
+ import { XIcon as F, ChevronDown as g, Command as D, CheckIcon as O } from "lucide-react";
15
15
  import * as c from "react";
16
16
  import "./dialog.es.js";
17
17
  import "./drawer.es.js";
@@ -20,7 +20,7 @@ import "./form.es.js";
20
20
  import "./input.es.js";
21
21
  import "./input-otp.es.js";
22
22
  import "./label.es.js";
23
- import { cn as K } from "../../utils/index.es.js";
23
+ import { cn as B } from "../../utils/index.es.js";
24
24
  import "@tanstack/react-router";
25
25
  import "./navigation-menu.es.js";
26
26
  import "./pagination.es.js";
@@ -35,9 +35,9 @@ import "sonner";
35
35
  import "./table.es.js";
36
36
  import "./tabs.es.js";
37
37
  import "./tooltip.es.js";
38
- import { Popover as R, PopoverTrigger as M, PopoverContent as A } from "@radix-ui/react-popover";
39
- import { cva as G } from "class-variance-authority";
40
- G(
38
+ import { Popover as K, PopoverTrigger as R, PopoverContent as M } from "@radix-ui/react-popover";
39
+ import { cva as A } from "class-variance-authority";
40
+ A(
41
41
  "m-1 transition ease-in-out delay-150 hover:-translate-y-1 hover:scale-110 duration-300",
42
42
  {
43
43
  variants: {
@@ -53,77 +53,77 @@ G(
53
53
  }
54
54
  }
55
55
  );
56
- const L = c.forwardRef(
56
+ const G = c.forwardRef(
57
57
  ({
58
- className: T,
59
- variant: X,
60
- asChild: _ = !1,
58
+ className: L,
59
+ variant: T,
60
+ asChild: X = !1,
61
61
  options: p,
62
62
  defaultValue: m,
63
63
  onValueChange: l,
64
- disabled: q,
64
+ disabled: _,
65
65
  placeholder: y,
66
- animation: z = 0,
66
+ animation: q = 0,
67
67
  ...b
68
- }, w) => {
69
- const [t, s] = c.useState(m || []), i = c.useRef(new Set(t)), [u, a] = c.useState(!1);
68
+ }, N) => {
69
+ const [t, s] = c.useState(m || []), n = c.useRef(new Set(t)), [u, a] = c.useState(!1);
70
70
  c.useEffect(() => {
71
- s(m || []), i.current = new Set(m);
71
+ s(m || []), n.current = new Set(m);
72
72
  }, [m]);
73
- const N = (r) => {
74
- r.key === "Enter" ? a(!0) : r.key === "Backspace" && !r.target.value && (t.pop(), s([...t]), i.current.delete(t[t.length - 1]), l([...t]));
73
+ const w = (r) => {
74
+ r.key === "Enter" ? a(!0) : r.key === "Backspace" && !r.target.value && (t.pop(), s([...t]), n.current.delete(t[t.length - 1]), l([...t]));
75
75
  }, C = (r) => {
76
- i.current.has(r) ? (i.current.delete(r), s(t.filter((o) => o !== r))) : (i.current.add(r), s([...t, r])), l(Array.from(i.current));
76
+ n.current.has(r) ? (n.current.delete(r), s(t.filter((o) => o !== r))) : (n.current.add(r), s([...t, r])), l(Array.from(n.current));
77
77
  };
78
- return /* @__PURE__ */ n(R, { open: u, onOpenChange: a, children: [
79
- /* @__PURE__ */ e(M, { asChild: !0, children: /* @__PURE__ */ e(
80
- I,
78
+ return /* @__PURE__ */ i(K, { open: u, onOpenChange: a, children: [
79
+ /* @__PURE__ */ e(R, { asChild: !0, children: /* @__PURE__ */ e(
80
+ E,
81
81
  {
82
- ref: w,
82
+ ref: N,
83
83
  ...b,
84
84
  onClick: () => a(!u),
85
85
  variant: "ghost",
86
- className: "flex w-full p-1 rounded-md border min-h-10 h-auto items-center justify-between bg-inherit hover:bg-card",
87
- children: t.length > 0 ? /* @__PURE__ */ n("div", { className: "flex justify-between items-center w-full", children: [
86
+ className: "flex w-full p-1 rounded-md border items-center justify-between bg-inherit hover:bg-card",
87
+ children: t.length > 0 ? /* @__PURE__ */ i("div", { className: "flex justify-between items-center w-full", children: [
88
88
  /* @__PURE__ */ e("div", { className: "flex flex-wrap items-center", children: t.map((r) => {
89
89
  const o = p.find((S) => S.value === r), f = o == null ? void 0 : o.icon;
90
- return /* @__PURE__ */ n(E, { children: [
91
- f && /* @__PURE__ */ e(f, { className: "h-6 w-6 mr-2" }),
90
+ return /* @__PURE__ */ i(z, { children: [
91
+ f && /* @__PURE__ */ e(f, { className: "size-4 mr-2" }),
92
92
  o == null ? void 0 : o.label
93
93
  ] }, r);
94
94
  }) }),
95
- /* @__PURE__ */ n("div", { className: "flex items-center justify-between", children: [
95
+ /* @__PURE__ */ i("div", { className: "flex items-center justify-between", children: [
96
96
  /* @__PURE__ */ e(
97
- D,
97
+ F,
98
98
  {
99
- className: "h-4 mx-2 cursor-pointer text-muted-foreground",
99
+ className: "size-icon mx-2 cursor-pointer text-muted-foreground",
100
100
  onClick: (r) => {
101
- s([]), i.current.clear(), l([]), r.stopPropagation();
101
+ s([]), n.current.clear(), l([]), r.stopPropagation();
102
102
  }
103
103
  }
104
104
  ),
105
105
  /* @__PURE__ */ e(x, { orientation: "vertical", className: "flex min-h-6 h-full" }),
106
- /* @__PURE__ */ e(g, { className: "h-4 mx-2 cursor-pointer text-muted-foreground" })
106
+ /* @__PURE__ */ e(g, { className: "size-icon mx-2 cursor-pointer text-muted-foreground" })
107
107
  ] })
108
- ] }) : /* @__PURE__ */ n("div", { className: "flex items-center justify-between w-full mx-auto", children: [
108
+ ] }) : /* @__PURE__ */ i("div", { className: "flex items-center justify-between w-full mx-auto", children: [
109
109
  /* @__PURE__ */ e("span", { className: "text-sm text-muted-foreground mx-3", children: y }),
110
- /* @__PURE__ */ e(g, { className: "h-4 cursor-pointer text-muted-foreground mx-2" })
110
+ /* @__PURE__ */ e(g, { className: "size-icon cursor-pointer text-muted-foreground mx-2" })
111
111
  ] })
112
112
  }
113
113
  ) }),
114
114
  /* @__PURE__ */ e(
115
- A,
115
+ M,
116
116
  {
117
117
  className: "w-[200px] p-0 drop-shadow-xs",
118
118
  align: "start",
119
119
  onEscapeKeyDown: () => a(!1),
120
- children: /* @__PURE__ */ n(O, { children: [
121
- /* @__PURE__ */ e(k, { placeholder: "Search...", onKeyDown: N }),
122
- /* @__PURE__ */ n(P, { children: [
123
- /* @__PURE__ */ e(F, { children: "No results found." }),
120
+ children: /* @__PURE__ */ i(D, { children: [
121
+ /* @__PURE__ */ e(I, { placeholder: "Search...", onKeyDown: w }),
122
+ /* @__PURE__ */ i(k, { children: [
123
+ /* @__PURE__ */ e(P, { children: "No results found." }),
124
124
  /* @__PURE__ */ e(h, { children: p.map((r) => {
125
- const o = i.current.has(r.value);
126
- return /* @__PURE__ */ n(
125
+ const o = n.current.has(r.value);
126
+ return /* @__PURE__ */ i(
127
127
  d,
128
128
  {
129
129
  onSelect: () => C(r.value),
@@ -136,14 +136,14 @@ const L = c.forwardRef(
136
136
  /* @__PURE__ */ e(
137
137
  "div",
138
138
  {
139
- className: K(
140
- "mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary",
139
+ className: B(
140
+ "mr-2 flex size-4 items-center justify-center rounded-sm border border-primary",
141
141
  o ? "bg-primary text-primary-foreground" : "opacity-50 [&_svg]:invisible"
142
142
  ),
143
- children: /* @__PURE__ */ e(B, { className: "h-4 w-4" })
143
+ children: /* @__PURE__ */ e(O, { className: "size-4" })
144
144
  }
145
145
  ),
146
- r.icon && /* @__PURE__ */ e(r.icon, { className: "mr-2 h-4 w-4 text-muted-foreground" }),
146
+ r.icon && /* @__PURE__ */ e(r.icon, { className: "mr-2 size-4 text-muted-foreground" }),
147
147
  /* @__PURE__ */ e("span", { children: r.label })
148
148
  ]
149
149
  },
@@ -151,13 +151,13 @@ const L = c.forwardRef(
151
151
  );
152
152
  }) }),
153
153
  /* @__PURE__ */ e(v, {}),
154
- /* @__PURE__ */ e(h, { children: /* @__PURE__ */ n("div", { className: "flex items-center justify-between", children: [
155
- t.length > 0 && /* @__PURE__ */ n(j, { children: [
154
+ /* @__PURE__ */ e(h, { children: /* @__PURE__ */ i("div", { className: "flex items-center justify-between", children: [
155
+ t.length > 0 && /* @__PURE__ */ i(j, { children: [
156
156
  /* @__PURE__ */ e(
157
157
  d,
158
158
  {
159
159
  onSelect: () => {
160
- s([]), i.current.clear(), l([]);
160
+ s([]), n.current.clear(), l([]);
161
161
  },
162
162
  style: {
163
163
  pointerEvents: "auto",
@@ -190,8 +190,8 @@ const L = c.forwardRef(
190
190
  ] });
191
191
  }
192
192
  );
193
- L.displayName = "MultiSelectFormField";
193
+ G.displayName = "MultiSelectFormField";
194
194
  export {
195
- L as default
195
+ G as default
196
196
  };
197
197
  //# sourceMappingURL=mutli-select.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mutli-select.es.js","sources":["../../../lib/components/ui/mutli-select.tsx"],"sourcesContent":["'use client';\nimport { Badge } from '@/components/ui/badge';\nimport { Button } from '@/components/ui/button';\nimport {\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n CommandSeparator,\n} from '@/components/ui/command';\nimport { Separator } from '@/index';\nimport { cn } from '@/utils';\nimport { Popover, PopoverContent, PopoverTrigger } from '@radix-ui/react-popover';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { CheckIcon, ChevronDown, Command, XIcon } from 'lucide-react';\nimport * as React from 'react';\n\nconst multiSelectVariants = cva(\n 'm-1 transition ease-in-out delay-150 hover:-translate-y-1 hover:scale-110 duration-300',\n {\n variants: {\n variant: {\n default: 'border-foreground/10 drop-shadow-md text-foreground bg-card hover:bg-card/80',\n secondary:\n 'border-foreground/10 bg-secondary text-secondary-foreground hover:bg-secondary/80',\n destructive:\n 'border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80',\n inverted: 'inverted',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\ninterface MultiSelectFormFieldProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof multiSelectVariants> {\n asChild?: boolean;\n options: {\n label: string;\n value: string;\n icon?: React.ComponentType<{ className?: string }>;\n }[];\n defaultValue?: string[];\n disabled?: boolean;\n placeholder: string;\n className?: string;\n animation?: number;\n onValueChange: (value: string[]) => void;\n}\n\nconst MultiSelectFormField = React.forwardRef<HTMLButtonElement, MultiSelectFormFieldProps>(\n (\n {\n className,\n variant,\n asChild = false,\n options,\n defaultValue,\n onValueChange,\n disabled,\n placeholder,\n animation = 0,\n ...props\n },\n ref,\n ) => {\n const [selectedValues, setSelectedValues] = React.useState<string[]>(defaultValue || []);\n const selectedValuesSet = React.useRef(new Set(selectedValues));\n const [isPopoverOpen, setIsPopoverOpen] = React.useState(false);\n\n React.useEffect(() => {\n setSelectedValues(defaultValue || []);\n selectedValuesSet.current = new Set(defaultValue);\n }, [defaultValue]);\n\n const handleInputKeyDown = (event: any) => {\n if (event.key === 'Enter') {\n setIsPopoverOpen(true);\n } else if (event.key === 'Backspace' && !event.target.value) {\n selectedValues.pop();\n setSelectedValues([...selectedValues]);\n selectedValuesSet.current.delete(selectedValues[selectedValues.length - 1]);\n onValueChange([...selectedValues]);\n }\n };\n\n const toggleOption = (value: string) => {\n if (selectedValuesSet.current.has(value)) {\n selectedValuesSet.current.delete(value);\n setSelectedValues(selectedValues.filter((v) => v !== value));\n } else {\n selectedValuesSet.current.add(value);\n setSelectedValues([...selectedValues, value]);\n }\n onValueChange(Array.from(selectedValuesSet.current));\n };\n\n return (\n <Popover open={isPopoverOpen} onOpenChange={setIsPopoverOpen}>\n <PopoverTrigger asChild>\n <Button\n ref={ref}\n {...props}\n onClick={() => setIsPopoverOpen(!isPopoverOpen)}\n variant={'ghost'}\n className=\"flex w-full p-1 rounded-md border min-h-10 h-auto items-center justify-between bg-inherit hover:bg-card\"\n >\n {selectedValues.length > 0 ? (\n <div className=\"flex justify-between items-center w-full\">\n <div className=\"flex flex-wrap items-center\">\n {selectedValues.map((value) => {\n const option = options.find((o) => o.value === value);\n const IconComponent = option?.icon;\n return (\n <Badge key={value}>\n {IconComponent && <IconComponent className=\"h-6 w-6 mr-2\" />}\n {option?.label}\n </Badge>\n );\n })}\n </div>\n <div className=\"flex items-center justify-between\">\n <XIcon\n className=\"h-4 mx-2 cursor-pointer text-muted-foreground\"\n onClick={(event) => {\n setSelectedValues([]);\n selectedValuesSet.current.clear();\n onValueChange([]);\n event.stopPropagation();\n }}\n />\n <Separator orientation=\"vertical\" className=\"flex min-h-6 h-full\" />\n <ChevronDown className=\"h-4 mx-2 cursor-pointer text-muted-foreground\" />\n </div>\n </div>\n ) : (\n <div className=\"flex items-center justify-between w-full mx-auto\">\n <span className=\"text-sm text-muted-foreground mx-3\">{placeholder}</span>\n <ChevronDown className=\"h-4 cursor-pointer text-muted-foreground mx-2\" />\n </div>\n )}\n </Button>\n </PopoverTrigger>\n <PopoverContent\n className=\"w-[200px] p-0 drop-shadow-xs\"\n align=\"start\"\n onEscapeKeyDown={() => setIsPopoverOpen(false)}\n >\n <Command>\n <CommandInput placeholder=\"Search...\" onKeyDown={handleInputKeyDown} />\n <CommandList>\n <CommandEmpty>No results found.</CommandEmpty>\n <CommandGroup>\n {options.map((option) => {\n const isSelected = selectedValuesSet.current.has(option.value);\n return (\n <CommandItem\n key={option.value}\n onSelect={() => toggleOption(option.value)}\n style={{\n pointerEvents: 'auto',\n opacity: 1,\n }}\n className=\"cursor-pointer\"\n >\n <div\n className={cn(\n 'mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary',\n isSelected\n ? 'bg-primary text-primary-foreground'\n : 'opacity-50 [&_svg]:invisible',\n )}\n >\n <CheckIcon className=\"h-4 w-4\" />\n </div>\n {option.icon && (\n <option.icon className=\"mr-2 h-4 w-4 text-muted-foreground\" />\n )}\n <span>{option.label}</span>\n </CommandItem>\n );\n })}\n </CommandGroup>\n <CommandSeparator />\n <CommandGroup>\n <div className=\"flex items-center justify-between\">\n {selectedValues.length > 0 && (\n <>\n <CommandItem\n onSelect={() => {\n setSelectedValues([]);\n selectedValuesSet.current.clear();\n onValueChange([]);\n }}\n style={{\n pointerEvents: 'auto',\n opacity: 1,\n }}\n className=\"flex-1 justify-center cursor-pointer\"\n >\n Clear\n </CommandItem>\n <Separator orientation=\"vertical\" className=\"flex min-h-6 h-full\" />\n </>\n )}\n <CommandSeparator />\n <CommandItem\n onSelect={() => setIsPopoverOpen(false)}\n style={{\n pointerEvents: 'auto',\n opacity: 1,\n }}\n className=\"flex-1 justify-center cursor-pointer\"\n >\n Close\n </CommandItem>\n </div>\n </CommandGroup>\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n );\n },\n);\n\nMultiSelectFormField.displayName = 'MultiSelectFormField';\n\nexport default MultiSelectFormField;\n"],"names":["cva","MultiSelectFormField","React","className","variant","asChild","options","defaultValue","onValueChange","disabled","placeholder","animation","props","ref","selectedValues","setSelectedValues","selectedValuesSet","isPopoverOpen","setIsPopoverOpen","handleInputKeyDown","event","toggleOption","value","v","jsxs","Popover","jsx","PopoverTrigger","Button","option","o","IconComponent","Badge","XIcon","Separator","ChevronDown","PopoverContent","Command","CommandInput","CommandList","CommandEmpty","CommandGroup","isSelected","CommandItem","cn","CheckIcon","CommandSeparator","Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"mutli-select.es.js","sources":["../../../lib/components/ui/mutli-select.tsx"],"sourcesContent":["// TODO https://headlessui.com/react/listbox#selecting-multiple-values??\n'use client';\nimport { Badge } from '@/components/ui/badge';\nimport { Button } from '@/components/ui/button';\nimport {\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n CommandSeparator,\n} from '@/components/ui/command';\nimport { Separator } from '@/index';\nimport { cn } from '@/utils';\nimport { Popover, PopoverContent, PopoverTrigger } from '@radix-ui/react-popover';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { CheckIcon, ChevronDown, Command, XIcon } from 'lucide-react';\nimport * as React from 'react';\n\nconst multiSelectVariants = cva(\n 'm-1 transition ease-in-out delay-150 hover:-translate-y-1 hover:scale-110 duration-300',\n {\n variants: {\n variant: {\n default: 'border-foreground/10 drop-shadow-md text-foreground bg-card hover:bg-card/80',\n secondary:\n 'border-foreground/10 bg-secondary text-secondary-foreground hover:bg-secondary/80',\n destructive:\n 'border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80',\n inverted: 'inverted',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\ninterface MultiSelectFormFieldProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof multiSelectVariants> {\n asChild?: boolean;\n options: {\n label: string;\n value: string;\n icon?: React.ComponentType<{ className?: string }>;\n }[];\n defaultValue?: string[];\n disabled?: boolean;\n placeholder: string;\n className?: string;\n animation?: number;\n onValueChange: (value: string[]) => void;\n}\n\nconst MultiSelectFormField = React.forwardRef<HTMLButtonElement, MultiSelectFormFieldProps>(\n (\n {\n className,\n variant,\n asChild = false,\n options,\n defaultValue,\n onValueChange,\n disabled,\n placeholder,\n animation = 0,\n ...props\n },\n ref,\n ) => {\n const [selectedValues, setSelectedValues] = React.useState<string[]>(defaultValue || []);\n const selectedValuesSet = React.useRef(new Set(selectedValues));\n const [isPopoverOpen, setIsPopoverOpen] = React.useState(false);\n\n React.useEffect(() => {\n setSelectedValues(defaultValue || []);\n selectedValuesSet.current = new Set(defaultValue);\n }, [defaultValue]);\n\n const handleInputKeyDown = (event: any) => {\n if (event.key === 'Enter') {\n setIsPopoverOpen(true);\n } else if (event.key === 'Backspace' && !event.target.value) {\n selectedValues.pop();\n setSelectedValues([...selectedValues]);\n selectedValuesSet.current.delete(selectedValues[selectedValues.length - 1]);\n onValueChange([...selectedValues]);\n }\n };\n\n const toggleOption = (value: string) => {\n if (selectedValuesSet.current.has(value)) {\n selectedValuesSet.current.delete(value);\n setSelectedValues(selectedValues.filter((v) => v !== value));\n } else {\n selectedValuesSet.current.add(value);\n setSelectedValues([...selectedValues, value]);\n }\n onValueChange(Array.from(selectedValuesSet.current));\n };\n\n return (\n <Popover open={isPopoverOpen} onOpenChange={setIsPopoverOpen}>\n <PopoverTrigger asChild>\n <Button\n ref={ref}\n {...props}\n onClick={() => setIsPopoverOpen(!isPopoverOpen)}\n variant={'ghost'}\n className=\"flex w-full p-1 rounded-md border items-center justify-between bg-inherit hover:bg-card\"\n >\n {selectedValues.length > 0 ? (\n <div className=\"flex justify-between items-center w-full\">\n <div className=\"flex flex-wrap items-center\">\n {selectedValues.map((value) => {\n const option = options.find((o) => o.value === value);\n const IconComponent = option?.icon;\n return (\n <Badge key={value}>\n {IconComponent && <IconComponent className=\"size-4 mr-2\" />}\n {option?.label}\n </Badge>\n );\n })}\n </div>\n <div className=\"flex items-center justify-between\">\n <XIcon\n className=\"size-icon mx-2 cursor-pointer text-muted-foreground\"\n onClick={(event) => {\n setSelectedValues([]);\n selectedValuesSet.current.clear();\n onValueChange([]);\n event.stopPropagation();\n }}\n />\n <Separator orientation=\"vertical\" className=\"flex min-h-6 h-full\" />\n <ChevronDown className=\"size-icon mx-2 cursor-pointer text-muted-foreground\" />\n </div>\n </div>\n ) : (\n <div className=\"flex items-center justify-between w-full mx-auto\">\n <span className=\"text-sm text-muted-foreground mx-3\">{placeholder}</span>\n <ChevronDown className=\"size-icon cursor-pointer text-muted-foreground mx-2\" />\n </div>\n )}\n </Button>\n </PopoverTrigger>\n <PopoverContent\n className=\"w-[200px] p-0 drop-shadow-xs\"\n align=\"start\"\n onEscapeKeyDown={() => setIsPopoverOpen(false)}\n >\n <Command>\n <CommandInput placeholder=\"Search...\" onKeyDown={handleInputKeyDown} />\n <CommandList>\n <CommandEmpty>No results found.</CommandEmpty>\n <CommandGroup>\n {options.map((option) => {\n const isSelected = selectedValuesSet.current.has(option.value);\n return (\n <CommandItem\n key={option.value}\n onSelect={() => toggleOption(option.value)}\n style={{\n pointerEvents: 'auto',\n opacity: 1,\n }}\n className=\"cursor-pointer\"\n >\n <div\n className={cn(\n 'mr-2 flex size-4 items-center justify-center rounded-sm border border-primary',\n isSelected\n ? 'bg-primary text-primary-foreground'\n : 'opacity-50 [&_svg]:invisible',\n )}\n >\n <CheckIcon className=\"size-4\" />\n </div>\n {option.icon && (\n <option.icon className=\"mr-2 size-4 text-muted-foreground\" />\n )}\n <span>{option.label}</span>\n </CommandItem>\n );\n })}\n </CommandGroup>\n <CommandSeparator />\n <CommandGroup>\n <div className=\"flex items-center justify-between\">\n {selectedValues.length > 0 && (\n <>\n <CommandItem\n onSelect={() => {\n setSelectedValues([]);\n selectedValuesSet.current.clear();\n onValueChange([]);\n }}\n style={{\n pointerEvents: 'auto',\n opacity: 1,\n }}\n className=\"flex-1 justify-center cursor-pointer\"\n >\n Clear\n </CommandItem>\n <Separator orientation=\"vertical\" className=\"flex min-h-6 h-full\" />\n </>\n )}\n <CommandSeparator />\n <CommandItem\n onSelect={() => setIsPopoverOpen(false)}\n style={{\n pointerEvents: 'auto',\n opacity: 1,\n }}\n className=\"flex-1 justify-center cursor-pointer\"\n >\n Close\n </CommandItem>\n </div>\n </CommandGroup>\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n );\n },\n);\n\nMultiSelectFormField.displayName = 'MultiSelectFormField';\n\nexport default MultiSelectFormField;\n"],"names":["cva","MultiSelectFormField","React","className","variant","asChild","options","defaultValue","onValueChange","disabled","placeholder","animation","props","ref","selectedValues","setSelectedValues","selectedValuesSet","isPopoverOpen","setIsPopoverOpen","handleInputKeyDown","event","toggleOption","value","v","jsxs","Popover","jsx","PopoverTrigger","Button","option","o","IconComponent","Badge","XIcon","Separator","ChevronDown","PopoverContent","Command","CommandInput","CommandList","CommandEmpty","CommandGroup","isSelected","CommandItem","cn","CheckIcon","CommandSeparator","Fragment"],"mappings":"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"}
@@ -1,17 +1,17 @@
1
1
  import { jsxs as s, jsx as i } from "react/jsx-runtime";
2
- import * as r from "react";
3
- import * as t from "@radix-ui/react-navigation-menu";
4
- import { cva as c } from "class-variance-authority";
5
2
  import { cn as n } from "../../utils/index.es.js";
6
- import { ChevronDownIcon as f } from "@radix-ui/react-icons";
3
+ import { ChevronDownIcon as c } from "@radix-ui/react-icons";
4
+ import * as e from "@radix-ui/react-navigation-menu";
5
+ import { cva as f } from "class-variance-authority";
6
+ import * as r from "react";
7
7
  import { buttonVariants as u } from "./button.es.js";
8
- const p = r.forwardRef(({ className: e, children: a, ...o }, d) => /* @__PURE__ */ s(
9
- t.Root,
8
+ const p = r.forwardRef(({ className: t, children: a, ...o }, d) => /* @__PURE__ */ s(
9
+ e.Root,
10
10
  {
11
11
  ref: d,
12
12
  className: n(
13
13
  "relative z-10 flex max-w-max flex-1 items-center justify-center",
14
- e
14
+ t
15
15
  ),
16
16
  ...o,
17
17
  children: [
@@ -20,83 +20,83 @@ const p = r.forwardRef(({ className: e, children: a, ...o }, d) => /* @__PURE__
20
20
  ]
21
21
  }
22
22
  ));
23
- p.displayName = t.Root.displayName;
24
- const g = r.forwardRef(({ className: e, ...a }, o) => /* @__PURE__ */ i(
25
- t.List,
23
+ p.displayName = e.Root.displayName;
24
+ const g = r.forwardRef(({ className: t, ...a }, o) => /* @__PURE__ */ i(
25
+ e.List,
26
26
  {
27
27
  ref: o,
28
28
  className: n(
29
29
  "group flex flex-1 list-none items-center justify-center space-x-1 flex-wrap",
30
- e
30
+ t
31
31
  ),
32
32
  ...a
33
33
  }
34
34
  ));
35
- g.displayName = t.List.displayName;
36
- const j = t.Item, v = c(u({ size: "sm", variant: "outline" })), N = r.forwardRef(({ className: e, children: a, ...o }, d) => /* @__PURE__ */ s(
37
- t.Trigger,
35
+ g.displayName = e.List.displayName;
36
+ const L = e.Item, v = f(u({ size: "sm", variant: "outline" })), N = r.forwardRef(({ className: t, children: a, ...o }, d) => /* @__PURE__ */ s(
37
+ e.Trigger,
38
38
  {
39
39
  ref: d,
40
- className: n(v(), "group", e),
40
+ className: n(v(), "group", t),
41
41
  ...o,
42
42
  children: [
43
43
  a,
44
44
  " ",
45
45
  /* @__PURE__ */ i(
46
- f,
46
+ c,
47
47
  {
48
- className: "relative top-[1px] ml-1 h-3 w-3 transition duration-300 group-data-[state=open]:rotate-180",
48
+ className: "relative top-[1px] ml-1 size-4 transition duration-300 group-data-[state=open]:rotate-180",
49
49
  "aria-hidden": "true"
50
50
  }
51
51
  )
52
52
  ]
53
53
  }
54
54
  ));
55
- N.displayName = t.Trigger.displayName;
56
- const h = r.forwardRef(({ className: e, ...a }, o) => /* @__PURE__ */ i(
57
- t.Content,
55
+ N.displayName = e.Trigger.displayName;
56
+ const h = r.forwardRef(({ className: t, ...a }, o) => /* @__PURE__ */ i(
57
+ e.Content,
58
58
  {
59
59
  ref: o,
60
60
  className: n(
61
61
  "left-0 top-0 w-full 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 md:absolute md:w-auto ",
62
- e
62
+ t
63
63
  ),
64
64
  ...a
65
65
  }
66
66
  ));
67
- h.displayName = t.Content.displayName;
68
- const w = t.Link, m = r.forwardRef(({ className: e, ...a }, o) => /* @__PURE__ */ i("div", { className: n("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ i(
69
- t.Viewport,
67
+ h.displayName = e.Content.displayName;
68
+ const w = e.Link, m = r.forwardRef(({ className: t, ...a }, o) => /* @__PURE__ */ i("div", { className: n("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ i(
69
+ e.Viewport,
70
70
  {
71
71
  className: n(
72
72
  "origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]",
73
- e
73
+ t
74
74
  ),
75
75
  ref: o,
76
76
  ...a
77
77
  }
78
78
  ) }));
79
- m.displayName = t.Viewport.displayName;
80
- const x = r.forwardRef(({ className: e, ...a }, o) => /* @__PURE__ */ i(
81
- t.Indicator,
79
+ m.displayName = e.Viewport.displayName;
80
+ const x = r.forwardRef(({ className: t, ...a }, o) => /* @__PURE__ */ i(
81
+ e.Indicator,
82
82
  {
83
83
  ref: o,
84
84
  className: n(
85
85
  "top-full z-1 flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in",
86
- e
86
+ t
87
87
  ),
88
88
  ...a,
89
- children: /* @__PURE__ */ i("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" })
89
+ children: /* @__PURE__ */ i("div", { className: "relative top-[60%] size-2 rotate-45 rounded-tl-sm bg-border shadow-md" })
90
90
  }
91
91
  ));
92
- x.displayName = t.Indicator.displayName;
93
- const y = r.forwardRef(({ className: e, title: a, children: o, ...d }, l) => /* @__PURE__ */ i("li", { children: /* @__PURE__ */ i(w, { asChild: !0, children: /* @__PURE__ */ s(
92
+ x.displayName = e.Indicator.displayName;
93
+ const y = r.forwardRef(({ className: t, title: a, children: o, ...d }, l) => /* @__PURE__ */ i("li", { children: /* @__PURE__ */ i(w, { asChild: !0, children: /* @__PURE__ */ s(
94
94
  "a",
95
95
  {
96
96
  ref: l,
97
97
  className: n(
98
98
  "block select-none text-accent space-y-1 rounded-md p-3 leading-none no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground",
99
- e
99
+ t
100
100
  ),
101
101
  ...d,
102
102
  children: [
@@ -110,7 +110,7 @@ export {
110
110
  p as NavigationMenu,
111
111
  h as NavigationMenuContent,
112
112
  x as NavigationMenuIndicator,
113
- j as NavigationMenuItem,
113
+ L as NavigationMenuItem,
114
114
  w as NavigationMenuLink,
115
115
  g as NavigationMenuList,
116
116
  y as NavigationMenuListItem,
@@ -1 +1 @@
1
- {"version":3,"file":"navigation-menu.es.js","sources":["../../../lib/components/ui/navigation-menu.tsx"],"sourcesContent":["import * as React from \"react\"\nimport * as NavigationMenuPrimitive from \"@radix-ui/react-navigation-menu\"\nimport { cva } from \"class-variance-authority\"\nimport { cn } from \"@/utils\"\nimport { ChevronDownIcon } from \"@radix-ui/react-icons\"\nimport { buttonVariants } from \"./button\"\n\nconst NavigationMenu = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <NavigationMenuPrimitive.Root\n ref={ref}\n className={cn(\n \"relative z-10 flex max-w-max flex-1 items-center justify-center\",\n className\n )}\n {...props}\n >\n {children}\n <NavigationMenuViewport />\n </NavigationMenuPrimitive.Root>\n))\nNavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName\n\nconst NavigationMenuList = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.List>\n>(({ className, ...props }, ref) => (\n <NavigationMenuPrimitive.List\n ref={ref}\n className={cn(\n \"group flex flex-1 list-none items-center justify-center space-x-1 flex-wrap\",\n className\n )}\n {...props}\n />\n))\nNavigationMenuList.displayName = NavigationMenuPrimitive.List.displayName\n\nconst NavigationMenuItem = NavigationMenuPrimitive.Item\n\nconst navigationMenuTriggerStyle = cva(buttonVariants({size:'sm', variant: 'outline'}))\n\nconst NavigationMenuTrigger = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <NavigationMenuPrimitive.Trigger\n ref={ref}\n className={cn(navigationMenuTriggerStyle(), \"group\", className)}\n {...props}\n >\n {children}{\" \"}\n <ChevronDownIcon\n className=\"relative top-[1px] ml-1 h-3 w-3 transition duration-300 group-data-[state=open]:rotate-180\"\n aria-hidden=\"true\"\n />\n </NavigationMenuPrimitive.Trigger>\n))\nNavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName\n\nconst NavigationMenuContent = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <NavigationMenuPrimitive.Content\n ref={ref}\n className={cn(\n \"left-0 top-0 w-full 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 md:absolute md:w-auto \",\n className\n )}\n {...props}\n />\n))\nNavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName\n\nconst NavigationMenuLink = NavigationMenuPrimitive.Link\n\nconst NavigationMenuViewport = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Viewport>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Viewport>\n>(({ className, ...props }, ref) => (\n <div className={cn(\"absolute left-0 top-full flex justify-center\")}>\n <NavigationMenuPrimitive.Viewport\n className={cn(\n \"origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]\",\n className\n )}\n ref={ref}\n {...props}\n />\n </div>\n))\nNavigationMenuViewport.displayName =\n NavigationMenuPrimitive.Viewport.displayName\n\nconst NavigationMenuIndicator = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Indicator>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Indicator>\n>(({ className, ...props }, ref) => (\n <NavigationMenuPrimitive.Indicator\n ref={ref}\n className={cn(\n \"top-full z-1 flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in\",\n className\n )}\n {...props}\n >\n <div className=\"relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md\" />\n </NavigationMenuPrimitive.Indicator>\n))\nNavigationMenuIndicator.displayName =\n NavigationMenuPrimitive.Indicator.displayName\n\nconst NavigationMenuListItem = React.forwardRef<\n React.ElementRef<\"a\">,\n React.ComponentPropsWithoutRef<\"a\">\n>(({ className, title, children, ...props }, ref) => {\n return (\n <li>\n <NavigationMenuLink asChild>\n <a\n ref={ref}\n className={cn(\n \"block select-none text-accent space-y-1 rounded-md p-3 leading-none no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground\",\n className\n )}\n {...props}\n >\n <div className=\"text-body font-medium leading-none\">{title}</div>\n <p className=\"line-clamp-2 text-body leading-snug text-muted-foreground\">\n {children}\n </p>\n </a>\n </NavigationMenuLink>\n </li>\n )\n})\nNavigationMenuListItem.displayName = \"NavigationItemListItem\"\n\nexport {\n navigationMenuTriggerStyle,\n NavigationMenu,\n NavigationMenuList,\n NavigationMenuItem,\n NavigationMenuContent,\n NavigationMenuTrigger,\n NavigationMenuLink,\n NavigationMenuIndicator,\n NavigationMenuViewport,\n NavigationMenuListItem\n}\n"],"names":["NavigationMenu","React","className","children","props","ref","jsxs","NavigationMenuPrimitive","cn","NavigationMenuViewport","NavigationMenuList","jsx","NavigationMenuItem","navigationMenuTriggerStyle","cva","buttonVariants","NavigationMenuTrigger","ChevronDownIcon","NavigationMenuContent","NavigationMenuLink","NavigationMenuIndicator","NavigationMenuListItem","title"],"mappings":"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"}
1
+ {"version":3,"file":"navigation-menu.es.js","sources":["../../../lib/components/ui/navigation-menu.tsx"],"sourcesContent":["import { cn } from \"@/utils\"\nimport { ChevronDownIcon } from \"@radix-ui/react-icons\"\nimport * as NavigationMenuPrimitive from \"@radix-ui/react-navigation-menu\"\nimport { cva } from \"class-variance-authority\"\nimport * as React from \"react\"\nimport { buttonVariants } from \"./button\"\n\nconst NavigationMenu = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <NavigationMenuPrimitive.Root\n ref={ref}\n className={cn(\n \"relative z-10 flex max-w-max flex-1 items-center justify-center\",\n className\n )}\n {...props}\n >\n {children}\n <NavigationMenuViewport />\n </NavigationMenuPrimitive.Root>\n))\nNavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName\n\nconst NavigationMenuList = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.List>\n>(({ className, ...props }, ref) => (\n <NavigationMenuPrimitive.List\n ref={ref}\n className={cn(\n \"group flex flex-1 list-none items-center justify-center space-x-1 flex-wrap\",\n className\n )}\n {...props}\n />\n))\nNavigationMenuList.displayName = NavigationMenuPrimitive.List.displayName\n\nconst NavigationMenuItem = NavigationMenuPrimitive.Item\n\nconst navigationMenuTriggerStyle = cva(buttonVariants({ size: 'sm', variant: 'outline' }))\n\nconst NavigationMenuTrigger = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <NavigationMenuPrimitive.Trigger\n ref={ref}\n className={cn(navigationMenuTriggerStyle(), \"group\", className)}\n {...props}\n >\n {children}{\" \"}\n <ChevronDownIcon\n className=\"relative top-[1px] ml-1 size-4 transition duration-300 group-data-[state=open]:rotate-180\"\n aria-hidden=\"true\"\n />\n </NavigationMenuPrimitive.Trigger>\n))\nNavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName\n\nconst NavigationMenuContent = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <NavigationMenuPrimitive.Content\n ref={ref}\n className={cn(\n \"left-0 top-0 w-full 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 md:absolute md:w-auto \",\n className\n )}\n {...props}\n />\n))\nNavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName\n\nconst NavigationMenuLink = NavigationMenuPrimitive.Link\n\nconst NavigationMenuViewport = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Viewport>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Viewport>\n>(({ className, ...props }, ref) => (\n <div className={cn(\"absolute left-0 top-full flex justify-center\")}>\n <NavigationMenuPrimitive.Viewport\n className={cn(\n \"origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]\",\n className\n )}\n ref={ref}\n {...props}\n />\n </div>\n))\nNavigationMenuViewport.displayName =\n NavigationMenuPrimitive.Viewport.displayName\n\nconst NavigationMenuIndicator = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Indicator>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Indicator>\n>(({ className, ...props }, ref) => (\n <NavigationMenuPrimitive.Indicator\n ref={ref}\n className={cn(\n \"top-full z-1 flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in\",\n className\n )}\n {...props}\n >\n <div className=\"relative top-[60%] size-2 rotate-45 rounded-tl-sm bg-border shadow-md\" />\n </NavigationMenuPrimitive.Indicator>\n))\nNavigationMenuIndicator.displayName =\n NavigationMenuPrimitive.Indicator.displayName\n\nconst NavigationMenuListItem = React.forwardRef<\n React.ElementRef<\"a\">,\n React.ComponentPropsWithoutRef<\"a\">\n>(({ className, title, children, ...props }, ref) => {\n return (\n <li>\n <NavigationMenuLink asChild>\n <a\n ref={ref}\n className={cn(\n \"block select-none text-accent space-y-1 rounded-md p-3 leading-none no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground\",\n className\n )}\n {...props}\n >\n <div className=\"text-body font-medium leading-none\">{title}</div>\n <p className=\"line-clamp-2 text-body leading-snug text-muted-foreground\">\n {children}\n </p>\n </a>\n </NavigationMenuLink>\n </li>\n )\n})\nNavigationMenuListItem.displayName = \"NavigationItemListItem\"\n\nexport {\n NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuListItem, NavigationMenuTrigger, navigationMenuTriggerStyle, NavigationMenuViewport\n}\n\n"],"names":["NavigationMenu","React","className","children","props","ref","jsxs","NavigationMenuPrimitive","cn","NavigationMenuViewport","NavigationMenuList","jsx","NavigationMenuItem","navigationMenuTriggerStyle","cva","buttonVariants","NavigationMenuTrigger","ChevronDownIcon","NavigationMenuContent","NavigationMenuLink","NavigationMenuIndicator","NavigationMenuListItem","title"],"mappings":"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"}