@popgrids/ui 0.0.20 → 0.0.22

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 (58) hide show
  1. package/dist/banner-notification.cjs +54 -0
  2. package/dist/banner-notification.cjs.map +1 -0
  3. package/dist/banner-notification.d.cts +24 -0
  4. package/dist/banner-notification.d.ts +24 -0
  5. package/dist/banner-notification.js +52 -0
  6. package/dist/banner-notification.js.map +1 -0
  7. package/dist/button-link.cjs +35 -18
  8. package/dist/button-link.cjs.map +1 -1
  9. package/dist/button-link.d.cts +15 -3
  10. package/dist/button-link.d.ts +15 -3
  11. package/dist/button-link.js +36 -19
  12. package/dist/button-link.js.map +1 -1
  13. package/dist/button.cjs +1 -1
  14. package/dist/button.cjs.map +1 -1
  15. package/dist/button.js +1 -1
  16. package/dist/button.js.map +1 -1
  17. package/dist/dialog.cjs +439 -39
  18. package/dist/dialog.cjs.map +1 -1
  19. package/dist/dialog.d.cts +25 -11
  20. package/dist/dialog.d.ts +25 -11
  21. package/dist/dialog.js +439 -39
  22. package/dist/dialog.js.map +1 -1
  23. package/dist/dropdown-menu.cjs +126 -92
  24. package/dist/dropdown-menu.cjs.map +1 -1
  25. package/dist/dropdown-menu.d.cts +18 -20
  26. package/dist/dropdown-menu.d.ts +18 -20
  27. package/dist/dropdown-menu.js +127 -93
  28. package/dist/dropdown-menu.js.map +1 -1
  29. package/dist/index.cjs +329 -185
  30. package/dist/index.cjs.map +1 -1
  31. package/dist/index.d.cts +5 -4
  32. package/dist/index.d.ts +5 -4
  33. package/dist/index.js +329 -186
  34. package/dist/index.js.map +1 -1
  35. package/dist/input.cjs +1 -1
  36. package/dist/input.cjs.map +1 -1
  37. package/dist/input.js +1 -1
  38. package/dist/input.js.map +1 -1
  39. package/dist/metafile-cjs.json +1 -1
  40. package/dist/metafile-esm.json +1 -1
  41. package/dist/section-header.cjs +30 -29
  42. package/dist/section-header.cjs.map +1 -1
  43. package/dist/section-header.js +30 -29
  44. package/dist/section-header.js.map +1 -1
  45. package/dist/tag.cjs +7 -5
  46. package/dist/tag.cjs.map +1 -1
  47. package/dist/tag.d.cts +5 -1
  48. package/dist/tag.d.ts +5 -1
  49. package/dist/tag.js +8 -6
  50. package/dist/tag.js.map +1 -1
  51. package/dist/theme.css +4 -4
  52. package/dist/tooltip.cjs +40 -18
  53. package/dist/tooltip.cjs.map +1 -1
  54. package/dist/tooltip.d.cts +1 -3
  55. package/dist/tooltip.d.ts +1 -3
  56. package/dist/tooltip.js +40 -18
  57. package/dist/tooltip.js.map +1 -1
  58. package/package.json +31 -21
@@ -1,5 +1,5 @@
1
1
  import { Menu } from '@base-ui/react/menu';
2
- import { CheckCircle, Circle, ChevronRight } from '@untitledui/icons';
2
+ import { ChevronRight, Check } from '@untitledui/icons';
3
3
  import { clsx } from 'clsx';
4
4
  import { twMerge } from 'tailwind-merge';
5
5
  import { jsx, jsxs } from 'react/jsx-runtime';
@@ -17,28 +17,53 @@ function DropdownMenuTrigger({ ...props }) {
17
17
  return /* @__PURE__ */ jsx(Menu.Trigger, { "data-slot": "dropdown-menu-trigger", ...props });
18
18
  }
