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,21 +1,23 @@
1
- import { jsx as e, jsxs as t } from "react/jsx-runtime";
2
- import v from "react";
3
- import { Sheet as b, SheetContent as g, SheetDescription as N, SheetTitle as y, SheetClose as w } from "../../feedback/sheet/sheet.js";
4
- import { createCompoundPart as k } from "../../../lib/primitives/create-compound.js";
1
+ import { jsx as e, jsxs as a } from "react/jsx-runtime";
2
+ import b from "react";
3
+ import { Sheet as g, SheetContent as N, SheetDescription as y, SheetTitle as w, SheetClose as k } from "../../feedback/sheet/sheet.js";
4
+ import { createCompoundPart as C } from "../../../lib/primitives/create-compound.js";
5
5
  import { cn as o } from "../../../lib/utils.js";
6
- import { MultiColorFilter as C, Cross as F, InfoBadge as u } from "impact-nova-icons";
7
- import { Button as P } from "../../primitives/button/button.js";
8
- import { Tooltip as d, TooltipTrigger as h, TooltipContent as f } from "../../feedback/tooltip/tooltip.js";
6
+ import { MultiColorFilter as F, Cross as P, InfoBadge as u } from "impact-nova-icons";
7
+ import { Button as D } from "../../primitives/button/button.js";
8
+ import { Tooltip as d, TooltipTrigger as f, TooltipContent as h } from "../../feedback/tooltip/tooltip.js";
9
9
  import { Kbd as S } from "../../primitives/kbd/kbd.js";
