@datum-cloud/datum-ui 1.3.1 → 1.3.2

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.
@@ -10,10 +10,10 @@ interface ResponsiveDropdownProps {
10
10
  sheetDescription?: string;
11
11
  /** Optional footer shown at the bottom of the mobile sheet (mobile only). */
12
12
  sheetFooter?: ReactNode;
13
- /** DropdownMenuContent alignment (desktop only). @default 'end' (matches existing DropdownMenu convention for row-action menus) */
13
+ /** PopoverContent alignment (desktop only). @default 'end' (matches existing convention for row-action menus) */
14
14
  align?: 'start' | 'center' | 'end';
15
15
  contentClassName?: string;
16
- /** Called when DropdownMenuContent auto-focuses on close (desktop only) */
16
+ /** Called when PopoverContent auto-focuses on close (desktop only) */
17
17
  onCloseAutoFocus?: (e: Event) => void;
18
18
  /**
19
19
  * Force desktop dropdown even on mobile. Default: true (responsive).
@@ -1 +1 @@
1
- {"version":3,"file":"responsive-dropdown.d.ts","sourceRoot":"","sources":["../../../../src/components/base/responsive-dropdown/responsive-dropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAsE,SAAS,EAAE,MAAM,OAAO,CAAA;AAQ1G,UAAU,uBAAuB;IAC/B,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,OAAO,EAAE,SAAS,CAAA;IAClB,QAAQ,EAAE,SAAS,CAAA;IACnB,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAA;IAClB,uCAAuC;IACvC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,mIAAmI;IACnI,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAA;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAA;IACrC;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,KAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,UAAiB,GAClB,EAAE,uBAAuB,+BAwDzB"}
1
+ {"version":3,"file":"responsive-dropdown.d.ts","sourceRoot":"","sources":["../../../../src/components/base/responsive-dropdown/responsive-dropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAsE,SAAS,EAAE,MAAM,OAAO,CAAA;AAQ1G,UAAU,uBAAuB;IAC/B,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,OAAO,EAAE,SAAS,CAAA;IAClB,QAAQ,EAAE,SAAS,CAAA;IACnB,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAA;IAClB,uCAAuC;IACvC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,iHAAiH;IACjH,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAA;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,sEAAsE;IACtE,gBAAgB,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAA;IACrC;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,KAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,UAAiB,GAClB,EAAE,uBAAuB,+BAgEzB"}
@@ -1,2 +1,2 @@
1
- import { _ as DEFAULT_DEBOUNCE_MS, a as useDataTablePagination, b as DEFAULT_PAGE_SIZES, c as useDataTableSelection, d as resolvePath, f as rowMatchesSearch, g as useNuqsAdapter, h as createSelectionColumn, i as useDataTableLoading, l as useDataTableSorting, m as DataTableColumnHeader, n as useDataTableFilters, o as useDataTableRows, p as DataTableRowActions, r as useDataTableInlineContents, s as useDataTableSearch, t as DataTable, u as createDataTableStore, v as DEFAULT_LOADING_ROWS, y as DEFAULT_PAGE_SIZE } from "../data-table-BTIxzB7O.mjs";
1
+ import { _ as DEFAULT_DEBOUNCE_MS, a as useDataTablePagination, b as DEFAULT_PAGE_SIZES, c as useDataTableSelection, d as resolvePath, f as rowMatchesSearch, g as useNuqsAdapter, h as createSelectionColumn, i as useDataTableLoading, l as useDataTableSorting, m as DataTableColumnHeader, n as useDataTableFilters, o as useDataTableRows, p as DataTableRowActions, r as useDataTableInlineContents, s as useDataTableSearch, t as DataTable, u as createDataTableStore, v as DEFAULT_LOADING_ROWS, y as DEFAULT_PAGE_SIZE } from "../data-table-BYhWsINw.mjs";
2
2
  export { DEFAULT_DEBOUNCE_MS, DEFAULT_LOADING_ROWS, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZES, DataTable, DataTableColumnHeader, DataTableRowActions, createDataTableStore, createSelectionColumn, resolvePath, rowMatchesSearch, useDataTableFilters, useDataTableInlineContents, useDataTableLoading, useDataTablePagination, useDataTableRows, useDataTableSearch, useDataTableSelection, useDataTableSorting, useNuqsAdapter };
@@ -3,7 +3,7 @@ import { t as Badge } from "./badge-DO2_XsXD.mjs";
3
3
  import { t as Button } from "./button-B_N7A8gv.mjs";
4
4
  import { t as Checkbox } from "./checkbox-BZr9bkke.mjs";
5
5
  import { t as Input } from "./input-DBzgl-pN.mjs";
6
- import { t as ResponsiveDropdown } from "./responsive-dropdown-BhvBzT_1.mjs";
6
+ import { t as ResponsiveDropdown } from "./responsive-dropdown-Hxq7qwAW.mjs";
7
7
  import { i as SelectItem, l as SelectTrigger, n as SelectContent, t as Select, u as SelectValue } from "./select-DNnPDWSW.mjs";
8
8
  import { t as Skeleton } from "./skeleton-CGU89HPB.mjs";
9
9
  import { c as TableRow, i as TableCell, n as TableBody, o as TableHead, s as TableHeader, t as Table } from "./table-BR3mwU8X.mjs";
@@ -1,110 +1,2 @@
1
- import { t as cn } from "../cn-dlASUkDY.mjs";
2
- import { t as Icon } from "../icon-wrapper-DKfJlJd0.mjs";
3
- import { CheckIcon, ChevronRightIcon, CircleIcon } from "lucide-react";
4
- import "react";
5
- import { jsx, jsxs } from "react/jsx-runtime";
6
- import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
7
- //#region src/components/features/dropdown/dropdown.tsx
8
- /**
9
- * Datum Dropdown Menu Component
10
- * Extends shadcn DropdownMenu with:
11
- * - Destructive variant for DropdownMenuItem
12
- */
13
- function DropdownMenu({ ...props }) {
14
- return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Root, { ...props });
15
- }
16
- function DropdownMenuPortal({ ...props }) {
17
- return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { ...props });
18
- }
19
- function DropdownMenuTrigger({ ...props }) {
20
- return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Trigger, { ...props });
21
- }
22
- function DropdownMenuContent({ className, sideOffset = 4, ...props }) {
23
- return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.Content, {
24
- sideOffset,
25
- className: cn("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md", className),
26
- ...props
27
- }) });
28
- }
29
- function DropdownMenuGroup({ ...props }) {
30
- return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Group, { ...props });
31
- }
32
- function DropdownMenuItem({ className, inset, variant = "default", ...props }) {
33
- return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Item, {
34
- "data-inset": inset,
35
- "data-variant": variant,
36
- className: cn("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive-foreground data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/40 data-[variant=destructive]:focus:text-destructive-foreground data-[variant=destructive]:*:[svg]:!text-destructive-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
37
- ...props
38
- });
39
- }
40
- function DropdownMenuCheckboxItem({ className, children, checked, ...props }) {
41
- return /* @__PURE__ */ jsxs(DropdownMenuPrimitive.CheckboxItem, {
42
- className: cn("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm 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", className),
43
- checked,
44
- ...props,
45
- children: [/* @__PURE__ */ jsx("span", {
46
- className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",
47
- children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Icon, {
48
- icon: CheckIcon,
49
- className: "size-4"
50
- }) })
51
- }), children]
52
- });
53
- }
54
- function DropdownMenuRadioGroup({ ...props }) {
55
- return /* @__PURE__ */ jsx(DropdownMenuPrimitive.RadioGroup, { ...props });
56
- }
57
- function DropdownMenuRadioItem({ className, children, ...props }) {
58
- return /* @__PURE__ */ jsxs(DropdownMenuPrimitive.RadioItem, {
59
- className: cn("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm 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", className),
60
- ...props,
61
- children: [/* @__PURE__ */ jsx("span", {
62
- className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",
63
- children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Icon, {
64
- icon: CircleIcon,
65
- className: "size-2 fill-current"
66
- }) })
67
- }), children]
68
- });
69
- }
70
- function DropdownMenuLabel({ className, inset, ...props }) {
71
- return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Label, {
72
- "data-inset": inset,
73
- className: cn("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8", className),
74
- ...props
75
- });
76
- }
77
- function DropdownMenuSeparator({ className, ...props }) {
78
- return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Separator, {
79
- className: cn("bg-border -mx-1 my-1 h-px", className),
80
- ...props
81
- });
82
- }
83
- function DropdownMenuShortcut({ className, ...props }) {
84
- return /* @__PURE__ */ jsx("span", {
85
- className: cn("text-muted-foreground ml-auto text-xs tracking-widest", className),
86
- ...props
87
- });
88
- }
89
- function DropdownMenuSub({ ...props }) {
90
- return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Sub, { ...props });
91
- }
92
- function DropdownMenuSubTrigger({ className, inset, children, ...props }) {
93
- return /* @__PURE__ */ jsxs(DropdownMenuPrimitive.SubTrigger, {
94
- "data-inset": inset,
95
- className: cn("focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8", className),
96
- ...props,
97
- children: [children, /* @__PURE__ */ jsx(Icon, {
98
- icon: ChevronRightIcon,
99
- className: "ml-auto size-4"
100
- })]
101
- });
102
- }
103
- function DropdownMenuSubContent({ className, ...props }) {
104
- return /* @__PURE__ */ jsx(DropdownMenuPrimitive.SubContent, {
105
- className: cn("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-lg", className),
106
- ...props
107
- });
108
- }
109
- //#endregion
1
+ import { a as DropdownMenuItem, c as DropdownMenuRadioGroup, d as DropdownMenuShortcut, f as DropdownMenuSub, h as DropdownMenuTrigger, i as DropdownMenuGroup, l as DropdownMenuRadioItem, m as DropdownMenuSubTrigger, n as DropdownMenuCheckboxItem, o as DropdownMenuLabel, p as DropdownMenuSubContent, r as DropdownMenuContent, s as DropdownMenuPortal, t as DropdownMenu, u as DropdownMenuSeparator } from "../dropdown-DIeMiG4G.mjs";
110
2
  export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger };
