@szum-tech/design-system 3.15.0 → 3.17.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 (80) hide show
  1. package/dist/{chunk-PTZVUZNQ.cjs → chunk-35H6T7OQ.cjs} +562 -5
  2. package/dist/{chunk-3MH6P44N.js → chunk-3DP3VMPN.js} +1 -1
  3. package/dist/{chunk-6X26XC6P.cjs → chunk-5B37TQYT.cjs} +4 -3
  4. package/dist/{chunk-XJIUGEPN.js → chunk-A72LE53B.js} +1 -1
  5. package/dist/{chunk-OH323B3O.js → chunk-AAPMLWYK.js} +537 -5
  6. package/dist/{chunk-UIOBJSKZ.cjs → chunk-DUAM4RTP.cjs} +1 -1
  7. package/dist/{chunk-XY3ZNUWR.cjs → chunk-F7NFSDOD.cjs} +17 -4
  8. package/dist/{chunk-DTYX7CYN.cjs → chunk-HPICKLBZ.cjs} +2 -2
  9. package/dist/chunk-I3E75OQX.js +16 -0
  10. package/dist/chunk-KTAIBRTH.cjs +10 -0
  11. package/dist/{chunk-KGGCA634.js → chunk-L2TRMQNN.js} +1 -1
  12. package/dist/chunk-NXEZE7LG.js +15 -0
  13. package/dist/chunk-OXZQGDTR.js +208 -0
  14. package/dist/{chunk-4IGU5SVP.js → chunk-P4IL77YC.js} +16 -4
  15. package/dist/{chunk-CAIAZGSW.cjs → chunk-RKFU4DS3.cjs} +2 -2
  16. package/dist/chunk-SHPJGB2L.cjs +19 -0
  17. package/dist/{chunk-CFJ44JVK.cjs → chunk-UNOMGKAZ.cjs} +2 -2
  18. package/dist/{chunk-Q2MJKFIE.js → chunk-WCQ5WKCQ.js} +1 -1
  19. package/dist/chunk-X7WREEFD.js +8 -0
  20. package/dist/chunk-YBFG2IRJ.cjs +225 -0
  21. package/dist/components/badge-overflow/index.cjs +2 -2
  22. package/dist/components/badge-overflow/index.js +1 -1
  23. package/dist/components/breadcrump/index.cjs +80 -0
  24. package/dist/components/breadcrump/index.d.cts +21 -0
  25. package/dist/components/breadcrump/index.d.ts +21 -0
  26. package/dist/components/breadcrump/index.js +72 -0
  27. package/dist/components/button/index.cjs +22 -19
  28. package/dist/components/button/index.js +21 -18
  29. package/dist/components/carousel/index.cjs +23 -20
  30. package/dist/components/carousel/index.js +21 -18
  31. package/dist/components/collapsible/index.cjs +18 -0
  32. package/dist/components/collapsible/index.d.cts +12 -0
  33. package/dist/components/collapsible/index.d.ts +12 -0
  34. package/dist/components/collapsible/index.js +1 -0
  35. package/dist/components/color-picker/index.cjs +32 -29
  36. package/dist/components/color-picker/index.js +21 -18
  37. package/dist/components/dropdown-menu/index.cjs +71 -0
  38. package/dist/components/dropdown-menu/index.d.cts +67 -0
  39. package/dist/components/dropdown-menu/index.d.ts +67 -0
  40. package/dist/components/dropdown-menu/index.js +2 -0
  41. package/dist/components/field/index.cjs +12 -12
  42. package/dist/components/field/index.js +2 -2
  43. package/dist/components/header/index.cjs +3 -2
  44. package/dist/components/header/index.d.cts +11 -2
  45. package/dist/components/header/index.d.ts +11 -2
  46. package/dist/components/header/index.js +2 -1
  47. package/dist/components/index.cjs +346 -163
  48. package/dist/components/index.d.cts +6 -1
  49. package/dist/components/index.d.ts +6 -1
  50. package/dist/components/index.js +21 -18
  51. package/dist/components/item/index.cjs +12 -12
  52. package/dist/components/item/index.js +2 -2
  53. package/dist/components/masonry/index.cjs +4 -4
  54. package/dist/components/masonry/index.js +2 -2
  55. package/dist/components/separator/index.cjs +2 -2
  56. package/dist/components/separator/index.js +1 -1
  57. package/dist/components/sidebar/index.cjs +148 -0
  58. package/dist/components/sidebar/index.d.cts +135 -0
  59. package/dist/components/sidebar/index.d.ts +135 -0
  60. package/dist/components/sidebar/index.js +43 -0
  61. package/dist/components/skeleton/index.cjs +11 -0
  62. package/dist/components/skeleton/index.d.cts +7 -0
  63. package/dist/components/skeleton/index.d.ts +7 -0
  64. package/dist/components/skeleton/index.js +2 -0
  65. package/dist/components/stepper/index.cjs +40 -37
  66. package/dist/components/stepper/index.js +21 -18
  67. package/dist/components/timeline/index.cjs +1 -1
  68. package/dist/components/timeline/index.js +1 -1
  69. package/dist/components/toaster/index.cjs +23 -20
  70. package/dist/components/toaster/index.js +21 -18
  71. package/dist/components/tooltip/index.d.cts +2 -4
  72. package/dist/components/tooltip/index.d.ts +2 -4
  73. package/dist/hooks/index.cjs +8 -4
  74. package/dist/hooks/index.d.cts +3 -1
  75. package/dist/hooks/index.d.ts +3 -1
  76. package/dist/hooks/index.js +1 -1
  77. package/dist/tooltip-content-DqtogPBq.d.cts +8 -0
  78. package/dist/tooltip-content-DqtogPBq.d.ts +8 -0
  79. package/package.json +1 -1
  80. package/dist/chunk-VT5GDGZJ.js +0 -15
