@splunk/react-ui 5.0.0-rc.2 → 5.0.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/CHANGELOG.md +361 -0
- package/ControlGroup.js +1 -1
- package/Dropdown.js +9 -9
- package/MIGRATION.md +550 -1
- package/Message.js +47 -43
- package/ModalLayer.js +15 -11
- package/Multiselect.js +90 -84
- package/Popover.js +117 -114
- package/README.md +6 -6
- package/ResultsMenu.js +116 -115
- package/Select.js +10 -8
- package/TransitionOpen.js +4 -1
- package/package.json +10 -10
- package/types/src/Dropdown/Dropdown.d.ts +1 -0
- package/types/src/Popover/Popover.d.ts +7 -1
- package/types/src/ResultsMenu/ResultsMenu.d.ts +2 -1
- package/CHANGELOG.v5.md +0 -354
- package/MIGRATION.v5.md +0 -552
- package/types/src/Button/docs/examples/Truncated.d.ts +0 -3
package/Multiselect.js
CHANGED
|
@@ -136,7 +136,7 @@
|
|
|
136
136
|
r.d(t, {
|
|
137
137
|
Divider: () => /* reexport */ u.Divider,
|
|
138
138
|
Heading: () => /* reexport */ u.Heading,
|
|
139
|
-
Option: () => /* reexport */
|
|
139
|
+
Option: () => /* reexport */ M,
|
|
140
140
|
default: () => /* reexport */ Hr
|
|
141
141
|
});
|
|
142
142
|
// EXTERNAL MODULE: external "react"
|
|
@@ -370,7 +370,7 @@
|
|
|
370
370
|
};
|
|
371
371
|
/**
|
|
372
372
|
* An option within a `Multiselect`.
|
|
373
|
-
*/ function
|
|
373
|
+
*/ function E(e) {
|
|
374
374
|
var r = e.compact, t = e.children, o = e.description, l = e.descriptionPosition, a = l === void 0 ? "bottom" : l, i = e.disabled, u = e.elementRef, c = e.hidden, s = e.icon, d = e.label, f = e.matchRanges, p = e.role, v = e.selected, b = e.truncate, m = e.value, g = x(e, [ "compact", "children", "description", "descriptionPosition", "disabled", "elementRef", "hidden", "icon", "label", "matchRanges", "role", "selected", "truncate", "value" ]);
|
|
375
375
|
// @docs-props-type OptionPropsBase
|
|
376
376
|
// selectedAppearance, selectedBackgroundColor, and selectedForegroundColor are not used directly by the Option component.
|
|
@@ -393,8 +393,8 @@
|
|
|
393
393
|
multiple: r
|
|
394
394
|
}), t || d);
|
|
395
395
|
}
|
|
396
|
-
|
|
397
|
-
/* harmony default export */ const
|
|
396
|
+
E.propTypes = P;
|
|
397
|
+
/* harmony default export */ const M = E;
|
|
398
398
|
// CONCATENATED MODULE: external "lodash/castArray"
|
|
399
399
|
const R = require("lodash/castArray");
|
|
400
400
|
var A = r.n(R);
|
|
@@ -537,10 +537,10 @@
|
|
|
537
537
|
componentId: "sc-16cj7sk-7"
|
|
538
538
|
})([ "border-color:", ";" ], he.variables.borderColor);
|
|
539
539
|
// EXTERNAL MODULE: ./src/useControlled/index.ts + 1 modules
|
|
540
|
-
var
|
|
540
|
+
var Ee = r(2907);
|
|
541
541
|
// CONCATENATED MODULE: ./src/utils/fuzzyMatch.ts
|
|
542
542
|
// A utility for matching keyboard characters to list values
|
|
543
|
-
var
|
|
543
|
+
var Me = function e(n, r) {
|
|
544
544
|
return n ? n.label.charAt(r).toLowerCase() : "";
|
|
545
545
|
};
|
|
546
546
|
var Re = function e(n, r) {
|
|
@@ -550,7 +550,7 @@
|
|
|
550
550
|
var t = null;
|
|
551
551
|
var o = false;
|
|
552
552
|
var l = n.filter((function(e) {
|
|
553
|
-
var n =
|
|
553
|
+
var n = Me(e, r.index);
|
|
554
554
|
if (n === r.value) {
|
|
555
555
|
o = true;
|
|
556
556
|
return true;
|
|
@@ -558,7 +558,7 @@
|
|
|
558
558
|
// If we haven't found a match yet, keep track of the next closest match.
|
|
559
559
|
// Secondary matching looks for the closest character of a higher value, and failing that, closest of a lower value.
|
|
560
560
|
if (!o) {
|
|
561
|
-
var l =
|
|
561
|
+
var l = Me(t, r.index);
|
|
562
562
|
if (!l) {
|
|
563
563
|
t = e;
|
|
564
564
|
} else if (n > r.value) {
|
|
@@ -1021,8 +1021,8 @@
|
|
|
1021
1021
|
};
|
|
1022
1022
|
var hn = n().forwardRef((function(r, t) {
|
|
1023
1023
|
var o = r.appearance, l = o === void 0 ? "default" : o, a = r.append, i = r.children, u = r.currentValues, c = u === void 0 ? [] : u, s = r.describedBy, f = r.disabled, p = r.elementRef, v = r.error, b = r.inline, m = r.labelText, g = r.labelledBy, y = r.multiple, h = r.onClick, O = r.placeholder, S = r.prefixLabel, w = r.prepend, C = r.required, k = r.suffixLabel, x = r.toggle, j = r.toggleContent, P = Ye(r, [ "appearance", "append", "children", "currentValues", "describedBy", "disabled", "elementRef", "error", "inline", "labelText", "labelledBy", "multiple", "onClick", "placeholder", "prefixLabel", "prepend", "required", "suffixLabel", "toggle", "toggleContent" ]);
|
|
1024
|
-
var M;
|
|
1025
1024
|
var E;
|
|
1025
|
+
var M;
|
|
1026
1026
|
var R = [];
|
|
1027
1027
|
// Generate buttonLabels
|
|
1028
1028
|
var A = e.Children.toArray(i);
|
|
@@ -1037,7 +1037,7 @@
|
|
|
1037
1037
|
R.push(u);
|
|
1038
1038
|
// if not in multiple mode, add the icon
|
|
1039
1039
|
if (!y && c.length === 1) {
|
|
1040
|
-
|
|
1040
|
+
E = i;
|
|
1041
1041
|
}
|
|
1042
1042
|
} else if (y) {
|
|
1043
1043
|
// only add values that don't match an option in "multiple" mode to preserve old behaviour
|
|
@@ -1050,29 +1050,29 @@
|
|
|
1050
1050
|
}
|
|
1051
1051
|
return e;
|
|
1052
1052
|
}), []);
|
|
1053
|
-
|
|
1053
|
+
M = I;
|
|
1054
1054
|
// only apply prefix / suffix if the label is not empty
|
|
1055
|
-
if (
|
|
1055
|
+
if (M.length > 0) {
|
|
1056
1056
|
// If there's more than one item selected, read out the selected total
|
|
1057
1057
|
// rather than reading out each selected item
|
|
1058
1058
|
R = yn({
|
|
1059
1059
|
prefixLabel: S,
|
|
1060
|
-
label:
|
|
1060
|
+
label: M.length > 1 ? [ "".concat(c.length, " items selected") ] : R,
|
|
1061
1061
|
suffixLabel: k
|
|
1062
1062
|
});
|
|
1063
|
-
|
|
1063
|
+
M = yn({
|
|
1064
1064
|
prefixLabel: S,
|
|
1065
|
-
label:
|
|
1065
|
+
label: M,
|
|
1066
1066
|
suffixLabel: k
|
|
1067
1067
|
});
|
|
1068
1068
|
}
|
|
1069
1069
|
// single <Select> behaviour is to show the placeholder if all parts of the label
|
|
1070
1070
|
// are empty strings so we replicate this behaviour here
|
|
1071
|
-
if (
|
|
1071
|
+
if (M.length === 0 || !y && M.every((function(e) {
|
|
1072
1072
|
return e === "";
|
|
1073
1073
|
}))) {
|
|
1074
|
-
|
|
1075
|
-
R =
|
|
1074
|
+
M = un(O);
|
|
1075
|
+
R = M;
|
|
1076
1076
|
}
|
|
1077
1077
|
var T = Object.keys(P).includes("aria-labelledby");
|
|
1078
1078
|
var L = rn({
|
|
@@ -1108,7 +1108,7 @@
|
|
|
1108
1108
|
appearance: "standalone"
|
|
1109
1109
|
}, L, {
|
|
1110
1110
|
"data-select-appearance": "link"
|
|
1111
|
-
}), !!
|
|
1111
|
+
}), !!E && n().createElement(Se, null, E), M || O, n().createElement(we, null, n().createElement(U(), null)));
|
|
1112
1112
|
}
|
|
1113
1113
|
// Using Button's secondary appearance as Select's default appearance.
|
|
1114
1114
|
var D = l === "default" ? "secondary" : l;
|
|
@@ -1116,9 +1116,9 @@
|
|
|
1116
1116
|
return n().createElement(Oe, $e({}, L, {
|
|
1117
1117
|
$multiple: y,
|
|
1118
1118
|
appearance: D,
|
|
1119
|
-
label:
|
|
1119
|
+
label: M,
|
|
1120
1120
|
error: v,
|
|
1121
|
-
icon:
|
|
1121
|
+
icon: E,
|
|
1122
1122
|
inline: b,
|
|
1123
1123
|
isMenu: true,
|
|
1124
1124
|
onClick: h
|
|
@@ -1127,9 +1127,9 @@
|
|
|
1127
1127
|
}, "(", c.length, ")"));
|
|
1128
1128
|
}));
|
|
1129
1129
|
function On(r) {
|
|
1130
|
-
var t = r.allowKeyMatching, o = t === void 0 ? true : t, l = r.animateLoading, a = r.appearance, i = a === void 0 ? "default" : a, c = r.append, s = r.allowNewValues, f = r.children, p = r.defaultPlacement, v = p === void 0 ? "vertical" : p, b = r.defaultValues, m = r.describedBy, g = r.disabled, y = r.elementRef, h = r.error, O = r.filter, S = r.footerMessage, w = r.inline, k = r.inputId, x = r.inputRef, j = r.isLoadingOptions, P = r.labelledBy,
|
|
1130
|
+
var t = r.allowKeyMatching, o = t === void 0 ? true : t, l = r.animateLoading, a = r.appearance, i = a === void 0 ? "default" : a, c = r.append, s = r.allowNewValues, f = r.children, p = r.defaultPlacement, v = p === void 0 ? "vertical" : p, b = r.defaultValues, m = r.describedBy, g = r.disabled, y = r.elementRef, h = r.error, O = r.filter, S = r.footerMessage, w = r.inline, k = r.inputId, x = r.inputRef, j = r.isLoadingOptions, P = r.labelledBy, E = r.labelText, M = r.loadingMessage, R = r.menuStyle, A = R === void 0 ? {} : R, I = r.multiple, T = r.name, N = r.noOptionsMessage, D = N === void 0 ? vn : N, q = r.onChange, F = r.onScroll, _ = r.onScrollBottom, H = r.onFilterChange, z = r.onClick, W = r.onClose, U = r.onOpen, X = r.required, G = r.placeholder, J = G === void 0 ? bn : G, Y = r.prefixLabel, Z = r.prepend, re = r.repositionMode, te = re === void 0 ? "flip" : re, oe = r.selectAllAppearance, le = oe === void 0 ? "buttongroup" : oe, ae = r.showSelectedValuesFirst, se = r.suffixLabel, de = r.tabConfirmsNewValue, pe = r.values, ve = r.virtualization, be = r.toggle, me = r.toggleContent, ge = me === void 0 ? "optionChildren" : me, ye = Ye(r, [ "allowKeyMatching", "animateLoading", "appearance", "append", "allowNewValues", "children", "defaultPlacement", "defaultValues", "describedBy", "disabled", "elementRef", "error", "filter", "footerMessage", "inline", "inputId", "inputRef", "isLoadingOptions", "labelledBy", "labelText", "loadingMessage", "menuStyle", "multiple", "name", "noOptionsMessage", "onChange", "onScroll", "onScrollBottom", "onFilterChange", "onClick", "onClose", "onOpen", "required", "placeholder", "prefixLabel", "prepend", "repositionMode", "selectAllAppearance", "showSelectedValuesFirst", "suffixLabel", "tabConfirmsNewValue", "values", "virtualization", "toggle", "toggleContent" ]);
|
|
1131
1131
|
// @docs-props-type SelectBasePropsBase
|
|
1132
|
-
var he = (0,
|
|
1132
|
+
var he = (0, Ee["default"])({
|
|
1133
1133
|
componentName: "SelectBase",
|
|
1134
1134
|
/* eslint-disable-next-line prefer-rest-params */
|
|
1135
1135
|
componentProps: arguments[0],
|
|
@@ -1144,7 +1144,7 @@
|
|
|
1144
1144
|
menuListboxId: (0, ce.createDOMID)("menu-listbox")
|
|
1145
1145
|
};
|
|
1146
1146
|
})), Se = We(Oe, 1), we = Se[0], Ce = we.activeItemId, ke = we.menuListboxId;
|
|
1147
|
-
var xe = (0, e.useState)(0), je = We(xe, 2), Pe = je[0],
|
|
1147
|
+
var xe = (0, e.useState)(0), je = We(xe, 2), Pe = je[0], Me = je[1];
|
|
1148
1148
|
var Ie = (0, e.useState)(""), Be = We(Ie, 2), Te = Be[0], Le = Be[1];
|
|
1149
1149
|
var Ne = (0, e.useState)(false), De = We(Ne, 2), qe = De[0], He = De[1];
|
|
1150
1150
|
var Ke = (0, e.useState)(false), ze = We(Ke, 2), Ue = ze[0], Xe = ze[1];
|
|
@@ -1167,7 +1167,7 @@
|
|
|
1167
1167
|
var xn = (0, e.useRef)();
|
|
1168
1168
|
var jn = (0, e.useRef)(0);
|
|
1169
1169
|
var Pn = (0, e.useRef)("none");
|
|
1170
|
-
var
|
|
1170
|
+
var En = (0, e.useState)(O ? (0, ce.createDOMID)("filter") : undefined), Mn = We(En, 1), Rn = Mn[0];
|
|
1171
1171
|
(0, e.useEffect)((function() {
|
|
1172
1172
|
if (false) {}
|
|
1173
1173
|
}), [ i, c, h, Z ]);
|
|
@@ -1201,13 +1201,13 @@
|
|
|
1201
1201
|
kn.current.focus();
|
|
1202
1202
|
} else {
|
|
1203
1203
|
var e;
|
|
1204
|
-
|
|
1204
|
+
Me((e = xn.current) !== null && e !== void 0 ? e : 0);
|
|
1205
1205
|
}
|
|
1206
1206
|
}
|
|
1207
1207
|
}), [ U, qe, Qe, Te, O ]);
|
|
1208
1208
|
var Tn = (0, e.useCallback)((function() {
|
|
1209
1209
|
He(false);
|
|
1210
|
-
|
|
1210
|
+
Me(0);
|
|
1211
1211
|
yn.current = null;
|
|
1212
1212
|
W === null || W === void 0 ? void 0 : W();
|
|
1213
1213
|
}), [ W ]);
|
|
@@ -1328,7 +1328,7 @@
|
|
|
1328
1328
|
}
|
|
1329
1329
|
if (r === "ArrowDown") {
|
|
1330
1330
|
n.preventDefault();
|
|
1331
|
-
|
|
1331
|
+
Me(Math.min(Pe + 1, le === "checkbox" ? wn.current : wn.current - 1));
|
|
1332
1332
|
if (f && _) {
|
|
1333
1333
|
var t;
|
|
1334
1334
|
var o = e.Children.toArray(f).length - (2 + ((t = An()) !== null && t !== void 0 ? t : []).length);
|
|
@@ -1339,7 +1339,7 @@
|
|
|
1339
1339
|
}
|
|
1340
1340
|
if (r === "ArrowUp") {
|
|
1341
1341
|
n.preventDefault();
|
|
1342
|
-
|
|
1342
|
+
Me(Math.max(Pe - 1, 0));
|
|
1343
1343
|
}
|
|
1344
1344
|
if (r === "Enter" && On.current && qe) {
|
|
1345
1345
|
if (On.current === "selectAll") {
|
|
@@ -1410,7 +1410,7 @@
|
|
|
1410
1410
|
var r = n.value;
|
|
1411
1411
|
Le(r);
|
|
1412
1412
|
He(true);
|
|
1413
|
-
|
|
1413
|
+
Me(0);
|
|
1414
1414
|
H === null || H === void 0 ? void 0 : H(e, {
|
|
1415
1415
|
keyword: r
|
|
1416
1416
|
});
|
|
@@ -1671,15 +1671,15 @@
|
|
|
1671
1671
|
return c;
|
|
1672
1672
|
}), [ Pe, Ce, o, s, f, Gn, O, Te, Wn, Dn, _n, Hn, Un, Vn, j, I, Yn, _, le, Ue, be ]);
|
|
1673
1673
|
var er = function e(r) {
|
|
1674
|
-
var t = r.anchorWidth, o = r.maxHeight, a = r.placement;
|
|
1675
|
-
var
|
|
1674
|
+
var t = r.anchorWidth, o = r.maxHeight, a = r.placement, i = r.toggleId;
|
|
1675
|
+
var u = cn({
|
|
1676
1676
|
anchorWidth: t,
|
|
1677
1677
|
isMultiple: I,
|
|
1678
1678
|
maxHeight: o,
|
|
1679
1679
|
menuStyle: A
|
|
1680
1680
|
});
|
|
1681
|
-
var
|
|
1682
|
-
var
|
|
1681
|
+
var c = Gn.length > 0 && !Qn && !O ? 0 : undefined;
|
|
1682
|
+
var s = {
|
|
1683
1683
|
"aria-multiselectable": I || undefined,
|
|
1684
1684
|
childrenStart: !!O && n().createElement(gn, {
|
|
1685
1685
|
activeItemId: Ce,
|
|
@@ -1705,25 +1705,27 @@
|
|
|
1705
1705
|
}),
|
|
1706
1706
|
focusMode: O ? "never" : undefined,
|
|
1707
1707
|
isLoading: j,
|
|
1708
|
+
labelledBy: "".concat(Rn !== null && Rn !== void 0 ? Rn : "", " ").concat(i !== null && i !== void 0 ? i : "").trim(),
|
|
1709
|
+
// NVDA ignores aria-labelledby attribute on popover, but reads it on menu
|
|
1708
1710
|
menuId: ke,
|
|
1709
1711
|
onScrollBottom: _ ? qn : undefined,
|
|
1710
1712
|
placement: a !== null && a !== void 0 ? a : undefined,
|
|
1711
1713
|
noOptionsMessage: D,
|
|
1712
1714
|
footerMessage: S,
|
|
1713
1715
|
animateLoading: l,
|
|
1714
|
-
loadingMessage:
|
|
1716
|
+
loadingMessage: M,
|
|
1715
1717
|
onScroll: F,
|
|
1716
|
-
style:
|
|
1717
|
-
tabIndex:
|
|
1718
|
+
style: u,
|
|
1719
|
+
tabIndex: c
|
|
1718
1720
|
};
|
|
1719
1721
|
if (ve) {
|
|
1720
1722
|
|
|
1721
1723
|
return n().createElement(ee.VirtualizedResultsMenu, $e({
|
|
1722
1724
|
virtualization: ve
|
|
1723
|
-
},
|
|
1725
|
+
}, s), Zn);
|
|
1724
1726
|
}
|
|
1725
1727
|
|
|
1726
|
-
return n().createElement(ne(),
|
|
1728
|
+
return n().createElement(ne(), s, Zn);
|
|
1727
1729
|
};
|
|
1728
1730
|
var nr = (0, e.useMemo)((function() {
|
|
1729
1731
|
|
|
@@ -1737,7 +1739,7 @@
|
|
|
1737
1739
|
elementRef: Xn,
|
|
1738
1740
|
error: h,
|
|
1739
1741
|
inline: w,
|
|
1740
|
-
labelText:
|
|
1742
|
+
labelText: E,
|
|
1741
1743
|
labelledBy: P,
|
|
1742
1744
|
multiple: I,
|
|
1743
1745
|
onClick: z,
|
|
@@ -1749,7 +1751,7 @@
|
|
|
1749
1751
|
toggle: be,
|
|
1750
1752
|
toggleContent: ge
|
|
1751
1753
|
}, ye), f);
|
|
1752
|
-
}), [ i, c, An, I, m, g, h, Xn, w,
|
|
1754
|
+
}), [ i, c, An, I, m, g, h, Xn, w, E, P, z, J, Y, Z, X, se, be, ge, ye, f ]);
|
|
1753
1755
|
|
|
1754
1756
|
return n().createElement(Q(), {
|
|
1755
1757
|
closeReasons: sn,
|
|
@@ -1847,9 +1849,9 @@
|
|
|
1847
1849
|
// TS: not typed controlled/uncontrolled, handled by Multiselect wrapper component
|
|
1848
1850
|
var jn = {};
|
|
1849
1851
|
var Pn = (0, d._)("No matches");
|
|
1850
|
-
var
|
|
1851
|
-
function
|
|
1852
|
-
var t = r.allowNewValues, o = r.animateLoading, l = r.children, a = r.controlledFilter, i = r.defaultPlacement, u = i === void 0 ? "vertical" : i, c = r.defaultValues, s = r.describedBy, d = r.disabled, f = r.elementRef, p = r.error, v = r.filter, b = r.footerMessage, m = r.inline, g = r.inputId, y = r.inputRef, h = r.isLoadingOptions, O = r.labelledBy, S = r.loadingMessage, w = r.menuStyle, k = w === void 0 ? jn : w, x = r.name, j = r.noOptionsMessage, P = j === void 0 ? Pn : j,
|
|
1852
|
+
var En = (0, d._)("Select...");
|
|
1853
|
+
function Mn(r) {
|
|
1854
|
+
var t = r.allowNewValues, o = r.animateLoading, l = r.children, a = r.controlledFilter, i = r.defaultPlacement, u = i === void 0 ? "vertical" : i, c = r.defaultValues, s = r.describedBy, d = r.disabled, f = r.elementRef, p = r.error, v = r.filter, b = r.footerMessage, m = r.inline, g = r.inputId, y = r.inputRef, h = r.isLoadingOptions, O = r.labelledBy, S = r.loadingMessage, w = r.menuStyle, k = w === void 0 ? jn : w, x = r.name, j = r.noOptionsMessage, P = j === void 0 ? Pn : j, E = r.onChange, M = r.onClose, R = r.onFilterChange, A = r.onOpen, I = r.onScroll, B = r.onScrollBottom, T = r.placeholder, L = T === void 0 ? En : T, N = r.repositionMode, V = r.selectAllAppearance, D = r.showSelectedValuesFirst, q = D === void 0 ? "nextOpen" : D, F = r.tabConfirmsNewValue, _ = r.values, H = r.virtualization, K = Cn(r, [ "allowNewValues", "animateLoading", "children", "controlledFilter", "defaultPlacement", "defaultValues", "describedBy", "disabled", "elementRef", "error", "filter", "footerMessage", "inline", "inputId", "inputRef", "isLoadingOptions", "labelledBy", "loadingMessage", "menuStyle", "name", "noOptionsMessage", "onChange", "onClose", "onFilterChange", "onOpen", "onScroll", "onScrollBottom", "placeholder", "repositionMode", "selectAllAppearance", "showSelectedValuesFirst", "tabConfirmsNewValue", "values", "virtualization" ]);
|
|
1853
1855
|
// @docs-props-type CompactPropsBase
|
|
1854
1856
|
if (false) {}
|
|
1855
1857
|
var z = true;
|
|
@@ -1900,8 +1902,8 @@
|
|
|
1900
1902
|
menuStyle: k,
|
|
1901
1903
|
name: x,
|
|
1902
1904
|
noOptionsMessage: P,
|
|
1903
|
-
onChange:
|
|
1904
|
-
onClose:
|
|
1905
|
+
onChange: E,
|
|
1906
|
+
onClose: M,
|
|
1905
1907
|
onFilterChange: R,
|
|
1906
1908
|
onOpen: A,
|
|
1907
1909
|
onScroll: I,
|
|
@@ -1916,11 +1918,11 @@
|
|
|
1916
1918
|
multiple: true
|
|
1917
1919
|
}));
|
|
1918
1920
|
}
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
/* harmony default export */ const Rn =
|
|
1921
|
+
Mn.propTypes = xn;
|
|
1922
|
+
Mn.Option = M;
|
|
1923
|
+
Mn.Divider = u.Divider;
|
|
1924
|
+
Mn.Heading = u.Heading;
|
|
1925
|
+
/* harmony default export */ const Rn = Mn;
|
|
1924
1926
|
// CONCATENATED MODULE: external "lodash/defer"
|
|
1925
1927
|
const An = require("lodash/defer");
|
|
1926
1928
|
var In = r.n(An);
|
|
@@ -2184,7 +2186,7 @@
|
|
|
2184
2186
|
var xr = (0, d._)("No matches");
|
|
2185
2187
|
var jr = (0, d._)("Select...");
|
|
2186
2188
|
function Pr(r) {
|
|
2187
|
-
var t = r.allowNewValues, o = r.animateLoading, l = r.children, a = r.controlledFilter, u = r.defaultPlacement, c = u === void 0 ? "vertical" : u, f = r.defaultValues, p = r.describedBy, v = r.disabled, b = r.elementRef, m = r.error, g = r.footerMessage, y = r.inline, h = r.inputId, O = r.inputRef, S = r.isLoadingOptions, w = r.labelledBy, C = r.loadingMessage, k = r.menuStyle, x = k === void 0 ? kr : k, j = r.name, P = r.noOptionsMessage,
|
|
2189
|
+
var t = r.allowNewValues, o = r.animateLoading, l = r.children, a = r.controlledFilter, u = r.defaultPlacement, c = u === void 0 ? "vertical" : u, f = r.defaultValues, p = r.describedBy, v = r.disabled, b = r.elementRef, m = r.error, g = r.footerMessage, y = r.inline, h = r.inputId, O = r.inputRef, S = r.isLoadingOptions, w = r.labelledBy, C = r.loadingMessage, k = r.menuStyle, x = k === void 0 ? kr : k, j = r.name, P = r.noOptionsMessage, E = P === void 0 ? xr : P, R = r.onChange, A = r.onClose, I = r.onFilterChange, B = r.onScroll, T = r.onScrollBottom, L = r.onOpen, N = r.placeholder, V = N === void 0 ? jr : N, D = r.required, q = r.repositionMode, F = r.tabConfirmsNewValue, _ = r.values, H = vr(r, [ "allowNewValues", "animateLoading", "children", "controlledFilter", "defaultPlacement", "defaultValues", "describedBy", "disabled", "elementRef", "error", "footerMessage", "inline", "inputId", "inputRef", "isLoadingOptions", "labelledBy", "loadingMessage", "menuStyle", "name", "noOptionsMessage", "onChange", "onClose", "onFilterChange", "onScroll", "onScrollBottom", "onOpen", "placeholder", "required", "repositionMode", "tabConfirmsNewValue", "values" ]);
|
|
2188
2190
|
// @docs-props-type NormalPropsBase
|
|
2189
2191
|
var K = s()({
|
|
2190
2192
|
componentName: "Multiselect",
|
|
@@ -2207,8 +2209,8 @@
|
|
|
2207
2209
|
var xe = Ce.indexOf(re) >= 0;
|
|
2208
2210
|
var je = (0, e.useRef)(null);
|
|
2209
2211
|
var Pe = (0, e.useRef)(null);
|
|
2210
|
-
var
|
|
2211
|
-
var
|
|
2212
|
+
var Ee = (0, e.useRef)(undefined);
|
|
2213
|
+
var Me = (0, e.useRef)(0);
|
|
2212
2214
|
var Re = (0, e.useState)((function() {
|
|
2213
2215
|
return {
|
|
2214
2216
|
activeItemId: (0, ce.createDOMID)("active-item"),
|
|
@@ -2221,6 +2223,10 @@
|
|
|
2221
2223
|
X(0);
|
|
2222
2224
|
}
|
|
2223
2225
|
}), [ _, K ]);
|
|
2226
|
+
// Tracks the prev activeIndex so its known if scrolling is needed in handleActiveOptionMount - can't use usePrevious b/c the value needs wiped on Menu close
|
|
2227
|
+
(0, e.useEffect)((function() {
|
|
2228
|
+
Pe.current = U;
|
|
2229
|
+
}), [ U ]);
|
|
2224
2230
|
var Ne = (0, e.useCallback)((function(e) {
|
|
2225
2231
|
var n = e.resetFilterKeyword;
|
|
2226
2232
|
if (!pe) {
|
|
@@ -2271,7 +2277,7 @@
|
|
|
2271
2277
|
var _e = (0, e.useCallback)((function(e) {
|
|
2272
2278
|
if (pe && !S) {
|
|
2273
2279
|
T === null || T === void 0 ? void 0 : T(e);
|
|
2274
|
-
we("".concat(
|
|
2280
|
+
we("".concat(Me.current, " options, loading more options"));
|
|
2275
2281
|
}
|
|
2276
2282
|
}), [ pe, S, T ]);
|
|
2277
2283
|
var He = (0, e.useCallback)((function(e, n) {
|
|
@@ -2294,10 +2300,10 @@
|
|
|
2294
2300
|
var r;
|
|
2295
2301
|
var t = n.key;
|
|
2296
2302
|
if (t === "Tab" && pe) {
|
|
2297
|
-
if (F &&
|
|
2303
|
+
if (F && Ee.current !== undefined && Me.current <= 1) {
|
|
2298
2304
|
var o;
|
|
2299
2305
|
n.preventDefault();
|
|
2300
|
-
De(n,
|
|
2306
|
+
De(n, Ee.current);
|
|
2301
2307
|
(o = je.current) === null || o === void 0 ? void 0 : o.focus();
|
|
2302
2308
|
} else {
|
|
2303
2309
|
ve(false);
|
|
@@ -2308,7 +2314,7 @@
|
|
|
2308
2314
|
}
|
|
2309
2315
|
if (t === "End" && pe) {
|
|
2310
2316
|
n.preventDefault();
|
|
2311
|
-
X(
|
|
2317
|
+
X(Me.current - 1);
|
|
2312
2318
|
}
|
|
2313
2319
|
if (t === "Home" && pe) {
|
|
2314
2320
|
n.preventDefault();
|
|
@@ -2318,7 +2324,7 @@
|
|
|
2318
2324
|
n.preventDefault();
|
|
2319
2325
|
if (pe) {
|
|
2320
2326
|
X((function(e) {
|
|
2321
|
-
return Math.min(e + 1,
|
|
2327
|
+
return Math.min(e + 1, Me.current - 1);
|
|
2322
2328
|
}));
|
|
2323
2329
|
} else {
|
|
2324
2330
|
X(0);
|
|
@@ -2342,8 +2348,8 @@
|
|
|
2342
2348
|
ve(true);
|
|
2343
2349
|
}
|
|
2344
2350
|
}
|
|
2345
|
-
if (t === "Enter" &&
|
|
2346
|
-
De(n,
|
|
2351
|
+
if (t === "Enter" && Ee.current !== undefined && pe) {
|
|
2352
|
+
De(n, Ee.current);
|
|
2347
2353
|
}
|
|
2348
2354
|
if (t === "Backspace" && ((r = je.current) === null || r === void 0 ? void 0 : r.value) === "" && Ce.length) {
|
|
2349
2355
|
qe(n, Fn()(Ce));
|
|
@@ -2458,9 +2464,9 @@
|
|
|
2458
2464
|
// Map Options to selected values
|
|
2459
2465
|
if (Ce && Ce.length) {
|
|
2460
2466
|
e.Children.toArray(l).filter(e.isValidElement).filter((function(e) {
|
|
2461
|
-
return e.type ===
|
|
2467
|
+
return e.type === M;
|
|
2462
2468
|
})).forEach((function(e) {
|
|
2463
|
-
if (e.type ===
|
|
2469
|
+
if (e.type === M) {
|
|
2464
2470
|
var n = Ce.indexOf(e.props.value);
|
|
2465
2471
|
if (n !== -1) {
|
|
2466
2472
|
ke[n] = e;
|
|
@@ -2477,8 +2483,8 @@
|
|
|
2477
2483
|
return true;
|
|
2478
2484
|
// Keep all headers and non-interactive options
|
|
2479
2485
|
}));
|
|
2480
|
-
|
|
2481
|
-
|
|
2486
|
+
Me.current = 0;
|
|
2487
|
+
Ee.current = undefined;
|
|
2482
2488
|
var rn = e.Children.map(nn, (function(n, r) {
|
|
2483
2489
|
var t = n.props;
|
|
2484
2490
|
if (!t || !i()(t, "value")) {
|
|
@@ -2512,7 +2518,7 @@
|
|
|
2512
2518
|
})) || [];
|
|
2513
2519
|
// Add the option to add the new value
|
|
2514
2520
|
if (t && !xe && re) {
|
|
2515
|
-
rn.unshift( n().createElement(
|
|
2521
|
+
rn.unshift( n().createElement(M, {
|
|
2516
2522
|
label: "".concat(re),
|
|
2517
2523
|
description: (0, d._)("(New value)"),
|
|
2518
2524
|
descriptionPosition: "right",
|
|
@@ -2530,13 +2536,13 @@
|
|
|
2530
2536
|
}
|
|
2531
2537
|
var t = n;
|
|
2532
2538
|
var o = t.props, l = o.disabled, a = o.value;
|
|
2533
|
-
var u =
|
|
2534
|
-
|
|
2539
|
+
var u = Me.current === U;
|
|
2540
|
+
Me.current += 1;
|
|
2535
2541
|
if (!u) {
|
|
2536
2542
|
return t;
|
|
2537
2543
|
}
|
|
2538
2544
|
if (!l) {
|
|
2539
|
-
|
|
2545
|
+
Ee.current = a;
|
|
2540
2546
|
}
|
|
2541
2547
|
var c = (0, e.cloneElement)(t, {
|
|
2542
2548
|
active: u,
|
|
@@ -2561,7 +2567,7 @@
|
|
|
2561
2567
|
placement: a !== null && a !== void 0 ? a : undefined,
|
|
2562
2568
|
isLoading: S,
|
|
2563
2569
|
onScrollBottom: T ? _e : undefined,
|
|
2564
|
-
noOptionsMessage:
|
|
2570
|
+
noOptionsMessage: E,
|
|
2565
2571
|
footerMessage: g,
|
|
2566
2572
|
animateLoading: o,
|
|
2567
2573
|
loadingMessage: C,
|
|
@@ -2619,7 +2625,7 @@
|
|
|
2619
2625
|
style: ln,
|
|
2620
2626
|
placeholder: Ce.length ? "" : V,
|
|
2621
2627
|
required: D,
|
|
2622
|
-
"aria-activedescendant": pe &&
|
|
2628
|
+
"aria-activedescendant": pe && Me.current > 0 ? Te : undefined,
|
|
2623
2629
|
"aria-autocomplete": "list",
|
|
2624
2630
|
"aria-controls": pe ? Le : undefined,
|
|
2625
2631
|
"aria-owns": pe ? Le : undefined,
|
|
@@ -2643,18 +2649,18 @@
|
|
|
2643
2649
|
}, Ze(ke)));
|
|
2644
2650
|
}
|
|
2645
2651
|
Pr.propTypes = Sr;
|
|
2646
|
-
Pr.Option =
|
|
2652
|
+
Pr.Option = M;
|
|
2647
2653
|
Pr.Divider = u.Divider;
|
|
2648
2654
|
Pr.Heading = u.Heading;
|
|
2649
|
-
/* harmony default export */ const
|
|
2655
|
+
/* harmony default export */ const Er = Pr;
|
|
2650
2656
|
// CONCATENATED MODULE: ./src/Multiselect/Multiselect.tsx
|
|
2651
|
-
function
|
|
2657
|
+
function Mr(e) {
|
|
2652
2658
|
"@babel/helpers - typeof";
|
|
2653
|
-
return
|
|
2659
|
+
return Mr = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
|
|
2654
2660
|
return typeof e;
|
|
2655
2661
|
} : function(e) {
|
|
2656
2662
|
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
|
|
2657
|
-
},
|
|
2663
|
+
}, Mr(e);
|
|
2658
2664
|
}
|
|
2659
2665
|
function Rr() {
|
|
2660
2666
|
return Rr = Object.assign ? Object.assign.bind() : function(e) {
|
|
@@ -2698,14 +2704,14 @@
|
|
|
2698
2704
|
}
|
|
2699
2705
|
function Tr(e) {
|
|
2700
2706
|
var n = Lr(e, "string");
|
|
2701
|
-
return "symbol" ==
|
|
2707
|
+
return "symbol" == Mr(n) ? n : n + "";
|
|
2702
2708
|
}
|
|
2703
2709
|
function Lr(e, n) {
|
|
2704
|
-
if ("object" !=
|
|
2710
|
+
if ("object" != Mr(e) || !e) return e;
|
|
2705
2711
|
var r = e[Symbol.toPrimitive];
|
|
2706
2712
|
if (void 0 !== r) {
|
|
2707
2713
|
var t = r.call(e, n || "default");
|
|
2708
|
-
if ("object" !=
|
|
2714
|
+
if ("object" != Mr(t)) return t;
|
|
2709
2715
|
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
2710
2716
|
}
|
|
2711
2717
|
return ("string" === n ? String : Number)(e);
|
|
@@ -2775,7 +2781,7 @@
|
|
|
2775
2781
|
var qr = (0, d._)("No matches");
|
|
2776
2782
|
var Fr = (0, d._)("Select...");
|
|
2777
2783
|
function _r(r) {
|
|
2778
|
-
var t = r.allowNewValues, o = r.animateLoading, l = r.compact, a = r.children, i = r.controlledFilter, u = r.defaultPlacement, c = u === void 0 ? "vertical" : u, d = r.defaultValues, f = r.describedBy, p = r.disabled, v = r.elementRef, b = r.error, m = r.filter, g = r.footerMessage, y = r.inline, h = r.inputId, O = r.inputRef, S = r.isLoadingOptions, w = r.labelledBy, C = r.loadingMessage, k = r.menuStyle, x = r.name, j = r.noOptionsMessage, P = j === void 0 ? qr : j,
|
|
2784
|
+
var t = r.allowNewValues, o = r.animateLoading, l = r.compact, a = r.children, i = r.controlledFilter, u = r.defaultPlacement, c = u === void 0 ? "vertical" : u, d = r.defaultValues, f = r.describedBy, p = r.disabled, v = r.elementRef, b = r.error, m = r.filter, g = r.footerMessage, y = r.inline, h = r.inputId, O = r.inputRef, S = r.isLoadingOptions, w = r.labelledBy, C = r.loadingMessage, k = r.menuStyle, x = r.name, j = r.noOptionsMessage, P = j === void 0 ? qr : j, E = r.onChange, M = r.onClose, R = r.onFilterChange, A = r.onOpen, I = r.onScroll, B = r.onScrollBottom, T = r.placeholder, L = T === void 0 ? Fr : T, N = r.repositionMode, V = N === void 0 ? "flip" : N, D = r.selectAllAppearance, q = r.showSelectedValuesFirst, F = r.tabConfirmsNewValue, _ = r.values, H = r.virtualization, K = Nr(r, [ "allowNewValues", "animateLoading", "compact", "children", "controlledFilter", "defaultPlacement", "defaultValues", "describedBy", "disabled", "elementRef", "error", "filter", "footerMessage", "inline", "inputId", "inputRef", "isLoadingOptions", "labelledBy", "loadingMessage", "menuStyle", "name", "noOptionsMessage", "onChange", "onClose", "onFilterChange", "onOpen", "onScroll", "onScrollBottom", "placeholder", "repositionMode", "selectAllAppearance", "showSelectedValuesFirst", "tabConfirmsNewValue", "values", "virtualization" ]);
|
|
2779
2785
|
// @docs-props-type MultiselectPropsBase
|
|
2780
2786
|
var z = s()({
|
|
2781
2787
|
componentName: "Multiselect",
|
|
@@ -2814,8 +2820,8 @@
|
|
|
2814
2820
|
menuStyle: k,
|
|
2815
2821
|
name: x,
|
|
2816
2822
|
noOptionsMessage: P,
|
|
2817
|
-
onClose:
|
|
2818
|
-
onChange:
|
|
2823
|
+
onClose: M,
|
|
2824
|
+
onChange: E,
|
|
2819
2825
|
onFilterChange: R,
|
|
2820
2826
|
onOpen: A,
|
|
2821
2827
|
onScroll: I,
|
|
@@ -2853,13 +2859,13 @@
|
|
|
2853
2859
|
}, J, Q, U));
|
|
2854
2860
|
}
|
|
2855
2861
|
|
|
2856
|
-
return n().createElement(
|
|
2862
|
+
return n().createElement(Er, Rr({
|
|
2857
2863
|
"data-test": "multiselect"
|
|
2858
2864
|
}, J, U));
|
|
2859
2865
|
}
|
|
2860
2866
|
// TODO: SUI-3402, this can be removed when ControlGroup no longer needs to inspect componentType
|
|
2861
2867
|
_r.componentType = "Multiselect";
|
|
2862
|
-
_r.Option =
|
|
2868
|
+
_r.Option = M;
|
|
2863
2869
|
_r.Heading = u.Heading;
|
|
2864
2870
|
_r.Divider = u.Divider;
|
|
2865
2871
|
_r.propTypes = Dr;
|