@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
|
@@ -2,6 +2,7 @@ import React, { Component } from 'react';
|
|
|
2
2
|
import { SelectWithIcon_defaultProps } from './props/defaultProps';
|
|
3
3
|
import { SelectWithIcon_propTypes } from './props/propTypes';
|
|
4
4
|
/**** Components ****/
|
|
5
|
+
|
|
5
6
|
import Popup from '../Popup/Popup';
|
|
6
7
|
import TextBoxIcon from '../TextBoxIcon/TextBoxIcon';
|
|
7
8
|
import { Icon } from '@zohodesk/icons';
|
|
@@ -14,9 +15,12 @@ import ResponsiveDropBox from '../ResponsiveDropBox/ResponsiveDropBox';
|
|
|
14
15
|
import { ResponsiveReceiver } from '../Responsive/CustomResponsive';
|
|
15
16
|
import Loader from '@zohodesk/svg/lib/Loader/Loader';
|
|
16
17
|
/**** Methods ****/
|
|
18
|
+
|
|
17
19
|
import { scrollTo, findScrollEnd } from '../utils/Common.js';
|
|
18
20
|
/**** CSS ****/
|
|
21
|
+
|
|
19
22
|
import style from './Select.module.css';
|
|
23
|
+
|
|
20
24
|
class SelectWithIcon extends Component {
|
|
21
25
|
constructor(props) {
|
|
22
26
|
super(props);
|
|
@@ -42,34 +46,43 @@ class SelectWithIcon extends Component {
|
|
|
42
46
|
this.handleGetNextOptions = this.handleGetNextOptions.bind(this);
|
|
43
47
|
this.handleFetchOptions = this.handleFetchOptions.bind(this);
|
|
44
48
|
}
|
|
49
|
+
|
|
45
50
|
componentDidMount() {
|
|
46
51
|
this._isMounted = true;
|
|
47
52
|
}
|
|
53
|
+
|
|
48
54
|
componentWillUnmount() {
|
|
49
55
|
this._isMounted = false;
|
|
50
56
|
}
|
|
57
|
+
|
|
51
58
|
inputRef(el) {
|
|
52
59
|
this.input = el;
|
|
53
60
|
}
|
|
61
|
+
|
|
54
62
|
itemRef(ele, index, id) {
|
|
55
63
|
this[`suggestion_${id}`] = ele;
|
|
56
64
|
}
|
|
65
|
+
|
|
57
66
|
searchInputRef(el) {
|
|
58
67
|
this.searchInput = el;
|
|
59
68
|
}
|
|
69
|
+
|
|
60
70
|
scrollContentRef(el) {
|
|
61
71
|
let {
|
|
62
72
|
isPopupOpen
|
|
63
73
|
} = this.props;
|
|
74
|
+
|
|
64
75
|
if (isPopupOpen) {
|
|
65
76
|
this.optionsContainer = el;
|
|
66
77
|
}
|
|
67
78
|
}
|
|
79
|
+
|
|
68
80
|
handleMouseEnter(id, value, index, e) {
|
|
69
81
|
this.setState({
|
|
70
82
|
selectedIndex: index
|
|
71
83
|
});
|
|
72
84
|
}
|
|
85
|
+
|
|
73
86
|
handleKeyDown(e) {
|
|
74
87
|
let {
|
|
75
88
|
keyCode
|
|
@@ -84,10 +97,12 @@ class SelectWithIcon extends Component {
|
|
|
84
97
|
isPopupOpen,
|
|
85
98
|
selectedId
|
|
86
99
|
} = this.props;
|
|
100
|
+
|
|
87
101
|
if (isPopupOpen && (keyCode === 38 || keyCode === 40) && e.preventDefault) {
|
|
88
102
|
e.preventDefault(); //prevent body scroll
|
|
89
103
|
} else if (!isPopupOpen && (keyCode === 40 || keyCode === 13)) {
|
|
90
104
|
e.preventDefault(); //prevent body scroll
|
|
105
|
+
|
|
91
106
|
this.togglePopup(e);
|
|
92
107
|
options.map((list, index) => {
|
|
93
108
|
if (list.id === selectedId) {
|
|
@@ -97,6 +112,7 @@ class SelectWithIcon extends Component {
|
|
|
97
112
|
}
|
|
98
113
|
});
|
|
99
114
|
}
|
|
115
|
+
|
|
100
116
|
if (isPopupOpen) {
|
|
101
117
|
switch (keyCode) {
|
|
102
118
|
case 40:
|
|
@@ -108,11 +124,14 @@ class SelectWithIcon extends Component {
|
|
|
108
124
|
if (selectedIndex === options.length - 3) {
|
|
109
125
|
this.handleGetNextOptions();
|
|
110
126
|
}
|
|
127
|
+
|
|
111
128
|
this.setState({
|
|
112
129
|
selectedIndex: selectedIndex + 1
|
|
113
130
|
});
|
|
114
131
|
}
|
|
132
|
+
|
|
115
133
|
break;
|
|
134
|
+
|
|
116
135
|
case 38:
|
|
117
136
|
if (selectedIndex === 0) {
|
|
118
137
|
this.setState({
|
|
@@ -123,7 +142,9 @@ class SelectWithIcon extends Component {
|
|
|
123
142
|
selectedIndex: selectedIndex - 1
|
|
124
143
|
});
|
|
125
144
|
}
|
|
145
|
+
|
|
126
146
|
break;
|
|
147
|
+
|
|
127
148
|
case 13:
|
|
128
149
|
let option = options[selectedIndex];
|
|
129
150
|
this.handleChange && this.handleChange(option[idKey], option[valueKey], selectedIndex, e);
|
|
@@ -131,6 +152,7 @@ class SelectWithIcon extends Component {
|
|
|
131
152
|
}
|
|
132
153
|
}
|
|
133
154
|
}
|
|
155
|
+
|
|
134
156
|
componentDidUpdate(prevProps) {
|
|
135
157
|
let {
|
|
136
158
|
idKey,
|
|
@@ -141,6 +163,7 @@ class SelectWithIcon extends Component {
|
|
|
141
163
|
selectedIndex,
|
|
142
164
|
options
|
|
143
165
|
} = this.state;
|
|
166
|
+
|
|
144
167
|
if (prevProps.isPopupOpen != isPopupOpen) {
|
|
145
168
|
setTimeout(() => {
|
|
146
169
|
isPopupOpen ? needSearch ? this.searchInput.focus({
|
|
@@ -152,32 +175,39 @@ class SelectWithIcon extends Component {
|
|
|
152
175
|
});
|
|
153
176
|
}, 10);
|
|
154
177
|
}
|
|
178
|
+
|
|
155
179
|
let option = options[selectedIndex];
|
|
156
180
|
let id = option && option[idKey] || {};
|
|
157
181
|
let selSuggestion = this[`suggestion_${id}`];
|
|
182
|
+
|
|
158
183
|
if (isPopupOpen) {
|
|
159
184
|
this.optionsContainer && scrollTo(this.optionsContainer, selSuggestion);
|
|
160
185
|
}
|
|
161
186
|
}
|
|
187
|
+
|
|
162
188
|
searchList(searchValue) {
|
|
163
189
|
let datas = [];
|
|
164
190
|
let {
|
|
165
191
|
options,
|
|
166
192
|
valueKey
|
|
167
193
|
} = this.props;
|
|
194
|
+
|
|
168
195
|
if (options.length) {
|
|
169
196
|
datas = options.filter(obj => obj[valueKey].toLowerCase().includes(searchValue.toLowerCase()));
|
|
170
197
|
}
|
|
198
|
+
|
|
171
199
|
return datas;
|
|
172
200
|
}
|
|
201
|
+
|
|
173
202
|
onSearchClear() {
|
|
174
|
-
let options = this.searchList('');
|
|
175
|
-
|
|
203
|
+
let options = this.searchList(''); // this.searchInput.focus({preventScroll:false});
|
|
204
|
+
|
|
176
205
|
this.setState({
|
|
177
206
|
searchValue: '',
|
|
178
207
|
options
|
|
179
208
|
});
|
|
180
209
|
}
|
|
210
|
+
|
|
181
211
|
onSearch(searchValue) {
|
|
182
212
|
let options = this.searchList(searchValue);
|
|
183
213
|
this.setState({
|
|
@@ -186,6 +216,7 @@ class SelectWithIcon extends Component {
|
|
|
186
216
|
options
|
|
187
217
|
});
|
|
188
218
|
}
|
|
219
|
+
|
|
189
220
|
togglePopup(e) {
|
|
190
221
|
let {
|
|
191
222
|
togglePopup,
|
|
@@ -194,6 +225,7 @@ class SelectWithIcon extends Component {
|
|
|
194
225
|
} = this.props;
|
|
195
226
|
!isReadOnly && togglePopup(e, boxPosition);
|
|
196
227
|
}
|
|
228
|
+
|
|
197
229
|
handleChange(id, value, index, e) {
|
|
198
230
|
let {
|
|
199
231
|
onChange,
|
|
@@ -202,11 +234,13 @@ class SelectWithIcon extends Component {
|
|
|
202
234
|
!isReadOnly && onChange && onChange(id, value, index, e);
|
|
203
235
|
this.togglePopup(e);
|
|
204
236
|
}
|
|
237
|
+
|
|
205
238
|
handleScroll(e) {
|
|
206
239
|
let ele = e.target;
|
|
207
240
|
let isScrollReachedBottom = findScrollEnd(ele);
|
|
208
241
|
isScrollReachedBottom && this.handleGetNextOptions();
|
|
209
242
|
}
|
|
243
|
+
|
|
210
244
|
UNSAFE_componentWillReceiveProps(nextProps) {
|
|
211
245
|
if (nextProps.options.length != this.props.options.length) {
|
|
212
246
|
this.setState({
|
|
@@ -214,6 +248,7 @@ class SelectWithIcon extends Component {
|
|
|
214
248
|
});
|
|
215
249
|
}
|
|
216
250
|
}
|
|
251
|
+
|
|
217
252
|
handleGetNextOptions() {
|
|
218
253
|
let {
|
|
219
254
|
isNextOptions,
|
|
@@ -224,6 +259,7 @@ class SelectWithIcon extends Component {
|
|
|
224
259
|
} = this.state;
|
|
225
260
|
isNextOptions && getNextOptions && this.handleFetchOptions(getNextOptions, searchValue);
|
|
226
261
|
}
|
|
262
|
+
|
|
227
263
|
handleFetchOptions(APICall) {
|
|
228
264
|
let searchValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
229
265
|
let {
|
|
@@ -232,10 +268,12 @@ class SelectWithIcon extends Component {
|
|
|
232
268
|
let {
|
|
233
269
|
_isMounted
|
|
234
270
|
} = this;
|
|
271
|
+
|
|
235
272
|
if (!isFetchingOptions && APICall) {
|
|
236
273
|
this.setState({
|
|
237
274
|
isFetchingOptions: true
|
|
238
275
|
});
|
|
276
|
+
|
|
239
277
|
try {
|
|
240
278
|
return APICall(searchValue).then(() => {
|
|
241
279
|
_isMounted && this.setState({
|
|
@@ -253,6 +291,7 @@ class SelectWithIcon extends Component {
|
|
|
253
291
|
}
|
|
254
292
|
}
|
|
255
293
|
}
|
|
294
|
+
|
|
256
295
|
responsiveFunc(_ref) {
|
|
257
296
|
let {
|
|
258
297
|
mediaQueryOR
|
|
@@ -263,6 +302,7 @@ class SelectWithIcon extends Component {
|
|
|
263
302
|
}])
|
|
264
303
|
};
|
|
265
304
|
}
|
|
305
|
+
|
|
266
306
|
render() {
|
|
267
307
|
let {
|
|
268
308
|
animationStyle,
|
|
@@ -475,14 +515,15 @@ class SelectWithIcon extends Component {
|
|
|
475
515
|
}, /*#__PURE__*/React.createElement(Loader, null))))));
|
|
476
516
|
}) : null);
|
|
477
517
|
}
|
|
518
|
+
|
|
478
519
|
}
|
|
479
|
-
SelectWithIcon.propTypes = SelectWithIcon_propTypes;
|
|
480
|
-
SelectWithIcon.defaultProps = SelectWithIcon_defaultProps;
|
|
481
520
|
|
|
482
|
-
|
|
521
|
+
SelectWithIcon.propTypes = SelectWithIcon_propTypes;
|
|
522
|
+
SelectWithIcon.defaultProps = SelectWithIcon_defaultProps; // if (__DOCS__) {
|
|
483
523
|
// SelectWithIcon.docs = {
|
|
484
524
|
// componentGroup: 'Form Elements',
|
|
485
525
|
// folderName: 'Style Guide'
|
|
486
526
|
// };
|
|
487
527
|
// }
|
|
528
|
+
|
|
488
529
|
export default Popup(SelectWithIcon);
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/* eslint-disable no-undef */
|
|
2
|
+
|
|
2
3
|
/**** Libraries ****/
|
|
3
4
|
import expect from 'expect';
|
|
4
|
-
|
|
5
5
|
/**** Components ****/
|
|
6
|
+
|
|
6
7
|
import Select from '../Select';
|
|
7
8
|
import ListItem from '../../ListItem/ListItem';
|
|
8
9
|
describe('Select component conditions', () => {
|
|
@@ -188,9 +189,8 @@ describe('Select component conditions', () => {
|
|
|
188
189
|
target: {
|
|
189
190
|
value: 'value changed'
|
|
190
191
|
}
|
|
191
|
-
});
|
|
192
|
+
}); //
|
|
192
193
|
|
|
193
|
-
//
|
|
194
194
|
setTimeout(() => {
|
|
195
195
|
expect(props.onSearch).toHaveBeenCalled();
|
|
196
196
|
expect(props.onSearch.mock.calls[0][0]).toEqual('value changed');
|
|
@@ -202,10 +202,8 @@ describe('Select component conditions', () => {
|
|
|
202
202
|
expect(loadingEleArr.length).toBe(0);
|
|
203
203
|
cb();
|
|
204
204
|
});
|
|
205
|
-
}, searchDebounceTime);
|
|
206
|
-
//
|
|
205
|
+
}, searchDebounceTime); //
|
|
207
206
|
});
|
|
208
|
-
|
|
209
207
|
it('Should call onChange, When select list item', () => {
|
|
210
208
|
let defaultProps = {
|
|
211
209
|
options: [{
|
|
@@ -301,11 +299,11 @@ describe('Select component conditions', () => {
|
|
|
301
299
|
};
|
|
302
300
|
let {
|
|
303
301
|
renderedDOM
|
|
304
|
-
} = setup(Select, defaultProps);
|
|
305
|
-
// let liteItemArr = TestUtils.scryRenderedComponentsWithTestid(
|
|
302
|
+
} = setup(Select, defaultProps); // let liteItemArr = TestUtils.scryRenderedComponentsWithTestid(
|
|
306
303
|
// renderedDOM,
|
|
307
304
|
// 'listItem'
|
|
308
305
|
// );
|
|
306
|
+
|
|
309
307
|
let liteItemArr = TestUtils.scryRenderedComponentsWithType(renderedDOM, ListItem);
|
|
310
308
|
expect(liteItemArr.length).toBe(3);
|
|
311
309
|
});
|
package/es/Stencils/Stencils.js
CHANGED
|
@@ -2,6 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import { defaultProps } from './props/defaultProps';
|
|
3
3
|
import { propTypes } from './props/propTypes';
|
|
4
4
|
/* eslint css-modules/no-unused-class: [2, { markAsUsed: [primary, secondary, small, default, medium, large, clarge, cmedium, cdefault, csmall] }] */
|
|
5
|
+
|
|
5
6
|
import style from './Stencils.module.css';
|
|
6
7
|
export default class Stencils extends React.PureComponent {
|
|
7
8
|
render() {
|
|
@@ -17,11 +18,10 @@ export default class Stencils extends React.PureComponent {
|
|
|
17
18
|
className: `${style.container} ${shape} ${size} ${style[palette]} ${customClass}`
|
|
18
19
|
});
|
|
19
20
|
}
|
|
21
|
+
|
|
20
22
|
}
|
|
21
23
|
Stencils.propTypes = propTypes;
|
|
22
|
-
Stencils.defaultProps = defaultProps;
|
|
23
|
-
|
|
24
|
-
// if (__DOCS__) {
|
|
24
|
+
Stencils.defaultProps = defaultProps; // if (__DOCS__) {
|
|
25
25
|
// Stencils.docs = {
|
|
26
26
|
// componentGroup: 'Atom',
|
|
27
27
|
// folderName: 'Style Guide',
|
package/es/Switch/Switch.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
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); }
|
|
2
|
+
|
|
2
3
|
import React from 'react';
|
|
3
4
|
import { defaultProps } from './props/defaultProps';
|
|
4
5
|
import { propTypes } from './props/propTypes';
|
|
@@ -10,6 +11,7 @@ export default class Switch extends React.Component {
|
|
|
10
11
|
super(props);
|
|
11
12
|
this.onChange = this.onChange.bind(this);
|
|
12
13
|
}
|
|
14
|
+
|
|
13
15
|
onChange(e) {
|
|
14
16
|
let {
|
|
15
17
|
onChange,
|
|
@@ -17,6 +19,7 @@ export default class Switch extends React.Component {
|
|
|
17
19
|
} = this.props;
|
|
18
20
|
onChange && onChange(!checked, e);
|
|
19
21
|
}
|
|
22
|
+
|
|
20
23
|
render() {
|
|
21
24
|
let {
|
|
22
25
|
id,
|
|
@@ -84,11 +87,10 @@ export default class Switch extends React.Component {
|
|
|
84
87
|
customClass: customLabel
|
|
85
88
|
}, LabelProps)));
|
|
86
89
|
}
|
|
90
|
+
|
|
87
91
|
}
|
|
88
92
|
Switch.defaultProps = defaultProps;
|
|
89
|
-
Switch.propTypes = propTypes;
|
|
90
|
-
|
|
91
|
-
// if (__DOCS__) {
|
|
93
|
+
Switch.propTypes = propTypes; // if (__DOCS__) {
|
|
92
94
|
// Switch.docs = {
|
|
93
95
|
// componentGroup: 'Form Elements',
|
|
94
96
|
// folderName: 'Style Guide'
|
package/es/Tab/Tab.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
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); }
|
|
2
|
+
|
|
2
3
|
/* eslint-disable react/forbid-component-props */
|
|
3
|
-
/* eslint css-modules/no-unused-class: [2, { markAsUsed: ['text', 'tabAlpha', 'alphaActive', 'gammaActive', 'betaActive', 'deltaActive', 'tabGamma', 'tabBeta', 'tabDelta',', 'specialActive', 'tabSpecial', 'alphaActive_border', 'gammaActive_border', 'betaActive_border', 'deltaActive_border'] }] */
|
|
4
4
|
|
|
5
|
+
/* eslint css-modules/no-unused-class: [2, { markAsUsed: ['text', 'tabAlpha', 'alphaActive', 'gammaActive', 'betaActive', 'deltaActive', 'tabGamma', 'tabBeta', 'tabDelta',', 'specialActive', 'tabSpecial', 'alphaActive_border', 'gammaActive_border', 'betaActive_border', 'deltaActive_border'] }] */
|
|
5
6
|
import React, { useMemo, useCallback } from 'react';
|
|
6
7
|
import { Tab_defaultProps } from './props/defaultProps';
|
|
7
8
|
import { Tab_propTypes } from './props/propTypes';
|
|
@@ -55,6 +56,7 @@ export default function Tab(_ref) {
|
|
|
55
56
|
event && event.stopPropagation();
|
|
56
57
|
return;
|
|
57
58
|
}
|
|
59
|
+
|
|
58
60
|
event && event.preventDefault();
|
|
59
61
|
onSelect(id);
|
|
60
62
|
onClick && onClick(event);
|
|
@@ -100,9 +102,7 @@ export default function Tab(_ref) {
|
|
|
100
102
|
}, children) : null));
|
|
101
103
|
}
|
|
102
104
|
Tab.defaultProps = Tab_defaultProps;
|
|
103
|
-
Tab.propTypes = Tab_propTypes;
|
|
104
|
-
|
|
105
|
-
// if (__DOCS__) {
|
|
105
|
+
Tab.propTypes = Tab_propTypes; // if (__DOCS__) {
|
|
106
106
|
// Tab.docs = {
|
|
107
107
|
// componentGroup: 'Tab',
|
|
108
108
|
// folderName: 'Style Guide'
|
package/es/Tab/TabContent.js
CHANGED
|
@@ -3,6 +3,7 @@ import { TabContentWrapper_defaultProps } from './props/defaultProps';
|
|
|
3
3
|
import { TabContentWrapper_propTypes } from './props/propTypes';
|
|
4
4
|
import { Box } from '../Layout';
|
|
5
5
|
/* eslint-disable react/forbid-component-props */
|
|
6
|
+
|
|
6
7
|
const TabContentWrapper = _ref => {
|
|
7
8
|
let {
|
|
8
9
|
style,
|
|
@@ -22,6 +23,7 @@ const TabContentWrapper = _ref => {
|
|
|
22
23
|
dataSelectorId: dataSelectorId
|
|
23
24
|
}, React.Children.map(children, child => /*#__PURE__*/React.isValidElement(child) && child.props.id === selectedTab ? child : null));
|
|
24
25
|
};
|
|
26
|
+
|
|
25
27
|
TabContentWrapper.defaultProps = TabContentWrapper_defaultProps;
|
|
26
28
|
TabContentWrapper.propTypes = TabContentWrapper_propTypes;
|
|
27
29
|
export default TabContentWrapper;
|
package/es/Tab/TabWrapper.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
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); }
|
|
2
|
+
|
|
2
3
|
import React, { useState, useCallback } from 'react';
|
|
3
4
|
import { TabWrapper_defaultProps } from './props/defaultProps';
|
|
4
5
|
import { TabWrapper_propTypes } from './props/propTypes';
|
|
5
6
|
import { Container } from '../Layout';
|
|
7
|
+
|
|
6
8
|
function TabWrapper(_ref) {
|
|
7
9
|
let {
|
|
8
10
|
defaultTab,
|
|
@@ -24,6 +26,7 @@ function TabWrapper(_ref) {
|
|
|
24
26
|
if (!hookToDisableInternalState) {
|
|
25
27
|
setSelected(id);
|
|
26
28
|
}
|
|
29
|
+
|
|
27
30
|
onSelect && onSelect(id);
|
|
28
31
|
}, [hookToDisableInternalState, onSelect]);
|
|
29
32
|
return /*#__PURE__*/React.createElement(Container, {
|
|
@@ -33,8 +36,7 @@ function TabWrapper(_ref) {
|
|
|
33
36
|
}, React.Children.map(children, child => {
|
|
34
37
|
let TabsChild = child.type;
|
|
35
38
|
let selectedTab = hookToDisableInternalState ? defaultTab : selectedTabInternal;
|
|
36
|
-
return /*#__PURE__*/React.createElement(TabsChild
|
|
37
|
-
// eslint-disable-next-line react/no-array-index-key
|
|
39
|
+
return /*#__PURE__*/React.createElement(TabsChild // eslint-disable-next-line react/no-array-index-key
|
|
38
40
|
, _extends({}, child.props, {
|
|
39
41
|
selectedTab: selectedTab,
|
|
40
42
|
onSelect: setSelectedTab,
|
|
@@ -49,6 +51,7 @@ function TabWrapper(_ref) {
|
|
|
49
51
|
}));
|
|
50
52
|
}));
|
|
51
53
|
}
|
|
54
|
+
|
|
52
55
|
TabWrapper.propTypes = TabWrapper_propTypes;
|
|
53
56
|
TabWrapper.defaultProps = TabWrapper_defaultProps;
|
|
54
57
|
export default TabWrapper;
|