@trsys-tech/matrix-library 1.0.0-canary.3 → 1.0.0-canary.5
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.
- package/dist/command.es.js +17 -17
- package/dist/command.es.js.map +1 -1
- package/dist/components/command/Command.d.ts.map +1 -1
- package/dist/components/sidebar/Sidebar.d.ts.map +1 -1
- package/dist/datagrid.es.js +15 -15
- package/dist/datagrid.es.js.map +1 -1
- package/dist/mobiledatepicker.es.js +1 -1
- package/dist/mobiledatepicker.es.js.map +1 -1
- package/dist/sidebar.es.js +13 -13
- package/dist/sidebar.es.js.map +1 -1
- package/dist/skeleton.es.js +1 -1
- package/dist/skeleton.es.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/tabs.es.js +9 -9
- package/dist/tabs.es.js.map +1 -1
- package/package.json +1 -1
package/dist/command.es.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { jsx as o, jsxs as l } from "react/jsx-runtime";
|
|
2
|
-
import * as
|
|
2
|
+
import * as r from "react";
|
|
3
3
|
import { Command as e } from "cmdk";
|
|
4
4
|
import { Magnifier as c } from "@trsys-tech/matrix-icons";
|
|
5
|
-
import { cn as
|
|
5
|
+
import { cn as d } from "./utils.es.js";
|
|
6
6
|
import { Dialog as u, DialogContent as f } from "./dialog.es.js";
|
|
7
|
-
const n =
|
|
7
|
+
const n = r.forwardRef(
|
|
8
8
|
({ className: m, ...t }, a) => /* @__PURE__ */ o(
|
|
9
9
|
e,
|
|
10
10
|
{
|
|
11
11
|
ref: a,
|
|
12
|
-
className:
|
|
12
|
+
className: d(
|
|
13
13
|
"mtx-flex mtx-h-full mtx-w-full mtx-flex-col mtx-overflow-hidden mtx-rounded-md mtx-bg-popover mtx-text-popover-foreground",
|
|
14
14
|
m
|
|
15
15
|
),
|
|
@@ -18,14 +18,14 @@ const n = d.forwardRef(
|
|
|
18
18
|
)
|
|
19
19
|
);
|
|
20
20
|
n.displayName = e.displayName;
|
|
21
|
-
const S = ({ children: m, ...t }) => /* @__PURE__ */ o(u, { ...t, children: /* @__PURE__ */ o(f, { className: "mtx-overflow-hidden mtx-p-0", children: /* @__PURE__ */ o(n, { className: "[&_[cmdk-group-heading]]:mtx-px-2 [&_[cmdk-group-heading]]:mtx-font-medium [&_[cmdk-group-heading]]:mtx-text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:mtx-pt-0 [&_[cmdk-group]]:mtx-px-2 [&_[cmdk-input-wrapper]_svg]:mtx-h-5 [&_[cmdk-input-wrapper]_svg]:mtx-w-5 [&_[cmdk-input]]:mtx-h-12 [&_[cmdk-item]]:mtx-px-2 [&_[cmdk-item]]:mtx-py-3 [&_[cmdk-item]_svg]:mtx-h-5 [&_[cmdk-item]_svg]:mtx-w-5", children: m }) }) }), g =
|
|
22
|
-
({ className: m, ...t }, a) => /* @__PURE__ */ l("div", { className: "mtx-flex mtx-items-center mtx-border-b mtx-px-3", "cmdk-input-wrapper": "", children: [
|
|
21
|
+
const S = ({ children: m, ...t }) => /* @__PURE__ */ o(u, { ...t, children: /* @__PURE__ */ o(f, { className: "mtx-overflow-hidden mtx-p-0", children: /* @__PURE__ */ o(n, { className: "[&_[cmdk-group-heading]]:mtx-px-2 [&_[cmdk-group-heading]]:mtx-font-medium [&_[cmdk-group-heading]]:mtx-text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:mtx-pt-0 [&_[cmdk-group]]:mtx-px-2 [&_[cmdk-input-wrapper]_svg]:mtx-h-5 [&_[cmdk-input-wrapper]_svg]:mtx-w-5 [&_[cmdk-input]]:mtx-h-12 [&_[cmdk-item]]:mtx-px-2 [&_[cmdk-item]]:mtx-py-3 [&_[cmdk-item]_svg]:mtx-h-5 [&_[cmdk-item]_svg]:mtx-w-5", children: m }) }) }), g = r.forwardRef(
|
|
22
|
+
({ className: m, ...t }, a) => /* @__PURE__ */ l("div", { className: "mtx-flex mtx-items-center mtx-border-b mtx-border-gray-200 mtx-px-3", "cmdk-input-wrapper": "", children: [
|
|
23
23
|
/* @__PURE__ */ o(c, { className: "mtx-mr-2 mtx-h-4 mtx-w-4 mtx-shrink-0 mtx-opacity-50" }),
|
|
24
24
|
/* @__PURE__ */ o(
|
|
25
25
|
e.Input,
|
|
26
26
|
{
|
|
27
27
|
ref: a,
|
|
28
|
-
className:
|
|
28
|
+
className: d(
|
|
29
29
|
"mtx-flex mtx-h-10 mtx-w-full mtx-rounded-md mtx-bg-transparent mtx-py-3 mtx-text-sm mtx-outline-none placeholder:mtx-text-muted-foreground disabled:mtx-cursor-not-allowed disabled:mtx-opacity-50",
|
|
30
30
|
m
|
|
31
31
|
),
|
|
@@ -35,20 +35,20 @@ const S = ({ children: m, ...t }) => /* @__PURE__ */ o(u, { ...t, children: /* @
|
|
|
35
35
|
] })
|
|
36
36
|
);
|
|
37
37
|
g.displayName = e.Input.displayName;
|
|
38
|
-
const h =
|
|
39
|
-
({ className: m, ...t }, a) => /* @__PURE__ */ o(e.List, { ref: a, className:
|
|
38
|
+
const h = r.forwardRef(
|
|
39
|
+
({ className: m, ...t }, a) => /* @__PURE__ */ o(e.List, { ref: a, className: d("mtx-max-h-[300px] mtx-overflow-y-auto mtx-overflow-x-hidden", m), ...t })
|
|
40
40
|
);
|
|
41
41
|
h.displayName = e.List.displayName;
|
|
42
|
-
const y =
|
|
42
|
+
const y = r.forwardRef(
|
|
43
43
|
(m, t) => /* @__PURE__ */ o(e.Empty, { ref: t, className: "mtx-py-6 mtx-text-center mtx-text-sm", ...m })
|
|
44
44
|
);
|
|
45
45
|
y.displayName = e.Empty.displayName;
|
|
46
|
-
const N =
|
|
46
|
+
const N = r.forwardRef(
|
|
47
47
|
({ className: m, ...t }, a) => /* @__PURE__ */ o(
|
|
48
48
|
e.Group,
|
|
49
49
|
{
|
|
50
50
|
ref: a,
|
|
51
|
-
className:
|
|
51
|
+
className: d(
|
|
52
52
|
"mtx-overflow-hidden mtx-p-1 mtx-text-foreground [&_[cmdk-group-heading]]:mtx-px-2 [&_[cmdk-group-heading]]:mtx-py-1.5 [&_[cmdk-group-heading]]:mtx-text-xs [&_[cmdk-group-heading]]:mtx-font-medium [&_[cmdk-group-heading]]:mtx-text-muted-foreground",
|
|
53
53
|
m
|
|
54
54
|
),
|
|
@@ -57,10 +57,10 @@ const N = d.forwardRef(
|
|
|
57
57
|
)
|
|
58
58
|
);
|
|
59
59
|
N.displayName = e.Group.displayName;
|
|
60
|
-
const _ =
|
|
60
|
+
const _ = r.forwardRef(({ className: m, ...t }, a) => /* @__PURE__ */ o(e.Separator, { ref: a, className: d("-mtx-mx-1 mtx-h-px mtx-bg-border", m), ...t }));
|
|
61
61
|
_.displayName = e.Separator.displayName;
|
|
62
|
-
const k =
|
|
63
|
-
const i =
|
|
62
|
+
const k = r.forwardRef(({ className: m, value: t, onSelect: a, ...s }, p) => {
|
|
63
|
+
const i = r.useCallback(
|
|
64
64
|
(x) => {
|
|
65
65
|
a?.(typeof t == "number" ? Number(x) : x);
|
|
66
66
|
},
|
|
@@ -70,7 +70,7 @@ const k = d.forwardRef(({ className: m, value: t, onSelect: a, ...s }, p) => {
|
|
|
70
70
|
e.Item,
|
|
71
71
|
{
|
|
72
72
|
ref: p,
|
|
73
|
-
className:
|
|
73
|
+
className: d(
|
|
74
74
|
"mtx-relative mtx-flex mtx-cursor-default mtx-gap-2 mtx-select-none mtx-items-center mtx-rounded-sm mtx-px-2 mtx-py-1.5 mtx-text-sm mtx-outline-none data-[disabled=true]:mtx-pointer-events-none data-[selected=true]:mtx-bg-gray-300 data-[selected=true]:mtx-text-accent-foreground data-[disabled=true]:mtx-opacity-50 [&_svg]:mtx-pointer-events-none [&_svg]:mtx-size-4 [&_svg]:mtx-shrink-0",
|
|
75
75
|
m
|
|
76
76
|
),
|
|
@@ -81,7 +81,7 @@ const k = d.forwardRef(({ className: m, value: t, onSelect: a, ...s }, p) => {
|
|
|
81
81
|
);
|
|
82
82
|
});
|
|
83
83
|
k.displayName = e.Item.displayName;
|
|
84
|
-
const w = ({ className: m, ...t }) => /* @__PURE__ */ o("span", { className:
|
|
84
|
+
const w = ({ className: m, ...t }) => /* @__PURE__ */ o("span", { className: d("mtx-ml-auto mtx-text-xs mtx-tracking-widest mtx-text-muted-foreground", m), ...t });
|
|
85
85
|
w.displayName = "CommandShortcut";
|
|
86
86
|
export {
|
|
87
87
|
n as Command,
|
package/dist/command.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.es.js","sources":["../src/components/command/Command.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport * as React from \"react\";\r\nimport { Command as CommandPrimitive } from \"cmdk\";\r\nimport { Magnifier } from \"@trsys-tech/matrix-icons\";\r\nimport { type DialogProps } from \"@radix-ui/react-dialog\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\nimport { Dialog, DialogContent } from \"../dialog/Dialog\";\r\n\r\nconst Command = React.forwardRef<React.ElementRef<typeof CommandPrimitive>, React.ComponentPropsWithoutRef<typeof CommandPrimitive>>(\r\n ({ className, ...props }, ref) => (\r\n <CommandPrimitive\r\n ref={ref}\r\n className={cn(\r\n \"mtx-flex mtx-h-full mtx-w-full mtx-flex-col mtx-overflow-hidden mtx-rounded-md mtx-bg-popover mtx-text-popover-foreground\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n ),\r\n);\r\nCommand.displayName = CommandPrimitive.displayName;\r\n\r\nconst CommandDialog = ({ children, ...props }: DialogProps) => {\r\n return (\r\n <Dialog {...props}>\r\n <DialogContent className=\"mtx-overflow-hidden mtx-p-0\">\r\n <Command className=\"[&_[cmdk-group-heading]]:mtx-px-2 [&_[cmdk-group-heading]]:mtx-font-medium [&_[cmdk-group-heading]]:mtx-text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:mtx-pt-0 [&_[cmdk-group]]:mtx-px-2 [&_[cmdk-input-wrapper]_svg]:mtx-h-5 [&_[cmdk-input-wrapper]_svg]:mtx-w-5 [&_[cmdk-input]]:mtx-h-12 [&_[cmdk-item]]:mtx-px-2 [&_[cmdk-item]]:mtx-py-3 [&_[cmdk-item]_svg]:mtx-h-5 [&_[cmdk-item]_svg]:mtx-w-5\">\r\n {children}\r\n </Command>\r\n </DialogContent>\r\n </Dialog>\r\n );\r\n};\r\n\r\nconst CommandInput = React.forwardRef<React.ElementRef<typeof CommandPrimitive.Input>, React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>>(\r\n ({ className, ...props }, ref) => (\r\n <div className=\"mtx-flex mtx-items-center mtx-border-b mtx-px-3\" cmdk-input-wrapper=\"\">\r\n <Magnifier className=\"mtx-mr-2 mtx-h-4 mtx-w-4 mtx-shrink-0 mtx-opacity-50\" />\r\n <CommandPrimitive.Input\r\n ref={ref}\r\n className={cn(\r\n \"mtx-flex mtx-h-10 mtx-w-full mtx-rounded-md mtx-bg-transparent mtx-py-3 mtx-text-sm mtx-outline-none placeholder:mtx-text-muted-foreground disabled:mtx-cursor-not-allowed disabled:mtx-opacity-50\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n </div>\r\n ),\r\n);\r\n\r\nCommandInput.displayName = CommandPrimitive.Input.displayName;\r\n\r\nconst CommandList = React.forwardRef<React.ElementRef<typeof CommandPrimitive.List>, React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>>(\r\n ({ className, ...props }, ref) => (\r\n <CommandPrimitive.List ref={ref} className={cn(\"mtx-max-h-[300px] mtx-overflow-y-auto mtx-overflow-x-hidden\", className)} {...props} />\r\n ),\r\n);\r\n\r\nCommandList.displayName = CommandPrimitive.List.displayName;\r\n\r\nconst CommandEmpty = React.forwardRef<React.ElementRef<typeof CommandPrimitive.Empty>, React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>>(\r\n (props, ref) => <CommandPrimitive.Empty ref={ref} className=\"mtx-py-6 mtx-text-center mtx-text-sm\" {...props} />,\r\n);\r\n\r\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName;\r\n\r\nconst CommandGroup = React.forwardRef<React.ElementRef<typeof CommandPrimitive.Group>, React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>>(\r\n ({ className, ...props }, ref) => (\r\n <CommandPrimitive.Group\r\n ref={ref}\r\n className={cn(\r\n \"mtx-overflow-hidden mtx-p-1 mtx-text-foreground [&_[cmdk-group-heading]]:mtx-px-2 [&_[cmdk-group-heading]]:mtx-py-1.5 [&_[cmdk-group-heading]]:mtx-text-xs [&_[cmdk-group-heading]]:mtx-font-medium [&_[cmdk-group-heading]]:mtx-text-muted-foreground\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n ),\r\n);\r\n\r\nCommandGroup.displayName = CommandPrimitive.Group.displayName;\r\n\r\nconst CommandSeparator = React.forwardRef<\r\n React.ElementRef<typeof CommandPrimitive.Separator>,\r\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\r\n>(({ className, ...props }, ref) => (\r\n <CommandPrimitive.Separator ref={ref} className={cn(\"-mtx-mx-1 mtx-h-px mtx-bg-border\", className)} {...props} />\r\n));\r\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName;\r\n\r\nconst CommandItem = React.forwardRef<\r\n React.ElementRef<typeof CommandPrimitive.Item>,\r\n Omit<React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>, \"value\" | \"onSelect\"> & {\r\n value?: string | number;\r\n onSelect?: (value: string | number) => void;\r\n }\r\n>(({ className, value, onSelect, ...props }, ref) => {\r\n const handleSelect = React.useCallback(\r\n (selectedValue: string) => {\r\n if (typeof value === \"number\") {\r\n onSelect?.(Number(selectedValue));\r\n } else {\r\n onSelect?.(selectedValue);\r\n }\r\n },\r\n [value, onSelect],\r\n );\r\n return (\r\n <CommandPrimitive.Item\r\n ref={ref}\r\n className={cn(\r\n \"mtx-relative mtx-flex mtx-cursor-default mtx-gap-2 mtx-select-none mtx-items-center mtx-rounded-sm mtx-px-2 mtx-py-1.5 mtx-text-sm mtx-outline-none data-[disabled=true]:mtx-pointer-events-none data-[selected=true]:mtx-bg-gray-300 data-[selected=true]:mtx-text-accent-foreground data-[disabled=true]:mtx-opacity-50 [&_svg]:mtx-pointer-events-none [&_svg]:mtx-size-4 [&_svg]:mtx-shrink-0\",\r\n className,\r\n )}\r\n value={value !== undefined ? String(value) : undefined}\r\n onSelect={handleSelect}\r\n {...props}\r\n />\r\n );\r\n});\r\n\r\nCommandItem.displayName = CommandPrimitive.Item.displayName;\r\n\r\nconst CommandShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\r\n return <span className={cn(\"mtx-ml-auto mtx-text-xs mtx-tracking-widest mtx-text-muted-foreground\", className)} {...props} />;\r\n};\r\nCommandShortcut.displayName = \"CommandShortcut\";\r\n\r\nexport { Command, CommandDialog, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem, CommandShortcut, CommandSeparator };\r\n"],"names":["Command","React","className","props","ref","jsx","CommandPrimitive","cn","CommandDialog","children","Dialog","DialogContent","CommandInput","jsxs","Magnifier","CommandList","CommandEmpty","CommandGroup","CommandSeparator","CommandItem","value","onSelect","handleSelect","selectedValue","CommandShortcut"],"mappings":";;;;;;AAUA,MAAMA,IAAUC,EAAM;AAAA,EACpB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MACxB,gBAAAC;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,KAAAF;AAAA,MACA,WAAWG;AAAA,QACT;AAAA,QACAL;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AACAH,EAAQ,cAAcM,EAAiB;AAEvC,MAAME,IAAgB,CAAC,EAAE,UAAAC,GAAU,GAAGN,QAElC,gBAAAE,EAACK,GAAA,EAAQ,GAAGP,GACV,4BAACQ,GAAA,EAAc,WAAU,+BACvB,UAAA,gBAAAN,EAACL,GAAA,EAAQ,WAAU,+ZAChB,UAAAS,EAAA,CACH,GACF,GACF,GAIEG,IAAeX,EAAM;AAAA,EACzB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MACxB,gBAAAS,EAAC,OAAA,EAAI,WAAU,
|
|
1
|
+
{"version":3,"file":"command.es.js","sources":["../src/components/command/Command.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport * as React from \"react\";\r\nimport { Command as CommandPrimitive } from \"cmdk\";\r\nimport { Magnifier } from \"@trsys-tech/matrix-icons\";\r\nimport { type DialogProps } from \"@radix-ui/react-dialog\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\nimport { Dialog, DialogContent } from \"../dialog/Dialog\";\r\n\r\nconst Command = React.forwardRef<React.ElementRef<typeof CommandPrimitive>, React.ComponentPropsWithoutRef<typeof CommandPrimitive>>(\r\n ({ className, ...props }, ref) => (\r\n <CommandPrimitive\r\n ref={ref}\r\n className={cn(\r\n \"mtx-flex mtx-h-full mtx-w-full mtx-flex-col mtx-overflow-hidden mtx-rounded-md mtx-bg-popover mtx-text-popover-foreground\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n ),\r\n);\r\nCommand.displayName = CommandPrimitive.displayName;\r\n\r\nconst CommandDialog = ({ children, ...props }: DialogProps) => {\r\n return (\r\n <Dialog {...props}>\r\n <DialogContent className=\"mtx-overflow-hidden mtx-p-0\">\r\n <Command className=\"[&_[cmdk-group-heading]]:mtx-px-2 [&_[cmdk-group-heading]]:mtx-font-medium [&_[cmdk-group-heading]]:mtx-text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:mtx-pt-0 [&_[cmdk-group]]:mtx-px-2 [&_[cmdk-input-wrapper]_svg]:mtx-h-5 [&_[cmdk-input-wrapper]_svg]:mtx-w-5 [&_[cmdk-input]]:mtx-h-12 [&_[cmdk-item]]:mtx-px-2 [&_[cmdk-item]]:mtx-py-3 [&_[cmdk-item]_svg]:mtx-h-5 [&_[cmdk-item]_svg]:mtx-w-5\">\r\n {children}\r\n </Command>\r\n </DialogContent>\r\n </Dialog>\r\n );\r\n};\r\n\r\nconst CommandInput = React.forwardRef<React.ElementRef<typeof CommandPrimitive.Input>, React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>>(\r\n ({ className, ...props }, ref) => (\r\n <div className=\"mtx-flex mtx-items-center mtx-border-b mtx-border-gray-200 mtx-px-3\" cmdk-input-wrapper=\"\">\r\n <Magnifier className=\"mtx-mr-2 mtx-h-4 mtx-w-4 mtx-shrink-0 mtx-opacity-50\" />\r\n <CommandPrimitive.Input\r\n ref={ref}\r\n className={cn(\r\n \"mtx-flex mtx-h-10 mtx-w-full mtx-rounded-md mtx-bg-transparent mtx-py-3 mtx-text-sm mtx-outline-none placeholder:mtx-text-muted-foreground disabled:mtx-cursor-not-allowed disabled:mtx-opacity-50\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n </div>\r\n ),\r\n);\r\n\r\nCommandInput.displayName = CommandPrimitive.Input.displayName;\r\n\r\nconst CommandList = React.forwardRef<React.ElementRef<typeof CommandPrimitive.List>, React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>>(\r\n ({ className, ...props }, ref) => (\r\n <CommandPrimitive.List ref={ref} className={cn(\"mtx-max-h-[300px] mtx-overflow-y-auto mtx-overflow-x-hidden\", className)} {...props} />\r\n ),\r\n);\r\n\r\nCommandList.displayName = CommandPrimitive.List.displayName;\r\n\r\nconst CommandEmpty = React.forwardRef<React.ElementRef<typeof CommandPrimitive.Empty>, React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>>(\r\n (props, ref) => <CommandPrimitive.Empty ref={ref} className=\"mtx-py-6 mtx-text-center mtx-text-sm\" {...props} />,\r\n);\r\n\r\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName;\r\n\r\nconst CommandGroup = React.forwardRef<React.ElementRef<typeof CommandPrimitive.Group>, React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>>(\r\n ({ className, ...props }, ref) => (\r\n <CommandPrimitive.Group\r\n ref={ref}\r\n className={cn(\r\n \"mtx-overflow-hidden mtx-p-1 mtx-text-foreground [&_[cmdk-group-heading]]:mtx-px-2 [&_[cmdk-group-heading]]:mtx-py-1.5 [&_[cmdk-group-heading]]:mtx-text-xs [&_[cmdk-group-heading]]:mtx-font-medium [&_[cmdk-group-heading]]:mtx-text-muted-foreground\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n ),\r\n);\r\n\r\nCommandGroup.displayName = CommandPrimitive.Group.displayName;\r\n\r\nconst CommandSeparator = React.forwardRef<\r\n React.ElementRef<typeof CommandPrimitive.Separator>,\r\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\r\n>(({ className, ...props }, ref) => (\r\n <CommandPrimitive.Separator ref={ref} className={cn(\"-mtx-mx-1 mtx-h-px mtx-bg-border\", className)} {...props} />\r\n));\r\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName;\r\n\r\nconst CommandItem = React.forwardRef<\r\n React.ElementRef<typeof CommandPrimitive.Item>,\r\n Omit<React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>, \"value\" | \"onSelect\"> & {\r\n value?: string | number;\r\n onSelect?: (value: string | number) => void;\r\n }\r\n>(({ className, value, onSelect, ...props }, ref) => {\r\n const handleSelect = React.useCallback(\r\n (selectedValue: string) => {\r\n if (typeof value === \"number\") {\r\n onSelect?.(Number(selectedValue));\r\n } else {\r\n onSelect?.(selectedValue);\r\n }\r\n },\r\n [value, onSelect],\r\n );\r\n return (\r\n <CommandPrimitive.Item\r\n ref={ref}\r\n className={cn(\r\n \"mtx-relative mtx-flex mtx-cursor-default mtx-gap-2 mtx-select-none mtx-items-center mtx-rounded-sm mtx-px-2 mtx-py-1.5 mtx-text-sm mtx-outline-none data-[disabled=true]:mtx-pointer-events-none data-[selected=true]:mtx-bg-gray-300 data-[selected=true]:mtx-text-accent-foreground data-[disabled=true]:mtx-opacity-50 [&_svg]:mtx-pointer-events-none [&_svg]:mtx-size-4 [&_svg]:mtx-shrink-0\",\r\n className,\r\n )}\r\n value={value !== undefined ? String(value) : undefined}\r\n onSelect={handleSelect}\r\n {...props}\r\n />\r\n );\r\n});\r\n\r\nCommandItem.displayName = CommandPrimitive.Item.displayName;\r\n\r\nconst CommandShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\r\n return <span className={cn(\"mtx-ml-auto mtx-text-xs mtx-tracking-widest mtx-text-muted-foreground\", className)} {...props} />;\r\n};\r\nCommandShortcut.displayName = \"CommandShortcut\";\r\n\r\nexport { Command, CommandDialog, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem, CommandShortcut, CommandSeparator };\r\n"],"names":["Command","React","className","props","ref","jsx","CommandPrimitive","cn","CommandDialog","children","Dialog","DialogContent","CommandInput","jsxs","Magnifier","CommandList","CommandEmpty","CommandGroup","CommandSeparator","CommandItem","value","onSelect","handleSelect","selectedValue","CommandShortcut"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Command.d.ts","sourceRoot":"","sources":["../../../src/components/command/Command.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAK1D,QAAA,MAAM,OAAO;qBANmB,SAAS;;
|
|
1
|
+
{"version":3,"file":"Command.d.ts","sourceRoot":"","sources":["../../../src/components/command/Command.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAK1D,QAAA,MAAM,OAAO;qBANmB,SAAS;;gBA8Hk+H,GAAG;;;;;;;;;;;;;sFA7G7gI,CAAC;AAGF,QAAA,MAAM,aAAa,2BAA4B,WAAW,4CAUzD,CAAC;AAEF,QAAA,MAAM,YAAY;gBA8Fq1O,GAAG;;;;;;0FAhFz2O,CAAC;AAIF,QAAA,MAAM,WAAW;qBAlDe,SAAS;;gBA8HsqL,GAAG;;;;;sFAxEjtL,CAAC;AAIF,QAAA,MAAM,YAAY;qBA1Dc,SAAS;;gBA8H86W,GAAG;;;uJAlEz9W,CAAC;AAIF,QAAA,MAAM,YAAY;qBAhEc,SAAS;;gBA8H6/P,GAAG;;;;oBAA0O,SAAS;;;sFAnD3xQ,CAAC;AAIF,QAAA,MAAM,gBAAgB;gBA+CkvR,GAAG;;;;;sFA1CzwR,CAAC;AAGH,QAAA,MAAM,WAAW;qBAvFe,SAAS;;gBA8HqrM,GAAG;;;;;;;;;;YApCrtM,MAAM,GAAG,MAAM;eACZ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI;wCAyB7C,CAAC;AAIH,QAAA,MAAM,eAAe;8BAA6B,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC;;CAEtF,CAAC;AAGF,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sidebar.d.ts","sourceRoot":"","sources":["../../../src/components/sidebar/Sidebar.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Sidebar.d.ts","sourceRoot":"","sources":["../../../src/components/sidebar/Sidebar.tsx"],"names":[],"mappings":";;AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAM,MAAM,mBAAmB,CAAC;AAOrD,OAAO,EAAW,cAAc,EAAmC,MAAM,oBAAoB,CAAC;AAU9F,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,UAAU,GAAG,WAAW,CAAC;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B,CAAC;AAEF,QAAA,MAAM,cAAc,sCAAmD,CAAC;AAExE,iBAAS,UAAU,mBAOlB;AAED,QAAA,MAAM,eAAe;kBAGH,OAAO;WACd,OAAO;mBACC,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI;gDAuExC,CAAC;AAEH,KAAK,oBAAoB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,CAAC;AAEzE,QAAA,MAAM,OAAO;WAGF,MAAM,GAAG,OAAO;cACb,SAAS,GAAG,UAAU,GAAG,OAAO;kBAC5B,WAAW,GAAG,MAAM,GAAG,MAAM;YACnC,MAAM;gBACF,MAAM;kBACJ,MAAM;gDA6HtB,CAAC;AAEH,KAAK,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,OAAO,CAAC,CAAC;AAEzD,QAAA,MAAM,cAAc;cAA6F,OAAO;mDAkBvH,CAAC;AAEF,KAAK,mBAAmB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,CAAC;AAEvE,QAAA,MAAM,WAAW,kLAuBf,CAAC;AAEH,KAAK,gBAAgB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,WAAW,CAAC,CAAC;AAEjE,QAAA,MAAM,YAAY,6JAYhB,CAAC;AAEH,KAAK,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,YAAY,CAAC,CAAC;AAEnE,QAAA,MAAM,aAAa,mKAEjB,CAAC;AAEH,KAAK,kBAAkB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,aAAa,CAAC,CAAC;AAErE,QAAA,MAAM,aAAa,mKAEjB,CAAC;AAEH,KAAK,kBAAkB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,aAAa,CAAC,CAAC;AAErE,QAAA,MAAM,gBAAgB,iOAIrB,CAAC;AAEF,KAAK,qBAAqB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE3E,QAAA,MAAM,cAAc,mKAYlB,CAAC;AAEH,KAAK,mBAAmB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,CAAC;AAEvE,QAAA,MAAM,YAAY,mKAIhB,CAAC;AAEH,KAAK,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,YAAY,CAAC,CAAC;AAEnE,QAAA,MAAM,iBAAiB;cAA8E,OAAO;gDAiB3G,CAAC;AAEF,KAAK,sBAAsB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE7E,QAAA,MAAM,kBAAkB;cAAoF,OAAO;mDAmBlH,CAAC;AAEF,KAAK,uBAAuB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE/E,QAAA,MAAM,mBAAmB,mKAEvB,CAAC;AAEH,KAAK,wBAAwB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEjF,QAAA,MAAM,WAAW,yKAEf,CAAC;AAEH,KAAK,gBAAgB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,WAAW,CAAC,CAAC;AAEjE,QAAA,MAAM,eAAe,kKAEnB,CAAC;AAEH,KAAK,oBAAoB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,CAAC;AA2BzE,QAAA,MAAM,iBAAiB;cAGT,OAAO;eACN,OAAO;cACR,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oFAiChE,CAAC;AAEH,KAAK,sBAAsB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE7E,QAAA,MAAM,iBAAiB;cAGT,OAAO;kBACH,OAAO;mDAwBvB,CAAC;AAEH,KAAK,sBAAsB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE7E,QAAA,MAAM,gBAAgB,mKAcpB,CAAC;AAEH,KAAK,qBAAqB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE3E,QAAA,MAAM,mBAAmB;eAGV,OAAO;gDA2BpB,CAAC;AAEH,KAAK,wBAAwB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEjF,QAAA,MAAM,cAAc,yKAOlB,CAAC;AAEH,KAAK,mBAAmB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,CAAC;AAEvE,QAAA,MAAM,kBAAkB,kKAAkH,CAAC;AAE3I,KAAK,uBAAuB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE/E,QAAA,MAAM,oBAAoB;cAGZ,OAAO;WACV,IAAI,GAAG,IAAI;eACP,OAAO;mDAsBpB,CAAC;AAEH,KAAK,yBAAyB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEnF,OAAO,EACL,OAAO,EACP,cAAc,EACd,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,GACzB,CAAC"}
|
package/dist/datagrid.es.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as o, jsxs as z } from "react/jsx-runtime";
|
|
2
|
-
import t, { forwardRef as H, useMemo as
|
|
2
|
+
import t, { forwardRef as H, useMemo as G } from "react";
|
|
3
3
|
import { AgGridReact as L } from "ag-grid-react";
|
|
4
4
|
import { themeQuartz as M, ModuleRegistry as B, AllCommunityModule as Q } from "ag-grid-community";
|
|
5
|
-
import { Trashcan as O, ElipsisVertical as q, Snowflake as $, Print as j, Refresh as _, CircleXmark as U, Magnifier as
|
|
5
|
+
import { Trashcan as O, ElipsisVertical as q, Snowflake as $, Print as j, Refresh as _, CircleXmark as U, Magnifier as N } from "@trsys-tech/matrix-icons";
|
|
6
6
|
import { cn as g } from "./utils.es.js";
|
|
7
7
|
import { printHtml as V } from "./printhtml.es.js";
|
|
8
8
|
import { TextField as W } from "./textfield.es.js";
|
|
@@ -15,11 +15,11 @@ const Y = M.withParams({
|
|
|
15
15
|
fontSize: "12px",
|
|
16
16
|
headerFontSize: "12px",
|
|
17
17
|
headerFontWeight: 700,
|
|
18
|
-
headerBackgroundColor: "
|
|
19
|
-
backgroundColor: "
|
|
20
|
-
accentColor: "
|
|
21
|
-
foregroundColor: "
|
|
22
|
-
cellTextColor: "
|
|
18
|
+
headerBackgroundColor: "oklch(var(--mtx-primary-50))",
|
|
19
|
+
backgroundColor: "oklch(var(--mtx-gray-0))",
|
|
20
|
+
accentColor: "oklch(var(--mtx-primary-300))",
|
|
21
|
+
foregroundColor: "oklch(var(--mtx-text-500))",
|
|
22
|
+
cellTextColor: "oklch(var(--mtx-text-500))"
|
|
23
23
|
}), p = t.createContext(null), mt = () => {
|
|
24
24
|
const r = t.useContext(p);
|
|
25
25
|
if (!r)
|
|
@@ -53,7 +53,7 @@ const Y = M.withParams({
|
|
|
53
53
|
const u = t.useContext(p);
|
|
54
54
|
if (!u)
|
|
55
55
|
throw new Error("DataGridContent should be used within <DataGrid>");
|
|
56
|
-
const { rowData: l, setRowData: e, actionbarExists: x, setApi: h, setQuickFilterText: f, quickFilterText: R, gridId: E, actionbarHeight: C, pinnedRowIds: w } = u, b =
|
|
56
|
+
const { rowData: l, setRowData: e, actionbarExists: x, setApi: h, setQuickFilterText: f, quickFilterText: R, gridId: E, actionbarHeight: C, pinnedRowIds: w } = u, b = G(() => Y.withParams({
|
|
57
57
|
headerHeight: 40,
|
|
58
58
|
wrapperBorderRadius: x ? "0px 0px 8px 8px" : "8px"
|
|
59
59
|
}), [x]), y = (v) => {
|
|
@@ -64,14 +64,14 @@ const Y = M.withParams({
|
|
|
64
64
|
}, [n, e]), t.useEffect(() => {
|
|
65
65
|
i !== void 0 && f(i ?? "");
|
|
66
66
|
}, [i, f]);
|
|
67
|
-
const { finalRowData: F, finalPinnedTopRowData: I } =
|
|
67
|
+
const { finalRowData: F, finalPinnedTopRowData: I } = G(() => {
|
|
68
68
|
if (!l || w.size === 0)
|
|
69
69
|
return { finalRowData: l, finalPinnedTopRowData: [] };
|
|
70
|
-
const v = [],
|
|
70
|
+
const v = [], A = [];
|
|
71
71
|
return l.forEach((S) => {
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
}), { finalRowData:
|
|
72
|
+
const k = c ? c({ data: S, level: 0 }) : S.id, T = k != null ? String(k) : void 0;
|
|
73
|
+
T !== void 0 && w.has(T) ? v.push(S) : A.push(S);
|
|
74
|
+
}), { finalRowData: A, finalPinnedTopRowData: v };
|
|
75
75
|
}, [l, w, c]);
|
|
76
76
|
return /* @__PURE__ */ o(
|
|
77
77
|
L,
|
|
@@ -137,10 +137,10 @@ const xt = ({ className: r, ...s }) => {
|
|
|
137
137
|
),
|
|
138
138
|
onChange: (R) => c(R.target.value),
|
|
139
139
|
value: a,
|
|
140
|
-
startAdornment: /* @__PURE__ */ o(D, { variant: "toolbar", className: "mtx-p-0.5 mtx-h-6 mtx-w-6 mtx-border-none mtx-mx-1", onClick: f, children: /* @__PURE__ */ o(
|
|
140
|
+
startAdornment: /* @__PURE__ */ o(D, { variant: "toolbar", className: "mtx-p-0.5 mtx-h-6 mtx-w-6 mtx-border-none mtx-mx-1", onClick: f, children: /* @__PURE__ */ o(N, { className: "mtx-w-5 mtx-h-5" }) }),
|
|
141
141
|
endAdornment: a && /* @__PURE__ */ o(D, { variant: "toolbar", className: "mtx-p-0.5 mtx-w-6 mtx-h-6 mtx-border-none mtx-mx-1", onClick: x, children: /* @__PURE__ */ o(U, { className: "mtx-w-5 mtx-h-5" }) })
|
|
142
142
|
}
|
|
143
|
-
) : /* @__PURE__ */ o(D, { variant: "toolbar", className: "mtx-p-0.5 mtx-w-6 mtx-h-6 mtx-m-1", onClick: h, children: /* @__PURE__ */ o(
|
|
143
|
+
) : /* @__PURE__ */ o(D, { variant: "toolbar", className: "mtx-p-0.5 mtx-w-6 mtx-h-6 mtx-m-1", onClick: h, children: /* @__PURE__ */ o(N, { className: "mtx-w-5 mtx-h-5" }) }) });
|
|
144
144
|
}, ft = ({ freezeText: r, unFreezeText: s, onClick: i, disabled: n, ...a }) => {
|
|
145
145
|
const c = t.useContext(p);
|
|
146
146
|
if (!c)
|
package/dist/datagrid.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datagrid.es.js","sources":["../src/components/data-grid/DataGrid.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport React, { forwardRef, HTMLAttributes, useMemo } from \"react\";\r\nimport { AgGridReact, AgGridReactProps } from \"ag-grid-react\";\r\nimport { GridApi, GridReadyEvent, themeQuartz, AllCommunityModule, ModuleRegistry, Theme } from \"ag-grid-community\";\r\nimport { CircleXmark, ElipsisVertical, Magnifier, Print, Refresh, Snowflake, Trashcan } from \"@trsys-tech/matrix-icons\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\nimport { printHtml } from \"../../lib/printHtml\";\r\nimport { TextField } from \"../text-field/TextField\";\r\nimport { Button, ButtonProps } from \"../button/Button\";\r\nimport { IconButton, IconButtonProps } from \"../icon-botton/IconButton\";\r\nimport { Popover, PopoverContent, PopoverContentProps, PopoverProps, PopoverTrigger, PopoverTriggerProps } from \"../popover/Popover\";\r\n\r\n// Register all Community features\r\n// Todo: Register only the required features\r\nModuleRegistry.registerModules([AllCommunityModule]);\r\n\r\nconst dataGridDefaultTheme = themeQuartz.withParams({\r\n fontFamily: \"DMSans\",\r\n fontSize: \"12px\",\r\n headerFontSize: \"12px\",\r\n headerFontWeight: 700,\r\n headerBackgroundColor: \"hsl(var(--mtx-primary-50))\",\r\n backgroundColor: \"hsl(var(--mtx-gray-0))\",\r\n accentColor: \"hsl(var(--mtx-primary-300))\",\r\n foregroundColor: \"hsl(var(--mtx-text-500))\",\r\n cellTextColor: \"hsl(var(--mtx-text-500))\",\r\n});\r\n\r\ntype DataGridContext = {\r\n api: GridApi | null;\r\n setApi: (value: GridApi) => void;\r\n rowData: any[] | null | undefined;\r\n setRowData: (value: any[] | null | undefined) => void;\r\n gridId: string;\r\n quickFilterText: string;\r\n setQuickFilterText: (value: string) => void;\r\n actionbarExists: boolean;\r\n setActionbarExists: (value: boolean) => void;\r\n actionbarHeight: number;\r\n setActionbarHeight: (value: number) => void;\r\n pinnedRowIds: Set<string>;\r\n setPinnedRowIds: (value: Set<string>) => void;\r\n};\r\n\r\nconst DataGridContext = React.createContext<DataGridContext | null>(null);\r\n\r\nconst useDataGrid = () => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"useDataGrid should be used within <DataGrid>\");\r\n }\r\n\r\n return context;\r\n};\r\n\r\ntype DataGridProps = {\r\n children: React.ReactNode;\r\n};\r\n\r\nconst DataGrid: React.FC<DataGridProps> = ({ children }) => {\r\n const gridId = React.useId();\r\n const [api, setApi] = React.useState<GridApi | null>(null);\r\n const [rowData, setRowData] = React.useState<any[] | null | undefined>([]);\r\n const [actionbarHeight, setActionbarHeight] = React.useState(0);\r\n const [pinnedRowIds, setPinnedRowIds] = React.useState<Set<string>>(new Set());\r\n\r\n const [quickFilterText, setQuickFilterText] = React.useState(\"\");\r\n const [actionbarExists, setActionbarExists] = React.useState(false);\r\n return (\r\n <DataGridContext.Provider\r\n value={{\r\n api,\r\n setApi,\r\n rowData,\r\n setRowData,\r\n gridId,\r\n quickFilterText,\r\n setQuickFilterText,\r\n actionbarExists,\r\n setActionbarExists,\r\n actionbarHeight,\r\n setActionbarHeight,\r\n pinnedRowIds,\r\n setPinnedRowIds,\r\n }}\r\n >\r\n {children}\r\n </DataGridContext.Provider>\r\n );\r\n};\r\n\r\ntype DataGridContentProps = Omit<AgGridReactProps, \"theme\"> & {\r\n theme?: Theme;\r\n};\r\n\r\nconst DataGridContent = forwardRef<AgGridReact, DataGridContentProps>(\r\n ({ theme: propTheme, onGridReady, quickFilterText: quickFilterTextProps, rowData: rowDataProps, containerStyle, getRowId, ...props }, ref) => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"DataGridContent should be used within <DataGrid>\");\r\n }\r\n const { rowData, setRowData, actionbarExists, setApi, setQuickFilterText, quickFilterText, gridId, actionbarHeight, pinnedRowIds } = context;\r\n\r\n const theme = useMemo(() => {\r\n return dataGridDefaultTheme.withParams({\r\n headerHeight: 40,\r\n wrapperBorderRadius: actionbarExists ? \"0px 0px 8px 8px\" : \"8px\",\r\n });\r\n }, [actionbarExists]);\r\n\r\n const handleGridReady = (e: GridReadyEvent) => {\r\n setApi(e.api);\r\n onGridReady?.(e);\r\n };\r\n\r\n React.useEffect(() => {\r\n setRowData(rowDataProps);\r\n }, [rowDataProps, setRowData]);\r\n\r\n React.useEffect(() => {\r\n if (quickFilterTextProps !== undefined) {\r\n setQuickFilterText(quickFilterTextProps ?? \"\");\r\n }\r\n }, [quickFilterTextProps, setQuickFilterText]);\r\n\r\n const { finalRowData, finalPinnedTopRowData } = useMemo(() => {\r\n if (!rowData || pinnedRowIds.size === 0) {\r\n return { finalRowData: rowData, finalPinnedTopRowData: [] };\r\n }\r\n\r\n const pinned: any[] = [];\r\n const unpinned: any[] = [];\r\n\r\n rowData.forEach(data => {\r\n const id = getRowId ? getRowId({ data, level: 0 } as any) : (data as any).id;\r\n const stringId = id !== undefined && id !== null ? String(id) : undefined;\r\n\r\n if (stringId !== undefined && pinnedRowIds.has(stringId)) {\r\n pinned.push(data);\r\n } else {\r\n unpinned.push(data);\r\n }\r\n });\r\n\r\n return { finalRowData: unpinned, finalPinnedTopRowData: pinned };\r\n }, [rowData, pinnedRowIds, getRowId]);\r\n\r\n return (\r\n <AgGridReact\r\n gridId={gridId}\r\n theme={propTheme ?? theme}\r\n rowData={finalRowData}\r\n pinnedTopRowData={finalPinnedTopRowData}\r\n quickFilterText={quickFilterText}\r\n onGridReady={handleGridReady}\r\n containerStyle={{ height: `calc(100% - ${actionbarHeight}px)`, ...containerStyle }}\r\n getRowId={getRowId}\r\n {...props}\r\n ref={ref}\r\n />\r\n );\r\n },\r\n);\r\n\r\nDataGridContent.displayName = \"DataGridContent\";\r\n\r\ntype DatagridActionBarProps = HTMLAttributes<HTMLDivElement> & {};\r\n\r\nconst DataGridActionBar: React.FC<DatagridActionBarProps> = ({ className, ...props }) => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"DataGridActionBar should be used within <DataGrid>\");\r\n }\r\n const ref = React.useRef<HTMLDivElement | null>(null);\r\n const { setActionbarExists, setActionbarHeight } = context;\r\n const { children } = props;\r\n\r\n React.useEffect(() => {\r\n setActionbarExists(true);\r\n return () => setActionbarExists(false);\r\n }, [setActionbarExists]);\r\n\r\n React.useEffect(() => {\r\n if (ref.current) {\r\n setActionbarHeight(ref.current.clientHeight);\r\n }\r\n }, [setActionbarHeight]);\r\n\r\n return (\r\n <div\r\n className={cn(\r\n \"mtx-relative mtx-flex mtx-items-center mtx-p-2 mtx-h-12 mtx-w-full mtx-bg-gray-0 mtx-border mtx-border-gray-200 mtx-border-b-0 -mtx-mb-[1px] mtx-z-10 mtx-rounded-t-[8px]\",\r\n className,\r\n )}\r\n ref={ref}\r\n >\r\n {children}\r\n </div>\r\n );\r\n};\r\n\r\ntype SearchActionProps = HTMLAttributes<HTMLDivElement> & {\r\n defaultOpen?: boolean;\r\n};\r\n\r\nconst SearchAction: React.FC<SearchActionProps> = ({ defaultOpen = false, className, ...props }) => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"SearchAction should be used within <DataGrid>\");\r\n }\r\n\r\n const { quickFilterText, setQuickFilterText } = context;\r\n\r\n const [isSearchInputOpen, setIsSearchInputOpen] = React.useState(defaultOpen);\r\n const [isClosing, setIsClosing] = React.useState(false);\r\n const inputRef = React.useRef<HTMLInputElement | null>(null);\r\n\r\n const handleClear = () => {\r\n context.setQuickFilterText(\"\");\r\n if (inputRef.current) {\r\n inputRef.current.focus();\r\n }\r\n };\r\n\r\n const handleOpen = () => {\r\n setIsSearchInputOpen(true);\r\n };\r\n\r\n React.useEffect(() => {\r\n if (isSearchInputOpen && inputRef?.current) {\r\n inputRef.current.focus();\r\n }\r\n }, [isSearchInputOpen]);\r\n\r\n const handleClose = () => {\r\n setIsClosing(true);\r\n context.setQuickFilterText(\"\");\r\n setTimeout(() => {\r\n setIsSearchInputOpen(false);\r\n setIsClosing(false);\r\n }, 200);\r\n };\r\n\r\n return (\r\n <div className={cn(\"mtx-max-w-60\", className)} {...props}>\r\n {isSearchInputOpen || isClosing ? (\r\n <TextField\r\n ref={inputRef}\r\n className={cn(\r\n \"mtx-relative mtx-h-7.5\",\r\n isSearchInputOpen && !isClosing ? \"mtx-animate-input-open\" : \"\",\r\n isClosing && \"mtx-animate-input-close\",\r\n )}\r\n onChange={e => setQuickFilterText(e.target.value)}\r\n value={quickFilterText}\r\n startAdornment={\r\n <IconButton variant=\"toolbar\" className=\"mtx-p-0.5 mtx-h-6 mtx-w-6 mtx-border-none mtx-mx-1\" onClick={handleClose}>\r\n <Magnifier className=\"mtx-w-5 mtx-h-5\" />\r\n </IconButton>\r\n }\r\n endAdornment={\r\n quickFilterText && (\r\n <IconButton variant=\"toolbar\" className=\"mtx-p-0.5 mtx-w-6 mtx-h-6 mtx-border-none mtx-mx-1\" onClick={handleClear}>\r\n <CircleXmark className=\"mtx-w-5 mtx-h-5\" />\r\n </IconButton>\r\n )\r\n }\r\n />\r\n ) : (\r\n <IconButton variant=\"toolbar\" className=\"mtx-p-0.5 mtx-w-6 mtx-h-6 mtx-m-1\" onClick={handleOpen}>\r\n <Magnifier className=\"mtx-w-5 mtx-h-5\" />\r\n </IconButton>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\ntype FreezeActionProps = ButtonProps & {\r\n freezeText?: string;\r\n unFreezeText?: string;\r\n};\r\n\r\nconst FreezeAction: React.FC<FreezeActionProps> = ({ freezeText, unFreezeText, onClick, disabled, ...props }) => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"FreezeAction should be used within <DataGrid>\");\r\n }\r\n\r\n const [pinnedRowCount, setPinnedRowCount] = React.useState(0);\r\n const [selectedRowsCount, setSelectedRowsCount] = React.useState(0);\r\n\r\n const { api, pinnedRowIds, setPinnedRowIds } = context;\r\n\r\n const freezeRows = () => {\r\n if (!api) return;\r\n\r\n // Get currently selected rows\r\n const selectedRows = api.getSelectedNodes();\r\n\r\n if (selectedRows.length > 0) {\r\n const newPinnedIds = new Set(pinnedRowIds);\r\n selectedRows.forEach(row => {\r\n if (row.id !== undefined) {\r\n newPinnedIds.add(row.id);\r\n }\r\n });\r\n setPinnedRowIds(newPinnedIds);\r\n api.deselectAll();\r\n }\r\n };\r\n\r\n const unfreezeRows = () => {\r\n setPinnedRowIds(new Set());\r\n };\r\n\r\n const handleFreezing = (e: React.MouseEvent<HTMLButtonElement>) => {\r\n if (api) {\r\n const pinnedRowsCount = api.getPinnedTopRowCount();\r\n if (pinnedRowsCount > 0) {\r\n unfreezeRows();\r\n } else {\r\n freezeRows();\r\n }\r\n }\r\n onClick?.(e);\r\n };\r\n\r\n React.useEffect(() => {\r\n api?.addEventListener(\"pinnedRowDataChanged\", () => {\r\n setPinnedRowCount(api.getPinnedTopRowCount());\r\n });\r\n\r\n api?.addEventListener(\"selectionChanged\", () => {\r\n setSelectedRowsCount(api.getSelectedNodes().length);\r\n });\r\n\r\n return () => {\r\n if (api?.isDestroyed()) return;\r\n api?.removeEventListener(\"pinnedRowDataChanged\", () => {\r\n setPinnedRowCount(api.getPinnedTopRowCount());\r\n });\r\n\r\n api?.removeEventListener(\"selectionChanged\", () => {\r\n setSelectedRowsCount(api.getSelectedNodes().length);\r\n });\r\n };\r\n }, [api]);\r\n\r\n return (\r\n <Button\r\n variant=\"text\"\r\n onClick={handleFreezing}\r\n startIcon={<Snowflake className=\"mtx-w-4.5 mtx-h-4.5\" />}\r\n disabled={(!pinnedRowCount && !selectedRowsCount) || disabled}\r\n {...props}\r\n >\r\n {pinnedRowCount ? (unFreezeText ?? \"Unfreeze\") : (freezeText ?? \"Freeze\")}\r\n </Button>\r\n );\r\n};\r\n\r\ntype PrintActionProps = IconButtonProps & {};\r\n\r\nconst PrintAction: React.FC<PrintActionProps> = ({ children, className, onClick, ...props }) => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"PrintAction should be used within <DataGrid>\");\r\n }\r\n\r\n const handlePrint = (e: React.MouseEvent<HTMLButtonElement>) => {\r\n if (context.api) {\r\n context.api.setGridOption(\"domLayout\", \"print\");\r\n\r\n setTimeout(() => {\r\n const element = document.querySelector(\"[grid-id='\" + context.gridId + \"']\") as HTMLElement;\r\n const header = document.head;\r\n const html = `<html>\r\n ${header.innerHTML}\r\n ${element.outerHTML}\r\n </html>`;\r\n printHtml(html);\r\n context?.api?.setGridOption(\"domLayout\", undefined);\r\n });\r\n }\r\n onClick?.(e);\r\n };\r\n\r\n return (\r\n <IconButton variant=\"toolbar\" className={cn(\"mtx-p-0.5 mtx-w-6 mtx-h-6\", className)} onClick={handlePrint} {...props}>\r\n {children ?? <Print className=\"mtx-w-5 mtx-h-5\" />}\r\n </IconButton>\r\n );\r\n};\r\n\r\ntype RefreshActionProps = Omit<IconButtonProps, \"onClick\"> & {\r\n onRefresh: () => void;\r\n};\r\n\r\nconst RefreshAction: React.FC<RefreshActionProps> = ({ className, onRefresh, children, loading, ...props }) => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"RefreshAction should be used within <DataGrid>\");\r\n }\r\n\r\n const handleRefresh = () => {\r\n onRefresh();\r\n };\r\n\r\n return (\r\n <IconButton\r\n className={cn(\"mtx-p-0.5 mtx-w-6 mtx-h-6\", loading && \"disabled:mtx-bg-transparent\", className)}\r\n variant=\"toolbar\"\r\n onClick={handleRefresh}\r\n disabled={loading}\r\n {...props}\r\n >\r\n {children ?? <Refresh className={cn(\"mtx-w-4.5 mtx-h-4.5\", loading && \"mtx-animate-spin\")} />}\r\n </IconButton>\r\n );\r\n};\r\n\r\ntype DeleteActionProps = Omit<ButtonProps, \"onClick\"> & {\r\n onDelete: () => void;\r\n};\r\n\r\nconst DeleteAction: React.FC<DeleteActionProps> = ({ onDelete, children, ...props }) => {\r\n const handleDelete = () => {\r\n onDelete();\r\n };\r\n\r\n return (\r\n <Button variant=\"danger\" onClick={handleDelete} startIcon={<Trashcan className=\"mtx-w-4.5 mtx-h-4.5\" />} {...props}>\r\n {children}\r\n </Button>\r\n );\r\n};\r\n\r\ntype ExtraActionsProps = PopoverContentProps & {\r\n children: React.ReactNode;\r\n slotProps?: {\r\n triggerProps?: PopoverTriggerProps;\r\n popoverProps?: PopoverProps;\r\n };\r\n};\r\n\r\nconst ExtraActions: React.FC<ExtraActionsProps> = ({ children, slotProps, className, ...props }) => {\r\n return (\r\n <Popover {...(slotProps?.popoverProps ?? {})}>\r\n <PopoverTrigger {...(slotProps?.triggerProps ?? {})}>\r\n <ElipsisVertical className=\"mtx-w-4.5 mtx-h-4.5 mtx-text-primary\" />\r\n </PopoverTrigger>\r\n <PopoverContent align=\"end\" className={cn(\"mtx-w-40\", className)} {...props}>\r\n {children}\r\n </PopoverContent>\r\n </Popover>\r\n );\r\n};\r\n\r\nexport {\r\n DataGrid,\r\n DataGridContent,\r\n DataGridActionBar,\r\n SearchAction,\r\n FreezeAction,\r\n PrintAction,\r\n RefreshAction,\r\n ExtraActions,\r\n DeleteAction,\r\n type DataGridProps,\r\n type DataGridContentProps,\r\n type DatagridActionBarProps,\r\n type SearchActionProps,\r\n type FreezeActionProps,\r\n type RefreshActionProps,\r\n type ExtraActionsProps,\r\n type DeleteActionProps,\r\n useDataGrid,\r\n dataGridDefaultTheme,\r\n};\r\n"],"names":["ModuleRegistry","AllCommunityModule","dataGridDefaultTheme","themeQuartz","DataGridContext","React","useDataGrid","context","DataGrid","children","gridId","api","setApi","rowData","setRowData","actionbarHeight","setActionbarHeight","pinnedRowIds","setPinnedRowIds","quickFilterText","setQuickFilterText","actionbarExists","setActionbarExists","jsx","DataGridContent","forwardRef","propTheme","onGridReady","quickFilterTextProps","rowDataProps","containerStyle","getRowId","props","ref","theme","useMemo","handleGridReady","e","finalRowData","finalPinnedTopRowData","pinned","unpinned","data","id","stringId","AgGridReact","DataGridActionBar","className","cn","SearchAction","defaultOpen","isSearchInputOpen","setIsSearchInputOpen","isClosing","setIsClosing","inputRef","handleClear","handleOpen","handleClose","TextField","IconButton","Magnifier","CircleXmark","FreezeAction","freezeText","unFreezeText","onClick","disabled","pinnedRowCount","setPinnedRowCount","selectedRowsCount","setSelectedRowsCount","freezeRows","selectedRows","newPinnedIds","row","unfreezeRows","handleFreezing","Button","Snowflake","PrintAction","handlePrint","element","html","printHtml","Print","RefreshAction","onRefresh","loading","handleRefresh","Refresh","DeleteAction","onDelete","Trashcan","ExtraActions","slotProps","Popover","PopoverTrigger","ElipsisVertical","PopoverContent"],"mappings":";;;;;;;;;;;AAgBAA,EAAe,gBAAgB,CAACC,CAAkB,CAAC;AAEnD,MAAMC,IAAuBC,EAAY,WAAW;AAAA,EAClD,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,uBAAuB;AAAA,EACvB,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,eAAe;AACjB,CAAC,GAkBKC,IAAkBC,EAAM,cAAsC,IAAI,GAElEC,KAAc,MAAM;AACxB,QAAMC,IAAUF,EAAM,WAAWD,CAAe;AAEhD,MAAI,CAACG;AACH,UAAM,IAAI,MAAM,8CAA8C;AAGhE,SAAOA;AACT,GAMMC,KAAoC,CAAC,EAAE,UAAAC,QAAe;AAC1D,QAAMC,IAASL,EAAM,MAAA,GACf,CAACM,GAAKC,CAAM,IAAIP,EAAM,SAAyB,IAAI,GACnD,CAACQ,GAASC,CAAU,IAAIT,EAAM,SAAmC,CAAA,CAAE,GACnE,CAACU,GAAiBC,CAAkB,IAAIX,EAAM,SAAS,CAAC,GACxD,CAACY,GAAcC,CAAe,IAAIb,EAAM,SAAsB,oBAAI,KAAK,GAEvE,CAACc,GAAiBC,CAAkB,IAAIf,EAAM,SAAS,EAAE,GACzD,CAACgB,GAAiBC,CAAkB,IAAIjB,EAAM,SAAS,EAAK;AAClE,SACE,gBAAAkB;AAAA,IAACnB,EAAgB;AAAA,IAAhB;AAAA,MACC,OAAO;AAAA,QACL,KAAAO;AAAA,QACA,QAAAC;AAAA,QACA,SAAAC;AAAA,QACA,YAAAC;AAAA,QACA,QAAAJ;AAAA,QACA,iBAAAS;AAAA,QACA,oBAAAC;AAAA,QACA,iBAAAC;AAAA,QACA,oBAAAC;AAAA,QACA,iBAAAP;AAAA,QACA,oBAAAC;AAAA,QACA,cAAAC;AAAA,QACA,iBAAAC;AAAA,MAAA;AAAA,MAGD,UAAAT;AAAA,IAAA;AAAA,EAAA;AAGP,GAMMe,IAAkBC;AAAA,EACtB,CAAC,EAAE,OAAOC,GAAW,aAAAC,GAAa,iBAAiBC,GAAsB,SAASC,GAAc,gBAAAC,GAAgB,UAAAC,GAAU,GAAGC,EAAA,GAASC,MAAQ;AAC5I,UAAM1B,IAAUF,EAAM,WAAWD,CAAe;AAEhD,QAAI,CAACG;AACH,YAAM,IAAI,MAAM,kDAAkD;AAEpE,UAAM,EAAE,SAAAM,GAAS,YAAAC,GAAY,iBAAAO,GAAiB,QAAAT,GAAQ,oBAAAQ,GAAoB,iBAAAD,GAAiB,QAAAT,GAAQ,iBAAAK,GAAiB,cAAAE,EAAA,IAAiBV,GAE/H2B,IAAQC,EAAQ,MACbjC,EAAqB,WAAW;AAAA,MACrC,cAAc;AAAA,MACd,qBAAqBmB,IAAkB,oBAAoB;AAAA,IAAA,CAC5D,GACA,CAACA,CAAe,CAAC,GAEde,IAAkB,CAACC,MAAsB;AAC7C,MAAAzB,EAAOyB,EAAE,GAAG,GACZV,IAAcU,CAAC;AAAA,IACjB;AAEAhC,IAAAA,EAAM,UAAU,MAAM;AACpB,MAAAS,EAAWe,CAAY;AAAA,IACzB,GAAG,CAACA,GAAcf,CAAU,CAAC,GAE7BT,EAAM,UAAU,MAAM;AACpB,MAAIuB,MAAyB,UAC3BR,EAAmBQ,KAAwB,EAAE;AAAA,IAEjD,GAAG,CAACA,GAAsBR,CAAkB,CAAC;AAE7C,UAAM,EAAE,cAAAkB,GAAc,uBAAAC,EAAA,IAA0BJ,EAAQ,MAAM;AAC5D,UAAI,CAACtB,KAAWI,EAAa,SAAS;AACpC,eAAO,EAAE,cAAcJ,GAAS,uBAAuB,CAAA,EAAC;AAG1D,YAAM2B,IAAgB,CAAA,GAChBC,IAAkB,CAAA;AAExB,aAAA5B,EAAQ,QAAQ,CAAA6B,MAAQ;AACtB,cAAMC,IAAKZ,IAAWA,EAAS,EAAE,MAAAW,GAAM,OAAO,EAAA,CAAU,IAAKA,EAAa,IACpEE,IAA+BD,KAAO,OAAO,OAAOA,CAAE,IAAI;AAEhE,QAAIC,MAAa,UAAa3B,EAAa,IAAI2B,CAAQ,IACrDJ,EAAO,KAAKE,CAAI,IAEhBD,EAAS,KAAKC,CAAI;AAAA,MAEtB,CAAC,GAEM,EAAE,cAAcD,GAAU,uBAAuBD,EAAA;AAAA,IAC1D,GAAG,CAAC3B,GAASI,GAAcc,CAAQ,CAAC;AAEpC,WACE,gBAAAR;AAAA,MAACsB;AAAA,MAAA;AAAA,QACC,QAAAnC;AAAA,QACA,OAAOgB,KAAaQ;AAAA,QACpB,SAASI;AAAA,QACT,kBAAkBC;AAAA,QAClB,iBAAApB;AAAA,QACA,aAAaiB;AAAA,QACb,gBAAgB,EAAE,QAAQ,eAAerB,CAAe,OAAO,GAAGe,EAAA;AAAA,QAClE,UAAAC;AAAA,QACC,GAAGC;AAAA,QACJ,KAAAC;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACF;AAEAT,EAAgB,cAAc;AAI9B,MAAMsB,KAAsD,CAAC,EAAE,WAAAC,GAAW,GAAGf,QAAY;AACvF,QAAMzB,IAAUF,EAAM,WAAWD,CAAe;AAEhD,MAAI,CAACG;AACH,UAAM,IAAI,MAAM,oDAAoD;AAEtE,QAAM0B,IAAM5B,EAAM,OAA8B,IAAI,GAC9C,EAAE,oBAAAiB,GAAoB,oBAAAN,EAAA,IAAuBT,GAC7C,EAAE,UAAAE,MAAauB;AAErB3B,SAAAA,EAAM,UAAU,OACdiB,EAAmB,EAAI,GAChB,MAAMA,EAAmB,EAAK,IACpC,CAACA,CAAkB,CAAC,GAEvBjB,EAAM,UAAU,MAAM;AACpB,IAAI4B,EAAI,WACNjB,EAAmBiB,EAAI,QAAQ,YAAY;AAAA,EAE/C,GAAG,CAACjB,CAAkB,CAAC,GAGrB,gBAAAO;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWyB;AAAA,QACT;AAAA,QACAD;AAAA,MAAA;AAAA,MAEF,KAAAd;AAAA,MAEC,UAAAxB;AAAA,IAAA;AAAA,EAAA;AAGP,GAMMwC,KAA4C,CAAC,EAAE,aAAAC,IAAc,IAAO,WAAAH,GAAW,GAAGf,QAAY;AAClG,QAAMzB,IAAUF,EAAM,WAAWD,CAAe;AAEhD,MAAI,CAACG;AACH,UAAM,IAAI,MAAM,+CAA+C;AAGjE,QAAM,EAAE,iBAAAY,GAAiB,oBAAAC,EAAA,IAAuBb,GAE1C,CAAC4C,GAAmBC,CAAoB,IAAI/C,EAAM,SAAS6C,CAAW,GACtE,CAACG,GAAWC,CAAY,IAAIjD,EAAM,SAAS,EAAK,GAChDkD,IAAWlD,EAAM,OAAgC,IAAI,GAErDmD,IAAc,MAAM;AACxB,IAAAjD,EAAQ,mBAAmB,EAAE,GACzBgD,EAAS,WACXA,EAAS,QAAQ,MAAA;AAAA,EAErB,GAEME,IAAa,MAAM;AACvB,IAAAL,EAAqB,EAAI;AAAA,EAC3B;AAEA/C,EAAAA,EAAM,UAAU,MAAM;AACpB,IAAI8C,KAAqBI,GAAU,WACjCA,EAAS,QAAQ,MAAA;AAAA,EAErB,GAAG,CAACJ,CAAiB,CAAC;AAEtB,QAAMO,IAAc,MAAM;AACxB,IAAAJ,EAAa,EAAI,GACjB/C,EAAQ,mBAAmB,EAAE,GAC7B,WAAW,MAAM;AACf,MAAA6C,EAAqB,EAAK,GAC1BE,EAAa,EAAK;AAAA,IACpB,GAAG,GAAG;AAAA,EACR;AAEA,SACE,gBAAA/B,EAAC,OAAA,EAAI,WAAWyB,EAAG,gBAAgBD,CAAS,GAAI,GAAGf,GAChD,UAAAmB,KAAqBE,IACpB,gBAAA9B;AAAA,IAACoC;AAAA,IAAA;AAAA,MACC,KAAKJ;AAAA,MACL,WAAWP;AAAA,QACT;AAAA,QACAG,KAAqB,CAACE,IAAY,2BAA2B;AAAA,QAC7DA,KAAa;AAAA,MAAA;AAAA,MAEf,UAAU,CAAAhB,MAAKjB,EAAmBiB,EAAE,OAAO,KAAK;AAAA,MAChD,OAAOlB;AAAA,MACP,gBACE,gBAAAI,EAACqC,GAAA,EAAW,SAAQ,WAAU,WAAU,sDAAqD,SAASF,GACpG,UAAA,gBAAAnC,EAACsC,GAAA,EAAU,WAAU,mBAAkB,GACzC;AAAA,MAEF,cACE1C,KACE,gBAAAI,EAACqC,GAAA,EAAW,SAAQ,WAAU,WAAU,sDAAqD,SAASJ,GACpG,UAAA,gBAAAjC,EAACuC,GAAA,EAAY,WAAU,mBAAkB,EAAA,CAC3C;AAAA,IAAA;AAAA,EAAA,IAKN,gBAAAvC,EAACqC,GAAA,EAAW,SAAQ,WAAU,WAAU,qCAAoC,SAASH,GACnF,UAAA,gBAAAlC,EAACsC,GAAA,EAAU,WAAU,kBAAA,CAAkB,GACzC,GAEJ;AAEJ,GAOME,KAA4C,CAAC,EAAE,YAAAC,GAAY,cAAAC,GAAc,SAAAC,GAAS,UAAAC,GAAU,GAAGnC,QAAY;AAC/G,QAAMzB,IAAUF,EAAM,WAAWD,CAAe;AAEhD,MAAI,CAACG;AACH,UAAM,IAAI,MAAM,+CAA+C;AAGjE,QAAM,CAAC6D,GAAgBC,CAAiB,IAAIhE,EAAM,SAAS,CAAC,GACtD,CAACiE,GAAmBC,CAAoB,IAAIlE,EAAM,SAAS,CAAC,GAE5D,EAAE,KAAAM,GAAK,cAAAM,GAAc,iBAAAC,EAAA,IAAoBX,GAEzCiE,IAAa,MAAM;AACvB,QAAI,CAAC7D,EAAK;AAGV,UAAM8D,IAAe9D,EAAI,iBAAA;AAEzB,QAAI8D,EAAa,SAAS,GAAG;AAC3B,YAAMC,IAAe,IAAI,IAAIzD,CAAY;AACzC,MAAAwD,EAAa,QAAQ,CAAAE,MAAO;AAC1B,QAAIA,EAAI,OAAO,UACbD,EAAa,IAAIC,EAAI,EAAE;AAAA,MAE3B,CAAC,GACDzD,EAAgBwD,CAAY,GAC5B/D,EAAI,YAAA;AAAA,IACN;AAAA,EACF,GAEMiE,IAAe,MAAM;AACzB,IAAA1D,EAAgB,oBAAI,KAAK;AAAA,EAC3B,GAEM2D,IAAiB,CAACxC,MAA2C;AACjE,IAAI1B,MACsBA,EAAI,qBAAA,IACN,IACpBiE,EAAA,IAEAJ,EAAA,IAGJN,IAAU7B,CAAC;AAAA,EACb;AAEAhC,SAAAA,EAAM,UAAU,OACdM,GAAK,iBAAiB,wBAAwB,MAAM;AAClD,IAAA0D,EAAkB1D,EAAI,sBAAsB;AAAA,EAC9C,CAAC,GAEDA,GAAK,iBAAiB,oBAAoB,MAAM;AAC9C,IAAA4D,EAAqB5D,EAAI,iBAAA,EAAmB,MAAM;AAAA,EACpD,CAAC,GAEM,MAAM;AACX,IAAIA,GAAK,kBACTA,GAAK,oBAAoB,wBAAwB,MAAM;AACrD,MAAA0D,EAAkB1D,EAAI,sBAAsB;AAAA,IAC9C,CAAC,GAEDA,GAAK,oBAAoB,oBAAoB,MAAM;AACjD,MAAA4D,EAAqB5D,EAAI,iBAAA,EAAmB,MAAM;AAAA,IACpD,CAAC;AAAA,EACH,IACC,CAACA,CAAG,CAAC,GAGN,gBAAAY;AAAA,IAACuD;AAAA,IAAA;AAAA,MACC,SAAQ;AAAA,MACR,SAASD;AAAA,MACT,WAAW,gBAAAtD,EAACwD,GAAA,EAAU,WAAU,sBAAA,CAAsB;AAAA,MACtD,UAAW,CAACX,KAAkB,CAACE,KAAsBH;AAAA,MACpD,GAAGnC;AAAA,MAEH,UAAAoC,IAAkBH,KAAgB,aAAeD,KAAc;AAAA,IAAA;AAAA,EAAA;AAGtE,GAIMgB,KAA0C,CAAC,EAAE,UAAAvE,GAAU,WAAAsC,GAAW,SAAAmB,GAAS,GAAGlC,QAAY;AAC9F,QAAMzB,IAAUF,EAAM,WAAWD,CAAe;AAEhD,MAAI,CAACG;AACH,UAAM,IAAI,MAAM,8CAA8C;AAGhE,QAAM0E,IAAc,CAAC5C,MAA2C;AAC9D,IAAI9B,EAAQ,QACVA,EAAQ,IAAI,cAAc,aAAa,OAAO,GAE9C,WAAW,MAAM;AACf,YAAM2E,IAAU,SAAS,cAAc,eAAe3E,EAAQ,SAAS,IAAI,GAErE4E,IAAO;AAAA,UADE,SAAS,KAEf,SAAS;AAAA,UAChBD,EAAQ,SAAS;AAAA;AAEnB,MAAAE,EAAUD,CAAI,GACd5E,GAAS,KAAK,cAAc,aAAa,MAAS;AAAA,IACpD,CAAC,IAEH2D,IAAU7B,CAAC;AAAA,EACb;AAEA,2BACGuB,GAAA,EAAW,SAAQ,WAAU,WAAWZ,EAAG,6BAA6BD,CAAS,GAAG,SAASkC,GAAc,GAAGjD,GAC5G,UAAAvB,uBAAa4E,GAAA,EAAM,WAAU,mBAAkB,GAClD;AAEJ,GAMMC,KAA8C,CAAC,EAAE,WAAAvC,GAAW,WAAAwC,GAAW,UAAA9E,GAAU,SAAA+E,GAAS,GAAGxD,QAAY;AAG7G,MAAI,CAFY3B,EAAM,WAAWD,CAAe;AAG9C,UAAM,IAAI,MAAM,gDAAgD;AAGlE,QAAMqF,IAAgB,MAAM;AAC1B,IAAAF,EAAA;AAAA,EACF;AAEA,SACE,gBAAAhE;AAAA,IAACqC;AAAA,IAAA;AAAA,MACC,WAAWZ,EAAG,6BAA6BwC,KAAW,+BAA+BzC,CAAS;AAAA,MAC9F,SAAQ;AAAA,MACR,SAAS0C;AAAA,MACT,UAAUD;AAAA,MACT,GAAGxD;AAAA,MAEH,UAAAvB,uBAAaiF,GAAA,EAAQ,WAAW1C,EAAG,uBAAuBwC,KAAW,kBAAkB,EAAA,CAAG;AAAA,IAAA;AAAA,EAAA;AAGjG,GAMMG,KAA4C,CAAC,EAAE,UAAAC,GAAU,UAAAnF,GAAU,GAAGuB,QAMxE,gBAAAT,EAACuD,GAAA,EAAO,SAAQ,UAAS,SALN,MAAM;AACzB,EAAAc,EAAA;AACF,GAGkD,WAAW,gBAAArE,EAACsE,GAAA,EAAS,WAAU,sBAAA,CAAsB,GAAK,GAAG7D,GAC1G,UAAAvB,GACH,GAYEqF,KAA4C,CAAC,EAAE,UAAArF,GAAU,WAAAsF,GAAW,WAAAhD,GAAW,GAAGf,0BAEnFgE,GAAA,EAAS,GAAID,GAAW,gBAAgB,CAAA,GACvC,UAAA;AAAA,EAAA,gBAAAxE,EAAC0E,GAAA,EAAgB,GAAIF,GAAW,gBAAgB,CAAA,GAC9C,UAAA,gBAAAxE,EAAC2E,GAAA,EAAgB,WAAU,uCAAA,CAAuC,EAAA,CACpE;AAAA,EACA,gBAAA3E,EAAC4E,GAAA,EAAe,OAAM,OAAM,WAAWnD,EAAG,YAAYD,CAAS,GAAI,GAAGf,GACnE,UAAAvB,EAAA,CACH;AAAA,GACF;"}
|
|
1
|
+
{"version":3,"file":"datagrid.es.js","sources":["../src/components/data-grid/DataGrid.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport React, { forwardRef, HTMLAttributes, useMemo } from \"react\";\r\nimport { AgGridReact, AgGridReactProps } from \"ag-grid-react\";\r\nimport { GridApi, GridReadyEvent, themeQuartz, AllCommunityModule, ModuleRegistry, Theme } from \"ag-grid-community\";\r\nimport { CircleXmark, ElipsisVertical, Magnifier, Print, Refresh, Snowflake, Trashcan } from \"@trsys-tech/matrix-icons\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\nimport { printHtml } from \"../../lib/printHtml\";\r\nimport { TextField } from \"../text-field/TextField\";\r\nimport { Button, ButtonProps } from \"../button/Button\";\r\nimport { IconButton, IconButtonProps } from \"../icon-botton/IconButton\";\r\nimport { Popover, PopoverContent, PopoverContentProps, PopoverProps, PopoverTrigger, PopoverTriggerProps } from \"../popover/Popover\";\r\n\r\n// Register all Community features\r\n// Todo: Register only the required features\r\nModuleRegistry.registerModules([AllCommunityModule]);\r\n\r\nconst dataGridDefaultTheme = themeQuartz.withParams({\r\n fontFamily: \"DMSans\",\r\n fontSize: \"12px\",\r\n headerFontSize: \"12px\",\r\n headerFontWeight: 700,\r\n headerBackgroundColor: \"oklch(var(--mtx-primary-50))\",\r\n backgroundColor: \"oklch(var(--mtx-gray-0))\",\r\n accentColor: \"oklch(var(--mtx-primary-300))\",\r\n foregroundColor: \"oklch(var(--mtx-text-500))\",\r\n cellTextColor: \"oklch(var(--mtx-text-500))\",\r\n});\r\n\r\ntype DataGridContext = {\r\n api: GridApi | null;\r\n setApi: (value: GridApi) => void;\r\n rowData: any[] | null | undefined;\r\n setRowData: (value: any[] | null | undefined) => void;\r\n gridId: string;\r\n quickFilterText: string;\r\n setQuickFilterText: (value: string) => void;\r\n actionbarExists: boolean;\r\n setActionbarExists: (value: boolean) => void;\r\n actionbarHeight: number;\r\n setActionbarHeight: (value: number) => void;\r\n pinnedRowIds: Set<string>;\r\n setPinnedRowIds: (value: Set<string>) => void;\r\n};\r\n\r\nconst DataGridContext = React.createContext<DataGridContext | null>(null);\r\n\r\nconst useDataGrid = () => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"useDataGrid should be used within <DataGrid>\");\r\n }\r\n\r\n return context;\r\n};\r\n\r\ntype DataGridProps = {\r\n children: React.ReactNode;\r\n};\r\n\r\nconst DataGrid: React.FC<DataGridProps> = ({ children }) => {\r\n const gridId = React.useId();\r\n const [api, setApi] = React.useState<GridApi | null>(null);\r\n const [rowData, setRowData] = React.useState<any[] | null | undefined>([]);\r\n const [actionbarHeight, setActionbarHeight] = React.useState(0);\r\n const [pinnedRowIds, setPinnedRowIds] = React.useState<Set<string>>(new Set());\r\n\r\n const [quickFilterText, setQuickFilterText] = React.useState(\"\");\r\n const [actionbarExists, setActionbarExists] = React.useState(false);\r\n return (\r\n <DataGridContext.Provider\r\n value={{\r\n api,\r\n setApi,\r\n rowData,\r\n setRowData,\r\n gridId,\r\n quickFilterText,\r\n setQuickFilterText,\r\n actionbarExists,\r\n setActionbarExists,\r\n actionbarHeight,\r\n setActionbarHeight,\r\n pinnedRowIds,\r\n setPinnedRowIds,\r\n }}\r\n >\r\n {children}\r\n </DataGridContext.Provider>\r\n );\r\n};\r\n\r\ntype DataGridContentProps = Omit<AgGridReactProps, \"theme\"> & {\r\n theme?: Theme;\r\n};\r\n\r\nconst DataGridContent = forwardRef<AgGridReact, DataGridContentProps>(\r\n ({ theme: propTheme, onGridReady, quickFilterText: quickFilterTextProps, rowData: rowDataProps, containerStyle, getRowId, ...props }, ref) => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"DataGridContent should be used within <DataGrid>\");\r\n }\r\n const { rowData, setRowData, actionbarExists, setApi, setQuickFilterText, quickFilterText, gridId, actionbarHeight, pinnedRowIds } = context;\r\n\r\n const theme = useMemo(() => {\r\n return dataGridDefaultTheme.withParams({\r\n headerHeight: 40,\r\n wrapperBorderRadius: actionbarExists ? \"0px 0px 8px 8px\" : \"8px\",\r\n });\r\n }, [actionbarExists]);\r\n\r\n const handleGridReady = (e: GridReadyEvent) => {\r\n setApi(e.api);\r\n onGridReady?.(e);\r\n };\r\n\r\n React.useEffect(() => {\r\n setRowData(rowDataProps);\r\n }, [rowDataProps, setRowData]);\r\n\r\n React.useEffect(() => {\r\n if (quickFilterTextProps !== undefined) {\r\n setQuickFilterText(quickFilterTextProps ?? \"\");\r\n }\r\n }, [quickFilterTextProps, setQuickFilterText]);\r\n\r\n const { finalRowData, finalPinnedTopRowData } = useMemo(() => {\r\n if (!rowData || pinnedRowIds.size === 0) {\r\n return { finalRowData: rowData, finalPinnedTopRowData: [] };\r\n }\r\n\r\n const pinned: any[] = [];\r\n const unpinned: any[] = [];\r\n\r\n rowData.forEach(data => {\r\n const id = getRowId ? getRowId({ data, level: 0 } as any) : (data as any).id;\r\n const stringId = id !== undefined && id !== null ? String(id) : undefined;\r\n\r\n if (stringId !== undefined && pinnedRowIds.has(stringId)) {\r\n pinned.push(data);\r\n } else {\r\n unpinned.push(data);\r\n }\r\n });\r\n\r\n return { finalRowData: unpinned, finalPinnedTopRowData: pinned };\r\n }, [rowData, pinnedRowIds, getRowId]);\r\n\r\n return (\r\n <AgGridReact\r\n gridId={gridId}\r\n theme={propTheme ?? theme}\r\n rowData={finalRowData}\r\n pinnedTopRowData={finalPinnedTopRowData}\r\n quickFilterText={quickFilterText}\r\n onGridReady={handleGridReady}\r\n containerStyle={{ height: `calc(100% - ${actionbarHeight}px)`, ...containerStyle }}\r\n getRowId={getRowId}\r\n {...props}\r\n ref={ref}\r\n />\r\n );\r\n },\r\n);\r\n\r\nDataGridContent.displayName = \"DataGridContent\";\r\n\r\ntype DatagridActionBarProps = HTMLAttributes<HTMLDivElement> & {};\r\n\r\nconst DataGridActionBar: React.FC<DatagridActionBarProps> = ({ className, ...props }) => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"DataGridActionBar should be used within <DataGrid>\");\r\n }\r\n const ref = React.useRef<HTMLDivElement | null>(null);\r\n const { setActionbarExists, setActionbarHeight } = context;\r\n const { children } = props;\r\n\r\n React.useEffect(() => {\r\n setActionbarExists(true);\r\n return () => setActionbarExists(false);\r\n }, [setActionbarExists]);\r\n\r\n React.useEffect(() => {\r\n if (ref.current) {\r\n setActionbarHeight(ref.current.clientHeight);\r\n }\r\n }, [setActionbarHeight]);\r\n\r\n return (\r\n <div\r\n className={cn(\r\n \"mtx-relative mtx-flex mtx-items-center mtx-p-2 mtx-h-12 mtx-w-full mtx-bg-gray-0 mtx-border mtx-border-gray-200 mtx-border-b-0 -mtx-mb-[1px] mtx-z-10 mtx-rounded-t-[8px]\",\r\n className,\r\n )}\r\n ref={ref}\r\n >\r\n {children}\r\n </div>\r\n );\r\n};\r\n\r\ntype SearchActionProps = HTMLAttributes<HTMLDivElement> & {\r\n defaultOpen?: boolean;\r\n};\r\n\r\nconst SearchAction: React.FC<SearchActionProps> = ({ defaultOpen = false, className, ...props }) => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"SearchAction should be used within <DataGrid>\");\r\n }\r\n\r\n const { quickFilterText, setQuickFilterText } = context;\r\n\r\n const [isSearchInputOpen, setIsSearchInputOpen] = React.useState(defaultOpen);\r\n const [isClosing, setIsClosing] = React.useState(false);\r\n const inputRef = React.useRef<HTMLInputElement | null>(null);\r\n\r\n const handleClear = () => {\r\n context.setQuickFilterText(\"\");\r\n if (inputRef.current) {\r\n inputRef.current.focus();\r\n }\r\n };\r\n\r\n const handleOpen = () => {\r\n setIsSearchInputOpen(true);\r\n };\r\n\r\n React.useEffect(() => {\r\n if (isSearchInputOpen && inputRef?.current) {\r\n inputRef.current.focus();\r\n }\r\n }, [isSearchInputOpen]);\r\n\r\n const handleClose = () => {\r\n setIsClosing(true);\r\n context.setQuickFilterText(\"\");\r\n setTimeout(() => {\r\n setIsSearchInputOpen(false);\r\n setIsClosing(false);\r\n }, 200);\r\n };\r\n\r\n return (\r\n <div className={cn(\"mtx-max-w-60\", className)} {...props}>\r\n {isSearchInputOpen || isClosing ? (\r\n <TextField\r\n ref={inputRef}\r\n className={cn(\r\n \"mtx-relative mtx-h-7.5\",\r\n isSearchInputOpen && !isClosing ? \"mtx-animate-input-open\" : \"\",\r\n isClosing && \"mtx-animate-input-close\",\r\n )}\r\n onChange={e => setQuickFilterText(e.target.value)}\r\n value={quickFilterText}\r\n startAdornment={\r\n <IconButton variant=\"toolbar\" className=\"mtx-p-0.5 mtx-h-6 mtx-w-6 mtx-border-none mtx-mx-1\" onClick={handleClose}>\r\n <Magnifier className=\"mtx-w-5 mtx-h-5\" />\r\n </IconButton>\r\n }\r\n endAdornment={\r\n quickFilterText && (\r\n <IconButton variant=\"toolbar\" className=\"mtx-p-0.5 mtx-w-6 mtx-h-6 mtx-border-none mtx-mx-1\" onClick={handleClear}>\r\n <CircleXmark className=\"mtx-w-5 mtx-h-5\" />\r\n </IconButton>\r\n )\r\n }\r\n />\r\n ) : (\r\n <IconButton variant=\"toolbar\" className=\"mtx-p-0.5 mtx-w-6 mtx-h-6 mtx-m-1\" onClick={handleOpen}>\r\n <Magnifier className=\"mtx-w-5 mtx-h-5\" />\r\n </IconButton>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\ntype FreezeActionProps = ButtonProps & {\r\n freezeText?: string;\r\n unFreezeText?: string;\r\n};\r\n\r\nconst FreezeAction: React.FC<FreezeActionProps> = ({ freezeText, unFreezeText, onClick, disabled, ...props }) => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"FreezeAction should be used within <DataGrid>\");\r\n }\r\n\r\n const [pinnedRowCount, setPinnedRowCount] = React.useState(0);\r\n const [selectedRowsCount, setSelectedRowsCount] = React.useState(0);\r\n\r\n const { api, pinnedRowIds, setPinnedRowIds } = context;\r\n\r\n const freezeRows = () => {\r\n if (!api) return;\r\n\r\n // Get currently selected rows\r\n const selectedRows = api.getSelectedNodes();\r\n\r\n if (selectedRows.length > 0) {\r\n const newPinnedIds = new Set(pinnedRowIds);\r\n selectedRows.forEach(row => {\r\n if (row.id !== undefined) {\r\n newPinnedIds.add(row.id);\r\n }\r\n });\r\n setPinnedRowIds(newPinnedIds);\r\n api.deselectAll();\r\n }\r\n };\r\n\r\n const unfreezeRows = () => {\r\n setPinnedRowIds(new Set());\r\n };\r\n\r\n const handleFreezing = (e: React.MouseEvent<HTMLButtonElement>) => {\r\n if (api) {\r\n const pinnedRowsCount = api.getPinnedTopRowCount();\r\n if (pinnedRowsCount > 0) {\r\n unfreezeRows();\r\n } else {\r\n freezeRows();\r\n }\r\n }\r\n onClick?.(e);\r\n };\r\n\r\n React.useEffect(() => {\r\n api?.addEventListener(\"pinnedRowDataChanged\", () => {\r\n setPinnedRowCount(api.getPinnedTopRowCount());\r\n });\r\n\r\n api?.addEventListener(\"selectionChanged\", () => {\r\n setSelectedRowsCount(api.getSelectedNodes().length);\r\n });\r\n\r\n return () => {\r\n if (api?.isDestroyed()) return;\r\n api?.removeEventListener(\"pinnedRowDataChanged\", () => {\r\n setPinnedRowCount(api.getPinnedTopRowCount());\r\n });\r\n\r\n api?.removeEventListener(\"selectionChanged\", () => {\r\n setSelectedRowsCount(api.getSelectedNodes().length);\r\n });\r\n };\r\n }, [api]);\r\n\r\n return (\r\n <Button\r\n variant=\"text\"\r\n onClick={handleFreezing}\r\n startIcon={<Snowflake className=\"mtx-w-4.5 mtx-h-4.5\" />}\r\n disabled={(!pinnedRowCount && !selectedRowsCount) || disabled}\r\n {...props}\r\n >\r\n {pinnedRowCount ? (unFreezeText ?? \"Unfreeze\") : (freezeText ?? \"Freeze\")}\r\n </Button>\r\n );\r\n};\r\n\r\ntype PrintActionProps = IconButtonProps & {};\r\n\r\nconst PrintAction: React.FC<PrintActionProps> = ({ children, className, onClick, ...props }) => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"PrintAction should be used within <DataGrid>\");\r\n }\r\n\r\n const handlePrint = (e: React.MouseEvent<HTMLButtonElement>) => {\r\n if (context.api) {\r\n context.api.setGridOption(\"domLayout\", \"print\");\r\n\r\n setTimeout(() => {\r\n const element = document.querySelector(\"[grid-id='\" + context.gridId + \"']\") as HTMLElement;\r\n const header = document.head;\r\n const html = `<html>\r\n ${header.innerHTML}\r\n ${element.outerHTML}\r\n </html>`;\r\n printHtml(html);\r\n context?.api?.setGridOption(\"domLayout\", undefined);\r\n });\r\n }\r\n onClick?.(e);\r\n };\r\n\r\n return (\r\n <IconButton variant=\"toolbar\" className={cn(\"mtx-p-0.5 mtx-w-6 mtx-h-6\", className)} onClick={handlePrint} {...props}>\r\n {children ?? <Print className=\"mtx-w-5 mtx-h-5\" />}\r\n </IconButton>\r\n );\r\n};\r\n\r\ntype RefreshActionProps = Omit<IconButtonProps, \"onClick\"> & {\r\n onRefresh: () => void;\r\n};\r\n\r\nconst RefreshAction: React.FC<RefreshActionProps> = ({ className, onRefresh, children, loading, ...props }) => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"RefreshAction should be used within <DataGrid>\");\r\n }\r\n\r\n const handleRefresh = () => {\r\n onRefresh();\r\n };\r\n\r\n return (\r\n <IconButton\r\n className={cn(\"mtx-p-0.5 mtx-w-6 mtx-h-6\", loading && \"disabled:mtx-bg-transparent\", className)}\r\n variant=\"toolbar\"\r\n onClick={handleRefresh}\r\n disabled={loading}\r\n {...props}\r\n >\r\n {children ?? <Refresh className={cn(\"mtx-w-4.5 mtx-h-4.5\", loading && \"mtx-animate-spin\")} />}\r\n </IconButton>\r\n );\r\n};\r\n\r\ntype DeleteActionProps = Omit<ButtonProps, \"onClick\"> & {\r\n onDelete: () => void;\r\n};\r\n\r\nconst DeleteAction: React.FC<DeleteActionProps> = ({ onDelete, children, ...props }) => {\r\n const handleDelete = () => {\r\n onDelete();\r\n };\r\n\r\n return (\r\n <Button variant=\"danger\" onClick={handleDelete} startIcon={<Trashcan className=\"mtx-w-4.5 mtx-h-4.5\" />} {...props}>\r\n {children}\r\n </Button>\r\n );\r\n};\r\n\r\ntype ExtraActionsProps = PopoverContentProps & {\r\n children: React.ReactNode;\r\n slotProps?: {\r\n triggerProps?: PopoverTriggerProps;\r\n popoverProps?: PopoverProps;\r\n };\r\n};\r\n\r\nconst ExtraActions: React.FC<ExtraActionsProps> = ({ children, slotProps, className, ...props }) => {\r\n return (\r\n <Popover {...(slotProps?.popoverProps ?? {})}>\r\n <PopoverTrigger {...(slotProps?.triggerProps ?? {})}>\r\n <ElipsisVertical className=\"mtx-w-4.5 mtx-h-4.5 mtx-text-primary\" />\r\n </PopoverTrigger>\r\n <PopoverContent align=\"end\" className={cn(\"mtx-w-40\", className)} {...props}>\r\n {children}\r\n </PopoverContent>\r\n </Popover>\r\n );\r\n};\r\n\r\nexport {\r\n DataGrid,\r\n DataGridContent,\r\n DataGridActionBar,\r\n SearchAction,\r\n FreezeAction,\r\n PrintAction,\r\n RefreshAction,\r\n ExtraActions,\r\n DeleteAction,\r\n type DataGridProps,\r\n type DataGridContentProps,\r\n type DatagridActionBarProps,\r\n type SearchActionProps,\r\n type FreezeActionProps,\r\n type RefreshActionProps,\r\n type ExtraActionsProps,\r\n type DeleteActionProps,\r\n useDataGrid,\r\n dataGridDefaultTheme,\r\n};\r\n"],"names":["ModuleRegistry","AllCommunityModule","dataGridDefaultTheme","themeQuartz","DataGridContext","React","useDataGrid","context","DataGrid","children","gridId","api","setApi","rowData","setRowData","actionbarHeight","setActionbarHeight","pinnedRowIds","setPinnedRowIds","quickFilterText","setQuickFilterText","actionbarExists","setActionbarExists","jsx","DataGridContent","forwardRef","propTheme","onGridReady","quickFilterTextProps","rowDataProps","containerStyle","getRowId","props","ref","theme","useMemo","handleGridReady","e","finalRowData","finalPinnedTopRowData","pinned","unpinned","data","id","stringId","AgGridReact","DataGridActionBar","className","cn","SearchAction","defaultOpen","isSearchInputOpen","setIsSearchInputOpen","isClosing","setIsClosing","inputRef","handleClear","handleOpen","handleClose","TextField","IconButton","Magnifier","CircleXmark","FreezeAction","freezeText","unFreezeText","onClick","disabled","pinnedRowCount","setPinnedRowCount","selectedRowsCount","setSelectedRowsCount","freezeRows","selectedRows","newPinnedIds","row","unfreezeRows","handleFreezing","Button","Snowflake","PrintAction","handlePrint","element","html","printHtml","Print","RefreshAction","onRefresh","loading","handleRefresh","Refresh","DeleteAction","onDelete","Trashcan","ExtraActions","slotProps","Popover","PopoverTrigger","ElipsisVertical","PopoverContent"],"mappings":"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"}
|
|
@@ -46,7 +46,7 @@ const T = ({
|
|
|
46
46
|
/* @__PURE__ */ t(k, { open: w, onOpenChange: i, children: /* @__PURE__ */ a(j, { className: "mtx-h-dscreen mtx-w-screen mtx-p-0 mtx-flex mtx-flex-col mtx-gap-0 data-[state=open]:mtx-animate-slide-from-bottom data-[state=closed]:mtx-animate-slide-to-bottom mtx-overflow-auto mtx-max-w-screen-2xl sm:mtx-rounded-none", children: [
|
|
47
47
|
/* @__PURE__ */ a(P, { className: "mtx-p-4 mtx-border-b mtx-border-b-gray-200", children: [
|
|
48
48
|
/* @__PURE__ */ t(F, { asChild: !0, children: /* @__PURE__ */ a("div", { className: "mtx-text-sm mtx-font-bold mtx-space-y-1 mtx-mt-3", children: [
|
|
49
|
-
/* @__PURE__ */ t("h5", { className: "mtx-text-text-300", children: m
|
|
49
|
+
/* @__PURE__ */ t("h5", { className: "mtx-text-text-300", children: m ? m.getFullYear() : /* @__PURE__ */ t("pre", { children: " " }) }),
|
|
50
50
|
/* @__PURE__ */ t("h6", { className: "", children: m ? n(m, r ?? "eee, MMM dd") : /* @__PURE__ */ t("pre", { children: " " }) })
|
|
51
51
|
] }) }),
|
|
52
52
|
/* @__PURE__ */ t(M, { children: /* @__PURE__ */ t(O, { children: "Date Picker" }) })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mobiledatepicker.es.js","sources":["../src/components/date-picker/MobileDatePicker.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport * as React from \"react\";\r\nimport { format } from \"date-fns\";\r\nimport { PropsBase, PropsSingle } from \"react-day-picker\";\r\nimport { VisuallyHidden } from \"@radix-ui/react-visually-hidden\";\r\nimport { Calendar as CalendarIcon } from \"@trsys-tech/matrix-icons\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\nimport { Calendar } from \"./calendar\";\r\nimport { Button } from \"../button/Button\";\r\nimport { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from \"../dialog/Dialog\";\r\n\r\ntype MobileDatePickerProps = PropsBase &\r\n Omit<PropsSingle, \"mode\"> & {\r\n formatStr?: string;\r\n placeholder?: string;\r\n calendarClassName?: string;\r\n selected?: Date;\r\n required?: boolean;\r\n cancelText?: string;\r\n applyText?: string;\r\n onSelect?: (date: Date | undefined) => void;\r\n disabled?: boolean;\r\n };\r\n\r\nconst MobileDatePicker: React.FC<MobileDatePickerProps> = ({\r\n formatStr,\r\n selected,\r\n placeholder,\r\n className,\r\n calendarClassName,\r\n cancelText,\r\n applyText,\r\n onSelect,\r\n disabled,\r\n ...props\r\n}) => {\r\n const [isOpen, setIsOpen] = React.useState(false);\r\n const [selectedDate, setSelectedDate] = React.useState<Date | undefined>(selected);\r\n\r\n const handleCancel = () => {\r\n setIsOpen(false);\r\n setSelectedDate(selected);\r\n };\r\n\r\n const handleApply = () => {\r\n onSelect?.(selectedDate);\r\n setIsOpen(false);\r\n };\r\n\r\n return (\r\n <>\r\n <Button\r\n variant=\"text\"\r\n className={cn(\r\n \"mtx-flex mtx-h-8 mtx-w-full mtx-items-center mtx-justify-between mtx-whitespace-nowrap mtx-rounded-sm mtx-border mtx-border-input mtx-bg-transparent mtx-ps-3 mtx-pe-1 mtx-py-1.5 mtx-text-xs mtx-ring-offset-background data-[placeholder]:mtx-text-muted-foreground hover:mtx-border hover:mtx-border-primary hover:mtx-bg-transparent focus:mtx-border focus:mtx-border-primary focus:mtx-outline-none focus:mtx-ring focus:mtx-ring-primary-100 disabled:mtx-cursor-not-allowed disabled:mtx-bg-gray-100 disabled:mtx-text-text-300 disabled:mtx-border-gray-100 [&>span]:mtx-line-clamp-1 [&_svg]:disabled:mtx-text-text-300\",\r\n className,\r\n )}\r\n data-placeholder={!selected ? \"\" : undefined}\r\n onClick={() => setIsOpen(true)}\r\n aria-label={selected ? `Selected date: ${format(selected, formatStr ?? \"yyyy/MM/dd\")}` : \"Pick a date\"}\r\n disabled={disabled}\r\n >\r\n {selected ? format(selected, formatStr ?? \"eee, MMM dd\") : <span>{placeholder ?? \"Pick a date\"}</span>}\r\n <CalendarIcon className=\"mtx-mr-2 mtx-h-5 mtx-w-5 mtx-ms-auto\" />\r\n </Button>\r\n <Dialog open={isOpen} onOpenChange={handleCancel}>\r\n <DialogContent className=\"mtx-h-dscreen mtx-w-screen mtx-p-0 mtx-flex mtx-flex-col mtx-gap-0 data-[state=open]:mtx-animate-slide-from-bottom data-[state=closed]:mtx-animate-slide-to-bottom mtx-overflow-auto mtx-max-w-screen-2xl sm:mtx-rounded-none\">\r\n <DialogHeader className=\"mtx-p-4 mtx-border-b mtx-border-b-gray-200\">\r\n <DialogTitle asChild>\r\n <div className=\"mtx-text-sm mtx-font-bold mtx-space-y-1 mtx-mt-3\">\r\n <h5 className=\"mtx-text-text-300\">{selectedDate
|
|
1
|
+
{"version":3,"file":"mobiledatepicker.es.js","sources":["../src/components/date-picker/MobileDatePicker.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport * as React from \"react\";\r\nimport { format } from \"date-fns\";\r\nimport { PropsBase, PropsSingle } from \"react-day-picker\";\r\nimport { VisuallyHidden } from \"@radix-ui/react-visually-hidden\";\r\nimport { Calendar as CalendarIcon } from \"@trsys-tech/matrix-icons\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\nimport { Calendar } from \"./calendar\";\r\nimport { Button } from \"../button/Button\";\r\nimport { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from \"../dialog/Dialog\";\r\n\r\ntype MobileDatePickerProps = PropsBase &\r\n Omit<PropsSingle, \"mode\"> & {\r\n formatStr?: string;\r\n placeholder?: string;\r\n calendarClassName?: string;\r\n selected?: Date;\r\n required?: boolean;\r\n cancelText?: string;\r\n applyText?: string;\r\n onSelect?: (date: Date | undefined) => void;\r\n disabled?: boolean;\r\n };\r\n\r\nconst MobileDatePicker: React.FC<MobileDatePickerProps> = ({\r\n formatStr,\r\n selected,\r\n placeholder,\r\n className,\r\n calendarClassName,\r\n cancelText,\r\n applyText,\r\n onSelect,\r\n disabled,\r\n ...props\r\n}) => {\r\n const [isOpen, setIsOpen] = React.useState(false);\r\n const [selectedDate, setSelectedDate] = React.useState<Date | undefined>(selected);\r\n\r\n const handleCancel = () => {\r\n setIsOpen(false);\r\n setSelectedDate(selected);\r\n };\r\n\r\n const handleApply = () => {\r\n onSelect?.(selectedDate);\r\n setIsOpen(false);\r\n };\r\n\r\n return (\r\n <>\r\n <Button\r\n variant=\"text\"\r\n className={cn(\r\n \"mtx-flex mtx-h-8 mtx-w-full mtx-items-center mtx-justify-between mtx-whitespace-nowrap mtx-rounded-sm mtx-border mtx-border-input mtx-bg-transparent mtx-ps-3 mtx-pe-1 mtx-py-1.5 mtx-text-xs mtx-ring-offset-background data-[placeholder]:mtx-text-muted-foreground hover:mtx-border hover:mtx-border-primary hover:mtx-bg-transparent focus:mtx-border focus:mtx-border-primary focus:mtx-outline-none focus:mtx-ring focus:mtx-ring-primary-100 disabled:mtx-cursor-not-allowed disabled:mtx-bg-gray-100 disabled:mtx-text-text-300 disabled:mtx-border-gray-100 [&>span]:mtx-line-clamp-1 [&_svg]:disabled:mtx-text-text-300\",\r\n className,\r\n )}\r\n data-placeholder={!selected ? \"\" : undefined}\r\n onClick={() => setIsOpen(true)}\r\n aria-label={selected ? `Selected date: ${format(selected, formatStr ?? \"yyyy/MM/dd\")}` : \"Pick a date\"}\r\n disabled={disabled}\r\n >\r\n {selected ? format(selected, formatStr ?? \"eee, MMM dd\") : <span>{placeholder ?? \"Pick a date\"}</span>}\r\n <CalendarIcon className=\"mtx-mr-2 mtx-h-5 mtx-w-5 mtx-ms-auto\" />\r\n </Button>\r\n <Dialog open={isOpen} onOpenChange={handleCancel}>\r\n <DialogContent className=\"mtx-h-dscreen mtx-w-screen mtx-p-0 mtx-flex mtx-flex-col mtx-gap-0 data-[state=open]:mtx-animate-slide-from-bottom data-[state=closed]:mtx-animate-slide-to-bottom mtx-overflow-auto mtx-max-w-screen-2xl sm:mtx-rounded-none\">\r\n <DialogHeader className=\"mtx-p-4 mtx-border-b mtx-border-b-gray-200\">\r\n <DialogTitle asChild>\r\n <div className=\"mtx-text-sm mtx-font-bold mtx-space-y-1 mtx-mt-3\">\r\n <h5 className=\"mtx-text-text-300\">{selectedDate ? selectedDate.getFullYear() : <pre> </pre>}</h5>\r\n <h6 className=\"\">{selectedDate ? format(selectedDate, formatStr ?? \"eee, MMM dd\") : <pre> </pre>}</h6>\r\n </div>\r\n </DialogTitle>\r\n <VisuallyHidden>\r\n <DialogDescription>{\"Date Picker\"}</DialogDescription>\r\n </VisuallyHidden>\r\n </DialogHeader>\r\n <div className=\"mtx-flex-1 mtx-flex mtx-flex-col mtx-items-center mtx-p-4\">\r\n <Calendar\r\n defaultMonth={selected}\r\n startMonth={new Date(2000, 0, 1)}\r\n endMonth={new Date(new Date().getFullYear() + 2, 11, 31)}\r\n {...props}\r\n mode=\"single\"\r\n selected={selectedDate}\r\n onSelect={setSelectedDate}\r\n className={cn(\"mtx-p-0\", calendarClassName)}\r\n />\r\n <div className=\"mtx-flex mtx-justify-center mtx-items-center mtx-gap-4 mtx-mt-auto mtx-w-full\">\r\n <Button variant=\"text\" className=\"mtx-flex-1 mtx-h-10\" onClick={handleCancel}>\r\n {cancelText ?? \"Cancel\"}\r\n </Button>\r\n <Button variant=\"primary\" className=\"mtx-flex-1 mtx-h-10\" onClick={handleApply}>\r\n {applyText ?? \"Apply\"}\r\n </Button>\r\n </div>\r\n </div>\r\n </DialogContent>\r\n </Dialog>\r\n </>\r\n );\r\n};\r\n\r\nexport { MobileDatePicker, type MobileDatePickerProps };\r\n"],"names":["MobileDatePicker","formatStr","selected","placeholder","className","calendarClassName","cancelText","applyText","onSelect","disabled","props","isOpen","setIsOpen","React","selectedDate","setSelectedDate","handleCancel","handleApply","jsxs","Fragment","Button","cn","format","jsx","CalendarIcon","Dialog","DialogContent","DialogHeader","DialogTitle","VisuallyHidden","DialogDescription","Calendar"],"mappings":"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"}
|
package/dist/sidebar.es.js
CHANGED
|
@@ -4,13 +4,13 @@ import { Slot as w } from "@radix-ui/react-slot";
|
|
|
4
4
|
import { tv as z } from "tailwind-variants";
|
|
5
5
|
import { VisuallyHidden as I } from "@radix-ui/react-visually-hidden";
|
|
6
6
|
import { cn as d } from "./utils.es.js";
|
|
7
|
-
import { Skeleton as
|
|
7
|
+
import { Skeleton as C } from "./skeleton.es.js";
|
|
8
8
|
import { Separator as E } from "./separator.es.js";
|
|
9
9
|
import { useIsMobile as B } from "./use-mobile.es.js";
|
|
10
10
|
import { Tooltip as T, TooltipTrigger as A, TooltipContent as D, TooltipProvider as O } from "./tooltip.es.js";
|
|
11
11
|
import { Sheet as G, SheetContent as H, SheetHeader as j, SheetTitle as K, SheetDescription as L } from "./sheet.es.js";
|
|
12
|
-
const V = "sidebar:state", $ = 3600 * 24 * 7, y = "16rem",
|
|
13
|
-
function
|
|
12
|
+
const V = "sidebar:state", $ = 3600 * 24 * 7, y = "16rem", _ = "18rem", N = "4rem", P = "b", M = i.createContext(null);
|
|
13
|
+
function R() {
|
|
14
14
|
const t = i.useContext(M);
|
|
15
15
|
if (!t)
|
|
16
16
|
throw new Error("useSidebar must be used within a SidebarProvider.");
|
|
@@ -53,7 +53,7 @@ const W = i.forwardRef(({ defaultOpen: t = !0, open: e, onOpenChange: a, classNa
|
|
|
53
53
|
});
|
|
54
54
|
W.displayName = "SidebarProvider";
|
|
55
55
|
const q = i.forwardRef(({ side: t = "left", variant: e = "sidebar", collapsible: a = "offcanvas", className: m, children: o, width: s, widthIcon: n, widthMobile: x, style: p, ...f }, g) => {
|
|
56
|
-
const { isMobile: l, state: b, open: h, setOpen: S } =
|
|
56
|
+
const { isMobile: l, state: b, open: h, setOpen: S } = R();
|
|
57
57
|
return a === "none" ? /* @__PURE__ */ r(
|
|
58
58
|
"div",
|
|
59
59
|
{
|
|
@@ -85,9 +85,9 @@ const q = i.forwardRef(({ side: t = "left", variant: e = "sidebar", collapsible:
|
|
|
85
85
|
className: "data-[side=left]:mtx-w-[--sidebar-left-width] data-[side=right]:mtx-w-[--sidebar-right-width] mtx-bg-gray-50 mtx-p-0 [&>button]:mtx-hidden",
|
|
86
86
|
style: {
|
|
87
87
|
...t === "left" ? {
|
|
88
|
-
"--sidebar-left-width": x ??
|
|
88
|
+
"--sidebar-left-width": x ?? _
|
|
89
89
|
} : {
|
|
90
|
-
"--sidebar-right-width": x ??
|
|
90
|
+
"--sidebar-right-width": x ?? _
|
|
91
91
|
}
|
|
92
92
|
},
|
|
93
93
|
side: t,
|
|
@@ -158,7 +158,7 @@ const q = i.forwardRef(({ side: t = "left", variant: e = "sidebar", collapsible:
|
|
|
158
158
|
q.displayName = "Sidebar";
|
|
159
159
|
const F = i.forwardRef(
|
|
160
160
|
({ className: t, onClick: e, asChild: a, ...m }, o) => {
|
|
161
|
-
const { toggleSidebar: s } =
|
|
161
|
+
const { toggleSidebar: s } = R();
|
|
162
162
|
return /* @__PURE__ */ r(
|
|
163
163
|
a ? w : "button",
|
|
164
164
|
{
|
|
@@ -175,7 +175,7 @@ const F = i.forwardRef(
|
|
|
175
175
|
);
|
|
176
176
|
F.displayName = "SidebarTrigger";
|
|
177
177
|
const U = i.forwardRef(({ className: t, ...e }, a) => {
|
|
178
|
-
const { toggleSidebar: m } =
|
|
178
|
+
const { toggleSidebar: m } = R();
|
|
179
179
|
return /* @__PURE__ */ r(
|
|
180
180
|
"button",
|
|
181
181
|
{
|
|
@@ -286,7 +286,7 @@ const mt = z({
|
|
|
286
286
|
variants: {
|
|
287
287
|
variant: {
|
|
288
288
|
default: "hover:mtx-bg-gray-50",
|
|
289
|
-
outline: "mtx-bg-background mtx-shadow-[
|
|
289
|
+
outline: "mtx-bg-background mtx-shadow-[oklch(var(--gray--300))] hover:mtx-bg-gray-50 hover:mtx-shadow-[oklch(var(--gray-400))]"
|
|
290
290
|
},
|
|
291
291
|
size: {
|
|
292
292
|
default: "mtx-h-10 mtx-text-sm",
|
|
@@ -299,7 +299,7 @@ const mt = z({
|
|
|
299
299
|
size: "default"
|
|
300
300
|
}
|
|
301
301
|
}), ot = i.forwardRef(({ asChild: t = !1, isActive: e = !1, variant: a = "default", size: m = "default", tooltip: o, className: s, ...n }, x) => {
|
|
302
|
-
const p = t ? w : "button", { isMobile: f, state: g } =
|
|
302
|
+
const p = t ? w : "button", { isMobile: f, state: g } = R(), l = /* @__PURE__ */ r(
|
|
303
303
|
p,
|
|
304
304
|
{
|
|
305
305
|
ref: x,
|
|
@@ -365,9 +365,9 @@ const lt = i.forwardRef(({ className: t, showIcon: e = !1, ...a }, m) => {
|
|
|
365
365
|
className: d("mtx-rounded-md mtx-h-8 mtx-flex mtx-gap-2 mtx-px-2 mtx-items-center", t),
|
|
366
366
|
...a,
|
|
367
367
|
children: [
|
|
368
|
-
e && /* @__PURE__ */ r(
|
|
368
|
+
e && /* @__PURE__ */ r(C, { className: "mtx-size-4 mtx-rounded-md", "data-sidebar": "menu-skeleton-icon" }),
|
|
369
369
|
/* @__PURE__ */ r(
|
|
370
|
-
|
|
370
|
+
C,
|
|
371
371
|
{
|
|
372
372
|
className: "mtx-h-4 mtx-flex-1 mtx-max-w-[--skeleton-width]",
|
|
373
373
|
"data-sidebar": "menu-skeleton-text",
|
|
@@ -435,6 +435,6 @@ export {
|
|
|
435
435
|
U as SidebarRail,
|
|
436
436
|
Q as SidebarSeparator,
|
|
437
437
|
F as SidebarTrigger,
|
|
438
|
-
|
|
438
|
+
R as useSidebar
|
|
439
439
|
};
|
|
440
440
|
//# sourceMappingURL=sidebar.es.js.map
|