@@ -0,0 +1,110 @@
1
+ import { t as cn } from "./cn-dlASUkDY.mjs";
2
+ import { t as Icon } from "./icon-wrapper-DKfJlJd0.mjs";
3
+ import { CheckIcon, ChevronRightIcon, CircleIcon } from "lucide-react";
4
+ import "react";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
7
+ //#region src/components/features/dropdown/dropdown.tsx
8
+ /**
9
+ * Datum Dropdown Menu Component
10
+ * Extends shadcn DropdownMenu with:
11
+ * - Destructive variant for DropdownMenuItem
12
+ */
13
+ function DropdownMenu({ ...props }) {
14
+ return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Root, { ...props });
15
+ }
16
+ function DropdownMenuPortal({ ...props }) {
17
+ return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { ...props });
18
+ }
19
+ function DropdownMenuTrigger({ ...props }) {
20
+ return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Trigger, { ...props });
21
+ }
22
+ function DropdownMenuContent({ className, sideOffset = 4, ...props }) {
23
+ return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.Content, {
24
+ sideOffset,
25
+ className: cn("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md", className),
26
+ ...props
27
+ }) });
28
+ }
29
+ function DropdownMenuGroup({ ...props }) {
30
+ return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Group, { ...props });
31
+ }
32
+ function DropdownMenuItem({ className, inset, variant = "default", ...props }) {
33
+ return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Item, {
34
+ "data-inset": inset,
35
+ "data-variant": variant,
36
+ className: cn("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive-foreground data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/40 data-[variant=destructive]:focus:text-destructive-foreground data-[variant=destructive]:*:[svg]:!text-destructive-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
37
+ ...props
38
+ });
39
+ }
40
+ function DropdownMenuCheckboxItem({ className, children, checked, ...props }) {
41
+ return /* @__PURE__ */ jsxs(DropdownMenuPrimitive.CheckboxItem, {
42
+ className: cn("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm 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", className),
43
+ checked,
44
+ ...props,
45
+ children: [/* @__PURE__ */ jsx("span", {
46
+ className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",
47
+ children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Icon, {
48
+ icon: CheckIcon,
49
+ className: "size-4"
50
+ }) })
51
+ }), children]
52
+ });
53
+ }
54
+ function DropdownMenuRadioGroup({ ...props }) {
55
+ return /* @__PURE__ */ jsx(DropdownMenuPrimitive.RadioGroup, { ...props });
56
+ }
57
+ function DropdownMenuRadioItem({ className, children, ...props }) {
58
+ return /* @__PURE__ */ jsxs(DropdownMenuPrimitive.RadioItem, {
59
+ className: cn("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm 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", className),
60
+ ...props,
61
+ children: [/* @__PURE__ */ jsx("span", {
62
+ className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",
63
+ children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Icon, {
64
+ icon: CircleIcon,
65
+ className: "size-2 fill-current"
66
+ }) })
67
+ }), children]
68
+ });
69
+ }
70
+ function DropdownMenuLabel({ className, inset, ...props }) {
71
+ return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Label, {
72
+ "data-inset": inset,
73
+ className: cn("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8", className),
74
+ ...props
75
+ });
76
+ }
77
+ function DropdownMenuSeparator({ className, ...props }) {
78
+ return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Separator, {
79
+ className: cn("bg-border -mx-1 my-1 h-px", className),
80
+ ...props
81
+ });
82
+ }
83
+ function DropdownMenuShortcut({ className, ...props }) {
84
+ return /* @__PURE__ */ jsx("span", {
85
+ className: cn("text-muted-foreground ml-auto text-xs tracking-widest", className),
86
+ ...props
87
+ });
88
+ }
89
+ function DropdownMenuSub({ ...props }) {
90
+ return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Sub, { ...props });
91
+ }
92
+ function DropdownMenuSubTrigger({ className, inset, children, ...props }) {
93
+ return /* @__PURE__ */ jsxs(DropdownMenuPrimitive.SubTrigger, {
94
+ "data-inset": inset,
95
+ className: cn("focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8", className),
96
+ ...props,
97
+ children: [children, /* @__PURE__ */ jsx(Icon, {
98
+ icon: ChevronRightIcon,
99
+ className: "ml-auto size-4"
100
+ })]
101
+ });
102
+ }
103
+ function DropdownMenuSubContent({ className, ...props }) {
104
+ return /* @__PURE__ */ jsx(DropdownMenuPrimitive.SubContent, {
105
+ className: cn("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-lg", className),
106
+ ...props
107
+ });
108
+ }
109
+ //#endregion
110
+ export { DropdownMenuItem as a, DropdownMenuRadioGroup as c, DropdownMenuShortcut as d, DropdownMenuSub as f, DropdownMenuTrigger as h, DropdownMenuGroup as i, DropdownMenuRadioItem as l, DropdownMenuSubTrigger as m, DropdownMenuCheckboxItem as n, DropdownMenuLabel as o, DropdownMenuSubContent as p, DropdownMenuContent as r, DropdownMenuPortal as s, DropdownMenu as t, DropdownMenuSeparator as u };
@@ -4,7 +4,7 @@ import { n as CollapsibleContent, r as CollapsibleTrigger, t as Collapsible } fr
4
4
  import { t as Input } from "../input-DBzgl-pN.mjs";
