impact-nova 2.2.8 → 2.3.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.
- package/dist/components/data/ag-grid-react/ag-grid-header-dom.js +6 -8
- package/dist/components/data/ag-grid-react/ag-grid-tooltip-overflow.d.ts +1 -1
- package/dist/components/data/ag-grid-react/ag-grid-tooltip-overflow.js +25 -13
- package/dist/components/data/ag-grid-react/headers/custom-header.js +1 -1
- package/dist/components/data/ag-grid-react/headers/custom-inner-header-group.js +7 -7
- package/dist/components/data/ag-grid-react/headers/utils/filter-utils.js +9 -9
- package/dist/components/data/ag-grid-react/strip-column-min-width-constraints.d.ts +3 -0
- package/dist/components/data/data-table/data-table.d.ts +1 -1
- package/dist/components/data/data-table/data-table.js +41 -39
- package/dist/components/data/data-table/data-table.types.d.ts +1 -1
- package/dist/components/data-display/calendar/calendar-day-picker-components.js +69 -56
- package/dist/components/data-display/calendar/calendar-padding-week.utils.d.ts +5 -0
- package/dist/components/data-display/calendar/calendar-padding-week.utils.js +6 -0
- package/dist/components/data-display/calendar/calendar.types.d.ts +1 -1
- package/dist/components/flows/filter-panel/filter-panel.js +101 -94
- package/dist/components/flows/guidance/adapters/ag-grid-adapter.d.ts +13 -0
- package/dist/components/flows/guidance/adapters/ag-grid-adapter.js +30 -0
- package/dist/components/flows/guidance/adapters/ag-grid.d.ts +2 -0
- package/dist/components/flows/guidance/adapters/ag-grid.js +6 -0
- package/dist/components/flows/guidance/adapters/dialog.d.ts +1 -0
- package/dist/components/flows/guidance/adapters/dialog.js +5 -0
- package/dist/components/flows/guidance/adapters/overlay-adapter.d.ts +5 -0
- package/dist/components/flows/guidance/adapters/overlay-adapter.js +21 -0
- package/dist/components/flows/guidance/engine.d.ts +1 -0
- package/dist/components/flows/guidance/engine.js +36 -0
- package/dist/components/flows/guidance/guidance-context.d.ts +29 -0
- package/dist/components/flows/guidance/guidance-context.js +35 -0
- package/dist/components/flows/guidance/guidance-error-boundary.d.ts +16 -0
- package/dist/components/flows/guidance/guidance-error-boundary.js +49 -0
- package/dist/components/flows/guidance/guidance-layer.d.ts +2 -0
- package/dist/components/flows/guidance/guidance-layer.js +71 -0
- package/dist/components/flows/guidance/guidance-provider.d.ts +3 -0
- package/dist/components/flows/guidance/guidance-provider.js +58 -0
- package/dist/components/flows/guidance/guidance-target.d.ts +7 -0
- package/dist/components/flows/guidance/guidance-target.js +27 -0
- package/dist/components/flows/guidance/guidance.types.d.ts +1 -0
- package/dist/components/flows/guidance/help-center/filter-help-center-guides.d.ts +7 -0
- package/dist/components/flows/guidance/help-center/filter-help-center-guides.js +11 -0
- package/dist/components/flows/guidance/help-center/guide-catalog.d.ts +3 -0
- package/dist/components/flows/guidance/help-center/guide-catalog.js +118 -0
- package/dist/components/flows/guidance/help-center/help-center-header.d.ts +3 -0
- package/dist/components/flows/guidance/help-center/help-center-header.js +43 -0
- package/dist/components/flows/guidance/help-center/help-center.constants.d.ts +5 -0
- package/dist/components/flows/guidance/help-center/help-center.constants.js +7 -0
- package/dist/components/flows/guidance/help-center/help-center.d.ts +10 -0
- package/dist/components/flows/guidance/help-center/help-center.js +95 -0
- package/dist/components/flows/guidance/help-center/help-center.story-helpers.d.ts +10 -0
- package/dist/components/flows/guidance/help-center/help-center.types.d.ts +39 -0
- package/dist/components/flows/guidance/help-center.d.ts +6 -0
- package/dist/components/flows/guidance/help-center.js +19 -0
- package/dist/components/flows/guidance/hooks/use-guidance.d.ts +19 -0
- package/dist/components/flows/guidance/hooks/use-guidance.js +50 -0
- package/dist/components/flows/guidance/hooks/use-help-center.d.ts +24 -0
- package/dist/components/flows/guidance/hooks/use-help-center.js +67 -0
- package/dist/components/flows/guidance/hooks/useGuidanceOverlayGeometry.d.ts +2 -0
- package/dist/components/flows/guidance/hooks/useGuidanceOverlayGeometry.js +30 -0
- package/dist/components/flows/guidance/index.d.ts +18 -0
- package/dist/components/flows/guidance/index.js +48 -0
- package/dist/components/flows/guidance/renderers/announcement-renderer.d.ts +3 -0
- package/dist/components/flows/guidance/renderers/announcement-renderer.js +40 -0
- package/dist/components/flows/guidance/renderers/coach-mark-renderer.d.ts +2 -0
- package/dist/components/flows/guidance/renderers/coach-mark-renderer.js +14 -0
- package/dist/components/flows/guidance/renderers/guidance-card-shared.d.ts +42 -0
- package/dist/components/flows/guidance/renderers/guidance-card-shared.js +213 -0
- package/dist/components/flows/guidance/renderers/guidance-renderer-shared.d.ts +48 -0
- package/dist/components/flows/guidance/renderers/guidance-renderer-shared.js +254 -0
- package/dist/components/flows/guidance/renderers/guidance-tour-overlay.d.ts +11 -0
- package/dist/components/flows/guidance/renderers/guidance-tour-overlay.js +217 -0
- package/dist/components/flows/guidance/renderers/renderer-registry.d.ts +6 -0
- package/dist/components/flows/guidance/renderers/renderer-registry.js +19 -0
- package/dist/components/flows/guidance/renderers/spotlight-renderer.d.ts +2 -0
- package/dist/components/flows/guidance/renderers/spotlight-renderer.js +14 -0
- package/dist/components/flows/guidance/renderers.d.ts +4 -0
- package/dist/components/flows/guidance/renderers.js +11 -0
- package/dist/components/flows/guidance/target.d.ts +3 -0
- package/dist/components/flows/guidance/target.js +6 -0
- package/dist/components/flows/guidance/triggers.d.ts +2 -0
- package/dist/components/flows/guidance/triggers.js +16 -0
- package/dist/components/flows/guidance/use-guidance-target.d.ts +5 -0
- package/dist/components/flows/guidance/use-guidance-target.js +16 -0
- package/dist/components/flows/guidance/utils/motion-settle.d.ts +2 -0
- package/dist/components/flows/guidance/utils/motion-settle.js +17 -0
- package/dist/components/forms/combobox/combobox.js +185 -160
- package/dist/components/forms/combobox/combobox.types.d.ts +2 -0
- package/dist/i18n/defaultMessages.d.ts +13 -0
- package/dist/i18n/defaultMessages.js +23 -11
- package/dist/i18n/index.d.ts +1 -1
- package/dist/i18n/locales/de.js +12 -0
- package/dist/i18n/locales/es.js +12 -0
- package/dist/i18n/locales/hi.js +12 -0
- package/dist/i18n/locales/kn.js +12 -0
- package/dist/impact-nova-components.css +52 -10
- package/dist/impact-nova.css +1 -1
- package/dist/lib/guidance/analytics/analytics-adapter.d.ts +16 -0
- package/dist/lib/guidance/analytics/analytics-adapter.js +50 -0
- package/dist/lib/guidance/engine/guidance-engine.d.ts +74 -0
- package/dist/lib/guidance/engine/guidance-engine.js +384 -0
- package/dist/lib/guidance/engine/guide-registry.d.ts +21 -0
- package/dist/lib/guidance/engine/guide-registry.js +71 -0
- package/dist/lib/guidance/engine/manifest-validator.d.ts +4 -0
- package/dist/lib/guidance/engine/manifest-validator.js +102 -0
- package/dist/lib/guidance/engine/step-navigation.d.ts +5 -0
- package/dist/lib/guidance/engine/step-navigation.js +35 -0
- package/dist/lib/guidance/index.d.ts +12 -0
- package/dist/lib/guidance/storage/storage-adapter.d.ts +10 -0
- package/dist/lib/guidance/storage/storage-adapter.js +51 -0
- package/dist/lib/guidance/storage/storage-keys.d.ts +10 -0
- package/dist/lib/guidance/storage/storage-keys.js +23 -0
- package/dist/lib/guidance/targets/ref-registry.d.ts +12 -0
- package/dist/lib/guidance/targets/ref-registry.js +65 -0
- package/dist/lib/guidance/targets/target-resolver.d.ts +13 -0
- package/dist/lib/guidance/targets/target-resolver.js +85 -0
- package/dist/lib/guidance/triggers/built-in-triggers.d.ts +14 -0
- package/dist/lib/guidance/triggers/built-in-triggers.js +88 -0
- package/dist/lib/guidance/triggers/trigger-registry.d.ts +9 -0
- package/dist/lib/guidance/triggers/trigger-registry.js +44 -0
- package/dist/lib/guidance/types/guidance.types.d.ts +181 -0
- package/dist/lib/overflow/is-line-clamp-text-clipped.d.ts +2 -0
- package/dist/lib/overflow/is-line-clamp-text-clipped.js +33 -0
- package/dist/lib/overflow/is-text-overflowing.d.ts +1 -0
- package/dist/lib/overflow/is-text-overflowing.js +8 -3
- package/dist/llms/rules/installation.js +1 -1
- package/dist/llms/rules/requirements.js +1 -1
- package/package.json +51 -22
|
@@ -1,161 +1,170 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { useId as
|
|
3
|
-
import * as
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
|
|
1
|
+
import { jsx as i, jsxs as $ } from "react/jsx-runtime";
|
|
2
|
+
import { useId as Z, useMemo as z, useState as k, useCallback as c, useRef as T, useEffect as ke } from "react";
|
|
3
|
+
import * as E from "@radix-ui/react-popover";
|
|
4
|
+
import { Cross as Le } from "impact-nova-icons";
|
|
5
|
+
import { Tooltip as Ae, TooltipTrigger as Ne, TooltipContent as Se } from "../../feedback/tooltip/tooltip.js";
|
|
6
|
+
import { useImpactNovaI18n as Pe } from "../../../i18n/use-impact-nova-i18n.js";
|
|
7
|
+
import { createComponent as Te } from "../../../lib/primitives/create-component.js";
|
|
8
|
+
import { cn as O } from "../../../lib/utils.js";
|
|
9
|
+
import { useFieldChrome as Ee } from "../../../lib/primitives/use-field-chrome.js";
|
|
10
|
+
import { useOverlayNestedLayerDismiss as Oe, useOverlayPortalContainer as He } from "../../../lib/overlay/overlay-portal-context.js";
|
|
11
|
+
import { OVERLAY_NESTED_FLOATING_INSTANT_HIDE_CLASS as Re } from "../../../lib/overlay/overlay-host.constants.js";
|
|
12
|
+
import { comboboxSizeVariants as Ve } from "./combobox.variants.js";
|
|
13
|
+
function Me(l) {
|
|
11
14
|
if (l.options) return l.options;
|
|
12
|
-
const { min: u, max:
|
|
13
|
-
if (u == null ||
|
|
14
|
-
const
|
|
15
|
-
for (let
|
|
16
|
-
const
|
|
17
|
-
|
|
15
|
+
const { min: u, max: f, step: p } = l;
|
|
16
|
+
if (u == null || f == null || p == null || p <= 0 || u > f) return [];
|
|
17
|
+
const L = [];
|
|
18
|
+
for (let x = u; x <= f; x += p) {
|
|
19
|
+
const v = Math.round(x * 1e10) / 1e10;
|
|
20
|
+
L.push(String(v));
|
|
18
21
|
}
|
|
19
|
-
return
|
|
22
|
+
return L;
|
|
20
23
|
}
|
|
21
|
-
function
|
|
24
|
+
function je(l, u) {
|
|
22
25
|
if (!u) return l;
|
|
23
|
-
const
|
|
24
|
-
return l.filter((
|
|
26
|
+
const f = u.toLowerCase();
|
|
27
|
+
return l.filter((p) => p.toLowerCase().includes(f));
|
|
25
28
|
}
|
|
26
|
-
const
|
|
29
|
+
const Je = Te(
|
|
27
30
|
"Combobox",
|
|
28
31
|
({
|
|
29
32
|
options: l,
|
|
30
33
|
min: u,
|
|
31
|
-
max:
|
|
32
|
-
step:
|
|
33
|
-
defaultValue:
|
|
34
|
-
value:
|
|
35
|
-
onChange:
|
|
36
|
-
onBlur:
|
|
37
|
-
placeholder:
|
|
38
|
-
label:
|
|
39
|
-
helperText:
|
|
40
|
-
helperTextPosition:
|
|
41
|
-
error:
|
|
42
|
-
isError:
|
|
43
|
-
disabled:
|
|
34
|
+
max: f,
|
|
35
|
+
step: p,
|
|
36
|
+
defaultValue: L = "",
|
|
37
|
+
value: x,
|
|
38
|
+
onChange: v,
|
|
39
|
+
onBlur: B,
|
|
40
|
+
placeholder: K,
|
|
41
|
+
label: A,
|
|
42
|
+
helperText: ee,
|
|
43
|
+
helperTextPosition: te = "absolute",
|
|
44
|
+
error: oe,
|
|
45
|
+
isError: ne,
|
|
46
|
+
disabled: d,
|
|
44
47
|
isNumeric: H,
|
|
45
|
-
size:
|
|
46
|
-
className:
|
|
47
|
-
emptyMessage:
|
|
48
|
-
allowFreeText:
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
48
|
+
size: re = "default",
|
|
49
|
+
className: se,
|
|
50
|
+
emptyMessage: ie = "No options found",
|
|
51
|
+
allowFreeText: N = !1,
|
|
52
|
+
clearable: ae = !1,
|
|
53
|
+
required: U,
|
|
54
|
+
labelOrientation: ce
|
|
55
|
+
}, w) => {
|
|
56
|
+
const le = Z(), S = Z(), { t: W } = Pe(), R = typeof A == "string" ? A : K ?? "Options", V = Ee({
|
|
57
|
+
label: A,
|
|
58
|
+
helperText: ee,
|
|
59
|
+
helperTextPosition: te,
|
|
60
|
+
labelOrientation: ce,
|
|
61
|
+
error: oe ?? ne,
|
|
62
|
+
required: U,
|
|
63
|
+
disabled: d,
|
|
64
|
+
id: le,
|
|
65
|
+
className: se
|
|
66
|
+
}), q = z(
|
|
67
|
+
() => Me({ options: l, min: u, max: f, step: p }),
|
|
68
|
+
[l, u, f, p]
|
|
69
|
+
), y = x !== void 0, [ue, G] = k(L), C = y ? x : ue, [de, M] = k(""), [o, h] = k(!1), fe = c((e) => {
|
|
70
|
+
h(e);
|
|
67
71
|
}, []);
|
|
68
|
-
|
|
69
|
-
const
|
|
72
|
+
Oe(o && !d, fe);
|
|
73
|
+
const pe = He(), n = o ? de : C, [j, m] = k(-1), Y = T(-1), [me, I] = k("keyboard"), _ = T(null), P = T(null), he = c(
|
|
70
74
|
(e) => {
|
|
71
|
-
|
|
75
|
+
_.current = e, typeof w == "function" ? w(e) : w && (w.current = e);
|
|
72
76
|
},
|
|
73
|
-
[
|
|
74
|
-
), r =
|
|
75
|
-
() =>
|
|
76
|
-
[
|
|
77
|
-
),
|
|
77
|
+
[w]
|
|
78
|
+
), r = z(
|
|
79
|
+
() => je(q, n),
|
|
80
|
+
[q, n]
|
|
81
|
+
), J = T(r), ge = z(() => {
|
|
78
82
|
if (!o || !n) return -1;
|
|
79
83
|
const e = r.findIndex(
|
|
80
84
|
(t) => t.toLowerCase() === n.toLowerCase()
|
|
81
85
|
);
|
|
82
86
|
return e >= 0 ? e : -1;
|
|
83
|
-
}, [o, n, r]),
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
}, [
|
|
87
|
-
const
|
|
87
|
+
}, [o, n, r]), g = j >= 0 ? j : ge, Q = j >= 0 ? me : "mouse", be = o && g >= 0 ? `${S}-option-${g}` : void 0;
|
|
88
|
+
ke(() => {
|
|
89
|
+
Y.current = g, J.current = r, o && g >= 0 && P.current && P.current.querySelectorAll("[data-combobox-item]")[g]?.scrollIntoView({ block: "nearest" });
|
|
90
|
+
}, [g, o, r]);
|
|
91
|
+
const a = c(
|
|
88
92
|
(e) => {
|
|
89
|
-
|
|
93
|
+
y || G(e), v?.(e), h(!1), m(-1);
|
|
90
94
|
},
|
|
91
|
-
[
|
|
92
|
-
),
|
|
93
|
-
|
|
94
|
-
}, []),
|
|
95
|
+
[y, v]
|
|
96
|
+
), D = c(() => {
|
|
97
|
+
h(!1), m(-1);
|
|
98
|
+
}, []), xe = c(
|
|
99
|
+
(e) => {
|
|
100
|
+
e.preventDefault(), e.stopPropagation(), y || G(""), v?.(""), M(""), h(!1), m(-1), setTimeout(() => _.current?.focus(), 0);
|
|
101
|
+
},
|
|
102
|
+
[y, v]
|
|
103
|
+
), ve = ae && !d && C.length > 0, we = c(
|
|
95
104
|
(e) => {
|
|
96
105
|
const t = e.target.value;
|
|
97
|
-
|
|
106
|
+
M(t), m(-1), I("mouse"), o || h(!0);
|
|
98
107
|
},
|
|
99
108
|
[o]
|
|
100
|
-
),
|
|
101
|
-
|
|
102
|
-
}, [
|
|
109
|
+
), ye = c(() => {
|
|
110
|
+
d || (M(C), h(!0));
|
|
111
|
+
}, [d, C]), Ce = c(
|
|
103
112
|
(e) => {
|
|
104
113
|
const t = e.relatedTarget;
|
|
105
|
-
if (!
|
|
114
|
+
if (!P.current?.contains(t)) {
|
|
106
115
|
if (o) {
|
|
107
116
|
const s = r.find(
|
|
108
|
-
(
|
|
117
|
+
(b) => b.toLowerCase() === n.toLowerCase()
|
|
109
118
|
);
|
|
110
|
-
s ?
|
|
119
|
+
s ? a(s) : r.length === 1 ? a(r[0]) : N && n ? a(n) : D();
|
|
111
120
|
}
|
|
112
|
-
|
|
121
|
+
B?.(e);
|
|
113
122
|
}
|
|
114
123
|
},
|
|
115
|
-
[o, r, n,
|
|
116
|
-
),
|
|
124
|
+
[o, r, n, a, D, N, B]
|
|
125
|
+
), Ie = c(
|
|
117
126
|
(e) => {
|
|
118
127
|
if (!o) {
|
|
119
|
-
(e.key === "ArrowDown" || e.key === "ArrowUp") && (e.preventDefault(),
|
|
128
|
+
(e.key === "ArrowDown" || e.key === "ArrowUp") && (e.preventDefault(), h(!0));
|
|
120
129
|
return;
|
|
121
130
|
}
|
|
122
131
|
if (e.key === "Escape") {
|
|
123
|
-
e.preventDefault(), e.stopPropagation(),
|
|
132
|
+
e.preventDefault(), e.stopPropagation(), D();
|
|
124
133
|
return;
|
|
125
134
|
}
|
|
126
135
|
if (e.key === "ArrowDown") {
|
|
127
|
-
e.preventDefault(),
|
|
136
|
+
e.preventDefault(), I("keyboard"), m(
|
|
128
137
|
(t) => t < r.length - 1 ? t + 1 : 0
|
|
129
138
|
);
|
|
130
139
|
return;
|
|
131
140
|
}
|
|
132
141
|
if (e.key === "ArrowUp") {
|
|
133
|
-
e.preventDefault(),
|
|
142
|
+
e.preventDefault(), I("keyboard"), m(
|
|
134
143
|
(t) => t > 0 ? t - 1 : r.length - 1
|
|
135
144
|
);
|
|
136
145
|
return;
|
|
137
146
|
}
|
|
138
147
|
if (e.key === "Enter" || e.key === "Tab") {
|
|
139
148
|
e.preventDefault();
|
|
140
|
-
const t =
|
|
149
|
+
const t = Y.current, s = J.current;
|
|
141
150
|
if (t >= 0 && t < s.length)
|
|
142
|
-
|
|
151
|
+
a(s[t]);
|
|
143
152
|
else {
|
|
144
|
-
const
|
|
145
|
-
(
|
|
153
|
+
const b = s.find(
|
|
154
|
+
(F) => F.toLowerCase() === n.toLowerCase()
|
|
146
155
|
);
|
|
147
|
-
|
|
156
|
+
b ? a(b) : s.length === 1 ? a(s[0]) : N && n ? a(n) : D();
|
|
148
157
|
}
|
|
149
158
|
return;
|
|
150
159
|
}
|
|
151
160
|
},
|
|
152
|
-
[o, r, n,
|
|
153
|
-
),
|
|
161
|
+
[o, r, n, a, D, N]
|
|
162
|
+
), X = c(
|
|
154
163
|
(e) => {
|
|
155
|
-
|
|
164
|
+
a(e), setTimeout(() => _.current?.focus(), 0);
|
|
156
165
|
},
|
|
157
|
-
[
|
|
158
|
-
),
|
|
166
|
+
[a]
|
|
167
|
+
), De = c(
|
|
159
168
|
(e) => {
|
|
160
169
|
const t = e.target.closest(
|
|
161
170
|
"[data-combobox-item]"
|
|
@@ -164,66 +173,82 @@ const je = Ce(
|
|
|
164
173
|
if (e.button !== 0) return;
|
|
165
174
|
e.preventDefault();
|
|
166
175
|
const s = t.getAttribute("data-combobox-value");
|
|
167
|
-
s != null &&
|
|
176
|
+
s != null && X(s);
|
|
168
177
|
return;
|
|
169
178
|
}
|
|
170
179
|
e.preventDefault();
|
|
171
180
|
},
|
|
172
|
-
[
|
|
181
|
+
[X]
|
|
173
182
|
);
|
|
174
|
-
return /* @__PURE__ */
|
|
175
|
-
/* @__PURE__ */
|
|
176
|
-
/* @__PURE__ */
|
|
183
|
+
return /* @__PURE__ */ i("div", { "data-component": "combobox", "data-numeric": H || void 0, children: V.wrapControl(
|
|
184
|
+
/* @__PURE__ */ $(E.Root, { open: o && !d, modal: !1, children: [
|
|
185
|
+
/* @__PURE__ */ i(E.Anchor, { asChild: !0, children: /* @__PURE__ */ $(
|
|
177
186
|
"div",
|
|
178
187
|
{
|
|
179
188
|
"data-component": "combobox-input-border",
|
|
180
189
|
tabIndex: -1,
|
|
181
|
-
className:
|
|
190
|
+
className: O(
|
|
182
191
|
"flex w-full items-center gap-1 rounded-md border bg-transparent px-3 text-sm transition-colors outline-none ring-0 focus:outline-none focus:ring-0",
|
|
183
192
|
"focus-within:outline-none focus-within:ring-0 focus-within:border-brand hover:border-brand",
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
193
|
+
V.hasError ? "border-destructive hover:border-destructive" : "border-field",
|
|
194
|
+
d && "pointer-events-none opacity-100 bg-disabled-surface border-stroke text-disabled-foreground hover:border-stroke",
|
|
195
|
+
Ve({ size: re }),
|
|
187
196
|
"bg-canvas"
|
|
188
197
|
),
|
|
189
|
-
children:
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
198
|
+
children: [
|
|
199
|
+
/* @__PURE__ */ i(
|
|
200
|
+
"input",
|
|
201
|
+
{
|
|
202
|
+
ref: he,
|
|
203
|
+
type: "text",
|
|
204
|
+
value: n,
|
|
205
|
+
onChange: we,
|
|
206
|
+
onFocus: ye,
|
|
207
|
+
onBlur: Ce,
|
|
208
|
+
onKeyDown: Ie,
|
|
209
|
+
placeholder: K,
|
|
210
|
+
disabled: !!d,
|
|
211
|
+
className: O(
|
|
212
|
+
"flex h-full w-full bg-transparent p-0 text-sm font-medium",
|
|
213
|
+
"outline-none ring-0 shadow-none border-none",
|
|
214
|
+
"focus:outline-none focus:ring-0 focus:shadow-none focus:border-none",
|
|
215
|
+
"focus-visible:outline-none focus-visible:ring-0 focus-visible:shadow-none focus-visible:border-none",
|
|
216
|
+
"placeholder:font-medium placeholder:text-content-empty",
|
|
217
|
+
d && "opacity-100 text-disabled-foreground placeholder:text-disabled-foreground cursor-not-allowed",
|
|
218
|
+
H && "text-right"
|
|
219
|
+
),
|
|
220
|
+
style: { boxShadow: "none", outline: "none" },
|
|
221
|
+
autoComplete: "off",
|
|
222
|
+
role: "combobox",
|
|
223
|
+
"aria-expanded": o,
|
|
224
|
+
"aria-autocomplete": "list",
|
|
225
|
+
"aria-haspopup": "listbox",
|
|
226
|
+
"aria-controls": o ? S : void 0,
|
|
227
|
+
"aria-activedescendant": be,
|
|
228
|
+
"aria-required": U || void 0,
|
|
229
|
+
"aria-label": A ? void 0 : R,
|
|
230
|
+
...V.controlAria
|
|
231
|
+
}
|
|
232
|
+
),
|
|
233
|
+
ve ? /* @__PURE__ */ $(Ae, { children: [
|
|
234
|
+
/* @__PURE__ */ i(Ne, { asChild: !0, children: /* @__PURE__ */ i(
|
|
235
|
+
"button",
|
|
236
|
+
{
|
|
237
|
+
type: "button",
|
|
238
|
+
"data-clear-button": !0,
|
|
239
|
+
"aria-label": W("select.clear"),
|
|
240
|
+
className: "inline-flex shrink-0 cursor-pointer border-none bg-transparent p-0.5 text-content-icon hover:text-content-secondary",
|
|
241
|
+
onPointerDown: xe,
|
|
242
|
+
children: /* @__PURE__ */ i(Le, { size: "11px", className: "text-content-icon" })
|
|
243
|
+
}
|
|
244
|
+
) }),
|
|
245
|
+
/* @__PURE__ */ i(Se, { variant: "tertiary", side: "top", children: W("select.clear") })
|
|
246
|
+
] }) : null
|
|
247
|
+
]
|
|
223
248
|
}
|
|
224
249
|
) }),
|
|
225
|
-
/* @__PURE__ */
|
|
226
|
-
|
|
250
|
+
/* @__PURE__ */ i(E.Portal, { container: pe, children: /* @__PURE__ */ i(
|
|
251
|
+
E.Content,
|
|
227
252
|
{
|
|
228
253
|
align: "start",
|
|
229
254
|
side: "bottom",
|
|
@@ -237,46 +262,46 @@ const je = Ce(
|
|
|
237
262
|
onInteractOutside: () => {
|
|
238
263
|
},
|
|
239
264
|
onWheel: (e) => e.stopPropagation(),
|
|
240
|
-
className:
|
|
265
|
+
className: O(
|
|
241
266
|
"z-[9999] overflow-hidden rounded-[12px] bg-canvas text-base shadow-elevation-select focus:outline-none sm:text-sm flex flex-col border-none w-[var(--radix-popover-trigger-width)]",
|
|
242
|
-
|
|
267
|
+
Re
|
|
243
268
|
),
|
|
244
269
|
style: {
|
|
245
270
|
maxHeight: "var(--radix-popover-content-available-height)"
|
|
246
271
|
},
|
|
247
|
-
children: /* @__PURE__ */
|
|
272
|
+
children: /* @__PURE__ */ i(
|
|
248
273
|
"div",
|
|
249
274
|
{
|
|
250
|
-
ref:
|
|
251
|
-
id:
|
|
275
|
+
ref: P,
|
|
276
|
+
id: S,
|
|
252
277
|
className: "flex-1 overflow-auto py-1 px-[6px]",
|
|
253
278
|
style: { maxHeight: 240, overscrollBehavior: "contain" },
|
|
254
279
|
role: "listbox",
|
|
255
280
|
"aria-label": R,
|
|
256
|
-
onPointerDown:
|
|
281
|
+
onPointerDown: De,
|
|
257
282
|
onWheel: (e) => e.stopPropagation(),
|
|
258
283
|
onMouseLeave: () => {
|
|
259
|
-
|
|
284
|
+
I("mouse"), m(-1);
|
|
260
285
|
},
|
|
261
|
-
children: r.length === 0 ? /* @__PURE__ */
|
|
262
|
-
const s = t ===
|
|
263
|
-
return /* @__PURE__ */
|
|
286
|
+
children: r.length === 0 ? /* @__PURE__ */ i("div", { className: "flex items-center justify-center py-6 text-sm text-secondary-foreground", children: ie }) : r.map((e, t) => {
|
|
287
|
+
const s = t === g, b = e.toLowerCase() === C.toLowerCase(), F = `${S}-option-${t}`;
|
|
288
|
+
return /* @__PURE__ */ i("div", { className: "w-full pb-[2px]", children: /* @__PURE__ */ i(
|
|
264
289
|
"div",
|
|
265
290
|
{
|
|
266
291
|
"data-combobox-item": !0,
|
|
267
292
|
"data-combobox-value": e,
|
|
268
|
-
id:
|
|
293
|
+
id: F,
|
|
269
294
|
role: "option",
|
|
270
|
-
"aria-selected":
|
|
271
|
-
className:
|
|
295
|
+
"aria-selected": b,
|
|
296
|
+
className: O(
|
|
272
297
|
"cursor-default select-none py-[6px] px-3 flex items-center transition-colors rounded-md",
|
|
273
298
|
H ? "justify-end text-right" : "justify-between",
|
|
274
|
-
s &&
|
|
299
|
+
s && Q === "keyboard" ? "ring-2 ring-inset ring-primary bg-accent text-content" : s && Q === "mouse" ? "bg-canvas-muted text-content" : b ? "bg-accent text-content" : "text-content hover:bg-canvas-muted cursor-pointer"
|
|
275
300
|
),
|
|
276
301
|
onMouseEnter: () => {
|
|
277
|
-
|
|
302
|
+
I("mouse"), m(t);
|
|
278
303
|
},
|
|
279
|
-
children: /* @__PURE__ */
|
|
304
|
+
children: /* @__PURE__ */ i("span", { className: "text-sm", children: e })
|
|
280
305
|
}
|
|
281
306
|
) }, e);
|
|
282
307
|
})
|
|
@@ -289,5 +314,5 @@ const je = Ce(
|
|
|
289
314
|
}
|
|
290
315
|
);
|
|
291
316
|
export {
|
|
292
|
-
|
|
317
|
+
Je as Combobox
|
|
293
318
|
};
|
|
@@ -36,4 +36,6 @@ export interface ComboboxProps extends FieldControlProps {
|
|
|
36
36
|
emptyMessage?: string;
|
|
37
37
|
/** If true, typed text is committed even when it doesn't match any option */
|
|
38
38
|
allowFreeText?: boolean;
|
|
39
|
+
/** When true, shows a clear button to reset the committed value */
|
|
40
|
+
clearable?: boolean;
|
|
39
41
|
}
|
|
@@ -228,6 +228,18 @@ export interface NotificationPanelMessages {
|
|
|
228
228
|
emptyArchivedTitle: string;
|
|
229
229
|
emptyArchivedSub: string;
|
|
230
230
|
}
|
|
231
|
+
export interface HelpCenterMessages {
|
|
232
|
+
title: string;
|
|
233
|
+
description: string;
|
|
234
|
+
searchPlaceholder: string;
|
|
235
|
+
searchAriaLabel: string;
|
|
236
|
+
allCategory: string;
|
|
237
|
+
replay: string;
|
|
238
|
+
emptyState: string;
|
|
239
|
+
stepCount: string;
|
|
240
|
+
supportFooterMessage: string;
|
|
241
|
+
supportTicketLabel: string;
|
|
242
|
+
}
|
|
231
243
|
export interface HorizontalScrollerMessages {
|
|
232
244
|
scrollLeft: string;
|
|
233
245
|
scrollRight: string;
|
|
@@ -306,6 +318,7 @@ export interface ImpactNovaMessages {
|
|
|
306
318
|
advancedFilter: AdvancedFilterMessages;
|
|
307
319
|
gridHeader: GridHeaderMessages;
|
|
308
320
|
notificationPanel: NotificationPanelMessages;
|
|
321
|
+
helpCenter: HelpCenterMessages;
|
|
309
322
|
horizontalScroller: HorizontalScrollerMessages;
|
|
310
323
|
sidebar: SidebarMessages;
|
|
311
324
|
stepper: StepperMessages;
|
|
@@ -197,15 +197,26 @@ const e = {
|
|
|
197
197
|
emptyArchivedTitle: "No archived notifications",
|
|
198
198
|
emptyArchivedSub: "Archived notifications will appear here."
|
|
199
199
|
}, m = {
|
|
200
|
+
title: "Help Center",
|
|
201
|
+
description: "Browse and replay in-app guides",
|
|
202
|
+
searchPlaceholder: "Search",
|
|
203
|
+
searchAriaLabel: "Search guides",
|
|
204
|
+
allCategory: "All",
|
|
205
|
+
replay: "Replay",
|
|
206
|
+
emptyState: "No guides match your search.",
|
|
207
|
+
stepCount: "{{count}} steps",
|
|
208
|
+
supportFooterMessage: "Need more help?",
|
|
209
|
+
supportTicketLabel: "Submit a support ticket"
|
|
210
|
+
}, h = {
|
|
200
211
|
scrollLeft: "Scroll left",
|
|
201
212
|
scrollRight: "Scroll right"
|
|
202
|
-
},
|
|
213
|
+
}, f = {
|
|
203
214
|
viewMore: "View More",
|
|
204
215
|
viewLess: "View Less",
|
|
205
216
|
logout: "Logout"
|
|
206
|
-
}, f = {
|
|
207
|
-
stepOfTotal: "Step {{current}} of {{total}}"
|
|
208
217
|
}, S = {
|
|
218
|
+
stepOfTotal: "Step {{current}} of {{total}}"
|
|
219
|
+
}, v = {
|
|
209
220
|
title: "Advanced Filter",
|
|
210
221
|
currentColumn: "Current Column",
|
|
211
222
|
allFilters: "Active Filters",
|
|
@@ -219,7 +230,7 @@ const e = {
|
|
|
219
230
|
addRule: "+ Add Rule",
|
|
220
231
|
deleteColumn: "Delete",
|
|
221
232
|
noValueNeeded: "No value needed"
|
|
222
|
-
},
|
|
233
|
+
}, g = {
|
|
223
234
|
activeFilter: "Active filter",
|
|
224
235
|
search: "Search",
|
|
225
236
|
selection: "Selection",
|
|
@@ -254,7 +265,7 @@ const e = {
|
|
|
254
265
|
columnOptions: "Column Options",
|
|
255
266
|
chooseColumns: "Choose Columns",
|
|
256
267
|
resetColumns: "Reset Columns"
|
|
257
|
-
},
|
|
268
|
+
}, w = {
|
|
258
269
|
calendar: e,
|
|
259
270
|
datePicker: t,
|
|
260
271
|
filter: o,
|
|
@@ -266,13 +277,14 @@ const e = {
|
|
|
266
277
|
fileUpload: c,
|
|
267
278
|
filterStrip: d,
|
|
268
279
|
filterPanel: u,
|
|
269
|
-
advancedFilter:
|
|
270
|
-
gridHeader:
|
|
280
|
+
advancedFilter: v,
|
|
281
|
+
gridHeader: g,
|
|
271
282
|
notificationPanel: p,
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
283
|
+
helpCenter: m,
|
|
284
|
+
horizontalScroller: h,
|
|
285
|
+
sidebar: f,
|
|
286
|
+
stepper: S
|
|
275
287
|
};
|
|
276
288
|
export {
|
|
277
|
-
|
|
289
|
+
w as defaultMessages
|
|
278
290
|
};
|
package/dist/i18n/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { ImpactNovaI18nProvider } from './impact-nova-i18n-context';
|
|
2
2
|
export { useImpactNovaI18n } from './use-impact-nova-i18n';
|
|
3
3
|
export type { ImpactNovaI18nContextValue, ImpactNovaI18nProviderProps, I18nParams, } from './i18n.types';
|
|
4
|
-
export { defaultMessages, type ImpactNovaMessages, type CalendarMessages, type DatePickerMessages, type FilterMessages, type FilterOperatorMessages, type AdvancedFilterMessages, type GridHeaderMessages, type SelectMessages, type NestedListMessages, type DataTableMessages, type AriaMessages, type PromptMessages, type FileUploadMessages, type FilterStripMessages, type FilterPanelMessages, type NotificationPanelMessages, type HorizontalScrollerMessages, type SidebarMessages, type StepperMessages, } from './defaultMessages';
|
|
4
|
+
export { defaultMessages, type ImpactNovaMessages, type CalendarMessages, type DatePickerMessages, type FilterMessages, type FilterOperatorMessages, type AdvancedFilterMessages, type GridHeaderMessages, type SelectMessages, type NestedListMessages, type DataTableMessages, type AriaMessages, type PromptMessages, type FileUploadMessages, type FilterStripMessages, type FilterPanelMessages, type NotificationPanelMessages, type HelpCenterMessages, type HorizontalScrollerMessages, type SidebarMessages, type StepperMessages, } from './defaultMessages';
|
|
5
5
|
export { getDateFnsLocale, getIntlLocale } from './getDateFnsLocale';
|
|
6
6
|
/** Locale message packs for i18n. Use as-is or spread and override specific keys. */
|
|
7
7
|
export { de, es, hi, kn } from './locales';
|
package/dist/i18n/locales/de.js
CHANGED
|
@@ -260,6 +260,18 @@ const e = {
|
|
|
260
260
|
emptyArchivedTitle: "Keine archivierten Benachrichtigungen",
|
|
261
261
|
emptyArchivedSub: "Archivierte Benachrichtigungen erscheinen hier."
|
|
262
262
|
},
|
|
263
|
+
helpCenter: {
|
|
264
|
+
title: "Help Center",
|
|
265
|
+
description: "In-App-Anleitungen durchsuchen und erneut abspielen",
|
|
266
|
+
searchPlaceholder: "Suchen",
|
|
267
|
+
searchAriaLabel: "Anleitungen suchen",
|
|
268
|
+
allCategory: "Alle",
|
|
269
|
+
replay: "Erneut abspielen",
|
|
270
|
+
emptyState: "Keine Anleitungen entsprechen Ihrer Suche.",
|
|
271
|
+
stepCount: "{{count}} Schritte",
|
|
272
|
+
supportFooterMessage: "Brauchen Sie mehr Hilfe?",
|
|
273
|
+
supportTicketLabel: "Support-Ticket einreichen"
|
|
274
|
+
},
|
|
263
275
|
horizontalScroller: {
|
|
264
276
|
scrollLeft: "Nach links scrollen",
|
|
265
277
|
scrollRight: "Nach rechts scrollen"
|
package/dist/i18n/locales/es.js
CHANGED
|
@@ -260,6 +260,18 @@ const e = {
|
|
|
260
260
|
emptyArchivedTitle: "No hay notificaciones archivadas",
|
|
261
261
|
emptyArchivedSub: "Las notificaciones archivadas aparecerán aquí."
|
|
262
262
|
},
|
|
263
|
+
helpCenter: {
|
|
264
|
+
title: "Help Center",
|
|
265
|
+
description: "Explora y reproduce guías de la aplicación",
|
|
266
|
+
searchPlaceholder: "Buscar",
|
|
267
|
+
searchAriaLabel: "Buscar guías",
|
|
268
|
+
allCategory: "Todas",
|
|
269
|
+
replay: "Reproducir",
|
|
270
|
+
emptyState: "Ninguna guía coincide con tu búsqueda.",
|
|
271
|
+
stepCount: "{{count}} pasos",
|
|
272
|
+
supportFooterMessage: "¿Necesitas más ayuda?",
|
|
273
|
+
supportTicketLabel: "Enviar ticket de soporte"
|
|
274
|
+
},
|
|
263
275
|
horizontalScroller: {
|
|
264
276
|
scrollLeft: "Desplazar a la izquierda",
|
|
265
277
|
scrollRight: "Desplazar a la derecha"
|
package/dist/i18n/locales/hi.js
CHANGED
|
@@ -260,6 +260,18 @@ const e = {
|
|
|
260
260
|
emptyArchivedTitle: "कोई संग्रहीत सूचना नहीं",
|
|
261
261
|
emptyArchivedSub: "संग्रहीत सूचनाएँ यहाँ दिखाई देंगी।"
|
|
262
262
|
},
|
|
263
|
+
helpCenter: {
|
|
264
|
+
title: "Help Center",
|
|
265
|
+
description: "इन-ऐप गाइड ब्राउज़ करें और दोबारा चलाएं",
|
|
266
|
+
searchPlaceholder: "खोजें",
|
|
267
|
+
searchAriaLabel: "गाइड खोजें",
|
|
268
|
+
allCategory: "सभी",
|
|
269
|
+
replay: "फिर से चलाएं",
|
|
270
|
+
emptyState: "आपकी खोज से कोई गाइड मेल नहीं खाती।",
|
|
271
|
+
stepCount: "{{count}} चरण",
|
|
272
|
+
supportFooterMessage: "और मदद चाहिए?",
|
|
273
|
+
supportTicketLabel: "सहायता टिकट जमा करें"
|
|
274
|
+
},
|
|
263
275
|
horizontalScroller: {
|
|
264
276
|
scrollLeft: "बाएं स्क्रॉल करें",
|
|
265
277
|
scrollRight: "दाएं स्क्रॉल करें"
|