@shipfox/react-ui 0.10.0 → 0.12.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 (90) hide show
  1. package/.turbo/turbo-build.log +6 -6
  2. package/.turbo/turbo-check.log +2 -2
  3. package/.turbo/turbo-type.log +1 -1
  4. package/CHANGELOG.md +12 -0
  5. package/dist/components/button/button.js +14 -11
  6. package/dist/components/button/button.js.map +1 -1
  7. package/dist/components/calendar/calendar.d.ts +5 -0
  8. package/dist/components/calendar/calendar.d.ts.map +1 -0
  9. package/dist/components/calendar/calendar.js +46 -0
  10. package/dist/components/calendar/calendar.js.map +1 -0
  11. package/dist/components/calendar/index.d.ts +2 -0
  12. package/dist/components/calendar/index.d.ts.map +1 -0
  13. package/dist/components/calendar/index.js +3 -0
  14. package/dist/components/calendar/index.js.map +1 -0
  15. package/dist/components/date-picker/date-picker.d.ts +19 -0
  16. package/dist/components/date-picker/date-picker.d.ts.map +1 -0
  17. package/dist/components/date-picker/date-picker.js +114 -0
  18. package/dist/components/date-picker/date-picker.js.map +1 -0
  19. package/dist/components/date-picker/date-picker.stories.js +333 -0
  20. package/dist/components/date-picker/date-picker.stories.js.map +1 -0
  21. package/dist/components/date-picker/index.d.ts +2 -0
  22. package/dist/components/date-picker/index.d.ts.map +1 -0
  23. package/dist/components/date-picker/index.js +3 -0
  24. package/dist/components/date-picker/index.js.map +1 -0
  25. package/dist/components/date-time-range-picker/date-time-range-picker.d.ts +24 -0
  26. package/dist/components/date-time-range-picker/date-time-range-picker.d.ts.map +1 -0
  27. package/dist/components/date-time-range-picker/date-time-range-picker.js +130 -0
  28. package/dist/components/date-time-range-picker/date-time-range-picker.js.map +1 -0
  29. package/dist/components/date-time-range-picker/index.d.ts +2 -0
  30. package/dist/components/date-time-range-picker/index.d.ts.map +1 -0
  31. package/dist/components/date-time-range-picker/index.js +3 -0
  32. package/dist/components/date-time-range-picker/index.js.map +1 -0
  33. package/dist/components/dropdown-menu/dropdown-menu.d.ts +58 -0
  34. package/dist/components/dropdown-menu/dropdown-menu.d.ts.map +1 -0
  35. package/dist/components/dropdown-menu/dropdown-menu.js +280 -0
  36. package/dist/components/dropdown-menu/dropdown-menu.js.map +1 -0
  37. package/dist/components/dropdown-menu/dropdown-menu.stories.js +462 -0
  38. package/dist/components/dropdown-menu/dropdown-menu.stories.js.map +1 -0
  39. package/dist/components/dropdown-menu/index.d.ts +3 -0
  40. package/dist/components/dropdown-menu/index.d.ts.map +1 -0
  41. package/dist/components/dropdown-menu/index.js +3 -0
  42. package/dist/components/dropdown-menu/index.js.map +1 -0
  43. package/dist/components/dynamic-item/dynamic-item.d.ts +1 -1
  44. package/dist/components/dynamic-item/dynamic-item.d.ts.map +1 -1
  45. package/dist/components/dynamic-item/dynamic-item.js +4 -4
  46. package/dist/components/dynamic-item/dynamic-item.js.map +1 -1
  47. package/dist/components/dynamic-item/dynamic-item.stories.js +11 -1
  48. package/dist/components/dynamic-item/dynamic-item.stories.js.map +1 -1
  49. package/dist/components/index.d.ts +5 -0
  50. package/dist/components/index.d.ts.map +1 -1
  51. package/dist/components/index.js +5 -0
  52. package/dist/components/index.js.map +1 -1
  53. package/dist/components/inline-tips/inline-tips.stories.js +5 -0
  54. package/dist/components/inline-tips/inline-tips.stories.js.map +1 -1
  55. package/dist/components/item/item.stories.js +15 -8
  56. package/dist/components/item/item.stories.js.map +1 -1
  57. package/dist/components/modal/modal.stories.js +14 -6
  58. package/dist/components/modal/modal.stories.js.map +1 -1
  59. package/dist/components/popover/index.d.ts +2 -0
  60. package/dist/components/popover/index.d.ts.map +1 -0
  61. package/dist/components/popover/index.js +3 -0
  62. package/dist/components/popover/index.js.map +1 -0
  63. package/dist/components/popover/popover.d.ts +10 -0
  64. package/dist/components/popover/popover.d.ts.map +1 -0
  65. package/dist/components/popover/popover.js +47 -0
  66. package/dist/components/popover/popover.js.map +1 -0
  67. package/dist/components/textarea/textarea.stories.js +8 -2
  68. package/dist/components/textarea/textarea.stories.js.map +1 -1
  69. package/dist/styles.css +1 -1
  70. package/package.json +3 -3
  71. package/src/components/button/button.tsx +12 -12
  72. package/src/components/calendar/calendar.tsx +90 -0
  73. package/src/components/calendar/index.ts +1 -0
  74. package/src/components/date-picker/date-picker.stories.tsx +230 -0
  75. package/src/components/date-picker/date-picker.tsx +179 -0
  76. package/src/components/date-picker/index.ts +1 -0
  77. package/src/components/date-time-range-picker/date-time-range-picker.tsx +211 -0
  78. package/src/components/date-time-range-picker/index.ts +1 -0
  79. package/src/components/dropdown-menu/dropdown-menu.stories.tsx +384 -0
  80. package/src/components/dropdown-menu/dropdown-menu.tsx +416 -0
  81. package/src/components/dropdown-menu/index.ts +29 -0
  82. package/src/components/dynamic-item/dynamic-item.stories.tsx +6 -1
  83. package/src/components/dynamic-item/dynamic-item.tsx +9 -3
  84. package/src/components/index.ts +5 -0
  85. package/src/components/inline-tips/inline-tips.stories.tsx +5 -0
  86. package/src/components/item/item.stories.tsx +65 -56
  87. package/src/components/modal/modal.stories.tsx +16 -6
  88. package/src/components/popover/index.ts +1 -0
  89. package/src/components/popover/popover.tsx +60 -0
  90. package/src/components/textarea/textarea.stories.tsx +8 -2
