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