5
5
  import { t as Skeleton } from "../skeleton-CGU89HPB.mjs";
6
6
  import { c as TableRow, i as TableCell, n as TableBody, o as TableHead, s as TableHeader } from "../table-BR3mwU8X.mjs";
7
- import { f as rowMatchesSearch, h as createSelectionColumn, m as DataTableColumnHeader, p as DataTableRowActions } from "../data-table-BTIxzB7O.mjs";
7
+ import { f as rowMatchesSearch, h as createSelectionColumn, m as DataTableColumnHeader, p as DataTableRowActions } from "../data-table-BYhWsINw.mjs";
8
8
  import { ChevronRight } from "lucide-react";
9
9
  import { useCallback, useEffect, useMemo, useState } from "react";
10
10
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
package/dist/index.mjs CHANGED
@@ -29,8 +29,7 @@ import { i as SheetOverlay, n as SheetClose, r as SheetContent, t as Sheet } fro
29
29
  import { i as PopoverTrigger, n as PopoverAnchor, r as PopoverContent, t as Popover } from "./popover-CBXjbpUR.mjs";
30
30
  import { n as RadioGroupItem, t as RadioGroup } from "./radio-group-kjKWAwdr.mjs";
31
31
  import { t as useBreakpoint } from "./use-breakpoint-CwiUJSmk.mjs";
