@zohodesk/components 1.0.0-alpha-269 → 1.0.0-alpha-271
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 +16 -0
- package/es/Accordion/Accordion.js +3 -7
- package/es/Accordion/AccordionItem.js +2 -4
- package/es/Animation/Animation.js +3 -3
- package/es/AppContainer/AppContainer.js +5 -13
- package/es/AppContainer/AppContainer.module.css +2 -2
- package/es/Avatar/Avatar.js +11 -23
- 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/Button/Button.js +3 -4
- package/es/Button/css/Button.module.css +70 -70
- package/es/Buttongroup/Buttongroup.js +3 -3
- package/es/Buttongroup/Buttongroup.module.css +15 -14
- package/es/Card/Card.js +10 -21
- package/es/CheckBox/CheckBox.js +3 -5
- package/es/CheckBox/CheckBox.module.css +15 -15
- package/es/DateTime/CalendarView.js +20 -32
- package/es/DateTime/DateTime.js +6 -67
- package/es/DateTime/DateTime.module.css +39 -39
- package/es/DateTime/DateTimePopupFooter.js +2 -4
- package/es/DateTime/DateTimePopupHeader.js +2 -8
- package/es/DateTime/DateWidget.js +35 -98
- package/es/DateTime/DateWidget.module.css +5 -5
- package/es/DateTime/DaysRow.js +2 -4
- package/es/DateTime/Time.js +2 -10
- package/es/DateTime/YearView.js +4 -28
- package/es/DateTime/YearView.module.css +15 -15
- package/es/DateTime/__tests__/CalendarView.spec.js +0 -1
- package/es/DateTime/__tests__/DateTime.spec.js +0 -1
- package/es/DateTime/__tests__/DateWidget.spec.js +3 -2
- package/es/DateTime/common.js +0 -3
- package/es/DateTime/constants.js +0 -1
- package/es/DateTime/dateFormatUtils/dateFormat.js +30 -63
- package/es/DateTime/dateFormatUtils/dateFormats.js +1 -0
- package/es/DateTime/dateFormatUtils/dayChange.js +4 -13
- package/es/DateTime/dateFormatUtils/index.js +2 -32
- package/es/DateTime/dateFormatUtils/monthChange.js +0 -8
- package/es/DateTime/dateFormatUtils/timeChange.js +6 -22
- package/es/DateTime/dateFormatUtils/yearChange.js +2 -11
- package/es/DateTime/objectUtils.js +20 -14
- package/es/DateTime/typeChecker.js +0 -3
- package/es/DateTime/validator.js +6 -58
- package/es/DropBox/DropBox.js +5 -9
- package/es/DropBox/DropBoxElement/DropBoxElement.js +8 -13
- package/es/DropBox/DropBoxElement/css/DropBoxElement.module.css +85 -79
- package/es/DropBox/DropBoxElement/css/cssJSLogic.js +5 -7
- package/es/DropBox/DropBoxElement/props/propTypes.js +1 -1
- package/es/DropBox/DropBoxElement/useDropboxPosCalc.js +0 -3
- package/es/DropBox/__tests__/DropBox.spec.js +2 -2
- package/es/DropBox/css/DropBox.module.css +6 -6
- package/es/DropBox/props/defaultProps.js +2 -1
- package/es/DropBox/props/propTypes.js +2 -1
- package/es/DropDown/DropDown.js +4 -8
- package/es/DropDown/DropDown.module.css +2 -2
- package/es/DropDown/DropDownHeading.js +5 -4
- package/es/DropDown/DropDownHeading.module.css +6 -6
- package/es/DropDown/DropDownItem.js +0 -6
- package/es/DropDown/DropDownItem.module.css +12 -12
- package/es/DropDown/DropDownSearch.js +0 -4
- package/es/DropDown/DropDownSearch.module.css +3 -3
- package/es/DropDown/DropDownSeparator.js +0 -1
- package/es/DropDown/DropDownSeparator.module.css +2 -2
- package/es/DropDown/__tests__/DropDown.spec.js +2 -1
- package/es/Heading/Heading.js +3 -2
- package/es/Heading/Heading.module.css +2 -2
- package/es/Label/Label.js +3 -2
- package/es/Label/Label.module.css +5 -5
- package/es/Layout/Box.js +0 -13
- package/es/Layout/Container.js +1 -12
- package/es/Layout/Layout.module.css +15 -15
- package/es/Layout/index.js +2 -1
- package/es/ListItem/ListContainer.js +3 -8
- package/es/ListItem/ListItem.js +3 -9
- package/es/ListItem/ListItem.module.css +38 -38
- package/es/ListItem/ListItemWithAvatar.js +3 -9
- package/es/ListItem/ListItemWithCheckBox.js +2 -7
- package/es/ListItem/ListItemWithIcon.js +3 -8
- package/es/ListItem/ListItemWithRadio.js +3 -7
- package/es/Modal/Modal.js +11 -28
- package/es/MultiSelect/AdvancedGroupMultiSelect.js +13 -89
- package/es/MultiSelect/AdvancedMultiSelect.js +9 -32
- package/es/MultiSelect/EmptyState.js +0 -2
- package/es/MultiSelect/MultiSelect.js +32 -99
- package/es/MultiSelect/MultiSelect.module.css +31 -31
- package/es/MultiSelect/MultiSelectHeader.js +0 -3
- package/es/MultiSelect/MultiSelectWithAvatar.js +6 -12
- package/es/MultiSelect/SelectedOptions.js +3 -6
- package/es/MultiSelect/SelectedOptions.module.css +5 -5
- package/es/MultiSelect/Suggestions.js +3 -7
- package/es/MultiSelect/__tests__/MultiSelect.spec.js +6 -4
- package/es/MultiSelect/props/propTypes.js +0 -2
- package/es/PopOver/PopOver.js +2 -18
- package/es/PopOver/__tests__/PopOver.spec.js +1 -2
- package/es/Popup/Popup.js +24 -77
- package/es/Popup/__tests__/Popup.spec.js +5 -17
- package/es/Popup/viewPort.js +4 -16
- package/es/Provider/IdProvider.js +5 -10
- package/es/Provider/LibraryContext.js +4 -6
- package/es/Provider/NumberGenerator/NumberGenerator.js +7 -21
- package/es/Provider/ZindexProvider.js +2 -9
- package/es/Radio/Radio.js +2 -4
- package/es/Radio/Radio.module.css +9 -9
- package/es/Responsive/CustomResponsive.js +18 -30
- package/es/Responsive/RefWrapper.js +7 -6
- package/es/Responsive/ResizeComponent.js +25 -35
- package/es/Responsive/ResizeObserver.js +6 -26
- package/es/Responsive/Responsive.js +20 -34
- package/es/Responsive/index.js +3 -1
- package/es/Responsive/sizeObservers.js +7 -28
- package/es/Responsive/utils/index.js +5 -7
- package/es/Responsive/utils/shallowCompare.js +2 -7
- package/es/Responsive/windowResizeObserver.js +0 -7
- package/es/ResponsiveDropBox/ResponsiveDropBox.js +0 -4
- package/es/ResponsiveDropBox/ResponsiveDropBox.module.css +2 -2
- package/es/Ribbon/Ribbon.js +2 -3
- package/es/Ribbon/Ribbon.module.css +48 -46
- package/es/RippleEffect/RippleEffect.js +3 -1
- package/es/Select/GroupSelect.js +14 -58
- package/es/Select/Select.js +33 -79
- package/es/Select/Select.module.css +23 -23
- package/es/Select/SelectWithAvatar.js +4 -17
- package/es/Select/SelectWithIcon.js +5 -46
- package/es/Select/__tests__/Select.spec.js +8 -6
- package/es/Select/props/propTypes.js +0 -1
- package/es/Stencils/Stencils.js +3 -3
- package/es/Stencils/Stencils.module.css +11 -11
- package/es/Switch/Switch.js +3 -5
- 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 +0 -1
- package/es/Tab/TabContentWrapper.js +0 -2
- package/es/Tab/TabWrapper.js +2 -5
- package/es/Tab/Tabs.js +7 -54
- package/es/Tab/Tabs.module.css +30 -37
- package/es/Tab/__tests__/Tab.spec.js +3 -1
- package/es/Tab/__tests__/TabWrapper.spec.js +0 -1
- package/es/Tag/Tag.js +3 -6
- package/es/Tag/Tag.module.css +25 -25
- package/es/TextBox/TextBox.js +3 -15
- package/es/TextBox/TextBox.module.css +9 -9
- package/es/TextBox/__tests__/TextBox.spec.js +4 -1
- package/es/TextBoxIcon/TextBoxIcon.js +2 -9
- package/es/TextBoxIcon/TextBoxIcon.module.css +7 -7
- package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +7 -2
- package/es/Textarea/Textarea.js +3 -12
- package/es/Textarea/Textarea.module.css +21 -21
- package/es/Textarea/__tests__/Textarea.spec.js +2 -2
- package/es/Tooltip/Tooltip.js +14 -58
- package/es/Tooltip/Tooltip.module.css +5 -5
- package/es/Tooltip/__tests__/Tooltip.spec.js +0 -5
- package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +2 -3
- package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +5 -7
- 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/AdvancedMultiSelect.module.css +18 -18
- package/es/deprecated/PortalLayer/PortalLayer.js +20 -25
- package/es/semantic/Button/Button.js +2 -3
- package/es/semantic/Button/semanticButton.module.css +1 -1
- package/es/utils/Common.js +13 -54
- package/es/utils/ContextOptimizer.js +5 -4
- package/es/utils/__tests__/debounce.spec.js +2 -2
- package/es/utils/constructFullName.js +0 -2
- package/es/utils/css/compileClassNames.js +0 -5
- package/es/utils/css/mergeStyle.js +7 -8
- package/es/utils/css/utils.js +0 -1
- package/es/utils/datetime/common.js +5 -16
- package/es/utils/debounce.js +1 -5
- package/es/utils/dropDownUtils.js +11 -68
- package/es/utils/getInitial.js +0 -4
- package/es/utils/shallowEqual.js +0 -6
- package/lib/Accordion/Accordion.js +18 -42
- package/lib/Accordion/AccordionItem.js +18 -40
- package/lib/Accordion/__tests__/Accordion.spec.js +0 -3
- package/lib/Accordion/index.js +0 -3
- package/lib/Accordion/props/propTypes.js +0 -3
- package/lib/Animation/Animation.js +18 -38
- package/lib/Animation/__tests__/Animation.spec.js +7 -11
- package/lib/Animation/props/propTypes.js +0 -3
- package/lib/AppContainer/AppContainer.js +21 -56
- package/lib/AppContainer/AppContainer.module.css +2 -2
- package/lib/AppContainer/props/propTypes.js +0 -3
- package/lib/Avatar/Avatar.js +38 -78
- package/lib/Avatar/Avatar.module.css +18 -18
- package/lib/Avatar/__tests__/Avatar.spec.js +0 -44
- package/lib/Avatar/props/propTypes.js +0 -3
- package/lib/AvatarTeam/AvatarTeam.js +30 -52
- package/lib/AvatarTeam/AvatarTeam.module.css +35 -35
- package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +0 -13
- package/lib/AvatarTeam/props/propTypes.js +0 -3
- package/lib/Button/Button.js +20 -31
- package/lib/Button/css/Button.module.css +70 -70
- package/lib/Button/css/cssJSLogic.js +17 -18
- package/lib/Button/index.js +0 -3
- package/lib/Button/props/defaultProps.js +0 -2
- package/lib/Button/props/propTypes.js +0 -3
- package/lib/Buttongroup/Buttongroup.js +12 -32
- package/lib/Buttongroup/Buttongroup.module.css +15 -14
- package/lib/Buttongroup/__test__/Buttongroup.spec.js +0 -10
- package/lib/Buttongroup/props/propTypes.js +0 -3
- package/lib/Card/Card.js +46 -102
- package/lib/Card/__tests__/Card.spec.js +1 -10
- package/lib/Card/index.js +0 -4
- package/lib/Card/props/propTypes.js +0 -3
- package/lib/CheckBox/CheckBox.js +47 -71
- package/lib/CheckBox/CheckBox.module.css +15 -15
- package/lib/CheckBox/__tests__/CheckBox.spec.js +0 -3
- package/lib/CheckBox/props/propTypes.js +0 -3
- package/lib/DateTime/CalendarView.js +42 -82
- package/lib/DateTime/DateTime.js +155 -239
- package/lib/DateTime/DateTime.module.css +39 -39
- package/lib/DateTime/DateTimePopupFooter.js +8 -31
- package/lib/DateTime/DateTimePopupHeader.js +17 -48
- package/lib/DateTime/DateWidget.js +250 -352
- package/lib/DateTime/DateWidget.module.css +5 -5
- package/lib/DateTime/DaysRow.js +5 -27
- package/lib/DateTime/Time.js +32 -73
- package/lib/DateTime/YearView.js +28 -77
- package/lib/DateTime/YearView.module.css +15 -15
- package/lib/DateTime/__tests__/CalendarView.spec.js +5 -13
- package/lib/DateTime/__tests__/DateTime.spec.js +37 -51
- package/lib/DateTime/__tests__/DateWidget.spec.js +8 -10
- package/lib/DateTime/common.js +0 -6
- package/lib/DateTime/constants.js +0 -1
- package/lib/DateTime/dateFormatUtils/dateFormat.js +122 -184
- package/lib/DateTime/dateFormatUtils/dateFormats.js +1 -0
- package/lib/DateTime/dateFormatUtils/dayChange.js +7 -14
- package/lib/DateTime/dateFormatUtils/index.js +16 -74
- package/lib/DateTime/dateFormatUtils/monthChange.js +9 -19
- package/lib/DateTime/dateFormatUtils/timeChange.js +22 -54
- package/lib/DateTime/dateFormatUtils/yearChange.js +11 -22
- package/lib/DateTime/index.js +0 -2
- package/lib/DateTime/objectUtils.js +20 -24
- package/lib/DateTime/props/propTypes.js +1 -11
- package/lib/DateTime/typeChecker.js +0 -4
- package/lib/DateTime/validator.js +10 -73
- package/lib/DropBox/DropBox.js +12 -36
- package/lib/DropBox/DropBoxElement/DropBoxElement.js +44 -63
- package/lib/DropBox/DropBoxElement/css/DropBoxElement.module.css +85 -79
- package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +35 -42
- package/lib/DropBox/DropBoxElement/props/propTypes.js +1 -4
- package/lib/DropBox/DropBoxElement/useDropboxPosCalc.js +9 -14
- package/lib/DropBox/__tests__/DropBox.spec.js +4 -8
- package/lib/DropBox/css/DropBox.module.css +6 -6
- package/lib/DropBox/css/cssJSLogic.js +1 -3
- package/lib/DropBox/props/defaultProps.js +4 -8
- package/lib/DropBox/props/propTypes.js +4 -10
- package/lib/DropDown/DropDown.js +8 -52
- package/lib/DropDown/DropDown.module.css +2 -2
- package/lib/DropDown/DropDownHeading.js +20 -39
- package/lib/DropDown/DropDownHeading.module.css +6 -6
- package/lib/DropDown/DropDownItem.js +20 -42
- package/lib/DropDown/DropDownItem.module.css +12 -12
- package/lib/DropDown/DropDownSearch.js +17 -40
- package/lib/DropDown/DropDownSearch.module.css +3 -3
- package/lib/DropDown/DropDownSeparator.js +4 -24
- package/lib/DropDown/DropDownSeparator.module.css +2 -2
- package/lib/DropDown/__tests__/DropDown.spec.js +9 -15
- package/lib/DropDown/__tests__/DropDownItem.spec.js +4 -9
- package/lib/DropDown/__tests__/DropDownSearch.spec.js +0 -3
- package/lib/DropDown/index.js +0 -9
- package/lib/DropDown/props/propTypes.js +4 -6
- package/lib/Heading/Heading.js +15 -37
- package/lib/Heading/Heading.module.css +2 -2
- package/lib/Heading/props/propTypes.js +0 -3
- package/lib/Label/Label.js +19 -39
- package/lib/Label/Label.module.css +5 -5
- package/lib/Label/__tests__/Label.spec.js +1 -14
- package/lib/Label/props/propTypes.js +0 -3
- package/lib/Layout/Box.js +11 -31
- package/lib/Layout/Container.js +10 -29
- package/lib/Layout/Layout.module.css +15 -15
- package/lib/Layout/__tests__/Box.spec.js +49 -65
- package/lib/Layout/__tests__/Container.spec.js +50 -67
- package/lib/Layout/index.js +0 -3
- package/lib/Layout/props/propTypes.js +0 -3
- package/lib/Layout/utils.js +0 -10
- package/lib/ListItem/ListContainer.js +27 -48
- package/lib/ListItem/ListItem.js +45 -69
- package/lib/ListItem/ListItem.module.css +38 -38
- package/lib/ListItem/ListItemWithAvatar.js +48 -75
- package/lib/ListItem/ListItemWithCheckBox.js +39 -64
- package/lib/ListItem/ListItemWithIcon.js +44 -68
- package/lib/ListItem/ListItemWithRadio.js +41 -65
- package/lib/ListItem/index.js +0 -7
- package/lib/ListItem/props/propTypes.js +4 -6
- package/lib/Modal/Modal.js +10 -45
- package/lib/Modal/props/propTypes.js +0 -3
- package/lib/MultiSelect/AdvancedGroupMultiSelect.js +166 -294
- package/lib/MultiSelect/AdvancedMultiSelect.js +125 -202
- package/lib/MultiSelect/EmptyState.js +24 -45
- package/lib/MultiSelect/MultiSelect.js +206 -323
- package/lib/MultiSelect/MultiSelect.module.css +31 -31
- package/lib/MultiSelect/MultiSelectHeader.js +8 -30
- package/lib/MultiSelect/MultiSelectWithAvatar.js +63 -105
- package/lib/MultiSelect/SelectedOptions.js +17 -43
- package/lib/MultiSelect/SelectedOptions.module.css +5 -5
- package/lib/MultiSelect/Suggestions.js +32 -64
- package/lib/MultiSelect/__tests__/MultiSelect.spec.js +75 -86
- package/lib/MultiSelect/index.js +0 -5
- package/lib/MultiSelect/props/defaultProps.js +0 -2
- package/lib/MultiSelect/props/propTypes.js +0 -5
- package/lib/PopOver/PopOver.js +49 -95
- package/lib/PopOver/__tests__/PopOver.spec.js +1 -4
- package/lib/PopOver/index.js +0 -4
- package/lib/PopOver/props/propTypes.js +0 -3
- package/lib/Popup/Popup.js +81 -158
- package/lib/Popup/__tests__/Popup.spec.js +8 -43
- package/lib/Popup/viewPort.js +14 -28
- package/lib/Provider/AvatarSize.js +0 -4
- package/lib/Provider/Config.js +0 -2
- package/lib/Provider/CssProvider.js +0 -4
- package/lib/Provider/IdProvider.js +6 -17
- package/lib/Provider/LibraryContext.js +15 -35
- package/lib/Provider/LibraryContextInit.js +0 -4
- package/lib/Provider/NumberGenerator/NumberGenerator.js +15 -44
- package/lib/Provider/ZindexProvider.js +3 -15
- package/lib/Provider/index.js +0 -5
- package/lib/Radio/Radio.js +38 -61
- package/lib/Radio/Radio.module.css +9 -9
- package/lib/Radio/__tests__/Radiospec.js +5 -9
- package/lib/Radio/props/propTypes.js +0 -3
- package/lib/Responsive/CustomResponsive.js +29 -73
- package/lib/Responsive/RefWrapper.js +11 -17
- package/lib/Responsive/ResizeComponent.js +36 -62
- package/lib/Responsive/ResizeObserver.js +10 -24
- package/lib/Responsive/Responsive.js +30 -80
- package/lib/Responsive/index.js +0 -4
- package/lib/Responsive/props/propTypes.js +0 -3
- package/lib/Responsive/sizeObservers.js +17 -53
- package/lib/Responsive/utils/index.js +3 -11
- package/lib/Responsive/utils/shallowCompare.js +2 -11
- package/lib/Responsive/windowResizeObserver.js +0 -8
- package/lib/ResponsiveDropBox/ResponsiveDropBox.js +17 -45
- package/lib/ResponsiveDropBox/ResponsiveDropBox.module.css +2 -2
- package/lib/ResponsiveDropBox/props/propTypes.js +0 -3
- package/lib/Ribbon/Ribbon.js +13 -33
- package/lib/Ribbon/Ribbon.module.css +48 -46
- package/lib/Ribbon/__tests__/Ribbon.spec.js +0 -22
- package/lib/Ribbon/props/propTypes.js +0 -3
- package/lib/RippleEffect/RippleEffect.js +10 -18
- package/lib/RippleEffect/props/propTypes.js +0 -3
- package/lib/Select/GroupSelect.js +130 -229
- package/lib/Select/Select.js +209 -290
- package/lib/Select/Select.module.css +23 -23
- package/lib/Select/SelectWithAvatar.js +56 -102
- package/lib/Select/SelectWithIcon.js +76 -132
- package/lib/Select/__tests__/Select.spec.js +91 -133
- package/lib/Select/index.js +0 -5
- package/lib/Select/props/defaultProps.js +4 -5
- package/lib/Select/props/propTypes.js +0 -4
- package/lib/Stencils/Stencils.js +10 -29
- package/lib/Stencils/Stencils.module.css +11 -11
- package/lib/Stencils/__tests__/Stencils.spec.js +0 -12
- package/lib/Stencils/props/propTypes.js +0 -3
- package/lib/Switch/Switch.js +34 -57
- package/lib/Switch/Switch.module.css +23 -23
- package/lib/Switch/props/propTypes.js +0 -3
- package/lib/Tab/Tab.js +27 -40
- package/lib/Tab/Tab.module.css +14 -14
- package/lib/Tab/TabContent.js +5 -12
- package/lib/Tab/TabContentWrapper.js +6 -13
- package/lib/Tab/TabWrapper.js +19 -37
- package/lib/Tab/Tabs.js +91 -171
- package/lib/Tab/Tabs.module.css +30 -37
- package/lib/Tab/__tests__/Tab.spec.js +58 -67
- package/lib/Tab/__tests__/TabContent.spec.js +6 -10
- package/lib/Tab/__tests__/TabContentWrapper.spec.js +20 -28
- package/lib/Tab/__tests__/TabWrapper.spec.js +0 -12
- package/lib/Tab/__tests__/Tabs.spec.js +39 -53
- package/lib/Tab/index.js +0 -6
- package/lib/Tab/props/propTypes.js +0 -3
- package/lib/Tag/Tag.js +43 -72
- package/lib/Tag/Tag.module.css +25 -25
- package/lib/Tag/__tests__/Tag.spec.js +8 -14
- package/lib/Tag/props/propTypes.js +0 -3
- package/lib/TextBox/TextBox.js +59 -85
- package/lib/TextBox/TextBox.module.css +9 -9
- package/lib/TextBox/__tests__/TextBox.spec.js +4 -14
- package/lib/TextBox/props/propTypes.js +4 -6
- package/lib/TextBoxIcon/TextBoxIcon.js +52 -79
- package/lib/TextBoxIcon/TextBoxIcon.module.css +7 -7
- package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +5 -14
- package/lib/TextBoxIcon/props/propTypes.js +0 -3
- package/lib/Textarea/Textarea.js +29 -54
- package/lib/Textarea/Textarea.module.css +21 -21
- package/lib/Textarea/__tests__/Textarea.spec.js +2 -14
- package/lib/Textarea/props/propTypes.js +0 -3
- package/lib/Tooltip/Tooltip.js +31 -94
- package/lib/Tooltip/Tooltip.module.css +5 -5
- package/lib/Tooltip/__tests__/Tooltip.spec.js +3 -24
- package/lib/Tooltip/props/propTypes.js +0 -3
- package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +16 -40
- package/lib/VelocityAnimation/VelocityAnimation/props/propTypes.js +0 -3
- package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +25 -53
- package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +0 -3
- package/lib/VelocityAnimation/index.js +0 -3
- 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 +0 -40
- package/lib/deprecated/AdvancedMultiSelect.module.css +18 -18
- package/lib/deprecated/PortalLayer/PortalLayer.js +23 -46
- package/lib/deprecated/PortalLayer/props/propTypes.js +0 -3
- package/lib/index.js +0 -57
- package/lib/semantic/Button/Button.js +22 -42
- package/lib/semantic/Button/props/propTypes.js +0 -3
- package/lib/semantic/Button/semanticButton.module.css +1 -1
- package/lib/semantic/index.js +0 -2
- package/lib/utils/Common.js +25 -109
- package/lib/utils/ContextOptimizer.js +10 -16
- package/lib/utils/__tests__/constructFullName.spec.js +0 -1
- package/lib/utils/__tests__/debounce.spec.js +2 -3
- package/lib/utils/__tests__/getInitial.spec.js +0 -1
- package/lib/utils/constructFullName.js +4 -13
- package/lib/utils/css/compileClassNames.js +0 -6
- package/lib/utils/css/mergeStyle.js +8 -11
- package/lib/utils/css/utils.js +0 -8
- package/lib/utils/datetime/common.js +5 -32
- package/lib/utils/debounce.js +1 -6
- package/lib/utils/dropDownUtils.js +59 -175
- package/lib/utils/dummyFunction.js +0 -2
- package/lib/utils/getHTMLFontSize.js +0 -1
- package/lib/utils/getInitial.js +0 -6
- package/lib/utils/index.js +0 -4
- package/lib/utils/scrollTo.js +0 -2
- package/lib/utils/shallowEqual.js +0 -8
- package/package.json +1 -1
|
@@ -11,8 +11,8 @@ export default class ResizeComponent extends React.Component {
|
|
|
11
11
|
super(props);
|
|
12
12
|
this.noSpaceForChildren = false;
|
|
13
13
|
this.childrenCurrentList = [];
|
|
14
|
-
this.widthCheck = debounce(this.widthCheck.bind(this), 10);
|
|
15
|
-
|
|
14
|
+
this.widthCheck = debounce(this.widthCheck.bind(this), 10);
|
|
15
|
+
// this.widthCheck = this.widthCheck.bind(this);
|
|
16
16
|
this.onResize = this.onResize.bind(this);
|
|
17
17
|
this.onResizeMutation = this.onResizeMutation.bind(this);
|
|
18
18
|
this.tabsObserver = new ResizeObserver(this.onResize);
|
|
@@ -21,7 +21,6 @@ export default class ResizeComponent extends React.Component {
|
|
|
21
21
|
this.constructChildren = this.constructChildren.bind(this);
|
|
22
22
|
this.querySelector = this.querySelector.bind(this);
|
|
23
23
|
}
|
|
24
|
-
|
|
25
24
|
querySelector() {
|
|
26
25
|
if (this.props.wrapperDivRef && this.props.wrapperDivRef.current) {
|
|
27
26
|
return this.props.wrapperDivRef.current.querySelectorAll('[data-responsive="true"]');
|
|
@@ -29,13 +28,11 @@ export default class ResizeComponent extends React.Component {
|
|
|
29
28
|
return [];
|
|
30
29
|
}
|
|
31
30
|
}
|
|
32
|
-
|
|
33
31
|
onResizeMutation(mutations) {
|
|
34
32
|
// console.log(mutations);
|
|
35
33
|
let {
|
|
36
34
|
childrenList
|
|
37
35
|
} = this.props;
|
|
38
|
-
|
|
39
36
|
for (const mutation of mutations) {
|
|
40
37
|
if (mutation.type === 'childList') {
|
|
41
38
|
if (mutation.addedNodes.length) {
|
|
@@ -46,19 +43,24 @@ export default class ResizeComponent extends React.Component {
|
|
|
46
43
|
newAdded = true;
|
|
47
44
|
}
|
|
48
45
|
});
|
|
49
|
-
|
|
50
46
|
if (newAdded) {
|
|
51
47
|
//console.log('A child node has been added ', mutation);
|
|
48
|
+
|
|
52
49
|
this.onResize();
|
|
53
50
|
}
|
|
54
|
-
} else if (mutation.removedNodes.length) {
|
|
51
|
+
} else if (mutation.removedNodes.length) {
|
|
52
|
+
// ?? removed nodes ku check pannanum ah ??
|
|
55
53
|
// console.log('A child node has been removed ', mutation);
|
|
56
54
|
}
|
|
57
|
-
} else if (mutation.type === 'attributes') {
|
|
58
|
-
|
|
55
|
+
} else if (mutation.type === 'attributes') {
|
|
56
|
+
//console.log('The ' + mutation.attributeName + ' attribute was modified.', mutation);
|
|
57
|
+
} else if (mutation.type === 'characterData') {
|
|
58
|
+
// To Call While Changing InnerText, Remove Below line If Required. But It might affect Performance.
|
|
59
59
|
// this.onResize();
|
|
60
60
|
}
|
|
61
|
-
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// mutations.forEach(mutation => {
|
|
62
64
|
// if (mutation.target === foo &&
|
|
63
65
|
// mutation.attributeName === 'style' &&
|
|
64
66
|
// oldWidth !== foo.style.width) {
|
|
@@ -67,7 +69,6 @@ export default class ResizeComponent extends React.Component {
|
|
|
67
69
|
// oldWidth = foo.style.width;
|
|
68
70
|
// }
|
|
69
71
|
// });
|
|
70
|
-
|
|
71
72
|
}
|
|
72
73
|
|
|
73
74
|
componentDidMount() {
|
|
@@ -82,27 +83,22 @@ export default class ResizeComponent extends React.Component {
|
|
|
82
83
|
});
|
|
83
84
|
}
|
|
84
85
|
}
|
|
85
|
-
|
|
86
86
|
componentWillUnmount() {
|
|
87
87
|
this.reset();
|
|
88
88
|
}
|
|
89
|
-
|
|
90
89
|
reset() {
|
|
91
90
|
this.childrenCurrentList = [];
|
|
92
91
|
this.tabsObserver.disconnect();
|
|
93
92
|
this.tabObserver && this.tabObserver.disconnect();
|
|
94
93
|
}
|
|
95
|
-
|
|
96
94
|
componentDidUpdate(prevProps) {
|
|
97
95
|
if (this.childrenCurrentList.length === 0) {
|
|
98
96
|
this.childrenCurrentList = this.querySelector();
|
|
99
97
|
this.widthCheck();
|
|
100
98
|
}
|
|
101
|
-
|
|
102
99
|
if (this.props.resizeId !== prevProps.resizeId) {
|
|
103
100
|
// Completely reset the observers and set new observer if id is changed
|
|
104
101
|
this.reset();
|
|
105
|
-
|
|
106
102
|
if (this.props.wrapperDivRef && this.props.wrapperDivRef.current) {
|
|
107
103
|
this.tabsObserver.observe(this.props.wrapperDivRef.current);
|
|
108
104
|
this.tabObserver.observe(this.props.wrapperDivRef.current, {
|
|
@@ -115,73 +111,67 @@ export default class ResizeComponent extends React.Component {
|
|
|
115
111
|
}
|
|
116
112
|
}
|
|
117
113
|
}
|
|
118
|
-
|
|
119
114
|
onResize() {
|
|
120
115
|
// if (this.childrenCurrentList.length !== 0) {
|
|
121
116
|
this.childrenCurrentList = [];
|
|
122
|
-
this.constructChildren(0, false);
|
|
123
|
-
|
|
117
|
+
this.constructChildren(0, false);
|
|
118
|
+
//}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
// shouldComponentUpdate() {
|
|
124
122
|
// return this.childrenCurrentList.length === 0
|
|
125
123
|
// }
|
|
126
124
|
|
|
127
|
-
|
|
128
125
|
widthCheck() {
|
|
129
126
|
let wrapperDivRef = this.props.wrapperDivRef.current;
|
|
130
127
|
let moreDivRef = this.props.moreDivRef.current;
|
|
131
|
-
|
|
132
128
|
if (wrapperDivRef && this.childrenCurrentList.length > 0) {
|
|
133
|
-
const childrenWidthList = this.childrenCurrentList;
|
|
134
|
-
|
|
135
|
-
const moreWidth = getElementSpace(moreDivRef).neededSpace;
|
|
136
|
-
|
|
129
|
+
const childrenWidthList = this.childrenCurrentList;
|
|
130
|
+
// this.childrenCurrentList = childrenWidthList;
|
|
131
|
+
const moreWidth = getElementSpace(moreDivRef).neededSpace;
|
|
132
|
+
//console.log(moreWidth,'moreWidth');
|
|
137
133
|
let totalWidth = getElementSpace(wrapperDivRef).availableInsideSpace - moreWidth;
|
|
138
134
|
let _childrenTotalWidth = 0;
|
|
139
135
|
let dataCount = 0;
|
|
140
136
|
this.noSpaceForChildren = false;
|
|
141
|
-
|
|
142
137
|
if (totalWidth <= moreWidth) {
|
|
143
138
|
this.noSpaceForChildren = true;
|
|
144
139
|
} else {
|
|
145
140
|
for (let i = 0; i < childrenWidthList.length; i++) {
|
|
146
141
|
let currentWidth = getElementSpace(childrenWidthList[i]).neededSpace;
|
|
147
|
-
_childrenTotalWidth += currentWidth;
|
|
148
|
-
|
|
142
|
+
_childrenTotalWidth += currentWidth;
|
|
143
|
+
// console.log(_childrenTotalWidth, currentWidth, totalWidth)
|
|
149
144
|
if (i === childrenWidthList.length - 1 && moreWidth >= currentWidth) {
|
|
150
145
|
totalWidth += moreWidth;
|
|
151
146
|
}
|
|
152
|
-
|
|
153
147
|
if (totalWidth <= _childrenTotalWidth) {
|
|
154
148
|
dataCount = i;
|
|
155
149
|
break;
|
|
156
150
|
}
|
|
157
151
|
}
|
|
158
152
|
}
|
|
159
|
-
|
|
160
153
|
this.constructChildren(dataCount, true);
|
|
161
154
|
} else {
|
|
162
155
|
this.constructChildren(0, false);
|
|
163
156
|
}
|
|
164
157
|
}
|
|
165
|
-
|
|
166
158
|
constructChildren() {
|
|
167
159
|
let dataCount = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
168
160
|
let responsive = arguments.length > 1 ? arguments[1] : undefined;
|
|
169
161
|
const {
|
|
170
162
|
childrenList,
|
|
171
163
|
getData
|
|
172
|
-
} = this.props;
|
|
173
|
-
|
|
164
|
+
} = this.props;
|
|
165
|
+
// If the data count is zero we assume that we can render all the items - data count will be zero only when we want to calculate the whole list width
|
|
174
166
|
dataCount = dataCount || childrenList && childrenList.length;
|
|
175
167
|
getData({
|
|
176
168
|
responsiveHook: responsive,
|
|
177
169
|
validListCount: this.noSpaceForChildren ? 0 : dataCount
|
|
178
170
|
});
|
|
179
171
|
}
|
|
180
|
-
|
|
181
172
|
render() {
|
|
182
173
|
return /*#__PURE__*/React.createElement(React.Fragment, null, this.props.children);
|
|
183
174
|
}
|
|
184
|
-
|
|
185
175
|
}
|
|
186
176
|
ResizeComponent.propTypes = {
|
|
187
177
|
children: PropTypes.node,
|
|
@@ -4,33 +4,30 @@ const mutationObserverOptions = {
|
|
|
4
4
|
// childList: true,
|
|
5
5
|
attributes: true
|
|
6
6
|
};
|
|
7
|
-
|
|
8
7
|
function getSize(element) {
|
|
9
8
|
let {
|
|
10
9
|
offsetHeight,
|
|
11
10
|
offsetWidth
|
|
12
|
-
} = element;
|
|
13
|
-
|
|
11
|
+
} = element;
|
|
12
|
+
// const { height, width } = element.getBoundingClientRect();
|
|
14
13
|
return {
|
|
15
14
|
height: offsetHeight,
|
|
16
15
|
width: offsetWidth
|
|
17
16
|
};
|
|
18
17
|
}
|
|
19
|
-
|
|
20
18
|
function dispatch() {
|
|
21
19
|
let resizeResponsive = new Event('resizeResponsive');
|
|
22
20
|
window.dispatchEvent(resizeResponsive);
|
|
23
21
|
}
|
|
24
|
-
|
|
25
22
|
if (!hasResizeObserver) {
|
|
26
23
|
let interval = null;
|
|
27
24
|
window.addEventListener('resize', () => {
|
|
28
25
|
clearTimeout(interval);
|
|
29
26
|
interval = setTimeout(dispatch, 100);
|
|
30
27
|
});
|
|
31
|
-
}
|
|
32
|
-
|
|
28
|
+
}
|
|
33
29
|
|
|
30
|
+
// NOTE: this is not full polyfill , we just wrote what types of changes wlli
|
|
34
31
|
export default class ResizeObserverPolyfill {
|
|
35
32
|
constructor(onResize) {
|
|
36
33
|
// method finding
|
|
@@ -45,70 +42,57 @@ export default class ResizeObserverPolyfill {
|
|
|
45
42
|
height: 0,
|
|
46
43
|
width: 0
|
|
47
44
|
};
|
|
48
|
-
|
|
49
45
|
if (hasResizeObserver) {
|
|
50
46
|
this.resizeObserverInstance = new window.ResizeObserver(this.resizeHandlerDispatch);
|
|
51
47
|
} else {
|
|
52
48
|
this.mutationObserverInstance = new window.MutationObserver(this.resizeHandlerDispatch);
|
|
53
49
|
}
|
|
54
50
|
}
|
|
55
|
-
|
|
56
51
|
replaceResizeHandler(onResize) {
|
|
57
52
|
this.onResize = onResize;
|
|
58
53
|
}
|
|
59
|
-
|
|
60
54
|
resizeHandler() {
|
|
61
55
|
if (!this.targetNode) {
|
|
62
56
|
return;
|
|
63
57
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
58
|
+
const currentSize = getSize(this.targetNode);
|
|
59
|
+
// if (this.size && shallowCompare(currentSize, this.size)) {
|
|
67
60
|
if (this.size && currentSize.height === this.size.height && currentSize.width === this.size.width) {
|
|
68
61
|
return;
|
|
69
62
|
}
|
|
70
|
-
|
|
71
63
|
this.size = currentSize;
|
|
72
64
|
this.onResize(this.size, this.targetNode);
|
|
73
65
|
return true;
|
|
74
66
|
}
|
|
75
|
-
|
|
76
67
|
resizeHandlerDispatch() {
|
|
77
68
|
if (!this.resizeHandler() || hasResizeObserver) {
|
|
78
69
|
return;
|
|
79
70
|
}
|
|
80
|
-
|
|
81
71
|
dispatch();
|
|
82
72
|
}
|
|
83
|
-
|
|
84
73
|
debounce() {
|
|
85
74
|
clearTimeout(this.interval);
|
|
86
75
|
this.interval = setTimeout(this.resizeHandler, 100);
|
|
87
76
|
}
|
|
88
|
-
|
|
89
77
|
transitionEndHandler(event) {
|
|
90
78
|
if (event.propertyName.indexOf('color') === -1) {
|
|
91
79
|
this.resizeHandlerDispatch();
|
|
92
80
|
}
|
|
93
81
|
}
|
|
94
|
-
|
|
95
82
|
addEventListeners(targetNode) {
|
|
96
83
|
targetNode.addEventListener('transitionend', this.transitionEndHandler);
|
|
97
84
|
window.addEventListener('resizeResponsive', this.debounce);
|
|
98
85
|
targetNode.addEventListener('animationend', this.resizeHandlerDispatch);
|
|
99
86
|
targetNode.addEventListener('webkitAnimationEnd', this.resizeHandlerDispatch);
|
|
100
87
|
}
|
|
101
|
-
|
|
102
88
|
removeEventListeners(targetNode) {
|
|
103
89
|
targetNode.removeEventListener('transitionend', this.transitionEndHandler);
|
|
104
90
|
window.removeEventListener('resizeResponsive', this.debounce);
|
|
105
91
|
targetNode.removeEventListener('animationend', this.resizeHandlerDispatch);
|
|
106
92
|
targetNode.removeEventListener('webkitAnimationEnd', this.resizeHandlerDispatch);
|
|
107
93
|
}
|
|
108
|
-
|
|
109
94
|
observe(targetNode) {
|
|
110
95
|
this.targetNode = targetNode;
|
|
111
|
-
|
|
112
96
|
if (hasResizeObserver) {
|
|
113
97
|
this.resizeObserverInstance.observe(targetNode);
|
|
114
98
|
} else {
|
|
@@ -116,17 +100,14 @@ export default class ResizeObserverPolyfill {
|
|
|
116
100
|
this.mutationObserverInstance.observe(targetNode, mutationObserverOptions);
|
|
117
101
|
}
|
|
118
102
|
}
|
|
119
|
-
|
|
120
103
|
replaceObservationElement(targetNode) {
|
|
121
104
|
if (this.targetNode === targetNode) {
|
|
122
105
|
return;
|
|
123
106
|
}
|
|
124
|
-
|
|
125
107
|
this.targetNode && this.disconnect();
|
|
126
108
|
targetNode && this.observe(targetNode);
|
|
127
109
|
targetNode && this.resizeHandlerDispatch();
|
|
128
110
|
}
|
|
129
|
-
|
|
130
111
|
disconnect() {
|
|
131
112
|
this.targetNode && this.removeEventListeners(this.targetNode);
|
|
132
113
|
hasResizeObserver ? this.resizeObserverInstance.disconnect() : this.mutationObserverInstance.disconnect();
|
|
@@ -136,5 +117,4 @@ export default class ResizeObserverPolyfill {
|
|
|
136
117
|
width: 0
|
|
137
118
|
};
|
|
138
119
|
}
|
|
139
|
-
|
|
140
120
|
}
|
|
@@ -1,41 +1,42 @@
|
|
|
1
|
-
import React, { useContext, useEffect, useState, useMemo } from 'react';
|
|
2
|
-
|
|
1
|
+
import React, { useContext, useEffect, useState, useMemo } from 'react';
|
|
2
|
+
// import React, { useState, useMemo, useCallback, useContext } from 'react';
|
|
3
3
|
import { ResponsiveSender_defaultProps, ResponsiveReceiver_defaultProps } from './props/defaultProps';
|
|
4
4
|
import { ResponsiveSender_propTypes, ResponsiveReceiver_propTypes } from './props/propTypes';
|
|
5
5
|
import ResizeObserver from './ResizeObserver';
|
|
6
6
|
import DOMRefWrapper from './RefWrapper';
|
|
7
7
|
import { windowResizeObserver } from './windowResizeObserver';
|
|
8
|
-
import { getBreakPointValue, defaultMatcher } from './utils/';
|
|
8
|
+
import { getBreakPointValue, defaultMatcher } from './utils/';
|
|
9
|
+
|
|
10
|
+
// const sortedBreackPointKey = [ 'MOBILE_XS', 'MOBILE_S', 'MOBILE_M', 'MOBILE', 'TABLET_S', 'TABLET_M', 'TABLET', 'LAPTOP_S', 'LAPTOP_M', 'LAPTOP', 'MONITOR_M', 'MONITOR'];
|
|
9
11
|
|
|
10
12
|
export const ResponsiveContext = /*#__PURE__*/React.createContext({});
|
|
11
13
|
const defaultResponsiveId = 'parentReceiver';
|
|
12
14
|
export class ResponsiveSender extends React.Component {
|
|
13
15
|
constructor(props) {
|
|
14
|
-
super(props);
|
|
16
|
+
super(props);
|
|
15
17
|
|
|
18
|
+
// method binding
|
|
16
19
|
this.onResize = this.onResize.bind(this);
|
|
17
20
|
this.containerRef = this.containerRef.bind(this);
|
|
18
21
|
this.getWidth = this.getWidth.bind(this);
|
|
19
22
|
this.state = {
|
|
20
23
|
breakPoint: null,
|
|
21
24
|
getWidth: this.getWidth
|
|
22
|
-
};
|
|
25
|
+
};
|
|
23
26
|
|
|
27
|
+
// variables
|
|
24
28
|
this.observer = new ResizeObserver(this.onResize);
|
|
25
29
|
this.size = null;
|
|
26
30
|
}
|
|
27
|
-
|
|
28
31
|
getWidth() {
|
|
29
32
|
if (!this.size) {
|
|
30
33
|
return 0;
|
|
31
34
|
}
|
|
32
|
-
|
|
33
35
|
const {
|
|
34
36
|
width
|
|
35
37
|
} = this.size;
|
|
36
38
|
return width;
|
|
37
39
|
}
|
|
38
|
-
|
|
39
40
|
onResize(size) {
|
|
40
41
|
// const { matcher } = this.props;
|
|
41
42
|
const {
|
|
@@ -43,25 +44,21 @@ export class ResponsiveSender extends React.Component {
|
|
|
43
44
|
} = this.state;
|
|
44
45
|
const newBreakPoint = defaultMatcher(size);
|
|
45
46
|
this.size = size;
|
|
46
|
-
|
|
47
47
|
if (breakPoint !== newBreakPoint) {
|
|
48
48
|
this.setState({
|
|
49
49
|
breakPoint: newBreakPoint
|
|
50
50
|
});
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
|
-
|
|
54
53
|
containerRef(node) {
|
|
55
54
|
this.observer.replaceObservationElement(node);
|
|
56
55
|
}
|
|
57
|
-
|
|
58
56
|
isChanged(data, key) {
|
|
59
57
|
this.memo = this.memo || {};
|
|
60
58
|
const changed = this.memo[key] !== data;
|
|
61
59
|
this.memo[key] = data;
|
|
62
60
|
return changed;
|
|
63
61
|
}
|
|
64
|
-
|
|
65
62
|
render() {
|
|
66
63
|
const parentContext = this.context;
|
|
67
64
|
const {
|
|
@@ -71,10 +68,9 @@ export class ResponsiveSender extends React.Component {
|
|
|
71
68
|
} = this.props;
|
|
72
69
|
let {
|
|
73
70
|
childContext
|
|
74
|
-
} = this;
|
|
75
|
-
|
|
71
|
+
} = this;
|
|
72
|
+
// NOTE: this method called here ,Because of we must update local memo.
|
|
76
73
|
const isStateChanged = this.isChanged(this.state, 'state');
|
|
77
|
-
|
|
78
74
|
if (this.isChanged(this.context, 'context') || isStateChanged) {
|
|
79
75
|
childContext = Object.assign({}, parentContext);
|
|
80
76
|
childContext[responsiveId] = this.state;
|
|
@@ -89,9 +85,9 @@ export class ResponsiveSender extends React.Component {
|
|
|
89
85
|
ref: this.containerRef
|
|
90
86
|
}, children));
|
|
91
87
|
}
|
|
92
|
-
|
|
93
88
|
}
|
|
94
|
-
ResponsiveSender.defaultProps = {
|
|
89
|
+
ResponsiveSender.defaultProps = {
|
|
90
|
+
...ResponsiveSender_defaultProps,
|
|
95
91
|
responsiveId: defaultResponsiveId
|
|
96
92
|
};
|
|
97
93
|
ResponsiveSender.contextType = ResponsiveContext;
|
|
@@ -101,20 +97,17 @@ export function useResponsiveReceiver() {
|
|
|
101
97
|
const [_, forceUpdate] = useState();
|
|
102
98
|
let totalContextData = useContext(ResponsiveContext);
|
|
103
99
|
let contextData = totalContextData[responsiveId] || totalContextData[defaultResponsiveId]; // NOTE: this for fallback of if responsive receiver id wrong
|
|
104
|
-
|
|
105
100
|
let data = contextData;
|
|
106
101
|
useEffect(() => {
|
|
107
102
|
!contextData && windowResizeObserver.observe(forceUpdate);
|
|
108
103
|
return () => !contextData && windowResizeObserver.unobserve(forceUpdate);
|
|
109
104
|
}, [!!contextData]);
|
|
110
|
-
|
|
111
105
|
if (!contextData) {
|
|
112
106
|
data = {
|
|
113
107
|
breakPoint: windowResizeObserver.getBreackPoint(),
|
|
114
108
|
getWidth: () => windowResizeObserver.getSize().width
|
|
115
109
|
};
|
|
116
110
|
}
|
|
117
|
-
|
|
118
111
|
const {
|
|
119
112
|
breakPoint,
|
|
120
113
|
getWidth
|
|
@@ -124,45 +117,37 @@ export function useResponsiveReceiver() {
|
|
|
124
117
|
return {
|
|
125
118
|
breakPoint,
|
|
126
119
|
isTouchDevice,
|
|
127
|
-
|
|
128
120
|
deviceBetween(breakPoint1, breakPoint2) {
|
|
129
121
|
const width = getWidth();
|
|
130
|
-
|
|
131
122
|
if (!width) {
|
|
132
123
|
return false;
|
|
133
|
-
}
|
|
124
|
+
}
|
|
125
|
+
// const smallBreakPointIndex = sortedBreackPointKey.indexOf(breakPoint1);
|
|
134
126
|
// const value1 = smallBreakPointIndex < 1 ? 0 : getBreakPointValue(sortedBreackPointKey[smallBreakPointIndex-1]);
|
|
135
|
-
|
|
136
|
-
|
|
137
127
|
const value1 = getBreakPointValue(breakPoint1);
|
|
138
128
|
const value2 = getBreakPointValue(breakPoint2);
|
|
139
|
-
|
|
140
129
|
if (value1 > value2) {
|
|
141
130
|
return this.deviceBetween(breakPoint2, breakPoint1);
|
|
142
131
|
}
|
|
143
|
-
|
|
144
132
|
return value1 <= width && value2 >= width || breakPoint1 === breakPoint || breakPoint2 === breakPoint;
|
|
145
133
|
},
|
|
146
|
-
|
|
147
134
|
deviceOnly() {
|
|
148
135
|
let breakPoints = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
149
136
|
return breakPoints.includes(breakPoint);
|
|
150
137
|
},
|
|
151
|
-
|
|
152
138
|
deviceUpto(breakPoint) {
|
|
153
139
|
const width = getWidth();
|
|
154
|
-
|
|
155
140
|
if (!width) {
|
|
156
141
|
return false;
|
|
157
142
|
}
|
|
158
|
-
|
|
159
143
|
return width <= getBreakPointValue(breakPoint);
|
|
160
144
|
}
|
|
161
|
-
|
|
162
145
|
};
|
|
163
146
|
}, [breakPoint, getWidth]);
|
|
164
147
|
return childArg;
|
|
165
|
-
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
// function ResponsiveReceiverFunc({ children, hiddenSizes }, ref) {
|
|
166
151
|
// const { breakPoint, methods } = useResponsiveReceiver();
|
|
167
152
|
// console.log(hiddenSizes);
|
|
168
153
|
// return hiddenSizes.indexOf(breakPoint) === -1 ? (
|
|
@@ -188,7 +173,8 @@ export function ResponsiveReceiver(_ref) {
|
|
|
188
173
|
ref: eleRef
|
|
189
174
|
}, child) : child : null;
|
|
190
175
|
}
|
|
191
|
-
ResponsiveReceiver.defaultProps = {
|
|
176
|
+
ResponsiveReceiver.defaultProps = {
|
|
177
|
+
...ResponsiveReceiver_defaultProps,
|
|
192
178
|
responsiveId: defaultResponsiveId
|
|
193
179
|
};
|
|
194
180
|
ResponsiveReceiver.propTypes = ResponsiveReceiver_propTypes;
|
package/es/Responsive/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export { ResponsiveSender as CustomResponsiveSender, ResponsiveReceiver as CustomResponsiveReceiver, useResponsiveReceiver as useCustomResponsiveReceiver } from './CustomResponsive';
|
|
2
2
|
export { ResponsiveSender, ResponsiveReceiver, useResponsiveReceiver } from './Responsive';
|
|
3
|
-
export { default as ResizeComponent } from './ResizeComponent';
|
|
3
|
+
export { default as ResizeComponent } from './ResizeComponent';
|
|
4
|
+
|
|
5
|
+
// let Responsive = {
|
|
4
6
|
// docs: {
|
|
5
7
|
// componentGroup: 'Layout',
|
|
6
8
|
// folderName: 'Style Guide'
|
|
@@ -4,39 +4,34 @@ const breakPointKeys = {
|
|
|
4
4
|
minWidth: true,
|
|
5
5
|
maxWidth: true
|
|
6
6
|
};
|
|
7
|
-
|
|
8
7
|
function isValideBreakPoint(breakPoint) {
|
|
9
8
|
return Object.keys(breakPoint).every(key => breakPointKeys[key]);
|
|
10
9
|
}
|
|
11
|
-
|
|
12
10
|
function rangeCheck(minValue, maxValue, screenValue) {
|
|
13
11
|
if (minValue === undefined) {
|
|
14
12
|
if (maxValue === undefined) {
|
|
15
13
|
return undefined;
|
|
16
14
|
}
|
|
17
|
-
|
|
18
15
|
return maxValue >= screenValue;
|
|
19
16
|
}
|
|
20
|
-
|
|
21
17
|
if (maxValue === undefined) {
|
|
22
18
|
return minValue <= screenValue;
|
|
23
19
|
}
|
|
24
|
-
|
|
25
20
|
return minValue <= screenValue && maxValue >= screenValue;
|
|
26
21
|
}
|
|
27
|
-
|
|
28
22
|
function isTouchDeviceFunc() {
|
|
29
23
|
// return window.matchMedia("(pointer: coarse)").matches
|
|
30
24
|
return 'ontouchstart' in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;
|
|
31
|
-
}
|
|
32
|
-
// 'ontouchstart' in window && navigator.userAgent.match(/mobi/i) ? true : false;
|
|
33
|
-
|
|
25
|
+
}
|
|
34
26
|
|
|
27
|
+
// export const isTouchDevice =
|
|
28
|
+
// 'ontouchstart' in window && navigator.userAgent.match(/mobi/i) ? true : false;
|
|
35
29
|
export const isTouchDevice = isTouchDeviceFunc();
|
|
36
30
|
export function isBreackPointMatched(object, screen) {
|
|
37
31
|
if (!isValideBreakPoint(object)) {
|
|
38
32
|
// eslint-disable-next-line no-console
|
|
39
|
-
console.error('only minHeight,maxHeight,minWidth,maxWidth these keys are allowed, your object', JSON.stringify(object));
|
|
33
|
+
console.error('only minHeight,maxHeight,minWidth,maxWidth these keys are allowed, your object', JSON.stringify(object));
|
|
34
|
+
// return;
|
|
40
35
|
}
|
|
41
36
|
|
|
42
37
|
const {
|
|
@@ -60,59 +55,46 @@ export class Subscribale {
|
|
|
60
55
|
constructor() {
|
|
61
56
|
this.subscribers = [];
|
|
62
57
|
}
|
|
63
|
-
|
|
64
58
|
connect() {}
|
|
65
|
-
|
|
66
59
|
disconnect() {}
|
|
67
|
-
|
|
68
60
|
subscribe(func) {
|
|
69
61
|
this.subscribers.length && this.connect();
|
|
70
62
|
this.subscribers.push(func);
|
|
71
63
|
}
|
|
72
|
-
|
|
73
64
|
unsubscribe(func) {
|
|
74
65
|
this.subscribers = this.subscribers.filter(s => s !== func);
|
|
75
66
|
this.subscribers.length && this.disconnect();
|
|
76
67
|
}
|
|
77
|
-
|
|
78
68
|
dispatch() {
|
|
79
69
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
80
70
|
args[_key] = arguments[_key];
|
|
81
71
|
}
|
|
82
|
-
|
|
83
72
|
this.subscribers.forEach(subscriber => {
|
|
84
73
|
subscriber(...args);
|
|
85
74
|
});
|
|
86
75
|
}
|
|
87
|
-
|
|
88
76
|
}
|
|
89
|
-
|
|
90
77
|
class InitSubscribale extends Subscribale {
|
|
91
78
|
// must be OverWrite
|
|
92
|
-
connect() {}
|
|
93
|
-
|
|
79
|
+
connect() {}
|
|
94
80
|
|
|
81
|
+
// must be OverWrite
|
|
95
82
|
disconnect() {}
|
|
96
|
-
|
|
97
83
|
subscribe(func) {
|
|
98
84
|
!this.subscribers.length && this.connect();
|
|
99
85
|
super.subscribe(func);
|
|
100
86
|
}
|
|
101
|
-
|
|
102
87
|
unsubscribe(func) {
|
|
103
88
|
super.unsubscribe(func);
|
|
104
89
|
!this.subscribers.length && this.disconnect();
|
|
105
90
|
}
|
|
106
|
-
|
|
107
91
|
}
|
|
108
|
-
|
|
109
92
|
export const windowResizeObserver = (() => {
|
|
110
93
|
const subscribaleInstance = new InitSubscribale();
|
|
111
94
|
let size = {
|
|
112
95
|
heigth: window.innerHeight,
|
|
113
96
|
width: window.innerWidth
|
|
114
97
|
};
|
|
115
|
-
|
|
116
98
|
function handleResize() {
|
|
117
99
|
const newSize = {
|
|
118
100
|
height: window.innerHeight,
|
|
@@ -121,16 +103,13 @@ export const windowResizeObserver = (() => {
|
|
|
121
103
|
size = newSize;
|
|
122
104
|
subscribaleInstance.dispatch(newSize);
|
|
123
105
|
}
|
|
124
|
-
|
|
125
106
|
function addResizeListener() {
|
|
126
107
|
window.addEventListener('resize', handleResize);
|
|
127
108
|
handleResize();
|
|
128
109
|
}
|
|
129
|
-
|
|
130
110
|
function removeResizeListener() {
|
|
131
111
|
window.removeEventListener('resize', handleResize);
|
|
132
112
|
}
|
|
133
|
-
|
|
134
113
|
subscribaleInstance.connect = addResizeListener;
|
|
135
114
|
subscribaleInstance.disconnect = removeResizeListener;
|
|
136
115
|
return {
|
|
@@ -11,6 +11,7 @@ export const breakPoints = {
|
|
|
11
11
|
//1024
|
|
12
12
|
LAPTOP: 90,
|
|
13
13
|
//1440
|
|
14
|
+
|
|
14
15
|
// other break points
|
|
15
16
|
MOBILE_XS: 20,
|
|
16
17
|
//320
|
|
@@ -25,28 +26,25 @@ export const breakPoints = {
|
|
|
25
26
|
MONITOR_M: 100,
|
|
26
27
|
//1600
|
|
27
28
|
MONITOR: 120 //1920
|
|
28
|
-
|
|
29
29
|
};
|
|
30
|
+
|
|
30
31
|
export function getBreakPointValue(breakPoint) {
|
|
31
|
-
return breakPoints[breakPoint] * getHTMLFontSize();
|
|
32
|
+
return breakPoints[breakPoint] * getHTMLFontSize();
|
|
33
|
+
// return breakPoints[breakPoint] * 16;
|
|
32
34
|
}
|
|
35
|
+
|
|
33
36
|
export const sortedBreackPointKey = Object.keys(breakPoints).sort((a, b) => breakPoints[a] - breakPoints[b]);
|
|
34
37
|
export function defaultMatcher(size) {
|
|
35
38
|
let currentSize = '';
|
|
36
|
-
|
|
37
39
|
if (!size) {
|
|
38
40
|
return currentSize;
|
|
39
41
|
}
|
|
40
|
-
|
|
41
42
|
let key;
|
|
42
|
-
|
|
43
43
|
for (let i = 0; i < sortedBreackPointKey.length; i++) {
|
|
44
44
|
key = sortedBreackPointKey[i];
|
|
45
|
-
|
|
46
45
|
if (getBreakPointValue(key) >= size.width) {
|
|
47
46
|
break;
|
|
48
47
|
}
|
|
49
48
|
}
|
|
50
|
-
|
|
51
49
|
return key;
|
|
52
50
|
}
|