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,27 +1,27 @@
1
- import { jsx as r, jsxs as o } from "react/jsx-runtime";
1
+ import { jsx as e, jsxs as o } from "react/jsx-runtime";
2
2
  import * as C from "react";
3
3
  import S from "../horizontal-scroller/horizontal-scroller.js";
4
- import { TagGroup as T } from "../tag-group.js";
4
+ import { TagGroup as z } from "../tag-group.js";
5
5
  import { Tag as k } from "../tag.js";
6
6
  import { Tooltip as b, TooltipTrigger as w, TooltipContent as y } from "../tooltip.js";
7
- import { Popover as z, PopoverTrigger as $, PopoverContent as j } from "../popover.js";
7
+ import { Popover as $, PopoverTrigger as O, PopoverContent as j } from "../popover.js";
8
8
  import { Button as P } from "../button.js";
9
- import { Checkmark as A, Copy as I, Cross as O } from "impact-nova-icons";
10
- const R = ({
11
- remainingValues: l,
9
+ import { Checkmark as A, Copy as R, Cross as F } from "impact-nova-icons";
10
+ const T = "whitespace-nowrap bg-[#eceefd] text-[#4259ee] hover:bg-[#dce1fc] border-0 h-5 px-2 text-xs font-medium font-['Manrope'] cursor-pointer", I = ({
11
+ remainingValues: s,
12
12
  viewAllTrigger: c = "expand",
13
- onViewAll: p,
13
+ onViewAll: h,
14
14
  onItemRemove: u,
15
15
  isRemovable: N,
16
- isCopyable: e = !1,
16
+ isCopyable: r = !1,
17
17
  externalCopyFunction: m
18
18
  }) => {
19
- const [s, x] = C.useState(!1), [a, d] = C.useState(null), f = (t, i, n) => {
20
- navigator.clipboard.writeText(String(i)), d(n), t.currentTarget.blur(), setTimeout(() => d(null), 1500);
21
- }, g = s ? l : l.slice(0, 3), v = l.length > 3, h = () => {
22
- c === "custom" ? p?.() : x(!0);
19
+ const [i, g] = C.useState(!1), [a, d] = C.useState(null), f = (t, n, l) => {
20
+ navigator.clipboard.writeText(String(n)), d(l), t.currentTarget.blur(), setTimeout(() => d(null), 1500);
21
+ }, x = i ? s : s.slice(0, 3), v = s.length > 3, p = () => {
22
+ c === "custom" ? h?.() : g(!0);
23
23
  };
24
- return /* @__PURE__ */ r(
24
+ return /* @__PURE__ */ e(
25
25
  j,
26
26
  {
27
27
  className: "w-[200px] p-0 rounded-[8px] bg-white shadow-[0_0_4px_0_rgba(0,0,0,0.12)] border-none",
@@ -29,155 +29,146 @@ const R = ({
29
29
  sideOffset: 8,
30
30
  onOpenAutoFocus: (t) => t.preventDefault(),
31
31
  children: /* @__PURE__ */ o("div", { className: "flex flex-col py-2 px-[6px]", children: [
32
- /* @__PURE__ */ r(
32
+ /* @__PURE__ */ e(
33
33
  "div",
34
34
  {
35
- className: `flex flex-col gap-1 mb-2 ${s ? "max-h-[180px] overflow-y-auto" : ""}`,
36
- children: g.map((t, i) => /* @__PURE__ */ o(
35
+ className: `flex flex-col gap-1 mb-2 ${i ? "max-h-[180px] overflow-y-auto" : ""}`,
36
+ children: x.map((t, n) => /* @__PURE__ */ o(
37
37
  "div",
38
38
  {
39
39
  className: "flex items-center justify-between text-[14px] font-medium leading-[20px] text-[#1f2b4d] px-3 py-2 overflow-hidden hover:bg-slate-50 rounded group shrink-0",
40
40
  children: [
41
41
  /* @__PURE__ */ o(b, { children: [
42
- /* @__PURE__ */ r(w, { asChild: !0, children: /* @__PURE__ */ r("span", { className: "truncate", children: String(t) }) }),
43
- /* @__PURE__ */ r(y, { variant: "tertiary", side: "right", children: String(t) })
42
+ /* @__PURE__ */ e(w, { asChild: !0, children: /* @__PURE__ */ e("span", { className: "truncate", children: String(t) }) }),
43
+ /* @__PURE__ */ e(y, { variant: "tertiary", side: "right", children: String(t) })
44
44
  ] }),
45
45
  /* @__PURE__ */ o("div", { className: "flex items-center shrink-0", children: [
46
- e && /* @__PURE__ */ r(
46
+ r && /* @__PURE__ */ e(
47
47
  "button",
48
48
  {
49
- onClick: (n) => {
50
- n.stopPropagation(), m ? m({ e: n, val: t, index: i }) : f(n, t, i);
49
+ onClick: (l) => {
50
+ l.stopPropagation(), m ? m({ e: l, val: t, index: n }) : f(l, t, n);
51
51
  },
52
52
  "aria-label": `Copy ${String(t)}`,
53
53
  className: "ml-2 flex h-4 w-4 shrink-0 items-center justify-center rounded-full text-gray-400 hover:bg-black/5 hover:text-gray-600 opacity-0 group-hover:opacity-100 focus:opacity-100 transition-opacity",
54
- children: a === i ? /* @__PURE__ */ r(A, { size: 12, className: "text-green-500" }) : /* @__PURE__ */ r(I, { size: 12 })
54
+ children: a === n ? /* @__PURE__ */ e(A, { size: 12, className: "text-green-500" }) : /* @__PURE__ */ e(R, { size: 12 })
55
55
  }
56
56
  ),
57
- N && /* @__PURE__ */ r(
57
+ N && /* @__PURE__ */ e(
58
58
  "button",
59
59
  {
60
- onClick: (n) => {
61
- n.stopPropagation(), u(t);
60
+ onClick: (l) => {
61
+ l.stopPropagation(), u(t);
62
62
  },
63
63
  "aria-label": `Remove ${String(t)}`,
64
64
  className: "ml-2 flex h-4 w-4 shrink-0 items-center justify-center rounded-full text-gray-400 hover:bg-black/5 hover:text-gray-600 opacity-0 group-hover:opacity-100 focus:opacity-100 transition-opacity",
65
- children: /* @__PURE__ */ r(O, { size: 12 })
65
+ children: /* @__PURE__ */ e(F, { size: 12 })
66
66
  }
67
67
  )
68
68
  ] })
69
69
  ]
70
70
  },
71
- i
71
+ n
72
72
  ))
73
73
  }
74
74
  ),
75
- !s && v && /* @__PURE__ */ o("div", { className: "flex flex-col gap-2", children: [
76
- /* @__PURE__ */ r("div", { className: "h-[1px] bg-[#e6e8f0] w-full" }),
77
- /* @__PURE__ */ r(
75
+ !i && v && /* @__PURE__ */ o("div", { className: "flex flex-col gap-2", children: [
76
+ /* @__PURE__ */ e("div", { className: "h-[1px] bg-[#e6e8f0] w-full" }),
77
+ /* @__PURE__ */ e(
78
78
  P,
79
79
  {
80
80
  variant: "secondary",
81
81
  size: "md",
82
82
  className: "w-full justify-center",
83
- onClick: h,
84
- children: c === "custom" ? "View all" : `View all (${l.length})`
83
+ onClick: p,
84
+ children: c === "custom" ? "View all" : `View all (${s.length})`
85
85
  }
86
86
  )
87
87
  ] })
88
88
  ] })
89
89
  }
90
90
  );
91
- }, B = ({
92
- filters: l,
91
+ }, G = ({
92
+ filters: s,
93
93
  onFilterRemove: c,
94
- onOverflowClick: p,
94
+ onOverflowClick: h,
95
95
  onViewAll: u
96
- }) => /* @__PURE__ */ r("div", { className: "flex flex-1 items-center min-w-0", children: /* @__PURE__ */ r(
96
+ }) => /* @__PURE__ */ e("div", { className: "flex flex-1 items-center min-w-0", children: /* @__PURE__ */ e(
97
97
  S,
98
98
  {
99
- items: l,
100
- renderItem: (e, m) => {
101
- const s = Array.isArray(e.value) ? e.value : [e.value], x = s.slice(0, 2), a = s.slice(2), d = !!e.overflow, f = e.overflow?.label ? e.overflow.label : e.overflow?.count ? `+${e.overflow.count}` : null, g = a.length > 0, v = d || g, h = `+${a.length}`;
99
+ items: s,
100
+ renderItem: (r, m) => {
101
+ const i = Array.isArray(r.value) ? r.value : [r.value], g = i.slice(0, 2), a = i.slice(2), d = !!r.overflow, f = r.overflow?.label ? r.overflow.label : r.overflow?.count ? `+${r.overflow.count}` : null, x = a.length > 0, v = d || x, p = `+${a.length}`;
102
102
  return /* @__PURE__ */ o("div", { className: "flex items-center px-1", children: [
103
- m > 0 && /* @__PURE__ */ r("div", { className: "mx-3 h-4 w-[1px] bg-[#e6e8f0] shrink-0" }),
103
+ m > 0 && /* @__PURE__ */ e("div", { className: "mx-3 h-4 w-[1px] bg-[#e6e8f0] shrink-0" }),
104
104
  /* @__PURE__ */ o("div", { className: "flex items-center gap-2", children: [
105
105
  /* @__PURE__ */ o("span", { className: "text-xs font-medium leading-[21px] text-[#60697d] whitespace-nowrap", children: [
106
- e.label,
107
- e.required && /* @__PURE__ */ r("span", { className: "text-red-500 ml-0.5", children: "*" })
106
+ r.label,
107
+ r.required && /* @__PURE__ */ e("span", { className: "text-red-500 ml-0.5", children: "*" })
108
108
  ] }),
109
109
  /* @__PURE__ */ o("div", { className: "flex items-center gap-1", children: [
110
- /* @__PURE__ */ r(
111
- T,
110
+ /* @__PURE__ */ e(
111
+ z,
112
112
  {
113
113
  spacing: "sm",
114
- tags: x.map((t) => ({
114
+ tags: g.map((t) => ({
115
115
  label: String(t),
116
116
  variant: "secondary",
117
117
  size: "md",
118
118
  shape: "rounded",
119
- removable: e.removable,
120
- onRemove: () => c(e.id, t)
119
+ removable: r.removable,
120
+ onRemove: () => c(r.id, t)
121
121
  }))
122
122
  }
123
123
  ),
124
- v && (d ? (
125
- // Server-side overflow: Simple tag, no popover
124
+ v && (d ? /* @__PURE__ */ o(b, { children: [
125
+ /* @__PURE__ */ e(w, { asChild: !0, children: /* @__PURE__ */ e(
126
+ k,
127
+ {
128
+ asButton: !0,
129
+ variant: "secondary",
130
+ size: "md",
131
+ shape: "rounded",
132
+ className: T,
133
+ "aria-label": `${r.overflow?.count || a.length} more filters for ${r.label}`,
134
+ onClick: () => h?.(r.id),
135
+ children: f || p
136
+ }
137
+ ) }),
138
+ /* @__PURE__ */ o(y, { variant: "tertiary", side: "top", children: [
139
+ r.overflow?.count || a.length,
140
+ " more filters"
141
+ ] })
142
+ ] }) : /* @__PURE__ */ o($, { children: [
126
143
  /* @__PURE__ */ o(b, { children: [
127
- /* @__PURE__ */ r(w, { asChild: !0, children: /* @__PURE__ */ r(
144
+ /* @__PURE__ */ e(w, { asChild: !0, children: /* @__PURE__ */ e(O, { asChild: !0, children: /* @__PURE__ */ e(
128
145
  k,
129
146
  {
147
+ asButton: !0,
130
148
  variant: "secondary",
131
149
  size: "md",
132
150
  shape: "rounded",
133
- className: "whitespace-nowrap bg-[#eceefd] text-[#4259ee] hover:bg-[#dce1fc] border-0 h-5 px-2 text-xs font-medium font-['Manrope'] cursor-pointer",
134
- onClick: () => p?.(e.id),
135
- tabIndex: 0,
136
- role: "button",
137
- "aria-label": `${e.overflow?.count || a.length} more filters for ${e.label}`,
138
- onKeyDown: (t) => {
139
- (t.key === "Enter" || t.key === " ") && (t.preventDefault(), p?.(e.id));
140
- },
141
- children: f || h
151
+ className: T,
152
+ children: p
142
153
  }
143
- ) }),
154
+ ) }) }),
144
155
  /* @__PURE__ */ o(y, { variant: "tertiary", side: "top", children: [
145
- e.overflow?.count || a.length,
156
+ a.length,
146
157
  " more filters"
147
158
  ] })
148
- ] })
149
- ) : (
150
- // Client-side overflow: Popover
151
- /* @__PURE__ */ o(z, { children: [
152
- /* @__PURE__ */ o(b, { children: [
153
- /* @__PURE__ */ r(w, { asChild: !0, children: /* @__PURE__ */ r($, { asChild: !0, children: /* @__PURE__ */ r(
154
- k,
155
- {
156
- variant: "secondary",
157
- size: "md",
158
- shape: "rounded",
159
- className: "whitespace-nowrap bg-[#eceefd] text-[#4259ee] hover:bg-[#dce1fc] border-0 h-5 px-2 text-xs font-medium font-['Manrope'] cursor-pointer",
160
- children: h
161
- }
162
- ) }) }),
163
- /* @__PURE__ */ o(y, { variant: "tertiary", side: "top", children: [
164
- a.length,
165
- " more filters"
166
- ] })
167
- ] }),
168
- /* @__PURE__ */ r(
169
- R,
170
- {
171
- remainingValues: a,
172
- viewAllTrigger: e.viewAllTrigger,
173
- onViewAll: u,
174
- onItemRemove: (t) => c(e.id, t),
175
- isRemovable: e.removable,
176
- isCopyable: e.copyable
177
- }
178
- )
179
- ] })
180
- ))
159
+ ] }),
160
+ /* @__PURE__ */ e(
161
+ I,
162
+ {
163
+ remainingValues: a,
164
+ viewAllTrigger: r.viewAllTrigger,
165
+ onViewAll: u,
166
+ onItemRemove: (t) => c(r.id, t),
167
+ isRemovable: r.removable,
168
+ isCopyable: r.copyable
169
+ }
170
+ )
171
+ ] }))
181
172
  ] })
182
173
  ] })
183
174
  ] });
@@ -187,6 +178,6 @@ const R = ({
187
178
  }
188
179
  ) });
189
180
  export {
190
- R as FilterPopoverContent,
191
- B as FilterTagList
181
+ I as FilterPopoverContent,
182
+ G as FilterTagList
192
183
  };
@@ -1,12 +1,12 @@
1
1
  import { jsxs as r, jsx as a } from "react/jsx-runtime";
2
2
  import * as m from "react";
3
- import * as s from "@radix-ui/react-radio-group";
3
+ import * as i from "@radix-ui/react-radio-group";
4
4
  import { cn as e } from "../../lib/utils.js";
5
5
  import { Info as u } from "impact-nova-icons";
6
- const p = m.forwardRef(({ className: o, orientation: c = "horizontal", label: i, helperText: d, helperTextPosition: l = "absolute", isError: t, required: x, ...n }, f) => /* @__PURE__ */ r(
6
+ const p = m.forwardRef(({ className: s, orientation: l = "horizontal", label: o, helperText: d, helperTextPosition: c = "absolute", isError: t, required: x, ...n }, f) => /* @__PURE__ */ r(
7
7
  "div",
8
8
  {
9
- className: e("flex w-full flex-col gap-[6px]", o),
9
+ className: e("flex w-full flex-col gap-[6px]", s),
10
10
  "data-component": "radio-group",
11
11
  "data-invalid": t || void 0,
12
12
  children: [
@@ -15,10 +15,10 @@ const p = m.forwardRef(({ className: o, orientation: c = "horizontal", label: i,
15
15
  {
16
16
  className: e(
17
17
  "flex flex-col gap-[6px]",
18
- d && l === "absolute" && "relative"
18
+ d && c === "absolute" && "relative"
19
19
  ),
20
20
  children: [
21
- i && /* @__PURE__ */ r(
21
+ o && /* @__PURE__ */ r(
22
22
  "label",
23
23
  {
24
24
  className: e(
@@ -27,25 +27,25 @@ const p = m.forwardRef(({ className: o, orientation: c = "horizontal", label: i,
27
27
  t && "text-destructive"
28
28
  ),
29
29
  children: [
30
- i,
30
+ o,
31
31
  " ",
32
32
  x && /* @__PURE__ */ a("span", { className: "text-destructive", children: "*" })
33
33
  ]
34
34
  }
35
35
  ),
36
36
  /* @__PURE__ */ a(
37
- s.Root,
37
+ i.Root,
38
38
  {
39
39
  className: e(
40
40
  "group flex gap-4",
41
- c === "vertical" && "flex-col gap-2"
41
+ l === "vertical" && "flex-col gap-2"
42
42
  ),
43
43
  "data-error": t,
44
44
  ...n,
45
45
  ref: f
46
46
  }
47
47
  ),
48
- d && l === "absolute" && /* @__PURE__ */ r(
48
+ d && c === "absolute" && /* @__PURE__ */ r(
49
49
  "div",
50
50
  {
51
51
  className: e(
@@ -79,7 +79,7 @@ const p = m.forwardRef(({ className: o, orientation: c = "horizontal", label: i,
79
79
  ]
80
80
  }
81
81
  ),
82
- d && l === "flow" && /* @__PURE__ */ r(
82
+ d && c === "flow" && /* @__PURE__ */ r(
83
83
  "div",
84
84
  {
85
85
  className: e(
@@ -113,22 +113,22 @@ const p = m.forwardRef(({ className: o, orientation: c = "horizontal", label: i,
113
113
  ]
114
114
  }
115
115
  ));
116
- p.displayName = s.Root.displayName;
117
- const v = m.forwardRef(({ className: o, ...c }, i) => /* @__PURE__ */ a(
118
- s.Item,
116
+ p.displayName = i.Root.displayName;
117
+ const v = m.forwardRef(({ className: s, ...l }, o) => /* @__PURE__ */ a(
118
+ i.Item,
119
119
  {
120
- ref: i,
120
+ ref: o,
121
121
  className: e(
122
- "aspect-square h-4 w-4 rounded-full border border-stroke-field bg-canvas-elevated text-brand shadow focus:outline-none focus-visible:ring-1 focus-visible:ring-focus-ring disabled:cursor-not-allowed disabled:bg-disabled-surface disabled:border-stroke data-[state=checked]:border-brand hover:border-brand",
122
+ "relative size-4 shrink-0 rounded-full border border-stroke-field bg-canvas-elevated text-brand shadow focus:outline-none focus-visible:ring-1 focus-visible:ring-focus-ring disabled:cursor-not-allowed disabled:bg-disabled-surface disabled:border-stroke data-[state=checked]:border-brand hover:border-brand leading-none",
123
123
  "group-data-[error=true]:border-destructive group-data-[error=true]:data-[state=checked]:border-destructive group-data-[error=true]:text-destructive",
124
- o
124
+ s
125
125
  ),
126
126
  "data-component": "radio-group-item",
127
- ...c,
128
- children: /* @__PURE__ */ a(s.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ a("div", { className: "h-2.5 w-2.5 rounded-full bg-current peer-disabled:bg-canvas-accordion" }) })
127
+ ...l,
128
+ children: /* @__PURE__ */ a(i.Indicator, { className: "absolute inset-0.5 rounded-full bg-current" })
129
129
  }
130
130
  ));
131
- v.displayName = s.Item.displayName;
131
+ v.displayName = i.Item.displayName;
132
132
  export {
133
133
  p as RadioGroup,
134
134
  v as RadioGroupItem