19
19
  function DropdownMenuContent({
20
- className,
20
+ align = "start",
21
+ alignOffset = 0,
22
+ side = "bottom",
21
23
  sideOffset = 4,
22
- positionerProps,
23
- children,
24
+ className,
24
25
  ...props
25
26
  }) {
26
- return /* @__PURE__ */ jsx(Menu.Portal, { children: /* @__PURE__ */ jsx(Menu.Positioner, { sideOffset, ...positionerProps, children: /* @__PURE__ */ jsx(
27
- Menu.Popup,
27
+ return /* @__PURE__ */ jsx(Menu.Portal, { children: /* @__PURE__ */ jsx(
28
+ Menu.Positioner,
28
29
  {
29
- "data-slot": "dropdown-menu-content",
30
- className: cn(
31
- "bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 border-border-border-edge-light z-50 max-h-(--available-height) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-2xl border p-1.5 shadow-xl",
32
- className
33
- ),
34
- ...props,
35
- children
30
+ className: "isolate z-50 outline-none",
31
+ align,
32
+ alignOffset,
33
+ side,
34
+ sideOffset,
35
+ children: /* @__PURE__ */ jsx(
36
+ Menu.Popup,
37
+ {
38
+ "data-slot": "dropdown-menu-content",
39
+ className: cn("data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-white dark:ring-gray-700 bg-popover text-popover-foreground data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2 z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-xs p-1 shadow-xl ring-1 duration-100 outline-none data-closed:overflow-hidden", className),
40
+ ...props
41
+ }
42
+ )
36
43
  }
37
- ) }) });
44
+ ) });
38
45
  }
39
46
  function DropdownMenuGroup({ ...props }) {
40
47
  return /* @__PURE__ */ jsx(Menu.Group, { "data-slot": "dropdown-menu-group", ...props });
41
48
  }
