@zohodesk/components 1.2.23 → 1.2.24
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 +7 -89
- package/es/Animation/utils.js +83 -0
- package/es/AppContainer/AppContainer.js +14 -3
- package/es/AppContainer/AppContainer.module.css +2 -2
- package/es/Avatar/Avatar.js +23 -11
- package/es/Avatar/Avatar.module.css +18 -18
- package/es/AvatarTeam/AvatarTeam.js +3 -3
- package/es/AvatarTeam/AvatarTeam.module.css +35 -35
- package/es/AvatarTeam/__tests__/AvatarTeam.spec.js +1 -2
- package/es/Button/Button.js +4 -3
- package/es/Button/css/Button.module.css +70 -70
- package/es/Buttongroup/Buttongroup.js +3 -3
- package/es/Buttongroup/Buttongroup.module.css +13 -15
- package/es/Card/Card.js +21 -10
- package/es/CheckBox/CheckBox.js +5 -3
- package/es/CheckBox/CheckBox.module.css +15 -15
- package/es/DateTime/CalendarView.js +32 -20
- package/es/DateTime/DateTime.js +69 -6
- package/es/DateTime/DateTime.module.css +40 -40
- package/es/DateTime/DateTimePopupFooter.js +4 -1
- 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 -1
- package/es/DateTime/Time.js +10 -1
- package/es/DateTime/YearView.js +28 -4
- package/es/DateTime/YearView.module.css +15 -15
- package/es/DateTime/common.js +3 -0
- package/es/DateTime/constants.js +1 -0
- package/es/DateTime/dateFormatUtils/dateFormat.js +65 -30
- package/es/DateTime/dateFormatUtils/dateFormats.js +0 -1
- package/es/DateTime/dateFormatUtils/dayChange.js +13 -4
- package/es/DateTime/dateFormatUtils/index.js +31 -1
- 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 +73 -76
- 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 +7 -1
- package/es/DropDown/DropDown.module.css +2 -2
- package/es/DropDown/DropDownHeading.js +4 -5
- package/es/DropDown/DropDownHeading.module.css +6 -6
- package/es/DropDown/DropDownItem.js +6 -0
- package/es/DropDown/DropDownItem.module.css +12 -12
- package/es/DropDown/DropDownSearch.js +4 -0
- package/es/DropDown/DropDownSearch.module.css +3 -3
- package/es/DropDown/DropDownSeparator.js +1 -0
- package/es/DropDown/DropDownSeparator.module.css +2 -2
- package/es/DropDown/props/propTypes.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 +5 -5
- package/es/Label/__tests__/Label.spec.js +1 -2
- package/es/Layout/Box.js +15 -2
- package/es/Layout/Container.js +14 -3
- package/es/Layout/Layout.module.css +15 -15
- package/es/Layout/index.js +1 -2
- package/es/Layout/utils.js +1 -0
- package/es/ListItem/ListContainer.js +8 -3
- package/es/ListItem/ListItem.js +9 -3
- package/es/ListItem/ListItem.module.css +27 -38
- 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/MobileHeader/MobileHeader.module.css +5 -5
- package/es/MultiSelect/MultiSelect.js +99 -30
- package/es/MultiSelect/MultiSelect.module.css +31 -31
- package/es/MultiSelect/MultiSelectHeader.js +3 -0
- package/es/MultiSelect/MultiSelectWithAvatar.js +10 -3
- 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/props/propTypes.js +2 -2
- package/es/PopOver/PopOver.js +16 -0
- package/es/Popup/Popup.js +77 -24
- 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 +3 -0
- package/es/Radio/Radio.module.css +9 -9
- 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/ResponsiveDropBox/props/propTypes.js +1 -2
- package/es/Ribbon/Ribbon.js +3 -2
- package/es/Ribbon/Ribbon.module.css +45 -48
- 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/props/propTypes.js +2 -2
- package/es/Stencils/Stencils.js +3 -3
- package/es/Stencils/Stencils.module.css +11 -11
- 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 +3 -0
- package/es/Tab/TabWrapper.js +5 -2
- package/es/Tab/Tabs.js +54 -7
- package/es/Tab/Tabs.module.css +22 -22
- package/es/Tag/Tag.js +6 -3
- package/es/Tag/Tag.module.css +24 -25
- package/es/TextBox/TextBox.js +16 -3
- package/es/TextBox/TextBox.module.css +9 -9
- package/es/TextBoxIcon/TextBoxIcon.js +9 -2
- package/es/TextBoxIcon/TextBoxIcon.module.css +7 -7
- package/es/TextBoxIcon/props/propTypes.js +1 -2
- package/es/Textarea/Textarea.js +12 -3
- package/es/Textarea/Textarea.module.css +21 -21
- package/es/Tooltip/Tooltip.js +58 -14
- package/es/Tooltip/Tooltip.module.css +5 -5
- 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/avatarsizes.module.css +16 -16
- package/es/common/basicReset.module.css +3 -3
- package/es/common/common.module.css +24 -24
- package/es/common/customscroll.module.css +2 -2
- 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/constructFullName.js +2 -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/es/v1/Accordion/Accordion.js +4 -3
- package/es/v1/Accordion/AccordionItem.js +4 -2
- package/es/v1/Animation/Animation.js +5 -89
- package/es/v1/Animation/utils.js +83 -0
- package/es/v1/AppContainer/AppContainer.js +9 -3
- package/es/v1/Avatar/Avatar.js +18 -6
- package/es/v1/AvatarTeam/AvatarTeam.js +1 -0
- package/es/v1/Button/Button.js +3 -3
- package/es/v1/Card/Card.js +16 -8
- package/es/v1/CheckBox/CheckBox.js +6 -3
- package/es/v1/DateTime/CalendarView.js +32 -20
- package/es/v1/DateTime/DateTime.js +69 -6
- package/es/v1/DateTime/DateTimePopupFooter.js +4 -1
- package/es/v1/DateTime/DateTimePopupHeader.js +8 -2
- package/es/v1/DateTime/DateWidget.js +98 -35
- package/es/v1/DateTime/DaysRow.js +4 -1
- package/es/v1/DateTime/Time.js +10 -1
- package/es/v1/DateTime/YearView.js +28 -4
- package/es/v1/DropBox/DropBox.js +6 -2
- package/es/v1/DropBox/DropBoxElement/DropBoxElement.js +7 -0
- package/es/v1/DropBox/props/defaultProps.js +1 -2
- package/es/v1/DropBox/props/propTypes.js +1 -2
- package/es/v1/DropDown/DropDown.js +3 -0
- package/es/v1/DropDown/DropDownHeading.js +2 -2
- package/es/v1/DropDown/DropDownItem.js +5 -0
- package/es/v1/DropDown/DropDownSearch.js +3 -2
- package/es/v1/DropDown/props/propTypes.js +1 -2
- package/es/v1/Heading/Heading.js +1 -3
- package/es/v1/Layout/Box.js +15 -2
- package/es/v1/Layout/Container.js +14 -3
- package/es/v1/ListItem/ListContainer.js +8 -3
- package/es/v1/ListItem/ListItem.js +10 -3
- package/es/v1/ListItem/ListItemWithAvatar.js +9 -1
- package/es/v1/ListItem/ListItemWithCheckBox.js +8 -2
- package/es/v1/ListItem/ListItemWithIcon.js +9 -3
- package/es/v1/ListItem/ListItemWithRadio.js +8 -3
- package/es/v1/Modal/Modal.js +17 -1
- package/es/v1/MultiSelect/AdvancedGroupMultiSelect.js +90 -15
- package/es/v1/MultiSelect/AdvancedMultiSelect.js +32 -9
- package/es/v1/MultiSelect/EmptyState.js +2 -0
- package/es/v1/MultiSelect/MultiSelect.js +100 -31
- package/es/v1/MultiSelect/MultiSelectHeader.js +3 -0
- package/es/v1/MultiSelect/MultiSelectWithAvatar.js +11 -3
- package/es/v1/MultiSelect/SelectedOptions.js +6 -3
- package/es/v1/MultiSelect/Suggestions.js +7 -3
- package/es/v1/MultiSelect/props/propTypes.js +2 -2
- package/es/v1/PopOver/PopOver.js +11 -0
- package/es/v1/Popup/Popup.js +77 -24
- package/es/v1/Provider/IdProvider.js +10 -5
- package/es/v1/Provider/LibraryContext.js +6 -4
- package/es/v1/Provider/NumberGenerator/NumberGenerator.js +21 -7
- package/es/v1/Provider/ZindexProvider.js +9 -2
- package/es/v1/Radio/Radio.js +5 -2
- package/es/v1/Responsive/CustomResponsive.js +30 -18
- package/es/v1/Responsive/RefWrapper.js +6 -7
- package/es/v1/Responsive/ResizeComponent.js +35 -25
- package/es/v1/Responsive/ResizeObserver.js +26 -6
- package/es/v1/Responsive/Responsive.js +34 -20
- package/es/v1/Responsive/index.js +1 -3
- package/es/v1/ResponsiveDropBox/ResponsiveDropBox.js +1 -0
- package/es/v1/ResponsiveDropBox/props/propTypes.js +1 -2
- package/es/v1/Select/GroupSelect.js +58 -14
- package/es/v1/Select/Select.js +81 -37
- package/es/v1/Select/SelectWithAvatar.js +17 -4
- package/es/v1/Select/SelectWithIcon.js +46 -5
- package/es/v1/Select/props/propTypes.js +2 -2
- package/es/v1/Stencils/Stencils.js +2 -0
- package/es/v1/Switch/Switch.js +6 -3
- package/es/v1/Tab/Tab.js +3 -3
- package/es/v1/Tab/TabContent.js +1 -0
- package/es/v1/Tab/TabContentWrapper.js +3 -0
- package/es/v1/Tab/TabWrapper.js +5 -2
- package/es/v1/Tab/Tabs.js +54 -9
- package/es/v1/Tab/v1Tab.module.css +14 -14
- package/es/v1/Tab/v1Tabs.module.css +22 -22
- package/es/v1/Tag/Tag.js +5 -1
- package/es/v1/TextBox/TextBox.js +14 -0
- package/es/v1/TextBoxIcon/TextBoxIcon.js +6 -2
- package/es/v1/TextBoxIcon/props/propTypes.js +1 -2
- package/es/v1/Textarea/Textarea.js +10 -3
- package/es/v1/Tooltip/Tooltip.js +58 -14
- package/es/v1/Typography/Typography.js +2 -0
- package/es/v1/Typography/css/Typography.module.css +31 -31
- package/es/v1/Typography/css/cssJSLogic.js +3 -0
- package/es/v1/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +1 -2
- package/es/v1/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +5 -4
- package/es/v1/semantic/Button/Button.js +1 -2
- package/lib/Accordion/Accordion.js +42 -18
- package/lib/Accordion/AccordionItem.js +40 -18
- package/lib/Accordion/index.js +3 -0
- package/lib/Accordion/props/propTypes.js +3 -0
- package/lib/Animation/Animation.js +42 -104
- package/lib/Animation/props/propTypes.js +3 -0
- package/lib/Animation/utils.js +94 -0
- package/lib/AppContainer/AppContainer.js +58 -20
- 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 +18 -18
- package/lib/Avatar/__tests__/Avatar.spec.js +95 -71
- package/lib/Avatar/props/propTypes.js +3 -0
- package/lib/AvatarTeam/AvatarTeam.js +52 -30
- package/lib/AvatarTeam/AvatarTeam.module.css +35 -35
- package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +77 -61
- package/lib/AvatarTeam/props/propTypes.js +3 -0
- package/lib/Button/Button.js +33 -22
- package/lib/Button/__tests__/Button.spec.js +65 -48
- package/lib/Button/css/Button.module.css +70 -70
- 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 -15
- package/lib/Buttongroup/__tests__/Buttongroup.spec.js +18 -10
- package/lib/Buttongroup/props/propTypes.js +3 -0
- package/lib/Card/Card.js +102 -46
- 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 +15 -15
- package/lib/CheckBox/props/propTypes.js +3 -0
- package/lib/DateTime/CalendarView.js +82 -42
- package/lib/DateTime/DateTime.js +244 -156
- package/lib/DateTime/DateTime.module.css +40 -40
- package/lib/DateTime/DateTimePopupFooter.js +33 -8
- package/lib/DateTime/DateTimePopupHeader.js +49 -17
- package/lib/DateTime/DateWidget.js +350 -249
- package/lib/DateTime/DateWidget.module.css +5 -5
- package/lib/DateTime/DaysRow.js +28 -5
- package/lib/DateTime/Time.js +75 -32
- package/lib/DateTime/YearView.js +76 -27
- package/lib/DateTime/YearView.module.css +15 -15
- package/lib/DateTime/common.js +6 -0
- package/lib/DateTime/constants.js +1 -0
- package/lib/DateTime/dateFormatUtils/dateFormat.js +187 -122
- package/lib/DateTime/dateFormatUtils/dateFormats.js +0 -1
- package/lib/DateTime/dateFormatUtils/dayChange.js +15 -7
- package/lib/DateTime/dateFormatUtils/index.js +73 -16
- package/lib/DateTime/dateFormatUtils/monthChange.js +20 -9
- package/lib/DateTime/dateFormatUtils/timeChange.js +54 -22
- package/lib/DateTime/dateFormatUtils/yearChange.js +23 -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 +45 -21
- package/lib/DropBox/DropBoxElement/DropBoxElement.js +59 -38
- package/lib/DropBox/DropBoxElement/css/DropBoxElement.module.css +73 -76
- 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/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 +51 -5
- package/lib/DropDown/DropDown.module.css +2 -2
- package/lib/DropDown/DropDownHeading.js +39 -20
- package/lib/DropDown/DropDownHeading.module.css +6 -6
- package/lib/DropDown/DropDownItem.js +42 -20
- package/lib/DropDown/DropDownItem.module.css +12 -12
- package/lib/DropDown/DropDownSearch.js +40 -17
- package/lib/DropDown/DropDownSearch.module.css +3 -3
- package/lib/DropDown/DropDownSeparator.js +24 -4
- package/lib/DropDown/DropDownSeparator.module.css +2 -2
- package/lib/DropDown/index.js +9 -0
- package/lib/DropDown/props/propTypes.js +10 -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 +41 -21
- package/lib/Label/Label.module.css +5 -5
- package/lib/Label/__tests__/Label.spec.js +48 -34
- package/lib/Label/props/propTypes.js +3 -0
- package/lib/Layout/Box.js +35 -15
- package/lib/Layout/Container.js +33 -14
- package/lib/Layout/Layout.module.css +15 -15
- package/lib/Layout/index.js +3 -0
- package/lib/Layout/props/propTypes.js +3 -0
- package/lib/Layout/utils.js +11 -0
- package/lib/ListItem/ListContainer.js +55 -30
- package/lib/ListItem/ListItem.js +74 -45
- package/lib/ListItem/ListItem.module.css +27 -38
- package/lib/ListItem/ListItemWithAvatar.js +80 -48
- package/lib/ListItem/ListItemWithCheckBox.js +70 -40
- package/lib/ListItem/ListItemWithIcon.js +73 -44
- package/lib/ListItem/ListItemWithRadio.js +71 -42
- 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 +293 -166
- package/lib/MultiSelect/AdvancedMultiSelect.js +202 -125
- package/lib/MultiSelect/EmptyState.js +45 -24
- package/lib/MultiSelect/MobileHeader/MobileHeader.js +14 -5
- package/lib/MultiSelect/MobileHeader/MobileHeader.module.css +5 -5
- package/lib/MultiSelect/MobileHeader/props/propTypes.js +3 -0
- package/lib/MultiSelect/MultiSelect.js +333 -214
- package/lib/MultiSelect/MultiSelect.module.css +31 -31
- package/lib/MultiSelect/MultiSelectHeader.js +29 -7
- package/lib/MultiSelect/MultiSelectWithAvatar.js +85 -43
- 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/index.js +5 -0
- package/lib/MultiSelect/props/defaultProps.js +2 -0
- package/lib/MultiSelect/props/propTypes.js +14 -4
- package/lib/PopOver/PopOver.js +94 -47
- 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/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 +60 -36
- package/lib/Radio/Radio.module.css +9 -9
- package/lib/Radio/__tests__/Radio.spec.js +134 -103
- 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 +9 -4
- package/lib/Ribbon/Ribbon.js +33 -13
- package/lib/Ribbon/Ribbon.module.css +45 -48
- package/lib/Ribbon/__tests__/Ribbon.spec.js +24 -14
- package/lib/Ribbon/props/propTypes.js +3 -0
- package/lib/RippleEffect/RippleEffect.js +18 -10
- package/lib/RippleEffect/__tests__/RippleEffect.spec.js +34 -22
- package/lib/RippleEffect/props/propTypes.js +3 -0
- package/lib/Select/GroupSelect.js +229 -130
- package/lib/Select/Select.js +295 -211
- package/lib/Select/Select.module.css +23 -23
- package/lib/Select/SelectWithAvatar.js +102 -56
- package/lib/Select/SelectWithIcon.js +131 -76
- package/lib/Select/index.js +5 -0
- package/lib/Select/props/defaultProps.js +5 -4
- package/lib/Select/props/propTypes.js +10 -4
- package/lib/Stencils/Stencils.js +29 -10
- package/lib/Stencils/Stencils.module.css +11 -11
- package/lib/Stencils/__tests__/Stencils.spec.js +22 -13
- 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/__tests__/Switch.spec.js +91 -72
- 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 +16 -8
- package/lib/Tab/TabWrapper.js +37 -19
- package/lib/Tab/Tabs.js +171 -91
- package/lib/Tab/Tabs.module.css +22 -22
- 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 +24 -25
- package/lib/Tag/props/propTypes.js +3 -0
- package/lib/TextBox/TextBox.js +86 -60
- package/lib/TextBox/TextBox.module.css +9 -9
- package/lib/TextBox/props/propTypes.js +6 -4
- package/lib/TextBoxIcon/TextBoxIcon.js +80 -53
- package/lib/TextBoxIcon/TextBoxIcon.module.css +7 -7
- package/lib/TextBoxIcon/props/propTypes.js +9 -4
- package/lib/Textarea/Textarea.js +54 -29
- package/lib/Textarea/Textarea.module.css +21 -21
- package/lib/Textarea/props/propTypes.js +3 -0
- package/lib/Tooltip/Tooltip.js +94 -31
- package/lib/Tooltip/Tooltip.module.css +5 -5
- 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/avatarsizes.module.css +16 -16
- package/lib/common/basicReset.module.css +3 -3
- package/lib/common/common.module.css +24 -24
- package/lib/common/customscroll.module.css +2 -2
- 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 +58 -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 +111 -18
- package/lib/utils/ContextOptimizer.js +16 -10
- package/lib/utils/constructFullName.js +13 -4
- package/lib/utils/datetime/common.js +34 -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 +1 -0
- package/lib/utils/scrollTo.js +2 -0
- package/lib/utils/shallowEqual.js +8 -0
- package/lib/v1/Accordion/Accordion.js +38 -19
- package/lib/v1/Accordion/AccordionItem.js +23 -13
- package/lib/v1/Accordion/index.js +3 -0
- package/lib/v1/Accordion/props/propTypes.js +3 -0
- package/lib/v1/Animation/Animation.js +24 -100
- package/lib/v1/Animation/props/propTypes.js +3 -0
- package/lib/v1/Animation/utils.js +94 -0
- package/lib/v1/AppContainer/AppContainer.js +46 -17
- package/lib/v1/AppContainer/props/propTypes.js +3 -0
- package/lib/v1/Avatar/Avatar.js +68 -32
- package/lib/v1/Avatar/props/propTypes.js +3 -0
- package/lib/v1/AvatarTeam/AvatarTeam.js +32 -24
- package/lib/v1/AvatarTeam/props/propTypes.js +3 -0
- package/lib/v1/Button/Button.js +32 -22
- package/lib/v1/Button/props/defaultProps.js +2 -0
- package/lib/v1/Button/props/propTypes.js +3 -0
- package/lib/v1/Buttongroup/Buttongroup.js +13 -5
- package/lib/v1/Buttongroup/props/propTypes.js +3 -0
- package/lib/v1/Card/Card.js +78 -44
- package/lib/v1/Card/index.js +4 -0
- package/lib/v1/Card/props/propTypes.js +3 -0
- package/lib/v1/CheckBox/CheckBox.js +52 -41
- package/lib/v1/CheckBox/props/propTypes.js +3 -0
- package/lib/v1/DateTime/CalendarView.js +89 -48
- package/lib/v1/DateTime/DateTime.js +246 -158
- package/lib/v1/DateTime/DateTimePopupFooter.js +33 -8
- package/lib/v1/DateTime/DateTimePopupHeader.js +49 -17
- package/lib/v1/DateTime/DateWidget.js +352 -251
- package/lib/v1/DateTime/DaysRow.js +28 -5
- package/lib/v1/DateTime/Time.js +75 -32
- package/lib/v1/DateTime/YearView.js +76 -27
- package/lib/v1/DateTime/index.js +2 -0
- package/lib/v1/DateTime/props/propTypes.js +11 -1
- package/lib/v1/DropBox/DropBox.js +45 -21
- package/lib/v1/DropBox/DropBoxElement/DropBoxElement.js +59 -38
- package/lib/v1/DropBox/DropBoxElement/props/propTypes.js +3 -0
- package/lib/v1/DropBox/props/defaultProps.js +8 -4
- package/lib/v1/DropBox/props/propTypes.js +10 -4
- package/lib/v1/DropDown/DropDown.js +23 -3
- package/lib/v1/DropDown/DropDownHeading.js +20 -13
- package/lib/v1/DropDown/DropDownItem.js +26 -11
- package/lib/v1/DropDown/DropDownSearch.js +28 -16
- package/lib/v1/DropDown/DropDownSeparator.js +7 -1
- package/lib/v1/DropDown/props/propTypes.js +10 -4
- package/lib/v1/Heading/Heading.js +19 -14
- package/lib/v1/Heading/props/propTypes.js +3 -0
- package/lib/v1/Label/Label.js +22 -14
- package/lib/v1/Label/props/propTypes.js +3 -0
- package/lib/v1/Layout/Box.js +35 -15
- package/lib/v1/Layout/Container.js +33 -14
- package/lib/v1/Layout/index.js +3 -0
- package/lib/v1/Layout/props/propTypes.js +3 -0
- package/lib/v1/ListItem/ListContainer.js +55 -30
- package/lib/v1/ListItem/ListItem.js +53 -38
- package/lib/v1/ListItem/ListItemWithAvatar.js +62 -39
- package/lib/v1/ListItem/ListItemWithCheckBox.js +49 -34
- package/lib/v1/ListItem/ListItemWithIcon.js +52 -37
- package/lib/v1/ListItem/ListItemWithRadio.js +49 -35
- package/lib/v1/ListItem/index.js +7 -0
- package/lib/v1/ListItem/props/propTypes.js +6 -4
- package/lib/v1/Modal/Modal.js +46 -9
- package/lib/v1/Modal/props/propTypes.js +3 -0
- package/lib/v1/MultiSelect/AdvancedGroupMultiSelect.js +294 -168
- package/lib/v1/MultiSelect/AdvancedMultiSelect.js +202 -125
- package/lib/v1/MultiSelect/EmptyState.js +45 -24
- package/lib/v1/MultiSelect/MobileHeader/MobileHeader.js +14 -5
- package/lib/v1/MultiSelect/MobileHeader/props/propTypes.js +3 -0
- package/lib/v1/MultiSelect/MultiSelect.js +335 -216
- package/lib/v1/MultiSelect/MultiSelectHeader.js +29 -7
- package/lib/v1/MultiSelect/MultiSelectWithAvatar.js +86 -43
- package/lib/v1/MultiSelect/SelectedOptions.js +43 -17
- package/lib/v1/MultiSelect/Suggestions.js +64 -32
- package/lib/v1/MultiSelect/index.js +5 -0
- package/lib/v1/MultiSelect/props/defaultProps.js +2 -0
- package/lib/v1/MultiSelect/props/propTypes.js +14 -4
- package/lib/v1/PopOver/PopOver.js +71 -40
- package/lib/v1/PopOver/props/propTypes.js +3 -0
- package/lib/v1/Popup/Popup.js +158 -81
- package/lib/v1/Provider/AvatarSize.js +4 -0
- package/lib/v1/Provider/Config.js +2 -0
- package/lib/v1/Provider/CssProvider.js +4 -0
- package/lib/v1/Provider/IdProvider.js +17 -6
- package/lib/v1/Provider/LibraryContext.js +35 -15
- package/lib/v1/Provider/LibraryContextInit.js +4 -0
- package/lib/v1/Provider/NumberGenerator/NumberGenerator.js +44 -15
- package/lib/v1/Provider/ZindexProvider.js +15 -3
- package/lib/v1/Provider/index.js +5 -0
- package/lib/v1/Radio/Radio.js +42 -32
- package/lib/v1/Radio/props/propTypes.js +3 -0
- package/lib/v1/Responsive/CustomResponsive.js +73 -29
- package/lib/v1/Responsive/RefWrapper.js +17 -11
- package/lib/v1/Responsive/ResizeComponent.js +62 -36
- package/lib/v1/Responsive/ResizeObserver.js +24 -10
- package/lib/v1/Responsive/Responsive.js +80 -30
- package/lib/v1/Responsive/index.js +4 -0
- package/lib/v1/Responsive/props/propTypes.js +3 -0
- package/lib/v1/ResponsiveDropBox/ResponsiveDropBox.js +27 -13
- package/lib/v1/ResponsiveDropBox/props/propTypes.js +9 -4
- package/lib/v1/Ribbon/Ribbon.js +14 -7
- package/lib/v1/Ribbon/props/propTypes.js +3 -0
- package/lib/v1/RippleEffect/RippleEffect.js +17 -7
- package/lib/v1/RippleEffect/props/propTypes.js +3 -0
- package/lib/v1/Select/GroupSelect.js +229 -130
- package/lib/v1/Select/Select.js +297 -214
- package/lib/v1/Select/SelectWithAvatar.js +102 -56
- package/lib/v1/Select/SelectWithIcon.js +131 -76
- package/lib/v1/Select/index.js +5 -0
- package/lib/v1/Select/props/defaultProps.js +5 -4
- package/lib/v1/Select/props/propTypes.js +10 -4
- package/lib/v1/Stencils/Stencils.js +13 -3
- package/lib/v1/Stencils/props/propTypes.js +3 -0
- package/lib/v1/Switch/Switch.js +38 -25
- package/lib/v1/Switch/props/propTypes.js +3 -0
- package/lib/v1/Tab/Tab.js +40 -27
- package/lib/v1/Tab/TabContent.js +12 -5
- package/lib/v1/Tab/TabContentWrapper.js +16 -8
- package/lib/v1/Tab/TabWrapper.js +37 -19
- package/lib/v1/Tab/Tabs.js +170 -83
- package/lib/v1/Tab/index.js +6 -0
- package/lib/v1/Tab/props/propTypes.js +3 -0
- package/lib/v1/Tab/v1Tab.module.css +14 -14
- package/lib/v1/Tab/v1Tabs.module.css +22 -22
- package/lib/v1/Tag/Tag.js +50 -32
- package/lib/v1/Tag/props/propTypes.js +3 -0
- package/lib/v1/TextBox/TextBox.js +70 -47
- package/lib/v1/TextBox/props/propTypes.js +6 -4
- package/lib/v1/TextBoxIcon/TextBoxIcon.js +80 -55
- package/lib/v1/TextBoxIcon/props/propTypes.js +9 -4
- package/lib/v1/Textarea/Textarea.js +45 -28
- package/lib/v1/Textarea/props/propTypes.js +3 -0
- package/lib/v1/Tooltip/Tooltip.js +94 -31
- package/lib/v1/Tooltip/props/propTypes.js +3 -0
- package/lib/v1/Typography/Typography.js +26 -15
- package/lib/v1/Typography/css/Typography.module.css +31 -31
- package/lib/v1/Typography/css/cssJSLogic.js +25 -20
- package/lib/v1/Typography/props/propTypes.js +3 -0
- package/lib/v1/Typography/utils/index.js +1 -0
- package/lib/v1/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +25 -12
- package/lib/v1/VelocityAnimation/VelocityAnimation/props/propTypes.js +3 -0
- package/lib/v1/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +38 -22
- package/lib/v1/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +3 -0
- package/lib/v1/semantic/Button/Button.js +24 -18
- package/lib/v1/semantic/Button/props/propTypes.js +3 -0
- package/lib/v1/semantic/index.js +2 -0
- package/package.json +2 -2
- package/result.json +1 -1
- package/.DS_Store +0 -0
|
@@ -1,16 +1,16 @@
|
|
|
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
|
/**** Libraries ****/
|
|
3
4
|
import React from 'react';
|
|
4
5
|
import { SelectedOptions_propTypes } from './props/propTypes';
|
|
5
6
|
import { SelectedOptions_defaultProps } from './props/defaultProps';
|
|
6
|
-
|
|
7
7
|
/**** Components ****/
|
|
8
|
+
|
|
8
9
|
import Tag from '../Tag/Tag';
|
|
9
10
|
import { Box } from '../Layout';
|
|
10
|
-
|
|
11
11
|
/**** Style ****/
|
|
12
|
-
import style from '../../MultiSelect/SelectedOptions.module.css';
|
|
13
12
|
|
|
13
|
+
import style from '../../MultiSelect/SelectedOptions.module.css';
|
|
14
14
|
/* eslint-disable react/forbid-component-props */
|
|
15
15
|
|
|
16
16
|
export default class SelectedOptions extends React.PureComponent {
|
|
@@ -47,6 +47,7 @@ export default class SelectedOptions extends React.PureComponent {
|
|
|
47
47
|
id: id,
|
|
48
48
|
isReadOnly: isReadOnly
|
|
49
49
|
};
|
|
50
|
+
|
|
50
51
|
if (optionType === 'avatar') {
|
|
51
52
|
return /*#__PURE__*/React.createElement(Box, {
|
|
52
53
|
className: `${style.tag} ${style[size]}`,
|
|
@@ -66,6 +67,7 @@ export default class SelectedOptions extends React.PureComponent {
|
|
|
66
67
|
iconSize: iconSize
|
|
67
68
|
})));
|
|
68
69
|
}
|
|
70
|
+
|
|
69
71
|
return /*#__PURE__*/React.createElement(Box, {
|
|
70
72
|
className: `${style.tag} ${style[size]}`,
|
|
71
73
|
key: `${id}tag`
|
|
@@ -74,6 +76,7 @@ export default class SelectedOptions extends React.PureComponent {
|
|
|
74
76
|
})));
|
|
75
77
|
}));
|
|
76
78
|
}
|
|
79
|
+
|
|
77
80
|
}
|
|
78
81
|
SelectedOptions.propTypes = SelectedOptions_propTypes;
|
|
79
82
|
SelectedOptions.defaultProps = SelectedOptions_defaultProps;
|
|
@@ -1,10 +1,11 @@
|
|
|
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
|
/**** Libraries ****/
|
|
3
4
|
import React from 'react';
|
|
4
5
|
import { Suggestions_propTypes } from './props/propTypes';
|
|
5
6
|
import { Suggestions_defaultProps } from './props/defaultProps';
|
|
6
|
-
|
|
7
7
|
/**** Components ****/
|
|
8
|
+
|
|
8
9
|
import ListItem from '../ListItem/ListItem';
|
|
9
10
|
import ListItemWithAvatar from '../ListItem/ListItemWithAvatar';
|
|
10
11
|
import ListItemWithIcon from '../ListItem/ListItemWithIcon';
|
|
@@ -66,13 +67,14 @@ export default class Suggestions extends React.PureComponent {
|
|
|
66
67
|
isDisabled,
|
|
67
68
|
...listItemCustomProps
|
|
68
69
|
};
|
|
70
|
+
|
|
69
71
|
if (listItemProps) {
|
|
70
72
|
commonProps.customProps = {
|
|
71
|
-
ListItemProps: {
|
|
72
|
-
...listItemProps
|
|
73
|
+
ListItemProps: { ...listItemProps
|
|
73
74
|
}
|
|
74
75
|
};
|
|
75
76
|
}
|
|
77
|
+
|
|
76
78
|
if (optionType === 'avatar') {
|
|
77
79
|
return /*#__PURE__*/React.createElement(ListItemWithAvatar, _extends({}, commonProps, {
|
|
78
80
|
autoHover: false,
|
|
@@ -115,6 +117,7 @@ export default class Suggestions extends React.PureComponent {
|
|
|
115
117
|
a11y: list_a11y
|
|
116
118
|
}));
|
|
117
119
|
}
|
|
120
|
+
|
|
118
121
|
return /*#__PURE__*/React.createElement(ListItem, _extends({}, commonProps, {
|
|
119
122
|
autoHover: false,
|
|
120
123
|
getRef: getRef,
|
|
@@ -134,6 +137,7 @@ export default class Suggestions extends React.PureComponent {
|
|
|
134
137
|
}));
|
|
135
138
|
})));
|
|
136
139
|
}
|
|
140
|
+
|
|
137
141
|
}
|
|
138
142
|
Suggestions.propTypes = Suggestions_propTypes;
|
|
139
143
|
Suggestions.defaultProps = Suggestions_defaultProps;
|
|
@@ -236,8 +236,7 @@ export const AdvancedGroupMultiSelect_propTypes = {
|
|
|
236
236
|
children: PropTypes.node,
|
|
237
237
|
dataSelectorId: PropTypes.string
|
|
238
238
|
};
|
|
239
|
-
export const AdvancedMultiSelect_propTypes = {
|
|
240
|
-
...MultiSelect_propTypes,
|
|
239
|
+
export const AdvancedMultiSelect_propTypes = { ...MultiSelect_propTypes,
|
|
241
240
|
selectedOptionDetails: PropTypes.string,
|
|
242
241
|
iconSize: PropTypes.string,
|
|
243
242
|
id: PropTypes.string.isRequired,
|
|
@@ -278,6 +277,7 @@ export const AdvancedMultiSelect_propTypes = {
|
|
|
278
277
|
dataIdLoading: PropTypes.string,
|
|
279
278
|
dataIdMultiSelectComp: PropTypes.string,
|
|
280
279
|
dataIdSelectAllEle: PropTypes.string,
|
|
280
|
+
|
|
281
281
|
/**** Popup Props ****/
|
|
282
282
|
isPopupOpen: PropTypes.bool,
|
|
283
283
|
isPopupReady: PropTypes.bool,
|
package/es/v1/PopOver/PopOver.js
CHANGED
|
@@ -6,6 +6,7 @@ import Popup from '../Popup/Popup';
|
|
|
6
6
|
import { Box } from '../Layout';
|
|
7
7
|
import ResponsiveDropBox from '../ResponsiveDropBox/ResponsiveDropBox';
|
|
8
8
|
import style from '../../PopOver/PopOver.module.css';
|
|
9
|
+
|
|
9
10
|
function PopOver(props) {
|
|
10
11
|
let {
|
|
11
12
|
children,
|
|
@@ -34,20 +35,24 @@ function PopOver(props) {
|
|
|
34
35
|
} = props;
|
|
35
36
|
const popOverTarget = useRef(null);
|
|
36
37
|
const popOverContainer = useRef(null);
|
|
38
|
+
|
|
37
39
|
const popOverTargetRef = el => {
|
|
38
40
|
popOverTarget.current = el;
|
|
39
41
|
getTargetRef(el);
|
|
40
42
|
};
|
|
43
|
+
|
|
41
44
|
const popOverContainerRef = el => {
|
|
42
45
|
popOverContainer.current = el;
|
|
43
46
|
getContainerRef(el);
|
|
44
47
|
};
|
|
48
|
+
|
|
45
49
|
const togglePopup = e => {
|
|
46
50
|
let {
|
|
47
51
|
togglePopup
|
|
48
52
|
} = props;
|
|
49
53
|
togglePopup(e, boxPosition);
|
|
50
54
|
};
|
|
55
|
+
|
|
51
56
|
useEffectCallOnlyAfterState(() => {
|
|
52
57
|
isPopupOpen && onPopupOpen && onPopupOpen();
|
|
53
58
|
!isPopupOpen && onPopupClose && onPopupClose();
|
|
@@ -85,6 +90,7 @@ function PopOver(props) {
|
|
|
85
90
|
className: style.popup
|
|
86
91
|
}, childrens);
|
|
87
92
|
}
|
|
93
|
+
|
|
88
94
|
PopOver.defaultProps = PopOver_defaultProps;
|
|
89
95
|
PopOver.propTypes = PopOver_propTypes;
|
|
90
96
|
export default Popup(PopOver);
|
|
@@ -93,12 +99,14 @@ export function PopOverTarget(props) {
|
|
|
93
99
|
children,
|
|
94
100
|
togglePopup
|
|
95
101
|
} = props;
|
|
102
|
+
|
|
96
103
|
const getRef = el => {
|
|
97
104
|
let {
|
|
98
105
|
getRef
|
|
99
106
|
} = props;
|
|
100
107
|
getRef(el);
|
|
101
108
|
};
|
|
109
|
+
|
|
102
110
|
return /*#__PURE__*/React.createElement("div", {
|
|
103
111
|
className: style.target,
|
|
104
112
|
onClick: togglePopup,
|
|
@@ -127,16 +135,19 @@ export function PopOverContainer(props) {
|
|
|
127
135
|
onClick,
|
|
128
136
|
removeClose
|
|
129
137
|
} = props;
|
|
138
|
+
|
|
130
139
|
const getRef = el => {
|
|
131
140
|
let {
|
|
132
141
|
getRef
|
|
133
142
|
} = props;
|
|
134
143
|
getRef && getRef(el);
|
|
135
144
|
};
|
|
145
|
+
|
|
136
146
|
const handleClick = e => {
|
|
137
147
|
removeClose && removeClose(e);
|
|
138
148
|
onClick && onClick();
|
|
139
149
|
};
|
|
150
|
+
|
|
140
151
|
return /*#__PURE__*/React.createElement(ResponsiveDropBox, {
|
|
141
152
|
animationStyle: animationStyle,
|
|
142
153
|
arrowBottom: arrowBottom,
|
package/es/v1/Popup/Popup.js
CHANGED
|
@@ -1,16 +1,18 @@
|
|
|
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
|
/**** Libraries ****/
|
|
3
4
|
import React from 'react';
|
|
4
5
|
import PropTypes from 'prop-types';
|
|
5
6
|
import hoistStatics from 'hoist-non-react-statics';
|
|
6
|
-
|
|
7
7
|
/**** Methods ****/
|
|
8
|
+
|
|
8
9
|
import { debounce, isDescendant, isTextSelected, cancelBubblingEffect } from '../../utils/Common.js';
|
|
9
10
|
import viewPort from '../../Popup/viewPort';
|
|
10
11
|
import { absolutePositionMapping, rtlAbsolutePositionMapping, rtlFixedPositionMapping } from '../../Popup/PositionMapping.json';
|
|
11
12
|
import ResizeObserver from '@zohodesk/virtualizer/lib/commons/ResizeObserver.js';
|
|
12
13
|
let lastOpenedGroup = [];
|
|
13
14
|
let popups = {};
|
|
15
|
+
|
|
14
16
|
global.closeGroupPopups = function (groupName) {
|
|
15
17
|
const groupPopups = popups[groupName] || [];
|
|
16
18
|
groupPopups.forEach(popup => {
|
|
@@ -20,6 +22,7 @@ global.closeGroupPopups = function (groupName) {
|
|
|
20
22
|
});
|
|
21
23
|
});
|
|
22
24
|
};
|
|
25
|
+
|
|
23
26
|
const defaultState = {
|
|
24
27
|
position: 'bottomCenter',
|
|
25
28
|
height: '0px',
|
|
@@ -33,8 +36,8 @@ const defaultState = {
|
|
|
33
36
|
//{height: ‘’, width: ‘’,}
|
|
34
37
|
isAbsolutePositioningNeeded: true
|
|
35
38
|
};
|
|
36
|
-
|
|
37
39
|
/* eslint-disable react/no-deprecated */
|
|
40
|
+
|
|
38
41
|
/* eslint-disable react/prop-types */
|
|
39
42
|
|
|
40
43
|
const Popup = function (Component) {
|
|
@@ -47,6 +50,7 @@ const Popup = function (Component) {
|
|
|
47
50
|
scrollDebounceTime: popupScrollDebounceTime = 0,
|
|
48
51
|
closeOnScroll: closeOnScrollPopup = false
|
|
49
52
|
} = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
53
|
+
|
|
50
54
|
class Popup extends React.Component {
|
|
51
55
|
constructor(props) {
|
|
52
56
|
super(props);
|
|
@@ -87,9 +91,8 @@ const Popup = function (Component) {
|
|
|
87
91
|
this.handleDocumentMouseDown = this.handleDocumentMouseDown.bind(this);
|
|
88
92
|
this.handleDocumentFocus = this.handleDocumentFocus.bind(this);
|
|
89
93
|
this.handleGetNeedPrevent = this.handleGetNeedPrevent.bind(this);
|
|
90
|
-
this.popupObserver = new ResizeObserver(this.handlePopupResize);
|
|
94
|
+
this.popupObserver = new ResizeObserver(this.handlePopupResize); //dropBoxSize
|
|
91
95
|
|
|
92
|
-
//dropBoxSize
|
|
93
96
|
this.size = null;
|
|
94
97
|
this.isAbsolutePopup = isAbsolutePopup;
|
|
95
98
|
this.needPopupArrow = needPopupArrow;
|
|
@@ -101,25 +104,29 @@ const Popup = function (Component) {
|
|
|
101
104
|
} = this.getScrollDebounceTime(this);
|
|
102
105
|
this.handleScroll = debounce(this.handleScroll.bind(this), scrollDebounceTime);
|
|
103
106
|
}
|
|
107
|
+
|
|
104
108
|
componentDidMount() {
|
|
105
109
|
const group = this.getGroup();
|
|
106
110
|
const groupPopups = popups[group] || [];
|
|
107
111
|
groupPopups.push(this);
|
|
108
112
|
popups[group] = groupPopups;
|
|
113
|
+
|
|
109
114
|
if (Object.keys(popups).length === 1 && groupPopups.length === 1) {
|
|
110
115
|
document.addEventListener('click', this.documentClickHandler, false);
|
|
111
|
-
document.addEventListener('keyup', this.documentKeyupHandler, false);
|
|
112
|
-
|
|
116
|
+
document.addEventListener('keyup', this.documentKeyupHandler, false); // document.addEventListener('scroll', this.handleScroll, true);
|
|
117
|
+
|
|
113
118
|
window.addEventListener('resize', this.handleResize);
|
|
114
119
|
document.addEventListener('click', this.documentClickHandler1, true);
|
|
115
120
|
document.addEventListener('mousedown', this.handleDocumentMouseDown, true);
|
|
116
121
|
document.addEventListener('focus', this.handleDocumentFocus, true);
|
|
117
122
|
}
|
|
118
123
|
}
|
|
124
|
+
|
|
119
125
|
componentWillReceiveProps(nextProps) {
|
|
120
126
|
const {
|
|
121
127
|
isPopupOpen
|
|
122
128
|
} = this.state;
|
|
129
|
+
|
|
123
130
|
if (typeof nextProps.isPopupOpen !== 'undefined' && nextProps.isPopupOpen !== isPopupOpen) {
|
|
124
131
|
this.setState({
|
|
125
132
|
isPopupOpen: nextProps.isPopupOpen,
|
|
@@ -127,6 +134,7 @@ const Popup = function (Component) {
|
|
|
127
134
|
});
|
|
128
135
|
}
|
|
129
136
|
}
|
|
137
|
+
|
|
130
138
|
componentDidUpdate(prevProps, prevState) {
|
|
131
139
|
const {
|
|
132
140
|
isPopupReady
|
|
@@ -140,6 +148,7 @@ const Popup = function (Component) {
|
|
|
140
148
|
const {
|
|
141
149
|
needResizeHandling: propResizeHandling
|
|
142
150
|
} = this.props;
|
|
151
|
+
|
|
143
152
|
if (oldStateOpen !== isPopupReady) {
|
|
144
153
|
if (isPopupReady && dropElement && (propResizeHandling !== undefined ? propResizeHandling : needResizeHandling)) {
|
|
145
154
|
this.popupObserver.replaceObservationElement(dropElement);
|
|
@@ -149,6 +158,7 @@ const Popup = function (Component) {
|
|
|
149
158
|
}
|
|
150
159
|
}
|
|
151
160
|
}
|
|
161
|
+
|
|
152
162
|
componentWillUnmount() {
|
|
153
163
|
const group = this.getGroup();
|
|
154
164
|
popups = Object.keys(popups).reduce((res, groupName) => {
|
|
@@ -158,34 +168,40 @@ const Popup = function (Component) {
|
|
|
158
168
|
newGroupPopups.length === 0 && lastOpenedGroup.indexOf(group) >= 0 && lastOpenedGroup.splice(lastOpenedGroup.indexOf(group), 1);
|
|
159
169
|
res[group] = newGroupPopups;
|
|
160
170
|
}
|
|
171
|
+
|
|
161
172
|
return res;
|
|
162
173
|
}, popups);
|
|
163
174
|
let noPopups = true;
|
|
175
|
+
|
|
164
176
|
for (const i in popups) {
|
|
165
177
|
if (popups[i].length >= 1) {
|
|
166
178
|
noPopups = false;
|
|
167
179
|
break;
|
|
168
180
|
}
|
|
169
181
|
}
|
|
182
|
+
|
|
170
183
|
if (this.popupObserver) {
|
|
171
184
|
this.popupObserver.disconnect();
|
|
172
185
|
}
|
|
186
|
+
|
|
173
187
|
if (noPopups) {
|
|
174
188
|
document.removeEventListener('click', this.documentClickHandler);
|
|
175
|
-
document.removeEventListener('keyup', this.documentKeyupHandler);
|
|
176
|
-
|
|
189
|
+
document.removeEventListener('keyup', this.documentKeyupHandler); // document.removeEventListener('scroll', this.handleScroll);
|
|
190
|
+
|
|
177
191
|
window.removeEventListener('resize', this.handleResize);
|
|
178
192
|
document.removeEventListener('click', this.documentClickHandler1, true);
|
|
179
193
|
document.removeEventListener('mousedown', this.handleDocumentMouseDown, true);
|
|
180
194
|
document.removeEventListener('focus', this.handleDocumentFocus, true);
|
|
181
195
|
}
|
|
182
196
|
}
|
|
197
|
+
|
|
183
198
|
getGroup() {
|
|
184
199
|
const {
|
|
185
200
|
popupGroup
|
|
186
201
|
} = this.props;
|
|
187
202
|
return popupGroup || group;
|
|
188
203
|
}
|
|
204
|
+
|
|
189
205
|
getNeedArrow(popup) {
|
|
190
206
|
const {
|
|
191
207
|
isArrow
|
|
@@ -195,6 +211,7 @@ const Popup = function (Component) {
|
|
|
195
211
|
} = popup;
|
|
196
212
|
return isArrow !== undefined ? isArrow : needPopupArrow;
|
|
197
213
|
}
|
|
214
|
+
|
|
198
215
|
getScrollDebounceTime(popup) {
|
|
199
216
|
const {
|
|
200
217
|
scrollDebounceTime
|
|
@@ -204,6 +221,7 @@ const Popup = function (Component) {
|
|
|
204
221
|
} = popup;
|
|
205
222
|
return scrollDebounceTime !== undefined ? scrollDebounceTime : popupScrollDebounceTime;
|
|
206
223
|
}
|
|
224
|
+
|
|
207
225
|
getCloseOnScrollPopup(popup) {
|
|
208
226
|
const {
|
|
209
227
|
closeOnScroll
|
|
@@ -213,6 +231,7 @@ const Popup = function (Component) {
|
|
|
213
231
|
} = popup;
|
|
214
232
|
return closeOnScroll !== undefined ? closeOnScroll : closeOnScrollPopup;
|
|
215
233
|
}
|
|
234
|
+
|
|
216
235
|
getIsAbsolutePopup(popup) {
|
|
217
236
|
const {
|
|
218
237
|
isAbsolutePositioningNeeded
|
|
@@ -222,6 +241,7 @@ const Popup = function (Component) {
|
|
|
222
241
|
} = popup;
|
|
223
242
|
return isAbsolutePositioningNeeded !== undefined ? isAbsolutePositioningNeeded : isAbsolutePopup;
|
|
224
243
|
}
|
|
244
|
+
|
|
225
245
|
getCustomPositionOrder(popup) {
|
|
226
246
|
const {
|
|
227
247
|
customOrder = []
|
|
@@ -231,6 +251,7 @@ const Popup = function (Component) {
|
|
|
231
251
|
} = popup;
|
|
232
252
|
return customOrder.length !== 0 ? customOrder : customPositionOrder;
|
|
233
253
|
}
|
|
254
|
+
|
|
234
255
|
togglePopup(e, defaultPosition) {
|
|
235
256
|
const group = this.getGroup();
|
|
236
257
|
this.removeClose(e);
|
|
@@ -248,6 +269,7 @@ const Popup = function (Component) {
|
|
|
248
269
|
});
|
|
249
270
|
}
|
|
250
271
|
});
|
|
272
|
+
|
|
251
273
|
if (isPopupOpen) {
|
|
252
274
|
this.setState({
|
|
253
275
|
isPopupOpen: false,
|
|
@@ -257,18 +279,21 @@ const Popup = function (Component) {
|
|
|
257
279
|
this.handlePopupPosition(defaultPosition);
|
|
258
280
|
}
|
|
259
281
|
}
|
|
282
|
+
|
|
260
283
|
openPopupOnly(e, defaultPosition) {
|
|
261
284
|
const group = this.getGroup();
|
|
262
285
|
this.removeClose(e);
|
|
263
286
|
lastOpenedGroup = lastOpenedGroup.indexOf(group) === -1 ? [group, ...lastOpenedGroup] : lastOpenedGroup;
|
|
264
287
|
this.handlePopupPosition(defaultPosition);
|
|
265
288
|
}
|
|
289
|
+
|
|
266
290
|
closePopupOnly(e) {
|
|
267
291
|
this.removeClose(e);
|
|
268
292
|
lastOpenedGroup.splice(0, 1);
|
|
269
293
|
const {
|
|
270
294
|
isPopupOpen
|
|
271
295
|
} = this.state;
|
|
296
|
+
|
|
272
297
|
if (isPopupOpen) {
|
|
273
298
|
this.setState({
|
|
274
299
|
isPopupOpen: false,
|
|
@@ -276,6 +301,7 @@ const Popup = function (Component) {
|
|
|
276
301
|
});
|
|
277
302
|
}
|
|
278
303
|
}
|
|
304
|
+
|
|
279
305
|
handleCloseLastOpenedGroup() {
|
|
280
306
|
const groupPopups = lastOpenedGroup.length ? popups[lastOpenedGroup[0]] || [] : [];
|
|
281
307
|
lastOpenedGroup.splice(0, 1);
|
|
@@ -286,64 +312,74 @@ const Popup = function (Component) {
|
|
|
286
312
|
});
|
|
287
313
|
});
|
|
288
314
|
}
|
|
315
|
+
|
|
289
316
|
handleDocumentMouseDown(e) {
|
|
290
317
|
const needPrevent = this.handleGetNeedPrevent(e);
|
|
318
|
+
|
|
291
319
|
if (needPrevent) {
|
|
292
320
|
this.removeClose(e);
|
|
293
321
|
}
|
|
294
322
|
}
|
|
323
|
+
|
|
295
324
|
handleDocumentFocus(e) {
|
|
296
325
|
const needPrevent = this.handleGetNeedPrevent(e);
|
|
326
|
+
|
|
297
327
|
if (needPrevent) {
|
|
298
328
|
this.removeClose(e);
|
|
299
329
|
}
|
|
300
330
|
}
|
|
331
|
+
|
|
301
332
|
handleGetNeedPrevent(e) {
|
|
302
333
|
let needPrevent = false;
|
|
334
|
+
|
|
303
335
|
if (lastOpenedGroup.length > 1) {
|
|
304
336
|
const {
|
|
305
337
|
target
|
|
306
338
|
} = e;
|
|
307
339
|
const groupPopups = lastOpenedGroup.length ? popups[lastOpenedGroup[0]] : [];
|
|
308
|
-
let openedPopup = null;
|
|
309
|
-
|
|
340
|
+
let openedPopup = null; // eslint-disable-next-line guard-for-in
|
|
341
|
+
|
|
310
342
|
for (const i in groupPopups) {
|
|
311
343
|
const {
|
|
312
344
|
isPopupOpen
|
|
313
345
|
} = groupPopups[i].state;
|
|
346
|
+
|
|
314
347
|
if (isPopupOpen) {
|
|
315
348
|
openedPopup = groupPopups[i];
|
|
316
349
|
break;
|
|
317
350
|
}
|
|
318
351
|
}
|
|
352
|
+
|
|
319
353
|
if (openedPopup) {
|
|
320
354
|
const {
|
|
321
355
|
dropElement,
|
|
322
356
|
placeHolderElement
|
|
323
357
|
} = openedPopup;
|
|
324
358
|
const isDropBoxChild = isDescendant(dropElement, target);
|
|
325
|
-
const isTargetChild = isDescendant(placeHolderElement, target);
|
|
326
|
-
// const isPopupMassUpdateChild = isDescendant(
|
|
359
|
+
const isTargetChild = isDescendant(placeHolderElement, target); // const isPopupMassUpdateChild = isDescendant(
|
|
327
360
|
// massUpdateParent,
|
|
328
361
|
// dropElement
|
|
329
362
|
// );
|
|
330
363
|
|
|
331
|
-
if (!isDropBoxChild && !isTargetChild
|
|
332
|
-
// && isPopupMassUpdateChild
|
|
364
|
+
if (!isDropBoxChild && !isTargetChild // && isPopupMassUpdateChild
|
|
333
365
|
) {
|
|
334
366
|
needPrevent = true;
|
|
335
367
|
}
|
|
336
368
|
}
|
|
337
369
|
}
|
|
370
|
+
|
|
338
371
|
return needPrevent;
|
|
339
372
|
}
|
|
373
|
+
|
|
340
374
|
documentClickHandler1(e) {
|
|
341
375
|
const needPrevent = this.handleGetNeedPrevent(e);
|
|
376
|
+
|
|
342
377
|
if (needPrevent) {
|
|
343
378
|
this.removeClose(e);
|
|
344
379
|
this.handleCloseLastOpenedGroup();
|
|
345
380
|
}
|
|
346
381
|
}
|
|
382
|
+
|
|
347
383
|
documentClickHandler() {
|
|
348
384
|
try {
|
|
349
385
|
Object.keys(popups).forEach(groupName => {
|
|
@@ -356,25 +392,26 @@ const Popup = function (Component) {
|
|
|
356
392
|
});
|
|
357
393
|
});
|
|
358
394
|
lastOpenedGroup = [];
|
|
359
|
-
} catch (e) {
|
|
360
|
-
// eslint-disable-next-line no-console
|
|
395
|
+
} catch (e) {// eslint-disable-next-line no-console
|
|
361
396
|
//console.error('popup component not unmounted properly', e);
|
|
362
397
|
}
|
|
363
398
|
}
|
|
399
|
+
|
|
364
400
|
documentKeyupHandler(e) {
|
|
365
401
|
try {
|
|
366
402
|
if (e.keyCode === 27) {
|
|
367
403
|
this.handleCloseLastOpenedGroup();
|
|
368
404
|
}
|
|
369
|
-
} catch (e) {
|
|
370
|
-
// eslint-disable-next-line no-console
|
|
405
|
+
} catch (e) {// eslint-disable-next-line no-console
|
|
371
406
|
//console.log('error', e);
|
|
372
407
|
}
|
|
373
408
|
}
|
|
409
|
+
|
|
374
410
|
removeClose(e) {
|
|
375
411
|
// e && e.preventDefault && e.preventDefault();
|
|
376
412
|
cancelBubblingEffect(e);
|
|
377
413
|
}
|
|
414
|
+
|
|
378
415
|
handlePopupPosition() {
|
|
379
416
|
let defaultPosition = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'bottomCenter';
|
|
380
417
|
let isResizeHandling = arguments.length > 1 ? arguments[1] : undefined;
|
|
@@ -389,11 +426,13 @@ const Popup = function (Component) {
|
|
|
389
426
|
const needArrow = this.getNeedArrow(this);
|
|
390
427
|
const isAbsolute = this.getIsAbsolutePopup(this);
|
|
391
428
|
const customOrder = this.getCustomPositionOrder(this);
|
|
429
|
+
|
|
392
430
|
if (direction === 'rtl') {
|
|
393
431
|
defaultPosition = isAbsolute ? rtlAbsolutePositionMapping[defaultPosition] : rtlFixedPositionMapping[defaultPosition];
|
|
394
432
|
} else {
|
|
395
433
|
defaultPosition = isAbsolute ? absolutePositionMapping[defaultPosition] : defaultPosition;
|
|
396
434
|
}
|
|
435
|
+
|
|
397
436
|
if (!placeHolderElement && !dropElement) {
|
|
398
437
|
this.setState({
|
|
399
438
|
isPopupOpen: true,
|
|
@@ -401,6 +440,7 @@ const Popup = function (Component) {
|
|
|
401
440
|
});
|
|
402
441
|
return;
|
|
403
442
|
}
|
|
443
|
+
|
|
404
444
|
const setPosition = () => {
|
|
405
445
|
requestAnimationFrame(() => {
|
|
406
446
|
const {
|
|
@@ -424,6 +464,7 @@ const Popup = function (Component) {
|
|
|
424
464
|
targetOffset,
|
|
425
465
|
popupOffset
|
|
426
466
|
} = betterPosition || {};
|
|
467
|
+
|
|
427
468
|
if (position !== view || !isPopupReady) {
|
|
428
469
|
this.setState({
|
|
429
470
|
isPopupReady: true,
|
|
@@ -437,6 +478,7 @@ const Popup = function (Component) {
|
|
|
437
478
|
}
|
|
438
479
|
});
|
|
439
480
|
};
|
|
481
|
+
|
|
440
482
|
if (isResizeHandling) {
|
|
441
483
|
setPosition();
|
|
442
484
|
} else {
|
|
@@ -447,6 +489,7 @@ const Popup = function (Component) {
|
|
|
447
489
|
}, setPosition);
|
|
448
490
|
}
|
|
449
491
|
}
|
|
492
|
+
|
|
450
493
|
handleOpenPopupPositionChange() {
|
|
451
494
|
Object.keys(popups).forEach(groupName => {
|
|
452
495
|
const groupPopups = popups[groupName] || [];
|
|
@@ -461,6 +504,7 @@ const Popup = function (Component) {
|
|
|
461
504
|
position,
|
|
462
505
|
positionsOffset = {}
|
|
463
506
|
} = popup.state;
|
|
507
|
+
|
|
464
508
|
if (placeHolderElement && dropElement) {
|
|
465
509
|
const scrollContainer = placeHolderElement.closest('[data-scroll=true]') || document.body;
|
|
466
510
|
requestAnimationFrame(() => {
|
|
@@ -487,9 +531,7 @@ const Popup = function (Component) {
|
|
|
487
531
|
left = '',
|
|
488
532
|
top = ''
|
|
489
533
|
} = viewsOffset[view] || {};
|
|
490
|
-
const changeState = isAbsolute ? position !== view : oldLeft !== left || oldTop !== top;
|
|
491
|
-
|
|
492
|
-
// let isInViewPort = viewPort.isInViewPort(
|
|
534
|
+
const changeState = isAbsolute ? position !== view : oldLeft !== left || oldTop !== top; // let isInViewPort = viewPort.isInViewPort(
|
|
493
535
|
// placeHolderElement,
|
|
494
536
|
// scrollContainer
|
|
495
537
|
// );
|
|
@@ -503,9 +545,7 @@ const Popup = function (Component) {
|
|
|
503
545
|
popupOffset,
|
|
504
546
|
isAbsolutePositioningNeeded: isAbsolute
|
|
505
547
|
});
|
|
506
|
-
}
|
|
507
|
-
|
|
508
|
-
// if (!isInViewPort && !isAbsolute) {
|
|
548
|
+
} // if (!isInViewPort && !isAbsolute) {
|
|
509
549
|
// popup.setState({ isPopupOpen: false, isPopupReady: false });
|
|
510
550
|
// } else if (view && changeState) {
|
|
511
551
|
// popup.setState({
|
|
@@ -517,6 +557,7 @@ const Popup = function (Component) {
|
|
|
517
557
|
// isAbsolutePositioningNeeded: isAbsolute
|
|
518
558
|
// });
|
|
519
559
|
// }
|
|
560
|
+
|
|
520
561
|
});
|
|
521
562
|
}
|
|
522
563
|
}
|
|
@@ -527,6 +568,7 @@ const Popup = function (Component) {
|
|
|
527
568
|
handleResize() {
|
|
528
569
|
this.handleOpenPopupPositionChange();
|
|
529
570
|
}
|
|
571
|
+
|
|
530
572
|
handleScroll(e) {
|
|
531
573
|
// this.handleOpenPopupPositionChange();
|
|
532
574
|
const {
|
|
@@ -535,14 +577,17 @@ const Popup = function (Component) {
|
|
|
535
577
|
const {
|
|
536
578
|
isPopupReady
|
|
537
579
|
} = this.state;
|
|
580
|
+
|
|
538
581
|
if (isPopupReady) {
|
|
539
582
|
console.log('onscrollPopupREady');
|
|
540
583
|
}
|
|
584
|
+
|
|
541
585
|
if (isPopupReady && closeOnScroll) {
|
|
542
586
|
console.log(this, 'handle Scroll');
|
|
543
587
|
this.togglePopup(e);
|
|
544
588
|
}
|
|
545
589
|
}
|
|
590
|
+
|
|
546
591
|
handlePopupResize(popupSize) {
|
|
547
592
|
const {
|
|
548
593
|
height,
|
|
@@ -556,17 +601,22 @@ const Popup = function (Component) {
|
|
|
556
601
|
isPopupReady,
|
|
557
602
|
position
|
|
558
603
|
} = this.state;
|
|
604
|
+
|
|
559
605
|
if (isPopupReady && this.size && (oldHeight !== height || width !== oldWidth)) {
|
|
560
606
|
this.handlePopupPosition(position, true);
|
|
561
607
|
}
|
|
608
|
+
|
|
562
609
|
this.size = popupSize;
|
|
563
610
|
}
|
|
611
|
+
|
|
564
612
|
getTargetRef(el) {
|
|
565
613
|
this.placeHolderElement = el;
|
|
566
614
|
}
|
|
615
|
+
|
|
567
616
|
getContainerRef(el) {
|
|
568
617
|
this.dropElement = el;
|
|
569
618
|
}
|
|
619
|
+
|
|
570
620
|
render() {
|
|
571
621
|
const {
|
|
572
622
|
isPopupReady,
|
|
@@ -582,11 +632,14 @@ const Popup = function (Component) {
|
|
|
582
632
|
getContainerRef: this.getContainerRef
|
|
583
633
|
}));
|
|
584
634
|
}
|
|
635
|
+
|
|
585
636
|
}
|
|
637
|
+
|
|
586
638
|
Popup.displayName = Component.displayName || Component.name || Popup.name;
|
|
587
639
|
Popup.contextTypes = {
|
|
588
640
|
direction: PropTypes.string
|
|
589
641
|
};
|
|
590
642
|
return hoistStatics(Popup, Component);
|
|
591
643
|
};
|
|
644
|
+
|
|
592
645
|
export default Popup;
|