@@ -0,0 +1,58 @@
1
+ import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
2
+ import { type VariantProps } from 'class-variance-authority';
3
+ import type { ComponentProps } from 'react';
4
+ import { type IconName } from '../icon';
5
+ declare function DropdownMenu({ ...props }: ComponentProps<typeof DropdownMenuPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
6
+ declare function DropdownMenuTrigger({ className, ...props }: ComponentProps<typeof DropdownMenuPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
7
+ declare function DropdownMenuPortal({ ...props }: ComponentProps<typeof DropdownMenuPrimitive.Portal>): import("react/jsx-runtime").JSX.Element;
8
+ declare const dropdownMenuContentVariants: (props?: ({
9
+ size?: "sm" | "md" | "lg" | null | undefined;
10
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
11
+ type DropdownMenuContentProps = ComponentProps<typeof DropdownMenuPrimitive.Content> & VariantProps<typeof dropdownMenuContentVariants> & {
12
+ container?: HTMLElement | null;
13
+ };
14
+ declare function DropdownMenuContent({ className, sideOffset, size, onCloseAutoFocus, container, ...props }: DropdownMenuContentProps): import("react/jsx-runtime").JSX.Element;
15
+ declare function DropdownMenuGroup({ className, ...props }: ComponentProps<typeof DropdownMenuPrimitive.Group>): import("react/jsx-runtime").JSX.Element;
16
+ declare const dropdownMenuLabelVariants: (props?: ({
17
+ inset?: boolean | null | undefined;
18
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
19
+ type DropdownMenuLabelProps = ComponentProps<typeof DropdownMenuPrimitive.Label> & {
20
+ inset?: boolean;
21
+ };
22
+ declare function DropdownMenuLabel({ className, inset, ...props }: DropdownMenuLabelProps): import("react/jsx-runtime").JSX.Element;
23
+ declare const dropdownMenuItemVariants: (props?: ({
24
+ inset?: boolean | null | undefined;
25
+ variant?: "default" | null | undefined;
26
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
27
+ type DropdownMenuItemProps = ComponentProps<typeof DropdownMenuPrimitive.Item> & VariantProps<typeof dropdownMenuItemVariants> & {
28
+ icon?: IconName;
29
+ shortcut?: string;
30
+ closeOnSelect?: boolean;
31
+ iconStyle?: string;
32
+ };
33
+ declare function DropdownMenuItem({ className, inset, variant, icon, shortcut, children, closeOnSelect, iconStyle, onSelect, ...props }: DropdownMenuItemProps): import("react/jsx-runtime").JSX.Element;
34
+ type DropdownMenuCheckboxItemProps = ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem> & {
35
+ icon?: IconName;
36
+ shortcut?: string;
37
+ closeOnSelect?: boolean;
38
+ };
39
+ declare function DropdownMenuCheckboxItem({ className, children, checked, icon, shortcut, closeOnSelect, onSelect, ...props }: DropdownMenuCheckboxItemProps): import("react/jsx-runtime").JSX.Element;
40
+ declare function DropdownMenuRadioGroup({ className, ...props }: ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>): import("react/jsx-runtime").JSX.Element;
41
+ type DropdownMenuRadioItemProps = ComponentProps<typeof DropdownMenuPrimitive.RadioItem> & {
42
+ icon?: IconName;
43
+ closeOnSelect?: boolean;
44
+ };
45
+ declare function DropdownMenuRadioItem({ className, children, icon, closeOnSelect, onSelect, ...props }: DropdownMenuRadioItemProps): import("react/jsx-runtime").JSX.Element;
46
+ declare function DropdownMenuSeparator({ className, ...props }: ComponentProps<typeof DropdownMenuPrimitive.Separator>): import("react/jsx-runtime").JSX.Element;
47
+ type DropdownMenuShortcutProps = ComponentProps<'span'>;
48
+ declare function DropdownMenuShortcut({ className, ...props }: DropdownMenuShortcutProps): import("react/jsx-runtime").JSX.Element;
49
+ declare function DropdownMenuSub({ ...props }: ComponentProps<typeof DropdownMenuPrimitive.Sub>): import("react/jsx-runtime").JSX.Element;
50
+ type DropdownMenuSubTriggerProps = ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {
51
+ inset?: boolean;
52
+ icon?: IconName;
53
+ };
54
+ declare function DropdownMenuSubTrigger({ className, inset, icon, children, ...props }: DropdownMenuSubTriggerProps): import("react/jsx-runtime").JSX.Element;
55
+ declare function DropdownMenuSubContent({ className, ...props }: ComponentProps<typeof DropdownMenuPrimitive.SubContent>): import("react/jsx-runtime").JSX.Element;
56
+ export { DropdownMenu, DropdownMenuTrigger, DropdownMenuPortal, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent, dropdownMenuContentVariants, dropdownMenuItemVariants, dropdownMenuLabelVariants, };
57
+ export type { DropdownMenuContentProps, DropdownMenuLabelProps, DropdownMenuItemProps, DropdownMenuCheckboxItemProps, DropdownMenuRadioItemProps, DropdownMenuSubTriggerProps, DropdownMenuShortcutProps, };
58
+ //# sourceMappingURL=dropdown-menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown-menu.d.ts","sourceRoot":"","sources":["../../../src/components/dropdown-menu/dropdown-menu.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,280 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
3
+ import { cva } from 'class-variance-authority';
4
+ import { cn } from '../../utils/cn.js';
5
+ import { Icon } from '../icon/index.js';
6
+ function DropdownMenu({ ...props }) {
7
+ return /*#__PURE__*/ _jsx(DropdownMenuPrimitive.Root, {
8
+ "data-slot": "dropdown-menu",
9
+ ...props
10
+ });
11
+ }
12
+ function DropdownMenuTrigger({ className, ...props }) {
13
+ return /*#__PURE__*/ _jsx(DropdownMenuPrimitive.Trigger, {
14
+ "data-slot": "dropdown-menu-trigger",
15
+ className: cn('outline-none', className),
16
+ ...props
17
+ });
18
+ }
19
+ function DropdownMenuPortal({ ...props }) {
20
+ return /*#__PURE__*/ _jsx(DropdownMenuPrimitive.Portal, {
21
+ "data-slot": "dropdown-menu-portal",
22
+ ...props
23
+ });
24
+ }
25
+ const dropdownMenuContentVariants = cva([
26
+ 'z-50 min-w-[180px] overflow-hidden rounded-10 p-4',
27
+ 'bg-background-neutral-overlay text-foreground-neutral-subtle',
28
+ 'shadow-tooltip',
29
+ 'data-[state=open]:animate-in data-[state=closed]:animate-out',
30
+ 'data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',
31
+ 'data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95',
32
+ 'data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2',
33
+ 'data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2'
34
+ ], {
35
+ variants: {
36
+ size: {
37
+ sm: 'min-w-[160px]',
38
+ md: 'min-w-[200px]',
39
+ lg: 'min-w-[240px]'
40
+ }
41
+ },
42
+ defaultVariants: {
43
+ size: 'md'
44
+ }
45
+ });
46
+ function DropdownMenuContent({ className, sideOffset = 4, size, onCloseAutoFocus, container, ...props }) {
47
+ return /*#__PURE__*/ _jsx(DropdownMenuPrimitive.Portal, {
48
+ container: container,
49
+ children: /*#__PURE__*/ _jsx(DropdownMenuPrimitive.Content, {
50
+ "data-slot": "dropdown-menu-content",
51
+ sideOffset: sideOffset,
52
+ className: cn(dropdownMenuContentVariants({
53
+ size
54
+ }), className),
55
+ onCloseAutoFocus: (e)=>{
56
+ e.preventDefault();
57
+ onCloseAutoFocus?.(e);
58
+ },
59
+ ...props
60
+ })
61
+ });
62
+ }
63
+ function DropdownMenuGroup({ className, ...props }) {
64
+ return /*#__PURE__*/ _jsx(DropdownMenuPrimitive.Group, {
65
+ "data-slot": "dropdown-menu-group",
66
+ className: cn('flex flex-col', className),
67
+ ...props
68
+ });
69
+ }
70
+ const dropdownMenuLabelVariants = cva('px-8 py-4 text-xs leading-20 text-foreground-neutral-subtle select-none', {
71
+ variants: {
72
+ inset: {
73
+ true: 'pl-32'
74
+ }
75
+ }
76
+ });
77
+ function DropdownMenuLabel({ className, inset, ...props }) {
78
+ return /*#__PURE__*/ _jsx(DropdownMenuPrimitive.Label, {
79
+ "data-slot": "dropdown-menu-label",
80
+ className: cn(dropdownMenuLabelVariants({
81
+ inset
82
+ }), className),
83
+ ...props
84
+ });
85
+ }
86
+ const dropdownMenuItemVariants = cva([
87
+ 'relative flex cursor-pointer select-none items-center gap-8 rounded-6 px-8 py-6',
88
+ 'text-sm leading-20 text-foreground-neutral-subtle outline-none transition-colors',
89
+ 'focus:bg-background-components-hover',
90
+ 'data-disabled:pointer-events-none data-disabled:text-foreground-neutral-disabled'
91
+ ], {
92
+ variants: {
93
+ inset: {
94
+ true: 'pl-32'
95
+ },
96
+ variant: {
97
+ default: ''
98
+ }
99
+ },
100
+ defaultVariants: {
101
+ variant: 'default'
102
+ }
103
+ });
104
+ function DropdownMenuItem({ className, inset, variant, icon, shortcut, children, closeOnSelect = true, iconStyle, onSelect, ...props }) {
105
+ return /*#__PURE__*/ _jsxs(DropdownMenuPrimitive.Item, {
106
+ "data-slot": "dropdown-menu-item",
107
+ className: cn(dropdownMenuItemVariants({
108
+ inset,
109
+ variant
110
+ }), className),
111
+ onSelect: (e)=>{
112
+ if (!closeOnSelect) e.preventDefault();
113
+ onSelect?.(e);
114
+ },
115
+ ...props,
116
+ children: [
117
+ icon && /*#__PURE__*/ _jsx(Icon, {
118
+ name: icon,
119
+ className: cn('size-16 shrink-0 text-foreground-neutral-subtle', iconStyle)
120
+ }),
121
+ /*#__PURE__*/ _jsx("span", {
122
+ className: "flex-1 truncate",
123
+ children: children
124
+ }),
125
+ shortcut && /*#__PURE__*/ _jsx(DropdownMenuShortcut, {
126
+ children: shortcut
127
+ })
128
+ ]
129
+ });
130
+ }
131
+ function DropdownMenuCheckboxItem({ className, children, checked, icon, shortcut, closeOnSelect = true, onSelect, ...props }) {
132
+ return /*#__PURE__*/ _jsxs(DropdownMenuPrimitive.CheckboxItem, {
133
+ "data-slot": "dropdown-menu-checkbox-item",
134
+ className: cn([
135
+ 'relative flex cursor-pointer select-none items-center gap-8 rounded-6 py-6 pl-32 pr-8',
136
+ 'text-sm leading-20 text-foreground-neutral-subtle outline-none transition-colors',
137
+ 'focus:bg-background-components-hover',
138
+ 'data-disabled:pointer-events-none data-disabled:text-foreground-neutral-disabled',
139
+ 'data-[state=checked]:text-foreground-neutral-base'
140
+ ], className),
141
+ checked: checked,
142
+ onSelect: (e)=>{
143
+ if (!closeOnSelect) e.preventDefault();
144
+ onSelect?.(e);
145
+ },
146
+ ...props,
147
+ children: [
148
+ /*#__PURE__*/ _jsx("span", {
149
+ className: "absolute left-8 flex size-16 items-center justify-center",
150
+ children: /*#__PURE__*/ _jsx(DropdownMenuPrimitive.ItemIndicator, {
151
+ children: /*#__PURE__*/ _jsx(Icon, {
152
+ name: "check",
153
+ className: "size-14 text-foreground-neutral-base"
154
+ })
155
+ })
156
+ }),
157
+ icon && /*#__PURE__*/ _jsx(Icon, {
158
+ name: icon,
159
+ className: "size-16 shrink-0 text-foreground-neutral-subtle"
160
+ }),
161
+ /*#__PURE__*/ _jsx("span", {
162
+ className: "flex-1 truncate",
163
+ children: children
164
+ }),
165
+ shortcut && /*#__PURE__*/ _jsx(DropdownMenuShortcut, {
166
+ children: shortcut
167
+ })
168
+ ]
169
+ });
170
+ }
171
+ function DropdownMenuRadioGroup({ className, ...props }) {
172
+ return /*#__PURE__*/ _jsx(DropdownMenuPrimitive.RadioGroup, {
173
+ "data-slot": "dropdown-menu-radio-group",
174
+ className: cn('flex flex-col', className),
175
+ ...props
176
+ });
177
+ }
178
+ function DropdownMenuRadioItem({ className, children, icon, closeOnSelect = true, onSelect, ...props }) {
179
+ return /*#__PURE__*/ _jsxs(DropdownMenuPrimitive.RadioItem, {
180
+ "data-slot": "dropdown-menu-radio-item",
181
+ className: cn([
182
+ 'relative flex cursor-pointer select-none items-center gap-8 rounded-6 py-6 pl-32 pr-8',
183
+ 'text-sm leading-20 text-foreground-neutral-subtle outline-none transition-colors',
184
+ 'focus:bg-background-components-hover',
185
+ 'data-disabled:pointer-events-none data-disabled:text-foreground-neutral-disabled',
186
+ 'data-[state=checked]:text-foreground-neutral-base'
187
+ ], className),
188
+ onSelect: (e)=>{
189
+ if (!closeOnSelect) e.preventDefault();
190
+ onSelect?.(e);
191
+ },
192
+ ...props,
193
+ children: [
194
+ /*#__PURE__*/ _jsx("span", {
195
+ className: "absolute left-8 flex size-16 items-center justify-center",
196
+ children: /*#__PURE__*/ _jsx(DropdownMenuPrimitive.ItemIndicator, {
197
+ children: /*#__PURE__*/ _jsx(Icon, {
198
+ name: "ellipseMiniSolid",
199
+ className: "size-6 text-foreground-neutral-base"
200
+ })
201
+ })
202
+ }),
203
+ icon && /*#__PURE__*/ _jsx(Icon, {
204
+ name: icon,
205
+ className: "size-16 shrink-0 text-foreground-neutral-subtle"
206
+ }),
207
+ /*#__PURE__*/ _jsx("span", {
208
+ className: "flex-1 truncate",
209
+ children: children
210
+ })
211
+ ]
212
+ });
213
+ }
214
+ function DropdownMenuSeparator({ className, ...props }) {
215
+ return /*#__PURE__*/ _jsx(DropdownMenuPrimitive.Separator, {
216
+ "data-slot": "dropdown-menu-separator",
217
+ className: cn('relative -mx-4 my-4 h-px', 'bg-border-neutral-menu-top', 'after:absolute after:inset-x-0 after:top-px after:h-px', 'after:bg-border-neutral-menu-bottom', className),
218
+ ...props
219
+ });
220
+ }
221
+ function DropdownMenuShortcut({ className, ...props }) {
222
+ return /*#__PURE__*/ _jsx("span", {
223
+ "data-slot": "dropdown-menu-shortcut",
224
+ className: cn('ml-auto text-xs leading-20 text-foreground-neutral-muted tabular-nums', className),
225
+ ...props
226
+ });
227
+ }
228
+ function DropdownMenuSub({ ...props }) {
229
+ return /*#__PURE__*/ _jsx(DropdownMenuPrimitive.Sub, {
230
+ "data-slot": "dropdown-menu-sub",
231
+ ...props
232
+ });
233
+ }
234
+ function DropdownMenuSubTrigger({ className, inset, icon, children, ...props }) {
235
+ return /*#__PURE__*/ _jsxs(DropdownMenuPrimitive.SubTrigger, {
236
+ "data-slot": "dropdown-menu-sub-trigger",
237
+ className: cn([
238
+ 'relative flex cursor-pointer select-none items-center gap-8 rounded-6 px-8 py-6',
239
+ 'text-sm leading-20 text-foreground-neutral-subtle outline-none transition-colors',
240
+ 'focus:bg-background-components-hover',
241
+ 'data-[state=open]:bg-background-components-hover',
242
+ 'data-disabled:pointer-events-none data-disabled:text-foreground-neutral-disabled',
243
+ 'data-[state=checked]:text-foreground-neutral-base'
244
+ ], inset && 'pl-32', className),
245
+ ...props,
246
+ children: [
247
+ icon && /*#__PURE__*/ _jsx(Icon, {
248
+ name: icon,
249
+ className: "size-16 shrink-0 text-foreground-neutral-subtle"
250
+ }),
251
+ /*#__PURE__*/ _jsx("span", {
252
+ className: "flex-1 truncate",
253
+ children: children
254
+ }),
255
+ /*#__PURE__*/ _jsx(Icon, {
256
+ name: "chevronRight",
257
+ className: "ml-auto size-14 text-foreground-neutral-muted"
258
+ })
259
+ ]
260
+ });
261
+ }
262
+ function DropdownMenuSubContent({ className, ...props }) {
263
+ return /*#__PURE__*/ _jsx(DropdownMenuPrimitive.SubContent, {
264
+ "data-slot": "dropdown-menu-sub-content",
265
+ className: cn([
266
+ 'z-50 min-w-180 overflow-hidden rounded-10 p-4',
267
+ 'bg-background-neutral-overlay text-foreground-neutral-subtle',
268
+ 'shadow-tooltip',
269
+ 'data-[state=open]:animate-in data-[state=closed]:animate-out',
270
+ 'data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',
271
+ 'data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95',
272
+ 'data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2',
273
+ 'data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2'
274
+ ], className),
275
+ ...props
276
+ });
277
+ }
278
+ export { DropdownMenu, DropdownMenuTrigger, DropdownMenuPortal, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent, dropdownMenuContentVariants, dropdownMenuItemVariants, dropdownMenuLabelVariants };
279
+
280
+ //# sourceMappingURL=dropdown-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/dropdown-menu/dropdown-menu.tsx"],"sourcesContent":["import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport {cva, type VariantProps} from 'class-variance-authority';\nimport type {ComponentProps} from 'react';\nimport {cn} from 'utils/cn';\nimport {Icon, type IconName} from '../icon';\n\nfunction DropdownMenu({...props}: ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\nfunction DropdownMenuTrigger({\n className,\n ...props\n}: ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return (\n <DropdownMenuPrimitive.Trigger\n data-slot=\"dropdown-menu-trigger\"\n className={cn('outline-none', className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuPortal({...props}: ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />;\n}\n\nconst dropdownMenuContentVariants = cva(\n [\n 'z-50 min-w-[180px] overflow-hidden rounded-10 p-4',\n 'bg-background-neutral-overlay text-foreground-neutral-subtle',\n 'shadow-tooltip',\n 'data-[state=open]:animate-in data-[state=closed]:animate-out',\n 'data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',\n 'data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95',\n 'data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2',\n 'data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n ],\n {\n variants: {\n size: {\n sm: 'min-w-[160px]',\n md: 'min-w-[200px]',\n lg: 'min-w-[240px]',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n);\n\ntype DropdownMenuContentProps = ComponentProps<typeof DropdownMenuPrimitive.Content> &\n VariantProps<typeof dropdownMenuContentVariants> & {\n container?: HTMLElement | null;\n };\n\nfunction DropdownMenuContent({\n className,\n sideOffset = 4,\n size,\n onCloseAutoFocus,\n container,\n ...props\n}: DropdownMenuContentProps) {\n return (\n <DropdownMenuPrimitive.Portal container={container}>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n className={cn(dropdownMenuContentVariants({size}), className)}\n onCloseAutoFocus={(e) => {\n e.preventDefault();\n onCloseAutoFocus?.(e);\n }}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n}\n\nfunction DropdownMenuGroup({\n className,\n ...props\n}: ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return (\n <DropdownMenuPrimitive.Group\n data-slot=\"dropdown-menu-group\"\n className={cn('flex flex-col', className)}\n {...props}\n />\n );\n}\n\nconst dropdownMenuLabelVariants = cva(\n 'px-8 py-4 text-xs leading-20 text-foreground-neutral-subtle select-none',\n {\n variants: {\n inset: {\n true: 'pl-32',\n },\n },\n },\n);\n\ntype DropdownMenuLabelProps = ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n};\n\nfunction DropdownMenuLabel({className, inset, ...props}: DropdownMenuLabelProps) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n className={cn(dropdownMenuLabelVariants({inset}), className)}\n {...props}\n />\n );\n}\n\nconst dropdownMenuItemVariants = cva(\n [\n 'relative flex cursor-pointer select-none items-center gap-8 rounded-6 px-8 py-6',\n 'text-sm leading-20 text-foreground-neutral-subtle outline-none transition-colors',\n 'focus:bg-background-components-hover',\n 'data-disabled:pointer-events-none data-disabled:text-foreground-neutral-disabled',\n ],\n {\n variants: {\n inset: {\n true: 'pl-32',\n },\n variant: {\n default: '',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\ntype DropdownMenuItemProps = ComponentProps<typeof DropdownMenuPrimitive.Item> &\n VariantProps<typeof dropdownMenuItemVariants> & {\n icon?: IconName;\n shortcut?: string;\n closeOnSelect?: boolean;\n iconStyle?: string;\n };\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant,\n icon,\n shortcut,\n children,\n closeOnSelect = true,\n iconStyle,\n onSelect,\n ...props\n}: DropdownMenuItemProps) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n className={cn(dropdownMenuItemVariants({inset, variant}), className)}\n onSelect={(e) => {\n if (!closeOnSelect) e.preventDefault();\n onSelect?.(e);\n }}\n {...props}\n >\n {icon && (\n <Icon\n name={icon}\n className={cn('size-16 shrink-0 text-foreground-neutral-subtle', iconStyle)}\n />\n )}\n <span className=\"flex-1 truncate\">{children}</span>\n {shortcut && <DropdownMenuShortcut>{shortcut}</DropdownMenuShortcut>}\n </DropdownMenuPrimitive.Item>\n );\n}\n\ntype DropdownMenuCheckboxItemProps = ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem> & {\n icon?: IconName;\n shortcut?: string;\n closeOnSelect?: boolean;\n};\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n icon,\n shortcut,\n closeOnSelect = true,\n onSelect,\n ...props\n}: DropdownMenuCheckboxItemProps) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn(\n [\n 'relative flex cursor-pointer select-none items-center gap-8 rounded-6 py-6 pl-32 pr-8',\n 'text-sm leading-20 text-foreground-neutral-subtle outline-none transition-colors',\n 'focus:bg-background-components-hover',\n 'data-disabled:pointer-events-none data-disabled:text-foreground-neutral-disabled',\n 'data-[state=checked]:text-foreground-neutral-base',\n ],\n className,\n )}\n checked={checked}\n onSelect={(e) => {\n if (!closeOnSelect) e.preventDefault();\n onSelect?.(e);\n }}\n {...props}\n >\n <span className=\"absolute left-8 flex size-16 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Icon name=\"check\" className=\"size-14 text-foreground-neutral-base\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {icon && <Icon name={icon} className=\"size-16 shrink-0 text-foreground-neutral-subtle\" />}\n <span className=\"flex-1 truncate\">{children}</span>\n {shortcut && <DropdownMenuShortcut>{shortcut}</DropdownMenuShortcut>}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n}\n\nfunction DropdownMenuRadioGroup({\n className,\n ...props\n}: ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return (\n <DropdownMenuPrimitive.RadioGroup\n data-slot=\"dropdown-menu-radio-group\"\n className={cn('flex flex-col', className)}\n {...props}\n />\n );\n}\n\ntype DropdownMenuRadioItemProps = ComponentProps<typeof DropdownMenuPrimitive.RadioItem> & {\n icon?: IconName;\n closeOnSelect?: boolean;\n};\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n icon,\n closeOnSelect = true,\n onSelect,\n ...props\n}: DropdownMenuRadioItemProps) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={cn(\n [\n 'relative flex cursor-pointer select-none items-center gap-8 rounded-6 py-6 pl-32 pr-8',\n 'text-sm leading-20 text-foreground-neutral-subtle outline-none transition-colors',\n 'focus:bg-background-components-hover',\n 'data-disabled:pointer-events-none data-disabled:text-foreground-neutral-disabled',\n 'data-[state=checked]:text-foreground-neutral-base',\n ],\n className,\n )}\n onSelect={(e) => {\n if (!closeOnSelect) e.preventDefault();\n onSelect?.(e);\n }}\n {...props}\n >\n <span className=\"absolute left-8 flex size-16 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Icon name=\"ellipseMiniSolid\" className=\"size-6 text-foreground-neutral-base\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {icon && <Icon name={icon} className=\"size-16 shrink-0 text-foreground-neutral-subtle\" />}\n <span className=\"flex-1 truncate\">{children}</span>\n </DropdownMenuPrimitive.RadioItem>\n );\n}\n\nfunction DropdownMenuSeparator({\n className,\n ...props\n}: ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return (\n <DropdownMenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn(\n 'relative -mx-4 my-4 h-px',\n 'bg-border-neutral-menu-top',\n 'after:absolute after:inset-x-0 after:top-px after:h-px',\n 'after:bg-border-neutral-menu-bottom',\n className,\n )}\n {...props}\n />\n );\n}\n\ntype DropdownMenuShortcutProps = ComponentProps<'span'>;\n\nfunction DropdownMenuShortcut({className, ...props}: DropdownMenuShortcutProps) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn(\n 'ml-auto text-xs leading-20 text-foreground-neutral-muted tabular-nums',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSub({...props}: ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\ntype DropdownMenuSubTriggerProps = ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n icon?: IconName;\n};\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n icon,\n children,\n ...props\n}: DropdownMenuSubTriggerProps) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n className={cn(\n [\n 'relative flex cursor-pointer select-none items-center gap-8 rounded-6 px-8 py-6',\n 'text-sm leading-20 text-foreground-neutral-subtle outline-none transition-colors',\n 'focus:bg-background-components-hover',\n 'data-[state=open]:bg-background-components-hover',\n 'data-disabled:pointer-events-none data-disabled:text-foreground-neutral-disabled',\n 'data-[state=checked]:text-foreground-neutral-base',\n ],\n inset && 'pl-32',\n className,\n )}\n {...props}\n >\n {icon && <Icon name={icon} className=\"size-16 shrink-0 text-foreground-neutral-subtle\" />}\n <span className=\"flex-1 truncate\">{children}</span>\n <Icon name=\"chevronRight\" className=\"ml-auto size-14 text-foreground-neutral-muted\" />\n </DropdownMenuPrimitive.SubTrigger>\n );\n}\n\nfunction DropdownMenuSubContent({\n className,\n ...props\n}: ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n [\n 'z-50 min-w-180 overflow-hidden rounded-10 p-4',\n 'bg-background-neutral-overlay text-foreground-neutral-subtle',\n 'shadow-tooltip',\n 'data-[state=open]:animate-in data-[state=closed]:animate-out',\n 'data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',\n 'data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95',\n 'data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2',\n 'data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n ],\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuPortal,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n dropdownMenuContentVariants,\n dropdownMenuItemVariants,\n dropdownMenuLabelVariants,\n};\n\nexport type {\n DropdownMenuContentProps,\n DropdownMenuLabelProps,\n DropdownMenuItemProps,\n DropdownMenuCheckboxItemProps,\n DropdownMenuRadioItemProps,\n DropdownMenuSubTriggerProps,\n DropdownMenuShortcutProps,\n};\n"],"names":["DropdownMenuPrimitive","cva","cn","Icon","DropdownMenu","props","Root","data-slot","DropdownMenuTrigger","className","Trigger","DropdownMenuPortal","Portal","dropdownMenuContentVariants","variants","size","sm","md","lg","defaultVariants","DropdownMenuContent","sideOffset","onCloseAutoFocus","container","Content","e","preventDefault","DropdownMenuGroup","Group","dropdownMenuLabelVariants","inset","true","DropdownMenuLabel","Label","dropdownMenuItemVariants","variant","default","DropdownMenuItem","icon","shortcut","children","closeOnSelect","iconStyle","onSelect","Item","name","span","DropdownMenuShortcut","DropdownMenuCheckboxItem","checked","CheckboxItem","ItemIndicator","DropdownMenuRadioGroup","RadioGroup","DropdownMenuRadioItem","RadioItem","DropdownMenuSeparator","Separator","DropdownMenuSub","Sub","DropdownMenuSubTrigger","SubTrigger","DropdownMenuSubContent","SubContent"],"mappings":"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"}