10
- import { useImpactNovaI18n as x } from "../../../i18n/use-impact-nova-i18n.js";
11
- import { useOverlayHostDismissNestedLayersOnNavigation as j } from "../../../lib/overlay/overlay-portal-context.js";
12
- const I = ({
10
+ import { OverflowTooltip as j } from "../../feedback/tooltip/overflow-tooltip.js";
11
+ import { useImpactNovaI18n as v } from "../../../i18n/use-impact-nova-i18n.js";
12
+ import { useOverlayHostDismissNestedLayersOnNavigation as I } from "../../../lib/overlay/overlay-portal-context.js";
13
+ import { preventDismissOnTooltipOutside as x } from "../../../lib/overlay/prevent-dismiss-on-tooltip-outside.js";
14
+ const O = ({
13
15
  title: i,
14
16
  children: n,
15
17
  className: l
16
18
  }) => {
17
- const { t: c } = x();
18
- return /* @__PURE__ */ t(
19
+ const { t: c } = v();
20
+ return /* @__PURE__ */ a(
19
21
  "div",
20
22
  {
21
23
  "data-component": "filter-panel-header",
@@ -24,35 +26,35 @@ const I = ({
24
26
  l
25
27
  ),
26
28
  children: [
27
- /* @__PURE__ */ t("div", { className: "flex items-center gap-3", children: [
29
+ /* @__PURE__ */ a("div", { className: "flex items-center gap-3", children: [
28
30
  /* @__PURE__ */ e(
29
31
  "div",
30
32
  {
31
33
  className: "flex size-8 shrink-0 items-center justify-center rounded-md border border-brand-tint bg-canvas-elevated",
32
34
  "aria-hidden": !0,
33
- children: /* @__PURE__ */ e(C, { className: "size-5 shrink-0" })
35
+ children: /* @__PURE__ */ e(F, { className: "size-5 shrink-0" })
34
36
  }
35
37
  ),
36
- /* @__PURE__ */ e(y, { className: "text-lg font-bold text-content", children: i })
38
+ /* @__PURE__ */ e(w, { className: "text-lg font-bold text-content", children: i })
37
39
  ] }),
38
- /* @__PURE__ */ t("div", { className: "flex items-center gap-2", children: [
40
+ /* @__PURE__ */ a("div", { className: "flex items-center gap-2", children: [
39
41
  n,
40
- /* @__PURE__ */ e(w, { asChild: !0, children: /* @__PURE__ */ e(
41
- P,
42
+ /* @__PURE__ */ e(k, { asChild: !0, children: /* @__PURE__ */ e(
43
+ D,
42
44
  {
43
45
  variant: "secondary",
44
46
  size: "icon",
45
47
  tabIndex: -1,
46
48
  "aria-label": c("aria.close"),
47
49
  "data-component": "filter-panel-close",
48
- children: /* @__PURE__ */ e(F, { className: "h-3 w-3" })
50
+ children: /* @__PURE__ */ e(P, { className: "h-3 w-3" })
49
51
  }
50
52
  ) })
51
53
  ] })
52
54
  ]
53
55
  }
54
56
  );
55
- }, R = ({
57
+ }, G = ({
56
58
  open: i,
57
59
  onOpenChange: n,
58
60
  title: l = "Filter panel",
@@ -60,9 +62,9 @@ const I = ({
60
62
  header: s,
61
63
  sidebar: p,
62
64
  className: m,
63
- preventClose: a = !1
64
- }) => /* @__PURE__ */ e(b, { open: i, onOpenChange: n, children: /* @__PURE__ */ t(
65
- g,
65
+ preventClose: t = !1
66
+ }) => /* @__PURE__ */ e(g, { open: i, onOpenChange: n, children: /* @__PURE__ */ a(
67
+ N,
66
68
  {
67
69
  side: "right",
68
70
  className: o(
@@ -70,30 +72,33 @@ const I = ({
70
72
  m
71
73
  ),
72
74
  onInteractOutside: (r) => {
73
- a && r.preventDefault();
75
+ x(r), t && r.preventDefault();
76
+ },
77
+ onPointerDownOutside: (r) => {
78
+ x(r), t && r.preventDefault();
74
79
  },
75
80
  onEscapeKeyDown: (r) => {
76
- a && r.preventDefault();
81
+ t && r.preventDefault();
77
82
  },
78
83
  children: [
79
- /* @__PURE__ */ e(N, { className: "sr-only", children: "Select filters to apply to the current view." }),
80
- /* @__PURE__ */ t("div", { className: "flex h-full flex-col bg-canvas-elevated", "data-component": "filter-panel", children: [
81
- s || /* @__PURE__ */ e(I, { title: l }),
82
- /* @__PURE__ */ t("div", { className: "flex flex-1 overflow-hidden", children: [
84
+ /* @__PURE__ */ e(y, { className: "sr-only", children: "Select filters to apply to the current view." }),
85
+ /* @__PURE__ */ a("div", { className: "flex h-full flex-col bg-canvas-elevated", "data-component": "filter-panel", children: [
86
+ s || /* @__PURE__ */ e(O, { title: l }),
87
+ /* @__PURE__ */ a("div", { className: "flex flex-1 overflow-hidden", children: [
83
88
  p,
84
89
  /* @__PURE__ */ e("div", { className: "flex flex-col flex-1 overflow-hidden", children: c })
85
90
  ] })
86
91
  ] })
87
92
  ]
88
93
  }
89
- ) }), W = ({
94
+ ) }), J = ({
90
95
  items: i,
91
96
  activeTab: n,
92
97
  onTabChange: l,
93
98
  className: c
94
99
  }) => {
95
- const { t: s } = x(), p = j(), m = (a) => {
96
- a !== n && p(), l(a);
100
+ const { t: s } = v(), p = I(), m = (t) => {
101
+ t !== n && p(), l(t);
97
102
  };
98
103
  return /* @__PURE__ */ e(
99
104
  "div",
@@ -103,26 +108,26 @@ const I = ({
103
108
  "flex w-[200px] shrink-0 flex-col border-r bg-navigation-canvas",
104
109
  c
105
110
  ),
106
- children: /* @__PURE__ */ e("div", { className: "flex flex-1 flex-col py-2 gap-1 overflow-y-auto", children: i.map((a) => {
107
- const r = n === a.id;
108
- return /* @__PURE__ */ t(v.Fragment, { children: [
109
- a.separator && /* @__PURE__ */ e("div", { className: "my-2 h-px bg-stroke-hairline" }),
110
- /* @__PURE__ */ t(
111
+ children: /* @__PURE__ */ e("div", { className: "flex flex-1 flex-col py-2 gap-1 overflow-y-auto", children: i.map((t) => {
112
+ const r = n === t.id;
113
+ return /* @__PURE__ */ a(b.Fragment, { children: [
114
+ t.separator && /* @__PURE__ */ e("div", { className: "my-2 h-px bg-stroke-hairline" }),
115
+ /* @__PURE__ */ a(
111
116
  "button",
112
117
  {
113
118
  type: "button",
114
119
  autoFocus: r,
115
- onClick: () => m(a.id),
120
+ onClick: () => m(t.id),
116
121
  "data-component": "filter-panel-sidebar-item",
117
122
  "data-active": r ? "true" : "false",
118
- "data-tab": a.id,
119
- "data-shortcut-id": a.shortcutId,
123
+ "data-tab": t.id,
124
+ "data-shortcut-id": t.shortcutId,
120
125
  className: o(
121
126
  "group flex items-center justify-between px-3 py-[6px] mx-2 rounded-lg text-left text-sm font-medium transition-colors",
122
127
  r ? "bg-canvas-accent text-brand" : "text-content-secondary hover:bg-canvas-accent"
123
128
  ),
124
129
  children: [
125
- /* @__PURE__ */ t("div", { className: "flex items-center gap-2 min-w-0 flex-1", children: [
130
+ /* @__PURE__ */ a("div", { className: "flex items-center gap-2 min-w-0 flex-1", children: [
126
131
  /* @__PURE__ */ e(
127
132
  "span",
128
133
  {
@@ -130,74 +135,80 @@ const I = ({
130
135
  "shrink-0",
131
136
  r ? "text-brand" : "text-content-secondary"
132
137
  ),
133
- children: a.icon
138
+ children: t.icon
134
139
  }
135
140
  ),
136
- /* @__PURE__ */ t("div", { className: "flex items-center gap-1 min-w-0", children: [
137
- /* @__PURE__ */ t(d, { children: [
138
- /* @__PURE__ */ e(h, { asChild: !0, children: /* @__PURE__ */ e("span", { className: "truncate font-['Manrope']", children: a.label }) }),
139
- /* @__PURE__ */ e(f, { variant: "tertiary", side: "right", children: a.tooltipKeybinding ? /* @__PURE__ */ t("span", { className: "flex items-center gap-2", children: [
140
- a.label,
141
- " ",
142
- /* @__PURE__ */ e(
143
- S,
144
- {
145
- keybinding: a.tooltipKeybinding,
146
- size: "sm"
147
- }
148
- )
149
- ] }) : a.label })
150
- ] }),
151
- a.isRequired && /* @__PURE__ */ e("span", { className: "shrink-0 text-danger", children: "*" })
141
+ /* @__PURE__ */ a("div", { className: "flex items-center gap-1 min-w-0", children: [
142
+ /* @__PURE__ */ e(
143
+ j,
144
+ {
145
+ triggerClassName: "truncate font-['Manrope'] block min-w-0",
146
+ content: t.tooltipKeybinding ? /* @__PURE__ */ a("span", { className: "flex items-center gap-2", children: [
147
+ t.label,
148
+ " ",
149
+ /* @__PURE__ */ e(
150
+ S,
151
+ {
152
+ keybinding: t.tooltipKeybinding,
153
+ size: "sm"
154
+ }
155
+ )
156
+ ] }) : t.label,
157
+ side: "right",
158
+ variant: "tertiary",
159
+ children: t.label
160
+ }
161
+ ),
162
+ t.isRequired && /* @__PURE__ */ e("span", { className: "shrink-0 text-danger", children: "*" })
152
163
  ] })
153
164
  ] }),
154
- /* @__PURE__ */ t("div", { className: "flex items-center gap-1 shrink-0 ml-1", children: [
155
- a.count !== void 0 && a.count > 0 && /* @__PURE__ */ t(d, { children: [
156
- /* @__PURE__ */ e(h, { asChild: !0, children: /* @__PURE__ */ e(
165
+ /* @__PURE__ */ a("div", { className: "flex items-center gap-1 shrink-0 ml-1", children: [
166
+ t.count !== void 0 && t.count > 0 && /* @__PURE__ */ a(d, { children: [
167
+ /* @__PURE__ */ e(f, { asChild: !0, children: /* @__PURE__ */ e(
157
168
  "span",
158
169
  {
159
170
  className: o(
160
171
  "inline-flex h-5 min-w-5 items-center justify-center rounded-full px-1.5 text-[11px] font-medium tabular-nums leading-none shrink-0",
161
172
  r ? "bg-canvas-elevated text-brand border border-stroke-subtle" : "bg-brand-tint border border-stroke-subtle"
162
173
  ),
163
- children: a.count
174
+ children: t.count
164
175
  }
165
176
  ) }),
166
- /* @__PURE__ */ e(f, { variant: "tertiary", side: "top", children: s(
167
- a.countBadgeContext === "savedFiltersTotal" ? "filterPanel.savedFiltersAvailableCount" : "filterPanel.filtersAppliedCount",
168
- { count: a.count }
177
+ /* @__PURE__ */ e(h, { variant: "tertiary", side: "top", children: s(
178
+ t.countBadgeContext === "savedFiltersTotal" ? "filterPanel.savedFiltersAvailableCount" : "filterPanel.filtersAppliedCount",
179
+ { count: t.count }
169
180
  ) })
170
181
  ] }),
171
- a.hasError && /* @__PURE__ */ t(d, { children: [
172
- /* @__PURE__ */ e(h, { asChild: !0, children: /* @__PURE__ */ e(u, { className: "h-5 w-5 shrink-0 text-danger" }) }),
173
- /* @__PURE__ */ e(f, { variant: "tertiary", children: s("filterPanel.tabContainsErrors") })
182
+ t.hasError && /* @__PURE__ */ a(d, { children: [
183
+ /* @__PURE__ */ e(f, { asChild: !0, children: /* @__PURE__ */ e(u, { className: "h-5 w-5 shrink-0 text-danger" }) }),
184
+ /* @__PURE__ */ e(h, { variant: "tertiary", children: s("filterPanel.tabContainsErrors") })
174
185
  ] }),
175
- a.hasWarning && /* @__PURE__ */ t(d, { children: [
176
- /* @__PURE__ */ e(h, { asChild: !0, children: /* @__PURE__ */ e(u, { className: "h-5 w-5 shrink-0 text-warning" }) }),
177
- /* @__PURE__ */ e(f, { variant: "tertiary", children: s("filterPanel.tabHasWarnings") })
186
+ t.hasWarning && /* @__PURE__ */ a(d, { children: [
187
+ /* @__PURE__ */ e(f, { asChild: !0, children: /* @__PURE__ */ e(u, { className: "h-5 w-5 shrink-0 text-warning" }) }),
188
+ /* @__PURE__ */ e(h, { variant: "tertiary", children: s("filterPanel.tabHasWarnings") })
178
189
  ] }),
179
- a.hasInfo && /* @__PURE__ */ t(d, { children: [
180
- /* @__PURE__ */ e(h, { asChild: !0, children: /* @__PURE__ */ e(u, { className: "h-5 w-5 shrink-0 text-content-icon" }) }),
181
- /* @__PURE__ */ e(f, { variant: "tertiary", children: s("filterPanel.additionalInfoAvailable") })
190
+ t.hasInfo && /* @__PURE__ */ a(d, { children: [
191
+ /* @__PURE__ */ e(f, { asChild: !0, children: /* @__PURE__ */ e(u, { className: "h-5 w-5 shrink-0 text-content-icon" }) }),
192
+ /* @__PURE__ */ e(h, { variant: "tertiary", children: s("filterPanel.additionalInfoAvailable") })
182
193
  ] })
183
194
  ] })
184
195
  ]
185
196
  }
186
197
  )
187
- ] }, a.id);
198
+ ] }, t.id);
188
199
  }) })
189
200
  }
190
201
  );
191
- }, _ = k("filter-panel", {
202
+ }, Q = C("filter-panel", {
192
203
  part: "body",
193
204
  displayName: "FilterPanelBody",
194
205
  className: "flex flex-1 flex-col overflow-auto bg-canvas-elevated p-4",
195
206
  scrollSurface: !0
196
- }), q = ({
207
+ }), U = ({
197
208
  children: i,
198
209
  className: n,
199
210
  leftAction: l
200
- }) => /* @__PURE__ */ t(
211
+ }) => /* @__PURE__ */ a(
201
212
  "div",
202
213
  {
203
214
  "data-component": "filter-panel-footer",
@@ -212,9 +223,9 @@ const I = ({
212
223
  }
213
224
  );
214
225
  export {
215
- R as FilterPanel,
216
- _ as FilterPanelBody,
217
- q as FilterPanelFooter,
218
- I as FilterPanelHeader,
219
- W as FilterPanelSidebar
226
+ G as FilterPanel,
227
+ Q as FilterPanelBody,
228
+ U as FilterPanelFooter,
229
+ O as FilterPanelHeader,
230
+ J as FilterPanelSidebar
220
231
  };