impact-nova 1.5.14 → 1.6.0

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 (149) hide show
  1. package/dist/components/ui/accordion.d.ts +4 -1
  2. package/dist/components/ui/accordion.js +28 -22
  3. package/dist/components/ui/ag-grid-react/cell-renderers/badge-cell-renderer.js +11 -11
  4. package/dist/components/ui/ag-grid-react/cell-renderers/checkbox-display-renderer.js +12 -12
  5. package/dist/components/ui/ag-grid-react/cell-renderers/date-display-renderer.js +13 -13
  6. package/dist/components/ui/ag-grid-react/cell-renderers/editors/date-cell-editor.js +13 -13
  7. package/dist/components/ui/ag-grid-react/cell-renderers/editors/input-cell-editor.js +30 -30
  8. package/dist/components/ui/ag-grid-react/cell-renderers/editors/percent-progress-cell-editor.js +13 -13
  9. package/dist/components/ui/ag-grid-react/cell-renderers/editors/split-cell-editor.js +16 -16
  10. package/dist/components/ui/ag-grid-react/cell-renderers/editors/textarea-cell-editor.js +17 -17
  11. package/dist/components/ui/ag-grid-react/cell-renderers/input-display-renderer.js +11 -11
  12. package/dist/components/ui/ag-grid-react/cell-renderers/link-with-batch-cell-renderer.js +2 -2
  13. package/dist/components/ui/ag-grid-react/cell-renderers/percent-progress-display-renderer.js +11 -13
  14. package/dist/components/ui/ag-grid-react/cell-renderers/select-display-renderer.js +8 -8
  15. package/dist/components/ui/ag-grid-react/cell-renderers/split-cell-renderer.js +6 -6
  16. package/dist/components/ui/ag-grid-react/cell-renderers/status-badge-renderer.d.ts +1 -1
  17. package/dist/components/ui/ag-grid-react/cell-renderers/status-badge-renderer.js +14 -14
  18. package/dist/components/ui/ag-grid-react/cell-renderers/switch-display-renderer.js +18 -18
  19. package/dist/components/ui/ag-grid-react/cell-renderers/textarea-display-renderer.js +6 -6
  20. package/dist/components/ui/ag-grid-react/headers/advanced-filter/advanced-filter-dialog.js +14 -14
  21. package/dist/components/ui/ag-grid-react/headers/advanced-filter/column-filter-section.js +35 -35
  22. package/dist/components/ui/ag-grid-react/headers/column-menu/column-settings-menu.js +49 -49
  23. package/dist/components/ui/ag-grid-react/headers/components/header-info.js +29 -29
  24. package/dist/components/ui/ag-grid-react/headers/components/info-modal.js +9 -9
  25. package/dist/components/ui/ag-grid-react/headers/components/section-renderers.js +20 -20
  26. package/dist/components/ui/ag-grid-react/headers/custom-header-group.js +10 -10
  27. package/dist/components/ui/ag-grid-react/headers/custom-header.js +76 -76
  28. package/dist/components/ui/ag-grid-react/headers/header-search-input.js +118 -118
  29. package/dist/components/ui/ag-grid-react/index.js +121 -102
  30. package/dist/components/ui/alert-dialog.js +6 -6
  31. package/dist/components/ui/alert.d.ts +4 -3
  32. package/dist/components/ui/alert.js +182 -64
  33. package/dist/components/ui/avatar.js +5 -5
  34. package/dist/components/ui/badge.d.ts +7 -2
  35. package/dist/components/ui/badge.js +105 -32
  36. package/dist/components/ui/breadcrumb.js +26 -21
  37. package/dist/components/ui/button-group.d.ts +7 -0
  38. package/dist/components/ui/button-group.js +116 -91
  39. package/dist/components/ui/button-variants.d.ts +7 -2
  40. package/dist/components/ui/button-variants.js +31 -16
  41. package/dist/components/ui/button.d.ts +2 -2
  42. package/dist/components/ui/button.js +10 -10
  43. package/dist/components/ui/calendar.js +185 -184
  44. package/dist/components/ui/card.js +24 -24
  45. package/dist/components/ui/chart/chart.js +27 -27
  46. package/dist/components/ui/chart/chart.utils.js +50 -50
  47. package/dist/components/ui/checkbox.js +22 -22
  48. package/dist/components/ui/chips.d.ts +19 -3
  49. package/dist/components/ui/chips.js +140 -41
  50. package/dist/components/ui/command-palette/command-palette-layout.d.ts +28 -0
  51. package/dist/components/ui/command-palette/command-palette-layout.js +59 -0
  52. package/dist/components/ui/command-palette/command-palette.js +254 -264
  53. package/dist/components/ui/command-palette/index.d.ts +1 -1
  54. package/dist/components/ui/command-palette/index.js +42 -41
  55. package/dist/components/ui/command-palette/kbd.js +18 -18
  56. package/dist/components/ui/command-palette/shortcut-settings.d.ts +3 -3
  57. package/dist/components/ui/command-palette/shortcut-settings.js +105 -111
  58. package/dist/components/ui/command-palette/utils.d.ts +6 -1
  59. package/dist/components/ui/command-palette/utils.js +81 -74
  60. package/dist/components/ui/data-table/data-table-column-list.js +31 -31
  61. package/dist/components/ui/data-table/data-table-constants.d.ts +6 -0
  62. package/dist/components/ui/data-table/data-table-constants.js +4 -0
  63. package/dist/components/ui/data-table/data-table-context.d.ts +4 -0
  64. package/dist/components/ui/data-table/data-table-format-options.js +35 -35
  65. package/dist/components/ui/data-table/data-table-sheet.d.ts +4 -4
  66. package/dist/components/ui/data-table/data-table-sheet.js +91 -58
  67. package/dist/components/ui/data-table/data-table-view-options.js +29 -29
  68. package/dist/components/ui/data-table/data-table.js +84 -52
  69. package/dist/components/ui/data-table/index.d.ts +1 -0
  70. package/dist/components/ui/data-table/index.js +15 -13
  71. package/dist/components/ui/date-picker/date-picker.js +35 -35
  72. package/dist/components/ui/date-picker/date-range-picker.js +166 -164
  73. package/dist/components/ui/date-picker/month-picker.js +14 -14
  74. package/dist/components/ui/date-picker/month-range-picker.js +198 -189
  75. package/dist/components/ui/date-picker/multi-date-picker.js +14 -14
  76. package/dist/components/ui/date-picker/multi-month-picker.js +1 -1
  77. package/dist/components/ui/date-picker/multi-week-picker.js +1 -1
  78. package/dist/components/ui/date-picker/week-picker.js +2 -2
  79. package/dist/components/ui/date-picker/week-range-picker.js +164 -162
  80. package/dist/components/ui/dialog.js +25 -28
  81. package/dist/components/ui/drawer.js +40 -40
  82. package/dist/components/ui/dropdown-menu.js +72 -72
  83. package/dist/components/ui/empty-container.js +73 -69
  84. package/dist/components/ui/file-upload.js +137 -135
  85. package/dist/components/ui/filter-panel/filter-panel.d.ts +2 -2
  86. package/dist/components/ui/filter-panel/filter-panel.js +175 -97
  87. package/dist/components/ui/filter-strip/filter-strip.d.ts +1 -1
  88. package/dist/components/ui/filter-strip/filter-strip.js +63 -50
  89. package/dist/components/ui/filter-strip/filter-summary.d.ts +4 -1
  90. package/dist/components/ui/filter-strip/filter-summary.js +230 -146
  91. package/dist/components/ui/filter-strip/filter-tag-list.js +125 -91
  92. package/dist/components/ui/header.d.ts +7 -3
  93. package/dist/components/ui/header.js +87 -79
  94. package/dist/components/ui/horizontal-scroller/horizontal-scroller.js +44 -44
  95. package/dist/components/ui/hover-card.js +10 -10
  96. package/dist/components/ui/input.js +79 -70
  97. package/dist/components/ui/loader.js +16 -16
  98. package/dist/components/ui/nested-list/components/NestedListCategoryFilters.js +16 -16
  99. package/dist/components/ui/nested-list/components/NestedListHeader.js +27 -27
  100. package/dist/components/ui/nested-list/components/SortableItem.js +58 -58
  101. package/dist/components/ui/notification-panel/notification-item.js +32 -32
  102. package/dist/components/ui/notification-panel/notification-list.js +24 -24
  103. package/dist/components/ui/notification-panel/notification-panel.js +26 -26
  104. package/dist/components/ui/popover.js +22 -22
  105. package/dist/components/ui/progress.js +34 -34
  106. package/dist/components/ui/prompt.js +48 -48
  107. package/dist/components/ui/radio-group.js +63 -54
  108. package/dist/components/ui/select/components/LabelWithSequence.js +6 -6
  109. package/dist/components/ui/select/components/Submenu.js +33 -33
  110. package/dist/components/ui/select/select.js +425 -376
  111. package/dist/components/ui/sheet.js +88 -66
  112. package/dist/components/ui/sidebar.js +342 -296
  113. package/dist/components/ui/skeleton.js +6 -6
  114. package/dist/components/ui/slider.js +17 -17
  115. package/dist/components/ui/statistics-card.d.ts +86 -0
  116. package/dist/components/ui/statistics-card.hooks.d.ts +150 -0
  117. package/dist/components/ui/statistics-card.hooks.js +100 -0
  118. package/dist/components/ui/statistics-card.js +259 -0
  119. package/dist/components/ui/stepper.js +51 -51
  120. package/dist/components/ui/switch.js +7 -7
  121. package/dist/components/ui/tabs.js +70 -70
  122. package/dist/components/ui/tag-group.d.ts +1 -0
  123. package/dist/components/ui/tag-group.js +14 -13
  124. package/dist/components/ui/tag.js +43 -43
  125. package/dist/components/ui/textarea.js +86 -58
  126. package/dist/components/ui/toast.js +39 -39
  127. package/dist/components/ui/tooltip.js +23 -23
  128. package/dist/components/ui/types/date-picker.types.d.ts +1 -0
  129. package/dist/components/ui/types/filter-panel.types.d.ts +3 -0
  130. package/dist/components/ui/types/filter-strip.types.d.ts +14 -0
  131. package/dist/components/ui/types/horizontal-scroller.types.d.ts +1 -1
  132. package/dist/components/ui/types/statistics-card.types.d.ts +1 -0
  133. package/dist/i18n/defaultMessages.d.ts +8 -0
  134. package/dist/i18n/defaultMessages.js +15 -9
  135. package/dist/i18n/locales/de.js +7 -1
  136. package/dist/i18n/locales/es.js +7 -1
  137. package/dist/i18n/locales/hi.js +7 -1
  138. package/dist/i18n/locales/kn.js +7 -1
  139. package/dist/icons/assets/bulk-edit.svg.js +5 -0
  140. package/dist/icons/assets/clock.svg.js +5 -0
  141. package/dist/icons/assets/statistics.svg.js +5 -0
  142. package/dist/icons/index.d.ts +3 -0
  143. package/dist/icons/index.js +254 -206
  144. package/dist/impact-nova.css +1 -1
  145. package/dist/index.d.ts +1 -0
  146. package/dist/index.js +361 -347
  147. package/package.json +3 -2
  148. package/tailwind.config.js +259 -152
  149. /package/dist/icons/assets/{PivotMode.svg.js → pivotMode.svg.js} +0 -0
