@khanacademy/wonder-blocks-dropdown 2.6.7 → 2.6.8
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 +6 -0
- package/dist/es/index.js +202 -79
- package/dist/index.js +310 -174
- package/package.json +1 -1
- package/src/__tests__/__snapshots__/generated-snapshot.test.js.snap +1 -1
- package/src/__tests__/generated-snapshot.test.js +1 -1
- package/src/components/__tests__/action-menu.test.js +126 -166
- package/src/components/__tests__/dropdown-core-virtualized.test.js +20 -35
- package/src/components/__tests__/dropdown-core.test.js +724 -652
- package/src/components/__tests__/dropdown-popper.test.js +51 -0
- package/src/components/__tests__/multi-select.test.js +717 -518
- package/src/components/__tests__/single-select.test.js +52 -41
- package/src/components/action-item.js +2 -0
- package/src/components/dropdown-core.js +159 -90
- package/src/components/dropdown-popper.js +105 -0
- package/src/components/single-select.md +1 -1
- package/src/components/single-select.stories.js +49 -1
package/dist/index.js
CHANGED
|
@@ -82,7 +82,7 @@ module.exports =
|
|
|
82
82
|
/******/
|
|
83
83
|
/******/
|
|
84
84
|
/******/ // Load entry module and return exports
|
|
85
|
-
/******/ return __webpack_require__(__webpack_require__.s =
|
|
85
|
+
/******/ return __webpack_require__(__webpack_require__.s = 34);
|
|
86
86
|
/******/ })
|
|
87
87
|
/************************************************************************/
|
|
88
88
|
/******/ ([
|
|
@@ -177,12 +177,6 @@ module.exports = require("@khanacademy/wonder-blocks-icon");
|
|
|
177
177
|
|
|
178
178
|
/***/ }),
|
|
179
179
|
/* 7 */
|
|
180
|
-
/***/ (function(module, exports) {
|
|
181
|
-
|
|
182
|
-
module.exports = require("@khanacademy/wonder-blocks-typography");
|
|
183
|
-
|
|
184
|
-
/***/ }),
|
|
185
|
-
/* 8 */
|
|
186
180
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
187
181
|
|
|
188
182
|
"use strict";
|
|
@@ -237,19 +231,19 @@ const styles = aphrodite__WEBPACK_IMPORTED_MODULE_1__["StyleSheet"].create({
|
|
|
237
231
|
});
|
|
238
232
|
|
|
239
233
|
/***/ }),
|
|
240
|
-
/*
|
|
234
|
+
/* 8 */
|
|
241
235
|
/***/ (function(module, exports) {
|
|
242
236
|
|
|
243
237
|
module.exports = require("react-dom");
|
|
244
238
|
|
|
245
239
|
/***/ }),
|
|
246
|
-
/*
|
|
240
|
+
/* 9 */
|
|
247
241
|
/***/ (function(module, exports) {
|
|
248
242
|
|
|
249
|
-
module.exports = require("@khanacademy/wonder-blocks-
|
|
243
|
+
module.exports = require("@khanacademy/wonder-blocks-typography");
|
|
250
244
|
|
|
251
245
|
/***/ }),
|
|
252
|
-
/*
|
|
246
|
+
/* 10 */
|
|
253
247
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
254
248
|
|
|
255
249
|
"use strict";
|
|
@@ -258,11 +252,11 @@ module.exports = require("@khanacademy/wonder-blocks-clickable");
|
|
|
258
252
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
259
253
|
/* harmony import */ var aphrodite__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4);
|
|
260
254
|
/* harmony import */ var aphrodite__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(aphrodite__WEBPACK_IMPORTED_MODULE_1__);
|
|
261
|
-
/* harmony import */ var _khanacademy_wonder_blocks_typography__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
|
|
255
|
+
/* harmony import */ var _khanacademy_wonder_blocks_typography__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9);
|
|
262
256
|
/* harmony import */ var _khanacademy_wonder_blocks_typography__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_typography__WEBPACK_IMPORTED_MODULE_2__);
|
|
263
257
|
/* harmony import */ var _khanacademy_wonder_blocks_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5);
|
|
264
258
|
/* harmony import */ var _khanacademy_wonder_blocks_core__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_core__WEBPACK_IMPORTED_MODULE_3__);
|
|
265
|
-
/* harmony import */ var _khanacademy_wonder_blocks_icon_button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
|
|
259
|
+
/* harmony import */ var _khanacademy_wonder_blocks_icon_button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(28);
|
|
266
260
|
/* harmony import */ var _khanacademy_wonder_blocks_icon_button__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_icon_button__WEBPACK_IMPORTED_MODULE_4__);
|
|
267
261
|
/* harmony import */ var _khanacademy_wonder_blocks_icon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(6);
|
|
268
262
|
/* harmony import */ var _khanacademy_wonder_blocks_icon__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_icon__WEBPACK_IMPORTED_MODULE_5__);
|
|
@@ -441,6 +435,12 @@ const styles = aphrodite__WEBPACK_IMPORTED_MODULE_1__["StyleSheet"].create({
|
|
|
441
435
|
}
|
|
442
436
|
});
|
|
443
437
|
|
|
438
|
+
/***/ }),
|
|
439
|
+
/* 11 */
|
|
440
|
+
/***/ (function(module, exports) {
|
|
441
|
+
|
|
442
|
+
module.exports = require("@khanacademy/wonder-blocks-clickable");
|
|
443
|
+
|
|
444
444
|
/***/ }),
|
|
445
445
|
/* 12 */
|
|
446
446
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
@@ -459,9 +459,9 @@ const styles = aphrodite__WEBPACK_IMPORTED_MODULE_1__["StyleSheet"].create({
|
|
|
459
459
|
/* harmony import */ var _khanacademy_wonder_blocks_color__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_color__WEBPACK_IMPORTED_MODULE_4__);
|
|
460
460
|
/* harmony import */ var _khanacademy_wonder_blocks_spacing__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(3);
|
|
461
461
|
/* harmony import */ var _khanacademy_wonder_blocks_spacing__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_spacing__WEBPACK_IMPORTED_MODULE_5__);
|
|
462
|
-
/* harmony import */ var _khanacademy_wonder_blocks_typography__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(
|
|
462
|
+
/* harmony import */ var _khanacademy_wonder_blocks_typography__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(9);
|
|
463
463
|
/* harmony import */ var _khanacademy_wonder_blocks_typography__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_typography__WEBPACK_IMPORTED_MODULE_6__);
|
|
464
|
-
/* harmony import */ var _khanacademy_wonder_blocks_clickable__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(
|
|
464
|
+
/* harmony import */ var _khanacademy_wonder_blocks_clickable__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(11);
|
|
465
465
|
/* harmony import */ var _khanacademy_wonder_blocks_clickable__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_clickable__WEBPACK_IMPORTED_MODULE_7__);
|
|
466
466
|
/* harmony import */ var _khanacademy_wonder_blocks_core__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(5);
|
|
467
467
|
/* harmony import */ var _khanacademy_wonder_blocks_core__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_core__WEBPACK_IMPORTED_MODULE_8__);
|
|
@@ -623,11 +623,11 @@ const styles = aphrodite__WEBPACK_IMPORTED_MODULE_1__["StyleSheet"].create({
|
|
|
623
623
|
/* harmony import */ var _khanacademy_wonder_blocks_color__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_color__WEBPACK_IMPORTED_MODULE_2__);
|
|
624
624
|
/* harmony import */ var _khanacademy_wonder_blocks_spacing__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3);
|
|
625
625
|
/* harmony import */ var _khanacademy_wonder_blocks_spacing__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_spacing__WEBPACK_IMPORTED_MODULE_3__);
|
|
626
|
-
/* harmony import */ var _khanacademy_wonder_blocks_typography__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
|
|
626
|
+
/* harmony import */ var _khanacademy_wonder_blocks_typography__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(9);
|
|
627
627
|
/* harmony import */ var _khanacademy_wonder_blocks_typography__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_typography__WEBPACK_IMPORTED_MODULE_4__);
|
|
628
628
|
/* harmony import */ var _khanacademy_wonder_blocks_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5);
|
|
629
629
|
/* harmony import */ var _khanacademy_wonder_blocks_core__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_core__WEBPACK_IMPORTED_MODULE_5__);
|
|
630
|
-
/* harmony import */ var _khanacademy_wonder_blocks_clickable__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(
|
|
630
|
+
/* harmony import */ var _khanacademy_wonder_blocks_clickable__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(11);
|
|
631
631
|
/* harmony import */ var _khanacademy_wonder_blocks_clickable__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_clickable__WEBPACK_IMPORTED_MODULE_6__);
|
|
632
632
|
/* harmony import */ var _util_constants_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(2);
|
|
633
633
|
/* harmony import */ var _check_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(24);
|
|
@@ -791,7 +791,7 @@ const styles = aphrodite__WEBPACK_IMPORTED_MODULE_1__["StyleSheet"].create({
|
|
|
791
791
|
"use strict";
|
|
792
792
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
|
|
793
793
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
794
|
-
/* harmony import */ var _khanacademy_wonder_blocks_clickable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
794
|
+
/* harmony import */ var _khanacademy_wonder_blocks_clickable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(11);
|
|
795
795
|
/* harmony import */ var _khanacademy_wonder_blocks_clickable__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_clickable__WEBPACK_IMPORTED_MODULE_1__);
|
|
796
796
|
|
|
797
797
|
|
|
@@ -852,30 +852,27 @@ DropdownOpener.defaultProps = {
|
|
|
852
852
|
"use strict";
|
|
853
853
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
|
|
854
854
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
855
|
-
/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
855
|
+
/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8);
|
|
856
856
|
/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_1__);
|
|
857
|
-
/* harmony import */ var
|
|
858
|
-
/* harmony import */ var
|
|
859
|
-
/* harmony import */ var
|
|
860
|
-
/* harmony import */ var
|
|
861
|
-
/* harmony import */ var
|
|
862
|
-
/* harmony import */ var
|
|
863
|
-
/* harmony import */ var
|
|
864
|
-
/* harmony import */ var
|
|
865
|
-
/* harmony import */ var
|
|
866
|
-
/* harmony import */ var
|
|
867
|
-
/* harmony import */ var
|
|
868
|
-
/* harmony import */ var
|
|
869
|
-
/* harmony import */ var
|
|
870
|
-
/* harmony import */ var
|
|
871
|
-
/* harmony import */ var
|
|
872
|
-
/* harmony import */ var
|
|
873
|
-
/* harmony import */ var
|
|
874
|
-
/* harmony import */ var
|
|
875
|
-
/* harmony import */ var
|
|
876
|
-
/* harmony import */ var _separator_item_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(8);
|
|
877
|
-
/* harmony import */ var _search_text_input_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(11);
|
|
878
|
-
/* harmony import */ var _util_constants_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(2);
|
|
857
|
+
/* harmony import */ var aphrodite__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4);
|
|
858
|
+
/* harmony import */ var aphrodite__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(aphrodite__WEBPACK_IMPORTED_MODULE_2__);
|
|
859
|
+
/* harmony import */ var react_window__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(19);
|
|
860
|
+
/* harmony import */ var react_window__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_window__WEBPACK_IMPORTED_MODULE_3__);
|
|
861
|
+
/* harmony import */ var _khanacademy_wonder_blocks_color__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1);
|
|
862
|
+
/* harmony import */ var _khanacademy_wonder_blocks_color__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_color__WEBPACK_IMPORTED_MODULE_4__);
|
|
863
|
+
/* harmony import */ var _khanacademy_wonder_blocks_spacing__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(3);
|
|
864
|
+
/* harmony import */ var _khanacademy_wonder_blocks_spacing__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_spacing__WEBPACK_IMPORTED_MODULE_5__);
|
|
865
|
+
/* harmony import */ var _khanacademy_wonder_blocks_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(5);
|
|
866
|
+
/* harmony import */ var _khanacademy_wonder_blocks_core__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_core__WEBPACK_IMPORTED_MODULE_6__);
|
|
867
|
+
/* harmony import */ var _khanacademy_wonder_blocks_typography__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(9);
|
|
868
|
+
/* harmony import */ var _khanacademy_wonder_blocks_typography__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_typography__WEBPACK_IMPORTED_MODULE_7__);
|
|
869
|
+
/* harmony import */ var _khanacademy_wonder_blocks_timing__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(17);
|
|
870
|
+
/* harmony import */ var _khanacademy_wonder_blocks_timing__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_timing__WEBPACK_IMPORTED_MODULE_8__);
|
|
871
|
+
/* harmony import */ var _dropdown_core_virtualized_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(26);
|
|
872
|
+
/* harmony import */ var _separator_item_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(7);
|
|
873
|
+
/* harmony import */ var _search_text_input_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(10);
|
|
874
|
+
/* harmony import */ var _util_constants_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(2);
|
|
875
|
+
/* harmony import */ var _dropdown_popper_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(29);
|
|
879
876
|
// A menu that consists of action items
|
|
880
877
|
|
|
881
878
|
|
|
@@ -891,7 +888,18 @@ DropdownOpener.defaultProps = {
|
|
|
891
888
|
|
|
892
889
|
|
|
893
890
|
|
|
891
|
+
/**
|
|
892
|
+
* The number of options to apply the virtualized list to.
|
|
893
|
+
*
|
|
894
|
+
* NOTE: The threshold is defined taking into account performance
|
|
895
|
+
* implications (e.g. process input events for users should not be longer
|
|
896
|
+
* than 100ms).
|
|
897
|
+
* @see https://web.dev/rail/?utm_source=devtools#goals-and-guidelines
|
|
898
|
+
*
|
|
899
|
+
* TODO(juan, WB-1263): Improve performance by refactoring this component.
|
|
900
|
+
*/
|
|
894
901
|
|
|
902
|
+
const VIRTUALIZE_THRESHOLD = 125;
|
|
895
903
|
|
|
896
904
|
/**
|
|
897
905
|
* A core dropdown component that takes an opener and children to display as
|
|
@@ -977,7 +985,7 @@ class DropdownCore extends react__WEBPACK_IMPORTED_MODULE_0__["Component"] {
|
|
|
977
985
|
const keyCode = event.which || event.keyCode; // If menu isn't open and user presses down, open the menu
|
|
978
986
|
|
|
979
987
|
if (!open) {
|
|
980
|
-
if (keyCode ===
|
|
988
|
+
if (keyCode === _util_constants_js__WEBPACK_IMPORTED_MODULE_12__[/* keyCodes */ "f"].down) {
|
|
981
989
|
event.preventDefault();
|
|
982
990
|
onOpenChanged(true);
|
|
983
991
|
return;
|
|
@@ -988,7 +996,7 @@ class DropdownCore extends react__WEBPACK_IMPORTED_MODULE_0__["Component"] {
|
|
|
988
996
|
|
|
989
997
|
|
|
990
998
|
switch (keyCode) {
|
|
991
|
-
case
|
|
999
|
+
case _util_constants_js__WEBPACK_IMPORTED_MODULE_12__[/* keyCodes */ "f"].tab:
|
|
992
1000
|
// When we show SearchTextInput and that is focused and the
|
|
993
1001
|
// searchText is entered at least one character, dismiss button
|
|
994
1002
|
// is displayed. When user presses tab, we should move focus
|
|
@@ -1001,7 +1009,7 @@ class DropdownCore extends react__WEBPACK_IMPORTED_MODULE_0__["Component"] {
|
|
|
1001
1009
|
onOpenChanged(false);
|
|
1002
1010
|
return;
|
|
1003
1011
|
|
|
1004
|
-
case
|
|
1012
|
+
case _util_constants_js__WEBPACK_IMPORTED_MODULE_12__[/* keyCodes */ "f"].space:
|
|
1005
1013
|
// When we display SearchTextInput and the focus is on it,
|
|
1006
1014
|
// we should let the user type space.
|
|
1007
1015
|
if (this.hasSearchBox() && this.focusedIndex === 0) {
|
|
@@ -1012,12 +1020,12 @@ class DropdownCore extends react__WEBPACK_IMPORTED_MODULE_0__["Component"] {
|
|
|
1012
1020
|
event.preventDefault();
|
|
1013
1021
|
return;
|
|
1014
1022
|
|
|
1015
|
-
case
|
|
1023
|
+
case _util_constants_js__WEBPACK_IMPORTED_MODULE_12__[/* keyCodes */ "f"].up:
|
|
1016
1024
|
event.preventDefault();
|
|
1017
1025
|
this.focusPreviousItem();
|
|
1018
1026
|
return;
|
|
1019
1027
|
|
|
1020
|
-
case
|
|
1028
|
+
case _util_constants_js__WEBPACK_IMPORTED_MODULE_12__[/* keyCodes */ "f"].down:
|
|
1021
1029
|
event.preventDefault();
|
|
1022
1030
|
this.focusNextItem();
|
|
1023
1031
|
return;
|
|
@@ -1032,7 +1040,7 @@ class DropdownCore extends react__WEBPACK_IMPORTED_MODULE_0__["Component"] {
|
|
|
1032
1040
|
const keyCode = event.which || event.keyCode;
|
|
1033
1041
|
|
|
1034
1042
|
switch (keyCode) {
|
|
1035
|
-
case
|
|
1043
|
+
case _util_constants_js__WEBPACK_IMPORTED_MODULE_12__[/* keyCodes */ "f"].space:
|
|
1036
1044
|
// When we display SearchTextInput and the focus is on it,
|
|
1037
1045
|
// we should let the user type space.
|
|
1038
1046
|
if (this.hasSearchBox() && this.focusedIndex === 0) {
|
|
@@ -1043,7 +1051,7 @@ class DropdownCore extends react__WEBPACK_IMPORTED_MODULE_0__["Component"] {
|
|
|
1043
1051
|
event.preventDefault();
|
|
1044
1052
|
return;
|
|
1045
1053
|
|
|
1046
|
-
case
|
|
1054
|
+
case _util_constants_js__WEBPACK_IMPORTED_MODULE_12__[/* keyCodes */ "f"].escape:
|
|
1047
1055
|
// Close only the dropdown, not other elements that are
|
|
1048
1056
|
// listening for an escape press
|
|
1049
1057
|
if (open) {
|
|
@@ -1074,17 +1082,29 @@ class DropdownCore extends react__WEBPACK_IMPORTED_MODULE_0__["Component"] {
|
|
|
1074
1082
|
}
|
|
1075
1083
|
};
|
|
1076
1084
|
|
|
1085
|
+
this.handleItemClick = (focusIndex, item) => {
|
|
1086
|
+
this.handleClickFocus(focusIndex);
|
|
1087
|
+
|
|
1088
|
+
if (item.component.props.onClick) {
|
|
1089
|
+
item.component.props.onClick();
|
|
1090
|
+
}
|
|
1091
|
+
|
|
1092
|
+
if (item.populatedProps.onClick) {
|
|
1093
|
+
item.populatedProps.onClick();
|
|
1094
|
+
}
|
|
1095
|
+
};
|
|
1096
|
+
|
|
1077
1097
|
this.resetFocusedIndex();
|
|
1078
1098
|
this.state = {
|
|
1079
1099
|
prevItems: this.props.items,
|
|
1080
1100
|
itemRefs: [],
|
|
1081
1101
|
sameItemsFocusable: false,
|
|
1082
1102
|
labels: {
|
|
1083
|
-
noResults:
|
|
1103
|
+
noResults: _util_constants_js__WEBPACK_IMPORTED_MODULE_12__[/* defaultLabels */ "d"].noResults,
|
|
1084
1104
|
...props.labels
|
|
1085
1105
|
}
|
|
1086
1106
|
};
|
|
1087
|
-
this.
|
|
1107
|
+
this.virtualizedListRef = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createRef"]();
|
|
1088
1108
|
}
|
|
1089
1109
|
|
|
1090
1110
|
componentDidMount() {
|
|
@@ -1210,8 +1230,13 @@ class DropdownCore extends react__WEBPACK_IMPORTED_MODULE_0__["Component"] {
|
|
|
1210
1230
|
}
|
|
1211
1231
|
|
|
1212
1232
|
scheduleToFocusCurrentItem() {
|
|
1213
|
-
|
|
1214
|
-
|
|
1233
|
+
if (this.shouldVirtualizeList()) {
|
|
1234
|
+
// wait for windowed items to be recalculated
|
|
1235
|
+
this.props.schedule.animationFrame(() => this.focusCurrentItem());
|
|
1236
|
+
} else {
|
|
1237
|
+
// immediately focus the current item if we're not virtualizing
|
|
1238
|
+
this.focusCurrentItem();
|
|
1239
|
+
}
|
|
1215
1240
|
}
|
|
1216
1241
|
|
|
1217
1242
|
focusCurrentItem() {
|
|
@@ -1219,12 +1244,12 @@ class DropdownCore extends react__WEBPACK_IMPORTED_MODULE_0__["Component"] {
|
|
|
1219
1244
|
|
|
1220
1245
|
if (fousedItemRef) {
|
|
1221
1246
|
// force react-window to scroll to ensure the focused item is visible
|
|
1222
|
-
if (this.
|
|
1247
|
+
if (this.virtualizedListRef.current) {
|
|
1223
1248
|
// Our focused index does not include disabled items, but the
|
|
1224
1249
|
// react-window index system does include the disabled items
|
|
1225
1250
|
// in the count. So we need to use "originalIndex", which
|
|
1226
1251
|
// does account for disabled items.
|
|
1227
|
-
this.
|
|
1252
|
+
this.virtualizedListRef.current.scrollToItem(fousedItemRef.originalIndex);
|
|
1228
1253
|
}
|
|
1229
1254
|
|
|
1230
1255
|
const node = react_dom__WEBPACK_IMPORTED_MODULE_1___default.a.findDOMNode(fousedItemRef.ref.current);
|
|
@@ -1300,7 +1325,7 @@ class DropdownCore extends react__WEBPACK_IMPORTED_MODULE_0__["Component"] {
|
|
|
1300
1325
|
const numResults = items.length - includeSearchCount;
|
|
1301
1326
|
|
|
1302
1327
|
if (numResults === 0) {
|
|
1303
|
-
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](
|
|
1328
|
+
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_khanacademy_wonder_blocks_typography__WEBPACK_IMPORTED_MODULE_7__["LabelMedium"], {
|
|
1304
1329
|
style: styles.noResult,
|
|
1305
1330
|
testId: "dropdown-core-no-results"
|
|
1306
1331
|
}, noResults);
|
|
@@ -1308,23 +1333,96 @@ class DropdownCore extends react__WEBPACK_IMPORTED_MODULE_0__["Component"] {
|
|
|
1308
1333
|
|
|
1309
1334
|
return null;
|
|
1310
1335
|
}
|
|
1336
|
+
/**
|
|
1337
|
+
* Handles click events for each item in the dropdown.
|
|
1338
|
+
*/
|
|
1339
|
+
|
|
1340
|
+
|
|
1341
|
+
/**
|
|
1342
|
+
* Determines which rendering strategy we are going to apply to the options
|
|
1343
|
+
* list.
|
|
1344
|
+
*/
|
|
1345
|
+
shouldVirtualizeList() {
|
|
1346
|
+
// Verify if the list is long enough to be virtualized (passes the
|
|
1347
|
+
// threshold).
|
|
1348
|
+
return this.props.items.length > VIRTUALIZE_THRESHOLD;
|
|
1349
|
+
}
|
|
1350
|
+
/**
|
|
1351
|
+
* Renders the non-virtualized list of items.
|
|
1352
|
+
*/
|
|
1353
|
+
|
|
1354
|
+
|
|
1355
|
+
renderList() {
|
|
1356
|
+
let focusCounter = 0;
|
|
1357
|
+
const itemRole = this.getItemRole(); // if we don't need to virtualize, we can render the list directly
|
|
1358
|
+
|
|
1359
|
+
return this.props.items.map((item, index) => {
|
|
1360
|
+
if (_separator_item_js__WEBPACK_IMPORTED_MODULE_10__[/* default */ "a"].isClassOf(item.component)) {
|
|
1361
|
+
return item.component;
|
|
1362
|
+
}
|
|
1363
|
+
|
|
1364
|
+
const {
|
|
1365
|
+
component,
|
|
1366
|
+
focusable,
|
|
1367
|
+
populatedProps
|
|
1368
|
+
} = item;
|
|
1369
|
+
|
|
1370
|
+
if (focusable) {
|
|
1371
|
+
focusCounter += 1;
|
|
1372
|
+
}
|
|
1373
|
+
|
|
1374
|
+
const focusIndex = focusCounter - 1; // The reference to the item is used to restore focus.
|
|
1375
|
+
|
|
1376
|
+
const currentRef = this.state.itemRefs[focusIndex] ? this.state.itemRefs[focusIndex].ref : null; // Render the SearchField component.
|
|
1377
|
+
|
|
1378
|
+
if (_search_text_input_js__WEBPACK_IMPORTED_MODULE_11__[/* default */ "a"].isClassOf(component)) {
|
|
1379
|
+
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["cloneElement"](component, { ...populatedProps,
|
|
1380
|
+
key: "search-text-input",
|
|
1381
|
+
// pass the current ref down to the input element
|
|
1382
|
+
itemRef: currentRef,
|
|
1383
|
+
// override to avoid losing focus when pressing a key
|
|
1384
|
+
onClick: () => {
|
|
1385
|
+
this.handleClickFocus(0);
|
|
1386
|
+
this.focusCurrentItem();
|
|
1387
|
+
},
|
|
1388
|
+
// apply custom styles
|
|
1389
|
+
style: _util_constants_js__WEBPACK_IMPORTED_MODULE_12__[/* searchInputStyle */ "g"]
|
|
1390
|
+
});
|
|
1391
|
+
} // Render OptionItem and/or ActionItem elements.
|
|
1392
|
+
|
|
1393
|
+
|
|
1394
|
+
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["cloneElement"](component, { ...populatedProps,
|
|
1395
|
+
key: index,
|
|
1396
|
+
onClick: () => {
|
|
1397
|
+
this.handleItemClick(focusIndex, item);
|
|
1398
|
+
},
|
|
1399
|
+
// Only pass the ref if the item is focusable.
|
|
1400
|
+
ref: focusable ? currentRef : null,
|
|
1401
|
+
role: itemRole
|
|
1402
|
+
});
|
|
1403
|
+
});
|
|
1404
|
+
}
|
|
1311
1405
|
/**
|
|
1312
1406
|
* Process the items and wrap them into an array that react-window can
|
|
1313
|
-
* interpret
|
|
1407
|
+
* interpret.
|
|
1408
|
+
*
|
|
1409
|
+
* NOTE: The main difference with the collection in renderList() is that we
|
|
1410
|
+
* massage the items to be able to clone them later in
|
|
1411
|
+
* DropdownVirtualizedItem, where as renderList() clones the items directly.
|
|
1314
1412
|
*/
|
|
1315
1413
|
|
|
1316
1414
|
|
|
1317
|
-
|
|
1415
|
+
parseVirtualizedItems() {
|
|
1318
1416
|
let focusCounter = 0;
|
|
1319
1417
|
const itemRole = this.getItemRole();
|
|
1320
1418
|
return this.props.items.map((item, index) => {
|
|
1321
|
-
if (!
|
|
1419
|
+
if (!_separator_item_js__WEBPACK_IMPORTED_MODULE_10__[/* default */ "a"].isClassOf(item.component) && item.focusable) {
|
|
1322
1420
|
focusCounter += 1;
|
|
1323
1421
|
}
|
|
1324
1422
|
|
|
1325
1423
|
const focusIndex = focusCounter - 1;
|
|
1326
1424
|
|
|
1327
|
-
if (
|
|
1425
|
+
if (_search_text_input_js__WEBPACK_IMPORTED_MODULE_11__[/* default */ "a"].isClassOf(item.component)) {
|
|
1328
1426
|
return { ...item,
|
|
1329
1427
|
// override to avoid losing focus when pressing a key
|
|
1330
1428
|
onClick: () => {
|
|
@@ -1332,7 +1430,7 @@ class DropdownCore extends react__WEBPACK_IMPORTED_MODULE_0__["Component"] {
|
|
|
1332
1430
|
this.focusCurrentItem();
|
|
1333
1431
|
},
|
|
1334
1432
|
populatedProps: {
|
|
1335
|
-
style:
|
|
1433
|
+
style: _util_constants_js__WEBPACK_IMPORTED_MODULE_12__[/* searchInputStyle */ "g"],
|
|
1336
1434
|
// pass the current ref down to the input element
|
|
1337
1435
|
itemRef: this.state.itemRefs[focusIndex] ? this.state.itemRefs[focusIndex].ref : null
|
|
1338
1436
|
}
|
|
@@ -1343,21 +1441,26 @@ class DropdownCore extends react__WEBPACK_IMPORTED_MODULE_0__["Component"] {
|
|
|
1343
1441
|
role: itemRole,
|
|
1344
1442
|
ref: item.focusable ? this.state.itemRefs[focusIndex] ? this.state.itemRefs[focusIndex].ref : null : null,
|
|
1345
1443
|
onClick: () => {
|
|
1346
|
-
this.
|
|
1347
|
-
|
|
1348
|
-
if (item.component.props.onClick) {
|
|
1349
|
-
item.component.props.onClick();
|
|
1350
|
-
}
|
|
1351
|
-
|
|
1352
|
-
if (item.populatedProps.onClick) {
|
|
1353
|
-
item.populatedProps.onClick();
|
|
1354
|
-
}
|
|
1444
|
+
this.handleItemClick(focusIndex, item);
|
|
1355
1445
|
}
|
|
1356
1446
|
};
|
|
1357
1447
|
});
|
|
1358
1448
|
}
|
|
1449
|
+
/**
|
|
1450
|
+
* Render the items using a virtualized list
|
|
1451
|
+
*/
|
|
1452
|
+
|
|
1453
|
+
|
|
1454
|
+
renderVirtualizedList() {
|
|
1455
|
+
// preprocess items data to pass it to the renderer
|
|
1456
|
+
const virtualizedItems = this.parseVirtualizedItems();
|
|
1457
|
+
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_dropdown_core_virtualized_js__WEBPACK_IMPORTED_MODULE_9__[/* default */ "a"], {
|
|
1458
|
+
data: virtualizedItems,
|
|
1459
|
+
listRef: this.virtualizedListRef
|
|
1460
|
+
});
|
|
1461
|
+
}
|
|
1359
1462
|
|
|
1360
|
-
|
|
1463
|
+
renderDropdownMenu(listRenderer, isReferenceHidden) {
|
|
1361
1464
|
const {
|
|
1362
1465
|
dropdownStyle,
|
|
1363
1466
|
light,
|
|
@@ -1366,10 +1469,8 @@ class DropdownCore extends react__WEBPACK_IMPORTED_MODULE_0__["Component"] {
|
|
|
1366
1469
|
// It's only used if the element exists in the DOM
|
|
1367
1470
|
|
|
1368
1471
|
const openerStyle = openerElement && window.getComputedStyle(openerElement);
|
|
1369
|
-
const minDropdownWidth = openerStyle ? openerStyle.getPropertyValue("width") : 0;
|
|
1370
|
-
|
|
1371
|
-
const itemsList = this.parseItemsList();
|
|
1372
|
-
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_khanacademy_wonder_blocks_core__WEBPACK_IMPORTED_MODULE_8__["View"] // Stop propagation to prevent the mouseup listener on the
|
|
1472
|
+
const minDropdownWidth = openerStyle ? openerStyle.getPropertyValue("width") : 0;
|
|
1473
|
+
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_khanacademy_wonder_blocks_core__WEBPACK_IMPORTED_MODULE_6__["View"] // Stop propagation to prevent the mouseup listener on the
|
|
1373
1474
|
// document from closing the menu.
|
|
1374
1475
|
, {
|
|
1375
1476
|
onMouseUp: this.handleDropdownMouseUp,
|
|
@@ -1377,68 +1478,27 @@ class DropdownCore extends react__WEBPACK_IMPORTED_MODULE_0__["Component"] {
|
|
|
1377
1478
|
style: [styles.dropdown, light && styles.light, isReferenceHidden && styles.hidden, {
|
|
1378
1479
|
minWidth: minDropdownWidth
|
|
1379
1480
|
}, dropdownStyle]
|
|
1380
|
-
},
|
|
1381
|
-
data: itemsList,
|
|
1382
|
-
listRef: this.listRef
|
|
1383
|
-
}), this.maybeRenderNoResults());
|
|
1481
|
+
}, listRenderer, this.maybeRenderNoResults());
|
|
1384
1482
|
}
|
|
1385
1483
|
|
|
1386
1484
|
renderDropdown() {
|
|
1387
1485
|
const {
|
|
1388
1486
|
alignment,
|
|
1389
1487
|
openerElement
|
|
1390
|
-
} = this.props; //
|
|
1391
|
-
//
|
|
1392
|
-
//
|
|
1393
|
-
//
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
referenceElement: this.props.openerElement,
|
|
1405
|
-
strategy: "fixed",
|
|
1406
|
-
placement: alignment === "left" ? "bottom-start" : "bottom-end",
|
|
1407
|
-
modifiers: [{
|
|
1408
|
-
name: "preventOverflow",
|
|
1409
|
-
options: {
|
|
1410
|
-
rootBoundary: "viewport",
|
|
1411
|
-
// Allows to overlap the popper in case there's
|
|
1412
|
-
// no more vertical room in the viewport.
|
|
1413
|
-
altAxis: true,
|
|
1414
|
-
// Also needed to make sure the Popper will be
|
|
1415
|
-
// displayed correctly in different contexts
|
|
1416
|
-
// (e.g inside a Modal)
|
|
1417
|
-
tether: false
|
|
1418
|
-
}
|
|
1419
|
-
}]
|
|
1420
|
-
}, ({
|
|
1421
|
-
placement,
|
|
1422
|
-
ref,
|
|
1423
|
-
style,
|
|
1424
|
-
hasPopperEscaped,
|
|
1425
|
-
isReferenceHidden
|
|
1426
|
-
}) => {
|
|
1427
|
-
// For some reason react-popper includes `pointerEvents: "none"`
|
|
1428
|
-
// in the `style` it passes to us, but only when running the tests.
|
|
1429
|
-
const {
|
|
1430
|
-
pointerEvents: _,
|
|
1431
|
-
...restStyle
|
|
1432
|
-
} = style;
|
|
1433
|
-
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
|
|
1434
|
-
ref: ref,
|
|
1435
|
-
style: restStyle,
|
|
1436
|
-
"data-placement": placement
|
|
1437
|
-
}, this.renderItems(hasPopperEscaped || isReferenceHidden));
|
|
1438
|
-
}), modalHost);
|
|
1439
|
-
}
|
|
1440
|
-
|
|
1441
|
-
return null;
|
|
1488
|
+
} = this.props; // Preprocess the items that are used inside the Popper instance. By
|
|
1489
|
+
// doing this, we optimize the list to be processed only one time
|
|
1490
|
+
// instead of every time popper changes.
|
|
1491
|
+
// NOTE: This improves the performance impact of the dropdown by
|
|
1492
|
+
// reducing the execution time up to 2.5X.
|
|
1493
|
+
|
|
1494
|
+
const listRenderer = this.shouldVirtualizeList() ? this.renderVirtualizedList() : this.renderList();
|
|
1495
|
+
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_dropdown_popper_js__WEBPACK_IMPORTED_MODULE_13__[/* default */ "a"], {
|
|
1496
|
+
alignment: alignment,
|
|
1497
|
+
onPopperElement: popperElement => {
|
|
1498
|
+
this.popperElement = popperElement;
|
|
1499
|
+
},
|
|
1500
|
+
referenceElement: openerElement
|
|
1501
|
+
}, isReferenceHidden => this.renderDropdownMenu(listRenderer, isReferenceHidden));
|
|
1442
1502
|
}
|
|
1443
1503
|
|
|
1444
1504
|
render() {
|
|
@@ -1448,7 +1508,7 @@ class DropdownCore extends react__WEBPACK_IMPORTED_MODULE_0__["Component"] {
|
|
|
1448
1508
|
style,
|
|
1449
1509
|
className
|
|
1450
1510
|
} = this.props;
|
|
1451
|
-
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](
|
|
1511
|
+
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_khanacademy_wonder_blocks_core__WEBPACK_IMPORTED_MODULE_6__["View"], {
|
|
1452
1512
|
onKeyDown: this.handleKeyDown,
|
|
1453
1513
|
onKeyUp: this.handleKeyUp,
|
|
1454
1514
|
style: [styles.menuWrapper, style],
|
|
@@ -1461,21 +1521,21 @@ class DropdownCore extends react__WEBPACK_IMPORTED_MODULE_0__["Component"] {
|
|
|
1461
1521
|
DropdownCore.defaultProps = {
|
|
1462
1522
|
alignment: "left",
|
|
1463
1523
|
labels: {
|
|
1464
|
-
noResults:
|
|
1524
|
+
noResults: _util_constants_js__WEBPACK_IMPORTED_MODULE_12__[/* defaultLabels */ "d"].noResults
|
|
1465
1525
|
},
|
|
1466
1526
|
light: false
|
|
1467
1527
|
};
|
|
1468
|
-
const styles =
|
|
1528
|
+
const styles = aphrodite__WEBPACK_IMPORTED_MODULE_2__["StyleSheet"].create({
|
|
1469
1529
|
menuWrapper: {
|
|
1470
1530
|
width: "fit-content"
|
|
1471
1531
|
},
|
|
1472
1532
|
dropdown: {
|
|
1473
|
-
backgroundColor:
|
|
1533
|
+
backgroundColor: _khanacademy_wonder_blocks_color__WEBPACK_IMPORTED_MODULE_4___default.a.white,
|
|
1474
1534
|
borderRadius: 4,
|
|
1475
|
-
paddingTop:
|
|
1476
|
-
paddingBottom:
|
|
1477
|
-
border: `solid 1px ${
|
|
1478
|
-
boxShadow: `0px 8px 8px 0px ${Object(
|
|
1535
|
+
paddingTop: _khanacademy_wonder_blocks_spacing__WEBPACK_IMPORTED_MODULE_5___default.a.xxxSmall_4,
|
|
1536
|
+
paddingBottom: _khanacademy_wonder_blocks_spacing__WEBPACK_IMPORTED_MODULE_5___default.a.xxxSmall_4,
|
|
1537
|
+
border: `solid 1px ${_khanacademy_wonder_blocks_color__WEBPACK_IMPORTED_MODULE_4___default.a.offBlack16}`,
|
|
1538
|
+
boxShadow: `0px 8px 8px 0px ${Object(_khanacademy_wonder_blocks_color__WEBPACK_IMPORTED_MODULE_4__["fade"])(_khanacademy_wonder_blocks_color__WEBPACK_IMPORTED_MODULE_4___default.a.offBlack, 0.1)}`,
|
|
1479
1539
|
overflowY: "auto"
|
|
1480
1540
|
},
|
|
1481
1541
|
light: {
|
|
@@ -1487,12 +1547,12 @@ const styles = aphrodite__WEBPACK_IMPORTED_MODULE_3__["StyleSheet"].create({
|
|
|
1487
1547
|
visibility: "hidden"
|
|
1488
1548
|
},
|
|
1489
1549
|
noResult: {
|
|
1490
|
-
color:
|
|
1550
|
+
color: _khanacademy_wonder_blocks_color__WEBPACK_IMPORTED_MODULE_4___default.a.offBlack64,
|
|
1491
1551
|
alignSelf: "center",
|
|
1492
|
-
marginTop:
|
|
1552
|
+
marginTop: _khanacademy_wonder_blocks_spacing__WEBPACK_IMPORTED_MODULE_5___default.a.xxSmall_6
|
|
1493
1553
|
}
|
|
1494
1554
|
});
|
|
1495
|
-
/* harmony default export */ __webpack_exports__["a"] = (Object(
|
|
1555
|
+
/* harmony default export */ __webpack_exports__["a"] = (Object(_khanacademy_wonder_blocks_timing__WEBPACK_IMPORTED_MODULE_8__["withActionScheduler"])(DropdownCore));
|
|
1496
1556
|
|
|
1497
1557
|
/***/ }),
|
|
1498
1558
|
/* 16 */
|
|
@@ -1522,13 +1582,13 @@ module.exports = require("@khanacademy/wonder-blocks-timing");
|
|
|
1522
1582
|
/* harmony import */ var _khanacademy_wonder_blocks_color__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_color__WEBPACK_IMPORTED_MODULE_3__);
|
|
1523
1583
|
/* harmony import */ var _khanacademy_wonder_blocks_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5);
|
|
1524
1584
|
/* harmony import */ var _khanacademy_wonder_blocks_core__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_core__WEBPACK_IMPORTED_MODULE_4__);
|
|
1525
|
-
/* harmony import */ var _khanacademy_wonder_blocks_clickable__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(
|
|
1585
|
+
/* harmony import */ var _khanacademy_wonder_blocks_clickable__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(11);
|
|
1526
1586
|
/* harmony import */ var _khanacademy_wonder_blocks_clickable__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_clickable__WEBPACK_IMPORTED_MODULE_5__);
|
|
1527
1587
|
/* harmony import */ var _khanacademy_wonder_blocks_icon__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(6);
|
|
1528
1588
|
/* harmony import */ var _khanacademy_wonder_blocks_icon__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_icon__WEBPACK_IMPORTED_MODULE_6__);
|
|
1529
1589
|
/* harmony import */ var _khanacademy_wonder_blocks_spacing__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(3);
|
|
1530
1590
|
/* harmony import */ var _khanacademy_wonder_blocks_spacing__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_spacing__WEBPACK_IMPORTED_MODULE_7__);
|
|
1531
|
-
/* harmony import */ var _khanacademy_wonder_blocks_typography__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(
|
|
1591
|
+
/* harmony import */ var _khanacademy_wonder_blocks_typography__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(9);
|
|
1532
1592
|
/* harmony import */ var _khanacademy_wonder_blocks_typography__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_typography__WEBPACK_IMPORTED_MODULE_8__);
|
|
1533
1593
|
/* harmony import */ var _util_constants_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(2);
|
|
1534
1594
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
@@ -1758,7 +1818,7 @@ module.exports = require("react-window");
|
|
|
1758
1818
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ActionMenu; });
|
|
1759
1819
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
|
|
1760
1820
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
1761
|
-
/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
1821
|
+
/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8);
|
|
1762
1822
|
/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_1__);
|
|
1763
1823
|
/* harmony import */ var aphrodite__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4);
|
|
1764
1824
|
/* harmony import */ var aphrodite__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(aphrodite__WEBPACK_IMPORTED_MODULE_2__);
|
|
@@ -1766,7 +1826,7 @@ module.exports = require("react-window");
|
|
|
1766
1826
|
/* harmony import */ var _action_item_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(12);
|
|
1767
1827
|
/* harmony import */ var _option_item_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(13);
|
|
1768
1828
|
/* harmony import */ var _dropdown_core_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(15);
|
|
1769
|
-
/* harmony import */ var _action_menu_opener_core_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(
|
|
1829
|
+
/* harmony import */ var _action_menu_opener_core_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(32);
|
|
1770
1830
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
1771
1831
|
|
|
1772
1832
|
|
|
@@ -1972,13 +2032,13 @@ const styles = aphrodite__WEBPACK_IMPORTED_MODULE_2__["StyleSheet"].create({
|
|
|
1972
2032
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return SingleSelect; });
|
|
1973
2033
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
|
|
1974
2034
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
1975
|
-
/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
2035
|
+
/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8);
|
|
1976
2036
|
/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_1__);
|
|
1977
2037
|
/* harmony import */ var _dropdown_core_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(15);
|
|
1978
2038
|
/* harmony import */ var _dropdown_opener_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(14);
|
|
1979
2039
|
/* harmony import */ var _select_opener_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(18);
|
|
1980
2040
|
/* harmony import */ var _util_constants_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(2);
|
|
1981
|
-
/* harmony import */ var _search_text_input_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(
|
|
2041
|
+
/* harmony import */ var _search_text_input_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(10);
|
|
1982
2042
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
1983
2043
|
|
|
1984
2044
|
|
|
@@ -2248,14 +2308,14 @@ SingleSelect.defaultProps = {
|
|
|
2248
2308
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return MultiSelect; });
|
|
2249
2309
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
|
|
2250
2310
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
2251
|
-
/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
2311
|
+
/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8);
|
|
2252
2312
|
/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_1__);
|
|
2253
2313
|
/* harmony import */ var _action_item_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(12);
|
|
2254
2314
|
/* harmony import */ var _dropdown_core_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(15);
|
|
2255
2315
|
/* harmony import */ var _dropdown_opener_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(14);
|
|
2256
|
-
/* harmony import */ var _search_text_input_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(
|
|
2316
|
+
/* harmony import */ var _search_text_input_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(10);
|
|
2257
2317
|
/* harmony import */ var _select_opener_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(18);
|
|
2258
|
-
/* harmony import */ var _separator_item_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(
|
|
2318
|
+
/* harmony import */ var _separator_item_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(7);
|
|
2259
2319
|
/* harmony import */ var _util_constants_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(2);
|
|
2260
2320
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2261
2321
|
|
|
@@ -2806,32 +2866,20 @@ const styles = aphrodite__WEBPACK_IMPORTED_MODULE_1__["StyleSheet"].create({
|
|
|
2806
2866
|
|
|
2807
2867
|
/***/ }),
|
|
2808
2868
|
/* 26 */
|
|
2809
|
-
/***/ (function(module, exports) {
|
|
2810
|
-
|
|
2811
|
-
module.exports = require("react-popper");
|
|
2812
|
-
|
|
2813
|
-
/***/ }),
|
|
2814
|
-
/* 27 */
|
|
2815
|
-
/***/ (function(module, exports) {
|
|
2816
|
-
|
|
2817
|
-
module.exports = require("@khanacademy/wonder-blocks-modal");
|
|
2818
|
-
|
|
2819
|
-
/***/ }),
|
|
2820
|
-
/* 28 */
|
|
2821
2869
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
2822
2870
|
|
|
2823
2871
|
"use strict";
|
|
2824
2872
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
|
|
2825
2873
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
2826
|
-
/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
2874
|
+
/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8);
|
|
2827
2875
|
/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_1__);
|
|
2828
2876
|
/* harmony import */ var react_window__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(19);
|
|
2829
2877
|
/* harmony import */ var react_window__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_window__WEBPACK_IMPORTED_MODULE_2__);
|
|
2830
2878
|
/* harmony import */ var _khanacademy_wonder_blocks_timing__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(17);
|
|
2831
2879
|
/* harmony import */ var _khanacademy_wonder_blocks_timing__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_timing__WEBPACK_IMPORTED_MODULE_3__);
|
|
2832
|
-
/* harmony import */ var _dropdown_core_virtualized_item_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
|
|
2833
|
-
/* harmony import */ var _search_text_input_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(
|
|
2834
|
-
/* harmony import */ var _separator_item_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(
|
|
2880
|
+
/* harmony import */ var _dropdown_core_virtualized_item_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(27);
|
|
2881
|
+
/* harmony import */ var _search_text_input_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(10);
|
|
2882
|
+
/* harmony import */ var _separator_item_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(7);
|
|
2835
2883
|
/* harmony import */ var _util_constants_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(2);
|
|
2836
2884
|
|
|
2837
2885
|
|
|
@@ -3040,13 +3088,13 @@ class DropdownCoreVirtualized extends react__WEBPACK_IMPORTED_MODULE_0__["Compon
|
|
|
3040
3088
|
/* harmony default export */ __webpack_exports__["a"] = (Object(_khanacademy_wonder_blocks_timing__WEBPACK_IMPORTED_MODULE_3__["withActionScheduler"])(DropdownCoreVirtualized));
|
|
3041
3089
|
|
|
3042
3090
|
/***/ }),
|
|
3043
|
-
/*
|
|
3091
|
+
/* 27 */
|
|
3044
3092
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
3045
3093
|
|
|
3046
3094
|
"use strict";
|
|
3047
3095
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
|
|
3048
3096
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
3049
|
-
/* harmony import */ var _separator_item_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
3097
|
+
/* harmony import */ var _separator_item_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7);
|
|
3050
3098
|
|
|
3051
3099
|
|
|
3052
3100
|
|
|
@@ -3094,13 +3142,101 @@ class DropdownVirtualizedItem extends react__WEBPACK_IMPORTED_MODULE_0__["Compon
|
|
|
3094
3142
|
/* harmony default export */ __webpack_exports__["a"] = (DropdownVirtualizedItem);
|
|
3095
3143
|
|
|
3096
3144
|
/***/ }),
|
|
3097
|
-
/*
|
|
3145
|
+
/* 28 */
|
|
3098
3146
|
/***/ (function(module, exports) {
|
|
3099
3147
|
|
|
3100
3148
|
module.exports = require("@khanacademy/wonder-blocks-icon-button");
|
|
3101
3149
|
|
|
3150
|
+
/***/ }),
|
|
3151
|
+
/* 29 */
|
|
3152
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
3153
|
+
|
|
3154
|
+
"use strict";
|
|
3155
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return DropdownPopper; });
|
|
3156
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
|
|
3157
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
3158
|
+
/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8);
|
|
3159
|
+
/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_1__);
|
|
3160
|
+
/* harmony import */ var react_popper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(30);
|
|
3161
|
+
/* harmony import */ var react_popper__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_popper__WEBPACK_IMPORTED_MODULE_2__);
|
|
3162
|
+
/* harmony import */ var _khanacademy_wonder_blocks_modal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(31);
|
|
3163
|
+
/* harmony import */ var _khanacademy_wonder_blocks_modal__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_modal__WEBPACK_IMPORTED_MODULE_3__);
|
|
3164
|
+
|
|
3165
|
+
|
|
3166
|
+
|
|
3167
|
+
|
|
3168
|
+
const modifiers = [{
|
|
3169
|
+
name: "preventOverflow",
|
|
3170
|
+
options: {
|
|
3171
|
+
rootBoundary: "viewport",
|
|
3172
|
+
// Allows to overlap the popper in case there's no more vertical
|
|
3173
|
+
// room in the viewport.
|
|
3174
|
+
altAxis: true,
|
|
3175
|
+
// Also needed to make sure the Popper will be displayed correctly
|
|
3176
|
+
// in different contexts (e.g inside a Modal)
|
|
3177
|
+
tether: false
|
|
3178
|
+
}
|
|
3179
|
+
}];
|
|
3180
|
+
|
|
3181
|
+
/**
|
|
3182
|
+
* A wrapper for PopperJS that renders the children inside a portal.
|
|
3183
|
+
*/
|
|
3184
|
+
function DropdownPopper({
|
|
3185
|
+
children,
|
|
3186
|
+
alignment = "left",
|
|
3187
|
+
onPopperElement,
|
|
3188
|
+
referenceElement
|
|
3189
|
+
}) {
|
|
3190
|
+
// If we are in a modal, we find where we should be portalling the menu by
|
|
3191
|
+
// using the helper function from the modal package on the opener element.
|
|
3192
|
+
// If we are not in a modal, we use body as the location to portal to.
|
|
3193
|
+
const modalHost = Object(_khanacademy_wonder_blocks_modal__WEBPACK_IMPORTED_MODULE_3__["maybeGetPortalMountedModalHostElement"])(referenceElement) || document.querySelector("body");
|
|
3194
|
+
|
|
3195
|
+
if (!modalHost) {
|
|
3196
|
+
return null;
|
|
3197
|
+
}
|
|
3198
|
+
|
|
3199
|
+
return /*#__PURE__*/react_dom__WEBPACK_IMPORTED_MODULE_1___default.a.createPortal( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react_popper__WEBPACK_IMPORTED_MODULE_2__["Popper"], {
|
|
3200
|
+
innerRef: node => {
|
|
3201
|
+
if (node && onPopperElement) {
|
|
3202
|
+
onPopperElement(node);
|
|
3203
|
+
}
|
|
3204
|
+
},
|
|
3205
|
+
referenceElement: referenceElement,
|
|
3206
|
+
strategy: "fixed",
|
|
3207
|
+
placement: alignment === "left" ? "bottom-start" : "bottom-end",
|
|
3208
|
+
modifiers: modifiers
|
|
3209
|
+
}, ({
|
|
3210
|
+
placement,
|
|
3211
|
+
ref,
|
|
3212
|
+
style,
|
|
3213
|
+
hasPopperEscaped,
|
|
3214
|
+
isReferenceHidden
|
|
3215
|
+
}) => {
|
|
3216
|
+
const shouldHidePopper = !!(hasPopperEscaped || isReferenceHidden);
|
|
3217
|
+
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
|
|
3218
|
+
ref: ref,
|
|
3219
|
+
style: style,
|
|
3220
|
+
"data-test-id": "dropdown-popper",
|
|
3221
|
+
"data-placement": placement
|
|
3222
|
+
}, children(shouldHidePopper));
|
|
3223
|
+
}), modalHost);
|
|
3224
|
+
}
|
|
3225
|
+
|
|
3226
|
+
/***/ }),
|
|
3227
|
+
/* 30 */
|
|
3228
|
+
/***/ (function(module, exports) {
|
|
3229
|
+
|
|
3230
|
+
module.exports = require("react-popper");
|
|
3231
|
+
|
|
3102
3232
|
/***/ }),
|
|
3103
3233
|
/* 31 */
|
|
3234
|
+
/***/ (function(module, exports) {
|
|
3235
|
+
|
|
3236
|
+
module.exports = require("@khanacademy/wonder-blocks-modal");
|
|
3237
|
+
|
|
3238
|
+
/***/ }),
|
|
3239
|
+
/* 32 */
|
|
3104
3240
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
3105
3241
|
|
|
3106
3242
|
"use strict";
|
|
@@ -3109,7 +3245,7 @@ module.exports = require("@khanacademy/wonder-blocks-icon-button");
|
|
|
3109
3245
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
3110
3246
|
/* harmony import */ var aphrodite__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4);
|
|
3111
3247
|
/* harmony import */ var aphrodite__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(aphrodite__WEBPACK_IMPORTED_MODULE_1__);
|
|
3112
|
-
/* harmony import */ var _khanacademy_wonder_blocks_typography__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
|
|
3248
|
+
/* harmony import */ var _khanacademy_wonder_blocks_typography__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9);
|
|
3113
3249
|
/* harmony import */ var _khanacademy_wonder_blocks_typography__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_typography__WEBPACK_IMPORTED_MODULE_2__);
|
|
3114
3250
|
/* harmony import */ var _khanacademy_wonder_blocks_color__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1);
|
|
3115
3251
|
/* harmony import */ var _khanacademy_wonder_blocks_color__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_color__WEBPACK_IMPORTED_MODULE_3__);
|
|
@@ -3119,7 +3255,7 @@ module.exports = require("@khanacademy/wonder-blocks-icon-button");
|
|
|
3119
3255
|
/* harmony import */ var _khanacademy_wonder_blocks_icon__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_icon__WEBPACK_IMPORTED_MODULE_5__);
|
|
3120
3256
|
/* harmony import */ var _khanacademy_wonder_blocks_spacing__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(3);
|
|
3121
3257
|
/* harmony import */ var _khanacademy_wonder_blocks_spacing__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_spacing__WEBPACK_IMPORTED_MODULE_6__);
|
|
3122
|
-
/* harmony import */ var _khanacademy_wonder_blocks_layout__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(
|
|
3258
|
+
/* harmony import */ var _khanacademy_wonder_blocks_layout__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(33);
|
|
3123
3259
|
/* harmony import */ var _khanacademy_wonder_blocks_layout__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_layout__WEBPACK_IMPORTED_MODULE_7__);
|
|
3124
3260
|
/* harmony import */ var _util_constants_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(2);
|
|
3125
3261
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
@@ -3275,13 +3411,13 @@ const _generateStyles = color => {
|
|
|
3275
3411
|
};
|
|
3276
3412
|
|
|
3277
3413
|
/***/ }),
|
|
3278
|
-
/*
|
|
3414
|
+
/* 33 */
|
|
3279
3415
|
/***/ (function(module, exports) {
|
|
3280
3416
|
|
|
3281
3417
|
module.exports = require("@khanacademy/wonder-blocks-layout");
|
|
3282
3418
|
|
|
3283
3419
|
/***/ }),
|
|
3284
|
-
/*
|
|
3420
|
+
/* 34 */
|
|
3285
3421
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
3286
3422
|
|
|
3287
3423
|
"use strict";
|
|
@@ -3292,7 +3428,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
3292
3428
|
/* harmony import */ var _components_option_item_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(13);
|
|
3293
3429
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "OptionItem", function() { return _components_option_item_js__WEBPACK_IMPORTED_MODULE_1__["a"]; });
|
|
3294
3430
|
|
|
3295
|
-
/* harmony import */ var _components_separator_item_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
|
|
3431
|
+
/* harmony import */ var _components_separator_item_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7);
|
|
3296
3432
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SeparatorItem", function() { return _components_separator_item_js__WEBPACK_IMPORTED_MODULE_2__["a"]; });
|
|
3297
3433
|
|
|
3298
3434
|
/* harmony import */ var _components_action_menu_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(20);
|