32
- import { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger } from "./dropdown/index.mjs";
33
- import { t as ResponsiveDropdown } from "./responsive-dropdown-BhvBzT_1.mjs";
32
+ import { t as ResponsiveDropdown } from "./responsive-dropdown-Hxq7qwAW.mjs";
34
33
  import { t as ResponsivePopover } from "./responsive-popover-CVFh3i33.mjs";
35
34
  import { a as SelectLabel, c as SelectSeparator, i as SelectItem, l as SelectTrigger, n as SelectContent, o as SelectScrollDownButton, r as SelectGroup, s as SelectScrollUpButton, t as Select, u as SelectValue } from "./select-DNnPDWSW.mjs";
36
35
  import { C as SidebarTrigger, S as SidebarSeparator, _ as SidebarMenuSub, a as SidebarGroupAction, b as SidebarProvider, c as SidebarHeader, d as SidebarMenu, f as SidebarMenuAction, g as SidebarMenuSkeleton, h as SidebarMenuItem, i as SidebarGroup, l as SidebarInput, m as SidebarMenuButton, n as SidebarContent, o as SidebarGroupContent, p as SidebarMenuBadge, r as SidebarFooter, s as SidebarGroupLabel, t as Sidebar, u as SidebarInset, v as SidebarMenuSubButton, w as useSidebar, x as SidebarRail, y as SidebarMenuSubItem } from "./sidebar-DPQbMC3f.mjs";
