impact-nova 2.0.2 → 2.0.4

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 (40) hide show
  1. package/dist/components/ui/accordion.d.ts +13 -0
  2. package/dist/components/ui/accordion.js +50 -33
  3. package/dist/components/ui/ag-grid-react/cell-renderers/percent-progress-display-renderer.js +24 -23
  4. package/dist/components/ui/ag-grid-react/headers/components/header-info.d.ts +8 -6
  5. package/dist/components/ui/ag-grid-react/headers/components/header-info.js +69 -60
  6. package/dist/components/ui/ag-grid-react/headers/custom-header.js +23 -22
  7. package/dist/components/ui/ag-grid-react/headers/header-search-input.js +43 -35
  8. package/dist/components/ui/ag-grid-react/index.js +44 -42
  9. package/dist/components/ui/breadcrumb.d.ts +5 -1
  10. package/dist/components/ui/breadcrumb.js +59 -51
  11. package/dist/components/ui/date-picker/date-picker.js +14 -14
  12. package/dist/components/ui/date-picker/date-range-picker.js +25 -25
  13. package/dist/components/ui/date-picker/month-picker.js +4 -4
  14. package/dist/components/ui/date-picker/month-range-picker.js +7 -7
  15. package/dist/components/ui/date-picker/multi-date-picker.js +9 -9
  16. package/dist/components/ui/date-picker/multi-month-picker.js +29 -29
  17. package/dist/components/ui/date-picker/multi-week-picker.js +20 -20
  18. package/dist/components/ui/date-picker/week-picker.js +31 -31
  19. package/dist/components/ui/date-picker/week-range-picker.js +22 -22
  20. package/dist/components/ui/dynamic-layout.d.ts +1 -1
  21. package/dist/components/ui/empty-container.js +58 -49
  22. package/dist/components/ui/filter-strip/filter-summary.js +28 -29
  23. package/dist/components/ui/filter-strip/filter-tag-list.js +87 -96
  24. package/dist/components/ui/radio-group.js +19 -19
  25. package/dist/components/ui/select/select.js +49 -48
  26. package/dist/components/ui/sidebar.d.ts +2 -1
  27. package/dist/components/ui/sidebar.js +212 -202
  28. package/dist/components/ui/tag.d.ts +3 -1
  29. package/dist/components/ui/tag.js +65 -44
  30. package/dist/components/ui/types/empty-container.types.d.ts +2 -0
  31. package/dist/i18n/defaultMessages.d.ts +1 -0
  32. package/dist/i18n/defaultMessages.js +1 -0
  33. package/dist/i18n/locales/de.js +1 -0
  34. package/dist/i18n/locales/es.js +1 -0
  35. package/dist/i18n/locales/hi.js +1 -0
  36. package/dist/i18n/locales/kn.js +1 -0
  37. package/dist/impact-nova-components.css +4 -0
  38. package/dist/impact-nova.css +1 -1
  39. package/dist/index.js +441 -439
  40. package/package.json +1 -1
@@ -1,15 +1,15 @@
1
- import { jsxs as k, jsx as r } from "react/jsx-runtime";
1
+ import { jsxs as g, jsx as r } from "react/jsx-runtime";
2
2
  import * as s from "react";
3
3
  import { Cross as te, CalendarMonth as oe } from "impact-nova-icons";
4
4
  import { isValid as w, parse as P, format as B } from "date-fns";
5
5
  import { cn as re, padValidDateString as se, maskDate as ie } from "../../../lib/utils.js";
6
6
  import { Input as ce } from "../input.js";
7
- import { Popover as le, PopoverTrigger as ae, PopoverContent as pe } from "../popover.js";
7
+ import { Popover as le, PopoverAnchor as ae, PopoverContent as pe } from "../popover.js";
8
8
  import { Calendar as de } from "../calendar.js";
9
9
  import { Tooltip as E, TooltipTrigger as O, TooltipContent as $ } from "../tooltip.js";
10
10
  import { resolveWeekSelection as fe } from "../../../lib/fiscal-calendar.js";
