iguazio.dashboard-react-controls 3.2.22 → 3.2.23
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/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,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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"}
|