@instructure/ui-drilldown 10.16.1-snapshot-0 → 10.16.1
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 +1 -1
- package/es/Drilldown/DrilldownGroup/__new-tests__/DrilldownGroup.test.js +448 -325
- package/es/Drilldown/DrilldownGroup/index.js +0 -1
- package/es/Drilldown/DrilldownOption/__new-tests__/DrilldownOption.test.js +422 -309
- package/es/Drilldown/DrilldownOption/index.js +0 -1
- package/es/Drilldown/DrilldownPage/__new-tests__/DrilldownPage.test.js +201 -147
- package/es/Drilldown/DrilldownPage/index.js +0 -1
- package/es/Drilldown/DrilldownSeparator/__new-tests__/DrilldownSeparator.test.js +22 -17
- package/es/Drilldown/DrilldownSeparator/index.js +0 -1
- package/es/Drilldown/__examples__/Drilldown.examples.js +99 -82
- package/es/Drilldown/__new-tests__/Drilldown.test.js +533 -352
- package/es/Drilldown/index.js +144 -126
- package/lib/Drilldown/DrilldownGroup/__new-tests__/DrilldownGroup.test.js +463 -340
- package/lib/Drilldown/DrilldownGroup/index.js +0 -1
- package/lib/Drilldown/DrilldownOption/__new-tests__/DrilldownOption.test.js +448 -336
- package/lib/Drilldown/DrilldownOption/index.js +0 -1
- package/lib/Drilldown/DrilldownPage/__new-tests__/DrilldownPage.test.js +221 -167
- package/lib/Drilldown/DrilldownPage/index.js +0 -2
- package/lib/Drilldown/DrilldownSeparator/__new-tests__/DrilldownSeparator.test.js +25 -21
- package/lib/Drilldown/DrilldownSeparator/index.js +0 -1
- package/lib/Drilldown/__examples__/Drilldown.examples.js +99 -83
- package/lib/Drilldown/__new-tests__/Drilldown.test.js +568 -387
- package/lib/Drilldown/index.js +143 -126
- package/package.json +21 -21
- package/src/Drilldown/DrilldownGroup/__new-tests__/DrilldownGroup.test.tsx +0 -1
- package/src/Drilldown/DrilldownGroup/index.tsx +0 -1
- package/src/Drilldown/DrilldownOption/__new-tests__/DrilldownOption.test.tsx +1 -1
- package/src/Drilldown/DrilldownOption/index.tsx +0 -1
- package/src/Drilldown/DrilldownPage/__new-tests__/DrilldownPage.test.tsx +0 -1
- package/src/Drilldown/DrilldownPage/index.tsx +0 -1
- package/src/Drilldown/DrilldownSeparator/__new-tests__/DrilldownSeparator.test.tsx +0 -1
- package/src/Drilldown/DrilldownSeparator/index.tsx +0 -1
- package/src/Drilldown/__examples__/Drilldown.examples.tsx +0 -2
- package/src/Drilldown/__new-tests__/Drilldown.test.tsx +0 -1
- package/src/Drilldown/index.tsx +4 -6
- package/tsconfig.build.tsbuildinfo +1 -1
- package/types/Drilldown/DrilldownGroup/__new-tests__/DrilldownGroup.test.d.ts.map +1 -1
- package/types/Drilldown/DrilldownGroup/index.d.ts +0 -1
- package/types/Drilldown/DrilldownGroup/index.d.ts.map +1 -1
- package/types/Drilldown/DrilldownOption/index.d.ts +0 -1
- package/types/Drilldown/DrilldownOption/index.d.ts.map +1 -1
- package/types/Drilldown/DrilldownPage/__new-tests__/DrilldownPage.test.d.ts.map +1 -1
- package/types/Drilldown/DrilldownPage/index.d.ts +0 -1
- package/types/Drilldown/DrilldownPage/index.d.ts.map +1 -1
- package/types/Drilldown/DrilldownSeparator/__new-tests__/DrilldownSeparator.test.d.ts.map +1 -1
- package/types/Drilldown/DrilldownSeparator/index.d.ts +0 -1
- package/types/Drilldown/DrilldownSeparator/index.d.ts.map +1 -1
- package/types/Drilldown/__examples__/Drilldown.examples.d.ts.map +1 -1
- package/types/Drilldown/__new-tests__/Drilldown.test.d.ts.map +1 -1
- package/types/Drilldown/index.d.ts +7 -10
- package/types/Drilldown/index.d.ts.map +1 -1
package/es/Drilldown/index.js
CHANGED
|
@@ -27,9 +27,7 @@ var _dec, _dec2, _dec3, _class, _Drilldown, _IconArrowOpenEndSoli, _IconArrowOpe
|
|
|
27
27
|
* SOFTWARE.
|
|
28
28
|
*/
|
|
29
29
|
|
|
30
|
-
|
|
31
|
-
/** @jsxFrag React.Fragment */
|
|
32
|
-
import React, { Component } from 'react';
|
|
30
|
+
import { Children, Component } from 'react';
|
|
33
31
|
import { warn, error } from '@instructure/console';
|
|
34
32
|
import { testable } from '@instructure/ui-testable';
|
|
35
33
|
import { contains, containsActiveElement } from '@instructure/ui-dom-utils';
|
|
@@ -39,7 +37,7 @@ import { Options } from '@instructure/ui-options';
|
|
|
39
37
|
import { Popover } from '@instructure/ui-popover';
|
|
40
38
|
import { Selectable } from '@instructure/ui-selectable';
|
|
41
39
|
import { IconArrowOpenStartSolid, IconArrowOpenEndSolid, IconCheckSolid } from '@instructure/ui-icons';
|
|
42
|
-
import { withStyle
|
|
40
|
+
import { withStyle } from '@instructure/emotion';
|
|
43
41
|
import { DrilldownSeparator } from './DrilldownSeparator';
|
|
44
42
|
import { DrilldownOption } from './DrilldownOption';
|
|
45
43
|
import { DrilldownGroup } from './DrilldownGroup';
|
|
@@ -58,6 +56,8 @@ import { propTypes, allowedProps } from './props';
|
|
|
58
56
|
// with the `children` transformed into an array
|
|
59
57
|
|
|
60
58
|
// An object with the mapped Pages with their id as keys
|
|
59
|
+
import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
|
|
60
|
+
import { createElement as _createElement } from "@emotion/react";
|
|
61
61
|
/**
|
|
62
62
|
---
|
|
63
63
|
category: components
|
|
@@ -406,7 +406,7 @@ let Drilldown = (_dec = withDeterministicId(), _dec2 = withStyle(generateStyle,
|
|
|
406
406
|
}
|
|
407
407
|
get pages() {
|
|
408
408
|
const children = this.props.children;
|
|
409
|
-
return
|
|
409
|
+
return Children.toArray(children || []);
|
|
410
410
|
}
|
|
411
411
|
get pageMap() {
|
|
412
412
|
const children = this.props.children;
|
|
@@ -419,7 +419,7 @@ let Drilldown = (_dec = withDeterministicId(), _dec2 = withStyle(generateStyle,
|
|
|
419
419
|
const children = props.children;
|
|
420
420
|
map[props.id] = {
|
|
421
421
|
...props,
|
|
422
|
-
children:
|
|
422
|
+
children: Children.toArray(children || [])
|
|
423
423
|
};
|
|
424
424
|
});
|
|
425
425
|
return map;
|
|
@@ -549,27 +549,31 @@ let Drilldown = (_dec = withDeterministicId(), _dec2 = withStyle(generateStyle,
|
|
|
549
549
|
if (this.previousPage) {
|
|
550
550
|
const prevPageTitle = callRenderProp(this.previousPage.renderTitle);
|
|
551
551
|
const backButtonLabel = callRenderProp(renderBackButtonLabel, prevPageTitle);
|
|
552
|
-
headerChildren.push(
|
|
552
|
+
headerChildren.push(_jsx(DrilldownOption, {
|
|
553
553
|
id: this._headerBackId,
|
|
554
|
-
onOptionClick: this.handleBackButtonClick
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
554
|
+
onOptionClick: this.handleBackButtonClick,
|
|
555
|
+
children: _jsx("div", {
|
|
556
|
+
css: styles === null || styles === void 0 ? void 0 : styles.headerBack,
|
|
557
|
+
role: "presentation",
|
|
558
|
+
children: backButtonLabel
|
|
559
|
+
})
|
|
560
|
+
}));
|
|
559
561
|
}
|
|
560
562
|
|
|
561
563
|
// Header title
|
|
562
564
|
if (renderTitle) {
|
|
563
565
|
const title = callRenderProp(renderTitle);
|
|
564
566
|
if (title) {
|
|
565
|
-
headerChildren.push(
|
|
567
|
+
headerChildren.push(_jsx(DrilldownOption, {
|
|
566
568
|
id: this._headerTitleId,
|
|
567
569
|
role: "presentation",
|
|
568
|
-
"aria-hidden": "true"
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
570
|
+
"aria-hidden": "true",
|
|
571
|
+
children: _jsx("div", {
|
|
572
|
+
css: styles === null || styles === void 0 ? void 0 : styles.headerTitle,
|
|
573
|
+
id: this._headerTitleLabelId,
|
|
574
|
+
children: title
|
|
575
|
+
})
|
|
576
|
+
}));
|
|
573
577
|
}
|
|
574
578
|
}
|
|
575
579
|
|
|
@@ -577,7 +581,7 @@ let Drilldown = (_dec = withDeterministicId(), _dec2 = withStyle(generateStyle,
|
|
|
577
581
|
if (renderActionLabel) {
|
|
578
582
|
const actionLabel = callRenderProp(renderActionLabel);
|
|
579
583
|
if (actionLabel) {
|
|
580
|
-
headerChildren.push(
|
|
584
|
+
headerChildren.push(_jsx(DrilldownOption, {
|
|
581
585
|
id: this._headerActionId,
|
|
582
586
|
themeOverride: {
|
|
583
587
|
color: styles === null || styles === void 0 ? void 0 : styles.headerActionColor
|
|
@@ -586,14 +590,15 @@ let Drilldown = (_dec = withDeterministicId(), _dec2 = withStyle(generateStyle,
|
|
|
586
590
|
if (typeof onHeaderActionClicked === 'function') {
|
|
587
591
|
onHeaderActionClicked(event);
|
|
588
592
|
}
|
|
589
|
-
}
|
|
590
|
-
|
|
593
|
+
},
|
|
594
|
+
children: actionLabel
|
|
595
|
+
}));
|
|
591
596
|
}
|
|
592
597
|
}
|
|
593
598
|
|
|
594
599
|
// header separator
|
|
595
600
|
if (headerChildren.length > 0 && children.length > 0 && !withoutHeaderSeparator) {
|
|
596
|
-
headerChildren.push(
|
|
601
|
+
headerChildren.push(_jsx(DrilldownSeparator, {
|
|
597
602
|
id: deterministicId('DrilldownHeader-Separator')
|
|
598
603
|
}));
|
|
599
604
|
}
|
|
@@ -753,14 +758,15 @@ let Drilldown = (_dec = withDeterministicId(), _dec2 = withStyle(generateStyle,
|
|
|
753
758
|
id = _separator$props.id,
|
|
754
759
|
themeOverride = _separator$props.themeOverride,
|
|
755
760
|
props = _objectWithoutProperties(_separator$props, _excluded3);
|
|
756
|
-
return
|
|
761
|
+
return _createElement(Options.Separator, {
|
|
762
|
+
...props,
|
|
757
763
|
id: id,
|
|
758
764
|
key: id,
|
|
759
765
|
role: "separator"
|
|
760
766
|
// we pass the themeOverride to Options.Separator
|
|
761
767
|
,
|
|
762
768
|
themeOverride: themeOverride
|
|
763
|
-
})
|
|
769
|
+
});
|
|
764
770
|
}
|
|
765
771
|
renderOption(option, getOptionProps, getDisabledOptionProps, groupProps) {
|
|
766
772
|
var _this$currentPage2, _optionProps$renderBe, _optionProps$renderBe2, _optionProps$renderAf, _optionProps$renderAf2;
|
|
@@ -849,13 +855,13 @@ let Drilldown = (_dec = withDeterministicId(), _dec2 = withStyle(generateStyle,
|
|
|
849
855
|
// we set a few manually on Options.Item,
|
|
850
856
|
// the rest are passed directly
|
|
851
857
|
if (subPageId) {
|
|
852
|
-
optionProps.renderAfterLabel = _IconArrowOpenEndSoli || (_IconArrowOpenEndSoli =
|
|
858
|
+
optionProps.renderAfterLabel = _IconArrowOpenEndSoli || (_IconArrowOpenEndSoli = _jsx(IconArrowOpenEndSolid, {}));
|
|
853
859
|
optionProps['aria-haspopup'] = true;
|
|
854
860
|
optionProps.role = customRole || 'button';
|
|
855
861
|
warn(!renderAfterLabel, `The prop "renderAfterLabel" is reserved on item with id: "${id}". When it has "subPageId" provided, a navigation arrow will render after the label.`);
|
|
856
862
|
}
|
|
857
863
|
if (id === this._headerBackId) {
|
|
858
|
-
optionProps.renderBeforeLabel = _IconArrowOpenStartSo || (_IconArrowOpenStartSo =
|
|
864
|
+
optionProps.renderBeforeLabel = _IconArrowOpenStartSo || (_IconArrowOpenStartSo = _jsx(IconArrowOpenStartSolid, {}));
|
|
859
865
|
}
|
|
860
866
|
const isOptionControlled = typeof option.props.selected === 'boolean';
|
|
861
867
|
if ((groupProps !== null && groupProps !== void 0 && groupProps.selectableType || isOptionControlled) && groupProps) {
|
|
@@ -866,7 +872,7 @@ let Drilldown = (_dec = withDeterministicId(), _dec2 = withStyle(generateStyle,
|
|
|
866
872
|
isSelected = Boolean(option.props.selected);
|
|
867
873
|
}
|
|
868
874
|
optionProps['aria-checked'] = isSelected;
|
|
869
|
-
optionProps.renderBeforeLabel =
|
|
875
|
+
optionProps.renderBeforeLabel = _jsx(IconCheckSolid, {
|
|
870
876
|
style: {
|
|
871
877
|
opacity: isSelected ? 1 : 0
|
|
872
878
|
}
|
|
@@ -931,26 +937,31 @@ let Drilldown = (_dec = withDeterministicId(), _dec2 = withStyle(generateStyle,
|
|
|
931
937
|
const infoAriaId = `${id}__info`;
|
|
932
938
|
const labelledby = option.props['aria-labelledby'] || labelAriaId;
|
|
933
939
|
const describedby = option.props['aria-describedby'] || (labelInfo ? infoAriaId : void 0);
|
|
934
|
-
return
|
|
940
|
+
return _createElement(Options.Item, {
|
|
941
|
+
...optionProps,
|
|
935
942
|
key: id,
|
|
936
943
|
"aria-labelledby": labelledby,
|
|
937
944
|
"aria-describedby": describedby
|
|
938
|
-
}
|
|
945
|
+
}, _jsxs("div", {
|
|
939
946
|
css: styles === null || styles === void 0 ? void 0 : styles.optionContainer,
|
|
940
|
-
role: "none"
|
|
941
|
-
}, jsx("span", {
|
|
942
|
-
css: styles === null || styles === void 0 ? void 0 : styles.optionContent,
|
|
943
947
|
role: "none",
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
948
|
+
children: [_jsx("span", {
|
|
949
|
+
css: styles === null || styles === void 0 ? void 0 : styles.optionContent,
|
|
950
|
+
role: "none",
|
|
951
|
+
id: labelAriaId,
|
|
952
|
+
children: optionLabel
|
|
953
|
+
}), labelInfo ? _jsx("span", {
|
|
954
|
+
css: styles === null || styles === void 0 ? void 0 : styles.optionLabelInfo,
|
|
955
|
+
role: "presentation",
|
|
956
|
+
style: {
|
|
957
|
+
alignSelf: vAlignMap[afterLabelContentVAlign]
|
|
958
|
+
},
|
|
959
|
+
children: _jsx("span", {
|
|
960
|
+
id: infoAriaId,
|
|
961
|
+
children: labelInfo
|
|
962
|
+
})
|
|
963
|
+
}) : null]
|
|
964
|
+
}));
|
|
954
965
|
}
|
|
955
966
|
renderGroup(group, getOptionProps, getDisabledOptionProps, needsFirstSeparator, needsLastSeparator) {
|
|
956
967
|
const _group$props = group.props,
|
|
@@ -968,34 +979,34 @@ let Drilldown = (_dec = withDeterministicId(), _dec2 = withStyle(generateStyle,
|
|
|
968
979
|
|
|
969
980
|
// add a separator above
|
|
970
981
|
if (needsFirstSeparator) {
|
|
971
|
-
groupChildren.push(_Options$Separator || (_Options$Separator =
|
|
982
|
+
groupChildren.push(_Options$Separator || (_Options$Separator = _jsx(Options.Separator, {})));
|
|
972
983
|
}
|
|
973
984
|
|
|
974
985
|
// create a sublist as a group
|
|
975
986
|
// (a wrapping list item will be created by Options)
|
|
976
|
-
groupChildren.push(
|
|
987
|
+
groupChildren.push(_jsx(Options, {
|
|
977
988
|
id: id,
|
|
978
|
-
key: id,
|
|
979
989
|
role: role,
|
|
980
990
|
as: as || this.props.as,
|
|
981
991
|
renderLabel: renderGroupTitle,
|
|
982
992
|
elementRef: elementRef
|
|
983
993
|
// we pass the themeOverride to Options
|
|
984
994
|
,
|
|
985
|
-
themeOverride: themeOverride
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
+
themeOverride: themeOverride,
|
|
996
|
+
children: this.getChildrenArray(children).map(child => {
|
|
997
|
+
if (matchComponentTypes(child, [DrilldownSeparator])) {
|
|
998
|
+
return this.renderSeparator(child);
|
|
999
|
+
} else if (matchComponentTypes(child, [DrilldownOption])) {
|
|
1000
|
+
return this.renderOption(child, getOptionProps, getDisabledOptionProps, group.props);
|
|
1001
|
+
} else {
|
|
1002
|
+
return null;
|
|
1003
|
+
}
|
|
1004
|
+
})
|
|
1005
|
+
}, id));
|
|
995
1006
|
|
|
996
1007
|
// add a separator below
|
|
997
1008
|
if (needsLastSeparator) {
|
|
998
|
-
groupChildren.push(_Options$Separator2 || (_Options$Separator2 =
|
|
1009
|
+
groupChildren.push(_Options$Separator2 || (_Options$Separator2 = _jsx(Options.Separator, {})));
|
|
999
1010
|
}
|
|
1000
1011
|
return groupChildren;
|
|
1001
1012
|
}
|
|
@@ -1016,7 +1027,7 @@ let Drilldown = (_dec = withDeterministicId(), _dec2 = withStyle(generateStyle,
|
|
|
1016
1027
|
if (!this.currentPage) {
|
|
1017
1028
|
return null;
|
|
1018
1029
|
}
|
|
1019
|
-
return
|
|
1030
|
+
return _jsx(Selectable, {
|
|
1020
1031
|
isShowingOptions: this.shown,
|
|
1021
1032
|
highlightedOptionId: this.state.highlightedOptionId,
|
|
1022
1033
|
selectedOptionId: this.selectedGroupOptionIdsArray,
|
|
@@ -1035,73 +1046,79 @@ let Drilldown = (_dec = withDeterministicId(), _dec2 = withStyle(generateStyle,
|
|
|
1035
1046
|
this.handleOptionHighlight(event, {
|
|
1036
1047
|
id: lastOptionId
|
|
1037
1048
|
});
|
|
1038
|
-
}
|
|
1039
|
-
}, ({
|
|
1040
|
-
// TODO: figure out what other Selectable props we need, if we want to add a Select version for drilldown:
|
|
1041
|
-
// getRootProps, - we probably don't need this
|
|
1042
|
-
// getLabelProps, - do we need label?
|
|
1043
|
-
// getDescriptionProps, - might be nice for assistiveText like in Select
|
|
1044
|
-
// getInputProps, - hidden input for a11y? role="combobox" might be needed
|
|
1045
|
-
getTriggerProps,
|
|
1046
|
-
getListProps,
|
|
1047
|
-
getOptionProps,
|
|
1048
|
-
getDisabledOptionProps
|
|
1049
|
-
}) => jsx(View, Object.assign({
|
|
1050
|
-
borderWidth: "small",
|
|
1051
|
-
as: "div",
|
|
1052
|
-
elementRef: this.handleDrilldownRef,
|
|
1053
|
-
tabIndex: 0,
|
|
1054
|
-
css: styles === null || styles === void 0 ? void 0 : styles.drilldown,
|
|
1055
|
-
position: "relative",
|
|
1056
|
-
borderRadius: "small",
|
|
1057
|
-
width: width,
|
|
1058
|
-
minWidth: maxWidth,
|
|
1059
|
-
maxWidth: maxWidth,
|
|
1060
|
-
role: role,
|
|
1061
|
-
"aria-label": label,
|
|
1062
|
-
"aria-labelledby": this.currentPageAriaLabel
|
|
1063
|
-
}, getTriggerProps({
|
|
1064
|
-
id: this._id,
|
|
1065
|
-
// We need to override these aria attributes added by Selectable,
|
|
1066
|
-
// since Drilldown is not a combobox and has no popup
|
|
1067
|
-
'aria-haspopup': false,
|
|
1068
|
-
'aria-expanded': void 0,
|
|
1069
|
-
onKeyDown: this.handleKeyDown,
|
|
1070
|
-
onBlur: event => {
|
|
1071
|
-
const target = event.currentTarget;
|
|
1072
|
-
const related = event.relatedTarget;
|
|
1073
|
-
const containsRelated = contains(target, related);
|
|
1074
|
-
if (!related || related === this._drilldownRef || related !== target && !containsRelated) {
|
|
1075
|
-
this.setState({
|
|
1076
|
-
highlightedOptionId: void 0
|
|
1077
|
-
});
|
|
1078
|
-
}
|
|
1079
1049
|
},
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1050
|
+
children: ({
|
|
1051
|
+
// TODO: figure out what other Selectable props we need, if we want to add a Select version for drilldown:
|
|
1052
|
+
// getRootProps, - we probably don't need this
|
|
1053
|
+
// getLabelProps, - do we need label?
|
|
1054
|
+
// getDescriptionProps, - might be nice for assistiveText like in Select
|
|
1055
|
+
// getInputProps, - hidden input for a11y? role="combobox" might be needed
|
|
1056
|
+
getTriggerProps,
|
|
1057
|
+
getListProps,
|
|
1058
|
+
getOptionProps,
|
|
1059
|
+
getDisabledOptionProps
|
|
1060
|
+
}) => _jsx(View, {
|
|
1061
|
+
borderWidth: "small",
|
|
1062
|
+
as: "div",
|
|
1063
|
+
elementRef: this.handleDrilldownRef,
|
|
1064
|
+
tabIndex: 0,
|
|
1065
|
+
css: styles === null || styles === void 0 ? void 0 : styles.drilldown,
|
|
1066
|
+
position: "relative",
|
|
1067
|
+
borderRadius: "small",
|
|
1068
|
+
width: width,
|
|
1069
|
+
minWidth: maxWidth,
|
|
1070
|
+
maxWidth: maxWidth,
|
|
1071
|
+
role: role,
|
|
1072
|
+
"aria-label": label,
|
|
1073
|
+
"aria-labelledby": this.currentPageAriaLabel,
|
|
1074
|
+
...getTriggerProps({
|
|
1075
|
+
id: this._id,
|
|
1076
|
+
// We need to override these aria attributes added by Selectable,
|
|
1077
|
+
// since Drilldown is not a combobox and has no popup
|
|
1078
|
+
'aria-haspopup': false,
|
|
1079
|
+
'aria-expanded': void 0,
|
|
1080
|
+
onKeyDown: this.handleKeyDown,
|
|
1081
|
+
onBlur: event => {
|
|
1082
|
+
const target = event.currentTarget;
|
|
1083
|
+
const related = event.relatedTarget;
|
|
1084
|
+
const containsRelated = contains(target, related);
|
|
1085
|
+
if (!related || related === this._drilldownRef || related !== target && !containsRelated) {
|
|
1086
|
+
this.setState({
|
|
1087
|
+
highlightedOptionId: void 0
|
|
1088
|
+
});
|
|
1089
|
+
}
|
|
1090
|
+
},
|
|
1091
|
+
onMouseLeave: () => {
|
|
1092
|
+
this.setState({
|
|
1093
|
+
highlightedOptionId: void 0
|
|
1094
|
+
});
|
|
1095
|
+
}
|
|
1096
|
+
}),
|
|
1097
|
+
children: _jsx(View, {
|
|
1098
|
+
as: "div",
|
|
1099
|
+
overflowY: overflowY,
|
|
1100
|
+
overflowX: overflowX,
|
|
1101
|
+
height: height,
|
|
1102
|
+
width: width,
|
|
1103
|
+
minHeight: minHeight,
|
|
1104
|
+
minWidth: minWidth,
|
|
1105
|
+
maxHeight: maxHeight,
|
|
1106
|
+
maxWidth: maxWidth,
|
|
1107
|
+
css: styles === null || styles === void 0 ? void 0 : styles.container,
|
|
1108
|
+
borderRadius: "small",
|
|
1109
|
+
role: "presentation",
|
|
1110
|
+
elementRef: element => {
|
|
1111
|
+
this._containerElement = element;
|
|
1112
|
+
},
|
|
1113
|
+
children: _jsx(Options, {
|
|
1114
|
+
...getListProps(),
|
|
1115
|
+
role: "presentation",
|
|
1116
|
+
as: as,
|
|
1117
|
+
children: this.renderList(getOptionProps, getDisabledOptionProps)
|
|
1118
|
+
})
|
|
1119
|
+
})
|
|
1120
|
+
})
|
|
1121
|
+
});
|
|
1105
1122
|
}
|
|
1106
1123
|
render() {
|
|
1107
1124
|
// clear temporary option store
|
|
@@ -1125,7 +1142,7 @@ let Drilldown = (_dec = withDeterministicId(), _dec2 = withStyle(generateStyle,
|
|
|
1125
1142
|
onMouseOver = _this$props6.onMouseOver,
|
|
1126
1143
|
offsetX = _this$props6.offsetX,
|
|
1127
1144
|
offsetY = _this$props6.offsetY;
|
|
1128
|
-
return trigger ?
|
|
1145
|
+
return trigger ? _jsx(Popover, {
|
|
1129
1146
|
isShowingContent: show,
|
|
1130
1147
|
defaultIsShowingContent: defaultShow,
|
|
1131
1148
|
shouldCloseOnDocumentClick: true,
|
|
@@ -1172,8 +1189,9 @@ let Drilldown = (_dec = withDeterministicId(), _dec2 = withStyle(generateStyle,
|
|
|
1172
1189
|
id: this._triggerId,
|
|
1173
1190
|
disabled: !!(trigger.props.disabled || disabled),
|
|
1174
1191
|
'aria-disabled': trigger.props.disabled || disabled ? 'true' : void 0
|
|
1175
|
-
})
|
|
1176
|
-
|
|
1192
|
+
}),
|
|
1193
|
+
children: this.renderPage()
|
|
1194
|
+
}) : this.renderPage();
|
|
1177
1195
|
}
|
|
1178
1196
|
}, _Drilldown.displayName = "Drilldown", _Drilldown.componentId = 'Drilldown', _Drilldown.propTypes = propTypes, _Drilldown.allowedProps = allowedProps, _Drilldown.defaultProps = {
|
|
1179
1197
|
disabled: false,
|