@zohodesk/components 1.0.0-temp-154 → 1.0.0-temp-156
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/AppContainer/AppContainer.module.css +2 -2
- package/es/Avatar/Avatar.js +23 -11
- package/es/Avatar/Avatar.module.css +10 -10
- package/es/AvatarTeam/AvatarTeam.js +3 -3
- package/es/AvatarTeam/AvatarTeam.module.css +22 -21
- package/es/Button/Button.js +4 -3
- package/es/Button/css/Button.module.css +51 -50
- package/es/Buttongroup/Buttongroup.js +3 -3
- package/es/Buttongroup/Buttongroup.module.css +13 -14
- package/es/Card/Card.js +21 -10
- package/es/CheckBox/CheckBox.js +5 -3
- package/es/CheckBox/CheckBox.module.css +16 -16
- package/es/DateTime/CalendarView.js +32 -20
- package/es/DateTime/DateTime.js +67 -6
- package/es/DateTime/DateTime.module.css +39 -39
- package/es/DateTime/DateTimePopupFooter.js +4 -2
- package/es/DateTime/DateTimePopupHeader.js +8 -2
- package/es/DateTime/DateWidget.js +98 -35
- package/es/DateTime/DateWidget.module.css +5 -5
- package/es/DateTime/DaysRow.js +4 -2
- package/es/DateTime/Time.js +10 -2
- package/es/DateTime/YearView.js +28 -4
- package/es/DateTime/YearView.module.css +15 -15
- 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/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/DropBoxElement.module.css +74 -73
- package/es/DropBox/DropBoxElement/css/cssJSLogic.js +5 -3
- package/es/DropBox/DropBoxElement/useDropboxPosCalc.js +3 -0
- package/es/DropBox/css/DropBox.module.css +6 -6
- 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/DropDown.module.css +2 -2
- package/es/DropDown/DropDownHeading.js +4 -5
- package/es/DropDown/DropDownHeading.module.css +3 -3
- package/es/DropDown/DropDownItem.js +6 -0
- package/es/DropDown/DropDownItem.module.css +9 -9
- package/es/DropDown/DropDownSearch.js +4 -0
- package/es/DropDown/DropDownSeparator.js +1 -0
- package/es/DropDown/DropDownSeparator.module.css +2 -2
- package/es/DropDown/__tests__/DropDown.spec.js +1 -2
- package/es/Heading/Heading.js +2 -3
- package/es/Heading/Heading.module.css +2 -2
- package/es/Label/Label.js +2 -3
- package/es/Label/Label.module.css +1 -1
- package/es/Layout/Box.js +13 -0
- package/es/Layout/Container.js +12 -1
- package/es/Layout/Layout.module.css +15 -15
- package/es/Layout/index.js +1 -2
- package/es/ListItem/ListContainer.js +8 -3
- package/es/ListItem/ListItem.js +9 -3
- package/es/ListItem/ListItem.module.css +26 -26
- 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/MultiSelect.module.css +32 -31
- package/es/MultiSelect/MultiSelectHeader.js +3 -0
- package/es/MultiSelect/MultiSelectWithAvatar.js +12 -6
- package/es/MultiSelect/SelectedOptions.js +6 -3
- package/es/MultiSelect/SelectedOptions.module.css +5 -5
- 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/Radio/Radio.module.css +3 -3
- 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/ResponsiveDropBox/ResponsiveDropBox.module.css +2 -2
- package/es/Ribbon/Ribbon.js +3 -2
- package/es/Ribbon/Ribbon.module.css +42 -42
- package/es/RippleEffect/RippleEffect.js +1 -3
- package/es/Select/GroupSelect.js +58 -14
- package/es/Select/Select.js +79 -33
- package/es/Select/Select.module.css +23 -23
- 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/Stencils/Stencils.module.css +2 -2
- package/es/Switch/Switch.js +5 -3
- package/es/Switch/Switch.module.css +23 -23
- package/es/Tab/Tab.js +4 -4
- package/es/Tab/Tab.module.css +14 -14
- 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/Tabs.module.css +23 -23
- 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/Tag/Tag.module.css +10 -10
- package/es/TextBox/TextBox.js +15 -3
- package/es/TextBox/TextBox.module.css +6 -5
- package/es/TextBox/__tests__/TextBox.spec.js +1 -4
- package/es/TextBoxIcon/TextBoxIcon.js +9 -2
- package/es/TextBoxIcon/TextBoxIcon.module.css +7 -6
- package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +2 -7
- package/es/Textarea/Textarea.js +12 -3
- package/es/Textarea/Textarea.module.css +6 -6
- package/es/Textarea/__tests__/Textarea.spec.js +2 -2
- package/es/Tooltip/Tooltip.js +58 -14
- package/es/Tooltip/Tooltip.module.css +12 -5
- 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/common/animation.module.css +8 -8
- package/es/common/basicReset.module.css +3 -3
- package/es/common/boxShadow.module.css +1 -3
- package/es/common/common.module.css +24 -24
- package/es/common/customscroll.module.css +4 -2
- package/es/common/reset.module.css +1 -0
- package/es/deprecated/AdvancedMultiSelect.module.css +18 -18
- package/es/deprecated/PortalLayer/PortalLayer.js +25 -20
- package/es/semantic/Button/Button.js +3 -2
- package/es/semantic/Button/semanticButton.module.css +1 -1
- 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/common.js +16 -5
- 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/AppContainer.module.css +2 -2
- package/lib/AppContainer/props/propTypes.js +3 -0
- package/lib/Avatar/Avatar.js +78 -38
- package/lib/Avatar/Avatar.module.css +10 -10
- 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/AvatarTeam.module.css +22 -21
- 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/Button.module.css +51 -50
- 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/Buttongroup.module.css +13 -14
- 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/CheckBox.module.css +16 -16
- 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 +239 -155
- package/lib/DateTime/DateTime.module.css +39 -39
- package/lib/DateTime/DateTimePopupFooter.js +31 -8
- package/lib/DateTime/DateTimePopupHeader.js +48 -17
- package/lib/DateTime/DateWidget.js +352 -250
- package/lib/DateTime/DateWidget.module.css +5 -5
- package/lib/DateTime/DaysRow.js +27 -5
- package/lib/DateTime/Time.js +73 -32
- package/lib/DateTime/YearView.js +77 -28
- package/lib/DateTime/YearView.module.css +15 -15
- 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/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 +58 -37
- package/lib/DropBox/DropBoxElement/css/DropBoxElement.module.css +74 -73
- package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +41 -33
- 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/DropBox.module.css +6 -6
- 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/DropDown.module.css +2 -2
- package/lib/DropDown/DropDownHeading.js +39 -20
- package/lib/DropDown/DropDownHeading.module.css +3 -3
- package/lib/DropDown/DropDownItem.js +42 -20
- package/lib/DropDown/DropDownItem.module.css +9 -9
- package/lib/DropDown/DropDownSearch.js +40 -17
- package/lib/DropDown/DropDownSeparator.js +24 -4
- package/lib/DropDown/DropDownSeparator.module.css +2 -2
- 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/Heading.module.css +2 -2
- package/lib/Heading/props/propTypes.js +3 -0
- package/lib/Label/Label.js +39 -19
- package/lib/Label/Label.module.css +1 -1
- 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/Layout.module.css +15 -15
- 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/ListItem.module.css +26 -26
- 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/MultiSelect.module.css +32 -31
- package/lib/MultiSelect/MultiSelectHeader.js +30 -8
- package/lib/MultiSelect/MultiSelectWithAvatar.js +105 -63
- package/lib/MultiSelect/SelectedOptions.js +43 -17
- package/lib/MultiSelect/SelectedOptions.module.css +5 -5
- 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/Radio.module.css +3 -3
- 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/ResponsiveDropBox.module.css +2 -2
- package/lib/ResponsiveDropBox/props/propTypes.js +3 -0
- package/lib/Ribbon/Ribbon.js +33 -13
- package/lib/Ribbon/Ribbon.module.css +42 -42
- 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/Select.module.css +23 -23
- 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/Stencils.module.css +2 -2
- 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/Switch.module.css +23 -23
- package/lib/Switch/props/propTypes.js +3 -0
- package/lib/Tab/Tab.js +40 -27
- package/lib/Tab/Tab.module.css +14 -14
- 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/Tabs.module.css +23 -23
- 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/Tag.module.css +10 -10
- 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/TextBox.module.css +6 -5
- 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/TextBoxIcon.module.css +7 -6
- 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/Textarea.module.css +6 -6
- 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/Tooltip.module.css +12 -5
- 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/common/animation.module.css +8 -8
- package/lib/common/basicReset.module.css +3 -3
- package/lib/common/boxShadow.module.css +1 -3
- package/lib/common/common.module.css +24 -24
- package/lib/common/customscroll.module.css +4 -2
- package/lib/common/reset.module.css +1 -0
- package/lib/css.js +40 -0
- package/lib/deprecated/AdvancedMultiSelect.module.css +18 -18
- 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/Button/semanticButton.module.css +1 -1
- package/lib/semantic/index.js +2 -0
- package/lib/utils/Common.js +108 -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/common.js +32 -5
- 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 +20 -13
|
@@ -18,17 +18,17 @@
|
|
|
18
18
|
--ribbon_tag_before_border_color: var(--zdt_ribbon_default_tag_border);
|
|
19
19
|
--ribbon_tag_before_width: var(--zd_size20);
|
|
20
20
|
--ribbon_tag_before_height: var(--zd_size20);
|
|
21
|
-
--ribbon_tag_before_left:
|
|
21
|
+
--ribbon_tag_before_left: var(--zd_sizecalc(10) * -1);
|
|
22
22
|
--ribbon_tag_before_border_radius: 3px 0 0 0;
|
|
23
23
|
}[dir=ltr] .varClass {
|
|
24
|
-
--ribbon_flag_border_width:
|
|
25
|
-
/*rtl:
|
|
24
|
+
--ribbon_flag_border_width: 14px 12px 14px 0
|
|
25
|
+
/*rtl: 14px 0 14px 12px*/
|
|
26
26
|
;
|
|
27
27
|
--ribbon_tag_before_border_width: 1px 0 0 1px
|
|
28
28
|
/*rtl: 1px 1px 0 0*/
|
|
29
29
|
;
|
|
30
30
|
}[dir=rtl] .varClass {
|
|
31
|
-
--ribbon_flag_border_width:
|
|
31
|
+
--ribbon_flag_border_width: 14px 12px 14px 0 ;
|
|
32
32
|
--ribbon_tag_before_border_width: 1px 0 0 1px ;
|
|
33
33
|
}
|
|
34
34
|
|
|
@@ -212,38 +212,40 @@
|
|
|
212
212
|
composes: dotted from '../common/common.module.css';
|
|
213
213
|
display: block;
|
|
214
214
|
--ribbon_text_color: var(--zdt_ribbon_white_text);
|
|
215
|
-
--ribbon_line_height:
|
|
215
|
+
--ribbon_line_height: 20px;
|
|
216
216
|
--ribbon_text_transform: uppercase;
|
|
217
217
|
}
|
|
218
218
|
|
|
219
219
|
[dir=ltr] .flag {
|
|
220
|
-
--ribbon_padding: var(--zd_size4) var(--zd_size24) var(--zd_size4) var(--zd_size6
|
|
221
|
-
|
|
222
|
-
;
|
|
220
|
+
--ribbon_padding: var(--zd_size4) var(--zd_size24) var(--zd_size4) var(--zd_size6
|
|
221
|
+
) ;
|
|
223
222
|
}
|
|
224
223
|
|
|
225
224
|
[dir=rtl] .flag {
|
|
226
|
-
--ribbon_padding: var(--zd_size4) var(--zd_size24) var(--zd_size4) var(--zd_size6)
|
|
225
|
+
--ribbon_padding: var(--zd_size4) var(--zd_size24) var(--zd_size4) var(--zd_size6);
|
|
227
226
|
}
|
|
228
227
|
|
|
229
228
|
.flag::after {
|
|
230
229
|
position: absolute;
|
|
230
|
+
/* Variable:Ignore */
|
|
231
231
|
top: -1px;
|
|
232
|
+
/* Variable:Ignore */
|
|
233
|
+
/* Variable:Ignore */
|
|
232
234
|
bottom: -1px;
|
|
233
235
|
content: '';
|
|
234
|
-
width: var(--zd_size12);
|
|
236
|
+
width: var(--zd_size12) ;
|
|
235
237
|
border-style: solid;
|
|
236
238
|
transform: translateZ(0);
|
|
237
239
|
border-width: var(--ribbon_flag_border_width);
|
|
238
240
|
}
|
|
239
241
|
|
|
240
242
|
[dir=ltr] .flag::after {
|
|
241
|
-
right: -
|
|
243
|
+
right: calc( var(--zd_size1) * -1 ) ;
|
|
242
244
|
border-color: var(--zdt_ribbon_flag_mirror_border) var(--zdt_ribbon_flag_white_border) var(--zdt_ribbon_flag_mirror_border) var(--zdt_ribbon_flag_mirror_border);
|
|
243
245
|
}
|
|
244
246
|
|
|
245
247
|
[dir=rtl] .flag::after {
|
|
246
|
-
left: -
|
|
248
|
+
left: calc( var(--zd_size1) * -1 ) ;
|
|
247
249
|
border-color: var(--zdt_ribbon_flag_mirror_border) var(--zdt_ribbon_flag_mirror_border) var(--zdt_ribbon_flag_mirror_border) var(--zdt_ribbon_flag_white_border);
|
|
248
250
|
}
|
|
249
251
|
|
|
@@ -258,7 +260,7 @@
|
|
|
258
260
|
--ribbon_text_color: var(--zdt_ribbon_white_text);
|
|
259
261
|
--ribbon_text_transform: uppercase;
|
|
260
262
|
--ribbon_padding: var(--zd_size6) var(--zd_size10);
|
|
261
|
-
--ribbon_line_height:
|
|
263
|
+
--ribbon_line_height: 20px;
|
|
262
264
|
text-align: center;
|
|
263
265
|
}
|
|
264
266
|
|
|
@@ -266,9 +268,9 @@
|
|
|
266
268
|
.ribbon::before {
|
|
267
269
|
position: absolute;
|
|
268
270
|
content: '';
|
|
269
|
-
top: 100
|
|
270
|
-
height: var(--zd_size10);
|
|
271
|
-
width: var(--zd_size10);
|
|
271
|
+
top: 100% ;
|
|
272
|
+
height: var(--zd_size10) ;
|
|
273
|
+
width: var(--zd_size10) ;
|
|
272
274
|
}
|
|
273
275
|
|
|
274
276
|
.ribbon::after, .ribbon::before {
|
|
@@ -286,27 +288,27 @@
|
|
|
286
288
|
}
|
|
287
289
|
|
|
288
290
|
[dir=ltr] .ribbon::after {
|
|
289
|
-
right: 0;
|
|
291
|
+
right: 0 ;
|
|
290
292
|
}
|
|
291
293
|
|
|
292
294
|
[dir=rtl] .ribbon::after {
|
|
293
|
-
left: 0;
|
|
295
|
+
left: 0 ;
|
|
294
296
|
}
|
|
295
297
|
|
|
296
298
|
[dir=ltr] .ribbon::before {
|
|
297
|
-
left: 0;
|
|
299
|
+
left: 0 ;
|
|
298
300
|
transform: rotateY(180deg);
|
|
299
301
|
}
|
|
300
302
|
|
|
301
303
|
[dir=rtl] .ribbon::before {
|
|
302
|
-
right: 0;
|
|
304
|
+
right: 0 ;
|
|
303
305
|
transform: rotateY(-180deg);
|
|
304
306
|
}
|
|
305
307
|
|
|
306
308
|
.tag {
|
|
307
309
|
composes: semibold from '../common/common.module.css';
|
|
308
310
|
display: inline-block;
|
|
309
|
-
height: var(--zd_size28);
|
|
311
|
+
height: var(--zd_size28) ;
|
|
310
312
|
border-style: solid;
|
|
311
313
|
border-color: var(--zdt_ribbon_default_tag_border);
|
|
312
314
|
}
|
|
@@ -318,17 +320,15 @@
|
|
|
318
320
|
border-radius: 0 3px 3px 0
|
|
319
321
|
/*rtl: 3px 0 0 3px*/
|
|
320
322
|
;
|
|
321
|
-
margin-left: var(--zd_size13);
|
|
322
|
-
padding: var(--zd_size6) var(--zd_size8) var(--zd_size6) var(--zd_size5)
|
|
323
|
-
/*rtl: var(--zd_size6) var(--zd_size5) var(--zd_size6) var(--zd_size8)*/
|
|
324
|
-
;
|
|
323
|
+
margin-left: var(--zd_size13) ;
|
|
324
|
+
padding: var(--zd_size6) var(--zd_size8) var(--zd_size6) var(--zd_size5) ;
|
|
325
325
|
}
|
|
326
326
|
|
|
327
327
|
[dir=rtl] .tag {
|
|
328
328
|
border-width: 1px 0 1px 1px ;
|
|
329
329
|
border-radius: 3px 0 0 3px ;
|
|
330
|
-
margin-right: var(--zd_size13);
|
|
331
|
-
padding: var(--zd_size6) var(--zd_size5) var(--zd_size6) var(--zd_size8)
|
|
330
|
+
margin-right: var(--zd_size13) ;
|
|
331
|
+
padding: var(--zd_size6) var(--zd_size5) var(--zd_size6) var(--zd_size8) ;
|
|
332
332
|
}
|
|
333
333
|
|
|
334
334
|
.tag::before {
|
|
@@ -369,7 +369,7 @@
|
|
|
369
369
|
|
|
370
370
|
.sticker {
|
|
371
371
|
display: block;
|
|
372
|
-
height: var(--zd_size18);
|
|
372
|
+
height: var(--zd_size18) ;
|
|
373
373
|
line-height: var(--zd_size11);
|
|
374
374
|
--ribbon_text_color: var(--zdt_ribbon_white_text);
|
|
375
375
|
--ribbon_text_transform: uppercase;
|
|
@@ -377,31 +377,31 @@
|
|
|
377
377
|
border-width: 1px 0;
|
|
378
378
|
border-style: solid;
|
|
379
379
|
border-color: var(--zdt_ribbon_flag_white_border);
|
|
380
|
-
padding: var(--zd_size3) var(--zd_size10);
|
|
380
|
+
padding: var(--zd_size3) var(--zd_size10) ;
|
|
381
381
|
}
|
|
382
382
|
|
|
383
383
|
.after,
|
|
384
384
|
.before {
|
|
385
385
|
position: absolute;
|
|
386
|
-
top: 0;
|
|
387
|
-
bottom: 0;
|
|
388
|
-
width: var(--zd_size10);
|
|
386
|
+
top: 0 ;
|
|
387
|
+
bottom: 0 ;
|
|
388
|
+
width: var(--zd_size10) ;
|
|
389
389
|
}
|
|
390
390
|
|
|
391
391
|
[dir=ltr] .after {
|
|
392
|
-
right: calc(var(--zd_size2) * -1);
|
|
392
|
+
right: calc( var(--zd_size2) * -1 ) ;
|
|
393
393
|
}
|
|
394
394
|
|
|
395
395
|
[dir=rtl] .after {
|
|
396
|
-
left: calc(var(--zd_size2) * -1);
|
|
396
|
+
left: calc( var(--zd_size2) * -1 ) ;
|
|
397
397
|
}
|
|
398
398
|
|
|
399
399
|
[dir=ltr] .before {
|
|
400
|
-
left: calc(var(--zd_size8) * -1);
|
|
400
|
+
left: calc( var(--zd_size8) * -1 ) ;
|
|
401
401
|
}
|
|
402
402
|
|
|
403
403
|
[dir=rtl] .before {
|
|
404
|
-
right: calc(var(--zd_size8) * -1);
|
|
404
|
+
right: calc( var(--zd_size8) * -1 ) ;
|
|
405
405
|
}
|
|
406
406
|
|
|
407
407
|
.after::after,
|
|
@@ -409,8 +409,8 @@
|
|
|
409
409
|
.before::after,
|
|
410
410
|
.before::before {
|
|
411
411
|
position: absolute;
|
|
412
|
-
height: var(--zd_size7);
|
|
413
|
-
width: var(--zd_size7);
|
|
412
|
+
height: var(--zd_size7) ;
|
|
413
|
+
width: var(--zd_size7) ;
|
|
414
414
|
content: '';
|
|
415
415
|
}
|
|
416
416
|
|
|
@@ -428,12 +428,12 @@
|
|
|
428
428
|
|
|
429
429
|
.after::after,
|
|
430
430
|
.before::after {
|
|
431
|
-
top: 0;
|
|
431
|
+
top: 0 ;
|
|
432
432
|
}
|
|
433
433
|
|
|
434
434
|
.after::before,
|
|
435
435
|
.before::before {
|
|
436
|
-
bottom: 0;
|
|
436
|
+
bottom: 0 ;
|
|
437
437
|
}
|
|
438
438
|
|
|
439
439
|
.children {
|
|
@@ -443,11 +443,11 @@
|
|
|
443
443
|
}
|
|
444
444
|
|
|
445
445
|
[dir=ltr] .children {
|
|
446
|
-
margin-right: var(--zd_size4);
|
|
446
|
+
margin-right: var(--zd_size4) ;
|
|
447
447
|
}
|
|
448
448
|
|
|
449
449
|
[dir=rtl] .children {
|
|
450
|
-
margin-left: var(--zd_size4);
|
|
450
|
+
margin-left: var(--zd_size4) ;
|
|
451
451
|
}
|
|
452
452
|
|
|
453
453
|
.childText {
|
|
@@ -21,9 +21,7 @@ export default function RippleEffect(props) {
|
|
|
21
21
|
});
|
|
22
22
|
}
|
|
23
23
|
RippleEffect.defaultProps = defaultProps;
|
|
24
|
-
RippleEffect.propTypes = propTypes;
|
|
25
|
-
|
|
26
|
-
// if (__DOCS__) {
|
|
24
|
+
RippleEffect.propTypes = propTypes; // if (__DOCS__) {
|
|
27
25
|
// RippleEffect.docs = {
|
|
28
26
|
// componentGroup: 'RippleEffect',
|
|
29
27
|
// folderName: 'Style Guide'
|
package/es/Select/GroupSelect.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import React, { PureComponent } from 'react';
|
|
3
3
|
import { GroupSelect_defaultProps } from './props/defaultProps';
|
|
4
4
|
import { GroupSelect_propTypes } from './props/propTypes';
|
|
5
|
-
|
|
6
5
|
/**** Components ****/
|
|
6
|
+
|
|
7
7
|
import Popup from '../Popup/Popup';
|
|
8
8
|
import TextBoxIcon from '../TextBoxIcon/TextBoxIcon';
|
|
9
9
|
import Textbox from '../TextBox/TextBox';
|
|
@@ -18,13 +18,14 @@ import { getUniqueId } from '../Provider/IdProvider';
|
|
|
18
18
|
import ResponsiveDropBox from '../ResponsiveDropBox/ResponsiveDropBox';
|
|
19
19
|
import { ResponsiveReceiver } from '../Responsive/CustomResponsive';
|
|
20
20
|
import style from './Select.module.css';
|
|
21
|
-
|
|
22
21
|
/**** Methods ****/
|
|
22
|
+
|
|
23
23
|
import { makeGetGroupSelectOptions, optionIdGrouping, makeGetGroupSelectFilterSuggestions, extractOptionId } from '../utils/dropDownUtils';
|
|
24
24
|
import { getIsEmptyValue, scrollTo, debounce, getSearchString, findScrollEnd } from '../utils/Common';
|
|
25
|
-
|
|
26
25
|
/* eslint-disable react/no-unused-prop-types */
|
|
26
|
+
|
|
27
27
|
/* eslint-disable react/sort-prop-types */
|
|
28
|
+
|
|
28
29
|
/* eslint-disable react/forbid-component-props */
|
|
29
30
|
|
|
30
31
|
export class GroupSelectComponent extends PureComponent {
|
|
@@ -84,9 +85,11 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
84
85
|
};
|
|
85
86
|
this._isMounted = false;
|
|
86
87
|
}
|
|
88
|
+
|
|
87
89
|
componentDidMount() {
|
|
88
90
|
this._isMounted = true;
|
|
89
91
|
}
|
|
92
|
+
|
|
90
93
|
componentDidUpdate(prevProps) {
|
|
91
94
|
let {
|
|
92
95
|
groupedOptions,
|
|
@@ -106,6 +109,7 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
106
109
|
} = this;
|
|
107
110
|
let newOptionIds = allOptionIds;
|
|
108
111
|
let newSelectedId = selectedId;
|
|
112
|
+
|
|
109
113
|
if (groupedOptions !== prevProps.groupedOptions) {
|
|
110
114
|
let {
|
|
111
115
|
revampedGroups,
|
|
@@ -121,6 +125,7 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
121
125
|
allOptionIds
|
|
122
126
|
});
|
|
123
127
|
}
|
|
128
|
+
|
|
124
129
|
if (selectedOption !== prevProps.selectedOption) {
|
|
125
130
|
let {
|
|
126
131
|
selectedId,
|
|
@@ -132,12 +137,14 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
132
137
|
hoverIndex
|
|
133
138
|
});
|
|
134
139
|
}
|
|
140
|
+
|
|
135
141
|
let {
|
|
136
142
|
suggestionOptionIds
|
|
137
143
|
} = this.handleFilterSuggestions();
|
|
138
144
|
let hoverId = getIsEmptyValue(suggestionOptionIds[hoverIndex]) ? '' : suggestionOptionIds[hoverIndex];
|
|
139
145
|
let selSuggestion = this[`suggestion_${hoverId}`];
|
|
140
146
|
isPopupOpen && scrollTo(suggestionContainer, selSuggestion);
|
|
147
|
+
|
|
141
148
|
if (isPopupOpen !== prevProps.isPopupOpen) {
|
|
142
149
|
if (isPopupOpen) {
|
|
143
150
|
setTimeout(() => {
|
|
@@ -156,9 +163,11 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
156
163
|
}
|
|
157
164
|
}
|
|
158
165
|
}
|
|
166
|
+
|
|
159
167
|
componentWillUnmount() {
|
|
160
168
|
this._isMounted = false;
|
|
161
169
|
}
|
|
170
|
+
|
|
162
171
|
handleGetGroupSelectOptions(props) {
|
|
163
172
|
let {
|
|
164
173
|
groupedOptions
|
|
@@ -167,6 +176,7 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
167
176
|
groupedOptions
|
|
168
177
|
});
|
|
169
178
|
}
|
|
179
|
+
|
|
170
180
|
handleGetSelectedId(props, allOptionIds) {
|
|
171
181
|
let {
|
|
172
182
|
selectedOption,
|
|
@@ -178,19 +188,23 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
178
188
|
} = selectedOption;
|
|
179
189
|
let selectedId = optionIdGrouping(selected, groupId);
|
|
180
190
|
let selectedIdIndex = allOptionIds.indexOf(selectedId);
|
|
191
|
+
|
|
181
192
|
if (selectedIdIndex === -1) {
|
|
182
193
|
selectedIdIndex = 0;
|
|
194
|
+
|
|
183
195
|
if (isDefaultSelectValue) {
|
|
184
196
|
[selectedId] = allOptionIds;
|
|
185
197
|
} else {
|
|
186
198
|
selectedId = '';
|
|
187
199
|
}
|
|
188
200
|
}
|
|
201
|
+
|
|
189
202
|
return {
|
|
190
203
|
selectedId,
|
|
191
204
|
hoverIndex: selectedIdIndex
|
|
192
205
|
};
|
|
193
206
|
}
|
|
207
|
+
|
|
194
208
|
handleFilterSuggestions() {
|
|
195
209
|
let {
|
|
196
210
|
needSearch,
|
|
@@ -201,6 +215,7 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
201
215
|
searchStr = '',
|
|
202
216
|
allOptionIds
|
|
203
217
|
} = this.state;
|
|
218
|
+
|
|
204
219
|
if (needSearch && searchStr && searchStr.trim().length) {
|
|
205
220
|
searchStr = getSearchString(searchStr);
|
|
206
221
|
let {
|
|
@@ -216,11 +231,13 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
216
231
|
suggestionOptionIds
|
|
217
232
|
};
|
|
218
233
|
}
|
|
234
|
+
|
|
219
235
|
return {
|
|
220
236
|
suggestionGroups: revampedGroups,
|
|
221
237
|
suggestionOptionIds: allOptionIds
|
|
222
238
|
};
|
|
223
239
|
}
|
|
240
|
+
|
|
224
241
|
handleSearchOptions() {
|
|
225
242
|
let {
|
|
226
243
|
onSearch
|
|
@@ -230,6 +247,7 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
230
247
|
} = this.state;
|
|
231
248
|
searchStr && this.handleFetchOptions(onSearch, searchStr);
|
|
232
249
|
}
|
|
250
|
+
|
|
233
251
|
handleSearch(value) {
|
|
234
252
|
// let { value = '' } = e.target;
|
|
235
253
|
let {
|
|
@@ -252,6 +270,7 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
252
270
|
}
|
|
253
271
|
});
|
|
254
272
|
}
|
|
273
|
+
|
|
255
274
|
handleKeyDown(e) {
|
|
256
275
|
let {
|
|
257
276
|
isPopupOpen,
|
|
@@ -267,33 +286,38 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
267
286
|
let {
|
|
268
287
|
keyCode
|
|
269
288
|
} = e;
|
|
289
|
+
|
|
270
290
|
if (!isPopupOpen && !isPopupOpenOnEnter) {
|
|
271
291
|
onKeyDown && onKeyDown(e);
|
|
272
292
|
}
|
|
293
|
+
|
|
273
294
|
if (isPopupOpen && (keyCode === 38 || keyCode === 40) && e.preventDefault) {
|
|
274
295
|
e.preventDefault(); //prevent body scroll
|
|
275
296
|
} else if (!isPopupOpen && keyCode === 40) {
|
|
276
297
|
e.preventDefault(); //prevent body scroll
|
|
298
|
+
|
|
277
299
|
this.togglePopup(e);
|
|
278
300
|
}
|
|
301
|
+
|
|
279
302
|
if (keyCode === 38 && isPopupOpen && suggestionOptionIds.length) {
|
|
280
|
-
if (hoverIndex === 0) {
|
|
281
|
-
// hoverIndex = options.length - 1;
|
|
303
|
+
if (hoverIndex === 0) {// hoverIndex = options.length - 1;
|
|
282
304
|
} else {
|
|
283
305
|
hoverIndex -= 1;
|
|
284
306
|
}
|
|
307
|
+
|
|
285
308
|
this.setState({
|
|
286
309
|
hoverIndex
|
|
287
310
|
});
|
|
288
311
|
} else if (keyCode === 40 && isPopupOpen && suggestionOptionIds.length) {
|
|
289
|
-
if (hoverIndex === suggestionOptionIds.length - 1) {
|
|
290
|
-
// hoverIndex = 0;
|
|
312
|
+
if (hoverIndex === suggestionOptionIds.length - 1) {// hoverIndex = 0;
|
|
291
313
|
} else {
|
|
292
314
|
if (hoverIndex === suggestionOptionIds.length - 3) {
|
|
293
315
|
this.handleGetNextOptions();
|
|
294
316
|
}
|
|
317
|
+
|
|
295
318
|
hoverIndex += 1;
|
|
296
319
|
}
|
|
320
|
+
|
|
297
321
|
this.setState({
|
|
298
322
|
hoverIndex
|
|
299
323
|
});
|
|
@@ -304,8 +328,7 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
304
328
|
} else if (keyCode === 27) {
|
|
305
329
|
this.valueInput && this.valueInput.focus({
|
|
306
330
|
preventScroll: true
|
|
307
|
-
});
|
|
308
|
-
// this.handlePopupClose(e);
|
|
331
|
+
}); // this.handlePopupClose(e);
|
|
309
332
|
}
|
|
310
333
|
}
|
|
311
334
|
|
|
@@ -321,6 +344,7 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
321
344
|
hoverIndex: newHoverIndex
|
|
322
345
|
});
|
|
323
346
|
}
|
|
347
|
+
|
|
324
348
|
handleChange(id, value, index, e) {
|
|
325
349
|
e && e.preventDefault && e.preventDefault();
|
|
326
350
|
let {
|
|
@@ -334,13 +358,13 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
334
358
|
id: selected,
|
|
335
359
|
groupId
|
|
336
360
|
} = extractOptionId(id);
|
|
361
|
+
|
|
337
362
|
if (!getIsEmptyValue(id) && !isReadOnly) {
|
|
338
363
|
onChange && onChange({
|
|
339
364
|
groupId,
|
|
340
365
|
selected
|
|
341
366
|
}, normalizedAllOptions[id]);
|
|
342
|
-
this.handlePopupClose();
|
|
343
|
-
// this.valueInput && this.valueInput.focus({preventScroll:true});
|
|
367
|
+
this.handlePopupClose(); // this.valueInput && this.valueInput.focus({preventScroll:true});
|
|
344
368
|
}
|
|
345
369
|
}
|
|
346
370
|
|
|
@@ -352,6 +376,7 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
352
376
|
} = this.props;
|
|
353
377
|
!isReadOnly && togglePopup(e, defaultDropBoxPosition ? `${defaultDropBoxPosition}Center` : null);
|
|
354
378
|
}
|
|
379
|
+
|
|
355
380
|
handlePopupClose(e) {
|
|
356
381
|
let {
|
|
357
382
|
closePopupOnly,
|
|
@@ -362,15 +387,19 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
362
387
|
});
|
|
363
388
|
isPopupOpen && closePopupOnly(e);
|
|
364
389
|
}
|
|
390
|
+
|
|
365
391
|
suggestionContainerRef(el) {
|
|
366
392
|
this.suggestionContainer = el;
|
|
367
393
|
}
|
|
394
|
+
|
|
368
395
|
suggestionItemRef(el, index, id) {
|
|
369
396
|
this[`suggestion_${id}`] = el;
|
|
370
397
|
}
|
|
398
|
+
|
|
371
399
|
searchInputRef(el) {
|
|
372
400
|
this.searchInput = el;
|
|
373
401
|
}
|
|
402
|
+
|
|
374
403
|
valueInputRef(el) {
|
|
375
404
|
let {
|
|
376
405
|
getRef
|
|
@@ -378,12 +407,14 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
378
407
|
this.valueInput = el;
|
|
379
408
|
getRef && getRef(el);
|
|
380
409
|
}
|
|
410
|
+
|
|
381
411
|
handleSelectFocus(e) {
|
|
382
412
|
let {
|
|
383
413
|
target
|
|
384
414
|
} = e || {};
|
|
385
415
|
target && target.setSelectionRange(target, 0);
|
|
386
416
|
}
|
|
417
|
+
|
|
387
418
|
handleClearSearch() {
|
|
388
419
|
this.handleSearch('');
|
|
389
420
|
setTimeout(() => {
|
|
@@ -392,6 +423,7 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
392
423
|
});
|
|
393
424
|
}, 1);
|
|
394
425
|
}
|
|
426
|
+
|
|
395
427
|
handleValueInputChange(e) {
|
|
396
428
|
let {
|
|
397
429
|
which
|
|
@@ -401,22 +433,26 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
401
433
|
isPopupOpen,
|
|
402
434
|
autoSelectOnType
|
|
403
435
|
} = this.props;
|
|
436
|
+
|
|
404
437
|
if (!isPopupOpen && autoSelectOnType) {
|
|
405
438
|
this.valueInputTypeString += (typeString || '').trim();
|
|
406
439
|
this.handleChangeOnType();
|
|
407
440
|
}
|
|
408
441
|
}
|
|
442
|
+
|
|
409
443
|
handleChangeOnType() {
|
|
410
444
|
let {
|
|
411
445
|
revampedGroups
|
|
412
446
|
} = this.state;
|
|
413
447
|
let typeString = this.valueInputTypeString;
|
|
414
448
|
this.valueInputTypeString = '';
|
|
449
|
+
|
|
415
450
|
let changeValue = () => {
|
|
416
451
|
let id = this.autoSelectSuggestions[this.autoSelectIndex];
|
|
417
452
|
let {
|
|
418
453
|
suggestionOptionIds
|
|
419
454
|
} = this.handleFilterSuggestions();
|
|
455
|
+
|
|
420
456
|
if (!getIsEmptyValue(id)) {
|
|
421
457
|
this.handleChange(id);
|
|
422
458
|
let hoverIndex = suggestionOptionIds.indexOf(id);
|
|
@@ -425,12 +461,14 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
425
461
|
});
|
|
426
462
|
}
|
|
427
463
|
};
|
|
464
|
+
|
|
428
465
|
if (typeString && typeString === this.valueInputSearchString) {
|
|
429
466
|
if (this.autoSelectIndex < this.autoSelectSuggestions.length - 1) {
|
|
430
467
|
this.autoSelectIndex += 1;
|
|
431
468
|
} else {
|
|
432
469
|
this.autoSelectIndex = 0;
|
|
433
470
|
}
|
|
471
|
+
|
|
434
472
|
changeValue();
|
|
435
473
|
} else if (typeString) {
|
|
436
474
|
this.valueInputSearchString = typeString;
|
|
@@ -447,11 +485,13 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
447
485
|
changeValue();
|
|
448
486
|
}
|
|
449
487
|
}
|
|
488
|
+
|
|
450
489
|
handleScroll(e) {
|
|
451
490
|
let ele = e.target;
|
|
452
491
|
let isScrollReachedBottom = findScrollEnd(ele);
|
|
453
492
|
isScrollReachedBottom && this.handleGetNextOptions();
|
|
454
493
|
}
|
|
494
|
+
|
|
455
495
|
handleFetchOptions(APICall) {
|
|
456
496
|
let searchStr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
457
497
|
// let funcArgs = args.slice(1, args.length);
|
|
@@ -461,10 +501,12 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
461
501
|
let {
|
|
462
502
|
_isMounted
|
|
463
503
|
} = this;
|
|
504
|
+
|
|
464
505
|
if (!isFetchingOptions && APICall) {
|
|
465
506
|
this.setState({
|
|
466
507
|
isFetchingOptions: true
|
|
467
508
|
});
|
|
509
|
+
|
|
468
510
|
try {
|
|
469
511
|
return APICall(searchStr).then(() => {
|
|
470
512
|
_isMounted && this.setState({
|
|
@@ -482,6 +524,7 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
482
524
|
}
|
|
483
525
|
}
|
|
484
526
|
}
|
|
527
|
+
|
|
485
528
|
handleGetNextOptions() {
|
|
486
529
|
let {
|
|
487
530
|
isNextOptions,
|
|
@@ -492,6 +535,7 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
492
535
|
} = this.state;
|
|
493
536
|
isNextOptions && getNextOptions && this.handleFetchOptions(getNextOptions, searchStr);
|
|
494
537
|
}
|
|
538
|
+
|
|
495
539
|
responsiveFunc(_ref) {
|
|
496
540
|
let {
|
|
497
541
|
mediaQueryOR
|
|
@@ -502,6 +546,7 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
502
546
|
}])
|
|
503
547
|
};
|
|
504
548
|
}
|
|
549
|
+
|
|
505
550
|
render() {
|
|
506
551
|
let {
|
|
507
552
|
isDisabled,
|
|
@@ -737,15 +782,14 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
737
782
|
}, /*#__PURE__*/React.createElement(Loader, null))), getFooter ? /*#__PURE__*/React.createElement(CardFooter, null, getFooter()) : null)));
|
|
738
783
|
}) : null);
|
|
739
784
|
}
|
|
785
|
+
|
|
740
786
|
}
|
|
741
787
|
GroupSelectComponent.propTypes = GroupSelect_propTypes;
|
|
742
788
|
GroupSelectComponent.defaultProps = GroupSelect_defaultProps;
|
|
743
789
|
GroupSelectComponent.displayName = 'GroupSelect';
|
|
744
790
|
let GroupSelect = Popup(GroupSelectComponent);
|
|
745
791
|
GroupSelect.defaultProps = GroupSelectComponent.defaultProps;
|
|
746
|
-
export default GroupSelect;
|
|
747
|
-
|
|
748
|
-
// if (__DOCS__) {
|
|
792
|
+
export default GroupSelect; // if (__DOCS__) {
|
|
749
793
|
// GroupSelect.docs = {
|
|
750
794
|
// componentGroup: 'Form Elements',
|
|
751
795
|
// folderName: 'Style Guide'
|