@zohodesk/components 1.0.0-alpha-271 → 1.0.0-alpha-272
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/README.md +4 -0
- package/es/Accordion/Accordion.js +7 -3
- package/es/Accordion/AccordionItem.js +4 -2
- package/es/Animation/Animation.js +3 -3
- package/es/AppContainer/AppContainer.js +13 -5
- package/es/Avatar/Avatar.js +23 -11
- package/es/AvatarTeam/AvatarTeam.js +3 -3
- package/es/Button/Button.js +4 -3
- package/es/Buttongroup/Buttongroup.js +3 -3
- package/es/Card/Card.js +21 -10
- package/es/CheckBox/CheckBox.js +5 -3
- package/es/DateTime/CalendarView.js +32 -20
- package/es/DateTime/DateTime.js +75 -10
- package/es/DateTime/DateTimePopupFooter.js +4 -2
- package/es/DateTime/DateTimePopupHeader.js +8 -2
- package/es/DateTime/DateWidget.js +98 -35
- package/es/DateTime/DaysRow.js +4 -2
- package/es/DateTime/Time.js +10 -2
- package/es/DateTime/YearView.js +28 -4
- package/es/DateTime/__tests__/CalendarView.spec.js +1 -0
- package/es/DateTime/__tests__/DateTime.spec.js +1 -0
- package/es/DateTime/__tests__/DateWidget.spec.js +2 -3
- package/es/DateTime/common.js +3 -0
- package/es/DateTime/constants.js +1 -0
- package/es/DateTime/dateFormatUtils/dateFormat.js +63 -30
- package/es/DateTime/dateFormatUtils/dateFormats.js +0 -1
- package/es/DateTime/dateFormatUtils/dayChange.js +13 -4
- package/es/DateTime/dateFormatUtils/index.js +32 -2
- package/es/DateTime/dateFormatUtils/monthChange.js +8 -0
- package/es/DateTime/dateFormatUtils/timeChange.js +22 -6
- package/es/DateTime/dateFormatUtils/yearChange.js +11 -2
- package/es/DateTime/objectUtils.js +14 -20
- package/es/DateTime/props/defaultProps.js +2 -1
- package/es/DateTime/typeChecker.js +3 -0
- package/es/DateTime/validator.js +58 -6
- package/es/DropBox/DropBox.js +6 -2
- package/es/DropBox/DropBoxElement/DropBoxElement.js +7 -0
- package/es/DropBox/DropBoxElement/css/cssJSLogic.js +5 -3
- package/es/DropBox/DropBoxElement/useDropboxPosCalc.js +3 -0
- package/es/DropBox/props/defaultProps.js +1 -2
- package/es/DropBox/props/propTypes.js +1 -2
- package/es/DropDown/DropDown.js +8 -4
- package/es/DropDown/DropDownHeading.js +4 -5
- package/es/DropDown/DropDownItem.js +6 -0
- package/es/DropDown/DropDownSearch.js +4 -0
- package/es/DropDown/DropDownSeparator.js +1 -0
- package/es/DropDown/__tests__/DropDown.spec.js +1 -2
- package/es/Heading/Heading.js +2 -3
- package/es/Label/Label.js +2 -3
- package/es/Layout/Box.js +13 -0
- package/es/Layout/Container.js +12 -1
- package/es/Layout/index.js +1 -2
- package/es/ListItem/ListContainer.js +8 -3
- package/es/ListItem/ListItem.js +9 -3
- package/es/ListItem/ListItemWithAvatar.js +9 -3
- package/es/ListItem/ListItemWithCheckBox.js +7 -2
- package/es/ListItem/ListItemWithIcon.js +8 -3
- package/es/ListItem/ListItemWithRadio.js +7 -3
- package/es/Modal/Modal.js +28 -11
- package/es/MultiSelect/AdvancedGroupMultiSelect.js +89 -13
- package/es/MultiSelect/AdvancedMultiSelect.js +32 -9
- package/es/MultiSelect/EmptyState.js +2 -0
- package/es/MultiSelect/MultiSelect.js +99 -32
- package/es/MultiSelect/MultiSelectHeader.js +3 -0
- package/es/MultiSelect/MultiSelectWithAvatar.js +12 -6
- package/es/MultiSelect/SelectedOptions.js +6 -3
- package/es/MultiSelect/Suggestions.js +7 -3
- package/es/MultiSelect/__tests__/MultiSelect.spec.js +4 -6
- package/es/MultiSelect/props/propTypes.js +2 -0
- package/es/PopOver/PopOver.js +18 -2
- package/es/PopOver/__tests__/PopOver.spec.js +2 -1
- package/es/Popup/Popup.js +77 -24
- package/es/Popup/__tests__/Popup.spec.js +17 -5
- package/es/Popup/viewPort.js +16 -4
- package/es/Provider/IdProvider.js +10 -5
- package/es/Provider/LibraryContext.js +6 -4
- package/es/Provider/NumberGenerator/NumberGenerator.js +21 -7
- package/es/Provider/ZindexProvider.js +9 -2
- package/es/Radio/Radio.js +4 -2
- package/es/Responsive/CustomResponsive.js +30 -18
- package/es/Responsive/RefWrapper.js +6 -7
- package/es/Responsive/ResizeComponent.js +35 -25
- package/es/Responsive/ResizeObserver.js +26 -6
- package/es/Responsive/Responsive.js +34 -20
- package/es/Responsive/index.js +1 -3
- package/es/Responsive/sizeObservers.js +28 -7
- package/es/Responsive/utils/index.js +7 -5
- package/es/Responsive/utils/shallowCompare.js +7 -2
- package/es/Responsive/windowResizeObserver.js +7 -0
- package/es/ResponsiveDropBox/ResponsiveDropBox.js +4 -0
- package/es/Ribbon/Ribbon.js +3 -2
- package/es/RippleEffect/RippleEffect.js +1 -3
- package/es/Select/GroupSelect.js +58 -14
- package/es/Select/Select.js +79 -33
- package/es/Select/SelectWithAvatar.js +17 -4
- package/es/Select/SelectWithIcon.js +46 -5
- package/es/Select/__tests__/Select.spec.js +6 -8
- package/es/Select/props/propTypes.js +1 -0
- package/es/Stencils/Stencils.js +3 -3
- package/es/Switch/Switch.js +5 -3
- package/es/Tab/Tab.js +4 -4
- package/es/Tab/TabContent.js +1 -0
- package/es/Tab/TabContentWrapper.js +2 -0
- package/es/Tab/TabWrapper.js +5 -2
- package/es/Tab/Tabs.js +54 -7
- package/es/Tab/__tests__/Tab.spec.js +1 -3
- package/es/Tab/__tests__/TabWrapper.spec.js +1 -0
- package/es/Tag/Tag.js +6 -3
- package/es/TextBox/TextBox.js +15 -3
- package/es/TextBox/__tests__/TextBox.spec.js +1 -4
- package/es/TextBoxIcon/TextBoxIcon.js +9 -2
- package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +2 -7
- package/es/Textarea/Textarea.js +12 -3
- package/es/Textarea/__tests__/Textarea.spec.js +2 -2
- package/es/Tooltip/Tooltip.js +58 -14
- package/es/Tooltip/__tests__/Tooltip.spec.js +5 -0
- package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +3 -2
- package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +7 -5
- package/es/deprecated/PortalLayer/PortalLayer.js +25 -20
- package/es/semantic/Button/Button.js +3 -2
- package/es/utils/Common.js +54 -9
- package/es/utils/ContextOptimizer.js +4 -5
- package/es/utils/__tests__/debounce.spec.js +2 -2
- package/es/utils/constructFullName.js +2 -0
- package/es/utils/css/compileClassNames.js +5 -0
- package/es/utils/css/mergeStyle.js +7 -6
- package/es/utils/css/utils.js +1 -0
- package/es/utils/datetime/GMTZones.js +48 -0
- package/es/utils/datetime/common.js +31 -7
- package/es/utils/debounce.js +5 -1
- package/es/utils/dropDownUtils.js +68 -11
- package/es/utils/getInitial.js +4 -0
- package/es/utils/shallowEqual.js +6 -0
- package/lib/Accordion/Accordion.js +42 -18
- package/lib/Accordion/AccordionItem.js +40 -18
- package/lib/Accordion/__tests__/Accordion.spec.js +3 -0
- package/lib/Accordion/index.js +3 -0
- package/lib/Accordion/props/propTypes.js +3 -0
- package/lib/Animation/Animation.js +38 -18
- package/lib/Animation/__tests__/Animation.spec.js +11 -7
- package/lib/Animation/props/propTypes.js +3 -0
- package/lib/AppContainer/AppContainer.js +56 -21
- package/lib/AppContainer/props/propTypes.js +3 -0
- package/lib/Avatar/Avatar.js +78 -38
- package/lib/Avatar/__tests__/Avatar.spec.js +44 -0
- package/lib/Avatar/props/propTypes.js +3 -0
- package/lib/AvatarTeam/AvatarTeam.js +52 -30
- package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +13 -0
- package/lib/AvatarTeam/props/propTypes.js +3 -0
- package/lib/Button/Button.js +31 -20
- package/lib/Button/css/cssJSLogic.js +18 -17
- package/lib/Button/index.js +3 -0
- package/lib/Button/props/defaultProps.js +2 -0
- package/lib/Button/props/propTypes.js +3 -0
- package/lib/Buttongroup/Buttongroup.js +32 -12
- package/lib/Buttongroup/__test__/Buttongroup.spec.js +10 -0
- package/lib/Buttongroup/props/propTypes.js +3 -0
- package/lib/Card/Card.js +102 -46
- package/lib/Card/__tests__/Card.spec.js +10 -1
- package/lib/Card/index.js +4 -0
- package/lib/Card/props/propTypes.js +3 -0
- package/lib/CheckBox/CheckBox.js +71 -47
- package/lib/CheckBox/__tests__/CheckBox.spec.js +3 -0
- package/lib/CheckBox/props/propTypes.js +3 -0
- package/lib/DateTime/CalendarView.js +82 -42
- package/lib/DateTime/DateTime.js +246 -158
- package/lib/DateTime/DateTimePopupFooter.js +31 -8
- package/lib/DateTime/DateTimePopupHeader.js +48 -17
- package/lib/DateTime/DateWidget.js +352 -250
- package/lib/DateTime/DaysRow.js +27 -5
- package/lib/DateTime/Time.js +73 -32
- package/lib/DateTime/YearView.js +77 -28
- package/lib/DateTime/__tests__/CalendarView.spec.js +13 -5
- package/lib/DateTime/__tests__/DateTime.spec.js +51 -37
- package/lib/DateTime/__tests__/DateWidget.spec.js +10 -8
- package/lib/DateTime/common.js +6 -0
- package/lib/DateTime/constants.js +1 -0
- package/lib/DateTime/dateFormatUtils/dateFormat.js +184 -122
- package/lib/DateTime/dateFormatUtils/dateFormats.js +0 -1
- package/lib/DateTime/dateFormatUtils/dayChange.js +14 -7
- package/lib/DateTime/dateFormatUtils/index.js +74 -16
- package/lib/DateTime/dateFormatUtils/monthChange.js +19 -9
- package/lib/DateTime/dateFormatUtils/timeChange.js +54 -22
- package/lib/DateTime/dateFormatUtils/yearChange.js +22 -11
- package/lib/DateTime/index.js +2 -0
- package/lib/DateTime/objectUtils.js +24 -20
- package/lib/DateTime/props/defaultProps.js +2 -1
- package/lib/DateTime/props/propTypes.js +11 -1
- package/lib/DateTime/typeChecker.js +4 -0
- package/lib/DateTime/validator.js +73 -10
- package/lib/DropBox/DropBox.js +34 -10
- package/lib/DropBox/DropBoxElement/DropBoxElement.js +59 -38
- package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +42 -34
- package/lib/DropBox/DropBoxElement/props/propTypes.js +3 -0
- package/lib/DropBox/DropBoxElement/useDropboxPosCalc.js +14 -9
- package/lib/DropBox/__tests__/DropBox.spec.js +6 -2
- package/lib/DropBox/css/cssJSLogic.js +3 -1
- package/lib/DropBox/props/defaultProps.js +8 -4
- package/lib/DropBox/props/propTypes.js +10 -4
- package/lib/DropDown/DropDown.js +52 -8
- package/lib/DropDown/DropDownHeading.js +39 -20
- package/lib/DropDown/DropDownItem.js +42 -20
- package/lib/DropDown/DropDownSearch.js +40 -17
- package/lib/DropDown/DropDownSeparator.js +24 -4
- package/lib/DropDown/__tests__/DropDown.spec.js +15 -9
- package/lib/DropDown/__tests__/DropDownItem.spec.js +9 -4
- package/lib/DropDown/__tests__/DropDownSearch.spec.js +3 -0
- package/lib/DropDown/index.js +9 -0
- package/lib/DropDown/props/propTypes.js +6 -4
- package/lib/Heading/Heading.js +37 -15
- package/lib/Heading/props/propTypes.js +3 -0
- package/lib/Label/Label.js +39 -19
- package/lib/Label/__tests__/Label.spec.js +14 -1
- package/lib/Label/props/propTypes.js +3 -0
- package/lib/Layout/Box.js +31 -11
- package/lib/Layout/Container.js +29 -10
- package/lib/Layout/__tests__/Box.spec.js +65 -49
- package/lib/Layout/__tests__/Container.spec.js +67 -50
- package/lib/Layout/index.js +3 -0
- package/lib/Layout/props/propTypes.js +3 -0
- package/lib/Layout/utils.js +10 -0
- package/lib/ListItem/ListContainer.js +48 -27
- package/lib/ListItem/ListItem.js +69 -45
- package/lib/ListItem/ListItemWithAvatar.js +75 -48
- package/lib/ListItem/ListItemWithCheckBox.js +64 -39
- package/lib/ListItem/ListItemWithIcon.js +68 -44
- package/lib/ListItem/ListItemWithRadio.js +65 -41
- package/lib/ListItem/index.js +7 -0
- package/lib/ListItem/props/propTypes.js +6 -4
- package/lib/Modal/Modal.js +45 -10
- package/lib/Modal/props/propTypes.js +3 -0
- package/lib/MultiSelect/AdvancedGroupMultiSelect.js +294 -166
- package/lib/MultiSelect/AdvancedMultiSelect.js +202 -125
- package/lib/MultiSelect/EmptyState.js +45 -24
- package/lib/MultiSelect/MultiSelect.js +323 -206
- package/lib/MultiSelect/MultiSelectHeader.js +30 -8
- package/lib/MultiSelect/MultiSelectWithAvatar.js +105 -63
- package/lib/MultiSelect/SelectedOptions.js +43 -17
- package/lib/MultiSelect/Suggestions.js +64 -32
- package/lib/MultiSelect/__tests__/MultiSelect.spec.js +86 -75
- package/lib/MultiSelect/index.js +5 -0
- package/lib/MultiSelect/props/defaultProps.js +2 -0
- package/lib/MultiSelect/props/propTypes.js +5 -0
- package/lib/PopOver/PopOver.js +95 -49
- package/lib/PopOver/__tests__/PopOver.spec.js +4 -1
- package/lib/PopOver/index.js +4 -0
- package/lib/PopOver/props/propTypes.js +3 -0
- package/lib/Popup/Popup.js +158 -81
- package/lib/Popup/__tests__/Popup.spec.js +43 -8
- package/lib/Popup/viewPort.js +28 -14
- package/lib/Provider/AvatarSize.js +4 -0
- package/lib/Provider/Config.js +2 -0
- package/lib/Provider/CssProvider.js +4 -0
- package/lib/Provider/IdProvider.js +17 -6
- package/lib/Provider/LibraryContext.js +35 -15
- package/lib/Provider/LibraryContextInit.js +4 -0
- package/lib/Provider/NumberGenerator/NumberGenerator.js +44 -15
- package/lib/Provider/ZindexProvider.js +15 -3
- package/lib/Provider/index.js +5 -0
- package/lib/Radio/Radio.js +61 -38
- package/lib/Radio/__tests__/Radiospec.js +9 -5
- package/lib/Radio/props/propTypes.js +3 -0
- package/lib/Responsive/CustomResponsive.js +73 -29
- package/lib/Responsive/RefWrapper.js +17 -11
- package/lib/Responsive/ResizeComponent.js +62 -36
- package/lib/Responsive/ResizeObserver.js +24 -10
- package/lib/Responsive/Responsive.js +80 -30
- package/lib/Responsive/index.js +4 -0
- package/lib/Responsive/props/propTypes.js +3 -0
- package/lib/Responsive/sizeObservers.js +53 -17
- package/lib/Responsive/utils/index.js +11 -3
- package/lib/Responsive/utils/shallowCompare.js +11 -2
- package/lib/Responsive/windowResizeObserver.js +8 -0
- package/lib/ResponsiveDropBox/ResponsiveDropBox.js +45 -17
- package/lib/ResponsiveDropBox/props/propTypes.js +3 -0
- package/lib/Ribbon/Ribbon.js +33 -13
- package/lib/Ribbon/__tests__/Ribbon.spec.js +22 -0
- package/lib/Ribbon/props/propTypes.js +3 -0
- package/lib/RippleEffect/RippleEffect.js +18 -10
- package/lib/RippleEffect/props/propTypes.js +3 -0
- package/lib/Select/GroupSelect.js +229 -130
- package/lib/Select/Select.js +290 -209
- package/lib/Select/SelectWithAvatar.js +102 -56
- package/lib/Select/SelectWithIcon.js +132 -76
- package/lib/Select/__tests__/Select.spec.js +133 -91
- package/lib/Select/index.js +5 -0
- package/lib/Select/props/defaultProps.js +5 -4
- package/lib/Select/props/propTypes.js +4 -0
- package/lib/Stencils/Stencils.js +29 -10
- package/lib/Stencils/__tests__/Stencils.spec.js +12 -0
- package/lib/Stencils/props/propTypes.js +3 -0
- package/lib/Switch/Switch.js +57 -34
- package/lib/Switch/props/propTypes.js +3 -0
- package/lib/Tab/Tab.js +40 -27
- package/lib/Tab/TabContent.js +12 -5
- package/lib/Tab/TabContentWrapper.js +13 -6
- package/lib/Tab/TabWrapper.js +37 -19
- package/lib/Tab/Tabs.js +171 -91
- package/lib/Tab/__tests__/Tab.spec.js +67 -58
- package/lib/Tab/__tests__/TabContent.spec.js +10 -6
- package/lib/Tab/__tests__/TabContentWrapper.spec.js +28 -20
- package/lib/Tab/__tests__/TabWrapper.spec.js +12 -0
- package/lib/Tab/__tests__/Tabs.spec.js +53 -39
- package/lib/Tab/index.js +6 -0
- package/lib/Tab/props/propTypes.js +3 -0
- package/lib/Tag/Tag.js +72 -43
- package/lib/Tag/__tests__/Tag.spec.js +14 -8
- package/lib/Tag/props/propTypes.js +3 -0
- package/lib/TextBox/TextBox.js +85 -59
- package/lib/TextBox/__tests__/TextBox.spec.js +14 -4
- package/lib/TextBox/props/propTypes.js +6 -4
- package/lib/TextBoxIcon/TextBoxIcon.js +79 -52
- package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +14 -5
- package/lib/TextBoxIcon/props/propTypes.js +3 -0
- package/lib/Textarea/Textarea.js +54 -29
- package/lib/Textarea/__tests__/Textarea.spec.js +14 -2
- package/lib/Textarea/props/propTypes.js +3 -0
- package/lib/Tooltip/Tooltip.js +94 -31
- package/lib/Tooltip/__tests__/Tooltip.spec.js +24 -3
- package/lib/Tooltip/props/propTypes.js +3 -0
- package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +40 -16
- package/lib/VelocityAnimation/VelocityAnimation/props/propTypes.js +3 -0
- package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +53 -25
- package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +3 -0
- package/lib/VelocityAnimation/index.js +3 -0
- package/lib/css.js +40 -0
- package/lib/deprecated/PortalLayer/PortalLayer.js +46 -23
- package/lib/deprecated/PortalLayer/props/propTypes.js +3 -0
- package/lib/index.js +57 -0
- package/lib/semantic/Button/Button.js +42 -22
- package/lib/semantic/Button/props/propTypes.js +3 -0
- package/lib/semantic/index.js +2 -0
- package/lib/utils/Common.js +110 -18
- package/lib/utils/ContextOptimizer.js +16 -10
- package/lib/utils/__tests__/constructFullName.spec.js +1 -0
- package/lib/utils/__tests__/debounce.spec.js +3 -2
- package/lib/utils/__tests__/getInitial.spec.js +1 -0
- package/lib/utils/constructFullName.js +13 -4
- package/lib/utils/css/compileClassNames.js +6 -0
- package/lib/utils/css/mergeStyle.js +10 -7
- package/lib/utils/css/utils.js +8 -0
- package/lib/utils/datetime/GMTZones.js +55 -0
- package/lib/utils/datetime/common.js +52 -7
- package/lib/utils/debounce.js +6 -1
- package/lib/utils/dropDownUtils.js +175 -59
- package/lib/utils/dummyFunction.js +2 -0
- package/lib/utils/getHTMLFontSize.js +1 -0
- package/lib/utils/getInitial.js +6 -0
- package/lib/utils/index.js +4 -0
- package/lib/utils/scrollTo.js +2 -0
- package/lib/utils/shallowEqual.js +8 -0
- package/package.json +1 -1
package/lib/Select/Select.js
CHANGED
|
@@ -1,55 +1,93 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports["default"] = exports.SelectComponent = void 0;
|
|
9
|
+
|
|
8
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
|
|
9
12
|
var _defaultProps = require("./props/defaultProps");
|
|
13
|
+
|
|
10
14
|
var _propTypes = require("./props/propTypes");
|
|
15
|
+
|
|
11
16
|
var _Popup = _interopRequireDefault(require("../Popup/Popup"));
|
|
17
|
+
|
|
12
18
|
var _TextBoxIcon = _interopRequireDefault(require("../TextBoxIcon/TextBoxIcon"));
|
|
19
|
+
|
|
13
20
|
var _Layout = require("../Layout");
|
|
21
|
+
|
|
14
22
|
var _TextBox = _interopRequireDefault(require("../TextBox/TextBox"));
|
|
23
|
+
|
|
15
24
|
var _Card = _interopRequireWildcard(require("../Card/Card"));
|
|
25
|
+
|
|
16
26
|
var _Suggestions = _interopRequireDefault(require("../MultiSelect/Suggestions"));
|
|
27
|
+
|
|
17
28
|
var _EmptyState = _interopRequireDefault(require("../MultiSelect/EmptyState"));
|
|
29
|
+
|
|
18
30
|
var _IdProvider = require("../Provider/IdProvider");
|
|
31
|
+
|
|
19
32
|
var _icons = require("@zohodesk/icons");
|
|
33
|
+
|
|
20
34
|
var _ResponsiveDropBox = _interopRequireDefault(require("../ResponsiveDropBox/ResponsiveDropBox"));
|
|
35
|
+
|
|
21
36
|
var _CustomResponsive = require("../Responsive/CustomResponsive");
|
|
37
|
+
|
|
22
38
|
var _Loader = _interopRequireDefault(require("@zohodesk/svg/lib/Loader/Loader"));
|
|
39
|
+
|
|
23
40
|
var _dropDownUtils = require("../utils/dropDownUtils");
|
|
41
|
+
|
|
24
42
|
var _Common = require("../utils/Common.js");
|
|
43
|
+
|
|
25
44
|
var _SelectModule = _interopRequireDefault(require("./Select.module.css"));
|
|
45
|
+
|
|
26
46
|
var _Config = require("../Provider/Config");
|
|
47
|
+
|
|
27
48
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
49
|
+
|
|
28
50
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
51
|
+
|
|
29
52
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
53
|
+
|
|
30
54
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }
|
|
55
|
+
|
|
31
56
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
32
|
-
|
|
57
|
+
|
|
58
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
59
|
+
|
|
33
60
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
34
|
-
|
|
35
|
-
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
61
|
+
|
|
36
62
|
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
63
|
+
|
|
37
64
|
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
65
|
+
|
|
38
66
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
67
|
+
|
|
39
68
|
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
69
|
+
|
|
40
70
|
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
71
|
+
|
|
41
72
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
73
|
+
|
|
42
74
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
75
|
+
|
|
43
76
|
/* eslint-disable react/no-deprecated */
|
|
44
|
-
/* eslint-disable react/no-unused-prop-types */
|
|
45
77
|
|
|
78
|
+
/* eslint-disable react/no-unused-prop-types */
|
|
46
79
|
var dummyArray = [];
|
|
80
|
+
|
|
47
81
|
var SelectComponent = /*#__PURE__*/function (_Component) {
|
|
48
82
|
_inherits(SelectComponent, _Component);
|
|
83
|
+
|
|
49
84
|
var _super = _createSuper(SelectComponent);
|
|
85
|
+
|
|
50
86
|
function SelectComponent(props) {
|
|
51
87
|
var _this;
|
|
88
|
+
|
|
52
89
|
_classCallCheck(this, SelectComponent);
|
|
90
|
+
|
|
53
91
|
_this = _super.call(this, props);
|
|
54
92
|
_this.getNextAriaId = (0, _IdProvider.getUniqueId)(_assertThisInitialized(_this));
|
|
55
93
|
_this.getFilterSuggestions = (0, _dropDownUtils.makeGetMultiSelectFilterSuggestions)();
|
|
@@ -57,35 +95,38 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
|
|
|
57
95
|
_this.getSelectedValue = (0, _dropDownUtils.makeGetSelectedValueText)();
|
|
58
96
|
_this.selectedFormatOptions = {};
|
|
59
97
|
var selectedValue = props.selectedValue,
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
98
|
+
_props$searchDebounce = props.searchDebounceTime,
|
|
99
|
+
searchDebounceTime = _props$searchDebounce === void 0 ? 500 : _props$searchDebounce,
|
|
100
|
+
isDefaultSelectValue = props.isDefaultSelectValue,
|
|
101
|
+
_props$autoSelectDebo = props.autoSelectDebouneTime,
|
|
102
|
+
autoSelectDebouneTime = _props$autoSelectDebo === void 0 ? 350 : _props$autoSelectDebo,
|
|
103
|
+
valueField = props.valueField,
|
|
104
|
+
textField = props.textField;
|
|
105
|
+
|
|
67
106
|
var _this$handleFormatOpt = _this.handleFormatOptions(_this.props),
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
107
|
+
allOptions = _this$handleFormatOpt.allOptions,
|
|
108
|
+
normalizedAllOptions = _this$handleFormatOpt.normalizedAllOptions,
|
|
109
|
+
optionsOrder = _this$handleFormatOpt.optionsOrder,
|
|
110
|
+
normalizedFormatOptions = _this$handleFormatOpt.normalizedFormatOptions;
|
|
111
|
+
|
|
72
112
|
var _this$getSelectedValu = _this.getSelectedValue({
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
113
|
+
optionsOrder: optionsOrder,
|
|
114
|
+
selectedValue: selectedValue,
|
|
115
|
+
normalizedFormatOptions: normalizedFormatOptions,
|
|
116
|
+
selectedFormatOptions: _this.selectedFormatOptions,
|
|
117
|
+
isDefaultSelectValue: isDefaultSelectValue,
|
|
118
|
+
valueField: valueField,
|
|
119
|
+
textField: textField
|
|
120
|
+
}),
|
|
121
|
+
selected = _this$getSelectedValu.selected,
|
|
122
|
+
hoverIndex = _this$getSelectedValu.hoverIndex,
|
|
123
|
+
selectedValueDetails = _this$getSelectedValu.selectedValueDetails,
|
|
124
|
+
selectedId = _this$getSelectedValu.selectedId,
|
|
125
|
+
isSelfValueChanged = _this$getSelectedValu.isSelfValueChanged;
|
|
126
|
+
|
|
127
|
+
if (isSelfValueChanged) {// onChange && onChange(selectedId, normalizedAllOptions[selectedId]);
|
|
88
128
|
}
|
|
129
|
+
|
|
89
130
|
_this.state = {
|
|
90
131
|
selected: selected,
|
|
91
132
|
options: allOptions,
|
|
@@ -129,12 +170,12 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
|
|
|
129
170
|
_this.autoSelectIndex = 0;
|
|
130
171
|
return _this;
|
|
131
172
|
}
|
|
173
|
+
|
|
132
174
|
_createClass(SelectComponent, [{
|
|
133
175
|
key: "componentDidMount",
|
|
134
176
|
value: function componentDidMount() {
|
|
135
177
|
this._isMounted = true;
|
|
136
|
-
this.handleExposePopupHandlers();
|
|
137
|
-
// let { suggestionContainer } = this;
|
|
178
|
+
this.handleExposePopupHandlers(); // let { suggestionContainer } = this;
|
|
138
179
|
// suggestionContainer &&
|
|
139
180
|
// suggestionContainer.addEventListener('scroll', this.handleScroll);
|
|
140
181
|
}
|
|
@@ -142,34 +183,39 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
|
|
|
142
183
|
key: "componentWillReceiveProps",
|
|
143
184
|
value: function componentWillReceiveProps(nextProps) {
|
|
144
185
|
var selectedValue = nextProps.selectedValue,
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
186
|
+
isDefaultSelectValue = nextProps.isDefaultSelectValue,
|
|
187
|
+
valueField = nextProps.valueField,
|
|
188
|
+
textField = nextProps.textField;
|
|
148
189
|
var oldHoverIndex = this.state.hoverIndex;
|
|
190
|
+
|
|
149
191
|
var _this$handleFormatOpt2 = this.handleFormatOptions(nextProps),
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
192
|
+
allOptions = _this$handleFormatOpt2.allOptions,
|
|
193
|
+
normalizedAllOptions = _this$handleFormatOpt2.normalizedAllOptions,
|
|
194
|
+
optionsOrder = _this$handleFormatOpt2.optionsOrder,
|
|
195
|
+
normalizedFormatOptions = _this$handleFormatOpt2.normalizedFormatOptions;
|
|
196
|
+
|
|
154
197
|
var oldSelectedFormatOptions = this.selectedFormatOptions;
|
|
198
|
+
|
|
155
199
|
var _this$getSelectedValu2 = this.getSelectedValue({
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
200
|
+
optionsOrder: optionsOrder,
|
|
201
|
+
selectedValue: selectedValue,
|
|
202
|
+
normalizedFormatOptions: normalizedFormatOptions,
|
|
203
|
+
selectedFormatOptions: oldSelectedFormatOptions,
|
|
204
|
+
isDefaultSelectValue: isDefaultSelectValue,
|
|
205
|
+
valueField: valueField,
|
|
206
|
+
textField: textField
|
|
207
|
+
}),
|
|
208
|
+
selected = _this$getSelectedValu2.selected,
|
|
209
|
+
hoverIndex = _this$getSelectedValu2.hoverIndex,
|
|
210
|
+
selectedValueDetails = _this$getSelectedValu2.selectedValueDetails,
|
|
211
|
+
selectedId = _this$getSelectedValu2.selectedId,
|
|
212
|
+
isSelfValueChanged = _this$getSelectedValu2.isSelfValueChanged;
|
|
213
|
+
|
|
169
214
|
var oldSelectedValue = this.props.selectedValue;
|
|
170
|
-
|
|
171
|
-
|
|
215
|
+
|
|
216
|
+
if (isSelfValueChanged && oldSelectedValue !== selectedValue) {// onChange && onChange(selectedId, normalizedAllOptions[selectedId]);
|
|
172
217
|
}
|
|
218
|
+
|
|
173
219
|
this.selectedFormatOptions = Object.assign(oldSelectedFormatOptions, selectedValueDetails);
|
|
174
220
|
this.normalizedFormatOptions = normalizedFormatOptions;
|
|
175
221
|
this.optionsOrder = optionsOrder;
|
|
@@ -186,23 +232,25 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
|
|
|
186
232
|
key: "componentDidUpdate",
|
|
187
233
|
value: function componentDidUpdate(prevProps) {
|
|
188
234
|
var _this2 = this;
|
|
235
|
+
|
|
189
236
|
var suggestionContainer = this.suggestionContainer,
|
|
190
|
-
|
|
237
|
+
optionsOrder = this.optionsOrder;
|
|
191
238
|
var _this$state = this.state,
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
239
|
+
hoverIndex = _this$state.hoverIndex,
|
|
240
|
+
searchStr = _this$state.searchStr,
|
|
241
|
+
selectedValueIndex = _this$state.selectedValueIndex;
|
|
195
242
|
var _this$props = this.props,
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
243
|
+
needLocalSearch = _this$props.needLocalSearch,
|
|
244
|
+
onDropBoxClose = _this$props.onDropBoxClose,
|
|
245
|
+
onDropBoxOpen = _this$props.onDropBoxOpen,
|
|
246
|
+
needSearch = _this$props.needSearch,
|
|
247
|
+
onSearch = _this$props.onSearch,
|
|
248
|
+
isPopupOpen = _this$props.isPopupOpen,
|
|
249
|
+
isSearchClearOnClose = _this$props.isSearchClearOnClose;
|
|
203
250
|
var hoverId = (0, _Common.getIsEmptyValue)(optionsOrder[hoverIndex]) ? '' : optionsOrder[hoverIndex];
|
|
204
251
|
var selSuggestion = this["suggestion_".concat(hoverId)];
|
|
205
252
|
isPopupOpen && (0, _Common.scrollTo)(suggestionContainer, selSuggestion);
|
|
253
|
+
|
|
206
254
|
if (prevProps.isPopupOpen !== isPopupOpen) {
|
|
207
255
|
if (isPopupOpen) {
|
|
208
256
|
onDropBoxOpen && this.handleFetchOptions(onDropBoxOpen, searchStr);
|
|
@@ -220,15 +268,16 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
|
|
|
220
268
|
hoverIndex: selectedValueIndex
|
|
221
269
|
});
|
|
222
270
|
}
|
|
223
|
-
}
|
|
271
|
+
} //When suggestions length less than 5, getNextOptions function call
|
|
272
|
+
|
|
224
273
|
|
|
225
|
-
//When suggestions length less than 5, getNextOptions function call
|
|
226
274
|
var _this$props2 = this.props,
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
275
|
+
isNextOptions = _this$props2.isNextOptions,
|
|
276
|
+
getNextOptions = _this$props2.getNextOptions; // let { searchStr } = this.state;
|
|
277
|
+
|
|
230
278
|
var suggestions = isPopupOpen ? this.handleFilterSuggestions() : [];
|
|
231
279
|
var suggestionsLen = suggestions.length;
|
|
280
|
+
|
|
232
281
|
if (isPopupOpen && suggestionsLen <= 5 && isNextOptions && getNextOptions && !needLocalSearch) {
|
|
233
282
|
this.handleFetchOptions(getNextOptions, searchStr);
|
|
234
283
|
}
|
|
@@ -244,8 +293,7 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
|
|
|
244
293
|
closePopup: null,
|
|
245
294
|
togglePopup: null
|
|
246
295
|
};
|
|
247
|
-
getPopupHandlers && getPopupHandlers(methods);
|
|
248
|
-
// let { suggestionContainer } = this;
|
|
296
|
+
getPopupHandlers && getPopupHandlers(methods); // let { suggestionContainer } = this;
|
|
249
297
|
// suggestionContainer &&
|
|
250
298
|
// suggestionContainer.removeEventListener('scroll', this.handleScroll);
|
|
251
299
|
}
|
|
@@ -253,12 +301,12 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
|
|
|
253
301
|
key: "handleFormatOptions",
|
|
254
302
|
value: function handleFormatOptions(props) {
|
|
255
303
|
var options = props.options,
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
304
|
+
valueField = props.valueField,
|
|
305
|
+
textField = props.textField,
|
|
306
|
+
_props$customProps = props.customProps,
|
|
307
|
+
customProps = _props$customProps === void 0 ? {} : _props$customProps;
|
|
260
308
|
var _customProps$listItem = customProps.listItemProps,
|
|
261
|
-
|
|
309
|
+
listItemProps = _customProps$listItem === void 0 ? {} : _customProps$listItem;
|
|
262
310
|
return this.formatOptions({
|
|
263
311
|
options: options,
|
|
264
312
|
valueField: valueField,
|
|
@@ -271,12 +319,12 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
|
|
|
271
319
|
value: function handleChange(id, value, index, e) {
|
|
272
320
|
e && e.preventDefault && e.preventDefault();
|
|
273
321
|
var _this$props3 = this.props,
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
322
|
+
onChange = _this$props3.onChange,
|
|
323
|
+
isReadOnly = _this$props3.isReadOnly,
|
|
324
|
+
needCloseOnSelect = _this$props3.needCloseOnSelect;
|
|
277
325
|
var optionsNormalize = this.state.optionsNormalize;
|
|
278
|
-
!isReadOnly && onChange && onChange(id, optionsNormalize[id]);
|
|
279
|
-
|
|
326
|
+
!isReadOnly && onChange && onChange(id, optionsNormalize[id]); // this.valueInput && this.valueInput.focus({preventScroll:true});
|
|
327
|
+
|
|
280
328
|
needCloseOnSelect && this.handlePopupClose(e);
|
|
281
329
|
}
|
|
282
330
|
}, {
|
|
@@ -293,70 +341,80 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
|
|
|
293
341
|
key: "handleKeyDown",
|
|
294
342
|
value: function handleKeyDown(e) {
|
|
295
343
|
var _this$props4 = this.props,
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
344
|
+
onChange = _this$props4.onChange,
|
|
345
|
+
isPopupOpen = _this$props4.isPopupOpen,
|
|
346
|
+
onKeyDown = _this$props4.onKeyDown,
|
|
347
|
+
isPopupOpenOnEnter = _this$props4.isPopupOpenOnEnter,
|
|
348
|
+
needCloseOnSelect = _this$props4.needCloseOnSelect;
|
|
301
349
|
var _this$state2 = this.state,
|
|
302
|
-
|
|
303
|
-
|
|
350
|
+
hoverIndex = _this$state2.hoverIndex,
|
|
351
|
+
optionsNormalize = _this$state2.optionsNormalize;
|
|
304
352
|
var options = this.handleFilterSuggestions();
|
|
305
353
|
var keyCode = e.keyCode;
|
|
354
|
+
|
|
306
355
|
if (!isPopupOpen && !isPopupOpenOnEnter) {
|
|
307
356
|
onKeyDown && onKeyDown(e);
|
|
308
357
|
}
|
|
358
|
+
|
|
309
359
|
if (isPopupOpen && (keyCode === 38 || keyCode === 40 || keyCode === 13) && e.preventDefault) {
|
|
310
360
|
e.preventDefault(); //prevent body scroll and enter key prevent
|
|
311
361
|
} else if (!isPopupOpen && keyCode === 40) {
|
|
312
362
|
e.preventDefault(); //prevent body scroll
|
|
363
|
+
|
|
313
364
|
this.togglePopup(e);
|
|
314
365
|
}
|
|
366
|
+
|
|
315
367
|
if (keyCode === 38 && isPopupOpen && options.length) {
|
|
316
|
-
if (hoverIndex === 0) {
|
|
317
|
-
// hoverIndex = options.length - 1;
|
|
368
|
+
if (hoverIndex === 0) {// hoverIndex = options.length - 1;
|
|
318
369
|
} else {
|
|
319
370
|
hoverIndex -= 1;
|
|
320
371
|
}
|
|
372
|
+
|
|
321
373
|
this.setState({
|
|
322
374
|
hoverIndex: hoverIndex
|
|
323
375
|
});
|
|
324
376
|
} else if (keyCode === 40 && isPopupOpen && options.length) {
|
|
325
|
-
if (hoverIndex === options.length - 1) {
|
|
326
|
-
// hoverIndex = 0;
|
|
377
|
+
if (hoverIndex === options.length - 1) {// hoverIndex = 0;
|
|
327
378
|
} else {
|
|
328
379
|
if (hoverIndex === options.length - 3) {
|
|
329
380
|
this.handleGetNextOptions();
|
|
330
381
|
}
|
|
382
|
+
|
|
331
383
|
hoverIndex += 1;
|
|
332
384
|
}
|
|
385
|
+
|
|
333
386
|
this.setState({
|
|
334
387
|
hoverIndex: hoverIndex
|
|
335
388
|
});
|
|
336
389
|
} else if (keyCode === 13) {
|
|
337
390
|
var option = options[hoverIndex];
|
|
391
|
+
|
|
338
392
|
var _ref2 = option || {},
|
|
339
|
-
|
|
393
|
+
id = _ref2.id;
|
|
394
|
+
|
|
340
395
|
if (isPopupOpen && !(0, _Common.getIsEmptyValue)(id) && onChange) {
|
|
341
396
|
onChange(id, optionsNormalize[id]);
|
|
342
397
|
needCloseOnSelect && this.handlePopupClose(e);
|
|
343
398
|
}
|
|
399
|
+
|
|
344
400
|
if (!isPopupOpen && isPopupOpenOnEnter) {
|
|
345
401
|
this.togglePopup(e);
|
|
346
402
|
}
|
|
347
403
|
} else if (keyCode === 27) {
|
|
348
404
|
this.valueInput && this.valueInput.focus({
|
|
349
405
|
preventScroll: true
|
|
350
|
-
});
|
|
351
|
-
//this.handlePopupClose(e);
|
|
406
|
+
}); //this.handlePopupClose(e);
|
|
352
407
|
} else if (keyCode === 9) {
|
|
353
408
|
var _option = options[hoverIndex];
|
|
409
|
+
|
|
354
410
|
var _ref3 = _option || {},
|
|
355
|
-
|
|
411
|
+
_id = _ref3.id;
|
|
412
|
+
|
|
356
413
|
if (isPopupOpen && !(0, _Common.getIsEmptyValue)(_id)) {
|
|
357
414
|
onChange && onChange(_id, optionsNormalize[_id]);
|
|
358
415
|
needCloseOnSelect && this.handlePopupClose(e);
|
|
359
416
|
}
|
|
417
|
+
|
|
360
418
|
if (!isPopupOpen && isPopupOpenOnEnter) {
|
|
361
419
|
this.togglePopup(e);
|
|
362
420
|
}
|
|
@@ -373,9 +431,10 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
|
|
|
373
431
|
key: "handleSearch",
|
|
374
432
|
value: function handleSearch(value) {
|
|
375
433
|
var _this3 = this;
|
|
434
|
+
|
|
376
435
|
// let { value = '' } = e.target;
|
|
377
436
|
var _this$state$searchStr = this.state.searchStr,
|
|
378
|
-
|
|
437
|
+
searchStr = _this$state$searchStr === void 0 ? '' : _this$state$searchStr;
|
|
379
438
|
var onSearch = this.props.onSearch;
|
|
380
439
|
var searchStrRegex = (0, _Common.getSearchString)(searchStr);
|
|
381
440
|
var valueStrRegex = (0, _Common.getSearchString)(value);
|
|
@@ -393,7 +452,9 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
|
|
|
393
452
|
}
|
|
394
453
|
}, {
|
|
395
454
|
key: "handleMouseEnter",
|
|
396
|
-
value: function handleMouseEnter(id
|
|
455
|
+
value: function handleMouseEnter(id
|
|
456
|
+
/*val, index*/
|
|
457
|
+
) {
|
|
397
458
|
var hoverIndex = this.state.hoverIndex;
|
|
398
459
|
var optionsOrder = this.optionsOrder;
|
|
399
460
|
var newHoverIndex = optionsOrder.indexOf(id);
|
|
@@ -405,31 +466,31 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
|
|
|
405
466
|
key: "handleFilterSuggestions",
|
|
406
467
|
value: function handleFilterSuggestions() {
|
|
407
468
|
var _this$props5 = this.props,
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
469
|
+
needLocalSearch = _this$props5.needLocalSearch,
|
|
470
|
+
_this$props5$excludeO = _this$props5.excludeOptions,
|
|
471
|
+
excludeOptions = _this$props5$excludeO === void 0 ? dummyArray : _this$props5$excludeO;
|
|
411
472
|
var _this$state3 = this.state,
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
// if (
|
|
473
|
+
_this$state3$options = _this$state3.options,
|
|
474
|
+
options = _this$state3$options === void 0 ? dummyArray : _this$state3$options,
|
|
475
|
+
_this$state3$searchSt = _this$state3.searchStr,
|
|
476
|
+
searchStr = _this$state3$searchSt === void 0 ? '' : _this$state3$searchSt; // if (
|
|
418
477
|
// (needSearch && searchStr && searchStr.trim().length) ||
|
|
419
478
|
// (excludeOptions && excludeOptions.length)
|
|
420
479
|
// ) {
|
|
480
|
+
|
|
421
481
|
searchStr = (0, _Common.getSearchString)(searchStr);
|
|
482
|
+
|
|
422
483
|
var _this$getFilterSugges = this.getFilterSuggestions({
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
484
|
+
options: options,
|
|
485
|
+
selectedOptions: excludeOptions,
|
|
486
|
+
searchStr: searchStr,
|
|
487
|
+
needSearch: needLocalSearch
|
|
488
|
+
}),
|
|
489
|
+
suggestions = _this$getFilterSugges.suggestions,
|
|
490
|
+
suggestionIds = _this$getFilterSugges.suggestionIds;
|
|
491
|
+
|
|
430
492
|
this.optionsOrder = suggestionIds;
|
|
431
|
-
return suggestions;
|
|
432
|
-
// }
|
|
493
|
+
return suggestions; // }
|
|
433
494
|
// return options;
|
|
434
495
|
}
|
|
435
496
|
}, {
|
|
@@ -443,15 +504,18 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
|
|
|
443
504
|
key: "handleFetchOptions",
|
|
444
505
|
value: function handleFetchOptions(APICall) {
|
|
445
506
|
var _this4 = this;
|
|
507
|
+
|
|
446
508
|
var searchStr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
447
509
|
// let funcArgs = args.slice(1, args.length);
|
|
448
510
|
var _this$state$isFetchin = this.state.isFetchingOptions,
|
|
449
|
-
|
|
511
|
+
isFetchingOptions = _this$state$isFetchin === void 0 ? false : _this$state$isFetchin;
|
|
450
512
|
var _isMounted = this._isMounted;
|
|
513
|
+
|
|
451
514
|
if (!isFetchingOptions && APICall) {
|
|
452
515
|
this.setState({
|
|
453
516
|
isFetchingOptions: true
|
|
454
517
|
});
|
|
518
|
+
|
|
455
519
|
try {
|
|
456
520
|
return APICall(searchStr).then(function () {
|
|
457
521
|
_isMounted && _this4.setState({
|
|
@@ -473,8 +537,8 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
|
|
|
473
537
|
key: "handleGetNextOptions",
|
|
474
538
|
value: function handleGetNextOptions() {
|
|
475
539
|
var _this$props6 = this.props,
|
|
476
|
-
|
|
477
|
-
|
|
540
|
+
isNextOptions = _this$props6.isNextOptions,
|
|
541
|
+
getNextOptions = _this$props6.getNextOptions;
|
|
478
542
|
var searchStr = this.state.searchStr;
|
|
479
543
|
isNextOptions && getNextOptions && this.handleFetchOptions(getNextOptions, searchStr);
|
|
480
544
|
}
|
|
@@ -482,11 +546,11 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
|
|
|
482
546
|
key: "togglePopup",
|
|
483
547
|
value: function togglePopup(e) {
|
|
484
548
|
var _this$props7 = this.props,
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
549
|
+
togglePopup = _this$props7.togglePopup,
|
|
550
|
+
isReadOnly = _this$props7.isReadOnly,
|
|
551
|
+
defaultDropBoxPosition = _this$props7.defaultDropBoxPosition,
|
|
552
|
+
onFocus = _this$props7.onFocus,
|
|
553
|
+
isPopupOpen = _this$props7.isPopupOpen;
|
|
490
554
|
!isReadOnly && togglePopup(e, defaultDropBoxPosition ? "".concat(defaultDropBoxPosition) : null);
|
|
491
555
|
!isPopupOpen && typeof onFocus === 'function' && onFocus(e);
|
|
492
556
|
}
|
|
@@ -531,6 +595,7 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
|
|
|
531
595
|
key: "handleClearSearch",
|
|
532
596
|
value: function handleClearSearch() {
|
|
533
597
|
var _this5 = this;
|
|
598
|
+
|
|
534
599
|
this.handleSearch('');
|
|
535
600
|
setTimeout(function () {
|
|
536
601
|
_this5.searchInput && _this5.searchInput.focus({
|
|
@@ -544,8 +609,9 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
|
|
|
544
609
|
var which = e.which;
|
|
545
610
|
var typeString = String.fromCharCode(which);
|
|
546
611
|
var _this$props8 = this.props,
|
|
547
|
-
|
|
548
|
-
|
|
612
|
+
isPopupOpen = _this$props8.isPopupOpen,
|
|
613
|
+
autoSelectOnType = _this$props8.autoSelectOnType;
|
|
614
|
+
|
|
549
615
|
if (!isPopupOpen && autoSelectOnType) {
|
|
550
616
|
this.valueInputTypeString += (typeString || '').trim();
|
|
551
617
|
this.handleChangeOnType();
|
|
@@ -555,43 +621,53 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
|
|
|
555
621
|
key: "handleChangeOnType",
|
|
556
622
|
value: function handleChangeOnType() {
|
|
557
623
|
var _this6 = this;
|
|
624
|
+
|
|
558
625
|
var _this$props$excludeOp = this.props.excludeOptions,
|
|
559
|
-
|
|
626
|
+
excludeOptions = _this$props$excludeOp === void 0 ? dummyArray : _this$props$excludeOp;
|
|
560
627
|
var _this$state$options = this.state.options,
|
|
561
|
-
|
|
628
|
+
options = _this$state$options === void 0 ? dummyArray : _this$state$options;
|
|
562
629
|
var optionsOrder = this.optionsOrder;
|
|
563
630
|
var typeString = this.valueInputTypeString;
|
|
564
631
|
this.valueInputTypeString = '';
|
|
632
|
+
|
|
565
633
|
var changeValue = function changeValue() {
|
|
566
634
|
var optionDetails = _this6.autoSelectSuggestions[_this6.autoSelectIndex];
|
|
635
|
+
|
|
567
636
|
var _ref4 = optionDetails || {},
|
|
568
|
-
|
|
637
|
+
id = _ref4.id;
|
|
638
|
+
|
|
569
639
|
if (!(0, _Common.getIsEmptyValue)(id)) {
|
|
570
640
|
_this6.handleChange(id);
|
|
641
|
+
|
|
571
642
|
var hoverIndex = optionsOrder.indexOf(id);
|
|
643
|
+
|
|
572
644
|
_this6.setState({
|
|
573
645
|
hoverIndex: hoverIndex
|
|
574
646
|
});
|
|
575
647
|
}
|
|
576
648
|
};
|
|
649
|
+
|
|
577
650
|
if (typeString && typeString === this.valueInputSearchString) {
|
|
578
651
|
if (this.autoSelectIndex < this.autoSelectSuggestions.length - 1) {
|
|
579
652
|
this.autoSelectIndex += 1;
|
|
580
653
|
} else {
|
|
581
654
|
this.autoSelectIndex = 0;
|
|
582
655
|
}
|
|
656
|
+
|
|
583
657
|
changeValue();
|
|
584
658
|
} else if (typeString) {
|
|
585
659
|
this.valueInputSearchString = typeString;
|
|
660
|
+
|
|
586
661
|
var _this$getFilterSugges2 = this.getFilterSuggestions({
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
662
|
+
options: options,
|
|
663
|
+
selectedOptions: excludeOptions,
|
|
664
|
+
searchStr: typeString,
|
|
665
|
+
needSearch: true,
|
|
666
|
+
isStartsWithSearch: true
|
|
667
|
+
}),
|
|
668
|
+
_this$getFilterSugges3 = _this$getFilterSugges2.suggestions,
|
|
669
|
+
suggestions = _this$getFilterSugges3 === void 0 ? [] : _this$getFilterSugges3;
|
|
670
|
+
|
|
595
671
|
this.autoSelectIndex = 0;
|
|
596
672
|
this.autoSelectSuggestions = suggestions;
|
|
597
673
|
changeValue();
|
|
@@ -602,8 +678,9 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
|
|
|
602
678
|
value: function handleAddNewOption() {
|
|
603
679
|
var searchStr = this.state.searchStr;
|
|
604
680
|
var _this$props9 = this.props,
|
|
605
|
-
|
|
606
|
-
|
|
681
|
+
onAddNewOption = _this$props9.onAddNewOption,
|
|
682
|
+
getCustomEmptyState = _this$props9.getCustomEmptyState;
|
|
683
|
+
|
|
607
684
|
if (getCustomEmptyState) {
|
|
608
685
|
this.setState({
|
|
609
686
|
searchStr: ''
|
|
@@ -615,11 +692,11 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
|
|
|
615
692
|
key: "handleExposePopupHandlers",
|
|
616
693
|
value: function handleExposePopupHandlers() {
|
|
617
694
|
var _this$props10 = this.props,
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
695
|
+
removeClose = _this$props10.removeClose,
|
|
696
|
+
openPopupOnly = _this$props10.openPopupOnly,
|
|
697
|
+
closePopupOnly = _this$props10.closePopupOnly,
|
|
698
|
+
togglePopup = _this$props10.togglePopup,
|
|
699
|
+
getPopupHandlers = _this$props10.getPopupHandlers;
|
|
623
700
|
var methods = {
|
|
624
701
|
removeClose: removeClose,
|
|
625
702
|
openPopup: openPopupOnly,
|
|
@@ -642,81 +719,82 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
|
|
|
642
719
|
key: "render",
|
|
643
720
|
value: function render() {
|
|
644
721
|
var _this7 = this;
|
|
722
|
+
|
|
645
723
|
var _this$props11 = this.props,
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
724
|
+
needSearch = _this$props11.needSearch,
|
|
725
|
+
dropBoxSize = _this$props11.dropBoxSize,
|
|
726
|
+
emptyMessage = _this$props11.emptyMessage,
|
|
727
|
+
searchEmptyMessage = _this$props11.searchEmptyMessage,
|
|
728
|
+
needBorder = _this$props11.needBorder,
|
|
729
|
+
needSelectDownIcon = _this$props11.needSelectDownIcon,
|
|
730
|
+
position = _this$props11.position,
|
|
731
|
+
defaultDropBoxPosition = _this$props11.defaultDropBoxPosition,
|
|
732
|
+
getTargetRef = _this$props11.getTargetRef,
|
|
733
|
+
getContainerRef = _this$props11.getContainerRef,
|
|
734
|
+
removeClose = _this$props11.removeClose,
|
|
735
|
+
isPopupOpen = _this$props11.isPopupOpen,
|
|
736
|
+
isPopupReady = _this$props11.isPopupReady,
|
|
737
|
+
animationStyle = _this$props11.animationStyle,
|
|
738
|
+
textBoxSize = _this$props11.textBoxSize,
|
|
739
|
+
textBoxVariant = _this$props11.textBoxVariant,
|
|
740
|
+
searchBoxSize = _this$props11.searchBoxSize,
|
|
741
|
+
searchBoxPlaceHolder = _this$props11.searchBoxPlaceHolder,
|
|
742
|
+
maxLength = _this$props11.maxLength,
|
|
743
|
+
isDisabled = _this$props11.isDisabled,
|
|
744
|
+
title = _this$props11.title,
|
|
745
|
+
size = _this$props11.size,
|
|
746
|
+
placeHolder = _this$props11.placeHolder,
|
|
747
|
+
className = _this$props11.className,
|
|
748
|
+
isReadOnly = _this$props11.isReadOnly,
|
|
749
|
+
dataId = _this$props11.dataId,
|
|
750
|
+
needResponsive = _this$props11.needResponsive,
|
|
751
|
+
borderColor = _this$props11.borderColor,
|
|
752
|
+
needTick = _this$props11.needTick,
|
|
753
|
+
listItemSize = _this$props11.listItemSize,
|
|
754
|
+
boxSize = _this$props11.boxSize,
|
|
755
|
+
needListBorder = _this$props11.needListBorder,
|
|
756
|
+
getFooter = _this$props11.getFooter,
|
|
757
|
+
getChildren = _this$props11.getChildren,
|
|
758
|
+
getCustomEmptyState = _this$props11.getCustomEmptyState,
|
|
759
|
+
isParentBased = _this$props11.isParentBased,
|
|
760
|
+
i18nKeys = _this$props11.i18nKeys,
|
|
761
|
+
htmlId = _this$props11.htmlId,
|
|
762
|
+
children = _this$props11.children,
|
|
763
|
+
iconOnHover = _this$props11.iconOnHover,
|
|
764
|
+
customProps = _this$props11.customProps,
|
|
765
|
+
autoComplete = _this$props11.autoComplete,
|
|
766
|
+
ariaLabelledby = _this$props11.ariaLabelledby,
|
|
767
|
+
isLoading = _this$props11.isLoading,
|
|
768
|
+
dataSelectorId = _this$props11.dataSelectorId,
|
|
769
|
+
isAbsolutePositioningNeeded = _this$props11.isAbsolutePositioningNeeded,
|
|
770
|
+
positionsOffset = _this$props11.positionsOffset,
|
|
771
|
+
targetOffset = _this$props11.targetOffset,
|
|
772
|
+
isRestrictScroll = _this$props11.isRestrictScroll,
|
|
773
|
+
dropBoxPortalId = _this$props11.dropBoxPortalId;
|
|
696
774
|
var _i18nKeys = i18nKeys,
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
775
|
+
TextBoxIcon_i18n = _i18nKeys.TextBoxIcon_i18n,
|
|
776
|
+
_i18nKeys$TextBox_all = _i18nKeys.TextBox_ally_label,
|
|
777
|
+
TextBox_ally_label = _i18nKeys$TextBox_all === void 0 ? 'click to select options' : _i18nKeys$TextBox_all;
|
|
700
778
|
i18nKeys = Object.assign({}, i18nKeys, {
|
|
701
779
|
emptyText: i18nKeys.emptyText || emptyMessage,
|
|
702
780
|
searchEmptyText: i18nKeys.searchEmptyText || searchEmptyMessage
|
|
703
781
|
});
|
|
704
782
|
var _this$state4 = this.state,
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
783
|
+
hoverIndex = _this$state4.hoverIndex,
|
|
784
|
+
selected = _this$state4.selected,
|
|
785
|
+
searchStr = _this$state4.searchStr,
|
|
786
|
+
isFetchingOptions = _this$state4.isFetchingOptions,
|
|
787
|
+
selectedId = _this$state4.selectedId,
|
|
788
|
+
options = _this$state4.options;
|
|
711
789
|
var suggestions = this.handleFilterSuggestions();
|
|
712
790
|
var setAriaId = this.getNextAriaId();
|
|
713
791
|
var ariaErrorId = this.getNextAriaId();
|
|
714
792
|
var _customProps$TextBoxP = customProps.TextBoxProps,
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
793
|
+
TextBoxProps = _customProps$TextBoxP === void 0 ? {} : _customProps$TextBoxP,
|
|
794
|
+
_customProps$Dropdown = customProps.DropdownSearchTextBoxProps,
|
|
795
|
+
DropdownSearchTextBoxProps = _customProps$Dropdown === void 0 ? {} : _customProps$Dropdown,
|
|
796
|
+
_customProps$Suggesti = customProps.SuggestionsProps,
|
|
797
|
+
SuggestionsProps = _customProps$Suggesti === void 0 ? {} : _customProps$Suggesti;
|
|
720
798
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
721
799
|
className: "".concat(isParentBased || isReadOnly || isDisabled ? _SelectModule["default"].container : '', " ").concat(_SelectModule["default"]["box_".concat(size)], " ").concat(isReadOnly ? _SelectModule["default"].readonly : '', " ").concat(borderColor === 'transparent' ? _SelectModule["default"].transparentContainer : '', " ").concat(iconOnHover && (isReadOnly || isDisabled) ? _SelectModule["default"].iconOnHoverReadonly : iconOnHover && !(isReadOnly || isDisabled) ? _SelectModule["default"].iconOnHoverStyle : ''),
|
|
722
800
|
"data-title": isDisabled ? title : null,
|
|
@@ -905,8 +983,10 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
|
|
|
905
983
|
}) : null);
|
|
906
984
|
}
|
|
907
985
|
}]);
|
|
986
|
+
|
|
908
987
|
return SelectComponent;
|
|
909
988
|
}(_react.Component);
|
|
989
|
+
|
|
910
990
|
exports.SelectComponent = SelectComponent;
|
|
911
991
|
SelectComponent.propTypes = _propTypes.Select_propTypes;
|
|
912
992
|
SelectComponent.defaultProps = _defaultProps.Select_defaultProps;
|
|
@@ -923,4 +1003,5 @@ var _default = Select; // if (__DOCS__) {
|
|
|
923
1003
|
// // eslint-disable-next-line react/forbid-foreign-prop-types
|
|
924
1004
|
// Select.propTypes = SelectComponent.propTypes;
|
|
925
1005
|
// }
|
|
1006
|
+
|
|
926
1007
|
exports["default"] = _default;
|