49
+ function DropdownMenuLabel({
50
+ className,
51
+ inset,
52
+ ...props
53
+ }) {
54
+ return /* @__PURE__ */ jsx(
55
+ Menu.GroupLabel,
56
+ {
57
+ "data-slot": "dropdown-menu-label",
58
+ "data-inset": inset,
59
+ className: cn(
60
+ "text-muted-foreground px-2 py-1.5 text-xs font-medium data-inset:pl-8",
61
+ className
62
+ ),
63
+ ...props
64
+ }
65
+ );
66
+ }
42
67
  function DropdownMenuItem({
43
68
  className,
44
69
  inset,
@@ -52,91 +77,140 @@ function DropdownMenuItem({
52
77
  "data-inset": inset,
53
78
  "data-variant": variant,
54
79
  className: cn(
55
- "data-highlighted:bg-accent data-highlighted:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:data-highlighted:bg-destructive/10 dark:data-[variant=destructive]:data-highlighted:bg-destructive/20 data-[variant=destructive]:data-highlighted:text-destructive data-[variant=destructive]:*:[svg]:text-destructive! [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-1.5 rounded-xs px-2 py-1.5 text-sm font-medium outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
80
+ "focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:text-destructive not-data-[variant=destructive]:focus:**:text-accent-foreground group/dropdown-menu-item relative flex cursor-default items-center gap-2 rounded-xs px-2 py-1.5 text-sm font-medium outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
56
81
  className
57
82
  ),
58
83
  ...props
59
84
  }
60
85
  );
61
86
  }
87
+ function DropdownMenuSub({ ...props }) {
88
+ return /* @__PURE__ */ jsx(Menu.SubmenuRoot, { "data-slot": "dropdown-menu-sub", ...props });
89
+ }
90
+ function DropdownMenuSubTrigger({
91
+ className,
92
+ inset,
93
+ children,
94
+ ...props
95
+ }) {
96
+ return /* @__PURE__ */ jsxs(
97
+ Menu.SubmenuTrigger,
98
+ {
99
+ "data-slot": "dropdown-menu-sub-trigger",
100
+ "data-inset": inset,
101
+ className: cn(
102
+ "focus:bg-accent focus:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-popup-open:bg-accent data-popup-open:text-accent-foreground flex cursor-default items-center gap-2 rounded-xs px-2 py-1.5 text-sm outline-hidden select-none data-inset:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
103
+ className
104
+ ),
105
+ ...props,
106
+ children: [
107
+ children,
108
+ /* @__PURE__ */ jsx(ChevronRight, { className: "ml-auto" })
109
+ ]
110
+ }
111
+ );
112
+ }
113
+ function DropdownMenuSubContent({
114
+ align = "start",
115
+ alignOffset = -3,
116
+ side = "right",
117
+ sideOffset = 0,
118
+ className,
119
+ ...props
120
+ }) {
121
+ return /* @__PURE__ */ jsx(
122
+ DropdownMenuContent,
123
+ {
124
+ "data-slot": "dropdown-menu-sub-content",
125
+ className: cn(
126
+ "data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-white dark:ring-gray-700 bg-popover text-popover-foreground w-auto min-w-[96px] rounded-sm p-1 shadow-lg ring-1 duration-100",
127
+ className
128
+ ),
129
+ align,
130
+ alignOffset,
131
+ side,
132
+ sideOffset,
133
+ ...props
134
+ }
135
+ );
136
+ }
62
137
  function DropdownMenuCheckboxItem({
63
138
  className,
64
139
  children,
65
140
  checked,
141
+ inset,
66
142
  ...props
67
143
  }) {
68
144
  return /* @__PURE__ */ jsxs(
69
145
  Menu.CheckboxItem,
70
146
  {
71
147
  "data-slot": "dropdown-menu-checkbox-item",
148
+ "data-inset": inset,
72
149
  className: cn(
73
- "data-highlighted:bg-accent data-highlighted:text-accent-foreground relative flex cursor-default items-center gap-1.5 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
150
+ "focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
74
151
  className
75
152
  ),
76
153
  checked,
77
154
  ...props,
78
155
  children: [
79
- /* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(
80
- Menu.CheckboxItemIndicator,
156
+ /* @__PURE__ */ jsx(
157
+ "span",
81
158
  {
82
- keepMounted: true,
83
- className: "transition data-checked:scale-100 data-checked:opacity-100 data-unchecked:scale-75 data-unchecked:opacity-0",
84
- children: /* @__PURE__ */ jsx(CheckCircle, { className: "size-4" })
159
+ className: "pointer-events-none absolute right-2 flex items-center justify-center",
160
+ "data-slot": "dropdown-menu-checkbox-item-indicator",
161
+ children: /* @__PURE__ */ jsx(Menu.CheckboxItemIndicator, { children: /* @__PURE__ */ jsx(
162
+ Check,
163
+ {}
164
+ ) })
85
165
  }
86
- ) }),
166
+ ),
87
167
  children
88
168
  ]
89
169
  }
90
170
  );
91
171
  }
92
172
  function DropdownMenuRadioGroup({ ...props }) {
93
- return /* @__PURE__ */ jsx(Menu.RadioGroup, { "data-slot": "dropdown-menu-radio-group", ...props });
173
+ return /* @__PURE__ */ jsx(
174
+ Menu.RadioGroup,
175
+ {
176
+ "data-slot": "dropdown-menu-radio-group",
177
+ ...props
178
+ }
179
+ );
94
180
  }