@@ -0,0 +1,15 @@
1
+ import { Collapsible as Collapsible$1 } from 'radix-ui';
2
+ import { jsx } from 'react/jsx-runtime';
3
+
4
+ // src/components/collapsible/collapsible.tsx
5
+ function Collapsible({ ...props }) {
6
+ return /* @__PURE__ */ jsx(Collapsible$1.Root, { "data-slot": "collapsible", ...props });
7
+ }
8
+ function CollapsibleTrigger({ ...props }) {
9
+ return /* @__PURE__ */ jsx(Collapsible$1.CollapsibleTrigger, { "data-slot": "collapsible-trigger", ...props });
10
+ }
11
+ function CollapsibleContent({ ...props }) {
12
+ return /* @__PURE__ */ jsx(Collapsible$1.CollapsibleContent, { "data-slot": "collapsible-content", ...props });
13
+ }
14
+
15
+ export { Collapsible, CollapsibleContent, CollapsibleTrigger };
@@ -0,0 +1,208 @@
1
+ import { cn } from './chunk-ZD2QRAOX.js';
2
+ import { DropdownMenu as DropdownMenu$1 } from 'radix-ui';
3
+ import { jsx, jsxs } from 'react/jsx-runtime';
4
+ import { CheckIcon, ChevronRightIcon } from 'lucide-react';
5
+
6
+ function DropdownMenu(props) {
7
+ return /* @__PURE__ */ jsx(DropdownMenu$1.Root, { "data-slot": "dropdown-menu", ...props });
8
+ }
9
+ function DropdownMenuPortal(props) {
10
+ return /* @__PURE__ */ jsx(DropdownMenu$1.Portal, { "data-slot": "dropdown-menu-portal", ...props });
11
+ }
12
+ function DropdownMenuTrigger(props) {
13
+ return /* @__PURE__ */ jsx(DropdownMenu$1.Trigger, { "data-slot": "dropdown-menu-trigger", ...props });
14
+ }
15
+ function DropdownMenuContent({
16
+ className,
17
+ align = "start",
18
+ sideOffset = 4,
19
+ ...props
20
+ }) {
21
+ return /* @__PURE__ */ jsx(DropdownMenu$1.Portal, { children: /* @__PURE__ */ jsx(
22
+ DropdownMenu$1.Content,
23
+ {
24
+ "data-slot": "dropdown-menu-content",
25
+ sideOffset,
26
+ align,
27
+ className: cn(
28
+ "bg-popover text-popover-foreground ring-foreground/10 z-50 max-h-(--radix-dropdown-menu-content-available-height) w-(--radix-dropdown-menu-trigger-width) min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded p-1 shadow-md ring-1 duration-100",
29
+ "data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:overflow-hidden",
30
+ "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",
31
+ className
32
+ ),
33
+ ...props
34
+ }
35
+ ) });
36
+ }
37
+ function DropdownMenuGroup(props) {
38
+ return /* @__PURE__ */ jsx(DropdownMenu$1.Group, { "data-slot": "dropdown-menu-group", ...props });
39
+ }
40
+ function DropdownMenuItem({ className, inset, variant = "default", ...props }) {
41
+ return /* @__PURE__ */ jsx(
42
+ DropdownMenu$1.Item,
43
+ {
44
+ "data-slot": "dropdown-menu-item",
45
+ "data-inset": inset,
46
+ "data-variant": variant,
47
+ className: cn(
48
+ "group/dropdown-menu-item relative flex cursor-default items-center gap-1.5 rounded px-1.5 py-1 text-sm outline-hidden select-none data-inset:pl-7",
49
+ "focus:bg-accent focus:text-accent-foreground not-data-[variant=error]:focus:**:text-accent-foreground",
50
+ "data-disabled:pointer-events-none data-disabled:opacity-50",
51
+ "data-[variant=error]:text-error data-[variant=error]:*:[svg]:text-error dark:data-[variant=error]:focus:bg-error/20 data-[variant=error]:focus:bg-error/10 data-[variant=error]:focus:text-error",
52
+ "[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
53
+ className
54
+ ),
55
+ ...props
56
+ }
57
+ );
58
+ }
59
+ function DropdownMenuCheckboxItem({
60
+ className,
61
+ children,
62
+ checked,
63
+ inset,
64
+ ...props
65
+ }) {
66
+ return /* @__PURE__ */ jsxs(
67
+ DropdownMenu$1.CheckboxItem,
68
+ {
69
+ "data-slot": "dropdown-menu-checkbox-item",
70
+ "data-inset": inset,
71
+ className: cn(
72
+ "relative flex cursor-default items-center gap-1.5 rounded py-1 pr-8 pl-1.5 text-sm outline-hidden select-none data-inset:pl-7",
73
+ "focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground",
74
+ "data-disabled:pointer-events-none data-disabled:opacity-50",
75
+ "[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
76
+ className
77
+ ),
78
+ checked,
79
+ ...props,
80
+ children: [
81
+ /* @__PURE__ */ jsx(
82
+ "span",
83
+ {
84
+ className: "pointer-events-none absolute right-2 flex items-center justify-center",
85
+ "data-slot": "dropdown-menu-checkbox-item-indicator",
86
+ children: /* @__PURE__ */ jsx(DropdownMenu$1.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, {}) })
87
+ }
88
+ ),
89
+ children
90
+ ]
91
+ }
92
+ );
93
+ }
94
+ function DropdownMenuRadioGroup(props) {
95
+ return /* @__PURE__ */ jsx(DropdownMenu$1.RadioGroup, { "data-slot": "dropdown-menu-radio-group", ...props });
96
+ }
97
+ function DropdownMenuRadioItem({ className, children, inset, ...props }) {
98
+ return /* @__PURE__ */ jsxs(
99
+ DropdownMenu$1.RadioItem,
100
+ {
101
+ "data-slot": "dropdown-menu-radio-item",
102
+ "data-inset": inset,
103
+ className: cn(
104
+ "relative flex cursor-default items-center gap-1.5 rounded py-1 pr-8 pl-1.5 text-sm outline-hidden select-none",
105
+ "focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground",
106
+ "data-disabled:pointer-events-none data-disabled:opacity-50",
107
+ "data-inset:pl-7",
108
+ "[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
109
+ className
110
+ ),
111
+ ...props,
112
+ children: [
113
+ /* @__PURE__ */ jsx(
114
+ "span",
115
+ {
116
+ className: "pointer-events-none absolute right-2 flex items-center justify-center",
117
+ "data-slot": "dropdown-menu-radio-item-indicator",
118
+ children: /* @__PURE__ */ jsx(DropdownMenu$1.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, {}) })
119
+ }
120
+ ),
121
+ children
122
+ ]
123
+ }
124
+ );
125
+ }
126
+ function DropdownMenuLabel({ className, inset, ...props }) {
127
+ return /* @__PURE__ */ jsx(
128
+ DropdownMenu$1.Label,
129
+ {
130
+ "data-slot": "dropdown-menu-label",
131
+ "data-inset": inset,
132
+ className: cn("text-muted-foreground px-1.5 py-1 text-xs font-medium data-inset:pl-7", className),
133
+ ...props
134
+ }
135
+ );
136
+ }
137
+ function DropdownMenuSeparator({ className, ...props }) {
138
+ return /* @__PURE__ */ jsx(
139
+ DropdownMenu$1.Separator,
140
+ {
141
+ "data-slot": "dropdown-menu-separator",
142
+ className: cn("bg-border -mx-1 my-1 h-px", className),
143
+ ...props
144
+ }
145
+ );
146
+ }
147
+ function DropdownMenuShortcut({ className, ...props }) {
148
+ return /* @__PURE__ */ jsx(
149
+ "span",
150
+ {
151
+ "data-slot": "dropdown-menu-shortcut",
152
+ className: cn(
153
+ "text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground ml-auto text-xs tracking-widest",
154
+ className
155
+ ),
156
+ ...props
157
+ }
158
+ );
159
+ }
160
+ function DropdownMenuSub(props) {
161
+ return /* @__PURE__ */ jsx(DropdownMenu$1.Sub, { "data-slot": "dropdown-menu-sub", ...props });
162
+ }
163
+ function DropdownMenuSubTrigger({ className, inset, children, ...props }) {
164
+ return /* @__PURE__ */ jsxs(
165
+ DropdownMenu$1.SubTrigger,
166
+ {
167
+ "data-slot": "dropdown-menu-sub-trigger",
168
+ "data-inset": inset,
169
+ className: cn(
170
+ "flex cursor-default items-center gap-1.5 rounded px-1.5 py-1 text-sm outline-hidden select-none",
171
+ "data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
172
+ "focus:bg-accent focus:text-accent-foreground not-data-[variant=error]:focus:**:text-accent-foreground",
173
+ "data-inset:pl-7",
174
+ "[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
175
+ className
176
+ ),
177
+ ...props,
178
+ children: [
179
+ children,
180
+ /* @__PURE__ */ jsx(ChevronRightIcon, { className: "cn-rtl-flip ml-auto" })
181
+ ]
182
+ }
183
+ );
184
+ }
185
+ function DropdownMenuSubContent({ className, ...props }) {
186
+ return /* @__PURE__ */ jsx(
187
+ DropdownMenu$1.SubContent,
188
+ {
189
+ "data-slot": "dropdown-menu-sub-content",
190
+ className: cn(
191
+ "bg-popover text-popover-foreground ring-foreground/10 z-50 min-w-[96px] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded p-1 shadow-lg ring-1 duration-100",
192
+ "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",
193
+ "data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
194
+ "",
195
+ className
196
+ ),
197
+ ...props
198
+ }
199
+ );
200
+ }
201
+
202
+ // src/components/dropdown-menu/dropdown-menu-item.types.ts
203
+ var DropdownMenuItemVariant = {
204
+ DEFAULT: "default",
205
+ ERROR: "error"
206
+ };
207
+
208
+ export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuItemVariant, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger };
@@ -1,8 +1,8 @@
1
- import * as React from 'react';
1
+ import * as React3 from 'react';
2
2
 