@@ -1,209 +1,293 @@
1
- import { jsxs as t, jsx as e } from "react/jsx-runtime";
2
- import * as s from "react";
3
- import { ChevronDown as V, Search as Y } from "lucide-react";
4
- import { cn as y } from "../../../lib/utils.js";
5
- import { Popover as q, PopoverTrigger as H, PopoverContent as J } from "../popover.js";
6
- import { Tooltip as m, TooltipTrigger as h, TooltipContent as u } from "../tooltip.js";
7
- import { Button as S } from "../button.js";
8
- import { Separator as C } from "../separator.js";
9
- import { Tabs as K, TabsList as U, TabsTrigger as N } from "../tabs.js";
10
- import { Input as W } from "../input.js";
11
- import { Badge as X } from "../badge.js";
12
- import { Skeleton as Z } from "../skeleton.js";
13
- import { useImpactNovaI18n as $ } from "../../../i18n/ImpactNovaI18nContext.js";
14
- const fe = ({
15
- selectedFilter: c,
16
- onSelectedFilterChange: w,
17
- savedFilters: T,
18
- recentFilters: x,
19
- onApplySavedFilter: k,
20
- onSavedFilterSearch: f,
21
- onSavedFiltersScroll: P,
22
- onDropdownOpenChange: A,
23
- isLoadingFilterPreferencesList: j = !1
1
+ import { jsxs as a, jsx as e, Fragment as U } from "react/jsx-runtime";
2
+ import * as n from "react";
3
+ import { ChevronDown as W, Search as X, Trash2 as Z, Pencil as _, Star as ee } from "lucide-react";
4
+ import { cn as c } from "../../../lib/utils.js";
5
+ import { Popover as te, PopoverTrigger as le, PopoverContent as ae } from "../popover.js";
6
+ import { Tooltip as d, TooltipTrigger as p, TooltipContent as h } from "../tooltip.js";
7
+ import { Button as M } from "../button.js";
8
+ import { Separator as I } from "../separator.js";
9
+ import { Tabs as re, TabsList as ie, TabsTrigger as j } from "../tabs.js";
10
+ import { Input as ne } from "../input.js";
11
+ import { Badge as se } from "../badge.js";
12
+ import { Skeleton as oe } from "../skeleton.js";
13
+ import { useImpactNovaI18n as ce } from "../../../i18n/ImpactNovaI18nContext.js";
14
+ const Ce = ({
15
+ selectedFilter: m,
16
+ onSelectedFilterChange: O,
17
+ savedFilters: $,
18
+ recentFilters: C,
19
+ onApplySavedFilter: B,
20
+ onSavedFilterSearch: v,
21
+ onSavedFiltersScroll: D,
22
+ onDropdownOpenChange: G,
23
+ isLoadingFilterPreferencesList: L = !1,
24
+ onEditSavedFilter: S,
25
+ onDeleteSavedFilter: w,
26
+ onSetDefaultSavedFilter: k
24
27
  }) => {
25
- const { t: r } = $(), [p, v] = s.useState(!1), I = (a) => {
26
- v(a), A?.(a);
27
- }, [b, M] = s.useState(""), [d, O] = s.useState(""), [n, G] = s.useState("All"), [i, g] = s.useState(null);
28
- s.useEffect(() => {
29
- const a = setTimeout(() => {
30
- O(b);
28
+ const { t: r } = ce(), [g, T] = n.useState(!1), Q = (l) => {
29
+ T(l), G?.(l);
30
+ }, [P, E] = n.useState(""), [u, F] = n.useState(""), [i, R] = n.useState("All"), [s, A] = n.useState(null);
31
+ n.useEffect(() => {
32
+ const l = setTimeout(() => {
33
+ F(P);
31
34
  }, 300);
32
- return () => clearTimeout(a);
33
- }, [b]), s.useEffect(() => {
34
- f && f(d, n === "All" ? void 0 : n);
35
- }, [d, n, f]), s.useEffect(() => {
36
- p && g({ label: c });
37
- }, [p, c]);
38
- const L = (a) => {
39
- M(a.target.value);
40
- }, Q = () => {
41
- i && (w?.(i.label), i.savedItem && k?.(i.savedItem), v(!1));
42
- }, _ = () => {
43
- v(!1);
44
- }, E = () => !x || x.length === 0 ? null : /* @__PURE__ */ t("div", { className: "flex flex-col", children: [
45
- /* @__PURE__ */ e("div", { className: "px-1 py-[6px] text-xs font-medium text-[#60697d] font-['Manrope']", children: "Recent" }),
46
- /* @__PURE__ */ e("div", { className: "mb-[6px] flex flex-col", children: x.map((a, l) => {
47
- const o = a.map((z) => z.label).join(", "), D = i?.label === o;
35
+ return () => clearTimeout(l);
36
+ }, [P]), n.useEffect(() => {
37
+ v && v(
38
+ u,
39
+ i === "All" ? void 0 : i
40
+ );
41
+ }, [u, i, v]), n.useEffect(() => {
42
+ g && A({ label: m });
43
+ }, [g, m]);
44
+ const z = (l) => {
45
+ E(l.target.value);
46
+ }, V = () => {
47
+ s && (O?.(s.label), s.savedItem && B?.(s.savedItem), T(!1));
48
+ }, Y = () => {
49
+ T(!1);
50
+ }, q = () => !C || C.length === 0 ? null : /* @__PURE__ */ a("div", { className: "flex flex-col", children: [
51
+ /* @__PURE__ */ e("div", { className: "px-1 py-[6px] text-xs font-medium text-content-tertiary font-['Manrope']", children: "Recent" }),
52
+ /* @__PURE__ */ e("div", { className: "mb-[6px] flex flex-col", children: C.map((l, f) => {
53
+ const o = l.map((y) => y.label).join(", "), x = s?.label === o;
48
54
  return /* @__PURE__ */ e(
49
55
  "div",
50
56
  {
51
- className: y(
52
- "flex cursor-pointer flex-row px-3 py-2 rounded-lg hover:bg-[#f5f6fa]",
53
- D && "bg-[#edf0ff]"
57
+ className: c(
58
+ "flex cursor-pointer flex-row px-3 py-2 rounded-lg hover:bg-canvas-muted",
59
+ x && "bg-brand-highlight"
54
60
  ),
55
- onClick: () => g({ label: o }),
56
- children: /* @__PURE__ */ t(m, { children: [
57
- /* @__PURE__ */ e(h, { asChild: !0, children: /* @__PURE__ */ e("span", { className: "text-sm font-['Manrope'] truncate text-[#1f2b4d]", children: o }) }),
58
- /* @__PURE__ */ e(u, { variant: "tertiary", side: "right", children: o })
61
+ onClick: () => A({ label: o }),
62
+ children: /* @__PURE__ */ a(d, { children: [
63
+ /* @__PURE__ */ e(p, { asChild: !0, children: /* @__PURE__ */ e("span", { className: "text-sm font-['Manrope'] truncate text-content", children: o }) }),
64
+ /* @__PURE__ */ e(h, { variant: "tertiary", side: "right", children: o })
59
65
  ] })
60
66
  },
61
- l
67
+ f
62
68
  );
63
69
  }) }),
64
- /* @__PURE__ */ e(C, { className: "mb-2" })
65
- ] }), R = () => {
66
- if (j)
67
- 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((l) => /* @__PURE__ */ e(Z, { className: "h-9 w-full rounded-lg" }, l)) });
68
- let a = T?.filter(
69
- (l) => n === "All" || l.type === n
70
+ /* @__PURE__ */ e(I, { className: "mb-2" })
71
+ ] }), H = () => {
72
+ if (L)
73
+ 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(oe, { className: "h-9 w-full rounded-lg" }, t)) });
74
+ let l = $?.filter(
75
+ (t) => i === "All" || t.type === i
70
76
  );
71
- if (!f && d && (a = a?.filter((l) => l.label.toLowerCase().includes(d.toLowerCase()))), !a || a.length === 0) {
72
- let l = "No saved filters found";
73
- if (!!d)
74
- switch (n) {
77
+ if (!v && u && (l = l?.filter(
78
+ (t) => t.label.toLowerCase().includes(u.toLowerCase())
79
+ )), !l || l.length === 0) {
80
+ let t = "No saved filters found";
81
+ if (!!u)
82
+ switch (i) {
75
83
  case "Personal":
76
- l = "No personal filters match your search";
84
+ t = "No personal filters match your search";
77
85
  break;
78
86
  case "Global":
79
- l = "No global filters match your search";
87
+ t = "No global filters match your search";
80
88
  break;
81
89
  default:
82
- l = "No saved filters match your search";
90
+ t = "No saved filters match your search";
83
91
  }
84
92
  else
85
- switch (n) {
93
+ switch (i) {
86
94
  case "Personal":
87
- l = "You haven't created any personal filters yet.";
95
+ t = "You haven't created any personal filters yet.";
88
96
  break;
89
97
  case "Global":
90
- l = "No global filters are currently available.";
98
+ t = "No global filters are currently available.";
91
99
  break;
92
100
  default:
93
- l = "No filters have been saved yet.";
101
+ t = "No filters have been saved yet.";
94
102
  }
95
- 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-[#60697d] font-['Manrope'] leading-relaxed", children: l }) });
103
+ 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-content-tertiary font-['Manrope'] leading-relaxed", children: t }) });
96
104
  }
97
- return /* @__PURE__ */ e(
98
- "div",
99
- {
100
- className: "flex max-h-[160px] flex-col overflow-y-auto",
101
- onScroll: P,
102
- children: a.map((l) => {
103
- const o = i?.label === l.label;
104
- return /* @__PURE__ */ e(
105
- "div",
106
- {
107
- className: y(
108
- "mb-1 flex justify-between cursor-pointer rounded-lg px-3 py-2 text-sm font-medium font-['Manrope'] hover:bg-[#f5f6fa]",
109
- o ? "bg-[#edf0ff]" : "text-[#1f2b4d]"
110
- ),
111
- onClick: () => g({ label: l.label, savedItem: l }),
112
- children: /* @__PURE__ */ t(m, { children: [
113
- /* @__PURE__ */ e(h, { asChild: !0, children: /* @__PURE__ */ e("span", { className: "truncate", children: l.label }) }),
114
- /* @__PURE__ */ e(u, { variant: "tertiary", side: "right", children: l.label })
115
- ] })
116
- },
117
- l.id
118
- );
119
- })
120
- }
121
- );
122
- }, B = i?.label !== c;
123
- return /* @__PURE__ */ t(q, { open: p, onOpenChange: I, children: [
124
- /* @__PURE__ */ e(H, { asChild: !0, children: /* @__PURE__ */ t("div", { className: "flex cursor-pointer items-center gap-2", children: [
125
- /* @__PURE__ */ e("span", { className: "text-sm font-medium text-[#60697d] font-['Manrope']", children: r("filterStrip.filtersApplied") }),
126
- /* @__PURE__ */ t(m, { children: [
127
- /* @__PURE__ */ e(h, { asChild: !0, children: /* @__PURE__ */ e(
128
- X,
105
+ const f = S || w || k, o = l.find((t) => t.isDefault), x = l.filter((t) => !t.isDefault), y = (t, N = !1) => {
106
+ const K = s?.label === t.label;
107
+ return /* @__PURE__ */ a(
108
+ "div",
109
+ {
110
+ className: c(
111
+ "group mb-1 flex items-center justify-between cursor-pointer rounded-lg px-3 py-2 text-sm font-medium font-['Manrope'] hover:bg-[#f5f6fa]",
112
+ K ? "bg-[#edf0ff]" : "text-[#1f2b4d]"
113
+ ),
114
+ onClick: () => A({ label: t.label, savedItem: t }),
115
+ children: [
116
+ /* @__PURE__ */ a(d, { children: [
117
+ /* @__PURE__ */ e(p, { asChild: !0, children: /* @__PURE__ */ e("span", { className: "truncate flex-1 min-w-0", children: t.label }) }),
118
+ /* @__PURE__ */ e(h, { variant: "tertiary", side: "right", children: t.label })
119
+ ] }),
120
+ f && /* @__PURE__ */ a(
121
+ "div",
122
+ {
123
+ className: c(
124
+ "flex items-center gap-1 ml-2 transition-opacity shrink-0",
125
+ N ? "opacity-100" : "opacity-0 group-hover:opacity-100"
126
+ ),
127
+ children: [
128
+ w && /* @__PURE__ */ a(d, { children: [
129
+ /* @__PURE__ */ e(p, { asChild: !0, children: /* @__PURE__ */ e(
130
+ "button",
131
+ {
132
+ type: "button",
133
+ "aria-label": `${r("filterStrip.deleteFilter")} ${t.label}`,
134
+ className: c(
135
+ "p-1 rounded transition-colors",
136
+ N ? "opacity-0 group-hover:opacity-100" : "hover:bg-[#e6e8f0]"
137
+ ),
138
+ onClick: (b) => {
139
+ b.stopPropagation(), w(t);
140
+ },
141
+ children: /* @__PURE__ */ e(Z, { className: "h-3.5 w-3.5 text-[#60697d]" })
142
+ }
143
+ ) }),
144
+ /* @__PURE__ */ e(h, { variant: "tertiary", side: "top", children: r("filterStrip.deleteFilter") })
145
+ ] }),
146
+ S && /* @__PURE__ */ a(d, { children: [
147
+ /* @__PURE__ */ e(p, { asChild: !0, children: /* @__PURE__ */ e(
148
+ "button",
149
+ {
150
+ type: "button",
151
+ "aria-label": `${r("filterStrip.editFilter")} ${t.label}`,
152
+ className: c(
153
+ "p-1 rounded transition-colors",
154
+ N ? "opacity-0 group-hover:opacity-100" : "hover:bg-[#e6e8f0]"
155
+ ),
156
+ onClick: (b) => {
157
+ b.stopPropagation(), S(t);
158
+ },
159
+ children: /* @__PURE__ */ e(_, { className: "h-3.5 w-3.5 text-[#60697d]" })
160
+ }
161
+ ) }),
162
+ /* @__PURE__ */ e(h, { variant: "tertiary", side: "top", children: r("filterStrip.editFilter") })
163
+ ] }),
164
+ k && /* @__PURE__ */ a(d, { children: [
165
+ /* @__PURE__ */ e(p, { asChild: !0, children: /* @__PURE__ */ e(
166
+ "button",
167
+ {
168
+ type: "button",
169
+ "aria-label": `${t.isDefault ? r("filterStrip.defaultFilter") : r("filterStrip.setAsDefault")} ${t.label}`,
170
+ className: "p-1 rounded hover:bg-[#e6e8f0] transition-colors",
171
+ onClick: (b) => {
172
+ b.stopPropagation(), k(t);
173
+ },
174
+ children: /* @__PURE__ */ e(
175
+ ee,
176
+ {
177
+ className: c(
178
+ "h-3.5 w-3.5",
179
+ t.isDefault ? "text-[#E1BC29] fill-[#E1BC29]" : "text-[#60697d]"
180
+ )
181
+ }
182
+ )
183
+ }
184
+ ) }),
185
+ /* @__PURE__ */ e(h, { variant: "tertiary", side: "top", children: t.isDefault ? r("filterStrip.defaultFilter") : r("filterStrip.setAsDefault") })
186
+ ] })
187
+ ]
188
+ }
189
+ )
190
+ ]
191
+ },
192
+ t.id
193
+ );
194
+ };
195
+ return /* @__PURE__ */ a("div", { className: "flex flex-col", children: [
196
+ o && /* @__PURE__ */ a(U, { children: [
197
+ y(o, !0),
198
+ x.length > 0 && /* @__PURE__ */ e(I, { className: "my-1" })
199
+ ] }),
200
+ x.length > 0 && /* @__PURE__ */ e(
201
+ "div",
202
+ {
203
+ className: "flex max-h-[160px] flex-col overflow-y-auto",
204
+ onScroll: D,
205
+ children: x.map((t) => y(t, !1))
206
+ }
207
+ )
208
+ ] });
209
+ }, J = s?.label !== m;
210
+ return /* @__PURE__ */ a(te, { open: g, onOpenChange: Q, children: [
211
+ /* @__PURE__ */ e(le, { asChild: !0, children: /* @__PURE__ */ a("div", { className: "flex cursor-pointer items-center gap-2", children: [
212
+ /* @__PURE__ */ e("span", { className: "text-sm font-medium text-content-tertiary font-['Manrope']", children: r("filterStrip.filtersApplied") }),
213
+ /* @__PURE__ */ a(d, { children: [
214
+ /* @__PURE__ */ e(p, { asChild: !0, children: /* @__PURE__ */ e(
215
+ se,
129
216
  {
130
217
  color: "primary",
131
218
  variant: "outline",
132
- className: "font-['Manrope'] max-w-[140px] truncate",
133
- children: c || r("filterStrip.notSelected")
219
+ className: "font-['Manrope'] max-w-[140px] inline-block",
220
+ children: /* @__PURE__ */ e("span", { className: "block truncate", children: m || r("filterStrip.notSelected") })
134
221
  }
135
222
  ) }),
136
- /* @__PURE__ */ e(u, { variant: "tertiary", side: "top", children: c || r("filterStrip.notSelected") })
223
+ /* @__PURE__ */ e(h, { variant: "tertiary", side: "top", children: m || r("filterStrip.notSelected") })
137
224
  ] }),
138
- /* @__PURE__ */ t(m, { children: [
139
- /* @__PURE__ */ e(h, { asChild: !0, children: /* @__PURE__ */ e(
225
+ /* @__PURE__ */ a(d, { children: [
226
+ /* @__PURE__ */ e(p, { asChild: !0, children: /* @__PURE__ */ e(
140
227
  "div",
141
228
  {
142
- className: y(
143
- "flex h-8 w-8 items-center justify-center rounded-lg bg-[#f5f6fa] transition-transform duration-200",
144
- p && "rotate-180"
229
+ className: c(
230
+ "flex h-8 w-8 items-center justify-center rounded-lg bg-canvas-muted transition-transform duration-200",
231
+ g && "rotate-180"
145
232
  ),
146
- children: /* @__PURE__ */ e(V, { className: "h-4 w-4 text-[#1f2b4d]" })
233
+ children: /* @__PURE__ */ e(W, { className: "h-4 w-4 text-content" })
147
234
  }
148
235
  ) }),
149
- /* @__PURE__ */ e(u, { variant: "tertiary", side: "top", children: r("filterStrip.selectFilter") })
236
+ /* @__PURE__ */ e(h, { variant: "tertiary", side: "top", children: r("filterStrip.selectFilter") })
150
237
  ] })
151
238
  ] }) }),
152
239
  /* @__PURE__ */ e(
153
- J,
240
+ ae,
154
241
  {
155
242
  align: "start",
156
- className: "w-[280px] p-0 shadow-[0_0_4px_0_rgba(0,0,0,0.12)]",
243
+ className: "w-[280px] p-0 shadow-elevation-floating",
157
244
  sideOffset: 8,
158
- children: /* @__PURE__ */ t("div", { className: "flex w-full flex-col py-[8px] px-[6px]", children: [
159
- E(),
160
- /* @__PURE__ */ t("div", { className: "flex flex-col", children: [
161
- /* @__PURE__ */ e("div", { className: "px-1 py-[6px] text-xs font-medium text-[#60697d] font-['Manrope']", children: r("filterStrip.savedFilters") }),
162
- /* @__PURE__ */ t(
163
- K,
245
+ onInteractOutside: (l) => {
246
+ const f = l.target;
247
+ (f.closest('[role="dialog"]') || f.closest("[data-radix-dialog-content]")) && l.preventDefault();
248
+ },
249
+ children: /* @__PURE__ */ a("div", { className: "flex w-full flex-col py-[8px] px-[6px]", children: [
250
+ q(),
251
+ /* @__PURE__ */ a("div", { className: "flex flex-col", children: [
252
+ /* @__PURE__ */ e("div", { className: "px-1 py-[6px] text-xs font-medium text-content-tertiary font-['Manrope']", children: r("filterStrip.savedFilters") }),
253
+ /* @__PURE__ */ a(
254
+ re,
164
255
  {
165
- value: n,
166
- onValueChange: (a) => G(a),
256
+ value: i,
257
+ onValueChange: (l) => R(l),
167
258
  variant: "outline",
168
259
  size: "sm",
169
260
  className: "w-full px-1",
170
261
  children: [
171
- /* @__PURE__ */ e("div", { className: "py-[8px]", children: /* @__PURE__ */ t(U, { children: [
172
- /* @__PURE__ */ e(N, { value: "All", children: "All" }),
173
- /* @__PURE__ */ e(N, { value: "Global", children: "Global" }),
174
- /* @__PURE__ */ e(N, { value: "Personal", children: "Personal" })
262
+ /* @__PURE__ */ e("div", { className: "py-[8px]", children: /* @__PURE__ */ a(ie, { children: [
263
+ /* @__PURE__ */ e(j, { value: "All", children: "All" }),
264
+ /* @__PURE__ */ e(j, { value: "Global", children: "Global" }),
265
+ /* @__PURE__ */ e(j, { value: "Personal", children: "Personal" })
175
266
  ] }) }),
176
267
  /* @__PURE__ */ e("div", { className: "pb-[8px]", children: /* @__PURE__ */ e(
177
- W,
268
+ ne,
178
269
  {
179
- prefix: /* @__PURE__ */ e(Y, { className: "h-4 w-4 text-gray-500" }),
270
+ prefix: /* @__PURE__ */ e(X, { className: "h-4 w-4 text-content-muted" }),
180
271
  placeholder: r("filterStrip.searchFiltersPlaceholder"),
181
- value: b,
182
- onChange: L,
272
+ value: P,
273
+ onChange: z,
183
274
  className: "h-9 px-1 border-none shadow-none focus-visible:ring-0"
184
275
  }
185
276
  ) }),
186
- /* @__PURE__ */ e("div", { className: "mt-0", children: R() })
277
+ /* @__PURE__ */ e("div", { className: "mt-0", children: H() })
187
278
  ]
188
279
  }
189
280
  )
190
281
  ] }),
191
- /* @__PURE__ */ e(C, { className: "my-2" }),
192
- /* @__PURE__ */ t("div", { className: "flex justify-end gap-2 px-3 pb-1", children: [
193
- /* @__PURE__ */ e(
194
- S,
195
- {
196
- variant: "secondary",
197
- onClick: _,
198
- children: r("prompt.cancel")
199
- }
200
- ),
282
+ /* @__PURE__ */ e(I, { className: "my-2" }),
283
+ /* @__PURE__ */ a("div", { className: "flex justify-end gap-2 px-3 pb-1", children: [
284
+ /* @__PURE__ */ e(M, { variant: "secondary", onClick: Y, children: r("prompt.cancel") }),
201
285
  /* @__PURE__ */ e(
202
- S,
286
+ M,
203
287
  {
204
288
  variant: "default",
205
- onClick: Q,
206
- disabled: !B,
289
+ onClick: V,
290
+ disabled: !J,
207
291
  children: r("filterStrip.applyFilter")
208
292
  }
209
293
  )
@@ -214,5 +298,5 @@ const fe = ({
214
298
  ] });
215
299
  };
216
300
  export {
217
- fe as FilterSummary
301
+ Ce as FilterSummary
218
302
  };