@@ -51,6 +50,7 @@ import { i as ClientOnly, n as useTheme, r as ThemeScript, t as ThemeProvider }
51
50
  import { a as formatJson, c as isValidYaml, d as CodeEditor, i as CodeEditorTabs, l as jsonToYaml, n as jsonSchema, o as formatYaml, r as yamlSchema, s as isValidJson, t as createCodeEditorSchema, u as yamlToJson } from "./types-B7jxIH5I.mjs";
52
51
  import { t as toast } from "./toast-qSJgeN-g.mjs";
53
52
  import { n as Toaster, t as useToast } from "./toast-0C5jhuto.mjs";
53
+ import { a as DropdownMenuItem, c as DropdownMenuRadioGroup, d as DropdownMenuShortcut, f as DropdownMenuSub, h as DropdownMenuTrigger, i as DropdownMenuGroup, l as DropdownMenuRadioItem, m as DropdownMenuSubTrigger, n as DropdownMenuCheckboxItem, o as DropdownMenuLabel, p as DropdownMenuSubContent, r as DropdownMenuContent, s as DropdownMenuPortal, t as DropdownMenu, u as DropdownMenuSeparator } from "./dropdown-DIeMiG4G.mjs";
54
54
  import { i as FileInputButton, n as DropzoneContent, r as DropzoneEmptyState, t as Dropzone } from "./dropzone-ZJhq4Ec9.mjs";
