impact-nova 3.0.0-alpha.4 → 3.0.0-alpha.6
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.
- package/dist/components/data/ag-grid-react/cell-renderers/editors/list-select-cell-editor.js +56 -42
- package/dist/components/data/ag-grid-react/cell-renderers/editors/select-cell-editor.js +48 -45
- package/dist/components/data/ag-grid-react/cell-renderers/list-select-display-renderer.js +31 -33
- package/dist/components/data/ag-grid-react/cell-renderers/select-display-renderer.js +18 -17
- package/dist/components/data/ag-grid-react/editable-utils.d.ts +9 -1
- package/dist/components/data/ag-grid-react/editable-utils.js +46 -41
- package/dist/components/data/expandable-list-item/expandable-list-item-attributes.js +3 -2
- package/dist/components/data/expandable-list-item/expandable-list-item-metrics.js +3 -2
- package/dist/components/data/expandable-list-item/sku-picker-chrome.d.ts +2 -1
- package/dist/components/data/expandable-list-item/sku-picker-chrome.js +51 -40
- package/dist/components/data/expandable-list-item/useServerSkuInfinitePages.d.ts +2 -1
- package/dist/components/data/expandable-list-item/virtualized-responsive-grid.catalog.d.ts +5 -4
- package/dist/components/data-display/chart/chart-scatter3d.d.ts +39 -0
- package/dist/components/data-display/chart/chart-scatter3d.js +180 -0
- package/dist/components/data-display/chart/chart.js +125 -112
- package/dist/components/data-display/chart/chart.utils.js +122 -92
- package/dist/components/feedback/tooltip/button-icon-tooltip.d.ts +4 -1
- package/dist/components/feedback/tooltip/button-icon-tooltip.js +14 -12
- package/dist/components/feedback/tooltip/tab-tooltip-render.js +3 -2
- package/dist/components/feedback/tooltip/use-overflow-tooltip.js +44 -36
- package/dist/components/flows/command-palette/shortcut-settings.js +10 -10
- package/dist/components/flows/filter-panel/filter-panel.js +4 -4
- package/dist/components/flows/iris-chat/iris-chat-menu.js +100 -73
- package/dist/components/forms/choice-card/choice-card-percent.js +68 -50
- package/dist/components/forms/choice-card/choice-card.js +23 -23
- package/dist/components/forms/select/components/SelectMenuPanel.js +15 -15
- package/dist/components/forms/select/components/SelectTriggerValue.js +3 -2
- package/dist/components/forms/select/components/Submenu.js +3 -2
- package/dist/components/layout/horizontal-scroller/horizontal-scroller-mask.d.ts +3 -0
- package/dist/components/layout/horizontal-scroller/horizontal-scroller-mask.js +12 -0
- package/dist/components/layout/horizontal-scroller/horizontal-scroller.js +181 -125
- package/dist/components/layout/horizontal-scroller/horizontal-scroller.types.d.ts +2 -0
- package/dist/components/layout/horizontal-scroller/scroll-overflow-affordance.d.ts +3 -1
- package/dist/components/layout/horizontal-scroller/scroll-overflow-affordance.js +77 -67
- package/dist/components/primitives/iris/iris-insight-truncated-text.d.ts +3 -0
- package/dist/components/primitives/iris/iris-insight-truncated-text.js +33 -0
- package/dist/components/primitives/iris/iris.d.ts +2 -1
- package/dist/components/primitives/iris/iris.js +57 -67
- package/dist/components/primitives/iris/iris.types.d.ts +7 -0
- package/dist/components/primitives/stepper/internals/stepper-summary.js +5 -5
- package/dist/form-react/Fields/VirtualizedListField.js +69 -64
- package/dist/impact-nova-components.css +35 -8
- package/dist/impact-nova.css +1 -1
- package/dist/lib/alphabetical-sort.js +13 -0
- package/dist/llms/rules/installation.js +1 -1
- package/dist/llms/rules/requirements.js +1 -1
- package/package.json +2 -2
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { jsx as i, jsxs as
|
|
1
|
+
import { jsx as i, jsxs as S } from "react/jsx-runtime";
|
|
2
2
|
import { useState as b } from "react";
|
|
3
|
-
import { Controller as
|
|
4
|
-
import { ChoiceCardGroup as
|
|
3
|
+
import { Controller as O } from "react-hook-form";
|
|
4
|
+
import { ChoiceCardGroup as k, ChoiceCard as I, ChoiceCardIndicator as j, ChoiceCardContent as q, ChoiceCardTitle as z } from "../../components/forms/choice-card/choice-card.js";
|
|
5
5
|
import { SkuPickerChrome as B } from "../../components/data/expandable-list-item/sku-picker-chrome.js";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
|
|
6
|
+
import { nextAlphabeticalSortDirection as M, compareAlphabeticalValues as P } from "../../lib/alphabetical-sort.js";
|
|
7
|
+
import { cn as y } from "../../lib/utils.js";
|
|
8
|
+
import { getFieldTestId as E } from "../utils/fieldTestIds.js";
|
|
9
|
+
function G(e) {
|
|
9
10
|
if (!Array.isArray(e))
|
|
10
11
|
return [];
|
|
11
12
|
const r = [];
|
|
@@ -13,49 +14,53 @@ function P(e) {
|
|
|
13
14
|
typeof t == "string" && r.push(t);
|
|
14
15
|
return r;
|
|
15
16
|
}
|
|
16
|
-
function
|
|
17
|
+
function x(e, r, t) {
|
|
17
18
|
if (t === "single") {
|
|
18
|
-
const
|
|
19
|
-
return
|
|
19
|
+
const n = Array.from(r).find((s) => !e.includes(s));
|
|
20
|
+
return n ? [n] : Array.from(r).slice(0, 1);
|
|
20
21
|
}
|
|
21
22
|
const a = [];
|
|
22
|
-
for (const
|
|
23
|
-
r.has(
|
|
24
|
-
for (const
|
|
25
|
-
e.includes(
|
|
23
|
+
for (const n of e)
|
|
24
|
+
r.has(n) && a.push(n);
|
|
25
|
+
for (const n of r)
|
|
26
|
+
e.includes(n) || a.push(n);
|
|
26
27
|
return a;
|
|
27
28
|
}
|
|
28
29
|
function d(e) {
|
|
29
30
|
return typeof e.label == "string" ? e.label : e.value;
|
|
30
31
|
}
|
|
31
|
-
function
|
|
32
|
-
const a = r.trim().toLowerCase(),
|
|
33
|
-
(
|
|
32
|
+
function R(e, r, t) {
|
|
33
|
+
const a = r.trim().toLowerCase(), n = e.filter(
|
|
34
|
+
(s) => d(s).toLowerCase().includes(a)
|
|
35
|
+
);
|
|
36
|
+
return t === "none" ? n : n.sort(
|
|
37
|
+
(s, f) => P(
|
|
38
|
+
d(s),
|
|
39
|
+
d(f),
|
|
40
|
+
t
|
|
41
|
+
)
|
|
34
42
|
);
|
|
35
|
-
return t ? l.sort(
|
|
36
|
-
(o, f) => d(o).localeCompare(d(f))
|
|
37
|
-
) : l;
|
|
38
43
|
}
|
|
39
|
-
function
|
|
44
|
+
function _(e, r) {
|
|
40
45
|
let t = 0;
|
|
41
46
|
for (const a of e)
|
|
42
47
|
if (a.isDisabled !== !0 && (t += 1, !r.includes(a.value)))
|
|
43
48
|
return !1;
|
|
44
49
|
return t > 0;
|
|
45
50
|
}
|
|
46
|
-
function
|
|
51
|
+
function $(e, r) {
|
|
47
52
|
const t = [];
|
|
48
53
|
for (const a of r) {
|
|
49
|
-
const
|
|
50
|
-
if (
|
|
54
|
+
const n = e.find((s) => s.value === a);
|
|
55
|
+
if (n && (t.push(d(n)), t.length === 5))
|
|
51
56
|
break;
|
|
52
57
|
}
|
|
53
58
|
return t;
|
|
54
59
|
}
|
|
55
|
-
function
|
|
60
|
+
function H(e) {
|
|
56
61
|
const r = e.view === "card";
|
|
57
62
|
return /* @__PURE__ */ i(
|
|
58
|
-
|
|
63
|
+
k,
|
|
59
64
|
{
|
|
60
65
|
type: "multiple",
|
|
61
66
|
value: e.selected ? [e.option.value] : [],
|
|
@@ -64,65 +69,65 @@ function _(e) {
|
|
|
64
69
|
},
|
|
65
70
|
disabled: e.disabled,
|
|
66
71
|
className: "min-w-0 w-full",
|
|
67
|
-
children: /* @__PURE__ */
|
|
68
|
-
|
|
72
|
+
children: /* @__PURE__ */ S(
|
|
73
|
+
I,
|
|
69
74
|
{
|
|
70
75
|
value: e.option.value,
|
|
71
76
|
size: "sm",
|
|
72
77
|
disabled: e.disabled,
|
|
73
78
|
"aria-label": d(e.option),
|
|
74
|
-
className:
|
|
79
|
+
className: y(
|
|
75
80
|
"w-full min-w-0 items-center",
|
|
76
81
|
!r && "justify-start gap-3 rounded-none border-0 bg-transparent p-0 shadow-none hover:border-0 data-[selected]:border-0 data-[selected]:bg-transparent data-[selected]:shadow-none"
|
|
77
82
|
),
|
|
78
83
|
children: [
|
|
79
84
|
/* @__PURE__ */ i(
|
|
80
|
-
|
|
85
|
+
j,
|
|
81
86
|
{
|
|
82
87
|
className: r ? "order-last self-center" : "order-first self-center"
|
|
83
88
|
}
|
|
84
89
|
),
|
|
85
|
-
/* @__PURE__ */ i(
|
|
90
|
+
/* @__PURE__ */ i(q, { className: "min-w-0", children: /* @__PURE__ */ i(z, { className: "whitespace-normal normal-case", children: d(e.option) }) })
|
|
86
91
|
]
|
|
87
92
|
}
|
|
88
93
|
)
|
|
89
94
|
}
|
|
90
95
|
);
|
|
91
96
|
}
|
|
92
|
-
const
|
|
97
|
+
const F = ({
|
|
93
98
|
field: e,
|
|
94
99
|
validationRules: r,
|
|
95
100
|
isDisabled: t,
|
|
96
101
|
formHelpers: a
|
|
97
102
|
}) => {
|
|
98
|
-
const [
|
|
103
|
+
const [n, s] = b(""), [f, N] = b("none"), [m, V] = b("card");
|
|
99
104
|
if (e.fieldType !== "virtualized_list") return null;
|
|
100
|
-
const C = e.options ?? [], g = e.selectionMode ?? "multi",
|
|
105
|
+
const C = e.options ?? [], g = e.selectionMode ?? "multi", A = a.form.control, h = R(C, n, f);
|
|
101
106
|
return /* @__PURE__ */ i(
|
|
102
|
-
|
|
107
|
+
O,
|
|
103
108
|
{
|
|
104
109
|
name: e.id,
|
|
105
|
-
control:
|
|
110
|
+
control: A,
|
|
106
111
|
disabled: t,
|
|
107
112
|
rules: r,
|
|
108
113
|
render: ({ field: u, fieldState: p }) => {
|
|
109
|
-
const c =
|
|
110
|
-
if (t ||
|
|
114
|
+
const c = G(u.value), v = !!p.error, w = v ? p.error?.message : e.helpText, L = (l) => {
|
|
115
|
+
if (t || l.isDisabled === !0)
|
|
111
116
|
return;
|
|
112
|
-
const
|
|
113
|
-
|
|
114
|
-
},
|
|
117
|
+
const o = new Set(c);
|
|
118
|
+
o.has(l.value) ? o.delete(l.value) : o.add(l.value), u.onChange(x(c, o, g));
|
|
119
|
+
}, T = () => {
|
|
115
120
|
if (g === "single") {
|
|
116
|
-
const
|
|
117
|
-
u.onChange(
|
|
121
|
+
const o = h.find((D) => D.isDisabled !== !0);
|
|
122
|
+
u.onChange(o ? [o.value] : []);
|
|
118
123
|
return;
|
|
119
124
|
}
|
|
120
|
-
const
|
|
121
|
-
for (const
|
|
122
|
-
|
|
123
|
-
u.onChange(
|
|
125
|
+
const l = new Set(c);
|
|
126
|
+
for (const o of h)
|
|
127
|
+
o.isDisabled !== !0 && l.add(o.value);
|
|
128
|
+
u.onChange(x(c, l, "multi"));
|
|
124
129
|
};
|
|
125
|
-
return /* @__PURE__ */
|
|
130
|
+
return /* @__PURE__ */ S("div", { "data-testid": E(e.id), children: [
|
|
126
131
|
/* @__PURE__ */ i(
|
|
127
132
|
B,
|
|
128
133
|
{
|
|
@@ -134,41 +139,41 @@ const X = ({
|
|
|
134
139
|
searchLabel: e.label ? `Search ${e.label}` : "Search",
|
|
135
140
|
showBack: !1,
|
|
136
141
|
view: m,
|
|
137
|
-
search:
|
|
138
|
-
|
|
142
|
+
search: n,
|
|
143
|
+
sortDirection: f,
|
|
139
144
|
selectedCount: c.length,
|
|
140
|
-
allSelected:
|
|
141
|
-
previewCodes:
|
|
142
|
-
onSearchChange:
|
|
143
|
-
onViewChange:
|
|
144
|
-
onToggleSort: () => N((
|
|
145
|
-
onSelectAll:
|
|
145
|
+
allSelected: _(h, c),
|
|
146
|
+
previewCodes: $(C, c),
|
|
147
|
+
onSearchChange: s,
|
|
148
|
+
onViewChange: V,
|
|
149
|
+
onToggleSort: () => N((l) => M(l)),
|
|
150
|
+
onSelectAll: T,
|
|
146
151
|
onClear: () => u.onChange([]),
|
|
147
152
|
children: /* @__PURE__ */ i(
|
|
148
153
|
"div",
|
|
149
154
|
{
|
|
150
155
|
className: m === "card" ? "grid w-full grid-cols-[repeat(auto-fill,minmax(180px,1fr))] gap-3" : "flex w-full flex-col gap-2",
|
|
151
|
-
children: h.map((
|
|
152
|
-
|
|
156
|
+
children: h.map((l) => /* @__PURE__ */ i(
|
|
157
|
+
H,
|
|
153
158
|
{
|
|
154
|
-
option:
|
|
155
|
-
selected: c.includes(
|
|
156
|
-
disabled: t ||
|
|
159
|
+
option: l,
|
|
160
|
+
selected: c.includes(l.value),
|
|
161
|
+
disabled: t || l.isDisabled === !0,
|
|
157
162
|
view: m,
|
|
158
|
-
onToggle: () =>
|
|
163
|
+
onToggle: () => L(l)
|
|
159
164
|
},
|
|
160
|
-
|
|
165
|
+
l.value
|
|
161
166
|
))
|
|
162
167
|
}
|
|
163
168
|
)
|
|
164
169
|
}
|
|
165
170
|
),
|
|
166
|
-
w ? /* @__PURE__ */ i("p", { className:
|
|
171
|
+
w ? /* @__PURE__ */ i("p", { className: y("mt-1 text-xs", v ? "text-destructive" : "text-content-tertiary"), children: w }) : null
|
|
167
172
|
] });
|
|
168
173
|
}
|
|
169
174
|
}
|
|
170
175
|
);
|
|
171
176
|
};
|
|
172
177
|
export {
|
|
173
|
-
|
|
178
|
+
F as VirtualizedListField
|
|
174
179
|
};
|
|
@@ -832,7 +832,7 @@
|
|
|
832
832
|
border-color: var(--color-iris-border-violet);
|
|
833
833
|
}
|
|
834
834
|
|
|
835
|
-
/* Status overflow tooltip —
|
|
835
|
+
/* Status overflow tooltip — white fill + iris animated ring (same as menu wrap). */
|
|
836
836
|
.iris-menu-overflow-tooltip {
|
|
837
837
|
--iris-border-angle: 0deg;
|
|
838
838
|
position: relative;
|
|
@@ -842,10 +842,9 @@
|
|
|
842
842
|
border: 0 !important;
|
|
843
843
|
border-radius: 12px !important;
|
|
844
844
|
padding: 8px 12px !important;
|
|
845
|
-
background:
|
|
845
|
+
background: var(--color-surface-elevated) !important;
|
|
846
846
|
color: var(--color-foreground-title) !important;
|
|
847
847
|
box-shadow: var(--shadow-iris-menu), inset 0 0 0 1px var(--color-iris-border-violet);
|
|
848
|
-
backdrop-filter: blur(3px);
|
|
849
848
|
font-weight: 500;
|
|
850
849
|
text-transform: none;
|
|
851
850
|
}
|
|
@@ -870,7 +869,7 @@
|
|
|
870
869
|
}
|
|
871
870
|
}
|
|
872
871
|
.iris-menu-overflow-tooltip > svg {
|
|
873
|
-
fill: var(--color-
|
|
872
|
+
fill: var(--color-surface-elevated) !important;
|
|
874
873
|
stroke: var(--color-iris-border-violet);
|
|
875
874
|
stroke-width: 1px;
|
|
876
875
|
}
|
|
@@ -1777,6 +1776,16 @@ html.iris-agent-session *:not(.iris-agent-cursor):not(.iris-agent-cursor *):not(
|
|
|
1777
1776
|
overflow: hidden;
|
|
1778
1777
|
}
|
|
1779
1778
|
|
|
1779
|
+
/* AG Grid 36 sticky left/right pin is trapped by overflow:hidden on the header
|
|
1780
|
+
row, so pinned headers scroll with the center columns. Keep the clip for
|
|
1781
|
+
unpinned lists; open overflow when a pin region has cells. */
|
|
1782
|
+
[data-component="ag-grid-react"][data-variant="list"]
|
|
1783
|
+
.ag-header-row:has(.ag-grid-pinned-left-cells .ag-header-cell),
|
|
1784
|
+
[data-component="ag-grid-react"][data-variant="list"]
|
|
1785
|
+
.ag-header-row:has(.ag-grid-pinned-right-cells .ag-header-cell) {
|
|
1786
|
+
overflow: visible;
|
|
1787
|
+
}
|
|
1788
|
+
|
|
1780
1789
|
[data-component="ag-grid-react"][data-variant="list"] .ag-header-cell,
|
|
1781
1790
|
[data-component="ag-grid-react"][data-variant="list"] .ag-header-group-cell {
|
|
1782
1791
|
height: var(--in-ag-list-header-height);
|
|
@@ -1794,22 +1803,40 @@ html.iris-agent-session *:not(.iris-agent-cursor):not(.iris-agent-cursor *):not(
|
|
|
1794
1803
|
border-radius: var(--in-ag-list-radius);
|
|
1795
1804
|
}
|
|
1796
1805
|
|
|
1797
|
-
[data-component="ag-grid-react"][data-variant="list"] .ag-pinned-left-header:has(.ag-header-cell)
|
|
1806
|
+
[data-component="ag-grid-react"][data-variant="list"] .ag-pinned-left-header:has(.ag-header-cell),
|
|
1807
|
+
[data-component="ag-grid-react"][data-variant="list"]
|
|
1808
|
+
.ag-header-row
|
|
1809
|
+
> .ag-grid-pinned-left-cells:has(.ag-header-cell) {
|
|
1798
1810
|
border-radius: var(--in-ag-list-radius) 0 0 var(--in-ag-list-radius);
|
|
1811
|
+
background-color: var(--color-surface-muted);
|
|
1812
|
+
z-index: 2;
|
|
1799
1813
|
}
|
|
1800
1814
|
|
|
1801
1815
|
[data-component="ag-grid-react"][data-variant="list"]:has(.ag-pinned-left-header .ag-header-cell) .ag-header-viewport,
|
|
1802
|
-
[data-component="ag-grid-react"][data-variant="list"]:has(.ag-pinned-left-header .ag-header-cell) .ag-header-row
|
|
1816
|
+
[data-component="ag-grid-react"][data-variant="list"]:has(.ag-pinned-left-header .ag-header-cell) .ag-header-row,
|
|
1817
|
+
[data-component="ag-grid-react"][data-variant="list"]:has(
|
|
1818
|
+
.ag-header-row > .ag-grid-pinned-left-cells .ag-header-cell
|
|
1819
|
+
)
|
|
1820
|
+
.ag-header-row {
|
|
1803
1821
|
border-top-left-radius: 0;
|
|
1804
1822
|
border-bottom-left-radius: 0;
|
|
1805
1823
|
}
|
|
1806
1824
|
|
|
1807
|
-
[data-component="ag-grid-react"][data-variant="list"] .ag-pinned-right-header:has(.ag-header-cell)
|
|
1825
|
+
[data-component="ag-grid-react"][data-variant="list"] .ag-pinned-right-header:has(.ag-header-cell),
|
|
1826
|
+
[data-component="ag-grid-react"][data-variant="list"]
|
|
1827
|
+
.ag-header-row
|
|
1828
|
+
> .ag-grid-pinned-right-cells:has(.ag-header-cell) {
|
|
1808
1829
|
border-radius: 0 var(--in-ag-list-radius) var(--in-ag-list-radius) 0;
|
|
1830
|
+
background-color: var(--color-surface-muted);
|
|
1831
|
+
z-index: 2;
|
|
1809
1832
|
}
|
|
1810
1833
|
|
|
1811
1834
|
[data-component="ag-grid-react"][data-variant="list"]:has(.ag-pinned-right-header .ag-header-cell) .ag-header-viewport,
|
|
1812
|
-
[data-component="ag-grid-react"][data-variant="list"]:has(.ag-pinned-right-header .ag-header-cell) .ag-header-row
|
|
1835
|
+
[data-component="ag-grid-react"][data-variant="list"]:has(.ag-pinned-right-header .ag-header-cell) .ag-header-row,
|
|
1836
|
+
[data-component="ag-grid-react"][data-variant="list"]:has(
|
|
1837
|
+
.ag-header-row > .ag-grid-pinned-right-cells .ag-header-cell
|
|
1838
|
+
)
|
|
1839
|
+
.ag-header-row {
|
|
1813
1840
|
border-top-right-radius: 0;
|
|
1814
1841
|
border-bottom-right-radius: 0;
|
|
1815
1842
|
}
|