95
181
  function DropdownMenuRadioItem({
96
182
  className,
97
183
  children,
184
+ inset,
98
185
  ...props
99
186
  }) {
100
187
  return /* @__PURE__ */ jsxs(
101
188
  Menu.RadioItem,
102
189
  {
103
190
  "data-slot": "dropdown-menu-radio-item",
191
+ "data-inset": inset,
104
192
  className: cn(
105
- "data-highlighted:bg-accent data-highlighted:text-accent-foreground relative flex cursor-default items-center gap-1.5 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
193
+ "focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
106
194
  className
107
195
  ),
108
196
  ...props,
109
197
  children: [
110
- /* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(
111
- Menu.RadioItemIndicator,
198
+ /* @__PURE__ */ jsx(
199
+ "span",
112
200
  {
113
- keepMounted: true,
114
- className: "transition data-checked:scale-100 data-checked:opacity-100 data-unchecked:scale-75 data-unchecked:opacity-0",
115
- children: /* @__PURE__ */ jsx(Circle, { className: "size-2 fill-current" })
201
+ className: "pointer-events-none absolute right-2 flex items-center justify-center",
202
+ "data-slot": "dropdown-menu-radio-item-indicator",
203
+ children: /* @__PURE__ */ jsx(Menu.RadioItemIndicator, { children: /* @__PURE__ */ jsx(
204
+ Check,
205
+ {}
206
+ ) })
116
207
  }
117
- ) }),
208
+ ),
118
209
  children
119
210
  ]
120
211
  }
121
212
  );
122
213
  }