55
55
  import { t as EmptyContent } from "./empty-content-C4Z0QVfg.mjs";
56
56
  import { A as FormCheckbox, C as FormDialog, D as FormCustom, E as FormDatePicker, M as FormAutosearch, N as FormAutocomplete, O as FormCopyBox, S as FormError, T as FormDateTimePicker, _ as FormRadioGroup, a as useField, b as FormFieldArray, c as useWatchAll, d as FormTextarea, f as FormSwitch, g as FormRoot, h as FormSelectItem, i as useFieldContext, j as FormButton, k as FormCombobox, l as FormTransfer, m as FormSelect, n as useFormState, o as FormWhen, p as FormSubmit, r as useFormContext, s as useWatch, t as Form, u as FormTimePicker, v as FormRadioItem, w as FormDescription, x as FormField, y as FormInput } from "./form-JM1Rqh6g.mjs";
@@ -62,14 +62,14 @@ import { t as InputNumber } from "./input-number-BSRdHUdT.mjs";
62
62
  import { a as logoStyles, i as LogoFlat, n as LogoStacked, r as LogoIcon, t as LogoText } from "./logo-text-DMp3dH-h.mjs";
63
63
  import { t as Logo } from "./logo-BhV6hnzH.mjs";
64
64
  import { t as ActionRow } from "./action-row-BhMyMSep.mjs";
65
- import { t as MoreActions } from "./more-actions-DJKEXHy7.mjs";
65
+ import { t as MoreActions } from "./more-actions-B6sw_I8O.mjs";
66
66
  import { t as MultiSelect } from "./multi-select-C9ocz07C.mjs";
67
67
  import { configureProgress, startProgress, stopProgress } from "./nprogress/index.mjs";
68
68
  import { t as PageTitle } from "./page-title-Wj1lF0BP.mjs";
69
69
  import { n as useRichTextEditor, r as RichTextContent, t as RichTextEditor } from "./rich-text-editor-B3i5csUE.mjs";
70
70
  import { t as defineStepper } from "./stepper-DV9FH5Cy.mjs";
71
71
  import { t as TagsInput } from "./tag-input-DZJUc1hL.mjs";
72
- import { _ as RedisTaskStorage, a as TaskPanelItem, b as createProjectMetadata, c as TaskPanelHeader, d as useCurrentScope, f as useTasksWithLabels, g as detectStorage, h as TaskQueue, i as TaskPanel, l as getContextLabel, m as TaskQueueProvider, n as TaskSummaryDialog, o as TaskPanelCounter, p as useTaskQueue, r as TaskQueueTrigger, s as TaskPanelActions, t as TaskQueueDropdown, u as matchesCurrentScope, v as LocalTaskStorage, x as createUserMetadata, y as createOrgMetadata } from "./task-queue-dropdown-CGLFsgM1.mjs";
72
+ import { _ as RedisTaskStorage, a as TaskPanelItem, b as createProjectMetadata, c as TaskPanelHeader, d as useCurrentScope, f as useTasksWithLabels, g as detectStorage, h as TaskQueue, i as TaskPanel, l as getContextLabel, m as TaskQueueProvider, n as TaskSummaryDialog, o as TaskPanelCounter, p as useTaskQueue, r as TaskQueueTrigger, s as TaskPanelActions, t as TaskQueueDropdown, u as matchesCurrentScope, v as LocalTaskStorage, x as createUserMetadata, y as createOrgMetadata } from "./task-queue-dropdown-B63xh0f-.mjs";
73
73
  import { C as utcToLocalInputString, S as utcStringToZonedDate, _ as getBrowserTimezone, a as TimeRangePicker, b as getTimezoneOffset, c as getPresetByKey, d as TimezoneSelector, f as QuickRangesPanel, g as formatUtcForDisplay, h as formatTimezoneLabel, i as formatTimeRangeDisplay, l as getPresetByShortcut, m as createTimezoneOption, n as formatDateForInput, o as DEFAULT_PRESETS, p as CustomRangePanel, r as formatSingleTimeDisplay, s as getDefaultPreset, t as toApiTimeRange, u as getPresetRange, v as getDefaultTimezoneOptions, w as zonedDateToUtcString, x as localInputStringToUtc, y as getShortTimezoneDisplay } from "./to-api-format-tidT5mxa.mjs";
