@zohodesk/components 1.0.0-temp-154 → 1.0.0-temp-156
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/es/Accordion/Accordion.js +7 -3
- package/es/Accordion/AccordionItem.js +4 -2
- package/es/Animation/Animation.js +3 -3
- package/es/AppContainer/AppContainer.js +13 -5
- package/es/AppContainer/AppContainer.module.css +2 -2
- package/es/Avatar/Avatar.js +23 -11
- package/es/Avatar/Avatar.module.css +10 -10
- package/es/AvatarTeam/AvatarTeam.js +3 -3
- package/es/AvatarTeam/AvatarTeam.module.css +22 -21
- package/es/Button/Button.js +4 -3
- package/es/Button/css/Button.module.css +51 -50
- package/es/Buttongroup/Buttongroup.js +3 -3
- package/es/Buttongroup/Buttongroup.module.css +13 -14
- package/es/Card/Card.js +21 -10
- package/es/CheckBox/CheckBox.js +5 -3
- package/es/CheckBox/CheckBox.module.css +16 -16
- package/es/DateTime/CalendarView.js +32 -20
- package/es/DateTime/DateTime.js +67 -6
- package/es/DateTime/DateTime.module.css +39 -39
- package/es/DateTime/DateTimePopupFooter.js +4 -2
- package/es/DateTime/DateTimePopupHeader.js +8 -2
- package/es/DateTime/DateWidget.js +98 -35
- package/es/DateTime/DateWidget.module.css +5 -5
- package/es/DateTime/DaysRow.js +4 -2
- package/es/DateTime/Time.js +10 -2
- package/es/DateTime/YearView.js +28 -4
- package/es/DateTime/YearView.module.css +15 -15
- package/es/DateTime/__tests__/CalendarView.spec.js +1 -0
- package/es/DateTime/__tests__/DateTime.spec.js +1 -0
- package/es/DateTime/__tests__/DateWidget.spec.js +2 -3
- package/es/DateTime/common.js +3 -0
- package/es/DateTime/constants.js +1 -0
- package/es/DateTime/dateFormatUtils/dateFormat.js +63 -30
- package/es/DateTime/dateFormatUtils/dateFormats.js +0 -1
- package/es/DateTime/dateFormatUtils/dayChange.js +13 -4
- package/es/DateTime/dateFormatUtils/index.js +32 -2
- package/es/DateTime/dateFormatUtils/monthChange.js +8 -0
- package/es/DateTime/dateFormatUtils/timeChange.js +22 -6
- package/es/DateTime/dateFormatUtils/yearChange.js +11 -2
- package/es/DateTime/objectUtils.js +14 -20
- package/es/DateTime/typeChecker.js +3 -0
- package/es/DateTime/validator.js +58 -6
- package/es/DropBox/DropBox.js +6 -2
- package/es/DropBox/DropBoxElement/DropBoxElement.js +7 -0
- package/es/DropBox/DropBoxElement/css/DropBoxElement.module.css +74 -73
- package/es/DropBox/DropBoxElement/css/cssJSLogic.js +5 -3
- package/es/DropBox/DropBoxElement/useDropboxPosCalc.js +3 -0
- package/es/DropBox/css/DropBox.module.css +6 -6
- package/es/DropBox/props/defaultProps.js +1 -2
- package/es/DropBox/props/propTypes.js +1 -2
- package/es/DropDown/DropDown.js +8 -4
- package/es/DropDown/DropDown.module.css +2 -2
- package/es/DropDown/DropDownHeading.js +4 -5
- package/es/DropDown/DropDownHeading.module.css +3 -3
- package/es/DropDown/DropDownItem.js +6 -0
- package/es/DropDown/DropDownItem.module.css +9 -9
- package/es/DropDown/DropDownSearch.js +4 -0
- package/es/DropDown/DropDownSeparator.js +1 -0
- package/es/DropDown/DropDownSeparator.module.css +2 -2
- package/es/DropDown/__tests__/DropDown.spec.js +1 -2
- package/es/Heading/Heading.js +2 -3
- package/es/Heading/Heading.module.css +2 -2
- package/es/Label/Label.js +2 -3
- package/es/Label/Label.module.css +1 -1
- package/es/Layout/Box.js +13 -0
- package/es/Layout/Container.js +12 -1
- package/es/Layout/Layout.module.css +15 -15
- package/es/Layout/index.js +1 -2
- package/es/ListItem/ListContainer.js +8 -3
- package/es/ListItem/ListItem.js +9 -3
- package/es/ListItem/ListItem.module.css +26 -26
- package/es/ListItem/ListItemWithAvatar.js +9 -3
- package/es/ListItem/ListItemWithCheckBox.js +7 -2
- package/es/ListItem/ListItemWithIcon.js +8 -3
- package/es/ListItem/ListItemWithRadio.js +7 -3
- package/es/Modal/Modal.js +28 -11
- package/es/MultiSelect/AdvancedGroupMultiSelect.js +89 -13
- package/es/MultiSelect/AdvancedMultiSelect.js +32 -9
- package/es/MultiSelect/EmptyState.js +2 -0
- package/es/MultiSelect/MultiSelect.js +99 -32
- package/es/MultiSelect/MultiSelect.module.css +32 -31
- package/es/MultiSelect/MultiSelectHeader.js +3 -0
- package/es/MultiSelect/MultiSelectWithAvatar.js +12 -6
- package/es/MultiSelect/SelectedOptions.js +6 -3
- package/es/MultiSelect/SelectedOptions.module.css +5 -5
- package/es/MultiSelect/Suggestions.js +7 -3
- package/es/MultiSelect/__tests__/MultiSelect.spec.js +4 -6
- package/es/MultiSelect/props/propTypes.js +2 -0
- package/es/PopOver/PopOver.js +18 -2
- package/es/PopOver/__tests__/PopOver.spec.js +2 -1
- package/es/Popup/Popup.js +77 -24
- package/es/Popup/__tests__/Popup.spec.js +17 -5
- package/es/Popup/viewPort.js +16 -4
- package/es/Provider/IdProvider.js +10 -5
- package/es/Provider/LibraryContext.js +6 -4
- package/es/Provider/NumberGenerator/NumberGenerator.js +21 -7
- package/es/Provider/ZindexProvider.js +9 -2
- package/es/Radio/Radio.js +4 -2
- package/es/Radio/Radio.module.css +3 -3
- package/es/Responsive/CustomResponsive.js +30 -18
- package/es/Responsive/RefWrapper.js +6 -7
- package/es/Responsive/ResizeComponent.js +35 -25
- package/es/Responsive/ResizeObserver.js +26 -6
- package/es/Responsive/Responsive.js +34 -20
- package/es/Responsive/index.js +1 -3
- package/es/Responsive/sizeObservers.js +28 -7
- package/es/Responsive/utils/index.js +7 -5
- package/es/Responsive/utils/shallowCompare.js +7 -2
- package/es/Responsive/windowResizeObserver.js +7 -0
- package/es/ResponsiveDropBox/ResponsiveDropBox.js +4 -0
- package/es/ResponsiveDropBox/ResponsiveDropBox.module.css +2 -2
- package/es/Ribbon/Ribbon.js +3 -2
- package/es/Ribbon/Ribbon.module.css +42 -42
- package/es/RippleEffect/RippleEffect.js +1 -3
- package/es/Select/GroupSelect.js +58 -14
- package/es/Select/Select.js +79 -33
- package/es/Select/Select.module.css +23 -23
- package/es/Select/SelectWithAvatar.js +17 -4
- package/es/Select/SelectWithIcon.js +46 -5
- package/es/Select/__tests__/Select.spec.js +6 -8
- package/es/Select/props/propTypes.js +1 -0
- package/es/Stencils/Stencils.js +3 -3
- package/es/Stencils/Stencils.module.css +2 -2
- package/es/Switch/Switch.js +5 -3
- package/es/Switch/Switch.module.css +23 -23
- package/es/Tab/Tab.js +4 -4
- package/es/Tab/Tab.module.css +14 -14
- package/es/Tab/TabContent.js +1 -0
- package/es/Tab/TabContentWrapper.js +2 -0
- package/es/Tab/TabWrapper.js +5 -2
- package/es/Tab/Tabs.js +54 -7
- package/es/Tab/Tabs.module.css +23 -23
- package/es/Tab/__tests__/Tab.spec.js +1 -3
- package/es/Tab/__tests__/TabWrapper.spec.js +1 -0
- package/es/Tag/Tag.js +6 -3
- package/es/Tag/Tag.module.css +10 -10
- package/es/TextBox/TextBox.js +15 -3
- package/es/TextBox/TextBox.module.css +6 -5
- package/es/TextBox/__tests__/TextBox.spec.js +1 -4
- package/es/TextBoxIcon/TextBoxIcon.js +9 -2
- package/es/TextBoxIcon/TextBoxIcon.module.css +7 -6
- package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +2 -7
- package/es/Textarea/Textarea.js +12 -3
- package/es/Textarea/Textarea.module.css +6 -6
- package/es/Textarea/__tests__/Textarea.spec.js +2 -2
- package/es/Tooltip/Tooltip.js +58 -14
- package/es/Tooltip/Tooltip.module.css +12 -5
- package/es/Tooltip/__tests__/Tooltip.spec.js +5 -0
- package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +3 -2
- package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +7 -5
- package/es/common/animation.module.css +8 -8
- package/es/common/basicReset.module.css +3 -3
- package/es/common/boxShadow.module.css +1 -3
- package/es/common/common.module.css +24 -24
- package/es/common/customscroll.module.css +4 -2
- package/es/common/reset.module.css +1 -0
- package/es/deprecated/AdvancedMultiSelect.module.css +18 -18
- package/es/deprecated/PortalLayer/PortalLayer.js +25 -20
- package/es/semantic/Button/Button.js +3 -2
- package/es/semantic/Button/semanticButton.module.css +1 -1
- package/es/utils/Common.js +54 -9
- package/es/utils/ContextOptimizer.js +4 -5
- package/es/utils/__tests__/debounce.spec.js +2 -2
- package/es/utils/constructFullName.js +2 -0
- package/es/utils/css/compileClassNames.js +5 -0
- package/es/utils/css/mergeStyle.js +7 -6
- package/es/utils/css/utils.js +1 -0
- package/es/utils/datetime/common.js +16 -5
- package/es/utils/debounce.js +5 -1
- package/es/utils/dropDownUtils.js +68 -11
- package/es/utils/getInitial.js +4 -0
- package/es/utils/shallowEqual.js +6 -0
- package/lib/Accordion/Accordion.js +42 -18
- package/lib/Accordion/AccordionItem.js +40 -18
- package/lib/Accordion/__tests__/Accordion.spec.js +3 -0
- package/lib/Accordion/index.js +3 -0
- package/lib/Accordion/props/propTypes.js +3 -0
- package/lib/Animation/Animation.js +38 -18
- package/lib/Animation/__tests__/Animation.spec.js +11 -7
- package/lib/Animation/props/propTypes.js +3 -0
- package/lib/AppContainer/AppContainer.js +56 -21
- package/lib/AppContainer/AppContainer.module.css +2 -2
- package/lib/AppContainer/props/propTypes.js +3 -0
- package/lib/Avatar/Avatar.js +78 -38
- package/lib/Avatar/Avatar.module.css +10 -10
- package/lib/Avatar/__tests__/Avatar.spec.js +44 -0
- package/lib/Avatar/props/propTypes.js +3 -0
- package/lib/AvatarTeam/AvatarTeam.js +52 -30
- package/lib/AvatarTeam/AvatarTeam.module.css +22 -21
- package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +13 -0
- package/lib/AvatarTeam/props/propTypes.js +3 -0
- package/lib/Button/Button.js +31 -20
- package/lib/Button/css/Button.module.css +51 -50
- package/lib/Button/css/cssJSLogic.js +18 -17
- package/lib/Button/index.js +3 -0
- package/lib/Button/props/defaultProps.js +2 -0
- package/lib/Button/props/propTypes.js +3 -0
- package/lib/Buttongroup/Buttongroup.js +32 -12
- package/lib/Buttongroup/Buttongroup.module.css +13 -14
- package/lib/Buttongroup/__test__/Buttongroup.spec.js +10 -0
- package/lib/Buttongroup/props/propTypes.js +3 -0
- package/lib/Card/Card.js +102 -46
- package/lib/Card/__tests__/Card.spec.js +10 -1
- package/lib/Card/index.js +4 -0
- package/lib/Card/props/propTypes.js +3 -0
- package/lib/CheckBox/CheckBox.js +71 -47
- package/lib/CheckBox/CheckBox.module.css +16 -16
- package/lib/CheckBox/__tests__/CheckBox.spec.js +3 -0
- package/lib/CheckBox/props/propTypes.js +3 -0
- package/lib/DateTime/CalendarView.js +82 -42
- package/lib/DateTime/DateTime.js +239 -155
- package/lib/DateTime/DateTime.module.css +39 -39
- package/lib/DateTime/DateTimePopupFooter.js +31 -8
- package/lib/DateTime/DateTimePopupHeader.js +48 -17
- package/lib/DateTime/DateWidget.js +352 -250
- package/lib/DateTime/DateWidget.module.css +5 -5
- package/lib/DateTime/DaysRow.js +27 -5
- package/lib/DateTime/Time.js +73 -32
- package/lib/DateTime/YearView.js +77 -28
- package/lib/DateTime/YearView.module.css +15 -15
- package/lib/DateTime/__tests__/CalendarView.spec.js +13 -5
- package/lib/DateTime/__tests__/DateTime.spec.js +51 -37
- package/lib/DateTime/__tests__/DateWidget.spec.js +10 -8
- package/lib/DateTime/common.js +6 -0
- package/lib/DateTime/constants.js +1 -0
- package/lib/DateTime/dateFormatUtils/dateFormat.js +184 -122
- package/lib/DateTime/dateFormatUtils/dateFormats.js +0 -1
- package/lib/DateTime/dateFormatUtils/dayChange.js +14 -7
- package/lib/DateTime/dateFormatUtils/index.js +74 -16
- package/lib/DateTime/dateFormatUtils/monthChange.js +19 -9
- package/lib/DateTime/dateFormatUtils/timeChange.js +54 -22
- package/lib/DateTime/dateFormatUtils/yearChange.js +22 -11
- package/lib/DateTime/index.js +2 -0
- package/lib/DateTime/objectUtils.js +24 -20
- package/lib/DateTime/props/propTypes.js +11 -1
- package/lib/DateTime/typeChecker.js +4 -0
- package/lib/DateTime/validator.js +73 -10
- package/lib/DropBox/DropBox.js +34 -10
- package/lib/DropBox/DropBoxElement/DropBoxElement.js +58 -37
- package/lib/DropBox/DropBoxElement/css/DropBoxElement.module.css +74 -73
- package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +41 -33
- package/lib/DropBox/DropBoxElement/props/propTypes.js +3 -0
- package/lib/DropBox/DropBoxElement/useDropboxPosCalc.js +14 -9
- package/lib/DropBox/__tests__/DropBox.spec.js +6 -2
- package/lib/DropBox/css/DropBox.module.css +6 -6
- package/lib/DropBox/css/cssJSLogic.js +3 -1
- package/lib/DropBox/props/defaultProps.js +8 -4
- package/lib/DropBox/props/propTypes.js +10 -4
- package/lib/DropDown/DropDown.js +52 -8
- package/lib/DropDown/DropDown.module.css +2 -2
- package/lib/DropDown/DropDownHeading.js +39 -20
- package/lib/DropDown/DropDownHeading.module.css +3 -3
- package/lib/DropDown/DropDownItem.js +42 -20
- package/lib/DropDown/DropDownItem.module.css +9 -9
- package/lib/DropDown/DropDownSearch.js +40 -17
- package/lib/DropDown/DropDownSeparator.js +24 -4
- package/lib/DropDown/DropDownSeparator.module.css +2 -2
- package/lib/DropDown/__tests__/DropDown.spec.js +15 -9
- package/lib/DropDown/__tests__/DropDownItem.spec.js +9 -4
- package/lib/DropDown/__tests__/DropDownSearch.spec.js +3 -0
- package/lib/DropDown/index.js +9 -0
- package/lib/DropDown/props/propTypes.js +6 -4
- package/lib/Heading/Heading.js +37 -15
- package/lib/Heading/Heading.module.css +2 -2
- package/lib/Heading/props/propTypes.js +3 -0
- package/lib/Label/Label.js +39 -19
- package/lib/Label/Label.module.css +1 -1
- package/lib/Label/__tests__/Label.spec.js +14 -1
- package/lib/Label/props/propTypes.js +3 -0
- package/lib/Layout/Box.js +31 -11
- package/lib/Layout/Container.js +29 -10
- package/lib/Layout/Layout.module.css +15 -15
- package/lib/Layout/__tests__/Box.spec.js +65 -49
- package/lib/Layout/__tests__/Container.spec.js +67 -50
- package/lib/Layout/index.js +3 -0
- package/lib/Layout/props/propTypes.js +3 -0
- package/lib/Layout/utils.js +10 -0
- package/lib/ListItem/ListContainer.js +48 -27
- package/lib/ListItem/ListItem.js +69 -45
- package/lib/ListItem/ListItem.module.css +26 -26
- package/lib/ListItem/ListItemWithAvatar.js +75 -48
- package/lib/ListItem/ListItemWithCheckBox.js +64 -39
- package/lib/ListItem/ListItemWithIcon.js +68 -44
- package/lib/ListItem/ListItemWithRadio.js +65 -41
- package/lib/ListItem/index.js +7 -0
- package/lib/ListItem/props/propTypes.js +6 -4
- package/lib/Modal/Modal.js +45 -10
- package/lib/Modal/props/propTypes.js +3 -0
- package/lib/MultiSelect/AdvancedGroupMultiSelect.js +294 -166
- package/lib/MultiSelect/AdvancedMultiSelect.js +202 -125
- package/lib/MultiSelect/EmptyState.js +45 -24
- package/lib/MultiSelect/MultiSelect.js +323 -206
- package/lib/MultiSelect/MultiSelect.module.css +32 -31
- package/lib/MultiSelect/MultiSelectHeader.js +30 -8
- package/lib/MultiSelect/MultiSelectWithAvatar.js +105 -63
- package/lib/MultiSelect/SelectedOptions.js +43 -17
- package/lib/MultiSelect/SelectedOptions.module.css +5 -5
- package/lib/MultiSelect/Suggestions.js +64 -32
- package/lib/MultiSelect/__tests__/MultiSelect.spec.js +86 -75
- package/lib/MultiSelect/index.js +5 -0
- package/lib/MultiSelect/props/defaultProps.js +2 -0
- package/lib/MultiSelect/props/propTypes.js +5 -0
- package/lib/PopOver/PopOver.js +95 -49
- package/lib/PopOver/__tests__/PopOver.spec.js +4 -1
- package/lib/PopOver/index.js +4 -0
- package/lib/PopOver/props/propTypes.js +3 -0
- package/lib/Popup/Popup.js +158 -81
- package/lib/Popup/__tests__/Popup.spec.js +43 -8
- package/lib/Popup/viewPort.js +28 -14
- package/lib/Provider/AvatarSize.js +4 -0
- package/lib/Provider/Config.js +2 -0
- package/lib/Provider/CssProvider.js +4 -0
- package/lib/Provider/IdProvider.js +17 -6
- package/lib/Provider/LibraryContext.js +35 -15
- package/lib/Provider/LibraryContextInit.js +4 -0
- package/lib/Provider/NumberGenerator/NumberGenerator.js +44 -15
- package/lib/Provider/ZindexProvider.js +15 -3
- package/lib/Provider/index.js +5 -0
- package/lib/Radio/Radio.js +61 -38
- package/lib/Radio/Radio.module.css +3 -3
- package/lib/Radio/__tests__/Radiospec.js +9 -5
- package/lib/Radio/props/propTypes.js +3 -0
- package/lib/Responsive/CustomResponsive.js +73 -29
- package/lib/Responsive/RefWrapper.js +17 -11
- package/lib/Responsive/ResizeComponent.js +62 -36
- package/lib/Responsive/ResizeObserver.js +24 -10
- package/lib/Responsive/Responsive.js +80 -30
- package/lib/Responsive/index.js +4 -0
- package/lib/Responsive/props/propTypes.js +3 -0
- package/lib/Responsive/sizeObservers.js +53 -17
- package/lib/Responsive/utils/index.js +11 -3
- package/lib/Responsive/utils/shallowCompare.js +11 -2
- package/lib/Responsive/windowResizeObserver.js +8 -0
- package/lib/ResponsiveDropBox/ResponsiveDropBox.js +45 -17
- package/lib/ResponsiveDropBox/ResponsiveDropBox.module.css +2 -2
- package/lib/ResponsiveDropBox/props/propTypes.js +3 -0
- package/lib/Ribbon/Ribbon.js +33 -13
- package/lib/Ribbon/Ribbon.module.css +42 -42
- package/lib/Ribbon/__tests__/Ribbon.spec.js +22 -0
- package/lib/Ribbon/props/propTypes.js +3 -0
- package/lib/RippleEffect/RippleEffect.js +18 -10
- package/lib/RippleEffect/props/propTypes.js +3 -0
- package/lib/Select/GroupSelect.js +229 -130
- package/lib/Select/Select.js +290 -209
- package/lib/Select/Select.module.css +23 -23
- package/lib/Select/SelectWithAvatar.js +102 -56
- package/lib/Select/SelectWithIcon.js +132 -76
- package/lib/Select/__tests__/Select.spec.js +133 -91
- package/lib/Select/index.js +5 -0
- package/lib/Select/props/defaultProps.js +5 -4
- package/lib/Select/props/propTypes.js +4 -0
- package/lib/Stencils/Stencils.js +29 -10
- package/lib/Stencils/Stencils.module.css +2 -2
- package/lib/Stencils/__tests__/Stencils.spec.js +12 -0
- package/lib/Stencils/props/propTypes.js +3 -0
- package/lib/Switch/Switch.js +57 -34
- package/lib/Switch/Switch.module.css +23 -23
- package/lib/Switch/props/propTypes.js +3 -0
- package/lib/Tab/Tab.js +40 -27
- package/lib/Tab/Tab.module.css +14 -14
- package/lib/Tab/TabContent.js +12 -5
- package/lib/Tab/TabContentWrapper.js +13 -6
- package/lib/Tab/TabWrapper.js +37 -19
- package/lib/Tab/Tabs.js +171 -91
- package/lib/Tab/Tabs.module.css +23 -23
- package/lib/Tab/__tests__/Tab.spec.js +67 -58
- package/lib/Tab/__tests__/TabContent.spec.js +10 -6
- package/lib/Tab/__tests__/TabContentWrapper.spec.js +28 -20
- package/lib/Tab/__tests__/TabWrapper.spec.js +12 -0
- package/lib/Tab/__tests__/Tabs.spec.js +53 -39
- package/lib/Tab/index.js +6 -0
- package/lib/Tab/props/propTypes.js +3 -0
- package/lib/Tag/Tag.js +72 -43
- package/lib/Tag/Tag.module.css +10 -10
- package/lib/Tag/__tests__/Tag.spec.js +14 -8
- package/lib/Tag/props/propTypes.js +3 -0
- package/lib/TextBox/TextBox.js +85 -59
- package/lib/TextBox/TextBox.module.css +6 -5
- package/lib/TextBox/__tests__/TextBox.spec.js +14 -4
- package/lib/TextBox/props/propTypes.js +6 -4
- package/lib/TextBoxIcon/TextBoxIcon.js +79 -52
- package/lib/TextBoxIcon/TextBoxIcon.module.css +7 -6
- package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +14 -5
- package/lib/TextBoxIcon/props/propTypes.js +3 -0
- package/lib/Textarea/Textarea.js +54 -29
- package/lib/Textarea/Textarea.module.css +6 -6
- package/lib/Textarea/__tests__/Textarea.spec.js +14 -2
- package/lib/Textarea/props/propTypes.js +3 -0
- package/lib/Tooltip/Tooltip.js +94 -31
- package/lib/Tooltip/Tooltip.module.css +12 -5
- package/lib/Tooltip/__tests__/Tooltip.spec.js +24 -3
- package/lib/Tooltip/props/propTypes.js +3 -0
- package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +40 -16
- package/lib/VelocityAnimation/VelocityAnimation/props/propTypes.js +3 -0
- package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +53 -25
- package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +3 -0
- package/lib/VelocityAnimation/index.js +3 -0
- package/lib/common/animation.module.css +8 -8
- package/lib/common/basicReset.module.css +3 -3
- package/lib/common/boxShadow.module.css +1 -3
- package/lib/common/common.module.css +24 -24
- package/lib/common/customscroll.module.css +4 -2
- package/lib/common/reset.module.css +1 -0
- package/lib/css.js +40 -0
- package/lib/deprecated/AdvancedMultiSelect.module.css +18 -18
- package/lib/deprecated/PortalLayer/PortalLayer.js +46 -23
- package/lib/deprecated/PortalLayer/props/propTypes.js +3 -0
- package/lib/index.js +57 -0
- package/lib/semantic/Button/Button.js +42 -22
- package/lib/semantic/Button/props/propTypes.js +3 -0
- package/lib/semantic/Button/semanticButton.module.css +1 -1
- package/lib/semantic/index.js +2 -0
- package/lib/utils/Common.js +108 -18
- package/lib/utils/ContextOptimizer.js +16 -10
- package/lib/utils/__tests__/constructFullName.spec.js +1 -0
- package/lib/utils/__tests__/debounce.spec.js +3 -2
- package/lib/utils/__tests__/getInitial.spec.js +1 -0
- package/lib/utils/constructFullName.js +13 -4
- package/lib/utils/css/compileClassNames.js +6 -0
- package/lib/utils/css/mergeStyle.js +10 -7
- package/lib/utils/css/utils.js +8 -0
- package/lib/utils/datetime/common.js +32 -5
- package/lib/utils/debounce.js +6 -1
- package/lib/utils/dropDownUtils.js +175 -59
- package/lib/utils/dummyFunction.js +2 -0
- package/lib/utils/getHTMLFontSize.js +1 -0
- package/lib/utils/getInitial.js +6 -0
- package/lib/utils/index.js +4 -0
- package/lib/utils/scrollTo.js +2 -0
- package/lib/utils/shallowEqual.js +8 -0
- package/package.json +20 -13
package/es/utils/Common.js
CHANGED
|
@@ -16,9 +16,7 @@ export const stopAllEventPropagation = e => {
|
|
|
16
16
|
export function cancelBubblingEffect(e) {
|
|
17
17
|
e && e.stopPropagation && e.stopPropagation();
|
|
18
18
|
e && e.nativeEvent && e.nativeEvent.stopImmediatePropagation && e.nativeEvent.stopImmediatePropagation();
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
// export function getCommentsDetails(
|
|
19
|
+
} // export function getCommentsDetails(
|
|
22
20
|
// commentIds = [],
|
|
23
21
|
// comments = {},
|
|
24
22
|
// agents = {}
|
|
@@ -41,6 +39,7 @@ export function encodeForHtml(str) {
|
|
|
41
39
|
str = str.replace(/\\/g, '\');
|
|
42
40
|
str = str.replace(/'/g, ''');
|
|
43
41
|
}
|
|
42
|
+
|
|
44
43
|
return str;
|
|
45
44
|
}
|
|
46
45
|
export function getListOfDetails() {
|
|
@@ -52,6 +51,7 @@ export function getListOfDetails() {
|
|
|
52
51
|
export function capitalize() {
|
|
53
52
|
let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
54
53
|
let newValue = '';
|
|
54
|
+
|
|
55
55
|
for (let i = 0; i < value.length; i++) {
|
|
56
56
|
if (i == 0) {
|
|
57
57
|
newValue += value[i].toUpperCase();
|
|
@@ -59,12 +59,14 @@ export function capitalize() {
|
|
|
59
59
|
newValue += value[i].toLowerCase();
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
|
+
|
|
62
63
|
return newValue;
|
|
63
64
|
}
|
|
64
65
|
export function bind() {
|
|
65
66
|
for (var _len = arguments.length, handlers = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
66
67
|
handlers[_key] = arguments[_key];
|
|
67
68
|
}
|
|
69
|
+
|
|
68
70
|
handlers.forEach(handler => {
|
|
69
71
|
this[handler] = this[handler].bind(this);
|
|
70
72
|
});
|
|
@@ -73,12 +75,15 @@ export function getFullName() {
|
|
|
73
75
|
let firstName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
74
76
|
let lastName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
75
77
|
let fullName = '';
|
|
78
|
+
|
|
76
79
|
if (firstName !== null && firstName !== '') {
|
|
77
80
|
fullName = firstName;
|
|
78
81
|
}
|
|
82
|
+
|
|
79
83
|
if (lastName !== null && lastName !== '') {
|
|
80
84
|
fullName = `${fullName}${lastName}`;
|
|
81
85
|
}
|
|
86
|
+
|
|
82
87
|
return fullName;
|
|
83
88
|
}
|
|
84
89
|
export function getStringifiedOutputForJson() {
|
|
@@ -86,6 +91,7 @@ export function getStringifiedOutputForJson() {
|
|
|
86
91
|
const keys = Object.keys(input);
|
|
87
92
|
const modifiedInput = keys.reduce((curr, next) => {
|
|
88
93
|
const values = input[next] || [];
|
|
94
|
+
|
|
89
95
|
if (values.length) {
|
|
90
96
|
const valueList = values.reduce((curr, next) => {
|
|
91
97
|
curr.push(next.id);
|
|
@@ -94,6 +100,7 @@ export function getStringifiedOutputForJson() {
|
|
|
94
100
|
curr[next] = valueList;
|
|
95
101
|
return curr;
|
|
96
102
|
}
|
|
103
|
+
|
|
97
104
|
return curr;
|
|
98
105
|
}, {});
|
|
99
106
|
return JSON.stringify(modifiedInput);
|
|
@@ -109,6 +116,7 @@ export function filterValue(obj, val) {
|
|
|
109
116
|
const ids = obj ? Object.keys(obj) : [];
|
|
110
117
|
ids.forEach(key => {
|
|
111
118
|
const value = obj[key] || {};
|
|
119
|
+
|
|
112
120
|
if (value.name === val && !value.isCustomField) {
|
|
113
121
|
result = value.id;
|
|
114
122
|
}
|
|
@@ -130,34 +138,42 @@ export function formatValue() {
|
|
|
130
138
|
let textField = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'name';
|
|
131
139
|
return values && values.map(value => {
|
|
132
140
|
let formattedValue = value;
|
|
141
|
+
|
|
133
142
|
if (typeof value === 'string' || typeof value === 'number') {
|
|
134
143
|
formattedValue = {};
|
|
135
144
|
formattedValue[valueField] = value;
|
|
136
145
|
formattedValue[textField] = value;
|
|
137
146
|
}
|
|
147
|
+
|
|
138
148
|
return formattedValue;
|
|
139
149
|
}) || [];
|
|
140
150
|
}
|
|
141
151
|
export function bytesToSize(bytes) {
|
|
142
152
|
bytes = parseInt(bytes, 10);
|
|
143
153
|
const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];
|
|
154
|
+
|
|
144
155
|
if (bytes === 0) {
|
|
145
156
|
return '0 Byte';
|
|
146
157
|
}
|
|
158
|
+
|
|
147
159
|
const i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024)), 10);
|
|
148
160
|
return `${Math.round(bytes / Math.pow(1024, i), 2)} ${sizes[i]}`;
|
|
149
161
|
}
|
|
150
162
|
export function getMemSize(bytes) {
|
|
151
163
|
let size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !0;
|
|
152
164
|
const thresh = size ? 1000 : 1024;
|
|
165
|
+
|
|
153
166
|
if (Math.abs(bytes) < thresh) {
|
|
154
167
|
return `${bytes} B`;
|
|
155
168
|
}
|
|
169
|
+
|
|
156
170
|
let units = size ? ['kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'] : ['KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB'],
|
|
157
|
-
|
|
171
|
+
i = -1;
|
|
172
|
+
|
|
158
173
|
do {
|
|
159
174
|
bytes /= thresh, ++i;
|
|
160
175
|
} while (Math.abs(bytes) >= thresh && i < units.length - 1);
|
|
176
|
+
|
|
161
177
|
{
|
|
162
178
|
return `${bytes.toFixed(1)} ${units[i]}`;
|
|
163
179
|
}
|
|
@@ -166,18 +182,24 @@ export function checkIsImageFile(fileName) {
|
|
|
166
182
|
fileName = fileName || '';
|
|
167
183
|
return /jpeg|jpg|png|gif|bmp|tiff|tif|ico/gi.test(fileName.substr(fileName.lastIndexOf('.') + 1));
|
|
168
184
|
}
|
|
185
|
+
|
|
169
186
|
function getI18NValue(key, values) {
|
|
170
187
|
if (typeof i18n === 'undefined' || key === '' || typeof key === 'undefined') {
|
|
171
188
|
return key;
|
|
172
189
|
}
|
|
190
|
+
|
|
173
191
|
let i18nStr = i18n[key];
|
|
192
|
+
|
|
174
193
|
if (i18nStr === undefined) {
|
|
175
194
|
return key;
|
|
176
195
|
}
|
|
196
|
+
|
|
177
197
|
i18nStr = replaceI18NValuesWithRegex(i18nStr, values);
|
|
178
198
|
return unescapeUnicode(i18nStr);
|
|
179
199
|
}
|
|
200
|
+
|
|
180
201
|
global.getI18NValue = getI18NValue;
|
|
202
|
+
|
|
181
203
|
function replaceI18NValuesWithRegex(i18nStr, values) {
|
|
182
204
|
if (typeof values !== 'undefined') {
|
|
183
205
|
if (Array.isArray(values)) {
|
|
@@ -188,22 +210,27 @@ function replaceI18NValuesWithRegex(i18nStr, values) {
|
|
|
188
210
|
i18nStr = i18nStr.replace(new RegExp('\\{0\\}', 'g'), values);
|
|
189
211
|
}
|
|
190
212
|
}
|
|
213
|
+
|
|
191
214
|
return i18nStr;
|
|
192
215
|
}
|
|
216
|
+
|
|
193
217
|
function unescapeUnicode(str) {
|
|
194
218
|
return str.replace(/\\u([a-fA-F0-9]{4})/g, (g, m1) => String.fromCharCode(parseInt(m1, 16)));
|
|
195
219
|
}
|
|
220
|
+
|
|
196
221
|
export function getPortalName(portalList, portalId) {
|
|
197
222
|
return portalList && portalList.reduce((res, portal) => {
|
|
198
223
|
if (portal.orgId === portalId) {
|
|
199
224
|
return portal.orgName;
|
|
200
225
|
}
|
|
226
|
+
|
|
201
227
|
return res;
|
|
202
228
|
}, null);
|
|
203
229
|
}
|
|
204
230
|
export function getFullDateString(fullDateObj) {
|
|
205
231
|
let dateStr = '';
|
|
206
232
|
const monthArr = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
|
|
233
|
+
|
|
207
234
|
if (fullDateObj.toDateString() == new Date().toDateString()) {
|
|
208
235
|
dateStr = format12Hour(fullDateObj);
|
|
209
236
|
} else {
|
|
@@ -213,6 +240,7 @@ export function getFullDateString(fullDateObj) {
|
|
|
213
240
|
const time = format12Hour(fullDateObj);
|
|
214
241
|
dateStr = `${month} ${date} ${year} ${time}`;
|
|
215
242
|
}
|
|
243
|
+
|
|
216
244
|
return dateStr;
|
|
217
245
|
}
|
|
218
246
|
export function format12Hour(date) {
|
|
@@ -221,6 +249,7 @@ export function format12Hour(date) {
|
|
|
221
249
|
const ampm = hours >= 12 ? 'pm' : 'am';
|
|
222
250
|
hours %= 12;
|
|
223
251
|
hours = hours ? hours : 12; // the hour '0' should be '12'
|
|
252
|
+
|
|
224
253
|
minutes = minutes < 10 ? `0${minutes}` : minutes;
|
|
225
254
|
const strTime = `${hours}:${minutes} ${ampm}`;
|
|
226
255
|
return strTime;
|
|
@@ -228,6 +257,7 @@ export function format12Hour(date) {
|
|
|
228
257
|
export function getDateOnly(fullDateObj) {
|
|
229
258
|
let dateStr = '';
|
|
230
259
|
const monthArr = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
|
|
260
|
+
|
|
231
261
|
if (fullDateObj.toDateString() == new Date().toDateString()) {
|
|
232
262
|
dateStr = 'Today';
|
|
233
263
|
} else {
|
|
@@ -236,6 +266,7 @@ export function getDateOnly(fullDateObj) {
|
|
|
236
266
|
const date = fullDateObj.getDate();
|
|
237
267
|
dateStr = `${month} ${date} ${year}`;
|
|
238
268
|
}
|
|
269
|
+
|
|
239
270
|
return dateStr;
|
|
240
271
|
}
|
|
241
272
|
export function doAfterScrollEnd(element, callback) {
|
|
@@ -249,6 +280,7 @@ export function doAfterScrollEnd(element, callback) {
|
|
|
249
280
|
scrollHeight
|
|
250
281
|
} = element;
|
|
251
282
|
const scrollPercent = scrollTop / (scrollHeight - clientHeight) * 100;
|
|
283
|
+
|
|
252
284
|
if (scrollPercent > 80) {
|
|
253
285
|
callback && callback();
|
|
254
286
|
}
|
|
@@ -265,9 +297,11 @@ export const throttle = function (func, wait) {
|
|
|
265
297
|
for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
|
|
266
298
|
args[_key2 - 2] = arguments[_key2];
|
|
267
299
|
}
|
|
300
|
+
|
|
268
301
|
if (timerId) {
|
|
269
302
|
return;
|
|
270
303
|
}
|
|
304
|
+
|
|
271
305
|
timerId = setTimeout(() => {
|
|
272
306
|
try {
|
|
273
307
|
func(...args);
|
|
@@ -280,6 +314,7 @@ export const scrollTo = function (suggestionContainer, selSuggestion) {
|
|
|
280
314
|
if (!suggestionContainer || !selSuggestion) {
|
|
281
315
|
return;
|
|
282
316
|
}
|
|
317
|
+
|
|
283
318
|
const {
|
|
284
319
|
rectGap
|
|
285
320
|
} = frameRelativeRects(selSuggestion, suggestionContainer) || {};
|
|
@@ -287,9 +322,11 @@ export const scrollTo = function (suggestionContainer, selSuggestion) {
|
|
|
287
322
|
top = 0,
|
|
288
323
|
bottom = 0
|
|
289
324
|
} = rectGap || {};
|
|
325
|
+
|
|
290
326
|
if (top < 0 && bottom < 0) {
|
|
291
327
|
return;
|
|
292
328
|
}
|
|
329
|
+
|
|
293
330
|
const isElementInViewPort = top < 0 || bottom < 0 ? false : true;
|
|
294
331
|
const suggestionContainerScrollTop = suggestionContainer.scrollTop;
|
|
295
332
|
suggestionContainer.scrollTop = !isElementInViewPort ? bottom < 0 ? suggestionContainer.scrollTop + Math.abs(bottom) : top < 0 ? suggestionContainer.scrollTop - Math.abs(top) : suggestionContainerScrollTop : suggestionContainerScrollTop;
|
|
@@ -301,17 +338,21 @@ export function remConvert(val) {
|
|
|
301
338
|
}
|
|
302
339
|
export function isDescendant(parent, child) {
|
|
303
340
|
let node = child.parentNode;
|
|
341
|
+
|
|
304
342
|
while (node !== null) {
|
|
305
343
|
if (node === parent) {
|
|
306
344
|
return true;
|
|
307
345
|
}
|
|
346
|
+
|
|
308
347
|
node = node.parentNode;
|
|
309
348
|
}
|
|
349
|
+
|
|
310
350
|
return false;
|
|
311
351
|
}
|
|
312
352
|
export function getElementSpace(elementRef) {
|
|
313
353
|
let neededSpace = 0,
|
|
314
|
-
|
|
354
|
+
availableInsideSpace = 0;
|
|
355
|
+
|
|
315
356
|
if (elementRef) {
|
|
316
357
|
let getStyle = window.getComputedStyle(elementRef);
|
|
317
358
|
let margin = parseFloat(getStyle.marginLeft) + parseFloat(getStyle.marginRight);
|
|
@@ -320,6 +361,7 @@ export function getElementSpace(elementRef) {
|
|
|
320
361
|
neededSpace = width + margin;
|
|
321
362
|
availableInsideSpace = width - padding;
|
|
322
363
|
}
|
|
364
|
+
|
|
323
365
|
return {
|
|
324
366
|
neededSpace: neededSpace,
|
|
325
367
|
availableInsideSpace: availableInsideSpace
|
|
@@ -329,7 +371,6 @@ export function getSearchString() {
|
|
|
329
371
|
let charachers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
330
372
|
return (charachers || '').toString().toLowerCase(); //.replace(/\s+/g, '');
|
|
331
373
|
}
|
|
332
|
-
|
|
333
374
|
export function findScrollEnd(element) {
|
|
334
375
|
let {
|
|
335
376
|
scrollHeight,
|
|
@@ -338,26 +379,30 @@ export function findScrollEnd(element) {
|
|
|
338
379
|
clientHeight
|
|
339
380
|
} = element || {};
|
|
340
381
|
let isElementScrollable = scrollHeight > clientHeight;
|
|
382
|
+
|
|
341
383
|
if (isElementScrollable) {
|
|
342
384
|
if (scrollHeight <= Math.ceil(scrollTop + offsetHeight)) {
|
|
343
385
|
return true;
|
|
344
386
|
}
|
|
345
|
-
}
|
|
346
|
-
// else {
|
|
347
|
-
|
|
387
|
+
} // else {
|
|
348
388
|
// throw 'Is scroll not present in this element';
|
|
349
389
|
// }
|
|
390
|
+
|
|
391
|
+
|
|
350
392
|
return false;
|
|
351
393
|
}
|
|
352
394
|
export function isTextSelected() {
|
|
353
395
|
let selectedText = '';
|
|
396
|
+
|
|
354
397
|
if (window.getSelection) {
|
|
355
398
|
selectedText = window.getSelection().toString();
|
|
356
399
|
} else if (document.getSelection) {
|
|
357
400
|
selectedText = document.getSelection().toString();
|
|
358
401
|
}
|
|
402
|
+
|
|
359
403
|
if (selectedText !== '') {
|
|
360
404
|
return true;
|
|
361
405
|
}
|
|
406
|
+
|
|
362
407
|
return false;
|
|
363
408
|
}
|
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
/** ** Libraries *** */
|
|
2
2
|
import { useContext, useRef } from 'react';
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
|
-
import shallowEqual from './shallowEqual';
|
|
5
|
-
|
|
6
|
-
// Please use this component with children as inline function for force this components rerender when parent rerender regardless of reason
|
|
4
|
+
import shallowEqual from './shallowEqual'; // Please use this component with children as inline function for force this components rerender when parent rerender regardless of reason
|
|
7
5
|
// Because below componends only rerender when children or calculation are changed, unless no changes will update below
|
|
8
|
-
|
|
9
6
|
// this component logic based on return same children reference to stop rerender.
|
|
10
7
|
// Think before change logic
|
|
11
|
-
|
|
12
8
|
// eslint-disable-next-line import/prefer-default-export
|
|
9
|
+
|
|
13
10
|
export function ContextOptimizer(props) {
|
|
14
11
|
const {
|
|
15
12
|
Context,
|
|
@@ -25,11 +22,13 @@ export function ContextOptimizer(props) {
|
|
|
25
22
|
data: null,
|
|
26
23
|
renderF: null
|
|
27
24
|
});
|
|
25
|
+
|
|
28
26
|
if (!shallowEqual(data, local.data) || local.renderF !== renderF) {
|
|
29
27
|
local.children = renderF(data);
|
|
30
28
|
local.data = data;
|
|
31
29
|
local.renderF = renderF;
|
|
32
30
|
}
|
|
31
|
+
|
|
33
32
|
return local.children;
|
|
34
33
|
}
|
|
35
34
|
ContextOptimizer.propTypes = {
|
|
@@ -6,8 +6,8 @@ describe('debounce specification', () => {
|
|
|
6
6
|
it('should call immediate', () => {
|
|
7
7
|
const mockfn = jest.fn();
|
|
8
8
|
const dMockfn = debounce(mockfn, 1000, true);
|
|
9
|
-
dMockfn();
|
|
10
|
-
|
|
9
|
+
dMockfn(); //expect(setTimeout).toHaveBeenCalledTimes(1);
|
|
10
|
+
|
|
11
11
|
expect(mockfn.mock.calls.length).toBe(1);
|
|
12
12
|
});
|
|
13
13
|
it('should call two times but it invoke multiple times', () => {
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
function constructFullName(firstName, lastName) {
|
|
2
2
|
return `${firstName ? `${firstName}${lastName ? ' ' : ''}` : ''}${lastName ? lastName : ''}`;
|
|
3
3
|
}
|
|
4
|
+
|
|
4
5
|
export function constructFullNameByPattern(firstName, lastName, namePattern) {
|
|
5
6
|
let [name0, name1] = namePattern;
|
|
7
|
+
|
|
6
8
|
if (name0 === 'FIRST_NAME' && name1 === 'LAST_NAME') {
|
|
7
9
|
return constructFullName(firstName, lastName);
|
|
8
10
|
} else if (name0 === 'LAST_NAME' && name1 === 'FIRST_NAME') {
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { dataTypes, isDataTypeOf } from './utils';
|
|
2
|
+
|
|
2
3
|
const collectClassNames = function (processedClassNameList) {
|
|
3
4
|
for (let index = 0; index < (arguments.length <= 1 ? 0 : arguments.length - 1); index++) {
|
|
4
5
|
let classInfo = index + 1 < 1 || arguments.length <= index + 1 ? undefined : arguments[index + 1];
|
|
6
|
+
|
|
5
7
|
if (!classInfo) {
|
|
6
8
|
continue;
|
|
7
9
|
} else if (isDataTypeOf(classInfo, dataTypes.object)) {
|
|
@@ -13,11 +15,14 @@ const collectClassNames = function (processedClassNameList) {
|
|
|
13
15
|
}
|
|
14
16
|
}
|
|
15
17
|
};
|
|
18
|
+
|
|
16
19
|
export default function compileClassNames() {
|
|
17
20
|
let resultClassNameList = [];
|
|
21
|
+
|
|
18
22
|
for (var _len = arguments.length, classinfoList = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
19
23
|
classinfoList[_key] = arguments[_key];
|
|
20
24
|
}
|
|
25
|
+
|
|
21
26
|
collectClassNames(resultClassNameList, ...classinfoList);
|
|
22
27
|
return resultClassNameList.filter(a => a !== '').join(' ');
|
|
23
28
|
}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
const REPLACER_SYMBOL = '$';
|
|
2
|
-
|
|
3
|
-
// $ startWith is used for replace the existing style.
|
|
1
|
+
const REPLACER_SYMBOL = '$'; // $ startWith is used for replace the existing style.
|
|
4
2
|
// all other will be append
|
|
5
3
|
|
|
6
4
|
export default function mergeStyle(defaultStyle) {
|
|
@@ -9,15 +7,16 @@ export default function mergeStyle(defaultStyle) {
|
|
|
9
7
|
// if(!Object.keys(defaultStyle).includes('base')) {
|
|
10
8
|
// throw new Error(`STYLE CUSTOMIZATION RULE - Your style sheet should have "base" class name for customization`);
|
|
11
9
|
// }
|
|
12
|
-
|
|
13
10
|
return Object.keys(customStyle).reduce((res, next) => {
|
|
14
11
|
if (next.startsWith(REPLACER_SYMBOL)) {
|
|
15
12
|
let styleValue = customStyle[next];
|
|
16
13
|
let styleName = next.replace(REPLACER_SYMBOL, '');
|
|
14
|
+
|
|
17
15
|
if (!defaultStyle[styleName] && !additionalStyle.includes(styleName)) {
|
|
18
16
|
// return res;
|
|
19
17
|
throw new Error(`UNKNOWN CLASSNAME DETECTED - Given customStyle's key "${styleName}" is not available in that component style`);
|
|
20
18
|
}
|
|
19
|
+
|
|
21
20
|
if (additionalStyle.includes(styleName)) {
|
|
22
21
|
res[styleName] = styleValue;
|
|
23
22
|
} else {
|
|
@@ -26,6 +25,7 @@ export default function mergeStyle(defaultStyle) {
|
|
|
26
25
|
let styleKey = res[keyName];
|
|
27
26
|
let styleClasses = styleKey.split(' ');
|
|
28
27
|
let ind = styleClasses.indexOf(val);
|
|
28
|
+
|
|
29
29
|
if (ind !== -1) {
|
|
30
30
|
styleClasses[ind] = styleValue;
|
|
31
31
|
res[keyName] = styleClasses.join(' ');
|
|
@@ -38,6 +38,7 @@ export default function mergeStyle(defaultStyle) {
|
|
|
38
38
|
let styleKey = res[keyName];
|
|
39
39
|
let styleClasses = styleKey.split(' ');
|
|
40
40
|
let ind = styleClasses.indexOf(val);
|
|
41
|
+
|
|
41
42
|
if (ind !== -1) {
|
|
42
43
|
styleClasses[ind] = styleClasses[ind] + ' ' + customStyle[next];
|
|
43
44
|
res[keyName] = styleClasses.join(' ');
|
|
@@ -49,8 +50,8 @@ export default function mergeStyle(defaultStyle) {
|
|
|
49
50
|
// res[next] = customStyle[next];
|
|
50
51
|
`UNKNOWN CLASSNAME DETECTED - Given customStyle's key "${next}" is not available in that component style`;
|
|
51
52
|
}
|
|
53
|
+
|
|
52
54
|
return res;
|
|
53
|
-
}, {
|
|
54
|
-
...defaultStyle
|
|
55
|
+
}, { ...defaultStyle
|
|
55
56
|
});
|
|
56
57
|
}
|
package/es/utils/css/utils.js
CHANGED
|
@@ -56,6 +56,7 @@ export function formatDate(dateMill, mask) {
|
|
|
56
56
|
if (match in flags) {
|
|
57
57
|
return flags[match];
|
|
58
58
|
}
|
|
59
|
+
|
|
59
60
|
return match.slice(1, match.length - 1);
|
|
60
61
|
});
|
|
61
62
|
return dat;
|
|
@@ -70,6 +71,7 @@ export function replaceI18NValuesWithRegex(i18nStr, values) {
|
|
|
70
71
|
i18nStr = i18nStr.replace(new RegExp('\\{0\\}', 'g'), values);
|
|
71
72
|
}
|
|
72
73
|
}
|
|
74
|
+
|
|
73
75
|
return i18nStr;
|
|
74
76
|
}
|
|
75
77
|
export function unescapeUnicode(str) {
|
|
@@ -84,25 +86,28 @@ export function getI18NValue(i18n) {
|
|
|
84
86
|
if (typeof i18n === 'undefined') {
|
|
85
87
|
return key => key;
|
|
86
88
|
}
|
|
89
|
+
|
|
87
90
|
return (key, values) => {
|
|
88
91
|
let i18nStr = i18n[key];
|
|
92
|
+
|
|
89
93
|
if (i18nStr === undefined) {
|
|
90
94
|
return key;
|
|
91
95
|
}
|
|
96
|
+
|
|
92
97
|
i18nStr = replaceI18NValuesWithRegex(i18nStr, values);
|
|
93
98
|
return unescapeUnicode(i18nStr);
|
|
94
99
|
};
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
// function getValues(params = [], diff) {
|
|
100
|
+
} // function getValues(params = [], diff) {
|
|
98
101
|
// return params.map(param => {
|
|
99
102
|
// return diff[param];
|
|
100
103
|
// });
|
|
101
104
|
// }
|
|
105
|
+
|
|
102
106
|
export function getI18NInfo(toDateObj, props, diffObj) {
|
|
103
107
|
let key = null,
|
|
104
|
-
|
|
105
|
-
|
|
108
|
+
values,
|
|
109
|
+
text = null;
|
|
110
|
+
|
|
106
111
|
if (typeof props === 'function') {
|
|
107
112
|
let value = props(diffObj1);
|
|
108
113
|
key = value.key;
|
|
@@ -113,6 +118,7 @@ export function getI18NInfo(toDateObj, props, diffObj) {
|
|
|
113
118
|
} else if (typeof props === 'string') {
|
|
114
119
|
text = toDateObj.format(props);
|
|
115
120
|
}
|
|
121
|
+
|
|
116
122
|
return {
|
|
117
123
|
key,
|
|
118
124
|
values,
|
|
@@ -141,12 +147,15 @@ let oneYearInMillis = 31536000000;
|
|
|
141
147
|
let oneDayInMillis = 86400000;
|
|
142
148
|
let oneHourInMillis = 3600000;
|
|
143
149
|
let oneMinuteInMillis = 60000;
|
|
150
|
+
|
|
144
151
|
function convertAsNonExponential(number) {
|
|
145
152
|
if (number.toString().toLowerCase().indexOf('e') !== -1) {
|
|
146
153
|
return number.toFixed(20);
|
|
147
154
|
}
|
|
155
|
+
|
|
148
156
|
return number;
|
|
149
157
|
}
|
|
158
|
+
|
|
150
159
|
export function getDiffObj(diff) {
|
|
151
160
|
diff = Math.abs(diff);
|
|
152
161
|
let diffYears = diff / oneYearInMillis;
|
|
@@ -173,8 +182,10 @@ export function getDiffObj(diff) {
|
|
|
173
182
|
export function getMonthEnd(month, year) {
|
|
174
183
|
let monthend = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
|
|
175
184
|
let isLeapYear = year % 400 === 0 || year % 4 === 0 && year % 100 !== 0;
|
|
185
|
+
|
|
176
186
|
if (month === 1 && isLeapYear) {
|
|
177
187
|
return 29;
|
|
178
188
|
}
|
|
189
|
+
|
|
179
190
|
return monthend[month];
|
|
180
191
|
}
|
package/es/utils/debounce.js
CHANGED
|
@@ -2,16 +2,20 @@ export function debounce(func, wait, immediate) {
|
|
|
2
2
|
let timeout;
|
|
3
3
|
return function () {
|
|
4
4
|
let context = this,
|
|
5
|
-
|
|
5
|
+
args = arguments;
|
|
6
|
+
|
|
6
7
|
let later = function () {
|
|
7
8
|
timeout = null;
|
|
9
|
+
|
|
8
10
|
if (!immediate) {
|
|
9
11
|
func.apply(context, args);
|
|
10
12
|
}
|
|
11
13
|
};
|
|
14
|
+
|
|
12
15
|
let callNow = immediate && !timeout;
|
|
13
16
|
clearTimeout(timeout);
|
|
14
17
|
timeout = setTimeout(later, wait);
|
|
18
|
+
|
|
15
19
|
if (callNow) {
|
|
16
20
|
func.apply(context, args);
|
|
17
21
|
}
|