impact-nova 2.2.6 → 2.2.7
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/components/data/ag-grid-react/cell-renderers/link-with-batch-cell-renderer.js +96 -120
- package/dist/components/data/data-table/data-table-saved-views.js +70 -79
- package/dist/components/data-display/badge/badge.variants.d.ts +2 -2
- package/dist/components/feedback/alert/alert.variants.d.ts +1 -1
- package/dist/components/feedback/tooltip/badge-overflow-tooltip.d.ts +19 -0
- package/dist/components/feedback/tooltip/badge-overflow-tooltip.js +48 -0
- package/dist/components/feedback/tooltip/index.d.ts +2 -0
- package/dist/components/feedback/tooltip/index.js +11 -9
- package/dist/components/feedback/tooltip/overflow-tooltip.js +73 -50
- package/dist/components/feedback/tooltip/overflow-tooltip.types.d.ts +5 -0
- package/dist/components/feedback/tooltip/tooltip.d.ts +2 -2
- package/dist/components/feedback/tooltip/tooltip.js +65 -28
- package/dist/components/feedback/tooltip/tooltip.variants.js +1 -1
- package/dist/components/feedback/tooltip/use-overflow-tooltip.js +89 -35
- package/dist/components/flows/filter-panel/filter-panel.js +33 -29
- package/dist/components/flows/filter-strip/filter-summary.js +126 -137
- package/dist/components/flows/filter-strip/filter-tag-list.js +18 -18
- package/dist/components/forms/prompt/prompt.variants.d.ts +1 -1
- package/dist/components/forms/select/components/SelectMenuPanel.js +26 -22
- package/dist/components/forms/select/components/SelectOptionRow.js +67 -64
- package/dist/components/forms/select/components/Submenu.js +40 -35
- package/dist/components/forms/select/hooks/useSuppressOptionClickForTextSelection.d.ts +5 -0
- package/dist/components/forms/select/hooks/useSuppressOptionClickForTextSelection.js +28 -0
- package/dist/components/forms/select/select.js +121 -120
- package/dist/components/forms/select/utils/shouldSuppressOptionClickForTextSelection.d.ts +5 -0
- package/dist/components/forms/select/utils/shouldSuppressOptionClickForTextSelection.js +16 -0
- package/dist/components/primitives/tag/tag.variants.d.ts +1 -1
- package/dist/impact-nova.css +1 -1
- package/dist/index.js +153 -151
- package/dist/lib/overlay/prevent-dismiss-on-tooltip-outside.d.ts +3 -0
- package/dist/lib/overlay/prevent-dismiss-on-tooltip-outside.js +34 -0
- package/dist/lib/tooltip/tooltip-content-interaction.d.ts +4 -0
- package/dist/lib/tooltip/tooltip-content-interaction.js +21 -0
- package/dist/llms/rules/installation.js +1 -1
- package/dist/llms/rules/requirements.js +1 -1
- package/dist/providers/app-providers.js +18 -11
- package/package.json +1 -1
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
import { jsx as e, jsxs as a } from "react/jsx-runtime";
|
|
2
|
-
import
|
|
3
|
-
import { Sheet as
|
|
4
|
-
import { createCompoundPart as
|
|
2
|
+
import b from "react";
|
|
3
|
+
import { Sheet as g, SheetContent as N, SheetDescription as y, SheetTitle as w, SheetClose as k } from "../../feedback/sheet/sheet.js";
|
|
4
|
+
import { createCompoundPart as C } from "../../../lib/primitives/create-compound.js";
|
|
5
5
|
import { cn as o } from "../../../lib/utils.js";
|
|
6
|
-
import { MultiColorFilter as
|
|
7
|
-
import { Button as
|
|
6
|
+
import { MultiColorFilter as F, Cross as P, InfoBadge as u } from "impact-nova-icons";
|
|
7
|
+
import { Button as D } from "../../primitives/button/button.js";
|
|
8
8
|
import { Tooltip as d, TooltipTrigger as f, TooltipContent as h } from "../../feedback/tooltip/tooltip.js";
|
|
9
9
|
import { Kbd as S } from "../../primitives/kbd/kbd.js";
|
|
10
10
|
import { OverflowTooltip as j } from "../../feedback/tooltip/overflow-tooltip.js";
|
|
11
|
-
import { useImpactNovaI18n as
|
|
11
|
+
import { useImpactNovaI18n as v } from "../../../i18n/use-impact-nova-i18n.js";
|
|
12
12
|
import { useOverlayHostDismissNestedLayersOnNavigation as I } from "../../../lib/overlay/overlay-portal-context.js";
|
|
13
|
-
|
|
13
|
+
import { preventDismissOnTooltipOutside as x } from "../../../lib/overlay/prevent-dismiss-on-tooltip-outside.js";
|
|
14
|
+
const O = ({
|
|
14
15
|
title: i,
|
|
15
16
|
children: n,
|
|
16
17
|
className: l
|
|
17
18
|
}) => {
|
|
18
|
-
const { t: c } =
|
|
19
|
+
const { t: c } = v();
|
|
19
20
|
return /* @__PURE__ */ a(
|
|
20
21
|
"div",
|
|
21
22
|
{
|
|
@@ -31,29 +32,29 @@ const T = ({
|
|
|
31
32
|
{
|
|
32
33
|
className: "flex size-8 shrink-0 items-center justify-center rounded-md border border-brand-tint bg-canvas-elevated",
|
|
33
34
|
"aria-hidden": !0,
|
|
34
|
-
children: /* @__PURE__ */ e(
|
|
35
|
+
children: /* @__PURE__ */ e(F, { className: "size-5 shrink-0" })
|
|
35
36
|
}
|
|
36
37
|
),
|
|
37
|
-
/* @__PURE__ */ e(
|
|
38
|
+
/* @__PURE__ */ e(w, { className: "text-lg font-bold text-content", children: i })
|
|
38
39
|
] }),
|
|
39
40
|
/* @__PURE__ */ a("div", { className: "flex items-center gap-2", children: [
|
|
40
41
|
n,
|
|
41
|
-
/* @__PURE__ */ e(
|
|
42
|
-
|
|
42
|
+
/* @__PURE__ */ e(k, { asChild: !0, children: /* @__PURE__ */ e(
|
|
43
|
+
D,
|
|
43
44
|
{
|
|
44
45
|
variant: "secondary",
|
|
45
46
|
size: "icon",
|
|
46
47
|
tabIndex: -1,
|
|
47
48
|
"aria-label": c("aria.close"),
|
|
48
49
|
"data-component": "filter-panel-close",
|
|
49
|
-
children: /* @__PURE__ */ e(
|
|
50
|
+
children: /* @__PURE__ */ e(P, { className: "h-3 w-3" })
|
|
50
51
|
}
|
|
51
52
|
) })
|
|
52
53
|
] })
|
|
53
54
|
]
|
|
54
55
|
}
|
|
55
56
|
);
|
|
56
|
-
},
|
|
57
|
+
}, G = ({
|
|
57
58
|
open: i,
|
|
58
59
|
onOpenChange: n,
|
|
59
60
|
title: l = "Filter panel",
|
|
@@ -62,8 +63,8 @@ const T = ({
|
|
|
62
63
|
sidebar: p,
|
|
63
64
|
className: m,
|
|
64
65
|
preventClose: t = !1
|
|
65
|
-
}) => /* @__PURE__ */ e(
|
|
66
|
-
|
|
66
|
+
}) => /* @__PURE__ */ e(g, { open: i, onOpenChange: n, children: /* @__PURE__ */ a(
|
|
67
|
+
N,
|
|
67
68
|
{
|
|
68
69
|
side: "right",
|
|
69
70
|
className: o(
|
|
@@ -71,15 +72,18 @@ const T = ({
|
|
|
71
72
|
m
|
|
72
73
|
),
|
|
73
74
|
onInteractOutside: (r) => {
|
|
74
|
-
t && r.preventDefault();
|
|
75
|
+
x(r), t && r.preventDefault();
|
|
76
|
+
},
|
|
77
|
+
onPointerDownOutside: (r) => {
|
|
78
|
+
x(r), t && r.preventDefault();
|
|
75
79
|
},
|
|
76
80
|
onEscapeKeyDown: (r) => {
|
|
77
81
|
t && r.preventDefault();
|
|
78
82
|
},
|
|
79
83
|
children: [
|
|
80
|
-
/* @__PURE__ */ e(
|
|
84
|
+
/* @__PURE__ */ e(y, { className: "sr-only", children: "Select filters to apply to the current view." }),
|
|
81
85
|
/* @__PURE__ */ a("div", { className: "flex h-full flex-col bg-canvas-elevated", "data-component": "filter-panel", children: [
|
|
82
|
-
s || /* @__PURE__ */ e(
|
|
86
|
+
s || /* @__PURE__ */ e(O, { title: l }),
|
|
83
87
|
/* @__PURE__ */ a("div", { className: "flex flex-1 overflow-hidden", children: [
|
|
84
88
|
p,
|
|
85
89
|
/* @__PURE__ */ e("div", { className: "flex flex-col flex-1 overflow-hidden", children: c })
|
|
@@ -87,13 +91,13 @@ const T = ({
|
|
|
87
91
|
] })
|
|
88
92
|
]
|
|
89
93
|
}
|
|
90
|
-
) }),
|
|
94
|
+
) }), J = ({
|
|
91
95
|
items: i,
|
|
92
96
|
activeTab: n,
|
|
93
97
|
onTabChange: l,
|
|
94
98
|
className: c
|
|
95
99
|
}) => {
|
|
96
|
-
const { t: s } =
|
|
100
|
+
const { t: s } = v(), p = I(), m = (t) => {
|
|
97
101
|
t !== n && p(), l(t);
|
|
98
102
|
};
|
|
99
103
|
return /* @__PURE__ */ e(
|
|
@@ -106,7 +110,7 @@ const T = ({
|
|
|
106
110
|
),
|
|
107
111
|
children: /* @__PURE__ */ e("div", { className: "flex flex-1 flex-col py-2 gap-1 overflow-y-auto", children: i.map((t) => {
|
|
108
112
|
const r = n === t.id;
|
|
109
|
-
return /* @__PURE__ */ a(
|
|
113
|
+
return /* @__PURE__ */ a(b.Fragment, { children: [
|
|
110
114
|
t.separator && /* @__PURE__ */ e("div", { className: "my-2 h-px bg-stroke-hairline" }),
|
|
111
115
|
/* @__PURE__ */ a(
|
|
112
116
|
"button",
|
|
@@ -195,12 +199,12 @@ const T = ({
|
|
|
195
199
|
}) })
|
|
196
200
|
}
|
|
197
201
|
);
|
|
198
|
-
},
|
|
202
|
+
}, Q = C("filter-panel", {
|
|
199
203
|
part: "body",
|
|
200
204
|
displayName: "FilterPanelBody",
|
|
201
205
|
className: "flex flex-1 flex-col overflow-auto bg-canvas-elevated p-4",
|
|
202
206
|
scrollSurface: !0
|
|
203
|
-
}),
|
|
207
|
+
}), U = ({
|
|
204
208
|
children: i,
|
|
205
209
|
className: n,
|
|
206
210
|
leftAction: l
|
|
@@ -219,9 +223,9 @@ const T = ({
|
|
|
219
223
|
}
|
|
220
224
|
);
|
|
221
225
|
export {
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
226
|
+
G as FilterPanel,
|
|
227
|
+
Q as FilterPanelBody,
|
|
228
|
+
U as FilterPanelFooter,
|
|
229
|
+
O as FilterPanelHeader,
|
|
230
|
+
J as FilterPanelSidebar
|
|
227
231
|
};
|
|
@@ -1,45 +1,45 @@
|
|
|
1
1
|
import { jsxs as n, jsx as e } from "react/jsx-runtime";
|
|
2
2
|
import * as l from "react";
|
|
3
|
-
import { ChevronRight as
|
|
4
|
-
import { cn as
|
|
5
|
-
import { useImpactNovaI18n as
|
|
6
|
-
import { Popover as
|
|
7
|
-
import { Tooltip as
|
|
8
|
-
import { OverflowTooltip as
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import { Skeleton as
|
|
15
|
-
const
|
|
3
|
+
import { ChevronRight as ne, Search as le, Bin as oe, Pencil as ie, Star as se } from "impact-nova-icons";
|
|
4
|
+
import { cn as i } from "../../../lib/utils.js";
|
|
5
|
+
import { useImpactNovaI18n as ce } from "../../../i18n/use-impact-nova-i18n.js";
|
|
6
|
+
import { Popover as de, PopoverTrigger as pe, PopoverContent as ue } from "../../feedback/popover/popover.js";
|
|
7
|
+
import { Tooltip as O, TooltipTrigger as D, TooltipContent as $ } from "../../feedback/tooltip/tooltip.js";
|
|
8
|
+
import { OverflowTooltip as Q } from "../../feedback/tooltip/overflow-tooltip.js";
|
|
9
|
+
import { BadgeOverflowTooltip as me } from "../../feedback/tooltip/badge-overflow-tooltip.js";
|
|
10
|
+
import { Button as R } from "../../primitives/button/button.js";
|
|
11
|
+
import { Separator as j } from "../../data-display/separator/separator.js";
|
|
12
|
+
import { Tabs as fe, TabsList as he, TabsTrigger as M } from "../../primitives/tabs/tabs.js";
|
|
13
|
+
import { Input as be } from "../../forms/input/input.js";
|
|
14
|
+
import { Skeleton as ge } from "../../data-display/skeleton/skeleton.js";
|
|
15
|
+
const De = ({
|
|
16
16
|
selectedFilter: m,
|
|
17
|
-
onSelectedFilterChange:
|
|
17
|
+
onSelectedFilterChange: U,
|
|
18
18
|
savedFilters: y,
|
|
19
19
|
recentFilters: N,
|
|
20
|
-
onApplySavedFilter:
|
|
20
|
+
onApplySavedFilter: V,
|
|
21
21
|
onSavedFilterSearch: x,
|
|
22
|
-
onSavedFiltersScroll:
|
|
23
|
-
onDropdownOpenChange:
|
|
24
|
-
isLoadingFilterPreferencesList:
|
|
22
|
+
onSavedFiltersScroll: Y,
|
|
23
|
+
onDropdownOpenChange: q,
|
|
24
|
+
isLoadingFilterPreferencesList: H = !1,
|
|
25
25
|
onEditSavedFilter: w,
|
|
26
26
|
onDeleteSavedFilter: C,
|
|
27
27
|
onSetDefaultSavedFilter: S
|
|
28
28
|
}) => {
|
|
29
|
-
const { t: r } =
|
|
29
|
+
const { t: r } = ce(), [f, k] = l.useState(!1), [B, L] = l.useState(null), [T, J] = l.useState(null);
|
|
30
30
|
l.useEffect(() => {
|
|
31
|
-
const a = y?.find((
|
|
32
|
-
a && a.id !==
|
|
33
|
-
}, [y,
|
|
34
|
-
const
|
|
35
|
-
k(a),
|
|
36
|
-
}, [
|
|
31
|
+
const a = y?.find((s) => s.isDefault);
|
|
32
|
+
a && a.id !== T && J(a.id);
|
|
33
|
+
}, [y, T]);
|
|
34
|
+
const K = (a) => {
|
|
35
|
+
k(a), q?.(a);
|
|
36
|
+
}, [I, W] = l.useState(""), [h, X] = l.useState(""), [c, Z] = l.useState("All"), [d, P] = l.useState(null);
|
|
37
37
|
l.useEffect(() => {
|
|
38
38
|
const a = setTimeout(() => {
|
|
39
|
-
|
|
39
|
+
X(I);
|
|
40
40
|
}, 300);
|
|
41
41
|
return () => clearTimeout(a);
|
|
42
|
-
}, [
|
|
42
|
+
}, [I]), l.useEffect(() => {
|
|
43
43
|
x && x(
|
|
44
44
|
h,
|
|
45
45
|
c === "All" ? void 0 : c
|
|
@@ -47,42 +47,42 @@ const Ae = ({
|
|
|
47
47
|
}, [h, c, x]), l.useEffect(() => {
|
|
48
48
|
f && P(m != null ? { label: m } : null);
|
|
49
49
|
}, [f, m]);
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
},
|
|
53
|
-
|
|
54
|
-
},
|
|
50
|
+
const _ = (a) => {
|
|
51
|
+
W(a.target.value);
|
|
52
|
+
}, F = () => {
|
|
53
|
+
d && (U?.(d.label), d.savedItem && V?.(d.savedItem), k(!1));
|
|
54
|
+
}, ee = () => {
|
|
55
55
|
k(!1);
|
|
56
|
-
},
|
|
56
|
+
}, te = () => !N || N.length === 0 ? null : /* @__PURE__ */ n("div", { className: "flex flex-col", children: [
|
|
57
57
|
/* @__PURE__ */ e("div", { className: "px-1 py-[6px] text-xs font-medium text-secondary-foreground font-['Manrope']", children: "Recent" }),
|
|
58
|
-
/* @__PURE__ */ e("div", { className: "mb-[6px] flex flex-col", children: N.map((a,
|
|
59
|
-
const
|
|
58
|
+
/* @__PURE__ */ e("div", { className: "mb-[6px] flex flex-col", children: N.map((a, s) => {
|
|
59
|
+
const b = a.map((p) => p.label).join(", "), v = d?.label === b;
|
|
60
60
|
return /* @__PURE__ */ e(
|
|
61
61
|
"button",
|
|
62
62
|
{
|
|
63
63
|
type: "button",
|
|
64
|
-
className:
|
|
65
|
-
"flex cursor-pointer flex-row px-3 py-2 rounded-lg hover:bg-secondary w-full text-start bg-transparent border-none",
|
|
66
|
-
|
|
64
|
+
className: i(
|
|
65
|
+
"flex cursor-pointer flex-row items-stretch px-3 py-2 rounded-lg hover:bg-secondary w-full text-start bg-transparent border-none",
|
|
66
|
+
v && "bg-accent"
|
|
67
67
|
),
|
|
68
|
-
onClick: () => P({ label:
|
|
68
|
+
onClick: () => P({ label: b }),
|
|
69
69
|
children: /* @__PURE__ */ e(
|
|
70
|
-
|
|
70
|
+
Q,
|
|
71
71
|
{
|
|
72
|
-
triggerClassName: "
|
|
73
|
-
content:
|
|
72
|
+
triggerClassName: "block min-w-0 flex-1 self-stretch truncate text-sm font-['Manrope'] text-foreground",
|
|
73
|
+
content: b,
|
|
74
74
|
side: "right",
|
|
75
|
-
children:
|
|
75
|
+
children: b
|
|
76
76
|
}
|
|
77
77
|
)
|
|
78
78
|
},
|
|
79
|
-
|
|
79
|
+
s
|
|
80
80
|
);
|
|
81
81
|
}) }),
|
|
82
|
-
/* @__PURE__ */ e(
|
|
83
|
-
] }),
|
|
84
|
-
if (
|
|
85
|
-
return /* @__PURE__ */ e("div", { className: "flex max-h-[160px] flex-col overflow-y-auto px-3 py-2 space-y-2", children: [1, 2, 3, 4, 5].map((t) => /* @__PURE__ */ e(
|
|
82
|
+
/* @__PURE__ */ e(j, { className: "mb-2" })
|
|
83
|
+
] }), ae = () => {
|
|
84
|
+
if (H)
|
|
85
|
+
return /* @__PURE__ */ e("div", { className: "flex max-h-[160px] flex-col overflow-y-auto px-3 py-2 space-y-2", children: [1, 2, 3, 4, 5].map((t) => /* @__PURE__ */ e(ge, { className: "h-9 w-full rounded-lg" }, t)) });
|
|
86
86
|
let a = y?.filter(
|
|
87
87
|
(t) => c === "All" || t.type === c
|
|
88
88
|
);
|
|
@@ -114,23 +114,23 @@ const Ae = ({
|
|
|
114
114
|
}
|
|
115
115
|
return /* @__PURE__ */ e("div", { className: "flex flex-col items-center justify-center py-8 text-center min-h-[100px] px-6", children: /* @__PURE__ */ e("span", { className: "text-sm text-secondary-foreground font-['Manrope'] leading-relaxed", children: t }) });
|
|
116
116
|
}
|
|
117
|
-
const
|
|
118
|
-
const
|
|
117
|
+
const s = !!S, v = s || !!(w || C), p = a.find((t) => t.isDefault), A = a.filter((t) => !t.isDefault), E = (t, u = !1) => {
|
|
118
|
+
const G = d?.label === t.label, o = B === t.id;
|
|
119
119
|
return /* @__PURE__ */ n(
|
|
120
120
|
"button",
|
|
121
121
|
{
|
|
122
122
|
type: "button",
|
|
123
|
-
className:
|
|
124
|
-
"group mb-1 flex min-w-0 items-
|
|
125
|
-
!
|
|
126
|
-
!
|
|
127
|
-
!
|
|
128
|
-
|
|
123
|
+
className: i(
|
|
124
|
+
"group mb-1 flex min-w-0 w-full items-stretch cursor-pointer rounded-lg px-3 py-2 text-sm font-medium font-['Manrope'] text-start bg-transparent border-none transition-all duration-300 relative overflow-hidden",
|
|
125
|
+
!o && "hover:bg-secondary",
|
|
126
|
+
!o && G && "bg-accent",
|
|
127
|
+
!o && !G && "text-foreground",
|
|
128
|
+
o && "pointer-events-none"
|
|
129
129
|
),
|
|
130
|
-
onClick: () => !
|
|
131
|
-
disabled:
|
|
130
|
+
onClick: () => !o && P({ label: t.label, savedItem: t }),
|
|
131
|
+
disabled: o,
|
|
132
132
|
children: [
|
|
133
|
-
|
|
133
|
+
o && /* @__PURE__ */ e(
|
|
134
134
|
"div",
|
|
135
135
|
{
|
|
136
136
|
className: "absolute inset-0 bg-gradient-to-r from-stroke-hairline via-accent to-stroke-hairline opacity-60",
|
|
@@ -141,60 +141,60 @@ const Ae = ({
|
|
|
141
141
|
}
|
|
142
142
|
),
|
|
143
143
|
/* @__PURE__ */ e(
|
|
144
|
-
|
|
144
|
+
Q,
|
|
145
145
|
{
|
|
146
|
-
triggerClassName:
|
|
147
|
-
"relative z-[1]
|
|
148
|
-
u ? "pe-7 group-hover:pe-[4.75rem]" : "pe-0 group-hover:pe-[4.75rem]"
|
|
146
|
+
triggerClassName: i(
|
|
147
|
+
"relative z-[1] block min-w-0 flex-1 self-stretch truncate text-start overflow-hidden",
|
|
148
|
+
v && (u && s ? "pe-7 group-hover:pe-[4.75rem]" : "pe-0 group-hover:pe-[4.75rem]")
|
|
149
149
|
),
|
|
150
150
|
content: t.label,
|
|
151
151
|
side: "right",
|
|
152
152
|
children: t.label
|
|
153
153
|
}
|
|
154
154
|
),
|
|
155
|
-
|
|
155
|
+
v && /* @__PURE__ */ n("div", { className: i(
|
|
156
156
|
"absolute end-2 top-1/2 z-[2] flex -translate-y-1/2 items-center gap-1 transition-opacity",
|
|
157
157
|
u ? "opacity-100" : "pointer-events-none opacity-0 group-hover:pointer-events-auto group-hover:opacity-100"
|
|
158
158
|
), children: [
|
|
159
|
-
C && /* @__PURE__ */ n(
|
|
159
|
+
C && /* @__PURE__ */ n(O, { children: [
|
|
160
160
|
/* @__PURE__ */ e(D, { asChild: !0, children: /* @__PURE__ */ e(
|
|
161
161
|
"button",
|
|
162
162
|
{
|
|
163
163
|
type: "button",
|
|
164
164
|
tabIndex: -1,
|
|
165
165
|
"aria-label": `${r("filterStrip.deleteFilter")} ${t.label}`,
|
|
166
|
-
className:
|
|
166
|
+
className: i(
|
|
167
167
|
"p-1 rounded transition-colors hover:bg-stroke-hairline",
|
|
168
168
|
u && "opacity-0 group-hover:opacity-100"
|
|
169
169
|
),
|
|
170
170
|
onClick: (g) => {
|
|
171
171
|
g.stopPropagation(), C(t);
|
|
172
172
|
},
|
|
173
|
-
children: /* @__PURE__ */ e(
|
|
173
|
+
children: /* @__PURE__ */ e(oe, { className: "h-3.5 w-3.5 text-secondary-foreground" })
|
|
174
174
|
}
|
|
175
175
|
) }),
|
|
176
|
-
/* @__PURE__ */ e(
|
|
176
|
+
/* @__PURE__ */ e($, { variant: "tertiary", side: "top", children: r("filterStrip.deleteFilter") })
|
|
177
177
|
] }),
|
|
178
|
-
w && /* @__PURE__ */ n(
|
|
178
|
+
w && /* @__PURE__ */ n(O, { children: [
|
|
179
179
|
/* @__PURE__ */ e(D, { asChild: !0, children: /* @__PURE__ */ e(
|
|
180
180
|
"button",
|
|
181
181
|
{
|
|
182
182
|
type: "button",
|
|
183
183
|
tabIndex: -1,
|
|
184
184
|
"aria-label": `${r("filterStrip.editFilter")} ${t.label}`,
|
|
185
|
-
className:
|
|
185
|
+
className: i(
|
|
186
186
|
"p-1 rounded transition-colors hover:bg-stroke-hairline",
|
|
187
187
|
u && "opacity-0 group-hover:opacity-100"
|
|
188
188
|
),
|
|
189
189
|
onClick: (g) => {
|
|
190
190
|
g.stopPropagation(), w(t);
|
|
191
191
|
},
|
|
192
|
-
children: /* @__PURE__ */ e(
|
|
192
|
+
children: /* @__PURE__ */ e(ie, { className: "h-3.5 w-3.5 text-secondary-foreground" })
|
|
193
193
|
}
|
|
194
194
|
) }),
|
|
195
|
-
/* @__PURE__ */ e(
|
|
195
|
+
/* @__PURE__ */ e($, { variant: "tertiary", side: "top", children: r("filterStrip.editFilter") })
|
|
196
196
|
] }),
|
|
197
|
-
S && /* @__PURE__ */ n(
|
|
197
|
+
S && /* @__PURE__ */ n(O, { children: [
|
|
198
198
|
/* @__PURE__ */ e(D, { asChild: !0, children: /* @__PURE__ */ e(
|
|
199
199
|
"button",
|
|
200
200
|
{
|
|
@@ -202,14 +202,14 @@ const Ae = ({
|
|
|
202
202
|
tabIndex: u ? 0 : -1,
|
|
203
203
|
"aria-label": `${t.isDefault ? r("filterStrip.defaultFilter") : r("filterStrip.setAsDefault")} ${t.label}`,
|
|
204
204
|
className: "p-1 rounded hover:bg-stroke-hairline transition-colors disabled:opacity-50 disabled:cursor-not-allowed",
|
|
205
|
-
disabled:
|
|
205
|
+
disabled: o,
|
|
206
206
|
onClick: (g) => {
|
|
207
207
|
g.stopPropagation(), L(t.id), S(t), setTimeout(() => L(null), 1200);
|
|
208
208
|
},
|
|
209
|
-
children:
|
|
210
|
-
|
|
209
|
+
children: o ? /* @__PURE__ */ e("div", { className: "h-3.5 w-3.5 animate-spin motion-reduce:animate-none rounded-full border-2 border-warning border-t-transparent" }) : /* @__PURE__ */ e(
|
|
210
|
+
se,
|
|
211
211
|
{
|
|
212
|
-
className:
|
|
212
|
+
className: i(
|
|
213
213
|
"h-3.5 w-3.5 transition-all duration-300",
|
|
214
214
|
t.isDefault ? "fill-warning text-warning" : "text-secondary-foreground"
|
|
215
215
|
)
|
|
@@ -217,7 +217,7 @@ const Ae = ({
|
|
|
217
217
|
)
|
|
218
218
|
}
|
|
219
219
|
) }),
|
|
220
|
-
/* @__PURE__ */ e(
|
|
220
|
+
/* @__PURE__ */ e($, { variant: "tertiary", side: "top", children: o ? r("filterStrip.updating") : t.isDefault ? r("filterStrip.defaultFilter") : r("filterStrip.setAsDefault") })
|
|
221
221
|
] })
|
|
222
222
|
] })
|
|
223
223
|
]
|
|
@@ -225,43 +225,43 @@ const Ae = ({
|
|
|
225
225
|
t.id
|
|
226
226
|
);
|
|
227
227
|
};
|
|
228
|
-
return /* @__PURE__ */ n("div", { className: "flex flex-col", children: [
|
|
229
|
-
|
|
228
|
+
return /* @__PURE__ */ n("div", { className: "flex min-w-0 flex-col", children: [
|
|
229
|
+
p && /* @__PURE__ */ n(
|
|
230
230
|
"div",
|
|
231
231
|
{
|
|
232
|
-
className:
|
|
232
|
+
className: i(
|
|
233
233
|
"transition-all duration-500 ease-out",
|
|
234
|
-
|
|
234
|
+
T === p.id && "animate-in fade-in slide-in-from-bottom-2 motion-reduce:animate-none"
|
|
235
235
|
),
|
|
236
236
|
children: [
|
|
237
|
-
|
|
238
|
-
|
|
237
|
+
E(p, !0),
|
|
238
|
+
A.length > 0 && /* @__PURE__ */ e(j, { className: "my-1" })
|
|
239
239
|
]
|
|
240
240
|
},
|
|
241
|
-
`default-${
|
|
241
|
+
`default-${p.id}`
|
|
242
242
|
),
|
|
243
|
-
|
|
243
|
+
A.length > 0 && /* @__PURE__ */ e(
|
|
244
244
|
"div",
|
|
245
245
|
{
|
|
246
|
-
className: "flex max-h-[160px] flex-col overflow-y-auto",
|
|
247
|
-
onScroll:
|
|
248
|
-
children:
|
|
246
|
+
className: "flex max-h-[160px] min-w-0 flex-col overflow-y-auto overflow-x-hidden",
|
|
247
|
+
onScroll: Y,
|
|
248
|
+
children: A.map((t) => /* @__PURE__ */ e(
|
|
249
249
|
"div",
|
|
250
250
|
{
|
|
251
|
-
className:
|
|
252
|
-
"transition-all duration-300",
|
|
253
|
-
|
|
251
|
+
className: i(
|
|
252
|
+
"min-w-0 transition-all duration-300",
|
|
253
|
+
B === t.id && "opacity-50"
|
|
254
254
|
),
|
|
255
|
-
children:
|
|
255
|
+
children: E(t, !1)
|
|
256
256
|
},
|
|
257
257
|
t.id
|
|
258
258
|
))
|
|
259
259
|
}
|
|
260
260
|
)
|
|
261
261
|
] });
|
|
262
|
-
},
|
|
263
|
-
return /* @__PURE__ */ n(
|
|
264
|
-
/* @__PURE__ */ e(
|
|
262
|
+
}, re = d?.label !== m, z = m || r("filterStrip.notSelected");
|
|
263
|
+
return /* @__PURE__ */ n(de, { open: f, onOpenChange: K, children: [
|
|
264
|
+
/* @__PURE__ */ e(pe, { asChild: !0, children: /* @__PURE__ */ n(
|
|
265
265
|
"button",
|
|
266
266
|
{
|
|
267
267
|
type: "button",
|
|
@@ -271,90 +271,79 @@ const Ae = ({
|
|
|
271
271
|
children: [
|
|
272
272
|
/* @__PURE__ */ e("span", { className: "text-sm font-medium text-secondary-foreground font-['Manrope']", children: r("filterStrip.filtersApplied") }),
|
|
273
273
|
/* @__PURE__ */ e(
|
|
274
|
-
|
|
274
|
+
me,
|
|
275
275
|
{
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
variant: "outline",
|
|
280
|
-
color: "primary",
|
|
281
|
-
size: "md",
|
|
282
|
-
shape: "circle",
|
|
283
|
-
layout: "default"
|
|
284
|
-
}),
|
|
285
|
-
"font-['Manrope'] max-w-[140px] min-w-0 truncate"
|
|
286
|
-
),
|
|
287
|
-
content: G,
|
|
288
|
-
side: "top",
|
|
289
|
-
children: G
|
|
276
|
+
label: z,
|
|
277
|
+
content: z,
|
|
278
|
+
side: "top"
|
|
290
279
|
}
|
|
291
280
|
),
|
|
292
281
|
/* @__PURE__ */ e(
|
|
293
282
|
"div",
|
|
294
283
|
{
|
|
295
|
-
className:
|
|
284
|
+
className: i(
|
|
296
285
|
"flex h-8 w-8 items-center justify-center rounded-lg bg-secondary transition-transform duration-200",
|
|
297
286
|
f && "rotate-180"
|
|
298
287
|
),
|
|
299
288
|
"aria-hidden": "true",
|
|
300
|
-
children: /* @__PURE__ */ e(
|
|
289
|
+
children: /* @__PURE__ */ e(ne, { className: "h-4 w-4 rotate-90 text-foreground" })
|
|
301
290
|
}
|
|
302
291
|
)
|
|
303
292
|
]
|
|
304
293
|
}
|
|
305
294
|
) }),
|
|
306
295
|
/* @__PURE__ */ e(
|
|
307
|
-
|
|
296
|
+
ue,
|
|
308
297
|
{
|
|
309
298
|
align: "start",
|
|
310
299
|
className: "w-[280px] p-0 shadow-elevation-floating overflow-visible",
|
|
311
300
|
sideOffset: 8,
|
|
312
301
|
onInteractOutside: (a) => {
|
|
313
|
-
const
|
|
314
|
-
(
|
|
302
|
+
const s = a.target;
|
|
303
|
+
(s.closest('[role="dialog"]') || s.closest("[data-radix-dialog-content]")) && a.preventDefault();
|
|
315
304
|
},
|
|
316
|
-
children: /* @__PURE__ */ n("div", { className: "flex w-full flex-col py-[8px] px-[6px]", children: [
|
|
317
|
-
|
|
318
|
-
/* @__PURE__ */ n("div", { className: "flex flex-col", children: [
|
|
305
|
+
children: /* @__PURE__ */ n("div", { className: "flex w-full min-w-0 flex-col py-[8px] px-[6px]", children: [
|
|
306
|
+
te(),
|
|
307
|
+
/* @__PURE__ */ n("div", { className: "flex min-w-0 flex-col", children: [
|
|
319
308
|
/* @__PURE__ */ e("div", { className: "px-1 py-[6px] text-xs font-medium text-secondary-foreground font-['Manrope']", children: r("filterStrip.savedFilters") }),
|
|
320
309
|
/* @__PURE__ */ n(
|
|
321
|
-
|
|
310
|
+
fe,
|
|
322
311
|
{
|
|
323
312
|
value: c,
|
|
324
|
-
onValueChange: (a) =>
|
|
313
|
+
onValueChange: (a) => Z(a),
|
|
325
314
|
variant: "outline",
|
|
326
315
|
size: "sm",
|
|
327
|
-
className: "w-full px-1",
|
|
316
|
+
className: "w-full min-w-0 px-1",
|
|
328
317
|
children: [
|
|
329
|
-
/* @__PURE__ */ e("div", { className: "py-[8px]", children: /* @__PURE__ */ n(
|
|
330
|
-
/* @__PURE__ */ e(
|
|
331
|
-
/* @__PURE__ */ e(
|
|
332
|
-
/* @__PURE__ */ e(
|
|
318
|
+
/* @__PURE__ */ e("div", { className: "py-[8px]", children: /* @__PURE__ */ n(he, { children: [
|
|
319
|
+
/* @__PURE__ */ e(M, { value: "All", children: "All" }),
|
|
320
|
+
/* @__PURE__ */ e(M, { value: "Global", children: "Global" }),
|
|
321
|
+
/* @__PURE__ */ e(M, { value: "Personal", children: "Personal" })
|
|
333
322
|
] }) }),
|
|
334
323
|
/* @__PURE__ */ e("div", { className: "pb-[8px]", children: /* @__PURE__ */ e(
|
|
335
|
-
|
|
324
|
+
be,
|
|
336
325
|
{
|
|
337
|
-
prefix: /* @__PURE__ */ e(
|
|
326
|
+
prefix: /* @__PURE__ */ e(le, { className: "h-4 w-4 text-content-secondary" }),
|
|
338
327
|
placeholder: r("filterStrip.searchFiltersPlaceholder"),
|
|
339
|
-
value:
|
|
340
|
-
onChange:
|
|
328
|
+
value: I,
|
|
329
|
+
onChange: _,
|
|
341
330
|
className: "h-9 px-1 border-none shadow-none focus-visible:ring-0"
|
|
342
331
|
}
|
|
343
332
|
) }),
|
|
344
|
-
/* @__PURE__ */ e("div", { className: "mt-0", children:
|
|
333
|
+
/* @__PURE__ */ e("div", { className: "mt-0 min-w-0", children: ae() })
|
|
345
334
|
]
|
|
346
335
|
}
|
|
347
336
|
)
|
|
348
337
|
] }),
|
|
349
|
-
/* @__PURE__ */ e(
|
|
338
|
+
/* @__PURE__ */ e(j, { className: "my-2" }),
|
|
350
339
|
/* @__PURE__ */ n("div", { className: "flex justify-end gap-2 px-3 pb-1", children: [
|
|
351
|
-
/* @__PURE__ */ e(
|
|
340
|
+
/* @__PURE__ */ e(R, { variant: "secondary", onClick: ee, children: r("prompt.cancel") }),
|
|
352
341
|
/* @__PURE__ */ e(
|
|
353
|
-
|
|
342
|
+
R,
|
|
354
343
|
{
|
|
355
344
|
variant: "default",
|
|
356
|
-
onClick:
|
|
357
|
-
disabled: !
|
|
345
|
+
onClick: F,
|
|
346
|
+
disabled: !re,
|
|
358
347
|
children: r("filterStrip.applyFilter")
|
|
359
348
|
}
|
|
360
349
|
)
|
|
@@ -365,5 +354,5 @@ const Ae = ({
|
|
|
365
354
|
] });
|
|
366
355
|
};
|
|
367
356
|
export {
|
|
368
|
-
|
|
357
|
+
De as FilterSummary
|
|
369
358
|
};
|