74
74
  import { t as useDebounce } from "./hooks-CwZ6hyI1.mjs";
75
75
  import { n as toUTCTimestampStartOfDay, t as toUTCTimestampEndOfDay } from "./utils-BAytYO8b.mjs";
@@ -1,3 +1,3 @@
1
1
  import { t as ActionRow } from "../action-row-BhMyMSep.mjs";
2
- import { t as MoreActions } from "../more-actions-DJKEXHy7.mjs";
2
+ import { t as MoreActions } from "../more-actions-B6sw_I8O.mjs";
3
3
  export { ActionRow, MoreActions };
@@ -1,6 +1,6 @@
1
1
  import { t as cn } from "./cn-dlASUkDY.mjs";
2
2
  import { t as Button } from "./button-B_N7A8gv.mjs";
3
- import { t as ResponsiveDropdown } from "./responsive-dropdown-BhvBzT_1.mjs";
3
+ import { t as ResponsiveDropdown } from "./responsive-dropdown-Hxq7qwAW.mjs";
4
4
  import { t as Tooltip } from "./tooltip-BqrOCH8l.mjs";
5
5
  import { t as ActionRow } from "./action-row-BhMyMSep.mjs";
6
6
  import { Ellipsis } from "lucide-react";
@@ -1,2 +1,2 @@
1
- import { t as ResponsiveDropdown } from "../responsive-dropdown-BhvBzT_1.mjs";
1
+ import { t as ResponsiveDropdown } from "../responsive-dropdown-Hxq7qwAW.mjs";
2
2
  export { ResponsiveDropdown };
@@ -1,7 +1,7 @@
1
1
  import { t as cn } from "./cn-dlASUkDY.mjs";
2
2
  import { r as useInSheet, t as MobileSheet } from "./mobile-sheet-Cx8B89jB.mjs";
3
+ import { i as PopoverTrigger, r as PopoverContent, t as Popover } from "./popover-CBXjbpUR.mjs";
3
4
  import { t as useBreakpoint } from "./use-breakpoint-CwiUJSmk.mjs";
4
- import { DropdownMenu, DropdownMenuContent, DropdownMenuTrigger } from "./dropdown/index.mjs";
5
5
  import { isValidElement } from "react";
6
6
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
7
7
  import { Slot } from "@radix-ui/react-slot";
@@ -35,15 +35,16 @@ function ResponsiveDropdown({ open, onOpenChange, trigger, children, sheetTitle,
35
35
  children
36
36
  })] });
37
37
  }
