iguazio.dashboard-react-controls 3.2.22 → 3.2.24
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/images/model-server-step-badge.svg +4 -0
- package/dist/nextGenComponents/components/Badge/Badge.d.ts +13 -0
- package/dist/nextGenComponents/components/Badge/Badge.d.ts.map +1 -0
- package/dist/nextGenComponents/components/Badge/Badge.mjs +23 -0
- package/dist/nextGenComponents/components/Badge/Badge.mjs.map +1 -0
- package/dist/nextGenComponents/components/Badge/index.d.ts +3 -0
- package/dist/nextGenComponents/components/Badge/index.d.ts.map +1 -0
- package/dist/nextGenComponents/components/Badge/index.mjs +6 -0
- package/dist/nextGenComponents/components/Badge/index.mjs.map +1 -0
- package/dist/nextGenComponents/components/BadgeCell/BadgeCell.d.ts +13 -0
- package/dist/nextGenComponents/components/BadgeCell/BadgeCell.d.ts.map +1 -0
- package/dist/nextGenComponents/components/BadgeCell/BadgeCell.mjs +109 -0
- package/dist/nextGenComponents/components/BadgeCell/BadgeCell.mjs.map +1 -0
- package/dist/nextGenComponents/components/BadgeCell/index.d.ts +3 -0
- package/dist/nextGenComponents/components/BadgeCell/index.d.ts.map +1 -0
- package/dist/nextGenComponents/components/BadgeCell/index.mjs +5 -0
- package/dist/nextGenComponents/components/BadgeCell/index.mjs.map +1 -0
- package/dist/nextGenComponents/components/FilterPopover/FilterPopover.d.ts +2 -1
- package/dist/nextGenComponents/components/FilterPopover/FilterPopover.d.ts.map +1 -1
- package/dist/nextGenComponents/components/FilterPopover/FilterPopover.mjs +57 -54
- package/dist/nextGenComponents/components/FilterPopover/FilterPopover.mjs.map +1 -1
- package/dist/nextGenComponents/components/index.d.ts +7 -0
- package/dist/nextGenComponents/components/index.d.ts.map +1 -1
- package/dist/nextGenComponents/components/index.mjs +89 -69
- package/dist/nextGenComponents/components/index.mjs.map +1 -1
- package/dist/nextGenComponents/components/ui/collapsible.d.ts +6 -0
- package/dist/nextGenComponents/components/ui/collapsible.d.ts.map +1 -0
- package/dist/nextGenComponents/components/ui/collapsible.mjs +8 -0
- package/dist/nextGenComponents/components/ui/collapsible.mjs.map +1 -0
- package/dist/nextGenComponents/components/ui/dialog.d.ts +27 -0
- package/dist/nextGenComponents/components/ui/dialog.d.ts.map +1 -0
- package/dist/nextGenComponents/components/ui/dialog.mjs +135 -0
- package/dist/nextGenComponents/components/ui/dialog.mjs.map +1 -0
- package/dist/nextGenComponents/components/ui/tabs.mjs +1 -1
- package/dist/nextGenComponents/components/ui/tabs.mjs.map +1 -1
- package/dist/nextGenComponents/index.mjs +120 -97
- package/dist/nextGenComponents/index.mjs.map +1 -1
- package/dist/nextGenComponents/stores/tableStore.d.ts +11 -5
- package/dist/nextGenComponents/stores/tableStore.d.ts.map +1 -1
- package/dist/nextGenComponents/stores/tableStore.mjs +44 -22
- package/dist/nextGenComponents/stores/tableStore.mjs.map +1 -1
- package/package.json +3 -1
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<rect width="32" height="32" rx="6" fill="#4B4760"/>
|
|
3
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M15.3058 12.8884C14.1753 12.5831 13.3435 11.5504 13.3435 10.3234C13.3435 8.85609 14.533 7.66663 16.0002 7.66663C17.4675 7.66663 18.657 8.85609 18.657 10.3234C18.657 11.5504 17.8251 12.5831 16.6946 12.8884V15.8937L19.0294 15.1351C18.9191 13.9268 19.6525 12.7598 20.855 12.3691C22.2504 11.9157 23.7493 12.6794 24.2027 14.0748C24.6561 15.4703 23.8924 16.9691 22.4969 17.4225C21.3661 17.79 20.1674 17.3581 19.5122 16.4386L17.2049 17.1882L18.6884 19.23C19.7988 18.7659 21.1223 19.105 21.8605 20.1211C22.7229 21.3081 22.4598 22.9695 21.2727 23.832C20.0857 24.6944 18.4243 24.4313 17.5618 23.2442C16.8578 22.2752 16.9038 20.99 17.5903 20.0815L16.0152 17.9136L14.5476 19.9337C15.3469 20.8463 15.4395 22.2214 14.6963 23.2443C13.8339 24.4313 12.1724 24.6945 10.9854 23.832C9.79832 22.9696 9.53517 21.3081 10.3976 20.1211C11.0965 19.1591 12.3202 18.8039 13.3909 19.1628L14.9484 17.019L12.6059 16.2579C11.985 17.3002 10.7057 17.8132 9.50323 17.4225C8.10776 16.9691 7.34408 15.4703 7.7975 14.0748C8.25091 12.6794 9.74972 11.9157 11.1452 12.3691C12.276 12.7365 12.992 13.7905 12.9815 14.9196L15.3058 15.6748V12.8884ZM17.2681 10.3234C17.2681 11.0236 16.7005 11.5912 16.0002 11.5912C15.3 11.5912 14.7324 11.0236 14.7324 10.3234C14.7324 9.62314 15.3 9.0555 16.0002 9.0555C16.7005 9.0555 17.2681 9.62314 17.2681 10.3234ZM11.53 15.2876C11.7464 14.6216 11.382 13.9064 10.716 13.69C10.05 13.4736 9.33477 13.8381 9.11839 14.504C8.90201 15.17 9.26646 15.8852 9.93241 16.1016C10.5984 16.318 11.3136 15.9536 11.53 15.2876ZM13.2922 20.657C12.7257 20.2454 11.9328 20.371 11.5212 20.9375C11.1097 21.5039 11.2352 22.2968 11.8017 22.7084C12.3682 23.12 13.1611 22.9944 13.5727 22.4279C13.9843 21.8614 13.8587 21.0685 13.2922 20.657ZM18.9659 20.6569C18.3994 21.0685 18.2738 21.8614 18.6854 22.4279C19.097 22.9944 19.8899 23.12 20.4564 22.7084C21.0229 22.2968 21.1485 21.5039 20.7369 20.9374C20.3253 20.3709 19.5324 20.2453 18.9659 20.6569ZM20.4701 15.2876C20.6865 15.9536 21.4018 16.318 22.0677 16.1016C22.7337 15.8853 23.0982 15.17 22.8818 14.504C22.6654 13.8381 21.9501 13.4736 21.2842 13.69C20.6182 13.9064 20.2538 14.6217 20.4701 15.2876Z" fill="white"/>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
export declare const getBadgeColor: () => {
|
|
3
|
+
readonly bg: "bg-[rgba(164,76,197,0.16)]";
|
|
4
|
+
readonly text: "text-[#A44CC5]";
|
|
5
|
+
};
|
|
6
|
+
export type BadgeProps = {
|
|
7
|
+
label: string;
|
|
8
|
+
className?: string;
|
|
9
|
+
children?: ReactNode;
|
|
10
|
+
};
|
|
11
|
+
declare const Badge: ({ label, className, children }: BadgeProps) => import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export default Badge;
|
|
13
|
+
//# sourceMappingURL=Badge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../../src/lib/nextGenComponents/components/Badge/Badge.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAMtC,eAAO,MAAM,aAAa;;;CAEzB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,CAAA;AAED,QAAA,MAAM,KAAK,GAAI,gCAAgC,UAAU,4CAgBxD,CAAA;AAED,eAAe,KAAK,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { cn as a } from "../../lib/utils.mjs";
|
|
3
|
+
const s = { bg: "bg-[rgba(164,76,197,0.16)]", text: "text-[#A44CC5]" }, d = () => s, i = ({ label: e, className: n, children: o }) => {
|
|
4
|
+
const t = d();
|
|
5
|
+
return /* @__PURE__ */ r(
|
|
6
|
+
"span",
|
|
7
|
+
{
|
|
8
|
+
"data-testid": "badge",
|
|
9
|
+
className: a(
|
|
10
|
+
"inline-flex items-center gap-1 rounded px-2 py-0.5 text-xs font-medium whitespace-nowrap leading-normal",
|
|
11
|
+
t.bg,
|
|
12
|
+
t.text,
|
|
13
|
+
n
|
|
14
|
+
),
|
|
15
|
+
children: o ?? e
|
|
16
|
+
}
|
|
17
|
+
);
|
|
18
|
+
};
|
|
19
|
+
export {
|
|
20
|
+
i as default,
|
|
21
|
+
d as getBadgeColor
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=Badge.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Badge.mjs","sources":["../../../../src/lib/nextGenComponents/components/Badge/Badge.tsx"],"sourcesContent":["import { type ReactNode } from 'react'\n\nimport { cn } from '@/lib/utils'\n\nconst BADGE_COLOR = { bg: 'bg-[rgba(164,76,197,0.16)]', text: 'text-[#A44CC5]' } as const\n\nexport const getBadgeColor = () => {\n return BADGE_COLOR\n}\n\nexport type BadgeProps = {\n label: string\n className?: string\n children?: ReactNode\n}\n\nconst Badge = ({ label, className, children }: BadgeProps) => {\n const color = getBadgeColor()\n\n return (\n <span\n data-testid=\"badge\"\n className={cn(\n 'inline-flex items-center gap-1 rounded px-2 py-0.5 text-xs font-medium whitespace-nowrap leading-normal',\n color.bg,\n color.text,\n className\n )}\n >\n {children ?? label}\n </span>\n )\n}\n\nexport default Badge\n"],"names":["BADGE_COLOR","getBadgeColor","Badge","label","className","children","color","jsx","cn"],"mappings":";;AAIA,MAAMA,IAAc,EAAE,IAAI,8BAA8B,MAAM,iBAAA,GAEjDC,IAAgB,MACpBD,GASHE,IAAQ,CAAC,EAAE,OAAAC,GAAO,WAAAC,GAAW,UAAAC,QAA2B;AAC5D,QAAMC,IAAQL,EAAA;AAEd,SACE,gBAAAM;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,eAAY;AAAA,MACZ,WAAWC;AAAA,QACT;AAAA,QACAF,EAAM;AAAA,QACNA,EAAM;AAAA,QACNF;AAAA,MAAA;AAAA,MAGD,UAAAC,KAAYF;AAAA,IAAA;AAAA,EAAA;AAGnB;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/nextGenComponents/components/Badge/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAChD,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type BadgeItem = {
|
|
2
|
+
key: string;
|
|
3
|
+
value?: string;
|
|
4
|
+
};
|
|
5
|
+
export type BadgeCellProps = {
|
|
6
|
+
badges: BadgeItem[];
|
|
7
|
+
delimiter?: string;
|
|
8
|
+
maxVisible?: number;
|
|
9
|
+
className?: string;
|
|
10
|
+
};
|
|
11
|
+
declare const BadgeCell: ({ badges, delimiter, maxVisible, className }: BadgeCellProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
12
|
+
export default BadgeCell;
|
|
13
|
+
//# sourceMappingURL=BadgeCell.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BadgeCell.d.ts","sourceRoot":"","sources":["../../../../src/lib/nextGenComponents/components/BadgeCell/BadgeCell.tsx"],"names":[],"mappings":"AAMA,MAAM,MAAM,SAAS,GAAG;IACtB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,SAAS,EAAE,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAWD,QAAA,MAAM,SAAS,GAAI,8CAAoD,cAAc,mDAsJpF,CAAA;AAED,eAAe,SAAS,CAAA"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { jsxs as m, jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import { useRef as W, useState as O, useCallback as R, useMemo as P, useEffect as T } from "react";
|
|
3
|
+
import "../Badge/index.mjs";
|
|
4
|
+
import { Popover as j, PopoverTrigger as z, PopoverContent as A } from "../ui/popover.mjs";
|
|
5
|
+
import { cn as p } from "../../lib/utils.mjs";
|
|
6
|
+
import k, { getBadgeColor as G } from "../Badge/Badge.mjs";
|
|
7
|
+
const d = G(), M = 36, B = 4, v = (n, r) => n.value ? `${n.key}${r}${n.value}` : n.key, q = ({ badges: n, delimiter: r = ":", maxVisible: f, className: N }) => {
|
|
8
|
+
const c = W(null), g = W(null), [x, w] = O(n.length), l = R(() => {
|
|
9
|
+
const e = c.current, t = g.current;
|
|
10
|
+
if (!e || !t) return;
|
|
11
|
+
const i = e.offsetWidth;
|
|
12
|
+
if (f !== void 0) {
|
|
13
|
+
w(Math.min(f, n.length));
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
const s = t.children;
|
|
17
|
+
let a = 0, C = 0;
|
|
18
|
+
for (let u = 0; u < s.length; u++) {
|
|
19
|
+
const $ = s[u].offsetWidth + B, E = u < n.length - 1 ? i - M - B : i;
|
|
20
|
+
if (a + $ <= E)
|
|
21
|
+
a += $, C++;
|
|
22
|
+
else
|
|
23
|
+
break;
|
|
24
|
+
}
|
|
25
|
+
w(Math.max(C, 0));
|
|
26
|
+
}, [n.length, f]), h = P(() => {
|
|
27
|
+
let e = 0, t = null;
|
|
28
|
+
const i = () => {
|
|
29
|
+
const s = Date.now(), a = 150 - (s - e);
|
|
30
|
+
a <= 0 ? (e = s, l()) : t || (t = setTimeout(() => {
|
|
31
|
+
e = Date.now(), t = null, l();
|
|
32
|
+
}, a));
|
|
33
|
+
};
|
|
34
|
+
return i.cancel = () => {
|
|
35
|
+
t && (clearTimeout(t), t = null);
|
|
36
|
+
}, i;
|
|
37
|
+
}, [l]);
|
|
38
|
+
if (T(() => {
|
|
39
|
+
l();
|
|
40
|
+
const e = new ResizeObserver(h);
|
|
41
|
+
return c.current && e.observe(c.current), () => {
|
|
42
|
+
e.disconnect(), h.cancel();
|
|
43
|
+
};
|
|
44
|
+
}, [l, h]), n.length === 0)
|
|
45
|
+
return null;
|
|
46
|
+
const D = n.slice(0, x), b = n.slice(x), y = b.length;
|
|
47
|
+
return /* @__PURE__ */ m(
|
|
48
|
+
"div",
|
|
49
|
+
{
|
|
50
|
+
ref: c,
|
|
51
|
+
"data-testid": "badge-cell",
|
|
52
|
+
className: p("relative flex items-center gap-1 min-w-0 overflow-hidden", N),
|
|
53
|
+
children: [
|
|
54
|
+
/* @__PURE__ */ o(
|
|
55
|
+
"div",
|
|
56
|
+
{
|
|
57
|
+
ref: g,
|
|
58
|
+
"aria-hidden": !0,
|
|
59
|
+
className: "absolute top-0 left-0 flex items-center gap-1 invisible pointer-events-none whitespace-nowrap",
|
|
60
|
+
children: n.map((e, t) => /* @__PURE__ */ o(k, { label: v(e, r) }, `measure-${e.key}-${t}`))
|
|
61
|
+
}
|
|
62
|
+
),
|
|
63
|
+
D.map((e, t) => /* @__PURE__ */ o(k, { label: v(e, r) }, `${e.key}-${t}`)),
|
|
64
|
+
y > 0 && /* @__PURE__ */ m(j, { children: [
|
|
65
|
+
/* @__PURE__ */ o(z, { asChild: !0, children: /* @__PURE__ */ m(
|
|
66
|
+
"button",
|
|
67
|
+
{
|
|
68
|
+
type: "button",
|
|
69
|
+
"data-testid": "badge-cell-overflow",
|
|
70
|
+
className: p(
|
|
71
|
+
"inline-flex items-center justify-center rounded px-2 py-0.5 text-xs font-medium cursor-pointer whitespace-nowrap border-0",
|
|
72
|
+
d.bg,
|
|
73
|
+
d.text
|
|
74
|
+
),
|
|
75
|
+
children: [
|
|
76
|
+
"+",
|
|
77
|
+
y
|
|
78
|
+
]
|
|
79
|
+
}
|
|
80
|
+
) }),
|
|
81
|
+
/* @__PURE__ */ o(
|
|
82
|
+
A,
|
|
83
|
+
{
|
|
84
|
+
side: "top",
|
|
85
|
+
align: "start",
|
|
86
|
+
className: "w-auto max-h-[200px] overflow-y-auto p-2 bg-white text-igz-primary border border-igz-gray-light",
|
|
87
|
+
children: /* @__PURE__ */ o("div", { className: "flex flex-col gap-1.5", children: b.map((e, t) => /* @__PURE__ */ o(
|
|
88
|
+
"span",
|
|
89
|
+
{
|
|
90
|
+
className: p(
|
|
91
|
+
"inline-flex rounded px-2 py-0.5 text-xs font-medium whitespace-nowrap",
|
|
92
|
+
d.bg,
|
|
93
|
+
d.text
|
|
94
|
+
),
|
|
95
|
+
children: v(e, r)
|
|
96
|
+
},
|
|
97
|
+
`hidden-${e.key}-${t}`
|
|
98
|
+
)) })
|
|
99
|
+
}
|
|
100
|
+
)
|
|
101
|
+
] })
|
|
102
|
+
]
|
|
103
|
+
}
|
|
104
|
+
);
|
|
105
|
+
};
|
|
106
|
+
export {
|
|
107
|
+
q as default
|
|
108
|
+
};
|
|
109
|
+
//# sourceMappingURL=BadgeCell.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BadgeCell.mjs","sources":["../../../../src/lib/nextGenComponents/components/BadgeCell/BadgeCell.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport Badge, { getBadgeColor } from '@/components/Badge'\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover'\nimport { cn } from '@/lib/utils'\n\nexport type BadgeItem = {\n key: string\n value?: string\n}\n\nexport type BadgeCellProps = {\n badges: BadgeItem[]\n delimiter?: string\n maxVisible?: number\n className?: string\n}\n\nconst badgeColor = getBadgeColor()\nconst OVERFLOW_BADGE_WIDTH = 36\nconst BADGE_GAP = 4\n\nconst formatLabel = (badge: BadgeItem, delimiter: string) => {\n if (!badge.value) return badge.key\n return `${badge.key}${delimiter}${badge.value}`\n}\n\nconst BadgeCell = ({ badges, delimiter = ':', maxVisible, className }: BadgeCellProps) => {\n const containerRef = useRef<HTMLDivElement>(null)\n const measureRef = useRef<HTMLDivElement>(null)\n const [visibleCount, setVisibleCount] = useState(badges.length)\n\n const calculateVisibleCount = useCallback(() => {\n const container = containerRef.current\n const measure = measureRef.current\n if (!container || !measure) return\n\n const containerWidth = container.offsetWidth\n\n if (maxVisible !== undefined) {\n setVisibleCount(Math.min(maxVisible, badges.length))\n return\n }\n\n const badgeElements = measure.children\n let totalWidth = 0\n let count = 0\n\n for (let i = 0; i < badgeElements.length; i++) {\n const badgeWidth = (badgeElements[i] as HTMLElement).offsetWidth + BADGE_GAP\n const needsOverflow = i < badges.length - 1\n const availableWidth = needsOverflow\n ? containerWidth - OVERFLOW_BADGE_WIDTH - BADGE_GAP\n : containerWidth\n\n if (totalWidth + badgeWidth <= availableWidth) {\n totalWidth += badgeWidth\n count++\n } else {\n break\n }\n }\n\n setVisibleCount(Math.max(count, 0))\n }, [badges.length, maxVisible])\n\n const throttledCalculate = useMemo(() => {\n let lastCall = 0\n let timeoutId: ReturnType<typeof setTimeout> | null = null\n\n const throttled = () => {\n const now = Date.now()\n const remaining = 150 - (now - lastCall)\n\n if (remaining <= 0) {\n lastCall = now\n calculateVisibleCount()\n } else if (!timeoutId) {\n timeoutId = setTimeout(() => {\n lastCall = Date.now()\n timeoutId = null\n calculateVisibleCount()\n }, remaining)\n }\n }\n\n throttled.cancel = () => {\n if (timeoutId) {\n clearTimeout(timeoutId)\n timeoutId = null\n }\n }\n\n return throttled\n }, [calculateVisibleCount])\n\n useEffect(() => {\n calculateVisibleCount()\n\n const observer = new ResizeObserver(throttledCalculate)\n if (containerRef.current) {\n observer.observe(containerRef.current)\n }\n\n return () => {\n observer.disconnect()\n throttledCalculate.cancel()\n }\n }, [calculateVisibleCount, throttledCalculate])\n\n if (badges.length === 0) {\n return null\n }\n\n const visibleBadges = badges.slice(0, visibleCount)\n const hiddenBadges = badges.slice(visibleCount)\n const hiddenCount = hiddenBadges.length\n\n return (\n <div\n ref={containerRef}\n data-testid=\"badge-cell\"\n className={cn('relative flex items-center gap-1 min-w-0 overflow-hidden', className)}\n >\n <div\n ref={measureRef}\n aria-hidden\n className=\"absolute top-0 left-0 flex items-center gap-1 invisible pointer-events-none whitespace-nowrap\"\n >\n {badges.map((badge, index) => (\n <Badge key={`measure-${badge.key}-${index}`} label={formatLabel(badge, delimiter)} />\n ))}\n </div>\n\n {visibleBadges.map((badge, index) => (\n <Badge key={`${badge.key}-${index}`} label={formatLabel(badge, delimiter)} />\n ))}\n\n {hiddenCount > 0 && (\n <Popover>\n <PopoverTrigger asChild>\n <button\n type=\"button\"\n data-testid=\"badge-cell-overflow\"\n className={cn(\n 'inline-flex items-center justify-center rounded px-2 py-0.5 text-xs font-medium cursor-pointer whitespace-nowrap border-0',\n badgeColor.bg,\n badgeColor.text\n )}\n >\n +{hiddenCount}\n </button>\n </PopoverTrigger>\n <PopoverContent\n side=\"top\"\n align=\"start\"\n className=\"w-auto max-h-[200px] overflow-y-auto p-2 bg-white text-igz-primary border border-igz-gray-light\"\n >\n <div className=\"flex flex-col gap-1.5\">\n {hiddenBadges.map((badge, index) => (\n <span\n key={`hidden-${badge.key}-${index}`}\n className={cn(\n 'inline-flex rounded px-2 py-0.5 text-xs font-medium whitespace-nowrap',\n badgeColor.bg,\n badgeColor.text\n )}\n >\n {formatLabel(badge, delimiter)}\n </span>\n ))}\n </div>\n </PopoverContent>\n </Popover>\n )}\n </div>\n )\n}\n\nexport default BadgeCell\n"],"names":["badgeColor","getBadgeColor","OVERFLOW_BADGE_WIDTH","BADGE_GAP","formatLabel","badge","delimiter","BadgeCell","badges","maxVisible","className","containerRef","useRef","measureRef","visibleCount","setVisibleCount","useState","calculateVisibleCount","useCallback","container","measure","containerWidth","badgeElements","totalWidth","count","i","badgeWidth","availableWidth","throttledCalculate","useMemo","lastCall","timeoutId","throttled","now","remaining","useEffect","observer","visibleBadges","hiddenBadges","hiddenCount","jsxs","cn","jsx","index","Badge","Popover","PopoverTrigger","PopoverContent"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/nextGenComponents/components/BadgeCell/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -2,9 +2,10 @@ import type { FilterSchema, FilterValues } from '@/types/table/filter';
|
|
|
2
2
|
type Props<K extends string> = {
|
|
3
3
|
schema: FilterSchema<K>;
|
|
4
4
|
title?: string;
|
|
5
|
+
scopeId?: string;
|
|
5
6
|
onApply?: (vals?: FilterValues<K>) => void;
|
|
6
7
|
onClear?: () => void;
|
|
7
8
|
};
|
|
8
|
-
declare const FilterPopover: <K extends string>({ schema, title, onApply, onClear }: Readonly<Props<K>>) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
declare const FilterPopover: <K extends string>({ schema, title, scopeId, onApply, onClear }: Readonly<Props<K>>) => import("react/jsx-runtime").JSX.Element;
|
|
9
10
|
export default FilterPopover;
|
|
10
11
|
//# sourceMappingURL=FilterPopover.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterPopover.d.ts","sourceRoot":"","sources":["../../../../src/lib/nextGenComponents/components/FilterPopover/FilterPopover.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAkB,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAItF,KAAK,KAAK,CAAC,CAAC,SAAS,MAAM,IAAI;IAC7B,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;IAC1C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB,CAAA;AAED,QAAA,MAAM,aAAa,GAAI,CAAC,SAAS,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"FilterPopover.d.ts","sourceRoot":"","sources":["../../../../src/lib/nextGenComponents/components/FilterPopover/FilterPopover.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAkB,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAItF,KAAK,KAAK,CAAC,CAAC,SAAS,MAAM,IAAI;IAC7B,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;IAC1C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB,CAAA;AAED,QAAA,MAAM,aAAa,GAAI,CAAC,SAAS,MAAM,EAAE,8CAMtC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,4CAwJpB,CAAA;AAED,eAAe,aAAa,CAAA"}
|
|
@@ -1,47 +1,50 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { useMemo as
|
|
3
|
-
import
|
|
4
|
-
import
|
|
1
|
+
import { jsxs as l, jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo as T } from "react";
|
|
3
|
+
import C from "../../../images/activeFilter.svg.mjs";
|
|
4
|
+
import P from "../../../images/filter-2.svg.mjs";
|
|
5
5
|
import { Button as p } from "../ui/button.mjs";
|
|
6
|
-
import { Input as
|
|
7
|
-
import { Popover as w, PopoverTrigger as
|
|
8
|
-
import { ScrollArea as
|
|
9
|
-
import { Select as
|
|
10
|
-
import { FILTER_POPOVER_DEFAULT_TITLE as
|
|
11
|
-
import { useTableStore as
|
|
12
|
-
import { hasActiveFilters as
|
|
6
|
+
import { Input as S } from "../ui/input.mjs";
|
|
7
|
+
import { Popover as w, PopoverTrigger as y, PopoverContent as E } from "../ui/popover.mjs";
|
|
8
|
+
import { ScrollArea as O } from "../ui/scroll-area.mjs";
|
|
9
|
+
import { Select as L, SelectTrigger as _, SelectValue as D, SelectContent as R, SelectItem as $ } from "../ui/select.mjs";
|
|
10
|
+
import { FILTER_POPOVER_DEFAULT_TITLE as j, FILTER_BUTTON_CLEAR as A, FILTER_BUTTON_APPLY as U } from "../../constants/index.mjs";
|
|
11
|
+
import { useTableStore as x, selectFilterPopover as V, DEFAULT_FILTER_SCOPE as z } from "../../stores/tableStore.mjs";
|
|
12
|
+
import { hasActiveFilters as B, buildInitialFromSchema as M, objectValues as F } from "../../utils/tableFilters.utils.mjs";
|
|
13
13
|
import "../MultiSelectField/index.mjs";
|
|
14
|
-
import
|
|
15
|
-
const
|
|
16
|
-
schema:
|
|
17
|
-
title:
|
|
18
|
-
|
|
19
|
-
|
|
14
|
+
import Y from "../MultiSelectField/MultiSelectField.mjs";
|
|
15
|
+
const oe = ({
|
|
16
|
+
schema: s,
|
|
17
|
+
title: h = j,
|
|
18
|
+
scopeId: r = z,
|
|
19
|
+
onApply: i,
|
|
20
|
+
onClear: n
|
|
20
21
|
}) => {
|
|
21
|
-
const {
|
|
22
|
+
const { setFilterPopoverOpen: c, setFilterDraft: d, resetFilterDraft: v } = x(), { open: f, draft: u } = x(
|
|
23
|
+
V(r)
|
|
24
|
+
), b = T(() => B(s), [s]), g = (e) => {
|
|
22
25
|
if (e) {
|
|
23
|
-
const o =
|
|
24
|
-
v(o);
|
|
26
|
+
const o = M(s);
|
|
27
|
+
v(r, o);
|
|
25
28
|
}
|
|
26
|
-
|
|
27
|
-
},
|
|
28
|
-
v({}),
|
|
29
|
-
},
|
|
30
|
-
|
|
29
|
+
c(r, e);
|
|
30
|
+
}, N = () => {
|
|
31
|
+
v(r, {}), n == null || n(), c(r, !1);
|
|
32
|
+
}, k = () => {
|
|
33
|
+
i == null || i(u), c(r, !1);
|
|
31
34
|
};
|
|
32
|
-
return /* @__PURE__ */
|
|
33
|
-
/* @__PURE__ */ t(
|
|
35
|
+
return /* @__PURE__ */ l(w, { open: f, onOpenChange: g, children: [
|
|
36
|
+
/* @__PURE__ */ t(y, { asChild: !0, children: /* @__PURE__ */ t(
|
|
34
37
|
p,
|
|
35
38
|
{
|
|
36
39
|
variant: "rounded",
|
|
37
40
|
size: "icon",
|
|
38
|
-
"aria-label":
|
|
41
|
+
"aria-label": h,
|
|
39
42
|
"data-testid": "filter-popover-button",
|
|
40
|
-
children:
|
|
43
|
+
children: b ? /* @__PURE__ */ t(C, { className: "h-4 w-4" }) : /* @__PURE__ */ t(P, { className: "h-4 w-4" })
|
|
41
44
|
}
|
|
42
45
|
) }),
|
|
43
|
-
/* @__PURE__ */
|
|
44
|
-
|
|
46
|
+
/* @__PURE__ */ l(
|
|
47
|
+
E,
|
|
45
48
|
{
|
|
46
49
|
side: "bottom",
|
|
47
50
|
align: "end",
|
|
@@ -50,10 +53,10 @@ const te = ({
|
|
|
50
53
|
collisionPadding: 8,
|
|
51
54
|
className: "flex flex-col w-[300px] max-h-[400px] rounded-md border bg-background p-0 shadow-md z-40",
|
|
52
55
|
children: [
|
|
53
|
-
/* @__PURE__ */ t("div", { className: "p-4", children: /* @__PURE__ */ t("h3", { className: "font-medium m-0 text-xl", "data-testid": "filter-popover-title", children:
|
|
54
|
-
/* @__PURE__ */ t(
|
|
55
|
-
const o =
|
|
56
|
-
return /* @__PURE__ */
|
|
56
|
+
/* @__PURE__ */ t("div", { className: "p-4", children: /* @__PURE__ */ t("h3", { className: "font-medium m-0 text-xl", "data-testid": "filter-popover-title", children: h }) }),
|
|
57
|
+
/* @__PURE__ */ t(O, { className: "px-4 overflow-y-auto", children: /* @__PURE__ */ t("div", { className: "space-y-4 pb-2", children: F(s).map((e) => {
|
|
58
|
+
const o = u[e.key];
|
|
59
|
+
return /* @__PURE__ */ l(
|
|
57
60
|
"div",
|
|
58
61
|
{
|
|
59
62
|
className: "min-w-0",
|
|
@@ -68,39 +71,39 @@ const te = ({
|
|
|
68
71
|
}
|
|
69
72
|
),
|
|
70
73
|
e.kind === "text" && /* @__PURE__ */ t(
|
|
71
|
-
|
|
74
|
+
S,
|
|
72
75
|
{
|
|
73
76
|
placeholder: e.placeholder,
|
|
74
77
|
value: o ?? "",
|
|
75
78
|
disabled: e.disabled,
|
|
76
79
|
className: "h-10 w-full px-4 text-[15px] font-normal placeholder-[#C4C2C8]",
|
|
77
|
-
onChange: (a) =>
|
|
78
|
-
...
|
|
80
|
+
onChange: (a) => d(r, (m) => ({
|
|
81
|
+
...m,
|
|
79
82
|
[e.key]: a.target.value
|
|
80
83
|
})),
|
|
81
84
|
"data-testid": `filter-popover-input-${e.label}`
|
|
82
85
|
}
|
|
83
86
|
),
|
|
84
|
-
e.kind === "select" && /* @__PURE__ */
|
|
85
|
-
|
|
87
|
+
e.kind === "select" && /* @__PURE__ */ l(
|
|
88
|
+
L,
|
|
86
89
|
{
|
|
87
90
|
value: o ?? "",
|
|
88
|
-
onValueChange: (a) =>
|
|
89
|
-
...
|
|
91
|
+
onValueChange: (a) => d(r, (m) => ({
|
|
92
|
+
...m,
|
|
90
93
|
[e.key]: a
|
|
91
94
|
})),
|
|
92
95
|
disabled: e.disabled,
|
|
93
96
|
children: [
|
|
94
97
|
/* @__PURE__ */ t(
|
|
95
|
-
|
|
98
|
+
_,
|
|
96
99
|
{
|
|
97
100
|
className: "h-10 w-full min-w-0 px-4 data-[placeholder]:text-[#C4C2C8] rounded-md border border-black/20 text-[15px]",
|
|
98
101
|
"data-testid": `filter-popover-select-${e.key}`,
|
|
99
|
-
children: /* @__PURE__ */ t(
|
|
102
|
+
children: /* @__PURE__ */ t(D, { placeholder: e.placeholder })
|
|
100
103
|
}
|
|
101
104
|
),
|
|
102
|
-
/* @__PURE__ */ t(
|
|
103
|
-
|
|
105
|
+
/* @__PURE__ */ t(R, { className: "text-sm", children: (e.options ?? []).map((a) => /* @__PURE__ */ t(
|
|
106
|
+
$,
|
|
104
107
|
{
|
|
105
108
|
value: a.value,
|
|
106
109
|
className: "text-sm data-[highlighted]:bg-igz-accent-hover",
|
|
@@ -113,11 +116,11 @@ const te = ({
|
|
|
113
116
|
}
|
|
114
117
|
),
|
|
115
118
|
e.kind === "multi-select" && /* @__PURE__ */ t(
|
|
116
|
-
|
|
119
|
+
Y,
|
|
117
120
|
{
|
|
118
121
|
filterField: e,
|
|
119
122
|
value: o,
|
|
120
|
-
setFilterDraft:
|
|
123
|
+
setFilterDraft: (a) => d(r, a)
|
|
121
124
|
}
|
|
122
125
|
)
|
|
123
126
|
]
|
|
@@ -125,24 +128,24 @@ const te = ({
|
|
|
125
128
|
e.key
|
|
126
129
|
);
|
|
127
130
|
}) }) }),
|
|
128
|
-
/* @__PURE__ */
|
|
131
|
+
/* @__PURE__ */ l("div", { className: "flex items-center justify-end gap-2 p-3", children: [
|
|
129
132
|
/* @__PURE__ */ t(
|
|
130
133
|
p,
|
|
131
134
|
{
|
|
132
135
|
variant: "secondary",
|
|
133
136
|
className: "h-9 w-[100px] px-3 text-[14px]",
|
|
134
|
-
onClick:
|
|
137
|
+
onClick: N,
|
|
135
138
|
"data-testid": "filter-popover-clear-button",
|
|
136
|
-
children:
|
|
139
|
+
children: A
|
|
137
140
|
}
|
|
138
141
|
),
|
|
139
142
|
/* @__PURE__ */ t(
|
|
140
143
|
p,
|
|
141
144
|
{
|
|
142
145
|
className: "h-9 w-[100px] px-3 text-[14px]",
|
|
143
|
-
onClick:
|
|
146
|
+
onClick: k,
|
|
144
147
|
"data-testid": "filter-popover-apply-button",
|
|
145
|
-
children:
|
|
148
|
+
children: U
|
|
146
149
|
}
|
|
147
150
|
)
|
|
148
151
|
] })
|
|
@@ -152,6 +155,6 @@ const te = ({
|
|
|
152
155
|
] });
|
|
153
156
|
};
|
|
154
157
|
export {
|
|
155
|
-
|
|
158
|
+
oe as default
|
|
156
159
|
};
|
|
157
160
|
//# sourceMappingURL=FilterPopover.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterPopover.mjs","sources":["../../../../src/lib/nextGenComponents/components/FilterPopover/FilterPopover.tsx"],"sourcesContent":["import { useMemo } from 'react'\n\nimport ActiveFilter from '../../../images/activeFilter.svg?react'\nimport Filter from '../../../images/filter-2.svg?react'\nimport { Button } from '@/components/ui/button'\nimport { Input } from '@/components/ui/input'\nimport { Popover, PopoverTrigger, PopoverContent } from '@/components/ui/popover'\nimport { ScrollArea } from '@/components/ui/scroll-area'\nimport {\n Select,\n SelectTrigger,\n SelectValue,\n SelectContent,\n SelectItem\n} from '@/components/ui/select'\nimport { FILTER_POPOVER_DEFAULT_TITLE, FILTER_BUTTON_CLEAR, FILTER_BUTTON_APPLY } from '@/constants'\nimport { useTableStore } from '@/stores/tableStore'\nimport type { FilterFieldDef, FilterSchema, FilterValues } from '@/types/table/filter'\nimport { buildInitialFromSchema, hasActiveFilters, objectValues } from '@/utils/tableFilters.utils'\nimport MultiSelectField from '@/components/MultiSelectField'\n\ntype Props<K extends string> = {\n schema: FilterSchema<K>\n title?: string\n onApply?: (vals?: FilterValues<K>) => void\n onClear?: () => void\n}\n\nconst FilterPopover = <K extends string>({\n schema,\n title = FILTER_POPOVER_DEFAULT_TITLE,\n onApply,\n onClear\n}: Readonly<Props<K>>) => {\n const { filterPopoverOpen, setFilterPopoverOpen, filterDraft, setFilterDraft, resetFilterDraft } =\n useTableStore()\n const isFilterActive = useMemo(() => hasActiveFilters(schema), [schema])\n\n const handleOpenChange = (next: boolean) => {\n if (next) {\n const initial = buildInitialFromSchema(schema)\n resetFilterDraft(initial)\n }\n setFilterPopoverOpen(next)\n }\n\n const reset = () => {\n resetFilterDraft({})\n onClear?.()\n setFilterPopoverOpen(false)\n }\n\n const apply = () => {\n onApply?.(filterDraft as FilterValues<K>)\n setFilterPopoverOpen(false)\n }\n\n return (\n <Popover open={filterPopoverOpen} onOpenChange={handleOpenChange} modal>\n <PopoverTrigger asChild>\n <Button\n variant=\"rounded\"\n size=\"icon\"\n aria-label={title}\n data-testid=\"filter-popover-button\"\n >\n {isFilterActive ? <ActiveFilter className=\"h-4 w-4\" /> : <Filter className=\"h-4 w-4\" />}\n </Button>\n </PopoverTrigger>\n\n <PopoverContent\n side=\"bottom\"\n align=\"end\"\n sideOffset={6}\n avoidCollisions={true}\n collisionPadding={8}\n className=\"flex flex-col w-[300px] max-h-[400px] rounded-md border bg-background p-0 shadow-md z-40\"\n >\n <div className=\"p-4\">\n <h3 className=\"font-medium m-0 text-xl\" data-testid=\"filter-popover-title\">\n {title}\n </h3>\n </div>\n\n <ScrollArea className=\"px-4 overflow-y-auto\">\n <div className=\"space-y-4 pb-2\">\n {objectValues(schema as Record<string, FilterFieldDef<K>>).map(filterField => {\n const value = filterDraft[filterField.key]\n\n return (\n <div\n key={filterField.key}\n className=\"min-w-0\"\n data-testid={`filter-popover-field-${filterField.key}`}\n >\n <div\n className=\"mb-1 text-[#7F7989] text-xs font-normal leading-none\"\n data-testid={`filter-popover-field-label-${filterField.key}`}\n >\n {filterField.label}\n </div>\n\n {filterField.kind === 'text' && (\n <Input\n placeholder={filterField.placeholder}\n value={(value as string | undefined) ?? ''}\n disabled={filterField.disabled}\n className=\"h-10 w-full px-4 text-[15px] font-normal placeholder-[#C4C2C8]\"\n onChange={e =>\n setFilterDraft(prev => ({\n ...prev,\n [filterField.key]: e.target.value\n }))\n }\n data-testid={`filter-popover-input-${filterField.label}`}\n />\n )}\n\n {filterField.kind === 'select' && (\n <Select\n value={(value as string | undefined) ?? ''}\n onValueChange={value =>\n setFilterDraft(prev => ({\n ...prev,\n [filterField.key]: value\n }))\n }\n disabled={filterField.disabled}\n >\n <SelectTrigger\n className=\"h-10 w-full min-w-0 px-4 data-[placeholder]:text-[#C4C2C8] rounded-md border border-black/20 text-[15px]\"\n data-testid={`filter-popover-select-${filterField.key}`}\n >\n <SelectValue placeholder={filterField.placeholder} />\n </SelectTrigger>\n <SelectContent className=\"text-sm\">\n {(filterField.options ?? []).map(option => (\n <SelectItem\n key={option.value}\n value={option.value}\n className=\"text-sm data-[highlighted]:bg-igz-accent-hover\"\n data-testid={`filter-popover-select-option-${filterField.key}-${option.value}`}\n >\n {option.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n )}\n\n {filterField.kind === 'multi-select' && (\n <MultiSelectField\n filterField={filterField}\n value={value}\n setFilterDraft={setFilterDraft}\n />\n )}\n </div>\n )\n })}\n </div>\n </ScrollArea>\n\n <div className=\"flex items-center justify-end gap-2 p-3\">\n <Button\n variant=\"secondary\"\n className=\"h-9 w-[100px] px-3 text-[14px]\"\n onClick={reset}\n data-testid=\"filter-popover-clear-button\"\n >\n {FILTER_BUTTON_CLEAR}\n </Button>\n <Button\n className=\"h-9 w-[100px] px-3 text-[14px]\"\n onClick={apply}\n data-testid=\"filter-popover-apply-button\"\n >\n {FILTER_BUTTON_APPLY}\n </Button>\n </div>\n </PopoverContent>\n </Popover>\n )\n}\n\nexport default FilterPopover\n"],"names":["FilterPopover","schema","title","FILTER_POPOVER_DEFAULT_TITLE","onApply","onClear","filterPopoverOpen","setFilterPopoverOpen","filterDraft","setFilterDraft","resetFilterDraft","useTableStore","isFilterActive","useMemo","hasActiveFilters","handleOpenChange","next","initial","buildInitialFromSchema","reset","apply","Popover","jsx","PopoverTrigger","Button","ActiveFilter","Filter","jsxs","PopoverContent","ScrollArea","objectValues","filterField","value","Input","e","prev","Select","SelectTrigger","SelectValue","SelectContent","option","SelectItem","MultiSelectField","FILTER_BUTTON_CLEAR","FILTER_BUTTON_APPLY"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FilterPopover.mjs","sources":["../../../../src/lib/nextGenComponents/components/FilterPopover/FilterPopover.tsx"],"sourcesContent":["import { useMemo } from 'react'\n\nimport ActiveFilter from '../../../images/activeFilter.svg?react'\nimport Filter from '../../../images/filter-2.svg?react'\nimport { Button } from '@/components/ui/button'\nimport { Input } from '@/components/ui/input'\nimport { Popover, PopoverTrigger, PopoverContent } from '@/components/ui/popover'\nimport { ScrollArea } from '@/components/ui/scroll-area'\nimport {\n Select,\n SelectTrigger,\n SelectValue,\n SelectContent,\n SelectItem\n} from '@/components/ui/select'\nimport { FILTER_POPOVER_DEFAULT_TITLE, FILTER_BUTTON_CLEAR, FILTER_BUTTON_APPLY } from '@/constants'\nimport { useTableStore, selectFilterPopover, DEFAULT_FILTER_SCOPE } from '@/stores/tableStore'\nimport type { FilterFieldDef, FilterSchema, FilterValues } from '@/types/table/filter'\nimport { buildInitialFromSchema, hasActiveFilters, objectValues } from '@/utils/tableFilters.utils'\nimport MultiSelectField from '@/components/MultiSelectField'\n\ntype Props<K extends string> = {\n schema: FilterSchema<K>\n title?: string\n scopeId?: string\n onApply?: (vals?: FilterValues<K>) => void\n onClear?: () => void\n}\n\nconst FilterPopover = <K extends string>({\n schema,\n title = FILTER_POPOVER_DEFAULT_TITLE,\n scopeId = DEFAULT_FILTER_SCOPE,\n onApply,\n onClear\n}: Readonly<Props<K>>) => {\n const { setFilterPopoverOpen, setFilterDraft, resetFilterDraft } = useTableStore()\n const { open: filterPopoverOpen, draft: filterDraft } = useTableStore(\n selectFilterPopover(scopeId)\n )\n const isFilterActive = useMemo(() => hasActiveFilters(schema), [schema])\n\n const handleOpenChange = (next: boolean) => {\n if (next) {\n const initial = buildInitialFromSchema(schema)\n resetFilterDraft(scopeId, initial)\n }\n setFilterPopoverOpen(scopeId, next)\n }\n\n const reset = () => {\n resetFilterDraft(scopeId, {})\n onClear?.()\n setFilterPopoverOpen(scopeId, false)\n }\n\n const apply = () => {\n onApply?.(filterDraft as FilterValues<K>)\n setFilterPopoverOpen(scopeId, false)\n }\n\n return (\n <Popover open={filterPopoverOpen} onOpenChange={handleOpenChange}>\n <PopoverTrigger asChild>\n <Button\n variant=\"rounded\"\n size=\"icon\"\n aria-label={title}\n data-testid=\"filter-popover-button\"\n >\n {isFilterActive ? <ActiveFilter className=\"h-4 w-4\" /> : <Filter className=\"h-4 w-4\" />}\n </Button>\n </PopoverTrigger>\n\n <PopoverContent\n side=\"bottom\"\n align=\"end\"\n sideOffset={6}\n avoidCollisions={true}\n collisionPadding={8}\n className=\"flex flex-col w-[300px] max-h-[400px] rounded-md border bg-background p-0 shadow-md z-40\"\n >\n <div className=\"p-4\">\n <h3 className=\"font-medium m-0 text-xl\" data-testid=\"filter-popover-title\">\n {title}\n </h3>\n </div>\n\n <ScrollArea className=\"px-4 overflow-y-auto\">\n <div className=\"space-y-4 pb-2\">\n {objectValues(schema as Record<string, FilterFieldDef<K>>).map(filterField => {\n const value = filterDraft[filterField.key]\n\n return (\n <div\n key={filterField.key}\n className=\"min-w-0\"\n data-testid={`filter-popover-field-${filterField.key}`}\n >\n <div\n className=\"mb-1 text-[#7F7989] text-xs font-normal leading-none\"\n data-testid={`filter-popover-field-label-${filterField.key}`}\n >\n {filterField.label}\n </div>\n\n {filterField.kind === 'text' && (\n <Input\n placeholder={filterField.placeholder}\n value={(value as string | undefined) ?? ''}\n disabled={filterField.disabled}\n className=\"h-10 w-full px-4 text-[15px] font-normal placeholder-[#C4C2C8]\"\n onChange={e =>\n setFilterDraft(scopeId, prev => ({\n ...prev,\n [filterField.key]: e.target.value\n }))\n }\n data-testid={`filter-popover-input-${filterField.label}`}\n />\n )}\n\n {filterField.kind === 'select' && (\n <Select\n value={(value as string | undefined) ?? ''}\n onValueChange={value =>\n setFilterDraft(scopeId, prev => ({\n ...prev,\n [filterField.key]: value\n }))\n }\n disabled={filterField.disabled}\n >\n <SelectTrigger\n className=\"h-10 w-full min-w-0 px-4 data-[placeholder]:text-[#C4C2C8] rounded-md border border-black/20 text-[15px]\"\n data-testid={`filter-popover-select-${filterField.key}`}\n >\n <SelectValue placeholder={filterField.placeholder} />\n </SelectTrigger>\n <SelectContent className=\"text-sm\">\n {(filterField.options ?? []).map(option => (\n <SelectItem\n key={option.value}\n value={option.value}\n className=\"text-sm data-[highlighted]:bg-igz-accent-hover\"\n data-testid={`filter-popover-select-option-${filterField.key}-${option.value}`}\n >\n {option.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n )}\n\n {filterField.kind === 'multi-select' && (\n <MultiSelectField\n filterField={filterField}\n value={value}\n setFilterDraft={draft => setFilterDraft(scopeId, draft)}\n />\n )}\n </div>\n )\n })}\n </div>\n </ScrollArea>\n\n <div className=\"flex items-center justify-end gap-2 p-3\">\n <Button\n variant=\"secondary\"\n className=\"h-9 w-[100px] px-3 text-[14px]\"\n onClick={reset}\n data-testid=\"filter-popover-clear-button\"\n >\n {FILTER_BUTTON_CLEAR}\n </Button>\n <Button\n className=\"h-9 w-[100px] px-3 text-[14px]\"\n onClick={apply}\n data-testid=\"filter-popover-apply-button\"\n >\n {FILTER_BUTTON_APPLY}\n </Button>\n </div>\n </PopoverContent>\n </Popover>\n )\n}\n\nexport default FilterPopover\n"],"names":["FilterPopover","schema","title","FILTER_POPOVER_DEFAULT_TITLE","scopeId","DEFAULT_FILTER_SCOPE","onApply","onClear","setFilterPopoverOpen","setFilterDraft","resetFilterDraft","useTableStore","filterPopoverOpen","filterDraft","selectFilterPopover","isFilterActive","useMemo","hasActiveFilters","handleOpenChange","next","initial","buildInitialFromSchema","reset","apply","jsxs","Popover","jsx","PopoverTrigger","Button","ActiveFilter","Filter","PopoverContent","ScrollArea","objectValues","filterField","value","Input","e","prev","Select","SelectTrigger","SelectValue","SelectContent","option","SelectItem","MultiSelectField","draft","FILTER_BUTTON_CLEAR","FILTER_BUTTON_APPLY"],"mappings":"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"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
export { default as Badge, getBadgeColor } from './Badge';
|
|
2
|
+
export type { BadgeProps } from './Badge';
|
|
3
|
+
export { default as BadgeCell } from './BadgeCell';
|
|
4
|
+
export type { BadgeCellProps, BadgeItem } from './BadgeCell';
|
|
1
5
|
export { Loader } from './Loader';
|
|
2
6
|
export type { LoaderProps } from './Loader';
|
|
3
7
|
export { RowActions, ActionMenu, SingleActionButton } from './RowActions';
|
|
@@ -17,8 +21,10 @@ export { default as RefreshButton } from './RefreshButton';
|
|
|
17
21
|
export { default as TimeFilterDropdown } from './TimeFilterDropdown';
|
|
18
22
|
export { Button } from './ui/button';
|
|
19
23
|
export type { ButtonProps } from './ui/button';
|
|
24
|
+
export { Dialog, DialogPortal, DialogOverlay, DialogClose, DialogTrigger, DialogContent, DialogHeader, DialogBody, DialogFooter, DialogTitle, DialogDescription } from './ui/dialog';
|
|
20
25
|
export { Calendar } from './ui/calendar';
|
|
21
26
|
export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from './ui/card';
|
|
27
|
+
export { Collapsible, CollapsibleTrigger, CollapsibleContent } from './ui/collapsible';
|
|
22
28
|
export { Checkbox } from './ui/checkbox';
|
|
23
29
|
export * from './ui/dropdown-menu';
|
|
24
30
|
export { Input } from './ui/input';
|
|
@@ -29,4 +35,5 @@ export * from './ui/select';
|
|
|
29
35
|
export { Separator } from './ui/separator';
|
|
30
36
|
export { Tabs, TabsContent, TabsList, TabsTrigger } from './ui/tabs';
|
|
31
37
|
export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from './ui/tooltip';
|
|
38
|
+
export { cn } from '../lib/utils';
|
|
32
39
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/nextGenComponents/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACzE,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAA;AAClD,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAC9D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAC7E,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACpE,YAAY,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AACrF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEpE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACjG,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,cAAc,oBAAoB,CAAA;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AACtE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACxD,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACpE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/nextGenComponents/components/index.ts"],"names":[],"mappings":"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"}
|