123
- function DropdownMenuLabel({
124
- className,
125
- inset,
126
- children,
127
- ...props
128
- }) {
129
- return /* @__PURE__ */ jsx(
130
- Menu.GroupLabel,
131
- {
132
- "data-slot": "dropdown-menu-label",
133
- "data-inset": inset,
134
- className: cn("px-2 py-1.5 text-sm font-medium data-inset:pl-8", className),
135
- ...props,
136
- children
137
- }
138
- );
139
- }
140
214
  function DropdownMenuSeparator({
141
215
  className,
142
216
  ...props
@@ -150,62 +224,22 @@ function DropdownMenuSeparator({
150
224
  }
151
225
  );
152
226
  }
153
- function DropdownMenuShortcut({ className, ...props }) {
154
- return /* @__PURE__ */ jsx(
155
- "span",
156
- {
157
- "data-slot": "dropdown-menu-shortcut",
158
- className: cn("text-muted-foreground ml-auto text-xs tracking-widest", className),
159
- ...props
160
- }
161
- );
162
- }
163
- function DropdownMenuSub({ ...props }) {
164
- return /* @__PURE__ */ jsx(Menu.SubmenuRoot, { "data-slot": "dropdown-menu-sub", ...props });
165
- }
166
- function DropdownMenuSubTrigger({
227
+ function DropdownMenuShortcut({
167
228
  className,
168
- inset,
169
- children,
170
229
  ...props
171
230
  }) {
172
- return /* @__PURE__ */ jsxs(
173
- Menu.SubmenuTrigger,
231
+ return /* @__PURE__ */ jsx(
232
+ "span",
174
233
  {
175
- "data-slot": "dropdown-menu-sub-trigger",
176
- "data-inset": inset,
234
+ "data-slot": "dropdown-menu-shortcut",
177
235
  className: cn(
178
- "data-highlighted:bg-accent data-highlighted:text-accent-foreground data-popup-open:bg-accent data-popup-open:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground flex cursor-default items-center gap-1.5 rounded-xs px-2 py-1.5 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
236
+ "text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground ml-auto text-xs tracking-widest",
179
237
  className
180
238
  ),
181
- ...props,
182
- children: [
183
- children,
184
- /* @__PURE__ */ jsx(ChevronRight, { className: "ml-auto size-4" })
185
- ]
239
+ ...props
186
240
  }
187
241
  );
188
242
  }
189
- function DropdownMenuSubContent({
190
- className,
191
- sideOffset = 4,
192
- positionerProps,
193
- children,
194
- ...props
195
- }) {
196
- return /* @__PURE__ */ jsx(Menu.Portal, { children: /* @__PURE__ */ jsx(Menu.Positioner, { sideOffset, ...positionerProps, children: /* @__PURE__ */ jsx(
197
- Menu.Popup,
198
- {
199
- "data-slot": "dropdown-menu-sub-content",
200
- className: cn(
201
- "bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-32 origin-(--transform-origin) overflow-hidden rounded-2xl border p-1 shadow-lg",
202
- className
203
- ),
204
- ...props,
205
- children
206
- }
207
- ) }) });
208
- }
209
243
 
210
244
  export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger };
211
245
  //# sourceMappingURL=dropdown-menu.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/lib/utils.ts","../src/components/dropdown-menu/dropdown-menu.tsx"],"names":[],"mappings":"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","file":"dropdown-menu.js","sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","\"use client\";\n\nimport * as React from \"react\";\n\nimport { Menu } from \"@base-ui/react/menu\";\nimport { CheckCircle, ChevronRight, Circle } from \"@untitledui/icons\";\nimport { cn } from \"../../lib/utils\";\n\nfunction DropdownMenu({ ...props }: React.ComponentProps<typeof Menu.Root>) {\n return <Menu.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\nfunction DropdownMenuPortal({ ...props }: React.ComponentProps<typeof Menu.Portal>) {\n return <Menu.Portal data-slot=\"dropdown-menu-portal\" {...props} />;\n}\n\nfunction DropdownMenuTrigger({ ...props }: React.ComponentProps<typeof Menu.Trigger>) {\n return <Menu.Trigger data-slot=\"dropdown-menu-trigger\" {...props} />;\n}\n\nfunction DropdownMenuContent({\n className,\n sideOffset = 4,\n positionerProps,\n children,\n ...props\n}: React.ComponentProps<typeof Menu.Popup> & {\n sideOffset?: number;\n positionerProps?: Omit<React.ComponentProps<typeof Menu.Positioner>, \"children\">;\n}) {\n return (\n <Menu.Portal>\n <Menu.Positioner sideOffset={sideOffset} {...positionerProps}>\n <Menu.Popup\n data-slot=\"dropdown-menu-content\"\n className={cn(\n \"bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 border-border-border-edge-light z-50 max-h-(--available-height) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-2xl border p-1.5 shadow-xl\",\n className,\n )}\n {...props}\n >\n {children}\n </Menu.Popup>\n </Menu.Positioner>\n </Menu.Portal>\n );\n}\n\nfunction DropdownMenuGroup({ ...props }: React.ComponentProps<typeof Menu.Group>) {\n return <Menu.Group data-slot=\"dropdown-menu-group\" {...props} />;\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof Menu.Item> & {\n inset?: boolean;\n variant?: \"default\" | \"destructive\";\n}) {\n return (\n <Menu.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"data-highlighted:bg-accent data-highlighted:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:data-highlighted:bg-destructive/10 dark:data-[variant=destructive]:data-highlighted:bg-destructive/20 data-[variant=destructive]:data-highlighted:text-destructive data-[variant=destructive]:*:[svg]:text-destructive! [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-1.5 rounded-xs px-2 py-1.5 text-sm font-medium outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof Menu.CheckboxItem>) {\n return (\n <Menu.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn(\n \"data-highlighted:bg-accent data-highlighted:text-accent-foreground relative flex cursor-default items-center gap-1.5 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <Menu.CheckboxItemIndicator\n keepMounted\n className=\"transition data-checked:scale-100 data-checked:opacity-100 data-unchecked:scale-75 data-unchecked:opacity-0\"\n >\n <CheckCircle className=\"size-4\" />\n </Menu.CheckboxItemIndicator>\n </span>\n {children}\n </Menu.CheckboxItem>\n );\n}\n\nfunction DropdownMenuRadioGroup({ ...props }: React.ComponentProps<typeof Menu.RadioGroup>) {\n return <Menu.RadioGroup data-slot=\"dropdown-menu-radio-group\" {...props} />;\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof Menu.RadioItem>) {\n return (\n <Menu.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={cn(\n \"data-highlighted:bg-accent data-highlighted:text-accent-foreground relative flex cursor-default items-center gap-1.5 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <Menu.RadioItemIndicator\n keepMounted\n className=\"transition data-checked:scale-100 data-checked:opacity-100 data-unchecked:scale-75 data-unchecked:opacity-0\"\n >\n <Circle className=\"size-2 fill-current\" />\n </Menu.RadioItemIndicator>\n </span>\n {children}\n </Menu.RadioItem>\n );\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof Menu.GroupLabel> & {\n inset?: boolean;\n}) {\n return (\n <Menu.GroupLabel\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn(\"px-2 py-1.5 text-sm font-medium data-inset:pl-8\", className)}\n {...props}\n >\n {children}\n </Menu.GroupLabel>\n );\n}\n\nfunction DropdownMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof Menu.Separator>) {\n return (\n <Menu.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn(\"bg-border -mx-1 my-1 h-px\", className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuShortcut({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn(\"text-muted-foreground ml-auto text-xs tracking-widest\", className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSub({ ...props }: React.ComponentProps<typeof Menu.SubmenuRoot>) {\n return <Menu.SubmenuRoot data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof Menu.SubmenuTrigger> & {\n inset?: boolean;\n}) {\n return (\n <Menu.SubmenuTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"data-highlighted:bg-accent data-highlighted:text-accent-foreground data-popup-open:bg-accent data-popup-open:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground flex cursor-default items-center gap-1.5 rounded-xs px-2 py-1.5 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRight className=\"ml-auto size-4\" />\n </Menu.SubmenuTrigger>\n );\n}\n\nfunction DropdownMenuSubContent({\n className,\n sideOffset = 4,\n positionerProps,\n children,\n ...props\n}: React.ComponentProps<typeof Menu.Popup> & {\n sideOffset?: number;\n positionerProps?: Omit<React.ComponentProps<typeof Menu.Positioner>, \"children\">;\n}) {\n return (\n <Menu.Portal>\n <Menu.Positioner sideOffset={sideOffset} {...positionerProps}>\n <Menu.Popup\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n \"bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-32 origin-(--transform-origin) overflow-hidden rounded-2xl border p-1 shadow-lg\",\n className,\n )}\n {...props}\n >\n {children}\n </Menu.Popup>\n </Menu.Positioner>\n </Menu.Portal>\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n};\n"]}
1
+ {"version":3,"sources":["../src/lib/utils.ts","../src/components/dropdown-menu/dropdown-menu.tsx"],"names":["MenuPrimitive"],"mappings":"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","file":"dropdown-menu.js","sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import { Menu as MenuPrimitive } from \"@base-ui/react/menu\"\nimport * as React from \"react\"\n\nimport { Check, ChevronRight } from \"@untitledui/icons\"\nimport { cn } from \"../../lib/utils\"\n\nfunction DropdownMenu({ ...props }: MenuPrimitive.Root.Props) {\n return <MenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />\n}\n\nfunction DropdownMenuPortal({ ...props }: MenuPrimitive.Portal.Props) {\n return <MenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />\n}\n\nfunction DropdownMenuTrigger({ ...props }: MenuPrimitive.Trigger.Props) {\n return <MenuPrimitive.Trigger data-slot=\"dropdown-menu-trigger\" {...props} />\n}\n\nfunction DropdownMenuContent({\n align = \"start\",\n alignOffset = 0,\n side = \"bottom\",\n sideOffset = 4,\n className,\n ...props\n}: MenuPrimitive.Popup.Props &\n Pick<\n MenuPrimitive.Positioner.Props,\n \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\"\n >) {\n return (\n <MenuPrimitive.Portal>\n <MenuPrimitive.Positioner\n className=\"isolate z-50 outline-none\"\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n >\n <MenuPrimitive.Popup\n data-slot=\"dropdown-menu-content\"\n className={cn(\"data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-white dark:ring-gray-700 bg-popover text-popover-foreground data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2 z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-xs p-1 shadow-xl ring-1 duration-100 outline-none data-closed:overflow-hidden\", className)}\n {...props}\n />\n </MenuPrimitive.Positioner>\n </MenuPrimitive.Portal>\n )\n}\n\nfunction DropdownMenuGroup({ ...props }: MenuPrimitive.Group.Props) {\n return <MenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: MenuPrimitive.GroupLabel.Props & {\n inset?: boolean\n}) {\n return (\n <MenuPrimitive.GroupLabel\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn(\n \"text-muted-foreground px-2 py-1.5 text-xs font-medium data-inset:pl-8\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: MenuPrimitive.Item.Props & {\n inset?: boolean\n variant?: \"default\" | \"destructive\"\n}) {\n return (\n <MenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:text-destructive not-data-[variant=destructive]:focus:**:text-accent-foreground group/dropdown-menu-item relative flex cursor-default items-center gap-2 rounded-xs px-2 py-1.5 text-sm font-medium outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuSub({ ...props }: MenuPrimitive.SubmenuRoot.Props) {\n return <MenuPrimitive.SubmenuRoot data-slot=\"dropdown-menu-sub\" {...props} />\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: MenuPrimitive.SubmenuTrigger.Props & {\n inset?: boolean\n}) {\n return (\n <MenuPrimitive.SubmenuTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-popup-open:bg-accent data-popup-open:text-accent-foreground flex cursor-default items-center gap-2 rounded-xs px-2 py-1.5 text-sm outline-hidden select-none data-inset:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRight className=\"ml-auto\" />\n </MenuPrimitive.SubmenuTrigger>\n )\n}\n\nfunction DropdownMenuSubContent({\n align = \"start\",\n alignOffset = -3,\n side = \"right\",\n sideOffset = 0,\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuContent>) {\n return (\n <DropdownMenuContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n \"data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-white dark:ring-gray-700 bg-popover text-popover-foreground w-auto min-w-[96px] rounded-sm p-1 shadow-lg ring-1 duration-100\",\n className\n )}\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n inset,\n ...props\n}: MenuPrimitive.CheckboxItem.Props & {\n inset?: boolean\n}) {\n return (\n <MenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n data-inset={inset}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span\n className=\"pointer-events-none absolute right-2 flex items-center justify-center\"\n data-slot=\"dropdown-menu-checkbox-item-indicator\"\n >\n <MenuPrimitive.CheckboxItemIndicator>\n <Check\n />\n </MenuPrimitive.CheckboxItemIndicator>\n </span>\n {children}\n </MenuPrimitive.CheckboxItem>\n )\n}\n\nfunction DropdownMenuRadioGroup({ ...props }: MenuPrimitive.RadioGroup.Props) {\n return (\n <MenuPrimitive.RadioGroup\n data-slot=\"dropdown-menu-radio-group\"\n {...props}\n />\n )\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n inset,\n ...props\n}: MenuPrimitive.RadioItem.Props & {\n inset?: boolean\n}) {\n return (\n <MenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n data-inset={inset}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <span\n className=\"pointer-events-none absolute right-2 flex items-center justify-center\"\n data-slot=\"dropdown-menu-radio-item-indicator\"\n >\n <MenuPrimitive.RadioItemIndicator>\n <Check\n />\n </MenuPrimitive.RadioItemIndicator>\n </span>\n {children}\n </MenuPrimitive.RadioItem>\n )\n}\n\nfunction DropdownMenuSeparator({\n className,\n ...props\n}: MenuPrimitive.Separator.Props) {\n return (\n <MenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn(\"bg-border -mx-1 my-1 h-px\", className)}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuShortcut({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn(\n \"text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground ml-auto text-xs tracking-widest\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent,\n DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger\n}\n"]}