38
- return /* @__PURE__ */ jsxs(DropdownMenu, {
38
+ return /* @__PURE__ */ jsxs(Popover, {
39
39
  open,
40
40
  onOpenChange,
41
- children: [/* @__PURE__ */ jsx(DropdownMenuTrigger, {
41
+ modal: true,
42
+ children: [/* @__PURE__ */ jsx(PopoverTrigger, {
42
43
  asChild: true,
43
44
  children: trigger
44
- }), /* @__PURE__ */ jsx(DropdownMenuContent, {
45
+ }), /* @__PURE__ */ jsx(PopoverContent, {
45
46
  align,
46
- className: cn("rounded-lg p-0", contentClassName),
47
+ className: cn("max-h-(--radix-popover-content-available-height) w-auto min-w-[8rem] overflow-x-hidden overflow-y-auto rounded-lg p-0", contentClassName),
47
48
  onCloseAutoFocus,
48
49
  children
49
50
  })]
@@ -1,2 +1,2 @@
1
- import { _ as RedisTaskStorage, a as TaskPanelItem, b as createProjectMetadata, c as TaskPanelHeader, d as useCurrentScope, f as useTasksWithLabels, g as detectStorage, h as TaskQueue, i as TaskPanel, l as getContextLabel, m as TaskQueueProvider, n as TaskSummaryDialog, o as TaskPanelCounter, p as useTaskQueue, r as TaskQueueTrigger, s as TaskPanelActions, t as TaskQueueDropdown, u as matchesCurrentScope, v as LocalTaskStorage, x as createUserMetadata, y as createOrgMetadata } from "../task-queue-dropdown-CGLFsgM1.mjs";
1
+ import { _ as RedisTaskStorage, a as TaskPanelItem, b as createProjectMetadata, c as TaskPanelHeader, d as useCurrentScope, f as useTasksWithLabels, g as detectStorage, h as TaskQueue, i as TaskPanel, l as getContextLabel, m as TaskQueueProvider, n as TaskSummaryDialog, o as TaskPanelCounter, p as useTaskQueue, r as TaskQueueTrigger, s as TaskPanelActions, t as TaskQueueDropdown, u as matchesCurrentScope, v as LocalTaskStorage, x as createUserMetadata, y as createOrgMetadata } from "../task-queue-dropdown-B63xh0f-.mjs";
2
2
  export { LocalTaskStorage, RedisTaskStorage, TaskPanel, TaskPanelActions, TaskPanelCounter, TaskPanelHeader, TaskPanelItem, TaskQueue, TaskQueueDropdown, TaskQueueProvider, TaskQueueTrigger, TaskSummaryDialog, createOrgMetadata, createProjectMetadata, createUserMetadata, detectStorage, getContextLabel, matchesCurrentScope, useCurrentScope, useTaskQueue, useTasksWithLabels };
@@ -4,7 +4,7 @@ import { t as SpinnerIcon } from "./spinner.icon-DSvVwPjx.mjs";
4
4
  import { t as Button } from "./button-B_N7A8gv.mjs";
5
5
  import { t as Icon } from "./icon-wrapper-DKfJlJd0.mjs";
6
6
  import { t as Dialog } from "./dialog-ZmYSe4-x.mjs";
7
- import { t as ResponsiveDropdown } from "./responsive-dropdown-BhvBzT_1.mjs";
7
+ import { t as ResponsiveDropdown } from "./responsive-dropdown-Hxq7qwAW.mjs";
8
8
  import { a as TooltipTrigger, n as Tooltip, r as TooltipContent, t as Tooltip$1 } from "./tooltip-BqrOCH8l.mjs";
9
9
  import { c as TableRow, i as TableCell, n as TableBody, o as TableHead, s as TableHeader, t as Table } from "./table-BR3mwU8X.mjs";
10
10
  import { Ban, CheckCircle2, CircleAlert, CircleCheck, CornerDownRightIcon, FileIcon, ListTodo, X, XCircle } from "lucide-react";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@datum-cloud/datum-ui",
3
3
  "type": "module",
4
- "version": "1.3.1",
4
+ "version": "1.3.2",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "url": "https://github.com/datum-cloud/datum-ui"
@@ -631,8 +631,8 @@
631
631
  "typescript": "^6.0.3",
632
632
  "vitest": "^4.1.9",
633
633
  "zod": "^4.4.3",
634
- "@repo/shadcn": "0.0.0",
635
- "@repo/config": "0.0.0"
634
+ "@repo/config": "0.0.0",
635
+ "@repo/shadcn": "0.0.0"
636
636
  },
637
637
  "publishConfig": {
638
638
  "access": "public"