@splunk/react-ui 5.0.0-rc.2 → 5.1.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/Accordion.js +59 -59
- package/Avatar.js +20 -20
- package/Breadcrumbs.js +46 -46
- package/Button.js +24 -24
- package/CHANGELOG.md +380 -0
- package/Calendar.js +69 -69
- package/Card.js +68 -68
- package/Chip.js +16 -16
- package/Clickable.js +29 -29
- package/Code.js +654 -519
- package/CollapsiblePanel.js +112 -112
- package/Color.js +107 -107
- package/ColumnLayout.js +35 -35
- package/ComboBox.js +190 -206
- package/ControlGroup.js +129 -121
- package/Date.js +148 -146
- package/DefinitionList.js +26 -26
- package/Dropdown.js +9 -9
- package/DualListbox.js +701 -717
- package/File.js +403 -403
- package/FormRows.js +66 -63
- package/Image.js +15 -15
- package/JSONTree.js +458 -357
- package/Layer.js +60 -72
- package/MIGRATION.md +550 -1
- package/Markdown.js +66 -66
- package/Menu.js +44 -44
- package/Message.js +47 -43
- package/Modal.js +49 -49
- package/ModalLayer.js +21 -17
- package/Monogram.js +16 -16
- package/Multiselect.js +673 -669
- package/Number.js +100 -100
- package/Paginator.js +7 -7
- package/Popover.js +473 -424
- package/Progress.js +12 -12
- package/Prose.js +6 -6
- package/README.md +6 -6
- package/RadioBar.js +180 -166
- package/RadioList.js +80 -79
- package/ResultsMenu.js +129 -128
- package/Scroll.js +50 -50
- package/Search.js +148 -164
- package/Select.js +674 -674
- package/Slider.js +30 -30
- package/SlidingPanels.js +24 -24
- package/SplitButton.js +50 -50
- package/StepBar.js +100 -100
- package/Switch.js +45 -45
- package/TabBar.js +196 -196
- package/TabLayout.js +16 -16
- package/Table.js +1207 -1193
- package/Text.js +65 -65
- package/TextArea.js +108 -93
- package/Tooltip.js +203 -197
- package/TransitionOpen.js +4 -1
- package/Tree.js +464 -366
- package/package.json +11 -11
- package/stubs-dependencies.d.ts +0 -70
- package/stubs-splunkui.d.ts +4 -0
- package/types/src/Code/Code.d.ts +17 -1
- package/types/src/Code/LineHighlights.d.ts +11 -0
- package/types/src/Code/LineNumbers.d.ts +6 -0
- package/types/src/Code/docs/examples/LineHighlights.d.ts +3 -0
- package/types/src/Code/docs/examples/LineNumbers.d.ts +3 -0
- package/types/src/Code/docs/examples/LineNumbersCustomStart.d.ts +3 -0
- package/types/src/Date/Date.d.ts +6 -1
- package/types/src/DefinitionList/DefinitionList.d.ts +6 -6
- package/types/src/Dropdown/Dropdown.d.ts +1 -0
- package/types/src/FormRows/FormRows.d.ts +1 -1
- package/types/src/JSONTree/JSONTreeItem.d.ts +5 -2
- package/types/src/Markdown/Markdown.d.ts +1 -1
- package/types/src/Markdown/renderers/MarkdownBlockquote.d.ts +1 -1
- package/types/src/Markdown/renderers/MarkdownCodeBlock.d.ts +1 -1
- package/types/src/Markdown/renderers/index.d.ts +1 -1
- package/types/src/Popover/Popover.d.ts +8 -2
- package/types/src/RadioBar/Option.d.ts +1 -1
- package/types/src/RadioBar/RadioBar.d.ts +13 -6
- package/types/src/RadioBar/RadioBarContext.d.ts +4 -2
- package/types/src/RadioList/RadioList.d.ts +2 -1
- package/types/src/ResultsMenu/ResultsMenu.d.ts +2 -1
- package/types/src/ScreenReaderContent/docs/examples/SkipLink.d.ts +3 -0
- package/types/src/Scroll/Inner.d.ts +1 -1
- package/types/src/Select/Option.d.ts +1 -1
- package/types/src/Select/Select.d.ts +1 -1
- package/types/src/Slider/docs/examples/Controlled.d.ts +1 -1
- package/types/src/TabLayout/Panel.d.ts +0 -1
- package/types/src/Table/Head.d.ts +1 -0
- package/types/src/Table/HeadCell.d.ts +2 -3
- package/types/src/Table/HeadDropdownCell.d.ts +2 -2
- package/types/src/Table/HeadInner.d.ts +4 -4
- package/types/src/Table/KeyboardSensor.d.ts +1 -1
- package/types/src/Table/RowDragCell.d.ts +1 -1
- package/types/src/Tooltip/Tooltip.d.ts +10 -5
- package/types/src/Tree/Item.d.ts +63 -0
- package/types/src/Tree/Tree.d.ts +13 -6
- package/types/src/Tree/TreeContext.d.ts +1 -1
- package/types/src/Tree/index.d.ts +1 -1
- package/types/src/useControlled/useControlled.d.ts +3 -1
- package/useControlled.js +29 -13
- package/CHANGELOG.v5.md +0 -354
- package/MIGRATION.v5.md +0 -552
- package/types/src/Button/docs/examples/Truncated.d.ts +0 -3
- package/types/src/Tree/TreeItem.d.ts +0 -44
package/ResultsMenu.js
CHANGED
|
@@ -15,12 +15,12 @@
|
|
|
15
15
|
var a = n(23);
|
|
16
16
|
var i = n.n(a);
|
|
17
17
|
// EXTERNAL MODULE: external "styled-components"
|
|
18
|
-
var
|
|
19
|
-
var
|
|
18
|
+
var l = n(232);
|
|
19
|
+
var u = n.n(l);
|
|
20
20
|
// EXTERNAL MODULE: external "@splunk/themes"
|
|
21
21
|
var c = n(3563);
|
|
22
22
|
// CONCATENATED MODULE: ./src/ScreenReaderContent/ScreenReaderContentStyles.ts
|
|
23
|
-
var s =
|
|
23
|
+
var s = u().span.withConfig({
|
|
24
24
|
displayName: "ScreenReaderContentStyles__Styled",
|
|
25
25
|
componentId: "sc-1lnohwp-0"
|
|
26
26
|
})([ "", ";" ], c.mixins.screenReaderContent());
|
|
@@ -191,10 +191,10 @@
|
|
|
191
191
|
var a = n.n(o);
|
|
192
192
|
// CONCATENATED MODULE: external "@splunk/react-ui/Divider"
|
|
193
193
|
const i = require("@splunk/react-ui/Divider");
|
|
194
|
-
var
|
|
194
|
+
var l = n.n(i);
|
|
195
195
|
// CONCATENATED MODULE: external "@splunk/react-ui/Menu"
|
|
196
|
-
const
|
|
197
|
-
var c = n.n(
|
|
196
|
+
const u = require("@splunk/react-ui/Menu");
|
|
197
|
+
var c = n.n(u);
|
|
198
198
|
// CONCATENATED MODULE: external "@splunk/ui-utils/i18n"
|
|
199
199
|
const s = require("@splunk/ui-utils/i18n");
|
|
200
200
|
// EXTERNAL MODULE: external "styled-components"
|
|
@@ -234,6 +234,8 @@
|
|
|
234
234
|
displayName: "ResultsMenuStyles__StyledLoadingMessage",
|
|
235
235
|
componentId: "avbhl8-6"
|
|
236
236
|
})([ "flex:1 0 0;color:", ";" ], p.variables.contentColorDefault);
|
|
237
|
+
// EXTERNAL MODULE: ./src/ScreenReaderContent/index.ts + 2 modules
|
|
238
|
+
var w = n(6165);
|
|
237
239
|
// CONCATENATED MODULE: ./src/utils/updateReactRef.ts
|
|
238
240
|
/**
|
|
239
241
|
* Updates a React ref. Callback refs and object refs (from `createRef` and `useRef`) are supported.
|
|
@@ -241,7 +243,7 @@
|
|
|
241
243
|
* @param ref - The React callback or object ref. Can be `null` or `undefined`.
|
|
242
244
|
* @param current - The new value of the ref.
|
|
243
245
|
*/
|
|
244
|
-
function
|
|
246
|
+
function M(e, r) {
|
|
245
247
|
if (e) {
|
|
246
248
|
if (typeof e === "function") {
|
|
247
249
|
e(r);
|
|
@@ -253,8 +255,6 @@
|
|
|
253
255
|
}
|
|
254
256
|
}
|
|
255
257
|
}
|
|
256
|
-
// EXTERNAL MODULE: ./src/ScreenReaderContent/index.ts + 2 modules
|
|
257
|
-
var M = n(6165);
|
|
258
258
|
// CONCATENATED MODULE: ./src/ResultsMenu/ResultsMenu.tsx
|
|
259
259
|
function C() {
|
|
260
260
|
return C = Object.assign ? Object.assign.bind() : function(e) {
|
|
@@ -290,23 +290,23 @@
|
|
|
290
290
|
function P(e, r) {
|
|
291
291
|
var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
|
|
292
292
|
if (null != n) {
|
|
293
|
-
var t, o, a, i,
|
|
293
|
+
var t, o, a, i, l = [], u = !0, c = !1;
|
|
294
294
|
try {
|
|
295
295
|
if (a = (n = n.call(e)).next, 0 === r) {
|
|
296
296
|
if (Object(n) !== n) return;
|
|
297
|
-
|
|
298
|
-
} else for (;!(
|
|
297
|
+
u = !1;
|
|
298
|
+
} else for (;!(u = (t = a.call(n)).done) && (l.push(t.value), l.length !== r); u = !0) {
|
|
299
299
|
}
|
|
300
300
|
} catch (e) {
|
|
301
301
|
c = !0, o = e;
|
|
302
302
|
} finally {
|
|
303
303
|
try {
|
|
304
|
-
if (!
|
|
304
|
+
if (!u && null != n["return"] && (i = n["return"](), Object(i) !== i)) return;
|
|
305
305
|
} finally {
|
|
306
306
|
if (c) throw o;
|
|
307
307
|
}
|
|
308
308
|
}
|
|
309
|
-
return
|
|
309
|
+
return l;
|
|
310
310
|
}
|
|
311
311
|
}
|
|
312
312
|
function x(e) {
|
|
@@ -355,143 +355,144 @@
|
|
|
355
355
|
var N = 400;
|
|
356
356
|
var D = 28;
|
|
357
357
|
function H(n) {
|
|
358
|
-
var t = n.animateLoading, o = n["aria-multiselectable"], a = n.children, i = n.childrenStart, c = n.elementRef, s = n.focusMode, f = n.footerMessage, v = n.isLoading, d = n.
|
|
358
|
+
var t = n.animateLoading, o = n["aria-multiselectable"], a = n.children, i = n.childrenStart, c = n.elementRef, s = n.focusMode, f = n.footerMessage, v = n.isLoading, d = n.labelledBy, m = n.loadingMessage, p = m === void 0 ? _ : m, R = n.menuId, k = n.noOptionsMessage, I = k === void 0 ? q : k, P = n.onScroll, x = n.onScrollBottom, A = n.placement, L = n.style, H = n.tabIndex, F = T(n, [ "animateLoading", "aria-multiselectable", "children", "childrenStart", "elementRef", "focusMode", "footerMessage", "isLoading", "labelledBy", "loadingMessage", "menuId", "noOptionsMessage", "onScroll", "onScrollBottom", "placement", "style", "tabIndex" ]);
|
|
359
359
|
// @docs-props-type ResultsMenuPropsBase
|
|
360
|
-
var
|
|
361
|
-
var
|
|
362
|
-
var
|
|
363
|
-
var
|
|
364
|
-
var
|
|
365
|
-
var
|
|
366
|
-
var se = (0, e.useCallback)((function(e) {
|
|
367
|
-
Q(e);
|
|
368
|
-
}), []);
|
|
360
|
+
var B = (0, e.useState)(undefined), U = j(B, 2), z = U[0], V = U[1];
|
|
361
|
+
var K = (0, e.useState)(null), W = j(K, 2), $ = W[0], G = W[1];
|
|
362
|
+
var X = (0, e.useState)(null), J = j(X, 2), Q = J[0], Y = J[1];
|
|
363
|
+
var Z = (0, e.useState)(0), ee = j(Z, 2), re = ee[0], ne = ee[1];
|
|
364
|
+
var te = (0, e.useState)(0), oe = j(te, 2), ae = oe[0], ie = oe[1];
|
|
365
|
+
var le = (0, e.useState)(false), ue = j(le, 2), ce = ue[0], se = ue[1];
|
|
369
366
|
var fe = (0, e.useCallback)((function(e) {
|
|
370
|
-
|
|
371
|
-
w(c, e);
|
|
372
|
-
}), [ c ]);
|
|
373
|
-
var ve = (0, e.useCallback)((function() {
|
|
374
|
-
ae(document.documentElement.scrollTop);
|
|
367
|
+
Y(e);
|
|
375
368
|
}), []);
|
|
369
|
+
var ve = (0, e.useCallback)((function(e) {
|
|
370
|
+
G(e);
|
|
371
|
+
M(c, e);
|
|
372
|
+
}), [ c ]);
|
|
376
373
|
var de = (0, e.useCallback)((function() {
|
|
377
|
-
|
|
374
|
+
ie(document.documentElement.scrollTop);
|
|
378
375
|
}), []);
|
|
379
|
-
var me = (0, e.useCallback)((function(
|
|
376
|
+
var me = (0, e.useCallback)((function() {
|
|
377
|
+
ie(document.documentElement.scrollTop);
|
|
378
|
+
}), []);
|
|
379
|
+
var pe = (0, e.useCallback)((function(e) {
|
|
380
380
|
// Safety net to ensure window doesn't scroll if menu is scrolled pass the numberOfItemsLoaded at high velocity.
|
|
381
381
|
e.stopPropagation();
|
|
382
|
-
document.documentElement.scrollTop =
|
|
383
|
-
}), [
|
|
384
|
-
var
|
|
385
|
-
return !!
|
|
386
|
-
}), [
|
|
387
|
-
var be = (0, e.useCallback)((function(e) {
|
|
388
|
-
if (!le) {
|
|
389
|
-
ce(true);
|
|
390
|
-
P === null || P === void 0 ? void 0 : P(e);
|
|
391
|
-
}
|
|
392
|
-
}), [ le, P ]);
|
|
382
|
+
document.documentElement.scrollTop = ae;
|
|
383
|
+
}), [ ae ]);
|
|
384
|
+
var be = (0, e.useCallback)((function() {
|
|
385
|
+
return !!Q && Q.scrollHeight === Q.offsetHeight;
|
|
386
|
+
}), [ Q ]);
|
|
393
387
|
var ye = (0, e.useCallback)((function(e) {
|
|
394
|
-
if (
|
|
395
|
-
|
|
388
|
+
if (!ce) {
|
|
389
|
+
se(true);
|
|
390
|
+
x === null || x === void 0 ? void 0 : x(e);
|
|
391
|
+
}
|
|
392
|
+
}), [ ce, x ]);
|
|
393
|
+
var ge = (0, e.useCallback)((function(e) {
|
|
394
|
+
if (x && e.target && Q) {
|
|
395
|
+
var r = Q.scrollHeight - Q.offsetHeight - N;
|
|
396
396
|
// Adding 1 due to border of menu item.
|
|
397
|
-
if (
|
|
398
|
-
|
|
397
|
+
if (Q.scrollTop + 1 >= r) {
|
|
398
|
+
ye(e);
|
|
399
399
|
}
|
|
400
400
|
}
|
|
401
|
-
|
|
402
|
-
}), [
|
|
403
|
-
var
|
|
401
|
+
P === null || P === void 0 ? void 0 : P(e);
|
|
402
|
+
}), [ ye, Q, P, x ]);
|
|
403
|
+
var he = (0, e.useCallback)((function() {
|
|
404
404
|
var r = e.Children.count(a);
|
|
405
405
|
// If menu is full length, load more items.
|
|
406
|
-
if (
|
|
407
|
-
|
|
406
|
+
if (be()) {
|
|
407
|
+
ye(null);
|
|
408
408
|
}
|
|
409
409
|
// Avoid triggering this logic if this.state.childrenCount is null
|
|
410
410
|
// because that's not a real change in the number of children
|
|
411
411
|
// and thus we want to avoid resetting the value of scrollBottomTriggered
|
|
412
412
|
if (z != null && r !== z) {
|
|
413
|
-
|
|
414
|
-
|
|
413
|
+
ne(r - (z !== null && z !== void 0 ? z : 0));
|
|
414
|
+
se(false);
|
|
415
415
|
}
|
|
416
416
|
if (r !== z) {
|
|
417
|
-
|
|
417
|
+
V(r);
|
|
418
418
|
}
|
|
419
|
-
}), [
|
|
419
|
+
}), [ be, a, z, ye ]);
|
|
420
420
|
(0, e.useEffect)((function() {
|
|
421
|
-
if (
|
|
421
|
+
if (!$ || !Q) {
|
|
422
422
|
return;
|
|
423
423
|
}
|
|
424
424
|
// If onScrollBottom is defined, determine if it should be triggered.
|
|
425
|
-
if (
|
|
426
|
-
|
|
425
|
+
if (x && a) {
|
|
426
|
+
he();
|
|
427
427
|
}
|
|
428
|
-
}), [
|
|
428
|
+
}), [ $, Q, a, x, he ]);
|
|
429
429
|
// Assumption: that you cannot be filtered if you are a result
|
|
430
|
-
var
|
|
430
|
+
var Se = e.Children.toArray(a).filter(e.isValidElement).some((function(e) {
|
|
431
431
|
var r = e.type;
|
|
432
432
|
return !(r.as === "Divider" && r.filterFirst || (r.as === "Divider" || r.as === "Heading") && (r.filterLast || r.filterConsecutive));
|
|
433
433
|
}));
|
|
434
|
-
var
|
|
435
|
-
var
|
|
434
|
+
var Ee = be();
|
|
435
|
+
var Oe = (0, e.useMemo)((function() {
|
|
436
436
|
return {
|
|
437
|
-
height:
|
|
437
|
+
height: ce ? re * D : 0
|
|
438
438
|
};
|
|
439
|
-
}), [
|
|
440
|
-
var
|
|
441
|
-
var
|
|
439
|
+
}), [ ce, re ]);
|
|
440
|
+
var we = !Se && !!I && !v;
|
|
441
|
+
var Me = (0, e.useCallback)((function() {
|
|
442
442
|
return {
|
|
443
443
|
role: "listbox",
|
|
444
444
|
preventFocus: s === "never"
|
|
445
445
|
};
|
|
446
446
|
}), [ s ]);
|
|
447
|
-
var
|
|
447
|
+
var Ce = (0, e.useCallback)((function() {
|
|
448
448
|
var n = !!e.Children.toArray(a).length;
|
|
449
|
-
return f && n && r().createElement(r().Fragment, null,
|
|
449
|
+
return f && n && r().createElement(r().Fragment, null, A !== "above" && r().createElement(l(), null), r().createElement(g, {
|
|
450
450
|
"data-test": "footer-message",
|
|
451
451
|
key: "footer"
|
|
452
|
-
}, f),
|
|
453
|
-
}), [ f, a,
|
|
452
|
+
}, f), A === "above" && r().createElement(l(), null));
|
|
453
|
+
}), [ f, a, A ]);
|
|
454
454
|
|
|
455
455
|
return r().createElement(y, C({
|
|
456
456
|
"data-test": "results-menu",
|
|
457
457
|
key: "wrapper",
|
|
458
|
-
ref:
|
|
459
|
-
onWheel:
|
|
460
|
-
onMouseEnter:
|
|
461
|
-
onMouseLeave:
|
|
462
|
-
},
|
|
463
|
-
style:
|
|
464
|
-
}),
|
|
465
|
-
value:
|
|
458
|
+
ref: ve,
|
|
459
|
+
onWheel: x ? pe : undefined,
|
|
460
|
+
onMouseEnter: x ? de : undefined,
|
|
461
|
+
onMouseLeave: x ? me : undefined
|
|
462
|
+
}, F, {
|
|
463
|
+
style: L
|
|
464
|
+
}), A !== "above" && i, A === "above" && Ce(), r().createElement(u.MenuContext.Provider, {
|
|
465
|
+
value: Me()
|
|
466
466
|
}, r().createElement(b, {
|
|
467
467
|
"aria-multiselectable": o,
|
|
468
|
-
|
|
468
|
+
"aria-labelledby": d,
|
|
469
|
+
elementRef: fe,
|
|
469
470
|
focusMode: s,
|
|
470
|
-
id:
|
|
471
|
+
id: R,
|
|
471
472
|
key: "menu",
|
|
472
|
-
onScroll:
|
|
473
|
+
onScroll: ge,
|
|
473
474
|
stopScrollPropagation: true,
|
|
474
|
-
tabIndex:
|
|
475
|
-
},
|
|
475
|
+
tabIndex: H
|
|
476
|
+
}, we && r().createElement(S, {
|
|
476
477
|
"data-test": "no-results-message",
|
|
477
478
|
disabled: true
|
|
478
|
-
},
|
|
479
|
+
}, I), a, x && !Ee &&
|
|
479
480
|
|
|
480
481
|
// Bottom spacer fills in the space of new items being loaded by using the minimum possible height x menuItems.
|
|
481
482
|
r().createElement("div", {
|
|
482
483
|
"data-test": "results-menu-bottom-spacer",
|
|
483
|
-
style:
|
|
484
|
-
}), v && r().createElement(h, null, t && r().createElement(E, null), r().createElement(O, null,
|
|
484
|
+
style: Oe
|
|
485
|
+
}), v && r().createElement(h, null, t && r().createElement(E, null), r().createElement(O, null, p)))), r().createElement(w["default"], {
|
|
485
486
|
"aria-live": "polite"
|
|
486
|
-
},
|
|
487
|
+
}, we && I), A !== "above" && Ce(), A === "above" && i);
|
|
487
488
|
}
|
|
488
489
|
H.propTypes = L;
|
|
489
490
|
/* harmony default export */ const F = H;
|
|
490
491
|
// CONCATENATED MODULE: external "lodash/omit"
|
|
491
|
-
const
|
|
492
|
-
var
|
|
492
|
+
const B = require("lodash/omit");
|
|
493
|
+
var U = n.n(B);
|
|
493
494
|
// CONCATENATED MODULE: external "@splunk/ui-utils/focus"
|
|
494
|
-
const
|
|
495
|
+
const z = require("@splunk/ui-utils/focus");
|
|
495
496
|
// CONCATENATED MODULE: ./src/ResultsMenu/VirtualizedResultsMenu/groupChildren.ts
|
|
496
497
|
// Cheap(er than processing potentially thousands of array elements) memoization
|
|
497
498
|
var V = {
|
|
@@ -557,16 +558,16 @@
|
|
|
557
558
|
}
|
|
558
559
|
};
|
|
559
560
|
}), [ o, a ]);
|
|
560
|
-
var
|
|
561
|
-
if (!
|
|
561
|
+
var l = e.Children.only(t);
|
|
562
|
+
if (!l) {
|
|
562
563
|
if (false) {}
|
|
563
564
|
return null;
|
|
564
565
|
}
|
|
565
566
|
|
|
566
|
-
return (0, e.cloneElement)(
|
|
567
|
+
return (0, e.cloneElement)(l, {
|
|
567
568
|
elementRef: function e(r) {
|
|
568
569
|
i.current = r;
|
|
569
|
-
|
|
570
|
+
M(n, r);
|
|
570
571
|
}
|
|
571
572
|
});
|
|
572
573
|
}));
|
|
@@ -587,7 +588,7 @@
|
|
|
587
588
|
if (t >= 0 && t < a) {
|
|
588
589
|
return;
|
|
589
590
|
}
|
|
590
|
-
if (e.type !==
|
|
591
|
+
if (e.type !== u.Divider && e.type !== u.Heading) {
|
|
591
592
|
t = a;
|
|
592
593
|
o = r;
|
|
593
594
|
}
|
|
@@ -600,15 +601,15 @@
|
|
|
600
601
|
* - If `trackFirstElement` the **FIRST** non-divider/heading item will also be replaced.
|
|
601
602
|
* - If `trackLastElement` the **LAST** non-divider/heading item will also be replaced.
|
|
602
603
|
*/ var J = function e(n, t, o) {
|
|
603
|
-
var a = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}, i = a.trackFirstElement,
|
|
604
|
+
var a = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}, i = a.trackFirstElement, l = a.trackLastElement;
|
|
604
605
|
if (!Array.isArray(n)) {
|
|
605
606
|
return [];
|
|
606
607
|
}
|
|
607
|
-
var
|
|
608
|
+
var u = X(n, Math.floor(n.length / 2));
|
|
608
609
|
var c = i && X(n, 0);
|
|
609
|
-
var s =
|
|
610
|
+
var s = l && X(n, n.length - 1);
|
|
610
611
|
return n.map((function(e, n) {
|
|
611
|
-
if (n ===
|
|
612
|
+
if (n === u || n === c || n === s) {
|
|
612
613
|
|
|
613
614
|
return r().createElement(G, {
|
|
614
615
|
key: (0, W.createGUID)(),
|
|
@@ -652,7 +653,7 @@
|
|
|
652
653
|
if (Array.isArray(e)) return ie(e);
|
|
653
654
|
}
|
|
654
655
|
function te(e, r) {
|
|
655
|
-
return
|
|
656
|
+
return ue(e) || le(e, r) || ae(e, r) || oe();
|
|
656
657
|
}
|
|
657
658
|
function oe() {
|
|
658
659
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
@@ -671,29 +672,29 @@
|
|
|
671
672
|
}
|
|
672
673
|
return t;
|
|
673
674
|
}
|
|
674
|
-
function
|
|
675
|
+
function le(e, r) {
|
|
675
676
|
var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
|
|
676
677
|
if (null != n) {
|
|
677
|
-
var t, o, a, i,
|
|
678
|
+
var t, o, a, i, l = [], u = !0, c = !1;
|
|
678
679
|
try {
|
|
679
680
|
if (a = (n = n.call(e)).next, 0 === r) {
|
|
680
681
|
if (Object(n) !== n) return;
|
|
681
|
-
|
|
682
|
-
} else for (;!(
|
|
682
|
+
u = !1;
|
|
683
|
+
} else for (;!(u = (t = a.call(n)).done) && (l.push(t.value), l.length !== r); u = !0) {
|
|
683
684
|
}
|
|
684
685
|
} catch (e) {
|
|
685
686
|
c = !0, o = e;
|
|
686
687
|
} finally {
|
|
687
688
|
try {
|
|
688
|
-
if (!
|
|
689
|
+
if (!u && null != n["return"] && (i = n["return"](), Object(i) !== i)) return;
|
|
689
690
|
} finally {
|
|
690
691
|
if (c) throw o;
|
|
691
692
|
}
|
|
692
693
|
}
|
|
693
|
-
return
|
|
694
|
+
return l;
|
|
694
695
|
}
|
|
695
696
|
}
|
|
696
|
-
function
|
|
697
|
+
function ue(e) {
|
|
697
698
|
if (Array.isArray(e)) return e;
|
|
698
699
|
}
|
|
699
700
|
function ce(e, r) {
|
|
@@ -762,7 +763,7 @@
|
|
|
762
763
|
return ("string" === r ? String : Number)(e);
|
|
763
764
|
}
|
|
764
765
|
// TODO(SUI-5920): add transitions to this component in React 18
|
|
765
|
-
var be = ve(ve({},
|
|
766
|
+
var be = ve(ve({}, U()(L, "onDownKeyPress", "onEndKeyPress", "onHomeKeyPress", "onUpKeyPress")), {}, {
|
|
766
767
|
virtualization: a().number
|
|
767
768
|
});
|
|
768
769
|
var ye = [];
|
|
@@ -785,7 +786,7 @@
|
|
|
785
786
|
* @throws in `__DEV__` when `virtualization` is less than or equal to 1 (`virtualization` must be ≥ 2)
|
|
786
787
|
* @throws in `__DEV__` when `virtualization` is changed during the lifecycle of the `VirtualizedResultsMenu` component
|
|
787
788
|
*/ function ge(n) {
|
|
788
|
-
var t = n.virtualization, o = t === void 0 ? 2 : t, a = n.elementRef, i = n.children,
|
|
789
|
+
var t = n.virtualization, o = t === void 0 ? 2 : t, a = n.elementRef, i = n.children, l = n.focusMode, u = l === void 0 ? "normal" : l, c = ce(n, [ "virtualization", "elementRef", "children", "focusMode" ]);
|
|
789
790
|
// @docs-props-type VirtualizedResultsMenuPropsBase
|
|
790
791
|
var s = (0, e.useRef)(o);
|
|
791
792
|
// If a user tries to set virtualization to a value smaller than the number of options
|
|
@@ -843,7 +844,7 @@
|
|
|
843
844
|
// `windowPanes` is an array of arrays, each of length `virtualization`. Each "pane" is just a subset of
|
|
844
845
|
// `children` which will be rendered in a chunk, and at most 3 of these panes will render at any given time.
|
|
845
846
|
var O = (0, e.useRef)(E);
|
|
846
|
-
var
|
|
847
|
+
var w = (0, e.useRef)(0);
|
|
847
848
|
var C = (0, e.useRef)(null);
|
|
848
849
|
// An IntersectionObserver is used to detect when pane changes are needed.
|
|
849
850
|
// When loadPrevPaneRef or loadNextPaneRef entries intersect the menu, the currentPaneId will be updated.
|
|
@@ -853,7 +854,7 @@
|
|
|
853
854
|
var I = (0, e.useCallback)((function() {
|
|
854
855
|
var e;
|
|
855
856
|
var r = O.current, n = r === void 0 ? [] : r;
|
|
856
|
-
var t =
|
|
857
|
+
var t = w.current;
|
|
857
858
|
/**
|
|
858
859
|
* create onMount for an child of the menu which will be used to trigger pane
|
|
859
860
|
* changes upon intersection with the menu's visible bounds
|
|
@@ -892,9 +893,9 @@
|
|
|
892
893
|
}), []);
|
|
893
894
|
var P = (0, e.useState)(I), x = te(P, 2), T = x[0], A = x[1];
|
|
894
895
|
var L = (0, e.useCallback)((function(e) {
|
|
895
|
-
var r =
|
|
896
|
-
|
|
897
|
-
if (r ===
|
|
896
|
+
var r = w.current;
|
|
897
|
+
w.current = Math.max(0, Math.min(e, O.current.length - 1));
|
|
898
|
+
if (r === w.current) {
|
|
898
899
|
// no change in current pane
|
|
899
900
|
return;
|
|
900
901
|
}
|
|
@@ -903,7 +904,7 @@
|
|
|
903
904
|
// Link an IntersectionObserver instance with the menu children to be observed
|
|
904
905
|
var _ = (0, e.useCallback)((function(e) {
|
|
905
906
|
var r;
|
|
906
|
-
|
|
907
|
+
M(a, e);
|
|
907
908
|
C.current = e;
|
|
908
909
|
// This is overly defensive and could probably be removed
|
|
909
910
|
(r = j.current) === null || r === void 0 ? void 0 : r.disconnect();
|
|
@@ -915,7 +916,7 @@
|
|
|
915
916
|
// Run the observation flow
|
|
916
917
|
j.current = new IntersectionObserver((function(r) {
|
|
917
918
|
var n;
|
|
918
|
-
var t =
|
|
919
|
+
var t = w.current;
|
|
919
920
|
var o = e.firstElementChild;
|
|
920
921
|
if (!!o && o.scrollHeight < e.clientHeight) {
|
|
921
922
|
var a;
|
|
@@ -958,11 +959,11 @@
|
|
|
958
959
|
e.preventDefault();
|
|
959
960
|
var n = e.key;
|
|
960
961
|
if (n === "Home") {
|
|
961
|
-
var t =
|
|
962
|
+
var t = w.current === 0;
|
|
962
963
|
if (t) {
|
|
963
964
|
var o;
|
|
964
965
|
// if the first pane is already rendered, find the first element and focus it
|
|
965
|
-
var a = (0,
|
|
966
|
+
var a = (0, z.getSortedTabbableElements)(r, {
|
|
966
967
|
ignoreTabIndex: true
|
|
967
968
|
});
|
|
968
969
|
var i = a[0];
|
|
@@ -975,13 +976,13 @@
|
|
|
975
976
|
}
|
|
976
977
|
return;
|
|
977
978
|
}
|
|
978
|
-
var
|
|
979
|
+
var l = O.current.length - 1;
|
|
979
980
|
if (n === "End") {
|
|
980
|
-
var
|
|
981
|
-
if (
|
|
981
|
+
var u = w.current === l;
|
|
982
|
+
if (u) {
|
|
982
983
|
var c;
|
|
983
984
|
// if the last pane is already rendered, find the first element and focus it
|
|
984
|
-
var s = (0,
|
|
985
|
+
var s = (0, z.getSortedTabbableElements)(r, {
|
|
985
986
|
ignoreTabIndex: true
|
|
986
987
|
});
|
|
987
988
|
var f = s[s.length - 1];
|
|
@@ -990,18 +991,18 @@
|
|
|
990
991
|
// if it's not rendered, set up focusing it after the next render
|
|
991
992
|
b.current = true;
|
|
992
993
|
// then call changePane() to trigger the render
|
|
993
|
-
L(
|
|
994
|
+
L(l);
|
|
994
995
|
}
|
|
995
996
|
return;
|
|
996
997
|
}
|
|
997
|
-
var v = (0,
|
|
998
|
+
var v = (0, z.getSortedTabbableElements)(r, {
|
|
998
999
|
ignoreTabIndex: true
|
|
999
1000
|
});
|
|
1000
1001
|
var d = (e === null || e === void 0 ? void 0 : e.target) instanceof Element ? e.target : null;
|
|
1001
1002
|
var m = r === null || r === void 0 ? void 0 : r.querySelector(":focus");
|
|
1002
1003
|
var y = d || m;
|
|
1003
1004
|
var g = y ? v.indexOf(y) : -1;
|
|
1004
|
-
(0,
|
|
1005
|
+
(0, z.handleFocus)(n, v, g, {
|
|
1005
1006
|
enableLoop: false,
|
|
1006
1007
|
// VirtualizedResultsMenu does not support looping focus
|
|
1007
1008
|
orientation: "vertical",
|
|
@@ -1026,7 +1027,7 @@
|
|
|
1026
1027
|
};
|
|
1027
1028
|
}), []);
|
|
1028
1029
|
(0, e.useEffect)((function() {
|
|
1029
|
-
if (
|
|
1030
|
+
if (u === "never") {
|
|
1030
1031
|
return undefined;
|
|
1031
1032
|
}
|
|
1032
1033
|
var e = C.current;
|
|
@@ -1036,11 +1037,11 @@
|
|
|
1036
1037
|
return function() {
|
|
1037
1038
|
e === null || e === void 0 ? void 0 : e.removeEventListener("keydown", q);
|
|
1038
1039
|
};
|
|
1039
|
-
}), [ q,
|
|
1040
|
+
}), [ q, u ]);
|
|
1040
1041
|
|
|
1041
1042
|
return r().createElement(F, Y({
|
|
1042
1043
|
elementRef: _,
|
|
1043
|
-
focusMode:
|
|
1044
|
+
focusMode: u
|
|
1044
1045
|
}, c), T);
|
|
1045
1046
|
}
|
|
1046
1047
|
ge.propTypes = be;
|