3
3
  // src/hooks/use-validation-log.tsx
4
4
  function useValidationLog({ check, scope, message }) {
5
- React.useEffect(() => {
5
+ React3.useEffect(() => {
6
6
  if (!check) {
7
7
  console.error(
8
8
  `%c[Szum Tech-Design System]%c
@@ -48,7 +48,19 @@ function composeRefs(...refs) {
48
48
  };
49
49
  }
50
50
  function useComposedRefs(...refs) {
51
- return React.useCallback(composeRefs(...refs), refs);
51
+ return React3.useCallback(composeRefs(...refs), refs);
52
+ }
53
+ var MOBILE_BREAKPOINT = 768;
54
+ function useIsMobile() {
55
+ const [isMobile, setIsMobile] = React3.useState(void 0);
56
+ React3.useEffect(() => {
57
+ const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
58
+ const onChange = () => setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
59
+ mql.addEventListener("change", onChange);
60
+ setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
61
+ return () => mql.removeEventListener("change", onChange);
62
+ }, []);
63
+ return !!isMobile;
52
64
  }
53
65
 
54
- export { composeRefs, useComposedRefs, useValidationLog };
66
+ export { composeRefs, useComposedRefs, useIsMobile, useValidationLog };
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkXY3ZNUWR_cjs = require('./chunk-XY3ZNUWR.cjs');
3
+ var chunkF7NFSDOD_cjs = require('./chunk-F7NFSDOD.cjs');
4
4
  var chunkN4TYSZSU_cjs = require('./chunk-N4TYSZSU.cjs');
5
5
  var React3 = require('react');
6
6
  var reactSlot = require('@radix-ui/react-slot');
@@ -977,7 +977,7 @@ function Masonry(props) {
977
977
  const columnGap = gapValue.column;
978
978
  const rowGap = gapValue.row;
979
979
  const containerRef = React3__namespace.useRef(null);
980
- const composedRef = chunkXY3ZNUWR_cjs.useComposedRefs(ref, containerRef);
980
+ const composedRef = chunkF7NFSDOD_cjs.useComposedRefs(ref, containerRef);
981
981
  const size = useDebouncedWindowSize({
982
982
  containerRef,
983
983
  defaultWidth,
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+
3
+ var radixUi = require('radix-ui');
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+
6
+ // src/components/collapsible/collapsible.tsx
7
+ function Collapsible({ ...props }) {
8
+ return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Collapsible.Root, { "data-slot": "collapsible", ...props });
9
+ }
10
+ function CollapsibleTrigger({ ...props }) {
11
+ return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Collapsible.CollapsibleTrigger, { "data-slot": "collapsible-trigger", ...props });
12
+ }
13
+ function CollapsibleContent({ ...props }) {
14
+ return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Collapsible.CollapsibleContent, { "data-slot": "collapsible-content", ...props });
15
+ }
16
+
17
+ exports.Collapsible = Collapsible;
18
+ exports.CollapsibleContent = CollapsibleContent;
19
+ exports.CollapsibleTrigger = CollapsibleTrigger;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkUIOBJSKZ_cjs = require('./chunk-UIOBJSKZ.cjs');
3
+ var chunkDUAM4RTP_cjs = require('./chunk-DUAM4RTP.cjs');
4
4
  var chunkH2BWO3SI_cjs = require('./chunk-H2BWO3SI.cjs');
5
5
  var reactSlot = require('@radix-ui/react-slot');
6
6
  var classVarianceAuthority = require('class-variance-authority');
@@ -126,7 +126,7 @@ function ItemTitle({ className, ...props }) {
126
126
  );
127
127
  }
128
128
  function ItemSeparator({ className, ...props }) {
129
- return /* @__PURE__ */ jsxRuntime.jsx(chunkUIOBJSKZ_cjs.Separator, { "data-slot": "item-separator", orientation: "horizontal", className: chunkH2BWO3SI_cjs.cn("my-0", className), ...props });
129
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkDUAM4RTP_cjs.Separator, { "data-slot": "item-separator", orientation: "horizontal", className: chunkH2BWO3SI_cjs.cn("my-0", className), ...props });
130
130
  }
131
131
 
132
132
  exports.Item = Item;
@@ -1,4 +1,4 @@
1
- import { useComposedRefs } from './chunk-4IGU5SVP.js';
1
+ import { useComposedRefs } from './chunk-P4IL77YC.js';
2
2
  import { useIsomorphicLayoutEffect } from './chunk-G24PWQKG.js';
3
3
  import * as React3 from 'react';
4
4
  import React3__default from 'react';
@@ -0,0 +1,8 @@
1
+ import { cn } from './chunk-ZD2QRAOX.js';
2
+ import { jsx } from 'react/jsx-runtime';
3
+
4
+ function Skeleton({ className, ...props }) {
5
+ return /* @__PURE__ */ jsx("div", { "data-slot": "skeleton", className: cn("bg-muted animate-pulse rounded-md", className), ...props });
6
+ }
7
+
8
+ export { Skeleton };
@@ -0,0 +1,225 @@
1
+ 'use strict';
2
+
3
+ var chunkH2BWO3SI_cjs = require('./chunk-H2BWO3SI.cjs');
4
+ var radixUi = require('radix-ui');
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var lucideReact = require('lucide-react');
7
+
8
+ function DropdownMenu(props) {
9
+ return /* @__PURE__ */ jsxRuntime.jsx(radixUi.DropdownMenu.Root, { "data-slot": "dropdown-menu", ...props });
10
+ }
11
+ function DropdownMenuPortal(props) {
12
+ return /* @__PURE__ */ jsxRuntime.jsx(radixUi.DropdownMenu.Portal, { "data-slot": "dropdown-menu-portal", ...props });
13
+ }
14
+ function DropdownMenuTrigger(props) {
15
+ return /* @__PURE__ */ jsxRuntime.jsx(radixUi.DropdownMenu.Trigger, { "data-slot": "dropdown-menu-trigger", ...props });
16
+ }
17
+ function DropdownMenuContent({
18
+ className,
19
+ align = "start",
20
+ sideOffset = 4,
21
+ ...props
22
+ }) {
23
+ return /* @__PURE__ */ jsxRuntime.jsx(radixUi.DropdownMenu.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
24
+ radixUi.DropdownMenu.Content,
25
+ {
26
+ "data-slot": "dropdown-menu-content",
27
+ sideOffset,
28
+ align,
29
+ className: chunkH2BWO3SI_cjs.cn(
30
+ "bg-popover text-popover-foreground ring-foreground/10 z-50 max-h-(--radix-dropdown-menu-content-available-height) w-(--radix-dropdown-menu-trigger-width) min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded p-1 shadow-md ring-1 duration-100",
31
+ "data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:overflow-hidden",
32
+ "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",
33
+ className
34
+ ),
35
+ ...props
36
+ }
37
+ ) });
38
+ }
39
+ function DropdownMenuGroup(props) {
40
+ return /* @__PURE__ */ jsxRuntime.jsx(radixUi.DropdownMenu.Group, { "data-slot": "dropdown-menu-group", ...props });
41
+ }
42
+ function DropdownMenuItem({ className, inset, variant = "default", ...props }) {
43
+ return /* @__PURE__ */ jsxRuntime.jsx(
44
+ radixUi.DropdownMenu.Item,
45
+ {
46
+ "data-slot": "dropdown-menu-item",
47
+ "data-inset": inset,
48
+ "data-variant": variant,
49
+ className: chunkH2BWO3SI_cjs.cn(
50
+ "group/dropdown-menu-item relative flex cursor-default items-center gap-1.5 rounded px-1.5 py-1 text-sm outline-hidden select-none data-inset:pl-7",
51
+ "focus:bg-accent focus:text-accent-foreground not-data-[variant=error]:focus:**:text-accent-foreground",
52
+ "data-disabled:pointer-events-none data-disabled:opacity-50",
53
+ "data-[variant=error]:text-error data-[variant=error]:*:[svg]:text-error dark:data-[variant=error]:focus:bg-error/20 data-[variant=error]:focus:bg-error/10 data-[variant=error]:focus:text-error",
54
+ "[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
55
+ className
56
+ ),
57
+ ...props
58
+ }
59
+ );
60
+ }
61
+ function DropdownMenuCheckboxItem({
62
+ className,
63
+ children,
64
+ checked,
65
+ inset,
66
+ ...props
67
+ }) {
68
+ return /* @__PURE__ */ jsxRuntime.jsxs(
69
+ radixUi.DropdownMenu.CheckboxItem,
70
+ {
71
+ "data-slot": "dropdown-menu-checkbox-item",
72
+ "data-inset": inset,
73
+ className: chunkH2BWO3SI_cjs.cn(
74
+ "relative flex cursor-default items-center gap-1.5 rounded py-1 pr-8 pl-1.5 text-sm outline-hidden select-none data-inset:pl-7",
75
+ "focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground",
76
+ "data-disabled:pointer-events-none data-disabled:opacity-50",
77
+ "[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
78
+ className
79
+ ),
80
+ checked,
81
+ ...props,
82
+ children: [
83
+ /* @__PURE__ */ jsxRuntime.jsx(
84
+ "span",
85
+ {
86
+ className: "pointer-events-none absolute right-2 flex items-center justify-center",
87
+ "data-slot": "dropdown-menu-checkbox-item-indicator",
88
+ children: /* @__PURE__ */ jsxRuntime.jsx(radixUi.DropdownMenu.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckIcon, {}) })
89
+ }
90
+ ),
91
+ children
92
+ ]
93
+ }
94
+ );
95
+ }
96
+ function DropdownMenuRadioGroup(props) {
97
+ return /* @__PURE__ */ jsxRuntime.jsx(radixUi.DropdownMenu.RadioGroup, { "data-slot": "dropdown-menu-radio-group", ...props });
98
+ }
99
+ function DropdownMenuRadioItem({ className, children, inset, ...props }) {
100
+ return /* @__PURE__ */ jsxRuntime.jsxs(
101
+ radixUi.DropdownMenu.RadioItem,
102
+ {
103
+ "data-slot": "dropdown-menu-radio-item",
104
+ "data-inset": inset,
105
+ className: chunkH2BWO3SI_cjs.cn(
106
+ "relative flex cursor-default items-center gap-1.5 rounded py-1 pr-8 pl-1.5 text-sm outline-hidden select-none",
107
+ "focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground",
108
+ "data-disabled:pointer-events-none data-disabled:opacity-50",
109
+ "data-inset:pl-7",
110
+ "[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
111
+ className
112
+ ),
113
+ ...props,
114
+ children: [
115
+ /* @__PURE__ */ jsxRuntime.jsx(
116
+ "span",
117
+ {
118
+ className: "pointer-events-none absolute right-2 flex items-center justify-center",
119
+ "data-slot": "dropdown-menu-radio-item-indicator",
120
+ children: /* @__PURE__ */ jsxRuntime.jsx(radixUi.DropdownMenu.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckIcon, {}) })
121
+ }
122
+ ),
123
+ children
124
+ ]
125
+ }
126
+ );
127
+ }
128
+ function DropdownMenuLabel({ className, inset, ...props }) {
129
+ return /* @__PURE__ */ jsxRuntime.jsx(
130
+ radixUi.DropdownMenu.Label,
131
+ {
132
+ "data-slot": "dropdown-menu-label",
133
+ "data-inset": inset,
134
+ className: chunkH2BWO3SI_cjs.cn("text-muted-foreground px-1.5 py-1 text-xs font-medium data-inset:pl-7", className),
135
+ ...props
136
+ }
137
+ );
138
+ }
139
+ function DropdownMenuSeparator({ className, ...props }) {
140
+ return /* @__PURE__ */ jsxRuntime.jsx(
141
+ radixUi.DropdownMenu.Separator,
142
+ {
143
+ "data-slot": "dropdown-menu-separator",
144
+ className: chunkH2BWO3SI_cjs.cn("bg-border -mx-1 my-1 h-px", className),
145
+ ...props
146
+ }
147
+ );
148
+ }
149
+ function DropdownMenuShortcut({ className, ...props }) {
150
+ return /* @__PURE__ */ jsxRuntime.jsx(
151
+ "span",
152
+ {
153
+ "data-slot": "dropdown-menu-shortcut",
154
+ className: chunkH2BWO3SI_cjs.cn(
155
+ "text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground ml-auto text-xs tracking-widest",
156
+ className
157
+ ),
158
+ ...props
159
+ }
160
+ );
161
+ }
162
+ function DropdownMenuSub(props) {
163
+ return /* @__PURE__ */ jsxRuntime.jsx(radixUi.DropdownMenu.Sub, { "data-slot": "dropdown-menu-sub", ...props });
164
+ }
165
+ function DropdownMenuSubTrigger({ className, inset, children, ...props }) {
166
+ return /* @__PURE__ */ jsxRuntime.jsxs(
167
+ radixUi.DropdownMenu.SubTrigger,
168
+ {
169
+ "data-slot": "dropdown-menu-sub-trigger",
170
+ "data-inset": inset,
171
+ className: chunkH2BWO3SI_cjs.cn(
172
+ "flex cursor-default items-center gap-1.5 rounded px-1.5 py-1 text-sm outline-hidden select-none",
173
+ "data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
174
+ "focus:bg-accent focus:text-accent-foreground not-data-[variant=error]:focus:**:text-accent-foreground",
175
+ "data-inset:pl-7",
176
+ "[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
177
+ className
178
+ ),
179
+ ...props,
180
+ children: [
181
+ children,
182
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRightIcon, { className: "cn-rtl-flip ml-auto" })
183
+ ]
184
+ }
185
+ );
186
+ }
187
+ function DropdownMenuSubContent({ className, ...props }) {
188
+ return /* @__PURE__ */ jsxRuntime.jsx(
189
+ radixUi.DropdownMenu.SubContent,
190
+ {
191
+ "data-slot": "dropdown-menu-sub-content",
192
+ className: chunkH2BWO3SI_cjs.cn(
193
+ "bg-popover text-popover-foreground ring-foreground/10 z-50 min-w-[96px] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded p-1 shadow-lg ring-1 duration-100",
194
+ "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",
195
+ "data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
196
+ "",
197
+ className
198
+ ),
199
+ ...props
200
+ }
201
+ );
202
+ }
203
+
204
+ // src/components/dropdown-menu/dropdown-menu-item.types.ts
205
+ var DropdownMenuItemVariant = {
206
+ DEFAULT: "default",
207
+ ERROR: "error"
208
+ };
209
+
210
+ exports.DropdownMenu = DropdownMenu;
211
+ exports.DropdownMenuCheckboxItem = DropdownMenuCheckboxItem;
212
+ exports.DropdownMenuContent = DropdownMenuContent;
213
+ exports.DropdownMenuGroup = DropdownMenuGroup;
214
+ exports.DropdownMenuItem = DropdownMenuItem;
215
+ exports.DropdownMenuItemVariant = DropdownMenuItemVariant;
216
+ exports.DropdownMenuLabel = DropdownMenuLabel;
217
+ exports.DropdownMenuPortal = DropdownMenuPortal;
218
+ exports.DropdownMenuRadioGroup = DropdownMenuRadioGroup;
219
+ exports.DropdownMenuRadioItem = DropdownMenuRadioItem;
220
+ exports.DropdownMenuSeparator = DropdownMenuSeparator;
221
+ exports.DropdownMenuShortcut = DropdownMenuShortcut;
222
+ exports.DropdownMenuSub = DropdownMenuSub;
223
+ exports.DropdownMenuSubContent = DropdownMenuSubContent;
224
+ exports.DropdownMenuSubTrigger = DropdownMenuSubTrigger;
225
+ exports.DropdownMenuTrigger = DropdownMenuTrigger;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkXY3ZNUWR_cjs = require('../../chunk-XY3ZNUWR.cjs');
3
+ var chunkF7NFSDOD_cjs = require('../../chunk-F7NFSDOD.cjs');
4
4
  require('../../chunk-N4TYSZSU.cjs');
5
5
  var chunkH2BWO3SI_cjs = require('../../chunk-H2BWO3SI.cjs');
6
6
  var React = require('react');
@@ -50,7 +50,7 @@ function BadgeOverflow(props) {
50
50
  [getBadgeLabelProp]
51
51
  );
52
52
  const rootRef = React__namespace.useRef(null);
53
- const composedRef = chunkXY3ZNUWR_cjs.useComposedRefs(ref, rootRef);
53
+ const composedRef = chunkF7NFSDOD_cjs.useComposedRefs(ref, rootRef);
54
54
  const measureRef = React__namespace.useRef(null);
55
55
  const [containerWidth, setContainerWidth] = React__namespace.useState(0);
56
56
  const [badgeGap, setBadgeGap] = React__namespace.useState(4);
@@ -1,4 +1,4 @@
1
- import { useComposedRefs } from '../../chunk-4IGU5SVP.js';
1
+ import { useComposedRefs } from '../../chunk-P4IL77YC.js';
2
2
  import '../../chunk-G24PWQKG.js';
3
3
  import { cn } from '../../chunk-ZD2QRAOX.js';
4
4
  import * as React from 'react';
@@ -0,0 +1,80 @@
1
+ 'use strict';
2
+
3
+ var chunkH2BWO3SI_cjs = require('../../chunk-H2BWO3SI.cjs');
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var reactSlot = require('@radix-ui/react-slot');
6
+ var lucideReact = require('lucide-react');
7
+
8
+ function Breadcrumb({ ...props }) {
9
+ return /* @__PURE__ */ jsxRuntime.jsx("nav", { "aria-label": "breadcrumb", "data-slot": "breadcrumb", ...props });
10
+ }
11
+ function BreadcrumbList({ className, ...props }) {
12
+ return /* @__PURE__ */ jsxRuntime.jsx(
13
+ "ol",
14
+ {
15
+ "data-slot": "breadcrumb-list",
16
+ className: chunkH2BWO3SI_cjs.cn(
17
+ "text-muted-foreground flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5",
18
+ className
19
+ ),
20
+ ...props
21
+ }
22
+ );
23
+ }
24
+ function BreadcrumbItem({ className, ...props }) {
25
+ return /* @__PURE__ */ jsxRuntime.jsx("li", { "data-slot": "breadcrumb-item", className: chunkH2BWO3SI_cjs.cn("inline-flex items-center gap-1.5", className), ...props });
26
+ }
27
+ function BreadcrumbLink({ asChild, className, ...props }) {
28
+ const Comp = asChild ? reactSlot.Slot : "a";
29
+ return /* @__PURE__ */ jsxRuntime.jsx(Comp, { "data-slot": "breadcrumb-link", className: chunkH2BWO3SI_cjs.cn("hover:text-foreground transition-colors", className), ...props });
30
+ }
31
+ function BreadcrumbPage({ className, ...props }) {
32
+ return /* @__PURE__ */ jsxRuntime.jsx(
33
+ "span",
34
+ {
35
+ "data-slot": "breadcrumb-page",
36
+ role: "link",
37
+ "aria-disabled": "true",
38
+ "aria-current": "page",
39
+ className: chunkH2BWO3SI_cjs.cn("text-foreground font-normal", className),
40
+ ...props
41
+ }
42
+ );
43
+ }
44
+ function BreadcrumbSeparator({ children, className, ...props }) {
45
+ return /* @__PURE__ */ jsxRuntime.jsx(
46
+ "li",
47
+ {
48
+ "data-slot": "breadcrumb-separator",
49
+ role: "presentation",
50
+ "aria-hidden": "true",
51
+ className: chunkH2BWO3SI_cjs.cn("[&>svg]:size-3.5", className),
52
+ ...props,
53
+ children: children ?? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, {})
54
+ }
55
+ );
56
+ }
57
+ function BreadcrumbEllipsis({ className, ...props }) {
58
+ return /* @__PURE__ */ jsxRuntime.jsxs(
59
+ "span",
60
+ {
61
+ "data-slot": "breadcrumb-ellipsis",
62
+ role: "presentation",
63
+ "aria-hidden": "true",
64
+ className: chunkH2BWO3SI_cjs.cn("flex size-9 items-center justify-center", className),
65
+ ...props,
66
+ children: [
67
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MoreHorizontal, { className: "size-4" }),
68
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "More" })
69
+ ]
70
+ }
71
+ );
72
+ }
73
+
74
+ exports.Breadcrumb = Breadcrumb;
75
+ exports.BreadcrumbEllipsis = BreadcrumbEllipsis;
76
+ exports.BreadcrumbItem = BreadcrumbItem;
77
+ exports.BreadcrumbLink = BreadcrumbLink;
78
+ exports.BreadcrumbList = BreadcrumbList;
79
+ exports.BreadcrumbPage = BreadcrumbPage;
80
+ exports.BreadcrumbSeparator = BreadcrumbSeparator;