11
- import { getDateFnsLocale as ue } from "../../../i18n/getDateFnsLocale.js";
12
- import { useImpactNovaI18n as he } from "../../../i18n/ImpactNovaI18nContext.js";
11
+ import { getDateFnsLocale as he } from "../../../i18n/getDateFnsLocale.js";
12
+ import { useImpactNovaI18n as ue } from "../../../i18n/ImpactNovaI18nContext.js";
13
13
  const p = (e, i = "MM/dd/yyyy", n) => {
14
14
  const y = B(e.startDate, i, n ? { locale: n } : {}), C = B(e.endDate, i, n ? { locale: n } : {});
15
15
  return `${y} - ${C}`;
@@ -28,43 +28,43 @@ const p = (e, i = "MM/dd/yyyy", n) => {
28
28
  fiscalMode: S = "basic",
29
29
  selectionMode: N = "week",
30
30
  fiscalMonthPattern: b,
31
- fiscalYearStartMonth: T = 1,
32
- weekStartsOn: V = 1,
31
+ fiscalYearStartMonth: V = 1,
32
+ weekStartsOn: A = 1,
33
33
  disabled: D,
34
34
  className: J,
35
35
  ...K
36
36
  }, Q) => {
37
- const { locale: M, t: g } = he(), o = s.useMemo(() => ue(M), [M]), U = y ?? g("datePicker.selectWeek"), A = s.useRef(null);
38
- s.useRef(null), s.useImperativeHandle(Q, () => A.current);
39
- const [c, h] = s.useState(!1), [L, l] = s.useState(e), [f, a] = s.useState(e ? p(e, n, o) : ""), [X, W] = s.useState(e?.startDate || /* @__PURE__ */ new Date());
37
+ const { locale: M, t: k } = ue(), o = s.useMemo(() => he(M), [M]), U = y ?? k("datePicker.selectWeek"), T = s.useRef(null);
38
+ s.useRef(null), s.useImperativeHandle(Q, () => T.current);
39
+ const [c, u] = s.useState(!1), [L, l] = s.useState(e), [f, a] = s.useState(e ? p(e, n, o) : ""), [X, W] = s.useState(e?.startDate || /* @__PURE__ */ new Date());
40
40
  s.useEffect(() => {
41
41
  c || (a(e ? p(e, n, o) : ""), l(e));
42
42
  }, [c, e, n, o]), s.useEffect(() => {
43
43
  c && (l(e), W(e?.startDate || /* @__PURE__ */ new Date()), a(e ? p(e, n, o) : ""));
44
44
  }, [c, e, n, o]);
45
45
  const Z = (t) => {
46
- l(t), t && a(p(t, n, o)), d || (i?.(t), h(!1));
46
+ l(t), t && a(p(t, n, o)), d || (i?.(t), u(!1));
47
47
  }, _ = (t) => {
48
- i?.(t !== void 0 ? t : L), h(!1);
48
+ i?.(t !== void 0 ? t : L), u(!1);
49
49
  }, Y = () => {
50
- l(e), a(e ? p(e, n, o) : ""), h(!1);
50
+ l(e), a(e ? p(e, n, o) : ""), u(!1);
51
51
  }, R = () => {
52
- l(void 0), a(""), i?.(void 0), d || h(!1);
52
+ l(void 0), a(""), i?.(void 0), d || u(!1);
53
53
  }, j = (t) => fe(t, {
54
54
  calendarType: I,
55
55
  fiscalMode: S,
56
56
  selectionMode: N,
57
57
  fiscalMonthPattern: b,
58
- fiscalYearStartMonth: T,
59
- weekStartsOn: V
58
+ fiscalYearStartMonth: V,
59
+ weekStartsOn: A
60
60
  }), F = (t) => {
61
- const m = t.target.value, u = ie(m, n, f);
62
- if (a(u), u === "") {
61
+ const m = t.target.value, h = ie(m, n, f);
62
+ if (a(h), h === "") {
63
63
  l(void 0), d || i?.(void 0);
64
64
  return;
65
65
  }
66
- const x = P(u, n, /* @__PURE__ */ new Date(), { locale: o });
67
- if (w(x) && u.length === n.length) {
66
+ const x = P(h, n, /* @__PURE__ */ new Date(), { locale: o });
67
+ if (w(x) && h.length === n.length) {
68
68
  const z = j(x);
69
69
  l(z), W(x), d || i?.(z);
70
70
  }
@@ -74,15 +74,15 @@ const p = (e, i = "MM/dd/yyyy", n) => {
74
74
  if (!w(m) || t.length !== n.length)
75
75
  a(e ? p(e, n, o) : ""), l(e);
76
76
  else if (a(t), !d) {
77
- const u = j(m);
78
- i?.(u);
77
+ const h = j(m);
78
+ i?.(h);
79
79
  }
80
80
  }, v = (e ? p(e, n, o) : "") !== f, ne = f.length === n.length && !w(P(f, n, /* @__PURE__ */ new Date(), { locale: o }));
81
- return /* @__PURE__ */ k(le, { open: c, onOpenChange: (t) => !D && h(t), children: [
81
+ return /* @__PURE__ */ g(le, { open: c, onOpenChange: (t) => !D && u(t), children: [
82
82
  /* @__PURE__ */ r(ae, { asChild: !0, children: /* @__PURE__ */ r("div", { "data-component": "week-picker", "data-state": c ? "open" : "closed", "data-pending": v || void 0, children: /* @__PURE__ */ r(
83
83
  ce,
84
84
  {
85
- ref: A,
85
+ ref: T,
86
86
  value: f,
87
87
  onChange: F,
88
88
  onBlur: ee,
@@ -95,14 +95,14 @@ const p = (e, i = "MM/dd/yyyy", n) => {
95
95
  ne ? "text-destructive" : v ? "text-content-muted" : "",
96
96
  J
97
97
  ),
98
- suffix: /* @__PURE__ */ k("div", { className: "flex items-center gap-1", children: [
99
- e && !D && /* @__PURE__ */ k(E, { children: [
98
+ suffix: /* @__PURE__ */ g("div", { className: "flex items-center gap-1", children: [
99
+ e && !D && /* @__PURE__ */ g(E, { children: [
100
100
  /* @__PURE__ */ r(O, { asChild: !0, children: /* @__PURE__ */ r(
101
101
  "button",
102
102
  {
103
103
  type: "button",
104
104
  tabIndex: 0,
105
- "aria-label": g("calendar.clear"),
105
+ "aria-label": k("calendar.clear"),
106
106
  onClick: (t) => {
107
107
  t.stopPropagation(), R();
108
108
  },
@@ -110,11 +110,11 @@ const p = (e, i = "MM/dd/yyyy", n) => {
110
110
  children: /* @__PURE__ */ r(te, { className: "size-3 hover:text-content" })
111
111
  }
112
112
  ) }),
113
- /* @__PURE__ */ r($, { variant: "tertiary", side: "top", children: g("calendar.clear") })
113
+ /* @__PURE__ */ r($, { variant: "tertiary", side: "top", children: k("calendar.clear") })
114
114
  ] }),
115
- /* @__PURE__ */ k(E, { children: [
115
+ /* @__PURE__ */ g(E, { children: [
116
116
  /* @__PURE__ */ r(O, { asChild: !0, children: /* @__PURE__ */ r(oe, { className: "h-4 w-4 text-secondary-foreground" }) }),
117
- /* @__PURE__ */ r($, { variant: "tertiary", side: "top", children: g("datePicker.selectWeek") })
117
+ /* @__PURE__ */ r($, { variant: "tertiary", side: "top", children: k("datePicker.selectWeek") })
118
118
  ] })
119
119
  ] }),
120
120
  ...K
@@ -143,8 +143,8 @@ const p = (e, i = "MM/dd/yyyy", n) => {
143
143
  fiscalMode: S,
144
144
  selectionMode: N,
145
145
  fiscalMonthPattern: b,
146
- fiscalYearStartMonth: T,
147
- weekStartsOn: V,
146
+ fiscalYearStartMonth: V,
147
+ weekStartsOn: A,
148
148
  onApply: _,
149
149
  onCancel: Y,
150
150
  onClear: R,
@@ -3,7 +3,7 @@ import * as c from "react";
3
3
  import { Cross as Ne, CalendarMonth as Re, Info as Z } from "impact-nova-icons";
4
4
  import { format as s, isValid as C, parse as I } from "date-fns";
5
5
  import { cn as p, padValidDateString as $, maskDate as Y } from "../../../lib/utils.js";
6
- import { Popover as Se, PopoverTrigger as Ce, PopoverContent as Ie } from "../popover.js";
6
+ import { Popover as Se, PopoverAnchor as Ce, PopoverContent as Ie } from "../popover.js";
7
7
  import { Calendar as Pe } from "../calendar.js";
8
8
  import { Tooltip as _, TooltipTrigger as F, TooltipContent as ee } from "../tooltip.js";
9
9
  import { resolveWeekSelection as We } from "../../../lib/fiscal-calendar.js";
@@ -24,8 +24,8 @@ const a = (t) => t?.from ? t.to ? t.to.endDate : t.from.endDate : void 0, Ae = c
24
24
  fiscalMode: K = "basic",
25
25
  selectionMode: M = "week",
26
26
  fiscalMonthPattern: B,
27
- fiscalYearStartMonth: T = 1,
28
- weekStartsOn: O = 1,
27
+ fiscalYearStartMonth: O = 1,
28
+ weekStartsOn: T = 1,
29
29
  disabled: i,
30
30
  className: se,
31
31
  isError: D,
@@ -59,42 +59,42 @@ const a = (t) => t?.from ? t.to ? t.to.endDate : t.from.endDate : void 0, Ae = c
59
59
  fiscalMode: K,
60
60
  selectionMode: M,
61
61
  fiscalMonthPattern: B,
62
- fiscalYearStartMonth: T,
63
- weekStartsOn: O
62
+ fiscalYearStartMonth: O,
63
+ weekStartsOn: T
64
64
  }), ue = (e) => {
65
65
  const w = e.target.value, d = Y(w, n, R);
66
66
  if (u(d), d === "") {
67
- const h = { from: void 0, to: v?.to };
68
- m(h), y || b?.(h);
67
+ const g = { from: void 0, to: v?.to };
68
+ m(g), y || b?.(g);
69
69
  return;
70
70
  }
71
- const g = I(d, n, /* @__PURE__ */ new Date(), { locale: o });
72
- if (C(g) && d.length === n.length) {
73
- const N = { from: E(g), to: v?.to };
71
+ const h = I(d, n, /* @__PURE__ */ new Date(), { locale: o });
72
+ if (C(h) && d.length === n.length) {
73
+ const N = { from: E(h), to: v?.to };
74
74
  m(N), x(s(a(N), n, { locale: o })), y || b?.(N);
75
75
  }
76
76
  }, xe = (e) => {
77
77
  const w = e.target.value, d = Y(w, n, S);
78
78
  if (x(d), d === "") {
79
- const h = { from: v?.from, to: void 0 };
80
- m(h), y || b?.(h);
79
+ const g = { from: v?.from, to: void 0 };
80
+ m(g), y || b?.(g);
81
81
  return;
82
82
  }
83
- const g = I(d, n, /* @__PURE__ */ new Date(), { locale: o });
84
- if (C(g) && d.length === n.length) {
85
- const h = E(g), N = { from: v?.from, to: h };
86
- m(N), v?.from && u(s(v.from.startDate, n, { locale: o })), g && j(g), y || b?.(N);
83
+ const h = I(d, n, /* @__PURE__ */ new Date(), { locale: o });
84
+ if (C(h) && d.length === n.length) {
85
+ const g = E(h), N = { from: v?.from, to: g };
86
+ m(N), v?.from && u(s(v.from.startDate, n, { locale: o })), h && j(h), y || b?.(N);
87
87
  }
88
88
  }, X = () => {
89
89
  if (r) return;
90
- const e = $(R, n), w = $(S, n), d = I(e, n, /* @__PURE__ */ new Date(), { locale: o }), g = I(w, n, /* @__PURE__ */ new Date(), { locale: o }), h = C(d) && e.length === n.length, N = C(g) && w.length === n.length;
91
- if (!h || !N)
90
+ const e = $(R, n), w = $(S, n), d = I(e, n, /* @__PURE__ */ new Date(), { locale: o }), h = I(w, n, /* @__PURE__ */ new Date(), { locale: o }), g = C(d) && e.length === n.length, N = C(h) && w.length === n.length;
91
+ if (!g || !N)
92
92
  u(t?.from ? s(t.from.startDate, n, { locale: o }) : ""), x(a(t) ? s(a(t), n, { locale: o }) : ""), m(t);
93
93
  else if (u(e), x(w), !y) {
94
- const De = E(d), ve = E(g);
94
+ const De = E(d), ve = E(h);
95
95
  b?.({ from: De, to: ve });
96
96
  }
97
- }, ge = t?.from ? s(t.from.startDate, n, { locale: o }) : "", he = a(t) ? s(a(t), n, { locale: o }) : "", ke = ge !== R, we = he !== S, be = R.length === n.length && !C(I(R, n, /* @__PURE__ */ new Date(), { locale: o })), ye = S.length === n.length && !C(I(S, n, /* @__PURE__ */ new Date(), { locale: o }));
97
+ }, he = t?.from ? s(t.from.startDate, n, { locale: o }) : "", ge = a(t) ? s(a(t), n, { locale: o }) : "", ke = he !== R, we = ge !== S, be = R.length === n.length && !C(I(R, n, /* @__PURE__ */ new Date(), { locale: o })), ye = S.length === n.length && !C(I(S, n, /* @__PURE__ */ new Date(), { locale: o }));
98
98
  return /* @__PURE__ */ f("div", { className: "flex w-full min-w-[240px] flex-col gap-[6px]", "data-component": "week-range-picker", "data-disabled": i || void 0, children: [
99
99
  /* @__PURE__ */ f("div", { className: "flex flex-col gap-[6px]", children: [
100
100
  q && /* @__PURE__ */ f(
@@ -237,8 +237,8 @@ const a = (t) => t?.from ? t.to ? t.to.endDate : t.from.endDate : void 0, Ae = c
237
237
  fiscalMode: K,
238
238
  selectionMode: M,
239
239
  fiscalMonthPattern: B,
240
- fiscalYearStartMonth: T,
241
- weekStartsOn: O,
240
+ fiscalYearStartMonth: O,
241
+ weekStartsOn: T,
242
242
  onApply: me,
243
243
  onCancel: z,
244
244
  onClear: U,
@@ -2,7 +2,7 @@ import { VariantProps } from 'class-variance-authority';
2
2
  import * as React from "react";
3
3
  declare const dynamicLayoutVariants: (props?: {
4
4
  layout?: "grid" | "flex" | "stack";
5
- columns?: 1 | 4 | 3 | 2 | 12 | 6;
5
+ columns?: 1 | 4 | 3 | 2 | 6 | 12;
6
6
  gap?: "none" | "sm" | "md" | "lg" | "xl";
7
7
  } & import('class-variance-authority/types').ClassProp) => string;
8
8
  export interface DynamicLayoutProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof dynamicLayoutVariants> {
@@ -1,24 +1,24 @@
1
- import { jsx as m } from "react/jsx-runtime";
1
+ import { jsx as s } from "react/jsx-runtime";
2
2
  import * as i from "react";
3
3
  import { Slot as f } from "@radix-ui/react-slot";
4
- import { cn as p } from "../../lib/utils.js";
4
+ import { cn as d } from "../../lib/utils.js";
5
5
  import { EMPTY_STATE_IMAGE_LOADERS as y } from "./empty-container/emptyStateIllustrations.js";
6
- const N = i.forwardRef(
7
- ({ className: a, children: t, asChild: e = !1, ...o }, n) => /* @__PURE__ */ m(
6
+ const b = i.forwardRef(
7
+ ({ className: a, children: t, asChild: e = !1, ...o }, n) => /* @__PURE__ */ s(
8
8
  e ? f : "div",
9
9
  {
10
10
  ref: n,
11
- className: p(
11
+ className: d(
12
12
  "flex flex-col items-center justify-center py-16 px-5 text-center animate-in fade-in zoom-in duration-300 border border-stroke-subtle rounded-xl bg-canvas-elevated w-[884px] min-w-[884px] h-auto",
13
13
  a
14
14
  ),
15
15
  "data-component": "empty-container",
16
16
  ...o,
17
- children: /* @__PURE__ */ m("div", { className: "flex flex-col items-center max-w-[650px]", children: t })
17
+ children: /* @__PURE__ */ s("div", { className: "flex flex-col items-center max-w-[650px]", children: t })
18
18
  }
19
19
  )
20
20
  );
21
- N.displayName = "EmptyContainer";
21
+ b.displayName = "EmptyContainer";
22
22
  const S = i.forwardRef(
23
23
  ({
24
24
  className: a,
@@ -26,18 +26,18 @@ const S = i.forwardRef(
26
26
  src: e,
27
27
  alt: o = "",
28
28
  width: n,
29
- height: s,
30
- asChild: g = !1,
31
- ...d
32
- }, h) => {
33
- const [u] = i.useState(() => t || e ? null : Math.floor(Math.random() * y.length)), [l, x] = i.useState(null), r = u !== null ? y[u] : null;
29
+ height: m,
30
+ asChild: p = !1,
31
+ ...u
32
+ }, g) => {
33
+ const [h] = i.useState(() => t || e ? null : Math.floor(Math.random() * y.length)), [l, x] = i.useState(null), r = h !== null ? y[h] : null;
34
34
  i.useEffect(() => {
35
35
  if (t || e || !r)
36
36
  return;
37
37
  let c = !1;
38
- return r.loadSrc().then((b) => {
38
+ return r.loadSrc().then((N) => {
39
39
  c || x({
40
- imageSource: b,
40
+ imageSource: N,
41
41
  width: r.width,
42
42
  height: r.height
43
43
  });
@@ -45,11 +45,11 @@ const S = i.forwardRef(
45
45
  c = !0;
46
46
  };
47
47
  }, [t, r, e]);
48
- const C = n || (t ? "auto" : l?.width ?? r?.width ?? 225), w = s || (t ? "auto" : l?.height ?? r?.height ?? 150), E = () => {
48
+ const C = n || (t ? "auto" : l?.width ?? r?.width ?? 225), E = m || (t ? "auto" : l?.height ?? r?.height ?? 150), w = () => {
49
49
  if (t)
50
50
  return t;
51
51
  const c = e ?? l?.imageSource;
52
- return c ? /* @__PURE__ */ m(
52
+ return c ? /* @__PURE__ */ s(
53
53
  "img",
54
54
  {
55
55
  src: c,
@@ -57,52 +57,61 @@ const S = i.forwardRef(
57
57
  className: "object-contain shrink-0 select-none",
58
58
  style: {
59
59
  width: n || l?.width || r?.width || "100%",
60
- height: s || l?.height || r?.height || "100%"
60
+ height: m || l?.height || r?.height || "100%"
61
61
  }
62
62
  }
63
63
  ) : null;
64
64
  };
65
- return /* @__PURE__ */ m(
66
- g ? f : "div",
65
+ return /* @__PURE__ */ s(
66
+ p ? f : "div",
67
67
  {
68
- ref: h,
69
- className: p(
68
+ ref: g,
69
+ className: d(
70
70
  "mb-4 flex items-center justify-center relative",
71
71
  "after:absolute after:inset-0 after:bg-brand/5 after:blur-3xl after:-z-10 after:rounded-full",
72
72
  a
73
73
  ),
74
74
  style: {
75
75
  width: C,
76
- height: w,
77
- ...d.style
76
+ height: E,
77
+ ...u.style
78
78
  },
79
79
  "data-component": "empty-container-image",
80
- ...d,
81
- children: E()
80
+ ...u,
81
+ children: w()
82
82
  }
83
83
  );
84
84
  }
85
85
  );
86
86
  S.displayName = "EmptyContainerImage";
87
- const I = i.forwardRef(({ className: a, children: t, asChild: e = !1, ...o }, n) => /* @__PURE__ */ m(
88
- e ? f : "h3",
89
- {
90
- ref: n,
91
- className: p(
92
- "text-xl font-bold tracking-tight leading-[30px] text-content",
93
- a
94
- ),
95
- "data-component": "empty-container-title",
96
- ...o,
97
- children: t
98
- }
99
- ));
100
- I.displayName = "EmptyContainerTitle";
101
- const v = i.forwardRef(({ className: a, children: t, asChild: e = !1, ...o }, n) => /* @__PURE__ */ m(
87
+ const I = {
88
+ 2: "h2",
89
+ 3: "h3",
90
+ 4: "h4",
91
+ 5: "h5",
92
+ 6: "h6"
93
+ }, A = i.forwardRef(({ className: a, children: t, asChild: e = !1, headingLevel: o = 2, ...n }, m) => {
94
+ const p = e ? f : I[o];
95
+ return /* @__PURE__ */ s(
96
+ p,
97
+ {
98
+ ref: m,
99
+ className: d(
100
+ "text-xl font-bold tracking-tight leading-[30px] text-content",
101
+ a
102
+ ),
103
+ "data-component": "empty-container-title",
104
+ ...n,
105
+ children: t
106
+ }
107
+ );
108
+ });
109
+ A.displayName = "EmptyContainerTitle";
110
+ const R = i.forwardRef(({ className: a, children: t, asChild: e = !1, ...o }, n) => /* @__PURE__ */ s(
102
111
  e ? f : "p",
103
112
  {
104
113
  ref: n,
105
- className: p(
114
+ className: d(
106
115
  "text-base leading-[21px] mt-1 font-medium text-secondary-foreground",
107
116
  a
108
117
  ),
@@ -111,12 +120,12 @@ const v = i.forwardRef(({ className: a, children: t, asChild: e = !1, ...o }, n)
111
120
  children: t
112
121
  }
113
122
  ));
114
- v.displayName = "EmptyContainerDescription";
115
- const R = i.forwardRef(({ className: a, children: t, asChild: e = !1, ...o }, n) => /* @__PURE__ */ m(
123
+ R.displayName = "EmptyContainerDescription";
124
+ const T = i.forwardRef(({ className: a, children: t, asChild: e = !1, ...o }, n) => /* @__PURE__ */ s(
116
125
  e ? f : "div",
117
126
  {
118
127
  ref: n,
119
- className: p(
128
+ className: d(
120
129
  "mt-6 flex flex-wrap items-center justify-center gap-3",
121
130
  a
122
131
  ),
@@ -125,11 +134,11 @@ const R = i.forwardRef(({ className: a, children: t, asChild: e = !1, ...o }, n)
125
134
  children: t
126
135
  }
127
136
  ));
128
- R.displayName = "EmptyContainerAction";
137
+ T.displayName = "EmptyContainerAction";
129
138
  export {
130
- N as EmptyContainer,
131
- R as EmptyContainerAction,
132
- v as EmptyContainerDescription,
139
+ b as EmptyContainer,
140
+ T as EmptyContainerAction,
141
+ R as EmptyContainerDescription,
133
142
  S as EmptyContainerImage,
134
- I as EmptyContainerTitle
143
+ A as EmptyContainerTitle
135
144
  };
@@ -1,8 +1,8 @@
1
1
  import { jsxs as l, jsx as e } from "react/jsx-runtime";
2
- import * as i from "react";
2
+ import * as n from "react";
3
3
  import { ChevronRight as ee, Search as te, Bin as ae, Pencil as le, Star as re } from "impact-nova-icons";
4
4
  import { cn as o } from "../../../lib/utils.js";
5
- import { Popover as ie, PopoverTrigger as ne, PopoverContent as se } from "../popover.js";
5
+ import { Popover as ne, PopoverTrigger as ie, PopoverContent as se } from "../popover.js";
6
6
  import { Tooltip as f, TooltipTrigger as u, TooltipContent as h } from "../tooltip.js";
7
7
  import { Button as Q } from "../button.js";
8
8
  import { Separator as M } from "../separator.js";
@@ -14,8 +14,8 @@ import { useImpactNovaI18n as ue } from "../../../i18n/ImpactNovaI18nContext.js"
14
14
  const Ie = ({
15
15
  selectedFilter: m,
16
16
  onSelectedFilterChange: _,
17
- savedFilters: S,
18
- recentFilters: C,
17
+ savedFilters: C,
18
+ recentFilters: S,
19
19
  onApplySavedFilter: B,
20
20
  onSavedFilterSearch: N,
21
21
  onSavedFiltersScroll: z,
@@ -25,25 +25,25 @@ const Ie = ({
25
25
  onDeleteSavedFilter: I,
26
26
  onSetDefaultSavedFilter: P
27
27
  }) => {
28
- const { t: r } = ue(), [b, T] = i.useState(!1), [O, G] = i.useState(null), [A, U] = i.useState(null);
29
- i.useEffect(() => {
30
- const a = S?.find((d) => d.isDefault);
28
+ const { t: r } = ue(), [b, T] = n.useState(!1), [O, G] = n.useState(null), [A, U] = n.useState(null);
29
+ n.useEffect(() => {
30
+ const a = C?.find((d) => d.isDefault);
31
31
  a && a.id !== A && U(a.id);
32
- }, [S, A]);
32
+ }, [C, A]);
33
33
  const V = (a) => {
34
34
  T(a), E?.(a);
35
- }, [D, Y] = i.useState(""), [x, q] = i.useState(""), [c, H] = i.useState("All"), [p, j] = i.useState(null);
36
- i.useEffect(() => {
35
+ }, [D, Y] = n.useState(""), [x, q] = n.useState(""), [c, H] = n.useState("All"), [p, j] = n.useState(null);
36
+ n.useEffect(() => {
37
37
  const a = setTimeout(() => {
38
38
  q(D);
39
39
  }, 300);
40
40
  return () => clearTimeout(a);
41
- }, [D]), i.useEffect(() => {
41
+ }, [D]), n.useEffect(() => {
42
42
  N && N(
43
43
  x,
44
44
  c === "All" ? void 0 : c
45
45
  );
46
- }, [x, c, N]), i.useEffect(() => {
46
+ }, [x, c, N]), n.useEffect(() => {
47
47
  b && j({ label: m });
48
48
  }, [b, m]);
49
49
  const J = (a) => {
@@ -52,9 +52,9 @@ const Ie = ({
52
52
  p && (_?.(p.label), p.savedItem && B?.(p.savedItem), T(!1));
53
53
  }, W = () => {
54
54
  T(!1);
55
- }, X = () => !C || C.length === 0 ? null : /* @__PURE__ */ l("div", { className: "flex flex-col", children: [
55
+ }, X = () => !S || S.length === 0 ? null : /* @__PURE__ */ l("div", { className: "flex flex-col", children: [
56
56
  /* @__PURE__ */ e("div", { className: "px-1 py-[6px] text-xs font-medium text-[#60697d] font-['Manrope']", children: "Recent" }),
57
- /* @__PURE__ */ e("div", { className: "mb-[6px] flex flex-col", children: C.map((a, d) => {
57
+ /* @__PURE__ */ e("div", { className: "mb-[6px] flex flex-col", children: S.map((a, d) => {
58
58
  const s = a.map((w) => w.label).join(", "), g = p?.label === s;
59
59
  return /* @__PURE__ */ e(
60
60
  "button",
@@ -77,7 +77,7 @@ const Ie = ({
77
77
  ] }), Z = () => {
78
78
  if (R)
79
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 = S?.filter(
80
+ let a = C?.filter(
81
81
  (t) => c === "All" || t.type === c
82
82
  );
83
83
  if (!N && x && (a = a?.filter(
@@ -109,22 +109,22 @@ const Ie = ({
109
109
  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: t }) });
110
110
  }
111
111
  const d = k || I || P, s = a.find((t) => t.isDefault), g = a.filter((t) => !t.isDefault), w = (t, v = !1) => {
112
- const L = p?.label === t.label, n = O === t.id;
112
+ const L = p?.label === t.label, i = O === t.id;
113
113
  return /* @__PURE__ */ l(
114
114
  "button",
115
115
  {
116
116
  type: "button",
117
117
  className: o(
118
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-left bg-transparent border-none transition-all duration-300 relative overflow-hidden",
119
- !n && "hover:bg-[#f5f6fa]",
120
- !n && L && "bg-[#edf0ff]",
121
- !n && !L && "text-[#1f2b4d]",
122
- n && "pointer-events-none"
119
+ !i && "hover:bg-[#f5f6fa]",
120
+ !i && L && "bg-[#edf0ff]",
121
+ !i && !L && "text-[#1f2b4d]",
122
+ i && "pointer-events-none"
123
123
  ),
124
- onClick: () => !n && j({ label: t.label, savedItem: t }),
125
- disabled: n,
124
+ onClick: () => !i && j({ label: t.label, savedItem: t }),
125
+ disabled: i,
126
126
  children: [
127
- n && /* @__PURE__ */ e(
127
+ i && /* @__PURE__ */ e(
128
128
  "div",
129
129
  {
130
130
  className: "absolute inset-0 bg-gradient-to-r from-[#e6e8f0] via-[#d5dafb] to-[#e6e8f0] opacity-60",
@@ -188,11 +188,11 @@ const Ie = ({
188
188
  tabIndex: v ? 0 : -1,
189
189
  "aria-label": `${t.isDefault ? r("filterStrip.defaultFilter") : r("filterStrip.setAsDefault")} ${t.label}`,
190
190
  className: "p-1 rounded hover:bg-[#e6e8f0] transition-colors disabled:opacity-50 disabled:cursor-not-allowed",
191
- disabled: n,
191
+ disabled: i,
192
192
  onClick: (y) => {
193
193
  y.stopPropagation(), G(t.id), P(t), setTimeout(() => G(null), 1200);
194
194
  },
195
- children: n ? /* @__PURE__ */ e("div", { className: "h-3.5 w-3.5 animate-spin rounded-full border-2 border-yellow-500 border-t-transparent" }) : /* @__PURE__ */ e(
195
+ children: i ? /* @__PURE__ */ e("div", { className: "h-3.5 w-3.5 animate-spin rounded-full border-2 border-yellow-500 border-t-transparent" }) : /* @__PURE__ */ e(
196
196
  re,
197
197
  {
198
198
  className: o(
@@ -203,7 +203,7 @@ const Ie = ({
203
203
  )
204
204
  }
205
205
  ) }),
206
- /* @__PURE__ */ e(h, { variant: "tertiary", side: "top", children: n ? r("filterStrip.updating") : t.isDefault ? r("filterStrip.defaultFilter") : r("filterStrip.setAsDefault") })
206
+ /* @__PURE__ */ e(h, { variant: "tertiary", side: "top", children: i ? r("filterStrip.updating") : t.isDefault ? r("filterStrip.defaultFilter") : r("filterStrip.setAsDefault") })
207
207
  ] })
208
208
  ] })
209
209
  ]
@@ -246,13 +246,12 @@ const Ie = ({
246
246
  )
247
247
  ] });
248
248
  }, F = p?.label !== m;
249
- return /* @__PURE__ */ l(ie, { open: b, onOpenChange: V, children: [
250
- /* @__PURE__ */ e(ne, { asChild: !0, children: /* @__PURE__ */ l(
249
+ return /* @__PURE__ */ l(ne, { open: b, onOpenChange: V, children: [
250
+ /* @__PURE__ */ e(ie, { asChild: !0, children: /* @__PURE__ */ l(
251
251
  "button",
252
252
  {
253
253
  type: "button",
254
254
  className: "flex cursor-pointer items-center gap-2 bg-transparent border-none p-0",
255
- "aria-label": r("filterStrip.selectFilter"),
256
255
  "aria-expanded": b,
257
256
  "aria-haspopup": "dialog",
258
257
  children: [